1 2010-01-29 Mark Rowe <mrowe (a] apple.com> 2 3 Fix the Mac build. 4 5 Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional". 6 7 As the comment in FeatureDefines.xcconfig notes, the list of feature defines 8 needs to be kept in sync across the various files. The default values also 9 need to be kept in sync between these files and build-webkit. 10 11 * Configurations/FeatureDefines.xcconfig: 12 13 2010-01-29 Steve Falkenburg <sfalken (a] apple.com> 14 15 Reviewed by Darin Adler. 16 17 Timeout for client-based Geolocation shouldn't start until user gives consent 18 https://bugs.webkit.org/show_bug.cgi?id=34352 19 20 * page/Geolocation.cpp: 21 (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent. 22 (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent. 23 24 2010-01-29 Jakob Petsovits <jpetsovits (a] rim.com> 25 26 Reviewed by Nikolas Zimmermann. 27 28 [OpenVG] Implement more graphics primitives 29 https://bugs.webkit.org/show_bug.cgi?id=34339 30 31 Adds lines, arcs, ellipses, polygons and rounded 32 rectangles to PainterOpenVG and GraphicsContext. 33 34 Rounded rects support by Eli Fidler <efidler (a] rim.com>. 35 36 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 37 (WebCore::GraphicsContext::drawLine): 38 (WebCore::GraphicsContext::drawEllipse): 39 (WebCore::GraphicsContext::strokeArc): 40 (WebCore::GraphicsContext::drawConvexPolygon): 41 (WebCore::GraphicsContext::fillRect): 42 (WebCore::GraphicsContext::fillRoundedRect): 43 (WebCore::GraphicsContext::drawFocusRing): 44 (WebCore::GraphicsContext::drawLineForText): 45 (WebCore::GraphicsContext::clearRect): 46 (WebCore::GraphicsContext::strokeRect): 47 * platform/graphics/openvg/PainterOpenVG.cpp: 48 (WebCore::PainterOpenVG::drawRect): 49 (WebCore::PainterOpenVG::drawRoundedRect): 50 (WebCore::PainterOpenVG::drawLine): 51 (WebCore::PainterOpenVG::drawArc): 52 (WebCore::PainterOpenVG::drawEllipse): 53 (WebCore::PainterOpenVG::drawPolygon): 54 * platform/graphics/openvg/PainterOpenVG.h: 55 56 2010-01-29 Jeremy Orlow <jorlow (a] chromium.org> 57 58 Reviewed by Dimitri Glazkov. 59 60 A first step towards the Indexed Database API 61 https://bugs.webkit.org/show_bug.cgi?id=34342 62 63 Flesh out the first part of Indexed Database API. 64 Currently only compiles with v8 + chromium for now. 65 Completely non-functional, but it seems best to do 66 this in chunks. 67 68 No tests because nothing works yet. 69 70 * Configurations/FeatureDefines.xcconfig: 71 * WebCore.gypi: 72 * bindings/scripts/CodeGeneratorV8.pm: 73 * bindings/v8/DOMObjectsInclude.h: 74 * bindings/v8/DerivedSourcesAllInOne.cpp: 75 * bindings/v8/RuntimeEnabledFeatures.cpp: 76 * bindings/v8/RuntimeEnabledFeatures.h: 77 (WebCore::RuntimeEnabledFeatures::setIndexedDatabaseEnabled): 78 (WebCore::RuntimeEnabledFeatures::indexedDatabaseEnabled): 79 * bindings/v8/V8Index.cpp: 80 * bindings/v8/V8Index.h: 81 * bindings/v8/custom/V8DOMWindowCustom.cpp: 82 (WebCore::V8DOMWindow::IndexedDBEnabled): 83 * bindings/v8/custom/V8IDBRequestCustom.cpp: Added. 84 (WebCore::V8IDBRequest::resultAccessorGetter): 85 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Added. 86 (WebCore::V8IndexedDatabaseRequest::openCallback): 87 * dom/EventNames.h: 88 * page/DOMWindow.cpp: 89 (WebCore::DOMWindow::indexedDB): 90 * page/DOMWindow.h: 91 * page/DOMWindow.idl: 92 * storage/IDBDatabaseError.h: Added. 93 (WebCore::IDBDatabaseError::create): 94 (WebCore::IDBDatabaseError::~IDBDatabaseError): 95 (WebCore::IDBDatabaseError::code): 96 (WebCore::IDBDatabaseError::setCode): 97 (WebCore::IDBDatabaseError::message): 98 (WebCore::IDBDatabaseError::setMessage): 99 (WebCore::IDBDatabaseError::IDBDatabaseError): 100 * storage/IDBDatabaseError.idl: Added. 101 * storage/IDBDatabaseException.h: Added. 102 (WebCore::IDBDatabaseException::create): 103 (WebCore::IDBDatabaseException::~IDBDatabaseException): 104 (WebCore::IDBDatabaseException::code): 105 (WebCore::IDBDatabaseException::setCode): 106 (WebCore::IDBDatabaseException::message): 107 (WebCore::IDBDatabaseException::setMessage): 108 (WebCore::IDBDatabaseException::IDBDatabaseException): 109 * storage/IDBDatabaseException.idl: Added. 110 * storage/IDBRequest.cpp: Added. 111 (WebCore::IDBRequest::IDBRequest): 112 (WebCore::IDBRequest::~IDBRequest): 113 (WebCore::IDBRequest::abort): 114 (WebCore::IDBRequest::eventTargetData): 115 (WebCore::IDBRequest::ensureEventTargetData): 116 * storage/IDBRequest.h: Added. 117 (WebCore::IDBRequest::create): 118 (WebCore::IDBRequest::readyState): 119 (WebCore::IDBRequest::error): 120 (WebCore::IDBRequest::result): 121 (WebCore::IDBRequest::scriptExecutionContext): 122 (WebCore::IDBRequest::toIDBRequest): 123 (WebCore::IDBRequest::refEventTarget): 124 (WebCore::IDBRequest::derefEventTarget): 125 * storage/IDBRequest.idl: Added. 126 * storage/IndexedDatabaseRequest.cpp: Added. 127 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): 128 (WebCore::IndexedDatabaseRequest::~IndexedDatabaseRequest): 129 (WebCore::IndexedDatabaseRequest::open): 130 * storage/IndexedDatabaseRequest.h: Added. 131 (WebCore::IndexedDatabaseRequest::create): 132 (WebCore::IndexedDatabaseRequest::request): 133 * storage/IndexedDatabaseRequest.idl: Added. 134 135 2010-01-29 Brian Weinstein <bweinstein (a] apple.com> 136 137 Reviewed by Adam Roben. 138 139 Drag and Drop: Windows uses "stop" sign as cursor when dragging 140 https://bugs.webkit.org/show_bug.cgi?id=34305 141 <rdar://problem/7589672> 142 143 Add a FIXME for the code that needs to be changed to support full 144 custom cursors. 145 146 * page/EventHandler.cpp: 147 (WebCore::EventHandler::handleDrag): 148 149 2010-01-29 Victor Wang <victorw (a] chromium.org> 150 151 Reviewed by darin (a] apple.com. 152 153 Fix the issue that both main frome and iframe are 154 focused if window.onblur calls window.focus. 155 https://bugs.webkit.org/show_bug.cgi?id=31692 156 157 The problem is caused by the focused frame in FocusController 158 is messed up if window.onblur calls window.focus: 159 When user clicks iframe to switch focus from main frame to iframe, 160 FocusController::setFocusedFrame fires onblur event, which calls 161 window.focus and then calls setFocusedFrame again to switch back. 162 This messes up the old focused frame and new focused frame and 163 leaves the FocusController confused. As a result, controlls 164 in both main frame and iframe look like get focused. 165 166 To fix it, add a flag to FocusController and do no switch the focused 167 frame when FocusController is in the middle of changing the focused frame. 168 169 Test: fast/events/change-frame-focus.html 170 171 * page/FocusController.cpp: 172 (WebCore::FocusController::FocusController): 173 (WebCore::FocusController::setFocusedFrame): 174 * page/FocusController.h: 175 (WebCore::FocusController::focusedFrame): 176 (WebCore::FocusController::isActive): 177 (WebCore::FocusController::isFocused): 178 179 2010-01-29 Alexey Proskuryakov <ap (a] apple.com> 180 181 Reviewed by Dan Bernstein. 182 183 <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as 184 blank windows 185 186 We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not 187 what being modal means. But making such a change for general Web content would require fixes 188 in other parts of code, which I'm not ready to implement right now, so making it application 189 specific. 190 191 * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not 192 enabled in page settings. 193 194 * WebCore.base.exp: 195 * page/Settings.cpp: 196 (WebCore::Settings::Settings): 197 (WebCore::Settings::setLoadDeferringEnabled): 198 * page/Settings.h: (WebCore::Settings::loadDeferringEnabled): 199 Add the ability for client to disable page deferring (still enabled by default). 200 201 * platform/mac/RuntimeApplicationChecks.h: 202 * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller): 203 Added a bundle ID test for Adobe installer. 204 205 2010-01-29 Steve Falkenburg <sfalken (a] apple.com> 206 207 Build fix. 208 209 * page/Geolocation.cpp: 210 (WebCore::Geolocation::startUpdating): 211 212 2010-01-29 Steve Falkenburg <sfalken (a] apple.com> 213 214 Reviewed by Darin Adler. 215 216 Client-based Geolocation starts updating before getting consent from the user 217 https://bugs.webkit.org/show_bug.cgi?id=34343 218 219 * page/Geolocation.cpp: 220 (WebCore::Geolocation::startRequest): Pass notifier instead of options to startUpdating. 221 (WebCore::Geolocation::setIsAllowed): Add the observer or notify of error for deferred startUpdating. 222 (WebCore::Geolocation::startUpdating): Pass notifier instead of options, since we may need to call it if we fail to get user consent. 223 Defer adding the observer if we don't yet have user consent, since this could kick off 224 server-based wifi Geolocation requests. 225 * page/Geolocation.h: 226 227 2010-01-28 Jon Honeycutt <jhoneycutt (a] apple.com> 228 229 MSAA: Crash when posting a notification for a detached object 230 231 https://bugs.webkit.org/show_bug.cgi?id=34309 232 <rdar://problem/7409759> 233 234 Reviewed by Darin Adler. 235 236 Test: platform/win/accessibility/detached-object-notification-crash.html 237 238 * accessibility/AccessibilityRenderObject.cpp: 239 (AccessibilityRenderObject::document): 240 Null check m_renderer. This is the bug fix; the other changes in the 241 patch are for the test. 242 243 * accessibility/win/AXObjectCacheWin.cpp: 244 (WebCore::AXObjectCache::postPlatformNotification): 245 Map AXValueChanged to EVENT_OBJECT_VALUECHANGED, so we'll post a 246 notification when AXValueChanged is posted. Receiving an event of this 247 type tells us that the test passed. 248 249 2010-01-29 Darin Fisher <darin (a] chromium.org> 250 251 Okayed by Oliver Hunt. 252 253 Rollout r53949, r53951 and r54013 due to a Chromium regression that it 254 causes. Somehow this code change is triggering an endless repaint loop. 255 256 https://bugs.webkit.org/show_bug.cgi?id=33808 257 258 * platform/graphics/GraphicsContext.cpp: 259 (WebCore::GraphicsContext::drawTiledImage): 260 * platform/graphics/GraphicsContext.h: 261 * platform/graphics/transforms/TransformationMatrix.h: 262 (WebCore::TransformationMatrix::isIdentityOrTranslation): 263 * rendering/RenderBoxModelObject.cpp: 264 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 265 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 266 * rendering/RenderBoxModelObject.h: 267 268 2010-01-29 Tony Chang <tony (a] chromium.org> 269 270 Reviewed by Darin Adler. 271 272 Add gdb helper methods for Ranges like we have for VisibleSelections. 273 https://bugs.webkit.org/show_bug.cgi?id=34308 274 275 No new tests, these are only for debugging. 276 277 * dom/Position.cpp: 278 (WebCore::Position::showTreeForThis): 279 * dom/Range.cpp: 280 (showTree): 281 * dom/Range.h: 282 283 2010-01-29 Drew Wilson <atwilson (a] chromium.org> 284 285 Reviewed by Adam Barth. 286 287 V8 implementation of MessageEvent.initMessageEvent() does not set source correctly. 288 https://bugs.webkit.org/show_bug.cgi?id=34292 289 290 Test: fast/events/init-events.html will pass in Chrome now. 291 292 * bindings/v8/custom/V8MessageEventCustom.cpp: 293 (WebCore::V8MessageEvent::initMessageEventCallback): 294 Now properly extracts the reference to the DOMWindow object from the passed-in window parameter. 295 296 2010-01-29 Ben Murdoch <benm (a] google.com> 297 298 Reviewed by Dimitri Glazkov. 299 300 [Android] Android needs functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage. 301 https://bugs.webkit.org/show_bug.cgi?id=34215 302 303 Add a function on the ChromeClient that WebCore can use to inform the platform when it needs touch events. This way the platform can optimise by not forwarding the events if they are not required. 304 305 No new tests as the only implementation is specific to Android. 306 307 * dom/Document.cpp: 308 (WebCore::Document::detach): Check if this is the top level document and if so, stop forwarding touch events. 309 (WebCore::Document::addListenerTypeIfNeeded): Inform the ChromeClient it should start forwarding touch events and guard touch event code properly. 310 * history/CachedFrame.cpp: 311 (WebCore::CachedFrameBase::restore): If the document uses touch events, inform the ChromeClient to start forwarding them. 312 (WebCore::CachedFrame::CachedFrame): If the document uses touch events, inform the ChromeClient to stop forwarding them, as the document is being put into the page cache. 313 * loader/EmptyClients.h: 314 (WebCore::EmptyChromeClient::needTouchEvents): Add an empty implementation. 315 * page/ChromeClient.h: Add the needTouchEvents() function. 316 317 2010-01-29 Alexander Pavlov <apavlov (a] chromium.org> 318 319 Reviewed by Pavel Feldman. 320 321 Fix toolbar gradient to match the window's titlebar on Snow Leopard 322 https://bugs.webkit.org/show_bug.cgi?id=34320 323 324 * inspector/front-end/inspector.css: 325 326 2010-01-29 Alexander Pavlov <apavlov (a] chromium.org> 327 328 Reviewed by Pavel Feldman. 329 330 Fix MacOS X version detection 331 332 MacOS X version can have 2 or 3 segments. 333 https://bugs.webkit.org/show_bug.cgi?id=34322 334 335 * inspector/front-end/inspector.js: 336 (WebInspector._detectPlatform): 337 338 2010-01-29 Jakob Petsovits <jpetsovits (a] rim.com> 339 340 Reviewed by Nikolas Zimmermann. 341 342 [OpenVG] Implement a basic GraphicsContext on top of a new PainterOpenVG class 343 https://bugs.webkit.org/show_bug.cgi?id=33405 344 345 PainterOpenVG provides painter state management that works 346 on a single (EGL) context, and apart from painter state 347 implements a single drawing operation (for now), drawRect(). 348 349 It is a generic painter class that cooperates with 350 SurfaceOpenVG to enable robust surface/context switching 351 (given that EGL doesn't notify us if somebody switches 352 the surface/context behind our backs), and provides 353 painting operations close to OpenVG's way of working 354 that GraphicsContext, Path, Image, Font and other WebKit 355 platform classes can use to draw on. 356 357 Initial code for state management and OpenVG scissoring by 358 Eli Fidler <efidler (a] rim.com>. VGRect/VGMatrix and the bulk 359 of the transformations code by Adam Treat <atreat (a] rim.com>. 360 Preliminary drawFocusRing() implementation by Yong Li <yoli (a] rim.com>. 361 362 * platform/graphics/FloatRect.h: 363 * platform/graphics/GraphicsContext.cpp: 364 * platform/graphics/GraphicsContext.h: 365 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Added. 366 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 367 (WebCore::GraphicsContext::GraphicsContext): 368 (WebCore::GraphicsContext::~GraphicsContext): 369 (WebCore::GraphicsContext::platformContext): 370 (WebCore::GraphicsContext::getCTM): 371 (WebCore::GraphicsContext::savePlatformState): 372 (WebCore::GraphicsContext::restorePlatformState): 373 (WebCore::GraphicsContext::drawRect): 374 (WebCore::GraphicsContext::drawLine): 375 (WebCore::GraphicsContext::drawEllipse): 376 (WebCore::GraphicsContext::strokeArc): 377 (WebCore::GraphicsContext::drawConvexPolygon): 378 (WebCore::GraphicsContext::fillPath): 379 (WebCore::GraphicsContext::strokePath): 380 (WebCore::GraphicsContext::fillRect): 381 (WebCore::GraphicsContext::fillRoundedRect): 382 (WebCore::GraphicsContext::beginPath): 383 (WebCore::GraphicsContext::addPath): 384 (WebCore::GraphicsContext::clip): 385 (WebCore::GraphicsContext::clipPath): 386 (WebCore::GraphicsContext::drawFocusRing): 387 (WebCore::GraphicsContext::drawLineForText): 388 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 389 (WebCore::GraphicsContext::roundToDevicePixels): 390 (WebCore::GraphicsContext::setPlatformShadow): 391 (WebCore::GraphicsContext::clearPlatformShadow): 392 (WebCore::GraphicsContext::beginTransparencyLayer): 393 (WebCore::GraphicsContext::endTransparencyLayer): 394 (WebCore::GraphicsContext::clearRect): 395 (WebCore::GraphicsContext::strokeRect): 396 (WebCore::GraphicsContext::setLineCap): 397 (WebCore::GraphicsContext::setLineDash): 398 (WebCore::GraphicsContext::setLineJoin): 399 (WebCore::GraphicsContext::setMiterLimit): 400 (WebCore::GraphicsContext::setAlpha): 401 (WebCore::GraphicsContext::setCompositeOperation): 402 (WebCore::GraphicsContext::canvasClip): 403 (WebCore::GraphicsContext::clipOut): 404 (WebCore::GraphicsContext::scale): 405 (WebCore::GraphicsContext::rotate): 406 (WebCore::GraphicsContext::translate): 407 (WebCore::GraphicsContext::origin): 408 (WebCore::GraphicsContext::clipOutEllipseInRect): 409 (WebCore::GraphicsContext::clipToImageBuffer): 410 (WebCore::GraphicsContext::addInnerRoundedRectClip): 411 (WebCore::GraphicsContext::concatCTM): 412 (WebCore::GraphicsContext::setURLForRect): 413 (WebCore::GraphicsContext::setPlatformStrokeColor): 414 (WebCore::GraphicsContext::setPlatformStrokeStyle): 415 (WebCore::GraphicsContext::setPlatformStrokeThickness): 416 (WebCore::GraphicsContext::setPlatformFillColor): 417 (WebCore::GraphicsContext::setPlatformShouldAntialias): 418 (WebCore::GraphicsContext::setImageInterpolationQuality): 419 (WebCore::GraphicsContext::imageInterpolationQuality): 420 * platform/graphics/openvg/PainterOpenVG.cpp: Added. 421 (WebCore::isNonRotatedAffineTransformation): 422 (WebCore::toVGCapStyle): 423 (WebCore::toVGJoinStyle): 424 (WebCore::toVGFillRule): 425 (WebCore::colorToVGColor): 426 (WebCore::setVGSolidColor): 427 (WebCore::PlatformPainterState::PlatformPainterState): 428 (WebCore::PlatformPainterState::copyPaintState): 429 (WebCore::PlatformPainterState::applyState): 430 (WebCore::PlatformPainterState::applyBlending): 431 (WebCore::PlatformPainterState::applyTransformationMatrix): 432 (WebCore::PlatformPainterState::applyScissorRect): 433 (WebCore::PlatformPainterState::applyStrokeStyle): 434 (WebCore::PlatformPainterState::strokeDisabled): 435 (WebCore::PlatformPainterState::fillDisabled): 436 (WebCore::PainterOpenVG::PainterOpenVG): 437 (WebCore::PainterOpenVG::~PainterOpenVG): 438 (WebCore::PainterOpenVG::begin): 439 (WebCore::PainterOpenVG::end): 440 (WebCore::PainterOpenVG::destroyPainterStates): 441 (WebCore::PainterOpenVG::applyState): 442 (WebCore::PainterOpenVG::blitToSurface): 443 (WebCore::PainterOpenVG::transformationMatrix): 444 (WebCore::PainterOpenVG::concatTransformationMatrix): 445 (WebCore::PainterOpenVG::setTransformationMatrix): 446 (WebCore::PainterOpenVG::compositeOperation): 447 (WebCore::PainterOpenVG::setCompositeOperation): 448 (WebCore::PainterOpenVG::opacity): 449 (WebCore::PainterOpenVG::setOpacity): 450 (WebCore::PainterOpenVG::strokeThickness): 451 (WebCore::PainterOpenVG::setStrokeThickness): 452 (WebCore::PainterOpenVG::strokeStyle): 453 (WebCore::PainterOpenVG::setStrokeStyle): 454 (WebCore::PainterOpenVG::setLineDash): 455 (WebCore::PainterOpenVG::setLineCap): 456 (WebCore::PainterOpenVG::setLineJoin): 457 (WebCore::PainterOpenVG::setMiterLimit): 458 (WebCore::PainterOpenVG::strokeColor): 459 (WebCore::PainterOpenVG::setStrokeColor): 460 (WebCore::PainterOpenVG::fillColor): 461 (WebCore::PainterOpenVG::setFillColor): 462 (WebCore::PainterOpenVG::antialiasingEnabled): 463 (WebCore::PainterOpenVG::setAntialiasingEnabled): 464 (WebCore::PainterOpenVG::scale): 465 (WebCore::PainterOpenVG::rotate): 466 (WebCore::PainterOpenVG::translate): 467 (WebCore::PainterOpenVG::intersectScissorRect): 468 (WebCore::PainterOpenVG::intersectClipRect): 469 (WebCore::PainterOpenVG::drawRect): 470 (WebCore::PainterOpenVG::save): 471 (WebCore::PainterOpenVG::restore): 472 * platform/graphics/openvg/PainterOpenVG.h: Added. 473 (WebCore::PainterOpenVG::): 474 (WebCore::PainterOpenVG::surface): 475 * platform/graphics/openvg/SurfaceOpenVG.cpp: 476 (WebCore::SurfaceOpenVG::SurfaceOpenVG): 477 (WebCore::SurfaceOpenVG::~SurfaceOpenVG): 478 (WebCore::SurfaceOpenVG::makeCurrent): 479 (WebCore::SurfaceOpenVG::makeCompatibleCurrent): 480 (WebCore::SurfaceOpenVG::setActivePainter): 481 (WebCore::SurfaceOpenVG::activePainter): 482 * platform/graphics/openvg/SurfaceOpenVG.h: 483 (WebCore::SurfaceOpenVG::): 484 * platform/graphics/openvg/VGUtils.cpp: Added. 485 (WebCore::VGMatrix::VGMatrix): 486 (WebCore::VGMatrix::operator TransformationMatrix): 487 (WebCore::TransformationMatrix::operator VGMatrix): 488 (WebCore::VGRect::VGRect): 489 (WebCore::VGRect::operator FloatRect): 490 (WebCore::FloatRect::operator VGRect): 491 * platform/graphics/openvg/VGUtils.h: 492 (WebCore::VGMatrix::toVGfloat): 493 (WebCore::VGRect::toVGfloat): 494 * platform/graphics/transforms/TransformationMatrix.h: 495 496 2010-01-29 Philippe Normand <pnormand (a] igalia.com> 497 498 Reviewed by Gustavo Noronha Silva. 499 500 [Gtk] Vimeo HTML5 player doesn't work 501 https://bugs.webkit.org/show_bug.cgi?id=34327 502 503 Send Referer when requesting media over HTTP. 504 505 Test: http/tests/media/video-referer.html 506 507 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 508 (WebCore::mediaPlayerPrivateSourceChangedCallback): 509 510 2010-01-29 Oswald Buddenhagen <oswald.buddenhagen (a] nokia.com> 511 512 Reviewed by Simon Hausmann. 513 514 [Qt] Speed up the WebCore::String -> QString conversion 515 516 Use QString(const QChar *, int len) constructor instead of QString::fromUtf16 to 517 avoid BOM checks and byteswapping. 518 519 * bridge/qt/qt_class.cpp: 520 (JSC::Bindings::QtClass::fieldNamed): 521 * bridge/qt/qt_runtime.cpp: 522 (JSC::Bindings::convertValueToQVariant): 523 524 2010-01-29 Alexander Pavlov <apavlov (a] chromium.org> 525 526 Reviewed by Timothy Hatcher. 527 528 Web Inspector: Source view displays text using wrong fonts 529 https://bugs.webkit.org/show_bug.cgi?id=34269 530 531 * inspector/front-end/TextEditor.js: 532 (WebInspector.TextEditor): 533 (WebInspector.TextEditor.prototype._initFont): 534 * inspector/front-end/inspector.js: 535 536 2010-01-29 Philippe Normand <pnormand (a] igalia.com> 537 538 Reviewed by Gustavo Noronha Silva. 539 540 [Gtk] Apple trailers don't play anymore 541 https://bugs.webkit.org/show_bug.cgi?id=34316 542 543 Fake QuickTime when accessing movie trailers. 544 545 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 546 (WebCore::mediaPlayerPrivateSourceChangedCallback): 547 548 2010-01-29 Pavel Feldman <pfeldman (a] chromium.org> 549 550 Reviewed by Timothy Hatcher. 551 552 Web Inspector: migrate to tokenizer-based highlighting in the Elements panel. 553 554 https://bugs.webkit.org/show_bug.cgi?id=34273 555 556 * WebCore.gypi: 557 * WebCore.vcproj/WebCore.vcproj: 558 * inspector/front-end/CSSSourceSyntaxHighlighter.js: Removed. 559 * inspector/front-end/DOMSyntaxHighlighter.js: Added. 560 (WebInspector.DOMSyntaxHighlighter): 561 (WebInspector.DOMSyntaxHighlighter.prototype.createSpan): 562 (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode): 563 * inspector/front-end/ElementsTreeOutline.js: 564 * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Removed. 565 * inspector/front-end/SourceCSSTokenizer.js: 566 (WebInspector.SourceCSSTokenizer): 567 (WebInspector.SourceCSSTokenizer.prototype.nextToken): 568 * inspector/front-end/SourceCSSTokenizer.re2js: 569 * inspector/front-end/SourceHTMLTokenizer.js: 570 (WebInspector.SourceHTMLTokenizer): 571 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 572 * inspector/front-end/SourceHTMLTokenizer.re2js: 573 * inspector/front-end/SourceJavaScriptTokenizer.js: 574 (WebInspector.SourceJavaScriptTokenizer): 575 (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): 576 * inspector/front-end/SourceJavaScriptTokenizer.re2js: 577 * inspector/front-end/SourceSyntaxHighlighter.js: Removed. 578 * inspector/front-end/SourceTokenizer.js: Added. 579 (WebInspector.SourceTokenizer): 580 (WebInspector.SourceTokenizer.prototype.set line): 581 (WebInspector.SourceTokenizer.prototype.set condition): 582 (WebInspector.SourceTokenizer.prototype.get condition): 583 (WebInspector.SourceTokenizer.prototype.hasCondition): 584 (WebInspector.SourceTokenizer.prototype.getLexCondition): 585 (WebInspector.SourceTokenizer.prototype.setLexCondition): 586 (WebInspector.SourceTokenizer.prototype._charAt): 587 (WebInspector.SourceTokenizer.Registry): 588 (WebInspector.SourceTokenizer.Registry.getInstance): 589 (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer): 590 * inspector/front-end/TextEditorHighlighter.js: 591 (WebInspector.TextEditorHighlighter): 592 (WebInspector.TextEditorHighlighter.prototype.set mimeType): 593 * inspector/front-end/WebKit.qrc: 594 * inspector/front-end/inspector.html: 595 596 2010-01-29 Pavel Feldman <pfeldman (a] chromium.org> 597 598 Reviewed by Timothy Hatcher. 599 600 Web Inspector: No need to render background sources 601 when performing search. 602 603 https://bugs.webkit.org/show_bug.cgi?id=34263 604 605 * inspector/front-end/ScriptView.js: 606 (WebInspector.ScriptView): 607 (WebInspector.ScriptView.prototype.show): 608 * inspector/front-end/SourceFrame.js: 609 (WebInspector.SourceFrame): 610 (WebInspector.SourceFrame.prototype.set visible): 611 (WebInspector.SourceFrame.prototype.set executionLine): 612 (WebInspector.SourceFrame.prototype.revealLine): 613 (WebInspector.SourceFrame.prototype.clearMessages): 614 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): 615 (WebInspector.SourceFrame.prototype.setContent): 616 (WebInspector.SourceFrame.prototype._createEditorIfNeeded): 617 (WebInspector.SourceFrame.prototype.setSelection): 618 (WebInspector.SourceFrame.prototype.clearSelection): 619 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 620 (WebInspector.SourceFrame.prototype._contextMenu): 621 (WebInspector.SourceFrame.prototype._toggleBreakpoint): 622 (WebInspector.SourceFrame.prototype.resize): 623 (WebInspector.BreakpointLineNumberDecorator): 624 * inspector/front-end/SourceView.js: 625 (WebInspector.SourceView): 626 (WebInspector.SourceView.prototype.show): 627 (WebInspector.SourceView.prototype.hide): 628 (WebInspector.SourceView.prototype.resize): 629 * inspector/front-end/TextEditor.js: 630 (WebInspector.TextEditor): 631 * inspector/front-end/TextEditorHighlighter.js: 632 (WebInspector.TextEditorHighlighter): 633 * inspector/front-end/TextEditorModel.js: 634 (WebInspector.TextEditorModel): 635 (WebInspector.TextEditorModel.prototype.set changeListener): 636 (WebInspector.TextEditorModel.prototype.setText): 637 638 2010-01-29 Yury Semikhatsky <yurys (a] chromium.org> 639 640 Reviewed by Adam Barth. 641 642 Remove ScriptState::frame which is only used for reporting exceptions 643 in some cases in a way that diverges from the regular exception reporting in 644 v8 bindings. 645 646 Cache ScriptState directly on v8::Context instead of providing 647 implementations specific for isolated worlds and ScriptController. 648 649 https://bugs.webkit.org/show_bug.cgi?id=34266 650 651 * bindings/js/ScriptController.cpp: 652 * bindings/js/ScriptController.h: 653 * bindings/js/ScriptState.cpp: 654 (WebCore::mainWorldScriptState): 655 * bindings/js/ScriptState.h: 656 * bindings/v8/ScriptCallStack.cpp: 657 (WebCore::ScriptCallStack::ScriptCallStack): 658 * bindings/v8/ScriptController.cpp: 659 (WebCore::ScriptController::evaluate): 660 (WebCore::ScriptController::clearWindowShell): 661 * bindings/v8/ScriptController.h: 662 * bindings/v8/ScriptScope.cpp: 663 (WebCore::ScriptScope::ScriptScope): 664 (WebCore::ScriptScope::success): 665 * bindings/v8/ScriptScope.h: 666 * bindings/v8/ScriptState.cpp: 667 (WebCore::ScriptState::ScriptState): 668 (WebCore::ScriptState::forContext): 669 (WebCore::ScriptState::current): 670 (WebCore::ScriptState::weakReferenceCallback): 671 (WebCore::mainWorldScriptState): 672 (WebCore::scriptStateFromPage): 673 * bindings/v8/ScriptState.h: 674 (WebCore::ScriptState::ScriptState): 675 (WebCore::EmptyScriptState::EmptyScriptState): 676 (WebCore::EmptyScriptState::~EmptyScriptState): 677 * bindings/v8/V8HiddenPropertyName.h: 678 * bindings/v8/V8IsolatedContext.cpp: 679 * bindings/v8/V8IsolatedContext.h: 680 * bindings/v8/V8Utilities.cpp: 681 (WebCore::getScriptExecutionContext): 682 (WebCore::reportException): 683 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 684 (WebCore::V8NodeIterator::nextNodeCallback): 685 (WebCore::V8NodeIterator::previousNodeCallback): 686 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 687 (WebCore::V8TreeWalker::parentNodeCallback): 688 (WebCore::V8TreeWalker::firstChildCallback): 689 (WebCore::V8TreeWalker::lastChildCallback): 690 (WebCore::V8TreeWalker::nextNodeCallback): 691 (WebCore::V8TreeWalker::previousNodeCallback): 692 (WebCore::V8TreeWalker::nextSiblingCallback): 693 (WebCore::V8TreeWalker::previousSiblingCallback): 694 * inspector/InspectorController.cpp: 695 (WebCore::InspectorController::injectedScriptForNodeId): 696 697 2010-01-29 Darin Fisher <darin (a] chromium.org> 698 699 Reviewed by Adam Barth. 700 701 Add FrameLoaderClient::allowImages method to allow the client to 702 overrule image loading policy on a per frame basis. 703 704 https://bugs.webkit.org/show_bug.cgi?id=34225 705 706 For completeness, this patch also adds Settings::areImagesEnabled. 707 This is different from loadsImagesAutomatically as is explained in 708 Settings.h. 709 710 * loader/DocLoader.cpp: 711 (WebCore::DocLoader::requestImage): 712 * loader/FrameLoaderClient.h: 713 (WebCore::FrameLoaderClient::allowImages): 714 * loader/ImageDocument.cpp: 715 (WebCore::ImageTokenizer::writeRawData): 716 * page/Settings.cpp: 717 (WebCore::Settings::Settings): 718 (WebCore::Settings::setImagesEnabled): 719 * page/Settings.h: 720 (WebCore::Settings::areImagesEnabled): 721 722 2010-01-28 Nicholas Young <nicholas.young (a] nokia.com> 723 724 Reviewed by Eric Carlson. 725 726 Prefer provided video element width/height properties to hard coded 727 defaults for intrinsic size when natural video size is unavailable. 728 https://bugs.webkit.org/show_bug.cgi?id=34302 729 730 No new tests needed. 731 732 * rendering/RenderVideo.cpp: Attempt to use width/height properties 733 (WebCore::RenderVideo::RenderVideo): 734 * rendering/RenderVideo.h: More appropriate constructor signature 735 736 2010-01-28 Oliver Hunt <oliver (a] apple.com> 737 738 Reviewed by Gavin Barraclough. 739 740 MessageEvent.data should not be repeated deserialised 741 https://bugs.webkit.org/show_bug.cgi?id=34311 742 743 Cache the result of deserialising the event data 744 745 * bindings/scripts/CodeGeneratorJS.pm: 746 * dom/MessageEvent.idl: 747 748 2010-01-28 Hayato Ito <hayato (a] chromium.org> 749 750 Reviewed by Darin Adler. 751 752 Change CSS 'page-break-inside' property from inherited one to non-inherited one because CSS specification defines so. 753 754 Note: Currently, the 'page-break-inside' property is used only when parsing the CSS. That property is not used when rendering. 755 756 https://bugs.webkit.org/show_bug.cgi?id=34195 757 758 * rendering/style/RenderStyle.h: 759 (WebCore::InheritedFlags::NonInheritedFlags::operator==): 760 (WebCore::InheritedFlags::setBitDefaults): 761 (WebCore::InheritedFlags::pageBreakInside): 762 (WebCore::InheritedFlags::setPageBreakInside): 763 * rendering/style/StyleInheritedData.cpp: 764 (WebCore::StyleInheritedData::StyleInheritedData): 765 (WebCore::StyleInheritedData::operator==): 766 * rendering/style/StyleInheritedData.h: 767 768 2010-01-28 Michael Nordman <michaeln (a] google.com> 769 770 Reviewed by Alexey Proskuryakov. 771 772 ApplicationCache events should be deferred until after Document onload has fired. 773 https://bugs.webkit.org/show_bug.cgi?id=29690 774 775 Test: http/tests/appcache/deferred-events.html 776 777 * loader/FrameLoader.cpp: 778 (WebCore::FrameLoader::handledOnloadEvents): Tells the ApplicationCacheHost to stop deferring events. 779 * loader/appcache/ApplicationCacheHost.cpp: 780 (WebCore::ApplicationCacheHost::ApplicationCacheHost): Initialize m_isDeferringEvents to true. 781 (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): Depending, defer or raise the event. 782 (WebCore::ApplicationCacheHost::stopDeferringEvents): Raise any deferred events and reset the flag. 783 * loader/appcache/ApplicationCacheHost.h: Declare new data members and method. 784 785 2010-01-28 Kavita Kanetkar <kkanetkar (a] chromium.org> 786 787 Reviewed by Dimitri Glazkov. 788 789 [V8] Generate header declaration for custom constructor callbacks 790 https://bugs.webkit.org/show_bug.cgi?id=33680 791 792 Added handling of 'CanBeConstructed' and 'OmitConstructor' and a new extended attribute 793 CustomConstructor'. 794 795 Deleted implementation .cpp files for corresponding 'CanBeConstructed' 796 extended attributes. These are now generated via CodeGeneratorV8.pm 797 Treating 'OmitConstructor' and 'CustomConstructor' to be the same in 798 CodeGeneratorJS.pm 799 Cleaned idls that had 'CustomConstructor' and 'OmitConstructor' together, and 800 same with CustomConstructor and CanBeConstructed. 801 802 * Android.v8bindings.mk: 803 * WebCore.gypi: Removed deps for classes being generated. 804 * bindings/scripts/CodeGeneratorJS.pm: OmitConstructor and CustomConstructor have the same behavior in generator. 805 * bindings/scripts/CodeGeneratorV8.pm: Generating the callbacks for constructors. 806 * bindings/v8/V8DOMWrapper.cpp: Removed manual calls to SetCallHandler() for constructor callbacks. 807 (WebCore::V8DOMWrapper::getTemplate): 808 * bindings/v8/custom/V8CustomBinding.h: Removed manual declarations of constructor callbacks. 809 * bindings/v8/custom/V8DOMParserConstructor.cpp: 810 * bindings/v8/custom/V8EventSourceConstructor.cpp: 811 (WebCore::V8EventSource::constructorCallback): 812 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 813 (WebCore::V8MessageChannel::constructorCallback): 814 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 815 (WebCore::V8SharedWorker::constructorCallback): 816 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 817 (WebCore::V8WebGLArrayBuffer::constructorCallback): 818 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 819 (WebCore::V8WebGLByteArray::constructorCallback): 820 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 821 (WebCore::V8WebGLFloatArray::constructorCallback): 822 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 823 (WebCore::V8WebGLIntArray::constructorCallback): 824 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 825 (WebCore::V8WebGLShortArray::constructorCallback): 826 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 827 (WebCore::V8WebGLUnsignedByteArray::constructorCallback): 828 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 829 (WebCore::V8WebGLUnsignedIntArray::constructorCallback): 830 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 831 (WebCore::V8WebGLUnsignedShortArray::constructorCallback): 832 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 833 (WebCore::V8WebKitCSSMatrix::constructorCallback): 834 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 835 (WebCore::V8WebKitPoint::constructorCallback): 836 * bindings/v8/custom/V8WebSocketCustom.cpp: 837 (WebCore::V8WebSocket::constructorCallback): 838 * bindings/v8/custom/V8WorkerCustom.cpp: 839 (WebCore::V8Worker::constructorCallback): 840 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 841 (WebCore::V8XMLHttpRequest::constructorCallback): 842 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: 843 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Deleted the file. Implementation now being generated. 844 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Deleted the file. Implementation now being generated. 845 (WebCore::V8XSLTProcessor::constructorCallback): Deleted the file. Implementation now being generated. 846 * css/WebKitCSSMatrix.idl: Added CustomConstructor attribute. 847 * dom/MessageChannel.idl: Added CustomConstructor attribute. 848 * html/canvas/WebGLArrayBuffer.idl: Added CustomConstructor attribute. 849 * html/canvas/WebGLByteArray.idl: Added CustomConstructor attribute. 850 * html/canvas/WebGLFloatArray.idl: Added CustomConstructor attribute. 851 * html/canvas/WebGLIntArray.idl: Added CustomConstructor attribute. 852 * html/canvas/WebGLShortArray.idl: Added CustomConstructor attribute. 853 * html/canvas/WebGLUnsignedByteArray.idl: Added CustomConstructor attribute. 854 * html/canvas/WebGLUnsignedIntArray.idl: Added CustomConstructor attribute. 855 856 2010-01-28 Steve Block <steveblock (a] google.com> 857 858 Reviewed by David Levin. 859 860 Add stub for AXObjectCache::contentChanged when HAVE(ACCESSIBILITY) is not defined 861 https://bugs.webkit.org/show_bug.cgi?id=34271 862 863 No new tests, build fix only. 864 865 * accessibility/AXObjectCache.cpp: Modified. Added HAVE(ACCESSIBILITY) guards around contentChanged 866 * accessibility/AXObjectCache.h: Modified. 867 (WebCore::AXObjectCache::contentChanged): Added stub 868 869 2010-01-28 Steve Block <steveblock (a] google.com> 870 871 Reviewed by David Levin. 872 873 Use long long rather than int64 in V8Binding.h 874 https://bugs.webkit.org/show_bug.cgi?id=34270 875 876 No new tests, build fix only. 877 878 * bindings/v8/V8Binding.h: Modified. 879 (WebCore::toInt64): Returns long long 880 881 2010-01-28 Avi Drissman <avi (a] chromium.org> 882 883 Reviewed by David Levin. 884 885 Unused variable in ThemeMac (followup to change 49103). 886 https://bugs.webkit.org/show_bug.cgi?id=34274 887 888 Covered by existing tests. 889 890 * platform/mac/ThemeMac.mm: 891 (WebCore::setupButtonCell): 892 893 2010-01-28 Enrica Casucci <enrica (a] apple.com> 894 895 Reviewed by Maciej Stachowiak. 896 897 Huge plain text pastes are slow 898 <rdar://problem/5195056> 899 https://bugs.webkit.org/show_bug.cgi?id=34237 900 901 No new tests. It is a performance improvement. 902 903 The performance of the plain text paste is now linear. 904 We treat as a special case, a fragment that has been 905 created from plain text. Finding VisiblePositions and 906 applying style is greatly simplified, given the nature of 907 the fragment. 908 909 * editing/ReplaceSelectionCommand.cpp: 910 (WebCore::ReplaceSelectionCommand::doApply): 911 * editing/markup.cpp: 912 (WebCore::isPlainTextMarkup): 913 * editing/markup.h: 914 915 2010-01-28 Jeremy Orlow <jorlow (a] chromium.org> 916 917 Reviewed by Adam Barth. 918 919 Initialize DOM Storage's quota's current length parameter when we clone it. 920 https://bugs.webkit.org/show_bug.cgi?id=34294 921 922 * storage/StorageMap.cpp: 923 (WebCore::StorageMap::copy): 924 925 2010-01-28 Brent Fulgham <bfulgham (a] webkit.org> 926 927 Unreviewed build fix after r53411 on WinCairo. 928 929 * platform/image-decoders/gif/GIFImageDecoder.cpp: 930 (WebCore::GIFImageDecoder::frameCount): 931 932 2010-01-28 Nayan Kumar K <nayankk (a] gmail.com> 933 934 Reviewed by Laszlo Gombos. 935 936 Fix for compilation error in WML enabled build introduced because of the changeset 53514. 937 938 https://bugs.webkit.org/show_bug.cgi?id=34254 939 940 * wml/WMLDocument.cpp: 941 (WebCore::WMLDocument::WMLDocument): 942 943 2010-01-28 Alex Milowski <alex (a] milowski.com> 944 945 Reviewed by Eric Seidel. 946 947 Update to CSS to remove unnecessary line-height settings 948 949 * css/mathml.css: 950 951 2010-01-28 Steve Block <steveblock (a] google.com> 952 953 Reviewed by David Levin. 954 955 Add missing includes for HashMap/HashSet 956 https://bugs.webkit.org/show_bug.cgi?id=34276 957 958 No new tests, build fix only. 959 960 * platform/KURL.cpp: Modified. Include HashMap.h 961 * platform/network/CredentialStorage.cpp: Modified. Include HashMap.h and HashSet.h 962 * platform/network/ProtectionSpaceHash.h: Modified. Include HashTraits.h 963 964 2010-01-28 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 965 966 Reviewed by Gustavo Noronha. 967 968 Pass cookies to the GStreamer HTTP source 969 https://bugs.webkit.org/show_bug.cgi?id=34003 970 971 Test: http/tests/media/video-cookie.html 972 973 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 974 (WebCore::mediaPlayerPrivateSourceChangedCallback): 975 When using an appropiate GStreamer HTTP source element, pass 976 the cookies for the media URI to it. This fixes playback of 977 the YouTube HTML5 videos. 978 979 2010-01-28 Csaba Osztrogonc <ossy (a] webkit.org> 980 981 [Qt] Unreviewed buildfix after r54022. 982 983 * bridge/qt/qt_instance.cpp: 984 (JSC::Bindings::QtRuntimeObjectImp::createStructure): 985 * bridge/qt/qt_pixmapruntime.cpp: 986 (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure): 987 * bridge/qt/qt_runtime.h: 988 (JSC::Bindings::QtRuntimeMethod::createStructure): 989 990 2010-01-28 Adam Roben <aroben (a] apple.com> 991 992 Fix an assertion beneath SerializedScriptValue::deserialize on 32-bit 993 builds (e.g., on Windows) 994 995 Passing a JSValue to toRef on 32-bit builds can perform an allocation, 996 so we need to make sure we hold a JSLock when that occurs. 997 998 Reviewed by Oliver Hunt. 999 1000 * bindings/js/SerializedScriptValue.cpp: 1001 (WebCore::SerializedScriptValueData::serialize): 1002 (WebCore::SerializedScriptValueData::deserialize): 1003 Moved JSLocks from here... 1004 1005 (WebCore::SerializedScriptValue::create): 1006 (WebCore::SerializedScriptValue::deserialize): 1007 ...to this higher level, from which toRef can be called. 1008 1009 2010-01-28 Oliver Hunt <oliver (a] apple.com> 1010 1011 Reviewed by Gavin Barraclough. 1012 1013 DOM Objects shouldn't all require custom mark functions 1014 https://bugs.webkit.org/show_bug.cgi?id=34291 1015 1016 Make DOMObjectWithGlobalPointer use an anonymous slot to store the global object 1017 reference. 1018 1019 * bindings/js/JSDOMBinding.h: 1020 (WebCore::DOMObjectWithGlobalPointer::globalObject): 1021 (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): 1022 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 1023 1024 2010-01-28 Oliver Hunt <oliver (a] apple.com> 1025 1026 Reviewed by Gavin Barraclough. 1027 1028 Simplify anonymous slot implementation 1029 https://bugs.webkit.org/show_bug.cgi?id=34282 1030 1031 Update the WebCore JS DOM bindings to correctly pass and 1032 propagate the anonymous slot count information. 1033 1034 * bindings/js/JSDOMBinding.h: 1035 (WebCore::DOMObjectWithGlobalPointer::createStructure): 1036 (WebCore::DOMConstructorObject::createStructure): 1037 * bindings/js/JSDOMWindowShell.h: 1038 (WebCore::JSDOMWindowShell::createStructure): 1039 * bindings/scripts/CodeGeneratorJS.pm: 1040 * bridge/objc/objc_runtime.h: 1041 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 1042 * bridge/runtime_array.h: 1043 (JSC::RuntimeArray::createStructure): 1044 * bridge/runtime_method.h: 1045 (JSC::RuntimeMethod::createStructure): 1046 * bridge/runtime_object.h: 1047 (JSC::RuntimeObjectImp::createStructure): 1048 1049 2010-01-27 Evan Martin <evan (a] chromium.org> 1050 1051 Reviewed by David Levin. 1052 1053 [chromium] hebrew vowel marks incorrectly positioned 1054 https://bugs.webkit.org/show_bug.cgi?id=34234 1055 1056 Fix glyph metrics computation such that the glyph offsets 1057 are correct, so we can now make use of them. 1058 1059 Test: fast/text/international/hebrew-vowels.html 1060 1061 * platform/graphics/chromium/FontLinux.cpp: 1062 (WebCore::TextRunWalker::createGlyphArrays): initialize per-glyph 1063 offset table. 1064 (WebCore::TextRunWalker::setGlyphXPositions): use per-glyph 1065 offsets. 1066 * platform/graphics/chromium/HarfbuzzSkia.cpp: 1067 (WebCore::getGlyphMetrics): fix metrics computation such that 1068 per-glyph offsets are computed correctly. 1069 1070 2010-01-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 1071 1072 Unreviewed build fix. 1073 1074 [Qt] Build fix if websockets support is turned off after r53947. 1075 1076 * WebCore.pro: 1077 1078 2010-01-28 Dimitri Glazkov <dglazkov (a] chromium.org> 1079 1080 No review, rolling out r54012. 1081 http://trac.webkit.org/changeset/54012 1082 https://bugs.webkit.org/show_bug.cgi?id=34266 1083 1084 Introduced 33 crashes in V8 traversal/ tests. 1085 1086 * bindings/js/ScriptController.cpp: 1087 (WebCore::ScriptController::mainWorldScriptState): 1088 * bindings/js/ScriptController.h: 1089 * bindings/js/ScriptState.cpp: 1090 * bindings/js/ScriptState.h: 1091 * bindings/v8/ScriptCallStack.cpp: 1092 (WebCore::ScriptCallStack::ScriptCallStack): 1093 * bindings/v8/ScriptController.cpp: 1094 (WebCore::ScriptController::mainWorldScriptState): 1095 (WebCore::ScriptController::currentScriptState): 1096 (WebCore::ScriptController::clearWindowShell): 1097 * bindings/v8/ScriptController.h: 1098 * bindings/v8/ScriptScope.cpp: 1099 (WebCore::ScriptScope::ScriptScope): 1100 (WebCore::ScriptScope::success): 1101 * bindings/v8/ScriptScope.h: 1102 * bindings/v8/ScriptState.cpp: 1103 (WebCore::ScriptState::ScriptState): 1104 (WebCore::scriptStateFromPage): 1105 * bindings/v8/ScriptState.h: 1106 (WebCore::ScriptState::ScriptState): 1107 (WebCore::ScriptState::frame): 1108 * bindings/v8/V8HiddenPropertyName.h: 1109 * bindings/v8/V8IsolatedContext.cpp: 1110 (WebCore::V8IsolatedContext::scriptState): 1111 * bindings/v8/V8IsolatedContext.h: 1112 * bindings/v8/V8Utilities.cpp: 1113 (WebCore::getScriptExecutionContext): 1114 (WebCore::reportException): 1115 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 1116 (WebCore::V8NodeIterator::nextNodeCallback): 1117 (WebCore::V8NodeIterator::previousNodeCallback): 1118 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 1119 (WebCore::V8TreeWalker::parentNodeCallback): 1120 (WebCore::V8TreeWalker::firstChildCallback): 1121 (WebCore::V8TreeWalker::lastChildCallback): 1122 (WebCore::V8TreeWalker::nextNodeCallback): 1123 (WebCore::V8TreeWalker::previousNodeCallback): 1124 (WebCore::V8TreeWalker::nextSiblingCallback): 1125 (WebCore::V8TreeWalker::previousSiblingCallback): 1126 * inspector/InspectorController.cpp: 1127 (WebCore::InspectorController::injectedScriptForNodeId): 1128 1129 2010-01-28 Steve Block <steveblock (a] google.com> 1130 1131 Reviewed by Adam Barth. 1132 1133 Fix missing forward-declarations and includes in V8 bindings 1134 https://bugs.webkit.org/show_bug.cgi?id=34272 1135 1136 No new tests, build fix only. 1137 1138 * bindings/v8/ScriptController.h: Modified. Forward-declare NPObject 1139 * bindings/v8/V8DOMWindowShell.cpp: Modified. Include CString.h and PlatformBridge.h 1140 * bindings/v8/V8DOMWrapper.h: Modified. Forward-declare V8Proxy 1141 1142 2010-01-28 Yury Semikhatsky <yurys (a] chromium.org> 1143 1144 Reviewed by Adam Barth. 1145 1146 Remove ScriptState::frame which is only used for reporting exceptions 1147 in some cases in a way that diverges from the regular exception reporting in 1148 v8 bindings. 1149 1150 Cache ScriptState directly on v8::Context instead of providing 1151 implementations specific for isolated worlds and ScriptController. 1152 1153 https://bugs.webkit.org/show_bug.cgi?id=34266 1154 1155 * bindings/js/ScriptController.cpp: 1156 * bindings/js/ScriptController.h: 1157 * bindings/js/ScriptState.cpp: 1158 (WebCore::mainWorldScriptState): 1159 * bindings/js/ScriptState.h: 1160 * bindings/v8/ScriptCallStack.cpp: 1161 (WebCore::ScriptCallStack::ScriptCallStack): 1162 * bindings/v8/ScriptController.cpp: 1163 (WebCore::ScriptController::clearWindowShell): 1164 * bindings/v8/ScriptController.h: 1165 * bindings/v8/ScriptScope.cpp: 1166 (WebCore::ScriptScope::ScriptScope): 1167 (WebCore::ScriptScope::success): 1168 * bindings/v8/ScriptScope.h: 1169 * bindings/v8/ScriptState.cpp: 1170 (WebCore::ScriptState::ScriptState): 1171 (WebCore::ScriptState::forContext): 1172 (WebCore::ScriptState::current): 1173 (WebCore::ScriptState::empty): 1174 (WebCore::ScriptState::weakReferenceCallback): 1175 (WebCore::mainWorldScriptState): 1176 (WebCore::scriptStateFromPage): 1177 * bindings/v8/ScriptState.h: 1178 * bindings/v8/V8HiddenPropertyName.h: 1179 * bindings/v8/V8IsolatedContext.cpp: 1180 * bindings/v8/V8IsolatedContext.h: 1181 * bindings/v8/V8Utilities.cpp: 1182 (WebCore::getScriptExecutionContext): 1183 (WebCore::reportException): 1184 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 1185 (WebCore::V8NodeIterator::nextNodeCallback): 1186 (WebCore::V8NodeIterator::previousNodeCallback): 1187 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 1188 (WebCore::V8TreeWalker::parentNodeCallback): 1189 (WebCore::V8TreeWalker::firstChildCallback): 1190 (WebCore::V8TreeWalker::lastChildCallback): 1191 (WebCore::V8TreeWalker::nextNodeCallback): 1192 (WebCore::V8TreeWalker::previousNodeCallback): 1193 (WebCore::V8TreeWalker::nextSiblingCallback): 1194 (WebCore::V8TreeWalker::previousSiblingCallback): 1195 * inspector/InspectorController.cpp: 1196 (WebCore::InspectorController::injectedScriptForNodeId): 1197 1198 2010-01-28 Adam Barth <abarth (a] webkit.org> 1199 1200 Reviewed by David Levin. 1201 1202 Remove XSSAuditor false positive for Google Translate 1203 https://bugs.webkit.org/show_bug.cgi?id=34242 1204 1205 Google translate takes a base URL as a parameter, causing a false 1206 positive in the XSS filter. This patch removes the false positive by 1207 allowing direct injections into the href property of the base tag. 1208 1209 Test: http/tests/security/xssAuditor/base-href-direct.html 1210 1211 * page/XSSAuditor.cpp: 1212 (WebCore::XSSAuditor::canSetBaseElementURL): 1213 1214 2010-01-28 Nikolas Zimmermann <nzimmermann (a] rim.com> 1215 1216 Reviewed by Dirk Schulze. 1217 1218 Save additional memory in SVG*Element classes, by introducing SVGElementRareData 1219 https://bugs.webkit.org/show_bug.cgi?id=34268 1220 1221 Introduce SVGElementRareData, to remove the need to store any members in SVGElement/SVGStyledElement. 1222 This saves some additional MB for the svg-node-count-vs-scroll.xhtml testcase. 1223 1224 SVGElementRareData works just like NodeRareData. Unlike ElementRareData, we're not inheriting from 1225 NodeRareData in SVG, as we don't need all the rare data stored there, unlike Element. 1226 1227 * GNUmakefile.am: Add SVGElementRareData.h to build. 1228 * WebCore.gypi: Ditto. 1229 * WebCore.pro: Ditto. 1230 * WebCore.vcproj/WebCore.vcproj: Ditto. 1231 * WebCore.xcodeproj/project.pbxproj: Ditto. 1232 * dom/Node.cpp: Use Nodes bitfield to keep track wheter a SVGElement has a SVGElementRareData object associated. 1233 (WebCore::Node::Node): 1234 * dom/Node.h: Add m_hasRareSVGData flag, merged with the existing bitfield, 10 bits remaining now. 1235 (WebCore::Node::hasRareSVGData): 1236 * svg/SVGAnimateMotionElement.cpp: SVGElement::instancesForElement() now returns a const-reference to the HashMap instead of copying. 1237 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 1238 * svg/SVGAnimateTransformElement.cpp: Ditto. 1239 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 1240 * svg/SVGAnimationElement.cpp: Ditto. 1241 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 1242 * svg/SVGElement.cpp: Move the element instances HashSet and two cursor-related pointers into SVGElementRareData. 1243 (WebCore::SVGElement::SVGElement): 1244 (WebCore::SVGElement::~SVGElement): 1245 (WebCore::SVGElement::rareSVGData): Modelled just like Node::rareData(). 1246 (WebCore::SVGElement::ensureRareSVGData): Dito. 1247 (WebCore::SVGElement::accessDocumentSVGExtensions): 1248 (WebCore::SVGElement::mapInstanceToElement): Route call through SVGElementRareData. 1249 (WebCore::SVGElement::removeInstanceMapping): Ditto. 1250 (WebCore::SVGElement::instancesForElement): Ditto. 1251 (WebCore::SVGElement::setCursorElement): Ditto. 1252 (WebCore::SVGElement::setCursorImageValue): Ditto. 1253 * svg/SVGElement.h: 1254 * svg/SVGElementInstance.cpp: Ditto. 1255 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): 1256 * svg/SVGElementRareData.h: Added. Based on NodeRareData - works exactly the same. 1257 (WebCore::SVGElementRareData::SVGElementRareData): 1258 (WebCore::SVGElementRareData::rareDataMap): 1259 (WebCore::SVGElementRareData::rareDataFromMap): 1260 (WebCore::SVGElementRareData::elementInstances): 1261 (WebCore::SVGElementRareData::instanceUpdatesBlocked): 1262 (WebCore::SVGElementRareData::setInstanceUpdatesBlocked): 1263 (WebCore::SVGElementRareData::cursorElement): 1264 (WebCore::SVGElementRareData::setCursorElement): 1265 (WebCore::SVGElementRareData::cursorImageValue): 1266 (WebCore::SVGElementRareData::setCursorImageValue): 1267 * svg/SVGStyledElement.cpp: Move m_instancesUpdatesBlocked into SVGElementRareData. 1268 (WebCore::SVGStyledElement::SVGStyledElement): 1269 (WebCore::SVGStyledElement::instanceUpdatesBlocked): 1270 (WebCore::SVGStyledElement::setInstanceUpdatesBlocked): 1271 * svg/SVGStyledElement.h: 1272 * svg/SVGUseElement.cpp: Adapt to element instances changes, now passed as const-reference. 1273 (WebCore::dumpInstanceTree): 1274 1275 2010-01-28 Aaron Boodman <aa (a] chromium.org> 1276 1277 Reviewed by Darin Adler. 1278 1279 Expand the NotificationPresenter::checkPermission() interface to send the full 1280 URL of the requesting context, as well as a pointer to the document if that 1281 context was a document. 1282 1283 https://bugs.webkit.org/show_bug.cgi?id=34238 1284 1285 * notifications/Notification.cpp: 1286 (WebCore::Notification::Notification): 1287 * notifications/NotificationCenter.cpp: 1288 (WebCore::NotificationCenter::NotificationCenter): 1289 (WebCore::NotificationCenter::checkPermission): 1290 Pass the full URL and document from the requesting context when calling 1291 NotificationPresenter::checkPermission(). 1292 1293 * notifications/NotificationPresenter.h: 1294 (WebCore::NotificationPresenter::): 1295 Expand interface. 1296 1297 2010-01-28 Simon Fraser <simon.fraser (a] apple.com> 1298 1299 Reviewed by Dan Bernstein. 1300 1301 Video can overlap position:fixed element when scrolling 1302 https://bugs.webkit.org/show_bug.cgi?id=32180 1303 1304 When the scroll position changes, and we're using overlap to decide what gets composited, 1305 then we need to re-evaluate what gets compositing when scrolling in case fixed postion elements 1306 overlap composited elements (e.g. video). 1307 1308 Test: compositing/geometry/video-fixed-scrolling.html 1309 1310 * page/FrameView.cpp: 1311 (WebCore::FrameView::updateCompositingLayers): 1312 (WebCore::FrameView::scrollPositionChanged): Annotate the calls to updateCompositingLayers() 1313 with the type of change that occurred. 1314 1315 * rendering/RenderLayer.cpp: 1316 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): Ditto. 1317 1318 * rendering/RenderLayerCompositor.h: 1319 * rendering/RenderLayerCompositor.cpp: 1320 (WebCore::RenderLayerCompositor::updateCompositingLayers): For scroll changes, check 1321 for hierarchy update if m_compositingConsultsOverlap is true, and do 1322 a geometry update. For other changes, always check for hierarchy updates. 1323 1324 2010-01-27 Dave Hyatt <hyatt (a] apple.com> 1325 1326 Reviewed by Darin Adler. 1327 1328 Fix for user stylesheet bugs where they get parsed using the wrong compatibility mode. This was a regression 1329 caused from Safari 3 -> 4 by the Acid3 fixes to create a real DOCTYPE in the DOM. 1330 1331 This patch makes style selector creation lazy, so that the selector isn't built unless someone asks for it. 1332 1333 In order to avoid creating the style selector before the compatibility mode has been determined, document 1334 style is now created without having a dependence on an instantiated style selector. The creation of the style 1335 is now done as a static method on CSSStyleSelector called styleForDocument, and a couple of font-related 1336 functions have been made static as well so that they can be used by this method. 1337 1338 m_styleSelector on Document is now an OwnPtr. 1339 1340 Added userscripts/mixed-case-stylesheet.html 1341 1342 * css/CSSStyleSelector.cpp: 1343 (WebCore::CSSStyleSelector::styleForDocument): 1344 (WebCore::CSSStyleSelector::applyProperty): 1345 (WebCore::CSSStyleSelector::checkForGenericFamilyChange): 1346 (WebCore::CSSStyleSelector::setFontSize): 1347 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): 1348 (WebCore::CSSStyleSelector::fontSizeForKeyword): 1349 * css/CSSStyleSelector.h: 1350 * dom/Document.cpp: 1351 (WebCore::Document::Document): 1352 (WebCore::Document::~Document): 1353 (WebCore::Document::recalcStyle): 1354 (WebCore::Document::createStyleSelector): 1355 (WebCore::Document::attach): 1356 (WebCore::Document::setVisuallyOrdered): 1357 (WebCore::Document::recalcStyleSelector): 1358 * dom/Document.h: 1359 (WebCore::Document::styleSelector): 1360 (WebCore::Document::visuallyOrdered): 1361 * html/HTMLDocument.cpp: 1362 (WebCore::HTMLDocument::determineParseMode): 1363 * loader/PlaceholderDocument.cpp: 1364 (WebCore::PlaceholderDocument::attach): 1365 1366 2010-01-28 Kent Tamura <tkent (a] chromium.org> 1367 1368 Reviewed by Darin Adler. 1369 1370 Rename ISODateTime.{cpp,h} to DateComponents.{cpp,h} 1371 https://bugs.webkit.org/show_bug.cgi?id=34245 1372 1373 No functional changes. 1374 1375 * GNUmakefile.am: 1376 * WebCore.gypi: 1377 * WebCore.pro: 1378 * WebCore.vcproj/WebCore.vcproj: 1379 * WebCore.xcodeproj/project.pbxproj: 1380 * html/DateComponents.cpp: Copied from WebCore/html/ISODateTime.cpp. 1381 (WebCore::DateComponents::maxWeekNumberInYear): 1382 (WebCore::DateComponents::parseYear): 1383 (WebCore::DateComponents::addDay): 1384 (WebCore::DateComponents::addMinute): 1385 (WebCore::DateComponents::parseTimeZone): 1386 (WebCore::DateComponents::parseMonth): 1387 (WebCore::DateComponents::parseDate): 1388 (WebCore::DateComponents::parseWeek): 1389 (WebCore::DateComponents::parseTime): 1390 (WebCore::DateComponents::parseDateTimeLocal): 1391 (WebCore::DateComponents::parseDateTime): 1392 (WebCore::DateComponents::setMillisecondsSinceMidnightInternal): 1393 (WebCore::DateComponents::setMillisecondsSinceEpochForDateInternal): 1394 (WebCore::DateComponents::setMillisecondsSinceEpochForDate): 1395 (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): 1396 (WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal): 1397 (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): 1398 (WebCore::DateComponents::setMillisecondsSinceMidnight): 1399 (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): 1400 (WebCore::DateComponents::millisecondsSinceEpochForTime): 1401 (WebCore::DateComponents::millisecondsSinceEpoch): 1402 (WebCore::DateComponents::toStringForTime): 1403 (WebCore::DateComponents::toString): 1404 * html/DateComponents.h: Copied from WebCore/html/ISODateTime.h. 1405 (WebCore::DateComponents::DateComponents): 1406 * html/HTMLInputElement.cpp: 1407 (WebCore::HTMLInputElement::parseToDouble): 1408 (WebCore::HTMLInputElement::valueAsDate): 1409 (WebCore::HTMLInputElement::setValueAsDate): 1410 (WebCore::HTMLInputElement::setValueAsNumber): 1411 (WebCore::HTMLInputElement::formStringToDateComponents): 1412 * html/HTMLInputElement.h: 1413 * html/ISODateTime.cpp: Removed. 1414 * html/ISODateTime.h: Removed. 1415 * html/ValidityState.cpp: 1416 (WebCore::ValidityState::typeMismatch): 1417 1418 2010-01-28 Alexander Pavlov <apavlov (a] chromium.org> 1419 1420 Reviewed by Pavel Feldman. 1421 1422 Use platform-specific monospace fonts in the Web Inspector 1423 1424 Move the OS version detection code into the frontend, 1425 add custom CSS monospace styles for known platforms. 1426 https://bugs.webkit.org/show_bug.cgi?id=34040 1427 1428 * inspector/InspectorFrontendHost.cpp: 1429 (WebCore::InspectorFrontendHost::platform): 1430 * inspector/front-end/BreakpointsSidebarPane.js: 1431 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): 1432 * inspector/front-end/DatabaseQueryView.js: 1433 (WebInspector.DatabaseQueryView): 1434 * inspector/front-end/InspectorBackendStub.js: 1435 (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): 1436 (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource): 1437 * inspector/front-end/SourceFrame.js: 1438 (WebInspector.SourceFrame.prototype._createConditionElement): 1439 * inspector/front-end/inspector.css: 1440 * inspector/front-end/inspector.html: 1441 * inspector/front-end/inspector.js: 1442 (WebInspector.URLRegExp.i.get platform): 1443 (WebInspector._detectPlatform): 1444 1445 2010-01-28 Mikhail Naganov <mnaganov (a] chromium.org> 1446 1447 Reviewed by Timothy Hatcher. 1448 1449 Simplify views logic in Profiler panel, and fix the problem described in the issue. 1450 Remove image from Welcome view. 1451 Preserve border on status bar-like buttons in Welcome view on window deactivation. 1452 1453 https://bugs.webkit.org/show_bug.cgi?id=34201 1454 1455 * inspector/front-end/ProfilesPanel.js: 1456 (WebInspector.ProfilesPanel.prototype.show): 1457 (WebInspector.ProfilesPanel.prototype.reset): 1458 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 1459 (WebInspector.ProfilesPanel.prototype.showView): 1460 (WebInspector.ProfilesPanel.prototype._updateInterface): 1461 * inspector/front-end/WelcomeView.js: 1462 (WebInspector.WelcomeView): 1463 * inspector/front-end/inspector.css: 1464 1465 2010-01-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 1466 1467 Reviewed by Eric Seidel. 1468 1469 [Qt] Speed up KURL to QUrl conversion 1470 https://bugs.webkit.org/show_bug.cgi?id=33873 1471 1472 The WebCore::String::utf8 method will use the generic WebCore::TextCodec 1473 and then call the encode method on it. In QtWebKit this class is implemented 1474 around the QTextCodec class. Instead of going the generic codec way we treat 1475 the WebCore::String as a QString (no copying) and then use the built-in 1476 QString::toUtf8 to do the conversion. 1477 1478 * platform/qt/KURLQt.cpp: 1479 (WebCore::KURL::operator QUrl): 1480 1481 2010-01-28 Ben Murdoch <benm (a] google.com> 1482 1483 Reviewed by Simon Hausmann. 1484 1485 [Android] [Qt] Touch event page co-ordinates are incorrect when touch is received in an iframe. 1486 https://bugs.webkit.org/show_bug.cgi?id=34162 1487 1488 The pageX/pageY co-ordinates of a touch event should be relative to the containing frame, not the main frame. This change implements that and also updates the existing touch-inside-iframe test to also examine the page co-ordinates. 1489 1490 * dom/Touch.cpp: 1491 (WebCore::Touch::Touch): Remove dead code. 1492 * dom/Touch.h: Remove dead code. 1493 * page/EventHandler.cpp: 1494 (WebCore::EventHandler::handleTouchEvent): Rename framePoint to pagePoint, as it seems a clearer name. Also adjust the pagePoint to be relative to the touch target element's containing frame rather than the main frame. 1495 * platform/PlatformTouchEvent.h: Rename Android specific constructor parameter to better reflect it's contents. 1496 * platform/PlatformTouchPoint.h: Ditto. 1497 * platform/android/PlatformTouchEventAndroid.cpp: Ditto. 1498 * platform/android/PlatformTouchPointAndroid.cpp: Ditto. 1499 1500 2010-01-28 Yury Semikhatsky <yurys (a] chromium.org> 1501 1502 Reviewed by Pavel Feldman. 1503 1504 Simplify isActivation method. 1505 1506 https://bugs.webkit.org/show_bug.cgi?id=34161 1507 1508 Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html 1509 1510 * bindings/js/JSInjectedScriptHostCustom.cpp: 1511 (WebCore::JSInjectedScriptHost::isActivation): 1512 1513 2010-01-27 Kent Tamura <tkent (a] chromium.org> 1514 1515 Reviewed by Darin Adler. 1516 1517 rangeOverflow/rangeUnderflow support for type=date 1518 https://bugs.webkit.org/show_bug.cgi?id=34209 1519 1520 Add DATE type support to rangeUnderflow(), rangeOverflow(), 1521 minimum(), and maximum() of HTMLInputElement. 1522 In order to unify parsing code for value, min, and max strings, 1523 introduce parseToDouble() function and it is called by 1524 valueAsDate() and valueAsNumber() too. 1525 1526 Tests: fast/forms/ValidityState-rangeOverflow-date.html 1527 fast/forms/ValidityState-rangeUnderflow-date.html 1528 1529 * html/HTMLInputElement.cpp: 1530 (WebCore::HTMLInputElement::rangeUnderflow): Support DATE type, and use parseToDouble(). 1531 (WebCore::HTMLInputElement::rangeOverflow): ditto. 1532 (WebCore::HTMLInputElement::minimum): ditto. 1533 (WebCore::HTMLInputElement::maximum): ditto. 1534 (WebCore::HTMLInputElement::doubleValueFor): Added. 1535 (WebCore::HTMLInputElement::valueAsDate): Use parseToDouble(). 1536 (WebCore::HTMLInputElement::valueAsNumber): Use parseToDouble(). 1537 * html/HTMLInputElement.h: Declare parseToDouble(). 1538 1539 2010-01-27 Darin Fisher <darin (a] chromium.org> 1540 1541 Fix chromium build bustage (take 2). 1542 1543 * bindings/scripts/CodeGeneratorV8.pm: Really treat V8CustomGetter like CustomGetter in all cases. 1544 1545 2010-01-27 Darin Fisher <darin (a] chromium.org> 1546 1547 Fix chromium build bustage. 1548 1549 * bindings/scripts/CodeGeneratorV8.pm: Treat V8CustomGetter like CustomGetter in all cases. 1550 1551 2010-01-27 Oliver Hunt <oliver (a] apple.com> 1552 1553 Reviewed by Maciej Stachowiak. 1554 1555 MessageEvent.data should deserialize in the context of the MessageEvent's global object 1556 https://bugs.webkit.org/show_bug.cgi?id=34227 1557 1558 Make ScriptValue deserialisation support the provision of a specific global 1559 object to use when creating new objects. This then allows us to make 1560 MessageEvent.data and PopStateEvent.state deserialize in the correct 1561 context. 1562 1563 Test: fast/dom/Window/window-postmessage-clone-frames.html 1564 1565 * bindings/js/JSPopStateEventCustom.cpp: 1566 Remove custom implementation of state getter 1567 * bindings/js/SerializedScriptValue.cpp: 1568 (WebCore::DeserializingTreeWalker::DeserializingTreeWalker): 1569 (WebCore::DeserializingTreeWalker::createOutputArray): 1570 (WebCore::DeserializingTreeWalker::createOutputObject): 1571 (WebCore::DeserializingTreeWalker::convertIfTerminal): 1572 (WebCore::SerializedScriptValueData::deserialize): 1573 (WebCore::SerializedScriptValue::deserialize): 1574 * bindings/js/SerializedScriptValue.h: 1575 (WebCore::SerializedScriptValue::deserialize): 1576 * bindings/scripts/CodeGeneratorJS.pm: 1577 Update bindings generation to pass the correct global object, and to 1578 treat "any" as synonymous with SerializedValue. 1579 * dom/PopStateEvent.idl: 1580 1581 2010-01-27 Nicholas Young <nicholas.young (a] nokia.com> 1582 1583 Reviewed by Eric Carlson. 1584 1585 Make media controls fade in/out transition duration configurable on a theme level. 1586 https://bugs.webkit.org/show_bug.cgi?id=34196 1587 1588 No new tests needed (I hope). 1589 1590 * rendering/RenderMedia.cpp: 1591 (WebCore::RenderMedia::RenderMedia): Removed constant from contructor - the initial value is meaningless. 1592 (WebCore::RenderMedia::updateControlVisibility): Get fade in/out duration from theme. 1593 * rendering/RenderTheme.h: 1594 (WebCore::RenderTheme::mediaControlsFadeInDuration): New virtual method. 1595 (WebCore::RenderTheme::mediaControlsFadeOutDuration): New virtual method. 1596 1597 2010-01-27 John Abd-El-Malek <jam (a] chromium.org> 1598 1599 Reviewed by Dimitri Glazkov. 1600 1601 Tests that when a page removes an iframe that sleeps in its unload handler and 1602 terminates its JS execution, the outer page's JS continues running. 1603 1604 https://bugs.webkit.org/show_bug.cgi?id=34226 1605 1606 Tests: fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html 1607 fast/dom/Window/slow-unload-handler.html 1608 1609 * bindings/v8/DateExtension.cpp: 1610 (WebCore::DateExtension::OnSleepDetected): 1611 1612 2010-01-27 Kent Tamura <tkent (a] chromium.org> 1613 1614 Reviewed by Darin Adler. 1615 1616 Add valueAsNumber support for type=datetime-local. 1617 https://bugs.webkit.org/show_bug.cgi?id=34200 1618 1619 Implement necessary methods of ISODateTime, and call them from 1620 HTMLInputElement. 1621 1622 Test: fast/forms/input-valueasnumber-datetimelocal.html 1623 1624 * html/HTMLInputElement.cpp: 1625 (WebCore::HTMLInputElement::valueAsNumber): 1626 (WebCore::HTMLInputElement::setValueAsNumber): 1627 * html/ISODateTime.cpp: 1628 (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTimeLocal): 1629 Implemented. Just call setMillisecondsSinceEpochForDateTime(). 1630 (WebCore::ISODateTime::millisecondsSinceEpochForTime): 1631 Accept to be called for m_type=DateTimeLocal. 1632 (WebCore::ISODateTime::toString): Add DateTimeLocal support. 1633 * html/ISODateTime.h: Declare new methods. 1634 1635 2010-01-27 Steve Falkenburg <sfalken (a] apple.com> 1636 1637 Windows Debug_All build fix. 1638 1639 * platform/graphics/win/WKCACFLayer.cpp: 1640 * platform/graphics/win/WKCACFLayerRenderer.cpp: 1641 1642 2010-01-27 Evan Martin <evan (a] chromium.org> 1643 1644 Reviewed by David Levin. 1645 1646 [chromium] complex text draws newlines as bells 1647 https://bugs.webkit.org/show_bug.cgi?id=34186 1648 1649 Revert r45496 -- once we've got a glyph array, it is too late to normalize 1650 because we could have had multiple codepoints combine into one glyph. The 1651 Uniscribe code it mentions it's duplicating uses the log cluster map to fix 1652 this. 1653 1654 Instead, we just normalize the input text if it contains any non-ascii-space 1655 whitespace. 1656 1657 This fixes fast/text/international/hindi-whitespace, which currently has an 1658 incorrect baseline containing a square box glyph. 1659 1660 * platform/graphics/chromium/FontLinux.cpp: 1661 (WebCore::TextRunWalker::getTextRun): 1662 (WebCore::TextRunWalker::getNormalizedTextRun): 1663 * platform/graphics/chromium/HarfbuzzSkia.cpp: 1664 (WebCore::stringToGlyphs): 1665 1666 2010-01-27 Alexey Proskuryakov <ap (a] apple.com> 1667 1668 Reviewed by Darin Adler. 1669 1670 https://bugs.webkit.org/show_bug.cgi?id=34150 1671 WebKit needs a mechanism to catch stale HashMap entries 1672 1673 * css/CSSStyleSelector.cpp: 1674 (WebCore::CSSRuleSet::getIDRules): 1675 (WebCore::CSSRuleSet::getClassRules): 1676 (WebCore::CSSRuleSet::getTagRules): 1677 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 1678 * dom/CheckedRadioButtons.cpp: 1679 (WebCore::CheckedRadioButtons::checkedButtonForGroup): 1680 (WebCore::CheckedRadioButtons::removeButton): 1681 * editing/markup.cpp: 1682 (WebCore::shouldAddNamespaceAttr): 1683 (WebCore::appendNamespace): 1684 (WebCore::appendStartMarkup): 1685 * html/HTMLCollection.cpp: 1686 (WebCore::HTMLCollection::namedItems): 1687 (WebCore::HTMLCollection::nextNamedItem): 1688 * html/HTMLFormCollection.cpp: 1689 (WebCore::HTMLFormCollection::formCollectionInfo): 1690 * html/HTMLSelectElement.h: 1691 (WebCore::HTMLSelectElement::collectionInfo): 1692 * loader/loader.cpp: 1693 (WebCore::Loader::load): 1694 (WebCore::Loader::servePendingRequests): 1695 (WebCore::Loader::nonCacheRequestInFlight): 1696 (WebCore::Loader::nonCacheRequestComplete): 1697 (WebCore::Loader::cancelRequests): 1698 * page/animation/CompositeAnimation.cpp: 1699 (WebCore::CompositeAnimation::clearRenderer): 1700 (WebCore::CompositeAnimation::updateKeyframeAnimations): 1701 (WebCore::CompositeAnimation::animate): 1702 (WebCore::CompositeAnimation::getAnimatedStyle): 1703 (WebCore::CompositeAnimation::setAnimating): 1704 (WebCore::CompositeAnimation::timeToNextService): 1705 (WebCore::CompositeAnimation::getAnimationForProperty): 1706 (WebCore::CompositeAnimation::suspendAnimations): 1707 (WebCore::CompositeAnimation::resumeAnimations): 1708 (WebCore::CompositeAnimation::isAnimatingProperty): 1709 (WebCore::CompositeAnimation::pauseAnimationAtTime): 1710 (WebCore::CompositeAnimation::numberOfActiveAnimations): 1711 Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys. 1712 1713 * dom/Document.cpp: 1714 (WebCore::Document::removedLastRef): Clear m_elementsById map, because removeAllChildren() 1715 doesn't always update it correctly when called during docuemnt destruction. 1716 (WebCore::Document::getElementById): Added checkConsistency(). 1717 (WebCore::Document::removeElementById): Ditto. 1718 (WebCore::Document::removeImageMap): Ditto. 1719 (WebCore::Document::getImageMap): Ditto. 1720 (WebCore::Document::nameCollectionInfo): Ditto. 1721 * dom/Document.h: 1722 (WebCore::Document::collectionInfo): Ditto. 1723 1724 * html/CollectionCache.cpp: 1725 (WebCore::CollectionCache::checkConsistency): 1726 * html/CollectionCache.h: 1727 Added a checkConsistency() method that checks both HashMaps in the cache. 1728 1729 * platform/TreeShared.h: 1730 (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be 1731 destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check. 1732 (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative. 1733 1734 2010-01-27 Brian Tarricone <brian (a] kakai.com> 1735 1736 Reviewed by Gustavo Noronha Silva. 1737 1738 [gtk] Add support for windowless NPAPI plugins 1739 1740 Much of this is a translation of how the Qt backend does this, 1741 modified for Gtk. 1742 1743 https://bugs.webkit.org/show_bug.cgi?id=18831 1744 1745 No new tests; there is already a windowless test in the tree. 1746 1747 * plugins/PluginView.cpp: 1748 (WebCore::PluginView::handleEvent): 1749 (WebCore::PluginView::PluginView): 1750 * plugins/PluginView.h: 1751 * plugins/gtk/PluginViewGtk.cpp: 1752 (WebCore::getRootWindow): 1753 (WebCore::PluginView::updatePluginWidget): 1754 (WebCore::PluginView::paint): 1755 (WebCore::PluginView::handleKeyboardEvent): 1756 (WebCore::inputEventState): 1757 (WebCore::PluginView::initXEvent): 1758 (WebCore::setXButtonEventSpecificFields): 1759 (WebCore::setXMotionEventSpecificFields): 1760 (WebCore::setXCrossingEventSpecificFields): 1761 (WebCore::PluginView::handleMouseEvent): 1762 (WebCore::PluginView::handleFocusInEvent): 1763 (WebCore::PluginView::handleFocusOutEvent): 1764 (WebCore::PluginView::setNPWindowRect): 1765 (WebCore::PluginView::setNPWindowIfNeeded): 1766 (WebCore::PluginView::getValueStatic): 1767 (WebCore::PluginView::invalidateRect): 1768 (WebCore::getPluginDisplay): 1769 (WebCore::plug_removed_cb): 1770 (WebCore::getVisualAndColormap): 1771 (WebCore::PluginView::platformStart): 1772 (WebCore::PluginView::platformDestroy): 1773 1774 2010-01-27 Anton Muhin <antonm (a] chromium.org> 1775 1776 Reviewed by David Levin. 1777 1778 [v8] minor cosmetic fix in V8 bindings codegenerator 1779 https://bugs.webkit.org/show_bug.cgi?id=34224 1780 1781 * bindings/scripts/CodeGeneratorV8.pm: 1782 1783 2010-01-27 Darin Fisher <darin (a] chromium.org> 1784 1785 Fix Chromium build bustage. 1786 1787 * rendering/RenderBoxModelObject.cpp: Add wtf/CurrentTime.h include. 1788 1789 2010-01-26 Darin Fisher <darin (a] chromium.org> 1790 1791 Reviewed by Brady Eidson and David Levin. 1792 1793 Chains of history items representing same-document navigation need to 1794 always remember that association 1795 1796 https://bugs.webkit.org/show_bug.cgi?id=33224 1797 1798 Replace HistoryItem's Document pointer with a DocumentSequenceNumber. 1799 During session history traversal, if the current HistoryItem and the 1800 target HistoryItem have the same DocumentSequenceNumber, then it means 1801 that the current Document should remain. 1802 1803 NOTE: To support Chromium's serialization of HistoryItems, I generate 1804 DocumentSequenceNumbers that are unique across application launches. 1805 DocumentSequenceNumbers are generated using a counter initialized with 1806 the time of day. 1807 1808 Test: fast/loader/stateobjects/document-destroyed-navigate-back.html 1809 1810 * dom/Document.cpp: 1811 (WebCore::Document::detach): 1812 * dom/Document.h: 1813 * history/BackForwardList.cpp: 1814 (WebCore::BackForwardList::pushStateItem): 1815 * history/BackForwardListChromium.cpp: 1816 (WebCore::BackForwardList::pushStateItem): 1817 * history/HistoryItem.cpp: 1818 (WebCore::generateDocumentSequenceNumber): 1819 (WebCore::HistoryItem::HistoryItem): 1820 (WebCore::HistoryItem::~HistoryItem): 1821 (WebCore::HistoryItem::setStateObject): 1822 * history/HistoryItem.h: 1823 (WebCore::HistoryItem::setDocumentSequenceNumber): 1824 (WebCore::HistoryItem::documentSequenceNumber): 1825 * loader/FrameLoader.cpp: 1826 (WebCore::FrameLoader::navigateWithinDocument): 1827 (WebCore::FrameLoader::loadItem): 1828 * loader/HistoryController.cpp: 1829 (WebCore::HistoryController::updateBackForwardListForFragmentScroll): 1830 (WebCore::HistoryController::pushState): 1831 (WebCore::HistoryController::replaceState): 1832 * loader/RedirectScheduler.cpp: 1833 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 1834 * page/History.cpp: 1835 (WebCore::History::stateObjectAdded): 1836 * page/Page.cpp: 1837 (WebCore::Page::goToItem): 1838 1839 2010-01-27 Oliver Hunt <oliver (a] apple.com> 1840 1841 Reviewed by Simon Fraser. 1842 1843 Animated scaling of background-image is too slow 1844 https://bugs.webkit.org/show_bug.cgi?id=33808 1845 1846 Implement a version of the RenderImage animated scaling optimisation 1847 for background images. Due to the possibility of arbitrary transforms 1848 being applied to containing elements we explicitly check the current 1849 CTM of the context for scaling or rotation. 1850 1851 * platform/graphics/GraphicsContext.cpp: 1852 (WebCore::GraphicsContext::drawTiledImage): 1853 * platform/graphics/GraphicsContext.h: 1854 * platform/graphics/transforms/TransformationMatrix.h: 1855 (WebCore::TransformationMatrix::isIdentityOrTranslation): 1856 * rendering/RenderBoxModelObject.cpp: 1857 (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData): 1858 (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData): 1859 (WebCore::RenderBoxModelScaleData::size): 1860 (WebCore::RenderBoxModelScaleData::time): 1861 (WebCore::RenderBoxModelScaleData::useLowQualityScale): 1862 (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer): 1863 (WebCore::RenderBoxModelScaleData::setSize): 1864 (WebCore::RenderBoxModelScaleData::setTime): 1865 (WebCore::RenderBoxModelScaleData::setUseLowQualityScale): 1866 (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed): 1867 (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired): 1868 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 1869 (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired): 1870 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 1871 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 1872 * rendering/RenderBoxModelObject.h: 1873 1874 2010-01-27 Yael Aharon <yael.aharon (a] nokia.com> 1875 1876 Reviewed by Laszlo Gombos. 1877 1878 [Qt] Enable websockets support in QtWebKit 1879 https://bugs.webkit.org/show_bug.cgi?id=34180 1880 1881 Connected between SocketStreamHandle and QTcpSocket/QSslSocket 1882 to enable support for websockets. 1883 Proxy authentication is not yet supported. 1884 SSL certificate errors are ignored while this is under development. 1885 1886 * WebCore.pro: 1887 * platform/network/qt/SocketStreamHandle.h: 1888 * platform/network/qt/SocketStreamHandlePrivate.h: Added. 1889 * platform/network/qt/SocketStreamHandleQt.cpp: 1890 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): 1891 (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate): 1892 (WebCore::SocketStreamHandlePrivate::socketConnected): 1893 (WebCore::SocketStreamHandlePrivate::socketReadyRead): 1894 (WebCore::SocketStreamHandlePrivate::send): 1895 (WebCore::SocketStreamHandlePrivate::close): 1896 (WebCore::SocketStreamHandlePrivate::socketSentdata): 1897 (WebCore::SocketStreamHandlePrivate::socketClosed): 1898 (WebCore::SocketStreamHandlePrivate::socketError): 1899 (WebCore::SocketStreamHandlePrivate::socketClosedCallback): 1900 (WebCore::SocketStreamHandlePrivate::socketErrorCallback): 1901 (WebCore::SocketStreamHandlePrivate::socketSslErrors): 1902 (WebCore::SocketStreamHandle::SocketStreamHandle): 1903 (WebCore::SocketStreamHandle::~SocketStreamHandle): 1904 (WebCore::SocketStreamHandle::platformSend): 1905 (WebCore::SocketStreamHandle::platformClose): 1906 1907 2010-01-27 Mads Ager <ager (a] chromium.org> 1908 1909 Reviewed by Dimitri Glazkov. 1910 1911 [V8] Support getting integer-named properties using indexing notation on document object 1912 https://bugs.webkit.org/show_bug.cgi?id=34211 1913 1914 Add indexed property getter to HTMLDocument to support getting 1915 elements with integer names using indexing notation on document. 1916 1917 Test: fast/dom/HTMLDocument/get-iframe-with-integer-name.html 1918 1919 * bindings/scripts/CodeGeneratorV8.pm: 1920 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 1921 (WebCore::V8HTMLDocument::indexedPropertyGetter): 1922 1923 2010-01-27 Yury Semikhatsky <yurys (a] chromium.org> 1924 1925 Reviewed by Oliver Hunt. 1926 1927 Instead of relying on Object.prototype.toString result use JSObject::isActivationObject 1928 to check if a scope node is a JSActivation. Object.prototype.toString for JSActivation 1929 will call JSActivation::toThisObject whose result depends on the current call stack. 1930 1931 https://bugs.webkit.org/show_bug.cgi?id=34161 1932 1933 Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html 1934 1935 * bindings/js/JSInjectedScriptHostCustom.cpp: 1936 (WebCore::JSInjectedScriptHost::isActivation): 1937 * inspector/InjectedScriptHost.idl: 1938 * inspector/front-end/InjectedScript.js: 1939 (injectedScriptConstructor.): 1940 * manual-tests/inspector/debugger-scopes-inspection.html: Added. 1941 1942 2010-01-27 Anton Muhin <antonm (a] google.com> 1943 Review by Adam Barth. 1944 1945 Implement Node map in intrusive way for better speed. 1946 https://bugs.webkit.org/show_bug.cgi?id=33957 1947 1948 * bindings/v8/DOMData.h: 1949 (WebCore::DOMData::removeObjectsFromWrapperMap): 1950 * bindings/v8/DOMDataStore.cpp: 1951 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::get): 1952 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::set): 1953 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent): 1954 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::contains): 1955 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit): 1956 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear): 1957 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::allocateTableEntry): 1958 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::freeTableEntry): 1959 * bindings/v8/DOMDataStore.h: 1960 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap): 1961 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntry): 1962 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntries): 1963 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visitEntries): 1964 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::TableChunk::TableChunk): 1965 (WebCore::DOMDataStore::domNodeMap): 1966 * bindings/v8/StaticDOMDataStore.cpp: 1967 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 1968 * bindings/v8/StaticDOMDataStore.h: 1969 * bindings/v8/V8DOMMap.cpp: 1970 (WebCore::getDOMNodeMap): 1971 * bindings/v8/V8DOMMap.h: 1972 (WebCore::AbstractWeakReferenceMap::AbstractWeakReferenceMap): 1973 (WebCore::AbstractWeakReferenceMap::weakReferenceCallback): 1974 (WebCore::WeakReferenceMap::WeakReferenceMap): 1975 (WebCore::WeakReferenceMap::set): 1976 (WebCore::WeakReferenceMap::visit): 1977 * bindings/v8/V8DOMWrapper.cpp: 1978 (WebCore::V8DOMWrapper::convertDocumentToV8Object): 1979 (WebCore::getWrapper): 1980 (WebCore::V8DOMWrapper::convertNodeToV8Object): 1981 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 1982 * bindings/v8/V8DOMWrapper.h: 1983 1984 2010-01-27 Kinuko Yasuda <kinuko (a] chromium.org> 1985 1986 Reviewed by Eric Seidel. 1987 1988 Add key event mappings for numpad keys for Gtk and Chromium/Gtk. 1989 http://bugs.webkit.org/show_bug.cgi?id=28247 1990 1991 Test: fast/events/keydown-numpad-keys.html 1992 1993 * platform/chromium/KeyCodeConversionGtk.cpp: 1994 (WebCore::windowsKeyCodeForKeyEvent): 1995 * platform/gtk/KeyEventGtk.cpp: 1996 (WebCore::windowsKeyCodeForKeyEvent): 1997 1998 2010-01-27 Pavel Feldman <pfeldman (a] chromium.org> 1999 2000 Reviewed by Timothy Hatcher. 2001 2002 Web Inspector: migrate from SourceFrame to SourceFrame2. 2003 2004 https://bugs.webkit.org/show_bug.cgi?id=34171 2005 2006 * WebCore.gypi: 2007 * WebCore.vcproj/WebCore.vcproj: 2008 * bindings/js/JSInspectorFrontendHostCustom.cpp: 2009 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 2010 * inspector/InspectorFrontendHost.cpp: 2011 * inspector/InspectorFrontendHost.h: 2012 * inspector/InspectorFrontendHost.idl: 2013 * inspector/front-end/InspectorBackendStub.js: 2014 * inspector/front-end/InspectorFrontendHostStub.js: 2015 * inspector/front-end/ResourceView.js: 2016 (WebInspector.ResourceView.prototype._innerSelectContentTab): 2017 * inspector/front-end/ResourcesPanel.js: 2018 (WebInspector.getResourceContent): 2019 * inspector/front-end/ScriptView.js: 2020 (WebInspector.ScriptView): 2021 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): 2022 * inspector/front-end/ScriptsPanel.js: 2023 (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag): 2024 * inspector/front-end/SourceFrame.js: 2025 (WebInspector.SourceFrame): 2026 (WebInspector.SourceFrame.prototype.set executionLine): 2027 (WebInspector.SourceFrame.prototype.revealLine): 2028 (WebInspector.SourceFrame.prototype.addBreakpoint): 2029 (WebInspector.SourceFrame.prototype.removeBreakpoint): 2030 (WebInspector.SourceFrame.prototype.addMessage): 2031 (WebInspector.SourceFrame.prototype.clearMessages): 2032 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): 2033 (WebInspector.SourceFrame.prototype.setContent): 2034 (WebInspector.SourceFrame.prototype.findSearchMatches): 2035 (WebInspector.SourceFrame.prototype._collectRegexMatches): 2036 (WebInspector.SourceFrame.prototype.setSelection): 2037 (WebInspector.SourceFrame.prototype._incrementMessageRepeatCount): 2038 (WebInspector.SourceFrame.prototype._addExistingMessagesToSource): 2039 (WebInspector.SourceFrame.prototype._addMessageToSource): 2040 (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource): 2041 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 2042 (WebInspector.SourceFrame.prototype._removeBreakpointFromSource): 2043 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 2044 (WebInspector.SourceFrame.prototype._contextMenu): 2045 (WebInspector.SourceFrame.prototype._toggleBreakpoint): 2046 (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed): 2047 (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed): 2048 (WebInspector.SourceFrame.prototype._editBreakpointCondition): 2049 (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup): 2050 (WebInspector.SourceFrame.prototype._createConditionElement): 2051 (WebInspector.SourceFrame.prototype._keyDown): 2052 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 2053 (WebInspector.SourceFrame.prototype._breakpointChanged): 2054 (WebInspector.SourceFrame.prototype.resize): 2055 (WebInspector.BreakpointLineNumberDecorator): 2056 (WebInspector.BreakpointLineNumberDecorator.prototype.decorate): 2057 (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint): 2058 (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter): 2059 (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown): 2060 (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu): 2061 (WebInspector.ExecutionLineDecorator): 2062 (WebInspector.ExecutionLineDecorator.prototype.decorate): 2063 * inspector/front-end/SourceFrame2.js: Removed. 2064 * inspector/front-end/SourceView.js: 2065 (WebInspector.SourceView): 2066 (WebInspector.SourceView.prototype.show): 2067 (WebInspector.SourceView.prototype.resize): 2068 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): 2069 (WebInspector.SourceView.prototype._contentLoaded): 2070 (WebInspector.SourceView.prototype.performSearch.findSearchMatches): 2071 (WebInspector.SourceView.prototype.performSearch): 2072 (WebInspector.SourceView.prototype._jumpToSearchResult): 2073 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): 2074 * inspector/front-end/TextEditor.js: 2075 (WebInspector.TextEditor.prototype._mouseDown): 2076 (WebInspector.TextEditor.prototype._copy.delayCopy): 2077 (WebInspector.TextEditor.prototype._copy): 2078 (WebInspector.TextEditor.prototype._cut): 2079 * inspector/front-end/WebKit.qrc: 2080 * inspector/front-end/inspector.html: 2081 2082 2010-01-27 Dominik Rttsches <dominik.roettsches (a] access-company.com> 2083 2084 Reviewed by Xan Lopez. 2085 2086 [Gtk] For removing ICU, implement IDN support by means of libidn 2087 https://bugs.webkit.org/show_bug.cgi?id=31470 2088 2089 In order to avoid a new dependency, 2090 IDN support now based on GLib for the GLib unicode backend. 2091 2092 * platform/KURL.cpp: 2093 (WebCore::appendEncodedHostname): 2094 2095 2010-01-27 Simon Hausmann <simon.hausmann (a] nokia.com> 2096 2097 Reviewed by Kenneth Rohde Christiansen. 2098 2099 [Qt] For package builds use the .def files on Symbian 2100 2101 * WebCore.pro: 2102 2103 2010-01-27 Alexander Pavlov <apavlov (a] chromium.org> 2104 2105 Reviewed by Timothy Hatcher. 2106 2107 Avoid watch expressions duplication 2108 https://bugs.webkit.org/show_bug.cgi?id=33996 2109 2110 * inspector/front-end/WatchExpressionsSidebarPane.js: 2111 (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded): 2112 2113 2010-01-27 Marcus Bulach <bulach (a] chromium.org> 2114 2115 Reviewed by Dimitri Glazkov. 2116 2117 Adds EventSource bindings for V8 2118 https://bugs.webkit.org/show_bug.cgi?id=33695 2119 2120 No new tests (existing layout tests for EventSource should pass). 2121 2122 * Android.v8bindings.mk: 2123 * WebCore.gypi: 2124 * bindings/scripts/CodeGeneratorV8.pm: 2125 * bindings/v8/DOMObjectsInclude.h: 2126 * bindings/v8/DerivedSourcesAllInOne.cpp: 2127 * bindings/v8/V8DOMWrapper.cpp: 2128 * bindings/v8/V8DOMWrapper.h: 2129 * bindings/v8/V8Index.cpp: 2130 * bindings/v8/V8Index.h: 2131 * bindings/v8/WorkerContextExecutionProxy.cpp: 2132 * bindings/v8/custom/V8CustomBinding.h: 2133 * bindings/v8/custom/V8EventSourceConstructor.cpp: Added. 2134 * bindings/v8/custom/V8EventSourceCustom.cpp: Added. 2135 2136 2010-01-27 Kent Hansen <kent.hansen (a] nokia.com> 2137 2138 Reviewed by Simon Hausmann. 2139 2140 [Qt] Meta-methods can't be introspected using ES5 API 2141 https://bugs.webkit.org/show_bug.cgi?id=34087 2142 2143 Add getOwnPropertyDescriptor() and getOwnPropertyNames() reimplementations. 2144 2145 Tests are in WebKit/qt/tests/qwebframe 2146 2147 * bridge/qt/qt_runtime.cpp: 2148 (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor): 2149 (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames): 2150 (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor): 2151 (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames): 2152 * bridge/qt/qt_runtime.h: 2153 2154 2010-01-27 Tony Chang <tony (a] chromium.org> 2155 2156 Reviewed by Eric Seidel. 2157 2158 Fix a crash when trying to indent a block element that was contained 2159 in a list. This was happening because enclosingBlock() in 2160 htmlediting.cpp can return the current the same Node when a block 2161 element (like an <hr> or a <table>) is passed in. This causes 2162 the indent command to think that it is not in a list item. 2163 2164 Work around this by checking to see if enclosingBlock returned the 2165 same Node. 2166 2167 https://bugs.webkit.org/show_bug.cgi?id=32390 2168 2169 Test: editing/execCommand/indent-block-in-list.html 2170 2171 * editing/IndentOutdentCommand.cpp: 2172 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): 2173 2174 2010-01-27 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 2175 2176 Reviewed by Tor Arne Vestb. 2177 2178 [Qt] Add the "d" suffix to QtWebKit's dll on Windows. 2179 2180 * WebCore.pro: 2181 2182 2010-01-27 Matt Perry <mpcomplete (a] chromium.org> 2183 2184 Reviewed by Eric Seidel. 2185 2186 Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents. 2187 https://bugs.webkit.org/show_bug.cgi?id=33920 2188 2189 Tests: userscripts/script-not-run-for-fragments.html 2190 userscripts/script-run-at-start.html 2191 2192 * dom/XMLTokenizerLibxml2.cpp: 2193 (WebCore::XMLTokenizer::startElementNs): 2194 2195 2010-01-27 Pavel Feldman <pfeldman (a] chromium.org> 2196 2197 Reviewed by Timothy Hatcher. 2198 2199 Web Inspector: Improve SourceHTMLTokenizer so that it treats script tag well. 2200 2201 https://bugs.webkit.org/show_bug.cgi?id=34177 2202 2203 * inspector/front-end/SourceHTMLTokenizer.js: 2204 (WebInspector.SourceHTMLTokenizer): 2205 (WebInspector.SourceHTMLTokenizer.prototype._isAttribute): 2206 (WebInspector.SourceHTMLTokenizer.prototype._isAttributeValue): 2207 (WebInspector.SourceHTMLTokenizer.prototype._setAttributeValue): 2208 (WebInspector.SourceHTMLTokenizer.prototype._setAttribute): 2209 (WebInspector.SourceHTMLTokenizer.prototype._stringToken): 2210 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 2211 * inspector/front-end/SourceHTMLTokenizer.re2js: 2212 2213 2010-01-26 Pavel Feldman <pfeldman (a] chromium.org> 2214 2215 Reviewed by Timothy Hatcher. 2216 2217 Web Inspector: nuke quarantine wrappers. 2218 2219 https://bugs.webkit.org/show_bug.cgi?id=34203 2220 2221 * Android.jscbindings.mk: 2222 * GNUmakefile.am: 2223 * WebCore.gypi: 2224 * WebCore.pro: 2225 * WebCore.vcproj/WebCore.vcproj: 2226 * bindings/js/JSBindingsAllInOne.cpp: 2227 * bindings/js/JSInspectedObjectWrapper.cpp: Removed. 2228 * bindings/js/JSInspectedObjectWrapper.h: Removed. 2229 * bindings/js/JSInspectorCallbackWrapper.cpp: Removed. 2230 * bindings/js/JSInspectorCallbackWrapper.h: Removed. 2231 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed. 2232 * bindings/js/JSQuarantinedObjectWrapper.h: Removed. 2233 2234 2010-01-27 Alexey Proskuryakov <ap (a] apple.com> 2235 2236 Revert r53899 (HashMap<AtomicStringImpl*, Value> key checks) and subsequent build fixes, 2237 because they make SVG tests crash in release builds. 2238 2239 * css/CSSStyleSelector.cpp: 2240 (WebCore::CSSRuleSet::getIDRules): 2241 (WebCore::CSSRuleSet::getClassRules): 2242 (WebCore::CSSRuleSet::getTagRules): 2243 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 2244 * dom/CheckedRadioButtons.cpp: 2245 (WebCore::CheckedRadioButtons::checkedButtonForGroup): 2246 (WebCore::CheckedRadioButtons::removeButton): 2247 * dom/ContainerNodeAlgorithms.h: 2248 (WebCore::removeAllChildrenInContainer): 2249 * dom/Document.cpp: 2250 (WebCore::Document::getElementById): 2251 (WebCore::Document::removeElementById): 2252 (WebCore::Document::removeImageMap): 2253 (WebCore::Document::getImageMap): 2254 (WebCore::Document::nameCollectionInfo): 2255 * dom/Document.h: 2256 (WebCore::Document::collectionInfo): 2257 * editing/markup.cpp: 2258 (WebCore::shouldAddNamespaceAttr): 2259 (WebCore::appendNamespace): 2260 (WebCore::appendStartMarkup): 2261 * html/CollectionCache.cpp: 2262 * html/CollectionCache.h: 2263 * html/HTMLCollection.cpp: 2264 (WebCore::HTMLCollection::namedItems): 2265 (WebCore::HTMLCollection::nextNamedItem): 2266 * html/HTMLFormCollection.cpp: 2267 (WebCore::HTMLFormCollection::formCollectionInfo): 2268 * html/HTMLSelectElement.h: 2269 (WebCore::HTMLSelectElement::collectionInfo): 2270 * loader/loader.cpp: 2271 (WebCore::Loader::load): 2272 (WebCore::Loader::servePendingRequests): 2273 (WebCore::Loader::nonCacheRequestInFlight): 2274 (WebCore::Loader::nonCacheRequestComplete): 2275 (WebCore::Loader::cancelRequests): 2276 * page/animation/CompositeAnimation.cpp: 2277 (WebCore::CompositeAnimation::clearRenderer): 2278 (WebCore::CompositeAnimation::updateKeyframeAnimations): 2279 (WebCore::CompositeAnimation::animate): 2280 (WebCore::CompositeAnimation::getAnimatedStyle): 2281 (WebCore::CompositeAnimation::setAnimating): 2282 (WebCore::CompositeAnimation::timeToNextService): 2283 (WebCore::CompositeAnimation::getAnimationForProperty): 2284 (WebCore::CompositeAnimation::suspendAnimations): 2285 (WebCore::CompositeAnimation::resumeAnimations): 2286 (WebCore::CompositeAnimation::isAnimatingProperty): 2287 (WebCore::CompositeAnimation::pauseAnimationAtTime): 2288 (WebCore::CompositeAnimation::numberOfActiveAnimations): 2289 * platform/TreeShared.h: 2290 (WebCore::TreeShared::~TreeShared): 2291 (WebCore::TreeShared::deref): 2292 2293 2010-01-25 Philippe Normand <pnormand (a] igalia.com> 2294 2295 Reviewed by Eric Seidel. 2296 2297 autobuffer value not forwarded media element to MediaPlayer 2298 https://bugs.webkit.org/show_bug.cgi?id=33889 2299 2300 * html/HTMLMediaElement.cpp: 2301 (WebCore::HTMLMediaElement::loadResource): Forward autobuffer 2302 value to MediaPlayer instance. 2303 * platform/graphics/MediaPlayer.cpp: 2304 (WebCore::MediaPlayer::load): Forward autobuffer and 2305 preservesPitch values to newly created platform media player instance. 2306 2307 2010-01-25 Philippe Normand <pnormand (a] igalia.com> 2308 2309 Reviewed by Eric Seidel. 2310 2311 [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots 2312 https://bugs.webkit.org/show_bug.cgi?id=34086 2313 2314 Cache media duration and fix didEnd() in case of reverse 2315 playback. When EOS was reached but in case of reverse playback the 2316 position is not always 0. So to not confuse the HTMLMediaElement 2317 we synchronize position and duration values. 2318 2319 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 2320 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 2321 (WebCore::MediaPlayerPrivate::duration): 2322 (WebCore::MediaPlayerPrivate::updateStates): 2323 (WebCore::MediaPlayerPrivate::didEnd): 2324 (WebCore::MediaPlayerPrivate::durationChanged): 2325 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2326 2327 2010-01-27 Alexey Proskuryakov <ap (a] apple.com> 2328 2329 * WebCore.xcodeproj/project.pbxproj: Actually land the change to add ContainerNodeAlgorithms.h 2330 (it's "svn resolved", not "svn revert"!). 2331 2332 2010-01-26 Alexey Proskuryakov <ap (a] apple.com> 2333 2334 Reviewed by Darin Adler. 2335 2336 https://bugs.webkit.org/show_bug.cgi?id=34150 2337 WebKit needs a mechanism to catch stale HashMap entries 2338 2339 * WebCore.xcodeproj/project.pbxproj: Added ContainerNodeAlgorithms.h to the project to make 2340 it easier to search for. 2341 2342 * css/CSSStyleSelector.cpp: 2343 (WebCore::CSSRuleSet::getIDRules): 2344 (WebCore::CSSRuleSet::getClassRules): 2345 (WebCore::CSSRuleSet::getTagRules): 2346 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 2347 * dom/CheckedRadioButtons.cpp: 2348 (WebCore::CheckedRadioButtons::checkedButtonForGroup): 2349 (WebCore::CheckedRadioButtons::removeButton): 2350 * dom/Document.cpp: 2351 (WebCore::Document::getElementById): 2352 (WebCore::Document::removeElementById): 2353 (WebCore::Document::removeImageMap): 2354 (WebCore::Document::getImageMap): 2355 (WebCore::Document::nameCollectionInfo): 2356 * dom/Document.h: 2357 (WebCore::Document::collectionInfo): 2358 * editing/markup.cpp: 2359 (WebCore::shouldAddNamespaceAttr): 2360 (WebCore::appendNamespace): 2361 (WebCore::appendStartMarkup): 2362 * html/HTMLCollection.cpp: 2363 (WebCore::HTMLCollection::namedItems): 2364 (WebCore::HTMLCollection::nextNamedItem): 2365 * html/HTMLFormCollection.cpp: 2366 (WebCore::HTMLFormCollection::formCollectionInfo): 2367 * html/HTMLSelectElement.h: 2368 (WebCore::HTMLSelectElement::collectionInfo): 2369 * loader/loader.cpp: 2370 (WebCore::Loader::load): 2371 (WebCore::Loader::servePendingRequests): 2372 (WebCore::Loader::nonCacheRequestInFlight): 2373 (WebCore::Loader::nonCacheRequestComplete): 2374 (WebCore::Loader::cancelRequests): 2375 * page/animation/CompositeAnimation.cpp: 2376 (WebCore::CompositeAnimation::clearRenderer): 2377 (WebCore::CompositeAnimation::updateKeyframeAnimations): 2378 (WebCore::CompositeAnimation::animate): 2379 (WebCore::CompositeAnimation::getAnimatedStyle): 2380 (WebCore::CompositeAnimation::setAnimating): 2381 (WebCore::CompositeAnimation::timeToNextService): 2382 (WebCore::CompositeAnimation::getAnimationForProperty): 2383 (WebCore::CompositeAnimation::suspendAnimations): 2384 (WebCore::CompositeAnimation::resumeAnimations): 2385 (WebCore::CompositeAnimation::isAnimatingProperty): 2386 (WebCore::CompositeAnimation::pauseAnimationAtTime): 2387 (WebCore::CompositeAnimation::numberOfActiveAnimations): 2388 Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys. 2389 2390 * dom/ContainerNodeAlgorithms.h: (WebCore::removeAllChildrenInContainer): Be sure to notify 2391 about removed child nodes that can be deleted immediately. 2392 2393 * html/CollectionCache.cpp: 2394 (WebCore::CollectionCache::checkConsistency): 2395 * html/CollectionCache.h: 2396 Added a checkConsistency() method that checks both HashMaps in the cache. 2397 2398 * platform/TreeShared.h: 2399 (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be 2400 destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check. 2401 (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative. 2402 2403 2010-01-26 Daniel Bates <dbates (a] webkit.org> 2404 2405 Reviewed by Tor Arne Vestb. 2406 2407 https://bugs.webkit.org/show_bug.cgi?id=29564 2408 2409 [Qt] Fixes an issue where the height of <button>- and 2410 <input type="button">- elements are fixed to the height of the 2411 button label font plus padding. That is, the CSS height property 2412 is being ignored. 2413 2414 Instead, we should honor the user-specified height, if appropriate 2415 for the platform and context. Notice, the Mac ports do not honor the 2416 height for <input type="button"> elements unless a border and/or 2417 background is also specified. 2418 2419 Test: fast/css/button-height.html 2420 2421 * platform/qt/RenderThemeQt.cpp: 2422 (WebCore::RenderThemeQt::adjustButtonStyle): 2423 2424 2010-01-26 Alexander Pavlov <apavlov (a] chromium.org> 2425 2426 Reviewed by Timothy Hatcher. 2427 2428 Enable the Audits panel via a shortcut (Cmd/Ctrl+Alt+A) 2429 https://bugs.webkit.org/show_bug.cgi?id=34158 2430 2431 * inspector/front-end/inspector.js: 2432 (WebInspector.documentKeyDown): 2433 2434 2010-01-26 Kent Tamura <tkent (a] chromium.org> 2435 2436 Reviewed by Darin Adler. 2437 2438 HTMLInputElement::valueAsNumber support except type=datetime-local. 2439 https://bugs.webkit.org/show_bug.cgi?id=32696 2440 2441 Tests: fast/forms/input-valueasnumber-date.html 2442 fast/forms/input-valueasnumber-datetime.html 2443 fast/forms/input-valueasnumber-month.html 2444 fast/forms/input-valueasnumber-number.html 2445 fast/forms/input-valueasnumber-range.html 2446 fast/forms/input-valueasnumber-time.html 2447 fast/forms/input-valueasnumber-unsupported.html 2448 fast/forms/input-valueasnumber-week.html 2449 2450 * html/HTMLInputElement.cpp: 2451 (WebCore::HTMLInputElement::valueAsNumber): 2452 According to the specification, we should return NaN for invalid values. 2453 (WebCore::HTMLInputElement::setValueAsNumber): 2454 According to the specification, throws NOT_SUPPORTED_ERR for Infinitiy or NaN, 2455 and throws INVALID_STATE_ERR for unsupported types. 2456 (WebCore::HTMLInputElement::formStringToDouble): 2457 According to the step 14 of Real Number in the specification, we 2458 should round -0 to 0. 2459 * html/HTMLInputElement.h: Declare valueAsNumber() and setValueAsNumber(). 2460 * html/HTMLInputElement.idl: Add valueAsNumber. 2461 2462 2010-01-26 Dave Hyatt <hyatt (a] apple.com> 2463 2464 Reviewed by Oliver Hunt. 2465 2466 Make sure there is a lock on serialize in SerializedScriptValueData, since type errors can be created when 2467 exceptions are thrown. 2468 2469 * bindings/js/SerializedScriptValue.cpp: 2470 (WebCore::SerializedScriptValueData::serialize): 2471 2472 2010-01-26 Kent Tamura <tkent (a] chromium.org> 2473 2474 Reviewed by Eric Seidel. 2475 2476 Add Date type support for Objective-C binding. 2477 https://bugs.webkit.org/show_bug.cgi?id=32810 2478 2479 The Date type in IDLs is mapped to NSTimeInterval in Objective-C. 2480 2481 * bindings/objc/DOMInternal.h: Add kit() and core() for NSTimeInterval. 2482 * bindings/scripts/CodeGenerator.pm: Make Date a primitive type. 2483 * bindings/scripts/CodeGeneratorJS.pm: Move some code for the CodeGeenrator.pm change. 2484 * bindings/scripts/CodeGeneratorObjC.pm: 2485 * bindings/scripts/CodeGeneratorV8.pm: Move some code for the CodeGeenrator.pm change. 2486 * html/HTMLInputElement.idl: Remove Objective-C exclusion for valueAsDate. 2487 2488 2010-01-26 Dmitry Titov <dimich (a] chromium.org> 2489 2490 Not reviewed, attempt to fix Tiger build. 2491 2492 * rendering/RenderTreeAsText.cpp: 2493 (WebCore::write): Use UNUSED_PARAM macros to prevent compiler warning on targets without accelerated compositing. 2494 2495 2010-01-26 Roland Steiner <rolandsteiner (a] chromium.org> 2496 2497 Reviewed by Darin Adler. 2498 2499 Incorrect boolean expression in isMailBlockquote() (WebCore/htmlediting.cpp) 2500 https://bugs.webkit.org/show_bug.cgi?id=34156 2501 2502 No new tests (minor code change). 2503 2504 * editing/htmlediting.cpp: 2505 (WebCore::isMailBlockquote): 2506 2507 2010-01-26 Peter Kasting <pkasting (a] google.com> 2508 2509 Reviewed by David Levin. 2510 2511 Handle broken images more correctly in the open-source image decoders. 2512 https://bugs.webkit.org/show_bug.cgi?id=33747 2513 2514 No tests since Safari doesn't use these decoders and there's already a 2515 broken-image test in the tree. 2516 2517 * platform/graphics/ImageSource.cpp: 2518 (WebCore::ImageSource::createFrameAtIndex): No need to check isSizeAvailable() since size() is now always safe. 2519 * platform/image-decoders/ImageDecoder.h: 2520 (WebCore::ImageDecoder::size): Don't assert that the bitmap is valid; we don't need a complete successful decode to be able to give info about the size. 2521 * platform/image-decoders/qt/RGBA32BufferQt.cpp: 2522 (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames. 2523 * platform/image-decoders/skia/ImageDecoderSkia.cpp: 2524 (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames. 2525 2526 2010-01-26 Nikolas Zimmermann <nzimmermann (a] rim.com> 2527 2528 Not reviewed. Synchronize Qt/Gtk build systems with Mac/Win, should fix Qt compilation. Gtk results still pending. 2529 2530 * GNUmakefile.am: 2531 * WebCore.pro: 2532 2533 2010-01-26 Nikolas Zimmermann <nzimmermann (a] rim.com> 2534 2535 Not reviewed. Attempt to fix V8 - change SetterMethod function signatures, just like it has been done for JSSVGPODTypeWrapper. 2536 2537 * bindings/v8/V8SVGPODTypeWrapper.h: 2538 2539 2010-01-26 Nikolas Zimmermann <nzimmermann (a] rim.com> 2540 2541 Not reviewed. Revert Base.xcconfig changes, was not meant to be committed. 2542 2543 * Configurations/Base.xcconfig: 2544 2545 2010-01-26 Nikolas Zimmermann <nzimmermann (a] rim.com> 2546 2547 Reviewed by Oliver Hunt. 2548 2549 SVG consumes way too much memory to store animated properties in the DOM 2550 https://bugs.webkit.org/show_bug.cgi?id=34188 2551 2552 Shrink WebCore library size to 75% (measured in debug builds) and reduce SVG memory usage to <25%. 2553 Adding Oliver testcase as manual-tests/svg-node-count-vs-scroll.xhtml, which creates an arbitary number of 2554 rects (50.000 <rect> elements added to the DOM by default) - memory usage down to 111M from 503M (RPRVT). 2555 The SVG DOM side is almost fine, still some optimizations possible, that will be implemented soon - next 2556 target is the SVG render tree, there are plenty of possibilities to reduce memory usage there. 2557 2558 Redesign the way we store animated properties in the individual SVG*Element files. Short story: In order 2559 to support SVG DOM through the bindings (e.g. JS) we need to associate SVGAnimatedProperty objects with 2560 the SVGElement object that created it - we used to store this pointer directly in the SVGAnimatedProperty. 2561 This means, every SVGAnimatedProperty stored in a SVGRectElement, stored a pointer to the SVGRectElement, resulting 2562 in excessive memory usage. This is now properly implemented, without wasting tons of memory. Unfortunately this 2563 requires touching all SVG*Element files. 2564 2565 Detailed list of changes: 2566 - Remove template bloat by not specializing class templates for each attributeName/tagName combination. Instead 2567 SVGAnimatedProperty is a non-specialized template class now, only depending on the AnimatedType (ie. SVGLength for SVGAnimatedLength) 2568 -> This heavily reduces the generated code, thus shrinking WebCore size. I hope we can build windows again without SVGAllInOne.cpp 2569 2570 - Remove "exportStrings" / "exportString" handling from make_names.pl - SVG defined string literals for each QualifiedName, 2571 in order to use template specialization based on "const char*" parameters. All that bloat is gone, so there's no need for it anymore. 2572 2573 - Redesign SVGAnimatedProperty so it does not need any back-pointers to the SVGElement that created it 2574 2575 - Don't actually store the XML DOM attribute name associated with a SVG DOM property in SVGAnimatedProperty, move the associatedAttributeName() 2576 function inside the macro declaration and just return the passed macro parameter DOMAttribute there, storing is inefficient and useless. 2577 2578 - Remove SynchronizablePropertyController, which was living in SVGElement as member variable, keeping a HashMap<AttributeName, SVGAnimatedProperty>. 2579 It was needed before to lookup a SVGAnimatedProperty for a XML DOM attribute, in order to synchronize SVG <-> XML dom properties/attributes. 2580 Instead just add a "synchronizeProperty(const QualifiedName&)" method to all SVG*Element classes. As each SVG*Element class knows about its 2581 animated properties it can just ask them to synchronize themselves - no need for any dynamic lookups anymore. 2582 2583 - Remove SynchronizableTypeWrapper which added more complexity for the sake of SVG <-> XML DOM synchronization, all replaced by synchronizeProperty. 2584 2585 - Pass around any POD objects as const references, instead of copying them for no reason. 2586 2587 - Clean up SVGAnimatedProperty, splitting up into SVGAnimatedProperty/PropertySynchronizer/PropertyTraits. 2588 2589 - Remove baseValue/setBaseValue code from SVGDocumentExtensions, not needed anymore. 2590 2591 ... and tons of changes to all SVG*Element classes, adapting to the new way of handling animated properties. 2592 2593 * GNUmakefile.am: Remove Synchronizable* from build, add new SVGAnimatedPropertySynchronizer/Traits files 2594 * WebCore.gypi: Ditto. 2595 * WebCore.vcproj/WebCore.vcproj: Ditto. 2596 * WebCore.xcodeproj/project.pbxproj: Ditto. 2597 * bindings/js/JSSVGPODTypeWrapper.h: Change synchronization callback signatures, as we pass around const-references now. 2598 * dom/Element.cpp: Let updateAnimatedSVGAttribute take a QualifiedName instead of pure Strings. 2599 (WebCore::Element::getAttribute): 2600 (WebCore::Element::hasAttributes): 2601 * dom/Element.h: 2602 (WebCore::Element::updateAnimatedSVGAttribute): 2603 (WebCore::Element::attributes): 2604 * dom/make_names.pl: Remove SVG specific "exportString" / "exportStrings" functionality, see above. 2605 * html/HTMLAttributeNames.in: Remove "exportString" tag from "className" attribute. 2606 * manual-tests/svg-node-count-vs-scroll.xhtml: Added. Can be used to verify memory consumption with a lot of DOM objects. 2607 * mathml/mathattrs.in: MathML doesn't need "exportStrings" - remove it. 2608 * mathml/mathtags.in: Ditto. 2609 * svg/SVGAElement.cpp: 2610 (WebCore::SVGAElement::SVGAElement): 2611 (WebCore::SVGAElement::synchronizeProperty): 2612 * svg/SVGAElement.h: 2613 * svg/SVGAllInOne.cpp: Remove SynchronizablePropertyController.cpp 2614 * svg/SVGAltGlyphElement.cpp: 2615 (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): 2616 (WebCore::SVGAltGlyphElement::synchronizeProperty): 2617 * svg/SVGAltGlyphElement.h: 2618 * svg/SVGAnimateTransformElement.cpp: 2619 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 2620 * svg/SVGAnimatedProperty.h: Rewritten, see above for details. 2621 (WebCore::SVGAnimatedPropertyTearOff::create): 2622 (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): 2623 (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): 2624 (WebCore::SVGAnimatedPropertyTearOff::baseVal): 2625 (WebCore::SVGAnimatedPropertyTearOff::animVal): 2626 (WebCore::SVGAnimatedPropertyTearOff::associatedAttributeName): 2627 (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): 2628 (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): 2629 (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): 2630 (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): 2631 (WebCore::SVGAnimatedProperty::value): 2632 (WebCore::SVGAnimatedProperty::baseValue): 2633 (WebCore::SVGAnimatedProperty::setValue): 2634 (WebCore::SVGAnimatedProperty::setBaseValue): 2635 (WebCore::SVGAnimatedProperty::shouldSynchronize): 2636 (WebCore::SVGAnimatedProperty::setShouldSynchronize): 2637 * svg/SVGAnimatedPropertySynchronizer.h: Added. 2638 (WebCore::): 2639 * svg/SVGAnimatedPropertyTraits.h: Added. 2640 (WebCore::): 2641 * svg/SVGAnimatedTemplate.h: Move SVGAnimatedPropertyTraits into its own file. 2642 (WebCore::SVGAnimatedTemplate::forgetWrapper): 2643 (WebCore::lookupOrCreateWrapper): 2644 * svg/SVGAnimationElement.cpp: 2645 (WebCore::SVGAnimationElement::SVGAnimationElement): 2646 (WebCore::SVGAnimationElement::synchronizeProperty): 2647 * svg/SVGAnimationElement.h: 2648 * svg/SVGCircleElement.cpp: 2649 (WebCore::SVGCircleElement::SVGCircleElement): 2650 (WebCore::SVGCircleElement::synchronizeProperty): 2651 * svg/SVGCircleElement.h: 2652 * svg/SVGClipPathElement.cpp: 2653 (WebCore::SVGClipPathElement::SVGClipPathElement): 2654 (WebCore::SVGClipPathElement::synchronizeProperty): 2655 * svg/SVGClipPathElement.h: 2656 * svg/SVGComponentTransferFunctionElement.cpp: 2657 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 2658 (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): 2659 (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty): 2660 * svg/SVGComponentTransferFunctionElement.h: 2661 * svg/SVGCursorElement.cpp: 2662 (WebCore::SVGCursorElement::SVGCursorElement): 2663 (WebCore::SVGCursorElement::synchronizeProperty): 2664 * svg/SVGCursorElement.h: 2665 * svg/SVGDefsElement.cpp: 2666 (WebCore::SVGDefsElement::SVGDefsElement): 2667 (WebCore::SVGDefsElement::synchronizeProperty): 2668 * svg/SVGDefsElement.h: 2669 * svg/SVGDocumentExtensions.h: 2670 * svg/SVGElement.cpp: Adapt to synchronization changes: use synchronizeProperty() call, instead of SynchronizablePropertyController. 2671 (WebCore::SVGElement::updateAnimatedSVGAttribute): 2672 * svg/SVGElement.h: Don't store SynchronizablePropertyController anymore, it's gone. 2673 (WebCore::SVGElement::synchronizeProperty): 2674 (WebCore::SVGElement::setSynchronizedSVGAttributes): 2675 * svg/SVGEllipseElement.cpp: 2676 (WebCore::SVGEllipseElement::SVGEllipseElement): 2677 (WebCore::SVGEllipseElement::synchronizeProperty): 2678 * svg/SVGEllipseElement.h: 2679 * svg/SVGExternalResourcesRequired.cpp: 2680 * svg/SVGExternalResourcesRequired.h: 2681 * svg/SVGFEBlendElement.cpp: 2682 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 2683 (WebCore::SVGFEBlendElement::synchronizeProperty): 2684 * svg/SVGFEBlendElement.h: 2685 * svg/SVGFEColorMatrixElement.cpp: 2686 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 2687 (WebCore::SVGFEColorMatrixElement::synchronizeProperty): 2688 * svg/SVGFEColorMatrixElement.h: 2689 * svg/SVGFEComponentTransferElement.cpp: 2690 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): 2691 (WebCore::SVGFEComponentTransferElement::synchronizeProperty): 2692 * svg/SVGFEComponentTransferElement.h: 2693 * svg/SVGFECompositeElement.cpp: 2694 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 2695 (WebCore::SVGFECompositeElement::parseMappedAttribute): 2696 (WebCore::SVGFECompositeElement::synchronizeProperty): 2697 * svg/SVGFECompositeElement.h: 2698 * svg/SVGFEDiffuseLightingElement.cpp: 2699 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 2700 (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty): 2701 * svg/SVGFEDiffuseLightingElement.h: 2702 * svg/SVGFEDisplacementMapElement.cpp: 2703 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 2704 (WebCore::SVGFEDisplacementMapElement::synchronizeProperty): 2705 * svg/SVGFEDisplacementMapElement.h: 2706 * svg/SVGFEGaussianBlurElement.cpp: 2707 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): 2708 (WebCore::SVGFEGaussianBlurElement::synchronizeProperty): 2709 * svg/SVGFEGaussianBlurElement.h: 2710 * svg/SVGFEImageElement.cpp: 2711 (WebCore::SVGFEImageElement::SVGFEImageElement): 2712 (WebCore::SVGFEImageElement::synchronizeProperty): 2713 * svg/SVGFEImageElement.h: 2714 * svg/SVGFELightElement.cpp: 2715 (WebCore::SVGFELightElement::SVGFELightElement): 2716 (WebCore::SVGFELightElement::synchronizeProperty): 2717 * svg/SVGFELightElement.h: 2718 * svg/SVGFEMergeNodeElement.cpp: 2719 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement): 2720 (WebCore::SVGFEMergeNodeElement::synchronizeProperty): 2721 * svg/SVGFEMergeNodeElement.h: 2722 * svg/SVGFEMorphologyElement.cpp: 2723 (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): 2724 (WebCore::SVGFEMorphologyElement::synchronizeProperty): 2725 * svg/SVGFEMorphologyElement.h: 2726 * svg/SVGFEOffsetElement.cpp: 2727 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): 2728 (WebCore::SVGFEOffsetElement::synchronizeProperty): 2729 * svg/SVGFEOffsetElement.h: 2730 * svg/SVGFESpecularLightingElement.cpp: 2731 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 2732 (WebCore::SVGFESpecularLightingElement::synchronizeProperty): 2733 * svg/SVGFESpecularLightingElement.h: 2734 * svg/SVGFETileElement.cpp: 2735 (WebCore::SVGFETileElement::SVGFETileElement): 2736 (WebCore::SVGFETileElement::synchronizeProperty): 2737 * svg/SVGFETileElement.h: 2738 * svg/SVGFETurbulenceElement.cpp: 2739 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 2740 (WebCore::SVGFETurbulenceElement::synchronizeProperty): 2741 * svg/SVGFETurbulenceElement.h: 2742 * svg/SVGFilterElement.cpp: 2743 (WebCore::SVGFilterElement::SVGFilterElement): 2744 (WebCore::SVGFilterElement::synchronizeProperty): 2745 * svg/SVGFilterElement.h: 2746 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 2747 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 2748 (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty): 2749 * svg/SVGFilterPrimitiveStandardAttributes.h: 2750 * svg/SVGFitToViewBox.cpp: 2751 * svg/SVGFitToViewBox.h: 2752 * svg/SVGFontElement.cpp: 2753 (WebCore::SVGFontElement::SVGFontElement): 2754 (WebCore::SVGFontElement::synchronizeProperty): 2755 * svg/SVGFontElement.h: 2756 * svg/SVGForeignObjectElement.cpp: 2757 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 2758 (WebCore::SVGForeignObjectElement::synchronizeProperty): 2759 * svg/SVGForeignObjectElement.h: 2760 * svg/SVGGElement.cpp: 2761 (WebCore::SVGGElement::SVGGElement): 2762 (WebCore::SVGGElement::synchronizeProperty): 2763 * svg/SVGGElement.h: 2764 * svg/SVGGradientElement.cpp: 2765 (WebCore::SVGGradientElement::SVGGradientElement): 2766 (WebCore::SVGGradientElement::synchronizeProperty): 2767 * svg/SVGGradientElement.h: 2768 * svg/SVGImageElement.cpp: 2769 (WebCore::SVGImageElement::SVGImageElement): 2770 (WebCore::SVGImageElement::synchronizeProperty): 2771 * svg/SVGImageElement.h: 2772 * svg/SVGLineElement.cpp: 2773 (WebCore::SVGLineElement::SVGLineElement): 2774 (WebCore::SVGLineElement::synchronizeProperty): 2775 * svg/SVGLineElement.h: 2776 * svg/SVGLinearGradientElement.cpp: 2777 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 2778 (WebCore::SVGLinearGradientElement::synchronizeProperty): 2779 * svg/SVGLinearGradientElement.h: 2780 * svg/SVGList.h: Adapt to const-reference changes. 2781 (WebCore::SVGPODListItem::setValue): 2782 * svg/SVGMPathElement.cpp: 2783 (WebCore::SVGMPathElement::SVGMPathElement): 2784 (WebCore::SVGMPathElement::synchronizeProperty): 2785 * svg/SVGMPathElement.h: 2786 * svg/SVGMarkerElement.cpp: 2787 (WebCore::SVGMarkerElement::SVGMarkerElement): 2788 (WebCore::SVGMarkerElement::synchronizeProperty): 2789 * svg/SVGMarkerElement.h: 2790 * svg/SVGMaskElement.cpp: 2791 (WebCore::SVGMaskElement::SVGMaskElement): 2792 (WebCore::SVGMaskElement::synchronizeProperty): 2793 * svg/SVGMaskElement.h: 2794 * svg/SVGPathElement.cpp: 2795 (WebCore::SVGPathElement::SVGPathElement): 2796 (WebCore::SVGPathElement::synchronizeProperty): 2797 * svg/SVGPathElement.h: 2798 * svg/SVGPatternElement.cpp: 2799 (WebCore::SVGPatternElement::SVGPatternElement): 2800 (WebCore::SVGPatternElement::synchronizeProperty): 2801 * svg/SVGPatternElement.h: 2802 * svg/SVGPolyElement.cpp: 2803 (WebCore::SVGPolyElement::SVGPolyElement): 2804 (WebCore::SVGPolyElement::svgAttributeChanged): 2805 (WebCore::SVGPolyElement::synchronizeProperty): 2806 * svg/SVGPolyElement.h: 2807 * svg/SVGRadialGradientElement.cpp: 2808 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 2809 (WebCore::SVGRadialGradientElement::synchronizeProperty): 2810 * svg/SVGRadialGradientElement.h: 2811 * svg/SVGRectElement.cpp: 2812 (WebCore::SVGRectElement::SVGRectElement): 2813 (WebCore::SVGRectElement::synchronizeProperty): 2814 * svg/SVGRectElement.h: 2815 * svg/SVGSVGElement.cpp: 2816 (WebCore::SVGSVGElement::SVGSVGElement): 2817 (WebCore::SVGSVGElement::synchronizeProperty): 2818 * svg/SVGSVGElement.h: 2819 * svg/SVGScriptElement.cpp: 2820 (WebCore::SVGScriptElement::SVGScriptElement): 2821 (WebCore::SVGScriptElement::synchronizeProperty): 2822 * svg/SVGScriptElement.h: 2823 * svg/SVGStopElement.cpp: 2824 (WebCore::SVGStopElement::SVGStopElement): 2825 (WebCore::SVGStopElement::synchronizeProperty): 2826 * svg/SVGStopElement.h: 2827 * svg/SVGStyledElement.cpp: 2828 (WebCore::SVGStyledElement::SVGStyledElement): 2829 (WebCore::SVGStyledElement::parseMappedAttribute): 2830 (WebCore::SVGStyledElement::synchronizeProperty): 2831 * svg/SVGStyledElement.h: 2832 * svg/SVGStyledTransformableElement.cpp: 2833 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 2834 (WebCore::SVGStyledTransformableElement::synchronizeProperty): 2835 * svg/SVGStyledTransformableElement.h: 2836 * svg/SVGSwitchElement.cpp: 2837 (WebCore::SVGSwitchElement::SVGSwitchElement): 2838 (WebCore::SVGSwitchElement::synchronizeProperty): 2839 * svg/SVGSwitchElement.h: 2840 * svg/SVGSymbolElement.cpp: 2841 (WebCore::SVGSymbolElement::SVGSymbolElement): 2842 (WebCore::SVGSymbolElement::synchronizeProperty): 2843 * svg/SVGSymbolElement.h: 2844 * svg/SVGTRefElement.cpp: 2845 (WebCore::SVGTRefElement::SVGTRefElement): 2846 (WebCore::SVGTRefElement::synchronizeProperty): 2847 * svg/SVGTRefElement.h: 2848 * svg/SVGTextContentElement.cpp: 2849 (WebCore::SVGTextContentElement::SVGTextContentElement): 2850 (WebCore::SVGTextContentElement::synchronizeProperty): 2851 * svg/SVGTextContentElement.h: 2852 * svg/SVGTextElement.cpp: 2853 (WebCore::SVGTextElement::SVGTextElement): 2854 (WebCore::SVGTextElement::synchronizeProperty): 2855 * svg/SVGTextElement.h: 2856 * svg/SVGTextPathElement.cpp: 2857 (WebCore::SVGTextPathElement::SVGTextPathElement): 2858 (WebCore::SVGTextPathElement::synchronizeProperty): 2859 * svg/SVGTextPathElement.h: 2860 * svg/SVGTextPositioningElement.cpp: 2861 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): 2862 (WebCore::SVGTextPositioningElement::synchronizeProperty): 2863 * svg/SVGTextPositioningElement.h: 2864 * svg/SVGURIReference.cpp: 2865 * svg/SVGURIReference.h: 2866 * svg/SVGUseElement.cpp: 2867 (WebCore::SVGUseElement::SVGUseElement): 2868 (WebCore::SVGUseElement::synchronizeProperty): 2869 * svg/SVGUseElement.h: 2870 * svg/SVGViewElement.cpp: 2871 (WebCore::SVGViewElement::SVGViewElement): 2872 (WebCore::SVGViewElement::synchronizeProperty): 2873 * svg/SVGViewElement.h: 2874 * svg/SVGViewSpec.cpp: 2875 (WebCore::SVGViewSpec::SVGViewSpec): 2876 * svg/SVGViewSpec.h: 2877 (WebCore::SVGViewSpec::contextElement): 2878 * svg/SynchronizablePropertyController.cpp: Removed. 2879 * svg/SynchronizablePropertyController.h: Removed. 2880 * svg/SynchronizableTypeWrapper.h: Removed. 2881 * svg/svgattrs.in: Remove "exportStrings" tag. 2882 * svg/svgtags.in: Ditto. 2883 * svg/xlinkattrs.in: 2884 2885 2010-01-26 Adele Peterson <adele (a] apple.com> 2886 2887 Reviewed by Darin Adler. 2888 2889 Fix for <rdar://problem/7169464> REGRESSION (r47444): PLT is 1% slower due to implementation of :valid and :invalid CSS selectors 2890 https://bugs.webkit.org/show_bug.cgi?id=34029 2891 2892 If we never hit the valid or invalid selectors for a particular document, 2893 then we'll skip the validity checks when deciding about style sharing. 2894 2895 * css/CSSStyleSelector.cpp: 2896 (WebCore::CSSStyleSelector::canShareStyleWithElement): 2897 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 2898 2899 * dom/Document.cpp: (WebCore::Document::Document): 2900 * dom/Document.h: 2901 (WebCore::Document::considerValidity): 2902 (WebCore::Document::setConsiderValidity): 2903 2904 2010-01-26 Jeremy Orlow <jorlow (a] chromium.org> 2905 2906 Reviewed by Simon Fraser. 2907 2908 Revert 53797 as it seems to be causing crashes. 2909 https://bugs.webkit.org/show_bug.cgi?id=34153 2910 2911 * page/FrameView.cpp: 2912 (WebCore::FrameView::useSlowRepaints): 2913 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): 2914 * page/FrameView.h: 2915 * platform/ScrollView.cpp: 2916 (WebCore::ScrollView::scrollContents): 2917 * platform/ScrollView.h: 2918 * rendering/RenderObject.cpp: 2919 (WebCore::RenderObject::styleWillChange): 2920 (WebCore::RenderObject::destroy): 2921 2922 2010-01-26 Dmitry Titov <dimich (a] chromium.org> 2923 2924 Reviewed by Steve Falkenburg. 2925 2926 DumpRenderTree silently crashes at the end of the run because geolocationControllerClient pointer is 0. 2927 https://bugs.webkit.org/show_bug.cgi?id=34191 2928 2929 * page/GeolocationController.cpp: 2930 (WebCore::GeolocationController::~GeolocationController): Add check for m_client being 0. 2931 (WebCore::GeolocationController::addObserver): Ditto. 2932 (WebCore::GeolocationController::removeObserver): Ditto. 2933 (WebCore::GeolocationController::lastPosition): Ditto. 2934 2935 2010-01-26 Simon Fraser <simon.fraser (a] apple.com> 2936 2937 Reviewed by Adele Peterson. 2938 2939 Enhance externalRepresentation() to make it more useful for layer debugging 2940 https://bugs.webkit.org/show_bug.cgi?id=34143 2941 2942 Enhance externalRepresentation() to output additional information about layers when certain flags are passed. 2943 The new flags allow you to show all layers (not just those that would paint), to the structure of the z-order 2944 and normal flow lists, and to show which layers are composited. 2945 2946 * WebCore.base.exp: The signature of externalRepresentation() changed. 2947 2948 * platform/text/TextStream.h: Add operator<<(void*) 2949 * platform/text/TextStream.cpp: Implement operator<<(void*) 2950 2951 * rendering/RenderLayer.h: 2952 * rendering/RenderLayer.cpp: 2953 (showLayerTree): New method outside the WebCore namespace, for ease of calling from gdb. 2954 2955 * rendering/RenderTreeAsText.h: New behavior flags for externalRepresentation(). 2956 * rendering/RenderTreeAsText.cpp: 2957 (WebCore::write): Output compositing information if requested. Also clean up some -1/1 magic 2958 numbers with an enum. 2959 (WebCore::writeLayers): If requested, show layer nesting via the z-order and normal flow lists. 2960 (WebCore::externalRepresentation): New arguments 2961 2962 2010-01-26 Dan Bernstein <mitz (a] apple.com> 2963 2964 Reviewed by Simon Fraser. 2965 2966 Fixed an off-by-one error. 2967 2968 * rendering/break_lines.cpp: 2969 (WebCore::shouldBreakAfter): 2970 2971 2010-01-26 Dmitry Titov <dimich (a] chromium.org> 2972 2973 Reviewed by David Levin. 2974 2975 Avoid reloading iframe on re-parenting between documents. 2976 https://bugs.webkit.org/show_bug.cgi?id=32848 2977 2978 Achieved by setting a flag on iframe element when it is a target of document.adoptNode(node) operation. 2979 The flag prevents unload/load cycle and is reset once element is attached to a new document. 2980 If iframe is adopted but not actually inserted into the tree, it gets unloaded by async timer 2981 once JS yields, to avoid having active content in non-attached iframe. 2982 2983 Test: fast/frames/iframe-reparenting.html 2984 2985 * dom/Document.cpp: 2986 (WebCore::Document::adoptNode): If the adopted node is iframe, set a remainsAliveOnRemovalFromTree on it. 2987 * html/HTMLFrameElementBase.h: 2988 * html/HTMLFrameElementBase.cpp: 2989 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): 2990 (WebCore::HTMLFrameElementBase::attach): Skip actual loading of the frame if it has remainsAliveOnRemovalFromTree flag. Reset the flag. 2991 (WebCore::HTMLFrameElementBase::willRemove): Skip unloading the frame if it has remainsAliveOnRemovalFromTree flag set. 2992 (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Set the flag, start the async timer to check if the frame was actually attached. 2993 (WebCore::HTMLFrameElementBase::checkAttachedTimerFired): 2994 * html/HTMLFrameOwnerElement.h: 2995 (WebCore::HTMLFrameOwnerElement::willRemove): Move from private to protected, since it is conditionally called in HTMLFrameElementBase::willRemove now. 2996 2997 2010-01-26 Adam Roben <aroben (a] apple.com> 2998 2999 No review, rolling out r53861. 3000 http://trac.webkit.org/changeset/53861 3001 https://bugs.webkit.org/show_bug.cgi?id=33224 3002 3003 Caused 2 regression tests to fail. 3004 3005 * dom/Document.cpp: 3006 (WebCore::Document::detach): 3007 (WebCore::Document::registerHistoryItem): 3008 (WebCore::Document::unregisterHistoryItem): 3009 * dom/Document.h: 3010 * history/BackForwardList.cpp: 3011 (WebCore::BackForwardList::pushStateItem): 3012 * history/BackForwardListChromium.cpp: 3013 (WebCore::BackForwardList::pushStateItem): 3014 * history/HistoryItem.cpp: 3015 (WebCore::HistoryItem::HistoryItem): 3016 (WebCore::HistoryItem::~HistoryItem): 3017 (WebCore::HistoryItem::setStateObject): 3018 (WebCore::HistoryItem::setDocument): 3019 (WebCore::HistoryItem::documentDetached): 3020 * history/HistoryItem.h: 3021 (WebCore::HistoryItem::document): 3022 * loader/FrameLoader.cpp: 3023 (WebCore::FrameLoader::navigateWithinDocument): 3024 (WebCore::FrameLoader::loadItem): 3025 * loader/HistoryController.cpp: 3026 (WebCore::HistoryController::updateBackForwardListForFragmentScroll): 3027 (WebCore::HistoryController::pushState): 3028 (WebCore::HistoryController::replaceState): 3029 * loader/RedirectScheduler.cpp: 3030 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 3031 * page/History.cpp: 3032 (WebCore::History::stateObjectAdded): 3033 * page/Page.cpp: 3034 (WebCore::Page::goToItem): 3035 3036 2010-01-26 Dan Bernstein <mitz (a] apple.com> 3037 3038 Reviewed by Beth Dakin. 3039 3040 <rdar://problem/7576663> Crash caused by anonymous list item 3041 https://bugs.webkit.org/show_bug.cgi?id=34183 3042 3043 Test: fast/lists/anonymous-items.html 3044 3045 enclosingList() and previousListItem() were DOM-based, but in order to work with anonymous 3046 list items, they need to work with rthe render tree. 3047 3048 * rendering/RenderListItem.cpp: 3049 (WebCore::isList): Factored out. 3050 (WebCore::enclosingList): Added this variant that takes a RenderObject. 3051 (WebCore::previousListItem): Changed to travers the render tree. 3052 (WebCore::RenderListItem::calcValue): Use the RenderObject version of enclosingList() 3053 (WebCore::RenderListItem::setExplicitValue): Added an assertion. 3054 (WebCore::RenderListItem::clearExplicitValue): Ditto. 3055 3056 2010-01-26 Brian Weinstein <bweinstein (a] apple.com> 3057 3058 Reviewed by Jon Honeycutt. 3059 3060 Crash in WebKit!WebCore::RenderMenuList::itemStyle 3061 https://bugs.webkit.org/show_bug.cgi?id=34182 3062 <rdar://7087757> 3063 3064 Added bounds checks in RenderMenuList to make sure we are 3065 not making an out of bounds check in a vector once an option 3066 element has been deleted. If we are out of bounds, we fall back to 3067 a default value and return early, and in the case of itemStyle, we use a 3068 previous option's style, if it is available. 3069 3070 * manual-tests/select-delete-item.html: Added. 3071 * rendering/RenderMenuList.cpp: 3072 (WebCore::RenderMenuList::itemText): If out of bounds check, return early. 3073 (WebCore::RenderMenuList::itemToolTip): Ditto. 3074 (WebCore::RenderMenuList::itemIsEnabled): Ditto. 3075 (WebCore::RenderMenuList::itemStyle): If out of bounds check, try using the 0th index 3076 option style, then fall back to the select's style if that option doesn't exist. 3077 (WebCore::RenderMenuList::itemBackgroundColor): If out of bounds check, return early. 3078 (WebCore::RenderMenuList::itemIsSeparator): Ditto. 3079 (WebCore::RenderMenuList::itemIsLabel): Ditto. 3080 (WebCore::RenderMenuList::itemIsSelected): Ditto. 3081 3082 2010-01-25 Gavin Barraclough <barraclough (a] apple.com> 3083 3084 Reviewed by Anders Carlsson. 3085 3086 Some methods in JSC JNI bridge need more error checking of results from JNI. 3087 https://bugs.webkit.org/show_bug.cgi?id=34149 3088 3089 In JNIUtility.h, callJNIMethodV<jobject> might return null (from CallObjectMethodV, via 3090 JNICaller<jobject>::callV) if an exception is thrown. All clients of callJNIMethodV<jobject> 3091 that are calling methods on the returned object should null check first. 3092 3093 * bridge/jni/JNIBridge.cpp: 3094 (JavaField::JavaField): 3095 (JavaMethod::JavaMethod): 3096 * bridge/jni/JNIUtility.h: 3097 (JSC::Bindings::): 3098 * bridge/jni/jni_jsobject.mm: 3099 (JavaJSObject::convertJObjectToValue): 3100 * bridge/jni/jsc/JavaClassJSC.cpp: 3101 (JavaClass::JavaClass): 3102 * bridge/jni/jsc/JavaInstanceJSC.cpp: 3103 (JavaInstance::stringValue): 3104 3105 2010-01-26 Steve Falkenburg <sfalken (a] apple.com> 3106 3107 Reviewed by Oliver Hunt. 3108 3109 Windows build references non-existent include paths 3110 https://bugs.webkit.org/show_bug.cgi?id=34175 3111 3112 * WebCore.vcproj/QTMovieWin.vcproj: 3113 * WebCore.vcproj/WebCoreCommon.vsprops: 3114 3115 2010-01-26 Darin Fisher <darin (a] chromium.org> 3116 3117 Reviewed by Brady Eidson. 3118 3119 Chains of history items representing same-document navigation need to 3120 always remember that association 3121 3122 https://bugs.webkit.org/show_bug.cgi?id=33224 3123 3124 Replace HistoryItem's Document pointer with a DocumentSequenceNumber. 3125 During session history traversal, if the current HistoryItem and the 3126 target HistoryItem have the same DocumentSequenceNumber, then it means 3127 that the current Document should remain. 3128 3129 NOTE: To support Chromium's serialization of HistoryItems, I generate 3130 DocumentSequenceNumbers that are unique across application launches. 3131 DocumentSequenceNumbers are generated using a counter initialized with 3132 the time of day. 3133 3134 Test: fast/loader/stateobjects/document-destroyed-navigate-back.html 3135 3136 * dom/Document.cpp: 3137 (WebCore::Document::detach): 3138 * dom/Document.h: 3139 * history/BackForwardList.cpp: 3140 (WebCore::BackForwardList::pushStateItem): 3141 * history/BackForwardListChromium.cpp: 3142 (WebCore::BackForwardList::pushStateItem): 3143 * history/HistoryItem.cpp: 3144 (WebCore::generateDocumentSequenceNumber): 3145 (WebCore::HistoryItem::HistoryItem): 3146 (WebCore::HistoryItem::~HistoryItem): 3147 (WebCore::HistoryItem::setStateObject): 3148 * history/HistoryItem.h: 3149 (WebCore::HistoryItem::setDocumentSequenceNumber): 3150 (WebCore::HistoryItem::documentSequenceNumber): 3151 * loader/FrameLoader.cpp: 3152 (WebCore::FrameLoader::navigateWithinDocument): 3153 (WebCore::FrameLoader::loadItem): 3154 * loader/HistoryController.cpp: 3155 (WebCore::HistoryController::updateBackForwardListForFragmentScroll): 3156 (WebCore::HistoryController::pushState): 3157 (WebCore::HistoryController::replaceState): 3158 * loader/RedirectScheduler.cpp: 3159 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 3160 * page/History.cpp: 3161 (WebCore::History::stateObjectAdded): 3162 * page/Page.cpp: 3163 (WebCore::Page::goToItem): 3164 3165 2010-01-26 Chris Fleizach <cfleizach (a] apple.com> 3166 3167 Reviewed by Darin Adler. 3168 3169 Add ability for image maps to be focused via tabbing 3170 https://bugs.webkit.org/show_bug.cgi?id=17513 3171 3172 Test: fast/events/tab-imagemap.html 3173 3174 * accessibility/AXObjectCache.cpp: 3175 (WebCore::AXObjectCache::focusedImageMapUIElement): 3176 (WebCore::AXObjectCache::focusedUIElementForPage): 3177 * accessibility/AXObjectCache.h: 3178 * accessibility/AccessibilityImageMapLink.h: 3179 (WebCore::AccessibilityImageMapLink::areaElement): 3180 (WebCore::AccessibilityImageMapLink::mapElement): 3181 (WebCore::AccessibilityImageMapLink::isImageMapLink): 3182 * accessibility/AccessibilityObject.h: 3183 (WebCore::AccessibilityObject::isImageMapLink): 3184 * accessibility/AccessibilityRenderObject.cpp: 3185 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 3186 * html/HTMLAreaElement.cpp: 3187 (WebCore::HTMLAreaElement::getPath): 3188 (WebCore::HTMLAreaElement::getRect): 3189 (WebCore::HTMLAreaElement::imageElement): 3190 (WebCore::HTMLAreaElement::isKeyboardFocusable): 3191 (WebCore::HTMLAreaElement::isFocusable): 3192 (WebCore::HTMLAreaElement::dispatchBlurEvent): 3193 (WebCore::HTMLAreaElement::updateFocusAppearance): 3194 (WebCore::HTMLAreaElement::supportsFocus): 3195 * html/HTMLAreaElement.h: 3196 * html/HTMLMapElement.cpp: 3197 (WebCore::HTMLMapElement::imageElement): 3198 * html/HTMLMapElement.h: 3199 * platform/graphics/GraphicsContext.h: 3200 * platform/graphics/cairo/GraphicsContextCairo.cpp: 3201 (WebCore::GraphicsContext::drawFocusRing): 3202 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 3203 (WebCore::GraphicsContext::drawFocusRing): 3204 * platform/graphics/mac/GraphicsContextMac.mm: 3205 (WebCore::drawFocusRingToContext): 3206 (WebCore::GraphicsContext::drawFocusRing): 3207 * platform/graphics/qt/GraphicsContextQt.cpp: 3208 (WebCore::GraphicsContext::drawFocusRing): 3209 * platform/graphics/skia/GraphicsContextSkia.cpp: 3210 (WebCore::GraphicsContext::drawFocusRing): 3211 * platform/graphics/win/GraphicsContextCGWin.cpp: 3212 (WebCore::GraphicsContext::drawFocusRing): 3213 * platform/graphics/wince/GraphicsContextWince.cpp: 3214 (WebCore::GraphicsContext::drawFocusRing): 3215 * platform/graphics/wx/GraphicsContextWx.cpp: 3216 (WebCore::GraphicsContext::drawFocusRing): 3217 * rendering/RenderImage.cpp: 3218 (WebCore::RenderImage::paint): 3219 (WebCore::RenderImage::paintFocusRings): 3220 (WebCore::RenderImage::imageMap): 3221 * rendering/RenderImage.h: 3222 * rendering/RenderReplaced.h: 3223 3224 2010-01-26 Pavel Feldman <pfeldman (a] chromium.org> 3225 3226 Reviewed by Timothy Hatcher. 3227 3228 Web Inspector: add support for breakpoints, messages and search into the SourceFrame2. 3229 3230 https://bugs.webkit.org/show_bug.cgi?id=34165 3231 3232 * inspector/front-end/SourceFrame2.js: 3233 (WebInspector.SourceFrame2): 3234 (WebInspector.SourceFrame2.prototype.get executionLine): 3235 (WebInspector.SourceFrame2.prototype.set executionLine): 3236 (WebInspector.SourceFrame2.prototype.revealLine): 3237 (WebInspector.SourceFrame2.prototype.addBreakpoint): 3238 (WebInspector.SourceFrame2.prototype.removeBreakpoint): 3239 (WebInspector.SourceFrame2.prototype.sizeToFitContentHeight): 3240 (WebInspector.SourceFrame2.prototype.setContent): 3241 (WebInspector.SourceFrame2.prototype.findSearchMatches): 3242 (WebInspector.SourceFrame2.prototype.setSelection): 3243 (WebInspector.SourceFrame2.prototype._addMessageToSource): 3244 (WebInspector.SourceFrame2.prototype._addExistingBreakpointsToSource): 3245 (WebInspector.SourceFrame2.prototype._addBreakpointToSource): 3246 (WebInspector.SourceFrame2.prototype._removeBreakpointFromSource): 3247 (WebInspector.SourceFrame2.prototype._contextMenu.addConditionalBreakpoint): 3248 (WebInspector.SourceFrame2.prototype._contextMenu): 3249 (WebInspector.SourceFrame2.prototype._toggleBreakpoint): 3250 (WebInspector.SourceFrame2.prototype._editBreakpointCondition.committed): 3251 (WebInspector.SourceFrame2.prototype._editBreakpointCondition.dismissed): 3252 (WebInspector.SourceFrame2.prototype._editBreakpointCondition): 3253 (WebInspector.SourceFrame2.prototype._showBreakpointConditionPopup): 3254 (WebInspector.SourceFrame2.prototype._createConditionElement): 3255 (WebInspector.SourceFrame2.prototype._keyDown): 3256 (WebInspector.SourceFrame2.prototype._evalSelectionInCallFrame): 3257 (WebInspector.SourceFrame2.prototype._breakpointChanged): 3258 (WebInspector.SourceFrame2.prototype.resize): 3259 (WebInspector.BreakpointLineNumberDecorator.prototype.decorate): 3260 (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint): 3261 (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown): 3262 (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu): 3263 (WebInspector.ExecutionLineDecorator.prototype.decorate): 3264 * inspector/front-end/TextEditor.js: 3265 (WebInspector.TextEditor): 3266 (WebInspector.TextEditor.prototype.set mimeType): 3267 (WebInspector.TextEditor.prototype.set readOnly): 3268 (WebInspector.TextEditor.prototype.setDivDecoration): 3269 (WebInspector.TextEditor.prototype.reveal): 3270 (WebInspector.TextEditor.prototype.packAndRepaintAll): 3271 (WebInspector.TextEditor.prototype._updateSize): 3272 (WebInspector.TextEditor.prototype.updateCanvasSize): 3273 (WebInspector.TextEditor.prototype.repaintAll): 3274 (WebInspector.TextEditor.prototype._paintLinesContinuation): 3275 (WebInspector.TextEditor.prototype._repaintOnScroll): 3276 (WebInspector.TextEditor.prototype._mouseDown): 3277 (WebInspector.TextEditor.prototype._contextMenu): 3278 (WebInspector.TextEditor.prototype._caretForMouseEvent): 3279 (WebInspector.TextEditor.prototype._columnForOffset): 3280 (WebInspector.TextEditor.prototype._handleNavigationKey): 3281 (WebInspector.TextEditor.prototype._positionDivDecoration): 3282 (WebInspector.TextEditor.prototype._replaceSelectionWith): 3283 (WebInspector.TextEditor.prototype.setCoalescingUpdate): 3284 (WebInspector.TextEditor.prototype._handleUndo): 3285 (WebInspector.TextEditor.prototype._handleRedo): 3286 (WebInspector.TextEditor.prototype._changeFont): 3287 * inspector/front-end/TextEditorHighlighter.js: 3288 (WebInspector.TextEditorHighlighter): 3289 (WebInspector.TextEditorHighlighter.prototype.set mimeType): 3290 * inspector/front-end/inspector.css: 3291 * inspector/front-end/textEditor.css: 3292 3293 2010-01-26 Pavel Feldman <pfeldman (a] chromium.org> 3294 3295 Reviewed by Timothy Hatcher. 3296 3297 Web Inspector: add methods for getting resource content from within frontend. 3298 3299 https://bugs.webkit.org/show_bug.cgi?id=34163 3300 3301 * inspector/InspectorBackend.cpp: 3302 (WebCore::InspectorBackend::getResourceContent): 3303 * inspector/InspectorBackend.h: 3304 * inspector/InspectorBackend.idl: 3305 * inspector/InspectorFrontend.cpp: 3306 (WebCore::InspectorFrontend::didGetResourceContent): 3307 * inspector/InspectorFrontend.h: 3308 * inspector/InspectorFrontendHost.cpp: 3309 * inspector/InspectorFrontendHost.h: 3310 * inspector/InspectorFrontendHost.idl: 3311 * inspector/front-end/InspectorBackendStub.js: 3312 (.WebInspector.InspectorBackendStub.prototype.getResourceContent): 3313 * inspector/front-end/InspectorFrontendHostStub.js: 3314 3315 2010-01-26 Pavel Feldman <pfeldman (a] chromium.org> 3316 3317 Not reviewed: added null check into the timeline agent getter. 3318 3319 * inspector/InspectorTimelineAgent.h: 3320 (WebCore::InspectorTimelineAgent::retrieve): 3321 3322 2010-01-26 Steve Block <steveblock (a] google.com> 3323 3324 Reviewed by Adam Barth. 3325 3326 Moves JSC-specific classes from bridge/jni/JNIBridge to bridge/jni/jsc/JNIBridgeJSC 3327 https://bugs.webkit.org/show_bug.cgi?id=33958 3328 3329 This allows bridge/jni/JNIBridge to be used with both JSC and V8. 3330 A later change will add the V8 equivalent of these JSC-specific classes. 3331 3332 No new tests, refactoring only. 3333 3334 * Android.jscbindings.mk: Modified. Added JNIBridgeJSC.cpp 3335 * GNUmakefile.am: Modified. Added JNIBridgeJSC.h 3336 * WebCore.xcodeproj/project.pbxproj: Modified. Added JNIBridgeJSC.[cpp|h] 3337 * bridge/jni/JNIBridge.cpp: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.cpp 3338 (appendClassName): Modfied. Guard calls to JSLock 3339 (JavaMethod::signature): Modfied. Guard calls to JSLock 3340 * bridge/jni/JNIBridge.h: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.h 3341 * bridge/jni/jsc/JNIBridgeJSC.cpp: Copied from WebCore/bridge/jni/JNIBridge.cpp. 3342 * bridge/jni/jsc/JNIBridgeJSC.h: Copied from WebCore/bridge/jni/JNIBridge.h. 3343 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Include JNIBridgeJSC.h 3344 * bridge/jni/jsc/JavaClassJSC.h: Modified. Include JNIBridgeJSC.h 3345 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Include JNIBridgeJSC.h 3346 3347 2010-01-26 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 3348 3349 Unreviewed build fix. 3350 3351 [Qt] Fix Windows build when sqlite is not available. 3352 3353 * WebCore.pri: 3354 * WebCore.pro: 3355 3356 2010-01-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 3357 3358 Reviewed by Simon Hausmann. 3359 3360 [Qt] JavaScript prompt is currently broken. 3361 https://bugs.webkit.org/show_bug.cgi?id=30914 3362 3363 Remove the manual test case in favor of an automated 3364 test case in WebKit/qt/tests/qwebpage. 3365 3366 * manual-tests/qt/java-script-prompt.html: Removed. 3367 3368 2010-01-26 Pavel Feldman <pfeldman (a] chromium.org> 3369 3370 Reviewed by Timothy Hatcher. 3371 3372 Web Inspector: Implement HTML and CSS highlighters. 3373 3374 https://bugs.webkit.org/show_bug.cgi?id=34144 3375 3376 * WebCore.gypi: 3377 * WebCore.vcproj/WebCore.vcproj: 3378 * inspector/front-end/JavaScriptTokenizer.js: Removed. 3379 * inspector/front-end/JavaScriptTokenizer.re2js: Removed. 3380 * inspector/front-end/SourceCSSTokenizer.js: Added. 3381 (WebInspector.SourceCSSTokenizer): 3382 (WebInspector.SourceCSSTokenizer.prototype._stringToken): 3383 (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue): 3384 (WebInspector.SourceCSSTokenizer.prototype.nextToken): 3385 * inspector/front-end/SourceCSSTokenizer.re2js: Added. 3386 * inspector/front-end/SourceHTMLTokenizer.js: Added. 3387 (WebInspector.SourceHTMLTokenizer): 3388 (WebInspector.SourceHTMLTokenizer.prototype._stringToken): 3389 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 3390 * inspector/front-end/SourceHTMLTokenizer.re2js: Added. 3391 * inspector/front-end/SourceJavaScriptTokenizer.js: Added. 3392 (WebInspector.SourceJavaScriptTokenizer): 3393 (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): 3394 * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added. 3395 * inspector/front-end/TextEditorHighlighter.js: 3396 (WebInspector.TextEditorHighlighter): 3397 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 3398 (WebInspector.TextEditorHighlighter.Tokenizer): 3399 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line): 3400 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition): 3401 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition): 3402 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition): 3403 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition): 3404 (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition): 3405 (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt): 3406 * inspector/front-end/WebKit.qrc: 3407 * inspector/front-end/inspector.html: 3408 3409 2010-01-26 Simon Hausmann <simon.hausmann (a] nokia.com> 3410 3411 Reviewed by Holger Freyther. 3412 3413 REGRESSION(r53835): Fix editing/pasteboard/paste-noscript-xhtml.xhtml 3414 https://bugs.webkit.org/show_bug.cgi?id=34157 3415 3416 Pass the FragmentScriptingPermission correctly through to the DOM 3417 and disallow scripting elements in parseEndElement(), similar to 3418 the libxml tokenizer change in r53835. 3419 3420 * dom/XMLTokenizerQt.cpp: 3421 (WebCore::handleElementNamespaces): 3422 (WebCore::handleElementAttributes): 3423 (WebCore::XMLTokenizer::parseStartElement): 3424 (WebCore::XMLTokenizer::parseEndElement): 3425 3426 2010-01-26 Garret Kelly <gdk (a] chromium.org> 3427 3428 Reviewed by Eric Seidel. 3429 3430 Add missing declaration for the feMorphology SVG element. 3431 https://bugs.webkit.org/show_bug.cgi?id=34151 3432 3433 * bindings/v8/V8DOMWrapper.cpp: 3434 3435 2010-01-26 Andras Becsi <abecsi (a] inf.u-szeged.hu> 3436 3437 Unreviewed build fix. 3438 3439 [Qt] Build fix after API changes in r53835. 3440 3441 No new tests needed. 3442 3443 * dom/XMLTokenizerQt.cpp: 3444 (WebCore::XMLTokenizer::XMLTokenizer): 3445 (WebCore::parseXMLDocumentFragment): 3446 3447 2010-01-22 Jeremy Orlow <jorlow (a] chromium.org> 3448 3449 Reviewed by Darin Adler. 3450 3451 Make storage events match the spec. 3452 https://bugs.webkit.org/show_bug.cgi?id=30546 3453 3454 This meat of the patch I just posted is very simple. It's just making events 3455 asynchronous, not posting them to the frame that generated them, passing a null 3456 for the key when issuing a clear storage event, and making the events 3457 non-cancelable/non-bubbleable...all of which are clearly stated in the spec. 3458 3459 The asynchronous and not posting to the frame that generated them forced me to 3460 re-write all the layout tests that dealt with storage events. There's a lot of 3461 code there, but I tried to be fairly careful to ensure that test coverage did 3462 not shrink in any area. 3463 3464 Tests: storage/domstorage/events/basic-body-attribute.html 3465 storage/domstorage/events/basic-setattribute.html 3466 storage/domstorage/events/basic.html 3467 storage/domstorage/events/case-sensitive.html 3468 storage/domstorage/events/documentURI.html 3469 3470 * dom/Document.cpp: 3471 (WebCore::Document::Document): 3472 (WebCore::Document::enqueueStorageEvent): 3473 (WebCore::Document::storageEventTimerFired): 3474 * dom/Document.h: 3475 * storage/StorageEvent.cpp: 3476 (WebCore::StorageEvent::StorageEvent): 3477 * storage/StorageEvent.idl: 3478 * storage/StorageEventDispatcher.cpp: 3479 (WebCore::StorageEventDispatcher::dispatch): 3480 3481 2010-01-25 Dan Bernstein <mitz (a] apple.com> 3482 3483 Reviewed by Darin Adler. 3484 3485 <rdar://problem/7573493> Error with line break inside ?» pair of characters. 3486 https://bugs.webkit.org/show_bug.cgi?id=17475 3487 3488 Test: fast/text/line-break-after-question-mark.html 3489 3490 Instead of unconditionally allowing lines to break after a question mark, which was intended 3491 to mimic Internet Explorer, apply the Unicode line breaking behavior after a question mark, 3492 with one exception in the ASCII range to match IE, namely not allowing a line break between 3493 a question mark and a vertical line. 3494 3495 * rendering/break_lines.cpp: 3496 (WebCore::shouldBreakAfter): Added a next character parameter. Changed to consult a table 3497 for the question mark case in order to keep it fast and not require a text break iterator in 3498 the ASCII case. 3499 (WebCore::nextBreakablePosition): Pass the next character to shouldBreakAfter. 3500 3501 2010-01-25 Peter Kasting <pkasting (a] google.com> 3502 3503 Reviewed by Dan Bernstein. 3504 3505 Mac scrollbar thumbs were drawn with the wrong size. 3506 https://bugs.webkit.org/show_bug.cgi?id=34049 3507 3508 * platform/chromium/ScrollbarThemeChromiumMac.mm: 3509 (WebCore::ScrollbarThemeChromiumMac::paint): 3510 * platform/mac/ScrollbarThemeMac.mm: 3511 (WebCore::ScrollbarThemeMac::paint): 3512 3513 2010-01-25 Enrica Casucci <enrica (a] apple.com> 3514 3515 Reviewed by Darin Adler. 3516 3517 Cleanup unwanted tags after pasting. 3518 https://bugs.webkit.org/show_bug.cgi?id=34148 3519 3520 Test: editing/pasteboard/paste-noscript-xhtml.xhtml 3521 3522 * dom/Element.cpp: 3523 (WebCore::Element::setAttributeNS): 3524 * dom/Element.h: 3525 * dom/XMLTokenizer.h: 3526 * dom/XMLTokenizerLibxml2.cpp: 3527 (WebCore::XMLTokenizer::XMLTokenizer): 3528 (WebCore::handleElementNamespaces): 3529 (WebCore::handleElementAttributes): 3530 (WebCore::XMLTokenizer::startElementNs): 3531 (WebCore::XMLTokenizer::endElementNs): 3532 (WebCore::parseXMLDocumentFragment): 3533 * html/HTMLElement.cpp: 3534 (WebCore::HTMLElement::createContextualFragment): 3535 3536 2010-01-25 Steve Falkenburg <sfalken (a] apple.com> 3537 3538 Reviewed by Simon Fraser. 3539 3540 A WebGeolocationControllerClient is leaked for every WebView 3541 https://bugs.webkit.org/show_bug.cgi?id=34145 3542 3543 * page/GeolocationController.cpp: 3544 (WebCore::GeolocationController::~GeolocationController): 3545 * page/GeolocationControllerClient.h: 3546 3547 2010-01-25 Chris Marrin <cmarrin (a] apple.com> 3548 3549 Reviewed by Simon Fraser. 3550 3551 Fixed bug in positioning of scroll layer within the 3552 parent root layer. 3553 https://bugs.webkit.org/show_bug.cgi?id=33847 3554 3555 * platform/graphics/win/WKCACFLayerRenderer.cpp: 3556 (WebCore::WKCACFLayerRenderer::setScrollFrame): 3557 (WebCore::WKCACFLayerRenderer::createRenderer): 3558 3559 2010-01-25 Alexey Proskuryakov <ap (a] apple.com> 3560 3561 Rubber-stamped by Geoffrey Garen. 3562 3563 https://bugs.webkit.org/show_bug.cgi?id=34076 3564 An image remains accessible via form.property syntax after being removed from document. 3565 3566 Fix crashing regression tests (tables/mozilla/bugs/bug4527.html et al.) 3567 3568 * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::insertedIntoTree): Remove incorrect 3569 assertions added in the previous patch - it's mot true that m_for is always a parent; table 3570 parsing can reparent the image element, but m_form still needs to be set. 3571 3572 2010-01-25 Alexey Proskuryakov <ap (a] apple.com> 3573 3574 Reviewed by Geoffrey Garen. 3575 3576 https://bugs.webkit.org/show_bug.cgi?id=34076 3577 An image remains accessible via form.property syntax after being removed from document. 3578 3579 Tests: fast/forms/removed-image-as-property.html 3580 fast/forms/reparented-image-as-property.html 3581 3582 * html/HTMLImageElement.cpp: 3583 (WebCore::HTMLImageElement::~HTMLImageElement): This is called during GC - not a good time 3584 to make observable changes to DOM. 3585 (WebCore::HTMLImageElement::insertedIntoTree): This is the right place to do any work that 3586 depends on connectedness to some ancestor. We still allow for m_form to be set via constructor, 3587 which happens during parsing. 3588 (WebCore::HTMLImageElement::removedFromTree): Ditto. 3589 3590 * html/HTMLImageElement.h: Added removedFromTree/insertedIntoTree, moved removedFromDocument 3591 and insertedIntoDocument to private section, as they shouldn't be called directly. 3592 3593 2010-01-25 Daniel Bates <dbates (a] webkit.org> 3594 3595 Reviewed by Adam Barth. 3596 3597 https://bugs.webkit.org/show_bug.cgi?id=34073 3598 3599 Fixes misspelled words in comments. 3600 3601 * accessibility/AccessibilityListBox.cpp: 3602 (WebCore::AccessibilityListBox::addChildren): 3603 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 3604 * accessibility/mac/AccessibilityObjectWrapper.mm: 3605 (-[AccessibilityObjectWrapper detach]): 3606 (AXAttributeStringSetElement): 3607 * bindings/js/JSDOMBinding.cpp: 3608 (WebCore::completeURL): 3609 * bindings/js/JSDOMWindowBase.cpp: 3610 * bindings/js/JSDOMWindowBase.h: 3611 * bindings/js/JSDOMWindowCustom.cpp: 3612 (WebCore::JSDOMWindow::getOwnPropertySlot): 3613 * bindings/js/JSSVGPODTypeWrapper.h: 3614 * bindings/js/ScriptController.cpp: 3615 (WebCore::ScriptController::evaluateInWorld): 3616 * bridge/NP_jsobject.cpp: 3617 (_NPN_SetException): 3618 * bridge/jni/jsc/JavaInstanceJSC.cpp: 3619 (JavaInstance::invokeMethod): 3620 (JObjectWrapper::JObjectWrapper): 3621 * bridge/objc/objc_instance.mm: 3622 (ObjcInstance::setValueOfUndefinedField): 3623 (ObjcInstance::getValueOfUndefinedField): 3624 * css/CSSFontSelector.cpp: 3625 (WebCore::CSSFontSelector::addFontFaceRule): 3626 * css/CSSStyleSelector.cpp: 3627 (WebCore::CSSStyleSelector::CSSStyleSelector): 3628 (WebCore::CSSStyleSelector::sortMatchedRules): 3629 (WebCore::CSSStyleSelector::applyDeclarations): 3630 (WebCore::CSSStyleSelector::applyProperty): 3631 * dom/Document.cpp: 3632 (WebCore::Document::updateLayoutIgnorePendingStylesheets): 3633 (WebCore::Document::detach): 3634 * dom/Document.h: 3635 * dom/Element.cpp: 3636 (WebCore::Element::updateFocusAppearance): 3637 * dom/Element.h: 3638 * dom/MessagePortChannel.h: 3639 * dom/MouseRelatedEvent.cpp: 3640 (WebCore::MouseRelatedEvent::receivedTarget): 3641 * dom/Node.cpp: 3642 (WebCore::Node::isFocusable): 3643 (WebCore::Node::shadowAncestorNode): 3644 * dom/Node.h: 3645 * dom/Position.cpp: 3646 (WebCore::Position::upstream): 3647 * dom/Position.h: 3648 * dom/Range.cpp: 3649 (WebCore::Range::processContents): 3650 * dom/StyledElement.cpp: 3651 (WebCore::StyledElement::addCSSColor): 3652 * editing/ApplyStyleCommand.cpp: 3653 (WebCore::StyleChange::reconcileTextDecorationProperties): 3654 (WebCore::StyleChange::extractTextStyles): 3655 (WebCore::prepareEditingStyleToApplyAt): 3656 * editing/DeleteButtonController.cpp: 3657 (WebCore::isDeletableElement): 3658 * editing/DeleteSelectionCommand.cpp: 3659 (WebCore::DeleteSelectionCommand::initializeStartEnd): 3660 * editing/Editor.cpp: 3661 (WebCore::Editor::learnSpelling): 3662 * inspector/front-end/ConsoleView.js: 3663 (WebInspector.ConsoleMessage.prototype._format): 3664 * loader/Cache.cpp: 3665 (WebCore::Cache::pruneLiveResources): 3666 (WebCore::Cache::pruneDeadResources): 3667 * loader/Cache.h: 3668 * loader/CachedResource.cpp: 3669 (WebCore::CachedResource::makePurgeable): 3670 * loader/CachedResource.h: 3671 * loader/CachedResourceHandle.h: 3672 * loader/DocumentLoader.h: 3673 * loader/FTPDirectoryParser.cpp: 3674 (WebCore::parseOneFTPLine): 3675 * loader/FrameLoader.cpp: 3676 (WebCore::FrameLoader::didExplicitOpen): 3677 * loader/ResourceLoader.cpp: 3678 (WebCore::ResourceLoader::didCancel): 3679 * loader/WorkerThreadableLoader.h: 3680 * loader/appcache/ApplicationCacheStorage.cpp: 3681 (WebCore::ApplicationCacheStorage::spaceNeeded): 3682 * notifications/NotificationPresenter.h: 3683 (WebCore::NotificationPresenter::): 3684 * page/animation/AnimationController.cpp: 3685 (WebCore::AnimationController::updateAnimations): 3686 * platform/LinkHash.cpp: 3687 (WebCore::cleanPath): 3688 * platform/graphics/cg/GraphicsContextCG.cpp: 3689 (WebCore::calculateDrawingMode): 3690 * platform/graphics/cg/PatternCG.cpp: 3691 (WebCore::Pattern::createPlatformPattern): 3692 * platform/graphics/mac/ComplexTextController.cpp: 3693 (WebCore::ComplexTextController::offsetForPosition): 3694 * platform/graphics/mac/GraphicsLayerCA.h: 3695 * platform/graphics/mac/GraphicsLayerCA.mm: 3696 (WebCore::GraphicsLayerCA::ensureStructuralLayer): 3697 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 3698 (WebCore::MediaPlayerPrivate::doSeek): 3699 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible): 3700 (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): 3701 * platform/mac/PasteboardMac.mm: 3702 (WebCore::Pasteboard::writeSelection): 3703 (WebCore::Pasteboard::writePlainText): 3704 (WebCore::Pasteboard::writeURL): 3705 * platform/text/TextCodecICU.cpp: 3706 (WebCore::TextCodecICU::registerExtendedEncodingNames): 3707 * platform/text/TextEncodingDetectorICU.cpp: 3708 (WebCore::detectTextEncoding): 3709 * rendering/AutoTableLayout.cpp: 3710 (WebCore::AutoTableLayout::calcEffectiveWidth): 3711 (WebCore::AutoTableLayout::layout): 3712 * rendering/RenderBox.cpp: 3713 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 3714 (WebCore::RenderBox::calcAbsoluteVerticalValues): 3715 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 3716 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 3717 * rendering/RenderLayer.cpp: 3718 (WebCore::RenderLayer::scrollByRecursively): 3719 (WebCore::RenderLayer::paintLayer): 3720 (WebCore::RenderLayer::hitTestLayer): 3721 * rendering/RenderObject.cpp: 3722 (WebCore::RenderObject::destroy): 3723 * rendering/RenderTextControl.cpp: 3724 (WebCore::RenderTextControl::setInnerTextValue): 3725 * rendering/RenderTheme.cpp: 3726 (WebCore::RenderTheme::stateChanged): 3727 * rendering/SVGRenderSupport.cpp: 3728 (WebCore::SVGRenderBase::mapLocalToContainer): 3729 * rendering/SVGRootInlineBox.cpp: 3730 (WebCore::SVGRootInlineBox::buildTextChunks): 3731 * rendering/TransformState.cpp: 3732 (WebCore::TransformState::flattenWithTransform): 3733 * wml/WMLInputElement.cpp: 3734 (WebCore::WMLInputElement::dispatchBlurEvent): 3735 (WebCore::WMLInputElement::suggestedValue): 3736 3737 2010-01-25 Geoffrey Garen <ggaren (a] apple.com> 3738 3739 Suggested by Darin Adler. 3740 3741 Fixed a spelling error, tightened up some grammar. 3742 3743 * bindings/js/JSDOMBinding.cpp: 3744 (WebCore::forgetDOMObject): 3745 (WebCore::forgetDOMNode): 3746 3747 2010-01-25 Yury Semikhatsky <yurys (a] chromium.org> 3748 3749 Reviewed by Timothy Hatcher. 3750 3751 Instead of adding inspector methods to the inspected global objects 3752 use private implementation visible from inspector code only. 3753 https://bugs.webkit.org/show_bug.cgi?id=34089 3754 3755 Test: inspector/inspected-objects-not-overriden.html 3756 3757 * inspector/front-end/InjectedScript.js: 3758 (injectedScriptConstructor): 3759 3760 2010-01-25 Pavel Feldman <pfeldman (a] chromium.org> 3761 3762 Reviewed by Timothy Hatcher. 3763 3764 Web Inspector: don't show headers/content tabs in scripts view. 3765 3766 https://bugs.webkit.org/show_bug.cgi?id=34083 3767 3768 * inspector/front-end/ResourceView.js: 3769 (WebInspector.ResourceView): 3770 (WebInspector.ResourceView.prototype.set headersVisible): 3771 (WebInspector.ResourceView.prototype._selectContentTab): 3772 (WebInspector.ResourceView.prototype._innerSelectContentTab): 3773 * inspector/front-end/ResourcesPanel.js: 3774 (WebInspector.ResourcesPanel.prototype.show): 3775 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 3776 (WebInspector.ResourcesPanel.prototype.showResource): 3777 * inspector/front-end/ScriptsPanel.js: 3778 (WebInspector.ScriptsPanel.prototype.show): 3779 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 3780 * inspector/front-end/inspector.css: 3781 3782 2010-01-25 Simon Hausmann <hausmann (a] webkit.org> 3783 3784 Reviewed by Kenneth Rohde Christiansen. 3785 3786 [Qt] Reduce the size of the library when compiling for Maemo5 3787 https://bugs.webkit.org/show_bug.cgi?id=34050 3788 3789 Exclude the Web Inspector's qrc file in the Maemo5 build, just 3790 like we do for the Symbian build. Saves about ~900k. 3791 3792 * WebCore.pro: 3793 3794 2010-01-25 Simon Hausmann <hausmann (a] webkit.org> 3795 3796 Reviewed by Kenneth Rohde Christiansen. 3797 3798 [Qt] In the StyledPainter determine the style from the Render and Scrollbar theme instead of from the paint device 3799 https://bugs.webkit.org/show_bug.cgi?id=34054 3800 3801 Getting the style from the painter's paint device is a hack that breaks when 3802 the paint device's style is different than the style that is used when 3803 calculating the metries earlier when there is no painter available. 3804 3805 This change moves us closer to always using the same style. 3806 3807 * platform/qt/RenderThemeQt.cpp: 3808 (WebCore::StylePainter::StylePainter): 3809 (WebCore::StylePainter::init): 3810 (WebCore::RenderThemeQt::paintButton): 3811 (WebCore::RenderThemeQt::paintTextField): 3812 (WebCore::RenderThemeQt::paintMenuList): 3813 (WebCore::RenderThemeQt::paintMenuListButton): 3814 (WebCore::RenderThemeQt::paintSliderTrack): 3815 (WebCore::RenderThemeQt::paintMediaMuteButton): 3816 (WebCore::RenderThemeQt::paintMediaPlayButton): 3817 (WebCore::RenderThemeQt::paintMediaSliderTrack): 3818 (WebCore::RenderThemeQt::paintMediaSliderThumb): 3819 * platform/qt/RenderThemeQt.h: 3820 * platform/qt/ScrollbarThemeQt.cpp: 3821 (WebCore::ScrollbarThemeQt::paint): 3822 (WebCore::ScrollbarThemeQt::hitTest): 3823 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb): 3824 (WebCore::ScrollbarThemeQt::scrollbarThickness): 3825 (WebCore::ScrollbarThemeQt::thumbLength): 3826 (WebCore::ScrollbarThemeQt::trackPosition): 3827 (WebCore::ScrollbarThemeQt::trackLength): 3828 (WebCore::ScrollbarThemeQt::paintScrollCorner): 3829 (WebCore::ScrollbarThemeQt::style): 3830 * platform/qt/ScrollbarThemeQt.h: 3831 3832 2010-01-25 Simon Hausmann <hausmann (a] webkit.org> 3833 3834 Reviewed by Kenneth Rohde Christiansen. 3835 3836 [Qt] In RenderThemeQt determine the QStyle from the page client instead of the page's view 3837 https://bugs.webkit.org/show_bug.cgi?id=34053 3838 3839 * platform/qt/QWebPageClient.h: Add function to return the style. 3840 * platform/qt/RenderThemeQt.cpp: 3841 (WebCore::RenderThemeQt::qStyle): Determine the style from the page client instead of the page's view. 3842 3843 2010-01-25 Simon Hausmann <hausmann (a] webkit.org> 3844 3845 Reviewed by Kenneth Christiansen. 3846 3847 [Qt] Clean up code to determine palette from page client in RenderThemeQt 3848 https://bugs.webkit.org/show_bug.cgi?id=34052 3849 3850 Use the RenderTheme's associated page instead of going through the 3851 render tree and the document. 3852 3853 * platform/qt/RenderThemeQt.cpp: 3854 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists): 3855 (WebCore::RenderThemeQt::initializeCommonQStyleOptions): 3856 * platform/qt/RenderThemeQt.h: 3857 3858 2010-01-25 Janne Koskinen <janne.p.koskinen (a] digia.com> 3859 3860 Reviewed by Simon Hausmann. 3861 3862 [Qt] Phone backup support for QtWebkit for Symbian devices. 3863 https://bugs.webkit.org/show_bug.cgi?id=34077 3864 3865 * WebCore.pro: 3866 3867 2010-01-25 Benjamin Poulain <benjamin.poulain (a] nokia.com> 3868 3869 Reviewed by Antti Koivisto. 3870 3871 Do not render the full frame when there is some elements with fixed positioning 3872 https://bugs.webkit.org/show_bug.cgi?id=33150 3873 3874 Do not render the full frame when there is some elements with fixed positioning 3875 https://bugs.webkit.org/show_bug.cgi?id=33150 3876 3877 * page/FrameView.cpp: 3878 (WebCore::FrameView::useSlowRepaints): 3879 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): 3880 (WebCore::FrameView::registerFixedPositionedObject): 3881 (WebCore::FrameView::unregisterFixedPositionedObject): 3882 (WebCore::FrameView::scrollContentsFastPath): 3883 * page/FrameView.h: 3884 * platform/ScrollView.cpp: 3885 (WebCore::ScrollView::scrollContents): 3886 (WebCore::ScrollView::scrollContentsFastPath): 3887 * platform/ScrollView.h: 3888 * rendering/RenderObject.cpp: 3889 (WebCore::RenderObject::styleWillChange): 3890 (WebCore::RenderObject::destroy): 3891 3892 2010-01-24 Pavel Feldman <pfeldman (a] chromium.org> 3893 3894 Reviewed by Timothy Hatcher. 3895 3896 Web Inspector: Add support for addMessage/clearMessages to SourceFrame2. 3897 3898 https://bugs.webkit.org/show_bug.cgi?id=33904 3899 3900 * WebCore.gypi: 3901 * WebCore.vcproj/WebCore.vcproj: 3902 * inspector/front-end/SourceFrame2.js: 3903 (WebInspector.SourceFrame2): 3904 (WebInspector.SourceFrame2.prototype.addMessage): 3905 (WebInspector.SourceFrame2.prototype.clearMessages): 3906 (WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount): 3907 (WebInspector.SourceFrame2.prototype._addExistingMessagesToSource): 3908 (WebInspector.SourceFrame2.prototype._addMessageToSource): 3909 (WebInspector.SourceFrame2.prototype.resize): 3910 * inspector/front-end/TextEditor.js: 3911 (WebInspector.TextEditor): 3912 (WebInspector.TextEditor.prototype.setDivDecoration): 3913 (WebInspector.TextEditor.prototype._lineHeight): 3914 (WebInspector.TextEditor.prototype._highlightChanged): 3915 (WebInspector.TextEditor.prototype.packAndRepaintAll): 3916 (WebInspector.TextEditor.prototype._updateSize): 3917 (WebInspector.TextEditor.prototype._repaintAll): 3918 (WebInspector.TextEditor.prototype._paint): 3919 (WebInspector.TextEditor.prototype._paintLinesContinuation): 3920 (WebInspector.TextEditor.prototype._mouseOut): 3921 (WebInspector.TextEditor.prototype._updateDivDecorations): 3922 (WebInspector.TextEditor.prototype._positionDivDecoration): 3923 (WebInspector.TextEditor.prototype._paintSelection): 3924 (WebInspector.TextEditor.prototype._replaceSelectionWith): 3925 * inspector/front-end/TextEditorHighlighter.js: 3926 (WebInspector.TextEditorHighlighter.prototype.updateHighlight): 3927 * inspector/front-end/WebKit.qrc: 3928 * inspector/front-end/inspector.css: 3929 * inspector/front-end/inspector.html: 3930 * inspector/front-end/textEditor.css: Added. 3931 3932 2010-01-24 Pavel Feldman <pfeldman (a] chromium.org> 3933 3934 Reviewed by Timothy Hatcher. 3935 3936 Web Inspector: Replace split pane with tabbed pane in resource 3937 contents view. 3938 3939 https://bugs.webkit.org/show_bug.cgi?id=32453 3940 3941 * inspector/front-end/ResourceView.js: 3942 (WebInspector.ResourceView): 3943 (WebInspector.ResourceView.prototype.attach): 3944 (WebInspector.ResourceView.prototype.show): 3945 (WebInspector.ResourceView.prototype._selectTab): 3946 (WebInspector.ResourceView.prototype._selectHeadersTab): 3947 (WebInspector.ResourceView.prototype._selectContentTab): 3948 * inspector/front-end/ResourcesPanel.js: 3949 (WebInspector.ResourcesPanel.prototype.show): 3950 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 3951 (WebInspector.ResourcesPanel.prototype.showResource): 3952 * inspector/front-end/ScriptsPanel.js: 3953 (WebInspector.ScriptsPanel.prototype.show): 3954 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 3955 * inspector/front-end/Settings.js: 3956 (WebInspector.Settings.prototype._load): 3957 * inspector/front-end/SourceFrame.js: 3958 (WebInspector.SourceFrame.prototype._loaded): 3959 * inspector/front-end/SourceView.js: 3960 (WebInspector.SourceView): 3961 * inspector/front-end/inspector.css: 3962 3963 2010-01-24 Eric Carlson <eric.carlson (a] apple.com> 3964 3965 Reviewed by Dan Bernstein. 3966 3967 Media element duration changes to zero after playing in reverse 3968 https://bugs.webkit.org/show_bug.cgi?id=34041 3969 3970 Test: media/video-reverse-play-duration.html 3971 3972 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 3973 (WebCore::MediaPlayerPrivate::didEnd): QTKit's ended notification fires at time zero when 3974 playing in reverse, so don't reset duration in that case. 3975 3976 2010-01-24 Maciej Stachowiak <mjs (a] apple.com> 3977 3978 Reviewed by Dan Bernstein. 3979 3980 Content with heavily nested residual style is so slow, it seems like a hang 3981 https://bugs.webkit.org/show_bug.cgi?id=34059 3982 <rdar://problem/7292906> 3983 3984 Test cast: fast/parser/residual-style-hang.html 3985 3986 * html/HTMLParser.cpp: 3987 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 3988 Limit the number of iterations of the main loop to 5. 3989 3990 The reason this limit is necessary is that otherwise, N misnested open tags followed 3991 by N misnested close tags will cause O(N^2) of work due to cloning and attaching subtrees; 3992 at a fixed limit, the cost is at worst O(N). 3993 3994 The code that was in the loop originally ran exactly once - the loop was added in 3995 r21472 to fix <https://bugs.webkit.org/show_bug.cgi?id=13603>. I have verified that 3996 with the iteration limit, the bug is still fixed, both with the original test case 3997 and with the layout tests tht were added. 3998 3999 2010-01-24 Kent Tamura <tkent (a] chromium.org> 4000 4001 Reviewed by Darin Adler. 4002 4003 HTMLInputElement::valueAsDate setter support for type=week. 4004 https://bugs.webkit.org/show_bug.cgi?id=33986 4005 4006 Introduce ISODateTime::setMillisecondsSinceEpochForWeek() and add 4007 Week type support to ISODateTime::toString(). 4008 4009 * html/HTMLInputElement.cpp: 4010 (WebCore::HTMLInputElement::valueAsDate): Avoid default:. 4011 (WebCore::HTMLInputElement::setValueAsDate): 4012 Add WEEK type handling and avoid default:. 4013 * html/ISODateTime.cpp: 4014 (WebCore::offsetTo1stWeekStart): 4015 (WebCore::ISODateTime::setMillisecondsSinceEpochForWeek): 4016 (WebCore::ISODateTime::millisecondsSinceEpoch): 4017 (WebCore::ISODateTime::toString): 4018 Add Week type support and avoid default:. 4019 * html/ISODateTime.h: 4020 4021 2010-01-24 Oliver Hunt <oliver (a] apple.com> 4022 4023 Reviewed by Darin Adler. 4024 4025 Object Serialization assumes deserialization will always occur in the context of a webpage 4026 https://bugs.webkit.org/show_bug.cgi?id=34056 4027 rdar://7573833 4028 4029 Added ClassInfo to JSDOMGlobalObject and make the window and worker class info 4030 inherit from it. With this in place we're able to determine whether a given 4031 global object is a DOMGlobalObject, and then use that information to avoid 4032 attempting to deserialize types that require the presence of the DOM. 4033 4034 No test as all global objects in webkit inherit from JSDOMGlobalObject. 4035 4036 * bindings/js/JSDOMGlobalObject.cpp: 4037 (WebCore::): 4038 * bindings/js/JSDOMGlobalObject.h: 4039 (WebCore::JSDOMGlobalObject::classInfo): 4040 * bindings/js/JSDOMWindowBase.cpp: 4041 (WebCore::): 4042 * bindings/js/JSWorkerContextBase.cpp: 4043 (WebCore::): 4044 * bindings/js/SerializedScriptValue.cpp: 4045 (WebCore::DeserializingTreeWalker::DeserializingTreeWalker): 4046 (WebCore::DeserializingTreeWalker::convertIfTerminal): 4047 4048 2010-01-24 Eric Carlson <eric.carlson (a] apple.com> 4049 4050 Reviewed by Simon Fraser. 4051 4052 https://bugs.webkit.org/show_bug.cgi?id=34047 4053 <rdar://problem/7573699> 4054 Media element "endedPlayback" logic doesn't match spec 4055 4056 Test: media/video-timeupdate-reverse-play.html 4057 4058 * html/HTMLMediaElement.cpp: 4059 (WebCore::HTMLMediaElement::ended): The 'ended' attribute should only be true when playback 4060 rate is positive. 4061 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Always schedule a 'timeupdate' event when 4062 the media engine signals a time discontinuity, scheduleTimeupdateEvent will only queue an event 4063 if one hasn't already been posted for the current movie time. 4064 (WebCore::HTMLMediaElement::endedPlayback): Update to match the spec logic. 4065 4066 2010-01-23 Simon Fraser <simon.fraser (a] apple.com> 4067 4068 Reviewed by Darin Adler. 4069 4070 Video that loads inside reflection doesn't get reflected 4071 https://bugs.webkit.org/show_bug.cgi?id=34046 4072 4073 ensureCloneLayers() made an incorrect assumption that if a clone of the primaryLayer 4074 exists already, then the structural layer and content layer can just be returned. 4075 However, this doesn't account for the situation where a content layer may have 4076 been create after the clone tree was last updated. 4077 4078 Fix by always creating the structural and clone layers on demand. 4079 4080 Test: compositing/reflections/load-video-in-reflection.html 4081 4082 * platform/graphics/mac/GraphicsLayerCA.h: Added utility method, findOrMakeClone(). 4083 * platform/graphics/mac/GraphicsLayerCA.mm: 4084 (WebCore::GraphicsLayerCA::findOrMakeClone): Utility that efficiently finds 4085 or creates a layer in a LayerMap. 4086 (WebCore::GraphicsLayerCA::ensureCloneLayers): Always look for or clone the 4087 structural and content layers, rather than relying on whether there's a primary 4088 layer clone already. 4089 4090 2010-01-23 Oliver Hunt <oliver (a] apple.com> 4091 4092 Reviewed by Maciej Stachowiak. 4093 4094 Implement support for FileList cloning in postMessage 4095 https://bugs.webkit.org/show_bug.cgi?id=34048 4096 4097 Support passing FileList through postMessage APIs. Basically 4098 mechanical task in line with other terminals in the object 4099 graph. 4100 4101 * bindings/js/SerializedScriptValue.cpp: 4102 (WebCore::SerializedFileList::create): 4103 (WebCore::SerializedFileList::length): 4104 (WebCore::SerializedFileList::item): 4105 (WebCore::SerializedFileList::SerializedFileList): 4106 (WebCore::SerializedScriptValueData::SerializedScriptValueData): 4107 (WebCore::SharedSerializedData::asFileList): 4108 (WebCore::SerializingTreeWalker::convertIfTerminal): 4109 (WebCore::DeserializingTreeWalker::convertIfTerminal): 4110 (WebCore::TeardownTreeWalker::convertIfTerminal): 4111 Rearrange these functions to not use 'default:' handling 4112 so that the compiler will actually tell us when we're 4113 not handling cases. 4114 * bindings/js/SerializedScriptValue.h: 4115 (WebCore::SerializedScriptValueData::): 4116 (WebCore::SerializedScriptValueData::asFileList): 4117 4118 2010-01-23 Yury Semikhatsky <yurys (a] chromium.org> 4119 4120 Reviewed by Pavel Feldman. 4121 4122 Inject inspector script directly into the inspected context. All the 4123 communication between the script and the frontend is serialized into 4124 JSON strings. It allows to get rid of object quarantines in Web Inspector. 4125 4126 https://bugs.webkit.org/show_bug.cgi?id=32554 4127 4128 Test: inspector/console-log-before-inspector-open.html 4129 4130 * bindings/js/JSInjectedScriptHostCustom.cpp: 4131 (WebCore::JSInjectedScriptHost::databaseForId): 4132 (WebCore::JSInjectedScriptHost::currentCallFrame): 4133 (WebCore::JSInjectedScriptHost::nodeForId): 4134 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 4135 (WebCore::JSInjectedScriptHost::selectDatabase): 4136 (WebCore::JSInjectedScriptHost::selectDOMStorage): 4137 * bindings/js/ScriptCallStack.h: 4138 (WebCore::ScriptCallStack::globalState): 4139 * bindings/js/ScriptController.cpp: 4140 (WebCore::ScriptController::mainWorldScriptState): 4141 * bindings/js/ScriptController.h: 4142 * bindings/js/ScriptObject.h: 4143 (WebCore::ScriptObject::scriptState): 4144 * bindings/js/ScriptValue.cpp: 4145 * bindings/js/ScriptValue.h: 4146 * bindings/v8/ScriptCallStack.h: 4147 (WebCore::ScriptCallStack::globalState): 4148 * bindings/v8/ScriptObject.h: 4149 (WebCore::ScriptObject::scriptState): 4150 * bindings/v8/ScriptValue.h: 4151 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 4152 * inspector/ConsoleMessage.cpp: 4153 (WebCore::ConsoleMessage::ConsoleMessage): 4154 (WebCore::ConsoleMessage::addToConsole): 4155 (WebCore::ConsoleMessage::isEqual): 4156 * inspector/ConsoleMessage.h: 4157 * inspector/InjectedScriptHost.cpp: 4158 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup): 4159 * inspector/InjectedScriptHost.h: 4160 * inspector/InjectedScriptHost.idl: 4161 * inspector/InspectorBackend.cpp: 4162 (WebCore::InspectorBackend::setInjectedScriptSource): 4163 (WebCore::InspectorBackend::dispatchOnInjectedScript): 4164 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 4165 * inspector/InspectorBackend.h: 4166 * inspector/InspectorBackend.idl: 4167 * inspector/InspectorController.cpp: 4168 (WebCore::InspectorController::InspectorController): 4169 (WebCore::InspectorController::clearConsoleMessages): 4170 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 4171 (WebCore::InspectorController::windowScriptObjectAvailable): 4172 (WebCore::InspectorController::scriptObjectReady): 4173 (WebCore::InspectorController::setFrontendProxyObject): 4174 (WebCore::InspectorController::close): 4175 (WebCore::InspectorController::resetScriptObjects): 4176 (WebCore::InspectorController::didPause): 4177 (WebCore::InspectorController::injectedScriptForNodeId): 4178 * inspector/InspectorController.h: 4179 * inspector/InspectorFrontend.cpp: 4180 (WebCore::InspectorFrontend::addConsoleMessage): 4181 (WebCore::InspectorFrontend::pausedScript): 4182 * inspector/InspectorFrontend.h: 4183 * inspector/front-end/AuditsPanel.js: 4184 (WebInspector.AuditsPanel.prototype._reloadResources): 4185 * inspector/front-end/ConsoleView.js: 4186 (WebInspector.ConsoleView.prototype.requestClearMessages): 4187 (WebInspector.ConsoleView.prototype.doEvalInWindow): 4188 * inspector/front-end/DOMAgent.js: 4189 (WebInspector.DOMNode): 4190 (WebInspector.CSSStyleDeclaration): 4191 (WebInspector.CSSStyleDeclaration.parseRule): 4192 * inspector/front-end/Database.js: 4193 (WebInspector.Database.prototype.executeSql): 4194 * inspector/front-end/ElementsPanel.js: 4195 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): 4196 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 4197 (WebInspector.ElementsPanel.prototype.setDocument): 4198 (WebInspector.ElementsPanel.prototype.searchCanceled): 4199 (WebInspector.ElementsPanel.prototype.performSearch): 4200 * inspector/front-end/ElementsTreeOutline.js: 4201 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 4202 * inspector/front-end/EventListenersSidebarPane.js: 4203 (): 4204 * inspector/front-end/InjectedScript.js: 4205 (injectedScriptConstructor): 4206 (injectedScriptConstructor.): 4207 * inspector/front-end/InjectedScriptAccess.js: 4208 (InjectedScriptAccess): 4209 (InjectedScriptAccess.getDefault): 4210 (get InjectedScriptAccess): 4211 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): 4212 (InjectedScriptAccess._installHandler): 4213 * inspector/front-end/MetricsSidebarPane.js: 4214 (WebInspector.MetricsSidebarPane): 4215 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): 4216 * inspector/front-end/ObjectPropertiesSection.js: 4217 * inspector/front-end/ObjectProxy.js: 4218 (WebInspector.ObjectProxy): 4219 * inspector/front-end/PropertiesSidebarPane.js: 4220 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 4221 * inspector/front-end/ResourcesPanel.js: 4222 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 4223 * inspector/front-end/ScriptsPanel.js: 4224 * inspector/front-end/StylesSidebarPane.js: 4225 (WebInspector.StylePropertyTreeElement.prototype): 4226 * inspector/front-end/WatchExpressionsSidebarPane.js: 4227 (WebInspector.WatchExpressionsSection.prototype.update): 4228 * inspector/front-end/inspector.js: 4229 (WebInspector.loaded): 4230 (WebInspector.pausedScript): 4231 (WebInspector.addConsoleMessage): 4232 (WebInspector.log.logMessage): 4233 (WebInspector.log): 4234 4235 2010-01-22 Alex Milowski <alex (a] milowski.com> 4236 4237 Reviewed by David Hyatt. 4238 4239 Added support for RenderMathMLBlock base object and isRenderMathMLBlock() 4240 method on RenderObject. 4241 4242 Added support for text elements and updated tag and attribute names 4243 4244 Also, updated the stylesheet added files to the project 4245 4246 * DerivedSources.make: 4247 * WebCore.xcodeproj/project.pbxproj: 4248 * css/mathml.css: 4249 * mathml/MathMLInlineContainerElement.cpp: 4250 (WebCore::MathMLInlineContainerElement::createRenderer): 4251 * mathml/MathMLTextElement.cpp: Added. 4252 (WebCore::MathMLTextElement::MathMLTextElement): 4253 (WebCore::MathMLTextElement::create): 4254 (WebCore::MathMLTextElement::createRenderer): 4255 * mathml/MathMLTextElement.h: Added. 4256 * mathml/RenderMathMLBlock.cpp: Added. 4257 (WebCore::RenderMathMLBlock::RenderMathMLBlock): 4258 (WebCore::RenderMathMLBlock::styleDidChange): 4259 (WebCore::RenderMathMLBlock::isChildAllowed): 4260 (WebCore::RenderMathMLBlock::makeBlockStyle): 4261 (WebCore::RenderMathMLBlock::nonOperatorHeight): 4262 (WebCore::RenderMathMLBlock::stretchToHeight): 4263 * mathml/RenderMathMLBlock.h: Added. 4264 (WebCore::RenderMathMLBlock::isRenderMathMLBlock): 4265 (WebCore::RenderMathMLBlock::isRenderMathMLOperator): 4266 (WebCore::RenderMathMLBlock::isRenderMathMLRow): 4267 (WebCore::RenderMathMLBlock::isRenderMathMLMath): 4268 (WebCore::RenderMathMLBlock::hasBase): 4269 (WebCore::toRenderMathMLBlock): 4270 * mathml/mathattrs.in: Added. 4271 * rendering/RenderObject.h: 4272 (WebCore::RenderObject::isRenderMathMLBlock): 4273 4274 2010-01-22 James Robinson <jamesr (a] chromium.org> 4275 4276 Reviewed by Alexey Proskuryakov. 4277 4278 Ensures that the 'selected' attribute of an <option> is correct 4279 https://bugs.webkit.org/show_bug.cgi?id=32641 4280 4281 Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed, 4282 so the attribute is up to date more often. Also gets rid of most of the recalcStyle() side effects. 4283 4284 Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed. 4285 4286 Tests: fast/forms/HTMLOptionElement_selected2.html 4287 fast/forms/HTMLOptionElement_selected3.html 4288 4289 * dom/SelectElement.cpp: 4290 (WebCore::SelectElement::setOptionsChangedOnRenderer): 4291 (WebCore::SelectElement::setRecalcListItems): 4292 (WebCore::SelectElement::recalcListItems): 4293 (WebCore::SelectElement::restoreFormControlState): 4294 (WebCore::SelectElement::reset): 4295 (WebCore::SelectElement::typeAheadFind): 4296 * dom/SelectElement.h: 4297 * html/HTMLOptionElement.cpp: 4298 (WebCore::HTMLOptionElement::selected): 4299 (WebCore::HTMLOptionElement::insertedIntoTree): 4300 * html/HTMLSelectElement.cpp: 4301 (WebCore::HTMLSelectElement::recalcStyle): 4302 (WebCore::HTMLSelectElement::recalcListItemsIfNeeded): 4303 * html/HTMLSelectElement.h: 4304 * wml/WMLSelectElement.cpp: 4305 (WebCore::WMLSelectElement::recalcStyle): 4306 4307 2010-01-22 Chris Rogers <crogers (a] google.com> 4308 4309 Reviewed by Eric Seidel. 4310 4311 Need to handle WebGLUnsignedByteArray as method argument for V8 binding 4312 https://bugs.webkit.org/show_bug.cgi?id=33929 4313 4314 V8 code generator does not have associated tests 4315 4316 * bindings/scripts/CodeGeneratorV8.pm: 4317 4318 2010-01-22 Elliot Glaysher <erg (a] chromium.org> 4319 4320 Reviewed by David Levin. 4321 4322 Chromium: theme selection colors to match gtk theme 4323 Add functions to RenderThemeChromiumLinux to change the selection color 4324 according to the current GTK+ theme. 4325 4326 Since the change is to the Chromium WebKit API layer, testing is done 4327 in Chromium's test shell (see Chromium side of this patch: 4328 http://codereview.chromium.org/554004) 4329 4330 https://bugs.webkit.org/show_bug.cgi?id=33921 4331 4332 * rendering/RenderThemeChromiumLinux.cpp: 4333 (WebCore::RenderThemeChromiumLinux::platformActiveSelectionBackgroundColor): 4334 (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionBackgroundColor): 4335 (WebCore::RenderThemeChromiumLinux::platformActiveSelectionForegroundColor): 4336 (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionForegroundColor): 4337 (WebCore::RenderThemeChromiumLinux::setSelectionColors): 4338 * rendering/RenderThemeChromiumLinux.h: Adds static members. 4339 4340 2010-01-22 Kevin Watters <kevinwatters (a] gmail.com> 4341 4342 Reviewed by Kevin Ollivier. 4343 4344 [wx] Remove the Bakefile build system, which is no longer being used. 4345 4346 https://bugs.webkit.org/show_bug.cgi?id=34022 4347 4348 * WebCoreSources.bkl: Removed. 4349 * webcore-base.bkl: Removed. 4350 * webcore-wx.bkl: Removed. 4351 4352 2010-01-22 Peter Kasting <pkasting (a] google.com> 4353 4354 Reviewed by Darin Adler. 4355 4356 Remove unnecessary copy of zlib. 4357 https://bugs.webkit.org/show_bug.cgi?id=34028 4358 4359 * platform/image-decoders/zlib: Removed. 4360 * platform/image-decoders/zlib/adler32.c: Removed. 4361 * platform/image-decoders/zlib/compress.c: Removed. 4362 * platform/image-decoders/zlib/crc32.c: Removed. 4363 * platform/image-decoders/zlib/crc32.h: Removed. 4364 * platform/image-decoders/zlib/deflate.c: Removed. 4365 * platform/image-decoders/zlib/deflate.h: Removed. 4366 * platform/image-decoders/zlib/gzio.c: Removed. 4367 * platform/image-decoders/zlib/infback.c: Removed. 4368 * platform/image-decoders/zlib/inffast.c: Removed. 4369 * platform/image-decoders/zlib/inffast.h: Removed. 4370 * platform/image-decoders/zlib/inffixed.h: Removed. 4371 * platform/image-decoders/zlib/inflate.c: Removed. 4372 * platform/image-decoders/zlib/inflate.h: Removed. 4373 * platform/image-decoders/zlib/inftrees.c: Removed. 4374 * platform/image-decoders/zlib/inftrees.h: Removed. 4375 * platform/image-decoders/zlib/mozzconf.h: Removed. 4376 * platform/image-decoders/zlib/trees.c: Removed. 4377 * platform/image-decoders/zlib/trees.h: Removed. 4378 * platform/image-decoders/zlib/uncompr.c: Removed. 4379 * platform/image-decoders/zlib/zconf.h: Removed. 4380 * platform/image-decoders/zlib/zlib.h: Removed. 4381 * platform/image-decoders/zlib/zutil.c: Removed. 4382 * platform/image-decoders/zlib/zutil.h: Removed. 4383 4384 2010-01-22 Steve Falkenburg <sfalken (a] apple.com> 4385 4386 Reviewed by Darin Adler. 4387 4388 https://bugs.webkit.org/show_bug.cgi?id=34025 4389 Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets. 4390 4391 * Configurations/FeatureDefines.xcconfig: 4392 * DerivedSources.make: 4393 4394 2010-01-22 Simon Fraser <simon.fraser (a] apple.com> 4395 4396 Reviewed by Eric Carlson. 4397 4398 Race condition in video setup can force videos into software mode 4399 https://bugs.webkit.org/show_bug.cgi?id=34034 4400 4401 We used to call setUpVideoRendering() unconditionally from 4402 acceleratedRenderingStateChanged(); this could happen before the movie had any 4403 data, and thus force the movie into software rendering mode. 4404 4405 Fix by returning early from setUpVideoRendering() if isReadyForRendering() returns false, 4406 which also allows us to remove some other checks for being ready to render. 4407 4408 Timing dependent, hard to make a test for. 4409 4410 * platform/graphics/mac/GraphicsLayerCA.mm: 4411 (WebCore::GraphicsLayerCA::setContentsToMedia): Optimize to do an early return 4412 if passing in the same layer that is already being used. 4413 4414 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 4415 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Return without doing anything 4416 if not ready to render. 4417 (WebCore::MediaPlayerPrivate::updateStates): No need to call isReadyForRendering() 4418 any more, since setUpVideoRendering() does that. 4419 (WebCore::MediaPlayerPrivate::setVisible): No need to check the ready state; this 4420 is equivalent to the check inside of setUpVideoRendering(). 4421 4422 2010-01-22 Simon Fraser <simon.fraser (a] apple.com> 4423 4424 Reviewed by Dan Bernstein. 4425 4426 REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus 4427 https://bugs.webkit.org/show_bug.cgi?id=33821 4428 4429 Fix an issue with the geometry of fixed position, composited layers inside other 4430 composited layers. If we called convertToLayerCoords() on a fixed layer with an ancestor 4431 layer which is not the root, then we assumed that the fixed layer had a positioning root. 4432 However, this is not always the case, since the fixed layer may have a compositing ancestor 4433 which is not a fixed container. 4434 4435 Test: compositing/geometry/fixed-in-composited.html 4436 4437 * rendering/RenderLayer.cpp: 4438 (WebCore::isFixedPositionedContainer): Utility function to test whether a layer acts 4439 as a fixed position container. 4440 4441 (WebCore::RenderLayer::convertToLayerCoords): When called on a fixed position layer 4442 for an ancestor layer that is not the root, compute the correct offsets by looking for 4443 the fixed position container, and computing offsets relative to that. If the ancestorLayer 4444 is the fixed position container, fall through to the existing code that is shared 4445 with absolutely positioned layers. 4446 4447 2010-01-22 Simon Fraser <simon.fraser (a] apple.com> 4448 4449 Reviewed by Dan Bernstein. 4450 4451 webkitConvertPointFromNodeToPage doesn't take into account most recent transform style 4452 https://bugs.webkit.org/show_bug.cgi?id=34023 4453 4454 Be sure to call updateLayoutIgnorePendingStylesheets() before doing point mapping, 4455 to apply any style changes since the last layout. 4456 4457 Test: fast/dom/Window/webkitConvertPointUpdateLayout.html 4458 4459 * page/DOMWindow.cpp: 4460 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): Call updateLayoutIgnorePendingStylesheets(). 4461 (WebCore::DOMWindow::webkitConvertPointFromPageToNode): Ditto. 4462 4463 2010-01-22 Maciej Stachowiak <mjs (a] apple.com> 4464 4465 Reviewed by Adam Roben. 4466 4467 Use stale cache data when going back and forward but not using WebCores page cache 4468 https://bugs.webkit.org/show_bug.cgi?id=33993 4469 <rdar://problem/7383392> 4470 4471 No tests since this is a performance change. 4472 4473 * loader/CachePolicy.h: 4474 (WebCore::): Add CachePolicyAllowStale. 4475 * loader/DocLoader.cpp: 4476 (WebCore::DocLoader::checkForReload): Never reload in the case of 4477 CachePolicyAllowStale. 4478 * loader/FrameLoader.cpp: 4479 (WebCore::FrameLoader::subresourceCachePolicy): Return CachePolicyAllowStale 4480 if the main resource is being loaded to allow stale data. 4481 (WebCore::FrameLoader::addExtraFieldsToRequest): Use ReturnCacheDataElseLoad 4482 on back/forward loads - needed when going back of forward to a page with frames. 4483 4484 2010-01-22 Kelly Norton <knorton (a] google.com> 4485 4486 Reviewed by Pavel Feldman. 4487 4488 Web Inspector: JavaScript Error in DOMAgent.js:375 (_attributesUpdated) 4489 https://bugs.webkit.org/show_bug.cgi?id=33915 4490 4491 Errors were caused by the fact that Element::attributes calls Element::setAttribute to 4492 synchronized the styleAttr. The fix is to simply check the synchronizing style attribute 4493 flag. 4494 4495 * dom/Element.cpp: 4496 (WebCore::Element::setAttribute): Checked for case where styleAttr is being synchronized. 4497 4498 2010-01-22 Eric Carlson <eric.carlson (a] apple.com> 4499 4500 Reviewed by Simon Fraser. 4501 4502 Update r53711 for GraphicsLayer method rename. 4503 4504 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 4505 (WebCore::MediaPlayerPrivate::createLayerForMovie): Rename from change setContentsToVideo. 4506 4507 2010-01-22 Jian Li <jianli (a] chromium.org> 4508 4509 Reviewed by Darin Adler. 4510 4511 Add BlobConstructor to DOMWindow. 4512 https://bugs.webkit.org/show_bug.cgi?id=33982 4513 4514 * page/DOMWindow.idl: 4515 4516 2010-01-22 Brian Weinstein <bweinstein (a] apple.com> 4517 4518 Rubber-stamped by Adam Roben. 4519 4520 Commit files that were supposed to be part of r53696, but weren't 4521 landed. 4522 4523 * English.lproj/localizedStrings.js: 4524 * manual-tests/debugger-caught-uncaught-exceptions.html: Added. 4525 4526 2010-01-22 Peter Kasting <pkasting (a] google.com> 4527 4528 Reviewed by David Hyatt. 4529 4530 When scrolling by page, hold back 1/8th of the visible size instead of 4531 40 px. 4532 https://bugs.webkit.org/show_bug.cgi?id=32595 4533 4534 * editing/EditorCommand.cpp: 4535 (WebCore::verticalScrollDistance): 4536 * platform/ScrollView.cpp: 4537 (WebCore::ScrollView::updateScrollbars): 4538 (WebCore::ScrollView::wheelEvent): 4539 * platform/Scrollbar.h: 4540 * platform/wx/ScrollViewWx.cpp: 4541 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 4542 * rendering/RenderLayer.cpp: 4543 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 4544 4545 2010-01-22 Peter Kasting <pkasting (a] google.com> 4546 4547 Not reviewed, backout. 4548 4549 Back out r52673, which caused several regressions. 4550 https://bugs.webkit.org/show_bug.cgi?id=32533 4551 4552 * platform/PopupMenuClient.h: 4553 * platform/chromium/PopupMenuChromium.cpp: 4554 (WebCore::PopupContainer::hidePopup): 4555 (WebCore::PopupListBox::handleKeyEvent): 4556 (WebCore::PopupListBox::abandon): 4557 (WebCore::PopupListBox::acceptIndex): 4558 (WebCore::PopupListBox::selectIndex): 4559 (WebCore::PopupListBox::clearSelection): 4560 (WebCore::PopupListBox::hidePopup): 4561 * platform/gtk/PopupMenuGtk.cpp: 4562 (WebCore::PopupMenu::menuUnmapped): 4563 * platform/mac/PopupMenuMac.mm: 4564 (WebCore::PopupMenu::show): 4565 * platform/qt/QtAbstractWebPopup.cpp: 4566 (WebCore::QtAbstractWebPopup::popupDidHide): 4567 * platform/qt/QtAbstractWebPopup.h: 4568 * platform/win/PopupMenuWin.cpp: 4569 (WebCore::PopupMenu::hide): 4570 * platform/wx/PopupMenuWx.cpp: 4571 (WebCore::PopupMenu::OnMenuItemSelected): 4572 * rendering/RenderMenuList.cpp: 4573 (WebCore::RenderMenuList::popupDidHide): 4574 * rendering/RenderMenuList.h: 4575 * rendering/RenderTextControlSingleLine.cpp: 4576 (WebCore::RenderTextControlSingleLine::popupDidHide): 4577 * rendering/RenderTextControlSingleLine.h: 4578 4579 2010-01-22 Dan Bernstein <mitz (a] apple.com> 4580 4581 Rubber-stamped by Darin Adler. 4582 4583 Revert r53693 because it broke scrolling of pages with fixed elements on 4584 Mac OS X. 4585 4586 * page/FrameView.cpp: 4587 * page/FrameView.h: 4588 * platform/ScrollView.cpp: 4589 (WebCore::ScrollView::scrollContents): 4590 * platform/ScrollView.h: 4591 * rendering/RenderObject.cpp: 4592 (WebCore::RenderObject::styleWillChange): 4593 (WebCore::RenderObject::destroy): 4594 4595 2010-01-22 Alexey Proskuryakov <ap (a] apple.com> 4596 4597 Reviewed by Darin Adler. 4598 4599 https://bugs.webkit.org/show_bug.cgi?id=34008 4600 Assertion failure in KURL::setProtocol when running DOM Fuzzer 4601 4602 Test: fast/dom/Window/invalid-protocol.html 4603 4604 * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setProtocol): Raise an exception 4605 if KURL::setProtocol fails. 4606 4607 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setProtocol): Move argument 4608 tweaking logic into KURL. This way, the ':' trick applies to both JSLocation and 4609 HTMLAnchorElement, matching IE (but not Firefox). IE behavior is more permissive, and even 4610 more logical in my opinion. 4611 4612 * loader/FrameLoader.cpp: (WebCore::FrameLoader::iconURL): Assert that setting protocol 4613 succeeded. 4614 4615 * platform/KURL.cpp: (WebCore::KURL::setProtocol): Remove everything past ':', if present. 4616 Return false if the protocol to set is not valid. 4617 (WebCore::isValidProtocol): Made this work correctly for empty strings. 4618 4619 * platform/KURL.h: isValidProtocol() is now static in KURL.cpp, it's only used in setProtocol(). 4620 4621 * platform/KURLGoogle.cpp: 4622 (WebCore::KURL::setProtocol): Always return true. This should hopefully prevent Chromium build 4623 breakage, alhough tests will likely fail. 4624 (WebCore::isValidProtocol): Removed, as this isn't used at the moment. 4625 4626 * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies): 4627 Assert that setting protocol succeeded. 4628 4629 2010-01-22 Eric Carlson <eric.carlson (a] apple.com> 4630 4631 Reviewed by Adam Roben. 4632 4633 <rdar://problem/7373568> 4634 https://bugs.webkit.org/show_bug.cgi?id=34007 4635 Implement hardware acceleration of video compositing on Windows 4636 4637 Internally we still have QuickTime render to a bitmap, but frames are then composited 4638 with the page using an accelerated renderer. 4639 4640 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 4641 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_newFrameAvailable. 4642 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call tearDownVideoRendering. 4643 (WebCore::MediaPlayerPrivate::cancelLoad): Call tearDownVideoRendering. 4644 (WebCore::MediaPlayerPrivate::updateStates): Call setUpVideoRendering once the movie 4645 is ready to draw. 4646 (WebCore::MediaPlayerPrivate::isReadyForRendering): New, utility function returns true 4647 only when movie is ready to render. 4648 (WebCore::MediaPlayerPrivate::setSize): Remember the size as we need it when rendering 4649 in accelerated mode. 4650 (WebCore::MediaPlayerPrivate::setVisible): Call setUpVideoRendering when made visible. 4651 (WebCore::MediaPlayerPrivate::paint): Do nothing when rendering to a layer. Move frame 4652 rate drawing code to paintCompleted. 4653 (WebCore::MediaPlayerPrivate::paintCompleted): New, clear m_newFrameAvailable and, when 4654 built with DRAW_FRAME_RATE, draw framerate. 4655 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Set m_newFrameAvailable, trigger 4656 repaint differently when drawing to a layer. 4657 (WebCore::MediaPlayerPrivate::currentRenderingMode): New, return the current rendering mode. 4658 (WebCore::MediaPlayerPrivate::preferredRenderingMode): New, return preferred rendering mode 4659 (render to a layer whenever possible). 4660 (WebCore::MediaPlayerPrivate::setUpVideoRendering): New, tear down current rendering mode 4661 and set up new mode when necessary. 4662 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): New, noop unless rendering to a layer. 4663 (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): New. 4664 (WebCore::MediaPlayerPrivate::paintContents): New, callback from compositing layer when it 4665 is time to draw the current frame. 4666 (WebCore::MediaPlayerPrivate::createLayerForMovie): New, allocate a layer for the movie. 4667 (WebCore::MediaPlayerPrivate::destroyLayerForMovie): New, delete movie layer. 4668 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): New, return true unless the 4669 movie is not ready to render. 4670 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): New, deal with change in 4671 accelerated rendering state. 4672 (WebCore::MediaPlayerPrivate::notifySyncRequired): New, callback from compositing layer 4673 when it wants to schedule a redraw. 4674 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 4675 (WebCore::MediaPlayerPrivate::notifyAnimationStarted): 4676 (WebCore::MediaPlayerPrivate::showDebugBorders): 4677 (WebCore::MediaPlayerPrivate::showRepaintCounter): 4678 4679 * platform/graphics/win/QTMovieWin.cpp: 4680 (QTMovieWin::getCurrentFrameInfo): 4681 New, return information about the offscreen render buffer. 4682 (QTMovieWin::initializeQuickTime): 4683 * platform/graphics/win/QTMovieWin.h: 4684 4685 2010-01-21 Jeremy Orlow <jorlow (a] chromium.org> 4686 4687 Reviewed by Darin Fisher. 4688 4689 The Chromium WebKit API needs to expose storage event related data 4690 https://bugs.webkit.org/show_bug.cgi?id=33985 4691 4692 This change is not visible to layoutTests/web pages. 4693 4694 * storage/StorageArea.h: 4695 * storage/StorageAreaImpl.cpp: 4696 (WebCore::StorageAreaImpl::setItem): return the old value 4697 (WebCore::StorageAreaImpl::removeItem): return the old value 4698 (WebCore::StorageAreaImpl::clear): return whether there was anything to clear 4699 * storage/StorageAreaImpl.h: 4700 4701 2010-01-22 Adele Peterson <adele (a] apple.com> 4702 4703 Reviewed by Dan Bernstein. 4704 4705 An element that doesn't validate and an invalid element shouldn't share style 4706 https://bugs.webkit.org/show_bug.cgi?id=34010 4707 4708 Test: fast/css/pseudo-invalid-novalidate-001.html 4709 4710 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): 4711 Separate the check for willValidate from the check for isValidFormControlElement. 4712 * html/HTMLFormControlElement.h: The validity method doesn't need to be virtual. 4713 4714 2010-01-22 Steve Falkenburg <sfalken (a] apple.com> 4715 4716 Reviewed by Dan Bernstein. 4717 4718 Crash in fast/dom/Window/window-properties if Geolocation enabled 4719 https://bugs.webkit.org/show_bug.cgi?id=34013 4720 4721 Add null check to fix Geolocation crash in fast/dom/Window/window-properties. 4722 4723 * page/Geolocation.cpp: 4724 (WebCore::createGeoposition): 4725 4726 2010-01-22 Kent Hansen <kent.hansen (a] nokia.com> 4727 4728 Reviewed by Darin Adler. 4729 4730 Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain 4731 https://bugs.webkit.org/show_bug.cgi?id=33948 4732 4733 Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(), 4734 that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor(). 4735 4736 This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames(). 4737 4738 Test: fast/dom/Window/window-property-descriptors.html 4739 4740 * bindings/js/JSDOMWindowCustom.cpp: 4741 (WebCore::JSDOMWindow::getOwnPropertyDescriptor): 4742 4743 2010-01-22 Girish Ramakrishnan <girish (a] forwardbias.in> 4744 4745 Reviewed by Simon Hausmann. 4746 4747 [Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup 4748 4749 The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will 4750 need it to create a QGraphicsProxyWidget (in a future commit) for the 4751 QGraphicsWebView's web popup. 4752 4753 * platform/qt/PopupMenuQt.cpp: 4754 (WebCore::PopupMenu::show): 4755 * platform/qt/QtAbstractWebPopup.cpp: 4756 (WebCore::QtAbstractWebPopup::QtAbstractWebPopup): 4757 (WebCore::QtAbstractWebPopup::popupDidHide): 4758 (WebCore::QtAbstractWebPopup::valueChanged): 4759 (WebCore::QtAbstractWebPopup::itemType): 4760 * platform/qt/QtAbstractWebPopup.h: 4761 (WebCore::QtAbstractWebPopup::itemText): 4762 (WebCore::QtAbstractWebPopup::itemToolTip): 4763 (WebCore::QtAbstractWebPopup::itemIsEnabled): 4764 (WebCore::QtAbstractWebPopup::itemCount): 4765 (WebCore::QtAbstractWebPopup::pageClient): 4766 (WebCore::QtAbstractWebPopup::font): 4767 4768 2010-01-22 Simon Hausmann <simon.hausmann (a] nokia.com> 4769 4770 Unreviewed Qt "build" fix. 4771 4772 * WebCore.pro: Fix warning about missing header file that isn't present anymore. 4773 4774 2010-01-22 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 4775 4776 Reviewed by Gustavo Noronha Silva. 4777 4778 Update copy of the source whenever playbin2's source property 4779 changes. 4780 4781 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 4782 (WebCore::mediaPlayerPrivateSourceChangedCallback): 4783 (WebCore::MediaPlayerPrivate::updateStates): 4784 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 4785 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 4786 Connect to the notify::source signal and update the source 4787 element pointer from there. This makes sure that we never 4788 store a pointer to an old source element. 4789 4790 2010-01-22 Brian Weinstein <bweinstein (a] apple.com> 4791 4792 Reviewed by Timothy Hatcher. 4793 4794 Web Inspector: Caught exceptions still pause the debugger. 4795 <https://bugs.webkit.org/show_bug.cgi?id=28622>. 4796 4797 Turn the pauseOnExceptions variable from a bool to an int, because we now have 4798 3 states, in an enum: DontPauseOnExceptions, PauseOnAllExceptions, and 4799 PauseOnUncaughtExceptions. The status button for pausing on exceptions is now 4800 a tri-state button, which cycles from Don't pause (no background) to Pause on All 4801 (blue background) to Pause on Uncaught (purple background). 4802 4803 Also added the ability for a status button to have more than 2 states, and added 4804 style rules for a CSS three state button. 4805 4806 Added a manual test, manual-tests/debugger-caught-uncaught-exceptions.html, that 4807 generates caught and uncaught exceptions. 4808 4809 * English.lproj/localizedStrings.js: Added updated Action / Click to Action text. 4810 * inspector/InspectorBackend.cpp: 4811 (WebCore::InspectorBackend::pauseOnExceptions): Changed from a bool to an int. 4812 (WebCore::InspectorBackend::setPauseOnExceptions): Ditto. 4813 * inspector/InspectorBackend.h: Ditto. 4814 * inspector/InspectorBackend.idl: Ditto. 4815 * inspector/JavaScriptDebugServer.cpp: 4816 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Changed from bool to PauseOnExceptionsState. 4817 (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Ditto. 4818 (WebCore::JavaScriptDebugServer::exception): Updated logic to see if we are breaking 4819 on uncaught exceptions, and check if we have a handler. 4820 * inspector/JavaScriptDebugServer.h: 4821 (WebCore::JavaScriptDebugServer::): Changed from bool to PauseOnExceptionsState. 4822 (WebCore::JavaScriptDebugServer::pauseOnExceptions): Ditto. 4823 * inspector/front-end/InspectorBackendStub.js: 4824 (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptionsState): Changed from returning false to returning 0 (stub function). 4825 * inspector/front-end/ScriptsPanel.js: 4826 (WebInspector.ScriptsPanel): 4827 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): Updated to new text/new cycling of variables. 4828 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): Updated to new text/new cycling of variables. 4829 * inspector/front-end/StatusBarButton.js: 4830 (WebInspector.StatusBarButton): Added the option for a different number of states. 4831 (WebInspector.StatusBarButton.prototype.set toggled): Added rules to toggle on/off with multiple states. 4832 * inspector/front-end/inspector.css: Added rules for toggled-1 and toggled-2. 4833 * manual-tests/debugger-caught-uncaught-exceptions.html: Added. 4834 4835 2010-01-22 Ben Murdoch <benm (a] google.com> 4836 4837 Reviewed by Eric Seidel. 4838 4839 [Android] Android platform specific PlatformTouchEvent and PlatformTouchPoint implementations are not upstream. 4840 https://bugs.webkit.org/show_bug.cgi?id=33719 4841 4842 Add the Android specific files and update the Android makefile. 4843 4844 No new tests as this is all Android-specific code. 4845 4846 * Android.mk: Add Touch event related files to the makefile. 4847 * platform/PlatformTouchEvent.h: Add Android constructor. 4848 * platform/PlatformTouchPoint.h: Ditto. 4849 * platform/android/PlatformTouchEventAndroid.cpp: Added. 4850 (WebCore::PlatformTouchEvent::PlatformTouchEvent): Android implementation. 4851 * platform/android/PlatformTouchPointAndroid.cpp: Added. 4852 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Android implementation. 4853 4854 2010-01-22 Benjamin Poulain <benjamin.poulain (a] nokia.com> 4855 4856 Reviewed by Kenneth Rohde Christiansen. 4857 4858 Do not render the full frame when there is some elements with fixed positioning 4859 https://bugs.webkit.org/show_bug.cgi?id=33150 4860 4861 The RenderObjects with fixed position register to the view 4862 to be taken into account while scrolling. 4863 The scrolling code update specifically those elements after blitting the pixels. 4864 4865 * page/FrameView.cpp: 4866 (WebCore::FrameView::registerFixedPositionedObject): 4867 (WebCore::FrameView::unregisterFixedPositionedObject): 4868 (WebCore::FrameView::scrollContentsFastPath): 4869 * page/FrameView.h: 4870 * platform/ScrollView.cpp: 4871 (WebCore::ScrollView::scrollContents): 4872 (WebCore::ScrollView::scrollContentsFastPath): 4873 * platform/ScrollView.h: 4874 * rendering/RenderObject.cpp: 4875 (WebCore::RenderObject::styleWillChange): 4876 (WebCore::RenderObject::destroy): 4877 4878 2010-01-22 Anton Muhin <antonm (a] chromium.org> 4879 4880 Reviewed by Eric Seidel. 4881 4882 Adding ScriptWrappable into WebCore. 4883 This allows to associate custom information when Node 4884 gets wrapped into JavaScript wrapper. 4885 4886 [v8, dom] Add a pointer field to C++ Node class 4887 https://bugs.webkit.org/show_bug.cgi?id=32430 4888 4889 * WebCore.gypi: 4890 * WebCore.pro: 4891 * WebCore.vcproj/WebCore.vcproj: 4892 * WebCore.xcodeproj/project.pbxproj: 4893 * bindings/js/ScriptWrappable.h: Added. 4894 (WebCore::ScriptWrappable::ScriptWrappable): 4895 * bindings/v8/ScriptWrappable.h: Added. 4896 (WebCore::ScriptWrappable::ScriptWrappable): 4897 (WebCore::ScriptWrappable::wrapper): 4898 (WebCore::ScriptWrappable::setWrapper): 4899 (WebCore::ScriptWrappable::clearWrapper): 4900 * dom/Node.h: 4901 4902 2010-01-22 Yury Semikhatsky <yurys (a] chromium.org> 4903 4904 Reviewed by Pavel Feldman. 4905 4906 Add stub implementation of dispatchOnInjectedScript method so that 4907 Chromium source can compile against it and the main fix for the bug 4908 28622 can be landed without breaking Chromium build. 4909 4910 https://bugs.webkit.org/show_bug.cgi?id=28622 4911 4912 * inspector/InspectorBackend.h: 4913 (WebCore::InspectorBackend::dispatchOnInjectedScript): 4914 4915 2010-01-22 Kwang Yul Seo <skyul (a] company100.net> 4916 4917 Reviewed by Dmitry Titov. 4918 4919 ENABLE(DATABASE) guard is missing in ScriptExecutionContext::~ScriptExecutionContext 4920 https://bugs.webkit.org/show_bug.cgi?id=33990 4921 4922 Add missing ENABLE(DATABASE) guard. 4923 4924 * dom/ScriptExecutionContext.cpp: 4925 (WebCore::ScriptExecutionContext::~ScriptExecutionContext): 4926 4927 2010-01-22 Xan Lopez <xlopez (a] igalia.com> 4928 4929 Reviewed by Gustavo Noronha. 4930 4931 [GTK] GObject DOM bindings 4932 https://bugs.webkit.org/show_bug.cgi?id=33590 4933 4934 * bindings/scripts/generate-bindings.pl: 4935 4936 2010-01-22 Xan Lopez <xlopez (a] igalia.com> 4937 4938 Reviewed by Gustavo Noronha. 4939 4940 [GTK] GObject DOM bindings 4941 https://bugs.webkit.org/show_bug.cgi?id=33590 4942 4943 Rename FEATURE_DEFINES_JAVASCRIPT to FEATURE_DEFINES and remove 4944 the hardcoded LANGUAGE_JAVASCRIPT=1, in preparation for its use by 4945 the GObject DOM bindings. 4946 4947 * GNUmakefile.am: 4948 4949 2010-01-22 Dan Bernstein <mitz (a] apple.com> 4950 4951 Reviewed by Darin Adler. 4952 4953 <rdar://problem/7568696> Zoom applied to embedded SVG incorrectly 4954 https://bugs.webkit.org/show_bug.cgi?id=33988 4955 4956 Test: svg/custom/text-zoom.xhtml 4957 4958 * svg/SVGSVGElement.cpp: 4959 (WebCore::SVGSVGElement::SVGSVGElement): Initialize m_scale. 4960 (WebCore::SVGSVGElement::currentScale): If this is the document element, 4961 return the frames zoom factor. Otherwise, return m_scale. 4962 (WebCore::SVGSVGElement::setCurrentScale): If this is the document element, 4963 set the frames zoom factor. Otherwise, set m_scale and mark for layout. 4964 * svg/SVGSVGElement.h: Added m_scale member. 4965 4966 2010-01-21 Adam Barth <abarth (a] webkit.org> 4967 4968 Reviewed by Eric Seidel. 4969 4970 [chromium] Add allowPlugins callback to allow per-site enabling of plugins 4971 https://bugs.webkit.org/show_bug.cgi?id=33974 4972 4973 Add a callback into the FrameLoaderClient to let the embedder enable or 4974 disable plugins on a per-site basis. 4975 4976 * loader/FrameLoader.cpp: 4977 (WebCore::FrameLoader::requestObject): 4978 * loader/FrameLoaderClient.h: 4979 (WebCore::FrameLoaderClient::allowPlugins): 4980 4981 2010-01-21 Tony Chang <tony (a] chromium.org> 4982 4983 Reviewed by Darin Adler. 4984 4985 https://bugs.webkit.org/show_bug.cgi?id=25501 4986 Remove empty font tags when applying a style to a content editable 4987 region. 4988 4989 Test: editing/execCommand/change-font.html 4990 4991 * editing/ApplyStyleCommand.cpp: 4992 (WebCore::isEmptyFontTag): 4993 4994 2010-01-21 Joe Mason <jmason (a] rim.com> 4995 4996 Reviewed by Darin Adler. 4997 4998 Promote pow argument to double to resolve ambiguous overload (compile fix for RVCT 4.0) 4999 https://bugs.webkit.org/show_bug.cgi?id=33952 5000 5001 * platform/graphics/filters/FEComponentTransfer.cpp: 5002 (WebCore::gamma): 5003 5004 2010-01-21 Andrei Popescu <andreip (a] google.com> 5005 5006 Reviewed by David Levin. 5007 5008 [Android] bindings/v8/ScriptController.cpp needs to include 5009 PlatformBridge.h instead of ChromiumBridge.h so that it can 5010 be used on both Chromium and Android. 5011 https://bugs.webkit.org/show_bug.cgi?id=33673 5012 5013 Add "static NPObject* pluginScriptableObject(Widget*);" method 5014 to PlatformBridge.h 5015 Include PlatformBridge.h from ScriptController.cpp. 5016 5017 No new tests, just platform code. 5018 5019 * bindings/v8/ScriptController.cpp: 5020 (WebCore::ScriptController::createScriptInstanceForWidget): 5021 * platform/android/PlatformBridge.h: 5022 5023 2010-01-21 Brady Eidson <beidson (a] apple.com> 5024 5025 Reviewed by Maciej Stachowiak. 5026 5027 history.back() for same-document history traversals isn't synchronous as the specification states. 5028 <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538 5029 5030 In resolving https://bugs.webkit.org/show_bug.cgi?id=25570, all history.back()/forward()/go() navigations 5031 were made asynchronous. That doesn't agree with the HTML5 spec and might have been overreaching for fixing 5032 that particular bug. In working with the new history state APIs I noticed some things that should've been 5033 possible were not possible because of this change. 5034 5035 The change in loading behavior is well covered via modifications to previous tests. 5036 5037 * loader/RedirectScheduler.cpp: 5038 (WebCore::RedirectScheduler::scheduleHistoryNavigation): Determine beforehand if the traversal is 5039 a same-document navigation. If it is, perform the load directly instead of scheduling it. 5040 5041 2010-01-21 Jakub Wieczorek <faw217 (a] gmail.com> 5042 5043 Reviewed by Tor Arne Vestb. 5044 5045 [Qt] Don't allow Phonon's invisible video widget to keep the app running. 5046 https://bugs.webkit.org/show_bug.cgi?id=33842 5047 5048 The change made in r38223 should not be limited to Qt < 4.5 only. 5049 5050 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 5051 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 5052 5053 2010-01-21 Kent Tamura <tkent (a] chromium.org> 5054 5055 Reviewed by Darin Adler. 5056 5057 HTMLInputElement::valueAsDate setter support for type=datetime. 5058 https://bugs.webkit.org/show_bug.cgi?id=33939 5059 5060 Introduce ISODateTime::setMillisecondsSinceEpochForDateTime() and add 5061 DateTime type support to ISODateTime::toString(). 5062 5063 * html/HTMLInputElement.cpp: 5064 (WebCore::HTMLInputElement::setValueAsDate): 5065 * html/ISODateTime.cpp: 5066 (WebCore::ISODateTime::setMillisecondsSinceEpochForDate): 5067 Set Invalid to m_type. 5068 (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTime): 5069 (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): 5070 Set Invalid to m_type. 5071 (WebCore::ISODateTime::setMillisecondsSinceMidnight): 5072 Set Invalid to m_type. 5073 (WebCore::ISODateTime::toString): 5074 Support DateTime type. This always produces UTC representation. 5075 * html/ISODateTime.h: 5076 5077 2010-01-21 Geoffrey Garen <ggaren (a] apple.com> 5078 5079 Reviewed by Sam Weinig. 5080 5081 Fixed <rdar://problem/7562574> ASSERT in WebCore::removeWrapper() at the 5082 end of run-webkit-tests 5083 5084 This was an ASSERT-only bug, introduced by isolated worlds, which 5085 created the novelty of a wrapper that might outlive its wrapper cache. 5086 5087 When a wrapper outlived its wrapper cache, both the wrapper's destructor 5088 and the wrapper cache's destructor would claim to have uncached the wrapper, 5089 causing an ASSERT to fire. 5090 5091 The solution is to distinguish between operations that logically add and 5092 remove cache entries, and operations that delete whole caches. We track 5093 when a cache entry is logically added, and when it's logically removed, 5094 independent of whether the actual cache still exists. 5095 5096 * bindings/js/JSDOMBinding.cpp: 5097 (WebCore::willCacheWrapper): 5098 (WebCore::didUncacheWrapper): New names for these functions to help 5099 explain what they track. 5100 5101 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Don't claim to uncache 5102 all the wrappers in the world; we're deleting the cache, not managing its 5103 entries. 5104 5105 (WebCore::cacheDOMObjectWrapper): 5106 (WebCore::forgetDOMObject): 5107 (WebCore::forgetDOMNode): 5108 (WebCore::cacheDOMNodeWrapper): 5109 (WebCore::forgetAllDOMNodesForDocument): 5110 (WebCore::forgetWorldOfDOMNodesForDocument): 5111 (WebCore::takeWrappers): 5112 (WebCore::updateDOMNodeDocument): Updated for renames. 5113 5114 2010-01-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 5115 5116 Reviewed by Sam Weinig. 5117 5118 SVG JS bindings "context" pointer needs to move onto binding impls 5119 https://bugs.webkit.org/show_bug.cgi?id=27243 5120 5121 Rewrite SVG DOM JSC bindings to use a global DOMObject <-> SVGElement context map, similar to V8's approach. 5122 This allows us to remove DOMObjectWithSVGContext and make all SVG JS objects use DOMObjectWithGlobalPointer. 5123 We're fitting again in JS_CELL_SIZE, and there's no need to special case SVG anymore. 5124 5125 Not adding a new test, as we have yet to identify how to test that we're passing around correct global objects. 5126 For now this is just a code cleanup which lets me continue making progress in that area of the code. 5127 5128 * GNUmakefile.am: Add new DOMObjectWithSVGContext.h to build. 5129 * WebCore.gypi: Ditto. 5130 * WebCore.vcproj/WebCore.vcproj: Ditto. 5131 * WebCore.xcodeproj/project.pbxproj: Ditto. 5132 * bindings/js/DOMObjectWithSVGContext.h: Removed. 5133 * bindings/js/JSDOMBinding.cpp: 5134 (WebCore::setDOMException): Add comment, that passing 0 context is intentional. 5135 * bindings/js/JSDOMBinding.h: 5136 (WebCore::createDOMObjectWrapper): Add to JSSVGContextCache, when creating wrappers. 5137 (WebCore::getDOMObjectWrapper): Add assertion guarding the JSSVGContextCache is in-sync with the passed context. 5138 * bindings/js/JSSVGContextCache.h: Added. Maps DOMObjects to SVGElements - just like V8 approachs to this problem. 5139 (WebCore::JSSVGContextCache::wrapperMap): 5140 (WebCore::JSSVGContextCache::addWrapper): 5141 (WebCore::JSSVGContextCache::forgetWrapper): 5142 (WebCore::JSSVGContextCache::propagateSVGDOMChange): 5143 (WebCore::JSSVGContextCache::svgContextForDOMObject): 5144 * bindings/js/JSSVGLengthCustom.cpp: Retrieve context from cache, instead of taking it from the JS* class. 5145 (WebCore::JSSVGLength::value): 5146 (WebCore::JSSVGLength::convertToSpecifiedUnits): 5147 * bindings/js/JSSVGMatrixCustom.cpp Ditto.: 5148 (WebCore::JSSVGMatrix::multiply): 5149 (WebCore::JSSVGMatrix::inverse): 5150 (WebCore::JSSVGMatrix::rotateFromVector): 5151 * bindings/js/JSSVGPODListCustom.h: Ditto. 5152 (WebCore::JSSVGPODListCustom::finishGetter): 5153 (WebCore::JSSVGPODListCustom::finishSetter): 5154 (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult): 5155 (WebCore::JSSVGPODListCustom::clear): 5156 (WebCore::JSSVGPODListCustom::initialize): 5157 * bindings/js/JSSVGPODTypeWrapper.h: Ditto. 5158 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange): 5159 (WebCore::JSSVGStaticPODTypeWrapper::commitChange): 5160 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange): 5161 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange): 5162 (WebCore::JSSVGPODTypeWrapperCreatorForList::create): 5163 (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange): 5164 * bindings/js/JSSVGPathSegCustom.cpp: Ditto. 5165 (WebCore::toJS): 5166 * bindings/js/JSSVGPathSegListCustom.cpp: Ditto. 5167 (WebCore::JSSVGPathSegList::clear): 5168 (WebCore::JSSVGPathSegList::initialize): 5169 (WebCore::JSSVGPathSegList::getItem): 5170 (WebCore::JSSVGPathSegList::insertItemBefore): 5171 (WebCore::JSSVGPathSegList::replaceItem): 5172 (WebCore::JSSVGPathSegList::removeItem): 5173 (WebCore::JSSVGPathSegList::appendItem): 5174 * bindings/scripts/CodeGeneratorJS.pm: 5175 * svg/SVGAngle.h: Remove unneeded associatedAttributeName() method. 5176 * svg/SVGPreserveAspectRatio.h: Ditto. 5177 * svg/SVGTransform.h: Ditto. 5178 5179 2010-01-21 Kevin Ollivier <kevino (a] theolliviers.com> 5180 5181 Build fix, add missing header. 5182 5183 * dom/ScriptExecutionContext.cpp: 5184 5185 2010-01-21 Simon Fraser <simon.fraser (a] apple.com> 5186 5187 Reviewed by Dan Bernstein. 5188 5189 -webkit-mask-box-image draws a box while loading 5190 https://bugs.webkit.org/show_bug.cgi?id=33979 5191 <rdar://problem/7378662> 5192 5193 Don't render masked elements until the mask images are fully loaded. 5194 5195 Test: http/tests/misc/slow-loading-mask.html 5196 5197 * rendering/RenderBox.cpp: 5198 (WebCore::RenderBox::paintMaskImages): Check that all mask images (both the single mask-box-image, 5199 and the possibly multiple mask-image) are fully loaded before allowing the masked content to render. 5200 If they are not fully loaded, use a fully transparent transparency layer. 5201 5202 * rendering/style/FillLayer.h: 5203 * rendering/style/FillLayer.cpp: 5204 (WebCore::FillLayer::imagesAreLoaded): New utility function that returns true if the image 5205 in every FillLayer is loaded. 5206 5207 2010-01-21 Darin Adler <darin (a] apple.com> 5208 5209 Reviewed by Mark Rowe. 5210 5211 REGRESSION (r52795): New message created in response to mailto: URL has random character in message body 5212 rdar://problem/7565902 5213 5214 This regression affects the Mac OS X Mail application. 5215 I was not able to find a simple way to create a regression test. 5216 5217 * platform/cf/SharedBufferCF.cpp: 5218 (WebCore::SharedBuffer::SharedBuffer): Initialize m_size to 0 as in the other constructors. 5219 5220 2010-01-21 Enrica Casucci <enrica (a] apple.com> 5221 5222 Reviewed by Darin Adler. 5223 5224 Script tags are copied and pasted, making cross-domain attacks possible. 5225 https://bugs.webkit.org/show_bug.cgi?id=33970 5226 5227 Tests: editing/pasteboard/paste-noscript-svg.html 5228 editing/pasteboard/paste-visible-script.html 5229 5230 We remove the content and the attributes of every script tag before 5231 pasting into the destination. 5232 5233 * dom/Element.cpp: 5234 (WebCore::Element::setAttributeMap): Now we are removing xlink:href 5235 if it contains javascript protocol. 5236 * html/HTMLParser.cpp: 5237 (WebCore::HTMLParser::parseToken): We strip all the script tag attributes 5238 we are parsing to create a fragment to paste. 5239 * html/HTMLTokenizer.cpp: 5240 (WebCore::HTMLTokenizer::HTMLTokenizer): 5241 (WebCore::HTMLTokenizer::scriptHandler): Removes the script text after it was parsed. 5242 * html/HTMLTokenizer.h: 5243 5244 2010-01-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 5245 5246 Reviewed by Dirk Schulze. 5247 5248 <use> with % lengths does not update on window resize 5249 https://bugs.webkit.org/show_bug.cgi?id=14639 5250 5251 appendChild broken for symbol-use 5252 https://bugs.webkit.org/show_bug.cgi?id=24802 5253 5254 Test: svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml 5255 svg/custom/svg/custom/relative-sized-use-on-symbol.xhtml 5256 5257 Fix reaction on window size changes for relative sized elements within <symbol> elements. 5258 Don't evaluate SVGUseElement width/height attributes in order to propagate them to the shadow tree, 5259 instead just propagate the attribute values itself so "100%" remains "100%" instead of being evaluated 5260 to an absolute pixel value in the parent <svg> user-space. 5261 5262 Needs another fix in SVGStyledElement::childrenChanged(), which is a regression from my last <use> 5263 patch, that hasn't been detected, as the use-dynamic-append.svg testcase was broken. 5264 5265 The combination of all the last <use> patches finally fixes the peepo.co.uk website, which was broken by several bugs for years. 5266 5267 * svg/SVGStyledElement.cpp: 5268 (WebCore::SVGStyledElement::childrenChanged): Need to mark shadow trees needing recalcs, even when parsing. 5269 * svg/SVGUseElement.cpp: 5270 (WebCore::SVGUseElement::svgAttributeChanged): Don't reclone for width/height attribute changes, just propagate them down the render tree 5271 (WebCore::updateContainerSize): Added helper function, updating the width/height attributes in the shadow tree. 5272 (WebCore::SVGUseElement::updateContainerSizes): 5273 (WebCore::SVGUseElement::buildShadowAndInstanceTree): Update container width/height after shadow tree creation, instead of doing it inbetween. 5274 (WebCore::SVGUseElement::buildShadowTree): Don't alter width/height attributes here anymore. 5275 (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto. 5276 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto. 5277 * svg/SVGUseElement.h: 5278 5279 2010-01-21 Alexey Proskuryakov <ap (a] apple.com> 5280 5281 Reviewed by Darin Adler. 5282 5283 https://bugs.webkit.org/show_bug.cgi?id=33972 5284 Assertion failure in FrameLoader::checkLoadComplete() 5285 5286 I couldn't make a test for this, after trying rather hard. I'm not too worried, because such 5287 a test has to depend on details of current implementation so intimately that it would become 5288 ineffective very quickly anyway. 5289 5290 * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): Stop the check timer, we 5291 don't need it after aborting load. 5292 5293 2010-01-21 Csaba Osztrogonc <ossy (a] webkit.org> 5294 5295 Reviewed by Dave Hyatt. 5296 5297 Buildfix for r53646. 5298 5299 * bindings/js/SerializedScriptValue.cpp: path of JSLock.h fixed. 5300 5301 2010-01-21 Csaba Osztrogonc <ossy (a] webkit.org> 5302 5303 Unreviewed buildfix after r53644. 5304 5305 * platform/Scrollbar.cpp: 5306 (WebCore::Scrollbar::scroll): missing HAVE(ACCESSIBILITY) guard added. 5307 5308 2010-01-21 Darin Fisher <darin (a] chromium.org> 5309 5310 Reviewed by David Levin. 5311 5312 Unnecessary call to HistoryItem::targetItem in HistoryController::pushState 5313 https://bugs.webkit.org/show_bug.cgi?id=33969 5314 5315 * loader/HistoryController.cpp: 5316 (WebCore::HistoryController::pushState): Remove unnecessary code. 5317 5318 2010-01-21 Dmitry Titov <dimich (a] chromium.org> 5319 5320 Not reviewed, Chromium build fix. Add AccessibilityScrollbar.h and .cpp to WebCore.gypi 5321 5322 * WebCore.gypi: 5323 5324 2010-01-21 Albert J. Wong <ajwong (a] chromium.org> 5325 5326 [chromium] Unreviewed build fix. 5327 5328 Fix possible use of initialized variable warning in release mode. 5329 5330 * bindings/v8/SerializedScriptValue.cpp: 5331 (WebCore::ZigZag::Deserializer::doDeserialize): 5332 5333 2010-01-21 Csaba Osztrogonc <ossy (a] webkit.org> 5334 5335 [Qt] Unreviewed buildfix after r53644. 5336 5337 * WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added. 5338 5339 2010-01-21 Dave Hyatt <hyatt (a] apple.com> 5340 5341 Reviewed by Oliver Hunt. 5342 5343 Make sure to do a JSLock before deserialization of script values, since they can heap allocate. 5344 5345 * bindings/js/SerializedScriptValue.cpp: 5346 (WebCore::SerializedScriptValueData::deserialize): 5347 5348 2010-01-21 Beth Dakin <bdakin (a] apple.com> 5349 5350 Reviewed by Oliver Hunt. 5351 5352 Fix for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION 5353 (Safari 4): AXValueChanged no longer sent for text area scrollbars 5354 -and corresponding- 5355 <rdar://problem/6942686> 5356 5357 New class AccessibilityScrollbar inherits directly from 5358 AccessibilityObject. 5359 * accessibility/AccessibilityScrollbar.cpp: Added. 5360 (WebCore::AccessibilityScrollbar::AccessibilityScrollbar): 5361 (WebCore::AccessibilityScrollbar::create): 5362 (WebCore::AccessibilityScrollbar::valueForRange): 5363 * accessibility/AccessibilityScrollbar.h: Added. 5364 (WebCore::AccessibilityScrollbar::setScrollbar): 5365 (WebCore::AccessibilityScrollbar::roleValue): 5366 (WebCore::AccessibilityScrollbar::accessibilityIsIgnored): 5367 (WebCore::AccessibilityScrollbar::size): 5368 (WebCore::AccessibilityScrollbar::elementRect): 5369 (WebCore::AccessibilityScrollbar::parentObject): 5370 5371 AXObjectCache::getOrCreate() now has a case for ScrollBarRole, 5372 which will create a new AccessibilityScrollbar. I also added a new 5373 version of postNotification() that does not require a renderer. The 5374 old postNotification() calls the new one. 5375 * accessibility/AXObjectCache.cpp: 5376 (WebCore::AXObjectCache::getOrCreate): 5377 (WebCore::AXObjectCache::postNotification): 5378 * accessibility/AXObjectCache.h: 5379 5380 When AX is enabled, getOrCreate an AccessibilityScrollbar and send 5381 a notification. 5382 * platform/Scrollbar.cpp: 5383 (WebCore::Scrollbar::scroll): 5384 5385 Fix project files. 5386 * GNUmakefile.am: 5387 * WebCore.vcproj/WebCore.vcproj: 5388 * WebCore.xcodeproj/project.pbxproj: 5389 * WebCoreSources.bkl: 5390 5391 2010-01-21 Eric Uhrhane <ericu (a] chromium.org> 5392 5393 Reviewed by Dmitry Titov. 5394 5395 Add changes missing from r53595, without which Chromium has no database. 5396 5397 https://bugs.webkit.org/show_bug.cgi?id=33966 5398 5399 No new tests - fixes database layout tests in Chromium. 5400 5401 * bindings/v8/RuntimeEnabledFeatures.cpp: 5402 * bindings/v8/RuntimeEnabledFeatures.h: 5403 5404 2010-01-21 Jakob Petsovits <jpetsovits (a] rim.com> 5405 5406 Reviewed by Adam Treat. 5407 5408 Don't call vgGetError()/eglGetError() repeatedly 5409 https://bugs.webkit.org/show_bug.cgi?id=33959 5410 5411 For vgGetError(), I missed the part of the spec where 5412 it says that calling that function clears the error 5413 and subsequent calls will return VG_NO_ERROR again. 5414 5415 For eglGetError(), the specification doesn't mention 5416 that kind of behavior, and interpretations seem to 5417 differ between EGL implementations (even within 5418 Khronos: the OpenVG reference implementation doesn't 5419 reset the error code - and even mentions the difference 5420 to vgGetError() in a comment - whereas the online 5421 OpenGL ES API document explicitly specifies clearing 5422 the error code). 5423 5424 It thus makes sense not to call either of the two 5425 error functions more than once for checking a single 5426 EGL/OpenVG call. This patch adapts assertions to 5427 accommodate for this behavior, and also needs to 5428 change surface creation methods as they previously 5429 relied on multiple calls of eglGetError(). 5430 5431 * platform/graphics/openvg/EGLDisplayOpenVG.cpp: 5432 (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): 5433 (WebCore::EGLDisplayOpenVG::createPbufferSurface): 5434 * platform/graphics/openvg/EGLDisplayOpenVG.h: 5435 * platform/graphics/openvg/EGLUtils.h: 5436 * platform/graphics/openvg/SurfaceOpenVG.cpp: 5437 (WebCore::SurfaceOpenVG::SurfaceOpenVG): 5438 * platform/graphics/openvg/SurfaceOpenVG.h: 5439 * platform/graphics/openvg/VGUtils.h: 5440 5441 2010-01-20 Simon Fraser <simon.fraser (a] apple.com> 5442 5443 Reviewed by Dave Hyatt. 5444 5445 Hit testing on composited plugins is broken 5446 https://bugs.webkit.org/show_bug.cgi?id=33927 5447 <rdar://problem/7559069> 5448 5449 RenderWidget::paint()'s strategy of moving widgets at paint time, using tx and ty, was flawed 5450 because tx,ty are not always root-relative, especially when painting into compositing layers. 5451 This would move widgets to the wrong location, which caused hit testing issues. 5452 5453 Widgets are usually positioned by layout. The one time this was not true was scrolling fixed-position 5454 elements, so we now reposition widgets after scrolling too. 5455 5456 There was a related problem, which was that widgets expect the graphics context to be set up for 5457 root-relative painting. To fix this, adjust the CTM and the paintRect when the widget's frameRect 5458 is in a different coordinate system to the painting offset. 5459 5460 Test: plugins/mouse-events-fixedpos.html 5461 5462 * page/FrameView.cpp: 5463 (WebCore::FrameView::scrollPositionChanged): Update widget positions, to handle widgets in fixed position 5464 elements, but only if we're not already inside of layout. 5465 5466 * platform/graphics/GraphicsContext.h: 5467 (WebCore::GraphicsContext::translate): Add a translate() convenience method that takes a FloatSize. 5468 5469 * platform/graphics/IntSize.h: 5470 (WebCore::IntSize::isZero): Add a convenience method for testing for a zero size. 5471 5472 * platform/mac/WidgetMac.mm: 5473 (WebCore::Widget::paint): Adjust a comment. 5474 5475 * rendering/RenderWidget.cpp: 5476 (WebCore::RenderWidget::paint): Detect when the widget's frame is in a different coordinate system 5477 to painting, and adjust the CTM and paintRect in that case. 5478 5479 2010-01-21 Andrei Popescu <andreip (a] google.com> 5480 5481 Reviewed by David Levin. 5482 5483 [Android] bindings/v8/NPV8Object.cpp does not compile on Android 5484 https://bugs.webkit.org/show_bug.cgi?id=33608 5485 5486 Use the standard WebKit header in bridge/npruntime.h. 5487 Include PlatformBridge.h instead of ChroimiumBridge.h. 5488 Add popupsAllowed() method to PlatformBridge.h on Android. 5489 Add ARRAYSIZE_UNSAFE to PlatformBridge.h on Android. 5490 5491 No new tests, fixing the build. 5492 5493 * bindings/v8/NPV8Object.cpp: 5494 (_NPN_Evaluate): 5495 * bindings/v8/NPV8Object.h: 5496 * platform/android/PlatformBridge.h: 5497 5498 2010-01-21 Andrei Popescu <andreip (a] google.com> 5499 5500 Reviewed by David Levin. 5501 5502 Add PlatformBridge.h header and a typedef to give ChromiumBridge a new name: PlatformBridge. 5503 https://bugs.webkit.org/show_bug.cgi?id=33917 5504 5505 No new tests needed, this is just to allow other methods to call ChromiumBridge 5506 using the new 'PlatformBridge' name. 5507 5508 * platform/chromium/PlatformBridge.h: Added. 5509 5510 2010-01-21 Csaba Osztrogonc <ossy (a] webkit.org> 5511 5512 [Qt] Unreviewed buildfix after r53625. 5513 5514 Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods 5515 https://bugs.webkit.org/show_bug.cgi?id=30106 5516 5517 * platform/qt/RenderThemeQt.cpp: 5518 (WebCore::RenderThemeQt::paintMediaSliderTrack): 5519 5520 2010-01-21 Andrei Popescu <andreip (a] google.com> 5521 5522 Reviewed by David Levin. 5523 5524 [Android] bindings/v8/V8DOMWrapper.h[cpp] are missing guards for XPATH and XSLT features 5525 https://bugs.webkit.org/show_bug.cgi?id=33944 5526 5527 Inside V8DOMWrapper.h[cpp], the code for XPATH and XSLT features is not guarded 5528 by the appropriate #if ENABLE(feature) macros. Add the missing guards. 5529 V8DOMWrapper.cpp includes ChromiumBridge.h for no reason. Remove the include. 5530 5531 No new tests needed, functionality not changed. 5532 5533 * bindings/v8/V8DOMWrapper.cpp: 5534 (WebCore::V8DOMWrapper::getTemplate): 5535 * bindings/v8/V8DOMWrapper.h: 5536 5537 2010-01-21 Eric Carlson <eric.carlson (a] apple.com> 5538 5539 Reviewed by Darin Adler. 5540 5541 Intermittent crash when media element is adopted by another document 5542 https://bugs.webkit.org/show_bug.cgi?id=33919 5543 rdar://problem/7557527 5544 5545 Test: media/adopt-node-crash.html 5546 5547 * html/HTMLMediaElement.cpp: 5548 (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Unregister for 5549 document callbacks. 5550 (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Register for 5551 document callbacks. 5552 * html/HTMLMediaElement.h: 5553 5554 2010-01-21 Adam Roben <aroben (a] apple.com> 5555 5556 More Windows build fixing 5557 5558 * WebCore.vcproj/WebCore.vcproj: Copy bridge/jsc in the post-build 5559 event of all configurations, not just Debug. 5560 5561 2010-01-21 Thiago Macieira <thiago.macieira (a] nokia.com> 5562 5563 Reviewed by Simon Hausmann. 5564 5565 [Qt] Fix incorrect dependency to QtXmlPatterns in generated include/QtWebKit/QtWebKit header 5566 5567 The generated file includes QtXmlPatterns/QtXmlPatterns, which is neither used/required by 5568 the public QtWebKit API nor will it be available if Qt is configured with -no-xmlpatterns. 5569 5570 * WebCore.pro: Trick syncqt to believe that xmlpatterns is not a dependency, so that it's not 5571 included in the generated file. It'll still be used and linked to with this trick. 5572 5573 2010-01-21 Steve Block <steveblock (a] google.com> 5574 5575 Unreviewed build fix. 5576 5577 Copy BridgeJSC.h to generated headers on Windows 5578 5579 No new tests, build fix only. 5580 5581 * WebCore.vcproj/WebCore.vcproj: 5582 5583 2010-01-21 Eric Carlson <eric.carlson (a] apple.com> 5584 5585 Reviewed by Darin Adler. 5586 5587 Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods 5588 https://bugs.webkit.org/show_bug.cgi?id=30106 5589 5590 No new tests, only dead code was removed. 5591 5592 * platform/graphics/MediaPlayer.cpp: 5593 * platform/graphics/MediaPlayer.h: 5594 * platform/graphics/MediaPlayerPrivate.h: 5595 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 5596 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 5597 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 5598 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 5599 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 5600 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 5601 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 5602 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 5603 (WebCore::MediaPlayerPrivate::currentTime): 5604 (WebCore::MediaPlayerPrivate::doSeek): 5605 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 5606 * platform/graphics/wince/MediaPlayerPrivateWince.h: 5607 5608 2010-01-21 Iain Campbell <iain.campbell (a] accenture.com> 5609 5610 Reviewed by Simon Hausmann. 5611 5612 [Qt] Simplify the qmake code for freezing QtWebKit on Symbian. 5613 5614 * WebCore.pro: 5615 5616 2010-01-21 Steve Block <steveblock (a] google.com> 5617 5618 Unreviewed speculative build fix for Windows. 5619 5620 Adds missing include path for JSCBridge.h on Windows, added in http://trac.webkit.org/changeset/53620 5621 5622 No new tests, build fix only. 5623 5624 * WebCore.vcproj/WebCoreCommon.vsprops: 5625 5626 2010-01-21 Steve Block <steveblock (a] google.com> 5627 5628 Unreviewed build fix. 5629 5630 Adds missing include path for JSCBridge.h, added in http://trac.webkit.org/changeset/53620 5631 5632 No new tests, build fix only. 5633 5634 * GNUmakefile.am: 5635 * WebCore.pro: 5636 * WebCore.vcproj/WebCore.vcproj: 5637 * WebCore.xcodeproj/project.pbxproj: 5638 5639 2010-01-21 Steve Block <steveblock (a] google.com> 5640 5641 Reviewed by David Levin. 5642 5643 Move bridge interfaces Field, Class, Instance and Array from Bridge to BridgeJSC 5644 https://bugs.webkit.org/show_bug.cgi?id=33589 5645 5646 These interfaces use JSC-specific types, so are moved out of Bridge.h to allow the file to 5647 be used with both JSC and V8. 5648 5649 No new tests, refactoring only. 5650 5651 * Android.jscbindings.mk: Modified. Removed Bridge.cpp and added BridgeJSC.cpp 5652 * GNUmakefile.am: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h] 5653 * WebCore.pro: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h] 5654 * WebCore.xcodeproj/project.pbxproj: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h] 5655 * WebCoreSources.bkl: Modified. Removed Bridge.cpp and added BridgeJSC.cpp 5656 * bridge/Bridge.cpp: Removed. 5657 * bridge/Bridge.h: Modfied. Moved Field, Class, Instance and Array interfaces to BridgeJSC.h 5658 * bridge/jsc: Added. 5659 * bridge/jsc/BridgeJSC.cpp: Copied from WebCore/bridge/Bridge.cpp. 5660 * bridge/jsc/BridgeJSC.h: Copied from WebCore/bridge/Bridge.h. 5661 5662 2010-01-21 Steve Block <steveblock (a] google.com> 5663 5664 Reviewed by David Levin. 5665 5666 Fixes style in WebCore/bridge/jni/JNIBridge 5667 https://bugs.webkit.org/show_bug.cgi?id=33914 5668 5669 No new tests, style fixes only. 5670 5671 * bridge/jni/JNIBridge.cpp: 5672 * bridge/jni/JNIBridge.h: 5673 5674 2010-01-13 Philippe Normand <pnormand (a] igalia.com> 5675 5676 Reviewed by Oliver Hunt. 5677 5678 [GTK] handle media redirections 5679 https://bugs.webkit.org/show_bug.cgi?id=33539 5680 5681 Media redirections support. 5682 5683 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 5684 (WebCore::mediaPlayerPrivateMessageCallback): 5685 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 5686 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 5687 (WebCore::MediaPlayerPrivate::mediaLocationChanged): 5688 (WebCore::MediaPlayerPrivate::loadNextLocation): 5689 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 5690 (WebCore::MediaPlayerPrivate::pipelineReset): 5691 5692 2010-01-21 No'am Rosenthal <noam.rosenthal (a] nokia.com> 5693 5694 Reviewed by Antti Koivisto. 5695 5696 [Qt] Implement GraphicsLayer for accelerated layer compositing 5697 https://bugs.webkit.org/show_bug.cgi?id=33514 5698 5699 No new tests: tests in LayoutTests/compositing are now relevant for 5700 QtWebkit! 5701 5702 * WebCore.pro: added accelerated-compositing related files 5703 * platform/graphics/GraphicsLayer.h: define Qt-specific implementation of GraphicsLayer 5704 * platform/graphics/qt/GraphicsLayerQt.cpp: Added. 5705 (WebCore::GraphicsLayerQtImpl::): Implementation of GraphicsLayer with 5706 a QGraphicsItem 5707 (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): save 5708 pixmap/color info for directly composited content 5709 (WebCore::GraphicsLayerQtImpl::State::State): save info for syncing 5710 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): ctor 5711 (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): dtor 5712 (WebCore::GraphicsLayerQtImpl::setBaseTransform): set Qt 5713 transformation in the way WebCore wants it 5714 (WebCore::GraphicsLayerQtImpl::opaqueArea): calculate opaque area 5715 based on info we have 5716 (WebCore::GraphicsLayerQtImpl::boundingRect): reimp QGraphicsItem 5717 (WebCore::GraphicsLayerQtImpl::paint): reimp QGraphicsItem 5718 (WebCore::GraphicsLayerQtImpl::drawContents): draw HTML/Pixmap/Color 5719 (WebCore::GraphicsLayerQtImpl::notifyChange): let WebCore know 5720 something has changed 5721 (WebCore::GraphicsLayerQtImpl::flushChanges): Make the changes appear 5722 on screen by setting them to QGraphicsItems 5723 (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): let WebCore 5724 know the QAnimation started 5725 (WebCore::GraphicsLayerQt::GraphicsLayerQt): ctor 5726 (WebCore::GraphicsLayerQt::~GraphicsLayerQt): dtor 5727 (WebCore::GraphicsLayer::create): hook for WebCore to know we're 5728 implementing compositing 5729 (WebCore::GraphicsLayer::compositingCoordinatesOrientation): hook for 5730 WebCore to know we use a top-down system 5731 (WebCore::GraphicsLayerQt::setNeedsDisplay): update the display 5732 (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): udpate part of the 5733 display 5734 (WebCore::GraphicsLayerQt::setName): reimp 5735 (WebCore::GraphicsLayerQt::setParent): reimp 5736 (WebCore::GraphicsLayerQt::setChildren): reimp 5737 (WebCore::GraphicsLayerQt::addChild): reimp 5738 (WebCore::GraphicsLayerQt::addChildAtIndex): reimp 5739 (WebCore::GraphicsLayerQt::addChildAbove): reimp 5740 (WebCore::GraphicsLayerQt::addChildBelow): reimp 5741 (WebCore::GraphicsLayerQt::replaceChild): reimp 5742 (WebCore::GraphicsLayerQt::removeFromParent): reimp 5743 (WebCore::GraphicsLayerQt::setMaskLayer): reimp 5744 (WebCore::GraphicsLayerQt::setPosition): reimp 5745 (WebCore::GraphicsLayerQt::setAnchorPoint): reimp 5746 (WebCore::GraphicsLayerQt::setSize): reimp 5747 (WebCore::GraphicsLayerQt::setTransform): reimp 5748 (WebCore::GraphicsLayerQt::setChildrenTransform): reimp 5749 (WebCore::GraphicsLayerQt::setPreserves3D): reimp 5750 (WebCore::GraphicsLayerQt::setMasksToBounds): reimp 5751 (WebCore::GraphicsLayerQt::setDrawsContent): reimp 5752 (WebCore::GraphicsLayerQt::setBackgroundColor): reimp 5753 (WebCore::GraphicsLayerQt::clearBackgroundColor): reimp 5754 (WebCore::GraphicsLayerQt::setContentsOpaque): reimp 5755 (WebCore::GraphicsLayerQt::setBackfaceVisibility): reimp 5756 (WebCore::GraphicsLayerQt::setOpacity): reimp 5757 (WebCore::GraphicsLayerQt::setContentsRect): reimp 5758 (WebCore::GraphicsLayerQt::setContentsToImage): reimp 5759 (WebCore::GraphicsLayerQt::setContentsBackgroundColor): reimp 5760 (WebCore::GraphicsLayerQt::setGeometryOrientation): reimp 5761 (WebCore::GraphicsLayerQt::setContentsOrientation): reimp 5762 (WebCore::GraphicsLayerQt::distributeOpacity): reimp 5763 (WebCore::GraphicsLayerQt::accumulatedOpacity): reimp 5764 (WebCore::GraphicsLayerQt::syncCompositingState): reimp 5765 (WebCore::GraphicsLayerQt::nativeLayer): reimp (QGraphicsItem*) 5766 (WebCore::GraphicsLayerQt::platformLayer): reimp (QGraphicsItem*) 5767 (WebCore::solveEpsilon): copy from AnimationBase.cpp 5768 (WebCore::solveCubicBezierFunction): copy from AniamtionBase.cpp 5769 (WebCore::applyTimingFunction): use WebCore's timing and not Qt's 5770 (WebCore::webkitAnimationToQtAnimationValue): safely figure out 5771 animation values 5772 (WebCore::AnimationQtBase::AnimationQtBase): base class for Qt-based 5773 Webcore-initiated animations 5774 (WebCore::AnimationQtBase::updateState): notify when an animation 5775 starts 5776 (WebCore::AnimationQtBase::duration): reimp QAbstractAnimation 5777 (WebCore::AnimationQt:::AnimationQtBase): 5778 (WebCore::AnimationQt::updateCurrentTime): realize keyframes from 5779 progress 5780 (WebCore::TransformAnimationQt::TransformAnimationQt): ctor 5781 (WebCore::TransformAnimationQt::~TransformAnimationQt): dtor 5782 (WebCore::TransformAnimationQt::applyFrame): set the actual QTransform 5783 based on WebCore TransformOperations 5784 (WebCore::TransformAnimationQt::updateState): change cache mode 5785 (WebCore::OpacityAnimationQt::OpacityAnimationQt): 5786 (WebCore::OpacityAnimationQt::applyFrame): change item's opacity 5787 (WebCore::OpacityAnimationQt::updateState): 5788 (WebCore::GraphicsLayerQt::addAnimation): convert WebCore Animation to 5789 Qt Animation 5790 (WebCore::GraphicsLayerQt::removeAnimationsForProperty): 5791 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes): 5792 (WebCore::GraphicsLayerQt::pauseAnimation): 5793 (WebCore::GraphicsLayerQt::suspendAnimations): 5794 (WebCore::GraphicsLayerQt::resumeAnimations): 5795 * platform/graphics/qt/GraphicsLayerQt.h: Added. 5796 * platform/qt/QWebPageClient.h: virtual functions for QGraphicsWebView 5797 compositing 5798 (QWebPageClient::setRootGraphicsLayer): let QGraphicsWebView know that 5799 compositing has started/ended 5800 (QWebPageClient::markForSync): let QGraphicsWebView know the 5801 compositing layers need to sync, either soon or with the next update 5802 5803 2010-01-21 No'am Rosenthal <noam.rosenthal (a] nokia.com> 5804 5805 Reviewed by Simon Hausmann. 5806 5807 [Qt] Adding QPixmap/QImage support for the Qt hybrid layer 5808 Allows accesing QPixmap and QImage based arguments from Qt signals, 5809 slots and properties 5810 This is done by an intermediate object that can be turned into 5811 web-based objects by calling either toHTMLImageElement() or 5812 toDataURL() 5813 https://bugs.webkit.org/show_bug.cgi?id=32461 5814 5815 Tests are in WebKit/qt/tests/hybridPixmap 5816 5817 * WebCore.pro: 5818 * bridge/qt/qt_pixmapruntime.cpp: Added. 5819 (JSC::Bindings::QtPixmapWidthField::name): "width" 5820 (JSC::Bindings::QtPixmapWidthField::valueFromInstance): width of 5821 pixmap 5822 (JSC::Bindings::QtPixmapWidthField::setValueToInstance): nothing 5823 (JSC::Bindings::QtPixmapHeightField::name): "height" 5824 (JSC::Bindings::QtPixmapHeightField::valueFromInstance): height of 5825 pixmap 5826 (JSC::Bindings::QtPixmapHeightField::setValueToInstance): nothing 5827 (JSC::Bindings::QtPixmapRuntimeMethod::numParameters): 0 5828 (JSC::Bindings::QtPixmapCreateElementMethod::name): toHTMLImageElement 5829 (JSC::Bindings::QtPixmapCreateElementMethod::invoke): creates an HTML 5830 element from the QPixmap 5831 (JSC::Bindings::QtPixmapToDataUrlMethod::name): "toDataURL" 5832 (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): encodes the image to 5833 a base64 data url 5834 (JSC::Bindings::QtPixmapToStringMethod::name): "toString" 5835 (JSC::Bindings::QtPixmapToStringMethod::invoke): [Qt Native Pixmap 5836 w,h] 5837 5838 (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure): 5839 runtime-object broilerplate 5840 (JSC::Bindings::QtPixmapRuntimeObjectImp::classInfo): ditto 5841 (JSC::Bindings::QtPixmapRuntimeObjectImp::QtPixmapRuntimeObjectImp): 5842 ditto 5843 (JSC::Bindings::): ditto 5844 (JSC::Bindings::QtPixmapClass::QtPixmapClass): class for the 5845 intermediate pixmap-holder 5846 (JSC::Bindings::QtPixmapInstance::getClass): ditto 5847 (JSC::Bindings::QtPixmapInstance::invokeMethod): ditto 5848 (JSC::Bindings::QtPixmapClass::methodsNamed): toHTMLImageElement, 5849 toDataURL 5850 (JSC::Bindings::QtPixmapClass::fieldNamed): width, height 5851 (JSC::Bindings::QtPixmapInstance::getPropertyNames): 5852 toHTMLImageElement, toDataURL, width, height 5853 (JSC::Bindings::QtPixmapInstance::defaultValue): nothing 5854 (JSC::Bindings::QtPixmapInstance::valueOf): toString 5855 (JSC::Bindings::data): holds a QVariant of type QImage/QPixmap 5856 (JSC::Bindings::QtPixmapInstance::width): width of the image/pixmap 5857 (JSC::Bindings::QtPixmapInstance::height): height of the image/pixmap 5858 (JSC::Bindings::QtPixmapInstance::toPixmap): converts to a QPixmap 5859 (JSC::Bindings::QtPixmapInstance::toImage): converts to a QImage 5860 (JSC::Bindings::QtPixmapInstance::variantFromObject): makes sure this 5861 is the right type of object, and creates a QVariant 5862 (JSC::Bindings::QtPixmapInstance::createRuntimeObject): creates a new 5863 intermediate pixmap holder from a QVariant 5864 (JSC::Bindings::QtPixmapInstance::canHandle): returns true if a 5865 QPixmap/QImage is required 5866 * bridge/qt/qt_pixmapruntime.h: Added. 5867 * bridge/qt/qt_runtime.cpp: hooks for the bridge 5868 (JSC::Bindings::convertValueToQVariant): handle QPixmap/QImage if the 5869 object is the intermediate pixmap holder or an HTMLImageElement 5870 (JSC::Bindings::convertQVariantToValue): creates the intermediate 5871 object from a QVariant of type QImage/QPixmap 5872 5873 2010-01-21 Luiz Agostini <luiz.agostini (a] openbossa.org> 5874 5875 Reviewed by Kenneth Rohde Christiansen. 5876 5877 [Qt] Custom select popups. 5878 https://bugs.webkit.org/show_bug.cgi?id=33418 5879 5880 Optimization of the WebCore support to combobox popup delegate. 5881 5882 * platform/qt/PopupMenuQt.cpp: 5883 (WebCore::PopupMenu::show): 5884 * platform/qt/QtAbstractWebPopup.cpp: 5885 (WebCore::QtAbstractWebPopup::QtAbstractWebPopup): 5886 (WebCore::QtAbstractWebPopup::itemType): 5887 * platform/qt/QtAbstractWebPopup.h: 5888 (WebCore::QtAbstractWebPopup::): 5889 (WebCore::QtAbstractWebPopup::itemText): 5890 (WebCore::QtAbstractWebPopup::itemToolTip): 5891 (WebCore::QtAbstractWebPopup::itemIsEnabled): 5892 (WebCore::QtAbstractWebPopup::itemCount): 5893 (WebCore::QtAbstractWebPopup::view): 5894 (WebCore::QtAbstractWebPopup::geometry): 5895 (WebCore::QtAbstractWebPopup::currentIndex): 5896 (WebCore::QtAbstractWebPopup::font): 5897 5898 2010-01-20 Adam Barth <abarth (a] webkit.org> 5899 5900 Reviewed by Darin Adler. 5901 5902 Stylesheet href property shows redirected URL unlike other browsers 5903 https://bugs.webkit.org/show_bug.cgi?id=33683 5904 5905 Teach StyleSheet the difference between original and final URLs in 5906 redirect chains. Unfortunately, StyleSheet needs to know both of these 5907 URLs. The original URL is needed for the href property and the final 5908 URL is needed as the baseURL. 5909 5910 This change required touching a lot of lines of code because we need to 5911 plumb this information to the StyleSheet object. I audited all 5912 existing clients of href() and setHref() to see whether they wanted the 5913 original or final URLs. I then updated the clients (except the JS 5914 bindings themselves) to use the correct accessor. 5915 5916 Test: http/tests/security/stylesheet-href-redirect.html 5917 5918 * css/CSSImportRule.cpp: 5919 (WebCore::CSSImportRule::setCSSStyleSheet): 5920 (WebCore::CSSImportRule::insertedIntoParent): 5921 * css/CSSImportRule.h: 5922 * css/CSSStyleSheet.cpp: 5923 (WebCore::CSSStyleSheet::CSSStyleSheet): 5924 * css/CSSStyleSheet.h: 5925 (WebCore::CSSStyleSheet::create): 5926 (WebCore::CSSStyleSheet::createInline): Added a new constructor to deal 5927 with "inline" style sheets that don't have a distinct original and 5928 final URL. 5929 * css/StyleBase.cpp: 5930 (WebCore::StyleBase::baseURL): This code wants to use the final URL, 5931 not the original URL. Updated it to grab the baseURL directly. 5932 * css/StyleSheet.cpp: 5933 (WebCore::StyleSheet::StyleSheet): 5934 * css/StyleSheet.h: 5935 (WebCore::StyleSheet::href): 5936 (WebCore::StyleSheet::setBaseURL): This function really just updates 5937 the base URL of the style sheet, so I made it more explicit. 5938 (WebCore::StyleSheet::putativeBaseURL): We need an accessor for the 5939 base URL, but baseURL is already taken. 5940 * dom/Document.cpp: 5941 (WebCore::Document::updateBaseURL): 5942 (WebCore::Document::pageUserSheet): 5943 (WebCore::Document::pageGroupUserSheets): 5944 (WebCore::Document::elementSheet): 5945 (WebCore::Document::mappedElementSheet): 5946 * dom/ProcessingInstruction.cpp: 5947 (WebCore::ProcessingInstruction::checkStyleSheet): 5948 (WebCore::ProcessingInstruction::setCSSStyleSheet): 5949 (WebCore::ProcessingInstruction::setXSLStyleSheet): 5950 * dom/ProcessingInstruction.h: 5951 * dom/StyleElement.cpp: 5952 (WebCore::StyleElement::createSheet): 5953 * html/HTMLLinkElement.cpp: 5954 (WebCore::HTMLLinkElement::setCSSStyleSheet): 5955 * html/HTMLLinkElement.h: 5956 * loader/CachedCSSStyleSheet.cpp: 5957 (WebCore::CachedCSSStyleSheet::didAddClient): 5958 (WebCore::CachedCSSStyleSheet::checkNotify): This code now passes both 5959 the original and final URL into setCSSStyleSheet so that the style 5960 sheet can have both. 5961 * loader/CachedResourceClient.h: 5962 (WebCore::CachedResourceClient::setCSSStyleSheet): 5963 (WebCore::CachedResourceClient::setXSLStyleSheet): 5964 * loader/CachedXSLStyleSheet.cpp: 5965 (WebCore::CachedXSLStyleSheet::didAddClient): 5966 (WebCore::CachedXSLStyleSheet::checkNotify): I don't have any direct 5967 evidence that we need to change the XSLStyleSheet behavior, which is 5968 why I wasn't able to add a test for the behavior. However, the objects 5969 are parallel enough that it seemed like the right thing to do. 5970 * xml/XSLImportRule.cpp: 5971 (WebCore::XSLImportRule::setXSLStyleSheet): 5972 (WebCore::XSLImportRule::loadSheet): 5973 * xml/XSLImportRule.h: 5974 * xml/XSLStyleSheet.h: 5975 (WebCore::XSLStyleSheet::create): 5976 (WebCore::XSLStyleSheet::createEmbedded): 5977 * xml/XSLStyleSheetLibxslt.cpp: 5978 (WebCore::XSLStyleSheet::XSLStyleSheet): 5979 (WebCore::XSLStyleSheet::parseString): 5980 (WebCore::XSLStyleSheet::loadChildSheets): 5981 * xml/XSLStyleSheetQt.cpp: 5982 (WebCore::XSLStyleSheet::XSLStyleSheet): 5983 * xml/XSLTProcessorLibxslt.cpp: 5984 (WebCore::xsltStylesheetPointer): 5985 * xml/XSLTProcessorQt.cpp: 5986 (WebCore::XSLTProcessor::transformToString): 5987 5988 2010-01-20 Kwang Yul Seo <skyul (a] company100.net> 5989 5990 Reviewed by Alexey Proskuryakov. 5991 5992 Use xmlStrdup instead of strdup for consistency in Libxml2. 5993 https://bugs.webkit.org/show_bug.cgi?id=33935 5994 5995 Remove the direct use of strdup. 5996 5997 * dom/XMLTokenizerLibxml2.cpp: 5998 (WebCore::PendingCallbacks::appendErrorCallback): 5999 (WebCore::PendingCallbacks::): 6000 (WebCore::XMLTokenizer::error): 6001 6002 2010-01-20 Oliver Hunt <oliver (a] apple.com> 6003 6004 Reviewed by Dan Bernstein. 6005 6006 Insufficient repaint issues with html embedded in foreignObject 6007 https://bugs.webkit.org/show_bug.cgi?id=16318 6008 6009 Final part of fix -- now we render the selection rect of list 6010 markers in a transformed context. 6011 6012 * rendering/RenderListMarker.cpp: 6013 (WebCore::RenderListMarker::localSelectionRect): 6014 (WebCore::RenderListMarker::paint): 6015 * rendering/RenderListMarker.h: 6016 6017 2010-01-20 Daniel Bates <dbates (a] webkit.org> 6018 6019 No review, rolling out 53591. 6020 http://trac.webkit.org/changeset/53591 6021 https://bugs.webkit.org/show_bug.cgi?id=29564 6022 6023 Rolling out the change committed in change set 53591 6024 <http://trac.webkit.org/changeset/53591> because it caused 6025 a regression of test /fast/replaced/table-percent-height.html 6026 on the Qt bot. 6027 6028 * platform/qt/RenderThemeQt.cpp: 6029 (WebCore::RenderThemeQt::adjustButtonStyle): 6030 6031 2010-01-20 Stephen White <senorblanco (a] chromium.org> 6032 6033 Reviewed by David Levin. 6034 6035 Disable the "seatbelt" coordinate validation functions in the 6036 Skia graphics layer. We believe all the underlying bugs have 6037 been fixed, but just in case we're being overly optimistic, this 6038 leaves in the code for an easy revert. 6039 6040 https://bugs.webkit.org/show_bug.cgi?id=33908 6041 Exercised by many layout tests. 6042 6043 * platform/graphics/skia/GraphicsContextSkia.cpp: 6044 6045 2010-01-20 Kent Tamura <tkent (a] chromium.org> 6046 6047 Reviewed by Darin Adler. 6048 6049 HTMLInputElement::valueAsDate setter support for type=date. 6050 https://bugs.webkit.org/show_bug.cgi?id=33911 6051 6052 Introduce ISODateTime::setMillisecondsSinceEpochForDate() and add Date 6053 type support to ISODateTime::toString(). 6054 6055 * html/HTMLInputElement.cpp: 6056 (WebCore::HTMLInputElement::setValueAsDate): 6057 * html/ISODateTime.cpp: 6058 (WebCore::ISODateTime::setMillisecondsSinceEpochForDate): 6059 (WebCore::ISODateTime::toString): 6060 * html/ISODateTime.h: 6061 6062 2010-01-20 Ben Murdoch <benm (a] google.com> 6063 6064 Reviewed by Simon Hausmann. 6065 6066 Touch Events are not sent to iframes 6067 https://bugs.webkit.org/show_bug.cgi?id=33894 6068 6069 Fix the touch event handler so it does not bail out early if the main frame document does not have any touch listeners registered, as there may be embedded iframes that have registered for touch events. 6070 6071 Test: fast/events/touch/touch-inside-iframe.html 6072 6073 * page/EventHandler.cpp: 6074 (WebCore::EventHandler::handleTouchEvent): Instead of looking at the document of the main frame to see if touch event listeners are registered, look at the document of the target element to account for iframes. 6075 6076 2010-01-20 Michael Nordman <michaeln (a] google.com> 6077 6078 Reviewed by Alexey Proskuryakov. 6079 6080 Remove an assertion that is not valid in some detached iframes cases. 6081 https://bugs.webkit.org/show_bug.cgi?id=33827 6082 6083 Test: http/tests/appcache/detached-iframe.html 6084 6085 * loader/appcache/DOMApplicationCache.cpp: 6086 (WebCore::DOMApplicationCache::DOMApplicationCache): 6087 6088 2010-01-20 Eric Uhrhane <ericu (a] chromium.org> 6089 6090 Reviewed by Dmitry Titov. 6091 6092 Refactoring and plumbing to get the HTML5 SQL Database API accessible to 6093 web workers. No new functionality is exposed yet; this just gets the 6094 infrastructure in place. It touches a lot of files in small ways; here 6095 are the main changes: 6096 6097 1) Database members and methods move from Document up to 6098 ScriptExecutionContext. Each of Document and WorkerContext must 6099 implement a few virtual methods where the Database code requires 6100 differentiation. 6101 2) Worker thread shutdown got changed a bunch to handle Database cleanup 6102 and thread synchronization issues. Database cleanup tasks need to post 6103 some cleanup tasks to the JavaScript thread. However, since database 6104 cleanup may happen due to the destruction of the WorkerThread, I added a 6105 handshake [involving WorkerThreadShutdownStartTask, 6106 WorkerThreadShutdownFinishTask, and a DatabaseTaskSynchronizer] between 6107 the Database thread and WorkerThread that cleans up all the Database 6108 stuff before the WorkerThread's runLoop can exit. 6109 3) The runtime enabler for the Database moved to a static variable 6110 accessible through Database::isAvailable, following the model used by 6111 WebSocket. 6112 4) Worker threads don't run their JavaScript on the Main thread, so 6113 Database code that differentiated between the Main thread and the 6114 Database thread now need to deal with a third possibility. 6115 5) Most of the other changes have to do with having a 6116 ScriptExecutionContext pointer instead of a Document pointer when 6117 dealing with a Database. In many cases it's just a string replacement, 6118 but in some it required the creation of a new virtual function [e.g. 6119 databaseExceededQuota, isDatabaseReadOnly] 6120 6121 https://bugs.webkit.org/show_bug.cgi?id=22725 6122 6123 No new tests; in a future patch I'll add JSC and V8 bindings and new 6124 layout tests to exercise them. 6125 6126 * bindings/v8/custom/V8DOMWindowCustom.cpp: 6127 (WebCore::V8DOMWindow::OpenDatabaseEnabled): 6128 * dom/Document.cpp: 6129 (WebCore::Document::Document): 6130 (WebCore::Document::~Document): 6131 (WebCore::Document::isDatabaseReadOnly): 6132 (WebCore::Document::databaseExceededQuota): 6133 (WebCore::Document::isContextThread): 6134 * dom/Document.h: 6135 * dom/ScriptExecutionContext.cpp: 6136 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 6137 (WebCore::ScriptExecutionContext::~ScriptExecutionContext): 6138 (WebCore::ScriptExecutionContext::databaseThread): 6139 (WebCore::ScriptExecutionContext::addOpenDatabase): 6140 (WebCore::ScriptExecutionContext::removeOpenDatabase): 6141 (WebCore::ScriptExecutionContext::stopDatabases): 6142 * dom/ScriptExecutionContext.h: 6143 (WebCore::ScriptExecutionContext::setHasOpenDatabases): 6144 (WebCore::ScriptExecutionContext::hasOpenDatabases): 6145 (WebCore::ScriptExecutionContext::Task::isCleanupTask): 6146 * loader/FrameLoader.cpp: 6147 (WebCore::FrameLoader::stopLoading): 6148 * storage/Database.cpp: 6149 (WebCore::Database::setIsAvailable): 6150 (WebCore::Database::isAvailable): 6151 (WebCore::Database::openDatabase): 6152 (WebCore::Database::Database): 6153 (WebCore::DerefContextTask::create): 6154 (WebCore::DerefContextTask::performTask): 6155 (WebCore::DerefContextTask::isCleanupTask): 6156 (WebCore::Database::~Database): 6157 (WebCore::Database::openAndVerifyVersion): 6158 (WebCore::Database::markAsDeletedAndClose): 6159 (WebCore::ContextRemoveOpenDatabaseTask::create): 6160 (WebCore::ContextRemoveOpenDatabaseTask::performTask): 6161 (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask): 6162 (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask): 6163 (WebCore::Database::close): 6164 (WebCore::Database::performOpenAndVerify): 6165 (WebCore::Database::scheduleTransaction): 6166 (WebCore::Database::scheduleTransactionStep): 6167 (WebCore::DeliverPendingCallbackTask::create): 6168 (WebCore::DeliverPendingCallbackTask::performTask): 6169 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): 6170 (WebCore::Database::scheduleTransactionCallback): 6171 (WebCore::Database::transactionClient): 6172 (WebCore::Database::transactionCoordinator): 6173 (WebCore::Database::tableNames): 6174 (WebCore::Database::securityOrigin): 6175 * storage/Database.h: 6176 (WebCore::Database::scriptExecutionContext): 6177 * storage/DatabaseTask.h: 6178 * storage/DatabaseThread.cpp: 6179 (WebCore::DatabaseThread::DatabaseThread): 6180 (WebCore::DatabaseThread::~DatabaseThread): 6181 (WebCore::DatabaseThread::requestTermination): 6182 (WebCore::DatabaseThread::databaseThread): 6183 (WebCore::DatabaseThread::unscheduleDatabaseTasks): 6184 * storage/DatabaseThread.h: 6185 * storage/DatabaseTracker.cpp: 6186 (WebCore::DatabaseTracker::canEstablishDatabase): 6187 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 6188 * storage/DatabaseTracker.h: 6189 * storage/SQLTransaction.cpp: 6190 (WebCore::SQLTransaction::executeSQL): 6191 * storage/SQLTransactionClient.cpp: 6192 (WebCore::SQLTransactionClient::didCommitTransaction): 6193 (WebCore::SQLTransactionClient::didExecuteStatement): 6194 (WebCore::SQLTransactionClient::didExceedQuota): 6195 * storage/chromium/DatabaseTrackerChromium.cpp: 6196 (WebCore::DatabaseTracker::canEstablishDatabase): 6197 (WebCore::DatabaseTracker::addOpenDatabase): 6198 (WebCore::TrackerRemoveOpenDatabaseTask::create): 6199 (WebCore::TrackerRemoveOpenDatabaseTask::performTask): 6200 (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask): 6201 (WebCore::DatabaseTracker::removeOpenDatabase): 6202 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 6203 * storage/chromium/SQLTransactionClientChromium.cpp: 6204 (WebCore::NotifyDatabaseChangedTask::create): 6205 (WebCore::NotifyDatabaseChangedTask::performTask): 6206 (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask): 6207 (WebCore::SQLTransactionClient::didCommitTransaction): 6208 (WebCore::SQLTransactionClient::didExecuteStatement): 6209 (WebCore::SQLTransactionClient::didExceedQuota): 6210 * workers/WorkerContext.cpp: 6211 (WebCore::WorkerContext::openDatabase): 6212 (WebCore::WorkerContext::isContextThread): 6213 * workers/WorkerContext.h: 6214 (WebCore::WorkerContext::clearScript): 6215 (WebCore::WorkerContext::thread): 6216 (WebCore::WorkerContext::isDatabaseReadOnly): 6217 (WebCore::WorkerContext::databaseExceededQuota): 6218 * workers/WorkerRunLoop.cpp: 6219 (WebCore::WorkerRunLoop::runInMode): 6220 (WebCore::WorkerRunLoop::Task::performTask): 6221 * workers/WorkerThread.cpp: 6222 (WebCore::WorkerThread::workerThread): 6223 (WebCore::WorkerThreadShutdownFinishTask::create): 6224 (WebCore::WorkerThreadShutdownFinishTask::performTask): 6225 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): 6226 (WebCore::WorkerThreadShutdownStartTask::create): 6227 (WebCore::WorkerThreadShutdownStartTask::performTask): 6228 (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): 6229 (WebCore::WorkerThread::stop): 6230 6231 2010-01-20 Fumitoshi Ukai <ukai (a] chromium.org> 6232 6233 Reviewed by Alexey Proskuryakov. 6234 6235 WebSocket: Request-URI should not be empty when no tralling slash in host 6236 https://bugs.webkit.org/show_bug.cgi?id=33689 6237 6238 Test: websocket/tests/url-no-trailing-slash.html 6239 6240 * websockets/WebSocketHandshake.cpp: 6241 (WebCore::resourceName): 6242 6243 2010-01-20 Daniel Bates <dbates (a] webkit.org> 6244 6245 Reviewed by Tor Arne Vestb. 6246 6247 https://bugs.webkit.org/show_bug.cgi?id=29564 6248 6249 [Qt] Fixes an issue where the height of <button>- and 6250 <input type="button">- elements are fixed to the height of the 6251 button label font plus padding. That is, the CSS height property 6252 is being ignored. 6253 6254 Instead, we should honor the user-specified height, if appropriate 6255 for the platform and context. Notice, the Mac ports do not honor the 6256 height for <input type="button"> elements unless a border and/or 6257 background is also specified. 6258 6259 Test: fast/css/button-height.html 6260 6261 * platform/qt/RenderThemeQt.cpp: 6262 (WebCore::RenderThemeQt::RenderThemeQt): 6263 (WebCore::RenderThemeQt::adjustButtonStyle): 6264 6265 2010-01-20 Brady Eidson <beidson (a] apple.com> 6266 6267 Reviewed by Sam Weinig. 6268 6269 Assertion failure calling history.pushState within popstate event handler. 6270 https://bugs.webkit.org/show_bug.cgi?id=33830 6271 6272 Test: fast/loader/stateobjects/pushstate-within-popstate-handler-assert.html 6273 6274 * loader/FrameLoader.cpp: 6275 (WebCore::FrameLoader::navigateWithinDocument): Remove the ASSERT and invalid part of the comment. 6276 6277 2010-01-20 Nikolas Zimmermann <nzimmermann (a] rim.com> 6278 6279 Reviewed by Oliver Hunt. 6280 6281 Crash on dispatching SVG mouse events 6282 https://bugs.webkit.org/show_bug.cgi?id=33841 6283 6284 Return early SVGUseElement::instanceForShadowTreeElement if m_targetElementInstance is zero. 6285 This only happens if the SVGUseElement has just been removed from the document and EventHandler 6286 tries to dispatch a mouseout event to the corresponding SVGElementInstance. This is not testable 6287 using DRT unfortunately, so we have to add another manual testcase for that. 6288 6289 Tests: manual-tests/use-crash-on-mouse-hover.svg 6290 6291 * manual-tests/svg-crash-hovering-use.svg: Added. 6292 * svg/SVGUseElement.cpp: 6293 (WebCore::SVGUseElement::instanceForShadowTreeElement): Add ASSERT(!inDocument()) when returning 0 here if m_targetElementInstance is 0. 6294 6295 2010-01-20 Ilya Tikhonovsky <loislo (a] chromium.org> 6296 6297 Reviewed by Pavel Feldman. 6298 6299 Timeline reset button doesn't clean timeline if the panel is scrolled down. 6300 The overview pane also stay dirty after reset. 6301 https://bugs.webkit.org/show_bug.cgi?id=33829 6302 6303 * inspector/front-end/TimelineGrid.js: 6304 (WebInspector.TimelineGrid.prototype.updateDividers): 6305 * inspector/front-end/TimelineOverviewPane.js: 6306 (WebInspector.TimelineOverviewPane.prototype.reset): 6307 * inspector/front-end/TimelinePanel.js: 6308 (WebInspector.TimelinePanel.prototype.reset): 6309 (WebInspector.TimelinePanel.prototype._refreshRecords): 6310 6311 2010-01-20 Alexey Proskuryakov <ap (a] apple.com> 6312 6313 Reviewed by Sam Weinig. 6314 6315 https://bugs.webkit.org/show_bug.cgi?id=33930 6316 Crash in JSDOMWindowBase::crossDomainAccessErrorMessage when accessing a detached sandboxed frame 6317 6318 Test: http/tests/security/detached-sandboxed-frame-access.html 6319 6320 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): 6321 Changed the way we discover the url to match what the actual check does. Both old and new 6322 code correctly fetch the URL of the current window displayed in frame, but going via 6323 DOMWindowShell avoids crashing on null DOMWindow::m_frame pointer. 6324 6325 2010-01-20 Vitaly Repeshko <vitalyr (a] chromium.org> 6326 6327 Reviewed by Pavel Feldman. 6328 6329 [V8] Support SerializedScriptValue. 6330 https://bugs.webkit.org/show_bug.cgi?id=32920 6331 http://crbug.com/30620 6332 6333 Initial implementation of SerializedScriptValue which is used to 6334 to create a serialized representation of JavaScript objects. This 6335 representation is needed for structured clones and worker messages. 6336 6337 * WebCore.gypi: Added SerializedScriptValue.cpp. 6338 * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue. 6339 * bindings/v8/SerializedScriptValue.cpp: Added. 6340 (WebCore::): 6341 (WebCore::ZigZag::encode): 6342 (WebCore::ZigZag::decode): 6343 (WebCore::Writer::Writer): 6344 (WebCore::Writer::writeUndefined): 6345 (WebCore::Writer::writeNull): 6346 (WebCore::Writer::writeTrue): 6347 (WebCore::Writer::writeFalse): 6348 (WebCore::Writer::writeString): 6349 (WebCore::Writer::writeInt32): 6350 (WebCore::Writer::writeNumber): 6351 (WebCore::Writer::endComposite): 6352 (WebCore::Writer::data): 6353 (WebCore::Writer::doWriteUint32): 6354 (WebCore::Writer::append): 6355 (WebCore::Writer::ensureSpace): 6356 (WebCore::Writer::fillHole): 6357 (WebCore::Writer::charAt): 6358 (WebCore::Serializer::Serializer): 6359 (WebCore::Serializer::serialize): 6360 (WebCore::Serializer::StateBase::~StateBase): 6361 (WebCore::Serializer::StateBase::nextState): 6362 (WebCore::Serializer::StateBase::setNextState): 6363 (WebCore::Serializer::StateBase::composite): 6364 (WebCore::Serializer::StateBase::StateBase): 6365 (WebCore::Serializer::State::composite): 6366 (WebCore::Serializer::State::tag): 6367 (WebCore::Serializer::State::State): 6368 (WebCore::Serializer::StackCleaner::StackCleaner): 6369 (WebCore::Serializer::StackCleaner::~StackCleaner): 6370 (WebCore::Serializer::ArrayState::ArrayState): 6371 (WebCore::Serializer::ArrayState::done): 6372 (WebCore::Serializer::ArrayState::advance): 6373 (WebCore::Serializer::ObjectState::ObjectState): 6374 (WebCore::Serializer::ObjectState::done): 6375 (WebCore::Serializer::ObjectState::advance): 6376 (WebCore::Serializer::ObjectState::nextProperty): 6377 (WebCore::Serializer::doSerialize): 6378 (WebCore::Serializer::push): 6379 (WebCore::Serializer::top): 6380 (WebCore::Serializer::pop): 6381 (WebCore::Serializer::checkComposite): 6382 (WebCore::Reader::Reader): 6383 (WebCore::Reader::isEof): 6384 (WebCore::Reader::read): 6385 (WebCore::Reader::readTag): 6386 (WebCore::Reader::readString): 6387 (WebCore::Reader::readInt32): 6388 (WebCore::Reader::readNumber): 6389 (WebCore::Reader::doReadUint32): 6390 (WebCore::Deserializer::Deserializer): 6391 (WebCore::Deserializer::deserialize): 6392 (WebCore::Deserializer::doDeserialize): 6393 (WebCore::Deserializer::push): 6394 (WebCore::Deserializer::pop): 6395 (WebCore::Deserializer::stackDepth): 6396 (WebCore::Deserializer::element): 6397 (WebCore::SerializedScriptValue::SerializedScriptValue): 6398 (WebCore::SerializedScriptValue::deserialize): 6399 * bindings/v8/SerializedScriptValue.h: 6400 (WebCore::SerializedScriptValue::create): 6401 (WebCore::SerializedScriptValue::createFromWire): 6402 (WebCore::SerializedScriptValue::release): 6403 (WebCore::SerializedScriptValue::toWireString): 6404 6405 Updated uses of SerializedScriptValue: 6406 * bindings/v8/custom/V8DOMWindowCustom.cpp: 6407 (WebCore::V8DOMWindow::postMessageCallback): 6408 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 6409 (WebCore::V8DedicatedWorkerContext::postMessageCallback): 6410 * bindings/v8/custom/V8HistoryCustom.cpp: 6411 (WebCore::V8History::pushStateCallback): 6412 (WebCore::V8History::replaceStateCallback): 6413 * bindings/v8/custom/V8MessageEventCustom.cpp: 6414 (WebCore::V8MessageEvent::initMessageEventCallback): 6415 * bindings/v8/custom/V8MessagePortCustom.cpp: 6416 (WebCore::V8MessagePort::postMessageCallback): 6417 * bindings/v8/custom/V8WorkerCustom.cpp: 6418 (WebCore::V8Worker::postMessageCallback): 6419 6420 2010-01-20 Steve Falkenburg <sfalken (a] apple.com> 6421 6422 Reviewed by Sam Weinig. 6423 6424 Fix crash in geolocation when observers change during iteration. 6425 6426 * page/GeolocationController.cpp: 6427 (WebCore::GeolocationController::positionChanged): Copy observers to vector while iterating. 6428 (WebCore::GeolocationController::errorOccurred): Copy observers to vector while iterating. 6429 6430 2010-01-19 Oliver Hunt <oliver (a] apple.com> 6431 6432 Reviewed by Dan Bernstein. 6433 6434 Insufficient repaint issues with html embedded in foreignObject 6435 https://bugs.webkit.org/show_bug.cgi?id=16318 6436 6437 Partial fix for selection repaint in foreignObject, basically we 6438 just need to make sure foreignObject correctly applies the svg 6439 transform to the selection rect. 6440 6441 * rendering/RenderBlock.cpp: 6442 (WebCore::RenderBlock::paintSelection): 6443 * rendering/RenderForeignObject.cpp: 6444 (WebCore::RenderForeignObject::mapLocalToContainer): 6445 * rendering/RenderForeignObject.h: 6446 6447 2010-01-20 Gavin Barraclough <barraclough (a] apple.com> 6448 6449 Reviewed by NOBODY. 6450 6451 <rdar://problem/7557695> REGRESSION(r53445-r53449): Many new memory leaks (33867) 6452 6453 Revert r53447, since this caused leaks. 6454 6455 * WebCore.base.exp: 6456 * platform/text/StringImpl.cpp: 6457 (WebCore::StringImpl::operator new): 6458 (WebCore::StringImpl::operator delete): 6459 (WebCore::StringImpl::StringImpl): 6460 (WebCore::StringImpl::~StringImpl): 6461 (WebCore::StringImpl::create): 6462 (WebCore::StringImpl::createWithTerminatingNullCharacter): 6463 (WebCore::StringImpl::crossThreadString): 6464 (WebCore::StringImpl::sharedBuffer): 6465 * platform/text/StringImpl.h: 6466 (WebCore::StringImpl::hasTerminatingNullCharacter): 6467 (WebCore::StringImpl::inTable): 6468 (WebCore::StringImpl::setInTable): 6469 (WebCore::StringImpl::): 6470 * storage/OriginUsageRecord.cpp: 6471 (WebCore::OriginUsageRecord::addDatabase): 6472 (WebCore::OriginUsageRecord::markDatabase): 6473 6474 2010-01-20 Jian Li <jianli (a] chromium.org> 6475 6476 Reviewed by Dmitry Titov. 6477 6478 Implement File and Blob interfaces as defined in File API spec. 6479 https://bugs.webkit.org/show_bug.cgi?id=32912 6480 6481 * Android.derived.jscbindings.mk: 6482 * Android.derived.v8bindings.mk: 6483 * Android.mk: 6484 * DerivedSources.cpp: 6485 * DerivedSources.make: 6486 * GNUmakefile.am: 6487 * WebCore.gypi: 6488 * WebCore.pri: 6489 * WebCore.pro: 6490 * WebCore.vcproj/WebCore.vcproj: 6491 * WebCore.xcodeproj/project.pbxproj: 6492 * WebCoreSources.bkl: 6493 * bindings/js/JSXMLHttpRequestCustom.cpp: 6494 (WebCore::JSXMLHttpRequest::send): 6495 * bindings/objc/DOMHTML.h: 6496 * bindings/objc/PublicDOMInterfaces.h: 6497 * bindings/scripts/CodeGeneratorJS.pm: 6498 * bindings/scripts/CodeGeneratorObjC.pm: 6499 * bindings/scripts/CodeGeneratorV8.pm: 6500 * bindings/v8/DOMObjectsInclude.h: 6501 * bindings/v8/DerivedSourcesAllInOne.cpp: 6502 * bindings/v8/V8Binding.h: 6503 (WebCore::toInt64): 6504 * bindings/v8/V8Index.cpp: 6505 * bindings/v8/V8Index.h: 6506 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 6507 (WebCore::V8XMLHttpRequest::sendCallback): 6508 * html/File.cpp: 6509 (WebCore::File::File): 6510 * html/File.h: 6511 (WebCore::File::create): 6512 (WebCore::File::name): 6513 (WebCore::File::fileName): 6514 (WebCore::File::fileSize): 6515 * html/File.idl: 6516 * xml/XMLHttpRequest.cpp: 6517 (WebCore::XMLHttpRequest::send): 6518 * xml/XMLHttpRequest.h: 6519 6520 2010-01-20 Chris Fleizach <cfleizach (a] apple.com> 6521 6522 Reviewed by Beth Dakin. 6523 6524 WAI-ARIA popup buttons spoken as simply 'button' 6525 https://bugs.webkit.org/show_bug.cgi?id=33922 6526 6527 Test: platform/mac/accessibility/aria-popup.html 6528 6529 * accessibility/AccessibilityRenderObject.cpp: 6530 (WebCore::AccessibilityRenderObject::actionElement): 6531 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 6532 * html/HTMLAttributeNames.in: 6533 6534 2010-01-19 David Levin <levin (a] chromium.org> 6535 6536 Reviewed by Oliver Hunt. 6537 6538 CrossThreadCopier needs to support ThreadSafeShared better. 6539 https://bugs.webkit.org/show_bug.cgi?id=33698 6540 6541 Now the copier is able to handle types that derive from ThreadSafeShared. 6542 6543 No change functionality so no new tests. 6544 6545 * loader/WorkerThreadableLoader.cpp: 6546 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast. 6547 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto. 6548 * loader/WorkerThreadableLoader.h: 6549 Change to use the derived class instead of the ThreadSafeShared version. 6550 * platform/CrossThreadCopier.cpp: 6551 Add the new template parameter throughout the classes and adjust the class that 6552 handles ThreadSafeShared to allow for derived types. 6553 * platform/CrossThreadCopier.h: 6554 Add another template parameter to be able to detect classes that derive 6555 from ThreadSafeShared. 6556 * websockets/WorkerThreadableWebSocketChannel.cpp: 6557 Removed unnecessary casts and changed a type to use the derived class instead of 6558 the ThreadSafeShared version. 6559 (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer): 6560 (WebCore::workerContextDidSend): 6561 (WebCore::workerContextDidGetBufferedAmount): 6562 (WebCore::workerContextDidConnect): 6563 (WebCore::workerContextDidReceiveMessage): 6564 (WebCore::workerContextDidClose): 6565 (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel): 6566 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel): 6567 (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): 6568 (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): 6569 (WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper): 6570 (WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted): 6571 (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion): 6572 * websockets/WorkerThreadableWebSocketChannel.h: 6573 (WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the 6574 derived class instead of the ThreadSafeShared version. 6575 6576 2010-01-20 Jon Honeycutt <jhoneycutt (a] apple.com> 6577 6578 <rdar://problem/7086565> Crash in WebCore::PlugInView::dispatchNPEvent 6579 6580 Reviewed by Sam Weinig. 6581 6582 * plugins/PluginView.cpp: 6583 (WebCore::PluginView::handleEvent): 6584 Ref the PluginView to protect it from deletion while calling into the 6585 plug-in. 6586 6587 2010-01-20 Jon Honeycutt <jhoneycutt (a] apple.com> 6588 6589 MSAA: accSelect() is not implemented 6590 6591 https://bugs.webkit.org/show_bug.cgi?id=33918 6592 <rdar://problem/7436861> 6593 6594 Reviewed by Darin Adler. 6595 6596 Test: platform/win/accessibility/selection-and-focus.html 6597 6598 * accessibility/AccessibilityMenuListOption.cpp: 6599 (WebCore::AccessibilityMenuListOption::setSelected): 6600 Return early if the object is not selectable. 6601 6602 2010-01-20 Nikolas Zimmermann <nzimmermann (a] rim.com> 6603 6604 Not reviewed. Fix chromium build, introduced a copy&paste error. 6605 6606 * bindings/v8/ScriptEventListener.cpp: 6607 (WebCore::createAttributeEventListener): 6608 6609 2010-01-20 Dan Bernstein <mitz (a] apple.com> 6610 6611 Reviewed by Darin Adler. 6612 6613 <rdar://problem/6579204> Exception thrown when opening a <select> pop-up that 6614 uses a web font 6615 https://bugs.webkit.org/show_bug.cgi?id=23911 6616 6617 * platform/mac/PopupMenuMac.mm: 6618 (WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot 6619 be obtained. 6620 6621 2010-01-19 Nikolas Zimmermann <nzimmermann (a] rim.com> 6622 6623 Reviewed by Alexey Proskuryakov. 6624 6625 svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey 6626 https://bugs.webkit.org/show_bug.cgi?id=33835 6627 6628 mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml 6629 https://bugs.webkit.org/show_bug.cgi?id=32519 6630 6631 Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml 6632 6633 Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p) 6634 6635 Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement 6636 synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect, 6637 w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey. 6638 6639 Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait 6640 for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result. 6641 This is now matching Operas behaviour. 6642 6643 Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise 6644 DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener 6645 cache and removed afterwards. 6646 6647 * bindings/js/ScriptEventListener.cpp: 6648 (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey. 6649 * bindings/v8/ScriptEventListener.cpp: 6650 (WebCore::createAttributeEventListener): Ditto. 6651 * dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone. 6652 (WebCore::instancesForSVGElement): 6653 (WebCore::tryAddEventListener): 6654 (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well. 6655 (WebCore::tryRemoveEventListener): 6656 (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments) 6657 * svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor. 6658 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): 6659 (WebCore::SVGElementInstance::scriptExecutionContext): 6660 (WebCore::SVGElementInstance::addEventListener): 6661 (WebCore::SVGElementInstance::removeEventListener): 6662 (WebCore::SVGElementInstance::removeAllEventListeners): 6663 (WebCore::SVGElementInstance::eventTargetData): 6664 (WebCore::SVGElementInstance::ensureEventTargetData): 6665 * svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works. 6666 (WebCore::SVGUseElement::instanceRoot): 6667 6668 2010-01-20 Dmitry Titov <dimich (a] chromium.org> 6669 6670 Reviewed by Darin Adler. 6671 6672 Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp 6673 since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345. 6674 6675 No new tests since no change in functionality. 6676 6677 * dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'. 6678 * dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration. 6679 6680 2010-01-20 Oliver Hunt <oliver (a] apple.com> 6681 6682 No review, rolling out r53561. 6683 http://trac.webkit.org/changeset/53561 6684 https://bugs.webkit.org/show_bug.cgi?id=16318 6685 6686 broke selection repaint for transformed text in html 6687 6688 * rendering/RenderBlock.cpp: 6689 (WebCore::RenderBlock::paintSelection): 6690 * rendering/RenderForeignObject.cpp: 6691 * rendering/RenderForeignObject.h: 6692 6693 2010-01-19 Oliver Hunt <oliver (a] apple.com> 6694 6695 Reviewed by Beth Dakin. 6696 6697 Insufficient repaint issues with html embedded in foreignObject 6698 https://bugs.webkit.org/show_bug.cgi?id=16318 6699 6700 Partial fix for selection repaint in foreignObject, basically we 6701 just need to make sure foreignObject correctly applies the svg 6702 transform to the selection rect. 6703 6704 * rendering/RenderBlock.cpp: 6705 (WebCore::RenderBlock::paintSelection): 6706 * rendering/RenderForeignObject.cpp: 6707 (WebCore::RenderForeignObject::mapLocalToContainer): 6708 * rendering/RenderForeignObject.h: 6709 6710 2010-01-20 Kevin Ollivier <kevino (a] theolliviers.com> 6711 6712 Build fix for !ENABLE(SVG). 6713 6714 * rendering/TrailingFloatsRootInlineBox.h: 6715 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): 6716 6717 2010-01-20 David Levin <levin (a] chromium.org> 6718 6719 No review, rolling out r53552. 6720 http://trac.webkit.org/changeset/53552 6721 https://bugs.webkit.org/show_bug.cgi?id=32554 6722 6723 Caused lots of fast/profile test failures. 6724 6725 * bindings/js/JSInjectedScriptHostCustom.cpp: 6726 (WebCore::JSInjectedScriptHost::databaseForId): 6727 (WebCore::JSInjectedScriptHost::inspectedWindow): 6728 (WebCore::JSInjectedScriptHost::wrapCallback): 6729 (WebCore::JSInjectedScriptHost::currentCallFrame): 6730 (WebCore::JSInjectedScriptHost::nodeForId): 6731 (WebCore::JSInjectedScriptHost::wrapObject): 6732 (WebCore::JSInjectedScriptHost::unwrapObject): 6733 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 6734 (WebCore::JSInjectedScriptHost::selectDatabase): 6735 (WebCore::JSInjectedScriptHost::selectDOMStorage): 6736 * bindings/js/ScriptCallStack.h: 6737 (WebCore::ScriptCallStack::state): 6738 * bindings/js/ScriptController.cpp: 6739 * bindings/js/ScriptController.h: 6740 * bindings/js/ScriptObject.h: 6741 * bindings/js/ScriptValue.cpp: 6742 (WebCore::ScriptValue::quarantineValue): 6743 * bindings/js/ScriptValue.h: 6744 * bindings/v8/ScriptObject.h: 6745 * bindings/v8/ScriptValue.h: 6746 (WebCore::ScriptValue::quarantineValue): 6747 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 6748 (WebCore::V8InjectedScriptHost::inspectedWindowCallback): 6749 (WebCore::V8InjectedScriptHost::wrapCallbackCallback): 6750 (WebCore::V8InjectedScriptHost::wrapObjectCallback): 6751 (WebCore::V8InjectedScriptHost::unwrapObjectCallback): 6752 * inspector/ConsoleMessage.cpp: 6753 (WebCore::ConsoleMessage::ConsoleMessage): 6754 (WebCore::ConsoleMessage::addToConsole): 6755 (WebCore::ConsoleMessage::isEqual): 6756 * inspector/ConsoleMessage.h: 6757 * inspector/InjectedScriptHost.cpp: 6758 (WebCore::InjectedScriptHost::wrapObject): 6759 (WebCore::InjectedScriptHost::unwrapObject): 6760 * inspector/InjectedScriptHost.h: 6761 * inspector/InjectedScriptHost.idl: 6762 * inspector/InspectorBackend.cpp: 6763 (WebCore::InspectorBackend::dispatchOnInjectedScript): 6764 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 6765 * inspector/InspectorBackend.h: 6766 * inspector/InspectorBackend.idl: 6767 * inspector/InspectorController.cpp: 6768 (WebCore::InspectorController::InspectorController): 6769 (WebCore::InspectorController::clearConsoleMessages): 6770 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 6771 (WebCore::InspectorController::windowScriptObjectAvailable): 6772 (WebCore::InspectorController::scriptObjectReady): 6773 (WebCore::InspectorController::setFrontendProxyObject): 6774 (WebCore::InspectorController::close): 6775 (WebCore::InspectorController::resetScriptObjects): 6776 (WebCore::InspectorController::didPause): 6777 (WebCore::InspectorController::wrapObject): 6778 (WebCore::InspectorController::unwrapObject): 6779 (WebCore::InspectorController::releaseWrapperObjectGroup): 6780 (WebCore::InspectorController::resetInjectedScript): 6781 (WebCore::InspectorController::deleteCookie): 6782 * inspector/InspectorController.h: 6783 * inspector/InspectorFrontend.cpp: 6784 (WebCore::InspectorFrontend::addConsoleMessage): 6785 (WebCore::InspectorFrontend::pausedScript): 6786 * inspector/InspectorFrontend.h: 6787 * inspector/front-end/AuditsPanel.js: 6788 (WebInspector.AuditsPanel.prototype._reloadResources): 6789 * inspector/front-end/ConsoleView.js: 6790 (WebInspector.ConsoleView.prototype.requestClearMessages): 6791 (WebInspector.ConsoleView.prototype.completions): 6792 (WebInspector.ConsoleView.prototype.doEvalInWindow): 6793 (WebInspector.ConsoleView.prototype._formatnode): 6794 (WebInspector.ConsoleView.prototype._formatarray): 6795 * inspector/front-end/DOMAgent.js: 6796 (WebInspector.DOMNode): 6797 (WebInspector.CSSStyleDeclaration): 6798 (WebInspector.CSSStyleDeclaration.parseRule): 6799 * inspector/front-end/Database.js: 6800 (WebInspector.Database.prototype.executeSql): 6801 * inspector/front-end/ElementsPanel.js: 6802 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 6803 (WebInspector.ElementsPanel.prototype.setDocument): 6804 (WebInspector.ElementsPanel.prototype.searchCanceled): 6805 (WebInspector.ElementsPanel.prototype.performSearch): 6806 * inspector/front-end/ElementsTreeOutline.js: 6807 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 6808 * inspector/front-end/EventListenersSidebarPane.js: 6809 (): 6810 * inspector/front-end/InjectedScript.js: 6811 (InjectedScript.dispatch): 6812 (InjectedScript.toggleStyleEnabled): 6813 (InjectedScript._serializeRule): 6814 (InjectedScript._serializeStyle): 6815 (InjectedScript.getProperties): 6816 (InjectedScript.setPropertyValue): 6817 (InjectedScript._evaluateAndWrap): 6818 (InjectedScript.getCallFrames): 6819 (InjectedScript._inspectObject): 6820 (InjectedScript._ensureCommandLineAPIInstalled): 6821 (InjectedScript._resolveObject): 6822 (InjectedScript._window): 6823 (InjectedScript._objectForId): 6824 (InjectedScript.createProxyObject): 6825 (InjectedScript.executeSql): 6826 (InjectedScript.executeSql.errorCallback): 6827 (InjectedScript.executeSql.queryTransaction): 6828 (Object.type): 6829 (String.prototype.escapeCharacters): 6830 * inspector/front-end/InjectedScriptAccess.js: 6831 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): 6832 (InjectedScriptAccess._installHandler): 6833 * inspector/front-end/MetricsSidebarPane.js: 6834 (WebInspector.MetricsSidebarPane): 6835 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): 6836 (WebInspector.MetricsSidebarPane.prototype.update): 6837 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 6838 * inspector/front-end/ObjectPropertiesSection.js: 6839 (WebInspector.ObjectPropertiesSection.prototype.update): 6840 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 6841 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): 6842 * inspector/front-end/ObjectProxy.js: 6843 (WebInspector.ObjectProxy): 6844 (WebInspector.ObjectProxy.getPropertiesAsync): 6845 * inspector/front-end/PropertiesSidebarPane.js: 6846 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 6847 (WebInspector.PropertiesSidebarPane.prototype.update): 6848 * inspector/front-end/ResourcesPanel.js: 6849 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 6850 * inspector/front-end/ScriptsPanel.js: 6851 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 6852 * inspector/front-end/StylesSidebarPane.js: 6853 (WebInspector.StylesSidebarPane.prototype.update): 6854 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 6855 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): 6856 (WebInspector.StylePropertyTreeElement.prototype): 6857 * inspector/front-end/WatchExpressionsSidebarPane.js: 6858 (WebInspector.WatchExpressionsSection.prototype.update): 6859 * inspector/front-end/inspector.js: 6860 (WebInspector.loaded): 6861 (WebInspector.pausedScript): 6862 (WebInspector.addConsoleMessage): 6863 (WebInspector.log.logMessage): 6864 (WebInspector.log): 6865 6866 2010-01-20 Steve Block <steveblock (a] google.com> 6867 6868 Reviewed by David Levin. 6869 6870 Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h] 6871 https://bugs.webkit.org/show_bug.cgi?id=33899 6872 6873 No new tests, refactoring only. 6874 6875 * Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp 6876 * GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h 6877 * WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h] 6878 * bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp. 6879 * bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h. 6880 * bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h 6881 * bridge/jni/jni_runtime.cpp: Removed. 6882 * bridge/jni/jni_runtime.h: Removed. 6883 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h 6884 * bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include 6885 * bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h 6886 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h 6887 6888 2010-01-20 Alexey Proskuryakov <ap (a] apple.com> 6889 6890 Reviewed by Simon Fraser. 6891 6892 https://bugs.webkit.org/show_bug.cgi?id=33913 6893 Crash under Media::matchMedium in detached frame 6894 6895 Also took the opportunity to fix JS bindings for the Media object. 6896 6897 Test: fast/media/lifetime.html 6898 6899 * css/Media.h: 6900 (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do. 6901 (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from 6902 DOMWindow::clear()). 6903 6904 * css/Media.cpp: 6905 (WebCore::Media::Media): Updated to storing Frame pointer. 6906 (WebCore::Media::type): Ditto. 6907 (WebCore::Media::matchMedium): Removed null check for document element - every document has 6908 one. Also, every Frame has a document, so we only need to check for m_frame being zero. 6909 6910 * bindings/js/JSDOMWindowCustom.cpp: 6911 (WebCore::JSDOMWindow::markChildren): 6912 * page/DOMWindow.cpp: 6913 (WebCore::DOMWindow::clear): 6914 (WebCore::DOMWindow::media): 6915 * page/DOMWindow.h: 6916 (WebCore::DOMWindow::optionalMedia): 6917 Make sure there's only one Media object per window, and keep its wrapper alive. 6918 6919 2010-01-20 Steve Falkenburg <sfalken (a] apple.com> 6920 6921 Reviewed by Darin Adler and Adam Roben. 6922 6923 Feature defines are difficult to maintain on Windows builds 6924 https://bugs.webkit.org/show_bug.cgi?id=33883 6925 6926 FeatureDefines.vsprops are now maintained in a way similar to 6927 Configurations/FeatureDefines.xcconfig, with the added advantage 6928 of having a single FeatureDefines file across all projects. 6929 6930 * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync. 6931 * WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists. 6932 * WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet. 6933 * WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet. 6934 * WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions. 6935 * WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features. 6936 * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops. 6937 * WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops. 6938 6939 2010-01-20 Yury Semikhatsky <yurys (a] chromium.org> 6940 6941 Reviewed by Pavel Feldman. 6942 6943 Inject inspector script directly into the inspected context. All the 6944 communication between the script and the frontend is serialized into 6945 JSON strings. It allows to get rid of object quarantines in Web Inspector. 6946 6947 https://bugs.webkit.org/show_bug.cgi?id=32554 6948 6949 Test: inspector/console-log-before-inspector-open.html 6950 6951 * bindings/js/JSInjectedScriptHostCustom.cpp: 6952 (WebCore::JSInjectedScriptHost::databaseForId): 6953 (WebCore::JSInjectedScriptHost::currentCallFrame): 6954 (WebCore::JSInjectedScriptHost::nodeForId): 6955 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 6956 (WebCore::JSInjectedScriptHost::selectDatabase): 6957 (WebCore::JSInjectedScriptHost::selectDOMStorage): 6958 * bindings/js/ScriptCallStack.h: 6959 (WebCore::ScriptCallStack::state): 6960 * bindings/js/ScriptController.cpp: 6961 (WebCore::ScriptController::mainWorldScriptState): 6962 * bindings/js/ScriptController.h: 6963 * bindings/js/ScriptObject.h: 6964 (WebCore::ScriptObject::scriptState): 6965 * bindings/js/ScriptValue.cpp: 6966 * bindings/js/ScriptValue.h: 6967 * bindings/v8/ScriptObject.h: 6968 (WebCore::ScriptObject::scriptState): 6969 * bindings/v8/ScriptValue.h: 6970 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 6971 * inspector/ConsoleMessage.cpp: 6972 (WebCore::ConsoleMessage::ConsoleMessage): 6973 (WebCore::ConsoleMessage::addToConsole): 6974 (WebCore::ConsoleMessage::isEqual): 6975 * inspector/ConsoleMessage.h: 6976 * inspector/InjectedScriptHost.cpp: 6977 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup): 6978 * inspector/InjectedScriptHost.h: 6979 * inspector/InjectedScriptHost.idl: 6980 * inspector/InspectorBackend.cpp: 6981 (WebCore::InspectorBackend::setInjectedScriptSource): 6982 (WebCore::InspectorBackend::dispatchOnInjectedScript): 6983 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 6984 * inspector/InspectorBackend.h: 6985 * inspector/InspectorBackend.idl: 6986 * inspector/InspectorController.cpp: 6987 (WebCore::InspectorController::InspectorController): 6988 (WebCore::InspectorController::clearConsoleMessages): 6989 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 6990 (WebCore::InspectorController::windowScriptObjectAvailable): 6991 (WebCore::InspectorController::scriptObjectReady): 6992 (WebCore::InspectorController::setFrontendProxyObject): 6993 (WebCore::InspectorController::close): 6994 (WebCore::InspectorController::resetScriptObjects): 6995 (WebCore::InspectorController::didPause): 6996 (WebCore::InspectorController::injectedScriptForNodeId): 6997 * inspector/InspectorController.h: 6998 * inspector/InspectorFrontend.cpp: 6999 (WebCore::InspectorFrontend::addConsoleMessage): 7000 (WebCore::InspectorFrontend::pausedScript): 7001 * inspector/InspectorFrontend.h: 7002 * inspector/front-end/AuditsPanel.js: 7003 (WebInspector.AuditsPanel.prototype._reloadResources): 7004 * inspector/front-end/ConsoleView.js: 7005 (WebInspector.ConsoleView.prototype.requestClearMessages): 7006 (WebInspector.ConsoleView.prototype.doEvalInWindow): 7007 * inspector/front-end/DOMAgent.js: 7008 (WebInspector.DOMNode): 7009 (WebInspector.CSSStyleDeclaration): 7010 (WebInspector.CSSStyleDeclaration.parseRule): 7011 * inspector/front-end/Database.js: 7012 (WebInspector.Database.prototype.executeSql): 7013 * inspector/front-end/ElementsPanel.js: 7014 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): 7015 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 7016 (WebInspector.ElementsPanel.prototype.setDocument): 7017 (WebInspector.ElementsPanel.prototype.searchCanceled): 7018 (WebInspector.ElementsPanel.prototype.performSearch): 7019 * inspector/front-end/ElementsTreeOutline.js: 7020 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 7021 * inspector/front-end/EventListenersSidebarPane.js: 7022 (): 7023 * inspector/front-end/InjectedScript.js: 7024 (injectedScriptConstructor): 7025 (injectedScriptConstructor.): 7026 * inspector/front-end/InjectedScriptAccess.js: 7027 (InjectedScriptAccess): 7028 (InjectedScriptAccess.getDefault): 7029 (get InjectedScriptAccess): 7030 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): 7031 (InjectedScriptAccess._installHandler): 7032 * inspector/front-end/MetricsSidebarPane.js: 7033 (WebInspector.MetricsSidebarPane): 7034 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): 7035 * inspector/front-end/ObjectPropertiesSection.js: 7036 * inspector/front-end/ObjectProxy.js: 7037 (WebInspector.ObjectProxy): 7038 * inspector/front-end/PropertiesSidebarPane.js: 7039 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 7040 * inspector/front-end/ResourcesPanel.js: 7041 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 7042 * inspector/front-end/ScriptsPanel.js: 7043 * inspector/front-end/StylesSidebarPane.js: 7044 (WebInspector.StylePropertyTreeElement.prototype): 7045 * inspector/front-end/WatchExpressionsSidebarPane.js: 7046 (WebInspector.WatchExpressionsSection.prototype.update): 7047 * inspector/front-end/inspector.js: 7048 (WebInspector.loaded): 7049 (WebInspector.pausedScript): 7050 (WebInspector.addConsoleMessage): 7051 (WebInspector.log.logMessage): 7052 (WebInspector.log): 7053 7054 2010-01-20 Kent Tamura <tkent (a] chromium.org> 7055 7056 Reviewed by Darin Adler. 7057 7058 HTMLInputElement::valueAsDate setter support for type=time. 7059 https://bugs.webkit.org/show_bug.cgi?id=33825 7060 7061 Introduce ISODateTime::setMillisecondsSinceMidnight() and add a 7062 SecondFormat parameter to ISODateTime::toString(). The main code 7063 logic for type=time is implemented in 7064 setMillisecondsSinceMidnightInternal() and toStringForTime() 7065 because the logic is going to be used for other types. 7066 7067 * html/HTMLInputElement.cpp: 7068 (WebCore::HTMLInputElement::setValueAsDate): 7069 * html/ISODateTime.cpp: 7070 (WebCore::positiveFmod): 7071 (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal): 7072 (WebCore::ISODateTime::setMillisecondsSinceMidnight): 7073 (WebCore::ISODateTime::toStringForTime): 7074 (WebCore::ISODateTime::toString): 7075 * html/ISODateTime.h: 7076 (WebCore::ISODateTime::): 7077 7078 2010-01-20 Csaba Osztrogonc <ossy (a] webkit.org> 7079 7080 [Qt] Unreviewed buildfix for r53547. 7081 7082 * WebCore.pri: 7083 7084 2010-01-20 Ben Murdoch <benm (a] google.com> 7085 7086 Reviewed by Simon Hausmann. 7087 7088 The touchcancel event is not supported. 7089 https://bugs.webkit.org/show_bug.cgi?id=33598 7090 7091 This change adds support for the touchcancel event in WebCore and adds a test. 7092 7093 Test: fast/events/touch/send-oncancel-event.html 7094 7095 * bindings/js/ScriptController.cpp: 7096 (WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture. 7097 * dom/Document.cpp: 7098 (WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener. 7099 * dom/Document.h: Add the touchcancel attribute event listener. 7100 * dom/Document.idl: ditto. 7101 * dom/Element.h: ditto. 7102 * dom/Element.idl: ditto. 7103 * dom/EventNames.h: Adds touchcancel as an event name. 7104 * html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name. 7105 * html/HTMLElement.cpp: 7106 (WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute. 7107 * page/DOMWindow.h: Adds the touchcancel attribute event listener. 7108 * page/DOMWindow.idl: ditto. 7109 * page/EventHandler.cpp: 7110 (WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events. 7111 * platform/PlatformTouchEvent.h: 7112 (WebCore::): Add TouchCancel as a touch event type. 7113 * platform/PlatformTouchPoint.h: 7114 (WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state. 7115 7116 2010-01-20 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 7117 7118 Reviewed by Simon Hausmann. 7119 7120 [Qt] Make extraCompilers for generated sources depend on their scripts 7121 7122 * DerivedSources.pro: 7123 * WebCore.pri: 7124 7125 2010-01-20 Kent Tamura <tkent (a] chromium.org> 7126 7127 Reviewed by Adam Barth. 7128 7129 [Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve(). 7130 https://bugs.webkit.org/show_bug.cgi?id=33886 7131 7132 This is equivalent to r53433, and fix a crash by 7133 LayoutTests/http/tests/appcache/destroyed-iframe.html. 7134 7135 * bindings/v8/V8Proxy.cpp: 7136 (WebCore::V8Proxy::retrieve): Check if context is null. 7137 7138 2010-01-20 Alexander Pavlov <apavlov (a] chromium.org> 7139 7140 Reviewed by Timothy Hatcher. 7141 7142 Optimize resize event handling for hidden views 7143 https://bugs.webkit.org/show_bug.cgi?id=33803 7144 7145 * inspector/front-end/AbstractTimelinePanel.js: 7146 (WebInspector.AbstractTimelinePanel.prototype.resize): 7147 (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth): 7148 * inspector/front-end/AuditsPanel.js: 7149 * inspector/front-end/Panel.js: 7150 (WebInspector.Panel.prototype.updateSidebarWidth): 7151 (WebInspector.Panel.prototype.resize): 7152 * inspector/front-end/PanelEnablerView.js: 7153 (WebInspector.PanelEnablerView): 7154 (WebInspector.PanelEnablerView.prototype.show): 7155 (WebInspector.PanelEnablerView.prototype.resize): 7156 * inspector/front-end/ProfilesPanel.js: 7157 (WebInspector.ProfilesPanel.prototype.show): 7158 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 7159 (WebInspector.ProfilesPanel.prototype.showProfile): 7160 (WebInspector.ProfilesPanel.prototype.showView): 7161 (WebInspector.ProfilesPanel.prototype.closeVisibleView): 7162 (WebInspector.ProfilesPanel.prototype._updateInterface): 7163 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): 7164 * inspector/front-end/ResourcesPanel.js: 7165 (WebInspector.ResourcesPanel.prototype.show): 7166 (WebInspector.ResourcesPanel.prototype.get visibleView): 7167 (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): 7168 * inspector/front-end/Settings.js: 7169 * inspector/front-end/StoragePanel.js: 7170 (WebInspector.StoragePanel.prototype.updateMainViewWidth): 7171 * inspector/front-end/WelcomeView.js: 7172 (WebInspector.WelcomeView): 7173 (WebInspector.WelcomeView.prototype.show): 7174 (WebInspector.WelcomeView.prototype.resize): 7175 * inspector/front-end/inspector.css: 7176 * inspector/front-end/inspector.js: 7177 (WebInspector.windowResize): 7178 7179 2010-01-20 Steve Block <steveblock (a] google.com> 7180 7181 Reviewed by David Levin. 7182 7183 Fixes style in WebCore/bridge/Bridge 7184 https://bugs.webkit.org/show_bug.cgi?id=33839 7185 7186 No new tests, style fixes only. 7187 7188 * bridge/Bridge.cpp: Modified. 7189 * bridge/Bridge.h: Modified. 7190 * bridge/c/c_instance.cpp: Modified. 7191 (JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member 7192 (JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member 7193 (JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member 7194 * bridge/jni/jni_runtime.cpp: Modified. 7195 (JavaArray::JavaArray): Modified. Use renamed m_rootObject member 7196 (JavaArray::rootObject): Modified. Use renamed m_rootObject member 7197 * bridge/objc/objc_instance.mm: Modified. 7198 (ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member 7199 (ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member 7200 (ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member 7201 * bridge/objc/objc_runtime.mm: Modified. 7202 (JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member 7203 * bridge/qt/qt_runtime.cpp: Modified. 7204 (JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member 7205 7206 2010-01-20 Daniel Bates <dbates (a] webkit.org> 7207 7208 Reviewed by Eric Seidel. 7209 7210 https://bugs.webkit.org/show_bug.cgi?id=33885 7211 7212 Fixes style errors exposed by the style bot in the patch 7213 for bug #33770. Moreover, fixes all style errors reported 7214 by check-webkit-style. 7215 7216 No functionality was changed. So, no new tests. 7217 7218 * bindings/js/JSWebGLRenderingContextCustom.cpp: 7219 (WebCore::dataFunctionf): 7220 (WebCore::dataFunctioni): 7221 (WebCore::dataFunctionMatrix): 7222 7223 2010-01-19 Steve Block <steveblock (a] google.com> 7224 7225 Reviewed by David Levin. 7226 7227 Fixes style in WebCore/bridge/JNIUtility 7228 https://bugs.webkit.org/show_bug.cgi?id=33870 7229 7230 No new tests, style fixes only. 7231 7232 * bridge/jni/JNIUtility.cpp: 7233 * bridge/jni/JNIUtility.h: 7234 7235 2010-01-20 Simon Hausmann <simon.hausmann (a] nokia.com> 7236 7237 Reviewed by Tor Arne Vestb. 7238 7239 On Linux link QtWebKit with -no-undefined to catch build breakages due to missing 7240 files in the .pro file, resulting in unresolved symbols. 7241 7242 * WebCore.pro: 7243 7244 2010-01-20 Simon Hausmann <simon.hausmann (a] nokia.com> 7245 7246 Reviewed by Tor Arne Vestb. 7247 7248 [Qt] Make it possible to link with -no-undefined. 7249 7250 * WebCore.pro: Add missing explicit dependency to libXrender due to the 7251 use of XRenderFindVisualFormat in the X11 plugin code. 7252 7253 2010-01-20 Simon Hausmann <simon.hausmann (a] nokia.com> 7254 7255 Reviewed by Tor Arne Vestb. 7256 7257 Add missing files to the build. 7258 7259 * WebCore.pro: 7260 7261 2010-01-20 Shinichiro Hamaji <hamaji (a] chromium.org> 7262 7263 Reviewed by Darin Fisher. 7264 7265 [Chromium] computePageRectsForFrame seems to be unnecessary 7266 https://bugs.webkit.org/show_bug.cgi?id=33881 7267 7268 * WebCore.gypi: Removed FrameChromium.h 7269 * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame. 7270 * page/chromium/FrameChromium.h: Removed. 7271 7272 2010-01-20 Roland Steiner <rolandsteiner (a] chromium.org> 7273 7274 Reviewed by Dan Bernstein. 7275 7276 Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57) 7277 (https://bugs.webkit.org/show_bug.cgi?id=33266) 7278 7279 Ruby did not handle malformed cases correctly when the ruby base was in 7280 block flow. Changed the code to handle all possible cases. 7281 Also, added some simplification methods to RenderBlock. 7282 7283 Tests: fast/ruby/ruby-illegal-1.html 7284 fast/ruby/ruby-illegal-2.html 7285 fast/ruby/ruby-illegal-3.html 7286 fast/ruby/ruby-illegal-4.html 7287 fast/ruby/ruby-illegal-5.html 7288 fast/ruby/ruby-illegal-6.html 7289 fast/ruby/ruby-illegal-7.html 7290 fast/ruby/ruby-illegal-combined.html 7291 fast/ruby/rubyDOM-insert-rt-block-1.html 7292 fast/ruby/rubyDOM-insert-rt-block-2.html 7293 fast/ruby/rubyDOM-insert-rt-block-3.html 7294 fast/ruby/rubyDOM-remove-rt-block-1.html 7295 fast/ruby/rubyDOM-remove-rt-block-2.html 7296 fast/ruby/rubyDOM-remove-rt-block-3.html 7297 7298 * rendering/RenderBlock.cpp: 7299 (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation 7300 (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo 7301 * rendering/RenderBlock.h: 7302 * rendering/RenderRubyBase.cpp: 7303 (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren): 7304 (WebCore::RenderRubyBase::moveChildren): 7305 (WebCore::RenderRubyBase::moveInlineChildren): 7306 (WebCore::RenderRubyBase::moveBlockChildren): 7307 (WebCore::RenderRubyBase::mergeBlockChildren): 7308 * rendering/RenderRubyBase.h: 7309 * rendering/RenderRubyRun.cpp: 7310 (WebCore::RenderRubyRun::addChild): 7311 (WebCore::RenderRubyRun::removeChild): 7312 7313 2010-01-19 Dan Bernstein <mitz (a] apple.com> 7314 7315 Build fix after r53514 7316 7317 * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514. 7318 7319 2010-01-19 Simon Fraser <simon.fraser (a] apple.com> 7320 7321 Reviewed by Dan Bernstein. 7322 7323 Avoid calling NSEqualRects() on the garbage rect obtained 7324 by calling -frame on a null view. 7325 7326 * platform/mac/WidgetMac.mm: 7327 (WebCore::Widget::setFrameRect): 7328 7329 2010-01-19 Maciej Stachowiak <mjs (a] apple.com> 7330 7331 Unreviewed build fix. 7332 7333 Remove currentWorld from the exports file again, since it is now inline. 7334 7335 * WebCore.base.exp: 7336 7337 2010-01-19 Brian Weinstein <bweinstein (a] apple.com> 7338 7339 Reviewed by Tim Hatcher. 7340 7341 Part of <http://webkit.org/b/28622>. 7342 Caught exceptions still pause the debugger. 7343 7344 Update JavaScriptDebugServer::exception to take a hasHandler parameter, 7345 so later we can differentiate between a caught and an uncaught exception. 7346 7347 This just adds a new parameter, no behavior is changed. 7348 7349 No change in functionality, so no tests. 7350 7351 * inspector/JavaScriptDebugServer.cpp: 7352 (WebCore::JavaScriptDebugServer::exception): 7353 * inspector/JavaScriptDebugServer.h: 7354 7355 2010-01-18 Maciej Stachowiak <mjs (a] apple.com> 7356 7357 Reviewed by Adam Barth. 7358 7359 Inline functions that are hot in DOM manipulation 7360 https://bugs.webkit.org/show_bug.cgi?id=33820 7361 7362 (3% speedup on Dromaeo DOM Core tests) 7363 7364 * bindings/js/JSDOMBinding.h: 7365 (WebCore::currentWorld): Inlined. 7366 (WebCore::jsString): Inlined String& overload and split off slow case. 7367 * bindings/js/JSDOMBinding.cpp: 7368 (WebCore::jsStringSlowCase): Slow case for the above. 7369 * dom/Document.h: 7370 (WebCore::Document::isHTMLDocument): Use a bit and an inline method 7371 instead of a virtual method, since this is so hot and size of Document 7372 is not a prime concern. 7373 (WebCore::Document::create): Adapt for above. 7374 (WebCore::Document::createXHTML): ditto 7375 * dom/Document.cpp: 7376 (WebCore::Document::Document): ditto 7377 * html/HTMLDocument.cpp: 7378 (WebCore::HTMLDocument::HTMLDocument): ditto 7379 * html/HTMLDocument.h: ditto 7380 * loader/PlaceholderDocument.h: 7381 (WebCore::PlaceholderDocument::PlaceholderDocument): ditto 7382 * svg/SVGDocument.cpp: 7383 (WebCore::SVGDocument::SVGDocument): ditto 7384 * dom/Element.h: 7385 (WebCore::Element::attributes): Inlined. 7386 (WebCore::Element::updateId): Inlined. 7387 * dom/Element.cpp: (Remove inlined methods.) 7388 * dom/NamedAttrMap.h: 7389 (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case. 7390 * dom/NamedAttrMap.cpp: 7391 (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above. 7392 * inspector/InspectorController.cpp: 7393 * inspector/InspectorController.h: 7394 (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case 7395 early exit doesn't incur a function call. 7396 (WebCore::InspectorController::didRemoveDOMNode): ditto 7397 (WebCore::InspectorController::didModifyDOMAttr): ditto 7398 * platform/ThreadGlobalData.h: 7399 (WebCore::threadGlobalData): Inlined. 7400 * platform/ThreadGlobalData.cpp: (Removed inline methods). 7401 * platform/Timer.h: 7402 (WebCore::TimerBase::isActive): Inlined. 7403 * platform/Timer.cpp: (Removed inline methods). 7404 * WebCore.xcodeproj/project.pbxproj: Install new heares. 7405 * WebCore.base.exp: Add appropriate exports. 7406 7407 2010-01-19 Jon Honeycutt <jhoneycutt (a] apple.com> 7408 7409 Chromium build fix. 7410 7411 * accessibility/chromium/AccessibilityObjectChromium.cpp: 7412 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7413 Call correct function. 7414 7415 2010-01-17 Jon Honeycutt <jhoneycutt (a] apple.com> 7416 7417 MSAA: The child <option> elements of a non-multiple <select> are not 7418 exposed 7419 7420 https://bugs.webkit.org/show_bug.cgi?id=33773 7421 <rdar://problem/7550556> 7422 7423 Reviewed by Alice Liu. 7424 7425 This exposes the child <option> elements in a format similar to 7426 Firefox's: the <select> element has one child, a hidden list object, 7427 and this list has as its children the <option> elements. 7428 7429 * GNUmakefile.am: 7430 * WebCore.gypi: 7431 * WebCore.vcproj/WebCore.vcproj: 7432 * WebCore.xcodeproj/project.pbxproj: 7433 Add new files to project. 7434 7435 * accessibility/AXObjectCache.cpp: 7436 (WebCore::AXObjectCache::getOrCreate): 7437 If the element is a RenderMenuList, create an AccessibilityMenuList. 7438 (WebCore::AXObjectCache::getOrCreate): 7439 Add new types to create by role value. 7440 7441 * accessibility/AccessibilityMenuList.cpp: Added. 7442 (WebCore::AccessibilityMenuList::AccessibilityMenuList): 7443 Call the base class constructor. Assert that the RenderObject passed 7444 is a RenderMenuList. 7445 (WebCore::AccessibilityMenuList::press): 7446 Show or hide the popup menu. 7447 (WebCore::AccessibilityMenuList::addChildren): 7448 Create an AccessibilityMenuListPopup. If the platform ignores its 7449 accessibility, remove it from the object cache and return early. 7450 Otherwise, set its parent object to this object, add it to our list of 7451 children, and tell it to add its children. 7452 (WebCore::AccessibilityMenuList::childrenChanged): 7453 Tell our child hidden list that its children changed. 7454 (WebCore::AccessibilityMenuList::isCollapsed): 7455 Return whether the popup menu is visible. 7456 7457 * accessibility/AccessibilityMenuList.h: Added. 7458 (WebCore::AccessibilityMenuList::create): 7459 Adopt and return a new RenderMenuList. 7460 (WebCore::AccessibilityMenuList::isMenuList): 7461 (WebCore::AccessibilityMenuList::roleValue): 7462 (WebCore::AccessibilityMenuList::accessibilityIsIgnored): 7463 (WebCore::AccessibilityMenuList::canSetFocusAttribute): 7464 7465 * accessibility/AccessibilityMenuListOption.cpp: Added. 7466 (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption): 7467 Initialize the pointer to our parent popup menu. 7468 (WebCore::AccessibilityMenuListOption::setElement): 7469 Assert that the element is an <option> element. 7470 (WebCore::AccessibilityMenuListOption::actionElement): 7471 Return our element. 7472 (WebCore::AccessibilityMenuListOption::parentObject): 7473 Return our parent popup menu. 7474 (WebCore::AccessibilityMenuListOption::isEnabled): 7475 Return true if the element itself is enabled. 7476 (WebCore::AccessibilityMenuListOption::isVisible): 7477 Return true if the popup is visible, or return true if the popup is 7478 collapsed but the element is selected. 7479 (WebCore::AccessibilityMenuListOption::isOffScreen): 7480 Return true if the object is invisible. 7481 (WebCore::AccessibilityMenuListOption::isSelected): 7482 (WebCore::AccessibilityMenuListOption::setSelected): 7483 (WebCore::AccessibilityMenuListOption::nameForMSAA): 7484 Return the <option> element's text. 7485 (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute): 7486 Return true if enabled. 7487 (WebCore::AccessibilityMenuListOption::elementRect): 7488 Return the AccessibilityMenuList's rect. 7489 7490 * accessibility/AccessibilityMenuListOption.h: Added. 7491 (WebCore::AccessibilityMenuListOption::create): 7492 Adopt and return a new AccessibilityMenuListOption. 7493 (WebCore::AccessibilityMenuListOption::setParent): 7494 (WebCore::AccessibilityMenuListOption::isMenuListOption): 7495 (WebCore::AccessibilityMenuListOption::roleValue): 7496 (WebCore::AccessibilityMenuListOption::canHaveChildren): 7497 (WebCore::AccessibilityMenuListOption::size): 7498 7499 * accessibility/AccessibilityMenuListPopup.cpp: Added. 7500 (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup): 7501 Initialize the pointer to our parent list. 7502 (WebCore::AccessibilityMenuListPopup::isVisible): 7503 Return false; we're never considered visible. 7504 (WebCore::AccessibilityMenuListPopup::isOffScreen): 7505 Return true if the popup is collapsed. 7506 (WebCore::AccessibilityMenuListPopup::parentObject): 7507 Return our parent AccessibilityMenuList. 7508 (WebCore::AccessibilityMenuListPopup::isEnabled): 7509 Return true if our parent is enabled. 7510 (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject): 7511 If the element is an <option> element, create a list item for it, and 7512 set the object's element to this element. 7513 (WebCore::AccessibilityMenuListPopup::press): 7514 Call our parent's press() function to show or hide the popup menu. 7515 (WebCore::AccessibilityMenuListPopup::addChildren): 7516 Walk the select element's children, and create list items for them. Add 7517 them to our list of children. 7518 (WebCore::AccessibilityMenuListPopup::childrenChanged): 7519 If any of our children have been detached from the document, remove 7520 them from the AXObjectCache and from our child list. 7521 (WebCore::AccessibilityMenuListPopup::setMenuList): 7522 7523 * accessibility/AccessibilityMenuListPopup.h: Added. 7524 (WebCore::AccessibilityMenuListPopup::create): 7525 Adopt and return an AccessibilityMenuListPopup. 7526 (WebCore::AccessibilityMenuListPopup::isMenuListPopup): 7527 (WebCore::AccessibilityMenuListPopup::elementRect): 7528 (WebCore::AccessibilityMenuListPopup::size): 7529 (WebCore::AccessibilityMenuListPopup::roleValue): 7530 7531 * accessibility/AccessibilityObject.cpp: 7532 (WebCore::AccessibilityObject::actionVerb): 7533 Add the menuListAction and menuListPopupAction verbs. 7534 7535 * accessibility/AccessibilityObject.h: 7536 (WebCore::): 7537 Add new roles. 7538 (WebCore::AccessibilityObject::isMenuList): 7539 Stubbed. 7540 (WebCore::AccessibilityObject::isMenuListHiddenList): 7541 Stubbed. 7542 (WebCore::AccessibilityObject::isMenuListOption): 7543 Stubbed. 7544 (WebCore::AccessibilityObject::isVisible): 7545 Stubbed. 7546 7547 * accessibility/chromium/AccessibilityObjectChromium.cpp: 7548 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7549 Ignore the new object type. 7550 7551 * accessibility/gtk/AccessibilityObjectAtk.cpp: 7552 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7553 Ditto. 7554 7555 * accessibility/mac/AccessibilityObjectMac.mm: 7556 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7557 Ditto. 7558 7559 * accessibility/qt/AccessibilityObjectQt.cpp: 7560 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7561 Ditto. 7562 7563 * accessibility/win/AccessibilityObjectWin.cpp: 7564 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7565 Allow the new object types. 7566 7567 * accessibility/wx/AccessibilityObjectWx.cpp: 7568 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7569 Ignore the new object type. 7570 7571 * accessibility/win/AccessibilityObjectWin.cpp: 7572 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 7573 If the object is an AccessibilityMenuListHiddenList or 7574 AccessibilityMenuListOption, include it. 7575 7576 * html/HTMLOptionElement.cpp: 7577 (WebCore::HTMLOptionElement::disabled): 7578 Call ownElementDisabled(). 7579 7580 * html/HTMLOptionElement.h: 7581 (WebCore::HTMLOptionElement::ownElementDisabled): 7582 Return the base class implementation of disabled, which returns 7583 whether this <option> itself is disabled. 7584 7585 * platform/LocalizedStrings.h: 7586 Declare new localized string functions. 7587 7588 * platform/gtk/LocalizedStringsGtk.cpp: 7589 (WebCore::AXMenuListPopupActionVerb): 7590 Stubbed. 7591 (WebCore::AXMenuListActionVerb): 7592 Stubbed. 7593 7594 * platform/haiku/LocalizedStringsHaiku.cpp: 7595 (WebCore::AXMenuListPopupActionVerb): 7596 Stubbed. 7597 (WebCore::AXMenuListActionVerb): 7598 Stubbed. 7599 7600 * platform/mac/LocalizedStringsMac.mm: 7601 (WebCore::AXMenuListPopupActionVerb): 7602 Call the view factory's method. 7603 (WebCore::AXMenuListActionVerb): 7604 Ditto. 7605 7606 * platform/qt/Localizations.cpp: 7607 (WebCore::AXMenuListPopupActionVerb): 7608 Stubbed. 7609 (WebCore::AXMenuListActionVerb): 7610 Stubbed. 7611 7612 * platform/wx/LocalizedStringsWx.cpp: 7613 (WebCore::AXMenuListPopupActionVerb): 7614 Stubbed. 7615 (WebCore::AXMenuListActionVerb): 7616 Stubbed. 7617 7618 2010-01-19 Simon Fraser <simon.fraser (a] apple.com> 7619 7620 Reviewed by Dan Bernstein. 7621 7622 Support reflections on WebGL 7623 https://bugs.webkit.org/show_bug.cgi?id=33754 7624 7625 Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the 7626 WebGL content gets displayed, we correctly copy its content to the clone layers. 7627 7628 Test: compositing/webgl/webgl-reflection.html 7629 7630 * platform/graphics/GraphicsLayer.h: 7631 (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter 7632 which is the layer that displayed. 7633 * platform/graphics/mac/Canvas3DLayer.mm: 7634 (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay(). 7635 * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter. 7636 7637 * platform/graphics/mac/GraphicsLayerCA.mm: 7638 (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content 7639 layer, since we're setting it for WebGL layers now. 7640 7641 (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer, 7642 as well as the main layer now, getting the correct layer to copy contents from, and using 7643 the correct clone map. 7644 7645 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL 7646 layers, because we need the didDisplay() callback. 7647 7648 * platform/graphics/mac/WebLayer.mm: 7649 (-[WebLayer display]): didDisplay() takes a layer argument. 7650 * platform/graphics/mac/WebTiledLayer.mm: 7651 (-[WebTiledLayer display]): ditto. 7652 7653 2010-01-19 Mark Rowe <mrowe (a] apple.com> 7654 7655 Reviewed by Oliver Hunt. 7656 7657 <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray 7658 7659 Rework toArray to extract elements in to a vector rather than handing out raw pointers. This prevents 7660 callers from forgetting to free the memory, and gives them the option of using stack buffers for 7661 sufficiently small allocations. 7662 7663 * bindings/js/JSWebGLRenderingContextCustom.cpp: 7664 (WebCore::JSWebGLRenderingContext::texSubImage2D): 7665 (WebCore::toVector): 7666 (WebCore::dataFunctionf): 7667 (WebCore::dataFunctioni): 7668 (WebCore::dataFunctionMatrix): 7669 7670 2010-01-19 Carol Szabo <carol.szabo (a] nokia.com> 7671 7672 Reviewed by Darin Adler. 7673 7674 Another crazy counters bug 7675 https://bugs.webkit.org/show_bug.cgi?id=11031 7676 7677 This patch actually provides for counter updating when the style 7678 of a renderer changes. 7679 7680 Tests: fast/css/counters/counter-increment-002.html 7681 fast/css/counters/counter-reset-000.html 7682 fast/css/counters/counter-reset-002.html 7683 7684 * rendering/RenderCounter.cpp: 7685 (WebCore::RenderCounter::rendererStyleChanged): 7686 This function is added to update the counter hierarchy in 7687 response to changes to the style of a renderer. 7688 * rendering/RenderCounter.h: 7689 * rendering/RenderObject.cpp: 7690 (WebCore::RenderObject::styleDidChange): 7691 For changes that may include the counter directives added a 7692 call to RenderCounter::rendererStyleChanged. 7693 7694 2010-01-19 Gustavo Noronha Silva <gns (a] gnome.org> 7695 7696 Unreviewed. Build fixes for make distcheck - missing files. 7697 7698 * GNUmakefile.am: 7699 7700 2010-01-19 Alexey Proskuryakov <ap (a] apple.com> 7701 7702 Reviewed by Oliver Hunt. 7703 7704 https://bugs.webkit.org/show_bug.cgi?id=33850 7705 Attr.childNodes does not get updated after DOM mutations 7706 7707 Test: fast/dom/Attr/child-nodes-cache.html 7708 7709 * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an 7710 attribute, then changing it shouldn't take the shortcut that only resets a subset of caches. 7711 7712 2010-01-19 John Sullivan <sullivan (a] apple.com> 7713 7714 https://bugs.webkit.org/show_bug.cgi?id=33854 7715 Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 7716 more info about where the result was found 7717 7718 Reviewed by Darin Adler. 7719 7720 No new tests. This just adds a couple of out parameters for the benefit of WebKit clients. 7721 7722 * WebCore.base.exp: 7723 Updated mangled signature for export. 7724 7725 * page/Frame.cpp: 7726 (WebCore::Frame::searchForLabelsAboveCell): 7727 Now fills in an out parameter with the number of characters from the start of the cell. 7728 (WebCore::Frame::searchForLabelsBeforeElement): 7729 Now fills in an out parameter with the distance as a number of characters, and another 7730 with a bool for whether the result was in a table cell above the current cell (otherwise 7731 it was found in the text before this element and after the previous element or start of form). 7732 7733 * page/Frame.h: 7734 Updated signatures. 7735 7736 * page/mac/FrameMac.mm: 7737 (WebCore::Frame::searchForNSLabelsAboveCell): 7738 Same as above. This is a parallel copy of the function using Mac-specific data structures. 7739 (WebCore::Frame::searchForLabelsBeforeElement): 7740 Ditto 7741 7742 2010-01-19 Jakob Petsovits <jpetsovits (a] rim.com> 7743 7744 Reviewed by Nikolas Zimmermann. 7745 7746 [OpenVG] Add (EGL) surface/context management 7747 https://bugs.webkit.org/show_bug.cgi?id=33403 7748 7749 The foundations for a new OpenVG port. 7750 7751 OpenVG is not tied to EGL per se, EGL just happens to be 7752 the only usable backend for OpenVG state and painting 7753 at the time of writing. 7754 7755 The purpose of the SurfaceOpenVG class is to provide 7756 an EGL-independent interface for OpenVG-specific code. 7757 The EGLDisplayOpenVG class takes care of keeping track 7758 of EGL displays, surfaces and contexts. It also makes 7759 sure that all created contexts are interoperable, and 7760 that different surfaces use a single context if possible. 7761 7762 * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added. 7763 (WebCore::displayManagers): 7764 (WebCore::EGLDisplayOpenVG::currentSurface): 7765 (WebCore::EGLDisplayOpenVG::registerPlatformSurface): 7766 (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface): 7767 (WebCore::EGLDisplayOpenVG::setCurrentDisplay): 7768 (WebCore::EGLDisplayOpenVG::current): 7769 (WebCore::EGLDisplayOpenVG::forDisplay): 7770 (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG): 7771 (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): 7772 (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig): 7773 (WebCore::EGLDisplayOpenVG::defaultPbufferConfig): 7774 (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig): 7775 (WebCore::EGLDisplayOpenVG::defaultWindowConfig): 7776 (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): 7777 (WebCore::EGLDisplayOpenVG::createPbufferSurface): 7778 (WebCore::EGLDisplayOpenVG::surfaceForWindow): 7779 (WebCore::EGLDisplayOpenVG::surfacesCompatible): 7780 (WebCore::EGLDisplayOpenVG::destroySurface): 7781 (WebCore::EGLDisplayOpenVG::contextForSurface): 7782 * platform/graphics/openvg/EGLDisplayOpenVG.h: Added. 7783 (WebCore::EGLDisplayOpenVG::display): 7784 * platform/graphics/openvg/EGLUtils.h: Added. 7785 (toEGLErrorConstant): 7786 * platform/graphics/openvg/SurfaceOpenVG.cpp: Added. 7787 (WebCore::SurfaceOpenVG::currentSurface): 7788 (WebCore::SurfaceOpenVG::SurfaceOpenVG): 7789 (WebCore::SurfaceOpenVG::~SurfaceOpenVG): 7790 (WebCore::SurfaceOpenVG::isValid): 7791 (WebCore::SurfaceOpenVG::width): 7792 (WebCore::SurfaceOpenVG::height): 7793 (WebCore::SurfaceOpenVG::sharedSurface): 7794 (WebCore::SurfaceOpenVG::makeCurrent): 7795 (WebCore::SurfaceOpenVG::makeCompatibleCurrent): 7796 (WebCore::SurfaceOpenVG::flush): 7797 * platform/graphics/openvg/SurfaceOpenVG.h: Added. 7798 (WebCore::SurfaceOpenVG::eglDisplay): 7799 (WebCore::SurfaceOpenVG::eglSurface): 7800 (WebCore::SurfaceOpenVG::eglContext): 7801 * platform/graphics/openvg/VGUtils.h: Added. 7802 (toVGErrorConstant): 7803 7804 2010-01-19 Steve Block <steveblock (a] google.com> 7805 7806 Reviewed by David Levin. 7807 7808 Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate 7809 https://bugs.webkit.org/show_bug.cgi?id=33843 7810 7811 No new tests, refactoring only. 7812 7813 * Android.jscbindings.mk: 7814 * Android.v8bindings.mk: 7815 * GNUmakefile.am: 7816 * WebCore.xcodeproj/project.pbxproj: 7817 * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp. 7818 * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h. 7819 * bridge/jni/jni_jsobject.mm: 7820 * bridge/jni/jni_objc.mm: 7821 * bridge/jni/jni_runtime.cpp: 7822 * bridge/jni/jni_runtime.h: 7823 * bridge/jni/jni_utility.cpp: Removed. 7824 * bridge/jni/jni_utility.h: Removed. 7825 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp. 7826 (JSC::Bindings::convertValueToJValue): 7827 * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h. 7828 * bridge/jni/jsc/JavaClassJSC.cpp: 7829 * bridge/jni/jsc/JavaInstanceJSC.cpp: 7830 * bridge/jni/jsc/JavaStringJSC.h: 7831 * bridge/jni/jsc/jni_utility_private.cpp: Removed. 7832 * bridge/jni/jsc/jni_utility_private.h: Removed. 7833 * platform/android/GeolocationServiceBridge.cpp: 7834 * platform/android/GeolocationServiceBridge.h: 7835 * platform/android/TemporaryLinkStubs.cpp: 7836 7837 2010-01-19 Simon Fraser <simon.fraser (a] apple.com> 7838 7839 Reviewed by Dan Bernstein. 7840 7841 Occasional crash when interacting with page with reflected WebGL 7842 https://bugs.webkit.org/show_bug.cgi?id=33863 7843 7844 If updateCompositingLayers() was called with an updateRoot that was a reflection layer, 7845 then we would determine that the layer does not require compositing, and tear down its 7846 backing (without clearing replicaLayer() on the source layer's GraphicsLayer). 7847 7848 Fix by changing requiresCompositingLayer() on a reflection layer to always give the 7849 same answer for a reflection and its original. 7850 7851 Also add various belt-and-brances code and null checks to ensure that if we ever end up 7852 with a non-composited reflection layer, we won't crash. 7853 7854 No new tests, because the crash depends on timing issues that are hard to reproduce in a test. 7855 7856 * platform/graphics/GraphicsLayer.h: 7857 (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion. 7858 7859 * rendering/RenderLayerCompositor.cpp: 7860 (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer 7861 pointer if tearing down backing store of a reflection. 7862 7863 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing(). 7864 (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing(). 7865 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing(). 7866 (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer, 7867 use the source layer to answer the question. 7868 7869 2010-01-19 Simon Fraser <simon.fraser (a] apple.com> 7870 7871 Reviewed by Dan Bernstein. 7872 7873 Some composited reflections incorrectly positioned 7874 https://bugs.webkit.org/show_bug.cgi?id=33856 7875 7876 When setting the position of the replicated layer inside the reflection, we need to take 7877 into account the bounds of the original layer, and the replica layer to get the 7878 reflection in the right place. 7879 7880 Tests: compositing/reflections/nested-reflection-transformed2.html 7881 compositing/reflections/reflection-positioning2.html 7882 7883 * rendering/RenderLayerBacking.cpp: 7884 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 7885 7886 2010-01-19 Enrica Casucci <enrica (a] apple.com> 7887 7888 Reviewed by Simon Fraser. 7889 7890 REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset() 7891 https://bugs.webkit.org/show_bug.cgi?id=33864 7892 <rdar://problem/7552959> 7893 7894 Regression has been introduced by changeset 53085. 7895 The original fix had to be limited to editable content. 7896 7897 Test: editing/selection/selection-applet.html 7898 7899 * dom/Position.cpp: 7900 (WebCore::Position::getInlineBoxAndOffset): 7901 7902 2010-01-19 Kristian Amlie <kristian.amlie (a] nokia.com> 7903 7904 Reviewed by Laszlo Gombos. 7905 7906 [Qt] Fix qmake warning with qmake in Qt for Symbian 7907 https://bugs.webkit.org/show_bug.cgi?id=33786 7908 7909 * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES. 7910 7911 2010-01-19 Daniel Bates <dbates (a] rim.com> 7912 7913 Reviewed by Darin Adler. 7914 7915 https://bugs.webkit.org/show_bug.cgi?id=33851 7916 7917 Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect 7918 returns the rectangle of the document within the content view of 7919 the scroll view (i.e. the rectangle not including scrollbars) when 7920 the parameter includeScrollbars == true 7921 7922 Currently, this behavior contradicts both the comment in ScrollView.h 7923 for method visibleContentRect as well as the behavior in 7924 ScrollView::visibleContentRect() for a platform-independent scroll view. 7925 7926 Instead, it should return the rectangle whose dimensions include 7927 the scrollbars. 7928 7929 Also, removes some extra whitespace at the end of the lines. 7930 7931 No tests included because we cannot test this using either DRT 7932 or a manual test. 7933 7934 * platform/mac/ScrollViewMac.mm: 7935 (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true 7936 then return the rectangle whose dimensions are that of 7937 the frame (i.e. -[NSScrollView frame]). 7938 7939 2010-01-19 Steve Block <steveblock (a] google.com> 7940 7941 Reviewed by David Levin. 7942 7943 Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC 7944 https://bugs.webkit.org/show_bug.cgi?id=33819 7945 7946 No new tests, style fixes only. 7947 7948 * bridge/jni/jsc/JavaClassJSC.cpp: Modified. 7949 * bridge/jni/jsc/JavaClassJSC.h: Modified. 7950 7951 2010-01-19 Jaime Yap <jaimeyap (a] google.com> 7952 7953 Reviewed by Pavel Feldman. 7954 7955 Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data 7956 when closing a record. Also includes grabbing the start and end line number for parse HTML 7957 records as a reference use case for the above refactor 7958 7959 Tests updated: 7960 inspector/timeline-parse-html-expected.txt 7961 inspector/timeline-layout-expected.txt 7962 inspector/timeline-recalculate-styles-expected.txt 7963 7964 https://bugs.webkit.org/show_bug.cgi?id=33853 7965 7966 * html/HTMLTokenizer.cpp: 7967 (WebCore::HTMLTokenizer::write): 7968 * inspector/InspectorTimelineAgent.cpp: 7969 (WebCore::InspectorTimelineAgent::willDispatchEvent): 7970 (WebCore::InspectorTimelineAgent::willLayout): 7971 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 7972 (WebCore::InspectorTimelineAgent::willPaint): 7973 (WebCore::InspectorTimelineAgent::willWriteHTML): 7974 (WebCore::InspectorTimelineAgent::didWriteHTML): 7975 (WebCore::InspectorTimelineAgent::didInstallTimer): 7976 (WebCore::InspectorTimelineAgent::didRemoveTimer): 7977 (WebCore::InspectorTimelineAgent::willFireTimer): 7978 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): 7979 (WebCore::InspectorTimelineAgent::willLoadXHR): 7980 (WebCore::InspectorTimelineAgent::willEvaluateScript): 7981 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 7982 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): 7983 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 7984 (WebCore::InspectorTimelineAgent::didMarkTimeline): 7985 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 7986 (WebCore::InspectorTimelineAgent::pushCurrentRecord): 7987 * inspector/InspectorTimelineAgent.h: 7988 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): 7989 * inspector/TimelineRecordFactory.cpp: 7990 (WebCore::TimelineRecordFactory::createEventDispatchData): 7991 (WebCore::TimelineRecordFactory::createGenericTimerData): 7992 (WebCore::TimelineRecordFactory::createTimerInstallData): 7993 (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): 7994 (WebCore::TimelineRecordFactory::createXHRLoadData): 7995 (WebCore::TimelineRecordFactory::createEvaluateScriptData): 7996 (WebCore::TimelineRecordFactory::createMarkTimelineData): 7997 (WebCore::TimelineRecordFactory::createResourceSendRequestData): 7998 (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): 7999 (WebCore::TimelineRecordFactory::createResourceFinishData): 8000 (WebCore::TimelineRecordFactory::createPaintData): 8001 (WebCore::TimelineRecordFactory::createParseHTMLData): 8002 * inspector/TimelineRecordFactory.h: 8003 8004 2010-01-19 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 8005 8006 Reviewed by Xan Lopez. 8007 8008 https://bugs.webkit.org/show_bug.cgi?id=30883 8009 [Gtk] Implement AtkText for HTML elements which contain text 8010 8011 Moves the text assembling functionality from getPangoLayoutForAtk to 8012 textForObject, which webkit_accessible_text_get_text now falls back on 8013 when it comes up empty. 8014 8015 Adds a check in textForObject so that we don't double-add newlines 8016 when we have a BR. 8017 8018 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 8019 (textForObject): 8020 (getPangoLayoutForAtk): 8021 (webkit_accessible_text_get_text): 8022 8023 2010-01-19 Eric Carlson <eric.carlson (a] apple.com> 8024 8025 Reviewed by Adam Roben. 8026 8027 error events don't fire if no <source> elements passed to media engine 8028 https://bugs.webkit.org/show_bug.cgi?id=33855 8029 8030 Test: media/video-source-error-no-candidate.html 8031 8032 * html/HTMLMediaElement.cpp: 8033 (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if 8034 there is no 'src' attribute and no <source> child elements at all. 8035 8036 2010-01-19 Daniel Bates <dbates (a] webkit.org> 8037 8038 Reviewed by Adam Roben. 8039 8040 https://bugs.webkit.org/show_bug.cgi?id=33822 8041 8042 REGRESSION(r53273): Fixes redefinition of XFORM error when building 8043 WebKit using Qt Windows with the MinGW compiler. 8044 8045 Note, MinGW has a slightly different declaration of the struct XFORM 8046 from that in the Microsoft SDK. So, we need to substitute an alternative 8047 typedef for XFORM when compiling with MinGW. 8048 8049 No functionality was changed. So, no new tests. 8050 8051 * platform/graphics/transforms/TransformationMatrix.h: 8052 8053 2010-01-19 Stephen White <senorblanco (a] chromium.org> 8054 8055 Reviewed by Dimitri Glazkov. 8056 8057 Fix for crash on large TransparencyWin allocation. The fix is 8058 to leave m_layerValid false when the allocPixels of 8059 OwnedBuffers::m_referenceBitmap fails. Then TransparencyWin won't 8060 attempt to use it. 8061 8062 Will be covered by a new unit test in Chromium's test_shell_tests (when 8063 this is rolled into Chromium). 8064 8065 https://bugs.webkit.org/show_bug.cgi?id=33844 8066 8067 * platform/graphics/chromium/TransparencyWin.cpp: 8068 (WebCore::TransparencyWin::initializeNewContext): 8069 Early return when m_referenceBitmap or its pixels is NULL, leaving 8070 m_layerValid false. 8071 8072 2010-01-19 Eric Carlson <eric.carlson (a] apple.com> 8073 8074 Reviewed by Adam Roben. 8075 8076 video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded 8077 https://bugs.webkit.org/show_bug.cgi?id=33744 8078 8079 Test: media/video-source-none-supported.html 8080 8081 * html/HTMLMediaElement.cpp: 8082 (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if 8083 there are no valid source elements. 8084 (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE. 8085 (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie 8086 hasn't reached HAVE_METADATA and there are no more <source> elements to try. 8087 * html/HTMLMediaElement.h: Declare waitForSourceChange. 8088 8089 2010-01-19 Daniel Bates <dbates (a] rim.com> 8090 8091 Reviewed by Adam Treat. 8092 8093 https://bugs.webkit.org/show_bug.cgi?id=33408 8094 8095 Implements an optimization to ignore fixed background images 8096 (i.e. background-attachment: fixed) when a page does not contain 8097 any fixed position elements so as to allow fast repaints (via bit 8098 blit) when scrolling a page. 8099 8100 Currently, if a page has elements that specify either a fixed 8101 background or a fixed position then we perform a slow repaint 8102 (i.e disable blitting) so as to avoid rendering artifacts. 8103 However, on low-powered/mobile devices slow repaints can cause 8104 noticeable delays when scrolling a page with a fixed background 8105 image. By sacrificing support for fixed background images when 8106 there are no fixed elements on the page and with come care, we 8107 don't need to force slow repaints and can avoid rendering artifacts. 8108 Hence, on such devices we can improve the responsiveness of 8109 scrolling a page with a fixed background image. 8110 8111 Note, this optimization is only enabled if the WebKit is built 8112 with FAST_MOBILE_SCROLLING enabled. 8113 8114 Tests: fast/fast-mobile-scrolling/fixed-position-element.html 8115 fast/fast-mobile-scrolling/no-fixed-position-elements.html 8116 8117 * rendering/RenderBoxModelObject.cpp: 8118 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 8119 Disable fixed background attachment if we can blit on scroll. 8120 * rendering/RenderObject.cpp: 8121 (WebCore::RenderObject::styleWillChange): 8122 8123 2010-01-19 Dave Hyatt <hyatt (a] apple.com> 8124 8125 Build bustage fix. Land modified WebCore.base.exp file that includes export of currentWorld(). 8126 8127 * WebCore.base.exp: 8128 8129 2010-01-19 Brady Eidson <beidson (a] apple.com> 8130 8131 Reviewed by Alexey Proskuryakov. 8132 8133 Crash in Page::backForwardList when using History object from a detached window 8134 <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828 8135 8136 Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html 8137 8138 * page/History.cpp: 8139 (WebCore::History::stateObjectAdded): Do an early return when detached. The spec 8140 doesn't really cover expected behavior and we already do something similar in 8141 other places, such as in History::length(). 8142 8143 2010-01-19 Yury Semikhatsky <yurys (a] chromium.org> 8144 8145 Reviewed by NOBODY (build fix). 8146 8147 Revert r53467. Browser crashes on opening inspector if there 8148 are messages in console. 8149 8150 * bindings/js/JSInjectedScriptHostCustom.cpp: 8151 (WebCore::JSInjectedScriptHost::databaseForId): 8152 (WebCore::JSInjectedScriptHost::inspectedWindow): 8153 (WebCore::JSInjectedScriptHost::wrapCallback): 8154 (WebCore::JSInjectedScriptHost::currentCallFrame): 8155 (WebCore::JSInjectedScriptHost::nodeForId): 8156 (WebCore::JSInjectedScriptHost::wrapObject): 8157 (WebCore::JSInjectedScriptHost::unwrapObject): 8158 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 8159 (WebCore::JSInjectedScriptHost::selectDatabase): 8160 (WebCore::JSInjectedScriptHost::selectDOMStorage): 8161 * bindings/js/ScriptController.cpp: 8162 * bindings/js/ScriptController.h: 8163 * bindings/js/ScriptObject.h: 8164 * bindings/js/ScriptValue.cpp: 8165 (WebCore::ScriptValue::quarantineValue): 8166 * bindings/js/ScriptValue.h: 8167 * bindings/v8/ScriptObject.h: 8168 * bindings/v8/ScriptValue.h: 8169 (WebCore::ScriptValue::quarantineValue): 8170 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 8171 (WebCore::V8InjectedScriptHost::inspectedWindowCallback): 8172 (WebCore::V8InjectedScriptHost::wrapCallbackCallback): 8173 (WebCore::V8InjectedScriptHost::wrapObjectCallback): 8174 (WebCore::V8InjectedScriptHost::unwrapObjectCallback): 8175 * inspector/ConsoleMessage.cpp: 8176 (WebCore::ConsoleMessage::ConsoleMessage): 8177 (WebCore::ConsoleMessage::addToConsole): 8178 (WebCore::ConsoleMessage::isEqual): 8179 * inspector/ConsoleMessage.h: 8180 * inspector/InjectedScriptHost.cpp: 8181 (WebCore::InjectedScriptHost::wrapObject): 8182 (WebCore::InjectedScriptHost::unwrapObject): 8183 * inspector/InjectedScriptHost.h: 8184 * inspector/InjectedScriptHost.idl: 8185 * inspector/InspectorBackend.cpp: 8186 (WebCore::InspectorBackend::dispatchOnInjectedScript): 8187 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 8188 * inspector/InspectorBackend.h: 8189 * inspector/InspectorBackend.idl: 8190 * inspector/InspectorController.cpp: 8191 (WebCore::InspectorController::InspectorController): 8192 (WebCore::InspectorController::clearConsoleMessages): 8193 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 8194 (WebCore::InspectorController::windowScriptObjectAvailable): 8195 (WebCore::InspectorController::scriptObjectReady): 8196 (WebCore::InspectorController::setFrontendProxyObject): 8197 (WebCore::InspectorController::close): 8198 (WebCore::InspectorController::resetScriptObjects): 8199 (WebCore::InspectorController::didPause): 8200 (WebCore::InspectorController::wrapObject): 8201 (WebCore::InspectorController::unwrapObject): 8202 (WebCore::InspectorController::releaseWrapperObjectGroup): 8203 (WebCore::InspectorController::resetInjectedScript): 8204 * inspector/InspectorController.h: 8205 * inspector/InspectorFrontend.cpp: 8206 (WebCore::InspectorFrontend::addConsoleMessage): 8207 (WebCore::InspectorFrontend::pausedScript): 8208 * inspector/InspectorFrontend.h: 8209 * inspector/front-end/AuditsPanel.js: 8210 (WebInspector.AuditsPanel.prototype._reloadResources): 8211 * inspector/front-end/ConsoleView.js: 8212 (WebInspector.ConsoleView.prototype.requestClearMessages): 8213 (WebInspector.ConsoleView.prototype.completions): 8214 (WebInspector.ConsoleView.prototype.doEvalInWindow): 8215 (WebInspector.ConsoleView.prototype._formatnode): 8216 (WebInspector.ConsoleView.prototype._formatarray): 8217 * inspector/front-end/DOMAgent.js: 8218 (WebInspector.DOMNode): 8219 (WebInspector.CSSStyleDeclaration): 8220 (WebInspector.CSSStyleDeclaration.parseRule): 8221 * inspector/front-end/Database.js: 8222 (WebInspector.Database.prototype.executeSql): 8223 * inspector/front-end/ElementsPanel.js: 8224 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 8225 (WebInspector.ElementsPanel.prototype.setDocument): 8226 (WebInspector.ElementsPanel.prototype.searchCanceled): 8227 (WebInspector.ElementsPanel.prototype.performSearch): 8228 * inspector/front-end/ElementsTreeOutline.js: 8229 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 8230 * inspector/front-end/EventListenersSidebarPane.js: 8231 (): 8232 * inspector/front-end/InjectedScript.js: 8233 (InjectedScript.dispatch): 8234 (InjectedScript.toggleStyleEnabled): 8235 (InjectedScript._serializeRule): 8236 (InjectedScript._serializeStyle): 8237 (InjectedScript.getProperties): 8238 (InjectedScript.setPropertyValue): 8239 (InjectedScript._evaluateAndWrap): 8240 (InjectedScript.getCallFrames): 8241 (InjectedScript._inspectObject): 8242 (InjectedScript._ensureCommandLineAPIInstalled): 8243 (InjectedScript._resolveObject): 8244 (InjectedScript._window): 8245 (InjectedScript._objectForId): 8246 (InjectedScript.createProxyObject): 8247 (InjectedScript.executeSql): 8248 (InjectedScript.executeSql.errorCallback): 8249 (InjectedScript.executeSql.queryTransaction): 8250 (Object.type): 8251 (String.prototype.escapeCharacters): 8252 * inspector/front-end/InjectedScriptAccess.js: 8253 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): 8254 (InjectedScriptAccess._installHandler): 8255 * inspector/front-end/MetricsSidebarPane.js: 8256 (WebInspector.MetricsSidebarPane): 8257 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): 8258 (WebInspector.MetricsSidebarPane.prototype.update): 8259 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 8260 * inspector/front-end/ObjectPropertiesSection.js: 8261 (WebInspector.ObjectPropertiesSection.prototype.update): 8262 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 8263 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): 8264 * inspector/front-end/ObjectProxy.js: 8265 (WebInspector.ObjectProxy): 8266 (WebInspector.ObjectProxy.getPropertiesAsync): 8267 * inspector/front-end/PropertiesSidebarPane.js: 8268 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 8269 (WebInspector.PropertiesSidebarPane.prototype.update): 8270 * inspector/front-end/ResourcesPanel.js: 8271 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 8272 * inspector/front-end/ScriptsPanel.js: 8273 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 8274 * inspector/front-end/StylesSidebarPane.js: 8275 (WebInspector.StylesSidebarPane.prototype.update): 8276 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 8277 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): 8278 (WebInspector.StylePropertyTreeElement.prototype): 8279 * inspector/front-end/WatchExpressionsSidebarPane.js: 8280 (WebInspector.WatchExpressionsSection.prototype.update): 8281 * inspector/front-end/inspector.js: 8282 (WebInspector.loaded): 8283 (WebInspector.pausedScript): 8284 (WebInspector.addConsoleMessage): 8285 (WebInspector.log.logMessage): 8286 (WebInspector.log): 8287 8288 2010-01-19 Yury Semikhatsky <yurys (a] chromium.org> 8289 8290 Reviewed by Pavel Feldman. 8291 8292 Inject inspector script directly into the inspected context. All the 8293 communication between the script and the frontend is serialized into 8294 JSON strings. It allows to get rid of object quarantines in Web Inspector. 8295 8296 https://bugs.webkit.org/show_bug.cgi?id=32554 8297 8298 * bindings/js/JSInjectedScriptHostCustom.cpp: 8299 (WebCore::JSInjectedScriptHost::databaseForId): 8300 (WebCore::JSInjectedScriptHost::currentCallFrame): 8301 (WebCore::JSInjectedScriptHost::nodeForId): 8302 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 8303 (WebCore::JSInjectedScriptHost::selectDatabase): 8304 (WebCore::JSInjectedScriptHost::selectDOMStorage): 8305 * bindings/js/ScriptController.cpp: 8306 (WebCore::ScriptController::mainWorldScriptState): 8307 * bindings/js/ScriptController.h: 8308 * bindings/js/ScriptObject.h: 8309 (WebCore::ScriptObject::scriptState): 8310 * bindings/js/ScriptValue.cpp: 8311 * bindings/js/ScriptValue.h: 8312 * bindings/v8/ScriptObject.h: 8313 (WebCore::ScriptObject::scriptState): 8314 * bindings/v8/ScriptValue.h: 8315 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 8316 * inspector/ConsoleMessage.cpp: 8317 (WebCore::ConsoleMessage::ConsoleMessage): 8318 (WebCore::ConsoleMessage::addToConsole): 8319 (WebCore::ConsoleMessage::isEqual): 8320 * inspector/ConsoleMessage.h: 8321 * inspector/InjectedScriptHost.cpp: 8322 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup): 8323 * inspector/InjectedScriptHost.h: 8324 * inspector/InjectedScriptHost.idl: 8325 * inspector/InspectorBackend.cpp: 8326 (WebCore::InspectorBackend::setInjectedScriptSource): 8327 (WebCore::InspectorBackend::dispatchOnInjectedScript): 8328 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 8329 * inspector/InspectorBackend.h: 8330 * inspector/InspectorBackend.idl: 8331 * inspector/InspectorController.cpp: 8332 (WebCore::InspectorController::InspectorController): 8333 (WebCore::InspectorController::clearConsoleMessages): 8334 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 8335 (WebCore::InspectorController::windowScriptObjectAvailable): 8336 (WebCore::InspectorController::scriptObjectReady): 8337 (WebCore::InspectorController::setFrontendProxyObject): 8338 (WebCore::InspectorController::close): 8339 (WebCore::InspectorController::resetScriptObjects): 8340 (WebCore::InspectorController::didPause): 8341 (WebCore::InspectorController::injectedScriptForNodeId): 8342 * inspector/InspectorController.h: 8343 * inspector/InspectorFrontend.cpp: 8344 (WebCore::InspectorFrontend::addConsoleMessage): 8345 (WebCore::InspectorFrontend::pausedScript): 8346 * inspector/InspectorFrontend.h: 8347 * inspector/front-end/AuditsPanel.js: 8348 (WebInspector.AuditsPanel.prototype._reloadResources): 8349 * inspector/front-end/ConsoleView.js: 8350 (WebInspector.ConsoleView.prototype.requestClearMessages): 8351 (WebInspector.ConsoleView.prototype.doEvalInWindow): 8352 * inspector/front-end/DOMAgent.js: 8353 (WebInspector.DOMNode): 8354 (WebInspector.CSSStyleDeclaration): 8355 (WebInspector.CSSStyleDeclaration.parseRule): 8356 * inspector/front-end/Database.js: 8357 (WebInspector.Database.prototype.executeSql): 8358 * inspector/front-end/ElementsPanel.js: 8359 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): 8360 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 8361 (WebInspector.ElementsPanel.prototype.setDocument): 8362 (WebInspector.ElementsPanel.prototype.searchCanceled): 8363 (WebInspector.ElementsPanel.prototype.performSearch): 8364 * inspector/front-end/ElementsTreeOutline.js: 8365 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 8366 * inspector/front-end/EventListenersSidebarPane.js: 8367 (): 8368 * inspector/front-end/InjectedScript.js: 8369 (injectedScriptConstructor): 8370 (injectedScriptConstructor.): 8371 * inspector/front-end/InjectedScriptAccess.js: 8372 (InjectedScriptAccess): 8373 (InjectedScriptAccess.getDefault): 8374 (get InjectedScriptAccess): 8375 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): 8376 (InjectedScriptAccess._installHandler): 8377 * inspector/front-end/MetricsSidebarPane.js: 8378 (WebInspector.MetricsSidebarPane): 8379 (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): 8380 * inspector/front-end/ObjectPropertiesSection.js: 8381 * inspector/front-end/ObjectProxy.js: 8382 (WebInspector.ObjectProxy): 8383 * inspector/front-end/PropertiesSidebarPane.js: 8384 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 8385 * inspector/front-end/ResourcesPanel.js: 8386 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 8387 * inspector/front-end/ScriptsPanel.js: 8388 * inspector/front-end/StylesSidebarPane.js: 8389 (WebInspector.StylePropertyTreeElement.prototype): 8390 * inspector/front-end/WatchExpressionsSidebarPane.js: 8391 (WebInspector.WatchExpressionsSection.prototype.update): 8392 * inspector/front-end/inspector.js: 8393 (WebInspector.loaded): 8394 (WebInspector.pausedScript): 8395 (WebInspector.addConsoleMessage): 8396 (WebInspector.log.logMessage): 8397 (WebInspector.log): 8398 8399 2010-01-19 Steve Block <steveblock (a] google.com> 8400 8401 Unreviewed build fix. 8402 8403 Fixes Windows build due to http://trac.webkit.org/changeset/53464 8404 Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h] 8405 8406 No new tests, build fix only. 8407 8408 * WebCore.vcproj/WebCore.vcproj: 8409 8410 2010-01-19 Steve Block <steveblock (a] google.com> 8411 8412 Reviewed by Adam Barth. 8413 8414 Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h] 8415 https://bugs.webkit.org/show_bug.cgi?id=33801 8416 8417 runtime.[cpp|h] contains general interface classes for use in the bridge, 8418 so Bridge is a more appropriate name than runtime. 8419 8420 No new tests, renaming only. 8421 8422 * Android.jscbindings.mk: 8423 * GNUmakefile.am: 8424 * WebCore.pro: 8425 * WebCore.xcodeproj/project.pbxproj: 8426 * WebCoreSources.bkl: 8427 * bindings/js/JSPluginElementFunctions.cpp: 8428 * bindings/js/ScriptControllerGtk.cpp: 8429 * bindings/js/ScriptControllerHaiku.cpp: 8430 * bindings/js/ScriptControllerMac.mm: 8431 * bindings/js/ScriptControllerQt.cpp: 8432 * bindings/js/ScriptControllerWin.cpp: 8433 * bindings/js/ScriptControllerWx.cpp: 8434 * bindings/js/ScriptInstance.h: 8435 * bindings/objc/WebScriptObject.mm: 8436 * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp. 8437 * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h. 8438 * bridge/c/c_class.h: 8439 * bridge/c/c_instance.h: 8440 * bridge/c/c_runtime.h: 8441 * bridge/jni/jni_instance.h: 8442 * bridge/objc/objc_runtime.h: 8443 * bridge/qt/qt_class.h: 8444 * bridge/qt/qt_instance.h: 8445 * bridge/qt/qt_runtime.cpp: 8446 * bridge/qt/qt_runtime.h: 8447 * bridge/runtime.cpp: Removed. 8448 * bridge/runtime.h: Removed. 8449 * bridge/runtime_array.h: 8450 * bridge/runtime_method.h: 8451 * bridge/runtime_object.h: 8452 * bridge/runtime_root.cpp: 8453 * bridge/testbindings.cpp: 8454 * bridge/testbindings.mm: 8455 * bridge/testqtbindings.cpp: 8456 * page/win/FrameWin.cpp: 8457 * platform/graphics/wince/MediaPlayerProxy.cpp: 8458 * plugins/PluginView.cpp: 8459 * plugins/gtk/PluginViewGtk.cpp: 8460 * plugins/mac/PluginViewMac.cpp: 8461 * plugins/qt/PluginViewQt.cpp: 8462 * plugins/symbian/PluginViewSymbian.cpp: 8463 * plugins/win/PluginViewWin.cpp: 8464 8465 2010-01-19 Geoffrey Garen <ggaren (a] apple.com> 8466 8467 Reviewed by Oliver Hunt. 8468 8469 REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/ 8470 https://bugs.webkit.org/show_bug.cgi?id=33826 8471 8472 Test: fast/workers/worker-gc2.html 8473 8474 * bindings/js/WorkerScriptController.cpp: 8475 (WebCore::WorkerScriptController::~WorkerScriptController): Removed some 8476 ASSERTs that have moved to JavaScriptCore. 8477 8478 2010-01-19 Gavin Barraclough <barraclough (a] apple.com> 8479 8480 Reviewed by NOBODY (build fix). 8481 8482 Reverting r53455, breaks 2 javascriptcore tests. 8483 8484 * bindings/js/WorkerScriptController.cpp: 8485 (WebCore::WorkerScriptController::~WorkerScriptController): 8486 8487 2010-01-18 Geoffrey Garen <ggaren (a] apple.com> 8488 8489 Reviewed by Oliver Hunt. 8490 8491 REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/ 8492 https://bugs.webkit.org/show_bug.cgi?id=33826 8493 8494 Test: fast/workers/worker-gc2.html 8495 8496 * bindings/js/WorkerScriptController.cpp: 8497 (WebCore::WorkerScriptController::~WorkerScriptController): Removed some 8498 ASSERTs that have moved to JavaScriptCore. 8499 8500 2010-01-18 Daniel Bates <dbates (a] webkit.org> 8501 8502 Reviewed by Darin Adler. 8503 8504 https://bugs.webkit.org/show_bug.cgi?id=33089 8505 8506 Implements all of the alphabetic CSS3 list-style-types as per 8507 section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>. 8508 8509 Test: fast/lists/w3-css3-list-styles-alphabetic.html 8510 8511 * css/CSSParser.cpp: 8512 (WebCore::CSSParser::parseValue): Updated comment to include 8513 added list-style-types. 8514 * css/CSSPrimitiveValueMappings.h: 8515 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types, 8516 alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines. 8517 * css/CSSValueKeywords.in: 8518 * inspector/front-end/CSSSourceSyntaxHighlighter.js: 8519 (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types 8520 and alphabetized array valueKeywords. 8521 * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon. 8522 * rendering/RenderListMarker.cpp: 8523 (WebCore::toAlphabetic): 8524 (WebCore::listMarkerSuffix): Added. 8525 (WebCore::listMarkerText): 8526 (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix. 8527 (WebCore::RenderListMarker::calcPrefWidths): Ditto. 8528 (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto. 8529 * rendering/style/RenderStyle.h: 8530 (WebCore::): 8531 * rendering/style/RenderStyleConstants.h: 8532 (WebCore::): 8533 8534 2010-01-18 Daniel Bates <dbates (a] webkit.org> 8535 8536 Unreviewed, fix misspelling of the word maximum in comment. 8537 8538 * html/HTMLInputElement.cpp: 8539 (WebCore::HTMLInputElement::maximum): 8540 8541 2010-01-18 Dan Bernstein <mitz (a] apple.com> 8542 8543 Rubber-stamped by Sam Weinig. 8544 8545 <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change 8546 8547 Reverted r49567. 8548 8549 * css/CSSComputedStyleDeclaration.cpp: 8550 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8551 * rendering/InlineFlowBox.cpp: 8552 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 8553 * rendering/RenderBR.cpp: 8554 (WebCore::RenderBR::lineHeight): 8555 * rendering/style/RenderStyle.h: 8556 (WebCore::InheritedFlags::computedLineHeight): 8557 8558 2010-01-18 Steve Block <steveblock (a] google.com> 8559 8560 Reviewed by Adam Barth. 8561 8562 Moves JSC-specific implementation of JavaString to a private implementation class. 8563 https://bugs.webkit.org/show_bug.cgi?id=33558 8564 8565 Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*, 8566 which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android. 8567 8568 No new tests, refactoring only. 8569 8570 * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h 8571 * bridge/jni/jni_class.cpp: Modified. 8572 (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name. 8573 * bridge/jni/jni_runtime.h: Modified. 8574 (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation. 8575 (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation. 8576 (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation. 8577 (JSC::Bindings::JavaString::length): Modified. Pass through to implementation. 8578 (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation. 8579 (JSC::Bindings::JavaField::name): Modified. Pass through to implementation. 8580 (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation. 8581 * bridge/jni/jsc/JavaStringJSC.h: Added. 8582 (JSC::Bindings::JavaStringImpl::~JavaStringImpl): 8583 (JSC::Bindings::JavaStringImpl::init): 8584 (JSC::Bindings::JavaStringImpl::UTF8String): 8585 (JSC::Bindings::JavaStringImpl::uchars): 8586 (JSC::Bindings::JavaStringImpl::length): 8587 (JSC::Bindings::JavaStringImpl::uString): 8588 8589 2010-01-18 Yuzo Fujishima <yuzo (a] google.com> 8590 8591 Reviewed by Darin Adler. 8592 8593 Skip an error after invalid blocks in a CSS expression. 8594 https://bugs.webkit.org/show_bug.cgi?id=33650 8595 8596 * css/CSSGrammar.y: 8597 8598 2010-01-15 Gavin Barraclough <barraclough (a] apple.com> 8599 8600 Reviewed by Darin Adler & Oliver Hunt. 8601 8602 https://bugs.webkit.org/show_bug.cgi?id=33731 8603 Remove uses of PtrAndFlags from WebCore::StringImpl. 8604 8605 These break the OS X Leaks tool. Move the management of null-terminated copies 8606 out from StringImpl to String, and use a bit stolen from the refCount to hold the 8607 'InTable' flag. 8608 8609 * platform/sql/SQLiteFileSystem.cpp: 8610 (WebCore::SQLiteFileSystem::openDatabase): 8611 * platform/sql/SQLiteStatement.cpp: 8612 (WebCore::SQLiteStatement::prepare): 8613 * platform/sql/SQLiteStatement.h: 8614 * platform/text/PlatformString.h: 8615 * platform/text/String.cpp: 8616 (WebCore::String::copyWithNullTermination): 8617 * platform/text/StringImpl.cpp: 8618 (WebCore::StringImpl::StringImpl): 8619 (WebCore::StringImpl::~StringImpl): 8620 (WebCore::StringImpl::create): 8621 (WebCore::StringImpl::crossThreadString): 8622 (WebCore::StringImpl::sharedBuffer): 8623 * platform/text/StringImpl.h: 8624 (WebCore::StringImpl::inTable): 8625 (WebCore::StringImpl::setInTable): 8626 8627 2010-01-18 Nikolas Zimmermann <nzimmermann (a] rim.com> 8628 8629 Reviewed by Dirk Schulze. 8630 8631 Rewrite SVG <use> support in a modern-fashion 8632 https://bugs.webkit.org/show_bug.cgi?id=33776 8633 8634 Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml 8635 svg/custom/relative-sized-shadow-tree-content.xhtml 8636 8637 Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path) 8638 8639 Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily. 8640 Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the 8641 render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side. 8642 8643 Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...) 8644 just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call. 8645 8646 updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus 8647 lazily recloning the shadow tree if necessary. 8648 8649 Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_ 8650 avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone 8651 nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to. 8652 For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.). 8653 We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right. 8654 8655 Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit. 8656 x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work 8657 as expected, and resize on window changes - affecting lots of testcases. 8658 8659 The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc. 8660 Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore. 8661 8662 * Android.mk: Add new files to build. 8663 * GNUmakefile.am: Ditto. 8664 * WebCore.gypi: Ditto. 8665 * WebCore.pro: Ditto. 8666 * WebCore.vcproj/WebCore.vcproj: Ditto. 8667 * WebCore.xcodeproj/project.pbxproj: Ditto. 8668 * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement. 8669 (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer): 8670 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): 8671 (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers 8672 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates. 8673 (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries. 8674 * rendering/RenderSVGShadowTreeRootContainer.h: Added. 8675 (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used. 8676 * rendering/RenderSVGTransformableContainer.cpp: 8677 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer. 8678 * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise). 8679 (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement): 8680 (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement): 8681 (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements. 8682 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): 8683 (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement): 8684 (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node. 8685 * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree). 8686 (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here. 8687 (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree. 8688 (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node. 8689 (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element). 8690 * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree. 8691 (WebCore::SVGElement::SVGElement): 8692 (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent. 8693 * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode(). 8694 * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say. 8695 (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag. 8696 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes) 8697 * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method. 8698 * svg/SVGGElement.h: 8699 (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it. 8700 * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable. 8701 * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked. 8702 (WebCore::SVGStyledElement::instanceUpdatesBlocked): 8703 (WebCore::SVGStyledElement::setInstanceUpdatesBlocked): 8704 * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above. 8705 (WebCore::SVGUseElement::SVGUseElement): 8706 (WebCore::SVGUseElement::instanceRoot): 8707 (WebCore::SVGUseElement::insertedIntoDocument): 8708 (WebCore::SVGUseElement::removedFromDocument): 8709 (WebCore::SVGUseElement::svgAttributeChanged): 8710 (WebCore::updateContainerOffset): 8711 (WebCore::SVGUseElement::updateContainerOffsets): 8712 (WebCore::SVGUseElement::recalcStyle): 8713 (WebCore::dumpInstanceTree): 8714 (WebCore::SVGUseElement::buildPendingResource): 8715 (WebCore::SVGUseElement::buildShadowAndInstanceTree): 8716 (WebCore::SVGUseElement::createRenderer): 8717 (WebCore::updateFromElementCallback): 8718 (WebCore::SVGUseElement::attach): 8719 (WebCore::SVGUseElement::detach): 8720 (WebCore::SVGUseElement::toClipPath): 8721 (WebCore::SVGUseElement::buildInstanceTree): 8722 (WebCore::SVGUseElement::handleDeepUseReferencing): 8723 (WebCore::SVGUseElement::buildShadowTree): 8724 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 8725 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): 8726 (WebCore::SVGUseElement::instanceForShadowTreeElement): 8727 (WebCore::SVGUseElement::invalidateShadowTree): 8728 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): 8729 * svg/SVGUseElement.h: 8730 (WebCore::SVGUseElement::isPendingResource): 8731 8732 2010-01-18 Kent Tamura <tkent (a] chromium.org> 8733 8734 Reviewed by Darin Adler. 8735 8736 HTMLInputElement::valueAsDate setter support for type=month. 8737 https://bugs.webkit.org/show_bug.cgi?id=33021 8738 8739 Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and 8740 toString() for the Month type, and HTMLInputElement::setValueAsDate() 8741 calls them. 8742 8743 * html/HTMLInputElement.cpp: 8744 (WebCore::HTMLInputElement::setValueAsDate): 8745 * html/ISODateTime.cpp: 8746 (WebCore::beforeGregorianStartDate): 8747 (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate(). 8748 (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate(). 8749 (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal): 8750 (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): 8751 (WebCore::ISODateTime::toString): Implement only for the Month type. 8752 * html/ISODateTime.h: 8753 8754 2010-01-18 Enrica Casucci <enrica (a] apple.com> 8755 8756 Reviewed by Darin Adler. 8757 8758 Script attributes are copied and pasted, making cross-domain attacks possible (30019) 8759 <rdar://problem/6008809> 8760 https://bugs.webkit.org/show_bug.cgi?id=30019 8761 8762 When we create the document fragment from a markup string, 8763 either to perform a paste operation or a drag and drop, we 8764 want to remove all the event handlers and any attribute that contain 8765 a value that leads to code execution. 8766 The HTMLParser class is now aware of the needs of stripping these attributes. 8767 I've modified the call to createMarkupString for every platform. 8768 8769 Test: editing/pasteboard/paste-noscript.html 8770 8771 * WebCore.base.exp: 8772 * dom/Element.cpp: 8773 (WebCore::isEventHandlerAttribute): 8774 (WebCore::Element::setAttributeMap): 8775 * dom/Element.h: 8776 * dom/MappedAttributeEntry.h: 8777 (WebCore::): 8778 * editing/markup.cpp: 8779 (WebCore::createFragmentFromMarkup): 8780 * editing/markup.h: 8781 * html/HTMLElement.cpp: 8782 (WebCore::HTMLElement::createContextualFragment): 8783 * html/HTMLElement.h: 8784 * html/HTMLParser.cpp: 8785 (WebCore::HTMLParser::HTMLParser): 8786 (WebCore::HTMLParser::parseToken): 8787 * html/HTMLParser.h: 8788 * html/HTMLTokenizer.cpp: 8789 (WebCore::HTMLTokenizer::HTMLTokenizer): 8790 (WebCore::parseHTMLDocumentFragment): 8791 * html/HTMLTokenizer.h: 8792 * platform/chromium/DragDataChromium.cpp: 8793 (WebCore::DragData::asFragment): 8794 * platform/chromium/PasteboardChromium.cpp: 8795 (WebCore::Pasteboard::documentFragment): 8796 * platform/gtk/PasteboardGtk.cpp: 8797 (WebCore::Pasteboard::documentFragment): 8798 * platform/mac/PasteboardMac.mm: 8799 (WebCore::Pasteboard::documentFragment): 8800 * platform/qt/DragDataQt.cpp: 8801 (WebCore::DragData::asFragment): 8802 * platform/qt/PasteboardQt.cpp: 8803 (WebCore::Pasteboard::documentFragment): 8804 * platform/win/ClipboardUtilitiesWin.cpp: 8805 (WebCore::fragmentFromCF_HTML): 8806 (WebCore::fragmentFromHTML): 8807 8808 2010-01-18 Steve Falkenburg <sfalken (a] apple.com> 8809 8810 Reviewed by Sam Weinig. 8811 8812 <https://bugs.webkit.org/show_bug.cgi?id=33816> 8813 Crashes in Geolocation code due to refcounting, observer balance issues. 8814 8815 Hold a ref to the GeoNotifier while dispatching a callback. The code was 8816 copying a data member to avoid accessing a freed this ptr, but was still 8817 using the this ptr. 8818 8819 Geolocation::removeObserver calls are not always balanced with addObserver. 8820 Instead of asserting and continuing, don't try to remove non-existant 8821 observers. 8822 8823 * page/Geolocation.cpp: 8824 (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier. 8825 * page/GeolocationController.cpp: 8826 (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return. 8827 8828 2010-01-18 Alexey Proskuryakov <ap (a] apple.com> 8829 8830 Reviewed by Darin Adler. 8831 8832 https://bugs.webkit.org/show_bug.cgi?id=33815 8833 Crash when using DOMTimer from a detached frame 8834 8835 Test: fast/dom/Window/timer-null-script-execution-context.html 8836 8837 * bindings/js/JSDOMWindowCustom.cpp: 8838 (WebCore::JSDOMWindow::setTimeout): 8839 (WebCore::JSDOMWindow::setInterval): 8840 * page/DOMWindow.h: 8841 * page/DOMWindow.idl: 8842 Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both 8843 IE and Firefox do raise an exception in this situation, although different ones. 8844 8845 * page/DOMWindow.cpp: 8846 (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is 8847 null (meaning that the window is detached). 8848 (WebCore::DOMWindow::setInterval): Ditto. 8849 (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution 8850 context. 8851 (WebCore::DOMWindow::clearInterval): Ditto. 8852 Raise INVALID_ACCESS_ERR if script execution context is null (meaning . 8853 8854 2010-01-18 Steve Block <steveblock (a] google.com> 8855 8856 Reviewed by Adam Barth. 8857 8858 Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC 8859 https://bugs.webkit.org/show_bug.cgi?id=33561 8860 8861 No new tests, refactoring only. 8862 8863 * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp 8864 * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h 8865 * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h] 8866 * bridge/jni/jni_class.cpp: Removed. 8867 * bridge/jni/jni_class.h: Removed. 8868 * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp. 8869 * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h. 8870 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h 8871 8872 2010-01-18 Steve Block <steveblock (a] google.com> 8873 8874 Reviewed by Adam Barth. 8875 8876 Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h] 8877 https://bugs.webkit.org/show_bug.cgi?id=33792 8878 8879 No new tests, style fixes only. 8880 8881 * bridge/jni/jni_runtime.cpp: Modified. 8882 (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance 8883 (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance 8884 (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance 8885 * bridge/jni/jni_runtime.h: Modified. 8886 (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance 8887 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style 8888 * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style 8889 8890 2010-01-18 Chris Marrin <cmarrin (a] apple.com> 8891 8892 Reviewed by Oliver Hunt. 8893 8894 https://bugs.webkit.org/show_bug.cgi?id=30073 8895 Moved reshape to HTMLCanvasElement::reset and have it always 8896 set the size to the canvas width and height attrs. 8897 8898 This is not testable with LayoutTests, so I instead added logic 8899 to the demo at: 8900 8901 https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html 8902 8903 * html/HTMLCanvasElement.cpp: 8904 (WebCore::HTMLCanvasElement::reset): 8905 (WebCore::HTMLCanvasElement::paint): 8906 8907 2010-01-18 Alexey Proskuryakov <ap (a] apple.com> 8908 8909 Reviewed by Geoffrey Garen. 8910 8911 https://bugs.webkit.org/show_bug.cgi?id=33813 8912 <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame 8913 8914 Test: http/tests/appcache/destroyed-frame.html 8915 8916 * loader/appcache/DOMApplicationCache.cpp: 8917 (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame. 8918 8919 2010-01-18 Dan Bernstein <mitz (a] apple.com> 8920 8921 Reviewed by Darin Adler. 8922 8923 REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field 8924 https://bugs.webkit.org/show_bug.cgi?id=33809 8925 8926 Test: fast/repaint/trailing-floats-root-line-box-overflow.html 8927 8928 * rendering/RenderBlockLineLayout.cpp: 8929 (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last 8930 root box to the trailing floats box, which is becoming the last root box. This is 8931 needed because painting code assumes that the last line in a block is the one with the 8932 lowest overflow bottom. 8933 8934 2010-01-18 Csaba Osztrogonc <ossy (a] webkit.org> 8935 8936 [Qt] Unreviewed trivial buildfix. (r53429) 8937 8938 * WebCore.pri: missing XMLNS_NAMES added. 8939 8940 2010-01-18 Geoffrey Garen <ggaren (a] apple.com> 8941 8942 Reviewed by Darin Adler. 8943 8944 Removed unnecessary use of scriptExecutionContext() when creating a JS event listener. 8945 https://bugs.webkit.org/show_bug.cgi?id=33811 8946 8947 This change simplifies a bunch of code, and also reduces 8948 the number of places that use the difficult-to-understand and possibly 8949 crashy-null scriptExecutionContext() idiom. 8950 8951 * bindings/js/JSDOMGlobalObject.cpp: 8952 * bindings/js/JSDOMGlobalObject.h: 8953 * bindings/js/JSEventListener.h: 8954 (WebCore::createJSAttributeEventListener): 8955 * bindings/scripts/CodeGeneratorJS.pm: 8956 8957 2010-01-18 Alexey Proskuryakov <ap (a] apple.com> 8958 8959 Reviewed by Darin Adler. 8960 8961 https://bugs.webkit.org/show_bug.cgi?id=33787 8962 Add constants for more XML strings 8963 8964 No change in functionality, so no tests. 8965 8966 * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - 8967 XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it. 8968 8969 * platform/text/AtomicString.cpp: (WebCore::AtomicString::init): 8970 * platform/text/AtomicString.h: 8971 Added atomic strings for "xml" and "xmlns". 8972 8973 * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init(). 8974 8975 * dom/Attr.cpp: (WebCore::Attr::setPrefix): 8976 * dom/Document.cpp: 8977 (WebCore::Document::hasPrefixNamespaceMismatch): 8978 (WebCore::Document::createAttributeNS): 8979 * dom/Node.cpp: 8980 (WebCore::Node::checkSetPrefix): 8981 (WebCore::Node::isDefaultNamespace): 8982 (WebCore::Node::lookupNamespaceURI): 8983 (WebCore::Node::lookupNamespacePrefix): 8984 * dom/XMLTokenizerLibxml2.cpp: 8985 (WebCore::XMLTokenizer::XMLTokenizer): 8986 (WebCore::handleElementNamespaces): 8987 * editing/markup.cpp: 8988 (WebCore::shouldAddNamespaceAttr): 8989 (WebCore::appendNamespace): 8990 * xml/XPathStep.cpp: 8991 (WebCore::XPath::nodeMatchesBasicTest): 8992 (WebCore::XPath::Step::nodesInAxis): 8993 Use the new constants. 8994 8995 * Android.derived.mk: 8996 * DerivedSources.make: 8997 * GNUmakefile.am: 8998 * WebCore.gyp/WebCore.gyp: 8999 * WebCore.pri: 9000 * WebCore.vcproj/WebCore.vcproj: 9001 * WebCore.xcodeproj/project.pbxproj: 9002 * WebCoreSources.bkl: 9003 Added the new files to projects. 9004 9005 2010-01-18 Anders Carlsson <andersca (a] apple.com> 9006 9007 Fix !ENABLE(3D_CANVAS) build. 9008 9009 * rendering/RenderLayerBacking.cpp: 9010 (WebCore::is3DCanvas): 9011 9012 2010-01-18 Timothy Hatcher <timothy (a] apple.com> 9013 9014 Adjust the scroll position when doing a full page zoom, so the content 9015 stays in relatively the same position. 9016 9017 <rdar://problem/6150099> Zooming should keep the page content in the same place 9018 9019 Reviewed by Oliver Hunt. 9020 9021 * page/Frame.cpp: 9022 (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to 9023 the scroll position, only when doing a full page zoom. 9024 9025 2010-01-18 Adam Roben <aroben (a] apple.com> 9026 9027 Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and 9028 respect it 9029 9030 WebCore part of fixing <http://webkit.org/b/33806> 9031 <rdar://problem/7552837> Would like API to disallow setting of 9032 document.domain for pages with certain URL schemes 9033 9034 Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html 9035 9036 Reviewed by Sam Weinig. 9037 9038 * WebCore.base.exp: Export 9039 SecurityOrigin::setDomainRelaxationForbiddenForURLScheme. 9040 9041 * dom/Document.cpp: 9042 (WebCore::Document::setDomain): If domain relaxation is forbidden for 9043 our security origin's scheme, throw an exception and don't allow 9044 the domain to be set. 9045 9046 * page/SecurityOrigin.cpp: 9047 (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a 9048 global set of schemes. 9049 (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme): 9050 Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as 9051 appropriate. 9052 (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme): 9053 Returns true if the scheme is in schemesForbiddenFromDomainRelaxation. 9054 9055 * page/SecurityOrigin.h: Added 9056 {set,is}DomainRelaxationForbiddenForURLScheme. 9057 9058 2010-01-18 Dan Bernstein <mitz (a] apple.com> 9059 9060 Address review comments on the last change 9061 9062 * rendering/TrailingFloatsRootInlineBox.h: 9063 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): 9064 9065 2010-01-18 Dan Bernstein <mitz (a] apple.com> 9066 9067 Reviewed by Darin Adler. 9068 9069 <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page 9070 <rdar://problem/7546035> Second right floated image misplacment 9071 https://bugs.webkit.org/show_bug.cgi?id=33245 9072 9073 Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html 9074 9075 When the last line of a block contains a line break and there are floats 9076 after the line break, it is incorrect to put those floats in the last lines 9077 floats vector (along with floats from before the break). Instead, create 9078 an additional line box (a TrailingFloatsRootInlineBox) and put those floats 9079 in its floats vector. 9080 9081 * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h 9082 * WebCore.xcodeproj/project.pbxproj: Ditto. 9083 * rendering/RenderBlock.cpp: 9084 (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional 9085 parameter, which is the highest line to dirty. 9086 * rendering/RenderBlock.h: 9087 * rendering/RenderBlockLineLayout.cpp: 9088 (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox 9089 for the floats occurring after the line break on the last line. 9090 (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines 9091 above the first dirty line. 9092 * rendering/TrailingFloatsRootInlineBox.h: Added. 9093 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call 9094 setHasVirtualHeight(). 9095 (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0. 9096 9097 2010-01-18 Gavin Barraclough <barraclough (a] apple.com> 9098 9099 Reviewed by NOBODY (build fix). 9100 9101 Eeeep! reverting r53416 & r53417, more to be done to fix windows. 9102 9103 * WebCore.base.exp: 9104 * platform/sql/SQLiteFileSystem.cpp: 9105 (WebCore::SQLiteFileSystem::openDatabase): 9106 * platform/sql/SQLiteStatement.cpp: 9107 (WebCore::SQLiteStatement::prepare): 9108 * platform/sql/SQLiteStatement.h: 9109 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 9110 (WebCore::SQLiteFileSystem::openDatabase): 9111 * platform/text/PlatformString.h: 9112 * platform/text/String.cpp: 9113 (WebCore::String::charactersWithNullTermination): 9114 * platform/text/StringImpl.cpp: 9115 (WebCore::StringImpl::operator new): 9116 (WebCore::StringImpl::operator delete): 9117 (WebCore::StringImpl::StringImpl): 9118 (WebCore::StringImpl::~StringImpl): 9119 (WebCore::StringImpl::create): 9120 (WebCore::StringImpl::createWithTerminatingNullCharacter): 9121 (WebCore::StringImpl::crossThreadString): 9122 (WebCore::StringImpl::sharedBuffer): 9123 * platform/text/StringImpl.h: 9124 (WebCore::StringImpl::hasTerminatingNullCharacter): 9125 (WebCore::StringImpl::inTable): 9126 (WebCore::StringImpl::setInTable): 9127 (WebCore::StringImpl::): 9128 * platform/win/ClipboardUtilitiesWin.cpp: 9129 (WebCore::createGlobalData): 9130 * storage/OriginUsageRecord.cpp: 9131 (WebCore::OriginUsageRecord::addDatabase): 9132 (WebCore::OriginUsageRecord::markDatabase): 9133 9134 2010-01-18 Gavin Barraclough <barraclough (a] apple.com> 9135 9136 Reviewed by NOBODY (windows build fix). 9137 9138 * platform/win/ClipboardUtilitiesWin.cpp: 9139 (WebCore::createGlobalData): 9140 9141 2010-01-15 Gavin Barraclough <barraclough (a] apple.com> 9142 9143 Reviewed by Darin Adler. 9144 9145 https://bugs.webkit.org/show_bug.cgi?id=33731 9146 Remove uses of PtrAndFlags from WebCore::StringImpl. 9147 9148 These break the OS X Leaks tool. Move the management of null-terminated copies 9149 out from StringImpl to String, and use a bit stolen from the refCount to hold the 9150 'InTable' flag. 9151 9152 * platform/sql/SQLiteFileSystem.cpp: 9153 (WebCore::SQLiteFileSystem::openDatabase): 9154 * platform/sql/SQLiteStatement.cpp: 9155 (WebCore::SQLiteStatement::prepare): 9156 * platform/sql/SQLiteStatement.h: 9157 * platform/text/PlatformString.h: 9158 * platform/text/String.cpp: 9159 (WebCore::String::copyWithNullTermination): 9160 * platform/text/StringImpl.cpp: 9161 (WebCore::StringImpl::StringImpl): 9162 (WebCore::StringImpl::~StringImpl): 9163 (WebCore::StringImpl::create): 9164 (WebCore::StringImpl::crossThreadString): 9165 (WebCore::StringImpl::sharedBuffer): 9166 * platform/text/StringImpl.h: 9167 (WebCore::StringImpl::inTable): 9168 (WebCore::StringImpl::setInTable): 9169 9170 2010-01-18 Chris Marrin <cmarrin (a] apple.com> 9171 9172 Reviewed by Darin Adler. 9173 9174 Made root compositing layer scroll rather than scroll parent. 9175 https://bugs.webkit.org/show_bug.cgi?id=32279 9176 9177 There's some general cleanup here so the frames, bounds and 9178 positions of all the associated layers are correct. 9179 I also changed API of setScrollFrame to use an IntRect. 9180 9181 * platform/graphics/win/WKCACFLayerRenderer.cpp: 9182 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): 9183 (WebCore::WKCACFLayerRenderer::setScrollFrame): 9184 (WebCore::WKCACFLayerRenderer::setRootChildLayer): 9185 (WebCore::WKCACFLayerRenderer::createRenderer): 9186 (WebCore::WKCACFLayerRenderer::resize): 9187 * platform/graphics/win/WKCACFLayerRenderer.h: 9188 9189 2010-01-18 Ilya Tikhonovsky <loislo (a] chromium.org> 9190 9191 Reviewed by Pavel Feldman. 9192 9193 WebInspector: Timeline panel scrolling speed can be 2 times faster. 9194 https://bugs.webkit.org/show_bug.cgi?id=33794 9195 9196 * inspector/front-end/TimelinePanel.js: 9197 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 9198 (WebInspector.TimelinePanel.prototype._refreshRecords): 9199 (WebInspector.TimelineCalculator): 9200 (WebInspector.TimelineCalculator.prototype.calculateWindow): 9201 (WebInspector.TimelineCalculator.prototype.reset): 9202 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 9203 (WebInspector.TimelineRecordGraphRow.prototype.update): 9204 9205 2010-01-18 Steve Block <steveblock (a] google.com> 9206 9207 Reviewed by Adam Barth. 9208 9209 Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC 9210 https://bugs.webkit.org/show_bug.cgi?id=33672 9211 9212 No new tests, refactoring only. 9213 9214 * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp 9215 * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h 9216 * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h] 9217 * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h 9218 * bridge/jni/jni_instance.cpp: Removed. 9219 * bridge/jni/jni_instance.h: Removed. 9220 * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h 9221 * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp. 9222 * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h. 9223 9224 2010-01-18 Peter Kasting <pkasting (a] google.com> 9225 9226 Reviewed by Adam Barth. 9227 9228 Simplify image decoders slightly by using OwnPtr instead of raw pointers 9229 and eliminating a basically-useless wrapper class in the GIF decoder. 9230 https://bugs.webkit.org/show_bug.cgi?id=28751 9231 9232 * platform/graphics/qt/ImageDecoderQt.cpp: 9233 (WebCore::ImageDecoderQt::ImageDecoderQt): 9234 (WebCore::ImageDecoderQt::~ImageDecoderQt): 9235 (WebCore::ImageDecoderQt::setData): 9236 (WebCore::ImageDecoderQt::internalReadImage): 9237 (WebCore::ImageDecoderQt::failRead): 9238 * platform/graphics/qt/ImageDecoderQt.h: 9239 * platform/image-decoders/gif/GIFImageDecoder.cpp: 9240 (WebCore::GIFImageDecoder::GIFImageDecoder): 9241 (WebCore::GIFImageDecoder::~GIFImageDecoder): 9242 (WebCore::GIFImageDecoder::setData): 9243 (WebCore::GIFImageDecoder::frameCount): 9244 (WebCore::GIFImageDecoder::repetitionCount): 9245 (WebCore::GIFImageDecoder::decode): 9246 (WebCore::GIFImageDecoder::decodingHalted): 9247 (WebCore::GIFImageDecoder::initFrameBuffer): 9248 (WebCore::GIFImageDecoder::haveDecodedRow): 9249 (WebCore::GIFImageDecoder::gifComplete): 9250 * platform/image-decoders/gif/GIFImageDecoder.h: 9251 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 9252 (WebCore::JPEGImageDecoder::JPEGImageDecoder): 9253 (WebCore::JPEGImageDecoder::~JPEGImageDecoder): 9254 (WebCore::JPEGImageDecoder::setData): 9255 (WebCore::JPEGImageDecoder::decode): 9256 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 9257 * platform/image-decoders/png/PNGImageDecoder.cpp: 9258 (WebCore::PNGImageDecoder::PNGImageDecoder): 9259 (WebCore::PNGImageDecoder::~PNGImageDecoder): 9260 (WebCore::PNGImageDecoder::setData): 9261 (WebCore::PNGImageDecoder::decode): 9262 (WebCore::PNGImageDecoder::headerAvailable): 9263 (WebCore::PNGImageDecoder::rowAvailable): 9264 * platform/image-decoders/png/PNGImageDecoder.h: 9265 9266 2010-01-18 Daniel Cheng <dcheng (a] google.com> 9267 9268 Reviewed by Adam Roben. 9269 9270 DataTransfer interface broken on Windows--types member is always 9271 undefined, and getData() does not work. 9272 https://bugs.webkit.org/show_bug.cgi?id=30527 9273 9274 * platform/win/ClipboardWin.cpp: 9275 (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref. 9276 (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC. 9277 (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC. 9278 9279 2010-01-18 Mikhail Naganov <mnaganov (a] chromium.org> 9280 9281 Reviewed by Timothy Hatcher. 9282 9283 Don't show Profiles welcome screen on panel switch, 9284 if a profile view is shown. 9285 9286 https://bugs.webkit.org/show_bug.cgi?id=33799 9287 9288 * inspector/front-end/ProfilesPanel.js: 9289 (WebInspector.ProfilesPanel.prototype.show): 9290 9291 2010-01-18 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 9292 9293 Reviewed by Simon Hausmann. 9294 9295 [Qt] Force qmake to generate a single makefile for DerivedSources.pro 9296 9297 * DerivedSources.pro: 9298 9299 2010-01-18 Jonathan Dixon <joth (a] chromium.org> 9300 9301 Reviewed by Adam Barth. 9302 9303 Add support for enabling navigator.geolocation at runtime in the V8 bindings. 9304 Adds the [EnabledAtRuntime] modifier to the navigator IDL. 9305 https://bugs.webkit.org/show_bug.cgi?id=33467 9306 9307 * WebCore.gypi: 9308 * bindings/v8/RuntimeEnabledFeatures.cpp: 9309 * bindings/v8/RuntimeEnabledFeatures.h: 9310 (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): 9311 (WebCore::RuntimeEnabledFeatures::geolocationEnabled): 9312 * bindings/v8/custom/V8NavigatorCustom.cpp: Added. 9313 (WebCore::V8Navigator::GeolocationEnabled): 9314 * page/Navigator.cpp: 9315 (WebCore::Navigator::geolocation): 9316 * page/Navigator.idl: 9317 9318 2010-01-18 Alexander Pavlov <apavlov (a] chromium.org> 9319 9320 Reviewed by Pavel Feldman. 9321 9322 Improve Resources panel performance for lots of resources 9323 9324 DOM properties are extracted into const's, comparisons are faster. 9325 https://bugs.webkit.org/show_bug.cgi?id=33790 9326 9327 * inspector/front-end/AbstractTimelinePanel.js: 9328 (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition): 9329 * inspector/front-end/Resource.js: 9330 (WebInspector.Resource.CompareByStartTime): 9331 (WebInspector.Resource.CompareByResponseReceivedTime): 9332 (WebInspector.Resource.CompareByEndTime): 9333 (WebInspector.Resource.CompareByDuration): 9334 (WebInspector.Resource.CompareByLatency): 9335 (WebInspector.Resource.CompareBySize): 9336 * inspector/front-end/ResourcesPanel.js: 9337 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): 9338 9339 2010-01-18 Daniel Bates <dbates (a] rim.com> 9340 9341 Reviewed by Eric Seidel. 9342 9343 https://bugs.webkit.org/show_bug.cgi?id=33726 9344 9345 Following up on changes made with respect to bug #33498, we should 9346 fix the the style errors found by the style bot. 9347 9348 Moreover, this fixes all the style errors found by check-webkit-style 9349 except the use of an underline in the variable name _niflags. We should 9350 fix this in a second run through for all the other variables names that 9351 contain an underline because there are many. 9352 9353 No functionality was changed. So, no new tests. 9354 9355 * rendering/style/SVGRenderStyle.h: 9356 (WebCore::SVGRenderStyle::create): 9357 (WebCore::SVGRenderStyle::copy): 9358 (WebCore::SVGRenderStyle::operator!=): 9359 (WebCore::SVGRenderStyle::hasStroke): 9360 (WebCore::SVGRenderStyle::hasFill): 9361 (WebCore::SVGRenderStyle::InheritedFlags::operator==): 9362 (WebCore::SVGRenderStyle::InheritedFlags::operator!=): 9363 (WebCore::SVGRenderStyle::NonInheritedFlags::operator==): 9364 (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=): 9365 (WebCore::SVGRenderStyle::NonInheritedFlags::): 9366 (WebCore::SVGRenderStyle::): 9367 (WebCore::SVGRenderStyle::setBitDefaults): 9368 9369 2010-01-18 Andrei Popescu <andreip (a] google.com> 9370 9371 Reviewed by Adam Barth. 9372 9373 [Android] DOMWrapperMap::Visitor needs virtual destructor 9374 https://bugs.webkit.org/show_bug.cgi?id=33675 9375 9376 Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion. 9377 9378 No new tests needed, functionality not changed. 9379 9380 * bindings/v8/V8DOMMap.h: 9381 (WebCore::DOMWrapperMap::Visitor::~Visitor): Added. 9382 9383 2010-01-18 Simon Hausmann <simon.hausmann (a] nokia.com> 9384 9385 Unreviewed Symbian build fix. 9386 9387 If we don't link with def files, then we have to pass EXPORTUNFROZEN, 9388 so that the build system still creates the .dso files in 9389 release/armv5/lib and we can actually link against the created QtWebKit 9390 dlls. 9391 9392 Thanks Iain for the help! 9393 9394 * WebCore.pro: 9395 9396 2010-01-17 Srinidhi Shreedhara <srinidhi.shreedhara (a] nokia.com> 9397 9398 Reviewed by Simon Hausmann. 9399 9400 [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative 9401 https://bugs.webkit.org/show_bug.cgi?id=33573 9402 9403 * plugins/symbian/PluginViewSymbian.cpp: 9404 (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative 9405 coordinates for early return. 9406 9407 2010-01-17 Oliver Hunt <oliver (a] apple.com> 9408 9409 Reviewed by Dan Bernstein. 9410 9411 REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build 9412 https://bugs.webkit.org/show_bug.cgi?id=33782 9413 9414 Test: svg/custom/transformedMaskFails.svg 9415 9416 When computing the bounds for elements in a mask, we iterate through 9417 all of our children requesting their repaint bounds using 9418 repaintRectInLocalCoordinates(), but we were not converting that 9419 rect into our own coordinate system, thus leading to an incorrect 9420 repaint rect. This patch simply adds the missing localToParent 9421 transform. 9422 9423 * svg/SVGMaskElement.cpp: 9424 (WebCore::SVGMaskElement::drawMaskerContent): 9425 9426 2010-01-17 Maciej Stachowiak <mjs (a] apple.com> 9427 9428 Reviewed by Dan Bernstein. 9429 9430 Avoid slow access to AX objects on attribute access when AX is off 9431 https://bugs.webkit.org/show_bug.cgi?id=33779 9432 9433 ~4% Dromaeo attributes test speedup 9434 9435 * dom/Element.cpp: 9436 (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of 9437 AX object cache unless accessibility is on and an AX-related attribute is 9438 changed. 9439 9440 2010-01-17 Kevin Watters <kevinwatters (a] gmail.com> 9441 9442 Reviewed by Kevin Ollivier. 9443 9444 [wx] On Win and GTK, we need to manually apply the transforms when falling back 9445 to GDI / GDK drawing, but this is not needed on Mac since we always use CG there. 9446 9447 https://bugs.webkit.org/show_bug.cgi?id=33730 9448 9449 * platform/wx/RenderThemeWx.cpp: 9450 (WebCore::RenderThemeWx::paintButton): 9451 9452 2010-01-17 Martin Robinson <martin.james.robinson (a] gmail.com> 9453 9454 Reviewed by Gustavo Noronha Silva. 9455 9456 [GTK] GtkWebKit incompatible with rgba colormaps 9457 https://bugs.webkit.org/show_bug.cgi?id=20736 9458 9459 Fix GTK theme rendering onto drawables with RGBA colormaps. Now 9460 each type of colormap has its own collection of GtkWidgets. 9461 9462 This fix does not introduce any functionality changes, so does not 9463 includes new tests. 9464 9465 * platform/gtk/RenderThemeGtk.cpp: 9466 (WebCore::RenderThemeGtk::RenderThemeGtk): 9467 (WebCore::RenderThemeGtk::~RenderThemeGtk): 9468 (WebCore::RenderThemeGtk::partsForDrawable): 9469 (WebCore::adjustMozillaStyle): 9470 (WebCore::setMozillaState): 9471 (WebCore::paintMozillaGtkWidget): 9472 (WebCore::setToggleSize): 9473 (WebCore::RenderThemeGtk::setCheckboxSize): 9474 (WebCore::RenderThemeGtk::paintCheckbox): 9475 (WebCore::RenderThemeGtk::setRadioSize): 9476 (WebCore::RenderThemeGtk::paintRadio): 9477 (WebCore::RenderThemeGtk::paintButton): 9478 (WebCore::RenderThemeGtk::adjustMenuListStyle): 9479 (WebCore::RenderThemeGtk::paintMenuList): 9480 (WebCore::RenderThemeGtk::adjustTextFieldStyle): 9481 (WebCore::RenderThemeGtk::paintTextField): 9482 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): 9483 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 9484 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 9485 * platform/gtk/RenderThemeGtk.h: 9486 * platform/gtk/gtk2drawing.c: 9487 (moz_gtk_use_theme_parts): 9488 (ensure_window_widget): 9489 (setup_widget_prototype): 9490 (ensure_button_widget): 9491 (ensure_hpaned_widget): 9492 (ensure_vpaned_widget): 9493 (ensure_toggle_button_widget): 9494 (ensure_button_arrow_widget): 9495 (ensure_checkbox_widget): 9496 (ensure_radiobutton_widget): 9497 (ensure_scrollbar_widget): 9498 (ensure_spin_widget): 9499 (ensure_scale_widget): 9500 (ensure_entry_widget): 9501 (moz_gtk_get_combo_box_inner_button): 9502 (moz_gtk_get_combo_box_button_inner_widgets): 9503 (ensure_combo_box_widgets): 9504 (moz_gtk_get_combo_box_entry_inner_widgets): 9505 (moz_gtk_get_combo_box_entry_arrow): 9506 (ensure_combo_box_entry_widgets): 9507 (ensure_handlebox_widget): 9508 (ensure_toolbar_widget): 9509 (ensure_toolbar_separator_widget): 9510 (ensure_tooltip_widget): 9511 (ensure_tab_widget): 9512 (ensure_progress_widget): 9513 (ensure_statusbar_widget): 9514 (ensure_frame_widget): 9515 (ensure_menu_bar_widget): 9516 (ensure_menu_bar_item_widget): 9517 (ensure_menu_popup_widget): 9518 (ensure_menu_item_widget): 9519 (ensure_image_menu_item_widget): 9520 (ensure_menu_separator_widget): 9521 (ensure_check_menu_item_widget): 9522 (ensure_tree_view_widget): 9523 (ensure_tree_header_cell_widget): 9524 (ensure_expander_widget): 9525 (ensure_scrolled_window_widget): 9526 (moz_gtk_checkbox_get_metrics): 9527 (moz_gtk_radio_get_metrics): 9528 (moz_gtk_splitter_get_metrics): 9529 (moz_gtk_toggle_paint): 9530 (moz_gtk_scrollbar_button_paint): 9531 (moz_gtk_scrollbar_trough_paint): 9532 (moz_gtk_scrollbar_thumb_paint): 9533 (moz_gtk_spin_paint): 9534 (moz_gtk_spin_updown_paint): 9535 (moz_gtk_scale_paint): 9536 (moz_gtk_scale_thumb_paint): 9537 (moz_gtk_gripper_paint): 9538 (moz_gtk_hpaned_paint): 9539 (moz_gtk_vpaned_paint): 9540 (moz_gtk_caret_paint): 9541 (moz_gtk_treeview_paint): 9542 (moz_gtk_tree_header_cell_paint): 9543 (moz_gtk_tree_header_sort_arrow_paint): 9544 (moz_gtk_treeview_expander_paint): 9545 (moz_gtk_expander_paint): 9546 (moz_gtk_combo_box_paint): 9547 (moz_gtk_downarrow_paint): 9548 (moz_gtk_combo_box_entry_button_paint): 9549 (moz_gtk_container_paint): 9550 (moz_gtk_toggle_label_paint): 9551 (moz_gtk_toolbar_paint): 9552 (moz_gtk_toolbar_separator_paint): 9553 (moz_gtk_tooltip_paint): 9554 (moz_gtk_resizer_paint): 9555 (moz_gtk_frame_paint): 9556 (moz_gtk_progressbar_paint): 9557 (moz_gtk_progress_chunk_paint): 9558 (moz_gtk_get_tab_thickness): 9559 (moz_gtk_tab_paint): 9560 (moz_gtk_tabpanels_paint): 9561 (moz_gtk_tab_scroll_arrow_paint): 9562 (moz_gtk_menu_bar_paint): 9563 (moz_gtk_menu_popup_paint): 9564 (moz_gtk_menu_separator_paint): 9565 (moz_gtk_menu_item_paint): 9566 (moz_gtk_menu_arrow_paint): 9567 (moz_gtk_check_menu_item_paint): 9568 (moz_gtk_window_paint): 9569 (moz_gtk_get_widget_border): 9570 (moz_gtk_get_combo_box_entry_button_size): 9571 (moz_gtk_get_tab_scroll_arrow_size): 9572 (moz_gtk_get_downarrow_size): 9573 (moz_gtk_get_toolbar_separator_width): 9574 (moz_gtk_get_expander_size): 9575 (moz_gtk_get_treeview_expander_size): 9576 (moz_gtk_get_menu_separator_height): 9577 (moz_gtk_get_scalethumb_metrics): 9578 (moz_gtk_get_scrollbar_metrics): 9579 (moz_gtk_images_in_menus): 9580 (moz_gtk_widget_paint): 9581 (moz_gtk_get_scrollbar_widget): 9582 (moz_gtk_shutdown): 9583 (moz_gtk_destroy_theme_parts_widgets): 9584 * platform/gtk/gtkdrawing.h: 9585 9586 2010-01-16 Maciej Stachowiak <mjs (a] apple.com> 9587 9588 Reviewed by Oliver Hunt. 9589 9590 Cache JS string values made from DOM strings (Dromaeo speedup) 9591 https://bugs.webkit.org/show_bug.cgi?id=33768 9592 <rdar://problem/7353576> 9593 9594 Added a new cache for JSString values that are created from Strings or AtomicStrings 9595 in the DOM. It's common for the same string to be retrieved from the DOM repeatedly, 9596 and it is wasteful to make a new JS-level string value every time. 9597 9598 The string cache is per-world, and thus thread-safe and not a 9599 vector for accidental information exchange. 9600 9601 ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests. 9602 9603 * bindings/js/JSDOMBinding.cpp: 9604 (WebCore::jsStringCache): Helper function to get the string cache for the current world. 9605 (WebCore::jsString): Some new overloads including the caching version. 9606 (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches. 9607 * bindings/js/JSDOMBinding.h: 9608 (WebCore::jsString): Prototype new overloads (and define a few inline). 9609 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 9610 (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString. 9611 * bindings/js/ScriptFunctionCall.cpp: 9612 (WebCore::ScriptFunctionCall::appendArgument): Ditto. 9613 * WebCore.base.exp: Add new JSString overloads that WebCore gets to see. 9614 9615 2010-01-16 Oliver Hunt <oliver (a] apple.com> 9616 9617 Reviewed by Nikolas Zimmermann. 9618 9619 SVG Markers are getting culled incorrectly 9620 https://bugs.webkit.org/show_bug.cgi?id=33767 9621 9622 Use applyTransformToPaintInfo to transform the paintInfo, otherwise 9623 the paint rect is not updated leading to incorrect culling. 9624 9625 * svg/graphics/SVGResourceMarker.cpp: 9626 (WebCore::SVGResourceMarker::draw): 9627 9628 2010-01-15 John Sullivan <sullivan (a] apple.com> 9629 9630 https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330> 9631 Zip code field is misidentified as street address because id attribute isn't checked. 9632 9633 Reviewed by Darin Adler 9634 9635 No new tests. I believe this code is used only by Safari AutoFill, but in any case 9636 it does not affect page rendering or anything else at the WebCore/WebKit level. 9637 9638 * page/Frame.cpp: 9639 (WebCore::matchLabelsAgainstString): 9640 New function, split out from matchLabelsAgainstElement. 9641 (WebCore::Frame::matchLabelsAgainstElement): 9642 Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute. 9643 9644 * page/mac/FrameMac.mm: 9645 (WebCore::matchLabelsAgainstString): 9646 Same as above. This is a parallel copy of the function using Mac-specific data structures. 9647 (WebCore::Frame::matchLabelsAgainstElement): 9648 Ditto. 9649 9650 2010-01-16 Timothy Hatcher <timothy (a] apple.com> 9651 9652 Use String.trim() instead of a regex in the Web Inspector. 9653 9654 https://bugs.webkit.org/show_bug.cgi?id=33765 9655 9656 Reviewed by George Staikos. 9657 9658 * inspector/front-end/ElementsPanel.js: 9659 (WebInspector.ElementsPanel.prototype.performSearch): Use .trim(). 9660 * inspector/front-end/ObjectPropertiesSection.js: 9661 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto. 9662 * inspector/front-end/ProfileView.js: 9663 * inspector/front-end/SourceFrame.js: 9664 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto. 9665 * inspector/front-end/StylesSidebarPane.js: 9666 (WebInspector.StylePropertyTreeElement.prototype): Ditto. 9667 * inspector/front-end/utilities.js: 9668 (String.prototype.trimLeadingWhitespace): Removed. 9669 (String.prototype.trimTrailingWhitespace): Removed. 9670 (String.prototype.trimWhitespace): Removed. 9671 9672 2010-01-16 Oliver Hunt <oliver (a] apple.com> 9673 9674 Reviewed by Nikolas Zimmermann. 9675 9676 Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content 9677 https://bugs.webkit.org/show_bug.cgi?id=33766 9678 9679 Make localToParentTransform return by reference to avid copy overhead. 9680 This is a little gnarly in places as it means we need to be able to 9681 return temporary values in a few implementations, so we have to add 9682 class fields to hold them, heppily the classes that these effect are 9683 sufficiently uncommon for this to be okay. 9684 9685 * rendering/RenderForeignObject.cpp: 9686 (WebCore::RenderForeignObject::localToParentTransform): 9687 * rendering/RenderForeignObject.h: 9688 * rendering/RenderObject.cpp: 9689 (WebCore::RenderObject::localTransform): 9690 (WebCore::RenderObject::localToParentTransform): 9691 * rendering/RenderObject.h: 9692 * rendering/RenderPath.cpp: 9693 (WebCore::RenderPath::localToParentTransform): 9694 (WebCore::RenderPath::nodeAtFloatPoint): 9695 * rendering/RenderPath.h: 9696 * rendering/RenderSVGImage.h: 9697 (WebCore::RenderSVGImage::localToParentTransform): 9698 * rendering/RenderSVGRoot.cpp: 9699 (WebCore::RenderSVGRoot::localToParentTransform): 9700 * rendering/RenderSVGRoot.h: 9701 * rendering/RenderSVGText.h: 9702 (WebCore::RenderSVGText::localToParentTransform): 9703 * rendering/RenderSVGTransformableContainer.cpp: 9704 (WebCore::RenderSVGTransformableContainer::localToParentTransform): 9705 * rendering/RenderSVGTransformableContainer.h: 9706 * rendering/RenderSVGViewportContainer.cpp: 9707 (WebCore::RenderSVGViewportContainer::localToParentTransform): 9708 * rendering/RenderSVGViewportContainer.h: 9709 9710 2010-01-16 Darin Adler <darin (a] apple.com> 9711 9712 Reviewed by Oliver Hunt and Alexey Proskuryakov. 9713 9714 ValidityState can hold a stale pointer to control 9715 https://bugs.webkit.org/show_bug.cgi?id=33729 9716 rdar://problem/7545114 9717 9718 Test: fast/forms/ValidityState-removed-control.html 9719 9720 * html/HTMLFormControlElement.h: Use OwnPtr instead of 9721 RefPtr to point to the ValidityState object. 9722 9723 * html/ValidityState.cpp: Use a constant instead of a 9724 macro for the email validation regular expression. 9725 (WebCore::ValidityState::validationMessage): Use 9726 m_control instead of control function; we don't need 9727 a function for this. Also marked const. 9728 (WebCore::ValidityState::typeMismatch): Ditto. 9729 Fixed some minor style problems. 9730 (WebCore::ValidityState::rangeUnderflow): Ditto. 9731 (WebCore::ValidityState::rangeOverflow): Ditto. 9732 (WebCore::ValidityState::stepMismatch): Ditto. 9733 (WebCore::ValidityState::valid): Ditto. 9734 (WebCore::ValidityState::isValidEmailAddress): 9735 Changed local variable names for clarity. Got rid of 9736 an unneeded global variable. 9737 9738 * html/ValidityState.h: Removed RefCounted as a base 9739 class, deriving from Noncopyable instead. Changed 9740 creation to use PassOwnPtr instead of PassRefPtr. 9741 Eliminated unneeded control function. Added ref and 9742 deref functions that forward the reference counting 9743 to the control. Moved constructor here and made it 9744 inline. 9745 9746 2010-01-15 Alexey Proskuryakov <ap (a] apple.com> 9747 9748 Reviewed by Darin Adler. 9749 9750 https://bugs.webkit.org/show_bug.cgi?id=33752 9751 Assertion failure when getting a href attribute with prefix 9752 9753 This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were 9754 disabled during introduction of QualifiedName, but never re-enabled. 9755 9756 Tests: fast/dom/bad-href-attribute.html 9757 fast/dom/node-prefix-setter-namespace-exception.html 9758 9759 * dom/Attr.cpp: (WebCore::Attr::setPrefix): 9760 * dom/Element.cpp: (WebCore::Element::setPrefix): 9761 * dom/Node.cpp: (WebCore::Node::checkSetPrefix): 9762 Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox 9763 (DOM 3 Core spec says this behavior is implementation defined). 9764 9765 2010-01-16 Brady Eidson <beidson (a] apple.com> 9766 9767 Reviewed by Darin Adler. 9768 9769 <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571 9770 History traversals to a new document do not get the popstate event 9771 9772 State objects now live-on in their HistoryItem indefinitely. 9773 This means any back/forward navigation might result in a popstate event, not just to 9774 pre-existing documents as was previously the case. 9775 9776 * history/HistoryItem.cpp: 9777 (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime. 9778 9779 * loader/FrameLoader.cpp: 9780 (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it 9781 on to the Document after the Document is created. 9782 (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object, 9783 set it as the FrameLoad's pending state object. 9784 * loader/FrameLoader.h: 9785 9786 * page/Page.cpp: 9787 (WebCore::Page::goToItem): Remove a now-invalid ASSERT. 9788 9789 2010-01-15 Simon Fraser <simon.fraser (a] apple.com> 9790 9791 Reviewed by Dan Bernstein and Adele Peterson. 9792 9793 Support reflections on composited layers 9794 https://bugs.webkit.org/show_bug.cgi?id=31885 9795 9796 Implement reflections (via -webkit-box-reflect:) on compositing layers. 9797 9798 We add to the GraphicsLayer the notion of having a replica, and being a replicated layer. 9799 The replica layer is not parented in the tree, but referenced by another layer. 9800 RenderLayerBacking sets this up when it finds RenderLayers for reflections. 9801 9802 GraphicsLayerCA implements rendering of replica layers by cloning CA layers, 9803 and copying their properties, including animations and contents. Deep reflections 9804 are supported by a hash of clone layers on each GraphicsLayerCA, indexed by 9805 the path down the tree to each replica instance. 9806 9807 When GraphicsLayerCA properties are changed, in most cases the clones must also 9808 be updated. 9809 9810 Tests: compositing/masks/direct-image-mask.html 9811 compositing/reflections/animation-inside-reflection.html 9812 compositing/reflections/compositing-change-inside-reflection.html 9813 compositing/reflections/deeply-nested-reflections.html 9814 compositing/reflections/masked-reflection-on-composited.html 9815 compositing/reflections/nested-reflection-anchor-point.html 9816 compositing/reflections/nested-reflection-animated.html 9817 compositing/reflections/nested-reflection-mask-change.html 9818 compositing/reflections/nested-reflection-on-overflow.html 9819 compositing/reflections/nested-reflection-opacity.html 9820 compositing/reflections/nested-reflection-size-change.html 9821 compositing/reflections/nested-reflection-transformed.html 9822 compositing/reflections/nested-reflection-transition.html 9823 compositing/reflections/nested-reflection.html 9824 compositing/reflections/reflection-opacity.html 9825 compositing/reflections/reflection-ordering.html 9826 compositing/reflections/reflection-positioning.html 9827 compositing/reflections/transform-inside-reflection.html 9828 9829 * platform/graphics/GraphicsLayer.h: 9830 (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer. 9831 (WebCore::GraphicsLayer::replicatedLayerPosition): 9832 (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 9833 special-cased; we cannot just copy the position of the original. 9834 (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed, 9835 which gives us a chance to update clone layers. 9836 (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer. 9837 (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating. 9838 (WebCore::GraphicsLayer::setReplicatedLayer): 9839 9840 * platform/graphics/GraphicsLayer.cpp: 9841 (WebCore::GraphicsLayer::GraphicsLayer): 9842 (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer. 9843 (WebCore::GraphicsLayer::dumpProperties): 9844 9845 * platform/graphics/mac/GraphicsLayerCA.h: 9846 (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers. 9847 (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone 9848 down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the 9849 root of a replica tree. 9850 (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers. 9851 9852 (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching 9853 down the tree during recursion, to build cloneID paths. 9854 9855 (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers. 9856 9857 * platform/graphics/mac/GraphicsLayerCA.mm: 9858 (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers. 9859 (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too. 9860 (WebCore::GraphicsLayerCA::addChild): ditto 9861 (WebCore::GraphicsLayerCA::addChildAtIndex): ditto 9862 (WebCore::GraphicsLayerCA::addChildBelow): ditto 9863 (WebCore::GraphicsLayerCA::addChildAbove): ditto 9864 (WebCore::GraphicsLayerCA::replaceChild): ditto 9865 (WebCore::GraphicsLayerCA::removeFromParent): ditto 9866 (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas() 9867 (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed. 9868 (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto 9869 (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations. 9870 (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto. 9871 (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged() 9872 (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged() 9873 (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers. 9874 (WebCore::GraphicsLayerCA::recursiveCommitChanges): 9875 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be 9876 committed before we recurse on children. 9877 (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be 9878 committed after we recurse on children, like clones. 9879 (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods. 9880 (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy. 9881 (WebCore::GraphicsLayerCA::updateLayerPosition): update clones. 9882 (WebCore::GraphicsLayerCA::updateLayerSize): ditto 9883 (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto 9884 (WebCore::GraphicsLayerCA::updateTransform): ditto 9885 (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto 9886 (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto 9887 (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto 9888 (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto 9889 (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer() 9890 (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another. 9891 (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection 9892 flattening, or CATransformLayers for preserve-3d. 9893 (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer. 9894 (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones 9895 (WebCore::GraphicsLayerCA::updateContentsImage): ditto 9896 (WebCore::GraphicsLayerCA::updateContentsRect): ditto 9897 (WebCore::GraphicsLayerCA::updateMaskLayer): ditto 9898 (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica 9899 and its children, and attach them as sublayers. 9900 (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this 9901 string serves to identify clones in the hash map. 9902 (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform, 9903 and return it. 9904 (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones 9905 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto 9906 (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto 9907 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers. 9908 (WebCore::GraphicsLayerCA::suspendAnimations): update clones. 9909 (WebCore::GraphicsLayerCA::resumeAnimations): ditto 9910 (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property. 9911 (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer. 9912 (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers. 9913 (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased, 9914 since it doesn't just copy those properties from the original. 9915 (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica. 9916 (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning 9917 the root of the clone tree. 9918 (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers. 9919 (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of 9920 (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones. 9921 (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto 9922 (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any. 9923 9924 * platform/graphics/mac/WebLayer.mm: 9925 (-[WebLayer display]): override -display so we know when to update the contents of clone layers 9926 9927 * platform/graphics/mac/WebTiledLayer.mm: 9928 (-[WebTiledLayer display]): ditto. 9929 9930 * rendering/RenderLayer.h: 9931 (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica. 9932 9933 * rendering/RenderLayer.cpp: 9934 (WebCore::RenderLayer::RenderLayer): initialize m_isReflection 9935 (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection 9936 9937 * rendering/RenderLayerBacking.cpp: 9938 (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer. 9939 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection. 9940 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect). 9941 Also hook up updating the reflection layer geometry, and the relica position. 9942 9943 (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software. 9944 9945 * rendering/RenderLayerCompositor.cpp: 9946 (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic. 9947 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected. 9948 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer. 9949 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto 9950 (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces 9951 a reflection ancestor to composite now. 9952 (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything. 9953 (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode 9954 for masks or reflections any more. 9955 (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now. 9956 9957 * rendering/RenderObject.h: 9958 (WebCore::RenderObject::isReplica): 9959 * rendering/RenderReplica.h: 9960 (WebCore::RenderReplica::isReplica): 9961 New method used to determine if a render is a replica. 9962 9963 2010-01-15 Carol Szabo <carol.szabo (a] nokia.com> 9964 9965 Reviewed by Darin Adler. 9966 9967 CSS2.1 Counters not updated when new elements are inserted in the DOM. 9968 https://bugs.webkit.org/show_bug.cgi?id=32884 9969 9970 Test: fast/css/counters/adding-nodes.html 9971 9972 * rendering/CounterNode.cpp: 9973 (WebCore::CounterNode::insertAfter): 9974 Modified to handle the addition of nodes with children. Needed when formerly 9975 root nodes become descendants of a new node. 9976 * rendering/RenderCounter.cpp: 9977 (WebCore::makeCounterNode): 9978 Changed to handle the case when root counter nodes lose their root 9979 status as a result of a new root counter node creation. 9980 (WebCore::destroyCounterNodeWithoutMapRemoval): 9981 Refactored more code into destroyCounterNodeChildren and renamed the 9982 function according to its new action. 9983 (WebCore::RenderCounter::destroyCounterNodes): 9984 Simplified to share more code with the new destroyCounterNode. 9985 (WebCore::RenderCounter::destroyCounterNode): 9986 Added to allow for selective counterNode destruction. 9987 (WebCore::RenderCounter::rendererSubtreeAttached): 9988 Added to refresh counter values in response to DOM changes. 9989 For renderers with no attached counters the execution time of this 9990 function cannot be discerned in comparison with the time needed to 9991 add a node or change the style of a node. 9992 (WebCore::updateCounters): 9993 Helper function for rendererSubtreeAttached. Updates the counters 9994 attached to a Renderer in response to the renderer or its ancestors 9995 being attached to the renderer tree. 9996 * rendering/RenderCounter.h: 9997 * rendering/RenderObject.cpp: 9998 (WebCore::RenderObject::addChild): 9999 Changed to update counter values if needed. 10000 10001 2010-01-15 Alejandro G. Castro <alex (a] igalia.com> 10002 10003 Reviewed by Xan Lopez. 10004 10005 Original patch by David Ronis <david.ronis (a] mcgill.ca> 10006 10007 Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope 10008 https://bugs.webkit.org/show_bug.cgi?id=33486 10009 10010 Deprecated symbols replaced for gtk+ versions over 2.18. 10011 10012 * platform/gtk/PlatformScreenGtk.cpp: 10013 (WebCore::getVisual): 10014 (WebCore::screenRect): 10015 10016 2010-01-15 Oliver Hunt <oliver (a] apple.com> 10017 10018 Reviewed by Sam Weinig. 10019 10020 Bad DOM performance in large SVG files 10021 https://bugs.webkit.org/show_bug.cgi?id=30055 10022 10023 Improve the performance of the early culling check by avoiding save/restore 10024 of graphics state in culled case. 10025 10026 * rendering/RenderPath.cpp: 10027 (WebCore::RenderPath::paint): 10028 10029 2010-01-15 Eric Seidel <eric (a] webkit.org> 10030 10031 No review, rolling out r53344. 10032 http://trac.webkit.org/changeset/53344 10033 https://bugs.webkit.org/show_bug.cgi?id=32920 10034 10035 Broke the Chromium Mac builder. 10036 10037 * WebCore.gypi: 10038 * bindings/scripts/CodeGeneratorV8.pm: 10039 * bindings/v8/SerializedScriptValue.cpp: Removed. 10040 * bindings/v8/SerializedScriptValue.h: 10041 (WebCore::SerializedScriptValue::create): 10042 (WebCore::SerializedScriptValue::release): 10043 (WebCore::SerializedScriptValue::toString): 10044 (WebCore::SerializedScriptValue::SerializedScriptValue): 10045 * bindings/v8/custom/V8DOMWindowCustom.cpp: 10046 (WebCore::V8DOMWindow::postMessageCallback): 10047 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 10048 (WebCore::V8DedicatedWorkerContext::postMessageCallback): 10049 * bindings/v8/custom/V8HistoryCustom.cpp: 10050 (WebCore::V8History::pushStateCallback): 10051 (WebCore::V8History::replaceStateCallback): 10052 * bindings/v8/custom/V8MessageEventCustom.cpp: 10053 (WebCore::V8MessageEvent::initMessageEventCallback): 10054 * bindings/v8/custom/V8MessagePortCustom.cpp: 10055 (WebCore::V8MessagePort::postMessageCallback): 10056 * bindings/v8/custom/V8PopStateEventCustom.cpp: 10057 (WebCore::V8PopStateEvent::initPopStateEventCallback): 10058 (WebCore::V8PopStateEvent::stateAccessorGetter): 10059 * bindings/v8/custom/V8WorkerCustom.cpp: 10060 (WebCore::V8Worker::postMessageCallback): 10061 10062 2010-01-15 Darin Fisher <darin (a] chromium.org> 10063 10064 Reviewed by Brady Eidson. 10065 10066 history.length does not return number of elements in history list 10067 https://bugs.webkit.org/show_bug.cgi?id=24472 10068 10069 Test: fast/history/history-length.html 10070 10071 * page/Page.cpp: 10072 (WebCore::Page::getHistoryLength): 10073 10074 2010-01-15 Dmitry Titov <dimich (a] chromium.org> 10075 10076 Reviewed by Darin Adler. 10077 10078 Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document 10079 https://bugs.webkit.org/show_bug.cgi?id=31633 10080 10081 Don't see a way to add test for it, we don't have a way to reproduce the issue currently. 10082 10083 * dom/Document.cpp: 10084 (WebCore::DocumentWeakReference::DocumentWeakReference): 10085 (WebCore::DocumentWeakReference::document): 10086 (WebCore::DocumentWeakReference::clear): 10087 (WebCore::Document::Document): Create a weak reference to this Document. 10088 (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks. 10089 (WebCore::PerformTaskContext::PerformTaskContext): 10090 (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task. 10091 (WebCore::Document::postTask): 10092 * dom/Document.h: 10093 (WebCore::DocumentWeakReference::create): 10094 10095 2010-01-15 Vitaly Repeshko <vitalyr (a] chromium.org> 10096 10097 Reviewed by David Levin. 10098 10099 [V8] Support SerializedScriptValue. 10100 https://bugs.webkit.org/show_bug.cgi?id=32920 10101 http://crbug.com/30620 10102 10103 Initial implementation of SerializedScriptValue which is used to 10104 to create a serialized representation of JavaScript objects. This 10105 representation is needed for structured clones and worker messages. 10106 10107 * WebCore.gypi: Added SerializedScriptValue.cpp. 10108 * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue. 10109 * bindings/v8/SerializedScriptValue.cpp: Added. 10110 (WebCore::): 10111 (WebCore::ZigZag::encode): 10112 (WebCore::ZigZag::decode): 10113 (WebCore::Writer::Writer): 10114 (WebCore::Writer::writeUndefined): 10115 (WebCore::Writer::writeNull): 10116 (WebCore::Writer::writeTrue): 10117 (WebCore::Writer::writeFalse): 10118 (WebCore::Writer::writeString): 10119 (WebCore::Writer::writeInt32): 10120 (WebCore::Writer::writeNumber): 10121 (WebCore::Writer::endComposite): 10122 (WebCore::Writer::data): 10123 (WebCore::Writer::doWriteUint32): 10124 (WebCore::Writer::append): 10125 (WebCore::Writer::ensureSpace): 10126 (WebCore::Writer::fillHole): 10127 (WebCore::Writer::charAt): 10128 (WebCore::Serializer::Serializer): 10129 (WebCore::Serializer::serialize): 10130 (WebCore::Serializer::StateBase::~StateBase): 10131 (WebCore::Serializer::StateBase::nextState): 10132 (WebCore::Serializer::StateBase::setNextState): 10133 (WebCore::Serializer::StateBase::composite): 10134 (WebCore::Serializer::StateBase::StateBase): 10135 (WebCore::Serializer::State::composite): 10136 (WebCore::Serializer::State::tag): 10137 (WebCore::Serializer::State::State): 10138 (WebCore::Serializer::StackCleaner::StackCleaner): 10139 (WebCore::Serializer::StackCleaner::~StackCleaner): 10140 (WebCore::Serializer::ArrayState::ArrayState): 10141 (WebCore::Serializer::ArrayState::done): 10142 (WebCore::Serializer::ArrayState::advance): 10143 (WebCore::Serializer::ObjectState::ObjectState): 10144 (WebCore::Serializer::ObjectState::done): 10145 (WebCore::Serializer::ObjectState::advance): 10146 (WebCore::Serializer::ObjectState::nextProperty): 10147 (WebCore::Serializer::doSerialize): 10148 (WebCore::Serializer::push): 10149 (WebCore::Serializer::top): 10150 (WebCore::Serializer::pop): 10151 (WebCore::Serializer::checkComposite): 10152 (WebCore::Reader::Reader): 10153 (WebCore::Reader::isEof): 10154 (WebCore::Reader::read): 10155 (WebCore::Reader::readTag): 10156 (WebCore::Reader::readString): 10157 (WebCore::Reader::readInt32): 10158 (WebCore::Reader::readNumber): 10159 (WebCore::Reader::doReadUint32): 10160 (WebCore::Deserializer::Deserializer): 10161 (WebCore::Deserializer::deserialize): 10162 (WebCore::Deserializer::doDeserialize): 10163 (WebCore::Deserializer::push): 10164 (WebCore::Deserializer::pop): 10165 (WebCore::Deserializer::stackDepth): 10166 (WebCore::Deserializer::element): 10167 (WebCore::SerializedScriptValue::SerializedScriptValue): 10168 (WebCore::SerializedScriptValue::deserialize): 10169 * bindings/v8/SerializedScriptValue.h: 10170 (WebCore::SerializedScriptValue::create): 10171 (WebCore::SerializedScriptValue::createFromWire): 10172 (WebCore::SerializedScriptValue::release): 10173 (WebCore::SerializedScriptValue::toWireString): 10174 10175 Updated uses of SerializedScriptValue: 10176 * bindings/v8/custom/V8DOMWindowCustom.cpp: 10177 (WebCore::V8DOMWindow::postMessageCallback): 10178 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 10179 (WebCore::V8DedicatedWorkerContext::postMessageCallback): 10180 * bindings/v8/custom/V8HistoryCustom.cpp: 10181 (WebCore::V8History::pushStateCallback): 10182 (WebCore::V8History::replaceStateCallback): 10183 * bindings/v8/custom/V8MessageEventCustom.cpp: 10184 (WebCore::V8MessageEvent::initMessageEventCallback): 10185 * bindings/v8/custom/V8MessagePortCustom.cpp: 10186 (WebCore::V8MessagePort::postMessageCallback): 10187 * bindings/v8/custom/V8WorkerCustom.cpp: 10188 (WebCore::V8Worker::postMessageCallback): 10189 10190 2010-01-15 Oliver Hunt <oliver (a] apple.com> 10191 10192 Reviewed by Dirk Schulze. 10193 10194 Bad DOM performance in large SVG files 10195 https://bugs.webkit.org/show_bug.cgi?id=30055 10196 10197 Add an early return when we go to paint a RenderPath that 10198 isn't in the current clip. 10199 10200 * rendering/RenderPath.cpp: 10201 (WebCore::RenderPath::paint): 10202 * svg/graphics/SVGImage.cpp: 10203 (WebCore::SVGImage::draw): 10204 10205 2010-01-15 Steve Block <steveblock (a] google.com> 10206 10207 Reviewed by Eric Seidel. 10208 10209 Make Geolocation::suspend/resume public. 10210 https://bugs.webkit.org/show_bug.cgi?id=33679 10211 10212 These were made private in Bug 32499, but are required by Android to be public. 10213 10214 No new tests, build fix only. 10215 10216 * page/Geolocation.cpp: Modified 10217 (WebCore::Geolocation::suspend): Added back in 10218 (WebCore::Geolocation::resume): Added back in 10219 * page/Geolocation.h: Modified. Make suspend and resume public 10220 10221 2010-01-15 Alexander Pavlov <apavlov (a] chromium.org> 10222 10223 Reviewed by Pavel Feldman. 10224 10225 Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane 10226 10227 https://bugs.webkit.org/show_bug.cgi?id=33713 10228 10229 * inspector/front-end/inspector.css: 10230 10231 2010-01-15 Nate Chapin <japhet (a] chromium.org> 10232 10233 Reviewed by Dimitri Glazkov. 10234 10235 [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates. 10236 10237 * bindings/scripts/CodeGeneratorV8.pm: 10238 * bindings/v8/V8Binding.cpp: 10239 (WebCore::getToStringName): 10240 (WebCore::constructorToString): 10241 (WebCore::getToStringTemplate): 10242 * bindings/v8/V8Binding.h: 10243 * bindings/v8/V8DOMWindowShell.cpp: 10244 (WebCore::V8DOMWindowShell::createNewContext): 10245 * bindings/v8/V8DOMWrapper.cpp: 10246 (WebCore::V8DOMWrapper::getTemplate): 10247 10248 2010-01-15 Dimitri Glazkov <dglazkov (a] chromium.org> 10249 10250 No review, rolling out r53331. 10251 http://trac.webkit.org/changeset/53331 10252 https://bugs.webkit.org/show_bug.cgi?id=30055 10253 10254 Broke fast/borders/svg-as-border-image-3.html. Don't give up, 10255 Oliver! You are really, really close. 10256 10257 * rendering/RenderPath.cpp: 10258 (WebCore::RenderPath::paint): 10259 10260 2010-01-15 Oliver Hunt <oliver (a] apple.com> 10261 10262 Reviewed by Nikolas Zimmermann. 10263 10264 Bad DOM performance in large SVG files 10265 https://bugs.webkit.org/show_bug.cgi?id=30055 10266 10267 Add an early return when we go to paint a RenderPath that 10268 isn't in the current clip. 10269 10270 * rendering/RenderPath.cpp: 10271 (WebCore::RenderPath::paint): 10272 10273 2010-01-15 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 10274 10275 Reviewed by Antti Koivisto. 10276 10277 Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform 10278 10279 https://bugs.webkit.org/show_bug.cgi?id=33711 10280 10281 * page/NavigatorBase.cpp: 10282 10283 2010-01-14 Philippe Normand <pnormand (a] igalia.com> 10284 10285 Reviewed by Xan Lopez. 10286 10287 [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning 10288 https://bugs.webkit.org/show_bug.cgi?id=33575 10289 10290 Patch from Magnus Boman <captain.magnus (a] gmail.com> 10291 10292 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 10293 (WebCore::mimeTypeCache): fix compiler warnings. 10294 10295 2010-01-14 Mikhail Naganov <mnaganov (a] chromium.org> 10296 10297 Reviewed by Timothy Hatcher. 10298 10299 Add welcome screen to Profiles pane to provide some instructions for novices. 10300 10301 https://bugs.webkit.org/show_bug.cgi?id=19268 10302 10303 * English.lproj/localizedStrings.js: 10304 * WebCore.gypi: 10305 * WebCore.vcproj/WebCore.vcproj: 10306 * inspector/front-end/ProfileView.js: 10307 (WebInspector.CPUProfileType.prototype.get welcomeMessage): 10308 * inspector/front-end/ProfilesPanel.js: 10309 (WebInspector.ProfileType.prototype.get welcomeMessage): 10310 (WebInspector.ProfilesPanel): 10311 (WebInspector.ProfilesPanel.prototype.show): 10312 (WebInspector.ProfilesPanel.prototype.registerProfileType): 10313 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked): 10314 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage): 10315 (WebInspector.ProfilesPanel.prototype.showProfile): 10316 (WebInspector.ProfilesPanel.prototype.closeVisibleView): 10317 (WebInspector.ProfilesPanel.prototype._updateInterface): 10318 * inspector/front-end/WebKit.qrc: 10319 * inspector/front-end/WelcomeView.js: Added. 10320 (WebInspector.WelcomeView): 10321 (WebInspector.WelcomeView.prototype._windowResized): 10322 (WebInspector.WelcomeView.prototype.addMessage): 10323 * inspector/front-end/inspector.css: 10324 * inspector/front-end/inspector.html: 10325 10326 2010-01-13 Girish Ramakrishnan <girish (a] forwardbias.in> 10327 10328 Reviewed by Simon Hausmann. 10329 10330 [Qt/Win] Flash in QGraphicsWebView does not process hover correctly. 10331 10332 https://bugs.webkit.org/show_bug.cgi?id=33591 10333 10334 Mouse hover does not work as expected with the flash in some sites. 10335 - http://www.bbc.co.uk/ Hover over the map 10336 - http://www.barbie.com/ Hover over the menu items (Games, Videos) 10337 The problem appears to be that Flash queries NPNVnetscapeWindow on every 10338 mouse hover. I do not how flash uses this value but returning 0 when flash 10339 is in windowless mode solves the problem (When using QGraphicsWebView we 10340 inject wmode opaque, thereby putting the plugin in windowless mode). 10341 10342 * plugins/win/PluginViewWin.cpp: 10343 (windowHandleForPageClient): 10344 10345 2010-01-15 Zoltan Horvath <zoltan (a] webkit.org> 10346 10347 Reviewed by Darin Adler. 10348 10349 Allow custom memory allocation control for Peer class 10350 https://bugs.webkit.org/show_bug.cgi?id=33670 10351 10352 Inherits the following class from Noncopyable because it is 10353 instantiated by 'new' and no need to be copyable: 10354 10355 class name - instantiated at: WebCore/'location' 10356 class Peer - websockets/WebSocketChannelClient.h:38 10357 10358 * websockets/WorkerThreadableWebSocketChannel.h: 10359 10360 2010-01-15 Zoltan Horvath <zoltan (a] webkit.org> 10361 10362 Reviewed by Oliver Hunt. 10363 10364 [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class 10365 https://bugs.webkit.org/show_bug.cgi?id=33669 10366 10367 Inherits the following class from Noncopyable because it is 10368 instantiated by 'new' and no need to be copyable: 10369 10370 class name - instantiated at: WebCore/'location' 10371 class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254 10372 10373 * platform/graphics/qt/GraphicsContextQt.cpp: 10374 10375 2010-01-14 Darin Fisher <darin (a] chromium.org> 10376 10377 Reviewed by Brady Eidson. 10378 10379 history.pushState should clear the entire forward history 10380 https://bugs.webkit.org/show_bug.cgi?id=33160 10381 10382 Test: fast/loader/stateobjects/pushstate-clears-forward-history.html 10383 10384 * history/BackForwardList.cpp: 10385 (WebCore::BackForwardList::addItem): 10386 (WebCore::BackForwardList::pushStateItem): 10387 * history/BackForwardList.h: 10388 10389 2010-01-14 Gavin Barraclough <barraclough (a] apple.com> 10390 10391 Rubber stamped by Sam Weinig. 10392 10393 Make naming & behaviour of UString[Impl] methods more consistent. 10394 https://bugs.webkit.org/show_bug.cgi?id=33702 10395 10396 WebCore change reflecting UString method name change computedHash() -> existingHash(). 10397 10398 * platform/text/AtomicString.cpp: 10399 (WebCore::AtomicString::add): 10400 (WebCore::AtomicString::find): 10401 10402 2010-01-14 Dan Bernstein <mitz (a] apple.com> 10403 10404 Reviewed by Simon Fraser. 10405 10406 <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar 10407 https://bugs.webkit.org/show_bug.cgi?id=19650 10408 10409 * platform/graphics/GeneratedImage.cpp: 10410 (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(), 10411 letting the generator substitute the parameters with visually-equivalent values that 10412 are more efficient. 10413 * platform/graphics/Generator.h: 10414 (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation 10415 that does nothing. 10416 * platform/graphics/Gradient.cpp: 10417 (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal 10418 or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile. 10419 * platform/graphics/Gradient.h: 10420 10421 2010-01-14 Norbert Leser <norbert.leser (a] nokia.com> 10422 10423 Reviewed by Laszlo Gombos. 10424 10425 Platform Symbian specific: 10426 Added time-based optimization (-Otime) and increased optimization level to -O3, 10427 conditionally for RVCT compiler (for ARM), for increasing performance 10428 (primarily affecting JavaScript execution). 10429 Default settings are -Ospace and -O2. 10430 10431 No new tests needed because no new funtionality is introduced, 10432 only potential regression on existing tests needs to be evaluated. 10433 10434 * WebCore.pro: 10435 10436 2010-01-14 Jungshik Shin <jshin (a] chromium.org> 10437 10438 Unreviewed, attempted build fix on chromium. 10439 10440 Fix a Chromium build failure due to an unused variable in V8 binding.(part 2) 10441 10442 * bindings/v8/V8Collection.h: 10443 (WebCore::getNamedPropertyOfCollection): 10444 10445 2010-01-14 Jungshik Shin <jshin (a] chromium.org> 10446 10447 Unreviewed, attempted build fix on chromium. 10448 10449 Fix a Chromium build failure due to an unused variable in V8 binding. 10450 10451 * bindings/v8/V8Collection.h: 10452 (WebCore::getIndexedPropertyOfCollection): 10453 10454 2010-01-14 Peter Kasting <pkasting (a] google.com> 10455 10456 Unreviewed, attempted build fix. 10457 10458 * platform/image-decoders/gif/GIFImageDecoder.cpp: 10459 (WebCore::GIFImageDecoder::haveDecodedRow): 10460 10461 2010-01-14 Peter Kasting <pkasting (a] google.com> 10462 10463 Reviewed by Adam Barth. 10464 10465 Simplify image decoders by making downsampling functions available at 10466 all times, allowing much duplicated logic to be collapsed. 10467 https://bugs.webkit.org/show_bug.cgi?id=28751 10468 10469 * platform/graphics/ImageSource.cpp: 10470 (WebCore::ImageSource::setData): 10471 * platform/image-decoders/ImageDecoder.cpp: 10472 (WebCore::ImageDecoder::prepareScaleDataIfNecessary): 10473 * platform/image-decoders/ImageDecoder.h: 10474 (WebCore::ImageDecoder::ImageDecoder): 10475 (WebCore::ImageDecoder::scaledSize): 10476 (WebCore::ImageDecoder::setMaxNumPixels): 10477 * platform/image-decoders/gif/GIFImageDecoder.cpp: 10478 (WebCore::GIFImageDecoder::sizeNowAvailable): 10479 (WebCore::GIFImageDecoder::initFrameBuffer): 10480 (WebCore::GIFImageDecoder::haveDecodedRow): 10481 (WebCore::GIFImageDecoder::frameComplete): 10482 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 10483 (WebCore::JPEGImageDecoder::setSize): 10484 (WebCore::JPEGImageDecoder::outputScanlines): 10485 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 10486 * platform/image-decoders/png/PNGImageDecoder.cpp: 10487 (WebCore::PNGImageDecoder::headerAvailable): 10488 (WebCore::PNGImageDecoder::rowAvailable): 10489 10490 2010-01-14 Jian Li <jianli (a] chromium.org> 10491 10492 Reviewed by Eric Seidel. 10493 10494 [chromium] Remove obsolete CF related files from gyp build. 10495 https://bugs.webkit.org/show_bug.cgi?id=33002 10496 10497 * WebCore.gypi: 10498 10499 2010-01-14 Peter Kasting <pkasting (a] google.com> 10500 10501 Reviewed by Adam Barth. 10502 10503 Decoding images to scaled output buffers resulted in garbage for 10504 no-alpha PNGs and CMYK JPEGs. 10505 https://bugs.webkit.org/show_bug.cgi?id=33624 10506 10507 No layout test since I don't have access to a platform that scales the 10508 output buffers. 10509 10510 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 10511 (WebCore::convertCMYKToRGBA): 10512 * platform/image-decoders/png/PNGImageDecoder.cpp: 10513 (WebCore::PNGImageDecoder::rowAvailable): 10514 10515 2010-01-14 Brian Weinstein <bweinstein (a] apple.com> 10516 10517 Rubber-stamped by Oliver Hunt. 10518 10519 Fix an assertion that was causing test crashes. Filed a bug 10520 about the weirdness that causes this assertion (inconsistencies 10521 between DragOperationMove and DragOperationGeneric). 10522 10523 * dom/Clipboard.cpp: 10524 (WebCore::dragOpFromIEOp): 10525 (WebCore::Clipboard::setDestinationOperation): 10526 10527 2010-01-14 Beth Dakin <bdakin (a] apple.com> 10528 10529 Reviewed by Sam Weinig. 10530 10531 Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 10532 svg/css/circle-in-mask-with-shadow.svg failing pixel tests 10533 -and corresponding- 10534 <rdar://problem/7544176> 10535 10536 This change makes repaintRectInLocalCoordinates return a rect that 10537 is -webkit-svg-shadow-aware. 10538 10539 * rendering/RenderPath.cpp: 10540 (WebCore::RenderPath::repaintRectInLocalCoordinates): 10541 * rendering/RenderSVGContainer.cpp: 10542 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): 10543 * rendering/RenderSVGImage.cpp: 10544 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): 10545 * rendering/RenderSVGRoot.cpp: 10546 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): 10547 * rendering/RenderSVGText.cpp: 10548 (WebCore::RenderSVGText::repaintRectInLocalCoordinates): 10549 * rendering/SVGRenderSupport.cpp: 10550 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 10551 * rendering/style/SVGRenderStyle.cpp: 10552 (WebCore::SVGRenderStyle::inflateForShadow): 10553 * rendering/style/SVGRenderStyle.h: 10554 10555 2010-01-14 Brian Weinstein <bweinstein (a] apple.com> 10556 10557 Reviewed by Adam Roben. 10558 10559 Drag and Drop source/destination code needs cleanup. 10560 <https://bugs.webkit.org/show_bug.cgi?id=33691>. 10561 10562 Cleaned up some Drag and Drop code that deals with getting 10563 source and destination operations, and added some ASSERTS to make 10564 sure we don't get in bad states. 10565 10566 * dom/Clipboard.cpp: 10567 (WebCore::Clipboard::sourceOperation): Make this return the operation itself. 10568 (WebCore::Clipboard::destinationOperation): Ditto. 10569 (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud. 10570 (WebCore::Clipboard::setDestinationOperation): Ditto. 10571 * dom/Clipboard.h: 10572 * page/DragController.cpp: 10573 (WebCore::DragController::tryDHTMLDrag): 10574 * page/EventHandler.cpp: 10575 (WebCore::EventHandler::handleDrag): 10576 10577 2010-01-14 Timothy Hatcher <timothy (a] apple.com> 10578 10579 Make the Web Inspector's JavaScript debugger work with isolated worlds. 10580 Console evaluation is not performed in the correct world yet, tracked 10581 by bug http://webkit.org/b/33692. 10582 10583 http://webkit.org/b/33690 10584 10585 Reviewed by Adam Roben. 10586 10587 * bindings/js/ScriptCachedFrameData.cpp: 10588 (WebCore::ScriptCachedFrameData::restore): Attach the debugger to 10589 any window shell, not just for the debugger world. 10590 * bindings/js/ScriptController.cpp: 10591 (WebCore::ScriptController::clearWindowShell): Detach the debugger, and 10592 reattach to all window shells, not just for the debugger world. 10593 (WebCore::ScriptController::initScript): Attach the debugger to 10594 any window shell, not just for the debugger world. 10595 (WebCore::ScriptController::attachDebugger): Changed to loop through 10596 all the window shells and call the new overloaded attachDebugger. 10597 (WebCore::ScriptController::attachDebugger): Added. An overload that 10598 takes a window shell to attach the debugger to. Has most of the 10599 logic from the original attachDebugger. 10600 * bindings/js/ScriptController.h: Added the new attachDebugger. 10601 10602 2010-01-14 Adam Roben <aroben (a] apple.com> 10603 10604 Make Cache::requestResource return 0 if the resource's load fails 10605 immediately 10606 10607 Fixes <rdar://problem/7543406> <http://webkit.org/b/33687> 10608 window.onload never fires if page contains a <script src=foo> whose 10609 load is cancelled by resource load delegate returning null from 10610 willSendRequest 10611 10612 Test: fast/loader/onload-willSendRequest-null-for-script.html 10613 10614 Reviewed by Dave Hyatt. 10615 10616 * loader/Cache.cpp: 10617 (WebCore::Cache::requestResource): Moved code to handle immediate load 10618 failure out of the "cache is disabled" block so that it will run even 10619 when the cache is enabled. 10620 10621 2010-01-14 Stephen White <senorblanco (a] chromium.org> 10622 10623 Reviewed by mitz (a] webkit.org. 10624 10625 Fix for crash with gradient on table cell. Pass the correct 10626 background object down to 10627 RenderBoxModelObject::paintFillLayerExtended(). This also allowed a 10628 rework of the fix to bug 18445 by passing the correct RenderObject 10629 from RenderBox::paintRootBoxDecorations() down to 10630 RenderBoxModelObject::paintFillLayerExtended(). 10631 https://bugs.webkit.org/show_bug.cgi?id=28426 10632 10633 Covered by new layout test: LayoutTests/fast/gradients/crash-on-tr.html 10634 10635 * rendering/RenderBox.cpp: 10636 (WebCore::RenderBox::paintFillLayers): 10637 (WebCore::RenderBox::paintFillLayer): 10638 * rendering/RenderBox.h: 10639 Plumb through the correct background RenderObject. 10640 * rendering/RenderBoxModelObject.cpp: 10641 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 10642 Use the passed-in background RenderObject (if present) when painting background images. Remove the previous fix for bug 18445. 10643 * rendering/RenderBoxModelObject.h: 10644 Plumb through the correct background RenderObject. 10645 * rendering/RenderTableCell.cpp: 10646 Pass in the correct backgroundObject to paintFillLayers(). 10647 10648 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 10649 10650 2010-01-14 Nate Chapin <japhet (a] chromium.org> 10651 10652 Reviewed by Dimitri Glazkov. 10653 10654 Standardize the rest of the v8 bindings on toNative() wherever possible. 10655 10656 https://bugs.webkit.org/show_bug.cgi?id=33677 10657 10658 * bindings/v8/NPV8Object.cpp: 10659 (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them. 10660 * bindings/v8/NPV8Object.h: 10661 * bindings/v8/ScriptController.cpp: 10662 * bindings/v8/V8Collection.cpp: 10663 * bindings/v8/V8Collection.h: 10664 (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them. 10665 * bindings/v8/V8DOMWindowShell.cpp: 10666 * bindings/v8/V8DOMWrapper.cpp: 10667 * bindings/v8/V8DOMWrapper.h: 10668 * bindings/v8/V8NPObject.cpp: 10669 * bindings/v8/V8Proxy.cpp: 10670 * bindings/v8/V8SVGPODTypeWrapper.h: 10671 * bindings/v8/WorkerContextExecutionProxy.cpp: 10672 10673 2010-01-14 Evan Stade <estade (a] chromium.org> 10674 10675 Reviewed by Eric Seidel. 10676 10677 Chromium Linux: don't stretch checkboxes 10678 https://bugs.webkit.org/show_bug.cgi?id=28631 10679 10680 Make the default size for checkboxes/radio buttons also the maximum 10681 size. 10682 10683 Based on patch by Adam Langley. 10684 10685 Test: fast/css/non-standard-checkbox-size.html 10686 10687 * rendering/RenderThemeChromiumSkia.cpp: 10688 (WebCore::center): 10689 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 10690 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 10691 (WebCore::RenderThemeChromiumSkia::paintRadio): 10692 10693 2010-01-14 Brian Weinstein <bweinstein (a] apple.com> 10694 10695 Reviewed by Adam Roben. 10696 10697 Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>. 10698 10699 Now that dropEffect and effectAllowed are guaranteed to not be 10700 null, change null checks into asserts to make sure we are returning 10701 a proper DragOperation value. 10702 10703 * dom/Clipboard.cpp: 10704 (WebCore::Clipboard::sourceOperation): Change null check to assert. 10705 (WebCore::Clipboard::destinationOperation): Ditto. 10706 10707 2010-01-14 Brian Weinstein <bweinstein (a] apple.com> 10708 10709 Reviewed by Oliver Hunt. 10710 10711 [DnD] effectAllowed and dropEffect can be set to bogus values. 10712 Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>. 10713 10714 Test to make aure dropEffect and effectAllowed are being set to valid values 10715 when they are being set (list of valid values given by HTML5 specification). 10716 10717 Also, drive by change to initialize dropEffect to none (as described in spec). 10718 10719 Test: fast/events/bogus-dropEffect-effectAllowed.html 10720 10721 * dom/Clipboard.cpp: 10722 (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none". 10723 (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value. 10724 (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value. 10725 10726 2010-01-14 Kent Hansen <kent.hansen (a] nokia.com> 10727 10728 Reviewed by Darin Adler. 10729 10730 Infinite recursion in RuntimeObjectImp::getOwnPropertyNames() 10731 https://bugs.webkit.org/show_bug.cgi?id=33371 10732 10733 RuntimeObjectImp should not reimplement getPropertyNames(); 10734 move the implementation to getOwnPropertyNames(). 10735 10736 * bridge/runtime_object.cpp: 10737 (JSC::RuntimeObjectImp::getOwnPropertyNames): 10738 * bridge/runtime_object.h: 10739 10740 2010-01-14 Kwang Yul Seo <skyul (a] company100.net> 10741 10742 Reviewed by Alexey Proskuryakov. 10743 10744 Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp 10745 https://bugs.webkit.org/show_bug.cgi?id=33665 10746 10747 TransformSource is available only when ENABLE(XSLT) guard is true. 10748 10749 * dom/TransformSourceLibxslt.cpp: 10750 10751 2010-01-14 Adam Roben <aroben (a] apple.com> 10752 10753 Treat all synchronous loads equally in FrameLoader::loadSubframe 10754 10755 Only loads of the empty URL or about:blank were being treated as 10756 synchronous loads. But other loads can be synchronous (e.g., when we 10757 receive a null ResourceRequest from requestFromDelegate or when a 10758 policy decision of "ignore" is made). We now treat those loads the 10759 same way we treated empty URLs and about:blank. 10760 10761 Fixes <rdar://problem/7533333> <http://webkit.org/b/33533> 10762 window.onload never fires if page contains an <iframe> with a bad 10763 scheme or whose load is cancelled by returning null from resource load 10764 delegate's willSendRequest 10765 10766 Tests: fast/loader/onload-bad-scheme-for-frame.html 10767 fast/loader/onload-policy-ignore-for-frame.html 10768 fast/loader/onload-willSendRequest-null-for-frame.html 10769 10770 Reviewed by Brady Eidson. 10771 10772 * loader/FrameLoader.cpp: 10773 (WebCore::FrameLoader::loadSubframe): 10774 - Detect synchronous loads by checking the subframe's loader's 10775 state, rather than by checking its URL 10776 - Removed unnecessary call to completed(), since checkCompleted() 10777 will call completed() if needed (the call to completed() was added 10778 first and wasn't removed when the call to checkCompleted() was 10779 added in r8316) 10780 - Added more comments about the strange thing this function does 10781 with the subframe's loader 10782 10783 2010-01-14 Diego Gonzalez <diego.gonzalez (a] openbossa.org> 10784 10785 Reviewed by Kenneth Christiansen. 10786 10787 [Qt] Missing fileSystemPath() method in Qt KURL implementation 10788 https://bugs.webkit.org/show_bug.cgi?id=33614 10789 10790 No new tests. 10791 10792 * platform/qt/KURLQt.cpp: 10793 (WebCore::KURL::fileSystemPath): 10794 10795 2010-01-13 Alexey Proskuryakov <ap (a] apple.com> 10796 10797 Reviewed by Brady Eidson. 10798 10799 https://bugs.webkit.org/show_bug.cgi?id=33652 10800 REGRESSION: Frames stop appearing after browsing for a while 10801 10802 <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs 10803 10804 I do not know how not creating renderers for frames could make iBench slower, but it did. 10805 10806 Test: fast/frames/cached-frame-counter.html 10807 10808 * history/CachedFrame.cpp: 10809 (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page, 10810 so decrement frame count here. 10811 (WebCore::CachedFrame::open): Increase frame count when a frame is restored. 10812 10813 * history/CachedFrame.h: Remove unneeded forward declarations. 10814 10815 * history/CachedPage.h: Ditto. 10816 10817 * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is 10818 zero prior to restoring a page from b/f cache. 10819 10820 * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to 10821 check that frame count stored in Page matches the number of frames in frame tree. 10822 10823 * page/Page.h: 10824 (WebCore::Page::decrementFrameCount): Assert that frame count is positive. 10825 (WebCore::Page::frameCount): Call checkFrameCountConsistency(). 10826 10827 2010-01-14 Steve Falkenburg <sfalken (a] apple.com> 10828 10829 Windows build fixes. 10830 Add forward declarations and additional includes of windows.h. 10831 10832 * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp. 10833 * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include. 10834 * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h. 10835 * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here. 10836 (WebCore::SharedCursor::~SharedCursor): Moved here. 10837 * platform/win/EventLoopWin.cpp: Add include of windows.h. 10838 * platform/win/SystemInfo.cpp: Add include of windows.h. 10839 10840 2010-01-14 Nate Chapin <japhet (a] chromium.org> 10841 10842 Reviewed by Dimitri Glazkov. 10843 10844 Switch the custom V8 bindings to use class toNative() functions. 10845 10846 Refactoring, so no new tests. 10847 10848 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 10849 * bindings/v8/custom/V8AttrCustom.cpp: 10850 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 10851 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 10852 * bindings/v8/custom/V8ClipboardCustom.cpp: 10853 * bindings/v8/custom/V8CoordinatesCustom.cpp: 10854 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 10855 * bindings/v8/custom/V8DOMWindowCustom.cpp: 10856 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 10857 * bindings/v8/custom/V8DatabaseCustom.cpp: 10858 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 10859 * bindings/v8/custom/V8DocumentCustom.cpp: 10860 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 10861 * bindings/v8/custom/V8ElementCustom.cpp: 10862 * bindings/v8/custom/V8EventCustom.cpp: 10863 * bindings/v8/custom/V8GeolocationCustom.cpp: 10864 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 10865 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 10866 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 10867 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 10868 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 10869 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 10870 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 10871 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 10872 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 10873 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 10874 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 10875 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 10876 * bindings/v8/custom/V8HistoryCustom.cpp: 10877 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 10878 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 10879 * bindings/v8/custom/V8LocationCustom.cpp: 10880 * bindings/v8/custom/V8MessageEventCustom.cpp: 10881 * bindings/v8/custom/V8MessagePortCustom.cpp: 10882 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 10883 * bindings/v8/custom/V8NodeCustom.cpp: 10884 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 10885 * bindings/v8/custom/V8NodeListCustom.cpp: 10886 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 10887 * bindings/v8/custom/V8PopStateEventCustom.cpp: 10888 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 10889 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 10890 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 10891 * bindings/v8/custom/V8SVGLengthCustom.cpp: 10892 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 10893 * bindings/v8/custom/V8StorageCustom.cpp: 10894 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 10895 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 10896 * bindings/v8/custom/V8WebGLArrayCustom.h: 10897 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 10898 * bindings/v8/custom/V8WebSocketCustom.cpp: 10899 * bindings/v8/custom/V8WorkerContextCustom.cpp: 10900 * bindings/v8/custom/V8WorkerCustom.cpp: 10901 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 10902 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 10903 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 10904 10905 2010-01-14 Martin Robinson <martin.james.robinson (a] gmail.com> 10906 10907 Reviewed by Xan Lopez. 10908 10909 [GTK] Enable DOM clipboard and drag-and-drop access 10910 https://bugs.webkit.org/show_bug.cgi?id=30623 10911 10912 Add DataObjectGtk, a container for pasteboard and drag-and-drop data. 10913 10914 No new tests, because functionality has not changed. 10915 10916 * GNUmakefile.am: 10917 * platform/gtk/DataObjectGtk.cpp: Added. 10918 (WebCore::DataObjectGtk::text): 10919 (WebCore::DataObjectGtk::markup): 10920 (WebCore::DataObjectGtk::setText): 10921 (WebCore::DataObjectGtk::setMarkup): 10922 (WebCore::DataObjectGtk::files): 10923 (WebCore::DataObjectGtk::url): 10924 (WebCore::DataObjectGtk::urlLabel): 10925 (WebCore::DataObjectGtk::hasURL): 10926 (WebCore::DataObjectGtk::clear): 10927 (WebCore::DataObjectGtk::forClipboard): 10928 * platform/gtk/DataObjectGtk.h: Added. 10929 (WebCore::DataObjectGtk::create): 10930 (WebCore::DataObjectGtk::uriList): 10931 (WebCore::DataObjectGtk::image): 10932 (WebCore::DataObjectGtk::setRange): 10933 (WebCore::DataObjectGtk::setURIList): 10934 (WebCore::DataObjectGtk::setImage): 10935 (WebCore::DataObjectGtk::setDragContext): 10936 (WebCore::DataObjectGtk::hasText): 10937 (WebCore::DataObjectGtk::hasMarkup): 10938 (WebCore::DataObjectGtk::hasURIList): 10939 (WebCore::DataObjectGtk::hasImage): 10940 (WebCore::DataObjectGtk::dragContext): 10941 10942 2010-01-14 Ilya Tikhonovsky <loislo (a] chromium.org> 10943 10944 Reviewed by Pavel Feldman. 10945 10946 WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470. 10947 https://bugs.webkit.org/show_bug.cgi?id=33666 10948 10949 * inspector/front-end/inspector.css: 10950 10951 2010-01-14 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 10952 10953 [Qt] Unreviewed fix of builds with the --no-svg switch. 10954 10955 * WebCore.pri: 10956 10957 2010-01-14 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 10958 10959 [Qt] Unreviewed build fix on Windows. 10960 10961 * platform/graphics/transforms/TransformationMatrix.h: 10962 10963 2010-01-14 Andreas Kling <andreas.kling (a] nokia.com> 10964 10965 Reviewed by Kenneth Rohde Christiansen. 10966 10967 [Qt] Enable scrolling optimization for pages with embedded widgets 10968 10969 https://bugs.webkit.org/show_bug.cgi?id=33373 10970 10971 Added a basic manual test for scrolling of embedded QWidgets. 10972 10973 * manual-tests/qt/qtplugin-scrolling.html: Added. 10974 * platform/ScrollView.cpp: 10975 (WebCore::ScrollView::scrollContents): 10976 (WebCore::ScrollView::setParent): 10977 * platform/ScrollView.h: 10978 * platform/qt/ScrollViewQt.cpp: 10979 (WebCore::ScrollView::platformInit): 10980 (WebCore::ScrollView::platformAddChild): 10981 (WebCore::ScrollView::platformRemoveChild): 10982 * plugins/qt/PluginViewQt.cpp: 10983 (WebCore::PluginView::updatePluginWidget): 10984 (WebCore::PluginView::invalidateRect): 10985 10986 2009-12-09 Philippe Normand <pnormand (a] igalia.com> 10987 10988 Reviewed by Xan Lopez. 10989 10990 [GStreamer] Check return values of gst_element_set_state() 10991 https://bugs.webkit.org/show_bug.cgi?id=30000 10992 10993 Check for state change failure when going from READY/NULL to 10994 PAUSED or PLAYING. Also refactored the common code of play() and 10995 pause() to a new private method of the player. 10996 10997 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 10998 (WebCore::MediaPlayerPrivate::changePipelineState): 10999 (WebCore::MediaPlayerPrivate::play): 11000 (WebCore::MediaPlayerPrivate::pause): 11001 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 11002 11003 2010-01-14 Eric Seidel <eric (a] webkit.org> 11004 11005 No review, rolling out r53248. 11006 http://trac.webkit.org/changeset/53248 11007 https://bugs.webkit.org/show_bug.cgi?id=32641 11008 11009 Caused 2 tests to crash on various bots: 11010 fast/dom/HTMLSelectElement/listbox-select-reset.html and 11011 fast/forms/listbox-typeahead-scroll.html 11012 11013 * dom/SelectElement.cpp: 11014 (WebCore::SelectElement::recalcStyle): 11015 (WebCore::SelectElement::setRecalcListItems): 11016 (WebCore::SelectElement::recalcListItems): 11017 (WebCore::SelectElement::restoreFormControlState): 11018 (WebCore::SelectElement::reset): 11019 (WebCore::SelectElement::typeAheadFind): 11020 * dom/SelectElement.h: 11021 * html/HTMLOptionElement.cpp: 11022 (WebCore::HTMLOptionElement::selected): 11023 (WebCore::HTMLOptionElement::insertedIntoTree): 11024 * html/HTMLSelectElement.cpp: 11025 (WebCore::HTMLSelectElement::recalcStyle): 11026 * html/HTMLSelectElement.h: 11027 * wml/WMLSelectElement.cpp: 11028 (WebCore::WMLSelectElement::recalcStyle): 11029 11030 2010-01-14 Ben Murdoch <benm (a] google.com> 11031 11032 Reviewed by Darin Adler. 11033 11034 [Android] [Qt] The document.createEvent API does not support touch events. 11035 https://bugs.webkit.org/show_bug.cgi?id=33605 11036 11037 Test: fast/events/touch/create-touch-event.html 11038 11039 * dom/Document.cpp: 11040 (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied. 11041 11042 2010-01-14 James Robinson <jamesr (a] chromium.org> 11043 11044 Reviewed by Alexey Proskuryakov. 11045 11046 Ensures that the 'selected' attribute of an <option> is correct 11047 https://bugs.webkit.org/show_bug.cgi?id=32641 11048 11049 Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed, 11050 so the attribute is up to date more often. Also gets rid of most of the recalcStyle() side effects. 11051 11052 Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed. 11053 11054 Tests: fast/forms/HTMLOptionElement_selected2.html 11055 fast/forms/HTMLOptionElement_selected3.html 11056 11057 * dom/SelectElement.cpp: 11058 (WebCore::SelectElement::setOptionsChangedOnRenderer): 11059 (WebCore::SelectElement::setRecalcListItems): 11060 (WebCore::SelectElement::recalcListItems): 11061 (WebCore::SelectElement::restoreFormControlState): 11062 (WebCore::SelectElement::reset): 11063 (WebCore::SelectElement::typeAheadFind): 11064 * dom/SelectElement.h: 11065 * html/HTMLOptionElement.cpp: 11066 (WebCore::HTMLOptionElement::selected): 11067 (WebCore::HTMLOptionElement::insertedIntoTree): 11068 * html/HTMLSelectElement.cpp: 11069 (WebCore::HTMLSelectElement::recalcStyle): 11070 (WebCore::HTMLSelectElement::recalcListItemsIfNeeded): 11071 * html/HTMLSelectElement.h: 11072 * wml/WMLSelectElement.cpp: 11073 (WebCore::WMLSelectElement::recalcStyle): 11074 11075 2010-01-14 Zoltan Horvath <zoltan (a] webkit.org> 11076 11077 Reviewed by Oliver Hunt. 11078 11079 [Qt] Allow custom memory allocation control for TransparencyLayer class 11080 https://bugs.webkit.org/show_bug.cgi?id=33585 11081 11082 Inherits the following class from FastAllocBase because it is 11083 instantiated by 'new': 11084 11085 class name - instantiated at: WebCore/'location' 11086 class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906 11087 11088 * platform/graphics/qt/GraphicsContextQt.cpp: 11089 11090 2010-01-14 Zoltan Horvath <zoltan (a] webkit.org> 11091 11092 Reviewed by Oliver Hunt. 11093 11094 [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class 11095 https://bugs.webkit.org/show_bug.cgi?id=33583 11096 11097 Inherits the following class from Noncopyable because it is 11098 instantiated by 'new' and no need to be copyable: 11099 11100 class name - instantiated at: WebCore/'location' 11101 class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70 11102 11103 * platform/graphics/qt/FontPlatformData.h: 11104 11105 2010-01-12 Philippe Normand <pnormand (a] igalia.com> 11106 11107 Reviewed by Xan Lopez. 11108 11109 [GTK] un-needed seeks 11110 https://bugs.webkit.org/show_bug.cgi?id=33532 11111 11112 Avoid un-needed seeks. Don't seek at current playback position and 11113 don't update the rate if it is already set to target value. 11114 11115 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 11116 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 11117 (WebCore::MediaPlayerPrivate::seek): 11118 (WebCore::MediaPlayerPrivate::setRate): 11119 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 11120 11121 2010-01-14 Eric Seidel <eric (a] webkit.org> 11122 11123 No review. Tiger build fix after http://trac.webkit.org/changeset/53238. 11124 11125 Need to implement WebGLContextAttributes 11126 https://bugs.webkit.org/show_bug.cgi?id=31169 11127 11128 Fix a build break when ENABLE(3D_CANVAS) is disabled. 11129 11130 * html/HTMLCanvasElement.cpp: 11131 (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled. 11132 11133 2010-01-13 Pavel Feldman <pfeldman (a] chromium.org> 11134 11135 Reviewed by Timothy Hatcher. 11136 11137 Web Inspector: use hidden text area for clipboard in order to 11138 workaround windows setData bug. 11139 11140 https://bugs.webkit.org/show_bug.cgi?id=33633 11141 11142 * inspector/front-end/TextEditor.js: 11143 (WebInspector.TextEditor): 11144 (WebInspector.TextEditor.prototype._copy): 11145 * inspector/front-end/inspector.css: 11146 11147 2010-01-13 Mads Ager <ager (a] chromium.org> 11148 11149 Reviewed by Dimitri Glazkov. 11150 11151 [V8] Slow named property lookup on DOMWindow because of missing fast case 11152 https://bugs.webkit.org/show_bug.cgi?id=33584 11153 11154 Add fast case checks to V8 named property getter on DOMWindow 11155 objects. If the property is not in the DOM there is no reason to 11156 search the DOM for all occurrences. 11157 11158 Covered by layout tests. 11159 11160 * bindings/v8/custom/V8DOMWindowCustom.cpp: 11161 (WebCore::V8DOMWindow::namedPropertyGetter): 11162 11163 2010-01-13 Gavin Barraclough <barraclough (a] apple.com> 11164 11165 Reviewed by Oliver Hunt. 11166 11167 <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression 11168 11169 Adding isolated worlds support to the JSC bindings introduced a regression due to 11170 additional map lookups. Add a mechanism to quickly detect that a lookup is for the 11171 'normal' world, and add fast paths to a couple of methods to check the normal world 11172 first. 11173 11174 * bindings/js/JSDOMBinding.cpp: 11175 (WebCore::Document::getWrapperCache): 11176 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 11177 (WebCore::forgetDOMObject): 11178 * bindings/js/JSDOMBinding.h: 11179 (WebCore::DOMWrapperWorld::isNormal): 11180 (WebCore::WebCoreJSClientData::WebCoreJSClientData): 11181 * bindings/js/ScriptController.cpp: 11182 (WebCore::IsolatedWorld::IsolatedWorld): 11183 * dom/Document.cpp: 11184 (WebCore::Document::Document): 11185 (WebCore::Document::createWrapperCache): 11186 * dom/Document.h: 11187 11188 2010-01-13 Kenneth Russell <kbr (a] google.com> 11189 11190 Reviewed by Oliver Hunt. 11191 11192 Need to implement WebGLContextAttributes 11193 https://bugs.webkit.org/show_bug.cgi?id=31169 11194 11195 Added the WebGLContextAttributes class and custom JavaScript 11196 bindings to accept a native object as the second argument to 11197 getContext("experimental-webgl") per the WebGL specification. 11198 Added GraphicsContext3D::Attributes struct to isolate DOM and 11199 graphics layers. Added getContextAttributes() to 11200 WebGLRenderingContext. Added test case ensuring that context 11201 attributes can be passed down and returned. Tested in Safari and 11202 Chromium. The attributes will be hooked up to the creation of the 11203 OpenGL context in bug 33416. 11204 11205 Test: fast/canvas/webgl/context-attributes.html 11206 11207 * DerivedSources.make: 11208 * WebCore.gypi: 11209 * WebCore.xcodeproj/project.pbxproj: 11210 * bindings/js/JSHTMLCanvasElementCustom.cpp: 11211 (WebCore::JSHTMLCanvasElement::getContext): 11212 * bindings/scripts/CodeGeneratorV8.pm: 11213 * bindings/scripts/IDLParser.pm: 11214 * bindings/v8/DOMData.cpp: 11215 * bindings/v8/DerivedSourcesAllInOne.cpp: 11216 * bindings/v8/V8DOMWrapper.cpp: 11217 * bindings/v8/V8Index.cpp: 11218 * bindings/v8/V8Index.h: 11219 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 11220 (WebCore::V8HTMLCanvasElement::getContextCallback): 11221 * html/HTMLCanvasElement.cpp: 11222 (WebCore::HTMLCanvasElement::getContext): 11223 * html/HTMLCanvasElement.h: 11224 * html/HTMLCanvasElement.idl: 11225 * html/canvas/CanvasContextAttributes.cpp: Added. 11226 (WebCore::CanvasContextAttributes::CanvasContextAttributes): 11227 (WebCore::CanvasContextAttributes::~CanvasContextAttributes): 11228 * html/canvas/CanvasContextAttributes.h: Added. 11229 * html/canvas/WebGLContextAttributes.cpp: Added. 11230 (WebCore::WebGLContextAttributes::create): 11231 (WebCore::WebGLContextAttributes::WebGLContextAttributes): 11232 (WebCore::WebGLContextAttributes::~WebGLContextAttributes): 11233 (WebCore::WebGLContextAttributes::alpha): 11234 (WebCore::WebGLContextAttributes::setAlpha): 11235 (WebCore::WebGLContextAttributes::depth): 11236 (WebCore::WebGLContextAttributes::setDepth): 11237 (WebCore::WebGLContextAttributes::stencil): 11238 (WebCore::WebGLContextAttributes::setStencil): 11239 (WebCore::WebGLContextAttributes::antialias): 11240 (WebCore::WebGLContextAttributes::setAntialias): 11241 (WebCore::WebGLContextAttributes::premultipliedAlpha): 11242 (WebCore::WebGLContextAttributes::setPremultipliedAlpha): 11243 (WebCore::WebGLContextAttributes::attributes): 11244 * html/canvas/WebGLContextAttributes.h: Added. 11245 * html/canvas/WebGLContextAttributes.idl: Added. 11246 * html/canvas/WebGLRenderingContext.cpp: 11247 (WebCore::WebGLRenderingContext::create): 11248 (WebCore::WebGLRenderingContext::getContextAttributes): 11249 * html/canvas/WebGLRenderingContext.h: 11250 * html/canvas/WebGLRenderingContext.idl: 11251 * platform/graphics/GraphicsContext3D.h: 11252 * platform/graphics/mac/GraphicsContext3DMac.cpp: 11253 (WebCore::GraphicsContext3D::create): 11254 (WebCore::GraphicsContext3D::GraphicsContext3D): 11255 (WebCore::GraphicsContext3D::getContextAttributes): 11256 11257 2010-01-13 Simon Fraser <simon.fraser (a] apple.com> 11258 11259 Fix Windows build. 11260 11261 * platform/graphics/cg/GraphicsContextCG.cpp: 11262 11263 2010-01-13 Simon Fraser <simon.fraser (a] apple.com> 11264 11265 Reviewed by Darin Adler. 11266 11267 Transition followed by animation fails to run the animation sometimes 11268 https://bugs.webkit.org/show_bug.cgi?id=33563 11269 11270 If a transition was closely followed by an animation, it was possible for the cleanup 11271 after the end of the transition to kill the animation. 11272 11273 Fix this by including the keyframes name (or empty string for transitions) in the labels 11274 used to identify CAAnimations on layers. 11275 11276 No test because this was a subtle timing issue that is hard to reproduce in a layout test. 11277 11278 * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes. 11279 11280 * platform/graphics/mac/GraphicsLayerCA.mm: 11281 (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now. 11282 (WebCore::moveAllAnimationsForProperty): Pass the keyframes name. 11283 (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related 11284 CAAnimations, using the list of running animations to get the keyframe names for the latter. 11285 11286 (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty 11287 and takes the keyframes name. 11288 11289 (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions). 11290 (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down. 11291 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down. 11292 (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down. 11293 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down. 11294 11295 2010-01-13 Simon Fraser <simon.fraser (a] apple.com> 11296 11297 Reviewed by Dan Bernstein. 11298 11299 Fix shadow drawing to do the correct computations using the base coordinate space 11300 https://bugs.webkit.org/show_bug.cgi?id=33629 11301 11302 Shadows draw using the CGContext base CTM, so we need to convert the shadow offet 11303 and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM(). 11304 11305 Test: compositing/shadows/shadow-drawing.html 11306 11307 * platform/graphics/cg/GraphicsContextCG.cpp: 11308 (WebCore::GraphicsContext::setPlatformShadow): 11309 11310 2010-01-13 Nikolas Zimmermann <nzimmermann (a] rim.com> 11311 11312 Reviewed by Oliver Hunt. 11313 11314 SVGClipPathElement shouldn't resolve style manually 11315 https://bugs.webkit.org/show_bug.cgi?id=33647 11316 11317 Build renderers for SVGClipPathElement, so we can query the style from the renderer 11318 instead of re-resolving style on every clip path resource invalidation. 11319 11320 * svg/SVGClipPathElement.cpp: 11321 (WebCore::SVGClipPathElement::createRenderer): 11322 (WebCore::SVGClipPathElement::canvasResource): 11323 * svg/SVGClipPathElement.h: 11324 (WebCore::SVGClipPathElement::isValid): 11325 11326 2010-01-13 Kelly Norton <knorton (a] google.com> 11327 11328 Reviewed by Timothy Hatcher. 11329 11330 Web Inspector does not update the DOM tree when attributes change. 11331 https://bugs.webkit.org/show_bug.cgi?id=20162 11332 11333 * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute 11334 and removeAttribute and removes the existing call sites. This makes it possible to 11335 see attribute modifications. 11336 (WebCore::Element::setAttribute): 11337 (WebCore::Element::dispatchAttrRemovalEvent): 11338 (WebCore::Element::dispatchAttrAdditionEvent): 11339 (WebCore::Element::removeAttribute): 11340 * inspector/front-end/DOMAgent.js: 11341 (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes. 11342 (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style. 11343 (WebInspector.DOMAgent.prototype._attributesUpdated): Added. 11344 * inspector/front-end/ElementsPanel.js: 11345 (WebInspector.ElementsPanel.prototype._attributesUpdated): Added. 11346 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site. 11347 * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle. 11348 (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site. 11349 (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto. 11350 (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto. 11351 11352 2010-01-13 Carol Szabo <carol.szabo (a] nokia.com> 11353 11354 Reviewed by Darin Adler. 11355 11356 CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within. 11357 https://bugs.webkit.org/show_bug.cgi?id=33625 11358 11359 No new tests because the fix should affect strictly performance. 11360 11361 * rendering/CounterNode.cpp: 11362 (WebCore::CounterNode::nextInPreOrderAfterChildren): 11363 11364 2010-01-13 Nikolas Zimmermann <nzimmermann (a] rim.com> 11365 11366 Reviewed by Oliver Hunt. 11367 11368 Window size changes are not propagated down the render tree 11369 https://bugs.webkit.org/show_bug.cgi?id=33643 11370 11371 Test: svg/custom/relative-sized-content.xhtml 11372 11373 * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts. 11374 (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method. 11375 (WebCore::RenderSVGContainer::paint): Fix indention. 11376 * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage. 11377 (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper. 11378 * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren. 11379 (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes. 11380 * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit. 11381 (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes. 11382 * rendering/SVGRenderSupport.h: 11383 * svg/SVGGElement.h: Remove dead code. 11384 * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations. 11385 * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended. 11386 (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport. 11387 * svg/SVGSymbolElement.h: Remove dead code. 11388 * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here. 11389 (WebCore::SVGUseElement::hasRelativeValues): 11390 * svg/SVGUseElement.h: 11391 11392 2010-01-13 Fumitoshi Ukai <ukai (a] chromium.org> 11393 11394 Reviewed by David Levin. 11395 11396 Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder 11397 https://bugs.webkit.org/show_bug.cgi?id=33581 11398 11399 unref m_workerContext when websocket is disconnected, so that avoid 11400 keeping reference to workerContext longer than worker thread runs. 11401 11402 * websockets/WorkerThreadableWebSocketChannel.cpp: 11403 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect): 11404 (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion): 11405 11406 2010-01-12 Jon Honeycutt <jhoneycutt (a] apple.com> 11407 11408 MSAA: selected, selectable, extended selectable, and multiple 11409 selectable states are not reported 11410 11411 https://bugs.webkit.org/show_bug.cgi?id=33574 11412 <rdar://problem/7536826> 11413 11414 Reviewed by Darin Adler. 11415 11416 * accessibility/AccessibilityObject.h: 11417 (WebCore::AccessibilityObject::isMultiSelectable): 11418 Use the correct function name - the function name overriden by 11419 and used in AccessiblityRenderObject. 11420 11421 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 11422 (setAtkStateSetFromCoreObject): 11423 Update for function rename. 11424 (webkit_accessible_selection_select_all_selection): 11425 Ditto. 11426 11427 2010-01-13 Darin Adler <darin (a] apple.com> 11428 11429 Reviewed by Dan Bernstein. 11430 11431 Move more of the selection and caret painting code from Frame to SelectionController. 11432 https://bugs.webkit.org/show_bug.cgi?id=33619 11433 11434 Helpful preparation step for a bug fix I am working on. 11435 11436 * editing/SelectionController.cpp: 11437 (WebCore::SelectionController::SelectionController): Initialize new data members. 11438 Note that m_caretVisible starts as true for the drag caret controller to match the 11439 old behavior for painting. 11440 (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged 11441 in its new name and location. 11442 (WebCore::SelectionController::paintCaret): Added checks that were formerly done 11443 at the Frame level. Tweaked formatting and changed to use early return as well. 11444 (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call 11445 moved into this class. 11446 (WebCore::SelectionController::updateAppearance): Moved the 11447 Frame::selectionLayoutChanged function here. Had to rename it because the word 11448 "layout" is usedfor other purposes in this function. 11449 (WebCore::SelectionController::setCaretVisible): Moved here from Frame. 11450 (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto. 11451 (WebCore::SelectionController::caretBlinkTimerFired): Ditto. 11452 11453 * editing/SelectionController.h: Added new functions. Moved conditional function 11454 out of class definition for clarity. Removed unneeded == and != operators. 11455 Removed unneeded use of bit fields. 11456 11457 * page/Frame.cpp: Moved functions to SelectionController. 11458 (WebCore::Frame::Frame): Removed initialization of moved data members. 11459 11460 * page/Frame.h: Removed things moved to SelectionController as well as unneeded 11461 forward declaration of Timer class template. 11462 11463 * page/FrameView.cpp: 11464 (WebCore::FrameView::layout): Updated for new location of function. 11465 11466 * rendering/RenderBlock.cpp: 11467 (WebCore::RenderBlock::paintCaret): Ditto. 11468 11469 2010-01-13 Simon Fraser <simon.fraser (a] apple.com> 11470 11471 Reviewed by Darin Adler. 11472 11473 <rdar://problem/7532544> 11474 11475 Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will 11476 be used for a shadow drawing fix. 11477 11478 * WebCore.base.exp: 11479 * platform/mac/WebCoreSystemInterface.h: 11480 * platform/mac/WebCoreSystemInterface.mm: 11481 11482 2010-01-13 Simon Fraser <simon.fraser (a] apple.com> 11483 11484 Reviewed by Dan Bernstein. 11485 11486 Fix shadow drawing to do the correct computations using the base coordinate space 11487 https://bugs.webkit.org/show_bug.cgi?id=33629 11488 11489 Step 1: do some renames in setPlatformShadow(): 11490 size -> offset 11491 width -> xOffset 11492 height -> yOffset 11493 11494 * platform/graphics/cg/GraphicsContextCG.cpp: 11495 (WebCore::GraphicsContext::setPlatformShadow): 11496 11497 2010-01-13 Jeremy Orlow <jorlow (a] chromium.org> 11498 11499 Reviewed by Darin Fisher. 11500 11501 [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient 11502 https://bugs.webkit.org/show_bug.cgi?id=33492 11503 11504 * page/Page.cpp: 11505 (WebCore::Page::sessionStorage): 11506 * storage/StorageNamespace.cpp: 11507 (WebCore::StorageNamespace::sessionStorageNamespace): 11508 * storage/StorageNamespace.h: 11509 (WebCore::StorageNamespace::~StorageNamespace): 11510 11511 2010-01-13 Dirk Schulze <krit (a] webkit.org> 11512 11513 Reviewed by Beth Dakin. 11514 11515 Repaint bug dragging a star shape with a dash stroke 11516 https://bugs.webkit.org/show_bug.cgi?id=33406 11517 11518 Calculation of repaint rects for RenderPath objects was wrong. We must take the 11519 union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox 11520 must not contain the objectBoundingBox. This is mainly visible on dash-arrays for 11521 strokes. 11522 11523 Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg 11524 11525 * rendering/RenderPath.cpp: 11526 (WebCore::RenderPath::strokeBoundingBox): 11527 11528 2010-01-13 Kevin Ollivier <kevino (a] theolliviers.com> 11529 11530 [wx] Build fix. Make the XFORM operator work on wx port. 11531 11532 * platform/graphics/transforms/TransformationMatrix.h: 11533 * wscript: 11534 11535 2010-01-13 Pavel Feldman <pfeldman (a] chromium.org> 11536 11537 Reviewed by Timothy Hatcher. 11538 11539 Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line 11540 rendering capabilities. 11541 11542 Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were 11543 too close to each other, but were unrelated). 11544 11545 https://bugs.webkit.org/show_bug.cgi?id=33618 11546 11547 * WebCore.gypi: 11548 * WebCore.vcproj/WebCore.vcproj: 11549 * inspector/front-end/SourceFrame2.js: Added. 11550 (WebInspector.SourceFrame2): 11551 (WebInspector.SourceFrame2.prototype.set text): 11552 (WebInspector.SourceFrame2.prototype.get executionLine): 11553 (WebInspector.SourceFrame2.prototype.set executionLine): 11554 (WebInspector.SourceFrame2.prototype.revealLine): 11555 (WebInspector.SourceFrame2.prototype._toggleBreakpoint): 11556 (WebInspector.SourceFrame2.prototype.resize): 11557 (WebInspector.BreakpointLineNumberDecorator): 11558 (WebInspector.BreakpointLineNumberDecorator.prototype.decorate): 11559 (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint): 11560 (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter): 11561 (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown): 11562 (WebInspector.ExecutionLineDecorator): 11563 (WebInspector.ExecutionLineDecorator.prototype.decorate): 11564 * inspector/front-end/TextEditor.js: 11565 (WebInspector.TextEditor): 11566 (WebInspector.TextEditor.prototype.get textModel): 11567 (WebInspector.TextEditor.prototype.set readOnly): 11568 (WebInspector.TextEditor.prototype.set lineNumberDecorator): 11569 (WebInspector.TextEditor.prototype.set lineDecorator): 11570 (WebInspector.TextEditor.prototype.selectionRange): 11571 (WebInspector.TextEditor.prototype._offsetToLine): 11572 (WebInspector.TextEditor.prototype._lineToOffset): 11573 (WebInspector.TextEditor.prototype.reveal): 11574 (WebInspector.TextEditor.prototype._textChanged): 11575 (WebInspector.TextEditor.prototype._updateSize): 11576 (WebInspector.TextEditor.prototype.updateCanvasSize): 11577 (WebInspector.TextEditor.prototype._repaintAll): 11578 (WebInspector.TextEditor.prototype._paintLines): 11579 (WebInspector.TextEditor.prototype._paintLinesContinuation): 11580 (WebInspector.TextEditor.prototype.paintLineNumbers): 11581 (WebInspector.TextEditor.prototype._paintCurrentLine): 11582 (WebInspector.TextEditor.prototype._mouseDown): 11583 (WebInspector.TextEditor.prototype._caretForMouseEvent): 11584 (WebInspector.TextEditor.prototype._keyDown): 11585 (WebInspector.TextEditor.prototype._handleNavigationKey): 11586 (WebInspector.TextEditor.prototype._textInput): 11587 (WebInspector.TextEditor.prototype._updateCursor): 11588 (WebInspector.TextEditor.prototype._paintSelection): 11589 (WebInspector.TextEditor.prototype._initFont): 11590 11591 2010-01-13 Nate Chapin <japhet (a] chromium.org> 11592 11593 Reviewed by Dimitri Glazkov. 11594 11595 Generate a function in the V8 bindings to convert v8 objects 11596 to native WebCore objects. 11597 11598 * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative(). 11599 * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs. 11600 (WebCore::getElementStringAttr): 11601 (WebCore::setElementStringAttr): 11602 * bindings/v8/V8Binding.h: Remove manually defined conversion helprs. 11603 * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes. 11604 (WebCore::V8SVGPODTypeWrapper::toNative): 11605 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 11606 (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): 11607 (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): 11608 (WebCore::V8WebGLRenderingContext::getUniformCallback): 11609 11610 2010-01-13 Brian Weinstein <bweinstein (a] apple.com> 11611 11612 Reviewed by Adam Roben. 11613 11614 REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed 11615 is set (differs from HTML5). 11616 Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>. 11617 11618 If no effectAllowed is set in the dragStart operation, we should default to 11619 uninitialized instead of none, so the user doesn't have to manually set the 11620 effectAllowed to enable drag and drop. 11621 11622 * dom/Clipboard.cpp: 11623 (WebCore::Clipboard::Clipboard): 11624 11625 2010-01-13 Dave Hyatt <hyatt (a] apple.com> 11626 11627 Reviewed by Dan Bernstein. 11628 11629 https://bugs.webkit.org/show_bug.cgi?id=32495 11630 11631 font-size:small with background-color causes text to get clipped. Make sure to only paint within the lineTop/lineBottom of 11632 a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 11633 11634 Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html 11635 11636 * rendering/InlineFlowBox.cpp: 11637 (WebCore::InlineFlowBox::computeVerticalOverflow): 11638 (WebCore::InlineFlowBox::paintBoxDecorations): 11639 (WebCore::InlineFlowBox::paintMask): 11640 11641 2010-01-13 Dumitru Daniliuc <dumi (a] chromium.org> 11642 11643 Reviewed by Darin Adler. 11644 11645 Refactoring DatabaseAuthorizer to use a CaseFoldingHash function 11646 for the set of whitelisted sqlite functions, and fixing some 11647 indenting issues. 11648 11649 https://bugs.webkit.org/show_bug.cgi?id=33612 11650 11651 * storage/DatabaseAuthorizer.cpp: 11652 (WebCore::DatabaseAuthorizer::allowFunction): 11653 * storage/DatabaseAuthorizer.h: 11654 11655 2010-01-13 Carol Szabo <carol.szabo (a] nokia.com> 11656 11657 Reviewed by Darin Adler. 11658 11659 RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within 11660 https://bugs.webkit.org/show_bug.cgi?id=33600 11661 11662 No new tests as this fix affects mainly performance. 11663 No test has been found yet that could evidence the bug in the layout 11664 of a page, but the fix to bug 32884 exposes this bug on some pages 11665 such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm 11666 11667 * rendering/RenderObject.cpp: 11668 (WebCore::RenderObject::nextInPreOrderAfterChildren): 11669 11670 2010-01-13 Jeremy Orlow <jorlow (a] chromium.org> 11671 11672 No reviewer. More or less a build fix. My 53180 broke some 11673 stuff on the Chromium port so I'm reverting. 11674 11675 * page/Page.cpp: 11676 (WebCore::Page::sessionStorage): 11677 * storage/StorageNamespace.cpp: 11678 (WebCore::StorageNamespace::sessionStorageNamespace): 11679 * storage/StorageNamespace.h: 11680 (WebCore::StorageNamespace::~StorageNamespace): 11681 11682 2010-01-13 Steve Block <steveblock (a] google.com> 11683 11684 Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder. 11685 https://bugs.webkit.org/show_bug.cgi?id=33586 11686 11687 Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android. 11688 11689 No new tests, refactoring only. 11690 11691 * bridge/jni/jni_runtime.cpp: Modified. 11692 (JavaMethod::signature): Modified. Use WebCore::StringBuilder. 11693 11694 2010-01-13 Kent Hansen <kent.hansen (a] nokia.com> 11695 11696 Reviewed by Timothy Hatcher. 11697 11698 Some objects in the global scope are not completed 11699 https://bugs.webkit.org/show_bug.cgi?id=19119 11700 11701 Use Object.getOwnPropertyNames instead of for-in to provide completions, since 11702 Object.getOwnPropertyNames reports both enumerable and non-enumerable properties. 11703 11704 * inspector/front-end/InjectedScript.js: 11705 (InjectedScript._getPropertyNames): 11706 (InjectedScript.getCompletions): 11707 11708 2010-01-13 Ben Murdoch <benm (a] google.com> 11709 11710 Reviewed by Simon Hausmann. 11711 11712 [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures. 11713 https://bugs.webkit.org/show_bug.cgi?id=33597 11714 11715 * bindings/js/ScriptController.cpp: 11716 (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures. 11717 11718 2010-01-13 Simon Hausmann <simon.hausmann (a] nokia.com> 11719 11720 Rubber-stamped by Tor Arne Vestb. 11721 11722 [Qt] REGRESSION(53187) Touchevent related tests fail 11723 11724 https://bugs.webkit.org/show_bug.cgi?id=33602 11725 11726 Pass the ENABLE_TOUCH_EVENTS to the IDL generators. 11727 11728 * WebCore.pri: 11729 11730 2010-01-13 Ilya Tikhonovsky <loislo (a] chromium.org> 11731 11732 Reviewed by Pavel Feldman. 11733 11734 WebInspector: Timeline panel scrolling speed can be increased. 11735 https://bugs.webkit.org/show_bug.cgi?id=33579 11736 11737 * inspector/front-end/TimelinePanel.js: 11738 (WebInspector.TimelinePanel): 11739 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 11740 (WebInspector.TimelinePanel.prototype._refresh): 11741 (WebInspector.TimelinePanel.prototype._refreshRecords): 11742 11743 2010-01-13 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 11744 11745 Reviewed by Simon Hausmann. 11746 11747 [Qt] Split the build process in two different .pro files. 11748 This allows qmake to be run once all source files are available. 11749 11750 * DerivedSources.pro: Added. 11751 * WebCore.pri: Added. Contains common logic between source generation and compilation. 11752 * WebCore.pro: Moved source generation to DerivedSources.pro. 11753 11754 2010-01-13 Pavel Feldman <pfeldman (a] chromium.org> 11755 11756 Reviewed by Timothy Hatcher. 11757 11758 Web Inspector: Scrolling editor to the 20Kth line is not smooth. 11759 11760 https://bugs.webkit.org/show_bug.cgi?id=33587 11761 11762 * inspector/front-end/TextEditor.js: 11763 (WebInspector.TextEditor): 11764 (WebInspector.TextEditor.prototype._textChanged): 11765 (WebInspector.TextEditor.prototype._highlightChanged): 11766 (WebInspector.TextEditor.prototype._paintLinesContinuation): 11767 * inspector/front-end/TextEditorHighlighter.js: 11768 (WebInspector.TextEditorHighlighter): 11769 (WebInspector.TextEditorHighlighter.prototype.highlight): 11770 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): 11771 (WebInspector.TextEditorHighlighter.prototype.updateHighlight): 11772 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 11773 (WebInspector.TextEditorHighlighter.prototype._lex): 11774 * inspector/front-end/TextEditorModel.js: 11775 (WebInspector.TextEditorModel.prototype._setLine): 11776 (WebInspector.TextEditorModel.prototype.setAttribute): 11777 (WebInspector.TextEditorModel.prototype.getAttribute): 11778 (WebInspector.TextEditorModel.prototype.removeAttribute): 11779 11780 2010-01-13 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 11781 11782 Reviewed by Simon Hausmann. 11783 11784 [Qt] Fix the build on Windows. 11785 11786 PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM. 11787 11788 * WebCore.pro: Build TransformationMatrixWin.cpp. 11789 * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM. 11790 11791 2010-01-13 Miikka Heikkinen <miikka.heikkinen (a] digia.com> 11792 11793 Reviewed by Simon Hausmann. 11794 11795 [Qt/Symbian] Added missing vendor information to qtwebkit.sis 11796 11797 This information is necessary to Symbian sign the package. 11798 11799 http://bugreports.qt.nokia.com/browse/QTBUG-7290 11800 11801 * WebCore.pro: 11802 11803 2010-01-11 Jeremy Orlow <jorlow (a] chromium.org> 11804 11805 Reviewed by Darin Fisher. 11806 11807 [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient 11808 https://bugs.webkit.org/show_bug.cgi?id=33492 11809 11810 * page/Page.cpp: 11811 (WebCore::Page::sessionStorage): 11812 * storage/StorageNamespace.cpp: 11813 (WebCore::StorageNamespace::sessionStorageNamespace): 11814 * storage/StorageNamespace.h: 11815 (WebCore::StorageNamespace::~StorageNamespace): 11816 11817 2010-01-12 Dumitru Daniliuc <dumi (a] chromium.org> 11818 11819 Reviewed by Adam Barth. 11820 11821 Adding a list of whitelisted sqlite functions that users are 11822 allowed to use. 11823 11824 https://bugs.webkit.org/show_bug.cgi?id=33549 11825 11826 * platform/sql/SQLiteDatabase.cpp: 11827 (WebCore::SQLiteDatabase::authorizerFunction): 11828 * storage/DatabaseAuthorizer.cpp: 11829 (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): 11830 (WebCore::DatabaseAuthorizer::addWhitelistedFunctions): 11831 (WebCore::DatabaseAuthorizer::allowFunction): 11832 * storage/DatabaseAuthorizer.h: 11833 11834 2010-01-12 Fumitoshi Ukai <ukai (a] chromium.org> 11835 11836 Reviewed by Simon Hausmann. 11837 11838 [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed 11839 https://bugs.webkit.org/show_bug.cgi?id=33077 11840 11841 * WebCore.pro: 11842 * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp. 11843 * platform/network/qt/SocketStreamHandleSoup.cpp: Removed. 11844 11845 2010-01-12 Simon Fraser <simon.fraser (a] apple.com> 11846 11847 Reviewed by Dan Bernstein. 11848 11849 position:fixed and transform on same element breaks fixed behavior 11850 https://bugs.webkit.org/show_bug.cgi?id=31283 11851 11852 Fix interactions of transforms and fixed positioning, namely that fixed position 11853 elements with a transformed ancestor are positioned relative to that ancestor, 11854 and an element with both a transform and fixed position respects that positioning. 11855 11856 Test: transforms/2d/transform-fixed-container.html 11857 11858 * rendering/RenderBox.cpp: 11859 (WebCore::RenderBox::mapLocalToContainer): 11860 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 11861 Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors, 11862 but only if the transformed element is not itself fixed. 11863 11864 * rendering/RenderLayer.cpp: 11865 (WebCore::RenderLayer::convertToLayerCoords): 11866 Fix this method to behave correctly for fixed position layers whose container is not 11867 the root, but some other (probably transformed) ancestor. In that case, we can fall into 11868 the "position: absolute" code path. 11869 11870 2010-01-12 Tony Chang <tony (a] chromium.org> 11871 11872 Reviewed by Adam Barth. 11873 11874 Fix an assert being triggered by how the Chromium port sets the 11875 replacing flag for error pages. This was caused by r53143. 11876 11877 Covered by existing Chromium UI tests. 11878 11879 * loader/FrameLoader.cpp: 11880 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 11881 11882 2010-01-12 Kent Hansen <kent.hansen (a] nokia.com> 11883 11884 Reviewed by Geoffrey Garen. 11885 11886 [ES5] Implement Object.getOwnPropertyNames 11887 https://bugs.webkit.org/show_bug.cgi?id=32242 11888 11889 Add new argument to reimplementations of getPropertyNames() 11890 and getOwnPropertyNames(), and update the JS bindings generator. 11891 11892 Test: fast/js/Object-getOwnPropertyNames.html 11893 11894 * bindings/js/JSDOMWindowCustom.cpp: 11895 (WebCore::JSDOMWindow::getPropertyNames): 11896 (WebCore::JSDOMWindow::getOwnPropertyNames): 11897 * bindings/js/JSDOMWindowShell.cpp: 11898 (WebCore::JSDOMWindowShell::getPropertyNames): 11899 (WebCore::JSDOMWindowShell::getOwnPropertyNames): 11900 * bindings/js/JSDOMWindowShell.h: 11901 * bindings/js/JSHistoryCustom.cpp: 11902 (WebCore::JSHistory::getOwnPropertyNames): 11903 * bindings/js/JSLocationCustom.cpp: 11904 (WebCore::JSLocation::getOwnPropertyNames): 11905 * bindings/js/JSQuarantinedObjectWrapper.cpp: 11906 (WebCore::JSQuarantinedObjectWrapper::getPropertyNames): 11907 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames): 11908 * bindings/js/JSQuarantinedObjectWrapper.h: 11909 * bindings/js/JSStorageCustom.cpp: 11910 (WebCore::JSStorage::getOwnPropertyNames): 11911 * bindings/scripts/CodeGeneratorJS.pm: 11912 * bridge/runtime_array.cpp: 11913 (JSC::RuntimeArray::getOwnPropertyNames): 11914 * bridge/runtime_array.h: 11915 * bridge/runtime_object.cpp: 11916 (JSC::RuntimeObjectImp::getPropertyNames): 11917 (JSC::RuntimeObjectImp::getOwnPropertyNames): 11918 * bridge/runtime_object.h: 11919 11920 2010-01-12 Brian Weinstein <bweinstein (a] apple.com> 11921 11922 Reviewed by Dave Hyatt. 11923 11924 Safari shows an unneeded horizontal scrollbar on many websites. 11925 Fixes <rdar://6321041> and <http://webkit.org/b/33555>. 11926 11927 If a div has no children, and its height or width are 0, we can ignore 11928 it in our calculation of lowest, rightmost, and leftmost positions. This 11929 calculation was causing horizontal scrollbars to be drawn when they weren't needed. 11930 11931 Test: fast/block/positioning/absolute-positioning-no-scrollbar.html 11932 11933 * rendering/RenderBlock.cpp: 11934 (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0. 11935 (WebCore::RenderBlock::rightmostPosition): Ditto. 11936 (WebCore::RenderBlock::leftmostPosition): Ditto. 11937 11938 2010-01-12 Alexander Pavlov <apavlov (a] chromium.org> 11939 11940 Reviewed by Timothy Hatcher. 11941 11942 Optimize WebInspector.TimelineGrid.prototype.updateDividers() 11943 11944 DOM element property access and modification are slow and should be done as lazily as possible. 11945 https://bugs.webkit.org/show_bug.cgi?id=33536 11946 11947 * inspector/front-end/TimelineGrid.js: 11948 (WebInspector.TimelineGrid.prototype.updateDividers): 11949 (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft): 11950 11951 2010-01-12 Beth Dakin <bdakin (a] apple.com> 11952 11953 Reviewed by Sam Weinig. 11954 11955 Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: - 11956 webkit-svg-shadow with opacity still over-clipped 11957 11958 We need to call inflateForShadow() on the repaintRect before we 11959 clip for opacity or we will over-clip. 11960 * rendering/SVGRenderSupport.cpp: 11961 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 11962 11963 2010-01-12 Steve Falkenburg <sfalken (a] apple.com> 11964 11965 Reviewed by Sam Weinig. 11966 11967 Update all-in-one derived sources for Geolocation. 11968 11969 * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp 11970 11971 2010-01-12 Nate Chapin <japhet (a] chromium.org> 11972 11973 Reviewed by Dimitri Glazkov. 11974 11975 Remove static const ints from V8CustomBinding.h 11976 11977 https://bugs.webkit.org/show_bug.cgi?id=33547 11978 11979 * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 11980 internal field indices from lists of custom internal fields. 11981 * bindings/v8/NPV8Object.cpp: 11982 * bindings/v8/NPV8Object.h: 11983 * bindings/v8/V8Binding.cpp: 11984 * bindings/v8/V8DOMWindowShell.cpp: 11985 * bindings/v8/V8DOMWindowShell.h: 11986 * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary 11987 manually calls to setInternalFieldCount(). 11988 * bindings/v8/V8DOMWrapper.h: 11989 * bindings/v8/V8Index.h: 11990 * bindings/v8/V8IsolatedContext.cpp: 11991 * bindings/v8/V8IsolatedContext.h: 11992 * bindings/v8/V8NPObject.cpp: 11993 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 11994 * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints. 11995 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 11996 * bindings/v8/custom/V8DOMWindowCustom.cpp: 11997 * bindings/v8/custom/V8DocumentCustom.cpp: 11998 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 11999 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 12000 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 12001 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 12002 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 12003 * bindings/v8/custom/V8MessagePortCustom.cpp: 12004 * bindings/v8/custom/V8NodeCustom.cpp: 12005 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 12006 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 12007 * bindings/v8/custom/V8WebSocketCustom.cpp: 12008 * bindings/v8/custom/V8WorkerContextCustom.cpp: 12009 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 12010 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 12011 12012 2010-01-12 Darin Fisher <darin (a] chromium.org> 12013 12014 Fixing chromium build bustage. 12015 12016 * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include. 12017 12018 2010-01-12 Darin Fisher <darin (a] chromium.org> 12019 12020 Reviewed by Dimitri Glazkov. 12021 12022 Add V8 bindings for PopStateEvent. 12023 https://bugs.webkit.org/show_bug.cgi?id=33546 12024 12025 This is covered by existing tests for PopStateEvent. 12026 12027 * WebCore.gypi: 12028 * bindings/v8/DOMObjectsInclude.h: 12029 * bindings/v8/DerivedSourcesAllInOne.cpp: 12030 * bindings/v8/V8DOMWrapper.cpp: 12031 (WebCore::V8DOMWrapper::convertEventToV8Object): 12032 * bindings/v8/V8Index.cpp: 12033 * bindings/v8/V8Index.h: 12034 * bindings/v8/custom/V8PopStateEventCustom.cpp: Added. 12035 (WebCore::V8PopStateEvent::initPopStateEventCallback): 12036 (WebCore::V8PopStateEvent::stateAccessorGetter): 12037 12038 2010-01-12 Kelly Norton <knorton (a] google.com> 12039 12040 Reviewed by Timothy Hatcher. 12041 12042 Adds source length to ParseHTMLRecords in the inspector timeline. 12043 https://bugs.webkit.org/show_bug.cgi?id=33548 12044 12045 Test: inspector/timeline-parse-html.html 12046 12047 * html/HTMLTokenizer.cpp: 12048 (WebCore::HTMLTokenizer::write): 12049 * inspector/InspectorTimelineAgent.cpp: 12050 (WebCore::InspectorTimelineAgent::willWriteHTML): 12051 * inspector/InspectorTimelineAgent.h: 12052 * inspector/TimelineRecordFactory.cpp: 12053 (WebCore::TimelineRecordFactory::createParseHTMLRecord): 12054 * inspector/TimelineRecordFactory.h: 12055 12056 2010-01-12 Jungshik Shin <jshin (a] chromium.org> 12057 12058 Reviewed by Darin Adler 12059 12060 https://bugs.webkit.org/show_bug.cgi?id=31597 12061 12062 Make ICU's text breakiterator and string search use Chrome's UI 12063 language instead of 'en-US' or the OS UI language. 12064 12065 As long as the webkit layout tests are run in en-US locale, there'd be 12066 no visible change. 12067 12068 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: 12069 (UILanguage): 12070 (WebCore::currentSearchLocaleID): 12071 (WebCore::currentTextBreakLocaleID): 12072 12073 2010-01-12 Beth Dakin <bdakin (a] apple.com> 12074 12075 Rubber-stamped by Dave Hyatt. 12076 12077 This patch changes the name of -webkit-shadow to -webkit-svg-shadow 12078 to avoid giving a custom property an overly-general name. 12079 <rdar://problem/7534590> 12080 12081 * css/CSSComputedStyleDeclaration.cpp: 12082 (WebCore::): 12083 * css/CSSParser.cpp: 12084 (WebCore::CSSParser::parseShadow): 12085 * css/SVGCSSComputedStyleDeclaration.cpp: 12086 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 12087 * css/SVGCSSParser.cpp: 12088 (WebCore::CSSParser::parseSVGValue): 12089 * css/SVGCSSPropertyNames.in: 12090 * css/SVGCSSStyleSelector.cpp: 12091 (WebCore::CSSStyleSelector::applySVGProperty): 12092 12093 2010-01-12 Peter Kasting <pkasting (a] google.com> 12094 12095 Not reviewed, build fix. 12096 12097 * WebCore.vcproj/WebCore.vcproj: 12098 12099 2010-01-12 Nate Chapin <japhet (a] chromium.org> 12100 12101 Reviewed by Dimitri Glazkov. 12102 12103 Add a null check in case of an event handler with invalid syntax. 12104 12105 Should make fast/js/invalid-syntax--for-function.html not crash in 12106 Chromium's test shell. 12107 12108 * bindings/v8/V8LazyEventListener.cpp: 12109 (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it. 12110 12111 2010-01-12 Peter Kasting <pkasting (a] google.com> 12112 12113 Reviewed by Dimitri Glazkov. 12114 12115 Remove XBM support from the open-source image decoders. 12116 https://bugs.webkit.org/show_bug.cgi?id=27823 12117 12118 * GNUmakefile.am: 12119 * WebCore.gypi: 12120 * WebCore.vcproj/WebCore.vcproj: 12121 * WebCoreSources.bkl: 12122 * platform/image-decoders/ImageDecoder.cpp: 12123 (WebCore::ImageDecoder::create): 12124 * platform/image-decoders/xbm: Removed. 12125 * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed. 12126 * platform/image-decoders/xbm/XBMImageDecoder.h: Removed. 12127 12128 2010-01-12 Alexey Proskuryakov <ap (a] apple.com> 12129 12130 Reviewed by Darin Adler. 12131 12132 https://bugs.webkit.org/show_bug.cgi?id=33540 12133 Make it possible to build in debug mode with assertions disabled 12134 12135 * dom/Element.cpp: (WebCore::Element::getURLAttribute): 12136 * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems): 12137 * editing/TextIterator.cpp: 12138 * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList): 12139 * rendering/RenderArena.cpp: (WebCore::RenderArena::free): 12140 12141 2010-01-12 Eric Carlson <eric.carlson (a] apple.com> 12142 12143 Reviewed by Darin Adler and Simon Fraser. 12144 12145 rdar://problem/5684062 12146 https://bugs.webkit.org/show_bug.cgi?id=23094 12147 Flash of white when switching from poster image to video playback 12148 12149 https://bugs.webkit.org/show_bug.cgi?id=23140 12150 <video> poster should scale like a video frame 12151 12152 * html/HTMLMediaElement.cpp: 12153 (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place 12154 12155 * html/HTMLVideoElement.cpp: 12156 (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster. 12157 (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo. 12158 (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we 12159 should display the poster image. renderer() is never a RenderImage, don't need to check. 12160 m_shouldShowPosterImage -> m_shouldDisplayPoster. 12161 (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster. 12162 (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since 12163 it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster. 12164 (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 12165 display the poster as long as the attribute is valid and the media engine says it hasn't 12166 rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster. 12167 (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame 12168 is available to render. 12169 * html/HTMLVideoElement.h: 12170 (WebCore::HTMLVideoElement::poster): 12171 (WebCore::HTMLVideoElement::shouldDisplayPoster): 12172 12173 * loader/ImageLoader.cpp: 12174 (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too. 12175 12176 * manual-tests/video-player.html: Remove bit-rot from manual test so it works again. 12177 12178 * platform/graphics/MediaPlayer.cpp: 12179 (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame 12180 is available to render. 12181 12182 * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame. 12183 * platform/graphics/MediaPlayerPrivate.h: Ditto. 12184 12185 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare 12186 all bool variables to aid packing. 12187 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 12188 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup 12189 floating point initializers to match coding guidelines. 12190 (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn. 12191 (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New. 12192 (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn. 12193 12194 (WebCore::RenderImage::paintReplaced): Split part out into paint method. 12195 (WebCore::RenderImage::paint): New. 12196 * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected 12197 instead of private so RenderVideo can use them. 12198 12199 * rendering/RenderMedia.cpp: 12200 (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced 12201 (WebCore::RenderMedia::destroy): Ditto. 12202 (WebCore::RenderMedia::styleDidChange): Ditto. 12203 (WebCore::RenderMedia::layout): Ditto. 12204 (WebCore::RenderMedia::lowestPosition): Ditto. 12205 (WebCore::RenderMedia::rightmostPosition): Ditto. 12206 (WebCore::RenderMedia::leftmostPosition): Ditto. 12207 * rendering/RenderMedia.h: Declare isImage and isRenderImage. 12208 12209 * rendering/RenderVideo.cpp: 12210 (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged 12211 when displaying a poster so it is sized correctly. 12212 (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and 12213 use it when we also know the movie's intrinsic size but still need to draw the poster. 12214 (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster, 12215 use the movie's intrinsic size when drawing frames. 12216 (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster. 12217 (WebCore::RenderVideo::videoElement): New. 12218 (WebCore::RenderVideo::updatePlayer): 12219 * rendering/RenderVideo.h: 12220 (WebCore::RenderVideo::minimumReplacedHeight): Added. 12221 12222 2010-01-12 Tony Chang <tony (a] chromium.org> 12223 12224 Reviewed by Maciej Stachowiak. 12225 12226 Fix a crash in Chromium when receiving multipart/x-mixed-replace data. 12227 If we stop a multipart load after ResourceLoader::didReceiveResponse 12228 but before ResourceLoader::didReceiveData, we have a NULL document 12229 loader because it has been moved back to the provisional state. New 12230 loads that happen after this will dereference the NULL document 12231 loader. 12232 12233 Work around this by moving the provisional document loader back as 12234 the document loader when the request is stopped. 12235 12236 https://bugs.webkit.org/show_bug.cgi?id=31446 12237 12238 Test: http/tests/multipart/multipart-wait-before-boundary.html 12239 12240 * loader/FrameLoader.cpp: 12241 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 12242 12243 2010-01-12 Enrica Casucci <enrica (a] apple.com> 12244 12245 Reviewed by Darin Adler. 12246 12247 WebKit returns incorrect match count when first string match is on an element with user-select-none style 12248 https://bugs.webkit.org/show_bug.cgi?id=33508 12249 <rdar://problem/7482143> 12250 12251 If we use VisiblePosition to calculate the start of the new search range, 12252 we skip all the nodes with user-select-none style, producing an incorrect 12253 match count. 12254 12255 No new tests: there are no API's available to Javascript to verify the 12256 number of matches found. 12257 12258 * page/Frame.cpp: 12259 (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous 12260 result range as the start of the new search range. 12261 12262 2010-01-12 Mikhail Naganov <mnaganov (a] chromium.org> 12263 12264 Reviewed by Timothy Hatcher. 12265 12266 Changed ".sidebar" style to allow v-scroll to appear in 12267 "Profiles" panel sidebar. 12268 12269 https://bugs.webkit.org/show_bug.cgi?id=33470 12270 12271 No new tests -- no code changed. 12272 12273 * inspector/front-end/inspector.css: 12274 12275 2010-01-12 Adam Roben <aroben (a] apple.com> 12276 12277 Windows accelerated compositing build fix after r53110 12278 12279 * plugins/PluginWidget.h: 12280 (WebCore::PluginWidget::platformLayer): Define platformLayer() for 12281 non-Mac platforms that have accelerated compositing turned on. It 12282 would probably be better to make PluginWidget not be used at all on 12283 non-Mac platforms, but this fix is much simpler. 12284 12285 2010-01-12 Yury Semikhatsky <yurys (a] chromium.org> 12286 12287 Reviewed by Pavel Feldman. 12288 12289 Support injection of inspector scripts into the inspected context. 12290 12291 https://bugs.webkit.org/show_bug.cgi?id=33523 12292 12293 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 12294 (WebCore::WeakReferenceCallback): 12295 (WebCore::createInjectedScriptHostV8Wrapper): 12296 (WebCore::createInjectedScript): 12297 (WebCore::InjectedScriptHost::injectedScriptFor): 12298 12299 2010-01-12 Ben Murdoch <benm (a] google.com> 12300 12301 Reviewed by Darin Adler. 12302 12303 Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value 12304 https://bugs.webkit.org/show_bug.cgi?id=31539 12305 12306 Added manual test: manual-tests/textarea-reset-default-value.html. 12307 12308 * html/HTMLTextAreaElement.cpp: 12309 (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored. 12310 * manual-tests/resources/textarea-form-back-on-submit.html: Added. 12311 * manual-tests/textarea-reset-default-value.html: Added. 12312 12313 2010-01-12 Simon Hausmann <simon.hausmann (a] nokia.com> 12314 12315 Reviewed by Holger Freyther. 12316 12317 [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap 12318 https://bugs.webkit.org/show_bug.cgi?id=33466 12319 12320 WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a 12321 QPainterPath, which itself is a pointer to the elements (QVector). 12322 That creates unecessary allocations in PathQt.cpp. 12323 12324 Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which 12325 is a plain QPainterPath. 12326 12327 * platform/graphics/Path.h: 12328 (WebCore::Path::platformPath): 12329 * platform/graphics/qt/GraphicsContextQt.cpp: 12330 (WebCore::drawFilledShadowPath): 12331 (WebCore::GraphicsContext::fillPath): 12332 (WebCore::GraphicsContext::fillRoundedRect): 12333 (WebCore::GraphicsContext::addPath): 12334 (WebCore::GraphicsContext::clip): 12335 (WebCore::GraphicsContext::clipOut): 12336 * platform/graphics/qt/PathQt.cpp: 12337 (WebCore::Path::~Path): 12338 (WebCore::Path::operator=): 12339 (WebCore::Path::contains): 12340 (WebCore::Path::strokeContains): 12341 (WebCore::Path::translate): 12342 (WebCore::Path::boundingRect): 12343 (WebCore::Path::strokeBoundingRect): 12344 (WebCore::Path::moveTo): 12345 (WebCore::Path::addLineTo): 12346 (WebCore::Path::addQuadCurveTo): 12347 (WebCore::Path::addBezierCurveTo): 12348 (WebCore::Path::addArcTo): 12349 (WebCore::Path::closeSubpath): 12350 (WebCore::Path::addArc): 12351 (WebCore::Path::addRect): 12352 (WebCore::Path::addEllipse): 12353 (WebCore::Path::clear): 12354 (WebCore::Path::isEmpty): 12355 (WebCore::Path::debugString): 12356 (WebCore::Path::apply): 12357 (WebCore::Path::transform): 12358 12359 2010-01-12 Jakub Wieczorek <faw217 (a] gmail.com> 12360 12361 Reviewed by Adam Barth. 12362 12363 [Qt] XSL stylesheets can load documents from a different origin 12364 12365 https://bugs.webkit.org/show_bug.cgi?id=33423 12366 12367 * xml/XSLTProcessorQt.cpp: 12368 (WebCore::XSLTUriResolver::XSLTUriResolver): 12369 (WebCore::XSLTUriResolver::resolve): 12370 (WebCore::XSLTProcessor::transformToString): 12371 12372 2010-01-12 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 12373 12374 Reviewed by Gustavo Noronha Silva. 12375 12376 https://bugs.webkit.org/show_bug.cgi?id=30883 12377 [Gtk] Implement AtkText for HTML elements which contain text 12378 12379 Tweak/correction: Eliminate a needless variable. 12380 12381 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 12382 (webkit_accessible_text_get_caret_offset): 12383 12384 2010-01-12 Yury Semikhatsky <yurys (a] chromium.org> 12385 12386 Reviewed by Geoffrey Garen. 12387 12388 Allow creating injected script for the inspected script state. The InjectedScript is 12389 cached on the inspected ExecState global object and will be garbage collected when the 12390 object is collected. Each InjectedScript object is assigned unique id. 12391 12392 https://bugs.webkit.org/show_bug.cgi?id=33469 12393 12394 * bindings/js/JSDOMGlobalObject.cpp: 12395 (WebCore::JSDOMGlobalObject::markChildren): 12396 (WebCore::JSDOMGlobalObject::setInjectedScript): 12397 (WebCore::JSDOMGlobalObject::injectedScript): 12398 * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a 12399 field that is not visible from the inspected code. This InjectedScript should be alive as long as 12400 the global object is alive and should be accessible from Web Inspector's native code. 12401 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 12402 * bindings/js/JSInjectedScriptHostCustom.cpp: 12403 (WebCore::createInjectedScript): Creates injected script using the lexical global object of the 12404 inspected ScriptState. Reference to the object is stored on the global DOM object. 12405 (WebCore::InjectedScriptHost::injectedScriptFor): 12406 * inspector/InjectedScriptHost.cpp: 12407 (WebCore::InjectedScriptHost::InjectedScriptHost): 12408 (WebCore::InjectedScriptHost::injectedScriptForId): 12409 (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the 12410 the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 12411 * inspector/InjectedScriptHost.h: 12412 (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source. 12413 The source may be loaded in a platform specific way. 12414 12415 2010-01-11 Darin Adler <darin (a] apple.com> 12416 12417 Reviewed by Dan Bernstein. 12418 12419 Fix handling of unusual kana sequences in search 12420 https://bugs.webkit.org/show_bug.cgi?id=33506 12421 12422 * editing/TextIterator.cpp: 12423 (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a 12424 non-kana-letter character. This function only works for kana letters. 12425 (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to 12426 properly handle cases where one character has a shorter list of 12427 combining voiced sound marks than the other. 12428 12429 2010-01-11 Victor Wang <victorw (a] chromium.org> 12430 12431 Reviewed by Dimitri Glazkov. 12432 12433 Clear m_acceptedIndexOnAbandon flag when user accepts the selected index. 12434 12435 https://bugs.webkit.org/show_bug.cgi?id=33499 12436 12437 TEST: manual-tests/chromium/onchange-reload-popup.html 12438 It should be covered by the above test. The current 12439 test shell does not support sending keyboard events to popup 12440 list so use manual test for it. 12441 12442 * platform/chromium/PopupMenuChromium.cpp: 12443 (WebCore::PopupListBox::acceptIndex): 12444 12445 2010-01-11 Gustavo Noronha Silva <gns (a] gnome.org> 12446 12447 Reviewed by Eric Seidel. 12448 12449 [GTK] Debug bots crashing in plugins/iframe-shims.html 12450 https://bugs.webkit.org/show_bug.cgi?id=33472 12451 12452 Call computeOffsetInContainerNode() instead of 12453 offsetInContainerNode(), since we are not sure this is always 12454 parent-anchored. 12455 12456 plugins/iframe-shims.html no longer ASSERTS 12457 12458 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 12459 (objectAndOffsetUnignored): 12460 12461 2010-01-11 Simon Fraser <simon.fraser (a] apple.com> 12462 12463 Reviewed by Kevin Decker. 12464 12465 https://bugs.webkit.org/show_bug.cgi?id=33455 12466 Allows plugins to participate in accelerated compositing 12467 12468 For plugins using the CoreAnimation rendering mode, host their CALayers in the 12469 accelerated compositing layer tree. 12470 12471 This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent 12472 a plugin using this mode. 12473 12474 * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit. 12475 * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting. 12476 12477 * rendering/RenderEmbeddedObject.h: 12478 * rendering/RenderEmbeddedObject.cpp: 12479 (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using 12480 accelerated compositing mode. 12481 (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has 12482 a layer, via PluginWidget. 12483 12484 * rendering/RenderLayer.cpp: 12485 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 12486 (WebCore::RenderLayer::isSelfPaintingLayer): 12487 RenderEmbeddedObjects should be normal flow layers, and self-painting layers. 12488 12489 * rendering/RenderLayerBacking.cpp: 12490 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 12491 Parent the plugin's layer in the GraphicsLayer when updating the layer configuration. 12492 12493 * rendering/RenderLayerCompositor.h: 12494 * rendering/RenderLayerCompositor.cpp: 12495 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 12496 (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): 12497 RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode 12498 for the page. 12499 12500 2010-01-11 Andreas Kling <andreas.kling (a] nokia.com> 12501 12502 Reviewed by Darin Adler. 12503 12504 Fixed an uninitialized PluginView member (m_mode) which wasn't 12505 set when constructed with a null PluginPackage* 12506 12507 https://bugs.webkit.org/show_bug.cgi?id=33468 12508 12509 * plugins/PluginView.cpp: 12510 (WebCore::PluginView::PluginView): 12511 12512 2010-01-11 Dirk Schulze <krit (a] webkit.org> 12513 12514 Reviewed by Nikolas Zimmermann. 12515 12516 SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails 12517 https://bugs.webkit.org/show_bug.cgi?id=32201 12518 12519 This patch moves every focalPoint that lies outside the circle defined by the radial 12520 gradients central point and its radius to stay inside this circle, as demanded by the 12521 SVG 1.1 specification. 12522 We use r * 0.99 as maximum radius for the aforementioned circle, when determining where 12523 the focalPoint is lying, to achieve compatibility with Firefox. 12524 12525 * svg/SVGRadialGradientElement.cpp: 12526 (WebCore::SVGRadialGradientElement::buildGradient): 12527 12528 2010-01-11 Alexey Proskuryakov <ap (a] apple.com> 12529 12530 Reviewed by Oliver Hunt. 12531 12532 https://bugs.webkit.org/show_bug.cgi?id=33493 12533 Log redirect details to Network channel 12534 12535 * platform/network/mac/ResourceHandleMac.mm: 12536 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 12537 Log response code and Location header field value. Also, removed a redundant null check. 12538 12539 2010-01-11 Beth Dakin <bdakin (a] apple.com> 12540 12541 Reviewed by Oliver Hunt. 12542 12543 Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 12544 Many SVG -webkit-shadow tests are currently failing (in the pixel 12545 tests) 12546 -and- 12547 <rdar://problem/7501200> 12548 12549 The real fix here is to call inflateForShadow() on the repaintRect 12550 in prepareToRenderSVGContent(). But in order to do that, I had to 12551 move inflateForShadow() to a different class since functions in 12552 SVGRenderBase cannot call each other. inflateForShadow() now exists 12553 in SVGRenderStyle which I think makes some sense because a similar 12554 function that returns a box shadow's extent exists on RenderStyle. 12555 12556 Now call inflateForShadow() through the SVGRenderStyle. 12557 * rendering/RenderForeignObject.cpp: 12558 (WebCore::RenderForeignObject::computeRectForRepaint): 12559 * rendering/RenderSVGImage.cpp: 12560 (WebCore::RenderSVGImage::computeRectForRepaint): 12561 * rendering/RenderSVGModelObject.cpp: 12562 (WebCore::RenderSVGModelObject::computeRectForRepaint): 12563 * rendering/RenderSVGRoot.cpp: 12564 (WebCore::RenderSVGRoot::computeRectForRepaint): 12565 * rendering/RenderSVGText.cpp: 12566 (WebCore::RenderSVGText::computeRectForRepaint): 12567 12568 No longer implement inflateForShadow() here. 12569 * rendering/SVGRenderSupport.cpp: 12570 (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 12571 inflateForShadow() through the SVGRenderStyle 12572 * rendering/SVGRenderSupport.h: 12573 12574 Implementation of inflateForShadow() now lives here. 12575 * rendering/style/SVGRenderStyle.cpp: 12576 (WebCore::getSVGShadowExtent): 12577 (WebCore::SVGRenderStyle::inflateForShadow): 12578 * rendering/style/SVGRenderStyle.h: 12579 12580 2010-01-11 Alexander Pavlov <apavlov (a] chromium.org> 12581 12582 Reviewed by Pavel Feldman. 12583 12584 Rewrite relative URLs in the ElementsTreeOutline to make them navigable 12585 12586 Targets for "src" and "href" attribute values in the Elements outline tree 12587 are rewritten to full URLs whenever possible. 12588 https://bugs.webkit.org/show_bug.cgi?id=33024 12589 12590 Test: inspector/elements-panel-rewrite-href.html 12591 12592 * inspector/front-end/ElementsTreeOutline.js: 12593 (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref): 12594 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 12595 * inspector/front-end/inspector.js: 12596 12597 2010-01-11 Nikolas Zimmermann <nzimmermann (a] rim.com> 12598 12599 Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp. 12600 12601 * bindings/js/JSBindingsAllInOne.cpp: 12602 12603 2010-01-11 Nikolas Zimmermann <nzimmermann (a] rim.com> 12604 12605 Reviewed by Adam Roben & Dirk Schulze. 12606 12607 svg <text> fails to update when setting x/y 12608 https://bugs.webkit.org/show_bug.cgi?id=22384 12609 12610 Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists. 12611 (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not) 12612 12613 Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm, 12614 to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement 12615 'rotate' & 'x'/'y' SVG DOM properties. 12616 12617 Tests: svg/custom/text-xy-updates-SVGList.xhtml 12618 svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html 12619 12620 * Android.jscbindings.mk: Remove old files from build, add the new header. 12621 * GNUmakefile.am: Ditto. 12622 * WebCore.gypi: Ditto. 12623 * WebCore.pro: Ditto. 12624 * WebCore.vcproj/WebCore.vcproj: Ditto. 12625 * WebCore.xcodeproj/project.pbxproj: Ditto. 12626 * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes. 12627 (WebCore::JSSVGPODListCustom::finishGetter): 12628 (WebCore::JSSVGPODListCustom::finishSetter): 12629 (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult): 12630 (WebCore::JSSVGPODListCustom::clear): 12631 (WebCore::JSSVGPODListCustom::initialize): 12632 (WebCore::JSSVGPODListCustom::getItem): 12633 (WebCore::JSSVGPODListCustom::insertItemBefore): 12634 (WebCore::JSSVGPODListCustom::replaceItem): 12635 (WebCore::JSSVGPODListCustom::removeItem): 12636 (WebCore::JSSVGPODListCustom::appendItem): 12637 * bindings/js/JSSVGPointListCustom.cpp: Removed. 12638 * bindings/js/JSSVGTransformListCustom.cpp: Removed. 12639 * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom. 12640 * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work. 12641 (WebCore::SVGNumberList::SVGNumberList): 12642 * svg/SVGNumberList.h: 12643 * svg/SVGPointList.idl: Remove JSCCustom markers everywhere. 12644 * svg/SVGTransformList.idl: Ditto. 12645 12646 2010-01-08 Enrica Casucci <enrica (a] apple.com> 12647 12648 Reviewed by Darin Adler. 12649 12650 Cannot focus on an empty editable span in a non editable div. 12651 https://bugs.webkit.org/show_bug.cgi?id=33411 12652 <rdar://problem/5982901> 12653 12654 We now allow to set the focus inside an empty inline element if it is the only 12655 editable element inside non-editable content. 12656 12657 * dom/Position.cpp: 12658 (WebCore::Position::isCandidate): Extended to allow positions in inline elements when 12659 at the border between editable and non editable content. 12660 (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret 12661 position inside an empty inline. 12662 * editing/DeleteSelectionCommand.cpp: 12663 (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break 12664 element, since now an editable inline is a VisiblePosition if it is at editability boundary. 12665 * editing/VisibleSelection.h: Updated comment on the use of Position member variables 12666 instead of VisiblePosition. 12667 * page/Frame.cpp: 12668 (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and 12669 downstream on the same position. 12670 12671 2010-01-06 Dimitri Glazkov <dglazkov (a] chromium.org> 12672 12673 Reviewed by Nikolas Zimmermann. 12674 12675 [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden. 12676 https://bugs.webkit.org/show_bug.cgi?id=32994 12677 12678 Refactoring, covered by existings tests. 12679 12680 * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects, 12681 since there's a much smaller (and more stable) set of non-ref-counted ones. 12682 12683 2010-01-06 Kelly Norton <knorton (a] google.com> 12684 12685 Reviewed by Pavel Feldman. 12686 12687 Fixes the fact that timeline panel results are skewed by the use of DOM mutation events. 12688 https://bugs.webkit.org/show_bug.cgi?id=32846 12689 12690 Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called 12691 directly when the DOM is mutated. 12692 12693 * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed. 12694 (WebCore::dispatchChildInsertionEvents): 12695 (WebCore::dispatchChildRemovalEvents): 12696 * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed. 12697 (WebCore::Element::dispatchAttrRemovalEvent): 12698 (WebCore::Element::dispatchAttrAdditionEvent): 12699 * inspector/InspectorController.cpp: 12700 (WebCore::InspectorController::didInsertDOMNode): 12701 (WebCore::InspectorController::didRemoveDOMNode): 12702 (WebCore::InspectorController::didModifyDOMAttr): 12703 * inspector/InspectorController.h: 12704 * inspector/InspectorDOMAgent.cpp: 12705 (WebCore::InspectorDOMAgent::startListening): 12706 (WebCore::InspectorDOMAgent::stopListening): 12707 (WebCore::InspectorDOMAgent::handleEvent): 12708 (WebCore::InspectorDOMAgent::didInsertDOMNode): 12709 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 12710 (WebCore::InspectorDOMAgent::didModifyDOMAttr): 12711 * inspector/InspectorDOMAgent.h: 12712 12713 2010-01-10 Darin Adler <darin (a] apple.com> 12714 12715 Reviewed by Alexey Proskuryakov. 12716 12717 REGRESSION: Japanese text search ignores small vs. large and voicing mark differences 12718 https://bugs.webkit.org/show_bug.cgi?id=30437 12719 rdar://problem/7214058 12720 12721 Test: fast/text/find-kana.html 12722 12723 * editing/TextIterator.cpp: 12724 (WebCore::isKanaLetter): Added. 12725 (WebCore::isSmallKanaLetter): Added. 12726 (WebCore::composedVoicedSoundMark): Added. 12727 (WebCore::isCombiningVoicedSoundMark): Added. 12728 (WebCore::containsKanaLetters): Added. 12729 (WebCore::normalizeCharacters): Added. 12730 (WebCore::SearchBuffer::SearchBuffer): Initialize the data members 12731 m_targetRequiresKanaWorkaround and m_normalizedTarget. 12732 (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that 12733 ICU's default collation considers correct, but we consider incorrect. 12734 (WebCore::SearchBuffer::search): Added code to call isBadMatch and 12735 move to the next match with usearch_next if the result is true. 12736 12737 2010-01-11 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 12738 12739 Reviewed by Xan Lopez. 12740 12741 https://bugs.webkit.org/show_bug.cgi?id=30883 12742 [Gtk] Implement AtkText for HTML elements which contain text 12743 12744 * accessibility/gtk/AccessibilityObjectWrapperAtk.h 12745 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 12746 (objectAndOffsetUnignored): 12747 (webkit_accessible_text_get_caret_offset): 12748 * editing/gtk/SelectionControllerGtk.cpp: 12749 (SelectionController::notifyAccessibilityForSelectionChange) 12750 12751 Adjust the caret offset and object with focus to reflect the 12752 unignored parent of the static text object which contains the 12753 caret. This is necessary because the static text objects are 12754 no longer being exposed to ATs. 12755 12756 2010-01-11 Kim Grnholm <kim.gronholm (a] nomovok.com> 12757 12758 Reviewed by Antti Koivisto. 12759 12760 Touchevent coordinates are incorrect after page zoom and page scroll 12761 https://bugs.webkit.org/show_bug.cgi?id=32899 12762 12763 Test: fast/events/touch-coords-in-zoom-and-scroll.html 12764 12765 * dom/Touch.cpp: 12766 (WebCore::contentsX): 12767 (WebCore::contentsY): 12768 * page/EventHandler.cpp: 12769 (WebCore::EventHandler::handleTouchEvent): 12770 12771 2010-01-11 Tony Chang <tony (a] chromium.org> 12772 12773 Reviewed by Eric Seidel. 12774 12775 Have "Paste and Match Style" fire the dom paste event. 12776 https://bugs.webkit.org/show_bug.cgi?id=30639 12777 12778 Test: editing/execCommand/paste-and-match-style-event.html 12779 12780 * editing/Editor.cpp: 12781 (WebCore::Editor::pasteAsPlainText): 12782 12783 2010-01-10 Oliver Hunt <oliver (a] apple.com> 12784 12785 Reviewed by NOBODY (Build fix). 12786 12787 Rollout renderpath culling as it once again breaks pixel tests. 12788 12789 * rendering/RenderPath.cpp: 12790 (WebCore::RenderPath::paint): 12791 (WebCore::RenderPath::nodeAtFloatPoint): 12792 12793 2010-01-10 Simon Fraser <simon.fraser (a] apple.com> 12794 12795 Reviewed by Darin Adler. 12796 12797 Allows plugins to participate in accelerated compositing 12798 https://bugs.webkit.org/show_bug.cgi?id=33455 12799 12800 Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia() 12801 to make it more general. Rename associated enums and methods similarly. 12802 12803 * platform/graphics/GraphicsLayer.h: 12804 (WebCore::GraphicsLayer::setContentsToMedia): 12805 * platform/graphics/mac/GraphicsLayerCA.h: 12806 (WebCore::GraphicsLayerCA::): 12807 * platform/graphics/mac/GraphicsLayerCA.mm: 12808 (WebCore::GraphicsLayerCA::setContentsToMedia): 12809 (WebCore::GraphicsLayerCA::commitLayerChanges): 12810 (WebCore::GraphicsLayerCA::updateContentsMediaLayer): 12811 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 12812 (WebCore::MediaPlayerPrivate::createQTMovieLayer): 12813 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): 12814 12815 2010-01-10 Oliver Hunt <oliver (a] apple.com> 12816 12817 Reviewed by Nikolas Zimmerman. 12818 12819 Bad DOM performance in large SVG files 12820 https://bugs.webkit.org/show_bug.cgi?id=30055 12821 12822 Cull RenderPaths before passing on to the underlying graphics system. 12823 12824 * rendering/RenderPath.cpp: 12825 (WebCore::RenderPath::paint): 12826 (WebCore::RenderPath::nodeAtFloatPoint): 12827 12828 2010-01-10 Adam Barth <abarth (a] webkit.org> 12829 12830 Reviewed by Darin Adler. 12831 12832 Add defensive initialization of iframe sandbox flags 12833 https://bugs.webkit.org/show_bug.cgi?id=32368 12834 12835 We now initialize the SecurityOrigin's sandbox state directly duing 12836 construction. This lets us properly set the isUnique bit. 12837 12838 Tests: http/tests/security/sandboxed-iframe-origin-add.html 12839 http/tests/security/sandboxed-iframe-origin-remove.html 12840 12841 * WebCore.base.exp: 12842 * dom/Document.cpp: 12843 (WebCore::Document::initSecurityContext): 12844 * page/SecurityOrigin.cpp: 12845 (WebCore::SecurityOrigin::SecurityOrigin): 12846 (WebCore::SecurityOrigin::create): 12847 (WebCore::SecurityOrigin::setSandboxFlags): 12848 * page/SecurityOrigin.h: 12849 12850 2010-01-10 Pavel Feldman <pfeldman (a] chromium.org> 12851 12852 Reviewed by Timothy Hatcher. 12853 12854 Web Inspector: Inspect Element selects the wrong element. 12855 Drive-by fix that focuses dom tree upon settting focuesDOMNode. 12856 12857 https://bugs.webkit.org/show_bug.cgi?id=33449 12858 12859 * inspector/front-end/ElementsPanel.js: 12860 (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): 12861 (WebInspector.ElementsPanel.prototype.setDocument): 12862 * inspector/front-end/treeoutline.js: 12863 (TreeElement.prototype.select): 12864 12865 2010-01-10 Pavel Feldman <pfeldman (a] chromium.org> 12866 12867 Reviewed by Timothy Hatcher. 12868 12869 Web Inspector: Introduce support for flexible line height in the text editor. 12870 12871 https://bugs.webkit.org/show_bug.cgi?id=33431 12872 12873 * inspector/front-end/TextEditor.js: 12874 (WebInspector.TextEditor): 12875 (WebInspector.TextEditor.prototype._offsetToLineNumber): 12876 (WebInspector.TextEditor.prototype._lineNumberToOffset): 12877 (WebInspector.TextEditor.prototype._lineHeight): 12878 (WebInspector.TextEditor.prototype.reveal): 12879 (WebInspector.TextEditor.prototype._textChanged): 12880 (WebInspector.TextEditor.prototype._selectionChanged): 12881 (WebInspector.TextEditor.prototype._updateSize): 12882 (WebInspector.TextEditor.prototype._paintLines): 12883 (WebInspector.TextEditor.prototype._paintLinesContinuation): 12884 (WebInspector.TextEditor.prototype._paintLineNumbers): 12885 (WebInspector.TextEditor.prototype._paintCurrentLine): 12886 (WebInspector.TextEditor.prototype._scroll): 12887 (WebInspector.TextEditor.prototype._repaintOnScroll): 12888 (WebInspector.TextEditor.prototype._caretForMouseEvent): 12889 (WebInspector.TextEditor.prototype._handleNavigationKey): 12890 (WebInspector.TextEditor.prototype._updateCursor): 12891 (WebInspector.TextEditor.prototype._invalidateHighlight): 12892 (WebInspector.TextEditor.prototype._paintSelection): 12893 (WebInspector.TextEditor.prototype._initFont): 12894 (WebInspector.TextCursor.prototype.setTextLineHeight): 12895 12896 2010-01-10 Pavel Feldman <pfeldman (a] chromium.org> 12897 12898 Reviewed by Timothy Hatcher. 12899 12900 Web Inspector: Do not repaint line numbers while editing within line. 12901 12902 https://bugs.webkit.org/show_bug.cgi?id=33427 12903 12904 * inspector/front-end/TextEditor.js: 12905 (WebInspector.TextEditor.prototype._textChanged): 12906 (WebInspector.TextEditor.prototype._selectionChanged): 12907 (WebInspector.TextEditor.prototype._repaintAll): 12908 (WebInspector.TextEditor.prototype._paintLines): 12909 (WebInspector.TextEditor.prototype._paintLinesContinuation): 12910 (WebInspector.TextEditor.prototype._paintLineNumbers): 12911 (WebInspector.TextEditor.prototype._updateCursor): 12912 (WebInspector.TextEditor.prototype._copy): 12913 12914 2010-01-10 Adam Barth <abarth (a] webkit.org> 12915 12916 Unreviewed whitespace fixes. 12917 12918 * html/HTMLFrameOwnerElement.cpp: 12919 (WebCore::HTMLFrameOwnerElement::setSandboxFlags): 12920 * loader/FrameLoader.cpp: 12921 (WebCore::FrameLoader::updateSandboxFlags): 12922 * loader/FrameLoader.h: 12923 12924 2010-01-09 Adam Barth <abarth (a] webkit.org> 12925 12926 Reviewed by Darin Adler. 12927 12928 Unify origin sandbox flag with m_noAccess in SecurityOrigin 12929 https://bugs.webkit.org/show_bug.cgi?id=32372 12930 12931 It turns out the SandboxOrigin bit is slightly different than the 12932 unique origin concept because the sandbox bit is inherited by iframes. 12933 These concepts are separate in the spec, so I think it's ok to keep 12934 them separate in the implementation as well. 12935 12936 No new tests because there is no behavior change. 12937 12938 * dom/Document.cpp: 12939 (WebCore::Document::cookie): 12940 (WebCore::Document::setCookie): 12941 * loader/CrossOriginAccessControl.cpp: 12942 (WebCore::passesAccessControlCheck): 12943 * page/SecurityOrigin.cpp: 12944 (WebCore::schemesWithUniqueOrigins): 12945 (WebCore::SecurityOrigin::SecurityOrigin): 12946 (WebCore::SecurityOrigin::canAccess): 12947 (WebCore::SecurityOrigin::canRequest): 12948 (WebCore::SecurityOrigin::taintsCanvas): 12949 (WebCore::SecurityOrigin::setSandboxFlags): 12950 (WebCore::SecurityOrigin::toString): 12951 (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess): 12952 (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess): 12953 * page/SecurityOrigin.h: 12954 (WebCore::SecurityOrigin::canAccessDatabase): 12955 (WebCore::SecurityOrigin::canAccessStorage): 12956 (WebCore::SecurityOrigin::canAccessCookies): 12957 (WebCore::SecurityOrigin::isUnique): 12958 12959 2010-01-09 Adam Barth <abarth (a] webkit.org> 12960 12961 Reviewed by Darin Adler. 12962 12963 ScriptController::isEnabled needs to be renamed 12964 https://bugs.webkit.org/show_bug.cgi?id=32063 12965 12966 Rename ScriptController::isEnabled to 12967 ScriptController::canExecuteScripts to reflect what the method actually 12968 means. This is a trivial change, but it involved touching a lot of 12969 call sites. 12970 12971 * WebCore.PluginHostProcess.exp: 12972 * bindings/ScriptControllerBase.cpp: 12973 (WebCore::ScriptController::canExecuteScripts): 12974 (WebCore::ScriptController::executeScript): 12975 * bindings/js/JSEventListener.cpp: 12976 (WebCore::JSEventListener::handleEvent): 12977 * bindings/js/JSLazyEventListener.cpp: 12978 (WebCore::JSLazyEventListener::parseCode): 12979 * bindings/js/ScheduledAction.cpp: 12980 (WebCore::ScheduledAction::execute): 12981 * bindings/js/ScriptController.cpp: 12982 (WebCore::ScriptController::bindingRootObject): 12983 (WebCore::ScriptController::windowScriptNPObject): 12984 (WebCore::ScriptController::jsObjectForPluginElement): 12985 (WebCore::ScriptController::executeScriptInWorld): 12986 * bindings/js/ScriptController.h: 12987 * bindings/js/ScriptControllerMac.mm: 12988 (WebCore::ScriptController::windowScriptObject): 12989 * bindings/js/ScriptEventListener.cpp: 12990 (WebCore::createAttributeEventListener): 12991 * bindings/js/ScriptState.cpp: 12992 (WebCore::scriptStateFromNode): 12993 * bindings/v8/ScriptController.cpp: 12994 (WebCore::ScriptController::windowScriptNPObject): 12995 (WebCore::ScriptController::createScriptObjectForPluginElement): 12996 * bindings/v8/ScriptController.h: 12997 * bindings/v8/ScriptEventListener.cpp: 12998 (WebCore::createAttributeEventListener): 12999 * bindings/v8/V8Proxy.cpp: 13000 (WebCore::V8Proxy::retrieve): 13001 * dom/ScriptElement.cpp: 13002 (WebCore::ScriptElementData::evaluateScript): 13003 * dom/XMLTokenizerLibxml2.cpp: 13004 (WebCore::XMLTokenizer::startElementNs): 13005 * html/HTMLMediaElement.cpp: 13006 (WebCore::HTMLMediaElement::controls): 13007 * html/HTMLTokenizer.cpp: 13008 (WebCore::HTMLTokenizer::parseTag): 13009 (WebCore::HTMLTokenizer::processToken): 13010 * inspector/InspectorController.cpp: 13011 (WebCore::canPassNodeToJavaScript): 13012 * inspector/JavaScriptDebugServer.cpp: 13013 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 13014 * loader/FrameLoader.cpp: 13015 (WebCore::FrameLoader::isProcessingUserGesture): 13016 (WebCore::FrameLoader::open): 13017 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds): 13018 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): 13019 13020 2010-01-09 Evan Martin <evan (a] chromium.org> 13021 13022 Reviewed by Eric Seidel. 13023 13024 Inspector font for errors is ugly on non-OSX platforms 13025 https://bugs.webkit.org/show_bug.cgi?id=33340 13026 13027 * css/view-source.css: Add a fallback to sans-serif on a CSS 13028 selector that previously only listed Lucida Grande. 13029 13030 2010-01-09 Dan Bernstein <mitz (a] apple.com> 13031 13032 Reviewed by Nikolas Zimmermann. 13033 13034 <rdar://problem/7525778> Font fallback kills SVG kerning 13035 https://bugs.webkit.org/show_bug.cgi?id=33400 13036 13037 Test: platform/mac/fast/text/sticky-typesetting-features.html 13038 13039 Cache font attributes separately for different typesetting features. 13040 13041 * platform/graphics/SimpleFontData.h: Replaced single-element caches 13042 with maps. 13043 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 13044 (WebCore::disableLigatures): Added an ATSUStyle parameter. 13045 (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and 13046 initialize if necessary. Return the ATSUStyle. 13047 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): 13048 Use the ATSUStyle returned from initializeATSUStyle(). 13049 * platform/graphics/mac/SimpleFontDataMac.mm: 13050 (WebCore::SimpleFontData::platformInit): 13051 (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the 13052 map. 13053 (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes 13054 dictionary in the map and initialize if necessary. 13055 13056 2010-01-08 Adam Barth <abarth (a] webkit.org> 13057 13058 Unreviewed. Fix namespace indent for SecurityOrigin.h. 13059 13060 * page/SecurityOrigin.h: 13061 (WebCore::SecurityOrigin::domainWasSetInDOM): 13062 (WebCore::SecurityOrigin::protocol): 13063 (WebCore::SecurityOrigin::host): 13064 (WebCore::SecurityOrigin::domain): 13065 (WebCore::SecurityOrigin::port): 13066 (WebCore::SecurityOrigin::canLoadLocalResources): 13067 (WebCore::SecurityOrigin::setSandboxFlags): 13068 (WebCore::SecurityOrigin::isSandboxed): 13069 (WebCore::SecurityOrigin::canAccessDatabase): 13070 (WebCore::SecurityOrigin::canAccessStorage): 13071 (WebCore::SecurityOrigin::): 13072 13073 2010-01-08 Adam Barth <abarth (a] webkit.org> 13074 13075 Reviewed by Dmitry Titov. 13076 13077 bindings/v8/DOMData is missing a virtual destructor 13078 https://bugs.webkit.org/show_bug.cgi?id=33390 13079 13080 DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes 13081 but it does not have a virtual destructor. While this isn't currently causing 13082 any leaks, since there are no instances of ChildThreadDOMData or 13083 MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC 13084 compiler generates the following compilation error: 13085 13086 "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual 13087 functions and accessible non-virtual destructor" 13088 13089 We therefore need to add a virtual destructor to DOMData. 13090 13091 * bindings/v8/DOMData.cpp: 13092 (WebCore::DOMData::~DOMData): 13093 * bindings/v8/DOMData.h: 13094 13095 2010-01-08 Daniel Bates <dbates (a] webkit.org> 13096 13097 Reviewed by Adam Barth. 13098 13099 https://bugs.webkit.org/show_bug.cgi?id=33417 13100 13101 Cleans up style errors exposed by the patch for bug #33198. 13102 13103 No functionality was changed. So, no new tests. 13104 13105 * platform/graphics/SimpleFontData.h: 13106 * plugins/PluginPackage.cpp: 13107 13108 2010-01-08 Simon Fraser <simon.fraser (a] apple.com> 13109 13110 Reviewed by Dan Bernstein. 13111 13112 WebGL canvas paints background color twice 13113 https://bugs.webkit.org/show_bug.cgi?id=33361 13114 13115 Clean up some logic around "directly composited" content: some images, video, and WebGL. 13116 13117 We previously set the GraphicsLayer background color to the CSS background color 13118 in some cases where the box has no other decorations. However, the content 13119 layer's bounds do not correspond with the background box in many cases, 13120 and we could end up both painting the background color, and setting it on the layer. 13121 13122 Simplify this logic to never use layer background colors, and thus skip allocating 13123 backing store only when the element has no visible box decorations. 13124 13125 Tests: compositing/images/direct-image-background-color.html 13126 compositing/reflections/simple-composited-reflections.html 13127 compositing/video/video-background-color.html 13128 compositing/webgl/webgl-background-color.html 13129 compositing/webgl/webgl-blending.html 13130 13131 * rendering/RenderLayerBacking.h: 13132 * rendering/RenderLayerBacking.cpp: 13133 (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL 13134 (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent. 13135 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing() 13136 is renamed to isDirectlyCompositedImage() and only applies to images now. 13137 No longer set layer background color. 13138 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent() 13139 as the argument to setDrawsContent(). 13140 (WebCore::hasBoxDecorationsOrBackground): Renamed. 13141 (WebCore::RenderLayerBacking::hasNonCompositingContent): 13142 (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations(). 13143 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for 13144 hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment. 13145 (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides 13146 if the layer (and its non-composited children) has any content that must be painted into backing store. 13147 (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing() 13148 and reduced to only apply to images. 13149 (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the 13150 canUseDirectCompositing() scope. 13151 13152 2010-01-08 Steve Block <steveblock (a] google.com> 13153 13154 Reviewed by Darin Adler. 13155 13156 Use member initialization syntax instead of assignment for member variables of Document used 13157 for determining minimum layout delay. 13158 https://bugs.webkit.org/show_bug.cgi?id=33316 13159 13160 No new tests, style change only. 13161 13162 * dom/Document.cpp: Modified. 13163 (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay. 13164 13165 2010-01-08 Kenneth Russell <kbr (a] google.com> 13166 13167 Reviewed by Dimitri Glazkov. 13168 13169 Passing array that is too large to set method of WebGLArrays does not throw an exception 13170 https://bugs.webkit.org/show_bug.cgi?id=33352 13171 13172 Added needed range checks to JSC and V8 custom bindings. Expanded 13173 preexisting test suite for WebGLArrays and updated its expected 13174 results. Tested in WebKit and Chromium. 13175 13176 Test: fast/canvas/webgl/array-set-out-of-bounds.html 13177 13178 * bindings/js/JSWebGLArrayHelper.h: 13179 (WebCore::setWebGLArrayFromArray): 13180 * bindings/v8/custom/V8WebGLArrayCustom.h: 13181 (WebCore::setWebGLArrayFromArray): 13182 13183 2010-01-08 Alexey Proskuryakov <ap (a] apple.com> 13184 13185 Reviewed by Dan Bernstein. 13186 13187 https://bugs.webkit.org/show_bug.cgi?id=32962 13188 HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element 13189 13190 Also fixed the same for STYLE elements. 13191 13192 Tests: fast/dom/css-innerHTML.html 13193 fast/dom/script-innerHTML-x.xhtml 13194 fast/dom/script-innerHTML.html 13195 13196 * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML, 13197 matching Firefox. 13198 13199 2010-01-08 Beth Dakin <bdakin (a] apple.com> 13200 13201 Reviewed by Oliver Hunt. 13202 13203 Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 13204 with -webkit-shadow on svg shapes 13205 -and- 13206 <rdar://problem/7389149> 13207 13208 Inflate the repaintRect for the shadow using its extent. 13209 * rendering/RenderForeignObject.cpp: 13210 (WebCore::RenderForeignObject::computeRectForRepaint): 13211 * rendering/RenderSVGImage.cpp: 13212 (WebCore::RenderSVGImage::computeRectForRepaint): 13213 * rendering/RenderSVGModelObject.cpp: 13214 (WebCore::RenderSVGModelObject::computeRectForRepaint): 13215 * rendering/RenderSVGRoot.cpp: 13216 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): 13217 (WebCore::RenderSVGRoot::computeRectForRepaint): 13218 * rendering/RenderSVGText.cpp: 13219 (WebCore::RenderSVGText::computeRectForRepaint): 13220 * rendering/SVGRenderSupport.cpp: 13221 (WebCore::getSVGShadowExtent): 13222 (WebCore::SVGRenderBase::inflateForShadow): 13223 * rendering/SVGRenderSupport.h: 13224 13225 2010-01-08 Kenneth Russell <kbr (a] google.com> 13226 13227 Reviewed by Dimitri Glazkov. 13228 13229 WebGLArray subclasses do the wrong conversion in indexSetter 13230 https://bugs.webkit.org/show_bug.cgi?id=33350 13231 13232 Test: fast/canvas/webgl/array-setters.html 13233 13234 * bindings/js/JSWebGLFloatArrayCustom.cpp: 13235 (WebCore::JSWebGLFloatArray::indexSetter): 13236 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: 13237 (WebCore::JSWebGLUnsignedIntArray::indexSetter): 13238 13239 2010-01-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 13240 13241 Reviewed by Kenneth Rohde Christiansen. 13242 13243 [Qt] Delegation client 13244 https://bugs.webkit.org/show_bug.cgi?id=32826 13245 13246 Factory related code removed from QtAbstractWebPopup. Popups are now created 13247 by ChromeClientQt. 13248 Popup content information struct added to class QtAbstractWebPopup. 13249 PopupMenuClient is now hidden from higher layers. 13250 QtAbstractWebPopup now receives content information and font as parameters 13251 of method populate. 13252 QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport. 13253 13254 * WebCore.pro: 13255 * platform/qt/PopupMenuQt.cpp: 13256 (WebCore::PopupMenu::PopupMenu): 13257 (WebCore::getItems): 13258 (WebCore::PopupMenu::show): 13259 * platform/qt/QtAbstractWebPopup.cpp: 13260 (WebCore::QtAbstractWebPopup::QtAbstractWebPopup): 13261 (WebCore::QtAbstractWebPopup::popupDidHide): 13262 (WebCore::QtAbstractWebPopup::valueChanged): 13263 * platform/qt/QtAbstractWebPopup.h: 13264 (WebCore::QtAbstractWebPopup::Item::): 13265 * platform/qt/QtFallbackWebPopup.cpp: Removed. 13266 * platform/qt/QtFallbackWebPopup.h: Removed. 13267 13268 2010-01-08 Yuzo Fujishima <yuzo (a] google.com> 13269 13270 Reviewed by Darin Adler. 13271 13272 Skip invalid blocks in CSS property declarations. 13273 https://bugs.webkit.org/show_bug.cgi?id=31231 13274 https://bugs.webkit.org/show_bug.cgi?id=26619 13275 13276 This patch makes the CSS parser skip property declarations containing invalid blocks. 13277 13278 Test: fast/css/parsing-error-recovery.html 13279 13280 * css/CSSGrammar.y: 13281 13282 2010-01-08 Chris Fleizach <cfleizach (a] apple.com> 13283 13284 Reviewed by Beth Dakin. 13285 13286 AX: CSS content not returned correctly in AX 13287 https://bugs.webkit.org/show_bug.cgi?id=33308 13288 13289 Test: platform/mac/accessibility/css-content-attribute.html 13290 13291 * accessibility/AccessibilityRenderObject.cpp: 13292 (WebCore::AccessibilityRenderObject::textUnderElement): 13293 13294 2010-01-08 Chris Marrin <cmarrin (a] apple.com> 13295 13296 Reviewed by Adam Roben. 13297 13298 Implement full-screen video for Windows 13299 https://bugs.webkit.org/show_bug.cgi?id=31318 13300 13301 This is mostly support logic for taking video 13302 into and out of full-screen. It also contains the 13303 QTMovieWin piece which adds support for the actual 13304 full-screen window itself. Events from the window 13305 are sent to the FullscreenVideosController for handling. 13306 13307 * loader/FrameLoader.cpp: 13308 (WebCore::FrameLoader::addData): 13309 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 13310 (WebCore::MediaPlayerPrivate::supportsFullscreen): 13311 (WebCore::MediaPlayerPrivate::platformMedia): 13312 * platform/graphics/win/QTMovieWin.cpp: 13313 (QTMovieWinPrivate::QTMovieWinPrivate): 13314 (QTMovieWin::initializeQuickTime): 13315 (QTMovieWin::_handleMessages): 13316 (QTMovieWin::enterFullscreen): 13317 (QTMovieWin::exitFullscreen): 13318 * platform/graphics/win/QTMovieWin.h: 13319 13320 2010-01-08 Matt Perry <mpcomplete (a] chromium.org> 13321 13322 Reviewed by Adam Barth. 13323 13324 Fix a regression that removed a call to 13325 FrameLoaderClient::didDestroyScriptContextForFrame. 13326 https://bugs.webkit.org/show_bug.cgi?id=33347 13327 13328 * bindings/v8/V8DOMWindowShell.cpp: 13329 (WebCore::V8DOMWindowShell::disposeContextHandles): 13330 13331 2010-01-08 Brent Fulgham <bfulgham (a] webkit.org> 13332 13333 Reviewed by Adam Roben. 13334 13335 WebKit plugins are not rendered during printing. 13336 https://bugs.webkit.org/show_bug.cgi?id=33022. 13337 13338 * plugins/win/PluginViewWin.cpp: 13339 (WebCore::PluginView::paintWindowedPluginIntoContext): Tell 13340 cairo printing surface to flush so that blank regions do 13341 not write over the plugin's paint operations. 13342 * rendering/RenderLayer.cpp: Build fix. 13343 (WebCore::RenderLayer::beginTransparencyLayers): Correct 13344 method signature missing for ColorSpace. 13345 13346 2010-01-08 Chris Fleizach <cfleizach (a] apple.com> 13347 13348 Reviewed by Eric Seidel. 13349 13350 REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot 13351 https://bugs.webkit.org/show_bug.cgi?id=33300 13352 13353 * accessibility/mac/AccessibilityObjectWrapper.mm: 13354 (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]): 13355 (-[AccessibilityObjectWrapper accessibilityPostedNotification:]): 13356 13357 2010-01-08 Pavel Feldman <pfeldman (a] chromium.org> 13358 13359 Reviewed by Timothy Hatcher. 13360 13361 Web Inspector: Regex-based syntax highlighting is slow. 13362 13363 https://bugs.webkit.org/show_bug.cgi?id=33330 13364 13365 * WebCore.gypi: 13366 * WebCore.vcproj/WebCore.vcproj: 13367 * inspector/front-end/JavaScriptHighlighterScheme.js: Removed. 13368 * inspector/front-end/JavaScriptTokenizer.js: Added. 13369 (WebInspector.JavaScriptTokenizer): 13370 (WebInspector.JavaScriptTokenizer.prototype.set line): 13371 (WebInspector.JavaScriptTokenizer.prototype.getCondition): 13372 (WebInspector.JavaScriptTokenizer.prototype.setCondition): 13373 (WebInspector.JavaScriptTokenizer.prototype._charAt): 13374 (WebInspector.JavaScriptTokenizer.prototype.nextToken): 13375 * inspector/front-end/JavaScriptTokenizer.re2js: Added. 13376 * inspector/front-end/TextEditorHighlighter.js: 13377 (WebInspector.TextEditorHighlighter): 13378 (WebInspector.TextEditorHighlighter.prototype.highlight): 13379 (WebInspector.TextEditorHighlighter.prototype._lex): 13380 * inspector/front-end/WebKit.qrc: 13381 * inspector/front-end/inspector.html: 13382 13383 2010-01-07 Mike Belshe <mbelshe (a] chromium.org> 13384 13385 Reviewed by Darin Adler. 13386 13387 Fix Spdy casing to match style guide. 13388 13389 https://bugs.webkit.org/show_bug.cgi?id=33326 13390 13391 * platform/network/chromium/ResourceResponse.h: 13392 (WebCore::ResourceResponse::ResourceResponse): 13393 (WebCore::ResourceResponse::wasFetchedViaSPDY): 13394 (WebCore::ResourceResponse::setWasFetchedViaSPDY): 13395 13396 2010-01-07 Daniel Bates <dbates (a] rim.com> 13397 13398 Reviewed by Eric Seidel. 13399 13400 https://bugs.webkit.org/show_bug.cgi?id=32987 13401 13402 Added ENABLE_XHTMLMP flag. Disabled by default. 13403 13404 * Configurations/FeatureDefines.xcconfig: 13405 * GNUmakefile.am: 13406 * WebCore.pro: 13407 * WebCore.xcodeproj/project.pbxproj: 13408 * config.h: 13409 13410 2010-01-07 Stephanie Lewis <slewis (a] apple.com> 13411 13412 Rolled out http://trac.webkit.org/changeset/52778 due to rolling 13413 out http://trac.webkit.org/changeset/52756 13414 13415 * dom/Document.cpp: 13416 (WebCore::Document::recalcStyle): 13417 * editing/SelectionController.cpp: 13418 (WebCore::SelectionController::layout): 13419 (WebCore::SelectionController::recomputeCaretRect): 13420 (WebCore::SelectionController::invalidateCaretRect): 13421 (WebCore::SelectionController::paintCaret): 13422 * html/HTMLFormControlElement.cpp: 13423 (WebCore::HTMLFormControlElement::attach): 13424 * html/HTMLInputElement.cpp: 13425 (WebCore::HTMLInputElement::attach): 13426 * page/Frame.cpp: 13427 (WebCore::Frame::revealSelection): 13428 13429 2010-01-07 Stephanie Lewis <slewis (a] apple.com> 13430 13431 Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression. 13432 13433 * dom/Document.cpp: 13434 (WebCore::Document::updateLayout): 13435 * editing/SelectionController.cpp: 13436 (WebCore::SelectionController::SelectionController): 13437 (WebCore::SelectionController::setSelection): 13438 * editing/SelectionController.h: 13439 * page/Frame.cpp: 13440 (WebCore::Frame::setCaretVisible): 13441 (WebCore::Frame::selectionLayoutChanged): 13442 (WebCore::Frame::caretBlinkTimerFired): 13443 (WebCore::Frame::selectionBounds): 13444 * page/FrameView.cpp: 13445 (WebCore::FrameView::needsLayout): 13446 13447 2010-01-07 Geoffrey Garen <ggaren (a] apple.com> 13448 13449 Reviewed by Sam Weinig. 13450 13451 Fix a crash seen on the buildbots. 13452 13453 * bindings/js/JSDOMWindowBase.cpp: 13454 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific 13455 function tracking here; it's too late, as some specific functions 13456 may already have been tracked in the base class constructor. 13457 13458 2010-01-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 13459 13460 Reviewed by Dirk Schulze. 13461 13462 SVGTextElement & friends need to implement svgAttributeChanged 13463 https://bugs.webkit.org/show_bug.cgi?id=33284 13464 13465 Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children, 13466 childrenChanged() has to be implemented as well for SVGTextElement. 13467 13468 Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning 13469 and on error case, after parsing - previously the calling site had to take care of that. 13470 13471 Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html 13472 svg/dynamic-updates/SVGTextElement-dom-transform-attr.html 13473 svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html 13474 13475 * svg/SVGGradientElement.cpp: 13476 (WebCore::SVGGradientElement::parseMappedAttribute): 13477 * svg/SVGPatternElement.cpp: 13478 (WebCore::SVGPatternElement::parseMappedAttribute): 13479 * svg/SVGStyledTransformableElement.cpp: 13480 (WebCore::SVGStyledTransformableElement::parseMappedAttribute): 13481 * svg/SVGTRefElement.cpp: 13482 (WebCore::SVGTRefElement::svgAttributeChanged): 13483 * svg/SVGTRefElement.h: 13484 * svg/SVGTextElement.cpp: 13485 (WebCore::SVGTextElement::parseMappedAttribute): 13486 (WebCore::SVGTextElement::svgAttributeChanged): 13487 (WebCore::SVGTextElement::childrenChanged): 13488 * svg/SVGTextElement.h: 13489 * svg/SVGTextPositioningElement.cpp: 13490 (WebCore::SVGTextPositioningElement::svgAttributeChanged): 13491 * svg/SVGTextPositioningElement.h: 13492 * svg/SVGTransformable.cpp: 13493 (WebCore::SVGTransformable::parseTransformAttribute): 13494 * svg/SVGTransformable.h: 13495 13496 2010-01-07 Brian Weinstein <bweinstein (a] apple.com> 13497 13498 Reviewed by Adele Peterson. 13499 13500 Padding in popup menu gets lost with styled <select> in Windows. 13501 Fixes <rdar://7285538>, and <http://webkit.org/b/33235>. 13502 13503 [Win] Support padding-right on selects when webkit-appearance is off. Added a test 13504 case for narrow selects with -webkit-appearance: none, and padding left and right to 13505 show that both types of padding are honored. 13506 13507 * manual-tests/select-webkit-appearance-off-narrow-select.html: Added. 13508 * platform/win/PopupMenuWin.cpp: 13509 (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant. 13510 * rendering/RenderMenuList.cpp: 13511 (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of 13512 the hardcoded constant. 13513 13514 2010-01-07 Alexey Proskuryakov <ap (a] apple.com> 13515 13516 Reviewed by Geoffrey Garen. 13517 13518 https://bugs.webkit.org/show_bug.cgi?id=33057 13519 REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows 13520 13521 <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark 13522 13523 * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all 13524 possible clients, but keeping the current design for now. 13525 13526 2010-01-07 Brent Fulgham <bfulgham (a] webkit.org> 13527 13528 Reviewed by Jon Honeycutt. 13529 13530 Account for scale and current context position (as well as page 13531 position) in the device context world transform passed to 13532 plugins. This is especially important for print surface DPI. 13533 http://bugs.webkit.org/show_bug.cgi?id=32909. 13534 13535 * plugins/win/PluginViewWin.cpp: 13536 (WebCore::PluginView::paintWindowedPluginIntoContext): Revise 13537 world context handling to include scaling and translation 13538 already set for the CTM. 13539 13540 2010-01-07 Nate Chapin <japhet (a] chromium.org> 13541 13542 Reviewed by Dimitri Glazkov. 13543 13544 Generate V8 bindings header declarations for named and indexed accessors. 13545 13546 * bindings/scripts/CodeGeneratorV8.pm: 13547 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 13548 * bindings/v8/custom/V8CustomBinding.h: 13549 * bindings/v8/custom/V8DOMWindowCustom.cpp: 13550 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 13551 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 13552 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 13553 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 13554 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 13555 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 13556 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 13557 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 13558 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 13559 * bindings/v8/custom/V8NodeListCustom.cpp: 13560 * bindings/v8/custom/V8StorageCustom.cpp: 13561 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 13562 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 13563 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 13564 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 13565 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 13566 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 13567 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 13568 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 13569 13570 2010-01-07 Geoffrey Garen <ggaren (a] apple.com> 13571 13572 Better build fix: use 'this->structure()', since 'structure' is a 13573 PassRefPtr, and therefore null. 13574 13575 * bindings/js/JSDOMWindowBase.cpp: 13576 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 13577 13578 2010-01-07 Geoffrey Garen <ggaren (a] apple.com> 13579 13580 Build fix: avoid a name conflict by using the local 'structure' instead 13581 of the member 'structure()'. 13582 13583 * bindings/js/JSDOMWindowBase.cpp: 13584 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 13585 13586 2010-01-07 Simon Fraser <simon.fraser (a] apple.com> 13587 13588 Build fix. 13589 13590 Add RenderEmbeddedObject.h/cpp to all the build systems. 13591 13592 * Android.mk: 13593 * GNUmakefile.am: 13594 * WebCore.gypi: 13595 * WebCore.pro: 13596 * WebCore.vcproj/WebCore.vcproj: 13597 * WebCoreSources.bkl: 13598 13599 2010-01-07 Geoffrey Garen <ggaren (a] apple.com> 13600 13601 Reviewed by Sam Weinig. 13602 13603 Safari memory usage skyrockets using new Google AdWords interface 13604 https://bugs.webkit.org/show_bug.cgi?id=33343 13605 13606 * bindings/js/JSDOMWindowBase.cpp: 13607 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function 13608 tracking for the window object, since there's no way to do direct 13609 method calls on the window object; they all go through the window shell. 13610 13611 2010-01-07 Simon Fraser <simon.fraser (a] apple.com> 13612 13613 Reviewed by Kevin Decker, Darin Adler. 13614 13615 https://bugs.webkit.org/show_bug.cgi?id=33338 13616 Create a renderer for <object> and <embed> 13617 13618 Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>. 13619 Instances of RenderPartObject are now only allocated for iframes. 13620 13621 Move object/embed-related code from RenderPartObject to RenderEmbeddedObject. 13622 13623 * WebCore.xcodeproj/project.pbxproj: 13624 Add RenderEmbeddedObject.h/cpp 13625 13626 * html/HTMLEmbedElement.cpp: 13627 (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject. 13628 (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject() 13629 13630 * html/HTMLMediaElement.cpp: 13631 (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case. 13632 (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code. 13633 13634 * html/HTMLObjectElement.cpp: 13635 (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject 13636 (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject() 13637 13638 * page/FrameView.h: 13639 * page/FrameView.cpp: 13640 (WebCore::FrameView::addWidgetToUpdate): 13641 (WebCore::FrameView::removeWidgetToUpdate): 13642 (WebCore::FrameView::updateWidgets): 13643 Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects. 13644 13645 * rendering/RenderEmbeddedObject.cpp: Added. 13646 * rendering/RenderEmbeddedObject.h: Added. 13647 Most of the code moved from RenderPartObject. 13648 13649 * rendering/RenderObject.h: 13650 (WebCore::RenderObject::isEmbeddedObject): New method. 13651 13652 * rendering/RenderPart.cpp: 13653 (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes. 13654 * rendering/RenderPart.h: Comments. 13655 13656 * rendering/RenderPartObject.h: 13657 * rendering/RenderPartObject.cpp: 13658 (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code. 13659 (WebCore::RenderPartObject::layout): Removed object/embed-specific code. 13660 13661 2010-01-07 Simon Fraser <simon.fraser (a] apple.com> 13662 13663 Reviewed by Darin Adler. 13664 13665 https://bugs.webkit.org/show_bug.cgi?id=33338 13666 Create a renderer for <object> and <embed> 13667 13668 First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements, 13669 so we don't need to call it here, and can thus remove the attach() override entirely. 13670 13671 * html/HTMLIFrameElement.cpp: 13672 * html/HTMLIFrameElement.h: 13673 13674 2009-01-07 Pavel Feldman <pfeldman (a] chromium.org> 13675 13676 Reviewed by Timothy Hatcher. 13677 13678 Web Inspector: Migrate to canvas-based text viewer / editor that scales. 13679 13680 https://bugs.webkit.org/show_bug.cgi?id=33001 13681 13682 * WebCore.gypi: 13683 * WebCore.vcproj/WebCore.vcproj: 13684 * inspector/front-end/JavaScriptHighlighterScheme.js: Added. 13685 (WebInspector.JavaScriptHighlighterScheme): 13686 * inspector/front-end/KeyboardShortcut.js: 13687 * inspector/front-end/TextEditor.js: Added. 13688 (WebInspector.TextEditor): 13689 (WebInspector.TextSelectionModel): 13690 (WebInspector.TextCursor): 13691 * inspector/front-end/TextEditorHighlighter.js: Added. 13692 (WebInspector.TextEditorHighlighter): 13693 (WebInspector.TextEditorHighlighter.prototype.highlight): 13694 (WebInspector.TextEditorHighlighter.prototype._lex): 13695 * inspector/front-end/TextEditorModel.js: Added. 13696 (WebInspector.TextRange): 13697 (WebInspector.TextRange.prototype.clone): 13698 (WebInspector.TextEditorModel): 13699 * inspector/front-end/WebKit.qrc: 13700 * inspector/front-end/inspector.css: 13701 * inspector/front-end/inspector.html: 13702 13703 2010-01-07 Christian Sejersen <christian.webkit (a] gmail.com> 13704 13705 Reviewed by Darin Adler. 13706 13707 document.title does not replace or remove space characters 13708 https://bugs.webkit.org/show_bug.cgi?id=27032 13709 13710 Test: fast/dom/Document/document-title-get.html 13711 13712 * dom/Document.cpp: 13713 (WebCore::Document::Document): 13714 Initialization of m_rawTitle 13715 (WebCore::canonicalizedTitle): 13716 Moved from DocumentLoader.cpp with minor edits 13717 (WebCore::Document::updateTitle): 13718 Ensures the title is canonicalized 13719 (WebCore::Document::setTitle): 13720 Uses m_rawTitle instaed of m_title 13721 (WebCore::Document::removeTitle): 13722 Uses m_rawTitle instead of m_title 13723 13724 * dom/Document.h: 13725 Added m_rawTitle that stores the passed in title, m_title now stores the 13726 canonicalized title 13727 13728 * loader/DocumentLoader.cpp: 13729 (WebCore::DocumentLoader::setTitle): 13730 The title passed in is now canonicalized in Document.cpp 13731 13732 2010-01-07 Yuzo Fujishima <yuzo (a] google.com> 13733 13734 Reviewed by Darin Adler. 13735 13736 Allow leading/trailing space for CSS nth-*() and lang(). 13737 https://bugs.webkit.org/show_bug.cgi?id=17248 13738 13739 For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'. 13740 See the bug comments for why we don't allow space at other places. 13741 13742 * css/CSSGrammar.y: 13743 13744 2010-01-07 Chris Fleizach <cfleizach (a] apple.com> 13745 13746 Reviewed by Beth Dakin. 13747 13748 AX: contentEditable DIVs are not AX accessible 13749 https://bugs.webkit.org/show_bug.cgi?id=33325 13750 13751 Test: accessibility/contenteditable-hidden-div.html 13752 13753 * accessibility/AccessibilityRenderObject.cpp: 13754 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 13755 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 13756 13757 2010-01-07 Adam Barth <abarth (a] webkit.org> 13758 13759 Unreviewed. Resolve merge conflict. 13760 13761 * bindings/v8/V8Proxy.cpp: 13762 (WebCore::V8Proxy::setContextDebugId): 13763 13764 2010-01-07 Adam Barth <abarth (a] webkit.org> 13765 13766 No review, rolling out r52847. 13767 http://trac.webkit.org/changeset/52847 13768 https://bugs.webkit.org/show_bug.cgi?id=33232 13769 13770 Might have caused a perf regression. I'm rolling this out to see if it 13771 heals the perf bot. 13772 13773 * bindings/v8/ScriptController.cpp: 13774 (WebCore::ScriptController::ScriptController): 13775 (WebCore::ScriptController::~ScriptController): 13776 (WebCore::ScriptController::updateSecurityOrigin): 13777 (WebCore::ScriptController::evaluateInIsolatedWorld): 13778 (WebCore::ScriptController::haveInterpreter): 13779 (WebCore::ScriptController::clearWindowShell): 13780 (WebCore::ScriptController::updateDocument): 13781 * bindings/v8/ScriptController.h: 13782 * bindings/v8/V8DOMWindowShell.cpp: 13783 * bindings/v8/V8DOMWindowShell.h: 13784 * bindings/v8/V8DOMWrapper.cpp: 13785 (WebCore::V8DOMWrapper::instantiateV8Object): 13786 (WebCore::V8DOMWrapper::convertDocumentToV8Object): 13787 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 13788 * bindings/v8/V8IsolatedContext.cpp: 13789 (WebCore::V8IsolatedContext::V8IsolatedContext): 13790 * bindings/v8/V8Proxy.cpp: 13791 (WebCore::V8Proxy::V8Proxy): 13792 (WebCore::V8Proxy::~V8Proxy): 13793 (WebCore::V8Proxy::handleOutOfMemory): 13794 (WebCore::V8Proxy::evaluateInIsolatedWorld): 13795 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 13796 (WebCore::V8Proxy::clearForClose): 13797 (WebCore::V8Proxy::clearForNavigation): 13798 (WebCore::V8Proxy::context): 13799 (WebCore::V8Proxy::mainWorldContext): 13800 (WebCore::V8Proxy::currentContext): 13801 (WebCore::V8Proxy::setContextDebugId): 13802 * bindings/v8/V8Proxy.h: 13803 (WebCore::V8Proxy::windowShell): 13804 * bindings/v8/WorldContextHandle.cpp: 13805 (WebCore::WorldContextHandle::adjustedContext): 13806 13807 2010-01-07 Dan Bernstein <mitz (a] apple.com> 13808 13809 Build fix 13810 13811 * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private. 13812 13813 2010-01-07 Dan Bernstein <mitz (a] apple.com> 13814 13815 Reviewed by Sam Weinig. 13816 13817 Added Font::typesettingFeatures() and deployed it 13818 13819 No change in funcitonality 13820 13821 * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h. 13822 * platform/graphics/Font.h: 13823 (WebCore::Font::typesettingFeatures): Added. Determines the typesetting 13824 features from the text redndering mode. 13825 * platform/graphics/FontFastPath.cpp: 13826 (WebCore::Font::canUseGlyphCache): Use typesettingFeatures(). 13827 * platform/graphics/SimpleFontData.h: 13828 * platform/graphics/TypesettingFeatures.h: Added. 13829 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 13830 (WebCore::disableLigatures): Take TypesettingFeatures instead of 13831 TextRenderingMode. 13832 (WebCore::initializeATSUStyle): Ditto. 13833 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): 13834 Use typesettingFeatures(). 13835 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 13836 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): 13837 Ditto. 13838 * platform/graphics/mac/SimpleFontDataMac.mm: 13839 (WebCore::SimpleFontData::getCFStringAttributes): Take 13840 TypesettingFeatures instead of TextRenderingMode. 13841 * rendering/RenderBlockLineLayout.cpp: 13842 (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures(). 13843 13844 2010-01-07 Dimitri Glazkov <dglazkov (a] chromium.org> 13845 13846 No review, rolling out r52900. 13847 http://trac.webkit.org/changeset/52900 13848 https://bugs.webkit.org/show_bug.cgi?id=30055 13849 13850 Broke over 30 SVG pixel tests. 13851 13852 * rendering/RenderPath.cpp: 13853 (WebCore::RenderPath::paint): 13854 13855 2010-01-07 Simon Hausmann <simon.hausmann (a] nokia.com> 13856 13857 Rubber-stamped by Kenneth Rohde Christiansen. 13858 13859 [Qt] The library version number of the first package release is 4.7.0. 13860 13861 * WebCore.pro: 13862 13863 2010-01-07 Yael Aharon <yael.aharon (a] nokia.com> 13864 13865 Reviewed by Kenneth Rohde Christiansen. 13866 13867 [Qt] Allow the application to override online/offline network status 13868 https://bugs.webkit.org/show_bug.cgi?id=32684 13869 13870 Added API to NetworkStateNotifier for forcing network status. 13871 13872 * platform/network/NetworkStateNotifier.h: 13873 * platform/network/qt/NetworkStateNotifierPrivate.h: 13874 * platform/network/qt/NetworkStateNotifierQt.cpp: 13875 (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate): 13876 (WebCore::NetworkStateNotifierPrivate::onlineStateChanged): 13877 (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged): 13878 (WebCore::NetworkStateNotifier::updateState): 13879 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 13880 (WebCore::NetworkStateNotifier::setNetworkAccessAllowed): 13881 13882 2010-01-07 Simon Hausmann <simon.hausmann (a] nokia.com> 13883 13884 Reviewed by Tor Arne Vestb. 13885 13886 [Qt] Fix linkage against Qt mobility API bearer management module 13887 13888 Use the documented .pro file syntax to link against the correct 13889 library and (more importantly) get the include paths correct. 13890 13891 * WebCore.pro: 13892 13893 2010-01-07 Eric Carlson <eric.carlson (a] apple.com> 13894 13895 Reviewed by Maciej Stachowiak. 13896 13897 https://bugs.webkit.org/show_bug.cgi?id=33272 13898 'abort' event still fired as a progress event 13899 13900 rdar://6710625 13901 Test media/video-error-abort.html doesn't work 13902 13903 Test: http/tests/media/video-error-abort.html 13904 13905 * html/HTMLMediaElement.cpp: 13906 (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent. 13907 (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed 13908 in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 13909 to match spec wording. 13910 * html/HTMLMediaElement.h: Remove enqueueEvent prototype. 13911 13912 2010-01-07 Kim Grnholm <kim.gronholm (a] nomovok.com> 13913 13914 Reviewed by Antti Koivisto. 13915 13916 Wrong state and TouchLists in TouchEvents 13917 https://bugs.webkit.org/show_bug.cgi?id=32878 13918 13919 Touch events changed to match the API and semantics of iPhone and 13920 Android. Each new touch point press dispatches a touchstart event with 13921 the pressed touch point(s) in the changedTouches list, and a release 13922 dispatches a touchend event with the released touch point(s) in 13923 changedTouches. Moved points dispatch a touchmove event, with the moved 13924 points in changedTouches. Old behaviour emitted only one touchstart when 13925 the first point was pressed and one touchend when the last point was 13926 released, and any events in between were touchmoves. New presses or 13927 releases could only be detected by comparing the lists touches and 13928 changedTouches. 13929 13930 * page/EventHandler.cpp: 13931 (WebCore::EventHandler::handleTouchEvent): 13932 * page/EventHandler.h: 13933 13934 2010-01-07 Kent Tamura <tkent (a] chromium.org> 13935 13936 Reviewed by Maciej Stachowiak. 13937 13938 Remove COM code generation stuff. 13939 https://bugs.webkit.org/show_bug.cgi?id=32854 13940 13941 Remove the followings: 13942 - CodeGeenratorCOM.pm, COM code generator, 13943 - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and 13944 - UUID attributes in IDL files. 13945 13946 * bindings/scripts/CodeGeneratorCOM.pm: Removed. 13947 * css/CSSCharsetRule.idl: 13948 * css/CSSFontFaceRule.idl: 13949 * css/CSSImportRule.idl: 13950 * css/CSSMediaRule.idl: 13951 * css/CSSPageRule.idl: 13952 * css/CSSPrimitiveValue.idl: 13953 * css/CSSRule.idl: 13954 * css/CSSRuleList.idl: 13955 * css/CSSStyleDeclaration.idl: 13956 * css/CSSStyleRule.idl: 13957 * css/CSSStyleSheet.idl: 13958 * css/CSSUnknownRule.idl: 13959 * css/CSSValue.idl: 13960 * css/CSSValueList.idl: 13961 * css/Counter.idl: 13962 * css/MediaList.idl: 13963 * css/RGBColor.idl: 13964 * css/Rect.idl: 13965 * css/StyleSheet.idl: 13966 * css/StyleSheetList.idl: 13967 * css/WebKitCSSKeyframeRule.idl: 13968 * css/WebKitCSSKeyframesRule.idl: 13969 * css/WebKitCSSTransformValue.idl: 13970 * dom/Attr.idl: 13971 * dom/CDATASection.idl: 13972 * dom/CharacterData.idl: 13973 * dom/Comment.idl: 13974 * dom/DOMImplementation.idl: 13975 * dom/Document.idl: 13976 * dom/DocumentFragment.idl: 13977 * dom/DocumentType.idl: 13978 * dom/Element.idl: 13979 * dom/Entity.idl: 13980 * dom/EntityReference.idl: 13981 * dom/Event.idl: 13982 * dom/EventListener.idl: 13983 * dom/EventTarget.idl: 13984 * dom/NamedNodeMap.idl: 13985 * dom/Node.idl: 13986 * dom/NodeList.idl: 13987 * dom/Notation.idl: 13988 * dom/ProcessingInstruction.idl: 13989 * dom/Text.idl: 13990 * html/HTMLAnchorElement.idl: 13991 * html/HTMLAppletElement.idl: 13992 * html/HTMLAreaElement.idl: 13993 * html/HTMLBRElement.idl: 13994 * html/HTMLBaseElement.idl: 13995 * html/HTMLBaseFontElement.idl: 13996 * html/HTMLBlockquoteElement.idl: 13997 * html/HTMLBodyElement.idl: 13998 * html/HTMLButtonElement.idl: 13999 * html/HTMLCanvasElement.idl: 14000 * html/HTMLCollection.idl: 14001 * html/HTMLDListElement.idl: 14002 * html/HTMLDirectoryElement.idl: 14003 * html/HTMLDivElement.idl: 14004 * html/HTMLDocument.idl: 14005 * html/HTMLElement.idl: 14006 * html/HTMLEmbedElement.idl: 14007 * html/HTMLFieldSetElement.idl: 14008 * html/HTMLFontElement.idl: 14009 * html/HTMLFormElement.idl: 14010 * html/HTMLFrameElement.idl: 14011 * html/HTMLFrameSetElement.idl: 14012 * html/HTMLHRElement.idl: 14013 * html/HTMLHeadElement.idl: 14014 * html/HTMLHeadingElement.idl: 14015 * html/HTMLHtmlElement.idl: 14016 * html/HTMLIFrameElement.idl: 14017 * html/HTMLImageElement.idl: 14018 * html/HTMLInputElement.idl: 14019 * html/HTMLIsIndexElement.idl: 14020 * html/HTMLLIElement.idl: 14021 * html/HTMLLabelElement.idl: 14022 * html/HTMLLegendElement.idl: 14023 * html/HTMLLinkElement.idl: 14024 * html/HTMLMapElement.idl: 14025 * html/HTMLMarqueeElement.idl: 14026 * html/HTMLMenuElement.idl: 14027 * html/HTMLMetaElement.idl: 14028 * html/HTMLModElement.idl: 14029 * html/HTMLOListElement.idl: 14030 * html/HTMLObjectElement.idl: 14031 * html/HTMLOptGroupElement.idl: 14032 * html/HTMLOptionElement.idl: 14033 * html/HTMLOptionsCollection.idl: 14034 * html/HTMLParagraphElement.idl: 14035 * html/HTMLParamElement.idl: 14036 * html/HTMLPreElement.idl: 14037 * html/HTMLQuoteElement.idl: 14038 * html/HTMLScriptElement.idl: 14039 * html/HTMLSelectElement.idl: 14040 * html/HTMLStyleElement.idl: 14041 * html/HTMLTableCaptionElement.idl: 14042 * html/HTMLTableCellElement.idl: 14043 * html/HTMLTableColElement.idl: 14044 * html/HTMLTableElement.idl: 14045 * html/HTMLTableRowElement.idl: 14046 * html/HTMLTableSectionElement.idl: 14047 * html/HTMLTextAreaElement.idl: 14048 * html/HTMLTitleElement.idl: 14049 * html/HTMLUListElement.idl: 14050 14051 2010-01-07 Steve Block <steveblock (a] google.com> 14052 14053 Reviewed by Darin Adler. 14054 14055 Adds the ability to increase the delay used when scheduling layout. 14056 https://bugs.webkit.org/show_bug.cgi?id=32875 14057 14058 No new tests possible. 14059 14060 * dom/Document.cpp: Modified. 14061 (WebCore::Document::Document): Modified. Initializes extra layout delay to zero. 14062 (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay. 14063 * dom/Document.h: Modified. 14064 (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay. 14065 14066 2010-01-07 Kent Tamura <tkent (a] chromium.org> 14067 14068 Reviewed by Eric Seidel. 14069 14070 Some IDL files lack "," separators for extended attributes. 14071 https://bugs.webkit.org/show_bug.cgi?id=33190 14072 14073 To find such mistakes, IDLParser.pm rejects whitespace characters in 14074 extended attribute names. 14075 14076 * bindings/scripts/IDLParser.pm: 14077 parseExtendedAttributes rejects whitespace in a name. 14078 * css/WebKitCSSTransformValue.idl: Add missing ",". 14079 * dom/EventTarget.idl: ditto. 14080 14081 2010-01-07 Kent Tamura <tkent (a] chromium.org> 14082 14083 Reviewed by Adam Barth. 14084 14085 Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of 14086 WebKitCSSTransformValue.idl correctly. 14087 https://bugs.webkit.org/show_bug.cgi?id=33193 14088 14089 CodeGeneratorV8.pm doesn't handle inheritance very well and it 14090 tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(), 14091 which does not exist. Because WebKitCSSTransformValue inherits 14092 CSSValueList and CSSValueList already has HadIndexGetter, we don't 14093 need to do anything for WebKitCSSTransformValue about HasIndexGetter. 14094 14095 * bindings/scripts/CodeGeneratorV8.pm: 14096 Reset $hasGetter for WebKitCSSTransformValue. 14097 14098 2010-01-07 Anton Muhin <antonm (a] chromium.org> 14099 14100 Reviewed by Adam Barth. 14101 14102 Do not return strings whose handles are in near death state (that means 14103 they might be GCed) or just empty. 14104 https://bugs.webkit.org/show_bug.cgi?id=31180 14105 14106 * bindings/v8/V8Binding.cpp: 14107 (WebCore::v8ExternalString): 14108 14109 2010-01-06 MORITA Hajime <morrita (a] gmail.com> 14110 14111 Reviewed by Nikolas Zimmermann. 14112 14113 SVG background color on selected text goes wrong when text has 14114 gradient stroke. 14115 https://bugs.webkit.org/show_bug.cgi?id=33069 14116 14117 Introduced SVGTextPaintSubphase like as PaintPhase on html painting, 14118 and paint background and foreground in separate subphase. 14119 14120 Test: svg/text/selection-background-color.xhtml 14121 14122 * rendering/SVGCharacterLayoutInfo.h: 14123 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): 14124 Added m_setupBackgroundCallback, m_setupForegroundCallback 14125 (WebCore::SVGTextChunkWalker::setupBackground): 14126 (WebCore::SVGTextChunkWalker::setupForeground): 14127 Added. 14128 * rendering/SVGInlineTextBox.cpp: 14129 (WebCore::SVGInlineTextBox::paintCharacters): 14130 pass SVGTextPaintInfo instead of SVGPaintServer 14131 * rendering/SVGInlineTextBox.h: 14132 (WebCore::SVGTextPaintSubphase): 14133 (WebCore::SVGTextPaintInfo::SVGTextPaintInfo): 14134 Added. 14135 * rendering/SVGRootInlineBox.cpp: 14136 (WebCore::SVGRootInlineBox::walkTextChunks): 14137 Invoke setupBackground() and setupForeground() 14138 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback): 14139 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback): 14140 (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer): 14141 Added. 14142 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): 14143 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): 14144 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 14145 (WebCore::SVGRootInlineBox::paint): 14146 14147 2010-01-06 Kinuko Yasuda <kinuko (a] chromium.org> 14148 14149 Reviewed by Eric Seidel. 14150 14151 Make windowsKeyCodeForKeyEvent() return correct key code for 14152 numeric-pad arrow keys. 14153 https://bugs.webkit.org/show_bug.cgi?id=33250 14154 14155 Test: fast/events/keydown-numpad-keys.html 14156 14157 * platform/qt/PlatformKeyboardEventQt.cpp: 14158 (WebCore::windowsKeyCodeForKeyEvent): 14159 14160 2009-10-18 Patrick Gansterer <paroga (a] paroga.com> 14161 14162 Reviewed by Dirk Schulze. 14163 14164 Improve DOM performance in large SVG files. 14165 Check the dirty area before painting a path, which prevents unnecessary 14166 clipping and changes to the GraphicsContext. 14167 https://bugs.webkit.org/show_bug.cgi?id=30055 14168 14169 * rendering/RenderPath.cpp: 14170 (WebCore::RenderPath::paint): 14171 14172 2010-01-06 Kent Tamura <tkent (a] chromium.org> 14173 14174 Reviewed by Darin Adler. 14175 14176 Use a static HashMap for HTMLElement::tagPriority(). 14177 https://bugs.webkit.org/show_bug.cgi?id=33269 14178 14179 The prior code compares AtomicStringImpl pointers 18 times at 14180 worst. This change avoids it. 14181 14182 No new tests because this is just a refactoring. 14183 14184 * html/HTMLElement.cpp: 14185 (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value. 14186 (WebCore::initializeTagPriorityMap): Initialization of a static HashMap. 14187 (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap(). 14188 * html/HTMLElement.h: 14189 (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName(). 14190 14191 2010-01-06 Mike Belshe <mike (a] belshe.com> 14192 14193 Add a flag to the ResourceResponse for tracking if a request was 14194 fetched via SPDY. This is plumbed through so that we can inform 14195 a webpage via JavaScript if it was fecthed via the experimental 14196 SPDY protocol. 14197 14198 https://bugs.webkit.org/show_bug.cgi?id=33186 14199 14200 * platform/network/chromium/ResourceResponse.h: 14201 (WebCore::ResourceResponse::wasFetchedViaSpdy): 14202 (WebCore::ResourceResponse::setWasFetchedViaSpdy): 14203 14204 2010-01-06 Jakub Wieczorek <faw217 (a] gmail.com> 14205 14206 Reviewed by Adam Treat. 14207 14208 [Qt] RenderTheme: Missing support for native sliders 14209 14210 https://bugs.webkit.org/show_bug.cgi?id=33122 14211 14212 Implement painting of native slider controls in RenderTheme 14213 and unskip a couple of layout tests that are passing after 14214 this change. 14215 14216 * platform/qt/RenderThemeQt.cpp: 14217 (WebCore::RenderThemeQt::paintSliderTrack): 14218 (WebCore::RenderThemeQt::adjustSliderTrackStyle): 14219 (WebCore::RenderThemeQt::paintSliderThumb): 14220 (WebCore::RenderThemeQt::adjustSliderThumbStyle): 14221 (WebCore::RenderThemeQt::supportsFocus): 14222 (WebCore::RenderThemeQt::adjustSliderThumbSize): 14223 * platform/qt/RenderThemeQt.h: 14224 14225 2010-01-06 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 14226 14227 Reviewed by Darin Adler. 14228 14229 Adjust incorrect comments after r40534. 14230 14231 * bindings/js/JSDOMBinding.cpp: 14232 (WebCore::markActiveObjectsForContext): 14233 14234 2010-01-06 Fumitoshi Ukai <ukai (a] chromium.org> 14235 14236 Unreviewed build fix for chromium. 14237 Add "bool V8WorkerContext::WebSocketEnabled()" 14238 14239 * bindings/v8/custom/V8WorkerContextCustom.cpp: 14240 (WebCore::V8WorkerContext::WebSocketEnabled): 14241 14242 2010-01-06 Fumitoshi Ukai <ukai (a] chromium.org> 14243 14244 Unreviewed build fix. 14245 remove wrong assertion 14246 14247 * websockets/WorkerThreadableWebSocketChannel.cpp: 14248 (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge): 14249 14250 2010-01-06 Fumitoshi Ukai <ukai (a] chromium.org> 14251 14252 Reviewed by David Levin. 14253 14254 Add WebSocket feature in Worker 14255 https://bugs.webkit.org/show_bug.cgi?id=32214 14256 14257 Introduce ThreadableWebSocketChannel interface and add 14258 WorkerThreadableWebSocketChannel for Worker. 14259 WorkerThreadableWebSocketChannel uses WebSocketChannel in the 14260 main thread, which is managed by Peer and communicated via Bridge. 14261 14262 Test: websocket/tests/workers/worker-simple.html 14263 14264 * GNUmakefile.am: 14265 * WebCore.gypi: 14266 * WebCore.pro: 14267 * WebCore.vcproj/WebCore.vcproj: 14268 * WebCore.xcodeproj/project.pbxproj: 14269 * bindings/js/JSWebSocketConstructor.h: 14270 * bindings/js/JSWorkerContextCustom.cpp: 14271 (WebCore::JSWorkerContext::webSocket): 14272 * bindings/v8/WorkerContextExecutionProxy.cpp: 14273 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 14274 * bindings/v8/custom/V8WebSocketCustom.cpp: 14275 (WebCore::V8Custom::v8WebSocketConstructorCallback): 14276 * bindings/v8/custom/V8WorkerContextCustom.cpp: 14277 * platform/CrossThreadCopier.cpp: 14278 (WebCore::::copy): 14279 * platform/CrossThreadCopier.h: 14280 (WebCore::): 14281 * websockets/ThreadableWebSocketChannel.cpp: Added. 14282 * websockets/ThreadableWebSocketChannel.h: Added. 14283 * websockets/ThreadableWebSocketChannelClientWrapper.h: Added. 14284 * websockets/WebSocket.cpp: 14285 (WebCore::WebSocket::connect): 14286 (WebCore::WebSocket::didReceiveMessage): 14287 * websockets/WebSocket.h: 14288 * websockets/WebSocketChannel.h: 14289 (WebCore::WebSocketChannel::refThreadableWebSocketChannel): 14290 (WebCore::WebSocketChannel::derefThreadableWebSocketChannel): 14291 * websockets/WebSocketChannelClient.h: 14292 * websockets/WebSocketHandshake.h: 14293 * websockets/WorkerThreadableWebSocketChannel.cpp: Added. 14294 * websockets/WorkerThreadableWebSocketChannel.h: Added. 14295 * workers/WorkerContext.idl: 14296 14297 2010-01-06 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 14298 14299 Reviewed by Darin Adler. 14300 14301 Modified EventSource event-stream parser to support a single CR as line ending. 14302 https://bugs.webkit.org/show_bug.cgi?id=33207 14303 14304 * page/EventSource.cpp: 14305 (WebCore::EventSource::EventSource): 14306 (WebCore::EventSource::parseEventStream): 14307 * page/EventSource.h: 14308 14309 2010-01-06 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 14310 14311 Reviewed by Xan Lopez. 14312 14313 https://bugs.webkit.org/show_bug.cgi?id=30883 14314 [Gtk] Implement AtkText for HTML elements which contain text 14315 14316 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 14317 (getInterfaceMaskFromObject): 14318 (getPangoLayoutForAtk): 14319 (webkit_accessible_text_get_text): 14320 * accessibility/gtk/AccessibilityObjectAtk.cpp: 14321 (AccessibilityObject::accessibilityPlatformIncludesObject): 14322 14323 2010-01-06 Dan Bernstein <mitz (a] apple.com> 14324 14325 Reviewed by Sam Weinig. 14326 14327 <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long 14328 https://bugs.webkit.org/show_bug.cgi?id=32794 14329 14330 Test: platform/mac/fast/text/line-breaking-with-kerning.html 14331 14332 * rendering/RenderBlockLineLayout.cpp: 14333 (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include 14334 the trailing space when measuring a word, then subtract its width. This 14335 accounts for kerning between the last glyph of the word and the following space. 14336 14337 2010-01-06 Kevin Decker <kdecker (a] apple.com> 14338 14339 Reviewed by Simon Fraser 14340 14341 Second step of: 14342 <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism 14343 14344 * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method. 14345 * Plugins/Hosted/WebHostedNetscapePluginView.mm: 14346 (-[WebHostedNetscapePluginView pluginLayer]): Added. 14347 * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method. 14348 * Plugins/WebNetscapePluginView.mm: 14349 (-[WebNetscapePluginView pluginLayer]): Added. 14350 14351 2010-01-06 Adam Barth <abarth (a] webkit.org> 14352 14353 No review, rolling out r52877. 14354 http://trac.webkit.org/changeset/52877 14355 https://bugs.webkit.org/show_bug.cgi?id=33243 14356 14357 I screwed up landing this patch and only partially applied the patch I 14358 was trying to land. 14359 14360 * bindings/ScriptControllerBase.cpp: 14361 * bindings/js/ScriptController.cpp: 14362 (WebCore::ScriptController::executeScriptInWorld): 14363 * bindings/v8/ScriptController.cpp: 14364 (WebCore::ScriptController::ScriptController): 14365 (WebCore::ScriptController::~ScriptController): 14366 (WebCore::ScriptController::updateSecurityOrigin): 14367 (WebCore::ScriptController::evaluateInIsolatedWorld): 14368 (WebCore::ScriptController::haveInterpreter): 14369 (WebCore::ScriptController::mainWorldWindowShell): 14370 (WebCore::ScriptController::clearWindowShell): 14371 (WebCore::ScriptController::clearForClose): 14372 (WebCore::ScriptController::destroyWindowShell): 14373 (WebCore::ScriptController::updateDocument): 14374 * bindings/v8/ScriptController.h: 14375 (WebCore::ScriptController::proxy): 14376 (WebCore::ScriptController::windowShell): 14377 (WebCore::ScriptController::existingWindowShell): 14378 (WebCore::ScriptController::evaluateInWorld): 14379 * bindings/v8/V8DOMWindowShell.cpp: 14380 (WebCore::V8DOMWindowShell::create): 14381 (WebCore::V8DOMWindowShell::V8DOMWindowShell): 14382 (WebCore::V8DOMWindowShell::initContextIfNeeded): 14383 14384 2010-01-06 Eric Seidel <eric (a] webkit.org> 14385 14386 Unreviewed. Rolling back in a change I should not have rolled out. 14387 14388 The original commit http://trac.webkit.org/changeset/52862 14389 was rolled out again in http://trac.webkit.org/changeset/52871 14390 but I now believe that rollout to be in error. 14391 My sincerest apologies for the churn. 14392 14393 Fix the bug in previous commit: we shouldn't finish 14394 decoding if "sizeOnly" is true. 14395 https://bugs.webkit.org/show_bug.cgi?id=33258 14396 14397 * platform/image-decoders/png/PNGImageDecoder.cpp: 14398 (WebCore::PNGImageReader::decode): 14399 14400 2010-01-06 Adam Barth <abarth (a] webkit.org> 14401 14402 Reviewed by Eric Seidel. 14403 14404 [v8] Let ScriptController have more than one windowShell 14405 https://bugs.webkit.org/show_bug.cgi?id=33243 14406 14407 This patch lets ScriptController have more than one windowShell. We're 14408 currently only using one of them (for the main world), but this patch 14409 lets us use other ones for isolated worlds soon. 14410 14411 * bindings/ScriptControllerBase.cpp: 14412 (WebCore::ScriptController::executeScriptInWorld): 14413 * bindings/js/ScriptController.cpp: 14414 * bindings/v8/ScriptController.cpp: 14415 (WebCore::ScriptController::createWorld): 14416 (WebCore::ScriptController::initScript): 14417 (WebCore::ScriptController::ScriptController): 14418 (WebCore::ScriptController::~ScriptController): 14419 (WebCore::ScriptController::updateSecurityOrigin): 14420 (WebCore::ScriptController::evaluateInIsolatedWorld): 14421 (WebCore::ScriptController::evaluateInWorld): 14422 (WebCore::ScriptController::mainWorldWindowShell): 14423 (WebCore::ScriptController::clearWindowShell): 14424 (WebCore::ScriptController::clearForClose): 14425 (WebCore::ScriptController::destroyWindowShell): 14426 (WebCore::ScriptController::updateDocument): 14427 * bindings/v8/ScriptController.h: 14428 (WebCore::ScriptController::windowShell): 14429 (WebCore::ScriptController::existingWindowShell): 14430 (WebCore::ScriptController::globalObject): 14431 (WebCore::ScriptController::proxy): 14432 * bindings/v8/V8DOMWindowShell.cpp: 14433 (WebCore::V8DOMWindowShell::create): 14434 (WebCore::V8DOMWindowShell::V8DOMWindowShell): 14435 (WebCore::V8DOMWindowShell::initContextIfNeeded): 14436 * bindings/v8/V8DOMWindowShell.h: 14437 * bindings/v8/V8DOMWrapper.cpp: 14438 (WebCore::V8DOMWrapper::instantiateV8Object): 14439 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 14440 14441 2010-01-06 Mark Rowe <mrowe (a] apple.com> 14442 14443 Fix the Mac build. 14444 14445 * WebCore.base.exp: Export symbols WebKit would like to use. 14446 * plugins/PluginWidget.h: 14447 (WebCore::PluginWidget::PluginWidget): Redeclare a constructor. 14448 14449 2010-01-06 Kevin Decker <kdecker (a] apple.com> 14450 14451 Reviewed by Eric Carlson. 14452 14453 First step toward: 14454 <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism 14455 14456 Small refactoring moving the PluginWidget class from WebKit to WebCore. 14457 * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role 14458 * platform/Widget.h: Added isPluginWidget(). 14459 (WebCore::Widget::isPluginWidget): 14460 * plugins/PluginWidget.h: Added. 14461 (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView. 14462 * plugins/mac/PluginWidgetMac.mm: Added. 14463 (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget 14464 14465 2010-01-06 Eric Seidel <eric (a] webkit.org> 14466 14467 No review, rolling out r52862. 14468 http://trac.webkit.org/changeset/52862 14469 https://bugs.webkit.org/show_bug.cgi?id=33258 14470 14471 Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the 14472 Leopard Release builder. 14473 14474 * platform/image-decoders/png/PNGImageDecoder.cpp: 14475 (WebCore::PNGImageReader::decode): 14476 14477 2010-01-06 Nikolas Zimmermann <nzimmermann (a] rim.com> 14478 14479 Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited. 14480 14481 * Configurations/Base.xcconfig: 14482 14483 2010-01-05 Nate Chapin <japhet (a] chromium.org> 14484 14485 Reviewed by Dimitri Glazkov. 14486 14487 Generate header declarations for V8 binding security checks 14488 and delete V8CustomBinding.cpp 14489 14490 * Android.v8bindings.mk: Removed V8CustomBinding.cpp. 14491 * WebCore.gypi: Removed V8CustomBinding.cpp. 14492 * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations. 14493 * bindings/v8/V8DOMWindowShell.cpp: 14494 (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp. 14495 (WebCore::reportUnsafeJavaScriptAccess): 14496 (WebCore::V8DOMWindowShell::createNewContext): 14497 (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp. 14498 * bindings/v8/V8DOMWindowShell.h: 14499 * bindings/v8/V8DOMWrapper.cpp: 14500 (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp. 14501 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 14502 (WebCore::V8DOMWrapper::getTemplate): 14503 * bindings/v8/custom/V8CustomBinding.cpp: Removed. 14504 * bindings/v8/custom/V8CustomBinding.h: 14505 * bindings/v8/custom/V8DOMWindowCustom.cpp: 14506 (WebCore::V8DOMWindow::locationAccessorSetter): 14507 (WebCore::V8DOMWindow::namedSecurityCheck): 14508 (WebCore::V8DOMWindow::indexedSecurityCheck): 14509 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 14510 (WebCore::V8Document::locationAccessorSetter): 14511 * bindings/v8/custom/V8HistoryCustom.cpp: 14512 (WebCore::V8History::indexedSecurityCheck): 14513 (WebCore::V8History::namedSecurityCheck): 14514 * bindings/v8/custom/V8LocationCustom.cpp: 14515 (WebCore::V8Location::indexedSecurityCheck): 14516 (WebCore::V8Location::namedSecurityCheck): 14517 14518 2010-01-06 Nikolas Zimmermann <nzimmermann (a] rim.com> 14519 14520 Reviewed by Dirk Schulze. 14521 14522 Marker code is buggy: referencePoint translation is off 14523 https://bugs.webkit.org/show_bug.cgi?id=33012 14524 14525 Rewrite marker code, as it had many issues: 14526 - Correct refX/refY handling (covered by new marker-referencePoint.svg test) 14527 - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects 14528 - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo) 14529 - Fix SVGResource assuming that there is only one resource per resource type per element. Markers 14530 can have three different resources of the same type (three markers, start/mid/end markers) 14531 14532 Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before. 14533 14534 Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before). 14535 Test: svg/custom/marker-referencePoint.svg 14536 svg/custom/marker-opacity.svg 14537 svg/custom/marker-strokeWidth-changes.svg 14538 14539 * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build. 14540 * GNUmakefile.am: Ditto. 14541 * WebCore.gypi: Ditto. 14542 * WebCore.pro: Ditto. 14543 * WebCore.vcproj/WebCore.vcproj: Ditto. 14544 * WebCore.xcodeproj/project.pbxproj: Ditto. 14545 * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML. 14546 (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>. 14547 * rendering/RenderPath.cpp: 14548 (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase. 14549 (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time. 14550 (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes. 14551 (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now. 14552 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries. 14553 * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency. 14554 (WebCore::RenderPath::path): Inline this accessor. 14555 * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer). 14556 * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated. 14557 (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code). 14558 (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again. 14559 * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer. 14560 * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights. 14561 (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo. 14562 (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker. 14563 (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout. 14564 (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values. 14565 (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method. 14566 (WebCore::SVGMarkerData::updateOutslope): Ditto. 14567 (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation. 14568 (WebCore::SVGMarkerData::updateInslope): Helper method. 14569 * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time. 14570 (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo): 14571 (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo): 14572 (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles) 14573 (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers(). 14574 (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers. 14575 (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method. 14576 * rendering/SVGMarkerLayoutInfo.h: Added. 14577 (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix. 14578 (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers. 14579 (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto. 14580 (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto. 14581 * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer() 14582 (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes. 14583 (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation. 14584 * svg/SVGSVGElement.cpp: 14585 (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes. 14586 * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below. 14587 (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before. 14588 * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources 14589 and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years 14590 ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type 14591 per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting. 14592 (WebCore::resourceSet): Add global static HashSet<SVGResource*>. 14593 (WebCore::SVGResource::SVGResource): Add us to the resourceSet. 14594 (WebCore::SVGResource::~SVGResource): Remove us from resourceSet. 14595 (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor). 14596 (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types. 14597 * svg/graphics/SVGResourceMarker.cpp: 14598 (WebCore::SVGResourceMarker::SVGResourceMarker): 14599 (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker. 14600 (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer. 14601 (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes. 14602 * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values. 14603 (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker(). 14604 (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef(). 14605 (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY(). 14606 14607 2010-01-06 Dirk Schulze <krit (a] webkit.org> 14608 14609 Reviewed by Nikolas Zimmermann. 14610 14611 SVG feImage support 14612 https://bugs.webkit.org/show_bug.cgi?id=31905 14613 14614 This implements the SVG Filter effect feImage with support of fragment urls. 14615 It also includes a bug fix for feComposite. feComposite didn't cover values 14616 bigger than 255 correctly on composite oeprator arithmetic. 14617 14618 Tests: There are already many feImage tests in trunk. They just needed updated 14619 pixel test results. 14620 The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg 14621 and depends on feImage. 14622 14623 * platform/graphics/filters/FEComposite.cpp: 14624 (WebCore::arithmetic): 14625 * rendering/RenderSVGImage.cpp: 14626 (WebCore::RenderSVGImage::paint): 14627 * rendering/RenderSVGImage.h: 14628 * svg/SVGFEImageElement.cpp: 14629 (WebCore::SVGFEImageElement::requestImageResource): 14630 (WebCore::SVGFEImageElement::parseMappedAttribute): 14631 (WebCore::SVGFEImageElement::notifyFinished): 14632 (WebCore::SVGFEImageElement::build): 14633 * svg/SVGFEImageElement.h: 14634 * svg/SVGFEImageElement.idl: 14635 * svg/SVGPreserveAspectRatio.cpp: 14636 (WebCore::SVGPreserveAspectRatio::transformRect): 14637 * svg/SVGPreserveAspectRatio.h: 14638 * svg/graphics/filters/SVGFEImage.cpp: 14639 (WebCore::FEImage::FEImage): 14640 (WebCore::FEImage::create): 14641 (WebCore::FEImage::apply): 14642 * svg/graphics/filters/SVGFEImage.h: 14643 14644 2010-01-06 Yong Li <yoli (a] rim.com> 14645 14646 Reviewed by Darin Adler. 14647 14648 Fix the bug in previous commit: we shouldn't finish 14649 decoding if "sizeOnly" is true. 14650 https://bugs.webkit.org/show_bug.cgi?id=33258 14651 14652 * platform/image-decoders/png/PNGImageDecoder.cpp: 14653 (WebCore::PNGImageReader::decode): 14654 14655 2010-01-06 Eric Seidel <eric (a] webkit.org> 14656 14657 No review, rolling out r52855. 14658 http://trac.webkit.org/changeset/52855 14659 https://bugs.webkit.org/show_bug.cgi?id=33222 14660 14661 Caused 6 layout tests to fail on Mac 14662 14663 * loader/DocumentLoader.cpp: 14664 (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): 14665 * loader/MainResourceLoader.cpp: 14666 (WebCore::MainResourceLoader::continueAfterContentPolicy): 14667 * loader/ResourceLoader.cpp: 14668 * loader/ResourceLoader.h: 14669 14670 2010-01-06 Yong Li <yoli (a] rim.com> 14671 14672 Reviewed by Darin Adler. 14673 14674 Let ReourceLoader deliver segmented data 14675 when loading resource from a SharedBuffer object. 14676 https://bugs.webkit.org/show_bug.cgi?id=33222 14677 14678 * loader/DocumentLoader.cpp: 14679 (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): 14680 * loader/MainResourceLoader.cpp: 14681 (WebCore::MainResourceLoader::continueAfterContentPolicy): 14682 * loader/ResourceLoader.cpp: 14683 (WebCore::ResourceLoader::didReceiveData): 14684 * loader/ResourceLoader.h: 14685 14686 2010-01-06 Simon Hausmann <simon.hausmann (a] nokia.com> 14687 14688 Unreviewed trivial Qt build fix. 14689 14690 Prefix the phonon includes with phonon/ to avoid conflicts with the S60 14691 audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ). 14692 14693 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 14694 14695 2010-01-05 Darin Fisher <darin (a] chromium.org> 14696 14697 Reviewed by Adam Barth. 14698 14699 Moving v8::HandleScope up above declaration of v8::Local to fix a 14700 Chromium startup crash. 14701 14702 * bindings/v8/V8Proxy.cpp: 14703 (WebCore::V8Proxy::setContextDebugId): 14704 14705 2010-01-05 Adam Barth <abarth (a] webkit.org> 14706 14707 Reviewed by Dimitri Glazkov. 14708 14709 [v8] Move V8DOMWindowShell to ScriptController 14710 https://bugs.webkit.org/show_bug.cgi?id=33232 14711 14712 This patch moves V8DOMWindow shell to ScriptController, where the 14713 window shells live in JSC land. The next step will be to allow for 14714 more than one window shell per script controller. 14715 14716 * bindings/v8/ScriptController.cpp: 14717 (WebCore::ScriptController::ScriptController): 14718 (WebCore::ScriptController::~ScriptController): 14719 (WebCore::ScriptController::updateSecurityOrigin): 14720 (WebCore::ScriptController::evaluateInIsolatedWorld): 14721 (WebCore::ScriptController::haveInterpreter): 14722 (WebCore::ScriptController::mainWorldWindowShell): 14723 (WebCore::ScriptController::clearWindowShell): 14724 (WebCore::ScriptController::clearForClose): 14725 (WebCore::ScriptController::destroyWindowShell): 14726 (WebCore::ScriptController::updateDocument): 14727 * bindings/v8/ScriptController.h: 14728 * bindings/v8/V8DOMWindowShell.cpp: 14729 (WebCore::V8DOMWindowShell::~V8DOMWindowShell): 14730 * bindings/v8/V8DOMWindowShell.h: 14731 (WebCore::V8DOMWindowShell::localHandleForContext): 14732 * bindings/v8/V8DOMWrapper.cpp: 14733 (WebCore::V8DOMWrapper::instantiateV8Object): 14734 (WebCore::V8DOMWrapper::convertDocumentToV8Object): 14735 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 14736 * bindings/v8/V8IsolatedContext.cpp: 14737 (WebCore::V8IsolatedContext::V8IsolatedContext): 14738 * bindings/v8/V8Proxy.cpp: 14739 (WebCore::V8Proxy::V8Proxy): 14740 (WebCore::V8Proxy::~V8Proxy): 14741 (WebCore::V8Proxy::handleOutOfMemory): 14742 (WebCore::V8Proxy::evaluateInIsolatedWorld): 14743 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 14744 (WebCore::V8Proxy::context): 14745 (WebCore::V8Proxy::mainWorldContext): 14746 (WebCore::V8Proxy::currentContext): 14747 (WebCore::V8Proxy::setContextDebugId): 14748 * bindings/v8/V8Proxy.h: 14749 * bindings/v8/WorldContextHandle.cpp: 14750 (WebCore::WorldContextHandle::adjustedContext): 14751 14752 2010-01-05 Kent Tamura <tkent (a] chromium.org> 14753 14754 Reviewed by Maciej Stachowiak. 14755 14756 Implement HTML5 <header> and <footer> elements. 14757 https://bugs.webkit.org/show_bug.cgi?id=32943 14758 14759 <header> and <footer> should behave the same as <nav>, <section>, 14760 <article>, and <aside>. The HTML parser doesn't need to restrict 14761 the nesting of header/footer elements. 14762 14763 Tests: fast/html/footer-element.html 14764 fast/html/header-element.html 14765 14766 * css/html.css: Add header/footer as block elements. 14767 * editing/htmlediting.cpp: 14768 (WebCore::validBlockTag): Add headerTag and footerTag. 14769 * html/HTMLElement.cpp: 14770 (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag. 14771 (WebCore::blockTagList): Add headerTag and footerTag. 14772 * html/HTMLParser.cpp: 14773 (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag() 14774 (WebCore::HTMLParser::getNode): Add headerTag and footerTag. 14775 (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag(). 14776 * html/HTMLParser.h: 14777 - Rename isHeaderTag() to isHeadingTag() 14778 - Remove non-existing popNestedHeaderTag(). 14779 * html/HTMLTagNames.in: Add header and footer. 14780 14781 2010-01-05 Darin Adler <darin (a] apple.com> 14782 14783 Reviewed by Dan Bernstein. 14784 14785 CDATA sections are merged into Text nodes when normalize() is used 14786 https://bugs.webkit.org/show_bug.cgi?id=33191 14787 14788 Test: fast/dom/Node/normalize-with-cdata.html 14789 14790 * dom/Node.cpp: 14791 (WebCore::Node::normalize): Use nodeType instead of isTextNode. 14792 14793 2010-01-05 James Robinson <jamesr (a] google.com> 14794 14795 Reviewed by Eric Seidel. 14796 14797 Typing in Google Wave repaints the whole screen 14798 https://bugs.webkit.org/show_bug.cgi?id=32295 14799 14800 Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children. 14801 The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated. This heuristic 14802 fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and 14803 painting. This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this 14804 structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant. 14805 14806 Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests) 14807 14808 * rendering/RenderBlockLineLayout.cpp: 14809 (WebCore::RenderBlock::layoutInlineChildren): 14810 14811 2010-01-05 James Robinson <jamesr (a] chromium.org> 14812 14813 Reviewed by David Hyatt. 14814 14815 Cleans up line box clearing when a RenderBlock loses its last child. 14816 https://bugs.webkit.org/show_bug.cgi?id=33228 14817 14818 The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out. 14819 14820 14821 No new tests. 14822 14823 * rendering/RenderBlock.cpp: 14824 (WebCore::RenderBlock::removeChild): 14825 * rendering/RenderBlockLineLayout.cpp: 14826 (WebCore::RenderBlock::layoutInlineChildren): 14827 14828 2010-01-05 Alexander Pavlov <apavlov (a] chromium.org> 14829 14830 Reviewed by Pavel Feldman. 14831 14832 Provide the "documentURL" property for documents and frame owner elements 14833 14834 This is necessary to determine owner document URLs for nodes (all nodes have 14835 the top-level document set as ownerDocument). 14836 https://bugs.webkit.org/show_bug.cgi?id=33025 14837 14838 * inspector/InspectorDOMAgent.cpp: 14839 (WebCore::InspectorDOMAgent::buildObjectForNode): 14840 * inspector/front-end/DOMAgent.js: 14841 (WebInspector.DOMNode): 14842 14843 2010-01-05 Peter Kasting <pkasting (a] google.com> 14844 14845 Reviewed by Adam Barth. 14846 14847 Public GIF decoder should stop decoding when allocation fails 14848 https://bugs.webkit.org/show_bug.cgi?id=33231 14849 14850 * platform/image-decoders/gif/GIFImageDecoder.cpp: 14851 (WebCore::GIFImageDecoder::haveDecodedRow): 14852 * platform/image-decoders/gif/GIFImageDecoder.h: 14853 * platform/image-decoders/gif/GIFImageReader.cpp: 14854 (GIFImageReader::output_row): 14855 (GIFImageReader::do_lzw): 14856 (GIFImageReader::read): 14857 * platform/image-decoders/gif/GIFImageReader.h: 14858 14859 2010-01-05 Yong Li <yoli (a] rim.com> 14860 14861 Reviewed by Darin Adler. 14862 14863 Make PNG image decoder work with segmented SharedBuffer 14864 https://bugs.webkit.org/show_bug.cgi?id=33213 14865 14866 * platform/image-decoders/ImageDecoder.cpp: 14867 (WebCore::ImageDecoder::create): 14868 * platform/image-decoders/ImageDecoder.h: 14869 (WebCore::ImageDecoder::ImageDecoder): 14870 (WebCore::ImageDecoder::isAllDataReceived): 14871 (WebCore::ImageDecoder::setData): 14872 * platform/image-decoders/png/PNGImageDecoder.cpp: 14873 (WebCore::PNGImageReader::PNGImageReader): 14874 (WebCore::PNGImageReader::close): 14875 (WebCore::PNGImageReader::currentBufferSize): 14876 (WebCore::PNGImageReader::setComplete): 14877 (WebCore::PNGImageReader::decode): 14878 (WebCore::PNGImageDecoder::decode): 14879 (WebCore::PNGImageDecoder::headerAvailable): 14880 (WebCore::PNGImageDecoder::pngComplete): 14881 14882 2010-01-05 Adam Barth <abarth (a] webkit.org> 14883 14884 Rubber stamped by Dimitri Glazkov. 14885 14886 Fix namespace indent for ScriptController. 14887 14888 * bindings/v8/ScriptController.h: 14889 (WebCore::ScriptController::proxy): 14890 (WebCore::ScriptController::windowShell): 14891 (WebCore::ScriptController::existingWindowShell): 14892 (WebCore::ScriptController::xssAuditor): 14893 (WebCore::ScriptController::setProcessingTimerCallback): 14894 (WebCore::ScriptController::setPaused): 14895 (WebCore::ScriptController::isPaused): 14896 (WebCore::ScriptController::sourceURL): 14897 (WebCore::ScriptController::evaluateInWorld): 14898 14899 2010-01-05 Rachel Petterson <rlp (a] google.com> 14900 14901 Reviewed by Simon Fraser. 14902 14903 Implement most cases of texImage2D and texSubImage2D 14904 https://bugs.webkit.org/show_bug.cgi?id=31562 14905 14906 This fix is with Chris Marrin <cmarrin (a] apple.com>. 14907 Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493 14908 14909 From Chris: 14910 This implements all cases except HTMLVideoElement. It changes 14911 the bindings to accept all parameter forms of the call. Then 14912 it plumbs the calls through WebGLRenderingContext down to 14913 GraphicsContext3D for the actual implementation. 14914 14915 From Rachel: 14916 This implements texImage2D for chromium. It also implements the V8 14917 bindings for texSubImage2D and updates the V8 bindings for texImage2D. 14918 14919 Tests: fast/canvas/webgl/texImage2DImageDataTest.html 14920 fast/canvas/webgl/texImageTest.html 14921 14922 * bindings/js/JSWebGLRenderingContextCustom.cpp: 14923 (WebCore::JSWebGLRenderingContext::texImage2D): 14924 (WebCore::JSWebGLRenderingContext::texSubImage2D): 14925 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 14926 (WebCore::CALLBACK_FUNC_DECL): 14927 * html/canvas/WebGLRenderingContext.cpp: 14928 (WebCore::WebGLRenderingContext::texImage2D): 14929 (WebCore::WebGLRenderingContext::texSubImage2D): 14930 * html/canvas/WebGLRenderingContext.h: 14931 * html/canvas/WebGLRenderingContext.idl: 14932 * platform/graphics/GraphicsContext3D.h: 14933 * platform/graphics/mac/GraphicsContext3DMac.cpp: 14934 (WebCore::imageToTexture): 14935 (WebCore::GraphicsContext3D::texImage2D): 14936 (WebCore::GraphicsContext3D::texSubImage2D): 14937 14938 2010-01-04 Brian Weinstein <bweinstein (a] apple.com> 14939 14940 Reviewed by Tim Hatcher. 14941 14942 Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>. 14943 Web Inspector: Context Menus should be used in more places. 14944 14945 Add context menus to handle the interaction with breakpoints in the Source Frame. Currently 14946 we use left click to add/disable/remove breakpoints, and left click to edit (for conditional 14947 breakpoints), but this is hard to discover and behaves differently than Xcode. 14948 14949 Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and 14950 removes it if there is one. 14951 14952 On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional 14953 Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit 14954 the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state). 14955 14956 * English.lproj/localizedStrings.js: Added localized context menu entries. 14957 * inspector/front-end/SourceFrame.js: 14958 (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint): 14959 (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers. 14960 (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove). 14961 14962 2010-01-05 Chris Fleizach <cfleizach (a] apple.com> 14963 14964 Reviewed by Eric Seidel. 14965 14966 AX: need a way to get the progress of a webpage load 14967 https://bugs.webkit.org/show_bug.cgi?id=33221 14968 14969 Test: platform/mac/accessibility/estimated-progress.html 14970 14971 * accessibility/AccessibilityObject.h: 14972 (WebCore::AccessibilityObject::estimatedLoadingProgress): 14973 * accessibility/AccessibilityRenderObject.cpp: 14974 (WebCore::AccessibilityRenderObject::estimatedLoadingProgress): 14975 * accessibility/AccessibilityRenderObject.h: 14976 * accessibility/mac/AccessibilityObjectWrapper.mm: 14977 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 14978 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 14979 14980 2010-01-05 Yael Aharon <yael.aharon (a] nokia.com> 14981 14982 Reviewed by Kenneth Rohde Christiansen. 14983 14984 [Qt] Drag & drop layout tests fail even when run manually 14985 https://bugs.webkit.org/show_bug.cgi?id=33055 14986 14987 No new tests. Fix 3 layout tests when run manually. 14988 fast/events/drag-and-drop.html 14989 fast/events/drag-and-drop-dataTransfer-types-nocrash.html 14990 fast/events/drag-and-drop-fire-drag-dragover.html 14991 Running these tests in DRT will be fixed in 31332. 14992 14993 * page/qt/DragControllerQt.cpp: 14994 (WebCore::DragController::cleanupAfterSystemDrag): 14995 Cleanup the drag operation if it failed to complete, 14996 Otherwise, new drag operations will not be possible. 14997 14998 2010-01-05 Gustavo Noronha Silva <gns (a] gnome.org> 14999 15000 Reviewed by Xan Lopez. 15001 15002 Based on idea and original patch by Evan Martin. 15003 15004 Remove libWebCore intermediate library, to improve link time. 15005 15006 [GTK] Build time must be reduced 15007 https://bugs.webkit.org/show_bug.cgi?id=32921 15008 15009 * GNUmakefile.am: 15010 15011 2010-01-05 Nate Chapin <japhet (a] chromium.org> 15012 15013 Reviewed by Adam Barth. 15014 15015 Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and 15016 remove the v8-specific pieces. 15017 15018 https://bugs.webkit.org/show_bug.cgi?id=33182 15019 15020 * bindings/BindingSecurity.h: 15021 (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp. 15022 (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp. 15023 * bindings/v8/custom/V8AttrCustom.cpp: 15024 (WebCore::V8Attr::valueAccessorSetter): 15025 * bindings/v8/custom/V8CustomBinding.cpp: 15026 * bindings/v8/custom/V8CustomBinding.h: 15027 * bindings/v8/custom/V8ElementCustom.cpp: 15028 (WebCore::V8Element::setAttributeCallback): 15029 (WebCore::V8Element::setAttributeNodeCallback): 15030 (WebCore::V8Element::setAttributeNSCallback): 15031 (WebCore::V8Element::setAttributeNodeNSCallback): 15032 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 15033 (WebCore::V8HTMLFrameElement::srcAccessorSetter): 15034 (WebCore::V8HTMLFrameElement::locationAccessorSetter): 15035 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 15036 (WebCore::V8HTMLIFrameElement::srcAccessorSetter): 15037 15038 2010-01-05 Adam Barth <abarth (a] webkit.org> 15039 15040 Reviewed by Dimitri Glazkov. 15041 15042 [V8] Separate DOMWrapperWorld from V8IsolatedWorld 15043 https://bugs.webkit.org/show_bug.cgi?id=33087 15044 15045 This change separate DOMWrapperWorld and IsolatedWorld from 15046 V8IsolatedWorld. I've also renamed V8IsolatedWorld to 15047 V8IsolatedContext in preparation for having more than one context in a 15048 single isolated world. 15049 15050 This patch moves us closer to two goals: 15051 1) Matching the structure of the JSC implementation of isolated worlds. 15052 2) Letting scripts running in isolated contexts see into other iframes 15053 (which requires having more than one context in an isolated world.) 15054 15055 * WebCore.gypi: 15056 * bindings/v8/DOMWrapperWorld.cpp: Added. 15057 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 15058 (WebCore::mainThreadNormalWorld): 15059 * bindings/v8/DOMWrapperWorld.h: Added. 15060 (WebCore::DOMWrapperWorld::create): 15061 * bindings/v8/IsolatedWorld.cpp: Added. 15062 (WebCore::IsolatedWorld::IsolatedWorld): 15063 (WebCore::IsolatedWorld::~IsolatedWorld): 15064 * bindings/v8/IsolatedWorld.h: Added. 15065 (WebCore::IsolatedWorld::create): 15066 (WebCore::IsolatedWorld::count): 15067 (WebCore::IsolatedWorld::domDataStore): 15068 * bindings/v8/MainThreadDOMData.cpp: 15069 (WebCore::MainThreadDOMData::getMainThreadStore): 15070 * bindings/v8/ScriptController.cpp: 15071 (WebCore::ScriptController::currentScriptState): 15072 * bindings/v8/ScriptState.cpp: 15073 * bindings/v8/ScriptState.h: 15074 * bindings/v8/V8DOMWindowShell.cpp: 15075 * bindings/v8/V8DOMWrapper.cpp: 15076 (WebCore::V8DOMWrapper::instantiateV8Object): 15077 * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp. 15078 (WebCore::V8IsolatedContext::contextWeakReferenceCallback): 15079 (WebCore::V8IsolatedContext::V8IsolatedContext): 15080 (WebCore::V8IsolatedContext::destroy): 15081 (WebCore::V8IsolatedContext::~V8IsolatedContext): 15082 (WebCore::V8IsolatedContext::scriptState): 15083 * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h. 15084 (WebCore::V8IsolatedContext::getEntered): 15085 (WebCore::V8IsolatedContext::world): 15086 * bindings/v8/V8IsolatedWorld.cpp: Removed. 15087 * bindings/v8/V8IsolatedWorld.h: Removed. 15088 * bindings/v8/V8Proxy.cpp: 15089 (WebCore::V8Proxy::evaluateInIsolatedWorld): 15090 (WebCore::V8Proxy::context): 15091 * bindings/v8/V8Proxy.h: 15092 * bindings/v8/WorldContextHandle.cpp: 15093 (WebCore::WorldContextHandle::WorldContextHandle): 15094 15095 2010-01-05 Adam Barth <abarth (a] webkit.org> 15096 15097 Reviewed by Dimitri Glazkov. 15098 15099 [V8] Move createWindow into generic bindings so it can be shared with JSC 15100 https://bugs.webkit.org/show_bug.cgi?id=33201 15101 15102 This patch moves createWindow from V8-specific code into the generic 15103 bindings so that is can be re-used by the JavaScriptCore bindings. I 15104 haven't actually moved the JSC bindings over to using this yet. 15105 15106 Also, I organized the generic bindings a bit more as it's becoming 15107 clearer how things are going to shape up. There are still some 15108 question marks, but hopefully the answers will become clear as we 15109 progress. 15110 15111 * WebCore.gyp/WebCore.gyp: 15112 * WebCore.gypi: 15113 * bindings/generic/BindingDOMWindow.h: Added. 15114 (WebCore::::createWindow): 15115 * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h. 15116 (WebCore::BindingSecurity::BindingSecurity): 15117 (WebCore::::canAccessWindow): 15118 (WebCore::::canAccessFrame): 15119 (WebCore::::checkNodeSecurity): 15120 * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp. 15121 (WebCore::BindingSecurityBase::getDOMWindow): 15122 (WebCore::BindingSecurityBase::getFrame): 15123 (WebCore::BindingSecurityBase::canAccess): 15124 * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h. 15125 * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h. 15126 (WebCore::): 15127 * bindings/v8/V8Binding.h: 15128 * bindings/v8/custom/V8DOMWindowCustom.cpp: 15129 (WebCore::V8DOMWindow::showModalDialogCallback): 15130 (WebCore::V8DOMWindow::openCallback): 15131 * bindings/v8/specialization/V8BindingDOMWindow.h: Added. 15132 (WebCore::V8BindingDOMWindow::storeDialogArgs): 15133 * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp. 15134 (WebCore::::Only): 15135 (WebCore::::getActiveWindow): 15136 (WebCore::::immediatelyReportUnsafeAccessTo): 15137 * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h. 15138 (WebCore::): 15139 15140 2010-01-05 Dominic Mazzoni <dmazzoni (a] google.com> 15141 15142 Reviewed by Darin Adler. 15143 15144 https://bugs.webkit.org/show_bug.cgi?id=32571 15145 15146 For an object with an aria role of "checkbox" or "radiobutton", 15147 Use the "aria-checked" attribute to determine if it's checked. 15148 15149 Test: accessibility/aria-checkbox-checked.html 15150 15151 * accessibility/AccessibilityRenderObject.cpp: 15152 (WebCore::AccessibilityRenderObject::isChecked): 15153 15154 2010-01-05 Yong Li <yoli (a] rim.com> 15155 15156 Reviewed by Adam Roben. 15157 15158 Fix build warnings blindly 15159 https://bugs.webkit.org/show_bug.cgi?id=33178 15160 15161 * platform/SharedBuffer.cpp: 15162 * platform/SharedBuffer.h: 15163 (WebCore::SharedBuffer::append): 15164 15165 2010-01-05 Dan Bernstein <mitz (a] apple.com> 15166 15167 Build fix 15168 15169 * platform/SharedBuffer.cpp: 15170 15171 2010-01-05 Yong Li <yong.li (a] torchmobile.com> 15172 15173 Reviewed by Darin Adler. 15174 15175 Fix an obvious bug and build errors in previous commit (r52795) 15176 https://bugs.webkit.org/show_bug.cgi?id=33178 15177 15178 * platform/SharedBuffer.h: 15179 (WebCore::SharedBuffer::isEmpty): 15180 * platform/cf/SharedBufferCF.cpp: 15181 (WebCore::SharedBuffer::maybeTransferPlatformData): 15182 15183 2010-01-04 Yong Li <yoli (a] rim.com> 15184 15185 Reviewed by Darin Adler. 15186 15187 Let SharedBuffer use a group of memory segments internally. 15188 It will merge the segments into a flat consecutive buffer only when 15189 necessary. 15190 https://bugs.webkit.org/show_bug.cgi?id=33178 15191 15192 * platform/SharedBuffer.cpp: 15193 (WebCore::allocateSegment): 15194 (WebCore::freeSegment): 15195 (WebCore::SharedBuffer::SharedBuffer): 15196 (WebCore::SharedBuffer::~SharedBuffer): 15197 (WebCore::SharedBuffer::adoptVector): 15198 (WebCore::SharedBuffer::size): 15199 (WebCore::SharedBuffer::data): 15200 (WebCore::SharedBuffer::append): 15201 (WebCore::SharedBuffer::clear): 15202 (WebCore::SharedBuffer::copy): 15203 (WebCore::SharedBuffer::buffer): 15204 (WebCore::SharedBuffer::getSomeData): 15205 * platform/SharedBuffer.h: 15206 * platform/cf/SharedBufferCF.cpp: 15207 (WebCore::SharedBuffer::maybeTransferPlatformData): 15208 * platform/haiku/SharedBufferHaiku.cpp: 15209 (WebCore::SharedBuffer::createWithContentsOfFile): 15210 * platform/qt/SharedBufferQt.cpp: 15211 (WebCore::SharedBuffer::createWithContentsOfFile): 15212 * platform/win/SharedBufferWin.cpp: 15213 (WebCore::SharedBuffer::createWithContentsOfFile): 15214 15215 2010-01-05 Simon Hausmann <simon.hausmann (a] nokia.com> 15216 15217 Unreviewed trivial Symbian build fix 15218 15219 * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion 15220 15221 2010-01-05 Simon Hausmann <simon.hausmann (a] nokia.com> 15222 15223 Reviewed by Tor Arne Vestb. 15224 15225 [Qt] Fix broken export macros in package builds. 15226 15227 https://bugs.webkit.org/show_bug.cgi?id=33202 15228 15229 Always define QT_MAKEDLL unless we're doing a static 15230 build or we're building inside of Qt. When building 15231 inside of Qt the correct define is pulled from qbase.pri. 15232 15233 * WebCore.pro: 15234 15235 2010-01-04 Maciej Stachowiak <mjs (a] apple.com> 15236 15237 Reviewed by Darin Fisher. 15238 15239 Reorganize, document and rename OS() platform macros. 15240 https://bugs.webkit.org/show_bug.cgi?id=33198 15241 15242 Adapt to name changes. Also fixed a few incorrect OS checks. 15243 15244 * accessibility/AccessibilityObject.h: 15245 * config.h: 15246 * dom/SelectElement.cpp: 15247 (WebCore::SelectElement::listBoxDefaultEventHandler): 15248 * inspector/InspectorFrontendHost.cpp: 15249 (WebCore::InspectorFrontendHost::platform): 15250 * loader/CachedFont.cpp: 15251 * loader/FTPDirectoryDocument.cpp: 15252 * loader/FTPDirectoryParser.cpp: 15253 * page/EventHandler.cpp: 15254 * page/Frame.cpp: 15255 (WebCore::Frame::setUseSecureKeyboardEntry): 15256 * page/NavigatorBase.cpp: 15257 (WebCore::NavigatorBase::platform): 15258 * page/Page.h: 15259 * page/Settings.cpp: 15260 (WebCore::Settings::Settings): 15261 * page/Settings.h: 15262 * page/chromium/DragControllerChromium.cpp: 15263 (WebCore::DragController::isCopyKeyDown): 15264 * page/chromium/EventHandlerChromium.cpp: 15265 (WebCore::EventHandler::accessKeyModifiers): 15266 * page/win/EventHandlerWin.cpp: 15267 (WebCore::EventHandler::createDraggingClipboard): 15268 * platform/FileSystem.h: 15269 * platform/KeyboardCodes.h: 15270 * platform/PurgeableBuffer.h: 15271 * platform/chromium/ChromiumBridge.h: 15272 * platform/chromium/ClipboardChromium.cpp: 15273 (WebCore::ClipboardChromium::writeRange): 15274 * platform/chromium/ClipboardUtilitiesChromium.cpp: 15275 * platform/chromium/ClipboardUtilitiesChromium.h: 15276 * platform/chromium/PasteboardChromium.cpp: 15277 (WebCore::Pasteboard::writeSelection): 15278 (WebCore::Pasteboard::writePlainText): 15279 (WebCore::Pasteboard::documentFragment): 15280 * platform/chromium/PlatformKeyboardEventChromium.cpp: 15281 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 15282 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 15283 * platform/chromium/PopupMenuChromium.cpp: 15284 (WebCore::PopupListBox::layout): 15285 (WebCore::PopupMenu::show): 15286 * platform/graphics/BitmapImage.h: 15287 (WebCore::BitmapImage::mayFillWithSolidColor): 15288 * platform/graphics/FloatPoint.h: 15289 * platform/graphics/FloatRect.h: 15290 * platform/graphics/FloatSize.h: 15291 * platform/graphics/FontCache.cpp: 15292 (WebCore::alternateFamilyName): 15293 * platform/graphics/FontCache.h: 15294 * platform/graphics/FontFastPath.cpp: 15295 (WebCore::Font::glyphDataForCharacter): 15296 * platform/graphics/GlyphBuffer.h: 15297 (WebCore::GlyphBuffer::advanceAt): 15298 (WebCore::GlyphBuffer::add): 15299 * platform/graphics/Gradient.h: 15300 * platform/graphics/GraphicsContext.cpp: 15301 * platform/graphics/GraphicsContext.h: 15302 * platform/graphics/GraphicsContext3D.h: 15303 * platform/graphics/ImageSource.h: 15304 * platform/graphics/IntRect.h: 15305 * platform/graphics/MediaPlayer.cpp: 15306 * platform/graphics/Path.h: 15307 * platform/graphics/Pattern.h: 15308 * platform/graphics/SimpleFontData.h: 15309 * platform/graphics/cg/ColorCG.cpp: 15310 * platform/graphics/cg/GraphicsContextCG.cpp: 15311 * platform/graphics/chromium/FontCustomPlatformData.cpp: 15312 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 15313 (WebCore::FontCustomPlatformData::fontPlatformData): 15314 (WebCore::createFontCustomPlatformData): 15315 * platform/graphics/chromium/FontCustomPlatformData.h: 15316 * platform/graphics/chromium/FontPlatformData.h: 15317 * platform/graphics/opentype/OpenTypeUtilities.cpp: 15318 * platform/graphics/opentype/OpenTypeUtilities.h: 15319 * platform/graphics/qt/GraphicsContextQt.cpp: 15320 (WebCore::GraphicsContext::getWindowsContext): 15321 * platform/graphics/qt/ImageQt.cpp: 15322 * platform/graphics/skia/GraphicsContextSkia.cpp: 15323 (WebCore::GraphicsContext::clipToImageBuffer): 15324 * platform/graphics/skia/ImageBufferSkia.cpp: 15325 (WebCore::ImageBuffer::ImageBuffer): 15326 * platform/graphics/skia/PlatformContextSkia.cpp: 15327 (PlatformContextSkia::State::State): 15328 (PlatformContextSkia::PlatformContextSkia): 15329 (PlatformContextSkia::save): 15330 (PlatformContextSkia::restore): 15331 * platform/graphics/skia/PlatformContextSkia.h: 15332 * platform/graphics/win/IconWin.cpp: 15333 (WebCore::Icon::createIconForFiles): 15334 (WebCore::Icon::paint): 15335 * platform/graphics/wx/GraphicsContextWx.cpp: 15336 * platform/gtk/FileSystemGtk.cpp: 15337 (WebCore::filenameToString): 15338 (WebCore::filenameFromString): 15339 (WebCore::filenameForDisplay): 15340 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 15341 * platform/network/curl/ResourceHandleManager.cpp: 15342 * platform/network/soup/ResourceHandleSoup.cpp: 15343 (WebCore::): 15344 * platform/text/String.cpp: 15345 (WebCore::String::format): 15346 (WebCore::String::number): 15347 * platform/text/TextEncoding.cpp: 15348 (WebCore::TextEncoding::encode): 15349 * platform/text/TextEncodingRegistry.cpp: 15350 (WebCore::buildBaseTextCodecMaps): 15351 (WebCore::extendTextCodecMaps): 15352 * platform/text/TextStream.cpp: 15353 * platform/text/TextStream.h: 15354 * platform/text/qt/TextCodecQt.cpp: 15355 (WebCore::TextCodecQt::decode): 15356 * platform/win/PlatformMouseEventWin.cpp: 15357 (WebCore::messageToEventType): 15358 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 15359 * platform/win/PlatformScreenWin.cpp: 15360 (WebCore::deviceInfoForWidget): 15361 (WebCore::screenIsMonochrome): 15362 * platform/win/PopupMenuWin.cpp: 15363 (WebCore::PopupMenu::show): 15364 (WebCore::PopupMenu::paint): 15365 (WebCore::PopupMenu::registerClass): 15366 (WebCore::PopupMenu::PopupMenuWndProc): 15367 (WebCore::PopupMenu::wndProc): 15368 * platform/win/SystemTimeWin.cpp: 15369 (WebCore::userIdleTime): 15370 * platform/wx/FileSystemWx.cpp: 15371 (WebCore::unloadModule): 15372 * plugins/PluginDatabase.cpp: 15373 * plugins/PluginPackage.cpp: 15374 (WebCore::PluginPackage::compareFileVersion): 15375 * plugins/PluginPackage.h: 15376 * plugins/PluginView.cpp: 15377 (WebCore::PluginView::setFrameRect): 15378 (WebCore::PluginView::stop): 15379 (WebCore::PluginView::PluginView): 15380 * plugins/PluginView.h: 15381 * plugins/win/PluginDatabaseWin.cpp: 15382 (WebCore::addWindowsMediaPlayerPluginDirectory): 15383 (WebCore::addMacromediaPluginDirectories): 15384 * plugins/win/PluginPackageWin.cpp: 15385 (WebCore::PluginPackage::load): 15386 * plugins/win/PluginViewWin.cpp: 15387 (WebCore::registerPluginView): 15388 (WebCore::PluginView::wndProc): 15389 (WebCore::PluginView::updatePluginWidget): 15390 (WebCore::PluginView::paintIntoTransformedContext): 15391 (WebCore::PluginView::paintWindowedPluginIntoContext): 15392 (WebCore::PluginView::paint): 15393 (WebCore::PluginView::handleMouseEvent): 15394 (WebCore::PluginView::setParent): 15395 (WebCore::PluginView::setNPWindowRect): 15396 (WebCore::PluginView::platformStart): 15397 15398 2010-01-04 Chris Fleizach <cfleizach (a] apple.com> 15399 15400 Reviewed by Darin Adler. 15401 15402 Add ARIA "Live Region" support 15403 https://bugs.webkit.org/show_bug.cgi?id=33117 15404 15405 Tests: platform/mac/accessibility/aria-liveregions-attributes.html 15406 platform/mac/accessibility/aria-liveregions-notifications.html 15407 15408 * accessibility/AXObjectCache.cpp: 15409 (WebCore::AXObjectCache::contentChanged): 15410 * accessibility/AXObjectCache.h: 15411 (WebCore::AXObjectCache::): 15412 * accessibility/AccessibilityObject.cpp: 15413 (WebCore::AccessibilityObject::isChildOfARIALiveRegion): 15414 (WebCore::AccessibilityObject::supportsARIALiveRegion): 15415 * accessibility/AccessibilityObject.h: 15416 (WebCore::AccessibilityObject::contentChanged): 15417 (WebCore::AccessibilityObject::ariaLiveRegionStatus): 15418 (WebCore::AccessibilityObject::ariaLiveRegionRelevant): 15419 (WebCore::AccessibilityObject::ariaLiveRegionAtomic): 15420 (WebCore::AccessibilityObject::ariaLiveRegionBusy): 15421 * accessibility/AccessibilityRenderObject.cpp: 15422 (WebCore::AccessibilityRenderObject::elementAttributeValue): 15423 (WebCore::AccessibilityRenderObject::contentChanged): 15424 (WebCore::AccessibilityRenderObject::childrenChanged): 15425 (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus): 15426 (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant): 15427 (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic): 15428 (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy): 15429 * accessibility/AccessibilityRenderObject.h: 15430 (WebCore::AccessibilityRenderObject::areChildrenDirty): 15431 * accessibility/mac/AXObjectCacheMac.mm: 15432 (WebCore::AXObjectCache::postPlatformNotification): 15433 * accessibility/mac/AccessibilityObjectWrapper.h: 15434 * accessibility/mac/AccessibilityObjectWrapper.mm: 15435 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 15436 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 15437 (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]): 15438 (-[AccessibilityObjectWrapper accessibilityPostedNotification:]): 15439 * dom/Element.cpp: 15440 (WebCore::Element::updateAfterAttributeChanged): 15441 * html/HTMLAttributeNames.in: 15442 * rendering/RenderText.cpp: 15443 (WebCore::RenderText::setText): 15444 15445 2010-01-04 Chris Evans <cevans (a] chromium.org> 15446 15447 Reviewed by Adam Barth. 15448 15449 Adopt a more conservative approach for loading CSS cross-origin. When 15450 loading CSS cross-origin, it must be start with valid CSS if the MIME 15451 type is broken. 15452 15453 https://bugs.webkit.org/show_bug.cgi?id=29820 15454 15455 Test: http/tests/security/cross-origin-css.html 15456 Test: http/tests/security/cross-origin-css-in-xml.xml 15457 15458 * html/HTMLLinkElement.cpp: 15459 (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load 15460 requirements for cross-origin loads. 15461 * css/CSSImportRule.cpp: 15462 (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load 15463 requirements for cross-origin loads. 15464 * css/CSSStyleSheet.h: 15465 * css/CSSStyleSheet.cpp: 15466 * css/CSSParser.cpp: 15467 * css/CSSGrammar.y: 15468 * css/CSSParser.h: 15469 Add ability to tell whether the CSS parse started with a syntactically 15470 valid CSS rule. 15471 * loader/CachedCSSStyleSheet.h: 15472 * loader/CachedCSSStyleSheet.cpp: 15473 (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return 15474 whether the MIME type was acceptable for CSS. 15475 (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return 15476 whether the MIME type was valid or not. 15477 * dom/ProcessingInstruction.cpp 15478 (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict 15479 mode explicit and add comment. 15480 15481 2010-01-04 Dan Bernstein <mitz (a] apple.com> 15482 15483 Reviewed by Simon Fraser. 15484 15485 <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly 15486 <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds 15487 15488 Test: accessibility/dimensions-include-descendants.html 15489 15490 * accessibility/AccessibilityRenderObject.cpp: 15491 (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads() 15492 for non-text renderers. The focus ring encompasses descendants, which is 15493 what we want for the accessibility indicator. 15494 * rendering/RenderObject.cpp: 15495 (WebCore::RenderObject::absoluteFocusRingQuads): Added. 15496 * rendering/RenderObject.h: 15497 15498 2010-01-04 Ojan Vafai <ojan (a] ojanmacpro.sfo.corp.google.com> 15499 15500 Reviewed by Dan Bernstein. 15501 15502 Remove unnecessary division by a constant in SimpleFontDataMac.mm. 15503 https://bugs.webkit.org/show_bug.cgi?id=33189 15504 15505 This was added in http://trac.webkit.org/changeset/8104 and seems like 15506 it was just there to match the previously private function which we no 15507 longer use. 15508 15509 No new tests. No change in behavior. 15510 15511 * platform/graphics/mac/SimpleFontDataMac.mm: 15512 15513 2010-01-04 Darin Adler <darin (a] apple.com> 15514 15515 Reviewed by Maciej Stachowiak. 15516 15517 Selection-related code needs stricter rules about how it relates to layout 15518 https://bugs.webkit.org/show_bug.cgi?id=32882 15519 15520 Covered by existing tests along with the new assertions. 15521 15522 * dom/Document.cpp: 15523 (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is 15524 already false by the time post-attach callbacks are done so that 15525 layout triggered inside those callbacks can work properly. 15526 15527 * editing/SelectionController.cpp: 15528 (WebCore::SelectionController::layout): Added code to trigger a 15529 layout when it's needed. 15530 (WebCore::SelectionController::recomputeCaretRect): Removed unneeded 15531 code to do nothing when FrameView is 0. Added an assertion that layout 15532 is not needed at the time the function is called. 15533 (WebCore::SelectionController::invalidateCaretRect): Added code to 15534 trigger a layout when it's needed. 15535 (WebCore::SelectionController::paintCaret): Added an assertion that 15536 layout is not needed at the time the function is called. 15537 15538 * html/HTMLFormControlElement.cpp: 15539 (WebCore::shouldAutofocus): Added. Helper function that expresses 15540 the rule for which form control elements should auto-focus. 15541 (WebCore::focusPostAttach): Added. Called post-attach to focus an 15542 element if we discover it should be focused during attach. 15543 (WebCore::HTMLFormControlElement::attach): Refactored code for 15544 which elements need auto-focus into a separate function. Instead 15545 of focusing right away, use the focusPostAttach function to focus 15546 after attach is done. Also added calls to suspendPostAttachCallbacks 15547 and resumePostAttachCallbacks so post-attach callbacks happen late 15548 enough. Before, they could run inside the base attach function. 15549 15550 * html/HTMLInputElement.cpp: 15551 (WebCore::HTMLInputElement::attach): Added calls to 15552 suspendPostAttachCallbacks and resumePostAttachCallbacks so 15553 post-attach callbacks happen late enough 15554 15555 * page/Frame.cpp: 15556 (WebCore::Frame::revealSelection): Added code to trigger a layout 15557 when it's needed. 15558 15559 2010-01-04 Gavin Barraclough <barraclough (a] apple.com> 15560 15561 Reviewed by Sam Weinig. 15562 15563 https://bugs.webkit.org/show_bug.cgi?id=33163 15564 Use WTF's string hashing functions from StringImpl. 15565 15566 * ForwardingHeaders/wtf/StringHashFunctions.h: Added. 15567 * platform/text/StringHash.h: 15568 * platform/text/StringImpl.h: 15569 (WebCore::StringImpl::computeHash): 15570 15571 2010-01-04 Jon Honeycutt <jhoneycutt (a] apple.com> 15572 15573 Qt build fix. Unreviewed. 15574 15575 * accessibility/AXObjectCache.h: 15576 (WebCore::AXObjectCache::postNotification): 15577 15578 2010-01-04 Jon Honeycutt <jhoneycutt (a] apple.com> 15579 15580 MSAA: <select> elements should broadcast value change events 15581 15582 https://bugs.webkit.org/show_bug.cgi?id=33088 15583 15584 <rdar://problem/7332364> 15585 15586 Reviewed by Darin Adler. 15587 15588 * accessibility/AXObjectCache.cpp: 15589 (WebCore::AXObjectCache::postNotification): 15590 If the post type is async, follow the old code path; otherwise, call 15591 postPlatformNotification(). 15592 15593 * accessibility/AXObjectCache.h: 15594 (WebCore::AXObjectCache::): 15595 Added a new accessibility notification, AXMenuListValueChanged. Added 15596 a new parameter to postNotification() to specify whether the post should 15597 be synchronous or asynchronous. 15598 15599 * accessibility/win/AXObjectCacheWin.cpp: 15600 (WebCore::AXObjectCache::postPlatformNotification): 15601 If the WebCore notification is AXMenuListValueChanged, broadcast an 15602 EVENT_OBJECT_VALUECHANGE event. 15603 15604 * dom/SelectElement.cpp: 15605 (WebCore::SelectElement::setSelectedIndex): 15606 When the selected index of a RenderMenuList is changed, call 15607 RenderMenuList::didSetSelectedIndex(). 15608 15609 * rendering/RenderMenuList.cpp: 15610 (WebCore::RenderMenuList::RenderMenuList): 15611 Initialize new member 15612 (WebCore::RenderMenuList::didSetSelectedIndex): 15613 If the selected index has changed, post AXMenuListValueChanged to the 15614 object synchronously. 15615 15616 * rendering/RenderMenuList.h: 15617 Declare didSetSelectedIndex(), and add a member to hold the last 15618 selected index. 15619 15620 2010-01-04 Darin Adler <darin (a] apple.com> 15621 15622 Reviewed by Sam Weinig. 15623 15624 Added missing null check in BarInfo code. 15625 15626 Test: fast/dom/Window/BarInfo-after-frame-removed.html 15627 15628 * page/BarInfo.cpp: 15629 (WebCore::BarInfo::visible): Added null check. A few other 15630 cleanups. 15631 15632 2010-01-04 Mark Rowe <mrowe (a] apple.com> 15633 15634 Rubber-stamped by Jon Honeycutt. 15635 15636 Delete an empty and unused JavaScript file. 15637 15638 * WebCore.vcproj/WebCore.vcproj: 15639 * inspector/front-end/InspectorControllerStub.js: Removed. 15640 15641 2010-01-04 Kevin Ollivier <kevino (a] theolliviers.com> 15642 15643 [wx] Build fix, add a couple include dirs to the build. 15644 15645 * wscript: 15646 15647 2010-01-04 Dan Bernstein <mitz (a] apple.com> 15648 15649 Windows build fix 15650 15651 * page/FrameView.cpp: 15652 (WebCore::FrameView::layout): 15653 15654 2010-01-04 Simon Fraser <simon.fraser (a] apple.com> 15655 15656 Reviewed by Dan Bernstein. 15657 15658 Repaint issues in text input under a scale transform 15659 https://bugs.webkit.org/show_bug.cgi?id=32086 15660 15661 When doing a subtree layout we have to look up the container chain to see if there 15662 are any properties, such as transforms or reflections, that mean that we are unable 15663 to use layoutState. 15664 15665 Test: fast/repaint/subtree-layoutstate-transform.html 15666 15667 * page/FrameView.cpp: 15668 (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine 15669 whether it's OK to use layoutState. 15670 15671 * rendering/RenderView.h: 15672 * rendering/RenderView.cpp: 15673 (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's 15674 OK to use layoutState when doing a subtree layout from the given root. 15675 15676 2010-01-04 Darin Adler <darin (a] apple.com> 15677 15678 Reviewed by Dan Bernstein. 15679 15680 Reentrancy problem with selection in some edge cases. 15681 https://bugs.webkit.org/show_bug.cgi?id=32842 15682 rdar://problem/7449974 15683 15684 Test: fast/forms/selection-layout-reentry-strange-case.html 15685 15686 Move the selection display update process done in the 15687 selectionLayoutChanged function into the layout timer 15688 instead of doing it immediately when selection changes occur. 15689 15690 * dom/Document.cpp: 15691 (WebCore::Document::updateLayout): Changed this to use the 15692 definition of needsLayout from FrameView rather than rolling 15693 its own. 15694 15695 * editing/SelectionController.cpp: 15696 (WebCore::SelectionController::SelectionController): 15697 Initialize m_needsDisplayUpdate to false. 15698 (WebCore::SelectionController::setSelection): Call 15699 the new setNeedsDisplayUpdate function instead of the old 15700 badly named Frame::selectionLayoutChanged function. 15701 (WebCore::SelectionController::setNeedsDisplayUpdate): 15702 Set m_needsDisplayUpdate. If it is just becoming true, then 15703 call FrameView::scheduleRelayout. 15704 15705 * editing/SelectionController.h: Added setNeedsDisplayUpdate, 15706 needsDisplayUpdate, and m_needsDisplayUpdate. 15707 15708 * page/Frame.cpp: 15709 (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate. 15710 (WebCore::Frame::selectionLayoutChanged): Call 15711 setNeedsDisplayUpdate to set it to false, since this is the 15712 function that performs "selection display update". Later I want 15713 to rename this function. Also added a global reentrancy check 15714 since that's the easiest way I could think of to prevent infinite 15715 recursion in the case where recomputeCaretRect ends up triggering 15716 a layout. As a side effect, fixed theoretical problems in 15717 TEXT_CARET builds by improving the ifdef. 15718 (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a 15719 bit. Later we might want to decouple caret rect from caret state 15720 a bit more and add these assertions back. 15721 (WebCore::Frame::selectionBounds): Call Document::updateLayout. 15722 This function is for external clients and they do not currently 15723 do anything to make sure layout is up to date. 15724 15725 * page/FrameView.cpp: 15726 (WebCore::FrameView::needsLayout): Add a new clause, since 15727 we need a call to layout if needsDisplayUpdate is true. 15728 15729 2010-01-04 Brent Fulgham <bfulgham (a] webkit.org> 15730 15731 Reviewed by Adam Roben. 15732 15733 Correct debug assertion (and possible runtime errors) by 15734 checking validity of bitmap settings used to create 15735 the Windows Cairo contexts. 15736 https://bugs.webkit.org/show_bug.cgi?id=33164. 15737 15738 * platform/graphics/win/GraphicsContextCairoWin.cpp: 15739 (WebCore::createCairoContextWithHDC): Check validity of selected 15740 OBJ_BITMAP retrieved, and only create 32-bit context when 15741 a valid bitmap is provided. 15742 15743 2010-01-04 Dmitry Titov <dimich (a] chromium.org> 15744 15745 Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC. 15746 Patch produced by 'git revert' and then reverting back ChangeLog files. 15747 15748 * Android.mk: 15749 * GNUmakefile.am: 15750 * WebCore.gypi: 15751 * WebCore.pro: 15752 * WebCore.vcproj/WebCore.vcproj: 15753 * WebCore.xcodeproj/project.pbxproj: 15754 * page/FrameView.cpp: 15755 (WebCore::FrameView::layout): 15756 * rendering/RenderPath.cpp: 15757 (WebCore::RenderPath::repaintRectInLocalCoordinates): 15758 (WebCore::RenderPath::setPath): 15759 (WebCore::RenderPath::path): 15760 (WebCore::RenderPath::paint): 15761 (WebCore::): 15762 (WebCore::DrawMarkersData::DrawMarkersData): 15763 (WebCore::drawMarkerWithData): 15764 (WebCore::updateMarkerDataForElement): 15765 (WebCore::drawStartAndMidMarkers): 15766 (WebCore::RenderPath::drawMarkersIfNeeded): 15767 * rendering/RenderPath.h: 15768 (WebCore::RenderPath::markerBoundingBox): 15769 * rendering/RenderSVGContainer.h: 15770 * rendering/RenderSVGViewportContainer.cpp: 15771 (WebCore::RenderSVGViewportContainer::paint): 15772 * rendering/RenderSVGViewportContainer.h: 15773 * rendering/SVGMarkerData.h: Removed. 15774 * rendering/SVGMarkerLayoutInfo.cpp: Removed. 15775 * rendering/SVGMarkerLayoutInfo.h: Removed. 15776 * svg/SVGMarkerElement.cpp: 15777 (WebCore::SVGMarkerElement::canvasResource): 15778 * svg/graphics/SVGResource.cpp: 15779 (WebCore::SVGResource::SVGResource): 15780 (WebCore::ResourceSet::ResourceSet): 15781 (WebCore::clientMap): 15782 (WebCore::SVGResource::~SVGResource): 15783 (WebCore::SVGResource::removeClient): 15784 (WebCore::SVGResource::addClient): 15785 * svg/graphics/SVGResourceMarker.cpp: 15786 (WebCore::SVGResourceMarker::SVGResourceMarker): 15787 (WebCore::SVGResourceMarker::setMarker): 15788 (WebCore::SVGResourceMarker::setRef): 15789 (WebCore::SVGResourceMarker::draw): 15790 (WebCore::SVGResourceMarker::cachedBounds): 15791 (WebCore::SVGResourceMarker::externalRepresentation): 15792 * svg/graphics/SVGResourceMarker.h: 15793 (WebCore::SVGResourceMarker::refX): 15794 (WebCore::SVGResourceMarker::refY): 15795 15796 2010-01-04 Dan Bernstein <mitz (a] apple.com> 15797 15798 Reviewed by Ada Chan and Mark Rowe. 15799 15800 Updated copyright string 15801 15802 * Info.plist: 15803 * WebCore.vcproj/QTMovieWin.rc: 15804 15805 2010-01-04 Chris Fleizach <cfleizach (a] apple.com> 15806 15807 Reviewed by Darin Adler. 15808 15809 AX: any DIV with an aria role should not be ignored 15810 https://bugs.webkit.org/show_bug.cgi?id=33090 15811 15812 Test: platform/mac/accessibility/aria-divs-not-ignored.html 15813 15814 * accessibility/AccessibilityRenderObject.cpp: 15815 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 15816 15817 2010-01-04 Nate Chapin <japhet (a] chromium.org> 15818 15819 Reviewed by Dimitri Glazkov. 15820 15821 Generate declarations for V8 runtime enablers. 15822 15823 https://bugs.webkit.org/show_bug.cgi?id=33156 15824 15825 * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations. 15826 * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers. 15827 * bindings/v8/custom/V8DOMWindowCustom.cpp: 15828 * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used. 15829 * bindings/v8/custom/V8WorkerContextCustom.cpp: 15830 15831 2010-01-04 Nikolas Zimmermann <nzimmermann (a] rim.com> 15832 15833 Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build. 15834 15835 * WebCore.gypi: 15836 15837 2010-01-04 Nikolas Zimmermann <nzimmermann (a] rim.com> 15838 15839 Reviewed by Dirk Schulze. 15840 15841 Marker code is buggy: referencePoint translation is off 15842 https://bugs.webkit.org/show_bug.cgi?id=33012 15843 15844 Rewrite marker code, as it had many issues: 15845 - Correct refX/refY handling (covered by new marker-referencePoint.svg test) 15846 - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects 15847 - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo) 15848 - Fix SVGResource assuming that there is only one resource per resource type per element. Markers 15849 can have three different resources of the same type (three markers, start/mid/end markers) 15850 15851 Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before. 15852 15853 Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before). 15854 Test: svg/custom/marker-referencePoint.svg 15855 svg/custom/marker-opacity.svg 15856 15857 * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build. 15858 * GNUmakefile.am: Ditto. 15859 * WebCore.pro: Ditto. 15860 * WebCore.vcproj/WebCore.vcproj: Ditto. 15861 * WebCore.xcodeproj/project.pbxproj: Ditto. 15862 * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML. 15863 (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>. 15864 * rendering/RenderPath.cpp: 15865 (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase. 15866 (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time. 15867 (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes. 15868 (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now. 15869 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries. 15870 * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency. 15871 (WebCore::RenderPath::path): Inline this accessor. 15872 * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer). 15873 * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated. 15874 (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code). 15875 (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again. 15876 * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer. 15877 * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights. 15878 (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo. 15879 (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker. 15880 (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout. 15881 (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values. 15882 (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method. 15883 (WebCore::SVGMarkerData::updateOutslope): Ditto. 15884 (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation. 15885 (WebCore::SVGMarkerData::updateInslope): Helper method. 15886 * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time. 15887 (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo): 15888 (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo): 15889 (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles) 15890 (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers(). 15891 (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers. 15892 (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method. 15893 * rendering/SVGMarkerLayoutInfo.h: Added. 15894 (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix. 15895 (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers. 15896 (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto. 15897 (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto. 15898 * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer() 15899 (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation. 15900 * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources 15901 and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years 15902 ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type 15903 per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting. 15904 (WebCore::resourceSet): Add global static HashSet<SVGResource*>. 15905 (WebCore::SVGResource::SVGResource): Add us to the resourceSet. 15906 (WebCore::SVGResource::~SVGResource): Remove us from resourceSet. 15907 (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor). 15908 (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types. 15909 * svg/graphics/SVGResourceMarker.cpp: 15910 (WebCore::SVGResourceMarker::SVGResourceMarker): 15911 (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker. 15912 (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer. 15913 (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes. 15914 * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values. 15915 (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker(). 15916 (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef(). 15917 (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY(). 15918 15919 2010-01-04 Simon Hausmann <simon.hausmann (a] nokia.com> 15920 15921 Reviewed by Tor Arne Vestb. 15922 15923 [Qt] Fix standalone package builds. 15924 15925 * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds. 15926 15927 2010-01-04 Yongjun Zhang <yongjun.zhang (a] nokia.com> 15928 15929 Reviewed by Laszlo Gombos. 15930 15931 https://bugs.webkit.org/show_bug.cgi?id=29048 15932 [Qt] make RenderStyle.h compile in winscw compiler. 15933 15934 Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 15935 error when compareEqual is defined as template. 15936 15937 The compiler bug is reported at: 15938 https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447 15939 15940 * rendering/style/RenderStyle.h: 15941 15942 2010-01-04 Maciej Stachowiak <mjs (a] apple.com> 15943 15944 Reviewed by Simon Hausmann. 15945 15946 Fix some PLATFORM(*_ENDIAN) uses to CPU() 15947 https://bugs.webkit.org/show_bug.cgi?id=33148 15948 15949 * platform/image-decoders/bmp/BMPImageReader.h: 15950 (WebCore::BMPImageReader::readUint16): 15951 (WebCore::BMPImageReader::readUint32): 15952 (WebCore::BMPImageReader::readCurrentPixel): 15953 15954 2010-01-04 Maciej Stachowiak <mjs (a] apple.com> 15955 15956 Reviewed by Adam Barth. 15957 15958 Reorganize, document and rename CPU() platform macros. 15959 https://bugs.webkit.org/show_bug.cgi?id=33145 15960 15961 * page/NavigatorBase.cpp: 15962 * platform/text/AtomicString.cpp: 15963 (WebCore::equal): 15964 * platform/text/StringHash.h: 15965 (WebCore::StringHash::equal): 15966 15967 2009-12-22 Philippe Normand <pnormand (a] igalia.com> 15968 15969 Reviewed by Eric Seidel. 15970 15971 [GTK] G_OBJECT() cast is not necessary for signals connection and properties access 15972 https://bugs.webkit.org/show_bug.cgi?id=32661 15973 15974 Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't 15975 complain about NULL usage in g_object_{get,set} anymore. 15976 15977 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 15978 (WebCore::MediaPlayerPrivate::hasVideo): 15979 (WebCore::MediaPlayerPrivate::hasAudio): 15980 (WebCore::MediaPlayerPrivate::setVolume): 15981 (WebCore::MediaPlayerPrivate::setRate): 15982 (WebCore::MediaPlayerPrivate::updateStates): 15983 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 15984 15985 2010-01-04 Alex Milowski <alex (a] milowski.com> 15986 15987 Reviewed by Eric Seidel. 15988 15989 Updated license to match recommended header license. 15990 15991 * mathml/MathMLElement.cpp: 15992 * mathml/MathMLElement.h: 15993 * mathml/MathMLInlineContainerElement.cpp: 15994 * mathml/MathMLInlineContainerElement.h: 15995 * mathml/MathMLMathElement.cpp: 15996 * mathml/MathMLMathElement.h: 15997 15998 2010-01-04 Dirk Schulze <krit (a] webkit.org> 15999 16000 Reviewed by Nikolas Zimmermann. 16001 16002 SVGResources don't invalidate if target object changes attributes 16003 https://bugs.webkit.org/show_bug.cgi?id=33091 16004 16005 It's neccessary to invalidate all resources of an object, if the attributes of this 16006 target change. Otherwise the saved resource data (like ImageBuffers) don't match 16007 to the new object properties. 16008 16009 Test: svg/custom/resource-invalidate-on-target-update.svg 16010 16011 * svg/SVGStyledElement.cpp: 16012 (WebCore::SVGStyledElement::svgAttributeChanged): 16013 (WebCore::SVGStyledElement::invalidateResources): 16014 * svg/SVGStyledElement.h: 16015 16016 2010-01-03 Kenneth Russell <kbr (a] google.com> 16017 16018 Reviewed by Maciej Stachowiak. 16019 16020 Index validation code must always copy client data 16021 https://bugs.webkit.org/show_bug.cgi?id=32748 16022 16023 Client data must always be copied during bufferData and 16024 bufferSubData calls, because otherwise the data the GL uses to 16025 draw may differ from that checked by the index validation code. 16026 16027 Test: fast/canvas/webgl/index-validation-copies-indices.html 16028 16029 * html/canvas/WebGLBuffer.cpp: 16030 (WebCore::WebGLBuffer::WebGLBuffer): 16031 (WebCore::WebGLBuffer::associateBufferData): 16032 (WebCore::WebGLBuffer::associateBufferSubData): 16033 * html/canvas/WebGLBuffer.h: 16034 16035 2010-01-03 Adam Barth <abarth (a] webkit.org> 16036 16037 Reviewed by Eric Seidel. 16038 16039 [Chromium] Implement CookieJarChromium::cookiesEnabled 16040 https://bugs.webkit.org/show_bug.cgi?id=33123 16041 16042 Call out to ChromiumBridge to find out if cookies are enabled. 16043 16044 * platform/chromium/ChromiumBridge.h: 16045 * platform/network/chromium/CookieJarChromium.cpp: 16046 (WebCore::cookiesEnabled): 16047 16048 2010-01-03 Adam Barth <abarth (a] webkit.org> 16049 16050 Reviewed by Eric Seidel. 16051 16052 [Chromium] Remove evaluateInNewContext (it's useless) 16053 https://bugs.webkit.org/show_bug.cgi?id=33068 16054 16055 This function has no clients and makes life complicated. Isolated 16056 worlds won out over NewContext and there's not really any going back 16057 now. 16058 16059 No new tests because this is all minus lines. 16060 16061 * bindings/v8/ScriptController.cpp: 16062 * bindings/v8/ScriptController.h: 16063 * bindings/v8/V8DOMWrapper.cpp: 16064 (WebCore::V8DOMWrapper::convertWindowToV8Object): 16065 * bindings/v8/V8Proxy.cpp: 16066 * bindings/v8/V8Proxy.h: 16067 16068 2010-01-03 Sam Weinig <sam (a] webkit.org> 16069 16070 Rubber-stamped by Dan Bernstein. 16071 16072 Remove out of date commented out attributes in IDLs. We have implemented onpopstate. 16073 16074 * html/HTMLBodyElement.idl: 16075 * html/HTMLFrameSetElement.idl: 16076 * page/DOMWindow.idl: 16077 16078 2010-01-03 Dirk Schulze <krit (a] webkit.org> 16079 16080 Reviewed by Nikolas Zimmermann. 16081 16082 Mark more filter effect as alphaImage if possible 16083 https://bugs.webkit.org/show_bug.cgi?id=33111 16084 16085 Mark more effects as alphaImage if the previous effect is a 16086 alphaImage. This can reduce the calculation on the next effect 16087 like feGaussianBlur. 16088 16089 Test: This changes don't affect any LayoutTests and can't be tested 16090 somehow, since the changes are 'invisible'. 16091 16092 * platform/graphics/filters/FEColorMatrix.cpp: 16093 (WebCore::FEColorMatrix::apply): 16094 * svg/graphics/filters/SVGFEMorphology.cpp: 16095 (WebCore::FEMorphology::apply): 16096 * svg/graphics/filters/SVGFEOffset.cpp: 16097 (WebCore::FEOffset::apply): 16098 * svg/graphics/filters/SVGFETile.cpp: 16099 (WebCore::FETile::apply): 16100 16101 2010-01-01 Simon Fraser <simon.fraser (a] apple.com> 16102 16103 Reviewed by Dan Bernstein. 16104 16105 Scrollbar of overflow:scroll div in compositing layer fails to render 16106 https://bugs.webkit.org/show_bug.cgi?id=32439 16107 16108 When deciding whether a RenderLayer needs backing store, check whether it has 16109 overflow controls that need painting. 16110 16111 Test: compositing/overflow/scrollbar-painting.html 16112 16113 * rendering/RenderLayer.cpp: 16114 (WebCore::RenderLayer::hasOverflowControls): 16115 * rendering/RenderLayer.h: 16116 * rendering/RenderLayerBacking.cpp: 16117 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): 16118 16119 2009-12-31 Christian Dywan <christian (a] twotoasts.de> 16120 16121 Reviewed by Gustavo Noronha Silva. 16122 16123 [GTK] context menu overriding API is very limited 16124 https://bugs.webkit.org/show_bug.cgi?id=27546 16125 16126 Only show font menu items in rich text areas in the GTK+ port. 16127 16128 * platform/ContextMenu.cpp: 16129 (WebCore::ContextMenu::populate): 16130 16131 2009-12-31 Christian Dywan <christian (a] twotoasts.de> 16132 16133 Reviewed by Gustavo Noronha Silva. 16134 16135 [GTK] context menu overriding API is very limited 16136 https://bugs.webkit.org/show_bug.cgi?id=27546 16137 16138 Don't show spell checking menu items in text areas in the GTK+ port. 16139 16140 * platform/ContextMenu.cpp: 16141 (WebCore::ContextMenu::populate): 16142 16143 2009-12-31 Dan Bernstein <mitz (a] apple.com> 16144 16145 Reviewed by Simon Fraser. 16146 16147 <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com 16148 https://bugs.webkit.org/show_bug.cgi?id=33067 16149 16150 Test: fast/repaint/table-cell-overflow.html 16151 16152 * rendering/RenderTableCell.h: 16153 (WebCore::RenderTableCell::hasVisibleOverflow): Added. 16154 * rendering/RenderTableSection.cpp: 16155 (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if 16156 any cell has visible overflow, like it was before r47440. 16157 16158 2009-12-31 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16159 16160 Reviewed by Kenneth Rohde Christiansen. 16161 16162 Do not include Frame.h under WebCore/html/canvas 16163 https://bugs.webkit.org/show_bug.cgi?id=33082 16164 16165 No new tests, as there is no new functionality. 16166 16167 * html/canvas/CanvasRenderingContext2D.cpp: 16168 16169 2009-12-30 Darin Fisher <darin (a] chromium.org> 16170 16171 Reviewed by David Levin. 16172 16173 [Chromium] Delete ResourceRequest::securityInfo 16174 https://bugs.webkit.org/show_bug.cgi?id=26847 16175 16176 * platform/network/chromium/ResourceRequest.h: 16177 16178 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16179 16180 Reviewed by Adam Barth. 16181 16182 Remove unused code from V8DOMWrapper. 16183 16184 * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used. 16185 * bindings/v8/V8DOMWrapper.h: Ditto. 16186 16187 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16188 16189 Reviewed by Adam Barth. 16190 16191 [V8] Generate configuring undetectable collection. 16192 https://bugs.webkit.org/show_bug.cgi?id=33063 16193 16194 Refactoring, covered by existing tests. 16195 16196 * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined. 16197 * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy. 16198 * bindings/v8/V8DOMWrapper.cpp: 16199 (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring. 16200 16201 2009-12-30 Zelidrag Hornung <zelidrag (a] chromium.org> 16202 16203 Reviewed by Dimitri Glazkov. 16204 16205 Added ability for PopupMenuClient to signal when 16206 a) selection changed, and 16207 b) weather suggested value should be accepted when popup menu closes 16208 16209 No new tests since this new functionality (autocomplete suggestions) 16210 is intentionally hidden from everything else than renderer. 16211 16212 * platform/PopupMenuClient.h: 16213 * platform/chromium/PopupMenuChromium.cpp: 16214 (WebCore::PopupContainer::hidePopup): 16215 (WebCore::PopupListBox::handleKeyEvent): 16216 (WebCore::PopupListBox::abandon): 16217 (WebCore::PopupListBox::acceptIndex): 16218 (WebCore::PopupListBox::selectIndex): 16219 (WebCore::PopupListBox::clearSelection): 16220 (WebCore::PopupListBox::hidePopup): 16221 * platform/gtk/PopupMenuGtk.cpp: 16222 (WebCore::PopupMenu::menuUnmapped): 16223 * platform/mac/PopupMenuMac.mm: 16224 (WebCore::PopupMenu::show): 16225 * platform/qt/QtFallbackWebPopup.cpp: 16226 (WebCore::QtFallbackWebPopup::hidePopup): 16227 * platform/win/PopupMenuWin.cpp: 16228 (WebCore::PopupMenu::hide): 16229 * platform/wx/PopupMenuWx.cpp: 16230 (WebCore::PopupMenu::OnMenuItemSelected): 16231 * rendering/RenderMenuList.cpp: 16232 (WebCore::RenderMenuList::popupDidHide): 16233 * rendering/RenderMenuList.h: 16234 (WebCore::RenderMenuList::selectionChanged): 16235 * rendering/RenderTextControlSingleLine.cpp: 16236 (WebCore::RenderTextControlSingleLine::popupDidHide): 16237 * rendering/RenderTextControlSingleLine.h: 16238 (WebCore::RenderTextControlSingleLine::selectionChanged): 16239 16240 2009-12-30 Nate Chapin <japhet (a] chromium.org> 16241 16242 Reviewed by Dimitri Glazkov. 16243 16244 Auto-generate V8 bindings header declarations for 16245 property accessor getter/setters, and remove a couple of 16246 unnecessarily custom bindings that weren't properly declared 16247 custom anyway. 16248 16249 * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp. 16250 * WebCore.gypi: Remove V8NavigatorCustom.cpp. 16251 * bindings/scripts/CodeGeneratorV8.pm: 16252 * bindings/v8/V8DOMWrapper.cpp: 16253 * bindings/v8/custom/V8AttrCustom.cpp: 16254 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 16255 * bindings/v8/custom/V8ClipboardCustom.cpp: 16256 * bindings/v8/custom/V8CoordinatesCustom.cpp: 16257 * bindings/v8/custom/V8CustomBinding.cpp: 16258 * bindings/v8/custom/V8CustomBinding.h: 16259 * bindings/v8/custom/V8DOMWindowCustom.cpp: 16260 * bindings/v8/custom/V8DocumentCustom.cpp: 16261 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 16262 * bindings/v8/custom/V8EventCustom.cpp: 16263 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 16264 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 16265 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 16266 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 16267 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 16268 * bindings/v8/custom/V8LocationCustom.cpp: 16269 * bindings/v8/custom/V8MessageEventCustom.cpp: 16270 * bindings/v8/custom/V8NavigatorCustom.cpp: Removed. 16271 * bindings/v8/custom/V8SVGLengthCustom.cpp: 16272 * bindings/v8/custom/V8WorkerContextCustom.cpp: 16273 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 16274 16275 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16276 16277 Unreviewed, build fix. 16278 16279 [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds. 16280 16281 * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break. 16282 16283 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16284 16285 Reviewed by Adam Barth. 16286 16287 [V8] Generate configuring of call-as-function callbacks. 16288 https://bugs.webkit.org/show_bug.cgi?id=33061 16289 16290 Refactoring, covered by existing tests. 16291 16292 * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and 16293 GenerateImplementationCustomCall. 16294 * bindings/v8/V8DOMWrapper.cpp: 16295 (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function 16296 callbacks. 16297 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 16298 (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added. 16299 (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added. 16300 (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added. 16301 * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed. 16302 16303 2009-12-30 Adam Barth <abarth (a] webkit.org> 16304 16305 Reviewed by Eric Seidel. 16306 16307 [v8] Move world-specific state out of V8Proxy 16308 https://bugs.webkit.org/show_bug.cgi?id=33034 16309 16310 This is the first step towards unifying the V8 implementation of 16311 isolated worlds with the JSC implementation. We need an object to 16312 encapulate all the world-specific bindings state. Previoulsy, we used 16313 V8Proxy for this purpose (along with a million other things), but 16314 there's a one-to-one mapping between V8Proxy objects and Frame objects. 16315 16316 This patch takes the world-specific state and moves it to a new object, 16317 affectionately called V8DOMWindowShell. This object is the moral 16318 equivalent of JSDOMWindowShell but with more data members because life 16319 is more complicated in V8-land. 16320 16321 This patch is almost entirely code motion. Future patches will clean 16322 up this class as we use it to represent window shells in isolated 16323 worlds as well as the main world. 16324 16325 * WebCore.gypi: 16326 * bindings/v8/ScriptController.cpp: 16327 (WebCore::ScriptController::updateSecurityOrigin): 16328 (WebCore::ScriptController::haveInterpreter): 16329 (WebCore::ScriptController::updateDocument): 16330 * bindings/v8/V8DOMWindowShell.cpp: Added. 16331 (WebCore::handleFatalErrorInV8): 16332 (WebCore::reportFatalErrorInV8): 16333 (WebCore::reportUnsafeJavaScriptAccess): 16334 (WebCore::V8DOMWindowShell::create): 16335 (WebCore::V8DOMWindowShell::V8DOMWindowShell): 16336 (WebCore::V8DOMWindowShell::isContextInitialized): 16337 (WebCore::V8DOMWindowShell::disposeContextHandles): 16338 (WebCore::V8DOMWindowShell::destroyGlobal): 16339 (WebCore::V8DOMWindowShell::clearForClose): 16340 (WebCore::V8DOMWindowShell::clearForNavigation): 16341 (WebCore::V8DOMWindowShell::initContextIfNeeded): 16342 (WebCore::V8DOMWindowShell::createNewContext): 16343 (WebCore::V8DOMWindowShell::installDOMWindow): 16344 (WebCore::V8DOMWindowShell::updateDocumentWrapper): 16345 (WebCore::V8DOMWindowShell::clearDocumentWrapper): 16346 (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): 16347 (WebCore::V8DOMWindowShell::clearDocumentWrapperCache): 16348 (WebCore::V8DOMWindowShell::setSecurityToken): 16349 (WebCore::V8DOMWindowShell::updateDocument): 16350 (WebCore::V8DOMWindowShell::updateSecurityOrigin): 16351 (WebCore::V8DOMWindowShell::getHiddenObjectPrototype): 16352 (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): 16353 (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase): 16354 * bindings/v8/V8DOMWindowShell.h: Added. 16355 (WebCore::V8DOMWindowShell::context): 16356 (WebCore::V8DOMWindowShell::createWrapperFromCache): 16357 * bindings/v8/V8DOMWrapper.cpp: 16358 (WebCore::V8DOMWrapper::getConstructorForContext): 16359 (WebCore::V8DOMWrapper::instantiateV8Object): 16360 (WebCore::V8DOMWrapper::convertDocumentToV8Object): 16361 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 16362 * bindings/v8/V8IsolatedWorld.cpp: 16363 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 16364 * bindings/v8/V8Proxy.cpp: 16365 (WebCore::V8Proxy::V8Proxy): 16366 (WebCore::V8Proxy::~V8Proxy): 16367 (WebCore::V8Proxy::handleOutOfMemory): 16368 (WebCore::V8Proxy::evaluateInIsolatedWorld): 16369 (WebCore::V8Proxy::evaluateInNewContext): 16370 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 16371 (WebCore::V8Proxy::clearForClose): 16372 (WebCore::V8Proxy::clearForNavigation): 16373 (WebCore::V8Proxy::mainWorldContext): 16374 (WebCore::V8Proxy::setContextDebugId): 16375 * bindings/v8/V8Proxy.h: 16376 (WebCore::V8Proxy::windowShell): 16377 (WebCore::V8Proxy::extensions): 16378 16379 2009-12-30 Dirk Schulze <krit (a] webkit.org> 16380 16381 Reviewed by Eric Seidel. 16382 16383 SVGResourceClipper needs to invalidate content 16384 https://bugs.webkit.org/show_bug.cgi?id=33054 16385 16386 Added invalidate() to SVGResourceClipper to reset clipData 16387 and drawing area after attribute changes. 16388 16389 This fixes two LayoutTests. 16390 16391 * svg/graphics/SVGResourceClipper.cpp: 16392 (WebCore::SVGResourceClipper::resetClipData): 16393 (WebCore::SVGResourceClipper::invalidate): 16394 * svg/graphics/SVGResourceClipper.h: 16395 16396 2009-12-30 Carol Szabo <carol.szabo (a] nokia.com> 16397 16398 Reviewed by Laszlo Gombos. 16399 16400 [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded. 16401 https://bugs.webkit.org/show_bug.cgi?id=33035 16402 16403 This patch: 16404 - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions, 16405 - extracts the palette initialization code to a separate function in order to 16406 provide for readable pointer checking and moves this code up in the function to 16407 allow for future changes to the palette brushes needed for bug 30173, 16408 - optimizes some of the code in the function for readability, speed and size. 16409 - fixes some minor style issues 16410 16411 No new tests because code behavior is not changed. 16412 16413 * platform/qt/RenderThemeQt.cpp: 16414 (WebCore::RenderThemeQt::paintButton): 16415 (WebCore::RenderThemeQt::paintTextField): 16416 (WebCore::RenderThemeQt::paintMenuList): 16417 (WebCore::RenderThemeQt::paintMenuListButton): 16418 (WebCore::initPaletteFromPageClientIfExists): 16419 (WebCore::RenderThemeQt::initializeCommonQStyleOptions): 16420 * platform/qt/RenderThemeQt.h: 16421 16422 2009-12-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16423 16424 Reviewed by Simon Hausmann. 16425 16426 [Qt] It should be possible to disable inspector 16427 https://bugs.webkit.org/show_bug.cgi?id=32724 16428 16429 This makes the r48430 available for other ports as well. 16430 No new tests, as there is no new functionality. 16431 16432 * inspector/InjectedScriptHost.idl: Guard the interface with 16433 INSPECTOR guard. 16434 16435 * inspector/InspectorBackend.idl: Ditto. 16436 16437 * inspector/InspectorFrontendHost.idl: Ditto. 16438 16439 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16440 16441 Reviewed by Adam Barth. 16442 16443 [V8] Generate configuring of all indexers. 16444 https://bugs.webkit.org/show_bug.cgi?id=33031 16445 16446 Refactorig, covered by existing tests. 16447 16448 * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for 16449 special cases. 16450 * bindings/v8/V8DOMWrapper.cpp: 16451 (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of 16452 indexers. 16453 * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object 16454 elements (these will be generated, too -- later.) 16455 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 16456 (WebCore::npObjectIndexedGetter): Moved common code to a separate method. 16457 (WebCore::npObjectIndexedSetter): Ditto. 16458 (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object 16459 all calling the common method. 16460 (WebCore::INDEXED_PROPERTY_SETTER): Ditto. 16461 16462 2009-12-30 Dimitri Glazkov <dglazkov (a] chromium.org> 16463 16464 Reviewed by Adam Barth. 16465 16466 [V8] Generate configuring of all named property getters/setters/enumerators. 16467 https://bugs.webkit.org/show_bug.cgi?id=32996 16468 16469 Refactoring, covered by existing tests. 16470 16471 * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers 16472 for special cases (See bug for more info). 16473 * bindings/v8/V8DOMWrapper.cpp: 16474 (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named 16475 property handlers. 16476 * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object 16477 elements (these will be generated, too -- later.) 16478 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 16479 (WebCore::npObjectNamedGetter): Moved common code to a separate method. 16480 (WebCore::npObjectNamedSetter): Ditto. 16481 (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object 16482 all calling the common method. 16483 (WebCore::NAMED_PROPERTY_SETTER): Ditto. 16484 16485 2009-12-30 Jakub Wieczorek <faw217 (a] gmail.com> 16486 16487 Reviewed by Simon Hausmann. 16488 16489 [Qt] Fix PluginView::handlePostReadFile(). 16490 https://bugs.webkit.org/show_bug.cgi?id=33052 16491 16492 The function should actually rewrite the given file to the buffer. 16493 16494 This change fixes http/tests/plugins/post-url-file.html, which can be unskipped 16495 now along with other passing http/plugins tests. 16496 16497 * plugins/qt/PluginViewQt.cpp: 16498 (WebCore::PluginView::handlePostReadFile): 16499 16500 2009-12-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 16501 16502 Rubber stamped by Simon Hausmann. 16503 16504 https://bugs.webkit.org/show_bug.cgi?id=32121 16505 [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516. 16506 16507 The implementation appears to either run into an ASSERT 16508 or leak memory at runtime as the m_buffer, m_reader may 16509 already exist. The bug was reopened and we do have a plan now. 16510 16511 * platform/graphics/qt/ImageDecoderQt.cpp: 16512 (WebCore::ImageDecoderQt::setData): 16513 (WebCore::ImageDecoderQt::clearFrameBufferCache): 16514 * platform/graphics/qt/ImageDecoderQt.h: 16515 16516 2009-12-30 Janne Koskinen <janne.p.koskinen (a] digia.com> 16517 16518 Reviewed by Simon Hausmann. 16519 16520 [Qt] Add support for Symbian def files 16521 16522 * WebCore.pro: 16523 16524 2009-12-30 Simon Hausmann <simon.hausmann (a] nokia.com> 16525 16526 Unreviewed Qt/Symbian build fix. 16527 16528 Don't build network state notifier support when building inside of Qt. 16529 Otherwise the Qt build depends on an external module that itself depends 16530 on Qt again. 16531 16532 * WebCore.pro: 16533 16534 2009-12-30 Yury Semikhatsky <yurys (a] chromium.org> 16535 16536 Reviewed by Dimitri Glazkov. 16537 16538 [v8] Use current isolated world's context for ScriptCallStack. 16539 16540 https://bugs.webkit.org/show_bug.cgi?id=33016 16541 16542 * bindings/v8/ScriptCallStack.cpp: 16543 (WebCore::ScriptCallStack::ScriptCallStack): 16544 * bindings/v8/ScriptCallStack.h: 16545 (WebCore::ScriptCallStack::state): 16546 * bindings/v8/ScriptController.cpp: 16547 (WebCore::ScriptController::mainWorldScriptState): 16548 (WebCore::ScriptController::currentScriptState): 16549 (WebCore::ScriptController::clearWindowShell): 16550 * bindings/v8/ScriptController.h: 16551 * bindings/v8/V8IsolatedWorld.cpp: 16552 (WebCore::V8IsolatedWorld::scriptState): 16553 * bindings/v8/V8IsolatedWorld.h: 16554 16555 2009-12-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16556 16557 Reviewed by Simon Hausmann. 16558 16559 Turn off DataGrid support by default. 16560 16561 No new tests, as there is no new functionality. 16562 16563 * WebCore.pro: 16564 16565 2009-12-29 Dirk Schulze <krit (a] webkit.org> 16566 16567 Reviewed by Nikolas Zimmermann. 16568 16569 Detailed boundingBoxes in SVG Renderer 16570 https://bugs.webkit.org/show_bug.cgi?id=32815 16571 16572 Add new bounding boxes for strokes, filters, masker and clipper in SVG. 16573 These new bounding boxes help to fix repaintRectInLocalCoordinates. 16574 We calculate the smallest repaint rect considering the new bounding boxes 16575 now, filters get the correct paint area, masker clip the mask image size 16576 to the visible area of the target. 16577 16578 Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates 16579 affect the LayoutTests. 16580 16581 * rendering/RenderForeignObject.h: 16582 (WebCore::RenderForeignObject::strokeBoundingBox): 16583 * rendering/RenderObject.cpp: 16584 (WebCore::RenderObject::toSVGRenderBase): 16585 * rendering/RenderObject.h: 16586 * rendering/RenderPath.cpp: 16587 (WebCore::RenderPath::strokeBoundingBox): 16588 (WebCore::RenderPath::repaintRectInLocalCoordinates): 16589 (WebCore::RenderPath::setPath): 16590 * rendering/RenderPath.h: 16591 (WebCore::RenderPath::markerBoundingBox): 16592 * rendering/RenderSVGBlock.h: 16593 (WebCore::RenderSVGBlock::toSVGRenderBase): 16594 * rendering/RenderSVGContainer.cpp: 16595 (WebCore::RenderSVGContainer::strokeBoundingBox): 16596 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): 16597 * rendering/RenderSVGContainer.h: 16598 * rendering/RenderSVGImage.cpp: 16599 (WebCore::RenderSVGImage::layout): 16600 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): 16601 * rendering/RenderSVGImage.h: 16602 (WebCore::RenderSVGImage::toSVGRenderBase): 16603 (WebCore::RenderSVGImage::strokeBoundingBox): 16604 * rendering/RenderSVGInline.h: 16605 (WebCore::RenderSVGInline::objectBoundingBox): 16606 (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): 16607 * rendering/RenderSVGModelObject.h: 16608 (WebCore::RenderSVGModelObject::toSVGRenderBase): 16609 * rendering/RenderSVGRoot.h: 16610 (WebCore::RenderSVGRoot::strokeBoundingBox): 16611 * rendering/RenderSVGText.cpp: 16612 (WebCore::RenderSVGText::strokeBoundingBox): 16613 (WebCore::RenderSVGText::repaintRectInLocalCoordinates): 16614 * rendering/RenderSVGText.h: 16615 (WebCore::RenderSVGText::toSVGRenderBase): 16616 * rendering/SVGRenderSupport.cpp: 16617 (WebCore::SVGRenderBase::~SVGRenderBase): 16618 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 16619 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 16620 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer): 16621 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): 16622 * rendering/SVGRenderSupport.h: 16623 (WebCore::SVGRenderBase::toSVGRenderBase): 16624 (WebCore::SVGRenderBase::strokeBoundingBox): 16625 (WebCore::SVGRenderBase::markerBoundingBox): 16626 * rendering/SVGRootInlineBox.h: 16627 (WebCore::SVGRootInlineBox::toSVGRenderBase): 16628 (WebCore::SVGRootInlineBox::objectBoundingBox): 16629 (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates): 16630 * svg/SVGFilterElement.cpp: 16631 (WebCore::SVGFilterElement::filterBoundingBox): 16632 * svg/SVGFilterElement.h: 16633 * svg/SVGMaskElement.cpp: 16634 (WebCore::SVGMaskElement::maskBoundingBox): 16635 (WebCore::SVGMaskElement::drawMaskerContent): 16636 * svg/SVGMaskElement.h: 16637 * svg/graphics/SVGResourceClipper.cpp: 16638 (WebCore::SVGResourceClipper::clipperBoundingBox): 16639 * svg/graphics/SVGResourceClipper.h: 16640 * svg/graphics/SVGResourceFilter.cpp: 16641 (WebCore::SVGResourceFilter::filterBoundingBox): 16642 (WebCore::shouldProcessFilter): 16643 (WebCore::SVGResourceFilter::prepareFilter): 16644 * svg/graphics/SVGResourceFilter.h: 16645 * svg/graphics/SVGResourceMasker.cpp: 16646 (WebCore::SVGResourceMasker::maskerBoundingBox): 16647 (WebCore::SVGResourceMasker::applyMask): 16648 * svg/graphics/SVGResourceMasker.h: 16649 16650 2009-12-29 Andrei Popescu <andreip (a] google.com> 16651 16652 Reviewed by Adam Barth. 16653 16654 Add Android hook to NetworkStateNotifier class 16655 so that the Java side can notify WebCore when the 16656 network state changes. 16657 https://bugs.webkit.org/show_bug.cgi?id=32871 16658 16659 No new tests required, this is platform code. 16660 16661 * platform/network/NetworkStateNotifier.h: 16662 * platform/network/android/NetworkStateNotifierAndroid.cpp: Added. 16663 (WebCore::NetworkStateNotifier::networkStateChange): 16664 16665 2009-12-29 Eric Seidel <eric (a] webkit.org> 16666 16667 No review, rolling out r52630. 16668 http://trac.webkit.org/changeset/52630 16669 16670 Change caused layout tests failures and crashes. 16671 16672 * Android.mk: 16673 * GNUmakefile.am: 16674 * WebCore.pro: 16675 * WebCore.vcproj/WebCore.vcproj: 16676 * WebCore.xcodeproj/project.pbxproj: 16677 * rendering/RenderPath.cpp: 16678 (WebCore::RenderPath::repaintRectInLocalCoordinates): 16679 (WebCore::RenderPath::setPath): 16680 (WebCore::RenderPath::path): 16681 (WebCore::RenderPath::paint): 16682 (WebCore::): 16683 (WebCore::DrawMarkersData::DrawMarkersData): 16684 (WebCore::drawMarkerWithData): 16685 (WebCore::updateMarkerDataForElement): 16686 (WebCore::drawStartAndMidMarkers): 16687 (WebCore::RenderPath::drawMarkersIfNeeded): 16688 * rendering/RenderPath.h: 16689 * rendering/RenderSVGContainer.h: 16690 * rendering/RenderSVGViewportContainer.cpp: 16691 (WebCore::RenderSVGViewportContainer::paint): 16692 * rendering/RenderSVGViewportContainer.h: 16693 * rendering/SVGMarkerLayoutInfo.cpp: Removed. 16694 * rendering/SVGMarkerLayoutInfo.h: Removed. 16695 * svg/SVGMarkerElement.cpp: 16696 (WebCore::SVGMarkerElement::canvasResource): 16697 * svg/graphics/SVGResource.cpp: 16698 (WebCore::SVGResource::SVGResource): 16699 (WebCore::ResourceSet::ResourceSet): 16700 (WebCore::clientMap): 16701 (WebCore::SVGResource::~SVGResource): 16702 (WebCore::SVGResource::removeClient): 16703 (WebCore::SVGResource::addClient): 16704 * svg/graphics/SVGResourceMarker.cpp: 16705 (WebCore::SVGResourceMarker::SVGResourceMarker): 16706 (WebCore::SVGResourceMarker::setMarker): 16707 (WebCore::SVGResourceMarker::setRef): 16708 (WebCore::SVGResourceMarker::draw): 16709 (WebCore::SVGResourceMarker::cachedBounds): 16710 (WebCore::SVGResourceMarker::externalRepresentation): 16711 * svg/graphics/SVGResourceMarker.h: 16712 (WebCore::SVGResourceMarker::refX): 16713 (WebCore::SVGResourceMarker::refY): 16714 16715 2009-12-29 Dan Bernstein <mitz (a] apple.com> 16716 16717 Reviewed by Sam Weinig. 16718 16719 Move the focus ring rect array, width and offset out of GraphicsContext 16720 https://bugs.webkit.org/show_bug.cgi?id=33028 16721 16722 * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(), 16723 clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(), 16724 focusRingWidth(), focusRingOffset(), and focusRingRects(). 16725 * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect 16726 vector, width and offset as parameters to drawFocusRing(). 16727 * platform/graphics/GraphicsContextPrivate.h: 16728 (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style. 16729 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed 16730 m_focusRingRects, m_focusRingWidth and m_focusRingOffset. 16731 * platform/graphics/IntRect.cpp: 16732 (WebCore::unionRect): Added this helper function. 16733 * platform/graphics/IntRect.h: 16734 * platform/graphics/cairo/GraphicsContextCairo.cpp: 16735 (WebCore::GraphicsContext::drawFocusRing): 16736 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 16737 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16738 * platform/graphics/mac/GraphicsContextMac.mm: 16739 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16740 * platform/graphics/qt/GraphicsContextQt.cpp: 16741 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16742 * platform/graphics/skia/GraphicsContextSkia.cpp: 16743 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16744 * platform/graphics/win/GraphicsContextCGWin.cpp: 16745 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16746 * platform/graphics/wince/GraphicsContextWince.cpp: 16747 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16748 * platform/graphics/wx/GraphicsContextWx.cpp: 16749 (WebCore::GraphicsContext::drawFocusRing): Ditto. 16750 * rendering/RenderBlock.cpp: 16751 (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype. 16752 Added empty rect checks that were previously done in 16753 GraphicsContext::addFocusRingRect(). 16754 * rendering/RenderBlock.h: 16755 * rendering/RenderBox.cpp: 16756 (WebCore::RenderBox::addFocusRingRects): Ditto. 16757 * rendering/RenderBox.h: 16758 * rendering/RenderInline.cpp: 16759 (WebCore::RenderInline::addFocusRingRects): Ditto. 16760 (WebCore::RenderInline::paintOutline): Collect focus ring rects into a 16761 vector and pass it to drawFocusRing(). Use unionRect() instead of 16762 focusRingBoundingRect(). 16763 * rendering/RenderInline.h: 16764 * rendering/RenderObject.cpp: 16765 (WebCore::RenderObject::paintOutline): Ditto. 16766 * rendering/RenderObject.h: 16767 (WebCore::RenderObject::addFocusRingRects): Changed to take a 16768 Vector<IntRect> to which the rects are added. 16769 * rendering/RenderPath.cpp: 16770 (WebCore::RenderPath::addFocusRingRects): Updated for new prototype. 16771 Added empty rect check that was previously done in 16772 GraphicsContext::addFocusRingRect(). 16773 * rendering/RenderPath.h: 16774 * rendering/RenderSVGContainer.cpp: 16775 (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype. 16776 Added empty rect check that was previously done in 16777 GraphicsContext::addFocusRingRect(). 16778 * rendering/RenderSVGContainer.h: 16779 * rendering/RenderSVGImage.cpp: 16780 (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype. 16781 Added empty rect check that was previously done in 16782 GraphicsContext::addFocusRingRect(). 16783 * rendering/RenderSVGImage.h: 16784 * rendering/RenderTextControl.cpp: 16785 (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype. 16786 Added empty rect check that was previously done in 16787 GraphicsContext::addFocusRingRect(). 16788 * rendering/RenderTextControl.h: 16789 16790 2009-12-28 Dumitru Daniliuc <dumi (a] chromium.org> 16791 16792 Reviewed by Maciej Stachowiak. 16793 16794 1. Changes the order in which some functions are called to match 16795 the pre-r52536 order. Namely, when a new Database object is 16796 created, DatabaseTracker::addOpenDatabase() is called in the 16797 constructor, before doing anything else related to that database 16798 (like trying to get a file handle to the database 16799 file). Chromium's implementation depends on this ordering. 16800 2. Changes Database::performOpenAndVerify() to close the open 16801 handle to the database file immediately if the database version 16802 does not match the expected one. The current behavior is to add 16803 the Database object to a DatabaseThread collection and let the 16804 database thread close the handle when it's destroyed. 16805 16806 https://bugs.webkit.org/show_bug.cgi?id=33005 16807 16808 All LayoutTests/storage tests pass in clean WebKit and Chromium 16809 clients. 16810 16811 * storage/Database.cpp: 16812 (WebCore::Database::openDatabase): Notify DatabaseTracker and 16813 Document that a Database object is about to be destroyed (when a 16814 database file cannot be opened, or its version doesn't match the 16815 expected one). 16816 (WebCore::Database::Database): Notify DatabaseTracker and Document 16817 that a new Database object was created. 16818 (WebCore::Database::performOpenAndVerify): If a database version 16819 does not match the expected one, immediately close the open file 16820 handle to the database file. 16821 16822 2009-12-29 Nikolas Zimmermann <nzimmermann (a] rim.com> 16823 16824 Reviewed by Dirk Schulze. 16825 16826 Marker code is buggy: referencePoint translation is off 16827 https://bugs.webkit.org/show_bug.cgi?id=33012 16828 16829 Rewrite marker code, as it was buggy: 16830 - Correct refX/refY handling (covered by new marker-referencePoint.svg test) 16831 - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects 16832 - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo) 16833 - Fix SVGResource assuming that there is only one resource per resource type per element. Markers 16834 can have three different resources of the same type (three markers, start/mid/end markers) 16835 16836 Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before). 16837 Test: svg/custom/marker-referencePoint.svg 16838 16839 * Android.mk: 16840 * GNUmakefile.am: 16841 * WebCore.pro: 16842 * WebCore.vcproj/WebCore.vcproj: 16843 * WebCore.xcodeproj/project.pbxproj: 16844 * rendering/RenderPath.cpp: 16845 (WebCore::RenderPath::repaintRectInLocalCoordinates): 16846 (WebCore::RenderPath::setPath): 16847 (WebCore::RenderPath::paint): 16848 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): 16849 * rendering/RenderPath.h: 16850 (WebCore::RenderPath::path): 16851 * rendering/RenderSVGContainer.h: 16852 * rendering/RenderSVGViewportContainer.cpp: 16853 (WebCore::RenderSVGViewportContainer::markerContentTransformation): 16854 * rendering/RenderSVGViewportContainer.h: 16855 * rendering/SVGMarkerLayoutInfo.cpp: Added. 16856 (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo): 16857 (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo): 16858 (WebCore::SVGMarkerLayoutInfo::initialize): 16859 (WebCore::updateMarkerDataForElement): 16860 (WebCore::recordMarkerData): 16861 (WebCore::processStartAndMidMarkers): 16862 (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): 16863 (WebCore::SVGMarkerLayoutInfo::drawMarkers): 16864 * rendering/SVGMarkerLayoutInfo.h: Added. 16865 (WebCore::MarkerData::): 16866 (WebCore::MarkerData::MarkerData): 16867 (WebCore::MarkerLayout::MarkerLayout): 16868 * svg/SVGMarkerElement.cpp: 16869 (WebCore::SVGMarkerElement::canvasResource): 16870 * svg/graphics/SVGResource.cpp: 16871 (WebCore::resourceSet): 16872 (WebCore::SVGResource::SVGResource): 16873 (WebCore::SVGResource::~SVGResource): 16874 (WebCore::SVGResource::removeClient): 16875 (WebCore::SVGResource::addClient): 16876 * svg/graphics/SVGResourceMarker.cpp: 16877 (WebCore::SVGResourceMarker::SVGResourceMarker): 16878 (WebCore::SVGResourceMarker::markerBoundaries): 16879 (WebCore::SVGResourceMarker::markerTransformation): 16880 (WebCore::SVGResourceMarker::draw): 16881 (WebCore::SVGResourceMarker::externalRepresentation): 16882 * svg/graphics/SVGResourceMarker.h: 16883 (WebCore::SVGResourceMarker::setRenderer): 16884 (WebCore::SVGResourceMarker::setReferencePoint): 16885 (WebCore::SVGResourceMarker::referencePoint): 16886 16887 2009-12-29 Alexander Pavlov <apavlov (a] chromium.org> 16888 16889 Reviewed by Pavel Feldman. 16890 16891 Fix UI nits in the Audits panel. 16892 https://bugs.webkit.org/show_bug.cgi?id=32932 16893 16894 * inspector/front-end/AuditLauncherView.js: 16895 (WebInspector.AuditLauncherView.prototype._selectAllClicked): 16896 (WebInspector.AuditLauncherView.prototype._createCategoryElement): 16897 (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick): 16898 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 16899 * inspector/front-end/AuditResultView.js: 16900 (WebInspector.AuditResultView): 16901 (WebInspector.AuditRuleResultPane): 16902 * inspector/front-end/audits.css: 16903 16904 2009-12-29 Johnny Ding <jnd (a] chromium.org> 16905 16906 Reviewed by Dimitri Glazkov. 16907 16908 https://bugs.webkit.org/show_bug.cgi?id=32863 16909 Make NodeList support call-as-function 16910 16911 Test: fast/dom/NodeList/nodelist-item-call-as-function.html 16912 16913 * bindings/scripts/CodeGeneratorV8.pm: 16914 * bindings/v8/V8DOMWrapper.cpp: 16915 (WebCore::V8DOMWrapper::getTemplate): 16916 * bindings/v8/custom/V8NodeListCustom.cpp: 16917 (WebCore::V8NodeList::callAsFunctionCallback): 16918 16919 2009-12-29 Simon Fraser <simon.fraser (a] apple.com> 16920 16921 Reviewed by Dan Bernstein. 16922 16923 Typed text in table not correctly redrawn on page with compositing layers 16924 https://bugs.webkit.org/show_bug.cgi?id=32874 16925 16926 Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere 16927 to decide when to use layoutState, which is to test for layoutStateEnabled() 16928 and no repaint container. 16929 16930 Not possible to make a repaint test that exercises the problem, so no test. 16931 16932 * rendering/RenderTableCell.cpp: 16933 (WebCore::RenderTableCell::computeRectForRepaint): 16934 16935 2009-12-29 Alexander Pavlov <apavlov (a] chromium.org> 16936 16937 Reviewed by Timothy Hatcher. 16938 16939 Discard port from cookie domain when matching cookies. 16940 16941 WebKit cookies do not hold the port information, so we should match only hostnames. 16942 https://bugs.webkit.org/show_bug.cgi?id=31787 16943 16944 * inspector/front-end/inspector.js: 16945 (WebInspector.updateResource): 16946 16947 2009-12-29 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16948 16949 Reviewed by Kenneth Rohde Christiansen. 16950 16951 [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp 16952 https://bugs.webkit.org/show_bug.cgi?id=33019 16953 16954 No new tests as there is no new functionality. 16955 16956 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 16957 (WebCore::MediaPlayerPrivate::totalTimeChanged): 16958 16959 2009-12-29 Kent Tamura <tkent (a] chromium.org> 16960 16961 Reviewed by Maciej Stachowiak. 16962 16963 Implement HTML5 <aside> element. 16964 https://bugs.webkit.org/show_bug.cgi?id=32943 16965 16966 <aside> should behave the same as <nav>, <section>, and <article>. 16967 16968 Test: fast/html/aside-element.html 16969 16970 * css/html.css: Add aside as a block element. 16971 * editing/htmlediting.cpp: 16972 (WebCore::validBlockTag): Add asideTag. 16973 * html/HTMLElement.cpp: 16974 (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag. 16975 (WebCore::blockTagList): Add asideTag. 16976 * html/HTMLParser.cpp: 16977 (WebCore::HTMLParser::getNode): Add asideTag. 16978 * html/HTMLTagNames.in: Add aside. 16979 16980 2009-12-29 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16981 16982 Reviewed by Eric Seidel. 16983 16984 Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings 16985 https://bugs.webkit.org/show_bug.cgi?id=33003 16986 16987 No new tests as there is no new functionality. 16988 16989 * editing/CompositeEditCommand.cpp: 16990 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 16991 * page/animation/ImplicitAnimation.cpp: 16992 (WebCore::ImplicitAnimation::sendTransitionEvent): 16993 * page/animation/KeyframeAnimation.cpp: 16994 (WebCore::KeyframeAnimation::sendAnimationEvent): 16995 * rendering/RenderSVGContainer.h: 16996 (WebCore::toRenderSVGContainer): 16997 * rendering/style/RenderStyle.cpp: 16998 (WebCore::RenderStyle::setTextShadow): 16999 * svg/graphics/SVGPaintServerGradient.cpp: 17000 (WebCore::SVGPaintServerGradient::setup): 17001 * svg/graphics/SVGPaintServerPattern.cpp: 17002 (WebCore::SVGPaintServerPattern::setup): 17003 17004 2009-12-28 Andrei Popescu <andreip (a] google.com> 17005 17006 Reviewed by Dmitry Titov. 17007 17008 On Android, ResourceHandle instances make use of a pointer to a 17009 ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel 17010 the load, if necessary. Since this pointer is an internal implementation 17011 details of ResourceHandle on Android, it needs to be stored in the 17012 ResourceHandleInternal class. This patch adds this pointer. 17013 https://bugs.webkit.org/show_bug.cgi?id=32873 17014 17015 No new tests needed, this is platform-specific code. 17016 17017 * platform/network/ResourceHandle.h: 17018 * platform/network/ResourceHandleInternal.h: 17019 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 17020 17021 2009-12-28 Charles Wei <charles.wei (a] torchmobile.com.cn> 17022 17023 Reviewed by Maciej Stachowiak. 17024 17025 Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser, 17026 since with XHTMLMP enabled, it's not checking create Errors, and then contents inside 17027 <noscript> are always parsed and rendered. 17028 https://bugs.webkit.org/show_bug.cgi?id=32706 17029 17030 Tests: fast/parser/noscript-with-javascript-disabled.html 17031 fast/parser/noscript-with-javascript-enabled.html 17032 17033 * html/HTMLParser.cpp: 17034 (WebCore::HTMLParser::getNode): 17035 17036 2009-12-28 Kinuko Yasuda <kinuko (a] chromium.org> 17037 17038 Reviewed by Maciej Stachowiak. 17039 17040 Fixed isKeypadEvent behavior for Mac to correctly report keyLocation 17041 as DOM_KEY_LOCATION_NUMPAD for numeric pad key events. 17042 https://bugs.webkit.org/show_bug.cgi?id=28247 17043 17044 Test: fast/events/keydown-numpad-keys.html 17045 17046 * platform/mac/KeyEventMac.mm: 17047 (WebCore::isKeypadEvent): 17048 17049 2009-12-28 Mike Moretti <webkit9 (a] mordent.com> 17050 17051 Reviewed by Darin Adler. 17052 17053 Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string 17054 17055 Test: fast/dom/insert-span-into-long-text-bug-28245.html 17056 17057 * rendering/RenderBlockLineLayout.cpp: 17058 (WebCore::RenderBlock::findNextLineBreak): 17059 17060 2009-12-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 17061 17062 Rubber-stamped by Xan Lopez. 17063 17064 Follow Apple's decision to disable HTML DataGrid by default. 17065 17066 * GNUmakefile.am: 17067 17068 2009-12-28 Gustavo Noronha Silva <gns (a] gnome.org> 17069 17070 Reviewed by Ariya Hidayat. 17071 17072 Fix warnings when generating files using gperf. The warnings are 17073 currently harmless, but some changes in the build system may make 17074 them fatal. 17075 17076 [GTK] Build time must be reduced 17077 https://bugs.webkit.org/show_bug.cgi?id=32921 17078 17079 * GNUmakefile.am: 17080 17081 2009-12-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 17082 17083 Reviewed by Adam Barth. 17084 17085 [Qt] Fix build break for Qt 4.4 17086 https://bugs.webkit.org/show_bug.cgi?id=30327 17087 17088 No new tests, as there is no new functionality. 17089 17090 * platform/graphics/qt/GraphicsContextQt.cpp: 17091 (WebCore::GraphicsContext::clipOut): Use intersected() instead of 17092 operator &, which was only introduced in Qt version 4.5. 17093 17094 * platform/qt/ScrollbarThemeQt.cpp: 17095 (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace 17096 argument to fillColor() introduced in r50760 17097 17098 2009-12-28 Kent Tamura <tkent (a] chromium.org> 17099 17100 Reviewed by Maciej Stachowiak. 17101 17102 Implement HTML5 <article> element. 17103 https://bugs.webkit.org/show_bug.cgi?id=32936 17104 17105 <article> should behave the same as <nav> and <section>. 17106 17107 Test: fast/html/article-element.html 17108 17109 * css/html.css: Add article as a block element. 17110 * editing/htmlediting.cpp: 17111 (WebCore::validBlockTag): Add articleTag. 17112 * html/HTMLElement.cpp: 17113 (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag. 17114 (WebCore::blockTagList): Add articleTag. 17115 * html/HTMLParser.cpp: 17116 (WebCore::HTMLParser::getNode): Add articleTag. 17117 * html/HTMLTagNames.in: Add article. 17118 17119 2009-12-27 Jakub Wieczorek <faw217 (a] gmail.com> 17120 17121 Reviewed by Eric Seidel. 17122 17123 [Qt] Support upload progress events in XMLHttpRequest 17124 https://bugs.webkit.org/show_bug.cgi?id=32969 17125 17126 Make QNetworkReplyHandler report the upload progress to the client. 17127 17128 Already covered by tests: 17129 http/tests/xmlhttprequest/upload-onload-event.html 17130 http/tests/xmlhttprequest/upload-onloadstart-event.html 17131 http/tests/xmlhttprequest/upload-progress-events.html 17132 http/tests/xmlhttprequest/upload-onprogress-event.html 17133 17134 which have been unskipped. 17135 17136 * platform/network/qt/QNetworkReplyHandler.cpp: 17137 (WebCore::QNetworkReplyHandler::uploadProgress): 17138 (WebCore::QNetworkReplyHandler::start): 17139 * platform/network/qt/QNetworkReplyHandler.h: 17140 17141 2009-12-27 Dirk Schulze <krit (a] webkit.org> 17142 17143 Reviewed by Nikolas Zimmermann. 17144 17145 SVG: Stop rendering of objects with empty mask and filter content 17146 https://bugs.webkit.org/show_bug.cgi?id=32968 17147 17148 It's not neccessary to continue rendering of an object and its' childs 17149 if the mask clips the complete content away. 17150 The same for filters, if the filter rendering is discontinued or either 17151 width or height are zero. 17152 We might also stop rendering if repaintRectInLocalCoordinates is empty. 17153 But it needs to be fixed first. 17154 17155 Test: svg/custom/empty-mask.svg 17156 17157 * rendering/RenderPath.cpp: 17158 (WebCore::RenderPath::paint): 17159 * rendering/RenderSVGContainer.cpp: 17160 (WebCore::RenderSVGContainer::paint): 17161 * rendering/RenderSVGImage.cpp: 17162 (WebCore::RenderSVGImage::paint): 17163 * rendering/RenderSVGRoot.cpp: 17164 (WebCore::RenderSVGRoot::paint): 17165 * rendering/SVGRenderSupport.cpp: 17166 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 17167 * rendering/SVGRenderSupport.h: 17168 * rendering/SVGRootInlineBox.cpp: 17169 (WebCore::SVGRootInlineBox::paint): 17170 * svg/SVGMaskElement.cpp: 17171 (WebCore::SVGMaskElement::drawMaskerContent): 17172 * svg/SVGMaskElement.h: 17173 * svg/graphics/SVGResourceFilter.cpp: 17174 (WebCore::SVGResourceFilter::prepareFilter): 17175 (WebCore::SVGResourceFilter::applyFilter): 17176 * svg/graphics/SVGResourceFilter.h: 17177 * svg/graphics/SVGResourceMasker.cpp: 17178 (WebCore::SVGResourceMasker::SVGResourceMasker): 17179 (WebCore::SVGResourceMasker::applyMask): 17180 * svg/graphics/SVGResourceMasker.h: 17181 17182 2009-12-27 Christian Dywan <christian (a] twotoasts.de> 17183 17184 Reviewed by Eric Seidel. 17185 17186 [GTK] Spell Check Suggestions (Do not work) 17187 https://bugs.webkit.org/show_bug.cgi?id=30908 17188 17189 * platform/gtk/ContextMenuItemGtk.cpp: 17190 (WebCore::ContextMenuItem::ContextMenuItem): 17191 (WebCore::ContextMenuItem::title): 17192 (WebCore::ContextMenuItem::setTitle): Implement the 'title' member 17193 and set the title from the native menu item. 17194 17195 2009-12-27 Dirk Schulze <krit (a] webkit.org> 17196 17197 Reviewed by Nikolas Zimmermann. 17198 17199 SVG Mask result wrong, if two different objects call the same mask id 17200 https://bugs.webkit.org/show_bug.cgi?id=32787 17201 17202 At the moment we create one resource per maskId. Some resources (like mask) 17203 create ImageBuffers and depends on the properties of the RenderObject, 17204 thus we can't use it for a second object. 17205 This patch stores multiple mask resources for one maskId and different 17206 RenderObject can use the same maskId. 17207 Clipper, Filter and Patterns also need to store multiple resources later. 17208 17209 Test: svg/custom/mask-on-multiple-objects.svg 17210 17211 * rendering/RenderPath.cpp: 17212 (WebCore::RenderPath::drawMarkersIfNeeded): 17213 * rendering/RenderSVGContainer.cpp: 17214 (WebCore::RenderSVGContainer::selfWillPaint): 17215 * rendering/RenderSVGGradientStop.cpp: 17216 (WebCore::RenderSVGGradientStop::styleDidChange): 17217 * rendering/RenderSVGRoot.cpp: 17218 (WebCore::RenderSVGRoot::selfWillPaint): 17219 * rendering/SVGRenderSupport.cpp: 17220 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 17221 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 17222 * rendering/SVGRenderTreeAsText.cpp: 17223 (WebCore::writeRenderResources): 17224 * svg/SVGClipPathElement.cpp: 17225 (WebCore::SVGClipPathElement::canvasResource): 17226 * svg/SVGClipPathElement.h: 17227 * svg/SVGFilterElement.cpp: 17228 (WebCore::SVGFilterElement::canvasResource): 17229 * svg/SVGFilterElement.h: 17230 * svg/SVGGradientElement.cpp: 17231 (WebCore::SVGGradientElement::canvasResource): 17232 * svg/SVGGradientElement.h: 17233 * svg/SVGMarkerElement.cpp: 17234 (WebCore::SVGMarkerElement::canvasResource): 17235 * svg/SVGMarkerElement.h: 17236 * svg/SVGMaskElement.cpp: 17237 (WebCore::SVGMaskElement::svgAttributeChanged): 17238 (WebCore::SVGMaskElement::childrenChanged): 17239 (WebCore::SVGMaskElement::canvasResource): 17240 * svg/SVGMaskElement.h: 17241 * svg/SVGPatternElement.cpp: 17242 (WebCore::SVGPatternElement::canvasResource): 17243 * svg/SVGPatternElement.h: 17244 * svg/SVGStyledElement.cpp: 17245 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): 17246 * svg/SVGStyledElement.h: 17247 (WebCore::SVGStyledElement::canvasResource): 17248 * svg/graphics/SVGPaintServer.cpp: 17249 (WebCore::getPaintServerById): 17250 (WebCore::SVGPaintServer::fillPaintServer): 17251 (WebCore::SVGPaintServer::strokePaintServer): 17252 * svg/graphics/SVGPaintServer.h: 17253 * svg/graphics/SVGResource.cpp: 17254 (WebCore::getResourceById): 17255 * svg/graphics/SVGResource.h: 17256 * svg/graphics/SVGResourceClipper.cpp: 17257 (WebCore::getClipperById): 17258 * svg/graphics/SVGResourceClipper.h: 17259 * svg/graphics/SVGResourceFilter.cpp: 17260 (WebCore::getFilterById): 17261 * svg/graphics/SVGResourceFilter.h: 17262 * svg/graphics/SVGResourceMarker.cpp: 17263 (WebCore::getMarkerById): 17264 * svg/graphics/SVGResourceMarker.h: 17265 * svg/graphics/SVGResourceMasker.cpp: 17266 (WebCore::getMaskerById): 17267 * svg/graphics/SVGResourceMasker.h: 17268 17269 2009-12-27 Nikolas Zimmermann <nzimmermann (a] rim.com> 17270 17271 Reviewed by Dirk Schulze. 17272 17273 Cleanup RenderPath code, related to markers. Pass around 17274 PaintInfo objects instead of GraphicsContext directly, to 17275 avoid having to recreate a new PaintInfo object in 17276 SVGResourceMarker::draw(). 17277 17278 No layout test changes. 17279 17280 * rendering/RenderPath.cpp: 17281 (WebCore::RenderPath::paint): 17282 (WebCore::DrawMarkersData::DrawMarkersData): 17283 (WebCore::drawMarkerWithData): 17284 (WebCore::drawStartAndMidMarkers): 17285 (WebCore::RenderPath::drawMarkersIfNeeded): 17286 * rendering/RenderPath.h: 17287 * svg/graphics/SVGResourceMarker.cpp: 17288 (WebCore::SVGResourceMarker::draw): 17289 * svg/graphics/SVGResourceMarker.h: 17290 17291 2009-12-27 Patrick Gansterer <paroga (a] paroga.com> 17292 17293 Reviewed by Eric Seidel. 17294 17295 WinCE buildfix (added missing header) 17296 17297 * platform/text/wince/TextBreakIteratorWince.cpp: 17298 17299 2009-12-27 Patrick Gansterer <paroga (a] paroga.com> 17300 17301 Reviewed by Eric Seidel. 17302 17303 Buildfix after r50760 and some style fixes. 17304 17305 * rendering/RenderThemeWince.cpp: 17306 (WebCore::RenderThemeWince::paintSearchFieldCancelButton): 17307 (WebCore::RenderThemeWince::paintSliderTrack): 17308 (WebCore::RenderThemeWince::paintSliderThumb): 17309 (WebCore::RenderThemeWince::paintMediaMuteButton): 17310 (WebCore::RenderThemeWince::paintMediaPlayButton): 17311 17312 2009-12-27 Patrick Gansterer <paroga (a] paroga.com> 17313 17314 Reviewed by Adam Barth. 17315 17316 WinCE buildfixes (missing headers and unsupported HWND_MESSAGE) 17317 17318 * platform/wince/MIMETypeRegistryWince.cpp: 17319 * platform/wince/SearchPopupMenuWince.cpp: 17320 * platform/wince/SharedTimerWince.cpp: 17321 (WebCore::initializeOffScreenTimerWindow): 17322 17323 2009-12-26 Eric Seidel <eric (a] webkit.org> 17324 17325 No review, rolling out r52554. 17326 http://trac.webkit.org/changeset/52554 17327 17328 https://bugs.webkit.org/show_bug.cgi?id=32955 17329 The original change was covered under 17330 https://bugs.webkit.org/show_bug.cgi?id=32913 17331 17332 r52554 was itself a rollout of r52536. 17333 However it caused two layout tests to fail on Leopard: 17334 storage/open-database-while-transaction-in-progress.html 17335 svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?) 17336 17337 So I'm rolling out the rollout in an attempt to get the bots green. 17338 r52554 did not explain why it was rolled out, so I do not know 17339 what might fail for Chromium after this change. I warned the folks 17340 in #chromium that it was coming. 17341 17342 * storage/Database.cpp: 17343 (WebCore::Database::openDatabase): 17344 (WebCore::Database::Database): 17345 (WebCore::Database::performOpenAndVerify): 17346 17347 2009-12-26 Dan Bernstein <mitz (a] apple.com> 17348 17349 Reviewed by Sam Weinig. 17350 17351 <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space 17352 https://bugs.webkit.org/show_bug.cgi?id=32690 17353 17354 Test: fast/block/float/clear-to-fit.html 17355 17356 * rendering/RenderBlock.cpp: 17357 (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to 17358 fit the child on the line. 17359 17360 2009-12-25 Kent Tamura <tkent (a] chromium.org> 17361 17362 Reviewed by Darin Adler. 17363 17364 Implement HTML5 section element. 17365 https://bugs.webkit.org/show_bug.cgi?id=32936 17366 17367 <section> should behave the same as <nav>. 17368 17369 Test: fast/html/section-element.html 17370 17371 * css/html.css: Add section as a block element. 17372 * editing/htmlediting.cpp: 17373 (WebCore::validBlockTag): Add sectionTag. 17374 * html/HTMLElement.cpp: 17375 (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag. 17376 (WebCore::blockTagList): Add sectionTag. 17377 * html/HTMLParser.cpp: 17378 (WebCore::HTMLParser::getNode): Add sectionTag. 17379 * html/HTMLTagNames.in: Add section. 17380 17381 2009-12-25 Daniel Bates <dbates (a] webkit.org> 17382 17383 Reviewed by Adam Barth. 17384 17385 https://bugs.webkit.org/show_bug.cgi?id=32938 17386 17387 Cleans up XSSAuditor. 17388 17389 Currently, we pass various parameters through to XSSAuditor::findInRequest 17390 that are used to determine how to decode the HTTP input parameters so that 17391 we can perform a match against the script source. Instead, we have defined 17392 a structure XSSAuditor::FindTask that can hold all of these parameters. 17393 17394 No functionality was changed. So, no new tests. 17395 17396 * page/XSSAuditor.cpp: 17397 (WebCore::XSSAuditor::canEvaluate): Modified to use struct 17398 XSSAuditor::FindTask. 17399 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto. 17400 (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto. 17401 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto. 17402 (WebCore::XSSAuditor::canLoadObject): Ditto. 17403 (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 17404 (WebCore::XSSAuditor::findInRequest): Ditto. 17405 * page/XSSAuditor.h: 17406 (WebCore::XSSAuditor::FindTask::FindTask): Added. 17407 17408 2009-12-25 Nikolas Zimmermann <nzimmermann (a] rim.com> 17409 17410 Reviewed by Dirk Schulze. 17411 17412 DOMWindow is missing lots of SVG* constructor objects 17413 https://bugs.webkit.org/show_bug.cgi?id=20430 17414 17415 Expose all implemented SVG 1.1 constructors. 17416 17417 Test: svg/custom/global-constructors.js 17418 17419 * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement 17420 * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations. 17421 * page/DOMWindow.idl: Add a bunch of new SVG object ctors. 17422 * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment. 17423 * svg/SVGAnimatedPoints.idl: Ditto. 17424 17425 2009-12-25 Alexander Pavlov <apavlov (a] chromium.org> 17426 17427 Reviewed by Pavel Feldman. 17428 17429 AuditsPanel for Web Inspector (hidden, no preset audits). 17430 17431 https://bugs.webkit.org/show_bug.cgi?id=31665 17432 17433 * English.lproj/localizedStrings.js: 17434 * WebCore.gypi: 17435 * WebCore.vcproj/WebCore.vcproj: 17436 * inspector/front-end/AuditLauncherView.js: Added. 17437 (WebInspector.AuditLauncherView.categorySortFunction): 17438 (WebInspector.AuditLauncherView): 17439 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): 17440 (WebInspector.AuditLauncherView.prototype._setAuditRunning): 17441 (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback): 17442 (WebInspector.AuditLauncherView.prototype._launchButtonClicked): 17443 (WebInspector.AuditLauncherView.prototype._selectAllClicked): 17444 (WebInspector.AuditLauncherView.prototype._categoryClicked): 17445 (WebInspector.AuditLauncherView.prototype._createCategoryElement): 17446 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 17447 (WebInspector.AuditLauncherView.prototype._updateButton): 17448 (WebInspector.AuditLauncherView.prototype.resize): 17449 * inspector/front-end/AuditResultView.js: Added. 17450 (WebInspector.AuditResultView.entrySortFunction): 17451 (WebInspector.AuditResultView): 17452 (WebInspector.AuditCategoryResultPane): 17453 (WebInspector.AuditRuleResultPane): 17454 (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult): 17455 (WebInspector.AuditRuleResultChildSection): 17456 (WebInspector.AuditRuleResultChildSection.prototype.set title): 17457 (WebInspector.AuditRuleResultChildSection.prototype.expand): 17458 * inspector/front-end/AuditsPanel.js: Added. 17459 (WebInspector.AuditsPanel): 17460 (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel): 17461 (WebInspector.AuditsPanel.prototype.get statusBarItems): 17462 (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime): 17463 (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime): 17464 (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime): 17465 (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime): 17466 (WebInspector.AuditsPanel.prototype.get categoriesById): 17467 (WebInspector.AuditsPanel.prototype.get visibleView): 17468 (WebInspector.AuditsPanel.prototype._constructCategories): 17469 (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback): 17470 (WebInspector.AuditsPanel.prototype._executeAudit): 17471 (WebInspector.AuditsPanel.prototype._auditFinishedCallback): 17472 (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback): 17473 (WebInspector.AuditsPanel.prototype.initiateAudit): 17474 (WebInspector.AuditsPanel.prototype._reloadResources): 17475 (WebInspector.AuditsPanel.prototype._didMainResourceLoad): 17476 (WebInspector.AuditsPanel.prototype.showResults): 17477 (WebInspector.AuditsPanel.prototype.showLauncherView): 17478 (WebInspector.AuditsPanel.prototype.showView): 17479 (WebInspector.AuditsPanel.prototype.show): 17480 (WebInspector.AuditsPanel.prototype.attach): 17481 (WebInspector.AuditsPanel.prototype.resize): 17482 (WebInspector.AuditsPanel.prototype.updateMainViewWidth): 17483 (WebInspector.AuditsPanel.prototype._updateLauncherViewControls): 17484 (WebInspector.AuditsPanel.prototype._clearButtonClicked): 17485 (WebInspector.AuditsPanel.prototype._closeVisibleView): 17486 (WebInspector.AuditCategory): 17487 (WebInspector.AuditCategory.prototype.get id): 17488 (WebInspector.AuditCategory.prototype.get displayName): 17489 (WebInspector.AuditCategory.prototype.get ruleCount): 17490 (WebInspector.AuditCategory.prototype.addRule): 17491 (WebInspector.AuditCategory.prototype.runRules): 17492 (WebInspector.AuditRule): 17493 (WebInspector.AuditRule.prototype.get id): 17494 (WebInspector.AuditRule.prototype.get displayName): 17495 (WebInspector.AuditRule.prototype.run): 17496 (WebInspector.AuditRule.prototype.doRun): 17497 (WebInspector.AuditRule.prototype.getValue): 17498 (WebInspector.AuditCategoryResult): 17499 (WebInspector.AuditCategoryResult.prototype.addEntry): 17500 (WebInspector.AuditRuleResult): 17501 (WebInspector.AuditRuleResult.prototype.appendChild): 17502 (WebInspector.AuditRuleResult.prototype.set type): 17503 (WebInspector.AuditRuleResult.prototype.get type): 17504 (WebInspector.AuditsSidebarTreeElement): 17505 (WebInspector.AuditsSidebarTreeElement.prototype.onattach): 17506 (WebInspector.AuditsSidebarTreeElement.prototype.onselect): 17507 (WebInspector.AuditsSidebarTreeElement.prototype.get selectable): 17508 (WebInspector.AuditsSidebarTreeElement.prototype.refresh): 17509 (WebInspector.AuditResultSidebarTreeElement): 17510 (WebInspector.AuditResultSidebarTreeElement.prototype.onselect): 17511 (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable): 17512 * inspector/front-end/WebKit.qrc: 17513 * inspector/front-end/audits.css: Added. 17514 * inspector/front-end/inspector.html: 17515 * inspector/front-end/inspector.js: 17516 (WebInspector._createPanels): 17517 (WebInspector.updateResource): 17518 17519 2009-12-25 Pavel Feldman <pfeldman (a] chromium.org> 17520 17521 Reviewed by Timothy Hatcher. 17522 17523 Web Inspector: Implement Edit Inner HTML action. 17524 17525 https://bugs.webkit.org/show_bug.cgi?id=32924 17526 17527 * English.lproj/localizedStrings.js: 17528 * bindings/js/JSInjectedScriptHostCustom.cpp: 17529 (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): 17530 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 17531 (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback): 17532 * inspector/InjectedScriptHost.cpp: 17533 (WebCore::InjectedScriptHost::pushNodePathToFrontend): 17534 * inspector/InjectedScriptHost.h: 17535 * inspector/InjectedScriptHost.idl: 17536 * inspector/InspectorDOMAgent.h: 17537 * inspector/front-end/ElementsPanel.js: 17538 (WebInspector.ElementsPanel.prototype.show): 17539 (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): 17540 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 17541 * inspector/front-end/ElementsTreeOutline.js: 17542 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): 17543 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit): 17544 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose): 17545 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): 17546 (): 17547 * inspector/front-end/InjectedScript.js: 17548 (InjectedScript.getNodePropertyValue): 17549 (InjectedScript.setOuterHTML): 17550 (InjectedScript.performSearch.addNodesToResults): 17551 (InjectedScript._inspectObject): 17552 (InjectedScript._copy): 17553 (InjectedScript.pushNodeToFrontend): 17554 * inspector/front-end/InjectedScriptAccess.js: 17555 * inspector/front-end/InspectorFrontendHostStub.js: 17556 (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels): 17557 (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading): 17558 * inspector/front-end/inspector.css: 17559 * inspector/front-end/inspector.js: 17560 (WebInspector.startEditing.keyDownEventListener): 17561 (WebInspector.startEditing): 17562 17563 2009-12-24 Dan Bernstein <mitz (a] apple.com> 17564 17565 Reviewed by Timothy Hatcher. 17566 17567 Web Inspector: Console should force long URLs to wrap 17568 https://bugs.webkit.org/show_bug.cgi?id=32927 17569 17570 * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to 17571 the #console-messages rule. 17572 17573 2009-12-24 Shinichiro Hamaji <hamaji (a] chromium.org> 17574 17575 Unreviewed Chromium test fix by reverting r52536. 17576 17577 Do not a new Database pointer to any structure until its version has been verified 17578 https://bugs.webkit.org/show_bug.cgi?id=32913 17579 17580 * storage/Database.cpp: 17581 (WebCore::Database::openDatabase): 17582 (WebCore::Database::Database): 17583 (WebCore::Database::performOpenAndVerify): 17584 17585 2009-12-24 Jessie Berlin <jberlin (a] webkit.org> 17586 17587 Reviewed by Dan Bernstein. 17588 17589 Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis 17590 should not show cut off text 17591 https://bugs.webkit.org/show_bug.cgi?id=29968 17592 17593 Also fixes the issue on both Mac OS X and Windows where the highlight 17594 would extend only partway into the ellipsis based on the size of the 17595 characters being truncated. 17596 17597 Test: editing/selection/select-text-overflow-ellipsis.html 17598 17599 * rendering/EllipsisBox.cpp: 17600 (WebCore::EllipsisBox::paint): 17601 When the ellipsis have been selected, paints them with the color for 17602 selected text. 17603 (WebCore::EllipsisBox::selectionRect): 17604 Returns the selection rect for the ellipsis text. 17605 (WebCore::EllipsisBox::paintSelection): 17606 Paints the selection highlight around the ellipsis text. 17607 17608 * rendering/EllipsisBox.h: 17609 (WebCore::EllipsisBox::EllipsisBox): 17610 Default the selection state of the EllipsisBox to SelectionNone. 17611 (WebCore::EllipsisBox::setSelectionState): 17612 Allow the selection state to be explicitly set by the InlineTextBox 17613 that it is associated with, since the selection state depends on the 17614 position of the selection within the truncated text. 17615 (WebCore::EllipsisBox::selectionState): 17616 Return the cached selection state. 17617 17618 * rendering/InlineTextBox.cpp: 17619 (WebCore::InlineTextBox::selectionState): 17620 If the text is truncated and the selection extends into the truncation 17621 where there are ellipsis, set the selection state on the EllipsisBox. 17622 (WebCore::paintTextWithShadows): 17623 Allow for an upper bound to be specified on the maximum length of the 17624 text to be painted. 17625 (WebCore::InlineTextBox::paint): 17626 Make sure the text that is drawn gets appropriately truncated. This was 17627 not an issue before on Mac OS X because it wasn't necessary to draw the 17628 selected text separately (the selected text had the same color as the 17629 non-selected text). 17630 (WebCore::InlineTextBox::paintSelection): 17631 If the text is being truncated, let whatever is being painted in the 17632 space after the truncated text paint its own highlight. 17633 17634 * rendering/InlineTextBox.h: 17635 (WebCore::InlineTextBox::truncation): 17636 Allow RenderText to access the truncation status. 17637 17638 * rendering/RenderText.cpp: 17639 (WebCore::RenderText::selectionRectForRepaint): 17640 Make sure that any ellipsis box that falls within the selection also 17641 gets repainted. 17642 17643 2009-12-24 Pavel Feldman <pfeldman (a] chromium.org> 17644 17645 Reviewed by Timothy Hatcher. 17646 17647 Web Inspector: add Settings.js class that would manage 17648 frontend settings. 17649 17650 This change: 17651 - Splits preferences and settings 17652 - Pushes settings to the frontend on load 17653 - Stores settings on each change 17654 - Stores showInheritedStyles as setting. 17655 17656 https://bugs.webkit.org/show_bug.cgi?id=32832 17657 17658 * WebCore.gypi: 17659 * WebCore.vcproj/WebCore.vcproj: 17660 * inspector/InspectorBackend.cpp: 17661 (WebCore::InspectorBackend::saveFrontendSettings): 17662 * inspector/InspectorBackend.h: 17663 * inspector/InspectorBackend.idl: 17664 * inspector/InspectorController.cpp: 17665 (WebCore::InspectorController::populateScriptObjects): 17666 * inspector/InspectorController.h: 17667 * inspector/InspectorFrontend.cpp: 17668 (WebCore::InspectorFrontend::populateFrontendSettings): 17669 * inspector/InspectorFrontend.h: 17670 * inspector/InspectorFrontendHost.cpp: 17671 * inspector/InspectorFrontendHost.h: 17672 * inspector/InspectorFrontendHost.idl: 17673 * inspector/front-end/EventListenersSidebarPane.js: 17674 (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded): 17675 (WebInspector.EventListenersSidebarPane.prototype): 17676 (): 17677 * inspector/front-end/InspectorBackendStub.js: 17678 (.WebInspector.InspectorBackendStub): 17679 (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings): 17680 (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): 17681 * inspector/front-end/InspectorFrontendHostStub.js: 17682 (.WebInspector.InspectorFrontendHostStub): 17683 (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels): 17684 * inspector/front-end/ResourcesPanel.js: 17685 (WebInspector.ResourcesPanel.prototype._createStatusbarButtons): 17686 (WebInspector.ResourcesPanel.prototype._settingsLoaded): 17687 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): 17688 (WebInspector.ResourcesPanel.prototype._setLargerResources): 17689 * inspector/front-end/ScriptsPanel.js: 17690 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 17691 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 17692 * inspector/front-end/Settings.js: Added. 17693 (WebInspector.populateFrontendSettings): 17694 (WebInspector.Settings): 17695 (WebInspector.Settings.prototype._load): 17696 (WebInspector.Settings.prototype._installSetting): 17697 (WebInspector.Settings.prototype._get): 17698 (WebInspector.Settings.prototype._set): 17699 * inspector/front-end/StylesSidebarPane.js: 17700 (WebInspector.StylesSidebarPane.prototype._settingsLoaded): 17701 (WebInspector.StylesSidebarPane.prototype.update): 17702 (WebInspector.StylesSidebarPane.prototype._changeSetting): 17703 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): 17704 (WebInspector.StylePropertiesSection.showInheritedToggleFunction): 17705 (WebInspector.StylePropertiesSection): 17706 * inspector/front-end/WatchExpressionsSidebarPane.js: 17707 (WebInspector.WatchExpressionsSidebarPane): 17708 (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded): 17709 (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions): 17710 (WebInspector.WatchExpressionsSection): 17711 (WebInspector.WatchExpressionsSection.prototype.saveExpressions): 17712 * inspector/front-end/WebKit.qrc: 17713 * inspector/front-end/inspector.html: 17714 * inspector/front-end/inspector.js: 17715 (WebInspector.loaded): 17716 17717 2009-12-23 Pavel Feldman <pfeldman (a] chromium.org> 17718 17719 Reviewed by Timothy Hatcher. 17720 17721 Web Inspector: [REGRESSION] console's clear command does not work. 17722 17723 https://bugs.webkit.org/show_bug.cgi?id=32897 17724 17725 Test: inspector/console-clear.html 17726 17727 * inspector/InjectedScriptHost.cpp: 17728 (WebCore::InjectedScriptHost::clearConsoleMessages): 17729 * inspector/InjectedScriptHost.h: 17730 * inspector/InjectedScriptHost.idl: 17731 * inspector/InspectorBackend.cpp: 17732 * inspector/InspectorBackend.h: 17733 * inspector/InspectorBackend.idl: 17734 * inspector/InspectorController.cpp: 17735 (WebCore::InspectorController::clearConsoleMessages): 17736 (WebCore::InspectorController::didCommitLoad): 17737 * inspector/InspectorController.h: 17738 * inspector/front-end/ConsoleView.js: 17739 (WebInspector.ConsoleView): 17740 (WebInspector.ConsoleView.prototype.requestClearConsoleMessages): 17741 (WebInspector.ConsoleView.prototype.clearConsoleMessages): 17742 (WebInspector.ConsoleView.prototype._clearButtonClicked): 17743 * inspector/front-end/InjectedScript.js: 17744 (InjectedScript.clearConsoleMessages): 17745 (InjectedScript._ensureCommandLineAPIInstalled): 17746 * inspector/front-end/InjectedScriptAccess.js: 17747 * inspector/front-end/inspector.js: 17748 (WebInspector.clearConsoleMessages): 17749 (WebInspector.reset): 17750 17751 2009-12-23 Pavel Feldman <pfeldman (a] chromium.org> 17752 17753 Reviewed by Timothy Hatcher. 17754 17755 Web Inspector: Console dumps strings in escaped form. 17756 17757 https://bugs.webkit.org/show_bug.cgi?id=32488 17758 17759 * inspector/front-end/ConsoleView.js: 17760 (WebInspector.ConsoleMessage.prototype._formatIndividualValue): 17761 17762 2009-12-23 Alexey Proskuryakov <ap (a] apple.com> 17763 17764 Reviewed by Darin Adler. 17765 17766 https://bugs.webkit.org/show_bug.cgi?id=32905 17767 With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion 17768 17769 Test: platform/mac/editing/input/selection-change-closes-typing.html 17770 17771 * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed 17772 to change selection, it needs to close the current typing command - otherwise, its idea of 17773 selection would be used for future typing. 17774 17775 2009-12-23 Yuta Kitamura <yutak (a] chromium.org> 17776 17777 Reviewed by Eric Seidel. 17778 17779 PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image. 17780 17781 This method should limit the current painting window to the bounds of the given 17782 image, but it did not. Due to this bug, unnecessary contents were rendered in 17783 some (limited) situations. 17784 17785 [Skia] PlatformContextSkia::beginLayerClippedToImage does not clip outside of the image 17786 https://bugs.webkit.org/show_bug.cgi?id=32817 17787 17788 No new tests, because this is a fix of an existing test which is currently failing in 17789 Chromium. 17790 17791 * platform/graphics/skia/PlatformContextSkia.cpp: 17792 (PlatformContextSkia::beginLayerClippedToImage): Add clipRect() call. 17793 17794 2009-12-23 Nikolas Zimmermann <nzimmermann (a] rim.com> 17795 17796 Rubber-stamped by Eric Seidel. 17797 17798 Remove all references to "GenerateConstructor", as this is the default behaviour now. 17799 17800 * css/CSSCharsetRule.idl: 17801 * css/CSSFontFaceRule.idl: 17802 * css/CSSImportRule.idl: 17803 * css/CSSMediaRule.idl: 17804 * css/CSSPageRule.idl: 17805 * css/CSSPrimitiveValue.idl: 17806 * css/CSSRule.idl: 17807 * css/CSSRuleList.idl: 17808 * css/CSSStyleDeclaration.idl: 17809 * css/CSSStyleRule.idl: 17810 * css/CSSStyleSheet.idl: 17811 * css/CSSValue.idl: 17812 * css/CSSValueList.idl: 17813 * css/CSSVariablesDeclaration.idl: 17814 * css/CSSVariablesRule.idl: 17815 * css/Counter.idl: 17816 * css/Media.idl: 17817 * css/MediaList.idl: 17818 * css/RGBColor.idl: 17819 * css/Rect.idl: 17820 * css/StyleSheet.idl: 17821 * css/StyleSheetList.idl: 17822 * css/WebKitCSSKeyframeRule.idl: 17823 * css/WebKitCSSKeyframesRule.idl: 17824 * css/WebKitCSSTransformValue.idl: 17825 * dom/Attr.idl: 17826 * dom/BeforeLoadEvent.idl: 17827 * dom/CDATASection.idl: 17828 * dom/CharacterData.idl: 17829 * dom/ClientRect.idl: 17830 * dom/ClientRectList.idl: 17831 * dom/Clipboard.idl: 17832 * dom/Comment.idl: 17833 * dom/CompositionEvent.idl: 17834 * dom/DOMCoreException.idl: 17835 * dom/DOMImplementation.idl: 17836 * dom/Document.idl: 17837 * dom/DocumentFragment.idl: 17838 * dom/DocumentType.idl: 17839 * dom/Element.idl: 17840 * dom/Entity.idl: 17841 * dom/EntityReference.idl: 17842 * dom/ErrorEvent.idl: 17843 * dom/Event.idl: 17844 * dom/EventException.idl: 17845 * dom/KeyboardEvent.idl: 17846 * dom/MessageEvent.idl: 17847 * dom/MessagePort.idl: 17848 * dom/MouseEvent.idl: 17849 * dom/MutationEvent.idl: 17850 * dom/NamedNodeMap.idl: 17851 * dom/Node.idl: 17852 * dom/NodeFilter.idl: 17853 * dom/NodeIterator.idl: 17854 * dom/NodeList.idl: 17855 * dom/Notation.idl: 17856 * dom/OverflowEvent.idl: 17857 * dom/PageTransitionEvent.idl: 17858 * dom/PopStateEvent.idl: 17859 * dom/ProcessingInstruction.idl: 17860 * dom/ProgressEvent.idl: 17861 * dom/Range.idl: 17862 * dom/RangeException.idl: 17863 * dom/Text.idl: 17864 * dom/TextEvent.idl: 17865 * dom/Touch.idl: 17866 * dom/TouchEvent.idl: 17867 * dom/TouchList.idl: 17868 * dom/TreeWalker.idl: 17869 * dom/UIEvent.idl: 17870 * dom/WebKitAnimationEvent.idl: 17871 * dom/WebKitTransitionEvent.idl: 17872 * dom/WheelEvent.idl: 17873 * html/DataGridColumn.idl: 17874 * html/DataGridColumnList.idl: 17875 * html/File.idl: 17876 * html/FileList.idl: 17877 * html/HTMLAllCollection.idl: 17878 * html/HTMLAnchorElement.idl: 17879 * html/HTMLAppletElement.idl: 17880 * html/HTMLAreaElement.idl: 17881 * html/HTMLAudioElement.idl: 17882 * html/HTMLBRElement.idl: 17883 * html/HTMLBaseElement.idl: 17884 * html/HTMLBaseFontElement.idl: 17885 * html/HTMLBlockquoteElement.idl: 17886 * html/HTMLBodyElement.idl: 17887 * html/HTMLButtonElement.idl: 17888 * html/HTMLCanvasElement.idl: 17889 * html/HTMLCollection.idl: 17890 * html/HTMLDListElement.idl: 17891 * html/HTMLDataGridCellElement.idl: 17892 * html/HTMLDataGridColElement.idl: 17893 * html/HTMLDataGridElement.idl: 17894 * html/HTMLDataGridRowElement.idl: 17895 * html/HTMLDataListElement.idl: 17896 * html/HTMLDirectoryElement.idl: 17897 * html/HTMLDivElement.idl: 17898 * html/HTMLDocument.idl: 17899 * html/HTMLElement.idl: 17900 * html/HTMLEmbedElement.idl: 17901 * html/HTMLFieldSetElement.idl: 17902 * html/HTMLFontElement.idl: 17903 * html/HTMLFormElement.idl: 17904 * html/HTMLFrameElement.idl: 17905 * html/HTMLFrameSetElement.idl: 17906 * html/HTMLHRElement.idl: 17907 * html/HTMLHeadElement.idl: 17908 * html/HTMLHeadingElement.idl: 17909 * html/HTMLHtmlElement.idl: 17910 * html/HTMLIFrameElement.idl: 17911 * html/HTMLImageElement.idl: 17912 * html/HTMLInputElement.idl: 17913 * html/HTMLIsIndexElement.idl: 17914 * html/HTMLLIElement.idl: 17915 * html/HTMLLabelElement.idl: 17916 * html/HTMLLegendElement.idl: 17917 * html/HTMLLinkElement.idl: 17918 * html/HTMLMapElement.idl: 17919 * html/HTMLMarqueeElement.idl: 17920 * html/HTMLMediaElement.idl: 17921 * html/HTMLMenuElement.idl: 17922 * html/HTMLMetaElement.idl: 17923 * html/HTMLModElement.idl: 17924 * html/HTMLOListElement.idl: 17925 * html/HTMLObjectElement.idl: 17926 * html/HTMLOptGroupElement.idl: 17927 * html/HTMLOptionElement.idl: 17928 * html/HTMLParagraphElement.idl: 17929 * html/HTMLParamElement.idl: 17930 * html/HTMLPreElement.idl: 17931 * html/HTMLQuoteElement.idl: 17932 * html/HTMLScriptElement.idl: 17933 * html/HTMLSelectElement.idl: 17934 * html/HTMLSourceElement.idl: 17935 * html/HTMLStyleElement.idl: 17936 * html/HTMLTableCaptionElement.idl: 17937 * html/HTMLTableCellElement.idl: 17938 * html/HTMLTableColElement.idl: 17939 * html/HTMLTableElement.idl: 17940 * html/HTMLTableRowElement.idl: 17941 * html/HTMLTableSectionElement.idl: 17942 * html/HTMLTextAreaElement.idl: 17943 * html/HTMLTitleElement.idl: 17944 * html/HTMLUListElement.idl: 17945 * html/HTMLVideoElement.idl: 17946 * html/ImageData.idl: 17947 * html/MediaError.idl: 17948 * html/TextMetrics.idl: 17949 * html/canvas/CanvasNumberArray.idl: 17950 * html/canvas/CanvasRenderingContext.idl: 17951 * html/canvas/CanvasRenderingContext2D.idl: 17952 * html/canvas/WebGLRenderingContext.idl: 17953 * inspector/InjectedScriptHost.idl: 17954 * inspector/InspectorBackend.idl: 17955 * inspector/InspectorFrontendHost.idl: 17956 * page/PositionError.idl: 17957 * plugins/MimeType.idl: 17958 * plugins/MimeTypeArray.idl: 17959 * plugins/Plugin.idl: 17960 * plugins/PluginArray.idl: 17961 * storage/Storage.idl: 17962 * storage/StorageEvent.idl: 17963 * svg/SVGAngle.idl: 17964 * svg/SVGColor.idl: 17965 * svg/SVGComponentTransferFunctionElement.idl: 17966 * svg/SVGException.idl: 17967 * svg/SVGFEBlendElement.idl: 17968 * svg/SVGFEColorMatrixElement.idl: 17969 * svg/SVGFECompositeElement.idl: 17970 * svg/SVGFEDisplacementMapElement.idl: 17971 * svg/SVGFEFloodElement.idl: 17972 * svg/SVGFEMorphologyElement.idl: 17973 * svg/SVGFETurbulenceElement.idl: 17974 * svg/SVGGradientElement.idl: 17975 * svg/SVGLength.idl: 17976 * svg/SVGMarkerElement.idl: 17977 * svg/SVGPaint.idl: 17978 * svg/SVGPathSeg.idl: 17979 * svg/SVGPreserveAspectRatio.idl: 17980 * svg/SVGRenderingIntent.idl: 17981 * svg/SVGTextContentElement.idl: 17982 * svg/SVGTextPathElement.idl: 17983 * svg/SVGTransform.idl: 17984 * svg/SVGUnitTypes.idl: 17985 * svg/SVGZoomAndPan.idl: 17986 * workers/AbstractWorker.idl: 17987 * workers/WorkerLocation.idl: 17988 * xml/DOMParser.idl: 17989 * xml/XMLHttpRequestException.idl: 17990 * xml/XMLHttpRequestProgressEvent.idl: 17991 * xml/XMLHttpRequestUpload.idl: 17992 * xml/XMLSerializer.idl: 17993 * xml/XPathEvaluator.idl: 17994 * xml/XPathException.idl: 17995 * xml/XPathExpression.idl: 17996 * xml/XPathResult.idl: 17997 17998 2009-12-23 Dumitru Daniliuc <dumi (a] chromium.org> 17999 18000 Reviewed by Eric Seidel. 18001 18002 A new database should be registered with the Document, 18003 DatabaseTracker and DatabaseThread only after it was successfully 18004 opened and its version was successfully verified. 18005 18006 Fixes a regression introduced by 18007 http://trac.webkit.org/changeset/52530. 18008 18009 LayoutTests/storage/open-database-while-transaction-in-progress.html 18010 should pass again (or rather, it should pass again when run after 18011 open-database-set-empty-version.html). 18012 18013 https://bugs.webkit.org/show_bug.cgi?id=32913 18014 18015 * storage/Database.cpp: 18016 (WebCore::Database::openDatabase): 18017 (WebCore::Database::Database): 18018 (WebCore::Database::performOpenAndVerify): 18019 18020 2009-12-23 David Levin <levin (a] chromium.org> 18021 18022 REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret()) 18023 https://bugs.webkit.org/show_bug.cgi?id=32903 18024 18025 No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression. 18026 18027 * editing/SelectionController.cpp: 18028 (WebCore::SelectionController::SelectionController): 18029 (WebCore::SelectionController::setSelection): 18030 * editing/SelectionController.h: 18031 * page/Frame.cpp: 18032 (WebCore::Frame::setCaretVisible): 18033 (WebCore::Frame::selectionLayoutChanged): 18034 * page/FrameView.cpp: 18035 (WebCore::FrameView::needsLayout): 18036 18037 2009-12-23 Nikolas Zimmermann <nzimmermann (a] rim.com> 18038 18039 Reviewed by Eric Seidel. 18040 18041 Reverse JS GenerateConstructor logic 18042 https://bugs.webkit.org/show_bug.cgi?id=32910 18043 18044 Make 'GenerateConstructor' the default setting for all classes, defined in IDL files. The flag is now obsolete and 18045 can be removed from all IDL files in a follow-up patch. Add new 'OmitConstructor' flag, that allows to restore the 18046 old default behaviour: do not generate JSFoobarConstructor class. 18047 18048 No change in functionality, despite the fact that we're generating a lot more constructors now, as they have to 18049 be exposed through DOMWindow.idl -- this can be done per affected class in follow-up patches. Especially the SVG 18050 classes have to be exposed, most of them are missing JS constructors so far. 18051 18052 As side effect HTMLOptionsCollection is now correctly exposing its constructor, thus fixing a test in fast/dom/wrapper-classes.html 18053 18054 * bindings/scripts/CodeGeneratorJS.pm: 18055 * css/CSSUnknownRule.idl: 18056 * css/WebKitCSSMatrix.idl: 18057 * dom/EventListener.idl: 18058 * dom/EventTarget.idl: 18059 * dom/MessageChannel.idl: 18060 * html/TimeRanges.idl: 18061 * html/ValidityState.idl: 18062 * html/VoidCallback.idl: 18063 * html/canvas/CanvasGradient.idl: 18064 * html/canvas/CanvasPattern.idl: 18065 * html/canvas/CanvasPixelArray.idl: 18066 * html/canvas/WebGLActiveInfo.idl: 18067 * html/canvas/WebGLArray.idl: 18068 * html/canvas/WebGLArrayBuffer.idl: 18069 * html/canvas/WebGLBuffer.idl: 18070 * html/canvas/WebGLByteArray.idl: 18071 * html/canvas/WebGLFloatArray.idl: 18072 * html/canvas/WebGLFramebuffer.idl: 18073 * html/canvas/WebGLIntArray.idl: 18074 * html/canvas/WebGLProgram.idl: 18075 * html/canvas/WebGLRenderbuffer.idl: 18076 * html/canvas/WebGLShader.idl: 18077 * html/canvas/WebGLShortArray.idl: 18078 * html/canvas/WebGLTexture.idl: 18079 * html/canvas/WebGLUniformLocation.idl: 18080 * html/canvas/WebGLUnsignedByteArray.idl: 18081 * html/canvas/WebGLUnsignedIntArray.idl: 18082 * html/canvas/WebGLUnsignedShortArray.idl: 18083 * inspector/JavaScriptCallFrame.idl: 18084 * loader/appcache/DOMApplicationCache.idl: 18085 * notifications/Notification.idl: 18086 * notifications/NotificationCenter.idl: 18087 * page/AbstractView.idl: 18088 * page/BarInfo.idl: 18089 * page/Console.idl: 18090 * page/Coordinates.idl: 18091 * page/DOMSelection.idl: 18092 * page/DOMWindow.idl: 18093 * page/EventSource.idl: 18094 * page/Geolocation.idl: 18095 * page/Geoposition.idl: 18096 * page/History.idl: 18097 * page/Location.idl: 18098 * page/Navigator.idl: 18099 * page/Screen.idl: 18100 * page/WebKitPoint.idl: 18101 * page/WorkerNavigator.idl: 18102 * storage/Database.idl: 18103 * storage/SQLError.idl: 18104 * storage/SQLResultSet.idl: 18105 * storage/SQLResultSetRowList.idl: 18106 * storage/SQLTransaction.idl: 18107 * websockets/WebSocket.idl: 18108 * workers/DedicatedWorkerContext.idl: 18109 * workers/SharedWorker.idl: 18110 * workers/SharedWorkerContext.idl: 18111 * workers/Worker.idl: 18112 * workers/WorkerContext.idl: 18113 * xml/XMLHttpRequest.idl: 18114 * xml/XPathNSResolver.idl: 18115 * xml/XSLTProcessor.idl: 18116 18117 2009-12-23 Adam Barth <abarth (a] webkit.org> 18118 18119 Reviewed by Eric Seidel. 18120 18121 "Refused to execute a JavaScript script" error when embedding SWF with 18122 a URL that is also a query parameter 18123 https://bugs.webkit.org/show_bug.cgi?id=32908 18124 18125 Don't block direct injections into the object src attribute unless 18126 there's an illegal character (like < or ") in the URL. This change 18127 lets some very unusual vulnerabilities through the filter but removes a 18128 false positive that we've seen several times. 18129 18130 * page/XSSAuditor.cpp: 18131 (WebCore::XSSAuditor::canLoadObject): 18132 18133 2009-12-23 Dumitru Daniliuc <dumi (a] chromium.org> 18134 18135 Reviewed by Dmitry Titov. 18136 18137 Remove pointers to a database that failed to open from the 18138 DatabaseTracker and Document. 18139 18140 https://bugs.webkit.org/show_bug.cgi?id=32885 18141 18142 * storage/Database.cpp: 18143 (WebCore::Database::openDatabase): 18144 18145 2009-12-23 Dan Bernstein <mitz (a] apple.com> 18146 18147 Reviewed by Darin Adler. 18148 18149 <rdar://problem/7487164> First line of text cannot be selected 18150 https://bugs.webkit.org/show_bug.cgi?id=32749 18151 18152 Test: fast/text/remove-zero-length-run.html 18153 18154 * rendering/RenderText.cpp: 18155 (WebCore::RenderText::positionLineBox): Changed code that assumed that if a box was being 18156 removed, it was the only box in the RenderText. Instead, correctly preserve the list of 18157 text boxes. 18158 (WebCore::RenderText::checkConsistency): Updated for earlier rename. 18159 18160 2009-12-18 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 18161 18162 Reviewed by Darin Adler. 18163 18164 Fix for newlines turning into missing-gyphs when using SVG fonts 18165 18166 https://bugs.webkit.org/show_bug.cgi?id=32710 18167 18168 Font::drawText() has three code paths: 18169 18170 - drawTextUsingSVGFont() 18171 - drawSimpleText() 18172 - drawComplexText() 18173 18174 The latter two both have logic to replace newlines and tabs, as well 18175 as a few other control characters that are considered spaces, with 18176 spaces, before actually drawing the text. Previously the SVG font 18177 path did not have this kind of logic. 18178 18179 This change introduces two helper functions in Font to do this space 18180 replacement, which are then used for the simple path, the SVG path, 18181 and the Qt implementation of the complex path. 18182 18183 Test: svg/custom/svg-fonts-in-html-linebreaks.html 18184 18185 * platform/graphics/Font.cpp: 18186 (WebCore::Font::normalizeSpaces): Helper function 18187 * platform/graphics/Font.h: 18188 * platform/graphics/FontFastPath.cpp: 18189 (WebCore::Font::glyphDataForCharacter): Use helper 18190 * platform/graphics/qt/FontQt.cpp: 18191 (WebCore::fromRawDataWithoutRef): Rename from "qstring" 18192 (WebCore::Font::drawComplexText): Use helper 18193 (WebCore::Font::floatWidthForComplexText): Use helper 18194 (WebCore::Font::offsetForPositionForComplexText): Use helper 18195 (WebCore::Font::selectionRectForComplexText): Use helper 18196 * platform/text/CharacterNames.h: Add enum for 0x0020 18197 * svg/SVGFont.cpp: Use helper to fix bug 18198 (WebCore::SVGTextRunWalker::walk): 18199 18200 2009-12-23 Kent Tamura <tkent (a] chromium.org> 18201 18202 Reviewed by Darin Adler. 18203 18204 HTMLInputElement::valueAsDate getter support. 18205 https://bugs.webkit.org/show_bug.cgi?id=32876 18206 18207 To implement the valueAsDate getter, 18208 - Add a method to calculate milliseconds from 1970-01-01 to ISODateTime. 18209 - Introduce m_type field to ISODateTime. 18210 18211 Tests: fast/forms/input-valueasdate-date.html 18212 fast/forms/input-valueasdate-datetime.html 18213 fast/forms/input-valueasdate-datetimelocal.html 18214 fast/forms/input-valueasdate-month.html 18215 fast/forms/input-valueasdate-time.html 18216 fast/forms/input-valueasdate-week.html 18217 18218 * html/HTMLInputElement.cpp: 18219 (WebCore::HTMLInputElement::valueAsDate): 18220 Implement it with ISODateTime::millisecondsSinceEpoch(). 18221 (WebCore::HTMLInputElement::formStringToISODateTime): 18222 Early exit for a null String. This avoids assertion failures in ISODateTime::parse*(). 18223 * html/ISODateTime.cpp: 18224 (WebCore::ISODateTime::parseMonth): Sets m_type. 18225 (WebCore::ISODateTime::parseDate): ditto. 18226 (WebCore::ISODateTime::parseWeek): ditto. 18227 (WebCore::ISODateTime::parseTime): ditto. 18228 (WebCore::ISODateTime::parseDateTimeLocal): ditto. 18229 (WebCore::ISODateTime::parseDateTime): ditto. 18230 (WebCore::ISODateTime::millisecondsSinceEpochForTime): Added. 18231 (WebCore::ISODateTime::millisecondsSinceEpoch): Added. 18232 * html/ISODateTime.h: 18233 (WebCore::ISODateTime::ISODateTime): 18234 (WebCore::ISODateTime::invalidMilliseconds): 18235 18236 2009-12-22 Daniel Bates <dbates (a] webkit.org> 18237 18238 Reviewed by Eric Seidel. 18239 18240 https://bugs.webkit.org/show_bug.cgi?id=32799 18241 18242 Renames enums in RenderStyleConstants::EListStyleType to conform to 18243 the WebKit Code Style Guidelines. 18244 18245 No functionality was changed. So, no new tests. 18246 18247 * css/CSSPrimitiveValueMappings.h: 18248 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 18249 (WebCore::CSSPrimitiveValue::operator EListStyleType): 18250 * rendering/RenderListItem.cpp: 18251 (WebCore::RenderListItem::styleDidChange): 18252 * rendering/RenderListMarker.cpp: 18253 (WebCore::listMarkerText): 18254 (WebCore::RenderListMarker::paint): 18255 (WebCore::RenderListMarker::calcPrefWidths): 18256 (WebCore::RenderListMarker::updateMargins): 18257 (WebCore::RenderListMarker::getRelativeMarkerRect): 18258 * rendering/style/RenderStyle.h: 18259 (WebCore::InheritedFlags::initialListStyleType): 18260 * rendering/style/RenderStyleConstants.h: 18261 (WebCore::): 18262 18263 2009-12-22 James Su <suzhe (a] chromium.org> 18264 18265 Reviewed by Darin Fisher. 18266 18267 [Chromium] Keyboard shortcut in dropdown not working. 18268 https://bugs.webkit.org/show_bug.cgi?id=32008 18269 18270 Consider PlatformKeyboardEvent::Char type event as character type 18271 event on all platforms. It fixes the "type ahead find" feature 18272 of the popup listbox on Linux and Mac platforms. 18273 18274 Merge the case-sensitive type ahead find fix from 18275 WebCore/dom/SelectElement.cpp. See 18276 https://bugs.webkit.org/show_bug.cgi?id=29103 18277 18278 * platform/chromium/PopupMenuChromium.cpp: 18279 (WebCore::isCharacterTypeEvent): 18280 18281 2009-12-22 Carol Szabo <carol.szabo (a] nokia.com> 18282 18283 Reviewed by Eric Seidel. 18284 18285 [Qt] The "Search" input type is not rendered correctly when styled. 18286 https://bugs.webkit.org/show_bug.cgi?id=32417 18287 18288 There are no new tests because only pixel tests may be affected by 18289 this change and those changes can only be done on the build bot. 18290 18291 * platform/qt/RenderThemeQt.cpp: 18292 (WebCore::RenderThemeQt::paintSearchField): 18293 Since currently we paint the Search control as a QLineEdit, I have 18294 deferred painting to WebCore, as in the case of the text input so 18295 that the painting is consistent. 18296 18297 2009-12-22 Yongjun Zhang <yongjun.zhang (a] nokia.com> 18298 18299 Reviewed by Kenneth Rohde Christiansen. 18300 18301 https://bugs.webkit.org/show_bug.cgi?id=32121 18302 [Qt] implement ImageDecoderQt::clearFrameBufferCache(). 18303 18304 * platform/graphics/qt/ImageDecoderQt.cpp: 18305 (WebCore::ImageDecoderQt::initializeDecoder): 18306 (WebCore::ImageDecoderQt::setData): 18307 (WebCore::ImageDecoderQt::clearFrameBufferCache): 18308 * platform/graphics/qt/ImageDecoderQt.h: 18309 18310 2009-12-22 Nayan Kumar K <nayankk (a] gmail.com> 18311 18312 Reviewed by Eric Seidel. 18313 18314 Fix assert failure with WML pages having 'Refresh' task in 18315 'onenterforward' event. 18316 18317 https://bugs.webkit.org/show_bug.cgi?id=30989 18318 18319 Writing Layout test is not possible. Please refer to the discussion 18320 in bug id #30989. A sample test case is attached in BugZilla. 18321 18322 * wml/WMLCardElement.cpp: 18323 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 18324 18325 2009-12-22 Darin Adler <darin (a] apple.com> 18326 18327 Reviewed by Sam Weinig. 18328 18329 ASSERTION FAILED: m_numNodeListCaches 18330 https://bugs.webkit.org/show_bug.cgi?id=19526 18331 <rdar://problem/7431572> 18332 18333 Test: fast/dom/NodeList/adoptNode-node-list-cache.html 18334 18335 * dom/Node.cpp: 18336 (WebCore::Node::setDocument): Call removeNodeListCache on the old 18337 document and addNodeListCache on the new one if moving a node that 18338 has node lists. 18339 18340 2009-12-22 Darin Adler <darin (a] apple.com> 18341 18342 First cut at fixing Windows build. 18343 18344 * WebCorePrefix.cpp: Touch it. 18345 18346 2009-12-22 Darin Adler <darin (a] apple.com> 18347 18348 Reviewed by Mark Rowe. 18349 18350 Turn off datagrid by default, at least for all platforms Apple ships. 18351 The datagrid implementation isn't ready for general web use yet. 18352 18353 * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default. 18354 * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. 18355 * WebCore.vcproj/build-generated-files.sh: Ditto. 18356 * page/DOMWindow.idl: Sorted things here to touch the file to give 18357 the Windows build a slightly better chance of success. 18358 18359 2009-12-22 Darin Adler <darin (a] apple.com> 18360 18361 Rubber stamped by Dan Bernstein. 18362 18363 * page/FrameView.h: Removed incorrect comment. 18364 18365 2009-12-22 Pavel Feldman <pfeldman (a] chromium.org> 18366 18367 Reviewed by Timothy Hatcher. 18368 18369 Web Inspector: simplify highlighter definition. 18370 18371 https://bugs.webkit.org/show_bug.cgi?id=32869 18372 18373 * inspector/front-end/CSSSourceSyntaxHighlighter.js: 18374 (WebInspector.CSSSourceSyntaxHighlighter): 18375 * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: 18376 (WebInspector.JavaScriptSourceSyntaxHighlighter.): 18377 (WebInspector.JavaScriptSourceSyntaxHighlighter): 18378 * inspector/front-end/SourceSyntaxHighlighter.js: 18379 (WebInspector.SourceSyntaxHighlighter.prototype.lex): 18380 * inspector/front-end/utilities.js: 18381 (): 18382 18383 2009-12-21 Darin Adler <darin (a] apple.com> 18384 18385 Reviewed by Sam Weinig. 18386 18387 Reentrancy problem with selection in some edge cases. 18388 https://bugs.webkit.org/show_bug.cgi?id=32842 18389 rdar://problem/7449974 18390 18391 Test: fast/forms/selection-layout-reentry-strange-case.html 18392 18393 Move the selection display update process done in the 18394 selectionLayoutChanged function into the layout timer 18395 instead of doing it immediately when selection changes occur. 18396 18397 * editing/SelectionController.cpp: 18398 (WebCore::SelectionController::SelectionController): 18399 Initialize m_needsDisplayUpdate to false. 18400 (WebCore::SelectionController::setSelection): Call 18401 the new setNeedsDisplayUpdate function instead of the old 18402 badly named Frame::selectionLayoutChanged function. 18403 (WebCore::SelectionController::setNeedsDisplayUpdate): 18404 Set m_needsDisplayUpdate. If it is just becoming true, then 18405 call FrameView::scheduleRelayout. 18406 18407 * editing/SelectionController.h: Added setNeedsDisplayUpdate, 18408 needsDisplayUpdate, and m_needsDisplayUpdate. 18409 18410 * page/Frame.cpp: 18411 (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate. 18412 (WebCore::Frame::selectionLayoutChanged): Call 18413 setNeedsDisplayUpdate to set it to false, since this is the 18414 function that performs "selection display update". Later I want 18415 to rename this function. 18416 18417 * page/FrameView.cpp: 18418 (WebCore::FrameView::needsLayout): Add a new clause, since 18419 we need a call to layout if needsDisplayUpdate is true. 18420 18421 2009-12-22 Kwang Yul Seo <skyul (a] company100.net> 18422 18423 Reviewed by Darin Adler. 18424 18425 Allocate RemoteFontStream on the heap 18426 https://bugs.webkit.org/show_bug.cgi?id=32850 18427 18428 RemoteFontStream is allocated on the stack, so its memory is freed 18429 immediately when FontCustomPlatformData::createFontCustomPlatformData 18430 returns. 18431 18432 SkTypeface::CreateFromStream increments the reference count, but it keeps 18433 the pointer to the memory allocated on the stack which is not valid 18434 anymore. 18435 18436 RemoteFontStream is a descendant of SkRefCount and SkRefCount::unref 18437 invokes SkDELETE(this) internally once the reference count reaches zero. 18438 This means that SkRefCount-ed instances must be allocated on the heap. 18439 18440 * platform/graphics/chromium/FontCustomPlatformData.cpp: 18441 (WebCore::createFontCustomPlatformData): 18442 18443 2009-12-22 Kwang Yul Seo <skyul (a] company100.net> 18444 18445 Reviewed by Darin Adler. 18446 18447 when condition COMPILER(RVCT) is fulfilled, we are trying to free a pointer to array allocated on the stack 18448 https://bugs.webkit.org/show_bug.cgi?id=32861 18449 18450 Don't free the pointer for COMPILER(RVCT). 18451 18452 * dom/XMLTokenizerLibxml2.cpp: 18453 (WebCore::XMLTokenizer::error): 18454 18455 2009-12-22 Sam Weinig <sam (a] webkit.org> 18456 18457 Rubber-stamped by Dan Bernstein. 18458 18459 Remove no longer necessary experimental single view #ifdefs from Widget and 18460 ScrollView. 18461 18462 * page/Chrome.h: 18463 * page/mac/ChromeMac.mm: 18464 * platform/ScrollView.cpp: 18465 (WebCore::ScrollView::wheelEvent): 18466 * platform/Widget.cpp: 18467 * platform/Widget.h: 18468 * platform/mac/ScrollViewMac.mm: 18469 * platform/mac/WidgetMac.mm: 18470 18471 2009-12-21 Pavel Feldman <pfeldman (a] chromium.org> 18472 18473 Reviewed by Timothy Hatcher. 18474 18475 Web Inspector: Do not lose original request for non-main resource redirects. 18476 18477 https://bugs.webkit.org/show_bug.cgi?id=32678 18478 18479 * inspector/InspectorResource.cpp: 18480 (WebCore::InspectorResource::appendRedirect): 18481 * inspector/front-end/Resource.js: 18482 (WebInspector.Resource): 18483 * inspector/front-end/inspector.js: 18484 (WebInspector.updateResource): 18485 18486 2009-12-21 Kwang Yul Seo <skyul (a] company100.net> 18487 18488 Reviewed by Eric Seidel. 18489 18490 Use ASSERT instead of assert in image-decoders 18491 https://bugs.webkit.org/show_bug.cgi?id=32852 18492 18493 Other decoders use WTF's ASSERT macro. 18494 Follow this convention. 18495 18496 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 18497 (WebCore::JPEGImageReader::decode): 18498 * platform/image-decoders/png/PNGImageDecoder.cpp: 18499 (WebCore::PNGImageDecoder::headerAvailable): 18500 18501 2009-12-21 Kwang Yul Seo <skyul (a] company100.net> 18502 18503 Reviewed by Eric Seidel. 18504 18505 Use vsnprintf instead of vasprintf for RVCT. 18506 https://bugs.webkit.org/show_bug.cgi?id=32851 18507 18508 RVCT does not support vasprint, so use vsnprintf instead. 18509 18510 * dom/XMLTokenizerLibxml2.cpp: 18511 (WebCore::XMLTokenizer::error): 18512 18513 2009-12-21 Fumitoshi Ukai <ukai (a] chromium.org> 18514 18515 Reviewed by Alexey Proskuryakov. 18516 18517 Invalid url should raise SYNTAX_ERR exception. 18518 https://bugs.webkit.org/show_bug.cgi?id=32700 18519 18520 Check url is valid in WebSocket::connect. 18521 Also log the detailed reason of websocket failures to console. 18522 18523 * websockets/WebSocket.cpp: 18524 (WebCore::encodeProtocolString): 18525 (WebCore::WebSocket::connect): 18526 18527 2009-12-21 Anders Carlsson <andersca (a] apple.com> 18528 18529 Reviewed by Sam Weinig. 18530 18531 Make sure that we check for the right thread. 18532 18533 * platform/mac/WebCoreObjCExtras.mm: 18534 (WebCoreObjCScheduleDeallocateOnMainThread): 18535 18536 2009-12-21 Enrica Casucci <enrica (a] apple.com> 18537 18538 Reviewed by Maciej Stachowiak. 18539 18540 REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail. 18541 <rdar://problem/7489326> 18542 https://bugs.webkit.org/show_bug.cgi?id=32843 18543 18544 The fix for 7442387 did not handle the case where the end of paragraph 18545 is not a descendant of the computed outer block. 18546 Updated editing/execCommand/indent-with-style2.html to cover this case too. 18547 18548 * editing/CompositeEditCommand.cpp: 18549 (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 18550 18551 2009-12-21 Gavin Barraclough <barraclough (a] apple.com> 18552 18553 Reviewed by Darin Adler. 18554 18555 https://bugs.webkit.org/show_bug.cgi?id=32831 18556 Replace UString::Rep implementation, following introduction of ropes to JSC. 18557 18558 * ForwardingHeaders/runtime/UStringImpl.h: Added. 18559 - add forwarding header. 18560 18561 * platform/text/StringImpl.cpp: 18562 (WebCore::StringImpl::ustring): 18563 - order of arguments to UString::Rep constructor for shared strings changed. 18564 18565 2009-12-18 Nate Chapin <japhet (a] chromium.org> 18566 18567 Reviewed by Adam barth. 18568 18569 Generate V8 bindings non-constructor callback declarations 18570 in CodeGeneratorV8.pm instead of manually declaring them in 18571 V8CustomBinding.h. 18572 18573 https://bugs.webkit.org/show_bug.cgi?id=32638 18574 18575 * bindings/scripts/CodeGeneratorV8.pm: 18576 * bindings/v8/V8DOMWrapper.cpp: 18577 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 18578 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 18579 * bindings/v8/custom/V8ClipboardCustom.cpp: 18580 * bindings/v8/custom/V8ConsoleCustom.cpp: 18581 * bindings/v8/custom/V8CustomBinding.h: 18582 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 18583 * bindings/v8/custom/V8DOMParserConstructor.cpp: 18584 * bindings/v8/custom/V8DOMWindowCustom.cpp: 18585 * bindings/v8/custom/V8DatabaseCustom.cpp: 18586 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 18587 * bindings/v8/custom/V8DocumentCustom.cpp: 18588 * bindings/v8/custom/V8GeolocationCustom.cpp: 18589 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 18590 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 18591 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 18592 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 18593 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 18594 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 18595 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 18596 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 18597 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 18598 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 18599 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 18600 * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added. 18601 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 18602 * bindings/v8/custom/V8HistoryCustom.cpp: 18603 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 18604 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 18605 * bindings/v8/custom/V8LocationCustom.cpp: 18606 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 18607 * bindings/v8/custom/V8MessageEventCustom.cpp: 18608 * bindings/v8/custom/V8MessagePortCustom.cpp: 18609 * bindings/v8/custom/V8NodeCustom.cpp: 18610 * bindings/v8/custom/V8NodeFilterCustom.cpp: 18611 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 18612 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 18613 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 18614 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 18615 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 18616 * bindings/v8/custom/V8SVGLengthCustom.cpp: 18617 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 18618 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 18619 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 18620 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 18621 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 18622 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 18623 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 18624 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 18625 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 18626 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 18627 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 18628 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 18629 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 18630 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 18631 * bindings/v8/custom/V8WebSocketCustom.cpp: 18632 * bindings/v8/custom/V8WorkerContextCustom.cpp: 18633 * bindings/v8/custom/V8WorkerCustom.cpp: 18634 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 18635 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 18636 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 18637 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: 18638 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: 18639 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 18640 18641 2009-12-21 Nate Chapin <japhet (a] chromium.org> 18642 18643 Rubber-stamped by Darin Adler. 18644 18645 Revert r52446 due to crashiness. 18646 18647 https://bugs.webkit.org/show_bug.cgi?id=32839 18648 18649 * loader/DocumentThreadableLoader.cpp: 18650 (WebCore::DocumentThreadableLoader::loadRequest): 18651 * loader/FrameLoader.cpp: 18652 (WebCore::FrameLoader::FrameLoader): 18653 (WebCore::FrameLoader::stopLoading): 18654 (WebCore::FrameLoader::loadURL): 18655 (WebCore::FrameLoader::loadWithDocumentLoader): 18656 (WebCore::FrameLoader::stopAllLoaders): 18657 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 18658 (WebCore::FrameLoader::pageHidden): 18659 * loader/FrameLoader.h: 18660 (WebCore::FrameLoader::suppressOpenerInNewFrame): 18661 * loader/Request.cpp: 18662 (WebCore::Request::Request): 18663 (WebCore::Request::~Request): 18664 * loader/Request.h: 18665 * loader/SubresourceLoader.cpp: 18666 (WebCore::SubresourceLoader::create): 18667 * loader/SubresourceLoader.h: 18668 * loader/loader.cpp: 18669 (WebCore::Loader::load): 18670 (WebCore::Loader::cancelRequests): 18671 (WebCore::Loader::Host::servePendingRequests): 18672 (WebCore::Loader::Host::cancelPendingRequests): 18673 (WebCore::Loader::Host::cancelRequests): 18674 18675 2009-12-19 Kent Tamura <tkent (a] chromium.org> 18676 18677 Reviewed by Adam Barth. 18678 18679 Add support for V8 Date binding. 18680 https://bugs.webkit.org/show_bug.cgi?id=32699 18681 18682 This implements the same behavior as the recent change of 18683 CodeGeneratorJS.pm and JSDOMBinding.cpp. 18684 18685 * bindings/scripts/CodeGeneratorV8.pm: 18686 Produce toWebCoreDate() or v8DateOrNull() for Date type. 18687 * bindings/v8/V8Binding.cpp: 18688 (WebCore::toWebCoreDate): 18689 Converts a JavaScript object to a double representing Date. 18690 (WebCore::v8DateOrNull): 18691 Converts a double representing Date to a JavaScript Date object or null. 18692 * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull(). 18693 * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate. 18694 18695 2009-12-21 Darin Adler <darin (a] apple.com> 18696 18697 Reviewed by Mark Rowe. 18698 18699 Renamed m_sel to m_selection. Used do-webcore-rename. 18700 18701 * editing/SelectionController.cpp: 18702 (WebCore::SelectionController::setSelection): 18703 (WebCore::SelectionController::nodeWillBeRemoved): 18704 (WebCore::SelectionController::willBeModified): 18705 (WebCore::SelectionController::directionOfEnclosingBlock): 18706 (WebCore::SelectionController::modifyExtendingRight): 18707 (WebCore::SelectionController::modifyExtendingForward): 18708 (WebCore::SelectionController::modifyMovingRight): 18709 (WebCore::SelectionController::modifyMovingForward): 18710 (WebCore::SelectionController::modifyExtendingLeft): 18711 (WebCore::SelectionController::modifyExtendingBackward): 18712 (WebCore::SelectionController::modifyMovingLeft): 18713 (WebCore::SelectionController::modifyMovingBackward): 18714 (WebCore::SelectionController::modify): 18715 (WebCore::SelectionController::expandUsingGranularity): 18716 (WebCore::SelectionController::xPosForVerticalArrowNavigation): 18717 (WebCore::SelectionController::setBase): 18718 (WebCore::SelectionController::setExtent): 18719 (WebCore::SelectionController::layout): 18720 (WebCore::SelectionController::caretRenderer): 18721 (WebCore::SelectionController::invalidateCaretRect): 18722 (WebCore::SelectionController::paintCaret): 18723 (WebCore::SelectionController::debugRenderer): 18724 (WebCore::SelectionController::contains): 18725 (WebCore::SelectionController::selectAll): 18726 (WebCore::SelectionController::formatForDebugger): 18727 (WebCore::SelectionController::showTreeForThis): 18728 * editing/SelectionController.h: 18729 * editing/gtk/SelectionControllerGtk.cpp: 18730 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 18731 * editing/mac/SelectionControllerMac.mm: 18732 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 18733 Let the script do its thing. Made sure no tests broke. 18734 18735 2009-12-21 Carol Szabo <carol.szabo (a] nokia.com> 18736 18737 Reviewed by Darin Adler. 18738 18739 Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type. 18740 https://bugs.webkit.org/show_bug.cgi?id=31814 18741 18742 No new tests because there are no functional changes in this patch. 18743 18744 * rendering/CounterNode.cpp: 18745 (WebCore::CounterNode::CounterNode): 18746 (WebCore::CounterNode::computeCountInParent): 18747 (WebCore::showTreeAndMark): 18748 * rendering/RenderCounter.cpp: 18749 (WebCore::planCounter): 18750 (WebCore::findPlaceForCounter): 18751 (WebCore::makeCounterNode): 18752 (WebCore::RenderCounter::originalText): 18753 Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset. 18754 * rendering/CounterNode.h: 18755 (WebCore::CounterNode::actsAsReset): 18756 (WebCore::CounterNode::hasResetType): 18757 18758 2009-12-21 Dirk Schulze <krit (a] webkit.org> 18759 18760 Reviewed by Darin Adler and Nikolas Zimmermann. 18761 18762 Speed-up SVG Masking 18763 https://bugs.webkit.org/show_bug.cgi?id=32738 18764 18765 This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer, 18766 that is created by pixel manipulation, got optimized. The ImageBuffer and it's 18767 luminance is created once now, not on every call of applyMask. 18768 The size of the intermediate ImageBuffer depends on the visible area now and is 18769 clipped by the mask rect. 18770 18771 The patch doesn't change functionality so no new tests needed. 18772 The new ImageBuffer handling in Mask causes two updates of test results. The pixel 18773 tests and LayoutTests pass, but the checksum doesn't match. 18774 18775 * svg/SVGMaskElement.cpp: 18776 (WebCore::SVGMaskElement::drawMaskerContent): 18777 * svg/graphics/SVGResourceMasker.cpp: 18778 (WebCore::SVGResourceMasker::applyMask): 18779 18780 2009-12-21 Andreas Kling <andreas.kling (a] nokia.com> 18781 18782 Reviewed by Darin Adler. 18783 18784 Fix assertion failure when dragging an SVG image. 18785 https://bugs.webkit.org/show_bug.cgi?id=32511 18786 18787 Test: fast/images/drag-svg-as-image.html 18788 18789 * svg/graphics/SVGImage.cpp: 18790 (WebCore::SVGImage::filenameExtension): Return "svg" 18791 * svg/graphics/SVGImage.h: 18792 18793 2009-12-17 Philippe Normand <pnormand (a] igalia.com> 18794 18795 Reviewed by Xan Lopez. 18796 18797 [GTK] G_OBJECT() cast is not necessary for signals connection and properties access 18798 https://bugs.webkit.org/show_bug.cgi?id=32661 18799 18800 Removed useless calls to the G_OBJECT() macro and replaced NULL 18801 occurences with a SENTINEL macro. 18802 18803 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 18804 (WebCore::MediaPlayerPrivate::hasVideo): 18805 (WebCore::MediaPlayerPrivate::hasAudio): 18806 (WebCore::MediaPlayerPrivate::setVolume): 18807 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 18808 18809 2009-12-21 Nate Chapin <japhet (a] chromium.org> 18810 18811 Reviewed by Darin Adler. 18812 18813 If an image load is started during an unload or beforeunload event, run it 18814 asynchronously (and allow it to outlive its page) so navigation can continue 18815 while the load completes. 18816 18817 https://bugs.webkit.org/show_bug.cgi?id=30457 18818 18819 Tests: http/tests/navigation/image-load-in-beforeunload-handler.html 18820 http/tests/navigation/image-load-in-unload-handler.html 18821 18822 * loader/DocumentThreadableLoader.cpp: 18823 (WebCore::DocumentThreadableLoader::loadRequest): 18824 * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent. 18825 (WebCore::FrameLoader::FrameLoader): 18826 (WebCore::FrameLoader::stopLoading): 18827 (WebCore::FrameLoader::loadURL): 18828 (WebCore::FrameLoader::loadWithDocumentLoader): 18829 (WebCore::FrameLoader::stopAllLoaders): 18830 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent. 18831 (WebCore::FrameLoader::pageHidden): 18832 * loader/FrameLoader.h: 18833 (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added. 18834 * loader/Request.cpp: 18835 (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters 18836 * loader/Request.h: 18837 (WebCore::): Add OutlivePagePolicy enum. 18838 (WebCore::Request::shouldOutlivePage): Added. 18839 (WebCore::Request::frame): Added. 18840 * loader/SubresourceLoader.cpp: 18841 (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check. 18842 * loader/SubresourceLoader.h: 18843 * loader/loader.cpp: 18844 (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call, 18845 ensure requests that should outlive page are done asynchronously. 18846 (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how 18847 many requests might possibly outlive a cancel in every case. 18848 (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page. 18849 (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page. 18850 (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page. 18851 18852 2009-12-18 Adam Roben <aroben (a] apple.com> 18853 18854 Fix Windows build warnings 18855 18856 * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that 18857 are compiled via SVGAllInOne.cpp. 18858 18859 2009-12-20 Pavel Feldman <pfeldman (a] chromium.org> 18860 18861 Reviewed by Timothy Hatcher. 18862 18863 Web Inspector: Cant copy outer html of selected node. 18864 Also adds "Copy as HTML" context menu item. 18865 18866 https://bugs.webkit.org/show_bug.cgi?id=32802 18867 18868 * English.lproj/localizedStrings.js: 18869 * inspector/front-end/ElementsTreeOutline.js: 18870 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): 18871 * inspector/front-end/inspector.js: 18872 (WebInspector.documentCanCopy): 18873 18874 2009-12-20 Pavel Feldman <pfeldman (a] chromium.org> 18875 18876 Reviewed by Eric Seidel. 18877 18878 Web Inspector: extract syntax highlighters into separate files. 18879 18880 https://bugs.webkit.org/show_bug.cgi?id=32803 18881 18882 * WebCore.gypi: 18883 * WebCore.vcproj/WebCore.vcproj: 18884 * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added. 18885 (WebInspector.CSSSourceSyntaxHighlighter): 18886 * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added. 18887 (WebInspector.JavaScriptSourceSyntaxHighlighter): 18888 (WebInspector.JavaScriptSourceSyntaxHighlighter.): 18889 * inspector/front-end/SourceFrame.js: 18890 * inspector/front-end/SourceSyntaxHighlighter.js: Added. 18891 (WebInspector.SourceSyntaxHighlighter): 18892 (WebInspector.SourceSyntaxHighlighter.prototype.createSpan): 18893 (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk): 18894 (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): 18895 (WebInspector.SourceSyntaxHighlighter.prototype.process): 18896 (WebInspector.SourceSyntaxHighlighter.prototype.lex): 18897 (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken): 18898 (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode): 18899 * inspector/front-end/WebKit.qrc: 18900 * inspector/front-end/inspector.html: 18901 18902 2009-12-18 Julien Chaffraix <jchaffraix (a] pleyo.com> 18903 18904 Reviewed by Darin Adler. 18905 18906 defersLoading is disabled in current libcURL. 18907 https://bugs.webkit.org/show_bug.cgi?id=32707 18908 18909 Basically this change reverts r49577 that was totally wrong. 18910 According to curlver.h, LIBCURL_VERSION_NUM is a 18911 "6-digit (24 bits) hexadecimal number". 18912 18913 The check should be against 0x071200 (7.18) as it was originally the case. 18914 18915 * platform/network/curl/ResourceHandleManager.cpp: 18916 (WebCore::ResourceHandleManager::initializeHandle): Use the right check. 18917 * platform/network/curl/ResourceHandleCurl.cpp: 18918 (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print 18919 to use a LOG_ERROR instead. 18920 18921 2009-12-20 Kent Tamura <tkent (a] chromium.org> 18922 18923 Reviewed by Darin Adler. 18924 18925 Add support for JavaScriptCore Date binding. 18926 https://bugs.webkit.org/show_bug.cgi?id=32698 18927 18928 This is needed for HTMLInputElement::valueAsDate and 18929 HTMLTimeElement::valueAsDate. 18930 18931 A Date instance is mapped to a double value in C++. 18932 - If null or undefined is set to a JavaScript property, C++ setter 18933 function receives NaN. 18934 - If a getter C++ function returns NaN or infinity, a JavaScript 18935 property returns null. 18936 18937 Test: fast/forms/input-valueasdate.html 18938 18939 * bindings/js/JSDOMBinding.cpp: 18940 (WebCore::jsDateOrNull): Implement the above. 18941 (WebCore::valueToDate): ditto. 18942 * bindings/js/JSDOMBinding.h: Declare them. 18943 * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or 18944 valueToDate() for Date type. 18945 * html/HTMLInputElement.cpp: 18946 (WebCore::HTMLInputElement::valueAsDate): Temporal implementation. 18947 (WebCore::HTMLInputElement::setValueAsDate): ditto. 18948 * html/HTMLInputElement.h: 18949 * html/HTMLInputElement.idl: Declare valueAsDate. 18950 18951 2009-12-20 Kent Tamura <tkent (a] chromium.org> 18952 18953 Reviewed by Darin Adler. 18954 18955 Introduce the followings: 18956 - ::-webkit-inner-spin-button pseudo CSS selector 18957 - ::-webkit-outer-spin-button pseudo CSS selector 18958 - new appearance type: inner-spin-button 18959 - new appearance type: outer-spin-button 18960 They're going to be used for <input type=number> UI. 18961 https://bugs.webkit.org/show_bug.cgi?id=31821 18962 18963 Inner-spin-button will be used for Windows, and outer-spin-button 18964 will be used for Mac. A spin-button will represent a pair of an 18965 increasing button part and a decreasing button part. SpinUpState, 18966 which is defined in ThemeTypes.h, will be used to distinguish 18967 these two parts. 18968 18969 The outer-spin-button implementation will use NSStepperCell. 18970 NSStepperCell represents the pair of the parts and we can't draw them 18971 independently. So a spin-button also represents the pair of the parts. 18972 18973 This change has no tests. The following changes with tests will cover. 18974 18975 * css/CSSPrimitiveValueMappings.h: 18976 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 18977 * css/CSSSelector.cpp: 18978 (WebCore::CSSSelector::extractPseudoType): 18979 * css/CSSSelector.h: 18980 (WebCore::CSSSelector::): 18981 * css/CSSStyleSelector.cpp: 18982 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 18983 * css/CSSValueKeywords.in: 18984 * css/html.css: 18985 * platform/ThemeTypes.h: 18986 (WebCore::ControlState): Add SpinUpState. 18987 (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart. 18988 * rendering/RenderTheme.cpp: 18989 (WebCore::RenderTheme::adjustStyle): 18990 (WebCore::RenderTheme::paint): 18991 (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation. 18992 (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation. 18993 * rendering/RenderTheme.h: 18994 (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation. 18995 (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation. 18996 * rendering/style/RenderStyleConstants.h: 18997 (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON. 18998 18999 2009-12-20 Nayan Kumar K <nayankk (a] gmail.com> 19000 19001 Reviewed by Darin Adler. 19002 19003 Fix for compilation errors in WML module, due to the changeset #52314. 19004 https://bugs.webkit.org/show_bug.cgi?id=32786 19005 19006 No new tests, this is compilation error fix. 19007 19008 * wml/WMLDocument.cpp: 19009 * wml/WMLPageState.cpp: 19010 * wml/WMLPageState.h: 19011 19012 2009-12-20 Dan Bernstein <mitz (a] apple.com> 19013 19014 Reviewed by Mark Rowe. 19015 19016 <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses 19017 Monaco on Snow Leopard 19018 https://bugs.webkit.org/show_bug.cgi?id=32775 19019 19020 * inspector/front-end/inspector.css: Use the default monospace family 19021 and size. 19022 19023 2009-12-20 Martin Robinson <martin.james.robinson (a] gmail.com> 19024 19025 Reviewed by Xan Lopez. 19026 19027 [GTK] Remove more GTK+ and GLib headers from WebCore 19028 https://bugs.webkit.org/show_bug.cgi?id=32795 19029 19030 Remove most GTK+ and GLib includes from WebCore headers. 19031 19032 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 19033 * platform/gtk/PasteboardHelper.h: 19034 * platform/gtk/RenderThemeGtk.cpp: 19035 * platform/gtk/RenderThemeGtk.h: 19036 * platform/gtk/ScrollbarGtk.cpp: 19037 * platform/gtk/ScrollbarThemeGtk.h: 19038 * platform/gtk/gtk2drawing.c: 19039 * platform/gtk/gtkdrawing.h: 19040 19041 2009-12-20 Kevin Ollivier <kevino (a] theolliviers.com> 19042 19043 [wx] build fixes after recent changes. 19044 19045 * bindings/BindingSecurityBase.cpp: Removed V8 header in common code. 19046 * platform/wx/ContextMenuWx.cpp: Added missing header. 19047 * plugins/mac/PluginViewMac.cpp: Added missing header. 19048 19049 2009-12-20 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 19050 19051 Reviewed by Xan Lopez. 19052 19053 Hopefully fix the assertion we are hitting by not forcing updating 19054 the state of scrollbars when setting the adjustments. This was 19055 leading to a premature layout. 19056 19057 fast/dom/open-and-close-by-DOM.html 19058 fast/dom/Window/closure-access-after-navigation-window.html 19059 fast/harness/use-page-cache.html 19060 19061 * platform/gtk/ScrollViewGtk.cpp: 19062 (WebCore::ScrollView::setGtkAdjustments): 19063 19064 2009-12-20 Pavel Feldman <pfeldman (a] chromium.org> 19065 19066 Reviewed by Darin Adler. 19067 19068 Web Inspector: Constrain the number of messages the inspector shows. 19069 19070 https://bugs.webkit.org/show_bug.cgi?id=20919 19071 19072 * English.lproj/localizedStrings.js: 19073 * inspector/InspectorController.cpp: 19074 (WebCore::InspectorController::InspectorController): 19075 (WebCore::InspectorController::addConsoleMessage): 19076 (WebCore::InspectorController::clearConsoleMessages): 19077 (WebCore::InspectorController::populateScriptObjects): 19078 * inspector/InspectorController.h: 19079 * inspector/InspectorFrontend.cpp: 19080 (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount): 19081 * inspector/InspectorFrontend.h: 19082 * inspector/front-end/inspector.js: 19083 (WebInspector.updateConsoleMessageExpiredCount): 19084 19085 2009-12-20 Andrei Popescu <andreip (a] google.com> 19086 19087 Reviewed by Adam Barth. 19088 19089 [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions. 19090 https://bugs.webkit.org/show_bug.cgi?id=32559 19091 19092 Add implementation of the cookie functions. 19093 Fix a crash caused by dereferencing a 0 MainResourceLoader pointer 19094 in ResourceHandle::start(). 19095 19096 No new tests, this is platform code. 19097 19098 * platform/android/PlatformBridge.h: 19099 * platform/network/android/AuthenticationChallenge.h: Added. 19100 * platform/network/android/CookieJarAndroid.cpp: Added. 19101 (WebCore::setCookies): 19102 (WebCore::cookies): 19103 (WebCore::cookiesEnabled): 19104 * platform/network/android/ResourceHandleAndroid.cpp: 19105 (WebCore::ResourceHandle::start): 19106 19107 2009-12-19 Eric Seidel <eric (a] webkit.org> 19108 19109 No review, rolling out r52395. 19110 http://trac.webkit.org/changeset/52395 19111 19112 * svg/SVGMaskElement.cpp: 19113 (WebCore::SVGMaskElement::drawMaskerContent): 19114 * svg/SVGMaskElement.h: 19115 * svg/graphics/SVGResourceMasker.cpp: 19116 (WebCore::SVGResourceMasker::applyMask): 19117 * svg/graphics/SVGResourceMasker.h: 19118 19119 2009-12-19 Adam Barth <abarth (a] webkit.org> 19120 19121 No review, rolling out r52399. 19122 http://trac.webkit.org/changeset/52399 19123 19124 * websockets/WebSocket.cpp: 19125 (WebCore::WebSocket::connect): 19126 19127 2009-12-19 Adam Barth <abarth (a] webkit.org> 19128 19129 Reviewed by Eric Seidel. 19130 19131 Added a missing "not". 19132 19133 Test: http/tests/security/xss-DENIED-window-open-javascript-url.html 19134 19135 * bindings/v8/custom/V8DOMWindowCustom.cpp: 19136 (WebCore::createWindow): 19137 19138 2009-12-19 Fumitoshi Ukai <ukai (a] chromium.org> 19139 19140 Reviewed by Alexey Proskuryakov. 19141 19142 Invalid url should raise SYNTAX_ERR exception. 19143 https://bugs.webkit.org/show_bug.cgi?id=32700 19144 19145 Check url is valid in WebSocket::connect. 19146 Also log the detailed reason of websocket failures to console. 19147 19148 * websockets/WebSocket.cpp: 19149 (WebCore::WebSocket::connect): 19150 19151 2009-12-19 Dan Bernstein <mitz (a] apple.com> 19152 19153 Reviewed by Darin Adler. 19154 19155 REGRESSION: Up/down arrow keys do not step numeric CSS property values 19156 https://bugs.webkit.org/show_bug.cgi?id=32776 19157 19158 * inspector/front-end/inspector.js: 19159 (WebInspector.documentKeyDown): Call the focused elements 19160 handleKeyEvent method. 19161 19162 2009-12-19 Dirk Schulze <krit (a] webkit.org> 19163 19164 Reviewed by Nikolas Zimmermann. 19165 19166 Speed-up SVG Masking 19167 https://bugs.webkit.org/show_bug.cgi?id=32738 19168 19169 This patch makes SVG Masking faster. At the moment we create a new ImageBuffer 19170 and copy the complete pixel array. That is rather inefficient. This patch 19171 uses the mask image directly. 19172 It also bounds the direct pixel manipultation to the viewable area to minimize 19173 the calculation of the mask. 19174 19175 No change in functionality. So no new test. 19176 19177 * svg/SVGMaskElement.cpp: 19178 (WebCore::SVGMaskElement::drawMaskerContent): 19179 * svg/SVGMaskElement.h: 19180 * svg/graphics/SVGResourceMasker.cpp: 19181 (WebCore::SVGResourceMasker::applyMask): 19182 * svg/graphics/SVGResourceMasker.h: 19183 19184 2009-12-19 Dirk Schulze <krit (a] webkit.org> 19185 19186 Reviewed by Nikolas Zimmermann. 19187 19188 Add tests to check filter, mask, clip, opacity and marker ordering 19189 https://bugs.webkit.org/show_bug.cgi?id=14010 19190 19191 The right ordering for applying effects on objects in SVG is filters, 19192 clipper/masker and opacity. This patch fixes the order of filter and 19193 clipper/masker. Opacity and marker need another test. 19194 This change is according to the SVG Specification: 19195 http://www.w3.org/TR/SVG11/render.html#Elements 19196 19197 Test: svg/filters/filter-clip.svg 19198 19199 * rendering/SVGRenderSupport.cpp: 19200 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 19201 19202 2009-12-19 Evan Martin <evan (a] chromium.org> 19203 19204 Reviewed by Gustavo Noronha Silva. 19205 19206 Revert my attempt at making --disable-geolocation work; it is 19207 more complicated than I anticipated. (It passed on the build bots 19208 because they build with --enable-geolocation.) 19209 19210 * GNUmakefile.am: 19211 19212 2009-12-19 MORITA Hajime <morrita (a] gmail.com> 19213 19214 Reviewed by Darin Adler. 19215 19216 WebCore::Range::surroundContents NULL pointer crash. 19217 19218 https://bugs.webkit.org/show_bug.cgi?id=31684 19219 19220 Test: fast/dom/Range/31684.html 19221 19222 * dom/Range.cpp: 19223 (WebCore::Range::surroundContents): 19224 throw exception when parentOfNewParent->parentNode() is NULL. 19225 19226 2009-12-19 Christian Dywan <christian (a] twotoasts.de> 19227 19228 Reviewed by Gustavo Noronha Silva. 19229 19230 Don't use an icon for all spelling guess menu items. 19231 19232 * platform/gtk/ContextMenuItemGtk.cpp: 19233 (WebCore::gtkStockIDFromContextMenuAction): 19234 19235 2009-12-19 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 19236 19237 Unreviewed build fix. Missing \. 19238 19239 * GNUmakefile.am: 19240 19241 2009-12-19 Evan Martin <evan (a] chromium.org> 19242 19243 Reviewed by Gustavo Noronha Silva. 19244 19245 Make --disable-geolocation and --disable-svg work, by conditionally 19246 building the relevant files. 19247 19248 * GNUmakefile.am: 19249 19250 2009-12-18 Peter Kasting <pkasting (a] google.com> 19251 19252 Reviewed by Simon Fraser. 19253 19254 Add a comment about some confusing code that otherwise would look like 19255 it might be a bug. 19256 https://bugs.webkit.org/show_bug.cgi?id=32534 19257 19258 * rendering/RenderLayer.cpp: 19259 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 19260 19261 2009-12-18 Nikolas Zimmermann <nzimmermann (a] rim.com> 19262 19263 Not reviewed. Messed up the XCode file, trying to fix. 19264 19265 * WebCore.xcodeproj/project.pbxproj: 19266 19267 2009-12-18 Nikolas Zimmermann <nzimmermann (a] rim.com> 19268 19269 Not reviewed, fix typos in WebCore.xcodeproj. 19270 19271 * WebCore.xcodeproj/project.pbxproj: 19272 19273 2009-12-18 Nikolas Zimmermann <nzimmermann (a] rim.com> 19274 19275 Reviewed by Eric Seidel. 19276 19277 SVGAngle / SVGPreserveAspectRatio should be POD types 19278 https://bugs.webkit.org/show_bug.cgi?id=32758 19279 19280 Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just 19281 like it has been done for SVGMatrix / SVGLength before. 19282 19283 This patch prepares removing the special DOMObjectWithSVGContext hack. 19284 No change in functionality, thus no new tests. 19285 19286 * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it. 19287 * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength) 19288 * bindings/scripts/CodeGeneratorJS.pm: Ditto. 19289 * bindings/scripts/CodeGeneratorV8.pm: Ditto. 19290 * bindings/v8/V8Index.h: Ditto. 19291 * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now. 19292 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 19293 (WebCore::RenderSVGImage::paint): 19294 * rendering/RenderSVGImage.h: 19295 * svg/SVGAngle.h: 19296 * svg/SVGAngle.idl: 19297 * svg/SVGAnimatedTemplate.h: 19298 (WebCore::): 19299 * svg/SVGFEImageElement.cpp: 19300 (WebCore::SVGFEImageElement::SVGFEImageElement): 19301 (WebCore::SVGFEImageElement::parseMappedAttribute): 19302 * svg/SVGFitToViewBox.cpp: 19303 (WebCore::SVGFitToViewBox::viewBoxToViewTransform): 19304 (WebCore::SVGFitToViewBox::parseMappedAttribute): 19305 * svg/SVGFitToViewBox.h: 19306 * svg/SVGImageElement.cpp: 19307 (WebCore::SVGImageElement::SVGImageElement): 19308 (WebCore::SVGImageElement::parseMappedAttribute): 19309 * svg/SVGMarkerElement.cpp: 19310 (WebCore::SVGMarkerElement::SVGMarkerElement): 19311 (WebCore::SVGMarkerElement::parseMappedAttribute): 19312 (WebCore::SVGMarkerElement::setOrientToAuto): 19313 (WebCore::SVGMarkerElement::setOrientToAngle): 19314 (WebCore::SVGMarkerElement::canvasResource): 19315 * svg/SVGMarkerElement.h: 19316 * svg/SVGPatternElement.cpp: 19317 (WebCore::SVGPatternElement::SVGPatternElement): 19318 * svg/SVGPreserveAspectRatio.cpp: 19319 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 19320 (WebCore::SVGPreserveAspectRatio::getCTM): 19321 * svg/SVGPreserveAspectRatio.h: 19322 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 19323 * svg/SVGPreserveAspectRatio.idl: 19324 * svg/SVGSVGElement.cpp: 19325 (WebCore::SVGSVGElement::SVGSVGElement): 19326 (WebCore::SVGSVGElement::createSVGAngle): 19327 (WebCore::SVGSVGElement::inheritViewAttributes): 19328 * svg/SVGSVGElement.h: 19329 * svg/SVGSymbolElement.cpp: 19330 (WebCore::SVGSymbolElement::SVGSymbolElement): 19331 * svg/SVGViewElement.cpp: 19332 (WebCore::SVGViewElement::SVGViewElement): 19333 * svg/SVGViewSpec.cpp: 19334 (WebCore::SVGViewSpec::SVGViewSpec): 19335 (WebCore::SVGViewSpec::setPreserveAspectRatioString): 19336 (WebCore::SVGViewSpec::parseViewSpec): 19337 19338 2009-12-18 Dumitru Daniliuc <dumi (a] chromium.org> 19339 19340 Chromium build fix, no review. 19341 19342 * storage/chromium/DatabaseTrackerChromium.cpp: 19343 19344 2009-12-18 Brent Fulgham <bfulgham (a] webkit.org> 19345 19346 Build fix, no review. 19347 19348 * platform/graphics/win/FontCacheWin.cpp: 19349 (WebCore::FontCache::createFontPlatformData): Correct my typo 19350 on the CG build. 19351 19352 2009-12-18 Dumitru Daniliuc <dumi (a] chromium.org> 19353 19354 Reviewed by Eric Seidel. 19355 19356 Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on 19357 the main thread when a database is being closed. 19358 19359 https://bugs.webkit.org/show_bug.cgi?id=32627 19360 19361 * storage/chromium/DatabaseTrackerChromium.cpp: 19362 (WebCore::removeOpenDatabaseOnMainThread): 19363 (WebCore::DatabaseTracker::removeOpenDatabase): 19364 19365 2009-12-18 Brent Fulgham <bfulgham (a] webkit.org> 19366 19367 Build fix, no review. 19368 19369 * page/win/FrameCairoWin.cpp: Add missing include. 19370 * platform/graphics/win/FontCacheWin.cpp: 19371 (WebCore::FontCache::createFontPlatformData): Conditionalize 19372 Safari-only call. 19373 19374 2009-12-18 Dumitru Daniliuc <dumi (a] chromium.org> 19375 19376 Reviewed by Dmitry Titov. 19377 19378 Move some code related to database closing from the destructor to 19379 the close() method. This would allow us to do things such as post 19380 tasks to other threads when a database closes, which cannot be 19381 done now, because we cannot increment the ref count to a database 19382 object when we're in its destructor. 19383 19384 https://bugs.webkit.org/show_bug.cgi?id=32626 19385 19386 * storage/Database.cpp: 19387 (WebCore::Database::~Database): 19388 (WebCore::Database::close): 19389 19390 2009-12-18 Jon Honeycutt <jhoneycutt (a] apple.com> 19391 19392 REGRESSION(r52233): MSAA: Accessibility role of lists is wrong 19393 19394 https://bugs.webkit.org/show_bug.cgi?id=32736 19395 19396 Reviewed by Adam Roben. 19397 19398 Test: platform/win/accessibility/list-role.html 19399 19400 * accessibility/AccessibilityObject.h: 19401 (WebCore::AccessibilityObject::roleValueForMSAA): 19402 Return roleValue(), rather than m_role, as subclasses may override it. 19403 19404 * accessibility/AccessibilityRenderObject.cpp: 19405 (WebCore::AccessibilityRenderObject::roleValueForMSAA): 19406 Fallback to roleValue(), rather than m_role, as it may be overriden. 19407 19408 2009-12-17 Jon Honeycutt <jhoneycutt (a] apple.com> 19409 19410 MSAA: Accessibility role of list items is wrong 19411 19412 https://bugs.webkit.org/show_bug.cgi?id=32688 19413 19414 Reviewed by Adam Roben. 19415 19416 Test: platform/win/accessibility/list-item-role.html 19417 19418 * accessibility/AccessibilityObject.h: 19419 (WebCore::): 19420 Add a ListItemRole to the enum. 19421 19422 * accessibility/AccessibilityRenderObject.cpp: 19423 (WebCore::msaaRoleForRenderer): 19424 Return the role for the RenderObject, or UnknownRole if unknown. 19425 (WebCore::AccessibilityRenderObject::roleValueForMSAA): 19426 Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall 19427 back to m_role. 19428 19429 2009-12-18 Simon Fraser <simon.fraser (a] apple.com> 19430 19431 Reviewed by Darin Adler. 19432 19433 Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value. 19434 https://bugs.webkit.org/show_bug.cgi?id=31559 19435 19436 Fix an array bounds error when accessing the CSS value for a shorthand property that takes 19437 a comma-separated list, after the list for one of the component properties has been set to a different length. 19438 19439 Test: fast/css/shorthand-mismatched-list-crash.html 19440 19441 * css/CSSMutableStyleDeclaration.cpp: 19442 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): 19443 19444 2009-12-18 Simon Fraser <simon.fraser (a] apple.com> 19445 19446 Reviewed by Mark Rowe. 19447 19448 Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources. 19449 19450 * WebCore.xcodeproj/project.pbxproj: 19451 19452 2009-12-18 Sam Weinig <sam (a] webkit.org> 19453 19454 Fix mac Geolocation build. 19455 19456 * DerivedSources.make: 19457 * WebCore.ClientBasedGeolocation.exp: Added. 19458 * WebCore.xcodeproj/project.pbxproj: 19459 * page/Geolocation.h: 19460 * page/GeolocationError.h: 19461 (WebCore::GeolocationError::GeolocationError): 19462 * page/GeolocationPosition.h: 19463 19464 2009-12-18 Brian Weinstein <bweinstein (a] apple.com> 19465 19466 Reviewed by Adam Roben. 19467 19468 Fixes <http://webkit.org/b/32613>. 19469 REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll, 19470 but should follow the link instead. 19471 19472 The node itself isn't the only possible node that can be a link (that was the 19473 original check), any of its ancestors could be links as well, we need to climb 19474 up the tree to see. Created a new function (enclosingAnchorNode), that finds a 19475 node's enclosing anchor element (if it exists), that we can share between RenderLayer 19476 and Node, and also added tests that test pan scrolling behavior in image maps. 19477 19478 Tests: platform/win/fast/events/panScroll-image-no-scroll.html 19479 platform/win/fast/events/panScroll-imageMap-href-no-scroll.html 19480 platform/win/fast/events/panScroll-imageMap-noHref-scroll.html 19481 19482 * dom/Node.cpp: 19483 (WebCore::Node::enclosingAnchorNode): 19484 (WebCore::Node::defaultEventHandler): 19485 * dom/Node.h: 19486 * rendering/RenderLayer.cpp: 19487 (WebCore::RenderLayer::hitTest): 19488 19489 2009-12-18 Benjamin Otte <otte (a] gnome.org> 19490 19491 Reviewed by Xan Lopez. 19492 19493 [GTK] RemoveDashboard support. It's useless. 19494 19495 * GNUmakefile.am: 19496 19497 2009-12-18 Christian Dywan <christian (a] twotoasts.de> 19498 19499 Reviewed by Xan Lopez. 19500 19501 [GTK] context menu overriding API is very limited 19502 https://bugs.webkit.org/show_bug.cgi?id=27546 19503 19504 Omit SearchWeb from the context menu in the GTK+ port. 19505 19506 * platform/ContextMenu.cpp: 19507 (WebCore::ContextMenu::populate): 19508 19509 2009-12-18 Sam Weinig <sam (a] webkit.org> 19510 19511 Reviewed by Anders Carlsson. 19512 19513 Add export the new symbol in WebCoreSystemInterface. 19514 19515 * WebCore.base.exp: 19516 * platform/mac/WebCoreSystemInterface.h: 19517 * platform/mac/WebCoreSystemInterface.mm: 19518 19519 2009-12-18 Sam Weinig <sam (a] webkit.org> 19520 19521 Reviewed by Anders Carlsson. 19522 19523 Forward declare NSMutableArray when not compiling for Objective-C. 19524 19525 * platform/mac/WebCoreSystemInterface.h: 19526 19527 2009-12-18 Gavin Barraclough <barraclough (a] apple.com> 19528 19529 Reviewed by Sam Weinig. 19530 19531 https://bugs.webkit.org/show_bug.cgi?id=32720 19532 Replace UString addition/append with use of JSC::StringBuilder. 19533 19534 * ForwardingHeaders/runtime/StringBuilder.h: Added. 19535 * bindings/js/ScriptString.h: 19536 (WebCore::ScriptString::operator+=): 19537 * bridge/jni/jni_runtime.cpp: 19538 (appendClassName): 19539 (JavaMethod::signature): 19540 * inspector/InspectorController.cpp: 19541 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 19542 (WebCore::InspectorController::addStartProfilingMessageToConsole): 19543 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 19544 19545 2009-12-18 Kenneth Russell <kbr (a] google.com> 19546 19547 Reviewed by Darin Fisher. 19548 19549 Index validation for drawElements examines too many indices 19550 https://bugs.webkit.org/show_bug.cgi?id=32692 19551 19552 Test: fast/canvas/webgl/bug-32692.html 19553 19554 * html/canvas/WebGLRenderingContext.cpp: 19555 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): 19556 19557 2009-12-18 Sam Weinig <sam (a] webkit.org> 19558 19559 Reviewed by Anders Carlsson. 19560 19561 Update WebKitSystemInterface for <rdar://problem/7237059>. 19562 19563 * platform/mac/WebCoreSystemInterface.h: 19564 * platform/mac/WebCoreSystemInterface.mm: 19565 19566 2009-12-18 Adam Roben <aroben (a] apple.com> 19567 19568 GTK build fix 19569 19570 * plugins/gtk/PluginViewGtk.cpp: Added #include. 19571 19572 2009-12-18 Adam Roben <aroben (a] apple.com> 19573 19574 Chromium build fix 19575 19576 * platform/chromium/PopupMenuChromium.cpp: Added #include. 19577 19578 2009-12-18 Adam Roben <aroben (a] apple.com> 19579 19580 Chromium build fix 19581 19582 * html/HTMLLinkElement.cpp: Added #include. 19583 19584 2009-12-18 Adam Roben <aroben (a] apple.com> 19585 19586 Qt build fix 19587 19588 * platform/qt/RenderThemeQt.cpp: 19589 * plugins/qt/PluginDataQt.cpp: 19590 * plugins/qt/PluginViewQt.cpp: 19591 Added #includes. 19592 19593 2009-12-18 Adam Roben <aroben (a] apple.com> 19594 19595 V8 build fix 19596 19597 * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include. 19598 19599 2009-12-18 Adam Roben <aroben (a] apple.com> 19600 19601 GTK (and others?) build fix 19602 19603 * platform/text/StringImpl.h: Added #include. 19604 19605 2009-12-18 Adam Roben <aroben (a] apple.com> 19606 19607 Reduce #includes in a few high-use headers 19608 19609 Removed unnecessary #includes in these headers: 19610 - Frame.h 19611 - FrameWin.h 19612 - Node.h 19613 - Page.h 19614 - StringImpl.h 19615 19616 The rest of the patch is all adding #includes to source files that now 19617 require them. 19618 19619 Fixes <http://webkit.org/b/32718>. 19620 19621 Rubber-stamped by Anders Carlsson. 19622 19623 * dom/Node.h: 19624 * page/Frame.h: 19625 * page/Page.h: 19626 * page/win/FrameWin.h: 19627 * platform/text/StringImpl.h: 19628 Removed unnecessary #includes. 19629 19630 * accessibility/win/AXObjectCacheWin.cpp: 19631 * bindings/js/JSDOMWindowBase.cpp: 19632 * bindings/js/JSDOMWindowCustom.cpp: 19633 * dom/Document.cpp: 19634 * dom/InputElement.cpp: 19635 * dom/Node.cpp: 19636 * dom/SelectElement.cpp: 19637 * editing/EditorCommand.cpp: 19638 * html/HTMLFormControlElement.cpp: 19639 * html/HTMLFormElement.cpp: 19640 * html/HTMLMediaElement.cpp: 19641 * html/HTMLParser.cpp: 19642 * html/HTMLTextAreaElement.cpp: 19643 * html/HTMLVideoElement.cpp: 19644 * inspector/InspectorController.cpp: 19645 * loader/FrameLoader.cpp: 19646 * loader/HistoryController.cpp: 19647 * loader/appcache/ApplicationCacheGroup.cpp: 19648 * page/Console.cpp: 19649 * page/EventHandler.cpp: 19650 * page/Frame.cpp: 19651 * page/FrameView.cpp: 19652 * page/Navigator.cpp: 19653 * page/PageGroup.cpp: 19654 * page/Settings.cpp: 19655 * page/mac/EventHandlerMac.mm: 19656 * platform/KURL.h: 19657 * platform/ScrollbarThemeComposite.cpp: 19658 * platform/cf/BinaryPropertyList.cpp: 19659 * platform/graphics/mac/GraphicsLayerCA.h: 19660 * platform/graphics/win/WKCACFLayerRenderer.cpp: 19661 * platform/mac/PopupMenuMac.mm: 19662 * platform/mac/WidgetMac.mm: 19663 * platform/network/cf/DNSCFNet.cpp: 19664 * platform/text/StringImpl.cpp: 19665 * platform/win/FileSystemWin.cpp: 19666 * platform/win/PlatformScreenWin.cpp: 19667 * platform/win/PopupMenuWin.cpp: 19668 * platform/win/WidgetWin.cpp: 19669 * plugins/PluginView.cpp: 19670 * plugins/win/PluginViewWin.cpp: 19671 * rendering/InlineTextBox.cpp: 19672 * rendering/RenderBox.cpp: 19673 * rendering/RenderFileUploadControl.cpp: 19674 * rendering/RenderInline.cpp: 19675 * rendering/RenderLayerCompositor.cpp: 19676 * rendering/RenderObject.cpp: 19677 * rendering/RootInlineBox.cpp: 19678 * storage/DatabaseTracker.cpp: 19679 * storage/DatabaseTracker.h: 19680 * storage/SQLTransactionClient.cpp: 19681 * svg/graphics/SVGImage.cpp: 19682 Added now-needed #includes. 19683 19684 2009-12-18 Shu Chang <Chang.Shu (a] nokia.com> 19685 19686 Reviewed by Darin Adler. 19687 19688 Implemented isId as specified by DOM Level 3. See detailed description below. 19689 https://bugs.webkit.org/show_bug.cgi?id=5578 19690 19691 Added isId property and implementation: 19692 Tests: dom/xhtml/level3/core/attrisid01-07.xhtml 19693 fast/dom/Element/attrisid-extra01.html 19694 * dom/Attr.cpp: 19695 (WebCore::Attr::isId): 19696 * dom/Attr.h: 19697 * dom/Attr.idl: 19698 19699 Replaced instances of HTMLNames::idAttr with Element::idAttributeName() 19700 for the reason that id attribute name could be customized to a different 19701 string other than "id". A test case is associated to each code change. 19702 * dom/Document.cpp: 19703 (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html 19704 * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml 19705 (WebCore::Element::setAttribute): 19706 (WebCore::Element::setAttributeMap): 19707 (WebCore::Element::insertedIntoDocument): 19708 (WebCore::Element::removedFromDocument): 19709 (WebCore::Element::formatForDebugger): 19710 (WebCore::Element::rareIDAttributeName): 19711 * dom/Element.h: Added function idAttributeName(). 19712 (WebCore::Element::idAttributeName): 19713 * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData. 19714 (WebCore::ElementRareData::ElementRareData): 19715 * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml 19716 (WebCore::NamedNodeMap::setNamedItem): 19717 (WebCore::NamedNodeMap::removeNamedItem): 19718 (WebCore::NamedNodeMap::setAttributes): 19719 * dom/Node.cpp: Removed ASSERT as it may not hold any more. 19720 (WebCore::Node::querySelector): 19721 * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more. 19722 (WebCore::createSelectorNodeList): 19723 * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml 19724 (WebCore::StyledElement::parseMappedAttribute): 19725 * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html 19726 (WebCore::DeleteButtonController::createDeletionUI): 19727 * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html 19728 (WebCore::executeInsertHorizontalRule): 19729 * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html 19730 (WebCore::HTMLAppletElement::parseMappedAttribute): 19731 (WebCore::HTMLAppletElement::createRenderer): 19732 * html/HTMLCollection.cpp: 19733 (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html 19734 (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html 19735 * html/HTMLDataGridColElement.cpp: 19736 (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html 19737 (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html 19738 * html/HTMLElement.cpp: 19739 (WebCore::HTMLElement::parseMappedAttribute): 19740 * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html 19741 (WebCore::HTMLFormCollection::getNamedFormItem): 19742 (WebCore::HTMLFormCollection::nextNamedItem): 19743 (WebCore::HTMLFormCollection::updateNameCache): 19744 * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html 19745 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 19746 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): 19747 * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html 19748 (WebCore::HTMLImageElement::parseMappedAttribute): 19749 * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html 19750 (WebCore::HTMLMapElement::parseMappedAttribute): 19751 * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html 19752 (WebCore::HTMLNameCollection::itemAfter): 19753 * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html 19754 (WebCore::HTMLObjectElement::parseMappedAttribute): 19755 * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html 19756 (WebCore::HTMLParamElement::parseMappedAttribute): 19757 * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html 19758 (WebCore::CachedFont::getSVGFontById): 19759 * rendering/RenderLayerBacking.cpp: 19760 (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code 19761 * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg 19762 (WebCore::writeRenderResources): 19763 * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html 19764 (WebCore::SVGElement::insertedIntoDocument): 19765 * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg 19766 (WebCore::SVGStyledElement::isKnownAttribute): 19767 * wml/WMLElement.cpp: 19768 (WebCore::WMLElement::parseMappedAttribute): 19769 19770 2009-12-18 Simon Hausmann <simon.hausmann (a] nokia.com> 19771 19772 Reviewed by Tor Arne Vestb. 19773 19774 [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds 19775 19776 https://bugs.webkit.org/show_bug.cgi?id=32716 19777 19778 Introduce standalone_package as config that is set when QTDIR_build is set or when 19779 the directory for the generated files is present. 19780 19781 Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package. 19782 Others remain as they are specific to building inside Qt. 19783 19784 * WebCore.pro: 19785 19786 2009-12-18 Simon Hausmann <simon.hausmann (a] nokia.com> 19787 19788 Reviewed by Tor Arne Vestb. 19789 19790 [Qt] Fix the build on Symbian. 19791 19792 Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(), 19793 which is a missing symbol in Qt 4.6.0 on Symbian. 19794 19795 Functionally they should be equivalent, according to the source. 19796 19797 * platform/graphics/qt/FontCacheQt.cpp: 19798 (WebCore::FontCache::getLastResortFallbackFont): 19799 19800 2009-12-18 Philippe Normand <pnormand (a] igalia.com> 19801 19802 Reviewed by Xan Lopez. 19803 19804 [GTK] segfault during controls initialization if not GTK theme is present. 19805 https://bugs.webkit.org/show_bug.cgi?id=32705 19806 19807 Create empty images for the controls if no GTK theme is set. 19808 19809 * platform/graphics/gtk/ImageGtk.cpp: 19810 (WebCore::getThemeIconFileName): 19811 (WebCore::loadImageFromFile): 19812 19813 2009-12-18 Alejandro G. Castro <alex (a] igalia.com> 19814 19815 Reviewed by Darin Adler. 19816 19817 REGRESSION (r38898): Using the up arrow in a textarea gets "stuck" 19818 at the beginning. 19819 https://bugs.webkit.org/show_bug.cgi?id=31920 19820 19821 Moving up from a position after the end of the previous lines 19822 should use UPSTREAM affinity to render the caret in the previous 19823 line. 19824 19825 Test: editing/selection/wrapped-line-caret-3.html 19826 19827 * rendering/RenderText.cpp: 19828 (WebCore::RenderText::positionForPoint): 19829 19830 2009-12-17 Eric Seidel <eric (a] webkit.org> 19831 19832 Reviewed by Darin Adler. 19833 19834 HTMLInputElement::stepMismatch() uses ambiguous overload of pow() 19835 https://bugs.webkit.org/show_bug.cgi?id=32675 19836 19837 Use the double constant 2.0 instead of static_cast<double>(2). 19838 19839 * html/HTMLInputElement.cpp: 19840 (WebCore::HTMLInputElement::stepMismatch): 19841 19842 2009-12-17 Justin Schuh <jschuh (a] chromium.org> 19843 19844 Reviewed by Dan Bernstein. 19845 19846 Bug 32357: SVG test case crashes WebKit (invalid font URL) 19847 https://bugs.webkit.org/show_bug.cgi?id=32357 19848 19849 Added check for NULL return value from DocLoader::requestFont() 19850 19851 * svg/SVGFontFaceUriElement.cpp: 19852 (WebCore::SVGFontFaceUriElement::loadFont): 19853 19854 2009-12-17 Shinichiro Hamaji <hamaji (a] chromium.org> 19855 19856 Reviewed by Dan Bernstein. 19857 19858 marquee with display:inline causes crash 19859 https://bugs.webkit.org/show_bug.cgi?id=32374 19860 19861 Test: fast/inline/inline-marquee-crash.html 19862 19863 * html/HTMLMarqueeElement.cpp: 19864 (WebCore::HTMLMarqueeElement::start): 19865 (WebCore::HTMLMarqueeElement::stop): 19866 (WebCore::HTMLMarqueeElement::suspend): 19867 (WebCore::HTMLMarqueeElement::resume): 19868 (WebCore::HTMLMarqueeElement::renderMarquee): 19869 * html/HTMLMarqueeElement.h: 19870 * rendering/RenderLayer.cpp: 19871 (WebCore::RenderLayer::styleChanged): 19872 19873 2009-12-17 Zoltan Horvath <zoltan (a] webkit.org> 19874 19875 Reviewed by Darin Adler. 19876 19877 Allow custom memory allocation control for inspector's classes 19878 https://bugs.webkit.org/show_bug.cgi?id=32660 19879 19880 Inherits the following classes from Noncopyable because these are 19881 instantiated by 'new' and no need to be copyable: 19882 19883 class name - instantiated at: WebCore/'location' 19884 19885 class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72 19886 class ConsoleMessage - inspector/InspectorController.cpp:329 19887 class InspectorController - page/Page.cpp:119 19888 19889 * inspector/ConsoleMessage.h: 19890 * inspector/InspectorController.h: 19891 * inspector/JavaScriptDebugServer.h: 19892 19893 2009-12-17 Steve Block <steveblock (a] google.com> 19894 19895 Reviewed by Eric Seidel. 19896 19897 Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow(). 19898 https://bugs.webkit.org/show_bug.cgi?id=32675 19899 19900 Build fix only, no new tests. 19901 19902 * html/HTMLInputElement.cpp: Modified. 19903 (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)' 19904 19905 2009-12-17 Marc-Antoine Ruel <maruel (a] chromium.org> 19906 19907 Reviewed by Eric Seidel. 19908 19909 Fix link failure on LTCG builds on Windows for chromium port. 19910 19911 Reenable SVGAllInOne.cpp. This required some fixups. 19912 19913 Namely, there was conflicts in constants between HTMLNames and 19914 SVGNames, and conflicts between static functions names. 19915 19916 No new tests as functionality has not changed. 19917 19918 * WebCore.gyp/WebCore.gyp: 19919 * svg/SVGAllInOne.cpp: 19920 * svg/SVGFontFaceElement.cpp: 19921 (WebCore::SVGFontFaceElement::rebuildFontFace): 19922 * svg/SVGGlyphElement.cpp: 19923 (WebCore::SVGGlyphElement::invalidateGlyphCache): 19924 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 19925 * svg/SVGHKernElement.cpp: 19926 (WebCore::SVGHKernElement::insertedIntoDocument): 19927 (WebCore::SVGHKernElement::removedFromDocument): 19928 * svg/SVGStyleElement.cpp: 19929 (WebCore::SVGStyleElement::type): 19930 (WebCore::SVGStyleElement::setType): 19931 (WebCore::SVGStyleElement::media): 19932 (WebCore::SVGStyleElement::setMedia): 19933 (WebCore::SVGStyleElement::title): 19934 (WebCore::SVGStyleElement::setTitle): 19935 (WebCore::SVGStyleElement::parseMappedAttribute): 19936 * svg/SVGStyledElement.cpp: 19937 (WebCore::mapAttributeToCSSProperty): 19938 (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): 19939 * svg/SVGStyledElement.h: 19940 19941 2009-12-17 Adam Roben <aroben (a] apple.com> 19942 19943 Chromium build fix VI 19944 19945 * svg/animation/SMILTimeContainer.h: Added now-needed #include. 19946 19947 2009-12-17 Adam Roben <aroben (a] apple.com> 19948 19949 Chromium build fix V 19950 19951 * platform/KURLGoogle.cpp: Added now-needed #include. 19952 19953 2009-12-17 Adam Roben <aroben (a] apple.com> 19954 19955 Chromium build fix IV 19956 19957 * loader/CrossOriginPreflightResultCache.h: Added now-needed 19958 #includes. 19959 19960 2009-12-17 Adam Roben <aroben (a] apple.com> 19961 19962 Chromium build fix III 19963 19964 * platform/graphics/Font.h: Added now-needed #include. 19965 19966 2009-12-17 Adam Roben <aroben (a] apple.com> 19967 19968 Chromium build fix II 19969 19970 * dom/EventTarget.h: Added now-needed #include. 19971 19972 2009-12-17 Zoltan Horvath <zoltan (a] webkit.org> 19973 19974 Reviewed by Eric Seidel. 19975 19976 Allow custom memory allocation control for js bindings 19977 https://bugs.webkit.org/show_bug.cgi?id=32655 19978 19979 Inherits the following classes from Noncopyable because these are instantiated 19980 by 'new' and no need to be copyable: 19981 19982 class name - instantiated at: WebCore/'location' 19983 19984 class ScriptCachedFrameData - history/CachedFrame.cpp:117 19985 class WebCoreJSClientData - bindings/js/JSDOMWindowBase.cpp:162 19986 class ScheduledAction - bindings/js/ScheduledAction.cpp:58 19987 19988 * bindings/js/JSDOMBinding.h: 19989 * bindings/js/ScheduledAction.h: 19990 * bindings/js/ScriptCachedFrameData.h: 19991 19992 2009-12-17 Adam Roben <aroben (a] apple.com> 19993 19994 Chromium build fix 19995 19996 * dom/QualifiedName.h: Added now-needed #include of HashTraits.h 19997 (which itself #includes HashFunctions.h). 19998 19999 2009-12-17 Pavel Feldman <pfeldman (a] dhcp-172-28-174-220.spb.corp.google.com> 20000 20001 Reviewed by Timothy Hatcher. 20002 20003 Web Inspector: Incorrect Doctype. 20004 20005 REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype 20006 https://bugs.webkit.org/show_bug.cgi?id=32671 20007 20008 * inspector/InspectorDOMAgent.cpp: 20009 (WebCore::InspectorDOMAgent::buildObjectForNode): 20010 * inspector/front-end/DOMAgent.js: 20011 (WebInspector.DOMNode): 20012 20013 2009-12-17 Benjamin Otte <otte (a] gnome.org> 20014 20015 Reviewed by Adam Roben. 20016 20017 Don't include all JSC headers everywhere 20018 https://bugs.webkit.org/show_bug.cgi?id=32663 20019 20020 Remove HashMap HashSet and OwnPtr includes from PlatformString.h. 20021 Reduces code size of Gtk build by another 5%. 20022 20023 * platform/text/PlatformString.h: 20024 20025 2009-12-17 Adam Roben <aroben (a] apple.com> 20026 20027 Mac/Qt build fixes 20028 20029 * platform/graphics/mac/Canvas3DLayer.mm: 20030 * platform/graphics/mac/GraphicsContext3DMac.cpp: 20031 * platform/qt/Localizations.cpp: 20032 Added missing #includes. 20033 20034 2009-12-17 Benjamin Otte <otte (a] gnome.org> 20035 20036 Reviewed by Adam Roben. 20037 20038 Don't include all JSC headers everywhere 20039 https://bugs.webkit.org/show_bug.cgi?id=32663 20040 20041 PlatformString.h included almost all of JSC via runtime/Identifier.h. 20042 This patch gets rid of this include by forward-declaring the required 20043 classes instead. 20044 This reduces the build size of the object files on a Gtk debug build 20045 by 10%. The resulting libwebkit.so gets 5% smaller. 20046 20047 No new tests as it's just a build improvement. 20048 20049 * platform/gtk/LocalizedStringsGtk.cpp: 20050 include math.h here (it used to be pulled by JSC) 20051 * platform/text/PlatformString.h: 20052 * platform/text/String.cpp: 20053 20054 2009-12-17 Evan Martin <evan (a] chromium.org> 20055 20056 Reviewed by Xan Lopez. 20057 20058 Always use all WebCore include paths in GtkWebKit. 20059 20060 With this patch, I can disable all optional features and still build. 20061 20062 * GNUmakefile.am: 20063 20064 2009-12-17 Yaar Schnitman <yaar (a] chromium.org> 20065 20066 Reviewed by Darin Fisher. 20067 20068 Added WebPageSerializer to WebKit API. 20069 20070 https://bugs.webkit.org/show_bug.cgi?id=31737 20071 20072 * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation. 20073 (WebCore::StringBuilder::clear): 20074 (WebCore::StringBuilder::length): 20075 * platform/text/StringBuilder.h: 20076 20077 2009-12-10 Philippe Normand <pnormand (a] igalia.com> 20078 20079 Reviewed by Xan Lopez. 20080 20081 [GTK] Add controls for playing html5 video. 20082 https://bugs.webkit.org/show_bug.cgi?id=26304 20083 20084 Media controls UI, first step. This patch was written by Zan 20085 Dobersek. In addition I fixed the compilation errors and 20086 re-enabled some of the media tests involving the controls UI. 20087 20088 * GNUmakefile.am: 20089 * css/mediaControlsGtk.css: Added. 20090 * platform/graphics/Image.h: 20091 * platform/graphics/gtk/ImageGtk.cpp: 20092 (WebCore::getThemeIconFileName): 20093 (WebCore::loadResourceSharedBuffer): 20094 (WebCore::loadImageFromFile): 20095 (WebCore::Image::loadPlatformResource): 20096 (WebCore::Image::loadPlatformThemeIcon): 20097 * platform/gtk/RenderThemeGtk.cpp: 20098 (WebCore::getMediaElementFromRenderObject): 20099 (WebCore::getIconNameForTextDirection): 20100 (WebCore::RenderThemeGtk::initMediaStyling): 20101 (WebCore::RenderThemeGtk::RenderThemeGtk): 20102 (WebCore::RenderThemeGtk::~RenderThemeGtk): 20103 (WebCore::supportsFocus): 20104 (WebCore::RenderThemeGtk::baselinePosition): 20105 (WebCore::paintMozWidget): 20106 (WebCore::setToggleSize): 20107 (WebCore::RenderThemeGtk::adjustSliderThumbSize): 20108 (WebCore::RenderThemeGtk::gtkContainer): 20109 (WebCore::RenderThemeGtk::platformColorsDidChange): 20110 (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet): 20111 (WebCore::paintMediaButton): 20112 (WebCore::RenderThemeGtk::paintMediaFullscreenButton): 20113 (WebCore::RenderThemeGtk::paintMediaMuteButton): 20114 (WebCore::RenderThemeGtk::paintMediaPlayButton): 20115 (WebCore::RenderThemeGtk::paintMediaSeekBackButton): 20116 (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): 20117 (WebCore::RenderThemeGtk::paintMediaSliderTrack): 20118 (WebCore::RenderThemeGtk::paintMediaSliderThumb): 20119 * platform/gtk/RenderThemeGtk.h: 20120 20121 2009-12-17 Yael Aharon <yael.aharon (a] nokia.com> 20122 20123 Reviewed by Kenneth Rohde Christiansen. 20124 20125 [Qt] support navigator.onLine and ononline/onoffline events. 20126 https://bugs.webkit.org/show_bug.cgi?id=32555 20127 20128 Hooked up Bearer Management to NetworkStateNotifier. This solution is available 20129 only if QtMobility's Bearer Management is installed. 20130 20131 * WebCore.pro: 20132 * platform/network/NetworkStateNotifier.h: 20133 * platform/network/qt/NetworkStateNotifierPrivate.h: Added. 20134 * platform/network/qt/NetworkStateNotifierQt.cpp: Added. 20135 (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate): 20136 (WebCore::NetworkStateNotifierPrivate::onlineStateChanged): 20137 (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate): 20138 (WebCore::NetworkStateNotifier::updateState): 20139 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 20140 20141 2009-12-17 Pavel Feldman <pfeldman (a] chromium.org> 20142 20143 Reviewed by Timothy Hatcher. 20144 20145 Web Inspector: Switch to 11px as default for source-code in WebKit. 20146 20147 https://bugs.webkit.org/show_bug.cgi?id=32646 20148 20149 * inspector/front-end/inspector.css: 20150 20151 2009-12-17 Simon Hausmann <simon.hausmann (a] nokia.com> 20152 20153 Reviewed by Tor Arne Vestb. 20154 20155 [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to 20156 make sure we pick up the header file from QtCore. That is where the implementation 20157 is compiled. 20158 20159 * dom/XMLTokenizer.h: 20160 20161 2009-12-17 Martin Robinson <martin.james.robinson (a] gmail.com> 20162 20163 Reviewed by Gustavo Noronha Silva. 20164 20165 [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs 20166 https://bugs.webkit.org/show_bug.cgi?id=21599 20167 20168 Add GRefPtr support for GTK types to WebCore, as JSC does not link against 20169 GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr. 20170 20171 No new tests as functionality has not changed. 20172 20173 * GNUmakefile.am: 20174 * platform/PopupMenu.h: 20175 * platform/gtk/GRefPtrGtk.cpp: Added. 20176 (WTF::refGPtr): 20177 (WTF::derefGPtr): 20178 * platform/gtk/GRefPtrGtk.h: Added. 20179 * platform/gtk/PopupMenuGtk.cpp: 20180 (WebCore::PopupMenu::PopupMenu): 20181 (WebCore::PopupMenu::~PopupMenu): 20182 (WebCore::PopupMenu::show): 20183 (WebCore::PopupMenu::hide): 20184 (WebCore::PopupMenu::menuRemoveItem): 20185 20186 2009-12-17 Mikhail Naganov <mnaganov (a] chromium.org> 20187 20188 Reviewed by Pavel Feldman. 20189 20190 Advice links to source code in CPU profiler to open in debugger, 20191 not in resources tab. 20192 20193 Also work around the case when resources are disabled, but scripts are present. 20194 20195 https://bugs.webkit.org/show_bug.cgi?id=32610 20196 20197 * inspector/front-end/Panel.js: 20198 (WebInspector.Panel.prototype.updateMainViewWidth): 20199 (WebInspector.Panel.prototype.canShowSourceLineForURL): 20200 (WebInspector.Panel.prototype.showSourceLineForURL): 20201 * inspector/front-end/ProfileDataGridTree.js: 20202 (WebInspector.ProfileDataGridNode.prototype.createCell): 20203 * inspector/front-end/ResourcesPanel.js: 20204 (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL): 20205 (WebInspector.ResourcesPanel.prototype.showSourceLineForURL): 20206 * inspector/front-end/ScriptsPanel.js: 20207 (WebInspector.ScriptsPanel.prototype.scriptForURL): 20208 (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL): 20209 (WebInspector.ScriptsPanel.prototype.showSourceLineForURL): 20210 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 20211 * inspector/front-end/inspector.js: 20212 (WebInspector.documentClick.followLink): 20213 (WebInspector.documentClick): 20214 (WebInspector._choosePanelToShowSourceLineForURL): 20215 (WebInspector.canShowSourceLineForURL): 20216 (WebInspector.showSourceLineForURL): 20217 20218 2009-12-15 Philippe Normand <pnormand (a] igalia.com> 20219 20220 Reviewed by Xan Lopez. 20221 20222 [GTK] display FPS stats for video element 20223 https://bugs.webkit.org/show_bug.cgi?id=32560 20224 20225 Display FPS statistics if WEBKIT_DEBUG environment variable 20226 contains the Media log category. This feature requires a very 20227 recent (>= 0.10.18) version of gst-plugins-bad. 20228 20229 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 20230 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 20231 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 20232 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 20233 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 20234 20235 2009-11-11 Philippe Normand <pnormand (a] igalia.com> 20236 20237 Reviewed by Gustavo Noronha Silva. 20238 20239 [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals 20240 https://bugs.webkit.org/show_bug.cgi?id=30377 20241 20242 Emit volumeChanged and durationChanged upon notification from 20243 GStreamer. 20244 20245 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 20246 (WebCore::mediaPlayerPrivateMessageCallback): 20247 (WebCore::mediaPlayerPrivateVolumeCallback): 20248 (WebCore::notify_volume_idle_cb): 20249 (WebCore::MediaPlayerPrivate::didEnd): 20250 (WebCore::MediaPlayerPrivate::durationChanged): 20251 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 20252 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 20253 20254 2009-12-16 Philippe Normand <pnormand (a] igalia.com> 20255 20256 Reviewed by Gustavo Noronha Silva. 20257 20258 [GTK] segfault during volume notification 20259 https://bugs.webkit.org/show_bug.cgi?id=32603 20260 20261 Emit volumeChanged and durationChanged upon notification from 20262 GStreamer. Also don't reset the volume property on playbin, it is 20263 not needed as it is 1.0 by default both on playbin and in the 20264 MediaPlayer. 20265 20266 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 20267 (WebCore::mediaPlayerPrivateMessageCallback): 20268 (WebCore::mediaPlayerPrivateVolumeChangedCallback): 20269 (WebCore::notifyVolumeIdleCallback): 20270 (WebCore::doGstInit): 20271 (WebCore::MediaPlayerPrivate::isAvailable): 20272 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 20273 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 20274 (WebCore::MediaPlayerPrivate::volumeChanged): 20275 (WebCore::MediaPlayerPrivate::didEnd): 20276 (WebCore::MediaPlayerPrivate::durationChanged): 20277 (WebCore::mimeTypeCache): 20278 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 20279 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 20280 20281 2009-12-17 Evan Martin <evan (a] chromium.org> 20282 20283 Reviewed by Xan Lopez. 20284 20285 gtk: always use standard include paths, regardless of settings. 20286 WebKit style is to wrap the body of a header in #if ENABLE(FOO), 20287 so they're always safe to include whether the features are enabled or 20288 not. 20289 20290 This fixes building with --disable-database and other flags. 20291 20292 * GNUmakefile.am: 20293 20294 2009-12-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 20295 20296 Unreviewed. Build fixes for make distcheck. 20297 20298 * GNUmakefile.am: 20299 20300 2009-12-17 Philippe Normand <pnormand (a] igalia.com> 20301 20302 Rubber-stamped by Gustavo Noronha Silva. 20303 20304 Trivial WebKit coding style fix. 20305 20306 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 20307 (WebCore::MediaPlayerPrivate::paint): 20308 20309 2009-12-15 MORITA Hajime <morrita (a] gmail.com> 20310 20311 Reviewed by Eric Seidel. 20312 20313 Bug 28306: double-clicking a word inside <b> beside newline select two words 20314 https://bugs.webkit.org/show_bug.cgi?id=28306 20315 20316 SimplifiedBackwardsTextIterator missed trailing whitespaces just 20317 before folding line-break, which is used to detect word 20318 boundaries. This fix checks strings on RenderText and expand text 20319 range on SimplifiedBackwardsTextIterator to include trailing 20320 whitespaces if availble. 20321 20322 Test: editing/selection/doubleclick-beside-cr-span.html 20323 20324 * editing/TextIterator.cpp: 20325 (WebCore::collapsedSpaceLength): 20326 (WebCore::maxOffsetIncludingCollapsedSpaces): 20327 (WebCore::SimplifiedBackwardsTextIterator::advance): 20328 20329 2009-12-16 Fumitoshi Ukai <ukai (a] chromium.org> 20330 20331 Reviewed by Alexey Proskuryakov. 20332 20333 Fix flakiness in WebSocket handshake console message. 20334 https://bugs.webkit.org/show_bug.cgi?id=32598 20335 20336 In chromium, LayoutTests/websocket/tests/handshake-error.html is 20337 flaky, because it outputs the following console message several times: 20338 CONSOLE MESSAGE: line 0: Unexpected response code:101 20339 Update m_mode in WebSocketHandshake correctly: Once it finds 20340 error in handshake message, set m_mode to Failed and don't try 20341 reading handshake message again. If handshake message is not yet 20342 fully received, set m_mode to Incomplete, so next didReceiveData() 20343 will try to check handshake message again. 20344 20345 * websockets/WebSocketChannel.cpp: 20346 (WebCore::WebSocketChannel::didReceiveData): 20347 * websockets/WebSocketHandshake.cpp: 20348 (WebCore::WebSocketHandshake::readServerHandshake): 20349 20350 2009-12-16 Jon Honeycutt <jhoneycutt (a] apple.com> 20351 20352 MSAA: Accessibility role of text nodes is wrong 20353 20354 https://bugs.webkit.org/show_bug.cgi?id=32631 20355 <rdar://problem/7369084> 20356 20357 Reviewed by Alice Liu. 20358 20359 Test: platform/win/accessibility/text-role.html 20360 20361 * accessibility/AccessibilityObject.h: 20362 (WebCore::): 20363 Add a new role to the enum. 20364 (WebCore::AccessibilityObject::roleValueForMSAA): 20365 Declare a function to return the accessibility role for MSAA; the base 20366 implementation returns the old role value. 20367 20368 * accessibility/AccessibilityRenderObject.cpp: 20369 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 20370 Initialize m_roleForMSAA. 20371 (WebCore::AccessibilityRenderObject::roleValueForMSAA): 20372 If m_roleForMSAA has been set, return it. If the renderer is a 20373 RenderText, set the role to EditableTextRole to match IE and Firefox. 20374 Otherwise, set the role for MSAA to the old role value. 20375 20376 * accessibility/AccessibilityRenderObject.h: 20377 Add a member to hold the role for MSAA, and declare an override of 20378 roleValueForMSAA(). 20379 20380 2009-12-16 Eric Seidel <eric (a] webkit.org> 20381 20382 No review, rolling out r52206. 20383 http://trac.webkit.org/changeset/52206 20384 https://bugs.webkit.org/show_bug.cgi?id=31187 20385 20386 This broke pixel tests on Mac. Presumably the code in 20387 ImageCG is wrong here. 20388 20389 * platform/graphics/BitmapImage.h: 20390 * platform/graphics/GeneratedImage.cpp: 20391 (WebCore::GeneratedImage::drawPattern): 20392 * platform/graphics/GeneratedImage.h: 20393 * platform/graphics/Image.cpp: 20394 (WebCore::Image::drawTiled): 20395 * platform/graphics/Image.h: 20396 * platform/graphics/cairo/ImageCairo.cpp: 20397 (WebCore::Image::drawPattern): 20398 * platform/graphics/cg/ImageCG.cpp: 20399 (WebCore::Image::drawPattern): 20400 * platform/graphics/haiku/ImageHaiku.cpp: 20401 (WebCore::Image::drawPattern): 20402 * platform/graphics/qt/ImageQt.cpp: 20403 (WebCore::Image::drawPattern): 20404 * platform/graphics/skia/ImageSkia.cpp: 20405 (WebCore::Image::drawPattern): 20406 * platform/graphics/wince/GraphicsContextWince.cpp: 20407 (WebCore::GraphicsContext::drawBitmapPattern): 20408 * platform/graphics/wince/ImageBufferWince.cpp: 20409 (WebCore::): 20410 (WebCore::BufferedImage::drawPattern): 20411 * platform/graphics/wx/ImageWx.cpp: 20412 (WebCore::BitmapImage::drawPattern): 20413 (WebCore::Image::drawPattern): 20414 20415 2009-12-16 Dimitri Glazkov <dglazkov (a] chromium.org> 20416 20417 Reviewed by David Levin. 20418 20419 https://bugs.webkit.org/show_bug.cgi?id=32637 20420 [V8] Generate most named property getters. 20421 20422 Covered by existing tests. 20423 20424 * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call. 20425 * bindings/v8/V8DOMWrapper.cpp: 20426 (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites. 20427 20428 2009-12-16 Luiz Agostini <luiz.agostini (a] openbossa.org> 20429 20430 Reviewed by Kenneth Rohde Christiansen. 20431 20432 [Qt] Implement combobox delegate for Qt 20433 https://bugs.webkit.org/show_bug.cgi?id=32550 20434 20435 Abstract popup menu factory. 20436 20437 A static method from QtAbstractPopupMenu is used to create its instances. If a factory 20438 has been suplied to class QtAbstractPopupMenu the factory will be used to create the 20439 objects. If not an instance of QtFallbackPopupMenu will be created. 20440 20441 The objective is to make it easy to replace the combobox popup at WebCore layer providing 20442 support to the combobox popup delegation API. Future patches will make it possible to 20443 replace the combobox popup at WebKit layer. 20444 20445 No behavior changes. 20446 20447 * platform/qt/PopupMenuQt.cpp: 20448 (WebCore::PopupMenu::PopupMenu): 20449 * platform/qt/QtAbstractWebPopup.cpp: 20450 (WebCore::QtAbstractWebPopup::setFactory): 20451 (WebCore::QtAbstractWebPopup::create): 20452 * platform/qt/QtAbstractWebPopup.h: 20453 * platform/qt/QtFallbackWebPopup.cpp: 20454 20455 2009-12-16 Mark Rowe <mrowe (a] apple.com> 20456 20457 Build fix. Disable debug variants of WebKit frameworks. 20458 20459 * WebCore.xcodeproj/project.pbxproj: 20460 20461 2009-12-16 Enrica Casucci <enrica (a] apple.com> 20462 20463 Reviewed by Eric Seidel. 20464 20465 Right clicking in a table cell creates a selection that extends into the next cell. 20466 <rdar://problem/5565465> 20467 https://bugs.webkit.org/show_bug.cgi?id=32622 20468 20469 Avoid extending the selection to the next cell if we start from an empty cell. 20470 20471 Test: editing/selection/empty-cell-right-click.html 20472 20473 * editing/TypingCommand.cpp: 20474 (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell 20475 with a call to the new function. 20476 * editing/VisibleSelection.cpp: 20477 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the 20478 selection only if we are not starting from an empty table cell. 20479 * editing/htmlediting.cpp: 20480 (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places. 20481 * editing/htmlediting.h: Added isEmptyTableCell declaration. 20482 20483 2009-12-16 Dirk Schulze <krit (a] webkit.org> 20484 20485 Reviewed by Nikolas Zimmermann. 20486 20487 feMerge crahses if feMergeNodes attribute in is empty 20488 https://bugs.webkit.org/show_bug.cgi?id=32489 20489 20490 SVGFEMergeElement only stored pointers to all effects of it's nodes 20491 in a list. But it should store the RefPtr otherwise the effects get 20492 dereferenced and WebKit crashes. 20493 I also made a short clean-up in SVGFilterBuilder. No change in 20494 functionality. 20495 20496 Test: I updated svg/custom/empty-merge.svg to cover this problem. 20497 20498 * svg/SVGFEMergeElement.cpp: 20499 (WebCore::SVGFEMergeElement::build): 20500 * svg/graphics/filters/SVGFEMerge.cpp: 20501 (WebCore::FEMerge::FEMerge): 20502 (WebCore::FEMerge::create): 20503 (WebCore::FEMerge::mergeInputs): 20504 (WebCore::FEMerge::setMergeInputs): 20505 * svg/graphics/filters/SVGFEMerge.h: 20506 * svg/graphics/filters/SVGFilterBuilder.cpp: 20507 (WebCore::SVGFilterBuilder::add): 20508 20509 2009-12-16 Brian Weinstein <bweinstein (a] apple.com> 20510 20511 Reviewed by Timothy Hatcher. 20512 20513 Part of <http://webkit.org/b/32568>. 20514 Web Inspector: Context Menus should be used in more places. 20515 20516 Add a context menu entry in the console to clear the console. This 20517 is only shown when there is no user selection of text, because if 20518 there is selection of the text, then we want to give the user the Copy + 20519 Spell Check context menu that they are used to. 20520 20521 * English.lproj/localizedStrings.js: Added "Clear Console". 20522 * inspector/front-end/ConsoleView.js: 20523 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 20524 20525 2009-12-16 Brian Weinstein <bweinstein (a] apple.com> 20526 20527 Reviewed by Pavel Feldman. 20528 20529 Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>. 20530 Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 20531 from / to resources panel. 20532 20533 Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start 20534 to cover the scope bar. 20535 20536 * inspector/front-end/inspector.css: 20537 20538 2009-12-16 Dimitri Glazkov <dglazkov (a] chromium.org> 20539 20540 Reviewed by Adam Barth. 20541 20542 [V8] Switch all indexers to be generated. 20543 https://bugs.webkit.org/show_bug.cgi?id=32569 20544 20545 Covered by existing tests. 20546 20547 * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp, 20548 as they are now generated. 20549 * bindings/v8/V8DOMWrapper.cpp: 20550 (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList, 20551 FileList, and DataGridColumnList templates. 20552 * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed. 20553 * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls. 20554 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition. 20555 * bindings/v8/custom/V8FileListCustom.cpp: Removed. 20556 20557 2009-12-16 anton muhin <antonm (a] chromium.org> 20558 20559 Reviewed by Darin Adler. 20560 20561 [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on 20562 https://bugs.webkit.org/show_bug.cgi?id=32617 20563 20564 * dom/Node.cpp: 20565 (WebCore::Node::dumpStatistics): 20566 20567 2009-12-16 Dimitri Glazkov <dglazkov (a] chromium.org> 20568 20569 Reviewed by Darin Fisher. 20570 20571 [V8] There is no such thing as HTMLSelectElementCollection. 20572 https://bugs.webkit.org/show_bug.cgi?id=32616 20573 20574 Refactoring, covered by existing tests. 20575 20576 * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp 20577 * bindings/v8/V8Collection.h: Removed one-off template. 20578 * bindings/v8/V8DOMWrapper.cpp: 20579 (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection 20580 to HTMLSelectElement. 20581 * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls. 20582 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed. 20583 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from 20584 V8HTMLSelectElementCollectionCustom.cpp 20585 20586 2009-12-16 Dan Winship <danw (a] gnome.org> 20587 20588 Reviewed by Gustavo Noronha Silva. 20589 20590 [Gtk] Content-Encoding support 20591 20592 https://bugs.webkit.org/show_bug.cgi?id=25855 20593 20594 * platform/network/soup/ResourceHandleSoup.cpp: 20595 (WebCore::startHttp): Don't force "Accept-Encoding: identity" any 20596 more 20597 20598 2009-12-16 Benjamin Otte <otte (a] gnome.org> 20599 20600 Reviewed by Darin Adler. 20601 20602 Get rid of the phase argument to Image::drawPattern. 20603 https://bugs.webkit.org/show_bug.cgi?id=31187 20604 20605 The argument can be expressed equally well as part of the 20606 patternTransform. All backends but the Qt one did exactly that 20607 manually anyway. 20608 20609 * platform/graphics/BitmapImage.h: 20610 * platform/graphics/GeneratedImage.cpp: 20611 (WebCore::GeneratedImage::drawPattern): 20612 * platform/graphics/GeneratedImage.h: 20613 * platform/graphics/Image.cpp: 20614 (WebCore::Image::drawTiled): 20615 * platform/graphics/Image.h: 20616 * platform/graphics/cairo/ImageCairo.cpp: 20617 (WebCore::Image::drawPattern): 20618 * platform/graphics/cg/ImageCG.cpp: 20619 (WebCore::Image::drawPattern): 20620 * platform/graphics/haiku/ImageHaiku.cpp: 20621 (WebCore::Image::drawPattern): 20622 * platform/graphics/qt/ImageQt.cpp: 20623 (WebCore::Image::drawPattern): 20624 * platform/graphics/skia/ImageSkia.cpp: 20625 (WebCore::Image::drawPattern): 20626 * platform/graphics/wince/GraphicsContextWince.cpp: 20627 (WebCore::GraphicsContext::drawBitmapPattern): 20628 * platform/graphics/wince/ImageBufferWince.cpp: 20629 (WebCore::): 20630 (WebCore::BufferedImage::drawPattern): 20631 * platform/graphics/wx/ImageWx.cpp: 20632 (WebCore::BitmapImage::drawPattern): 20633 (WebCore::Image::drawPattern): 20634 20635 2009-12-16 Kenneth Russell <kbr (a] google.com> 20636 20637 Reviewed by Darin Fisher. 20638 20639 Performance problems with index validation code for drawElements 20640 https://bugs.webkit.org/show_bug.cgi?id=32466 20641 20642 Added a cache of the maximum index for each element type to 20643 WebGLBuffer, querying it before iterating through the indices in 20644 the client-side copy of the buffer's data. Hoisted checks of the 20645 size of the element array itself into validateElementArraySize to 20646 avoid duplicating code. 20647 20648 The performance improvement has been measured with manual tests. 20649 Existing layout tests cover the index validation functionality 20650 and continue to pass as before. 20651 20652 * html/canvas/WebGLBuffer.cpp: 20653 (WebCore::WebGLBuffer::WebGLBuffer): 20654 (WebCore::WebGLBuffer::associateBufferData): 20655 (WebCore::WebGLBuffer::associateBufferSubData): 20656 (WebCore::WebGLBuffer::getCachedMaxIndex): 20657 (WebCore::WebGLBuffer::setCachedMaxIndex): 20658 (WebCore::WebGLBuffer::clearCachedMaxIndices): 20659 * html/canvas/WebGLBuffer.h: 20660 * html/canvas/WebGLRenderingContext.cpp: 20661 (WebCore::WebGLRenderingContext::validateElementArraySize): 20662 (WebCore::WebGLRenderingContext::validateIndexArrayConservative): 20663 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): 20664 (WebCore::WebGLRenderingContext::validateRenderingState): 20665 (WebCore::WebGLRenderingContext::drawElements): 20666 * html/canvas/WebGLRenderingContext.h: 20667 20668 2009-12-16 Zelidrag Hornung <zelidrag (a] chromium.org> 20669 20670 Reviewed by Darin Adler. 20671 20672 https://bugs.webkit.org/show_bug.cgi?id=32261 20673 Added ability to separate the autocomplete suggestion previewing from 20674 the actual accepting of the suggested value in HTMLInputElement. 20675 This element (it's single line text incarnation) can now 20676 be put in suggestion mode where renderer might display the suggested 20677 value without making it automatically exposed to JavaScript. 20678 20679 No new tests. This new methods are not exposed yet. It's use will be 20680 platform specific. PopupMenu and Chromium specific changes will be 20681 separated based on Darin Adler's comments. 20682 20683 * dom/InputElement.h: 20684 (WebCore::InputElementData::suggestedValue): 20685 (WebCore::InputElementData::setSuggestedValue): 20686 * html/HTMLInputElement.cpp: 20687 (WebCore::HTMLInputElement::suggestedValue): 20688 (WebCore::HTMLInputElement::setSuggestedValue): 20689 (WebCore::HTMLInputElement::setValue): 20690 (WebCore::HTMLInputElement::setValueFromRenderer): 20691 * html/HTMLInputElement.h: 20692 * rendering/RenderTextControlSingleLine.cpp: 20693 (WebCore::RenderTextControlSingleLine::updateFromElement): 20694 * wml/WMLInputElement.cpp: 20695 (WebCore::WMLInputElement::suggestedValue): 20696 * wml/WMLInputElement.h: 20697 20698 2009-12-16 Pavel Feldman <pfeldman (a] chromium.org> 20699 20700 Reviewed by Timothy Hatcher. 20701 20702 Web Inspector: Make Elements tree, properties section and resources 20703 view monospace. 20704 20705 https://bugs.webkit.org/show_bug.cgi?id=32609 20706 20707 * inspector/front-end/ElementsPanel.js: 20708 * inspector/front-end/PropertiesSection.js: 20709 (WebInspector.PropertiesSection): 20710 * inspector/front-end/ResourceView.js: 20711 (WebInspector.ResourceView): 20712 * inspector/front-end/inspector.css: 20713 20714 2009-12-16 Dirk Schulze <krit (a] webkit.org> 20715 20716 Reviewed by Darin Adler. 20717 20718 sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter 20719 https://bugs.webkit.org/show_bug.cgi?id=32575 20720 20721 On SVG Filters, the rest of the source graphic gets clipped to the filter 20722 rest. This helps us to minimize the size of intermediate ImageBuffers. If 20723 the position moves to the right or to the bottom, we have to adjust the 20724 GraphicContext of this intermediate ImageBuffer. 20725 This patch fixes the adjustment of the context, according to the clipping. 20726 20727 Test: svg/filters/filter-source-position.svg 20728 20729 * svg/graphics/SVGResourceFilter.cpp: 20730 (WebCore::SVGResourceFilter::prepareFilter): 20731 20732 2009-12-16 Enrica Casucci <enrica (a] apple.com> 20733 20734 Reviewed by Adele Peterson. 20735 20736 CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115 20737 <rdar://problem/7467108> 20738 https://bugs.webkit.org/show_bug.cgi?id=32590 20739 20740 If the element is a button there is no need to look at the children to calculate the caret position. 20741 20742 Test: editing/selection/button-right-click.html 20743 20744 * dom/Position.cpp: 20745 (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method, 20746 when starting from a button element. 20747 20748 2009-12-16 Luiz Agostini <luiz.agostini (a] openbossa.org> 20749 20750 Reviewed by Kenneth Rohde Christiansen. 20751 20752 [Qt] Implement combobox delegate for Qt 20753 https://bugs.webkit.org/show_bug.cgi?id=32550 20754 20755 Refactoring of class QWebPopup. 20756 20757 Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup. 20758 Both new classes are now in corresponding files and files QWebPopup.* have been removed. 20759 20760 Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is 20761 in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of 20762 public QtWebKit combobox popup delegation API. 20763 20764 Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup. 20765 It needs to be improved to provide standard features that are missing like style or indentation. 20766 20767 No behavior changes. 20768 20769 * WebCore.pro: 20770 * platform/PopupMenu.h: 20771 * platform/qt/PopupMenuQt.cpp: 20772 (WebCore::PopupMenu::PopupMenu): 20773 * platform/qt/QWebPopup.cpp: Removed. 20774 * platform/qt/QWebPopup.h: Removed. 20775 * platform/qt/QtAbstractWebPopup.cpp: Added. 20776 (WebCore::QtAbstractWebPopup::QtAbstractWebPopup): 20777 (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup): 20778 (WebCore::QtAbstractWebPopup::client): 20779 * platform/qt/QtAbstractWebPopup.h: Added. 20780 * platform/qt/QtFallbackWebPopup.cpp: Added. 20781 (WebCore::QtFallbackWebPopup::QtFallbackWebPopup): 20782 (WebCore::QtFallbackWebPopup::show): 20783 (WebCore::QtFallbackWebPopup::populate): 20784 (WebCore::QtFallbackWebPopup::showPopup): 20785 (WebCore::QtFallbackWebPopup::hidePopup): 20786 (WebCore::QtFallbackWebPopup::activeChanged): 20787 * platform/qt/QtFallbackWebPopup.h: Added. 20788 (WebCore::QtFallbackWebPopup::hide): 20789 20790 2009-12-15 Pavel Feldman <pfeldman (a] chromium.org> 20791 20792 Reviewed by Timothy Hatcher. 20793 20794 Web Inspector: beautify HTTP info section. 20795 20796 https://bugs.webkit.org/show_bug.cgi?id=32583 20797 20798 * English.lproj/localizedStrings.js: 20799 * inspector/front-end/ResourceView.js: 20800 (WebInspector.ResourceView): 20801 (WebInspector.ResourceView.prototype._refreshURL): 20802 (WebInspector.ResourceView.prototype._refreshHTTPInformation): 20803 * inspector/front-end/inspector.css: 20804 20805 2009-12-13 Roland Steiner <rolandsteiner (a] chromium.org> 20806 20807 Reviewed by Adam Barth. 20808 20809 Fix crash when encountering illegal HTML within a continuation inside <ruby>. 20810 (https://bugs.webkit.org/show_bug.cgi?id=32316) 20811 20812 Avoid having the anonymous blocks utilized in the ruby renderers being 20813 re-used as continuation blocks. 20814 Avoid having ruby runs collected as "leftover blocks". 20815 20816 Test: fast/ruby/ruby-illegal.html 20817 20818 * rendering/RenderRuby.h: 20819 (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called 20820 (WebCore::RenderRubyAsInline::isRuby): made private 20821 (WebCore::RenderRubyAsInline::renderName): made private 20822 (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true 20823 (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called 20824 (WebCore::RenderRubyAsBlock::isRuby): made private 20825 (WebCore::RenderRubyAsBlock::renderName): made private 20826 (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true 20827 * rendering/RenderRubyRun.h: 20828 (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid 20829 (WebCore::RenderRubyRun::isRubyRun): made private 20830 (WebCore::RenderRubyRun::renderName): made private 20831 (WebCore::RenderRubyRun::createsAnonymousWrapper): return true 20832 20833 2009-12-15 Nate Chapin <japhet (a] chromium.org> 20834 20835 Reviewed by Darin Adler. 20836 20837 Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader. 20838 20839 https://bugs.webkit.org/show_bug.cgi?id=32529 20840 20841 * loader/Cache.cpp: 20842 (WebCore::Cache::requestUserCSSStyleSheet): 20843 * loader/CachedImage.cpp: 20844 (WebCore::CachedImage::load): 20845 * loader/CachedResource.cpp: 20846 (WebCore::CachedResource::load): 20847 * loader/CachedResource.h: 20848 (WebCore::CachedResource::load): 20849 * loader/DocumentThreadableLoader.cpp: 20850 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 20851 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): 20852 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): 20853 (WebCore::DocumentThreadableLoader::preflightSuccess): 20854 (WebCore::DocumentThreadableLoader::loadRequest): 20855 * loader/DocumentThreadableLoader.h: 20856 * loader/FrameLoaderTypes.h: 20857 (WebCore::): 20858 * loader/Request.cpp: 20859 (WebCore::Request::Request): 20860 * loader/Request.h: 20861 (WebCore::Request::shouldDoSecurityCheck): 20862 * loader/SubresourceLoader.cpp: 20863 (WebCore::SubresourceLoader::create): 20864 * loader/SubresourceLoader.h: 20865 * loader/loader.cpp: 20866 (WebCore::Loader::load): 20867 (WebCore::Loader::Host::servePendingRequests): 20868 * loader/loader.h: 20869 20870 2009-12-15 Dan Bernstein <mitz (a] apple.com> 20871 20872 Reviewed by Darin Adler. 20873 20874 <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule 20875 https://bugs.webkit.org/show_bug.cgi?id=32257 20876 20877 Test: fast/css/font-face-unused-source-loaded.html 20878 20879 The loading of a font resource caused a CSSFontFace that had the resource in one of its 20880 sources, but wasnt using it (due to using an earlier source) to invalidate its 20881 CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just 20882 finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the 20883 corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to 20884 ignore loads from unused sources. 20885 20886 * css/CSSFontFace.cpp: 20887 (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source. 20888 (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the 20889 FontData. 20890 * css/CSSFontFace.h: 20891 (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource. 20892 20893 2009-12-15 Yael Aharon <yael.aharon (a] nokia.com> 20894 20895 Reviewed by Kenneth Rohde Christiansen. 20896 20897 [Qt] Cannot load flash files from a local file. 20898 https://bugs.webkit.org/show_bug.cgi?id=32572 20899 20900 When loading the main resource and its mime type is application/octet-stream, 20901 use the file extenstion to check if it is a supported plugin. 20902 20903 No new tests were added since any existing swf file can be used as a manual test. 20904 20905 * loader/MainResourceLoader.cpp: 20906 (WebCore::MainResourceLoader::didReceiveResponse): 20907 * loader/MainResourceLoader.h: 20908 * plugins/PluginDatabase.h: 20909 20910 2009-12-15 Brian Weinstein <bweinstein (a] apple.com> 20911 20912 Reviewed by Timothy Hatcher. 20913 20914 Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>. 20915 REGRESSION: Tips are not shown for resources anymore. 20916 20917 As discussed in the bug, Tips are not coming back, and the feature 20918 will be moved to the audits panel. This patch is to remove the Tips 20919 code and the resources that it needed. 20920 20921 * WebCore.gypi: Removed tips files. 20922 * inspector/front-end/Images/tipBalloon.png: Removed. 20923 * inspector/front-end/Images/tipBalloonBottom.png: Removed. 20924 * inspector/front-end/Images/tipIcon.png: Removed. 20925 * inspector/front-end/Images/tipIconPressed.png: Removed. 20926 * inspector/front-end/Resource.js: Removed tips code. 20927 (WebInspector.Resource.prototype.set finished): 20928 * inspector/front-end/WebKit.qrc: Removed tips files. 20929 * inspector/front-end/inspector.css: Removes tips style rules. 20930 20931 2009-12-15 Pavel Feldman <pfeldman (a] chromium.org> 20932 20933 Reviewed by Timothy Hatcher. 20934 20935 Web Inspector: Display request headers for main resource 20936 having redirects. 20937 20938 https://bugs.webkit.org/show_bug.cgi?id=32577 20939 20940 * inspector/InspectorController.cpp: 20941 (WebCore::InspectorController::identifierForInitialRequest): 20942 (WebCore::InspectorController::willSendRequest): 20943 * inspector/InspectorResource.cpp: 20944 (WebCore::InspectorResource::InspectorResource): 20945 (WebCore::InspectorResource::appendRedirect): 20946 (WebCore::InspectorResource::createCached): 20947 (WebCore::InspectorResource::updateRequest): 20948 * inspector/InspectorResource.h: 20949 (WebCore::InspectorResource::create): 20950 20951 2009-12-15 Brian Weinstein <bweinstein (a] apple.com> 20952 20953 Reviewed by Timothy Hatcher. 20954 20955 Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>. 20956 Web Inspector: No Need for ?="" now that we have context menus. 20957 20958 Remove the toggleNewAttributeButton function and callers to it, as 20959 we don't need this behavior anymore, now that we have context menus. 20960 20961 * inspector/front-end/ElementsTreeOutline.js: 20962 (WebInspector.ElementsTreeElement.prototype.set hovered): 20963 (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): 20964 (WebInspector.ElementsTreeElement.prototype._startEditing): 20965 20966 2009-12-15 Dimitri Glazkov <dglazkov (a] chromium.org> 20967 20968 Reviewed by Eric Seidel. 20969 20970 [V8] Generate trivial named property getters. 20971 https://bugs.webkit.org/show_bug.cgi?id=32562 20972 20973 Covered by existing tests. 20974 20975 * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter. 20976 * bindings/v8/V8Collection.h: 20977 (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to. 20978 * bindings/v8/V8DOMWrapper.cpp: 20979 (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated. 20980 20981 2009-12-15 Brian Weinstein <bweinstein (a] apple.com> 20982 20983 Reviewed by Timothy Hatcher. 20984 20985 Part of <http://webkit.org/b/32568>. 20986 New Web Inspector: The Context Menu should be used in more places. 20987 20988 Add support for context menu entries for editing and deleting elements 20989 in the datagrid. This gives support to deleting cookies, and editing and 20990 deleting session storage and local storage. 20991 20992 * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there) 20993 * inspector/front-end/DataGrid.js: 20994 (WebInspector.DataGrid): Added context menu listener. 20995 (WebInspector.DataGrid.prototype._contextMenuInDataTable): 20996 20997 2009-12-15 Kenneth Russell <kbr (a] google.com> 20998 20999 Reviewed by Darin Fisher. 21000 21001 Don't allow default framebuffer to be mutated 21002 https://bugs.webkit.org/show_bug.cgi?id=32391 21003 21004 * html/canvas/WebGLRenderingContext.cpp: 21005 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): 21006 (WebCore::WebGLRenderingContext::framebufferTexture2D): 21007 * platform/graphics/mac/GraphicsContext3DMac.cpp: 21008 (WebCore::GraphicsContext3D::bindFramebuffer): 21009 21010 2009-12-15 Zoltan Horvath <zoltan (a] webkit.org> 21011 21012 Reviewed by Darin Adler. 21013 21014 Allow custom memory allocation control for FontPlatformDataCacheKey class 21015 https://bugs.webkit.org/show_bug.cgi?id=32552 21016 21017 Inherits the following struct from FastAllocBase because it is instantiated by 'new': 21018 21019 struct name - instantiated at: WebCore/'location' 21020 struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118 21021 21022 * platform/graphics/FontCache.cpp: 21023 21024 2009-12-15 Jian Li <jianli (a] chromium.org> 21025 21026 Reviewed by Dmitry Titov. 21027 21028 Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard. 21029 https://bugs.webkit.org/show_bug.cgi?id=31090 21030 21031 The proposal to whatwg can be found here: 21032 http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html 21033 21034 * platform/chromium/ChromiumDataObject.cpp: 21035 (WebCore::ChromiumDataObject::clear): 21036 (WebCore::ChromiumDataObject::hasData): 21037 (WebCore::ChromiumDataObject::ChromiumDataObject): 21038 * platform/chromium/ChromiumDataObject.h: 21039 * platform/chromium/ClipboardChromium.cpp: 21040 (WebCore::): 21041 (WebCore::clipboardTypeFromMIMEType): 21042 (WebCore::ClipboardChromium::setData): 21043 21044 2009-12-15 Chris Fleizach <cfleizach (a] apple.com> 21045 21046 Reviewed by Darin Adler. 21047 21048 WAI-ARIA: implement treegrid 21049 https://bugs.webkit.org/show_bug.cgi?id=31299 21050 21051 Test: platform/mac/accessibility/aria-treegrid.html 21052 21053 * accessibility/AXObjectCache.cpp: 21054 (WebCore::AXObjectCache::getOrCreate): 21055 * accessibility/AccessibilityARIAGrid.h: 21056 (WebCore::AccessibilityARIAGrid::supportsSelectedRows): 21057 * accessibility/AccessibilityARIAGridRow.cpp: 21058 (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow): 21059 (WebCore::AccessibilityARIAGridRow::disclosedRows): 21060 (WebCore::AccessibilityARIAGridRow::disclosedByRow): 21061 * accessibility/AccessibilityARIAGridRow.h: 21062 * accessibility/AccessibilityObject.cpp: 21063 (WebCore::createARIARoleMap): 21064 * accessibility/AccessibilityObject.h: 21065 (WebCore::): 21066 (WebCore::AccessibilityObject::isARIATreeGridRow): 21067 * accessibility/AccessibilityRenderObject.cpp: 21068 (WebCore::AccessibilityRenderObject::isMultiSelectable): 21069 (WebCore::AccessibilityRenderObject::setIsExpanded): 21070 (WebCore::AccessibilityRenderObject::setSelectedRows): 21071 (WebCore::AccessibilityRenderObject::ariaSelectedRows): 21072 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 21073 (WebCore::AccessibilityRenderObject::selectedChildren): 21074 * accessibility/AccessibilityRenderObject.h: 21075 * accessibility/AccessibilityTable.h: 21076 (WebCore::AccessibilityTable::supportsSelectedRows): 21077 * accessibility/mac/AccessibilityObjectWrapper.mm: 21078 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 21079 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 21080 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 21081 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 21082 21083 2009-12-15 Zoltan Horvath <zoltan (a] webkit.org> 21084 21085 Reviewed by Darin Adler. 21086 21087 Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient 21088 https://bugs.webkit.org/show_bug.cgi?id=32557 21089 21090 Inherits the following classes from Noncopyable because these are instantiated 21091 by 'new' and no need to be copyable: 21092 21093 class name - instantiated at: WebCore/'location' 21094 class EmptyEditorClient - svg/graphics/SVGImage.cpp:230 21095 class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241 21096 21097 * loader/EmptyClients.h: 21098 21099 2009-12-15 Zoltan Horvath <zoltan (a] webkit.org> 21100 21101 Reviewed by Darin Adler. 21102 21103 Allow custom memory allocation control for WebCore/inspector directory's classes 21104 https://bugs.webkit.org/show_bug.cgi?id=32556 21105 21106 Inherits the following class from Noncopyable because these are instantiated 21107 by 'new' and no need to be copyable: 21108 21109 class name - instantiated at: WebCore/'location' 21110 class InspectorFrontend - inspector/InspectorController.cpp:538 21111 class InspectorTimelineAgent - inspector/InspectorController.cpp:1097 21112 21113 * inspector/InspectorFrontend.h: 21114 * inspector/InspectorTimelineAgent.h: 21115 21116 2009-12-15 Zoltan Horvath <zoltan (a] webkit.org> 21117 21118 Reviewed by Darin Adler. 21119 21120 Allow custom memory allocation control for WebCore/platform/network directory's classes 21121 https://bugs.webkit.org/show_bug.cgi?id=32553 21122 21123 Inherits the following class from Noncopyable because it is instantiated 21124 by 'new' and no need to be copyable: 21125 21126 class/struct name - instantiated at: WebCore/'location' 21127 21128 struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109 21129 21130 Inherits the following classes from FastAllocBase because these are 21131 instantiated by 'new': 21132 21133 class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90 21134 class ResourceRequestBase - (its child class) loader/DocumentThreadableLoader.cpp:88 21135 21136 * platform/network/ResourceRequestBase.h: 21137 * platform/network/ResourceResponseBase.h: 21138 21139 2009-12-15 Zoltan Horvath <zoltan (a] webkit.org> 21140 21141 Reviewed by Darin Adler. 21142 21143 Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter 21144 https://bugs.webkit.org/show_bug.cgi?id=32549 21145 21146 Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter 21147 classes from Noncopyable because these are instantiated by 'new' and no need to be copyable: 21148 21149 class/struct name - instantiated at: WebCore/'location' 21150 21151 AnimationControllerPrivate - page/animation/AnimationController.cpp:439 21152 FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464 21153 21154 * page/animation/AnimationBase.cpp: 21155 * page/animation/AnimationControllerPrivate.h: 21156 21157 2009-12-15 Pavel Feldman <pfeldman (a] chromium.org> 21158 21159 Reviewed by Timothy Hatcher. 21160 21161 Web Inspector: Do not lose HTTP redirect information, display it 21162 in the Resources Panel. 21163 21164 https://bugs.webkit.org/show_bug.cgi?id=32551 21165 21166 * inspector/InspectorController.cpp: 21167 (WebCore::InspectorController::populateScriptObjects): 21168 (WebCore::InspectorController::didCommitLoad): 21169 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 21170 (WebCore::InspectorController::identifierForInitialRequest): 21171 (WebCore::InspectorController::willSendRequest): 21172 (WebCore::InspectorController::didReceiveResponse): 21173 (WebCore::InspectorController::didReceiveContentLength): 21174 (WebCore::InspectorController::didFinishLoading): 21175 (WebCore::InspectorController::didFailLoading): 21176 * inspector/InspectorFrontend.cpp: 21177 * inspector/InspectorFrontend.h: 21178 * inspector/InspectorResource.cpp: 21179 (WebCore::InspectorResource::InspectorResource): 21180 (WebCore::InspectorResource::appendRedirect): 21181 (WebCore::InspectorResource::updateScriptObject): 21182 (WebCore::InspectorResource::releaseScriptObject): 21183 (WebCore::InspectorResource::type): 21184 * inspector/InspectorResource.h: 21185 (WebCore::InspectorResource::): 21186 (WebCore::InspectorResource::Changes::setAll): 21187 * inspector/front-end/inspector.js: 21188 (WebInspector._addResource): 21189 (WebInspector.updateResource): 21190 21191 2009-12-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 21192 21193 Reviewed by Simon Hausmann. 21194 21195 [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler 21196 https://bugs.webkit.org/show_bug.cgi?id=32113 21197 21198 For Qt versions prior to 4.6.1 we will need to use QueuedConnection 21199 for the signal and slot connection to avoid running into a bug in. 21200 21201 Add a comment that we want to remove one signal to forward 21202 queued items when moving our minimum requirements. 21203 21204 * platform/network/qt/QNetworkReplyHandler.cpp: 21205 (WebCore::QNetworkReplyHandler::start): 21206 21207 2009-12-14 Holger Hans Peter Freyther <zecke (a] selfish.org> 21208 21209 Reviewed by Kenneth Rohde Christiansen. 21210 21211 [Qt] Add manual test for JavaScript prompt corner case 21212 https://bugs.webkit.org/show_bug.cgi?id=30914 21213 21214 The patch is based on the work done by Gupta Manish. 21215 21216 Verify behavior of the JavaScript prompt function. Currently 21217 Qt is not behaving like other WebKit ports and Firefox in 21218 regards to accepting the prompt but not entering a text. 21219 21220 * manual-tests/qt/java-script-prompt.html: Added. 21221 21222 2009-12-15 Luiz Agostini <luiz.agostini (a] openbossa.org> 21223 21224 Reviewed by Kenneth Rohde Christiansen. 21225 21226 Moving list populate methods from PopupMenuQt to QWebPopup. 21227 21228 In preparation to future implementation of a delegation API for the combobox. 21229 21230 * platform/PopupMenu.h: 21231 * platform/qt/PopupMenuQt.cpp: 21232 (WebCore::PopupMenu::show): 21233 (WebCore::PopupMenu::hide): 21234 * platform/qt/QWebPopup.cpp: 21235 (WebCore::QWebPopup::show): 21236 (WebCore::QWebPopup::populate): 21237 * platform/qt/QWebPopup.h: 21238 (WebCore::QWebPopup::hide): 21239 21240 2009-12-15 Alexander Pavlov <apavlov (a] chromium.org> 21241 21242 Reviewed by Pavel Feldman. 21243 21244 Extract WebInspector.Section from WebInspector.PropertiesSection. 21245 https://bugs.webkit.org/show_bug.cgi?id=32523 21246 21247 * WebCore.gypi: 21248 * WebCore.vcproj/WebCore.vcproj: 21249 * inspector/front-end/PropertiesSection.js: 21250 (WebInspector.PropertiesSection): 21251 * inspector/front-end/Section.js: Added. 21252 (WebInspector.Section): 21253 (WebInspector.Section.prototype.get title): 21254 (WebInspector.Section.prototype.set title): 21255 (WebInspector.Section.prototype.get subtitle): 21256 (WebInspector.Section.prototype.set subtitle): 21257 (WebInspector.Section.prototype.get expanded): 21258 (WebInspector.Section.prototype.set expanded): 21259 (WebInspector.Section.prototype.get populated): 21260 (WebInspector.Section.prototype.set populated): 21261 (WebInspector.Section.prototype.expand): 21262 (WebInspector.Section.prototype.collapse): 21263 (WebInspector.Section.prototype.toggleExpanded): 21264 * inspector/front-end/WebKit.qrc: 21265 * inspector/front-end/inspector.html: 21266 21267 2009-12-15 Eric Seidel <eric (a] webkit.org> 21268 21269 No review, rolling out r52140. 21270 http://trac.webkit.org/changeset/52140 21271 https://bugs.webkit.org/show_bug.cgi?id=31299 21272 21273 The commit broke the Leopard bots and unfortunately 21274 Chris wasn't around to fix them, so I'm rolling the change 21275 out after 3 hours so that the bots can roll green again. :) 21276 21277 * accessibility/AXObjectCache.cpp: 21278 (WebCore::AXObjectCache::getOrCreate): 21279 * accessibility/AccessibilityARIAGrid.h: 21280 * accessibility/AccessibilityARIAGridRow.cpp: 21281 * accessibility/AccessibilityARIAGridRow.h: 21282 * accessibility/AccessibilityObject.cpp: 21283 (WebCore::createARIARoleMap): 21284 * accessibility/AccessibilityObject.h: 21285 (WebCore::): 21286 * accessibility/AccessibilityRenderObject.cpp: 21287 (WebCore::AccessibilityRenderObject::isMultiSelect): 21288 (WebCore::AccessibilityRenderObject::setIsExpanded): 21289 (WebCore::AccessibilityRenderObject::setSelectedRows): 21290 (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows): 21291 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 21292 (WebCore::AccessibilityRenderObject::selectedChildren): 21293 * accessibility/AccessibilityRenderObject.h: 21294 * accessibility/AccessibilityTable.h: 21295 * accessibility/mac/AccessibilityObjectWrapper.mm: 21296 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 21297 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 21298 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 21299 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 21300 21301 2009-12-14 Holger Hans Peter Freyther <zecke (a] selfish.org> 21302 21303 Reviewed by Eric Seidel. 21304 21305 [Qt] Remove dead code from FontPlatformDataQt.cpp 21306 https://bugs.webkit.org/show_bug.cgi?id=32540 21307 21308 In r51758 the code that used familyNames was removed 21309 and we should remove the creation of the familyNames 21310 as well. 21311 21312 * platform/graphics/qt/FontPlatformDataQt.cpp: 21313 (WebCore::FontPlatformData::FontPlatformData): 21314 21315 2009-12-15 Dan Bernstein <mitz (a] apple.com> 21316 21317 Reviewed by Adam Roben. 21318 21319 WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core 21320 Graphics when available 21321 21322 When using a version of Core Graphics with LOGFONT support, this fixes 21323 <rdar://problem/5764844> First-time launch is painfully slow due to font 21324 plist creation 21325 and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less 21326 readable in Safari than in Firefox/IE due to poorly-spaced letters 21327 21328 * platform/graphics/win/FontCGWin.cpp: 21329 (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked 21330 text. 21331 * platform/graphics/win/FontCacheWin.cpp: 21332 (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set 21333 to true, if italics are desired but the best match lacks italics, 21334 creates and returns a synthetic italics font. 21335 (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics 21336 if needed. 21337 * platform/graphics/win/FontCustomPlatformData.cpp: 21338 (WebCore::FontCustomPlatformData::fontPlatformData): Updated an 21339 assertion, and changed to create the CGFont from the LOGFONT. 21340 (WebCore::createFontCustomPlatformData): Changed cgFont to be a 21341 RetainPtr. Do not create a CGFont from the font data if it can be 21342 created from the LOGFONT in fontPlatformData(). 21343 * platform/graphics/win/FontDatabase.cpp: 21344 (WebCore::populateFontDatabase): Avoid font database work if fonts are 21345 not going to be looked up by name. 21346 * platform/graphics/win/FontPlatformDataCGWin.cpp: 21347 (WebCore::FontPlatformData::platformDataInit): Create the CGFont from 21348 a LOGFONT based on the HFONT. 21349 21350 2009-12-14 Chris Fleizach <cfleizach (a] apple.com> 21351 21352 Reviewed by Darin Adler. 21353 21354 WAI-ARIA: implement treegrid 21355 https://bugs.webkit.org/show_bug.cgi?id=31299 21356 21357 Test: platform/mac/accessibility/aria-treegrid.html 21358 21359 * accessibility/AXObjectCache.cpp: 21360 (WebCore::AXObjectCache::getOrCreate): 21361 * accessibility/AccessibilityARIAGrid.h: 21362 (WebCore::AccessibilityARIAGrid::supportsSelectedRows): 21363 * accessibility/AccessibilityARIAGridRow.cpp: 21364 (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow): 21365 (WebCore::AccessibilityARIAGridRow::disclosedRows): 21366 (WebCore::AccessibilityARIAGridRow::disclosedByRow): 21367 * accessibility/AccessibilityARIAGridRow.h: 21368 * accessibility/AccessibilityObject.cpp: 21369 (WebCore::createARIARoleMap): 21370 * accessibility/AccessibilityObject.h: 21371 (WebCore::AccessibilityObject::isARIATreeGridRow): 21372 * accessibility/AccessibilityRenderObject.cpp: 21373 (WebCore::AccessibilityRenderObject::isMultiSelectable): 21374 (WebCore::AccessibilityRenderObject::setIsExpanded): 21375 (WebCore::AccessibilityRenderObject::setSelectedRows): 21376 (WebCore::AccessibilityRenderObject::ariaSelectedRows): 21377 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 21378 (WebCore::AccessibilityRenderObject::selectedChildren): 21379 * accessibility/AccessibilityRenderObject.h: 21380 * accessibility/AccessibilityTable.h: 21381 (WebCore::AccessibilityTable::supportsSelectedRows): 21382 * accessibility/mac/AccessibilityObjectWrapper.mm: 21383 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 21384 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 21385 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 21386 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 21387 21388 2009-12-14 Dan Bernstein <mitz (a] apple.com> 21389 21390 Reviewed by Darin Adler. 21391 21392 <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org 21393 https://bugs.webkit.org/show_bug.cgi?id=32382 21394 21395 Test: fast/block/float/in-margin.html 21396 21397 * rendering/RenderBlock.cpp: 21398 (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because 21399 they are in the margin) do not need to be cleared. 21400 21401 2009-12-14 Enrica Casucci <enrica (a] apple.com> 21402 21403 Reviewed by John Sullivan. 21404 21405 Pressing backspace inside a table cell erases all empty rows below it. 21406 <rdar://problem/5565461> 21407 https://bugs.webkit.org/show_bug.cgi?id=32526 21408 21409 No deletion is performed when the caret selection is on an empty table cell. 21410 21411 Test: editing/deleting/delete-empty-table.html 21412 21413 * editing/TypingCommand.cpp: 21414 (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in 21415 case of caret selection. 21416 21417 2009-12-14 Andrei Popescu <andreip (a] google.com> 21418 21419 Reviewed by Darin Adler. 21420 21421 [Android] Android needs ResourceHandle implementation 21422 https://bugs.webkit.org/show_bug.cgi?id=32515 21423 21424 Adds implementation of ResourceHandle on Android. 21425 21426 No new tests needed, this is platform-specific code, so existing 21427 tests are sufficient. 21428 21429 * platform/network/android/ResourceHandleAndroid.cpp: Added. 21430 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 21431 (WebCore::ResourceHandle::~ResourceHandle): 21432 (WebCore::ResourceHandle::start): 21433 (WebCore::ResourceHandle::cancel): 21434 (WebCore::ResourceHandle::bufferedData): 21435 (WebCore::ResourceHandle::supportsBufferedData): 21436 (WebCore::ResourceHandle::setDefersLoading): 21437 (WebCore::ResourceHandle::willLoadFromCache): 21438 (WebCore::ResourceHandle::loadsBlocked): 21439 (WebCore::SyncLoader::SyncLoader): 21440 (WebCore::SyncLoader::~SyncLoader): 21441 (WebCore::SyncLoader::didReceiveResponse): 21442 (WebCore::SyncLoader::didReceiveData): 21443 (WebCore::SyncLoader::didFail): 21444 (WebCore::ResourceHandle::loadResourceSynchronously): 21445 * platform/network/android/ResourceLoaderAndroid.h: Added. 21446 (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid): 21447 (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid): 21448 21449 2009-12-14 Marco Martin <notmart (a] gmail.com> 21450 21451 Reviewed by Kenneth Rohde Christiansen. 21452 21453 In the Scrollbar painting of the Qt theme integration, 21454 intersects any previous clip rects with the one needed to paint the scrollbar. 21455 This fixes the painting in QGraphicsview, when the parent of the widget that 21456 paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and 21457 a piece of the scrollbar should be cipped away 21458 https://bugs.webkit.org/show_bug.cgi?id=30366 21459 21460 No new tests. 21461 21462 * platform/qt/ScrollbarThemeQt.cpp: 21463 (WebCore::ScrollbarThemeQt::paint): 21464 21465 2009-12-14 Dimitri Glazkov <dglazkov (a] chromium.org> 21466 21467 Reviewed by Eric Seidel. 21468 21469 [V8] Generate bindings for trivial indexers. 21470 https://bugs.webkit.org/show_bug.cgi?id=32455 21471 21472 Covered by existing tests. 21473 21474 * bindings/scripts/CodeGeneratorV8.pm: 21475 Added detecting indexers and generating code for them. 21476 * bindings/v8/V8Collection.h: Removed code that's now generated. 21477 * bindings/v8/V8DOMWrapper.cpp: 21478 (WebCore::V8DOMWrapper::getTemplate): Ditto. 21479 21480 2009-12-14 Alexey Proskuryakov <ap (a] apple.com> 21481 21482 Reviewed by Dave Hyatt. 21483 21484 https://bugs.webkit.org/show_bug.cgi?id=31660 21485 REGRESSION (r49394): Image load event fires before the document fragment is attached. 21486 21487 Test: fast/images/image-load-event-in-fragment.html 21488 21489 We cannot fire load events immediately after parsing a fragment - an element inserted via 21490 innerHTML or equivalent should be reachable via getElementById() by the time its load event 21491 fires. 21492 21493 * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents() 21494 and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just 21495 preserving existing behavior. 21496 21497 * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write): 21498 * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write): 21499 Load events for elements that have just been parsed cannot be dispatched yet, we should give 21500 the elements a chance to be inserted into a document first. There is no compatibility baggage 21501 for beforeload, so it seems OK to dispatch it right away. 21502 21503 * loader/ImageLoader.cpp: 21504 (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents): 21505 (WebCore::ImageLoader::dispatchPendingLoadEvents): 21506 * loader/ImageLoader.h: 21507 Separated dispatchPendingEvents() into individual functions for each event kind. 21508 21509 2009-12-14 Jakob Petsovits <jpetsovits (a] rim.com> 21510 21511 Reviewed by Simon Fraser. 21512 21513 Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect. 21514 https://bugs.webkit.org/show_bug.cgi?id=30442 21515 21516 This enables optimizations for distinguishing between 21517 arbitrary FloatQuads and rectilinear ones. 21518 21519 * platform/graphics/FloatQuad.cpp: 21520 (WebCore::FloatQuad::isRectilinear): 21521 * platform/graphics/FloatQuad.h: 21522 21523 2009-12-14 Simon Hausmann <hausmann (a] webkit.org> 21524 21525 Reviewed by Holger Freyther. 21526 21527 [Qt] Add support for keyboard modifiers to TouchEvent 21528 21529 https://bugs.webkit.org/show_bug.cgi?id=32482 21530 21531 Similar to other ui events with keyboard state, get the alt, shift, 21532 meta and ctrl modifiers straight from the platform event. 21533 21534 * dom/TouchEvent.cpp: 21535 (WebCore::TouchEvent::TouchEvent): 21536 (WebCore::TouchEvent::initTouchEvent): 21537 * dom/TouchEvent.h: 21538 (WebCore::TouchEvent::create): 21539 * dom/TouchEvent.idl: 21540 * page/EventHandler.cpp: 21541 (WebCore::EventHandler::handleTouchEvent): 21542 * platform/PlatformTouchEvent.h: 21543 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 21544 (WebCore::PlatformTouchEvent::shiftKey): 21545 (WebCore::PlatformTouchEvent::ctrlKey): 21546 (WebCore::PlatformTouchEvent::altKey): 21547 (WebCore::PlatformTouchEvent::metaKey): 21548 * platform/qt/PlatformTouchEventQt.cpp: 21549 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 21550 21551 2009-12-14 Benjamin Poulain <benjamin.poulain (a] nokia.com> 21552 21553 Reviewed by Kenneth Rohde Christiansen. 21554 21555 [Qt] crash when clicking "Sign out" in GMail 21556 https://bugs.webkit.org/show_bug.cgi?id=32300 21557 21558 When the ResourceLoader cancels the handle we have to make sure not to access 21559 the resource handle afterwards again. 21560 This complete r29515 21561 21562 * platform/network/qt/QNetworkReplyHandler.cpp: 21563 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 21564 21565 2009-12-14 Alexander Pavlov <apavlov (a] chromium.org> 21566 21567 Reviewed by Pavel Feldman. 21568 21569 Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context. 21570 https://bugs.webkit.org/show_bug.cgi?id=32517 21571 21572 * inspector/front-end/InjectedScript.js: 21573 (InjectedScript.evaluateOnSelf): 21574 * inspector/front-end/InjectedScriptAccess.js: 21575 21576 2009-12-14 Nayan Kumar K <nayankk (a] gmail.com> 21577 21578 Reviewed by Darin Adler. 21579 21580 Fix for compilation errors in WML enabled builds. 21581 21582 https://bugs.webkit.org/show_bug.cgi?id=32481 21583 21584 * wml/WMLInputElement.cpp: 21585 (WebCore::WMLInputElement::setValue): 21586 (WebCore::WMLInputElement::setValueForUser): 21587 * wml/WMLInputElement.h: 21588 21589 2009-12-14 Andrei Popescu <andreip (a] google.com> 21590 21591 Reviewed by Darin Adler. 21592 21593 [Android] Android needs ResourceError, ResourceResponse and 21594 ResourceRequest implementation. 21595 https://bugs.webkit.org/show_bug.cgi?id=32522 21596 21597 Add implementation of ResourceError, ResourceResponse and ResourceRequest. 21598 No new tests needed, the existing tests should be sufficient. 21599 21600 * platform/network/android/ResourceError.h: Added. 21601 (WebCore::ResourceError::ResourceError): 21602 * platform/network/android/ResourceRequest.h: Added. 21603 (WebCore::ResourceRequest::ResourceRequest): 21604 (WebCore::ResourceRequest::doUpdatePlatformRequest): 21605 (WebCore::ResourceRequest::doUpdateResourceRequest): 21606 (WebCore::ResourceRequest::setUserGesture): 21607 (WebCore::ResourceRequest::getUserGesture): 21608 * platform/network/android/ResourceResponse.h: Added. 21609 (WebCore::ResourceResponse::ResourceResponse): 21610 (WebCore::ResourceResponse::doUpdateResourceResponse): 21611 21612 2009-12-14 Sam Weinig <sam (a] webkit.org> 21613 21614 Fix the build. 21615 21616 * page/Geolocation.cpp: 21617 * page/Geolocation.h: 21618 21619 2009-12-13 Sam Weinig <sam (a] webkit.org> 21620 21621 Reviewed by Dan Bernstein. 21622 21623 Fix for https://bugs.webkit.org/show_bug.cgi?id=32499 21624 Add client based Geolocation provider 21625 21626 Add first cut of a client based Geolocation provider. This is guarded by 21627 ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a 21628 GeolocationControllerClient interface that no-one currently implements, 21629 but will in a subsequent patch. 21630 21631 * GNUmakefile.am: 21632 * WebCore.base.exp: 21633 * WebCore.gypi: 21634 * WebCore.pro: 21635 * WebCore.vcproj/WebCore.vcproj: 21636 * WebCore.xcodeproj/project.pbxproj: 21637 * WebCoreSources.bkl: 21638 * page/Geolocation.cpp: 21639 (WebCore::createGeopositionFromGeolocationPosition): 21640 (WebCore::createPositionErrorFromGeolocationError): 21641 (WebCore::Geolocation::Geolocation): 21642 (WebCore::Geolocation::~Geolocation): 21643 (WebCore::Geolocation::disconnectFrame): 21644 (WebCore::Geolocation::lastPosition): 21645 (WebCore::Geolocation::startRequest): 21646 (WebCore::Geolocation::fatalErrorOccurred): 21647 (WebCore::Geolocation::requestTimedOut): 21648 (WebCore::Geolocation::clearWatch): 21649 (WebCore::Geolocation::handleError): 21650 (WebCore::Geolocation::positionChanged): 21651 (WebCore::Geolocation::makeSuccessCallbacks): 21652 (WebCore::Geolocation::errorOccurred): 21653 (WebCore::Geolocation::geolocationServicePositionChanged): 21654 (WebCore::Geolocation::geolocationServiceErrorOccurred): 21655 (WebCore::Geolocation::startUpdating): 21656 (WebCore::Geolocation::stopUpdating): 21657 * page/Geolocation.h: 21658 * page/GeolocationController.cpp: Added. 21659 (WebCore::GeolocationController::GeolocationController): 21660 (WebCore::GeolocationController::~GeolocationController): 21661 (WebCore::GeolocationController::addObserver): 21662 (WebCore::GeolocationController::removeObserver): 21663 (WebCore::GeolocationController::positionChanged): 21664 (WebCore::GeolocationController::errorOccurred): 21665 (WebCore::GeolocationController::lastPosition): 21666 * page/GeolocationController.h: Added. 21667 * page/GeolocationControllerClient.h: Added. 21668 (WebCore::GeolocationControllerClient::~GeolocationControllerClient): 21669 * page/GeolocationError.h: Added. 21670 (WebCore::GeolocationError::): 21671 (WebCore::GeolocationError::create): 21672 (WebCore::GeolocationError::code): 21673 (WebCore::GeolocationError::message): 21674 * page/GeolocationPosition.h: Added. 21675 (WebCore::GeolocationPosition::create): 21676 (WebCore::GeolocationPosition::timestamp): 21677 (WebCore::GeolocationPosition::latitude): 21678 (WebCore::GeolocationPosition::longitude): 21679 (WebCore::GeolocationPosition::accuracy): 21680 (WebCore::GeolocationPosition::altitude): 21681 (WebCore::GeolocationPosition::altitudeAccuracy): 21682 (WebCore::GeolocationPosition::heading): 21683 (WebCore::GeolocationPosition::speed): 21684 (WebCore::GeolocationPosition::canProvideAltitude): 21685 (WebCore::GeolocationPosition::canProvideAltitudeAccuracy): 21686 (WebCore::GeolocationPosition::canProvideHeading): 21687 (WebCore::GeolocationPosition::canProvideSpeed): 21688 (WebCore::GeolocationPosition::GeolocationPosition): 21689 * page/Geoposition.h: 21690 (WebCore::Geoposition::create): 21691 * page/Page.cpp: 21692 (WebCore::Page::Page): 21693 * page/Page.h: 21694 (WebCore::Page::geolocationController): 21695 * svg/graphics/SVGImage.cpp: 21696 (WebCore::SVGImage::dataChanged): 21697 21698 2009-12-14 Adam Langley <agl (a] google.com> 21699 21700 Reviewed by Darin Adler. 21701 21702 Test that an image's size is valid before reading it. 21703 21704 Previously, an image that failed to load (m_failed == true) would 21705 trigger an assertion failure when WebKit tried to get its size. 21706 21707 https://bugs.webkit.org/show_bug.cgi?id=32176 21708 http://code.google.com/p/chromium/issues/detail?id=28566 21709 21710 Test: fast/images/size-failure.html 21711 21712 * platform/graphics/ImageSource.cpp: 21713 (WebCore::ImageSource::createFrameAtIndex): 21714 21715 2009-12-14 Dan Bernstein <mitz (a] apple.com> 21716 21717 Reviewed by Darin Adler. 21718 21719 <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in 21720 RenderWidget::setWidgetGeometry() 21721 21722 Test: fast/forms/defer-updateFromElement.html 21723 21724 * html/HTMLFormControlElement.cpp: 21725 (WebCore::updateFromElementCallback): Added this post-attach callback 21726 that invokes updateFromElement(). 21727 (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling 21728 updateFromElement(), enqueue a post-attach (in this case, post-style 21729 recalc) callback to do it. updateFromElement() can cause the selection 21730 to change, and in turn trigger synchronous layout, so it must not be 21731 called during style recalc. 21732 21733 2009-12-14 Pavel Feldman <pfeldman (a] chromium.org> 21734 21735 Reviewed by Timothy Hatcher. 21736 21737 Web Inspector: [regression] inspector deletes nodes when editing css. 21738 21739 Now all the treeoutlines are focusable, sections and their titles 21740 are also focusable. Change contains couple of drive-by fixes such as 21741 canceling of the attribute edit nuking attr info and maintaining proper 21742 selection while deleting nodes. 21743 21744 https://bugs.webkit.org/show_bug.cgi?id=32460 21745 21746 * inspector/front-end/CallStackSidebarPane.js: 21747 (WebInspector.CallStackSidebarPane.prototype.handleShortcut): 21748 * inspector/front-end/ConsoleView.js: 21749 (WebInspector.ConsoleView.prototype._promptKeyDown): 21750 * inspector/front-end/DataGrid.js: 21751 (WebInspector.DataGrid.prototype._keyDown): 21752 * inspector/front-end/DatabaseQueryView.js: 21753 (WebInspector.DatabaseQueryView): 21754 (WebInspector.DatabaseQueryView.prototype._promptKeyDown): 21755 * inspector/front-end/ElementsPanel.js: 21756 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 21757 (WebInspector.ElementsPanel.prototype.get defaultFocusedElement): 21758 (WebInspector.ElementsPanel.prototype.handleShortcut): 21759 * inspector/front-end/ElementsTreeOutline.js: 21760 (WebInspector.ElementsTreeOutline): 21761 (WebInspector.ElementsTreeOutline.prototype._keyDown): 21762 (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): 21763 (WebInspector.ElementsTreeElement.prototype._editingCancelled): 21764 * inspector/front-end/Panel.js: 21765 (WebInspector.Panel.prototype.show): 21766 (WebInspector.Panel.prototype.get defaultFocusedElement): 21767 * inspector/front-end/PropertiesSection.js: 21768 (WebInspector.PropertiesSection): 21769 * inspector/front-end/ScriptsPanel.js: 21770 (WebInspector.ScriptsPanel): 21771 (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement): 21772 (WebInspector.ScriptsPanel.prototype.handleShortcut): 21773 * inspector/front-end/SidebarPane.js: 21774 (WebInspector.SidebarPane): 21775 (WebInspector.SidebarPane.prototype.toggleExpanded): 21776 (WebInspector.SidebarPane.prototype._onTitleKeyDown): 21777 * inspector/front-end/SourceFrame.js: 21778 (WebInspector.SourceFrame.prototype._loaded): 21779 * inspector/front-end/TextPrompt.js: 21780 (WebInspector.TextPrompt): 21781 * inspector/front-end/inspector.css: 21782 * inspector/front-end/inspector.html: 21783 * inspector/front-end/inspector.js: 21784 (WebInspector.loaded): 21785 (WebInspector.documentKeyDown): 21786 (WebInspector.documentCanCopy): 21787 (WebInspector.documentCopy): 21788 (WebInspector._searchFieldManualFocus): 21789 (WebInspector._searchKeyDown): 21790 (WebInspector.startEditing.cleanUpAfterEditing): 21791 (WebInspector.startEditing.keyDownEventListener): 21792 (WebInspector.startEditing): 21793 * inspector/front-end/treeoutline.js: 21794 (TreeOutline): 21795 (TreeOutline._removeChildAtIndex): 21796 (TreeOutline.prototype._treeKeyDown): 21797 (TreeElement.prototype.deselect): 21798 * inspector/front-end/utilities.js: 21799 (): 21800 21801 2009-12-14 Dimitri Glazkov <dglazkov (a] chromium.org> 21802 21803 Unreviewed, build fix. 21804 21805 [Chromium] Guard all of JSC's wrapper cache-related members on Document. 21806 21807 * dom/Document.cpp: 21808 (WebCore::Document::createWrapperCache): Widened the guards to the whole method. 21809 * dom/Document.h: Added JSC guards to wrapper cache-related members. 21810 21811 2009-12-14 Chris Fleizach <cfleizach (a] apple.com> 21812 21813 Reviewed by Adele Peterson. 21814 21815 AX: there's an infinite loop going on for some webpages - facebook.com 21816 https://bugs.webkit.org/show_bug.cgi?id=32501 21817 21818 The problem is that parentObjectUnignored() cannot be called 21819 while in accessibilityIsIgnored, because it leads to 21820 recursiveness. Specifically, there were checks to determine 21821 if an object was within a ARIA tree. That check should 21822 1) be moved to all platforms, and 2) not call parentObjectUnignored(). 21823 21824 Test: accessibility/hang-in-isignored.html 21825 21826 * accessibility/AccessibilityRenderObject.cpp: 21827 (WebCore::AccessibilityRenderObject::isAllowedChildOfTree): 21828 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 21829 * accessibility/AccessibilityRenderObject.h: 21830 * accessibility/mac/AccessibilityObjectMac.mm: 21831 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 21832 21833 2009-12-14 Eric Carlson <eric.carlson (a] apple.com> 21834 21835 Reviewed by Dan Bernstein. 21836 21837 <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows 21838 21839 Use MediaControllerThemeQuickTime on Leopard. 21840 21841 * rendering/RenderThemeMac.mm: 21842 (WebCore::mediaControllerTheme): 21843 21844 2009-12-14 Adam Roben <aroben (a] apple.com> 21845 21846 Move QuartzCore-related build settings into a vsprops file 21847 21848 Fixes <http://webkit.org/b/32518> 21849 21850 Reviewed by Dan Bernstein. 21851 21852 * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added 21853 WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all 21854 other QuartzCore-related build settings from here... 21855 * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here. 21856 21857 2009-12-14 Yael Aharon <yael.aharon (a] nokia.com> 21858 21859 Reviewed by Antti Koivisto. 21860 21861 handling scripts can block UI 21862 https://bugs.webkit.org/show_bug.cgi?id=27612 21863 21864 Break execution of external scrips to smaller chunks. 21865 No new tests since no new functionality was introduced. 21866 21867 * html/HTMLTokenizer.cpp: 21868 (WebCore::HTMLTokenizer::HTMLTokenizer): 21869 (WebCore::HTMLTokenizer::reset): 21870 (WebCore::HTMLTokenizer::notifyFinished): 21871 (WebCore::HTMLTokenizer::executeExternalScriptsIfReady): 21872 (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired): 21873 (WebCore::HTMLTokenizer::continueExecutingExternalScripts): 21874 * html/HTMLTokenizer.h: 21875 21876 2009-12-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 21877 21878 Reviewed by Simon Hausmann. 21879 21880 [Qt] Connect QNetworkReply via direct connections. 21881 https://bugs.webkit.org/show_bug.cgi?id=32113 21882 21883 In the past we have switched from auto connections to queued 21884 connections to get some more stability. The problem with the 21885 Queued connections is latency. Even when running simple loading 21886 tests the time it takes to runs highly varies and by using 21887 direct connections these tests produce a stable result. 21888 21889 We will have to look out for crashes coming from within the 21890 QNetworkAccessManager due this patch and address them then. 21891 21892 * platform/network/qt/QNetworkReplyHandler.cpp: 21893 (WebCore::QNetworkReplyHandler::start): 21894 21895 2009-12-14 Holger Hans Peter Freyther <zecke (a] selfish.org> 21896 21897 Rubber-stamped by Simon Hausmann. 21898 21899 [Qt] QtWebKit should use QImageReader::setQuality(49) 21900 https://bugs.webkit.org/show_bug.cgi?id=30740 21901 21902 Using QImageReader::setQuality(49) will influence the JPEG 21903 decoder of Qt to use the JDCT_IFAST routines for decompressing. This 21904 is showing a 5% improvement in a reduction that decodes all images 21905 used during the page loading test. The libjpeg documentation mentions 21906 that the IFAST routine is not as accurate as other routines but in 21907 our tests we couldn't see a difference. 21908 21909 * platform/graphics/qt/ImageDecoderQt.cpp: 21910 (WebCore::ImageDecoderQt::setData): 21911 21912 2009-12-13 Geoffrey Garen <ggaren (a] apple.com> 21913 21914 Reviewed by Sam Weinig. 21915 21916 Changed GC from mark-sweep to mark-allocate. 21917 21918 * ForwardingHeaders/runtime/WeakGCMap.h: Added. 21919 * bindings/js/GCController.cpp: 21920 (WebCore::collect): 21921 (WebCore::GCController::gcTimerFired): 21922 (WebCore::GCController::garbageCollectNow): Updated for rename. 21923 21924 * bindings/js/JSDOMBinding.cpp: 21925 (WebCore::removeWrappers): 21926 (WebCore::hasCachedDOMObjectWrapperUnchecked): 21927 (WebCore::hasCachedDOMObjectWrapper): 21928 (WebCore::hasCachedDOMNodeWrapperUnchecked): 21929 (WebCore::forgetDOMObject): 21930 (WebCore::forgetDOMNode): 21931 (WebCore::isObservableThroughDOM): 21932 (WebCore::markDOMNodesForDocument): 21933 (WebCore::markDOMObjectWrapper): 21934 (WebCore::markDOMNodeWrapper): 21935 * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps. 21936 Don't ASSERT that an item must be in the WeakGCMap when its destructor 21937 runs, since it might have been overwritten in the map first. 21938 21939 * bindings/js/JSDocumentCustom.cpp: 21940 (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node 21941 wrapper, to simplify some code. 21942 21943 * bindings/js/JSInspectedObjectWrapper.cpp: 21944 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): 21945 (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): 21946 * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these 21947 wrappers. 21948 21949 * bindings/js/JSNodeCustom.cpp: 21950 (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using 21951 a DOM node wrapper instead of a DOM object wrapper. 21952 21953 * bindings/js/JSSVGPODTypeWrapper.h: 21954 (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap): 21955 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 21956 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper): 21957 (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light 21958 on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead 21959 of linear lookup through iteration, since that's what hashtables were 21960 invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself 21961 from the table, instead of its JS wrapper, to decouple these objects from 21962 GC, and because these objects are refCounted, not solely owned by their 21963 JS wrappers. 21964 21965 * bindings/scripts/CodeGeneratorJS.pm: 21966 * dom/Document.h: Adopted changes above. 21967 21968 2009-12-13 Geoffrey Garen <ggaren (a] apple.com> 21969 21970 Windows build fix: Removed an incorrect #ifdef. 21971 21972 * bindings/js/GCController.cpp: 21973 21974 2009-12-13 Charles Reis <creis (a] chromium.org> 21975 21976 Reviewed by Adam Barth. 21977 21978 Refactor some security code out of V8 bindings 21979 https://bugs.webkit.org/show_bug.cgi?id=32326 21980 21981 No new tests. There should be no functionality changes in this patch, 21982 since it is only refactoring code. 21983 21984 * WebCore.gyp/WebCore.gyp: 21985 * WebCore.gypi: 21986 * bindings/BindingSecurity.h: Added. 21987 (WebCore::BindingSecurity::BindingSecurity): 21988 (WebCore::::canAccessWindow): 21989 (WebCore::::canAccessFrame): 21990 (WebCore::::checkNodeSecurity): 21991 * bindings/BindingSecurityBase.cpp: Added. 21992 (WebCore::BindingSecurityBase::getDOMWindow): 21993 (WebCore::BindingSecurityBase::getFrame): 21994 (WebCore::BindingSecurityBase::canAccessWindow): 21995 * bindings/BindingSecurityBase.h: Added. 21996 * bindings/GenericBinding.h: Added. 21997 (WebCore::): 21998 * bindings/scripts/CodeGeneratorV8.pm: 21999 * bindings/v8/ScriptController.cpp: 22000 (WebCore::ScriptController::isSafeScript): 22001 * bindings/v8/V8Binding.h: 22002 * bindings/v8/V8BindingState.cpp: Added. 22003 (WebCore::::Only): 22004 (WebCore::::getActiveWindow): 22005 (WebCore::::immediatelyReportUnsafeAccessTo): 22006 * bindings/v8/V8BindingState.h: Added. 22007 (WebCore::): 22008 * bindings/v8/V8Proxy.cpp: 22009 (WebCore::V8Proxy::reportUnsafeAccessTo): 22010 (WebCore::reportUnsafeJavaScriptAccess): 22011 * bindings/v8/V8Proxy.h: 22012 (WebCore::V8Proxy::): 22013 * bindings/v8/custom/V8CustomBinding.cpp: 22014 (WebCore::allowSettingFrameSrcToJavascriptUrl): 22015 (WebCore::INDEXED_ACCESS_CHECK): 22016 (WebCore::NAMED_ACCESS_CHECK): 22017 * bindings/v8/custom/V8DOMWindowCustom.cpp: 22018 (WebCore::V8Custom::WindowSetTimeoutImpl): 22019 (WebCore::ACCESSOR_GETTER): 22020 (WebCore::ACCESSOR_SETTER): 22021 (WebCore::CALLBACK_FUNC_DECL): 22022 (WebCore::V8Custom::ClearTimeoutImpl): 22023 (WebCore::NAMED_ACCESS_CHECK): 22024 (WebCore::INDEXED_ACCESS_CHECK): 22025 * bindings/v8/custom/V8LocationCustom.cpp: 22026 (WebCore::ACCESSOR_GETTER): 22027 (WebCore::CALLBACK_FUNC_DECL): 22028 (WebCore::INDEXED_ACCESS_CHECK): 22029 (WebCore::NAMED_ACCESS_CHECK): 22030 22031 2009-11-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 22032 22033 Reviewed by Simon Hausmann. 22034 22035 [Qt] Implement initializeMaximumHTTPConnectionCountPerHost. 22036 https://bugs.webkit.org/show_bug.cgi?id=31849 22037 22038 Qt allows to have three connections per host on Symbian, for 22039 every other platform the limit is set to six connections per 22040 host but the default implementation will only schedule four 22041 connections per host. 22042 In a manual test we seem to get the best loading speed by 22043 going with Qt's limit and schedule two more jobs to allow Qt 22044 to prepare them. 22045 22046 * platform/network/ResourceRequestBase.cpp: 22047 * platform/network/qt/ResourceRequestQt.cpp: 22048 (WebCore::initializeMaximumHTTPConnectionCountPerHost): 22049 22050 2009-12-13 Dan Bernstein <mitz (a] apple.com> 22051 22052 Reviewed by Simon Fraser. 22053 22054 <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after 22055 handling misnested residual style tags 22056 22057 Test: fast/parser/residual-style-close-ref-clone.html 22058 22059 * html/HTMLParser.cpp: 22060 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the 22061 block stack a strong reference to the cloned residual style element. 22062 22063 2009-12-13 Adele Peterson <adele (a] apple.com> 22064 22065 Reviewed by Sam Weinig. 22066 22067 Reverting changes from http://trac.webkit.org/changeset/49585 to fix: 22068 <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/ 22069 https://bugs.webkit.org/show_bug.cgi?id=32078 22070 22071 * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): 22072 22073 2009-12-08 Jeremy Moskovich <jeremy (a] chromium.org> 22074 22075 Reviewed by Eric Seidel. 22076 22077 Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController. 22078 https://bugs.webkit.org/show_bug.cgi?id=31802 22079 22080 The goal here is to allow for a zero runtime hit for ports that decide to select 22081 the API at compile time. 22082 When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled 22083 at runtime. Core Text is used for OS Versions >= 10.6. 22084 22085 No test since this is already covered by existing pixel tests. 22086 22087 * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac . 22088 * platform/graphics/mac/ComplexTextController.cpp: 22089 (WebCore::shouldUseATSUIAPI): Cache decision about which API to use. 22090 (WebCore::ComplexTextController::ComplexTextRun::indexAt): 22091 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through 22092 to ATSUI/Core text variants. 22093 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction 22094 is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText. 22095 * platform/graphics/mac/ComplexTextController.h: 22096 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 22097 (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix. 22098 (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI): 22099 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): 22100 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 22101 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): 22102 (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText): 22103 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): 22104 22105 2009-12-13 Eric Carlson <eric.carlson (a] apple.com> 22106 22107 No review, rolling out r52059 until I can generate new Tiger 22108 test results. 22109 22110 * rendering/RenderThemeMac.mm: 22111 (WebCore::mediaControllerTheme): 22112 22113 2009-12-12 Sam Weinig <sam (a] webkit.org> 22114 22115 Rubber-stamped by Dan Bernstein. 22116 22117 Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build. 22118 22119 * Configurations/WebCore.xcconfig: 22120 * page/EventHandler.cpp: 22121 (WebCore::EventHandler::EventHandler): 22122 (WebCore::EventHandler::clearDragState): 22123 * page/mac/DragControllerMac.mm: 22124 (WebCore::DragController::isCopyKeyDown): 22125 * page/mac/EventHandlerMac.mm: 22126 (WebCore::EventHandler::eventActivatedView): 22127 * platform/PlatformKeyboardEvent.h: 22128 * platform/PlatformMouseEvent.h: 22129 * platform/PlatformWheelEvent.h: 22130 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 22131 * platform/ScrollView.cpp: 22132 (WebCore::ScrollView::wheelEvent): 22133 * platform/mac/KeyEventMac.mm: 22134 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 22135 * platform/mac/PlatformMouseEventMac.mm: 22136 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 22137 * platform/mac/PopupMenuMac.mm: 22138 (WebCore::PopupMenu::show): 22139 * platform/mac/WidgetMac.mm: 22140 22141 2009-12-12 Sam Weinig <sam (a] webkit.org> 22142 22143 Rubber-stamped by Dan Bernstein. 22144 22145 Fix the !ENABLE(VIDEO) build. 22146 22147 * rendering/RenderLayerCompositor.cpp: 22148 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 22149 22150 2009-12-12 Sam Weinig <sam (a] webkit.org> 22151 22152 Rubber-stamped by Dan Bernstein. 22153 22154 Fix the !ENABLE(DATABASE) build. 22155 22156 * storage/SQLTransactionClient.cpp: 22157 * storage/SQLTransactionClient.h: 22158 * storage/SQLTransactionCoordinator.cpp: 22159 * storage/SQLTransactionCoordinator.h: 22160 * loader/FrameLoader.cpp: 22161 (WebCore::FrameLoader::stopLoading): 22162 22163 2009-12-12 Eric Carlson <eric.carlson (a] apple.com> 22164 22165 Reviewed by Dan Bernstein. 22166 22167 <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows 22168 22169 Use MediaControllerThemeQuickTime on Leopard. 22170 22171 * rendering/RenderThemeMac.mm: 22172 (WebCore::mediaControllerTheme): 22173 22174 2009-12-12 Kenneth Russell <kbr (a] google.com> 22175 22176 Reviewed by Oliver Hunt. 22177 22178 Errors in WebGL[T]Array set() and get() methods 22179 https://bugs.webkit.org/show_bug.cgi?id=32456 22180 22181 Test: fast/canvas/webgl/bug-32456.html 22182 22183 * bindings/js/JSWebGLFloatArrayCustom.cpp: 22184 (WebCore::JSWebGLFloatArray::set): 22185 * bindings/js/JSWebGLIntArrayCustom.cpp: 22186 (WebCore::JSWebGLIntArray::set): 22187 * bindings/js/JSWebGLShortArrayCustom.cpp: 22188 (WebCore::JSWebGLShortArray::set): 22189 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: 22190 (WebCore::JSWebGLUnsignedByteArray::set): 22191 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: 22192 (WebCore::JSWebGLUnsignedIntArray::set): 22193 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: 22194 (WebCore::JSWebGLUnsignedShortArray::set): 22195 * bindings/v8/custom/V8WebGLArrayCustom.h: 22196 (WebCore::setWebGLArray): 22197 * html/canvas/WebGLFloatArray.idl: 22198 * html/canvas/WebGLUnsignedIntArray.idl: 22199 22200 2009-12-12 Kenneth Russell <kbr (a] google.com> 22201 22202 Reviewed by Oliver Hunt. 22203 22204 Update WebGL tests to released versions 22205 https://bugs.webkit.org/show_bug.cgi?id=32457 22206 22207 * manual-tests/webgl/Earth.html: 22208 * manual-tests/webgl/ManyPlanetsDeep.html: 22209 * manual-tests/webgl/SpinningBox.html: 22210 * manual-tests/webgl/TeapotPerPixel.html: 22211 * manual-tests/webgl/TeapotPerVertex.html: 22212 * manual-tests/webgl/resources/CanvasMatrix.js: 22213 (CanvasMatrix4.prototype.getAsWebGLFloatArray): 22214 * manual-tests/webgl/resources/utils3d.js: 22215 (initWebGL.gl.console.window.console.log): 22216 (initWebGL): 22217 (loadShader): 22218 (makeBox): 22219 (makeSphere): 22220 (processLoadObj): 22221 (doLoadObj): 22222 (doLoadImageTexture): 22223 22224 2009-12-12 Christian Dywan <christian (a] twotoasts.de> 22225 22226 Reviewed by Dirk Schulze. 22227 22228 Remove the include to SVGFEDisplacementMap.h, it's not needed at all. 22229 22230 * platform/graphics/filters/FEComponentTransfer.h: 22231 22232 2009-12-12 Christian Dywan <christian (a] twotoasts.de> 22233 22234 Rubber-stamped by Maciej Stachowiak. 22235 22236 Only include SVGFEDisplacementMap.h if SVG is enabled. 22237 22238 * platform/graphics/filters/FEComponentTransfer.h: 22239 22240 2009-12-12 Dirk Schulze <krit (a] webkit.org> 22241 22242 Reviewed by Eric Seidel. 22243 22244 [Cairo][Qt] Alpha blending in SVG filters is wrong 22245 https://bugs.webkit.org/show_bug.cgi?id=32427 22246 22247 This patch is a follow-up to: 22248 http://trac.webkit.org/changeset/51950 22249 It fixes the alpha blending for Cairo and Qt on SVG Filters. 22250 22251 Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg 22252 * LayoutTests/svg/filters/feComposite.svg 22253 and others. 22254 22255 * platform/graphics/cairo/ImageBufferCairo.cpp: 22256 (WebCore::ImageBuffer::platformTransformColorSpace): 22257 * platform/graphics/qt/ImageBufferQt.cpp: 22258 (WebCore::ImageBuffer::platformTransformColorSpace): 22259 22260 2009-12-11 Eric Roman <eroman (a] chromium.org> 22261 22262 Unreviewed build fix. 22263 22264 [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033. 22265 22266 * bindings/v8/ScriptController.cpp: 22267 (WebCore::ScriptController::anyPageIsProcessingUserGesture): 22268 * bindings/v8/ScriptController.h: 22269 22270 2009-12-11 Dimitri Glazkov <dglazkov (a] chromium.org> 22271 22272 Unreviewed, build fix. 22273 22274 [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033. 22275 22276 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 22277 (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing 22278 to the submit method. 22279 22280 2009-12-11 Sam Weinig <sam (a] webkit.org> 22281 22282 Reviewed by Mark Rowe. 22283 22284 Put -umbrella linker flag into a variable so that it can be overridden. 22285 22286 * Configurations/WebCore.xcconfig: 22287 22288 2009-12-11 Shinichiro Hamaji <hamaji (a] chromium.org> 22289 22290 Reviewed by Darin Adler. 22291 22292 body with display:inline causes crash 22293 https://bugs.webkit.org/show_bug.cgi?id=32371 22294 22295 Tests: fast/inline/inline-body-crash.html 22296 fast/inline/inline-body-with-scrollbar-crash.html 22297 22298 * page/FrameView.cpp: 22299 (WebCore::FrameView::createScrollbar): 22300 (WebCore::FrameView::layout): 22301 22302 2009-12-11 Brady Eidson <beidson (a] apple.com> 22303 22304 Rubberstamped by Sam Weinig. 22305 22306 https://webkit.org/b/22851 - Remove defunct FIXME. 22307 22308 * html/HTMLPlugInElement.cpp: 22309 (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely 22310 from the HTMLFrameOwnerElement chain of classes. 22311 22312 2009-12-11 Darin Adler <darin (a] apple.com> 22313 22314 Reviewed by Dan Bernstein. 22315 22316 Small refactoring to get rid of some extra unneeded selection-related work 22317 in RenderLayer::scrollToOffset and separate caret and range selection 22318 logic in FrameView::layout. This may be useful later when changing how 22319 the range selection logic works to fix layout reentrancy problems. 22320 22321 * page/Frame.cpp: Removed invalidateSelection. 22322 * page/Frame.h: Ditto. 22323 22324 * page/FrameView.cpp: 22325 (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout 22326 and Frame::selectionLayoutChanged instead of calling 22327 Frame::invalidateSelection, which was just a function that called 22328 both of those others. 22329 22330 * rendering/RenderLayer.cpp: 22331 (WebCore::RenderLayer::scrollToOffset): Call 22332 SelectionController::setNeedsLayout instead of calling 22333 Frame::invalidateSelection. This call site only needs the caret-related 22334 work in that first function, not the other work formerly done by 22335 Frame::invalidateSelection. The caret works outside the normal 22336 painting and rendering system, and the range selection highlight is 22337 more or less inside it and doesn't need special handling when scrolling. 22338 22339 2009-12-11 Brady Eidson <beidson (a] apple.com> 22340 22341 Reviewed by Darin Adler. 22342 22343 <rdar://problem/7342725> and https://webkit.org/b/32383 22344 Selecting article text at sfgate.com results in spurious back/forward entries 22345 22346 If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries. 22347 22348 In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry 22349 but has a bug that prevents this. 22350 22351 Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique. 22352 22353 This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process. 22354 22355 Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html 22356 http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html 22357 22358 Capture whether the form was submitted by javascript: 22359 * loader/FormState.cpp: 22360 (WebCore::FormState::FormState): 22361 (WebCore::FormState::create): 22362 * loader/FormState.h: 22363 (WebCore::FormState::formSubmissionTrigger): 22364 22365 When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account: 22366 * loader/RedirectScheduler.cpp: 22367 (WebCore::RedirectScheduler::scheduleFormSubmission): 22368 22369 Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings, 22370 and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger: 22371 * bindings/js/JSHTMLFormElementCustom.cpp: 22372 (WebCore::JSHTMLFormElement::submit): 22373 * html/HTMLFormElement.cpp: 22374 (WebCore::HTMLFormElement::prepareSubmit): 22375 (WebCore::HTMLFormElement::submit): 22376 * html/HTMLFormElement.h: 22377 22378 2009-12-11 Alexey Proskuryakov <ap (a] apple.com> 22379 22380 Reviewed by Darin Adler. 22381 22382 https://bugs.webkit.org/show_bug.cgi?id=32445 22383 REGRESSION: http://www.mcafee.com/japan/ displays unstyled 22384 22385 * css/CSSImportRule.cpp: 22386 (WebCore::CSSImportRule::setCSSStyleSheet): 22387 * html/HTMLLinkElement.cpp: 22388 (WebCore::HTMLLinkElement::setCSSStyleSheet): 22389 Add a quirk for mcafee.com/japan (http or https, with or without www). 22390 22391 2009-12-11 Sam Weinig <sam (a] webkit.org> 22392 22393 Reviewed by Dan Bernstein. 22394 22395 Make PlatformWheelEvent.h private instead of project. 22396 22397 * WebCore.xcodeproj/project.pbxproj: 22398 22399 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22400 22401 Reviewed by Darin Adler. 22402 22403 Support reflections on composited layers 22404 https://bugs.webkit.org/show_bug.cgi?id=31885 22405 22406 First part of supporting composited reflections on compositing layers. 22407 22408 Rename the m_transformLayer member variable to m_structuralLayer, since it 22409 will get used both for transform layers (for preserve-3d) and to hold a flattening 22410 layer related to reflections, both of which have similar requirements, and are 22411 mutually exclusive. 22412 22413 * platform/graphics/mac/GraphicsLayerCA.h: 22414 primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return 22415 a CALayer, since m_structuralLayer isn't always a WebLayer. 22416 22417 * platform/graphics/mac/GraphicsLayerCA.mm: 22418 (WebCore::GraphicsLayerCA::commitLayerChanges): 22419 updateLayerPreserves3D() renamed to updateStructuralLayer() 22420 22421 (WebCore::GraphicsLayerCA::updateLayerNames): 22422 New "update" method for updating layer names. 22423 22424 (WebCore::GraphicsLayerCA::updateSublayerList): 22425 m_transformLayer -> m_structuralLayer. Also minor refactor to only 22426 allocate newSublayers in one place. 22427 22428 (WebCore::GraphicsLayerCA::updateLayerSize): 22429 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): 22430 (WebCore::GraphicsLayerCA::hostLayerForSublayers): 22431 (WebCore::GraphicsLayerCA::layerForSuperlayer): 22432 m_transformLayer -> m_structuralLayer 22433 22434 (WebCore::GraphicsLayerCA::updateStructuralLayer): 22435 Call ensureStructuralLayer() which handles any deltas to the 22436 structural layer type. 22437 22438 (WebCore::GraphicsLayerCA::ensureStructuralLayer): 22439 Handle changes to the structural layer requirements 22440 22441 (WebCore::GraphicsLayerCA::structuralLayerPurpose): 22442 Return an enum describing the purpose of the structural layer; for now 22443 this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but 22444 will in future also have a value related to reflections. 22445 22446 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22447 22448 Build fix for platforms where ACCELERATED_COMPOSITING is not defined. 22449 22450 * page/animation/KeyframeAnimation.cpp: 22451 (WebCore::KeyframeAnimation::pauseAnimation): 22452 22453 2009-12-11 Adam Roben <aroben (a] apple.com> 22454 22455 Windows build fix 22456 22457 * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of 22458 non-existent header. 22459 22460 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22461 22462 Build fix, no review. 22463 22464 Build fix for platforms where ACCELERATED_COMPOSITING is not defined. 22465 22466 * page/animation/KeyframeAnimation.cpp: 22467 (WebCore::KeyframeAnimation::startAnimation): 22468 22469 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22470 22471 Build fix, no review. 22472 22473 Build fix for platforms where ACCELERATED_COMPOSITING is not defined. 22474 22475 * page/animation/ImplicitAnimation.cpp: 22476 (WebCore::ImplicitAnimation::startAnimation): 22477 22478 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22479 22480 Reviewed by Darin Adler. 22481 22482 Negative values for animation-delay are ignored (treated as zero) 22483 https://bugs.webkit.org/show_bug.cgi?id=26150 22484 22485 When we get the m_startTime for an animation or transition, subtract any negative 22486 delay so the animation/transition behaves like it started in the past, per spec. 22487 22488 Tests: animations/negative-delay.html 22489 transitions/negative-delay.html 22490 22491 * page/animation/AnimationBase.cpp: 22492 (WebCore::AnimationBase::updateStateMachine): 22493 22494 2009-12-11 Simon Fraser <simon.fraser (a] apple.com> 22495 22496 Reviewed by Dan Bernstein. 22497 22498 Accelerated transitions broken when mixed with paused animations 22499 https://bugs.webkit.org/show_bug.cgi?id=32387 22500 22501 Synchronization of a mixture of accelerated and software animations occurs via 22502 a callback from GraphicsLayerCA, which ends up in 22503 AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is 22504 the exact time at which the accelerated animations started, so is used as the 22505 start time for all animations and transitions which are marked as waiting. 22506 22507 The bug was that the callback called when re-starting animations that were 22508 paused sent back an old time value, but this was used to start normal 22509 transitions. Therefore the transition would start with a stale start time, and 22510 thus end prematurely. 22511 22512 The fix is to change the way that GraphicsLayerCA handles paused animations. 22513 Rather than setting the beginTime of the animation, it uses a beginTime of 0 22514 and a timeOffset that gets passed down. Thus the callbacks always come with 22515 beginTime for 'now'. 22516 22517 Also clarify the role of AnimationBase::endAnimation() by splitting it into 22518 pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than 22519 beginTimes when starting and pausing. 22520 22521 Manual test only, because the bug requires a non-trivial combination of 22522 animation pausing and transitions which take time, and the bug only shows in 22523 pixel results. 22524 22525 * manual-tests/animation/transitions-and-paused-animations.html 22526 22527 * page/animation/AnimationBase.cpp: 22528 (WebCore::AnimationBase::updateStateMachine): 22529 * page/animation/AnimationBase.h: 22530 (WebCore::AnimationBase::startAnimation): 22531 (WebCore::AnimationBase::pauseAnimation): 22532 (WebCore::AnimationBase::endAnimation): 22533 * page/animation/ImplicitAnimation.cpp: 22534 (WebCore::ImplicitAnimation::~ImplicitAnimation): 22535 (WebCore::ImplicitAnimation::startAnimation): 22536 (WebCore::ImplicitAnimation::endAnimation): 22537 (WebCore::ImplicitAnimation::onAnimationEnd): 22538 * page/animation/ImplicitAnimation.h: 22539 (WebCore::ImplicitAnimation::pauseAnimation): 22540 * page/animation/KeyframeAnimation.cpp: 22541 (WebCore::KeyframeAnimation::~KeyframeAnimation): 22542 (WebCore::KeyframeAnimation::startAnimation): 22543 (WebCore::KeyframeAnimation::pauseAnimation): 22544 (WebCore::KeyframeAnimation::endAnimation): 22545 (WebCore::KeyframeAnimation::onAnimationEnd): 22546 * page/animation/KeyframeAnimation.h: 22547 * platform/graphics/GraphicsLayer.h: 22548 (WebCore::GraphicsLayer::addAnimation): 22549 (WebCore::GraphicsLayer::pauseAnimation): 22550 * platform/graphics/mac/GraphicsLayerCA.h: 22551 (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation): 22552 (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction): 22553 * platform/graphics/mac/GraphicsLayerCA.mm: 22554 (WebCore::GraphicsLayerCA::addAnimation): 22555 (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes): 22556 (WebCore::GraphicsLayerCA::pauseAnimation): 22557 (WebCore::GraphicsLayerCA::updateLayerAnimations): 22558 (WebCore::GraphicsLayerCA::setAnimationOnLayer): 22559 (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): 22560 (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): 22561 (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): 22562 * rendering/RenderLayerBacking.cpp: 22563 (WebCore::RenderLayerBacking::startAnimation): 22564 (WebCore::RenderLayerBacking::startTransition): 22565 (WebCore::RenderLayerBacking::animationPaused): 22566 * rendering/RenderLayerBacking.h: 22567 22568 2009-12-11 Brian Weinstein <bweinstein (a] apple.com> 22569 22570 Reviewed by Darin Adler. 22571 22572 Fixes <http://webkit.org/b/32399>. 22573 Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled. 22574 22575 When we initially figure out the layer that we should begin scrolling, don't try to jump out 22576 of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we 22577 don't need that logic anymore. 22578 22579 Added a test to make sure that we don't pan scroll if we start to scroll in an empty 22580 iFrame that has a scrollable owner document. 22581 22582 Test: platform/win/fast/events/panScroll-no-iframe-jump.html 22583 22584 * dom/Node.cpp: 22585 (WebCore::Node::defaultEventHandler): 22586 22587 2009-12-11 Brian Weinstein <bweinstein (a] apple.com> 22588 22589 Reviewed by Adam Roben. 22590 22591 Fixes <http://webkit.org/b/32303>. 22592 Middle-mouse button not firing mousedown DOM event when autoscroll happens. 22593 22594 This fix moves the pan scrolling code into Node.cpp, as part of the default event handler. 22595 We get two wins out of this: 22596 1) Mousedown DOM events are now fired before pan scrolling. 22597 2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling. 22598 22599 Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and 22600 that when event.preventDefault is called, pan scrolling doesn't happen. 22601 22602 Tests: platform/win/fast/events/panScroll-event-fired.html 22603 platform/win/fast/events/panScroll-preventDefault.html 22604 22605 * dom/Node.cpp: 22606 (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here. 22607 * page/EventHandler.cpp: 22608 (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer. 22609 (WebCore::EventHandler::handleMousePressEvent): From here. 22610 * page/EventHandler.h: 22611 22612 2009-12-11 Chris Marrin <cmarrin (a] apple.com> 22613 22614 Reviewed by Adam Roben. 22615 22616 Delay load DLLs for accelerated compositing 22617 https://bugs.webkit.org/show_bug.cgi?id=31856 22618 22619 Change calls that use the data export symbols from 22620 QuartzCore to use the functions in QuartzCoreInterface. 22621 This allows QuartzCore to be delay loaded. 22622 22623 * platform/graphics/win/GraphicsLayerCACF.cpp: 22624 (WebCore::GraphicsLayerCACF::GraphicsLayerCACF): 22625 (WebCore::GraphicsLayerCACF::updateLayerPreserves3D): 22626 (WebCore::GraphicsLayerCACF::updateContentsImage): 22627 * platform/graphics/win/WKCACFLayer.cpp: 22628 (WebCore::toCACFLayerType): 22629 (WebCore::toCACFContentsGravityType): 22630 (WebCore::fromCACFContentsGravityType): 22631 (WebCore::toCACFFilterType): 22632 (WebCore::fromCACFFilterType): 22633 (WebCore::WKCACFLayer::create): 22634 (WebCore::WKCACFLayer::WKCACFLayer): 22635 (WebCore::WKCACFLayer::setContentsGravity): 22636 (WebCore::WKCACFLayer::contentsGravity): 22637 (WebCore::WKCACFLayer::setMagnificationFilter): 22638 (WebCore::WKCACFLayer::magnificationFilter): 22639 (WebCore::WKCACFLayer::setMinificationFilter): 22640 (WebCore::WKCACFLayer::minificationFilter): 22641 * platform/graphics/win/WKCACFLayer.h: 22642 (WebCore::WKCACFLayer::): 22643 * platform/graphics/win/WKCACFLayerRenderer.cpp: 22644 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): 22645 (WebCore::WKCACFLayerRenderer::createRenderer): 22646 22647 2009-12-11 Steve Block <steveblock (a] google.com> 22648 22649 Reviewed by Darin Fisher. 22650 22651 Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost. 22652 https://bugs.webkit.org/show_bug.cgi?id=31810 22653 22654 * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation 22655 of initializeMaximumHTTPConnectionCountPerHost for Android. 22656 * platform/network/android: Added. 22657 * platform/network/android/ResourceRequestAndroid.cpp: Added. 22658 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation. 22659 22660 2009-12-11 Kent Tamura <tkent (a] chromium.org> 22661 22662 Reviewed by Darin Fisher. 22663 22664 Add acceptTypes() method to FileChooser. 22665 https://bugs.webkit.org/show_bug.cgi?id=32429 22666 22667 This method returns an 'accept' attribute value of the 22668 corresponding INPUT element. A ChromeClient::runOpenPanel() 22669 implementation can refer it through a FileChooser instance to 22670 support type-restricted file selecting. 22671 22672 This makes no user-visible changes for now. 22673 22674 * platform/FileChooser.h: 22675 (WebCore::FileChooser::acceptTypes): 22676 * rendering/RenderFileUploadControl.cpp: 22677 (WebCore::RenderFileUploadControl::acceptTypes): 22678 * rendering/RenderFileUploadControl.h: 22679 22680 2009-12-11 Victor Wang <victorw (a] chromium.org> 22681 22682 Reviewed by Darin Fisher. 22683 22684 Changed PopupMenuChromium to keep the value selected from 22685 keyboard when popup is closed. 22686 22687 The problem is Chromium does not fire the onchange event 22688 when the popup is closed if an item is selected via 22689 keyboard by typing the first char of the item. This makes 22690 chromium popup not having consistent behaviours and also 22691 behaves differently from other major browsers. 22692 Calling popup->hide() instead of popup->hidePopup() in 22693 PopupMenu fixes the issues as it does extra step to check 22694 whethere there is a keyboard selection changed when closing 22695 the popup. 22696 22697 https://bugs.webkit.org/show_bug.cgi?id=32403 22698 22699 TEST: add a manual test as the current layout test shell 22700 does not support sending keyboard events to popup list. 22701 22702 * manual-tests/chromium/select-close-popup-value-change.html: Added. 22703 * platform/chromium/PopupMenuChromium.cpp: 22704 (WebCore::PopupMenu::hide): 22705 22706 2009-12-11 anton muhin <antonm (a] chromium.org> 22707 22708 Reviewed by Adam Barth. 22709 22710 [v8] refactor WeakReferenceMap. 22711 Move common bits of functionality to reduce duplication. 22712 22713 https://bugs.webkit.org/show_bug.cgi?id=32389 22714 22715 Should be covered by buildbots. 22716 22717 * bindings/v8/DOMData.h: 22718 (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper): 22719 (WebCore::DOMData::handleWeakObject): 22720 (WebCore::DOMData::removeObjectsFromWrapperMap): 22721 * bindings/v8/DOMDataStore.cpp: 22722 (WebCore::DOMDataStore::weakDOMObjectCallback): 22723 (WebCore::DOMDataStore::weakActiveDOMObjectCallback): 22724 (WebCore::DOMDataStore::weakNodeCallback): 22725 (WebCore::DOMDataStore::weakSVGElementInstanceCallback): 22726 (WebCore::DOMDataStore::weakSVGObjectWithContextCallback): 22727 * bindings/v8/DOMDataStore.h: 22728 * bindings/v8/V8DOMMap.cpp: 22729 (WebCore::visitDOMNodesInCurrentThread): 22730 (WebCore::visitDOMObjectsInCurrentThread): 22731 (WebCore::visitActiveDOMObjectsInCurrentThread): 22732 (WebCore::visitDOMSVGElementInstancesInCurrentThread): 22733 (WebCore::visitSVGObjectsInCurrentThread): 22734 * bindings/v8/V8DOMMap.h: 22735 (WebCore::WeakReferenceMap::removeIfPresent): 22736 (WebCore::WeakReferenceMap::clear): 22737 (WebCore::WeakReferenceMap::visit): 22738 22739 2009-12-11 anton muhin <antonm (a] chromium.org> 22740 Reviewed by Adam Barth. 22741 22742 [v8] in Debug builds create an additional handle scope 22743 when doing debug build checks. 22744 https://bugs.webkit.org/show_bug.cgi?id=32335 22745 22746 Should be covered by buildbots. 22747 22748 * bindings/v8/V8DOMWrapper.h: 22749 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 22750 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 22751 22752 2009-12-11 Pavel Feldman <pfeldman (a] chromium.org> 22753 22754 Reviewed by Timothy Hatcher. 22755 22756 Web Inspector: Do not use ContextMenuItem as value type in custom 22757 context menu implementation. 22758 22759 https://bugs.webkit.org/show_bug.cgi?id=32411 22760 22761 * GNUmakefile.am: 22762 * WebCore.gypi: 22763 * WebCore.pro: 22764 * WebCore.vcproj/WebCore.vcproj: 22765 * WebCore.xcodeproj/project.pbxproj: 22766 * bindings/js/JSInspectorFrontendHostCustom.cpp: 22767 (WebCore::JSInspectorFrontendHost::showContextMenu): 22768 * inspector/InspectorFrontendHost.cpp: 22769 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 22770 (WebCore::InspectorFrontendHost::~InspectorFrontendHost): 22771 (WebCore::InspectorFrontendHost::showContextMenu): 22772 (WebCore::InspectorFrontendHost::contextMenuCleared): 22773 * inspector/InspectorFrontendHost.h: 22774 (WebCore::InspectorFrontendHost::MenuProvider::create): 22775 (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider): 22776 (WebCore::InspectorFrontendHost::MenuProvider::disconnect): 22777 (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu): 22778 (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared): 22779 (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider): 22780 * page/ContextMenuController.cpp: 22781 (WebCore::ContextMenuController::ContextMenuController): 22782 (WebCore::ContextMenuController::clearContextMenu): 22783 (WebCore::ContextMenuController::showContextMenu): 22784 (WebCore::ContextMenuController::contextMenuItemSelected): 22785 * page/ContextMenuController.h: 22786 * page/ContextMenuProvider.h: Added. 22787 (WebCore::ContextMenuProvider::~ContextMenuProvider): 22788 * page/ContextMenuSelectionHandler.h: Removed. 22789 22790 2009-12-11 Simon Hausmann <hausmann (a] webkit.org>, Kim Grnholm <kim.gronholm (a] nomovok.com> 22791 22792 Reviewed by Antti Koivisto. 22793 22794 Basic cross-platform implementation of mapping platform touch events 22795 to JavaScript touch events. 22796 22797 https://bugs.webkit.org/show_bug.cgi?id=32114 22798 22799 Test: fast/events/basic-touch-events.html 22800 22801 * page/EventHandler.cpp: 22802 (WebCore::EventHandler::handleTouchEvent): 22803 * page/EventHandler.h: 22804 22805 2009-12-11 Zoltan Horvath <zoltan (a] webkit.org> 22806 22807 Reviewed by Darin Adler. 22808 22809 Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient 22810 https://bugs.webkit.org/show_bug.cgi?id=32110 22811 22812 Inherits the following class from Noncopyable because it is 22813 instantiated by 'new' and no need to be copyable: 22814 22815 class name - instantiated at: WebCore/'location' 22816 22817 class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229 22818 22819 * loader/FrameLoaderClient.h: 22820 22821 2009-12-11 Zoltan Horvath <zoltan (a] webkit.org> 22822 22823 Reviewed by Darin Adler. 22824 22825 Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory 22826 https://bugs.webkit.org/show_bug.cgi?id=32106 22827 22828 Inherits the following classes from Noncopyable because these are instantiated 22829 by 'new' and no need to be copyable: 22830 22831 class/struct name - instantiated at: WebCore/'location' 22832 22833 class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232 22834 class EmptyDragClient - instantiated at: svg/graphics/SVGImage.cpp:237 22835 class SVGImageChromeClient - instantiated at: svg/graphics/SVGImage.cpp:243 22836 22837 * svg/graphics/SVGImage.cpp: 22838 * loader/EmptyClients.h: 22839 22840 2009-12-11 Benjamin Poulain <benjamin.poulain (a] nokia.com> 22841 22842 Reviewed by Darin Adler. 22843 22844 The values of RuntimeArray are not enumerable 22845 https://bugs.webkit.org/show_bug.cgi?id=29005 22846 22847 The indices of RuntimeArray should be enumerated like for a regular array. 22848 22849 * bridge/runtime_array.cpp: 22850 (JSC::RuntimeArray::getOwnPropertyNames): 22851 * bridge/runtime_array.h: 22852 22853 2009-12-11 Andreas Kling <andreas.kling (a] nokia.com> 22854 22855 Reviewed by Simon Hausmann. 22856 22857 [Qt] ImageDecoderQt: Fix retrieval of image file extensions 22858 22859 QImageReader only allows retrieving the format() before actually reading the image. 22860 22861 https://bugs.webkit.org/show_bug.cgi?id=32428 22862 22863 * platform/graphics/qt/ImageDecoderQt.cpp: 22864 (WebCore::ImageDecoderQt::setData): 22865 (WebCore::ImageDecoderQt::internalDecodeSize): 22866 22867 2009-12-11 Simon Hausmann <hausmann (a] webkit.org>, Kim Grnholm <kim.gronholm (a] nomovok.com> 22868 22869 Reviewed by Antti Koivisto. 22870 22871 Added interfaces for touch event support in JavaScript. 22872 22873 https://bugs.webkit.org/show_bug.cgi?id=32114 22874 22875 The Touch, TouchEvent and TouchList interfaces come straight from 22876 Android's copy of WebKit (eclaire branch). 22877 22878 The PlatformTouchEvent and PlatformTouchPoint code was written by 22879 us. 22880 22881 No new tests added, we are just adding interfaces 22882 with this patch. 22883 22884 * WebCore.pro: 22885 * bindings/js/JSEventCustom.cpp: 22886 (WebCore::toJS): 22887 * dom/Document.cpp: 22888 (WebCore::Document::addListenerTypeIfNeeded): 22889 * dom/Document.h: 22890 (WebCore::Document::): 22891 * dom/Document.idl: 22892 * dom/Element.h: 22893 * dom/Element.idl: 22894 * dom/Event.cpp: 22895 (WebCore::Event::isTouchEvent): 22896 * dom/Event.h: 22897 * dom/EventNames.h: 22898 * dom/Touch.cpp: Added. 22899 (WebCore::contentsX): 22900 (WebCore::contentsY): 22901 (WebCore::Touch::Touch): 22902 (WebCore::Touch::updateLocation): 22903 * dom/Touch.h: Added. 22904 (WebCore::Touch::create): 22905 (WebCore::Touch::frame): 22906 (WebCore::Touch::target): 22907 (WebCore::Touch::identifier): 22908 (WebCore::Touch::clientX): 22909 (WebCore::Touch::clientY): 22910 (WebCore::Touch::screenX): 22911 (WebCore::Touch::screenY): 22912 (WebCore::Touch::pageX): 22913 (WebCore::Touch::pageY): 22914 * dom/Touch.idl: Added. 22915 * dom/TouchEvent.cpp: Added. 22916 (WebCore::TouchEvent::TouchEvent): 22917 (WebCore::TouchEvent::initTouchEvent): 22918 * dom/TouchEvent.h: Added. 22919 (WebCore::TouchEvent::create): 22920 (WebCore::TouchEvent::touches): 22921 (WebCore::TouchEvent::targetTouches): 22922 (WebCore::TouchEvent::changedTouches): 22923 (WebCore::TouchEvent::TouchEvent): 22924 (WebCore::TouchEvent::isTouchEvent): 22925 * dom/TouchEvent.idl: Added. 22926 * dom/TouchList.cpp: Added. 22927 (WebCore::TouchList::item): 22928 * dom/TouchList.h: Added. 22929 (WebCore::TouchList::create): 22930 (WebCore::TouchList::length): 22931 (WebCore::TouchList::append): 22932 (WebCore::TouchList::TouchList): 22933 * dom/TouchList.idl: Added. 22934 * html/HTMLAttributeNames.in: 22935 * html/HTMLElement.cpp: 22936 (WebCore::HTMLElement::parseMappedAttribute): 22937 * page/DOMWindow.h: 22938 * page/DOMWindow.idl: 22939 * platform/PlatformTouchEvent.h: Added. 22940 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 22941 (WebCore::PlatformTouchEvent::touchPoints): 22942 * platform/PlatformTouchPoint.h: Added. 22943 (WebCore::PlatformTouchPoint::): 22944 (WebCore::PlatformTouchPoint::id): 22945 (WebCore::PlatformTouchPoint::state): 22946 (WebCore::PlatformTouchPoint::screenPos): 22947 (WebCore::PlatformTouchPoint::pos): 22948 * platform/qt/PlatformTouchEventQt.cpp: Added. 22949 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 22950 * platform/qt/PlatformTouchPointQt.cpp: Added. 22951 (WebCore::PlatformTouchPoint::PlatformTouchPoint): 22952 22953 2009-12-11 Grace Kloba <klobag (a] gmail.com> 22954 22955 Reviewed by Darin Adler. 22956 22957 [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes 22958 HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and 22959 HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared 22960 when HistoryItem is deleted to avoid potential crash. 22961 https://bugs.webkit.org/show_bug.cgi?id=32251 22962 22963 * history/HistoryItem.cpp: 22964 (WebCore::HistoryItem::~HistoryItem): 22965 * history/android/AndroidWebHistoryBridge.h: 22966 (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge): 22967 (WebCore::AndroidWebHistoryBridge::detachHistoryItem): 22968 22969 22970 2009-12-11 Fumitoshi Ukai <ukai (a] chromium.org> 22971 22972 Reviewed by Pavel Feldman. 22973 22974 Log WebSocket error to Web Inspector console. 22975 https://bugs.webkit.org/show_bug.cgi?id=32165 22976 22977 * websockets/WebSocketChannel.cpp: 22978 (WebCore::WebSocketChannel::didOpen): 22979 (WebCore::WebSocketChannel::appendToBuffer): 22980 * websockets/WebSocketHandshake.cpp: 22981 (WebCore::WebSocketHandshake::readServerHandshake): 22982 (WebCore::WebSocketHandshake::readHTTPHeaders): 22983 (WebCore::WebSocketHandshake::checkResponseHeaders): 22984 22985 2009-12-10 Adam Barth <abarth (a] webkit.org> 22986 22987 Reviewed by Darin Adler. 22988 22989 Mixed content shouldn't trigger for plug-ins without URLs 22990 https://bugs.webkit.org/show_bug.cgi?id=32384 22991 22992 These plug-ins cannot be controlled by active network attackers, so 22993 there's no reason to trigger a mixed content warning. 22994 22995 Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html 22996 22997 * loader/FrameLoader.cpp: 22998 (WebCore::FrameLoader::isMixedContent): 22999 23000 2009-12-10 Alexey Proskuryakov <ap (a] apple.com> 23001 23002 Reviewed by Darin Adler. 23003 23004 https://bugs.webkit.org/show_bug.cgi?id=32140 23005 REGRESSION(r50072): Mailman administrative functionality is broken 23006 23007 Test: http/tests/misc/percent-sign-in-form-field-name.html 23008 23009 * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent 23010 sign, we never had a good reason to do that. 23011 23012 2009-12-10 Kent Hansen <kent.hansen (a] nokia.com> 23013 23014 Reviewed by Geoffrey Garen. 23015 23016 Remove getPropertyAttributes() from JavaScript bindings. 23017 https://bugs.webkit.org/show_bug.cgi?id=31933 23018 23019 The functionality is provided by getOwnPropertyDescriptor(). 23020 23021 * WebCore.order: 23022 * bindings/js/JSDOMWindowCustom.cpp: 23023 * bindings/js/JSDOMWindowShell.cpp: 23024 * bindings/js/JSDOMWindowShell.h: 23025 * bindings/scripts/CodeGeneratorJS.pm: 23026 * page/DOMWindow.idl: 23027 23028 2009-12-10 Kenneth Russell <kbr (a] google.com> 23029 23030 Reviewed by Oliver Hunt. 23031 23032 Changed WebGLRenderingContext to synthesize GL errors rather than 23033 raising JavaScript exceptions. Removed internal getError() calls 23034 after each graphics call. The GraphicsContext3D maintains the 23035 synthetic exceptions because only it has complete information 23036 about certain conditions requiring them to be raised. 23037 23038 Based on idea from Ilmari Heikkinen, added create3DDebugContext() 23039 to webgl-test.js and changed the WebGL layout tests expecting 23040 error conditions to use it. Updated expected.txt files, which now 23041 implicitly test the OpenGL error as it is part of the exception's 23042 message. 23043 23044 Added new targeted test covering aspects of synthetic errors as 23045 well as regression tests for bugs uncovered during its development. 23046 23047 Test: fast/canvas/webgl/error-reporting.html 23048 23049 * html/canvas/WebGLRenderingContext.cpp: 23050 (WebCore::WebGLRenderingContext::sizeInBytes): 23051 (WebCore::WebGLRenderingContext::activeTexture): 23052 (WebCore::WebGLRenderingContext::attachShader): 23053 (WebCore::WebGLRenderingContext::bindAttribLocation): 23054 (WebCore::WebGLRenderingContext::bindBuffer): 23055 (WebCore::WebGLRenderingContext::bindFramebuffer): 23056 (WebCore::WebGLRenderingContext::bindRenderbuffer): 23057 (WebCore::WebGLRenderingContext::bindTexture): 23058 (WebCore::WebGLRenderingContext::bufferData): 23059 (WebCore::WebGLRenderingContext::bufferSubData): 23060 (WebCore::WebGLRenderingContext::compileShader): 23061 (WebCore::WebGLRenderingContext::createShader): 23062 (WebCore::WebGLRenderingContext::detachShader): 23063 (WebCore::WebGLRenderingContext::disableVertexAttribArray): 23064 (WebCore::WebGLRenderingContext::drawArrays): 23065 (WebCore::WebGLRenderingContext::drawElements): 23066 (WebCore::WebGLRenderingContext::enableVertexAttribArray): 23067 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): 23068 (WebCore::WebGLRenderingContext::framebufferTexture2D): 23069 (WebCore::WebGLRenderingContext::getActiveAttrib): 23070 (WebCore::WebGLRenderingContext::getActiveUniform): 23071 (WebCore::WebGLRenderingContext::getBufferParameter): 23072 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): 23073 (WebCore::WebGLRenderingContext::getParameter): 23074 (WebCore::WebGLRenderingContext::getProgramParameter): 23075 (WebCore::WebGLRenderingContext::getProgramInfoLog): 23076 (WebCore::WebGLRenderingContext::getRenderbufferParameter): 23077 (WebCore::WebGLRenderingContext::getShaderParameter): 23078 (WebCore::WebGLRenderingContext::getShaderInfoLog): 23079 (WebCore::WebGLRenderingContext::getShaderSource): 23080 (WebCore::WebGLRenderingContext::getTexParameter): 23081 (WebCore::WebGLRenderingContext::getUniform): 23082 (WebCore::WebGLRenderingContext::getUniformLocation): 23083 (WebCore::WebGLRenderingContext::getVertexAttrib): 23084 (WebCore::WebGLRenderingContext::linkProgram): 23085 (WebCore::WebGLRenderingContext::shaderSource): 23086 (WebCore::WebGLRenderingContext::texImage2D): 23087 (WebCore::WebGLRenderingContext::texSubImage2D): 23088 (WebCore::WebGLRenderingContext::uniform1f): 23089 (WebCore::WebGLRenderingContext::uniform1fv): 23090 (WebCore::WebGLRenderingContext::uniform1i): 23091 (WebCore::WebGLRenderingContext::uniform1iv): 23092 (WebCore::WebGLRenderingContext::uniform2f): 23093 (WebCore::WebGLRenderingContext::uniform2fv): 23094 (WebCore::WebGLRenderingContext::uniform2i): 23095 (WebCore::WebGLRenderingContext::uniform2iv): 23096 (WebCore::WebGLRenderingContext::uniform3f): 23097 (WebCore::WebGLRenderingContext::uniform3fv): 23098 (WebCore::WebGLRenderingContext::uniform3i): 23099 (WebCore::WebGLRenderingContext::uniform3iv): 23100 (WebCore::WebGLRenderingContext::uniform4f): 23101 (WebCore::WebGLRenderingContext::uniform4fv): 23102 (WebCore::WebGLRenderingContext::uniform4i): 23103 (WebCore::WebGLRenderingContext::uniform4iv): 23104 (WebCore::WebGLRenderingContext::uniformMatrix2fv): 23105 (WebCore::WebGLRenderingContext::uniformMatrix3fv): 23106 (WebCore::WebGLRenderingContext::uniformMatrix4fv): 23107 (WebCore::WebGLRenderingContext::useProgram): 23108 (WebCore::WebGLRenderingContext::validateProgram): 23109 (WebCore::WebGLRenderingContext::vertexAttribPointer): 23110 * html/canvas/WebGLRenderingContext.h: 23111 (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall): 23112 * platform/graphics/GraphicsContext3D.h: 23113 * platform/graphics/mac/GraphicsContext3DMac.cpp: 23114 (WebCore::GraphicsContext3D::getActiveAttrib): 23115 (WebCore::GraphicsContext3D::getActiveUniform): 23116 (WebCore::GraphicsContext3D::getError): 23117 (WebCore::GraphicsContext3D::synthesizeGLError): 23118 23119 2009-12-10 Stephen White <senorblanco (a] chromium.org> 23120 23121 Reviewed by Dimitri Glazkov. 23122 23123 Fix for assert on Chrome/skia with SVG Filters enabled. 23124 https://bugs.webkit.org/show_bug.cgi?id=32394 23125 23126 Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others. 23127 23128 * platform/graphics/skia/ImageBufferSkia.cpp: 23129 (WebCore::ImageBuffer::platformTransformColorSpace): 23130 23131 2009-12-10 Enrica Casucci <enrica (a] apple.com> 23132 23133 Reviewed by Darin Adler. 23134 23135 REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically. 23136 <rdar://problem/7442065> 23137 https://bugs.webkit.org/show_bug.cgi?id=32285 23138 23139 When examining the styles of the nodes after the first in a range selection, we take into 23140 cosideration differences in style of txt nodes only. 23141 23142 Test: editing/execCommand/queryCommandState-02.html 23143 23144 * editing/Editor.cpp: 23145 (WebCore::Editor::selectionHasStyle): 23146 23147 2009-12-10 Oliver Hunt <oliver (a] apple.com> 23148 23149 Reviewed by Alexey Proskuryakov. 23150 23151 Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing 23152 https://bugs.webkit.org/show_bug.cgi?id=31576 23153 23154 Add a RefCounted wrapper object around xmlParserCtxtPtr so we can 23155 maintain it's lifetime more effectively. 23156 23157 Test: fast/parser/xhtml-close-while-parsing.xhtml 23158 23159 * dom/XMLTokenizer.cpp: 23160 (WebCore::XMLTokenizer::popCurrentNode): 23161 * dom/XMLTokenizer.h: 23162 (WebCore::XMLParserContext::context): 23163 (WebCore::XMLParserContext::XMLParserContext): 23164 (WebCore::XMLTokenizer::context): 23165 * dom/XMLTokenizerLibxml2.cpp: 23166 (WebCore::XMLParserContext::createStringParser): 23167 (WebCore::XMLParserContext::createMemoryParser): 23168 (WebCore::XMLParserContext::~XMLParserContext): 23169 (WebCore::XMLTokenizer::~XMLTokenizer): 23170 (WebCore::XMLTokenizer::doWrite): 23171 (WebCore::XMLTokenizer::initializeParserContext): 23172 (WebCore::XMLTokenizer::doEnd): 23173 (WebCore::XMLTokenizer::lineNumber): 23174 (WebCore::XMLTokenizer::columnNumber): 23175 (WebCore::XMLTokenizer::stopParsing): 23176 (WebCore::parseXMLDocumentFragment): 23177 (WebCore::parseAttributes): 23178 23179 2009-12-10 Pavel Feldman <pfeldman (a] chromium.org> 23180 23181 Reviewed by Timothy Hatcher. 23182 23183 Web Inspector: debugger shortcuts don't work when 23184 Search field or Console drawer has focus. 23185 23186 https://bugs.webkit.org/show_bug.cgi?id=32392 23187 23188 * inspector/front-end/inspector.js: 23189 (WebInspector.loaded): 23190 (WebInspector.documentKeyDown): 23191 (WebInspector.documentKeyUp): 23192 (WebInspector.searchKeyDown): 23193 23194 2009-12-10 Dimitri Glazkov <dglazkov (a] chromium.org> 23195 23196 Reviewed by Adam Barth. 23197 23198 [V8] Events created in isolated worlds may fire in main world. 23199 https://bugs.webkit.org/show_bug.cgi?id=32386 23200 23201 Test: http/tests/security/isolatedWorld/events.html 23202 23203 * WebCore.gypi: Added WorldContextHandle. 23204 * bindings/v8/ScriptEventListener.cpp: 23205 (WebCore::createAttributeEventListener): Added WorldContextHandle params. 23206 * bindings/v8/SharedPersistent.h: Fixed a few style/include issues. 23207 * bindings/v8/V8AbstractEventListener.cpp: 23208 (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params. 23209 (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle. 23210 (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto. 23211 * bindings/v8/V8AbstractEventListener.h: 23212 (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params. 23213 * bindings/v8/V8EventListenerList.h: 23214 (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto. 23215 * bindings/v8/V8LazyEventListener.cpp: 23216 (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto. 23217 (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle. 23218 * bindings/v8/V8LazyEventListener.h: 23219 (WebCore::V8LazyEventListener::create): Added WorldContextHandle params. 23220 * bindings/v8/V8Proxy.cpp: 23221 (WebCore::V8Proxy::context): Refactored to use mainWorldContext(); 23222 (WebCore::V8Proxy::mainWorldContext): Added. 23223 (WebCore::toV8Context): Changed to use WorldContextHandle. 23224 * bindings/v8/V8Proxy.h: Added mainWorldContext decl. 23225 * bindings/v8/V8Utilities.cpp: 23226 (WebCore::reportException): Added an extra check to avoid crashes during frame teardown. 23227 * bindings/v8/V8WorkerContextEventListener.cpp: 23228 (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params. 23229 * bindings/v8/V8WorkerContextEventListener.h: 23230 (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params. 23231 * bindings/v8/WorldContextHandle.cpp: Added. 23232 * bindings/v8/WorldContextHandle.h: Added. 23233 * bindings/v8/custom/V8CustomEventListener.cpp: 23234 (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params. 23235 * bindings/v8/custom/V8CustomEventListener.h: 23236 (WebCore::V8EventListener::create): Added WorldContextHandle params. 23237 23238 2009-12-10 Jon Honeycutt <jhoneycutt (a] apple.com> 23239 23240 Pass more information about a plug-in to the PluginHalterDelegate 23241 23242 Reviewed by Adam Roben. 23243 23244 * loader/EmptyClients.h: 23245 Remove this unused class. 23246 23247 * page/HaltablePlugin.h: 23248 Add new functions to return the plug-in's name and whether it is 23249 windowed. 23250 23251 * page/PluginHalter.cpp: 23252 (WebCore::PluginHalter::timerFired): 23253 Pass new arguments to the client. 23254 23255 * page/PluginHalterClient.h: 23256 Add new parameters. 23257 23258 * plugins/PluginView.cpp: 23259 (WebCore::PluginView::pluginName): 23260 Return the name from the PluginPackage. 23261 23262 * plugins/PluginView.h: 23263 (WebCore::PluginView::isWindowed): 23264 23265 2009-12-09 Brian Weinstein <bweinstein (a] apple.com> 23266 23267 Reviewed by Pavel Feldman. 23268 23269 Fixes <http://webkit.org/b/31738>. 23270 Web Inspector: Console Scope Bar should be on top of console when Console is a Panel. 23271 23272 When the console is set to be shown as a full panel, move the scope bar to the top 23273 where it looks best. When it is only shown as a drawer, move it to the bottom, where 23274 it originally was. This takes up less space as a drawer, and makes it more discoverable 23275 and usable when it is the full panel. 23276 23277 * inspector/front-end/ConsolePanel.js: 23278 (WebInspector.ConsolePanel.prototype.show): Move filter bar to top. 23279 (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom. 23280 * inspector/front-end/inspector.css: 23281 23282 2009-12-10 Stephen White <senorblanco (a] chromium.org> 23283 23284 Reviewed by Dirk Schulze. 23285 23286 Fix for alpha blending in SVG Filters on Chromium/skia. 23287 https://bugs.webkit.org/show_bug.cgi?id=32378 23288 23289 Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others. 23290 23291 * platform/graphics/skia/ImageBufferSkia.cpp: 23292 (WebCore::ImageBuffer::platformTransformColorSpace): 23293 23294 2009-12-10 Pavel Feldman <pfeldman (a] chromium.org> 23295 23296 Reviewed by Timothy Hatcher. 23297 23298 Web Inspector: Add context menu actions for DOM tree. 23299 23300 https://bugs.webkit.org/show_bug.cgi?id=32348 23301 23302 * English.lproj/localizedStrings.js: 23303 * inspector/front-end/ContextMenu.js: 23304 (WebInspector.ContextMenu): 23305 (WebInspector.ContextMenu.prototype.show): 23306 (WebInspector.ContextMenu.prototype.appendItem): 23307 (WebInspector.ContextMenu.prototype.appendSeparator): 23308 (WebInspector.ContextMenu.prototype._itemSelected): 23309 (WebInspector.contextMenuItemSelected): 23310 (WebInspector.contextMenuCleared): 23311 * inspector/front-end/ElementsTreeOutline.js: 23312 (WebInspector.ElementsTreeOutline.prototype._onmouseout): 23313 (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): 23314 (WebInspector.ElementsTreeElement.prototype.ondblclick): 23315 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): 23316 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): 23317 (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu): 23318 (WebInspector.ElementsTreeElement.prototype._startEditing): 23319 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): 23320 * inspector/front-end/ObjectPropertiesSection.js: 23321 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): 23322 * inspector/front-end/ResourceView.js: 23323 (WebInspector.ResourceView.prototype._toggleURLdecoding): 23324 * inspector/front-end/ResourcesPanel.js: 23325 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 23326 * inspector/front-end/StylesSidebarPane.js: 23327 (WebInspector.StylePropertyTreeElement.prototype): 23328 * inspector/front-end/inspector.js: 23329 (WebInspector.contextMenuEventFired): 23330 * inspector/front-end/treeoutline.js: 23331 (TreeElement.treeElementDoubleClicked): 23332 23333 2009-12-09 Nikolas Zimmermann <nzimmermann (a] rim.com> 23334 23335 Reviewed by Oliver Hunt. 23336 23337 Filters contain some leaks in untested code 23338 https://bugs.webkit.org/show_bug.cgi?id=32325 23339 23340 Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for 23341 all classes in svg/graphics, that were missing it. The lighting filters aren't 23342 implemented so far, but the associated FilterEffect objects are build, which created 23343 these leaks. 23344 23345 This removes the SVG related failures in the leaks bot. 23346 23347 * svg/SVGFEDiffuseLightingElement.cpp: 23348 (WebCore::SVGFEDiffuseLightingElement::findLights): 23349 * svg/SVGFEDiffuseLightingElement.h: 23350 * svg/SVGFEDistantLightElement.cpp: 23351 (WebCore::SVGFEDistantLightElement::lightSource): 23352 * svg/SVGFEDistantLightElement.h: 23353 * svg/SVGFELightElement.h: 23354 * svg/SVGFEPointLightElement.cpp: 23355 (WebCore::SVGFEPointLightElement::lightSource): 23356 * svg/SVGFEPointLightElement.h: 23357 * svg/SVGFESpecularLightingElement.cpp: 23358 (WebCore::SVGFESpecularLightingElement::findLights): 23359 * svg/SVGFESpecularLightingElement.h: 23360 * svg/SVGFESpotLightElement.cpp: 23361 (WebCore::SVGFESpotLightElement::lightSource): 23362 * svg/SVGFESpotLightElement.h: 23363 * svg/graphics/filters/SVGDistantLightSource.h: 23364 (WebCore::DistantLightSource::create): 23365 (WebCore::DistantLightSource::DistantLightSource): 23366 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 23367 (WebCore::FEDiffuseLighting::FEDiffuseLighting): 23368 (WebCore::FEDiffuseLighting::create): 23369 (WebCore::FEDiffuseLighting::setLightSource): 23370 * svg/graphics/filters/SVGFEDiffuseLighting.h: 23371 * svg/graphics/filters/SVGFESpecularLighting.cpp: 23372 (WebCore::FESpecularLighting::FESpecularLighting): 23373 (WebCore::FESpecularLighting::create): 23374 (WebCore::FESpecularLighting::setLightSource): 23375 * svg/graphics/filters/SVGFESpecularLighting.h: 23376 * svg/graphics/filters/SVGLightSource.h: 23377 * svg/graphics/filters/SVGPointLightSource.h: 23378 (WebCore::PointLightSource::create): 23379 (WebCore::PointLightSource::PointLightSource): 23380 * svg/graphics/filters/SVGSpotLightSource.h: 23381 (WebCore::SpotLightSource::create): 23382 (WebCore::SpotLightSource::SpotLightSource): 23383 23384 2009-12-10 Kenneth Russell <kbr (a] google.com> 23385 23386 Reviewed by Oliver Hunt. 23387 23388 [Chromium] SporeViewer demo doesn't work in Chromium 23389 https://bugs.webkit.org/show_bug.cgi?id=32364 23390 23391 Test: fast/canvas/webgl/bug-32364.html 23392 23393 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 23394 (WebCore::CALLBACK_FUNC_DECL): 23395 (WebCore::vertexAttribAndUniformHelperf): 23396 (WebCore::uniformHelperi): 23397 23398 2009-12-09 Beth Dakin <bdakin (a] apple.com> 23399 23400 Reviewed by Oliver Hunt. 23401 23402 Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property 23403 -webkit-shadow should apply shadow on the result after compositing 23404 -and corresponding- 23405 <rdar://problem/7389404> 23406 23407 Set a transparency layer when setting a shadow to apply the shadow 23408 to the composite. 23409 * rendering/SVGRenderSupport.cpp: 23410 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 23411 (WebCore::SVGRenderBase::finishRenderSVGContent): 23412 23413 2009-12-09 Alexey Proskuryakov <ap (a] apple.com> 23414 23415 Reviewed by Darin Adler. 23416 23417 https://bugs.webkit.org/show_bug.cgi?id=32332 23418 WebSocket events should be dispatched synchronously 23419 23420 Updated websocket/tests/simple to test for the new behavior. 23421 23422 When Web Sockets API says that events should be queued for async dispatch, it means something 23423 different. We should keep this in mind when dealing with other HTML5-related specs. 23424 23425 The model for HTML5 is that code running in response to network events (e.g. WebSocket or 23426 XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post 23427 async events as its only way to communicate with client code. As long as network events are 23428 queued themselves (as they are in WebKit), there is no need to queue JS events for async 23429 dispatch. 23430 23431 * websockets/WebSocket.cpp: 23432 (WebCore::WebSocket::didConnect): 23433 (WebCore::WebSocket::didReceiveMessage): 23434 (WebCore::WebSocket::didClose): 23435 23436 2009-12-09 Alexey Proskuryakov <ap (a] apple.com> 23437 23438 Reviewed by Oliver Hunt. 23439 23440 https://bugs.webkit.org/show_bug.cgi?id=32355 23441 Assertion failure when opening a WebSocket connection 23442 23443 I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it 23444 will provide partial coverage, as I was frequently seeing the assertion failure with it. 23445 23446 * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send): 23447 It's not an error if zero is returned from platformSend() - it just means that nothing could 23448 be pushed down to the network layer, and all data was queued for later. 23449 * platform/network/cf/SocketStreamHandleCFNet.cpp: 23450 (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream, 23451 but a client can potentially destroy the handle from any callback, so we need to check that 23452 this didn't happen. 23453 (WebCore::SocketStreamHandle::writeStreamCallback): Ditto. 23454 23455 2009-12-09 Sam Weinig <sam (a] webkit.org> 23456 23457 Roll out 51919 and 51920. They were incorrect and unnecessary right now. 23458 23459 * platform/mac/WebCoreObjCExtras.mm: 23460 (WebCoreObjCScheduleDeallocateOnMainThread): 23461 * platform/network/mac/NetworkStateNotifierMac.cpp: 23462 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 23463 23464 2009-12-09 Steve Block <steveblock (a] google.com> 23465 23466 Reviewed by Darin Fisher. 23467 23468 Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState. 23469 https://bugs.webkit.org/show_bug.cgi?id=32330 23470 23471 Build fix only, no new tests. 23472 23473 * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include. 23474 23475 2009-12-09 Steve Block <steveblock (a] google.com> 23476 23477 Reviewed by Darin Adler. 23478 23479 Adds ENABLE(INSPECTOR) guards around script binding methods that use types 23480 defined only when INSPECTOR is enabled. 23481 https://bugs.webkit.org/show_bug.cgi?id=32328 23482 23483 Build fix only, no new tests. 23484 23485 * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue. 23486 * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set. 23487 23488 2009-12-09 Steve Block <steveblock (a] google.com> 23489 23490 Reviewed by Adam Barth. 23491 23492 Adds Android Makefiles for building with V8. 23493 Also updates existing Android Makefiles with latest additions. 23494 https://bugs.webkit.org/show_bug.cgi?id=32278 23495 23496 Build fix only, no new tests. 23497 23498 * Android.derived.jscbindings.mk: Modified. 23499 * Android.derived.mk: Modified. 23500 * Android.derived.v8bindings.mk: Added. 23501 * Android.jscbindings.mk: Modified. 23502 * Android.mk: Modified. 23503 * Android.v8bindings.mk: Added. 23504 23505 2009-12-09 Jonathan Dixon <joth (a] chromium.org> 23506 23507 Reviewed by Dimitri Glazkov. 23508 23509 Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium 23510 https://bugs.webkit.org/show_bug.cgi?id=32338 23511 23512 Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi 23513 23514 * WebCore.gypi: Add missing GeolocationServiceChromium.cpp 23515 23516 2009-12-09 Andreas Kling <andreas.kling (a] nokia.com> 23517 23518 Reviewed by Brady Eidson. 23519 23520 Fixed a typo in http://trac.webkit.org/changeset/51644 that broke 23521 the QWebPage autotest. 23522 23523 No new test required. 23524 23525 * loader/FrameLoader.cpp: 23526 (WebCore::FrameLoader::navigateToDifferentDocument): 23527 23528 2009-12-09 Robert Hogan <robert (a] roberthogan.net> 23529 23530 Reviewed by Eric Seidel. 23531 23532 Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds. 23533 23534 https://bugs.webkit.org/show_bug.cgi?id=32286 23535 23536 * WebCore.pro: 23537 23538 2009-12-09 Philippe Normand <pnormand (a] igalia.com> 23539 23540 Reviewed by Eric Carlson. 23541 23542 Ogg mimetypes are incorrect 23543 https://bugs.webkit.org/show_bug.cgi?id=27113 23544 23545 The ogg extension is handled by audio/ogg instead of 23546 application/ogg. See 23547 http://wiki.xiph.org/MIME_Types_and_File_Extensions 23548 23549 * platform/MIMETypeRegistry.cpp: 23550 (WebCore::TypeExtensionPair::): 23551 23552 2009-12-09 Sam Weinig <sam (a] webkit.org> 23553 23554 Reviewed by Anders Carlsson. 23555 23556 Use the current run loop instead of the main runloop for the NetworkStateNotifier. 23557 23558 * platform/network/mac/NetworkStateNotifierMac.cpp: 23559 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 23560 23561 2009-12-09 Sam Weinig <sam (a] webkit.org> 23562 23563 Reviewed by Anders Carlsson. 23564 23565 Use isMainThread() helper instead of pthread_main_np() != 0. 23566 23567 * platform/mac/WebCoreObjCExtras.mm: 23568 (WebCoreObjCScheduleDeallocateOnMainThread): 23569 23570 2009-12-09 Sam Weinig <sam (a] webkit.org> 23571 23572 Reviewed by Anders Carlsson. 23573 23574 Add some #ifdefs to allow us to experiment with a single NSView mac WebKit. 23575 23576 * page/Chrome.h: 23577 * page/EventHandler.h: 23578 * page/mac/ChromeMac.mm: 23579 * page/mac/DragControllerMac.mm: 23580 (WebCore::DragController::dragOperation): 23581 * page/mac/EventHandlerMac.mm: 23582 (WebCore::EventHandler::eventLoopHandleMouseDragged): 23583 (WebCore::EventHandler::eventActivatedView): 23584 (WebCore::EventHandler::passMousePressEventToSubframe): 23585 (WebCore::EventHandler::passMouseMoveEventToSubframe): 23586 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 23587 (WebCore::EventHandler::passWheelEventToWidget): 23588 (WebCore::EventHandler::focusDocumentView): 23589 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 23590 (WebCore::EventHandler::createDraggingClipboard): 23591 (WebCore::isKeyboardOptionTab): 23592 (WebCore::EventHandler::invertSenseOfTabsToLinks): 23593 (WebCore::EventHandler::tabsToAllControls): 23594 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 23595 (WebCore::EventHandler::accessKeyModifiers): 23596 * platform/ScrollView.cpp: 23597 (WebCore::ScrollView::wheelEvent): 23598 * platform/Widget.cpp: 23599 * platform/Widget.h: 23600 * platform/mac/ScrollViewMac.mm: 23601 * platform/mac/WidgetMac.mm: 23602 (WebCore::Widget::Widget): 23603 (WebCore::Widget::~Widget): 23604 (WebCore::Widget::show): 23605 (WebCore::Widget::hide): 23606 (WebCore::Widget::setCursor): 23607 (WebCore::Widget::paint): 23608 (WebCore::Widget::setFocus): 23609 (WebCore::Widget::setIsSelected): 23610 (WebCore::Widget::frameRect): 23611 (WebCore::Widget::setFrameRect): 23612 23613 2009-12-09 Michael Nordman <michaeln (a] google.com> 23614 23615 Reviewed by Dimitri Glazkov. 23616 23617 Chromium build fix. 23618 23619 No new tests. 23620 23621 * bindings/v8/DOMData.cpp 23622 * bindings/v8/V8DOMWrapper.cpp 23623 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 23624 (WebCore::vertexAttribAndUniformHelperf): 23625 (WebCore::uniformHelperi): 23626 (WebCore::uniformMatrixHelper): 23627 23628 2009-12-09 Sren Gjesse <sgjesse (a] chromium.org> 23629 23630 Reviewed by Pavel Feldman. 23631 23632 [V8] Isolated world reuse failure 23633 https://bugs.webkit.org/show_bug.cgi?id=32306 23634 23635 Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test 23636 LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail. 23637 23638 * bindings/v8/V8Proxy.cpp: 23639 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 23640 (WebCore::V8Proxy::contextDebugId): 23641 23642 2009-12-09 Patrick Scott <phanna (a] email.unc.edu> 23643 23644 Fix the build with ENABLE_ORIENTATION_EVENTS 23645 https://bugs.webkit.org/show_bug.cgi?id=32321 23646 23647 * page/Frame.cpp: 23648 (WebCore::Frame::sendOrientationChangeEvent): 23649 23650 2009-12-09 Avi Drissman <avi (a] chromium.org> 23651 23652 Reviewed by Darin Fisher. 23653 23654 Chromium tickmarks in scrollbar now UX approved. 23655 https://bugs.webkit.org/show_bug.cgi?id=32069 23656 23657 * platform/chromium/ScrollbarThemeChromiumMac.mm: 23658 (WebCore::ScrollbarThemeChromiumMac::paint): 23659 23660 2009-12-09 Chris Marrin <cmarrin (a] apple.com> 23661 23662 Reviewed by Adam Roben. 23663 23664 Delay load DLLs for accelerated compositing 23665 https://bugs.webkit.org/show_bug.cgi?id=31856 23666 23667 Add logic to turn off accelerated compositing if d3d9 or QuartzCore 23668 DLLs are not present. 23669 23670 This patch also changes the WKCACFLayerRenderer to be a pointer. 23671 This allows me to have a create() method which will not create it when 23672 accelerated compositing is disabled because of missing DLLs. It 23673 avoids having to do so many checks. I also made WebViewWndProc 23674 a member function to allow several methods to be made protected, which 23675 allows me to avoid doing availability checks there as well. 23676 23677 * platform/graphics/win/WKCACFLayer.cpp: 23678 * platform/graphics/win/WKCACFLayer.h: 23679 * platform/graphics/win/WKCACFLayerRenderer.cpp: 23680 * platform/graphics/win/WKCACFLayerRenderer.h: 23681 * rendering/RenderLayerBacking.cpp: 23682 23683 2009-12-09 Nate Chapin <japhet (a] chromium.org> 23684 23685 Reviewed by Darin Adler. 23686 23687 Rename dom/ClassNames to SpaceSplitString and update build files. 23688 23689 https://bugs.webkit.org/show_bug.cgi?id=32250 23690 23691 * GNUmakefile.am: 23692 * WebCore.gypi: 23693 * WebCore.pro: 23694 * WebCore.vcproj/WebCore.vcproj: 23695 * WebCore.xcodeproj/project.pbxproj: 23696 * WebCoreSources.bkl: 23697 * css/CSSStyleSelector.cpp: 23698 (WebCore::CSSStyleSelector::matchRules): 23699 * dom/ClassNames.cpp: Removed. 23700 * dom/ClassNames.h: Removed. 23701 * dom/ClassNodeList.h: 23702 * dom/NamedMappedAttrMap.h: 23703 (WebCore::NamedMappedAttrMap::classNames): 23704 * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp. 23705 (WebCore::SpaceSplitStringData::createVector): 23706 (WebCore::SpaceSplitStringData::containsAll): 23707 * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h. 23708 (WebCore::SpaceSplitStringData::SpaceSplitStringData): 23709 (WebCore::SpaceSplitString::SpaceSplitString): 23710 (WebCore::SpaceSplitString::set): 23711 (WebCore::SpaceSplitString::containsAll): 23712 * dom/StyledElement.h: 23713 (WebCore::StyledElement::classNames): 23714 * html/HTMLAnchorElement.cpp: 23715 (WebCore::HTMLAnchorElement::setRel): 23716 23717 2009-12-09 Stephen White <senorblanco (a] chromium.org> 23718 23719 Reviewed by Darin Fisher. 23720 23721 Enable SVG filters in Chromium build. 23722 https://bugs.webkit.org/show_bug.cgi?id=32323 23723 23724 Covered by SVG filter layout tests. 23725 23726 * WebCore.gyp/WebCore.gyp: 23727 * WebCore.gypi: 23728 * bindings/scripts/CodeGeneratorV8.pm: 23729 * bindings/v8/DerivedSourcesAllInOne.cpp: 23730 * bindings/v8/V8DOMWrapper.cpp: 23731 * bindings/v8/V8Index.cpp: 23732 * bindings/v8/V8Index.h: 23733 23734 2009-12-09 Oliver Hunt <oliver (a] apple.com> 23735 23736 Build fix 23737 23738 * bindings/js/JSWebGLRenderingContextCustom.cpp: 23739 (WebCore::functionForUniform): 23740 23741 2009-12-08 Fumitoshi Ukai <ukai (a] chromium.org> 23742 23743 Reviewed by Darin Adler. 23744 23745 WebSocket allow space (U+0020) in sub protocol name. 23746 https://bugs.webkit.org/show_bug.cgi?id=32266 23747 23748 Test: websocket/tests/sub-protocol-with-space.html 23749 23750 * websockets/WebSocket.cpp: 23751 (WebCore::isValidProtocolString): 23752 23753 2009-12-08 Peterson Trethewey <petersont (a] google.com> 23754 23755 Reviewed by Oliver Hunt. 23756 23757 Implement WebGLUniformLocation and change API to use it. 23758 https://bugs.webkit.org/show_bug.cgi?id=31173 23759 23760 Test: fast/canvas/webgl/uniform-location.html 23761 23762 * DerivedSources.make: 23763 * WebCore.gypi: 23764 * WebCore.xcodeproj/project.pbxproj: 23765 * bindings/js/JSWebGLRenderingContextCustom.cpp: 23766 (WebCore::JSWebGLRenderingContext::getProgramParameter): 23767 (WebCore::JSWebGLRenderingContext::getUniform): 23768 (WebCore::functionForUniform): 23769 (WebCore::dataFunctionf): 23770 (WebCore::dataFunctioni): 23771 (WebCore::dataFunctionMatrix): 23772 * bindings/scripts/CodeGeneratorV8.pm: 23773 * bindings/v8/DerivedSourcesAllInOne.cpp: 23774 * bindings/v8/V8Index.cpp: 23775 * bindings/v8/V8Index.h: 23776 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 23777 (WebCore::toWebGLUniformLocation): 23778 (WebCore::): 23779 (WebCore::CALLBACK_FUNC_DECL): 23780 (WebCore::isFunctionToCallForAttribute): 23781 (WebCore::vertexAttribAndUniformHelperf): 23782 (WebCore::uniformHelperi): 23783 (WebCore::uniformMatrixHelper): 23784 * html/canvas/WebGLRenderingContext.cpp: 23785 (WebCore::WebGLRenderingContext::getUniform): 23786 (WebCore::WebGLRenderingContext::getUniformLocation): 23787 (WebCore::WebGLRenderingContext::uniform1f): 23788 (WebCore::WebGLRenderingContext::uniform1fv): 23789 (WebCore::WebGLRenderingContext::uniform1i): 23790 (WebCore::WebGLRenderingContext::uniform1iv): 23791 (WebCore::WebGLRenderingContext::uniform2f): 23792 (WebCore::WebGLRenderingContext::uniform2fv): 23793 (WebCore::WebGLRenderingContext::uniform2i): 23794 (WebCore::WebGLRenderingContext::uniform2iv): 23795 (WebCore::WebGLRenderingContext::uniform3f): 23796 (WebCore::WebGLRenderingContext::uniform3fv): 23797 (WebCore::WebGLRenderingContext::uniform3i): 23798 (WebCore::WebGLRenderingContext::uniform3iv): 23799 (WebCore::WebGLRenderingContext::uniform4f): 23800 (WebCore::WebGLRenderingContext::uniform4fv): 23801 (WebCore::WebGLRenderingContext::uniform4i): 23802 (WebCore::WebGLRenderingContext::uniform4iv): 23803 (WebCore::WebGLRenderingContext::uniformMatrix2fv): 23804 (WebCore::WebGLRenderingContext::uniformMatrix3fv): 23805 (WebCore::WebGLRenderingContext::uniformMatrix4fv): 23806 * html/canvas/WebGLRenderingContext.h: 23807 * html/canvas/WebGLRenderingContext.idl: 23808 * html/canvas/WebGLUniformLocation.cpp: Added. 23809 (WebCore::WebGLUniformLocation::create): 23810 (WebCore::WebGLUniformLocation::WebGLUniformLocation): 23811 * html/canvas/WebGLUniformLocation.h: Added. 23812 (WebCore::WebGLUniformLocation::~WebGLUniformLocation): 23813 (WebCore::WebGLUniformLocation::program): 23814 (WebCore::WebGLUniformLocation::location): 23815 * html/canvas/WebGLUniformLocation.idl: Added. 23816 23817 2009-12-08 Adam Langley <agl (a] google.com> 23818 23819 Reviewed by Darin Adler. 23820 23821 Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo 23822 23823 startDelayUpdateScrollInfo calls a function that can end up calling 23824 startDelayUpdateScrollInfo again. However, it's static state is 23825 inconsistent when this happens leading to an assertion failure (or 23826 probably a memory leak if assertions are off). 23827 23828 Thanks to Robert Swiecki for the test case. 23829 23830 https://bugs.webkit.org/show_bug.cgi?id=32172 23831 http://code.google.com/p/chromium/issues/detail?id=28880 23832 23833 Test: fast/css/recursive-delay-update-scroll.html 23834 23835 * rendering/RenderBlock.cpp: 23836 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 23837 23838 2009-12-08 Steve Falkenburg <sfalken (a] apple.com> 23839 23840 Reviewed by Adam Roben. 23841 23842 WebCore source level debugging on Windows not reliable in some cases 23843 https://bugs.webkit.org/show_bug.cgi?id=32297 23844 23845 Customized pdb file name/location for WebCore static library. 23846 23847 * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName. 23848 23849 2009-12-08 Kevin Watters <kevinwatters (a] gmail.com> 23850 23851 Reviewed by Kevin Ollivier. 23852 23853 [wx] Mac plugins support. 23854 23855 https://bugs.webkit.org/show_bug.cgi?id=32236 23856 23857 * platform/FileSystem.h: 23858 * platform/cf/BinaryPropertyList.h: 23859 * platform/network/curl/ResourceHandleManager.cpp: 23860 * platform/wx/FileSystemWx.cpp: 23861 (WebCore::fileExists): 23862 (WebCore::unloadModule): 23863 (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive): 23864 (WebCore::wxDirTraverserNonRecursive::OnFile): 23865 (WebCore::wxDirTraverserNonRecursive::OnDir): 23866 (WebCore::listDirectory): 23867 * plugins/mac/PluginViewMac.cpp: 23868 (WebCore::nativeWindowFor): 23869 (WebCore::cgHandleFor): 23870 (WebCore::topLevelOffsetFor): 23871 (WebCore::PluginView::platformStart): 23872 (WebCore::PluginView::setFocus): 23873 (WebCore::PluginView::invalidateRect): 23874 (WebCore::PluginView::handleKeyboardEvent): 23875 (WebCore::PluginView::globalMousePosForPlugin): 23876 * plugins/wx/PluginDataWx.cpp: Added. 23877 (WebCore::PluginData::initPlugins): 23878 (WebCore::PluginData::refresh): 23879 * wscript: 23880 23881 2009-12-08 Brady Eidson <beidson (a] apple.com> 23882 23883 Reviewed by Darin Adler. 23884 23885 Navigating to a cached page can result in accessing a destroyed HTMLInputElement. 23886 <rdar://problem/6856662> and https://webkit.org/b/32293 23887 23888 Test: fast/loader/input-element-page-cache-crash.html 23889 23890 * html/HTMLInputElement.cpp: 23891 (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation 23892 callback after the new m_autocomplete setting has been stored so the unregistration actually 23893 takes place. 23894 23895 2009-12-08 Dmitry Titov <dimich (a] chromium.org> 23896 23897 Rubber-stamped by David Levin. 23898 23899 Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." 23900 It may have caused massive increase of reported leaks on the bots. 23901 https://bugs.webkit.org/show_bug.cgi?id=31639 23902 23903 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed. 23904 * loader/icon/IconRecord.cpp: 23905 (WebCore::IconRecord::IconRecord): 23906 * platform/SharedBuffer.cpp: 23907 (WebCore::SharedBuffer::SharedBuffer): 23908 * platform/text/StringImpl.cpp: 23909 (WebCore::StringImpl::StringImpl): 23910 23911 2009-12-08 Pavel Feldman <pfeldman (a] chromium.org> 23912 23913 Reviewed by Darin Fisher. 23914 23915 Chromium: support custom WebCore context menu items in Chromium port. 23916 23917 https://bugs.webkit.org/show_bug.cgi?id=32277 23918 23919 * platform/ContextMenu.h: 23920 * platform/ContextMenuItem.h: 23921 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): 23922 * platform/chromium/ContextMenuChromium.cpp: 23923 (WebCore::ContextMenu::ContextMenu): 23924 (WebCore::ContextMenu::itemCount): 23925 (WebCore::ContextMenu::insertItem): 23926 (WebCore::ContextMenu::appendItem): 23927 (WebCore::ContextMenu::itemWithAction): 23928 (WebCore::ContextMenu::itemAtIndex): 23929 (WebCore::ContextMenu::platformDescription): 23930 * platform/chromium/ContextMenuItemChromium.cpp: 23931 (WebCore::ContextMenuItem::ContextMenuItem): 23932 (WebCore::ContextMenuItem::releasePlatformDescription): 23933 (WebCore::ContextMenuItem::type): 23934 (WebCore::ContextMenuItem::action): 23935 (WebCore::ContextMenuItem::title): 23936 (WebCore::ContextMenuItem::checked): 23937 (WebCore::ContextMenuItem::enabled): 23938 (WebCore::ContextMenuItem::setType): 23939 (WebCore::ContextMenuItem::setAction): 23940 (WebCore::ContextMenuItem::setTitle): 23941 (WebCore::ContextMenuItem::setChecked): 23942 (WebCore::ContextMenuItem::setEnabled): 23943 23944 2009-12-08 Adam Langley <agl (a] google.com> 23945 23946 Reviewed by Dimitri Glazkov. 23947 23948 Chromium Linux: set default scrollbar colours. 23949 23950 This is so that layout tests have sane defaults for the scrollbar 23951 colours, even if the API user doesn't set any. 23952 23953 This is a fix due to r51827. 23954 23955 https://bugs.webkit.org/show_bug.cgi?id=32287 23956 23957 This is very well covered by existing layout tests. 23958 23959 * rendering/RenderThemeChromiumLinux.cpp: 23960 23961 2009-12-08 Beth Dakin <bdakin (a] apple.com> 23962 23963 Reviewed by Sam Weinig. 23964 23965 Fix for <rdar://problem/7397808> Crash occurs at 23966 RenderObject::containingBlock() as I type in the Google Search 23967 field (during page load) 23968 23969 * editing/Editor.cpp: 23970 (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 23971 null checked. 23972 23973 2009-12-08 Dmitry Titov <dimich (a] chromium.org> 23974 23975 Reviewed by Darin Adler. 23976 23977 Add asserts to RefCounted to make sure ref/deref happens on the right thread. 23978 https://bugs.webkit.org/show_bug.cgi?id=31639 23979 23980 * loader/icon/IconRecord.cpp: 23981 (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase. 23982 * platform/SharedBuffer.cpp: 23983 (WebCore::SharedBuffer::SharedBuffer): Ditto. 23984 * platform/text/StringImpl.cpp: 23985 (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString. 23986 * ForwardingHeaders/wtf/ThreadVerifier.h: Added. 23987 23988 2009-12-08 John Gregg <johnnyg (a] google.com> 23989 23990 Reviewed by Adam Barth. 23991 23992 Inform the NotificationCenter when its window goes away in the same 23993 manner as other DOMWindow fields, and prevent invalid operations on 23994 it after that happens. 23995 23996 As part of this, change the V8 bindings for notifications to call 23997 through the NotificationCenter rather than doing those operations 23998 itself. 23999 24000 https://bugs.webkit.org/show_bug.cgi?id=31886 24001 24002 Test: fast/notifications/notification-after-close.html 24003 24004 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 24005 (WebCore::CALLBACK_FUNC_DECL): 24006 * notifications/Notification.cpp: 24007 (WebCore::Notification::Notification): 24008 * notifications/NotificationCenter.cpp: 24009 (WebCore::NotificationCenter::checkPermission): 24010 (WebCore::NotificationCenter::requestPermission): 24011 * notifications/NotificationCenter.h: 24012 (WebCore::NotificationCenter::createHTMLNotification): 24013 (WebCore::NotificationCenter::createNotification): 24014 (WebCore::NotificationCenter::disconnectFrame): 24015 * page/DOMWindow.cpp: 24016 (WebCore::DOMWindow::clear): 24017 24018 2009-12-08 Dan Bernstein <mitz (a] apple.com> 24019 24020 Reviewed by John Sullivan. 24021 24022 Fixed block selection gap repainting in table cells 24023 24024 Test: fast/repaint/block-selection-gap-in-table-cell.html 24025 24026 This recently-introduced regression exposed the fact that 24027 RenderTableCell did not override offsetFromContainer() to adjust for 24028 the fact that table cells coordinates are relative to the table 24029 section, not the table row. With this fixed, RenderTableCell no longer 24030 needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(), 24031 since the base class implementations of those use offsetFromContainer(). 24032 24033 * rendering/RenderTableCell.cpp: 24034 (WebCore::RenderTableCell::offsetFromContainer): 24035 * rendering/RenderTableCell.h: 24036 24037 2009-12-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 24038 24039 Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben. 24040 24041 * WebCorePrefix.h: 24042 24043 2009-12-08 Dan Bernstein <mitz (a] apple.com> 24044 24045 Build fix 24046 24047 * loader/loader.cpp: 24048 (WebCore::cachedResourceTypeToTargetType): 24049 24050 2009-12-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 24051 24052 Not reviewed. Touch svgtags.in to eventually fix the win debug build. 24053 24054 * svg/svgtags.in: 24055 24056 2009-12-08 Mike Belshe <mike (a] belshe.com> 24057 24058 Reviewed by Darin Fisher. 24059 24060 https://bugs.webkit.org/show_bug.cgi?id=32167 24061 Update the ResourceRequest::RequestType. This previously 24062 was specific to Chromium. Moved into ResourceRequestBase, enabling 24063 more specificity about the type (which is otherwise only known to the 24064 loader), and also making this information available to all platforms. 24065 Any platform with a network layer which can utilize this information 24066 may want to use it for prioritization. 24067 24068 Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource. 24069 24070 * loader/loader.cpp: 24071 (WebCore::Loader::Loader): 24072 (WebCore::CachedResourceTypeToTargetType): 24073 (WebCore::Loader::Host::servePendingRequests): 24074 * platform/network/ResourceRequestBase.h: 24075 (WebCore::ResourceRequestBase::): 24076 (WebCore::ResourceRequestBase::targetType): 24077 (WebCore::ResourceRequestBase::setTargetType): 24078 (WebCore::ResourceRequestBase::ResourceRequestBase): 24079 * platform/network/chromium/ResourceRequest.h: 24080 (WebCore::ResourceRequest::ResourceRequest): 24081 24082 2009-12-08 Steve Block <steveblock (a] google.com> 24083 24084 Reviewed by Adam Barth. 24085 24086 [Android] Adds Makefiles for Android port. 24087 https://bugs.webkit.org/show_bug.cgi?id=31325 24088 24089 Build system change only. No tests possible. 24090 24091 * Android.derived.jscbindings.mk: Added. 24092 * Android.derived.mk: Added. 24093 * Android.jscbindings.mk: Added. 24094 * Android.mk: Added. 24095 * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android. 24096 24097 2009-12-08 Christian Dywan <christian (a] twotoasts.de> 24098 24099 Reviewed by Xan Lopez. 24100 24101 * platform/network/soup/DNSSoup.cpp: 24102 (WebCore::prefetchDNS): Conditionalize prefetching on 24103 the libSoup version. 24104 24105 2009-12-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 24106 24107 Rubber-stamped by Maciej Stachowiak. 24108 24109 Turn on (SVG) Filters for Win. 24110 https://bugs.webkit.org/show_bug.cgi?id=32224 24111 24112 * WebCore.vcproj/WebCoreCommon.vsprops: 24113 * WebCore.vcproj/build-generated-files.sh: 24114 * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully. 24115 24116 2009-12-08 Carol Szabo <carol.szabo (a] nokia.com> 24117 24118 Reviewed by Darin Adler. 24119 24120 CSS Counter Nesting still does not work according to the spec. 24121 https://bugs.webkit.org/show_bug.cgi?id=31723 24122 24123 Test: fast/css/counters/nesting.html 24124 24125 * rendering/RenderCounter.cpp: 24126 (WebCore::findPlaceForCounter): 24127 Replaced the faulty counter insertion algorithm with one that works. 24128 24129 2009-12-08 John Sullivan <sullivan (a] apple.com> 24130 24131 Add isAutofilled getter to match existing setter. 24132 24133 Reviewed by Ada Chan. 24134 24135 * bindings/objc/DOMHTML.mm: 24136 (-[DOMHTMLInputElement _isAutofilled]): 24137 Implemented new cover function. 24138 24139 * bindings/objc/DOMPrivate.h: 24140 Declared new cover function. 24141 24142 2009-12-08 Dominik Rttsches <dominik.roettsches (a] access-company.com> 24143 24144 Reviewed by Gustavo Noronha Silva. 24145 24146 [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU) 24147 https://bugs.webkit.org/show_bug.cgi?id=31469 24148 24149 Added a TextBreakIterator implementation based on GLib and pango, 24150 which allows compiling WebCore without ICU. 24151 24152 * GNUmakefile.am: 24153 * platform/text/gtk/TextBreakIteratorGtk.cpp: Added. 24154 (WebCore::): 24155 (WebCore::setUpIterator): 24156 (WebCore::characterBreakIterator): 24157 (WebCore::cursorMovementIterator): 24158 (WebCore::wordBreakIterator): 24159 (WebCore::lineBreakIterator): 24160 (WebCore::sentenceBreakIterator): 24161 (WebCore::textBreakFirst): 24162 (WebCore::textBreakLast): 24163 (WebCore::textBreakNext): 24164 (WebCore::textBreakPrevious): 24165 (WebCore::textBreakPreceding): 24166 (WebCore::textBreakFollowing): 24167 (WebCore::textBreakCurrent): 24168 (WebCore::isTextBreak): 24169 24170 2009-12-08 Alexander Pavlov <apavlov (a] chromium.org> 24171 24172 Reviewed by Pavel Feldman. 24173 24174 Change the way cookies are retrieved in the WebInspector frontend. 24175 24176 Moved the cookie filtering from the native code into the frontend so that 24177 all cookies can be retrieved regardless of the associated domain 24178 (required for certain audits to run.) 24179 https://bugs.webkit.org/show_bug.cgi?id=32160 24180 24181 Test: inspector/cookie-resource-match.html 24182 24183 * inspector/InspectorBackend.cpp: 24184 (WebCore::InspectorBackend::getCookies): 24185 * inspector/InspectorBackend.h: 24186 * inspector/InspectorBackend.idl: 24187 * inspector/InspectorController.cpp: 24188 (WebCore::InspectorController::getCookies): 24189 * inspector/InspectorController.h: 24190 * inspector/front-end/CookieItemsView.js: 24191 (WebInspector.CookieItemsView.prototype.update.callback): 24192 (WebInspector.CookieItemsView.prototype.update): 24193 (WebInspector.CookieItemsView.prototype._cookiesForDomain): 24194 * inspector/front-end/DOMAgent.js: 24195 (WebInspector.Cookies.getCookiesAsync): 24196 (WebInspector.Cookies.cookieMatchesResourceURL): 24197 (WebInspector.Cookies.cookieDomainMatchesResourceDomain): 24198 * inspector/front-end/Resource.js: 24199 (WebInspector.Resource): 24200 (WebInspector.Resource.prototype.get documentURL): 24201 (WebInspector.Resource.prototype.set documentURL): 24202 * inspector/front-end/inspector.js: 24203 (WebInspector.addResource): 24204 24205 2009-12-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 24206 24207 Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-) 24208 24209 * svg/svgtags.in: 24210 24211 2009-12-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 24212 24213 Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch. 24214 24215 * bindings/scripts/CodeGeneratorJS.pm: 24216 24217 2009-12-06 Pavel Feldman <pfeldman (a] chromium.org> 24218 24219 Reviewed by Timothy Hatcher. 24220 24221 Web Inspector: provide custom context menu in the front-end window. 24222 24223 https://bugs.webkit.org/show_bug.cgi?id=32200 24224 24225 * English.lproj/localizedStrings.js: 24226 * GNUmakefile.am: 24227 * WebCore.gypi: 24228 * WebCore.pro: 24229 * WebCore.vcproj/WebCore.vcproj: 24230 * WebCore.xcodeproj/project.pbxproj: 24231 * bindings/js/JSInspectorFrontendHostCustom.cpp: 24232 (WebCore::JSInspectorFrontendHost::showContextMenu): 24233 * inspector/InspectorFrontend.cpp: 24234 (WebCore::InspectorFrontend::contextMenuItemSelected): 24235 (WebCore::InspectorFrontend::contextMenuCleared): 24236 * inspector/InspectorFrontend.h: 24237 * inspector/InspectorFrontendHost.cpp: 24238 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 24239 (WebCore::InspectorFrontendHost::~InspectorFrontendHost): 24240 (WebCore::InspectorFrontendHost::showContextMenu): 24241 (WebCore::InspectorFrontendHost::contextMenuItemSelected): 24242 (WebCore::InspectorFrontendHost::contextMenuCleared): 24243 * inspector/InspectorFrontendHost.h: 24244 (WebCore::InspectorFrontendHost::MenuSelectionHandler::create): 24245 (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler): 24246 (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect): 24247 (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected): 24248 (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared): 24249 (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler): 24250 * inspector/InspectorFrontendHost.idl: 24251 * inspector/front-end/ContextMenu.js: Added. 24252 * inspector/front-end/WebKit.qrc: 24253 * inspector/front-end/inspector.html: 24254 * inspector/front-end/inspector.js: 24255 (WebInspector.loaded): 24256 (WebInspector.documentContextMenu): 24257 * page/ContextMenuController.cpp: 24258 (WebCore::ContextMenuController::ContextMenuController): 24259 (WebCore::ContextMenuController::clearContextMenu): 24260 (WebCore::ContextMenuController::handleContextMenuEvent): 24261 (WebCore::ContextMenuController::showContextMenu): 24262 (WebCore::ContextMenuController::createContextMenu): 24263 (WebCore::ContextMenuController::contextMenuItemSelected): 24264 * page/ContextMenuController.h: 24265 * page/ContextMenuSelectionHandler.h: Added. 24266 (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler): 24267 (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler): 24268 * platform/ContextMenu.cpp: 24269 (WebCore::ContextMenu::checkOrEnableIfNeeded): 24270 * platform/ContextMenuItem.h: 24271 24272 2009-12-08 Andras Becsi <abecsi (a] inf.u-szeged.hu> 24273 24274 Rubber-stamped by Kenneth Rohde Christiansen. 24275 24276 [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters. 24277 24278 No new tests needed. 24279 * WebCore.pro: 24280 24281 2009-12-07 Shinichiro Hamaji <hamaji (a] chromium.org> 24282 24283 Reviewed by Darin Adler. 24284 24285 Add a function to show render tree for debugging 24286 https://bugs.webkit.org/show_bug.cgi?id=31288 24287 24288 No new tests because this just adds a function for debugging. 24289 24290 * rendering/RenderObject.cpp: 24291 (WebCore::RenderObject::showRenderObject): 24292 (WebCore::RenderObject::showRenderTreeAndMark): 24293 (showRenderTree): 24294 * rendering/RenderObject.h: 24295 24296 2009-12-07 Victor Wang <victorw (a] chromium.org> 24297 24298 Reviewed by Dimitri Glazkov. 24299 24300 Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for 24301 V8 NPObject. This should make the object enumerable and fix the 24302 enumeration issue in layout test plugins/netscape-enumerate.html. 24303 24304 Also fix some existing style issues per webkit style guidelines. 24305 24306 https://bugs.webkit.org/show_bug.cgi?id=32254 24307 24308 Test: plugins/netscape-enumerate.html 24309 24310 * bindings/v8/V8NPObject.cpp: 24311 (npObjectInvokeImpl): 24312 (npObjectInvokeDefaultHandler): 24313 (npObjectGetProperty): 24314 (npObjectPropertyEnumerator): 24315 (npObjectNamedPropertyEnumerator): 24316 (npObjectIndexedPropertyEnumerator): 24317 (createV8ObjectForNPObject): 24318 24319 2009-12-07 Fumitoshi Ukai <ukai (a] chromium.org> 24320 24321 Reviewed by Alexey Proskuryakov. 24322 24323 Fragments now make WebSocket URL parsing fail. 24324 https://bugs.webkit.org/show_bug.cgi?id=32144 24325 24326 * websockets/WebSocket.cpp: 24327 (WebCore::WebSocket::connect): 24328 24329 2009-12-07 Fumitoshi Ukai <ukai (a] chromium.org> 24330 24331 Reviewed by Darin Adler. 24332 24333 Fix wrong length parsing in WebSocket. 24334 https://bugs.webkit.org/show_bug.cgi?id=32203 24335 24336 * websockets/WebSocketChannel.cpp: 24337 (WebCore::WebSocketChannel::didReceiveData): 24338 24339 2009-12-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 24340 24341 Rubber-stamped by Maciej Stachowiak. 24342 24343 Turn on (SVG) Filters for Qt. 24344 https://bugs.webkit.org/show_bug.cgi?id=32224 24345 24346 * WebCore.pro: 24347 24348 2009-12-07 Evan Martin <evan (a] chromium.org> 24349 24350 Reviewed by Eric Seidel. 24351 24352 Chromium: theme scrollbars to match GTK theme. 24353 Add functions to RenderThemeChromiumLinux to change the scrollbar 24354 color. 24355 24356 Since the change is to the Chromium WebKit API layer, testing will 24357 be in Chromium's test shell. 24358 http://bugs.webkit.org/show_bug.cgi?id=32048 24359 24360 Patch from Markus Gutschke <markus (a] chromium.org>. 24361 24362 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 24363 (WebCore::saturateAndBrighten): 24364 (WebCore::outlineColor): 24365 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 24366 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 24367 * rendering/RenderThemeChromiumLinux.cpp: 24368 (WebCore::RenderThemeChromiumLinux::setScrollbarColors): 24369 * rendering/RenderThemeChromiumLinux.h: 24370 (WebCore::RenderThemeChromiumLinux::thumbInactiveColor): 24371 (WebCore::RenderThemeChromiumLinux::thumbActiveColor): 24372 (WebCore::RenderThemeChromiumLinux::trackColor): 24373 24374 2009-12-08 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 24375 24376 Reviewed by Xan Lopez. 24377 24378 [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that 24379 https://bugs.webkit.org/show_bug.cgi?id=32247 24380 24381 Allow creating a ResourceResponse from a SoupMessage. 24382 24383 Covered by API test. 24384 24385 * platform/network/soup/ResourceResponse.h: 24386 (WebCore::ResourceResponse::ResourceResponse): 24387 * platform/network/soup/ResourceResponseSoup.cpp: 24388 (WebCore::ResourceResponse::updateFromSoupMessage): 24389 24390 2009-12-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 24391 24392 Not reviewed. Reverting problematic patch, causing errors. 24393 24394 Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves. 24395 Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912. 24396 24397 * svg/graphics/SVGPaintServerPattern.cpp: 24398 (WebCore::SVGPaintServerPattern::setup): 24399 24400 2009-12-07 Kent Tamura <tkent (a] chromium.org> 24401 24402 Reviewed by Darin Adler. 24403 24404 Add support for HTMLInputElement::stepUp() and stepDown() for 24405 type=number and type=range. 24406 https://bugs.webkit.org/show_bug.cgi?id=27451 24407 24408 Our implementation of stepUp() and stepDown() rounds the resultant 24409 value to conform to the step value. 24410 Change the number-string conversion method for RenderSlider to be 24411 consistent with type=number. 24412 24413 Tests: fast/forms/input-step-number.html 24414 fast/forms/input-step-range.html 24415 fast/forms/input-step-unsupported.html 24416 24417 * html/HTMLInputElement.cpp: 24418 (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE. 24419 (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE. 24420 (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER. 24421 (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER. 24422 (WebCore::HTMLInputElement::stepBase): 24423 (WebCore::HTMLInputElement::stepMismatch): Use stepBase(). 24424 (WebCore::HTMLInputElement::applyStepForNumberOrRange): 24425 (WebCore::HTMLInputElement::stepUp): 24426 (WebCore::HTMLInputElement::stepDown): 24427 (WebCore::HTMLInputElement::formStringFromDouble): 24428 * html/HTMLInputElement.h: 24429 (WebCore::HTMLInputElement::stepUp): 24430 (WebCore::HTMLInputElement::stepDown): 24431 * html/HTMLInputElement.idl: Add stepUp() and stepDown(). 24432 * rendering/RenderSlider.cpp: 24433 (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming. 24434 (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble(). 24435 (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble(). 24436 24437 2009-12-07 Albert J. Wong <ajwong (a] chromium.org> 24438 24439 Not reviewed: Chromium build fix try 2 (dumb error). 24440 24441 * bindings/v8/ScriptValue.h: 24442 (WebCore::ScriptValue::getString): 24443 24444 2009-12-07 Albert J. Wong <ajwong (a] chromium.org> 24445 24446 Not reviewed: Chromium build fix. 24447 24448 Fix Chromium build break caused by an added dependency from 24449 ScriptControllerBase to JSDOMWindowShell, and an API change in 24450 ScriptValue. 24451 24452 * bindings/ScriptControllerBase.cpp: 24453 (WebCore::ScriptController::executeIfJavaScriptURL): 24454 * bindings/v8/ScriptValue.h: 24455 (WebCore::ScriptValue::getString): 24456 24457 2009-12-07 Enrica Casucci <enrica (a] apple.com> 24458 24459 Reviewed by Darin Adler. 24460 24461 REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail. 24462 <rdar://problem/7442387> 24463 https://bugs.webkit.org/show_bug.cgi?id=32233 24464 24465 Fixes problem in re-creating the correct hierarchy under the new block. 24466 Added extensive testing to cover all the cases. 24467 24468 Test: editing/execCommand/indent-with-style2.html 24469 24470 * editing/CompositeEditCommand.cpp: 24471 (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 24472 24473 2009-12-07 Dmitry Titov <dimich (a] chromium.org> 24474 24475 Rubber-stamped by Darin Adler. 24476 24477 Remove ENABLE_SHARED_SCRIPT flags 24478 https://bugs.webkit.org/show_bug.cgi?id=32245 24479 This patch was obtained by "git revert" command and then un-reverting of ChangeLog files. 24480 24481 * Configurations/FeatureDefines.xcconfig: 24482 * GNUmakefile.am: 24483 * WebCore.pro: 24484 24485 2009-12-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 24486 24487 Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots. 24488 24489 * bindings/scripts/CodeGeneratorJS.pm: 24490 24491 2009-12-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 24492 24493 Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds. 24494 24495 * svg/svgtags.in: 24496 24497 2009-12-07 Gavin Barraclough <barraclough (a] apple.com> 24498 24499 Reviewed by Oliver Hunt. 24500 24501 https://bugs.webkit.org/show_bug.cgi?id=32184 24502 Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing. 24503 Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on. 24504 24505 * bindings/ScriptControllerBase.cpp: 24506 (WebCore::ScriptController::executeIfJavaScriptURL): 24507 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 24508 (WebCore::toHTMLCanvasStyle): 24509 (WebCore::JSCanvasRenderingContext2D::setFillColor): 24510 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 24511 (WebCore::JSCanvasRenderingContext2D::setShadow): 24512 * bindings/js/ScriptCallStack.cpp: 24513 (WebCore::ScriptCallStack::ScriptCallStack): 24514 (WebCore::ScriptCallStack::initialize): 24515 * bindings/js/ScriptValue.cpp: 24516 (WebCore::ScriptValue::getString): 24517 * bindings/js/ScriptValue.h: 24518 * bindings/js/SerializedScriptValue.cpp: 24519 (WebCore::SerializingTreeWalker::convertIfTerminal): 24520 * bindings/objc/WebScriptObject.mm: 24521 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 24522 * page/Console.cpp: 24523 (WebCore::Console::addMessage): 24524 24525 2009-12-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 24526 24527 Reviewed by Holger Hans Peter Freyther. 24528 24529 Turn on (SVG) Filters support, by default. 24530 https://bugs.webkit.org/show_bug.cgi?id=32224 24531 24532 Only enable filters on mac for now, skipped all affected tests on the other platforms. 24533 Will enable them one after another, to minimize breakage. 24534 24535 * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag. 24536 24537 2009-12-07 Kent Tamura <tkent (a] chromium.org> 24538 24539 Reviewed by Darin Adler. 24540 24541 Fix a bug that KURL rejects a host name which has an IPv4 address 24542 inside an IPv6 form like [::127.0.0.1]. 24543 https://bugs.webkit.org/show_bug.cgi?id=29913 24544 24545 * platform/KURL.cpp: 24546 (WebCore::characterClassTable): Add IPv6Char to '.'. 24547 24548 2009-12-07 Brady Eidson <beidson (a] apple.com> 24549 24550 Reviewed by Sam Weinig. 24551 24552 <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem 24553 24554 The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's 24555 BackForwardList. That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor. 24556 24557 * history/HistoryItem.cpp: 24558 (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot 24559 outlive its Document and Documents will always clear the back-pointer in their ::detach() method. 24560 (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion 24561 about the original items m_cachedPage object (which is irrelevant to the copy). 24562 24563 2009-12-07 Dmitry Titov <dimich (a] chromium.org> 24564 24565 Reviewed by Darin Adler. 24566 24567 Remove partial SharedScript implementation. 24568 https://bugs.webkit.org/show_bug.cgi?id=32237 24569 The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog. 24570 24571 * DerivedSources.make: 24572 * SharedScript/SharedScriptContext.cpp: Removed. 24573 * SharedScript/SharedScriptContext.h: Removed. 24574 * SharedScript/SharedScriptContext.idl: Removed. 24575 * SharedScript/SharedScriptController.h: Removed. 24576 * SharedScript/WebKitSharedScript.cpp: Removed. 24577 * SharedScript/WebKitSharedScript.h: Removed. 24578 * SharedScript/WebKitSharedScript.idl: Removed. 24579 * SharedScript/WebKitSharedScriptRepository.cpp: Removed. 24580 * SharedScript/WebKitSharedScriptRepository.h: Removed. 24581 * WebCore.vcproj/WebCore.vcproj: 24582 * WebCore.xcodeproj/project.pbxproj: 24583 * dom/Document.cpp: 24584 (WebCore::Document::detach): 24585 * dom/EventTarget.cpp: 24586 * dom/EventTarget.h: 24587 * dom/ScriptExecutionContext.h: 24588 24589 2009-12-07 Alexey Proskuryakov <ap (a] apple.com> 24590 24591 Reviewed by Nikolas Zimmermann. 24592 24593 https://bugs.webkit.org/show_bug.cgi?id=32226 24594 Random crashes in WebSocket tests on Leopard Debug builbot 24595 24596 * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close): 24597 Make sure the object still exists when setting m_state. 24598 24599 2009-12-07 Shiki Okasaka <shiki (a] google.com> 24600 24601 Reviewed by Dirk Schulze. 24602 24603 Avoid zero division during SVGPaintServerPattern::setup() 24604 https://bugs.webkit.org/show_bug.cgi?id=29912 24605 24606 Fix zero division bugs in SVGPaintServerPattern::setup() that occurred 24607 if the tile of a pattern was bigger than the pattern and the pattern 24608 size was < 0.5, and if the attribute overflow was set to visible. 24609 24610 Test: svg/custom/small-pattern.html 24611 24612 * svg/graphics/SVGPaintServerPattern.cpp: 24613 (WebCore::SVGPaintServerPattern::setup): 24614 24615 2009-12-07 Kenneth Russell <kbr (a] google.com> 24616 24617 Reviewed by Dimitri Glazkov. 24618 24619 [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer 24620 https://bugs.webkit.org/show_bug.cgi?id=31889 24621 24622 Fixed bug in handling of zero-argument constructor call. 24623 24624 Test: fast/canvas/webgl/bug-31889.html 24625 24626 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 24627 (WebCore::CALLBACK_FUNC_DECL): 24628 24629 2009-12-07 Gyuyoung Kim <gyuyoung (a] gmail.com> 24630 24631 Reviewed by Eric Seidel. 24632 24633 https://bugs.webkit.org/show_bug.cgi?id=32024 24634 [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER 24635 24636 Fix build errors when javascript-debugger is disabled on GTK 24637 24638 * GNUmakefile.am: 24639 24640 2009-12-07 Dan Bernstein <mitz (a] apple.com> 24641 24642 Reviewed by Darin Adler. 24643 24644 Fixed <rdar://problem/7437820> Weird selection artifacts 24645 24646 Tests: fast/repaint/block-selection-gap-stale-cache-2.html 24647 fast/repaint/block-selection-gap-stale-cache.html 24648 24649 Instead of caching the block selection gaps bounds in the RenderView at setSelection() 24650 time, cache them in each RenderLayer at paint time. This prevents the cache from getting 24651 stale due to layout changes and overflow scrolling. 24652 24653 * rendering/RenderBlock.cpp: 24654 (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll. 24655 (WebCore::RenderBlock::paintSelection): Update the enclosing layers selection gaps bounds. 24656 * rendering/RenderLayer.cpp: 24657 (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps 24658 bounds to include the given rect. 24659 (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached 24660 selection gaps bounds. 24661 (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the 24662 selection gaps bounds. 24663 * rendering/RenderLayer.h: 24664 * rendering/RenderView.cpp: 24665 (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead 24666 of the view-level cache. 24667 (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps(). 24668 * rendering/RenderView.h: 24669 24670 2009-12-07 Philippe Normand <pnormand (a] igalia.com> 24671 24672 Reviewed by Gustavo Noronha. 24673 24674 Fixed whitelist comment and removed useless (tags, sdp) mimetypes 24675 from it. Also, GStreamer doesn't handle directly SMIL. 24676 24677 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 24678 (WebCore::mimeTypeCache): 24679 24680 2009-12-07 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 24681 24682 Reviewed by Xan Lopez. 24683 24684 https://bugs.webkit.org/show_bug.cgi?id=25415 24685 [GTK][ATK] Please implement support for get_text_at_offset 24686 24687 Eliminate the segfaults which occur when accessing the text interface now 24688 implemented by text controls. 24689 24690 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24691 (getPangoLayoutForAtk): 24692 24693 2009-12-07 Gustavo Noronha Silva <gns (a] gnome.org> 24694 24695 Reviewed by Xan Lopez. 24696 24697 Turn the MediaPlayer supported types blacklist into a whitelist 24698 24699 [GTK] REGRESSION: webkit thinks it can render PDFs 24700 https://bugs.webkit.org/show_bug.cgi?id=32183 24701 24702 Covered by API test. 24703 24704 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 24705 (WebCore::mimeTypeCache): 24706 24707 2009-12-07 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 24708 24709 Reviewed by Xan Lopez. 24710 24711 https://bugs.webkit.org/show_bug.cgi?id=25524 24712 [Gtk] Expose the title attribute to assistive technologies 24713 24714 Expose 'alt' attribute from images as accessible name. 24715 Expose the 'title' core HTML attribute as accessible description. 24716 This is a modified version of the original fix submitted by Mario Sanchez Prada, 24717 adjusted so that it doesn't impact other platforms. 24718 24719 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24720 (webkit_accessible_get_name): 24721 (webkit_accessible_get_description): 24722 24723 2009-12-07 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 24724 24725 Reviewed by Simon Hausmann. 24726 24727 [Qt] Fix support for generic font families 24728 24729 By not propagating the resolved font family in FontCacheQt and 24730 only concidering the font description we ended up passing the 24731 generic font families to Qt directly. Since most systems don't 24732 have a mapping for these font families we ended up using the 24733 default font in most cases. 24734 24735 * platform/graphics/qt/FontCacheQt.cpp: 24736 * platform/graphics/qt/FontPlatformData.h: 24737 * platform/graphics/qt/FontPlatformDataQt.cpp: 24738 24739 2009-12-06 Oliver Hunt <oliver (a] apple.com> 24740 24741 Reviewed by Maciej Stachowiak. 24742 24743 Object.getOwnPropertyDescriptor() allows cross-frame access 24744 https://bugs.webkit.org/show_bug.cgi?id=32119 24745 24746 Make all implementations of getOwnPropertyDescriptor that have 24747 cross domain restrictions simply fail immediately on cross domain 24748 access, rather than trying to mimic the behaviour of normal 24749 property access. 24750 24751 Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html 24752 24753 * bindings/js/JSDOMWindowCustom.cpp: 24754 (WebCore::JSDOMWindow::getOwnPropertyDescriptor): 24755 * bindings/js/JSHistoryCustom.cpp: 24756 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate): 24757 * bindings/js/JSLocationCustom.cpp: 24758 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate): 24759 * bindings/scripts/CodeGeneratorJS.pm: 24760 24761 2009-12-07 Steve Block <steveblock (a] google.com> 24762 24763 Reviewed by Adam Barth. 24764 24765 Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files. 24766 https://bugs.webkit.org/show_bug.cgi?id=32157 24767 24768 Build fix only, no new tests. 24769 24770 * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h]. 24771 * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC. 24772 * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC. 24773 * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC. 24774 * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC. 24775 * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray. 24776 * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall. 24777 * bridge/jni/jsc: Added. 24778 * bridge/jni/jsc/jni_utility_private.cpp: Added. 24779 (JSC::Bindings::convertArrayInstanceToJavaArray): 24780 (JSC::Bindings::convertValueToJValue): 24781 * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall. 24782 * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC. 24783 24784 2009-12-06 Oliver Hunt <oliver (a] apple.com> 24785 24786 Reviewed by Maciej Stachowiak. 24787 24788 texImage2D pixel junk for transparency 24789 https://bugs.webkit.org/show_bug.cgi?id=32188 24790 24791 Use kCGBlendModeCopy when drawing an image to the intermediate context 24792 used to create a GL texture. 24793 24794 No test as we don't currently have any mechanism to retrieve pixel data 24795 from the webgl context. 24796 24797 * platform/graphics/mac/GraphicsContext3DMac.cpp: 24798 (WebCore::imageToTexture): 24799 24800 2009-12-03 Philippe Normand <pnormand (a] igalia.com> 24801 24802 Reviewed by Gustavo Noronha. 24803 24804 Advertize audio/ogg correctly and refactored mime-type cache 24805 building. 24806 24807 [GTK] Recognize oga as audio/ogg 24808 https://bugs.webkit.org/show_bug.cgi?id=31990 24809 24810 Test: media/media-can-play-ogg.html 24811 24812 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 24813 (WebCore::mimeTypeCache): 24814 24815 2009-12-05 Alexey Proskuryakov <ap (a] apple.com> 24816 24817 Reviewed by Eric Seidel. 24818 24819 https://bugs.webkit.org/show_bug.cgi?id=32175 24820 REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot 24821 24822 * platform/network/cf/SocketStreamHandleCFNet.cpp: 24823 (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both 24824 streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed. 24825 (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit. 24826 24827 2009-12-05 Adam Langley <agl (a] google.com> 24828 24829 Reviewed by Adam Barth. 24830 24831 Check that a CSS format() argument is of a valid type. 24832 24833 https://bugs.webkit.org/show_bug.cgi?id=31815 24834 http://code.google.com/p/chromium/issues/detail?id=28582 24835 24836 Test: fast/css/url-format-non-string.html 24837 24838 * css/CSSParser.cpp: 24839 (WebCore::CSSParser::parseFontFaceSrc): 24840 24841 2009-12-04 Adam Langley <agl (a] google.com> 24842 24843 Reviewed by Eric Seidel. 24844 24845 Chromium: make rounded borders heavier. 24846 24847 Skia draws its rounded corners differently from the other ports. 24848 Whereas they have anti-aliased clipping regions, Skia only has 1-bit 24849 regions. (Which is technically more correct, but somewhat unhelpful 24850 for us.) Instead, with Skia we use a layer and collect all the 24851 clipping paths in effect. When the state is popped, we paint 24852 transparency outside the clipping paths and merge the layer down. 24853 24854 This appears to cause rounded borders to look a little thin, which is 24855 addressed in this patch. 24856 24857 This is well covered by existing tests but will require new baselines 24858 in the Chromium tree. 24859 24860 https://bugs.webkit.org/show_bug.cgi?id=31778 24861 24862 * platform/graphics/skia/GraphicsContextSkia.cpp: 24863 (WebCore::GraphicsContext::addInnerRoundedRectClip): 24864 24865 2009-12-04 Simon Fraser <simon.fraser (a] apple.com> 24866 24867 Reviewed by Dan Bernstein. 24868 24869 <rdar://problem/7441571> Hardware-backed layers are skipped when printing 24870 24871 When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers 24872 paint. This also causes 3D transforms to be flattened to 2D. 24873 24874 Test: printing/compositing-layer-printing.html 24875 24876 * page/FrameView.cpp: 24877 (WebCore::FrameView::paintContents): 24878 24879 2009-12-04 Oliver Hunt <oliver (a] apple.com> 24880 24881 Reviewed by Beth Dakin. 24882 24883 Fix up some issues in my SVGListTraits change from yesterday. 24884 24885 * svg/SVGListTraits.h: 24886 (WebCore::): 24887 24888 2009-12-04 Albert J. Wong <ajwong (a] chromium.org> 24889 24890 Not reviewed: chromium build fix. 24891 24892 Fix Chromium build break caused by moving of isDefaultPortForProtocol() and 24893 portAllowed() into KURL.h/KURL.cpp. Cloning code. 24894 24895 * platform/KURLGoogle.cpp: 24896 (WebCore::isDefaultPortForProtocol): 24897 (WebCore::portAllowed): 24898 24899 2009-12-04 Pavel Feldman <pfeldman (a] chromium.org> 24900 24901 Reviewed by Timothy Hatcher. 24902 24903 Web Inspector: Remove suppress highlight when restoring selected node. 24904 24905 https://bugs.webkit.org/show_bug.cgi?id=32152 24906 24907 * inspector/front-end/ElementsPanel.js: 24908 (WebInspector.ElementsPanel.prototype.setDocument.selectNode): 24909 (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): 24910 (WebInspector.ElementsPanel.prototype.setDocument): 24911 24912 2009-12-04 Dirk Schulze <krit (a] webkit.org> 24913 24914 Reviewed by Nikolas Zimmermann. 24915 24916 Gradient SVG animation demonstrates tearing at animation extremes 24917 https://bugs.webkit.org/show_bug.cgi?id=11929 24918 24919 The focalPoint of a radial gradient is temporarly substracted by 24920 the centralPoint, if the focalPoint is not in the radius of the 24921 gradient. This is needed to calculate a new postion of the focalPoint 24922 according to the specification. But the new focalPoint needs to be 24923 moved by the centralPoint after this calculation, which is not the case 24924 at the moment. This patch fixes this issue. It was also introduced a 24925 deviation of maximal 0.2% for Cairo to get around the fixed point numbers 24926 in Cairo. 24927 24928 W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment 24929 of the new focalPoint caused wrong results for the last three tests. 24930 24931 Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg 24932 24933 * svg/SVGRadialGradientElement.cpp: 24934 (WebCore::SVGRadialGradientElement::buildGradient): 24935 24936 2009-12-04 Anton Muhin <antonm (a] chromium.org> 24937 24938 Reviewed by Dmitry Titov. 24939 24940 Do not use WebCore::String::String(const UChar*, int length) to convert 24941 short v8 strings. 24942 24943 Plus added string traits. 24944 https://bugs.webkit.org/show_bug.cgi?id=31415 24945 24946 * bindings/v8/V8Binding.cpp: 24947 (WebCore::): 24948 (WebCore::v8StringToWebCoreString): 24949 24950 2009-12-04 Chris Fleizach <cfleizach (a] apple.com> 24951 24952 Reviewed by Darin Adler. 24953 24954 REGRESSION: AX: buttons now extremely repetitive 24955 https://bugs.webkit.org/show_bug.cgi?id=32164 24956 24957 Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html 24958 24959 * accessibility/AccessibilityObject.h: 24960 (WebCore::AccessibilityObject::isButton): 24961 * accessibility/mac/AccessibilityObjectWrapper.mm: 24962 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 24963 24964 2009-12-04 Zoltan Herczeg <zherczeg (a] inf.u-szeged.hu> 24965 24966 Reviewed by Darin Adler. 24967 24968 Check whether the right side of a string append is non-empty 24969 https://bugs.webkit.org/show_bug.cgi?id=32151 24970 24971 Especially beneficial for CachedScript::script() method 24972 which usually appends an empty string returned by flush() 24973 to its m_script member. m_script is often hundreds of kbytes 24974 which is duplated without reason. 24975 24976 * platform/text/String.cpp: 24977 (WebCore::String::append): 24978 24979 2009-12-04 Enrica Casucci <enrica (a] apple.com> 24980 24981 Reviewed by John Sullivan. 24982 24983 Mail.app crashes when indenting table pasted from Numbers.app. 24984 <rdar://problem/7209507> 24985 https://bugs.webkit.org/show_bug.cgi?id=32166 24986 24987 Test: LayoutTests/editing/execCommand/indent-partial-table.html 24988 24989 * editing/IndentOutdentCommand.cpp: 24990 (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph 24991 after the selection has not been moved. 24992 24993 2009-12-04 Alexey Proskuryakov <ap (a] apple.com> 24994 24995 Reviewed by Darin Adler. 24996 24997 https://bugs.webkit.org/show_bug.cgi?id=32085 24998 WebSocket should block the same ports that are blocked for resource loading 24999 25000 Test: websocket/tests/url-parsing.html 25001 25002 * page/SecurityOrigin.cpp: 25003 (WebCore::SecurityOrigin::SecurityOrigin): 25004 (WebCore::SecurityOrigin::localURLSchemes): 25005 * page/SecurityOrigin.h: 25006 Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin 25007 is not even in WebCore/platform directory). 25008 25009 * html/HTMLAnchorElement.cpp: 25010 (WebCore::HTMLAnchorElement::host): 25011 (WebCore::HTMLAnchorElement::setHost): 25012 (WebCore::HTMLAnchorElement::setPort): 25013 Updated for the new location of isDefaultPortForProtocol(). 25014 25015 * platform/KURL.cpp: 25016 (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively, 25017 since the function doesn't require lower case input. 25018 (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin. 25019 (WebCore::portAllowed): Moved from ResourceHandle. 25020 * platform/KURL.h: 25021 25022 * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the 25023 new location of portAllowed(). 25024 25025 * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR 25026 if trying to connect to a blocked port. 25027 25028 2009-12-04 Benjamin Poulain <benjamin.poulain (a] nokia.com> 25029 25030 Reviewed by Kenneth Rohde Christiansen. 25031 25032 [Qt] WebKit crashes when loading certain SVG images 25033 https://bugs.webkit.org/show_bug.cgi?id=29443 25034 25035 Remove FontFallbackListQt and rely on the common FontFallbackList 25036 to handle the fonts. FontCache and FontPlatformData have been 25037 updated to work with the common FontFallbackList. 25038 25039 In the previous implementation, FontPlatformDataCacheKey 25040 was a clone of FontPlatformData with the hashing 25041 capabilities added in order to use it as a key in the cache's 25042 hashmap. FontPlatformData has been modified to handle the hashing 25043 function directly so the data are not copied twice in memory. 25044 25045 FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of 25046 code from FontCache::getFontData() and FontFallbackList::fontDataAt(). 25047 The behavior is similar except currFamily->family().length() was 25048 not tested and the fallback fonts selector were not used. 25049 25050 Existing tests cover the change. 25051 25052 * WebCore.pro: 25053 * platform/graphics/qt/FontCacheQt.cpp: 25054 (WebCore::FontCache::platformInit): 25055 (WebCore::FontCache::getFontDataForCharacters): 25056 (WebCore::FontCache::getSimilarFontPlatformData): 25057 (WebCore::FontCache::getLastResortFallbackFont): 25058 (WebCore::FontCache::getTraitsInFamily): 25059 (WebCore::FontCache::createFontPlatformData): 25060 * platform/graphics/qt/FontCustomPlatformData.cpp: 25061 (WebCore::FontCustomPlatformData::fontPlatformData): 25062 * platform/graphics/qt/FontFallbackListQt.cpp: 25063 Removed. We now use the implementation from FontFallbackList.cpp 25064 * platform/graphics/qt/FontPlatformData.h: 25065 Add hashing capabilities to be able to use the data with the FontCache. 25066 This was previously done in FontCacheQt.cpp 25067 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate): 25068 (WebCore::FontPlatformData::FontPlatformData): 25069 (WebCore::FontPlatformData::isHashTableDeletedValue): 25070 (WebCore::FontPlatformData::font): 25071 (WebCore::FontPlatformData::size): 25072 (WebCore::FontPlatformData::family): 25073 (WebCore::FontPlatformData::bold): 25074 (WebCore::FontPlatformData::italic): 25075 (WebCore::FontPlatformData::smallCaps): 25076 (WebCore::FontPlatformData::pixelSize): 25077 * platform/graphics/qt/FontPlatformDataQt.cpp: 25078 (WebCore::FontPlatformData::FontPlatformData): 25079 (WebCore::FontPlatformData::~FontPlatformData): 25080 (WebCore::FontPlatformData::operator=): 25081 (WebCore::FontPlatformData::operator==): 25082 (WebCore::FontPlatformData::hash): 25083 25084 2009-12-04 Adam Treat <atreat (a] rim.com> 25085 25086 Reviewed by Dan Bernstein. 25087 25088 Fix wrong assert that was only working through sheer luck. 25089 https://bugs.webkit.org/show_bug.cgi?id=32162 25090 25091 * platform/text/BidiContext.cpp: 25092 (WebCore::BidiContext::create): 25093 25094 2009-12-04 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 25095 25096 Reviewed by Simon Hausmann. 25097 25098 [Qt] Allow removing 'qrc' as a local security origin scheme 25099 25100 * page/SecurityOrigin.cpp: 25101 25102 2009-12-04 Zoltan Horvath <zoltan (a] webkit.org> 25103 25104 Reviewed by Eric Seidel. 25105 25106 Allow custom memory allocation control for WebCore's CollectionCache 25107 https://bugs.webkit.org/show_bug.cgi?id=32109 25108 25109 Inherits the following class from FastAllocBase because it is 25110 instantiated by 'new': 25111 25112 struct name - instantiated at: WebCore/'location' 25113 25114 struct CollectionCache - dom/Document.cpp:4029 25115 25116 * html/CollectionCache.h: 25117 25118 2009-12-04 Steve Block <steveblock (a] google.com> 25119 25120 Reviewed by Darin Adler. 25121 25122 Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 25123 https://bugs.webkit.org/show_bug.cgi?id=32111 25124 25125 In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a 25126 fatal error was registered on this GeoNotifier or if this request has timed 25127 out. If the request is a watch, and is cleared by a call to clearWatch in the 25128 callback, the GeoNotifier object will be destroyed. We must therefore cache the 25129 m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or 25130 Geolocation::requestTimedOut. 25131 25132 Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html 25133 fast/dom/Geolocation/timeout-clear-watch.html 25134 25135 * page/Geolocation.cpp: Modified. 25136 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback. 25137 25138 2009-12-04 Zoltan Horvath <zoltan (a] webkit.org> 25139 25140 Reviewed by Eric Seidel. 25141 25142 Allow custom memory allocation control for 2 classes of the platform directory in WebCore 25143 https://bugs.webkit.org/show_bug.cgi?id= 25144 25145 Inherits the following class from Noncopyable because it is instantiated 25146 by 'new' and no need to be copyable: 25147 25148 class/struct name - instantiated at: WebCore/'location' 25149 25150 class SharedTimer - (its child class) workers/WorkerRunLoop.cpp:91 25151 25152 Inherits the following class from FastAllocBase because it is 25153 instantiated by 'new': 25154 25155 class TransformOperations - rendering/style/RenderStyle.h:1175 25156 25157 Noncopyable.h's include added to SharedTimer.h. 25158 25159 * platform/SharedTimer.h: 25160 * platform/graphics/transforms/TransformOperations.h: 25161 25162 2009-12-04 Xan Lopez <xlopez (a] igalia.com> 25163 25164 Reviewed by Gustavo Noronha. 25165 25166 [GTK]Enable DNS prefetching 25167 https://bugs.webkit.org/show_bug.cgi?id=23846 25168 25169 Enable DNS prefetching. 25170 25171 Based on a patch by Jos Milln. 25172 25173 * platform/network/soup/DNSSoup.cpp: 25174 (WebCore::prefetchDNS): 25175 25176 2009-12-04 Zoltan Horvath <zoltan (a] webkit.org> 25177 25178 Reviewed by Eric Seidel. 25179 25180 Allow custom memory allocation control for the svg directory in WebCore 25181 https://bugs.webkit.org/show_bug.cgi?id= 25182 25183 Inherits the following classes from Noncopyable because these are instantiated 25184 by 'new' and no need to be copyable: 25185 25186 class/struct name - instantiated at: WebCore/'location' 25187 25188 struct ResourceSet - svg/graphics/SVGResource.cpp:148 25189 class SVGFontData - css/CSSFontFaceSource.cpp:156 25190 class SVGDocumentExtensions - dom/Document.cpp:3962 25191 class SVGViewSpec - svg/SVGSVGElement.cpp:191 25192 25193 * svg/SVGDocumentExtensions.h: 25194 * svg/SVGFontData.h: 25195 * svg/SVGViewSpec.h: 25196 * svg/graphics/SVGResource.cpp: 25197 25198 2009-12-03 Chris Fleizach <cfleizach (a] apple.com> 25199 25200 Reviewed by Beth Dakin. 25201 25202 WAI-ARIA: aria-activedescendant doesn't work as intended 25203 https://bugs.webkit.org/show_bug.cgi?id=32100 25204 25205 Fixes a number of issues regarding the "tree" role and aria-activedescendant. 25206 1. The indexes were being reported incorrectly by treeitems. 25207 2. aria-activedescendant changes were not being sent to the containing item. 25208 3. The tree's selected rows need to consult aria-activedescendant. 25209 4. Since a tree changes what it returns as its children (it returns its rows) 25210 the mac-specific array indexing methods need to correctly handle the tree case. 25211 25212 Tests: platform/mac/accessibility/aria-tree-activedescendant.html 25213 platform/mac/accessibility/aria-tree-index-of-items.html 25214 25215 * accessibility/AXObjectCache.h: 25216 (WebCore::AXObjectCache::): 25217 * accessibility/AccessibilityRenderObject.cpp: 25218 (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 25219 (WebCore::AccessibilityRenderObject::activeDescendant): 25220 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 25221 (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows): 25222 * accessibility/mac/AXObjectCacheMac.mm: 25223 (WebCore::AXObjectCache::postPlatformNotification): 25224 * accessibility/mac/AccessibilityObjectWrapper.mm: 25225 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 25226 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): 25227 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 25228 * accessibility/win/AXObjectCacheWin.cpp: 25229 (WebCore::AXObjectCache::postPlatformNotification): 25230 25231 2009-12-03 Zoltan Horvath <zoltan (a] webkit.org> 25232 25233 Reviewed by Eric Seidel. 25234 25235 Allow custom memory allocation control for the xml directory in WebCore 25236 https://bugs.webkit.org/show_bug.cgi?id= 25237 25238 Inherits the following class from Noncopyable because it is instantiated 25239 by 'new' and no need to be copyable: 25240 25241 class/struct name - instantiated at: WebCore/'location' 25242 25243 struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134 25244 25245 Inherits the following classes from FastAllocBase because these are instantiated by 'new': 25246 25247 class NodeTest - xml/XPathGrammar.y:258 25248 class NodeSet - xml/XPathValue.cpp:52 25249 struct EvaluationContext - xml/XPathExpressionNode.cpp:40 25250 25251 * xml/XMLHttpRequest.cpp: 25252 * xml/XPathExpressionNode.h: 25253 * xml/XPathNodeSet.h: 25254 * xml/XPathStep.h: 25255 25256 2009-12-03 Drew Wilson <atwilson (a] chromium.org> 25257 25258 Reviewed by Adam Barth. 25259 25260 New History changes do not compile for Chromium/V8 25261 https://bugs.webkit.org/show_bug.cgi?id=32148 25262 25263 Existing tests suffice (just trying to get code to compile). 25264 25265 * WebCore.gypi: 25266 Added V8HistoryCustom.cpp and other missing files. 25267 * bindings/v8/custom/V8CustomBinding.h: 25268 Added custom handlers for History.pushState()/replaceState(). 25269 * bindings/v8/custom/V8HistoryCustom.cpp: Added. 25270 Added custom handlers for History.pushState()/replaceState(). 25271 * history/BackForwardListChromium.cpp: 25272 (WebCore::BackForwardList::pushStateItem): 25273 Stubbed out this routine for now - will implement in the future. 25274 25275 2009-12-03 Adam Barth <abarth (a] webkit.org> 25276 25277 Reviewed by Eric Seidel. 25278 25279 OwnPtr<XBLBindingManager> Document::m_bindingManager; 25280 https://bugs.webkit.org/show_bug.cgi?id=32147 25281 25282 The document actually owns the bindingManager. That's what the code 25283 should say. 25284 25285 * dom/Document.cpp: 25286 (WebCore::Document::~Document): 25287 * dom/Document.h: 25288 (WebCore::Document::bindingManager): 25289 25290 2009-12-03 Adam Barth <abarth (a] webkit.org> 25291 25292 Reviewed by Eric Seidel. 25293 25294 OwnPtr<Tokenizer> Document::m_tokenizer; 25295 https://bugs.webkit.org/show_bug.cgi?id=32145 25296 25297 The document actually owns the tokenizer. That's what the code should say. 25298 25299 * dom/Document.cpp: 25300 (WebCore::Document::removedLastRef): 25301 (WebCore::Document::~Document): 25302 (WebCore::Document::cancelParsing): 25303 (WebCore::Document::implicitOpen): 25304 (WebCore::Document::implicitClose): 25305 * dom/Document.h: 25306 (WebCore::Document::tokenizer): 25307 25308 2009-12-03 Adam Barth <abarth (a] webkit.org> 25309 25310 Reviewed by Eric Seidel. 25311 25312 OwnPtr<RenderArena> Document::m_renderArena; 25313 https://bugs.webkit.org/show_bug.cgi?id=32146 25314 25315 The document owns the renderArena. That's what the code should say. 25316 25317 * dom/Document.cpp: 25318 (WebCore::Document::Document): Also, removed a redundant initialization 25319 of the tokenizer that I missed in my previous patch. 25320 (WebCore::Document::~Document): 25321 (WebCore::Document::attach): 25322 (WebCore::Document::detach): 25323 * dom/Document.h: 25324 (WebCore::Document::renderArena): 25325 25326 2009-12-03 Drew Wilson <atwilson (a] chromium.org> 25327 25328 Rolling back r51633 because it causes a chromium perf regression. 25329 25330 * platform/graphics/SimpleFontData.h: 25331 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 25332 25333 2009-12-03 Adam Barth <abarth (a] webkit.org> 25334 25335 Reviewed by Eric Seidel. 25336 25337 The code should say that Document owns DocLoader 25338 https://bugs.webkit.org/show_bug.cgi?id=32143 25339 25340 It's the truth. 25341 25342 * dom/Document.cpp: 25343 (WebCore::Document::~Document): 25344 * dom/Document.h: 25345 (WebCore::Document::docLoader): 25346 25347 2009-12-03 Chris Fleizach <cfleizach (a] apple.com> 25348 25349 Reviewed by Eric Seidel. 25350 25351 AX: VO just says "term" on many web sites 25352 https://bugs.webkit.org/show_bug.cgi?id=32139 25353 25354 Test: platform/mac/accessibility/definition-list-term.html 25355 25356 * accessibility/AccessibilityRenderObject.cpp: 25357 (WebCore::AccessibilityRenderObject::accessibilityDescription): 25358 * accessibility/mac/AccessibilityObjectWrapper.mm: 25359 (-[AccessibilityObjectWrapper subrole]): 25360 (-[AccessibilityObjectWrapper roleDescription]): 25361 25362 2009-12-03 Chris Fleizach <cfleizach (a] apple.com> 25363 25364 Reviewed by Beth Dakin. 25365 25366 Implement WAI-ARIA scrollbar role and related property aria-orientation 25367 https://bugs.webkit.org/show_bug.cgi?id=32126 25368 25369 Test: accessibility/aria-scrollbar-role.html 25370 25371 * accessibility/AccessibilityObject.cpp: 25372 (WebCore::createARIARoleMap): 25373 * accessibility/AccessibilityObject.h: 25374 (WebCore::AccessibilityObject::isScrollbar): 25375 * accessibility/AccessibilityRenderObject.cpp: 25376 (WebCore::AccessibilityRenderObject::valueForRange): 25377 (WebCore::AccessibilityRenderObject::orientation): 25378 (WebCore::AccessibilityRenderObject::canHaveChildren): 25379 * accessibility/AccessibilityRenderObject.h: 25380 * accessibility/mac/AccessibilityObjectWrapper.mm: 25381 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 25382 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 25383 * html/HTMLAttributeNames.in: 25384 25385 2009-12-03 Dan Bernstein <mitz (a] apple.com> 25386 25387 Reviewed by Darin Adler. 25388 25389 Fixed <rdar://problem/7401617> Selection painting issue in hardware- 25390 accelerated layers 25391 which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628 25392 Fix selection painting to do container-relative repaints 25393 25394 Test: fast/repaint/block-selection-gap-in-composited-layer.html 25395 25396 * rendering/RenderBlock.cpp: 25397 (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint 25398 gap rects in the coordinate space of the repaint container. 25399 * rendering/RenderLayerCompositor.cpp: 25400 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a 25401 FIXME. 25402 * rendering/RenderView.cpp: 25403 (WebCore::RenderView::setSelection): Map block selection gap rects from 25404 the repaint containers coordinate space to the views coordinate space 25405 before adding them to the cached selection bounds. 25406 (WebCore::RenderView::clearSelection): Changed to use 25407 repaintRectangleInViewAndCompositedLayers() so that the selection rect 25408 is invalidated in composited layers as well. 25409 25410 2009-12-03 Jonathan Dixon <joth (a] chromium.org> 25411 25412 Reviewed by Dimitri Glazkov. 25413 25414 Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium 25415 https://bugs.webkit.org/show_bug.cgi?id=32066 25416 25417 Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON 25418 as it is intended as a development and testing aid, not a user control. To completely remove geolocation 25419 from a given port, the compile time ENABLE_GEOLOCATION should still be used. 25420 Adding placeholder GeolocationServiceChromium implementation, as this is required to allows 25421 ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not 25422 make that the default just yet. 25423 25424 * WebCore.gypi: 25425 * page/Settings.cpp: 25426 (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value 25427 (WebCore::Settings::setGeolocationEnabled): Setter for m_geolocationEnabled flag 25428 * page/Settings.h: 25429 (WebCore::Settings::geolocationEnabled): Add m_geolocationEnabled flag 25430 * platform/chromium/GeolocationServiceChromium.cpp: Added. 25431 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium) 25432 (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true 25433 25434 2009-12-03 Enrica Casucci <enrica (a] apple.com> 25435 25436 Reviewed by John Sullivan. 25437 25438 SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool) 25439 <rdar://problem/7198592> 25440 https://bugs.webkit.org/show_bug.cgi?id=32129 25441 25442 Fixed the way the next paragraph is calculated. 25443 I've added a repro case in Safari and attached it to the Bugzilla bug. 25444 25445 * editing/Editor.cpp: 25446 (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the 25447 next paragraph in the loop. 25448 25449 2009-12-03 Oliver Hunt <oliver (a] apple.com> 25450 25451 Build fix 25452 25453 * svg/SVGListTraits.h: 25454 (WebCore::): 25455 25456 2009-12-03 Oliver Hunt <oliver (a] apple.com> 25457 25458 Build fix 25459 25460 * svg/SVGListTraits.h: 25461 (WebCore::): 25462 25463 2009-12-03 Brady Eidson <beidson (a] apple.com> 25464 25465 No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick. 25466 25467 Long live our auto-generated overlords that I didn't know about... 25468 25469 * WebCore.base.exp: 25470 25471 2009-12-03 Oliver Hunt <oliver (a] apple.com> 25472 25473 Reviewed by Dan Bernstein. 25474 25475 REGRESSION (r51627): 3 SVG tests are failing 25476 https://bugs.webkit.org/show_bug.cgi?id=32117 25477 25478 Null checking Items in the SVGList is insufficient as items may 25479 be floats, etc so add SVGListTraits::isNull and add appropriate 25480 specializations. 25481 25482 Test: svg/dom/svglist-exception-on-out-bounds-error.html 25483 25484 * svg/SVGList.h: 25485 (WebCore::SVGListTypeOperations::isNull): 25486 (WebCore::SVGList::initialize): 25487 (WebCore::SVGList::insertItemBefore): 25488 (WebCore::SVGList::replaceItem): 25489 (WebCore::SVGList::appendItem): 25490 * svg/SVGListTraits.h: 25491 (WebCore::): 25492 25493 2009-12-03 Brady Eidson <beidson (a] apple.com> 25494 25495 No review - release build fix. 25496 25497 * history/HistoryItem.cpp: 25498 (WebCore::HistoryItem::documentDetached): 25499 25500 2009-12-03 Brady Eidson <beidson (a] apple.com> 25501 25502 No review - release build fix. 25503 25504 * loader/HistoryController.cpp: 25505 (WebCore::HistoryController::pushState): 25506 25507 2009-12-03 Enrica Casucci <enrica (a] apple.com> 25508 25509 Reviewed by Adele Peterson. 25510 25511 Multiple Undos removes the last posted comment and/or the ones before it. 25512 <rdar://problem/6557066> 25513 https://bugs.webkit.org/show_bug.cgi?id=32079 25514 25515 The fix consists in preventing Undos and Redos to be applied to elements that 25516 are no longer editable. We do not attempt to remove the commands from the queue. 25517 It is a relatively simple fix that comes with a little extra overhead for the apply 25518 and unapply methods where we are now performing the editability check. 25519 25520 Test: editing/undo/undo-indent-noneditable.html 25521 25522 * editing/AppendNodeCommand.cpp: 25523 (WebCore::AppendNodeCommand::doApply): 25524 (WebCore::AppendNodeCommand::doUnapply): 25525 * editing/DeleteFromTextNodeCommand.cpp: 25526 (WebCore::DeleteFromTextNodeCommand::doApply): 25527 (WebCore::DeleteFromTextNodeCommand::doUnapply): 25528 * editing/InsertIntoTextNodeCommand.cpp: 25529 (WebCore::InsertIntoTextNodeCommand::doApply): 25530 (WebCore::InsertIntoTextNodeCommand::doUnapply): 25531 * editing/InsertNodeBeforeCommand.cpp: 25532 (WebCore::InsertNodeBeforeCommand::doApply): 25533 (WebCore::InsertNodeBeforeCommand::doUnapply): 25534 * editing/JoinTextNodesCommand.cpp: 25535 (WebCore::JoinTextNodesCommand::doApply): 25536 (WebCore::JoinTextNodesCommand::doUnapply): 25537 * editing/MergeIdenticalElementsCommand.cpp: 25538 (WebCore::MergeIdenticalElementsCommand::doApply): 25539 (WebCore::MergeIdenticalElementsCommand::doUnapply): 25540 * editing/RemoveNodeCommand.cpp: 25541 (WebCore::RemoveNodeCommand::doApply): 25542 (WebCore::RemoveNodeCommand::doUnapply): 25543 * editing/SplitElementCommand.cpp: 25544 (WebCore::SplitElementCommand::executeApply): 25545 (WebCore::SplitElementCommand::doUnapply): 25546 * editing/SplitTextNodeCommand.cpp: 25547 (WebCore::SplitTextNodeCommand::doApply): 25548 (WebCore::SplitTextNodeCommand::doUnapply): 25549 * editing/WrapContentsInDummySpanCommand.cpp: 25550 (WebCore::WrapContentsInDummySpanCommand::doUnapply): 25551 (WebCore::WrapContentsInDummySpanCommand::doReapply): 25552 25553 2009-12-03 Brady Eidson <beidson (a] apple.com> 25554 25555 Reviewed by Sam Weinig. 25556 25557 <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API 25558 25559 Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html 25560 fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html 25561 fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html 25562 fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html 25563 fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html 25564 fast/loader/stateobjects/pushstate-object-types.html 25565 fast/loader/stateobjects/pushstate-then-replacestate.html 25566 fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html 25567 fast/loader/stateobjects/replacestate-then-pushstate.html 25568 http/tests/loading/state-object-security-exception.html 25569 25570 Derived sources and project file changes: 25571 * DerivedSources.cpp: 25572 * DerivedSources.make: 25573 * GNUmakefile.am 25574 * WebCore.pro 25575 * WebCore.vcproj/WebCore.vcproj: 25576 * WebCore.xcodeproj/project.pbxproj: 25577 25578 Add the new PopStateEvent: 25579 * dom/PopStateEvent.cpp: Added. 25580 (WebCore::PopStateEvent::PopStateEvent): 25581 (WebCore::PopStateEvent::initPopStateEvent): 25582 * dom/PopStateEvent.h: Added. 25583 (WebCore::PopStateEvent::create): 25584 (WebCore::PopStateEvent::isPopStateEvent): 25585 (WebCore::PopStateEvent::state): 25586 * dom/PopStateEvent.idl: Added. 25587 * bindings/js/JSPopStateEventCustom.cpp: Added. 25588 (WebCore::JSPopStateEvent::initPopStateEvent): 25589 (WebCore::JSPopStateEvent::state): 25590 * bindings/js/JSEventCustom.cpp: 25591 (WebCore::toJS): 25592 * dom/Event.cpp: 25593 (WebCore::Event::isPopStateEvent): 25594 * dom/Event.h: 25595 * dom/EventNames.h: 25596 25597 Add the "onpopstate" attribute: 25598 * html/HTMLAttributeNames.in: 25599 * html/HTMLBodyElement.cpp: 25600 (WebCore::HTMLBodyElement::parseMappedAttribute): 25601 * html/HTMLBodyElement.idl: 25602 * html/HTMLFrameSetElement.cpp: 25603 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 25604 * html/HTMLFrameSetElement.h: 25605 * html/HTMLFrameSetElement.idl: 25606 * page/DOMWindow.h: 25607 * page/DOMWindow.idl: 25608 25609 Add pushState and replaceState management to the loader and history machinery: 25610 * bindings/js/JSHistoryCustom.cpp: 25611 (WebCore::JSHistory::pushState): 25612 (WebCore::JSHistory::replaceState): 25613 * loader/HistoryController.cpp: 25614 (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining 25615 both the same-document fragment scroll case with the new same-document state object activation case. 25616 (WebCore::HistoryController::pushState): 25617 (WebCore::HistoryController::replaceState): 25618 * loader/HistoryController.h: 25619 * history/BackForwardList.cpp: 25620 (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent. 25621 (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward 25622 list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list 25623 meant to remain. 25624 (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 25625 insert the new item. 25626 (WebCore::BackForwardList::removeItem): 25627 * history/BackForwardList.h: 25628 * page/History.cpp: 25629 (WebCore::History::urlForState): 25630 (WebCore::History::stateObjectAdded): 25631 * page/History.h: 25632 * page/History.idl: 25633 25634 Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects: 25635 * history/HistoryItem.cpp: 25636 (WebCore::HistoryItem::HistoryItem): 25637 (WebCore::HistoryItem::~HistoryItem): 25638 (WebCore::HistoryItem::setStateObject): 25639 (WebCore::HistoryItem::setDocument): 25640 (WebCore::HistoryItem::documentDetached): 25641 * history/HistoryItem.h: 25642 (WebCore::HistoryItem::stateObject): 25643 (WebCore::HistoryItem::document): 25644 * dom/Document.cpp: 25645 (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it 25646 is going away. 25647 (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns. 25648 (WebCore::Document::unregisterHistoryItem): Ditto. 25649 * dom/Document.h: 25650 25651 Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents 25652 URL changes as the result of pushState(), replaceState(), or a popstate navigation: 25653 * dom/Document.cpp: 25654 (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event. 25655 (WebCore::Document::updateURLForPushOrReplaceState): 25656 (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 25657 the pending state object. 25658 * loader/DocumentLoader.cpp: 25659 (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation): 25660 * loader/DocumentLoader.h: 25661 * loader/FrameLoaderClient.h: 25662 * loader/EmptyClients.h: 25663 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame): 25664 25665 Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document 25666 navigations, combining the old concept of anchor scrolls with the new concept of state object navigations: 25667 * loader/FrameLoader.cpp: 25668 (WebCore::FrameLoader::loadInSameDocument): 25669 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 25670 (WebCore::FrameLoader::navigateWithinDocument): 25671 (WebCore::FrameLoader::navigateToDifferentDocument): 25672 (WebCore::FrameLoader::loadItem): 25673 * loader/FrameLoader.h: 25674 * page/Page.cpp: 25675 (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping. 25676 25677 2009-12-03 Pavel Feldman <pfeldman (a] chromium.org> 25678 25679 Not reviewed: chromium build fix. 25680 r51621 changed JS bindings only, broke v8's. 25681 25682 * bindings/v8/ScriptFunctionCall.cpp: 25683 (WebCore::ScriptFunctionCall::appendArgument): 25684 * bindings/v8/ScriptFunctionCall.h: 25685 25686 2009-12-03 Dimitri Glazkov <dglazkov (a] chromium.org> 25687 25688 Reviewed by Adam Barth. 25689 25690 [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected. 25691 https://bugs.webkit.org/show_bug.cgi?id=32094 25692 25693 Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html 25694 25695 * bindings/v8/DOMObjectsInclude.h: 25696 * bindings/v8/V8DOMWrapper.cpp: 25697 (WebCore::V8DOMWrapper::getTemplate): 25698 (WebCore::V8DOMWrapper::convertToV8Object): 25699 (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object): 25700 * bindings/v8/V8DOMWrapper.h: 25701 * bindings/v8/V8GCController.cpp: 25702 (WebCore::ObjectGrouperVisitor::visitDOMWrapper): 25703 * bindings/v8/custom/V8CustomBinding.h: 25704 25705 2009-12-03 Pavel Feldman <pfeldman (a] chromium.org> 25706 25707 Reviewed by Timothy Hatcher. 25708 25709 Chromium: Add support for settings containing ":" 25710 25711 https://bugs.webkit.org/show_bug.cgi?id=32118 25712 25713 * inspector/front-end/WatchExpressionsSidebarPane.js: 25714 (WebInspector.WatchExpressionsSection): 25715 25716 2009-12-03 Rafael Antognolli <antognolli (a] profusion.mobi>, Kenneth Christiansen <kenneth (a] webkit.org> 25717 25718 Reviewed by Simon Fraser. 25719 25720 repaint events from outside the viewport aren't received 25721 https://bugs.webkit.org/show_bug.cgi?id=32081 25722 25723 When using a tiled backing store for painting, you need to receive 25724 event from outside the viewport. Setting the viewport to the size 25725 of the contents is not an option if you want to make use of WebCore's 25726 infrastructure for drawing scrollbars etc. 25727 25728 A new property, paintsEntireContents, has been introduced for the 25729 above use-case. It is settable, as tiling will be optional for Qt, 25730 and for the not yet upstreamed EFL port, there will be two different 25731 views, where only one of them are tiled. 25732 25733 No change in behavior, so no new tests added. 25734 25735 * page/FrameView.cpp: 25736 (WebCore::FrameView::repaintContentRectangle): 25737 * platform/ScrollView.cpp: 25738 (WebCore::ScrollView::ScrollView): 25739 (WebCore::ScrollView::setPaintsEntireContents): 25740 (WebCore::ScrollView::wheelEvent): 25741 * platform/ScrollView.h: 25742 (WebCore::ScrollView::paintsEntireContents): 25743 25744 2009-11-23 Jeremy Moskovich <jeremy (a] chromium.org> 25745 25746 Reviewed by Eric Seidel. 25747 25748 Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs. 25749 https://bugs.webkit.org/show_bug.cgi?id=31802 25750 25751 No test since this is already covered by existing pixel tests. 25752 25753 * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac . 25754 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations 25755 of Core Text functions that are public on 10.6 but SPI on 10.5. 25756 25757 2009-12-03 Pavel Feldman <pfeldman (a] dhcp-172-28-174-220.spb.corp.google.com> 25758 25759 Reviewed by Timothy Hatcher. 25760 25761 Web Inspector: Simplify the settings support in inspector controller. 25762 25763 https://bugs.webkit.org/show_bug.cgi?id=32076 25764 25765 Test: inspector/settings-set-get.html 25766 25767 * WebCore.Inspector.exp: 25768 * bindings/js/JSInspectorFrontendHostCustom.cpp: 25769 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 25770 * inspector/InspectorClient.h: 25771 * inspector/InspectorController.cpp: 25772 (WebCore::InspectorController::~InspectorController): 25773 (WebCore::InspectorController::setting): 25774 (WebCore::InspectorController::setSetting): 25775 (WebCore::InspectorController::setWindowVisible): 25776 (WebCore::InspectorController::attachWindow): 25777 (WebCore::InspectorController::setAttachedWindowHeight): 25778 (WebCore::InspectorController::storeLastActivePanel): 25779 (WebCore::InspectorController::scriptObjectReady): 25780 (WebCore::InspectorController::showWindow): 25781 (WebCore::InspectorController::enableResourceTracking): 25782 (WebCore::InspectorController::disableResourceTracking): 25783 (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded): 25784 (WebCore::InspectorController::enableProfiler): 25785 (WebCore::InspectorController::disableProfiler): 25786 (WebCore::InspectorController::enableDebuggerFromFrontend): 25787 (WebCore::InspectorController::disableDebugger): 25788 * inspector/InspectorController.h: 25789 * inspector/InspectorFrontendHost.cpp: 25790 (WebCore::InspectorFrontendHost::setting): 25791 (WebCore::InspectorFrontendHost::setSetting): 25792 * inspector/InspectorFrontendHost.h: 25793 * inspector/InspectorFrontendHost.idl: 25794 * loader/EmptyClients.h: 25795 (WebCore::EmptyInspectorClient::populateSetting): 25796 (WebCore::EmptyInspectorClient::storeSetting): 25797 25798 2009-12-03 Ben Murdoch <benm (a] google.com> 25799 25800 Reviewed by Brady Eidson. 25801 25802 [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed. 25803 https://bugs.webkit.org/show_bug.cgi?id=31915 25804 25805 No change in functionality so no new tests required. 25806 25807 * history/HistoryItem.cpp: 25808 (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed. 25809 (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter. 25810 (WebCore::HistoryItem::setURLString): ditto. 25811 (WebCore::HistoryItem::setOriginalURLString): ditto. 25812 (WebCore::HistoryItem::setReferrer): ditto. 25813 (WebCore::HistoryItem::setTitle): ditto. 25814 (WebCore::HistoryItem::setTarget): ditto. 25815 (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed. 25816 (WebCore::HistoryItem::clearDocumentState): ditto. 25817 (WebCore::HistoryItem::setIsTargetItem): ditto. 25818 (WebCore::HistoryItem::addChildItem): ditto. 25819 (WebCore::HistoryItem::setFormInfoFromRequest): ditto. 25820 * history/HistoryItem.h: Update signature of notifyHistoryItemChanged. 25821 25822 2009-12-03 Ben Murdoch <benm (a] google.com> 25823 25824 Reviewed by Brady Eidson. 25825 25826 [Android] The FrameLoaderClient is unaware of BackForwardList changes. 25827 https://bugs.webkit.org/show_bug.cgi?id=31914 25828 25829 This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes. 25830 25831 No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks. 25832 25833 * history/BackForwardList.cpp: 25834 (WebCore::BackForwardList::addItem): Execute the callback. 25835 (WebCore::BackForwardList::goBack): ditto. 25836 (WebCore::BackForwardList::goForward): ditto. 25837 (WebCore::BackForwardList::goToItem): ditto. 25838 (WebCore::BackForwardList::setCapacity): dito. 25839 * loader/EmptyClients.h: 25840 (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing. 25841 (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto. 25842 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto. 25843 * loader/FrameLoaderClient.h: 25844 25845 2009-12-03 Ben Murdoch <benm (a] google.com> 25846 25847 Reviewed by Brady Eidson. 25848 25849 [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem. 25850 https://bugs.webkit.org/show_bug.cgi?id=31913 25851 25852 Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem. 25853 25854 No new tests required as this is Android specific code. 25855 25856 * history/HistoryItem.h: Add Android specific member data to HistoryItem. 25857 * history/android: Added. 25858 * history/android/AndroidWebHistoryBridge.h: Added. 25859 * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem. 25860 (WebCore::HistoryItem::bridge): Added. 25861 (WebCore::HistoryItem::setBridge): Added. 25862 25863 2009-12-03 Oliver Hunt <oliver (a] apple.com> 25864 25865 Reviewed by Maciej Stachowiak. 25866 25867 NULL ptr in SVGPathSegList::getPathSegAtLength() 25868 https://bugs.webkit.org/show_bug.cgi?id=30313 25869 25870 Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions. 25871 Add null checks to SVGList's content manipulation functions to prevent 25872 null values from entering the list in the first place. 25873 25874 Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html 25875 25876 * svg/SVGList.h: 25877 (WebCore::SVGList::initialize): 25878 (WebCore::SVGList::insertItemBefore): 25879 (WebCore::SVGList::replaceItem): 25880 (WebCore::SVGList::appendItem): 25881 * svg/SVGPathElement.cpp: 25882 (WebCore::SVGPathElement::getPathSegAtLength): 25883 * svg/SVGPathElement.h: 25884 * svg/SVGPathElement.idl: 25885 * svg/SVGPathSegList.cpp: 25886 (WebCore::SVGPathSegList::getPathSegAtLength): 25887 (WebCore::SVGPathSegList::toPathData): 25888 (WebCore::SVGPathSegList::createAnimated): 25889 * svg/SVGPathSegList.h: 25890 25891 2009-12-02 Yusuke Sato <yusukes (a] chromium.org> 25892 25893 Reviewed by Eric Seidel. 25894 25895 Sanitize web fonts using the OTS library 25896 https://bugs.webkit.org/show_bug.cgi?id=31106 25897 25898 Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face) 25899 and attempts to validate and sanitize them. We hope this reduces the attack surface 25900 of the system font libraries. 25901 25902 * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library. 25903 * WebCore.gypi: Added new files below. 25904 * WebCore.xcodeproj/project.pbxproj: Ditto. 25905 * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font. 25906 (WebCore::createFontCustomPlatformData): 25907 * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto. 25908 (WebCore::createFontCustomPlatformData): 25909 * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added. 25910 (WebCore::OpenTypeSanitizer::sanitize): 25911 * platform/graphics/opentype/OpenTypeSanitizer.h: Added. 25912 (WebCore::OpenTypeSanitizer::OpenTypeSanitizer): 25913 25914 2009-12-02 Oliver Hunt <oliver (a] apple.com> 25915 25916 Reviewed by Sam Weinig. 25917 25918 Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe 25919 https://bugs.webkit.org/show_bug.cgi?id=32098 25920 25921 Fix is simply to make the ScriptFunctionCall stack allocated as nature intended. 25922 Doing this required adding an appendArgument(char*) to ScriptFunctionCall so 25923 that an explicit String cast would not be necessary. 25924 25925 To prevent something like this happening again in future i've added private 25926 operator new implementations to ScriptFunctionCall making this type of mistake 25927 produce errors when compiling. 25928 25929 Test case: Inspector tests now pass with GC on every alloc enabled. 25930 25931 * bindings/js/ScriptFunctionCall.cpp: 25932 (WebCore::ScriptFunctionCall::appendArgument): 25933 * bindings/js/ScriptFunctionCall.h: 25934 (WebCore::ScriptFunctionCall::operator new): 25935 (WebCore::ScriptFunctionCall::operator new[]): 25936 * inspector/InspectorFrontend.cpp: 25937 (WebCore::InspectorFrontend::addConsoleMessage): 25938 (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): 25939 (WebCore::InspectorFrontend::addResource): 25940 (WebCore::InspectorFrontend::updateResource): 25941 (WebCore::InspectorFrontend::removeResource): 25942 (WebCore::InspectorFrontend::updateFocusedNode): 25943 (WebCore::InspectorFrontend::setAttachedWindow): 25944 (WebCore::InspectorFrontend::addRecordToTimeline): 25945 (WebCore::InspectorFrontend::parsedScriptSource): 25946 (WebCore::InspectorFrontend::failedToParseScriptSource): 25947 (WebCore::InspectorFrontend::addProfileHeader): 25948 (WebCore::InspectorFrontend::setRecordingProfile): 25949 (WebCore::InspectorFrontend::didGetProfileHeaders): 25950 (WebCore::InspectorFrontend::didGetProfile): 25951 (WebCore::InspectorFrontend::pausedScript): 25952 (WebCore::InspectorFrontend::setDocument): 25953 (WebCore::InspectorFrontend::setDetachedRoot): 25954 (WebCore::InspectorFrontend::setChildNodes): 25955 (WebCore::InspectorFrontend::childNodeCountUpdated): 25956 (WebCore::InspectorFrontend::childNodeInserted): 25957 (WebCore::InspectorFrontend::childNodeRemoved): 25958 (WebCore::InspectorFrontend::attributesUpdated): 25959 (WebCore::InspectorFrontend::didRemoveNode): 25960 (WebCore::InspectorFrontend::didGetChildNodes): 25961 (WebCore::InspectorFrontend::didApplyDomChange): 25962 (WebCore::InspectorFrontend::didGetEventListenersForNode): 25963 (WebCore::InspectorFrontend::didGetCookies): 25964 (WebCore::InspectorFrontend::didDispatchOnInjectedScript): 25965 (WebCore::InspectorFrontend::addDatabase): 25966 (WebCore::InspectorFrontend::selectDatabase): 25967 (WebCore::InspectorFrontend::didGetDatabaseTableNames): 25968 (WebCore::InspectorFrontend::addDOMStorage): 25969 (WebCore::InspectorFrontend::selectDOMStorage): 25970 (WebCore::InspectorFrontend::didGetDOMStorageEntries): 25971 (WebCore::InspectorFrontend::didSetDOMStorageItem): 25972 (WebCore::InspectorFrontend::didRemoveDOMStorageItem): 25973 (WebCore::InspectorFrontend::updateDOMStorage): 25974 (WebCore::InspectorFrontend::addNodesToSearchResult): 25975 (WebCore::InspectorFrontend::evaluateForTestInFrontend): 25976 * inspector/InspectorFrontend.h: 25977 25978 2009-12-02 Dave Hyatt <hyatt (a] apple.com> 25979 25980 Reviewed by Darin Adler. 25981 25982 https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we 25983 pass more CSS test suite stuff. Make the grammar stop enforcing the ordering of @namespace vs. 25984 @variables vs. @import. Just let the parser handle that instead. This simplifies the grammar and 25985 makes error handling deal with more cases correctly. 25986 25987 Added fast/css/namespaces/namespaces-invalid-at-rules.xml 25988 25989 * css/CSSGrammar.y: 25990 * css/CSSParser.cpp: 25991 (WebCore::CSSParser::CSSParser): 25992 (WebCore::CSSParser::parseRule): 25993 (WebCore::CSSParser::createCharsetRule): 25994 (WebCore::CSSParser::createImportRule): 25995 (WebCore::CSSParser::createMediaRule): 25996 (WebCore::CSSParser::createKeyframesRule): 25997 (WebCore::CSSParser::createStyleRule): 25998 (WebCore::CSSParser::createFontFaceRule): 25999 (WebCore::CSSParser::addNamespace): 26000 (WebCore::CSSParser::createVariablesRule): 26001 * css/CSSParser.h: 26002 26003 2009-12-02 Yusuke Sato <yusukes (a] chromium.org> 26004 26005 Reviewed by Dan Bernstein. 26006 26007 Safari/Chromium for Windows fails to load CJK WebFonts 26008 https://bugs.webkit.org/show_bug.cgi?id=31804 26009 26010 * platform/graphics/opentype/OpenTypeUtilities.cpp: 26011 (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces. 26012 26013 2009-12-02 Avi Drissman <avi (a] chromium.org> 26014 26015 Reviewed by Darin Fisher. 26016 26017 Chromium: Need tickmarks in scrollbar 26018 https://bugs.webkit.org/show_bug.cgi?id=32069 26019 26020 * WebCore.gyp/WebCore.gyp: 26021 * WebCore.gypi: 26022 * platform/chromium/ScrollbarThemeChromiumMac.h: Added. 26023 * platform/chromium/ScrollbarThemeChromiumMac.mm: Added. 26024 26025 2009-11-13 Timothy Hatcher <timothy (a] apple.com> 26026 26027 Expose a function to set the value of an input element on behalf of the user. 26028 This function will dispatch the change event so the page is notified when autofill 26029 happens. Also dispatch a change event when a select element is changed by autofill. 26030 26031 <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript 26032 26033 Reviewed by Darin Adler. 26034 26035 * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header. 26036 * bindings/objc/DOMHTML.mm: 26037 (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so 26038 a change event is fired. This method is called by Safari autofill. 26039 * dom/Document.cpp: 26040 (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead 26041 of dispatching the change event directly to be consistent. 26042 * html/HTMLFormControlElement.cpp: 26043 (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent 26044 (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked. 26045 * html/HTMLInputElement.h: 26046 * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages. 26047 * html/InputElement.h: Added setValueForUser. 26048 26049 2009-12-02 Pavel Feldman <pfeldman (a] dhcp-172-28-174-220.spb.corp.google.com> 26050 26051 Reviewed by Timothy Hatcher. 26052 26053 Web Inspector: DOM tree selection disappears upon page refresh. 26054 26055 https://bugs.webkit.org/show_bug.cgi?id=31142 26056 26057 Test: inspector/elements-panel-selection-on-refresh.html 26058 26059 * inspector/InjectedScriptHost.cpp: 26060 (WebCore::InjectedScriptHost::pushNodeByPathToFrontend): 26061 * inspector/InjectedScriptHost.h: 26062 * inspector/InjectedScriptHost.idl: 26063 * inspector/InspectorBackend.h: 26064 * inspector/InspectorController.cpp: 26065 (WebCore::InspectorController::close): 26066 (WebCore::InspectorController::releaseDOMAgent): 26067 (WebCore::InspectorController::resetScriptObjects): 26068 * inspector/InspectorDOMAgent.cpp: 26069 (WebCore::InspectorDOMAgent::~InspectorDOMAgent): 26070 (WebCore::InspectorDOMAgent::reset): 26071 (WebCore::InspectorDOMAgent::setDocument): 26072 (WebCore::InspectorDOMAgent::pushDocumentToFrontend): 26073 (WebCore::InspectorDOMAgent::nodeForPath): 26074 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 26075 * inspector/InspectorDOMAgent.h: 26076 * inspector/front-end/DOMAgent.js: 26077 (WebInspector.DOMNode.prototype._renumber): 26078 (WebInspector.DOMAgent.prototype._setDocument): 26079 * inspector/front-end/ElementsPanel.js: 26080 (WebInspector.ElementsPanel.prototype.reset): 26081 (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode): 26082 (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): 26083 (WebInspector.ElementsPanel.prototype.setDocument): 26084 * inspector/front-end/InjectedScript.js: 26085 (InjectedScript.pushNodeByPathToFrontend): 26086 * inspector/front-end/InjectedScriptAccess.js: 26087 26088 2009-12-01 Dave Hyatt <hyatt (a] apple.com> 26089 26090 Reviewed by Dan Bernstein. 26091 26092 https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with 26093 all the @-rules we support. When escape sequences are present, the lexical scanner 26094 just returns a generic token name: ATKEYWORD. We have to process the escape sequences 26095 and then recheck against the rules we support with the final processed name. If we 26096 find a match, we mutate the token value to the appropriate rule name token, e.g., 26097 NAMESPACE_SYM. 26098 26099 Added fast/css/namespaces/namespaces-escapes.xml 26100 26101 * css/CSSParser.cpp: 26102 (WebCore::CSSParser::lex): 26103 (WebCore::CSSParser::recheckAtKeyword): 26104 (WebCore::CSSParser::text): 26105 * css/CSSParser.h: 26106 26107 2009-12-02 Anton Muhin <antonm (a] chromium.org> 26108 26109 Reviewed by Adam Barth.:w 26110 26111 Allow to skip thread checks when accessing DOMDataStore for processes 26112 which run V8 in single thread mode. 26113 https://bugs.webkit.org/show_bug.cgi?id=31877 26114 26115 Should be covered by buildbots. 26116 26117 * bindings/v8/V8DOMMap.cpp: 26118 (WebCore::getDOMDataStore): 26119 (WebCore::enableFasterDOMStoreAccess): 26120 (WebCore::getDOMNodeMap): 26121 (WebCore::getDOMObjectMap): 26122 (WebCore::getActiveDOMObjectMap): 26123 (WebCore::getDOMSVGElementInstanceMap): 26124 (WebCore::getDOMSVGObjectWithContextMap): 26125 * bindings/v8/V8DOMMap.h: 26126 26127 2009-12-02 Yury Semikhatsky <yurys (a] chromium.org> 26128 26129 Reviewed by Pavel Feldman. 26130 26131 Code clean up: remove ScriptObjectQuarantine.* as a whole. 26132 26133 https://bugs.webkit.org/show_bug.cgi?id=32060 26134 26135 * GNUmakefile.am: 26136 * WebCore.gypi: 26137 * WebCore.pro: 26138 * WebCore.vcproj/WebCore.vcproj: 26139 * WebCore.xcodeproj/project.pbxproj: 26140 * WebCoreSources.bkl: 26141 * bindings/js/JSBindingsAllInOne.cpp: 26142 * bindings/js/ScriptObjectQuarantine.cpp: Removed. 26143 * bindings/js/ScriptObjectQuarantine.h: Removed. 26144 * bindings/js/ScriptValue.cpp: 26145 (WebCore::ScriptValue::quarantineValue): 26146 * bindings/js/ScriptValue.h: 26147 * bindings/v8/ScriptObjectQuarantine.cpp: Removed. 26148 * bindings/v8/ScriptObjectQuarantine.h: Removed. 26149 * bindings/v8/ScriptValue.h: 26150 (WebCore::ScriptValue::quarantineValue): 26151 * inspector/ConsoleMessage.cpp: 26152 (WebCore::ConsoleMessage::ConsoleMessage): 26153 * inspector/InspectorController.cpp: 26154 * inspector/InspectorDatabaseResource.cpp: 26155 (WebCore::InspectorDatabaseResource::bind): 26156 * inspector/InspectorFrontend.cpp: 26157 26158 2009-12-02 Fumitoshi Ukai <ukai (a] chromium.org> 26159 26160 Reviewed by Alexey Proskuryakov. 26161 26162 WebSocket handshake check query component of URL 26163 https://bugs.webkit.org/show_bug.cgi?id=31617 26164 26165 Tests: websocket/tests/url-with-credential.html 26166 websocket/tests/url-with-empty-query.html 26167 websocket/tests/url-with-fragment.html 26168 websocket/tests/url-with-query-for-no-query.html 26169 websocket/tests/url-with-query.html 26170 26171 * platform/KURLGoogle.cpp: 26172 (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty. 26173 * websockets/WebSocketHandshake.cpp: 26174 (WebCore::resourceName): added. add query component to path if specified. 26175 (WebCore::WebSocketHandshake::clientLocation): 26176 (WebCore::WebSocketHandshake::clientHandshakeMessage): 26177 26178 2009-12-01 David Levin <levin (a] chromium.org> 26179 26180 Reviewed by Eric Seidel. 26181 26182 Incorrect code in WebGLRenderingContext.cpp 26183 https://bugs.webkit.org/show_bug.cgi?id=32046 26184 26185 Fix incorrect code that happened to work. != has higher precendence than &. 26186 The simplest fix is to remove the "!= 0" which violates WebKit style 26187 guidelines anyway. 26188 26189 Also added periods to few comments in the same function. 26190 26191 * html/canvas/WebGLRenderingContext.cpp: 26192 (WebCore::WebGLRenderingContext::validateIndexArray): 26193 26194 2009-12-01 Kent Tamura <tkent (a] chromium.org> 26195 26196 Reviewed by Darin Adler. 26197 26198 Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max, 26199 pattern and step attributes of HTMLInputElement. 26200 https://bugs.webkit.org/show_bug.cgi?id=31708 26201 26202 * html/HTMLInputElement.idl: 26203 26204 2009-12-01 Chris Fleizach <cfleizach (a] apple.com> 26205 26206 Reviewed by Darin Adler. 26207 26208 WAI-ARIA: implement support for ARIA drag and drop 26209 https://bugs.webkit.org/show_bug.cgi?id=32007 26210 26211 Test: platform/mac/accessibility/aria-drag-drop.html 26212 26213 * accessibility/AccessibilityObject.h: 26214 (WebCore::AccessibilityObject::supportsARIADropping): 26215 (WebCore::AccessibilityObject::supportsARIADragging): 26216 (WebCore::AccessibilityObject::isARIAGrabbed): 26217 (WebCore::AccessibilityObject::setARIAGrabbed): 26218 (WebCore::AccessibilityObject::determineARIADropEffects): 26219 * accessibility/AccessibilityRenderObject.cpp: 26220 (WebCore::AccessibilityRenderObject::supportsARIADropping): 26221 (WebCore::AccessibilityRenderObject::supportsARIADragging): 26222 (WebCore::AccessibilityRenderObject::isARIAGrabbed): 26223 (WebCore::AccessibilityRenderObject::setARIAGrabbed): 26224 (WebCore::AccessibilityRenderObject::determineARIADropEffects): 26225 * accessibility/AccessibilityRenderObject.h: 26226 * accessibility/mac/AccessibilityObjectWrapper.mm: 26227 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 26228 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 26229 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 26230 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 26231 * html/HTMLAttributeNames.in: 26232 26233 2009-12-01 Adam Barth <abarth (a] webkit.org> 26234 26235 https://bugs.webkit.org/show_bug.cgi?id=21288 26236 26237 Unreviewed port of @sandbox to V8. 26238 26239 * bindings/v8/ScriptController.cpp: 26240 (WebCore::ScriptController::isEnabled): 26241 * bindings/v8/custom/V8DOMWindowCustom.cpp: 26242 (WebCore::createWindow): 26243 26244 2009-12-01 Patrik Persson <patrik.j.persson (a] ericsson.com> 26245 26246 Reviewed by Darin Adler. 26247 26248 Implement HTML5 sandbox attribute for iframes. 26249 http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox 26250 https://bugs.webkit.org/show_bug.cgi?id=21288 26251 26252 Tests: fast/frames/sandboxed-iframe-attribute-parsing.html 26253 fast/frames/sandboxed-iframe-forms.html 26254 fast/frames/sandboxed-iframe-navigation-allowed.html 26255 fast/frames/sandboxed-iframe-navigation-parent.html 26256 fast/frames/sandboxed-iframe-navigation-targetlink.html 26257 fast/frames/sandboxed-iframe-navigation-windowopen.html 26258 fast/frames/sandboxed-iframe-plugins.html 26259 fast/frames/sandboxed-iframe-scripting.html 26260 fast/frames/sandboxed-iframe-storage.html 26261 http/tests/security/sandboxed-iframe-document-cookie.html 26262 http/tests/security/sandboxed-iframe-modify-self.html 26263 http/tests/security/xss-DENIED-sandboxed-iframe.html 26264 http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html 26265 http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html 26266 http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html 26267 26268 * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation 26269 (WebCore::createWindow): 26270 * bindings/js/ScriptController.cpp: sandboxing scripts 26271 (WebCore::ScriptController::isEnabled): 26272 * dom/Document.cpp: 26273 (WebCore::Document::processHttpEquiv): 26274 (WebCore::Document::cookie): raise exception when accessed from sandbox 26275 (WebCore::Document::setCookie): raise exception when accessed from sandbox 26276 (WebCore::Document::initSecurityContext): updae sandbox status 26277 (WebCore::Document::updateSandboxFlags): 26278 * dom/Document.h: 26279 * dom/Document.idl: 26280 * html/HTMLAppletElement.cpp: sandboxing applets 26281 (WebCore::HTMLAppletElement::createRenderer): 26282 (WebCore::HTMLAppletElement::renderWidgetForJSBindings): 26283 (WebCore::HTMLAppletElement::canEmbedJava): 26284 * html/HTMLAppletElement.h: 26285 * html/HTMLAttributeNames.in: 26286 * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute 26287 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): 26288 (WebCore::HTMLFrameOwnerElement::setSandboxFlags): 26289 * html/HTMLFrameOwnerElement.h: 26290 (WebCore::HTMLFrameOwnerElement::sandboxFlags): 26291 * html/HTMLIFrameElement.cpp: sandbox attribute parsing 26292 (WebCore::parseSandboxAttribute): 26293 (WebCore::HTMLIFrameElement::parseMappedAttribute): 26294 * html/HTMLIFrameElement.idl: 26295 * inspector/InspectorController.cpp: 26296 (WebCore::InspectorController::getCookies): 26297 * loader/CrossOriginAccessControl.cpp: 26298 (WebCore::passesAccessControlCheck): 26299 * loader/FrameLoader.cpp: 26300 (WebCore::FrameLoader::FrameLoader): 26301 (WebCore::FrameLoader::init): 26302 (WebCore::FrameLoader::submitForm): sandboxing forms 26303 (WebCore::FrameLoader::requestObject): sandboxing plugins 26304 (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation 26305 (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags 26306 * loader/FrameLoader.h: 26307 (WebCore::FrameLoader::ownerElementSandboxFlagsChanged): 26308 (WebCore::FrameLoader::isSandboxed): 26309 (WebCore::FrameLoader::sandboxFlags): 26310 * loader/FrameLoaderTypes.h: 26311 (WebCore::): 26312 * page/DOMWindow.cpp: disable storage and databases in sandboxed frames 26313 (WebCore::DOMWindow::sessionStorage): 26314 (WebCore::DOMWindow::localStorage): 26315 (WebCore::DOMWindow::openDatabase): 26316 * page/SecurityOrigin.cpp: added sandboxing status 26317 (WebCore::SecurityOrigin::SecurityOrigin): 26318 (WebCore::SecurityOrigin::canAccess): 26319 (WebCore::SecurityOrigin::canRequest): 26320 (WebCore::SecurityOrigin::toString): 26321 * page/SecurityOrigin.h: 26322 (WebCore::SecurityOrigin::setSandboxFlags): 26323 (WebCore::SecurityOrigin::isSandboxed): 26324 (WebCore::SecurityOrigin::canAccessDatabase): 26325 (WebCore::SecurityOrigin::canAccessStorage): 26326 * websockets/WebSocketChannel.cpp: 26327 (WebCore::WebSocketChannel::didReceiveData): 26328 26329 2009-12-01 Chris Fleizach <cfleizach (a] apple.com> 26330 26331 Reviewed by David Kilzer. 26332 26333 ARIA: support a way to create a static text object 26334 https://bugs.webkit.org/show_bug.cgi?id=32030 26335 26336 Test: accessibility/aria-text-role.html 26337 26338 * accessibility/AccessibilityObject.cpp: 26339 (WebCore::createARIARoleMap): 26340 * accessibility/AccessibilityRenderObject.cpp: 26341 (WebCore::AccessibilityRenderObject::stringValue): 26342 (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent): 26343 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 26344 (WebCore::AccessibilityRenderObject::text): 26345 * accessibility/AccessibilityRenderObject.h: 26346 26347 2009-12-01 Oliver Hunt <oliver (a] apple.com> 26348 26349 Reviewed by Maciej Stachowiak. 26350 26351 Inspector crashes when collecting on every allocation 26352 https://bugs.webkit.org/show_bug.cgi?id=32044 26353 26354 The crash is caused by the prototype wrapper object getting collected 26355 when allocating the object that is going to use it as a prototype. 26356 Because the only reference to the prototype wrapper is through the 26357 new object's Structure it does not get marked automatically. 26358 26359 * bindings/js/JSInspectedObjectWrapper.cpp: 26360 (WebCore::JSInspectedObjectWrapper::wrap): 26361 * bindings/js/JSInspectorCallbackWrapper.cpp: 26362 (WebCore::JSInspectorCallbackWrapper::wrap): 26363 26364 2009-12-01 Nikolas Zimmermann <nzimmermann (a] rim.com> 26365 26366 Reviewed by Simon Fraser. 26367 26368 Add SVG animation test framework with 'snapshot' functionality 26369 https://bugs.webkit.org/show_bug.cgi?id=31897 26370 26371 Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController, 26372 for the use within the new SVG animation test framework (LayoutTests/svg/animations/) 26373 26374 layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>); 26375 to sample a svg animateMotion/animateColor/animate/set element at certain times. 26376 26377 After the desired SVG animation starts and calling the method above, it's immediately forwarded to 26378 the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method 26379 a callback is fired used to sample the animation value at the target time. It's modelled similar 26380 to the CSS animation/transition testing framework, inspired by 26381 LayoutTests/animations/animation-test-helpers.js. 26382 26383 Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for 26384 the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only. 26385 26386 Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal 26387 interaction, while animating. 26388 26389 Test: svg/animations/animVal-basics.html 26390 26391 * WebCore.base.exp: 26392 * WebCore.xcodeproj/project.pbxproj: 26393 * svg/SVGDocumentExtensions.cpp: 26394 (WebCore::SVGDocumentExtensions::sampleAnimationAtTime): 26395 * svg/SVGDocumentExtensions.h: 26396 * svg/animation/SMILTimeContainer.cpp: 26397 (WebCore::SMILTimeContainer::SMILTimeContainer): 26398 (WebCore::SMILTimeContainer::sampleAnimationAtTime): 26399 (WebCore::SMILTimeContainer::updateAnimations): 26400 * svg/animation/SMILTimeContainer.h: 26401 26402 2009-12-01 Jens Alfke <snej (a] chromium.org> 26403 26404 Reviewed by Darin Adler. 26405 26406 Add convenience methods to Element and QualifiedName that take 26407 char* instead of AtomicString, in preparation for removing the 26408 implicit conversion between the two types (30187). 26409 https://bugs.webkit.org/show_bug.cgi?id=31749 26410 26411 * dom/Element.cpp: 26412 (WebCore::Element::setCStringAttribute): Equivalent to setAttribute. 26413 * dom/Element.h: 26414 * dom/QualifiedName.cpp: 26415 (WebCore::QualifiedName::init): Shared impl of both constructors 26416 (WebCore::QualifiedName::QualifiedName): New c'tor taking char*. 26417 * dom/QualifiedName.h: 26418 * platform/network/HTTPHeaderMap.cpp: 26419 (WebCore::CaseFoldingCStringTranslator): Enables lookup by C string 26420 (WebCore::HTTPHeaderMap::get): New variant that takes C string 26421 (WebCore::HTTPHeaderMap::contains): New variant that takes C string 26422 (WebCore::HTTPHeaderMap::add): New variant that takes C string 26423 * platform/network/HTTPHeaderMap.h: 26424 (WebCore::HTTPHeaderMap::get): 26425 (WebCore::HTTPHeaderMap::add): 26426 * platform/network/ResourceRequestBase.cpp: 26427 (WebCore::ResourceRequestBase::httpHeaderField): New variant that takes C string 26428 * platform/network/ResourceRequestBase.h: 26429 (WebCore::ResourceRequestBase::setHTTPHeaderField): Use symbolic names for headers 26430 * platform/network/ResourceResponseBase.cpp: 26431 (WebCore::ResourceResponseBase::httpHeaderField): New variant that takes C string 26432 * platform/network/ResourceResponseBase.h: 26433 26434 2009-12-01 Alexey Proskuryakov <ap (a] apple.com> 26435 26436 More Windows build fix. 26437 26438 * platform/network/cf/CredentialStorageCFNet.cpp: 26439 (WebCore::CredentialStorage::getFromPersistentStorage): 26440 26441 2009-12-01 Alexey Proskuryakov <ap (a] apple.com> 26442 26443 Windows build fix. 26444 26445 * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h. 26446 26447 2009-12-01 Alexey Proskuryakov <ap (a] apple.com> 26448 26449 Reviewed by Darin Adler. 26450 26451 https://bugs.webkit.org/show_bug.cgi?id=32036 26452 Implement CredentialStorage::getFromPersistentStorage for CFNetwork 26453 26454 * platform/network/cf/CredentialStorageCFNet.cpp: 26455 (WebCore::CredentialStorage::getFromPersistentStorage): 26456 26457 2009-12-01 Daniel Bates <dbates (a] webkit.org> 26458 26459 Reviewed by Pavel Feldman. 26460 26461 https://bugs.webkit.org/show_bug.cgi?id=32001 26462 26463 Added missing localized strings (that I left out of the patch for bug #21554): 26464 %d %d pixels 26465 %d %d pixels (Natural: %d %d pixels) 26466 26467 Also, changed formatting of these stings to conform with existing ones (added 26468 a space on both sides of the multiply sign). 26469 26470 * English.lproj/localizedStrings.js: Added stings. 26471 * inspector/front-end/ElementsTreeOutline.js: 26472 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 26473 26474 2009-12-01 Dave Hyatt <hyatt (a] apple.com> 26475 26476 Reviewed by Simon Fraser. 26477 26478 Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS. 26479 26480 Added fast/css/namespaces/namespaces-empty.xml 26481 26482 * css/CSSStyleSheet.cpp: 26483 (WebCore::CSSStyleSheet::addNamespace): 26484 (WebCore::CSSStyleSheet::determineNamespace): 26485 26486 2009-12-01 Joseph Pecoraro <joepeck (a] webkit.org> 26487 26488 Reviewed by Timothy Hatcher. 26489 26490 Web Inspector: Escape key in the Search Field should be more User Friendly 26491 https://bugs.webkit.org/show_bug.cgi?id=32005 26492 26493 * inspector/front-end/inspector.js: 26494 (WebInspector.loaded): add mousedown listener on the search field 26495 (WebInspector.searchFieldManualFocus): user clicked to focus on the search field 26496 (WebInspector.searchKeyDown): handle escape 26497 26498 2009-12-01 Dave Hyatt <hyatt (a] apple.com> 26499 26500 Reviewed by David Kilzer. 26501 26502 @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match 26503 the spec. Not doing so prevent comments from being used immmediately after the namespace prefix. 26504 26505 Added fast/css/namespaces-comments.xml 26506 26507 * css/CSSGrammar.y: 26508 26509 2009-12-01 Yael Aharon <yael.aharon (a] nokia.com> 26510 26511 Reviewed by Timothy Hatcher. 26512 26513 Reloading WebInspector from context menu is closing it instead of reloading. 26514 https://bugs.webkit.org/show_bug.cgi?id=32004 26515 26516 When reloading WebInspector, don't delete its m_page. 26517 26518 * inspector/InspectorController.cpp: 26519 (WebCore::InspectorController::close): 26520 26521 2009-12-01 Steve Block <steveblock (a] google.com> 26522 26523 Reviewed by Dimitri Glazkov. 26524 26525 Adds V8 bindings for Geolocation. 26526 https://bugs.webkit.org/show_bug.cgi?id=30206 26527 26528 Also adds Geolocation files to Chrome build files. 26529 26530 * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files. 26531 * WebCore.gypi: Modified. Adds Geolocation files. 26532 * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes. 26533 * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files. 26534 * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers. 26535 * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES. 26536 * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties. 26537 * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters. 26538 * bindings/v8/custom/V8CustomPositionCallback.cpp: Added. 26539 (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor. 26540 (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor. 26541 (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback. 26542 * bindings/v8/custom/V8CustomPositionCallback.h: Added. 26543 (WebCore::V8CustomPositionCallback::create): Added. Factory method. 26544 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added. 26545 (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor. 26546 (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor. 26547 (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback. 26548 * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added. 26549 (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method. 26550 * bindings/v8/custom/V8GeolocationCustom.cpp: Added. 26551 (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error. 26552 (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument. 26553 (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument. 26554 (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument. 26555 26556 2009-12-01 Yury Semikhatsky <yurys (a] chromium.org> 26557 26558 Reviewed by Adam Barth. 26559 26560 Provide a way to get ScriptState for the inspected page. 26561 26562 https://bugs.webkit.org/show_bug.cgi?id=32020 26563 26564 * bindings/v8/ScriptController.cpp: 26565 (WebCore::ScriptController::mainWorldScriptState): 26566 * bindings/v8/ScriptController.h: 26567 * bindings/v8/ScriptState.cpp: 26568 (WebCore::scriptStateFromPage): 26569 26570 2009-12-01 Chris Marrin <cmarrin (a] apple.com> 26571 26572 Reviewed by Adam Roben. 26573 26574 Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns 26575 https://bugs.webkit.org/show_bug.cgi?id=30778 26576 26577 * platform/graphics/mac/GraphicsContext3DMac.cpp: 26578 (WebCore::GraphicsContext3D::getProgramInfoLog): 26579 (WebCore::GraphicsContext3D::getShaderInfoLog): 26580 (WebCore::GraphicsContext3D::getShaderSource): 26581 (WebCore::imageToTexture): 26582 26583 2009-12-01 Mads Ager <ager (a] chromium.org> 26584 26585 Reviewed by Eric Seidel. 26586 26587 [V8] Don't crash in DOMWindow event getter in OOM situations 26588 https://bugs.webkit.org/show_bug.cgi?id=32017 26589 26590 Add missing null handle checks in DOMWindow event property 26591 accessors. V8Proxy::context(frame) can return a null handle in 26592 OOM situations either if failing to initialize a context or if an 26593 OOM is handled gracefully and javascript is disabled. 26594 26595 No new tests because we don't have a good way to test 26596 out-of-memory bugs. 26597 26598 * bindings/v8/custom/V8DOMWindowCustom.cpp: 26599 (WebCore::ACCESSOR_GETTER): 26600 (WebCore::ACCESSOR_SETTER): 26601 26602 2009-12-01 Chris Marrin <cmarrin (a] apple.com> 26603 26604 Reviewed by Oliver Hunt. 26605 26606 Updated HTMLCanvasElement to accept "experimental-webgl" as the context name. 26607 https://bugs.webkit.org/show_bug.cgi?id=31672 26608 26609 * html/HTMLCanvasElement.cpp: 26610 (WebCore::HTMLCanvasElement::getContext): 26611 26612 2009-12-01 Pavel Feldman <pfeldman (a] dhcp-172-28-174-220.spb.corp.google.com> 26613 26614 Not reviewed: chromium build fix, added missing import. 26615 26616 * inspector/InspectorFrontendHost.cpp: 26617 26618 2009-12-01 Pavel Feldman <pfeldman (a] chromium.org> 26619 26620 Not reviewed: fix windows build via unexcluding generated files from 26621 project. 26622 26623 * WebCore.vcproj/WebCore.vcproj: 26624 26625 2009-12-01 Mark Rowe <mrowe (a] apple.com> 26626 26627 Stop copying IDL files in to the WebCore framework wrapper. 26628 26629 * WebCore.xcodeproj/project.pbxproj: 26630 26631 2009-12-01 Mark Rowe <mrowe (a] apple.com> 26632 26633 Fix the Tiger build by making the Xcode project compatible with Xcode 2.4. 26634 26635 This was probably broken by hand-editing the project file as Xcode itself 26636 knows how to keep project files to a backwards-compatible subset of its format. 26637 26638 * WebCore.xcodeproj/project.pbxproj: 26639 26640 2009-12-01 Pavel Feldman <pfeldman (a] chromium.org> 26641 26642 Not reviewed: windows build fix (bad vcproj in r51528). 26643 26644 * WebCore.vcproj/WebCore.vcproj: 26645 26646 2009-11-27 Pavel Feldman <pfeldman (a] dhcp-172-28-174-220.spb.corp.google.com> 26647 26648 Reviewed by Timothy Hatcher. 26649 26650 Web Inspector: Split InspectorBackend into three parts: backend, 26651 injected script host and frontend host. 26652 26653 https://bugs.webkit.org/show_bug.cgi?id=31888 26654 26655 * DerivedSources.make: 26656 * GNUmakefile.am: 26657 * WebCore.gypi: 26658 * WebCore.pro: 26659 * WebCore.vcproj/WebCore.vcproj: 26660 * WebCore.xcodeproj/project.pbxproj: 26661 * WebCoreSources.bkl: 26662 * bindings/js/JSBindingsAllInOne.cpp: 26663 * bindings/js/JSInspectorBackendCustom.cpp: Removed. 26664 * bindings/js/JSInspectorFrontendHostCustom.cpp: Added. 26665 (WebCore::JSInspectorFrontendHost::search): 26666 (WebCore::JSInspectorFrontendHost::setting): 26667 (WebCore::JSInspectorFrontendHost::setSetting): 26668 * bindings/js/ScriptObject.cpp: 26669 (WebCore::ScriptGlobalObject::set): 26670 * bindings/js/ScriptObject.h: 26671 * bindings/v8/DOMObjectsInclude.h: 26672 * bindings/v8/DerivedSourcesAllInOne.cpp: 26673 * bindings/v8/ScriptObject.cpp: 26674 (WebCore::ScriptGlobalObject::set): 26675 * bindings/v8/ScriptObject.h: 26676 * bindings/v8/V8Index.cpp: 26677 * bindings/v8/V8Index.h: 26678 * bindings/v8/custom/V8CustomBinding.h: 26679 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added. 26680 (WebCore::CALLBACK_FUNC_DECL): 26681 * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed. 26682 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added. 26683 (WebCore::CALLBACK_FUNC_DECL): 26684 * inspector/InjectedScriptHost.cpp: Added. 26685 (WebCore::InjectedScriptHost::InjectedScriptHost): 26686 (WebCore::InjectedScriptHost::~InjectedScriptHost): 26687 (WebCore::InjectedScriptHost::copyText): 26688 (WebCore::InjectedScriptHost::nodeForId): 26689 (WebCore::InjectedScriptHost::wrapObject): 26690 (WebCore::InjectedScriptHost::unwrapObject): 26691 (WebCore::InjectedScriptHost::pushNodePathToFrontend): 26692 (WebCore::InjectedScriptHost::addNodesToSearchResult): 26693 (WebCore::InjectedScriptHost::currentCallFrame): 26694 (WebCore::InjectedScriptHost::databaseForId): 26695 (WebCore::InjectedScriptHost::selectDatabase): 26696 (WebCore::InjectedScriptHost::selectDOMStorage): 26697 (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript): 26698 (WebCore::InjectedScriptHost::inspectorDOMAgent): 26699 (WebCore::InjectedScriptHost::inspectorFrontend): 26700 * inspector/InjectedScriptHost.h: Added. 26701 (WebCore::InjectedScriptHost::create): 26702 (WebCore::InjectedScriptHost::inspectorController): 26703 (WebCore::InjectedScriptHost::disconnectController): 26704 * inspector/InjectedScriptHost.idl: Added. 26705 * inspector/InspectorBackend.cpp: 26706 (WebCore::InspectorBackend::InspectorBackend): 26707 (WebCore::InspectorBackend::storeLastActivePanel): 26708 (WebCore::InspectorBackend::toggleNodeSearch): 26709 (WebCore::InspectorBackend::resourceTrackingEnabled): 26710 (WebCore::InspectorBackend::debuggerEnabled): 26711 (WebCore::InspectorBackend::enableDebugger): 26712 (WebCore::InspectorBackend::disableDebugger): 26713 (WebCore::InspectorBackend::addBreakpoint): 26714 (WebCore::InspectorBackend::updateBreakpoint): 26715 (WebCore::InspectorBackend::removeBreakpoint): 26716 (WebCore::InspectorBackend::pauseInDebugger): 26717 (WebCore::InspectorBackend::resumeDebugger): 26718 (WebCore::InspectorBackend::stepOverStatementInDebugger): 26719 (WebCore::InspectorBackend::stepIntoStatementInDebugger): 26720 (WebCore::InspectorBackend::stepOutOfFunctionInDebugger): 26721 (WebCore::InspectorBackend::pauseOnExceptions): 26722 (WebCore::InspectorBackend::setPauseOnExceptions): 26723 (WebCore::InspectorBackend::profilerEnabled): 26724 (WebCore::InspectorBackend::enableProfiler): 26725 (WebCore::InspectorBackend::disableProfiler): 26726 (WebCore::InspectorBackend::startProfiling): 26727 (WebCore::InspectorBackend::stopProfiling): 26728 (WebCore::InspectorBackend::getProfileHeaders): 26729 (WebCore::InspectorBackend::getProfile): 26730 (WebCore::InspectorBackend::currentCallFrame): 26731 (WebCore::InspectorBackend::highlightDOMNode): 26732 (WebCore::InspectorBackend::hideDOMNodeHighlight): 26733 (WebCore::InspectorBackend::getCookies): 26734 (WebCore::InspectorBackend::deleteCookie): 26735 (WebCore::InspectorBackend::didEvaluateForTestInFrontend): 26736 (WebCore::InspectorBackend::nodeForId): 26737 * inspector/InspectorBackend.h: 26738 (WebCore::InspectorBackend::create): 26739 * inspector/InspectorBackend.idl: 26740 * inspector/InspectorController.cpp: 26741 (WebCore::InspectorController::InspectorController): 26742 (WebCore::InspectorController::~InspectorController): 26743 (WebCore::InspectorController::inspectedPageDestroyed): 26744 (WebCore::InspectorController::windowScriptObjectAvailable): 26745 * inspector/InspectorController.h: 26746 (WebCore::InspectorController::inspectorFrontendHost): 26747 (WebCore::InspectorController::injectedScriptHost): 26748 * inspector/InspectorFrontendHost.cpp: Added. 26749 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 26750 (WebCore::InspectorFrontendHost::~InspectorFrontendHost): 26751 (WebCore::InspectorFrontendHost::loaded): 26752 (WebCore::InspectorFrontendHost::attach): 26753 (WebCore::InspectorFrontendHost::detach): 26754 (WebCore::InspectorFrontendHost::closeWindow): 26755 (WebCore::InspectorFrontendHost::windowUnloading): 26756 (WebCore::InspectorFrontendHost::setAttachedWindowHeight): 26757 (WebCore::InspectorFrontendHost::moveWindowBy): 26758 (WebCore::InspectorFrontendHost::localizedStringsURL): 26759 (WebCore::InspectorFrontendHost::hiddenPanels): 26760 (WebCore::InspectorFrontendHost::platform): 26761 (WebCore::InspectorFrontendHost::port): 26762 (WebCore::InspectorFrontendHost::addResourceSourceToFrame): 26763 (WebCore::InspectorFrontendHost::addSourceToFrame): 26764 * inspector/InspectorFrontendHost.h: Added. 26765 (WebCore::InspectorFrontendHost::create): 26766 (WebCore::InspectorFrontendHost::inspectorController): 26767 (WebCore::InspectorFrontendHost::disconnectController): 26768 * inspector/InspectorFrontendHost.idl: Added. 26769 * inspector/front-end/Breakpoint.js: 26770 (WebInspector.Breakpoint.prototype.set condition): 26771 * inspector/front-end/BreakpointsSidebarPane.js: 26772 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 26773 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 26774 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 26775 * inspector/front-end/ConsoleView.js: 26776 (WebInspector.ConsoleView.prototype.clearMessages): 26777 * inspector/front-end/CookieItemsView.js: 26778 (WebInspector.CookieItemsView.prototype._deleteCookieCallback): 26779 * inspector/front-end/DOMAgent.js: 26780 (WebInspector.DOMAgent.prototype.getChildNodesAsync): 26781 (WebInspector.DOMAgent.prototype.setAttributeAsync): 26782 (WebInspector.DOMAgent.prototype.removeAttributeAsync): 26783 (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): 26784 (WebInspector.Cookies.getCookiesAsync): 26785 (WebInspector.EventListeners.getEventListenersForNodeAsync): 26786 * inspector/front-end/DOMStorage.js: 26787 (WebInspector.DOMStorage.prototype.getEntries): 26788 (WebInspector.DOMStorage.prototype.setItem): 26789 (WebInspector.DOMStorage.prototype.removeItem): 26790 * inspector/front-end/Database.js: 26791 (WebInspector.Database.prototype.getTableNames): 26792 * inspector/front-end/ElementsPanel.js: 26793 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 26794 (WebInspector.ElementsPanel.prototype.hide): 26795 (WebInspector.ElementsPanel.prototype.reset): 26796 (WebInspector.ElementsPanel.prototype.handleCopyEvent): 26797 (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked): 26798 * inspector/front-end/ElementsTreeOutline.js: 26799 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode): 26800 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): 26801 (): 26802 * inspector/front-end/EventListenersSidebarPane.js: 26803 (WebInspector.EventListenersSidebarPane.prototype): 26804 * inspector/front-end/InjectedScript.js: 26805 (InjectedScript._evaluateAndWrap): 26806 (InjectedScript.performSearch.addNodesToResults): 26807 (InjectedScript.getCallFrames): 26808 (InjectedScript._callFrameForId): 26809 (InjectedScript._clearConsoleMessages): 26810 (InjectedScript._inspectObject): 26811 (InjectedScript._copy): 26812 (InjectedScript._ensureCommandLineAPIInstalled): 26813 (InjectedScript._window): 26814 (InjectedScript._nodeForId): 26815 (InjectedScript._objectForId): 26816 (InjectedScript.pushNodeToFrontend): 26817 (InjectedScript.executeSql): 26818 (InjectedScript.executeSql.errorCallback): 26819 (InjectedScript.executeSql.queryTransaction): 26820 * inspector/front-end/InjectedScriptAccess.js: 26821 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): 26822 (InjectedScriptAccess._installHandler): 26823 * inspector/front-end/InspectorBackendStub.js: Added. 26824 (.WebInspector.InspectorBackendStub): 26825 (.WebInspector.InspectorBackendStub.prototype.wrapCallback): 26826 (.WebInspector.InspectorBackendStub.prototype.platform): 26827 (.WebInspector.InspectorBackendStub.prototype.port): 26828 (.WebInspector.InspectorBackendStub.prototype.closeWindow): 26829 (.WebInspector.InspectorBackendStub.prototype.attach): 26830 (.WebInspector.InspectorBackendStub.prototype.detach): 26831 (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel): 26832 (.WebInspector.InspectorBackendStub.prototype.clearMessages): 26833 (.WebInspector.InspectorBackendStub.prototype.searchingForNode): 26834 (.WebInspector.InspectorBackendStub.prototype.search): 26835 (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch): 26836 (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight): 26837 (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted): 26838 (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame): 26839 (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame): 26840 (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode): 26841 (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode): 26842 (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight): 26843 (.WebInspector.InspectorBackendStub.prototype.inspectedWindow): 26844 (.WebInspector.InspectorBackendStub.prototype.loaded): 26845 (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL): 26846 (.WebInspector.InspectorBackendStub.prototype.windowUnloading): 26847 (.WebInspector.InspectorBackendStub.prototype.hiddenPanels): 26848 (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled): 26849 (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking): 26850 (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking): 26851 (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled): 26852 (.WebInspector.InspectorBackendStub.prototype.enableDebugger): 26853 (.WebInspector.InspectorBackendStub.prototype.disableDebugger): 26854 (.WebInspector.InspectorBackendStub.prototype.addBreakpoint): 26855 (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint): 26856 (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint): 26857 (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger): 26858 (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions): 26859 (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions): 26860 (.WebInspector.InspectorBackendStub.prototype.resumeDebugger): 26861 (.WebInspector.InspectorBackendStub.prototype.profilerEnabled): 26862 (.WebInspector.InspectorBackendStub.prototype.enableProfiler): 26863 (.WebInspector.InspectorBackendStub.prototype.disableProfiler): 26864 (.WebInspector.InspectorBackendStub.prototype.startProfiling): 26865 (.WebInspector.InspectorBackendStub.prototype.stopProfiling): 26866 (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders): 26867 (.WebInspector.InspectorBackendStub.prototype.getProfile): 26868 (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot): 26869 (.WebInspector.InspectorBackendStub.prototype.databaseTableNames): 26870 (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger): 26871 (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger): 26872 (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger): 26873 (.WebInspector.InspectorBackendStub.prototype.setSetting): 26874 (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript): 26875 (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): 26876 (.WebInspector.InspectorBackendStub.prototype.setting): 26877 * inspector/front-end/InspectorControllerStub.js: 26878 * inspector/front-end/InspectorFrontendHostStub.js: Added. 26879 (.WebInspector.InspectorFrontendHostStub): 26880 (.WebInspector.InspectorFrontendHostStub.prototype.platform): 26881 (.WebInspector.InspectorFrontendHostStub.prototype.port): 26882 (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow): 26883 (.WebInspector.InspectorFrontendHostStub.prototype.attach): 26884 (.WebInspector.InspectorFrontendHostStub.prototype.detach): 26885 (.WebInspector.InspectorFrontendHostStub.prototype.search): 26886 (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight): 26887 (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy): 26888 (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame): 26889 (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame): 26890 (.WebInspector.InspectorFrontendHostStub.prototype.loaded): 26891 (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL): 26892 (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels): 26893 (.WebInspector.InspectorFrontendHostStub.prototype.setSetting): 26894 (.WebInspector.InspectorFrontendHostStub.prototype.setting): 26895 * inspector/front-end/ProfileView.js: 26896 (WebInspector.CPUProfileView): 26897 (WebInspector.CPUProfileType.prototype.buttonClicked): 26898 * inspector/front-end/ProfilesPanel.js: 26899 (WebInspector.ProfilesPanel.prototype._updateInterface): 26900 (WebInspector.ProfilesPanel.prototype._enableProfiling): 26901 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 26902 * inspector/front-end/ResourcesPanel.js: 26903 (WebInspector.ResourcesPanel.prototype.reset): 26904 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): 26905 (WebInspector.ResourcesPanel.prototype._enableResourceTracking): 26906 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): 26907 * inspector/front-end/ScriptView.js: 26908 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): 26909 * inspector/front-end/ScriptsPanel.js: 26910 (WebInspector.ScriptsPanel.prototype.show): 26911 (WebInspector.ScriptsPanel.prototype.addScript): 26912 (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): 26913 (WebInspector.ScriptsPanel.prototype.reset): 26914 (WebInspector.ScriptsPanel.prototype.canShowResource): 26915 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 26916 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 26917 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): 26918 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): 26919 (WebInspector.ScriptsPanel.prototype._enableDebugging): 26920 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 26921 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): 26922 (WebInspector.ScriptsPanel.prototype._togglePause): 26923 (WebInspector.ScriptsPanel.prototype._stepOverClicked): 26924 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): 26925 (WebInspector.ScriptsPanel.prototype._stepOutClicked): 26926 * inspector/front-end/SourceView.js: 26927 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): 26928 (WebInspector.SourceView.prototype.performSearch.findSearchMatches): 26929 (WebInspector.SourceView.prototype.performSearch): 26930 * inspector/front-end/StylesSidebarPane.js: 26931 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): 26932 * inspector/front-end/TestController.js: 26933 (WebInspector.TestController.prototype.notifyDone): 26934 * inspector/front-end/TimelinePanel.js: 26935 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 26936 * inspector/front-end/WatchExpressionsSidebarPane.js: 26937 (WebInspector.WatchExpressionsSection.prototype.update): 26938 (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions): 26939 (WebInspector.WatchExpressionsSection.prototype.saveExpressions): 26940 * inspector/front-end/WebKit.qrc: 26941 * inspector/front-end/inspector.html: 26942 * inspector/front-end/inspector.js: 26943 (WebInspector.pendingDispatches.0.get platform): 26944 (WebInspector.get port): 26945 (WebInspector.set currentPanel): 26946 (WebInspector._createPanels): 26947 (WebInspector._loadPreferences): 26948 (WebInspector.set attached): 26949 (WebInspector._updateHoverHighlight): 26950 (WebInspector.loaded): 26951 (windowLoaded): 26952 (WebInspector.windowUnload): 26953 (WebInspector.close): 26954 (WebInspector.toolbarDrag): 26955 (WebInspector.UIString): 26956 26957 2009-11-30 Shinichiro Hamaji <hamaji (a] chromium.org> 26958 26959 Reviewed by Dan Bernstein. 26960 26961 css2.1/t1205-c566-list-stl-00-e-ag.html is failing 26962 https://bugs.webkit.org/show_bug.cgi?id=23264 26963 css2.1/t1205-c565-list-pos-00-b.html is failing 26964 https://bugs.webkit.org/show_bug.cgi?id=23263 26965 26966 Ignore whitespaces after list markers. 26967 Rendering of this was already done for the case where inside=false. 26968 This fixes the rendering of inside=true case and calcInlinePrefWidths. 26969 26970 Test: fast/lists/calc-width-with-space.html 26971 26972 * rendering/RenderBlock.cpp: 26973 (WebCore::RenderBlock::calcInlinePrefWidths): 26974 * rendering/RenderBlockLineLayout.cpp: 26975 (WebCore::RenderBlock::findNextLineBreak): 26976 26977 2009-11-30 Fumitoshi Ukai <ukai (a] chromium.org> 26978 26979 Unreviewed Chromium build fix introduced by r51212 26980 26981 Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld 26982 as the first argument. 26983 Move mainThreadNormalWorld() to ScriptState.{h,cpp}. 26984 Add debuggerWorld() and pluginWorld() in ScriptState.h. 26985 26986 * bindings/v8/ScriptController.cpp: 26987 * bindings/v8/ScriptController.h: 26988 * bindings/v8/ScriptState.cpp: 26989 (WebCore::scriptStateFromNode): 26990 (WebCore::scriptStateFromPage): 26991 (WebCore::mainThreadNormalWorld): 26992 * bindings/v8/ScriptState.h: 26993 (WebCore::debuggerWorld): 26994 (WebCore::pluginWorld): 26995 26996 2009-11-30 Enrica Casucci <enrica (a] apple.com> 26997 26998 Reviewed by Darin Adler. 26999 27000 Can focus but not type into content editable block that contains only non-editable content. 27001 <rdar://problem/5982901> 27002 https://bugs.webkit.org/show_bug.cgi?id=31750 27003 27004 The goal is to change the way we choose a visible position 27005 after hit detection, by preferring a visually equivalent editable 27006 position if available. By doing this, it is possible to add content 27007 to an editable block that initially contains only non editable elements. 27008 27009 Test: editing/selection/mixed-editability-10.html 27010 27011 * WebCore.base.exp: Changed to match the new signature of downstream 27012 and upstream in the Position class. 27013 * dom/Position.cpp: 27014 (WebCore::Position::atEditingBoundary): Added. 27015 (WebCore::Position::upstream): Modified to allow to cross the boundary 27016 between editable and non editable content if required. 27017 (WebCore::Position::downstream): Modified to allow to cross the boundary 27018 between editable and non editable content if required. 27019 (WebCore::Position::isCandidate): Modified to qualify as candidates positions 27020 that are at the editability boundary. 27021 (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box 27022 to be used in calculating the caret rectangle. 27023 * dom/Position.h: 27024 (WebCore::Position::): 27025 * dom/PositionIterator.cpp: 27026 (WebCore::PositionIterator::atEditingBoundary): Added. 27027 (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions 27028 that are at the editability boundary. 27029 * dom/PositionIterator.h: 27030 * editing/htmlediting.cpp: 27031 (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only 27032 descendants of the editable container, but the container itself. 27033 (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only 27034 descendants of the editable container, but the container itself. 27035 * rendering/RenderObject.cpp: 27036 (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position, 27037 if available. 27038 * rendering/RenderText.cpp: 27039 (WebCore::RenderText::isAllCollapsibleWhitespace): Added. 27040 * rendering/RenderText.h: 27041 27042 2009-11-30 Kevin Ollivier <kevino (a] theolliviers.com> 27043 27044 wx build fix, add header needed for wx build. 27045 27046 * css/CSSFontFaceSrcValue.cpp: 27047 27048 2009-11-30 Mark Rowe <mrowe (a] apple.com> 27049 27050 Reviewed by David Kilzer. 27051 27052 <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries 27053 27054 The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine. 27055 If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined. We work around this by forcing the check to 27056 be performed against the x86_64 architecture. 27057 27058 * DerivedSources.make: 27059 27060 2009-11-30 Beth Dakin <bdakin (a] apple.com> 27061 27062 Reviewed by Oliver Hunt. 27063 27064 Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 27065 Safari caused by extreme column-gap and column-width values 27066 -and corresponding- 27067 <rdar://problem/7425433> 27068 27069 Prevent desiredColumnCount from being less than 1 since it is used 27070 as a divisor. 27071 * rendering/RenderBlock.cpp: 27072 (WebCore::RenderBlock::calcColumnWidth): 27073 27074 2009-11-30 Alexey Proskuryakov <ap (a] apple.com> 27075 27076 Reviewed by Oliver Hunt. 27077 27078 https://bugs.webkit.org/show_bug.cgi?id=31659 27079 Connection must be closed in case of Web Socket handshake error 27080 27081 The network connection was closed, but the close event wasn't dispatched. 27082 27083 Tested by websocket/tests/handshake-error.html, which is un-skipped now. 27084 27085 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose): 27086 Call client didHandle() method. This looks strange in CFNetwork implementation, because 27087 it's the client that asked to close the stream, so it shouldn't need the callback. It makes 27088 more sense in cross-process implementation, because closing is async there. 27089 27090 2009-11-30 Gavin Barraclough <barraclough (a] apple.com> 27091 27092 Reviewed by Geoff Garen. 27093 27094 Bug 31859 - Make world selection for JSC IsolatedWorlds automagical. 27095 27096 WebCore presently has to explicitly specify the world before entering into JSC, 27097 which is a little fragile (particularly since property access via a 27098 getter/setter might invoke execution). Instead derive the current world from 27099 the lexical global object. 27100 27101 Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via 27102 currentWorld(). Switch this to obtain the world from the ExecsState's lexical global 27103 object instead. Remove the call/construct/evaluate 'InWorld' methods, since these 27104 are no longer necessary. 27105 27106 * WebCore.base.exp: 27107 * bindings/js/JSCallbackData.cpp: 27108 (WebCore::JSCallbackData::invokeCallback): 27109 * bindings/js/JSCallbackData.h: 27110 (WebCore::JSCallbackData::JSCallbackData): 27111 * bindings/js/JSCustomXPathNSResolver.cpp: 27112 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 27113 * bindings/js/JSDOMBinding.cpp: 27114 (WebCore::currentWorld): 27115 (WebCore::mainThreadNormalWorld): 27116 * bindings/js/JSDOMBinding.h: 27117 (WebCore::WebCoreJSClientData::WebCoreJSClientData): 27118 * bindings/js/JSDOMWindowBase.cpp: 27119 (WebCore::JSDOMWindowBase::updateDocument): 27120 * bindings/js/JSDOMWindowBase.h: 27121 * bindings/js/JSEventListener.cpp: 27122 (WebCore::JSEventListener::handleEvent): 27123 (WebCore::JSEventListener::reportError): 27124 * bindings/js/JSHTMLDocumentCustom.cpp: 27125 (WebCore::JSHTMLDocument::open): 27126 * bindings/js/JSNodeFilterCondition.cpp: 27127 (WebCore::JSNodeFilterCondition::acceptNode): 27128 * bindings/js/JSQuarantinedObjectWrapper.cpp: 27129 (WebCore::JSQuarantinedObjectWrapper::construct): 27130 (WebCore::JSQuarantinedObjectWrapper::call): 27131 * bindings/js/ScheduledAction.cpp: 27132 (WebCore::ScheduledAction::executeFunctionInContext): 27133 * bindings/js/ScriptController.cpp: 27134 (WebCore::ScriptController::evaluateInWorld): 27135 (WebCore::ScriptController::initScript): 27136 (WebCore::ScriptController::updateDocument): 27137 * bindings/js/ScriptFunctionCall.cpp: 27138 (WebCore::ScriptFunctionCall::call): 27139 (WebCore::ScriptFunctionCall::construct): 27140 * bindings/js/ScriptObjectQuarantine.cpp: 27141 (WebCore::getQuarantinedScriptObject): 27142 * bindings/js/ScriptState.cpp: 27143 (WebCore::scriptStateFromNode): 27144 (WebCore::scriptStateFromPage): 27145 * bindings/js/ScriptState.h: 27146 * bindings/js/WorkerScriptController.cpp: 27147 (WebCore::WorkerScriptController::evaluate): 27148 * bindings/objc/WebScriptObject.mm: 27149 (-[WebScriptObject callWebScriptMethod:withArguments:]): 27150 (-[WebScriptObject evaluateWebScript:]): 27151 * bridge/NP_jsobject.cpp: 27152 (_NPN_InvokeDefault): 27153 (_NPN_Invoke): 27154 (_NPN_Evaluate): 27155 (_NPN_Construct): 27156 * bridge/jni/jni_jsobject.mm: 27157 (JavaJSObject::call): 27158 (JavaJSObject::eval): 27159 * dom/NodeFilter.h: 27160 (WebCore::NodeFilter::acceptNode): 27161 * dom/NodeIterator.h: 27162 (WebCore::NodeIterator::nextNode): 27163 (WebCore::NodeIterator::previousNode): 27164 * dom/TreeWalker.h: 27165 (WebCore::TreeWalker::parentNode): 27166 (WebCore::TreeWalker::firstChild): 27167 (WebCore::TreeWalker::lastChild): 27168 (WebCore::TreeWalker::previousSibling): 27169 (WebCore::TreeWalker::nextSibling): 27170 (WebCore::TreeWalker::previousNode): 27171 (WebCore::TreeWalker::nextNode): 27172 * inspector/InspectorController.cpp: 27173 (WebCore::InspectorController::windowScriptObjectAvailable): 27174 (WebCore::InspectorController::didEvaluateForTestInFrontend): 27175 * inspector/JavaScriptCallFrame.cpp: 27176 (WebCore::JavaScriptCallFrame::evaluate): 27177 27178 2009-11-30 Eric Carlson <eric.carlson (a] apple.com> 27179 27180 Reviewed by Simon Fraser. 27181 27182 All HTML5 media element events should be regular events 27183 https://bugs.webkit.org/show_bug.cgi?id=30513 27184 27185 * html/HTMLMediaElement.cpp: 27186 (WebCore::HTMLMediaElement::selectMediaResource): 27187 (WebCore::HTMLMediaElement::noneSupported): 27188 (WebCore::HTMLMediaElement::mediaEngineError): 27189 (WebCore::HTMLMediaElement::setNetworkState): 27190 (WebCore::HTMLMediaElement::userCancelledLoad): 27191 Call scheduleEvent instead of scheduleProgressEvent. 27192 (WebCore::HTMLMediaElement::progressEventTimerFired): 27193 Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement 27194 after scheduling a 'progress' event so the controller will update download 27195 progress indicator. 27196 * html/HTMLMediaElement.h: 27197 Remove scheduleProgressEvent prototype. 27198 27199 2009-11-30 Joseph Pecoraro <joepeck (a] webkit.org> 27200 27201 Reviewed by Pavel Feldman. 27202 27203 Web Inspector: Wrong console output for Regexp escape sequence 27204 https://bugs.webkit.org/show_bug.cgi?id=31538 27205 27206 Updated inspector/console-format.html 27207 27208 * inspector/front-end/ConsoleView.js: 27209 (WebInspector.ConsoleView.createDividerElement): style issues. 27210 (WebInspector.ConsoleView.createFilterElement): style issues. 27211 (WebInspector.ConsoleView): added _customFormatters table. 27212 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses. 27213 (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues. 27214 (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic. 27215 (WebInspector.ConsoleView.prototype._formatobject): 27216 (WebInspector.ConsoleView.prototype._formatnode): 27217 (WebInspector.ConsoleView.prototype._printArray): 27218 (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts. 27219 (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting. 27220 (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting. 27221 (WebInspector.ConsoleCommandResult): 27222 * inspector/front-end/InjectedScript.js: simplified regex formatting. 27223 * inspector/front-end/inspector.js: 27224 (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits. 27225 * inspector/front-end/utilities.js: 27226 (Element.prototype.hasStyleClass): update inaccurate comment. 27227 (String.prototype.trimURL): converted new RegExp to literal for performance benefits. 27228 27229 2009-11-30 Erik Arvidsson <arv (a] chromium.org> 27230 27231 Reviewed by Adam Barth. 27232 27233 Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration 27234 https://bugs.webkit.org/show_bug.cgi?id=31895 27235 27236 No new tests. This is already covered by: 27237 fast/dom/CSSStyleDeclaration/css-computed-style-item.html 27238 fast/dom/CSSStyleDeclaration/css-style-item.html 27239 27240 * bindings/v8/V8Collection.h: 27241 (WebCore::collectionStringIndexedPropertyGetter): 27242 (WebCore::setCollectionStringIndexedGetter): 27243 * bindings/v8/V8DOMWrapper.cpp: 27244 (WebCore::V8DOMWrapper::getTemplate): 27245 27246 2009-11-30 Steve Block <steveblock (a] google.com> 27247 27248 Reviewed by Eric Seidel. 27249 27250 Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController. 27251 https://bugs.webkit.org/show_bug.cgi?id=31932 27252 27253 Build fix only, no new tests. 27254 27255 * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h. 27256 27257 2009-11-30 Steve Block <steveblock (a] google.com> 27258 27259 Reviewed by Eric Seidel. 27260 27261 Adds PassOwnPtr include to ScriptExecutionContext.h. 27262 https://bugs.webkit.org/show_bug.cgi?id=31929 27263 27264 Build fix only, no new tests. 27265 27266 * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include. 27267 27268 2009-11-30 Dirk Schulze <krit (a] webkit.org> 27269 27270 Reviewed by Nikolas Zimmermann. 27271 27272 REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly 27273 [https://bugs.webkit.org/show_bug.cgi?id=31980] 27274 27275 It turns out, that we did not handle maskUnits="userSpaceOnUse" 27276 correctly. We just need to move the context of the maskImage 27277 if maskContentUnits="objectBoundingBox". The context gets scaled 27278 on this unit combination, so we have to substract the position of 27279 the targetRect. On userSpaceOnUse the position just depends on the 27280 position of the mask element. 27281 I added a test with some senseless and reasonable values for size 27282 and postion of the mask and it's contents. I also used every 27283 combination of maskUnits and maskContentUnits to be sure, that it 27284 is fixed this time. 27285 27286 Test: svg/custom/mask-with-all-units.svg 27287 27288 * svg/SVGMaskElement.cpp: 27289 (WebCore::SVGMaskElement::drawMaskerContent): 27290 27291 2009-11-30 Steve Block <steveblock (a] google.com> 27292 27293 Reviewed by Eric Seidel. 27294 27295 Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. 27296 https://bugs.webkit.org/show_bug.cgi?id=31928 27297 27298 Build fix only, no new tests. 27299 27300 * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. 27301 27302 2009-11-30 Steve Block <steveblock (a] google.com> 27303 27304 Reviewed by Eric Seidel. 27305 27306 Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy. 27307 https://bugs.webkit.org/show_bug.cgi?id=31926 27308 27309 Build fix only, no new tests. 27310 27311 * bindings/v8/WorkerContextExecutionProxy.cpp: 27312 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 27313 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 27314 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 27315 27316 2009-11-30 Benjamin Poulain <benjamin.poulain (a] nokia.com> 27317 27318 Reviewed by Kenneth Rohde Christiansen. 27319 27320 Chrome::contentsSizeChanged() is called when the content size has not changed 27321 https://bugs.webkit.org/show_bug.cgi?id=31978 27322 27323 Do not trigger contentsSizeChaned() is the new size is the same as the old one. 27324 27325 * page/FrameView.cpp: 27326 (WebCore::FrameView::setContentsSize): 27327 27328 2009-11-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27329 27330 Reviewed by Kenneth Rohde Christiansen. 27331 27332 [Qt] Fix some compiler warnings seen on QtWebKit/Mac 27333 https://bugs.webkit.org/show_bug.cgi?id=31962 27334 27335 No new tests as there is no functional change. 27336 27337 * platform/network/ResourceHandle.h: Make destructor virtual as 27338 after r50772 ResourceHandle has virtual functions. 27339 27340 * plugins/mac/PluginPackageMac.cpp: 27341 (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace 27342 not a label 27343 27344 * plugins/mac/PluginViewMac.cpp: 27345 (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format 27346 specifier 27347 27348 2009-11-30 Xan Lopez <xlopez (a] igalia.com> 27349 27350 Reviewed by Gustavo Noronha. 27351 27352 Add new headers to sources list. 27353 27354 * GNUmakefile.am: 27355 27356 2009-11-30 Girish Ramakrishnan <girish (a] forwardbias.in> 27357 27358 Reviewed by Holger Freyther. 27359 27360 [Qt] Mac Plugins : Get context menu to work in QGraphicsView 27361 27362 Flash expects the value in record.where to be the global position for 27363 displaying the context menu. 27364 27365 https://bugs.webkit.org/show_bug.cgi?id=31979 27366 27367 * plugins/mac/PluginViewMac.cpp: 27368 (WebCore::PluginView::handleMouseEvent): 27369 27370 2009-11-30 Steve Block <steveblock (a] google.com> 27371 27372 Reviewed by Eric Seidel. 27373 27374 Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController. 27375 https://bugs.webkit.org/show_bug.cgi?id=31925 27376 27377 This code uses ChromiumBridge and Chromium-specific constant values not 27378 appropriate for other platforms such as Android. 27379 27380 Build fix only, no new tests. 27381 27382 * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code. 27383 27384 2009-11-29 Brent Fulgham <bfulgham (a] webkit.org> 27385 27386 Build fix. 27387 27388 Correct draw signature used in ImageCairoWin.cpp. 27389 27390 * platform/graphics/win/ImageCairoWin.cpp: 27391 (WebCore::BitmapImage::getHBITMAPOfSize): 27392 (WebCore::BitmapImage::drawFrameMatchingSourceSize): 27393 27394 2009-11-28 Oliver Hunt <oliver (a] apple.com> 27395 27396 Reviewed by Sam Weinig. 27397 27398 postMessage should serialize File objects 27399 https://bugs.webkit.org/show_bug.cgi?id=31955 27400 27401 Update SerializedScriptValue to include support for 27402 File objects in the serialized object graph. 27403 27404 * bindings/js/SerializedScriptValue.cpp: 27405 (WebCore::SerializedScriptValueData::SerializedScriptValueData): 27406 (WebCore::SerializingTreeWalker::convertIfTerminal): 27407 (WebCore::DeserializingTreeWalker::convertIfTerminal): 27408 * bindings/js/SerializedScriptValue.h: 27409 (WebCore::SerializedScriptValueData::): 27410 (WebCore::SerializedScriptValueData::asString): 27411 27412 2009-11-29 Simon Fraser <simon.fraser (a] apple.com> 27413 27414 Reviewed by Dan Bernstein. 27415 27416 Optimize the hierarchy rebuilding of compositing layers 27417 https://bugs.webkit.org/show_bug.cgi?id=31879 27418 27419 When updating the compositing layer hierarchy, instead of removing all 27420 child layers and then re-adding them one by one, build a vector of child 27421 layers, and set them in one go. 27422 27423 * platform/graphics/GraphicsLayer.h: 27424 * platform/graphics/GraphicsLayer.cpp: 27425 (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child 27426 GraphicsLayers. 27427 27428 * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren(). 27429 * platform/graphics/win/GraphicsLayerCACF.h: Ditto. 27430 * platform/graphics/mac/GraphicsLayerCA.mm: 27431 (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 27432 set the bit that notes that sublayers changed. 27433 * platform/graphics/win/GraphicsLayerCACF.cpp: 27434 (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 27435 udpate sublayers, with a note that this is not efficient. 27436 27437 * rendering/RenderLayerCompositor.h: 27438 * rendering/RenderLayerCompositor.cpp: 27439 (WebCore::RenderLayerCompositor::updateCompositingLayers): 27440 When updating compositing layers, use the faster updateLayerTreeGeometry() if 27441 we know that no layer hierarchy changes are needed, and, at the root, use 27442 the vector returned from rebuildCompositingLayerTree() to attach the root 27443 layer. 27444 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to 27445 collect child layers into Vectors of GraphicsLayers, which can be set as 27446 layer children in one go. 27447 (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from 27448 rebuildCompositingLayerTree() for simplicity, and called when we just need to 27449 update layer geometry, without doing any reparenting. 27450 27451 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27452 27453 Reviewed by Adam Barth. 27454 27455 https://bugs.webkit.org/show_bug.cgi?id=31971 27456 27457 Updated comment to reflect latest XSSAuditor bindings. 27458 27459 No functionality was changed. So, no new tests. 27460 27461 * page/XSSAuditor.h: 27462 27463 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27464 27465 Reviewed by Eric Seidel. 27466 27467 https://bugs.webkit.org/show_bug.cgi?id=31969 27468 27469 Removes unnecessary #include files. 27470 27471 No functionality was changed. So, no new tests. 27472 27473 * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and 27474 Pair.h 27475 * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h 27476 * css/CSSFontFaceSrcValue.cpp: Removed include Node.h 27477 * css/CSSFontSelector.cpp: Removed include NodeList.h 27478 * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h 27479 * css/CSSImageValue.cpp: Removed include RenderStyle.h 27480 * css/CSSImportRule.cpp: Removed include MediaList.h 27481 * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h 27482 * css/CSSRule.cpp: Removed include CSSStyleSheet.h 27483 * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h, 27484 CSSFontFaceSource.h, and CSSProperty.h 27485 * page/EventSource.h: Removed include EventListener.h 27486 27487 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27488 27489 Reviewed by Eric Seidel. 27490 27491 https://bugs.webkit.org/show_bug.cgi?id=31965 27492 27493 Removed #include KeyframeList.h from CSSStyleSelector.h. Instead, 27494 forward declared it. 27495 27496 As a side effect, we need to #include KeyframeList.h in 27497 RenderLayerBacking.cpp. 27498 27499 No functionality was changed. So, no new tests. 27500 27501 * css/CSSStyleSelector.cpp: 27502 * css/CSSStyleSelector.h: Removed #include KeyframeList.h 27503 * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h 27504 27505 2009-11-29 Shu Chang <Chang.Shu (a] nokia.com> 27506 27507 Reviewed by Eric Seidel. 27508 27509 Continue to search for matching node in the case where multiple nodes 27510 have the same id. 27511 https://bugs.webkit.org/show_bug.cgi?id=31428 27512 27513 Test: fast/dom/Element/id-in-node-list-index01.html 27514 27515 * dom/DynamicNodeList.cpp: 27516 (WebCore::DynamicNodeList::itemWithName): 27517 27518 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27519 27520 Reviewed by Eric Seidel. 27521 27522 https://bugs.webkit.org/show_bug.cgi?id=31966 27523 27524 Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead, 27525 forward declared it. 27526 27527 No functionality was changed. So, no new tests. 27528 27529 * page/animation/KeyframeAnimation.cpp: 27530 * page/animation/KeyframeAnimation.h: 27531 27532 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27533 27534 Unreviewed, fix change log entry date. 27535 27536 For some reason, bugzilla-tool did not update the date in the change 27537 log entry for my last commit (r51468). So, this commit fixes the date 27538 of that entry. 27539 27540 2009-11-29 Daniel Bates <dbates (a] webkit.org> 27541 27542 Reviewed by Dan Bernstein. 27543 27544 https://bugs.webkit.org/show_bug.cgi?id=31964 27545 27546 Removed #include StringImpl, StyleImage. Instead, forward declared them. 27547 Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h, 27548 since it seems we only really used it to include PassRefPtr.h. 27549 27550 No functionality was changed. So, no new tests. 27551 27552 * rendering/style/ContentData.h: 27553 27554 2009-11-29 Zoltan Horvath <zoltan (a] webkit.org> 27555 27556 Reviewed by Eric Seidel. 27557 27558 Allow custom memory allocation control for classes of the rendering and storage directory in WebCore 27559 https://bugs.webkit.org/show_bug.cgi?id=31906 27560 27561 Inherits the following classes from Noncopyable because these are instantiated 27562 by 'new' and no need to be copyable: 27563 27564 class/struct name - instantiated at: WebCore/'location' 27565 27566 class SQLTransactionClient - storage/DatabaseThread.cpp:45 27567 class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46 27568 class OriginUsageRecord - storage/OriginQuotaManager.cpp:66 27569 class DatabaseTracker - storage/DatabaseTracker.cpp:62 27570 class ScrollbarTheme - (its child class) rendering/RenderScrollbarTheme.cpp:35 27571 class RenderSelectionInfoBase - (its child class) rendering/RenderView.cpp:310 27572 class RenderOverflow - rendering/RenderBox.cpp:2846 27573 27574 Inherits the following classes from FastAllocBase because these are instantiated by 'new': 27575 27576 struct FillLayer - css/CSSStyleSelector.cpp:197 27577 struct ShadowData - rendering/style/ShadowData.cpp:35 27578 class CounterContent - css/CSSStyleSelector.cpp:4111 27579 27580 * platform/ScrollbarTheme.h: 27581 * rendering/RenderOverflow.h: 27582 * rendering/RenderSelectionInfo.h: 27583 * rendering/style/CounterContent.h: 27584 * rendering/style/FillLayer.h: 27585 * rendering/style/ShadowData.h: 27586 * storage/DatabaseTracker.h: 27587 * storage/OriginUsageRecord.h: 27588 * storage/SQLTransactionClient.h: 27589 * storage/SQLTransactionCoordinator.h: 27590 27591 2009-11-28 Adam Barth <abarth (a] webkit.org> 27592 27593 Reviewed by Dimitri Glazkov. 27594 27595 [Chromium] Sify compose button alerts error 27596 https://bugs.webkit.org/show_bug.cgi?id=31394 27597 27598 Test: http/tests/security/calling-versus-current.html 27599 27600 We're supposed to use the calling context for security checks. In JSC 27601 land, this is the lexicalGlobalObject. 27602 27603 * bindings/v8/V8Proxy.cpp: 27604 (WebCore::V8Proxy::canAccessPrivate): 27605 27606 2009-11-27 Shinichiro Hamaji <hamaji (a] chromium.org> 27607 27608 Unreviewed Chromium build fix introduced by r51428. 27609 27610 [Chromium] Ignore line-height CSS property for PushButton 27611 https://bugs.webkit.org/show_bug.cgi?id=31712 27612 27613 * rendering/RenderThemeChromiumSkia.cpp: 27614 (WebCore::RenderThemeChromiumSkia::adjustButtonStyle): 27615 27616 2009-11-27 Shinichiro Hamaji <hamaji (a] chromium.org> 27617 27618 Unreviewed Chromium test fix by reverting r51413. 27619 27620 [v8] Do not check the thread when accessing DOMDataStore 27621 https://bugs.webkit.org/show_bug.cgi?id=31877 27622 27623 * bindings/v8/V8DOMMap.cpp: 27624 (WebCore::getDOMNodeMap): 27625 (WebCore::getDOMObjectMap): 27626 (WebCore::getActiveDOMObjectMap): 27627 (WebCore::getDOMSVGElementInstanceMap): 27628 (WebCore::getDOMSVGObjectWithContextMap): 27629 27630 2009-11-27 Daniel Bates <dbates (a] webkit.org> 27631 27632 Unreviewed, comment fix. 27633 27634 Corrected misspelling of the word "implemented". 27635 27636 * inspector/front-end/InjectedScriptAccess.js: 27637 27638 2009-11-27 Daniel Bates <dbates (a] webkit.org> 27639 27640 Reviewed by Adam Barth. 27641 27642 https://bugs.webkit.org/show_bug.cgi?id=31940 27643 27644 Makes the error messages more descriptive when we refuse to load an object/embed or 27645 refuse to load from the document base URL. 27646 27647 * page/XSSAuditor.cpp: 27648 (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive. 27649 (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 27650 27651 2009-11-27 Yury Semikhatsky <yurys (a] chromium.org> 27652 27653 Reviewed by Pavel Feldman. 27654 27655 This is a WebCore part of the fix that allows to view plugin 27656 resources loaded by plugins. 27657 27658 https://bugs.webkit.org/show_bug.cgi?id=31832 27659 27660 * inspector/InspectorController.cpp: 27661 (WebCore::InspectorController::willSendRequest): 27662 (WebCore::InspectorController::didReceiveResponse): 27663 (WebCore::InspectorController::didReceiveContentLength): 27664 (WebCore::InspectorController::didFinishLoading): 27665 (WebCore::InspectorController::didFailLoading): 27666 * inspector/InspectorController.h: 27667 * inspector/InspectorResource.cpp: 27668 (WebCore::InspectorResource::addLength): 27669 * loader/ResourceLoadNotifier.cpp: 27670 (WebCore::ResourceLoadNotifier::didFailToLoad): 27671 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 27672 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 27673 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 27674 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 27675 27676 2009-11-27 Yury Semikhatsky <yurys (a] chromium.org> 27677 27678 Reviewed by Pavel Feldman. 27679 27680 Instead of generating negative identifiers for cached resources in 27681 InspectorController and extending identifier type from 'unsigned long' to 'long 27682 long' reuse progress tracker from the inspected page to generate those 27683 identifiers. It guarantees that InspectorResources have unique ids since 27684 all of them are generated by that progress tracker. 27685 27686 Added a couple new overloaded methods to Script* objects that accept 27687 long and unsigned long arguments. These types of argumens have already 27688 been passed as long long. 27689 27690 https://bugs.webkit.org/show_bug.cgi?id=31921 27691 27692 * bindings/js/ScriptFunctionCall.cpp: 27693 (WebCore::ScriptFunctionCall::appendArgument): 27694 * bindings/js/ScriptFunctionCall.h: 27695 * bindings/js/ScriptObject.cpp: 27696 (WebCore::ScriptObject::set): 27697 * bindings/js/ScriptObject.h: 27698 * bindings/v8/ScriptFunctionCall.cpp: 27699 (WebCore::ScriptFunctionCall::appendArgument): 27700 * bindings/v8/ScriptFunctionCall.h: 27701 * bindings/v8/ScriptObject.cpp: 27702 (WebCore::ScriptObject::set): 27703 * bindings/v8/ScriptObject.h: 27704 * inspector/InspectorBackend.cpp: 27705 (WebCore::InspectorBackend::dispatchOnInjectedScript): 27706 * inspector/InspectorController.cpp: 27707 (WebCore::InspectorController::InspectorController): 27708 (WebCore::InspectorController::getTrackedResource): 27709 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController. 27710 * inspector/InspectorController.h: 27711 * inspector/InspectorDOMAgent.cpp: 27712 (WebCore::InspectorDOMAgent::buildObjectForNode): 27713 (WebCore::InspectorDOMAgent::buildObjectForEventListener): 27714 * inspector/InspectorFrontend.cpp: 27715 (WebCore::InspectorFrontend::addResource): 27716 (WebCore::InspectorFrontend::updateResource): 27717 (WebCore::InspectorFrontend::removeResource): 27718 (WebCore::InspectorFrontend::updateFocusedNode): 27719 * inspector/InspectorFrontend.h: 27720 * inspector/InspectorResource.cpp: 27721 (WebCore::InspectorResource::InspectorResource): 27722 (WebCore::InspectorResource::createCached): 27723 * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'. 27724 (WebCore::InspectorResource::create): 27725 (WebCore::InspectorResource::identifier): 27726 * inspector/TimelineRecordFactory.cpp: 27727 (WebCore::TimelineRecordFactory::createResourceSendRequestRecord): 27728 (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord): 27729 (WebCore::TimelineRecordFactory::createResourceFinishRecord): 27730 27731 2009-11-26 Shinichiro Hamaji <hamaji (a] chromium.org> 27732 27733 Reviewed by Dan Bernstein. 27734 27735 Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html 27736 https://bugs.webkit.org/show_bug.cgi?id=29966 27737 27738 When an empty inline element is clicked, the root inline box has 27739 no leaf children. Use the renderer of a normal child instead. 27740 27741 This change resolves Windows port's assertion failure in a layout test. 27742 Also, this fixes the behavior when a user drags the mouse from an 27743 empty inline element to above texts. 27744 27745 Test: editing/selection/last-empty-inline.html 27746 27747 * rendering/RenderBlock.cpp: 27748 (WebCore::RenderBlock::positionForPointWithInlineChildren): 27749 27750 2009-11-26 Kent Tamura <tkent (a] chromium.org> 27751 27752 Reviewed by Eric Seidel. 27753 27754 [Chromium] Ignore line-height CSS property specified to push buttons on 27755 Windows and Linux. 27756 https://bugs.webkit.org/show_bug.cgi?id=31712 27757 27758 LayoutTests/fast/forms/control-restrict-line-height.html checks that the 27759 following controls should ignore line-height CSS property. 27760 - <select> 27761 - <input type=button> 27762 - <input type=search> 27763 This change addresses the <input type=button> issue with Chromium/Windows 27764 and Chromium/Linux. 27765 27766 * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height. 27767 * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle(). 27768 27769 2009-11-26 Kinuko Yasuda <kinuko (a] chromium.com> 27770 27771 Reviewed by Eric Seidel. 27772 27773 Remove the special charset meta tag in the clipboard so that 27774 copy-and-paste with interchange breaklines/spaces works correctly 27775 within WebKit. 27776 27777 No new tests. Layout tests that involve copy-and-paste with 27778 interchange breaklines (like editing/pasteboard/paste-line-endings-00?) 27779 should pass on Mac/Chromium with this fix. 27780 27781 * platform/chromium/ClipboardChromium.cpp: 27782 * platform/chromium/PasteboardChromium.cpp: 27783 (WebCore::Pasteboard::documentFragment): 27784 27785 2009-11-26 smail Dnmez <ismail (a] namtrac.org> 27786 27787 Reviewed by Eric Seidel. 27788 27789 Compile with QT_NO_WHEELEVENT defined. 27790 27791 * platform/qt/WheelEventQt.cpp: 27792 (WebCore::PlatformWheelEvent::applyDelta): 27793 27794 2009-11-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27795 27796 Reviewed by Oliver Hunt. 27797 27798 Move GOwnPtr* from wtf to wtf/gtk 27799 https://bugs.webkit.org/show_bug.cgi?id=31793 27800 27801 No new tests as there is no functional change. 27802 27803 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the 27804 path for GOwnPtr.h. 27805 * platform/text/TextEncoding.cpp: Ditto. 27806 * platform/text/gtk/TextCodecGtk.cpp: Ditto. 27807 27808 2009-11-26 Yury Semikhatsky <yurys (a] chromium.org> 27809 27810 Not reviewed. Build fix: revert r51421. 27811 27812 * inspector/InspectorController.cpp: 27813 (WebCore::InspectorController::willSendRequest): 27814 (WebCore::InspectorController::didReceiveResponse): 27815 (WebCore::InspectorController::didReceiveContentLength): 27816 (WebCore::InspectorController::didFinishLoading): 27817 (WebCore::InspectorController::didFailLoading): 27818 * inspector/InspectorController.h: 27819 * inspector/InspectorResource.cpp: 27820 (WebCore::InspectorResource::addLength): 27821 * loader/ResourceLoadNotifier.cpp: 27822 (WebCore::ResourceLoadNotifier::didFailToLoad): 27823 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 27824 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 27825 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 27826 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 27827 27828 2009-11-26 Yury Semikhatsky <yurys (a] chromium.org> 27829 27830 Reviewed by Pavel Feldman. 27831 27832 This is a WebCore part of the fix that allows to view plugin 27833 resources loaded by plugins. 27834 27835 https://bugs.webkit.org/show_bug.cgi?id=31832 27836 27837 * inspector/InspectorController.cpp: 27838 (WebCore::InspectorController::willSendRequest): 27839 (WebCore::InspectorController::didReceiveResponse): 27840 (WebCore::InspectorController::didReceiveContentLength): 27841 (WebCore::InspectorController::didFinishLoading): 27842 (WebCore::InspectorController::didFailLoading): 27843 * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods. 27844 * inspector/InspectorResource.cpp: 27845 (WebCore::InspectorResource::addLength): Update loading end time when new data are received. 27846 * loader/ResourceLoadNotifier.cpp: 27847 (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure. 27848 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 27849 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 27850 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 27851 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 27852 27853 2009-11-26 Daniel Bates <dbates (a] webkit.org> 27854 27855 Reviewed by Pavel Feldman. 27856 27857 https://bugs.webkit.org/show_bug.cgi?id=21554 27858 27859 Implements support for hovering over <img> src to display the height and width of that image 27860 in a tooltip. Displays both the displayable and natural dimensions of the image. 27861 27862 Test: inspector/elements-img-tooltip.html 27863 27864 * inspector/front-end/ElementsTreeOutline.js: 27865 (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added. 27866 (WebInspector.ElementsTreeElement.prototype._updateTitle.callback): 27867 (WebInspector.ElementsTreeElement.prototype._updateTitle): 27868 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 27869 * inspector/front-end/ObjectProxy.js: 27870 (WebInspector.ObjectProxy.getPropertiesAsync): Added. 27871 * inspector/front-end/inspector.js: 27872 (WebInspector.linkifyURLAsNode): Added tooltipText argument. 27873 (WebInspector.linkifyURL): Ditto. 27874 27875 2009-11-26 Kevin Ollivier <kevino (a] theolliviers.com> 27876 27877 wx build fix after drawPattern API change. 27878 27879 * platform/graphics/wx/ImageWx.cpp: 27880 (WebCore::Image::drawPattern): 27881 27882 2009-11-26 Anton Muhin <antonm (a] chromium.org> 27883 27884 Reviewed by Adam Barth. 27885 27886 Use an internal field instead of hidden property to speedup lookup 27887 of entered isolated world. 27888 27889 Plus some inlinings. 27890 https://bugs.webkit.org/show_bug.cgi?id=31884 27891 27892 Covered by layout tests + manual running of some benchmarks as 27893 content scripts. 27894 27895 * bindings/v8/V8DOMWrapper.cpp: 27896 * bindings/v8/V8DOMWrapper.h: 27897 (WebCore::V8DOMWrapper::setDOMWrapper): 27898 * bindings/v8/V8HiddenPropertyName.h: 27899 * bindings/v8/V8IsolatedWorld.cpp: 27900 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 27901 * bindings/v8/V8IsolatedWorld.h: 27902 (WebCore::V8IsolatedWorld::getEntered): 27903 (WebCore::V8IsolatedWorld::getGlobalObject): 27904 * bindings/v8/custom/V8CustomBinding.h: 27905 27906 2009-11-26 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 27907 27908 Reviewed by Kenneth Rohde Christiansen. 27909 27910 [Qt] Corrects build break on Windows. 27911 27912 Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since 27913 platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake. 27914 27915 * WebCore.pro: 27916 * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp. 27917 (WebCore::findNextWordFromIndex): 27918 (WebCore::findWordBoundary): 27919 27920 2009-11-26 Anton Muhin <antonm (a] chromium.org> 27921 27922 Reviewed by Adam Barth. 27923 27924 Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only. 27925 https://bugs.webkit.org/show_bug.cgi?id=31877 27926 27927 Covered by layout tests and buildbots. 27928 27929 * bindings/v8/V8DOMMap.cpp: 27930 (WebCore::getDOMNodeMap): 27931 (WebCore::getDOMObjectMap): 27932 (WebCore::getActiveDOMObjectMap): 27933 (WebCore::getDOMSVGElementInstanceMap): 27934 (WebCore::getDOMSVGObjectWithContextMap): 27935 27936 2009-11-26 Girish Ramakrishnan <girish (a] forwardbias.in> 27937 27938 Reviewed by Holger Freyther. 27939 27940 [Qt] Mac Plugins : Pass mouse position relative to the fake window 27941 27942 When using off-screen rendering, we need to pass mouse events relative 27943 to the fake window instead of the global position. 27944 27945 https://bugs.webkit.org/show_bug.cgi?id=31794 27946 27947 * plugins/mac/PluginViewMac.cpp: 27948 (WebCore::PluginView::platformStart): 27949 (WebCore::PluginView::handleMouseEvent): 27950 27951 2009-11-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 27952 27953 Reviewed by Eric Seidel. 27954 27955 [Qt] Use QNetworkReply::rawHeaderPairs 27956 https://bugs.webkit.org/show_bug.cgi?id=31826 27957 27958 The QNetworkReply is internally storing the HTTP headers 27959 as a list of pairs. Currently we have to ask the QNetworkReply 27960 to put all header names into a QStringList. Afterwards we will 27961 iterate over this QStringList and ask the QNetworkReply to 27962 give us the value for this header name. The current Qt implementation 27963 is doing a linear to find the header value. 27964 27965 Use a new API to directly access the list of pairs and push 27966 this into WebCore. This avoids doing some allocations and doing 27967 linear searches from within a loop. 27968 27969 * platform/network/qt/QNetworkReplyHandler.cpp: 27970 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 27971 27972 2009-11-21 Holger Hans Peter Freyther <zecke (a] selfish.org> 27973 27974 Reviewed by Kenneth Rohde Christiansen. 27975 27976 [Qt] Add Qt specific information of RenderPart 27977 https://bugs.webkit.org/show_bug.cgi?id=31203 27978 27979 The WebCore::Widget of the RenderPart (RenderWidget) might be 27980 backed with a platform widget. Print both the WebCore::Widget 27981 and platform widget state. In the above bug we had a problem 27982 that the WebCore::Widget was invisible but the QWidget was 27983 visible. 27984 27985 * rendering/RenderTreeAsText.cpp: 27986 (WebCore::operator<<): Add special case for RenderPart 27987 27988 2009-11-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 27989 27990 Reviewed by Kenneth Rohde Christiansen. 27991 27992 [Qt] Call Widget::setSelfVisible from hide/show 27993 https://bugs.webkit.org/show_bug.cgi?id=31203 27994 27995 Call Widget::setSelfVisible from Widget::show and 27996 Widget::hide and use isParentVisible to decide 27997 if the widget should be shown. This way client 27998 code can rely on isVisible. 27999 28000 Change PluginViewQt::show, PluginViewQt::hide to 28001 call the base class as it is doing the right thing 28002 now. Add an assert verify that platfomWidget and 28003 platformPluginWidget are the same. 28004 28005 * manual-tests/qt/qtplugin.html: Modify manual test 28006 * platform/qt/WidgetQt.cpp: 28007 (WebCore::Widget::show): 28008 (WebCore::Widget::hide): 28009 * plugins/qt/PluginViewQt.cpp: 28010 (WebCore::PluginView::show): 28011 (WebCore::PluginView::hide): 28012 28013 2009-11-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 28014 28015 Reviewed by Alexey Proskuryakov. 28016 28017 Fix compilation of REQUEST_DEBUG debug code 28018 https://bugs.webkit.org/show_bug.cgi?id=31850 28019 28020 In r47907 the single parameter KURL constructor to parse 28021 from a WebCore::String was replaced with a two parameter 28022 constructor. I think in this debug case parsing the urls 28023 again is no problem and I have changed the code to use the 28024 two parameter version. 28025 28026 * loader/loader.cpp: 28027 (WebCore::Loader::Host::didFinishLoading): 28028 28029 2009-11-26 Sren Gjesse <sgjesse (a] chromium.org> 28030 28031 Reviewed by Pavel Feldman. 28032 28033 [V8] Avoid using JavaScript objects as context data 28034 https://bugs.webkit.org/show_bug.cgi?id=31873 28035 28036 Change the context "data" from a JavaScript object holding the two properties type and value to 28037 a string holding type and value separated by a comma. 28038 28039 * bindings/v8/V8Proxy.cpp: 28040 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 28041 (WebCore::V8Proxy::setContextDebugId): 28042 (WebCore::V8Proxy::contextDebugId): 28043 28044 2009-11-25 Dimitri Glazkov <dglazkov (a] chromium.org> 28045 28046 Reviewed by David Levin. 28047 28048 [Chromium] Implement canSetValueAttribute in the API, the clean-up part. 28049 https://bugs.webkit.org/show_bug.cgi?id=31894 28050 28051 * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl. 28052 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness. 28053 28054 2009-11-25 Kenneth Russell <kbr (a] google.com> 28055 28056 Reviewed by Oliver Hunt. 28057 28058 Off-by-one error in index validation for drawElements and drawArrays 28059 https://bugs.webkit.org/show_bug.cgi?id=31891 28060 28061 Fixed computation of number of elements for bound array objects. 28062 28063 Test: fast/canvas/webgl/index-validation.html 28064 28065 * html/canvas/WebGLRenderingContext.cpp: 28066 (WebCore::WebGLRenderingContext::vertexAttribPointer): 28067 28068 2009-11-25 Dmitry Titov <dimich (a] chromium.org> 28069 28070 Reviewed by David Levin. 28071 28072 Update SharedScript to use eventNames() instead of EventNames() 28073 https://bugs.webkit.org/show_bug.cgi?id=31890 28074 28075 * SharedScript/WebKitSharedScript.cpp: 28076 (WebCore::LoadEventTask::performTask): 28077 28078 2009-11-25 Eric Carlson <eric.carlson (a] apple.com> 28079 28080 Reviewed by Simon Fraser. 28081 28082 <rdar://problem/7409331> Windows: Support closed caption in <video> element 28083 28084 Enable closed captions in QuickTime/Windows media engine. 28085 28086 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 28087 (WebCore::MediaPlayerPrivate::hasClosedCaptions): 28088 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible): 28089 New, all through to m_qtMovie. 28090 28091 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 28092 Make all but the destructor private since MediaPlayer call through the media 28093 engine interface. 28094 28095 * platform/graphics/win/QTMovieWin.cpp: 28096 (QTMovieWin::disableUnsupportedTracks): 28097 Use handy new constants for QuickTime track types. 28098 (QTMovieWin::hasClosedCaptions): 28099 (QTMovieWin::setClosedCaptionsVisible): 28100 New, closed caption support. 28101 * platform/graphics/win/QTMovieWin.h: 28102 28103 * rendering/RenderMediaControls.cpp: 28104 (WebCore::RenderMediaControls::paintMediaControlsPart): 28105 Deal with closed caption buttons. 28106 28107 * rendering/RenderThemeWin.cpp: 28108 (WebCore::RenderThemeWin::shouldRenderMediaControlPart): 28109 New, don't ask the media engine if it has closed captions unless the Safari theme will 28110 be able to render the button. 28111 (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton): 28112 New. 28113 * rendering/RenderThemeWin.h: 28114 28115 2009-11-25 Drew Wilson <atwilson (a] chromium.org> 28116 28117 Reviewed by David Levin. 28118 28119 MessagePorts always look remotely entangled even when closed. 28120 https://bugs.webkit.org/show_bug.cgi?id=31698 28121 28122 Tests: Existing tests suffice, Chromium soak test passes now. 28123 28124 * bindings/v8/custom/V8CustomBinding.h: 28125 Removed kMessagePortEntangledPortIndex which is no longer used. 28126 * bindings/v8/V8GCController.cpp: 28127 (WebCore::GCPrologueVisitor::visitDOMWrapper): 28128 Simplified GC code to reflect the Chromium MessagePort implementation 28129 (locallyEntangledPort() always returns false). 28130 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 28131 Cleaned up epilogue code to handle the case where the port gets closed 28132 in mid-GC (due to the parent context being freed). 28133 * dom/MessagePort.cpp: 28134 (WebCore::MessagePort::MessagePort): 28135 (WebCore::MessagePort::close): 28136 Now sets the closed flag. 28137 (WebCore::MessagePort::disentanglePorts): 28138 Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect. 28139 * dom/MessagePort.h: 28140 Added a m_closed flag and updated isEntangled() to check it. 28141 (WebCore::MessagePort::isEntangled): 28142 Now returns false if the port has been closed. 28143 (WebCore::MessagePort::isCloned): 28144 Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage). 28145 28146 2009-11-25 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 28147 28148 Reviewed by Simon Hausmann. 28149 28150 [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW. 28151 28152 Fix inline assembly, don't dereference the function pointer twice. 28153 28154 * plugins/win/PluginViewWin.cpp: 28155 (WebCore::PluginView::hookedBeginPaint): 28156 (WebCore::PluginView::hookedEndPaint): 28157 28158 2009-11-22 Jakub Wieczorek <faw217 (a] gmail.com> 28159 28160 Reviewed by Adam Barth. 28161 28162 [Qt] Remove the Referer header when redirecting to a non-secure site 28163 https://bugs.webkit.org/show_bug.cgi?id=31785 28164 28165 This makes Qt pass two tests introduced in r50226. 28166 28167 * platform/network/qt/QNetworkReplyHandler.cpp: 28168 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 28169 28170 2009-11-25 Andrei Popescu <andreip (a] google.com> 28171 28172 Reviewed by Dimitri Glazkov. 28173 28174 The select elements do not reflect the actual choice the user makes. 28175 https://bugs.webkit.org/show_bug.cgi?id=31831 28176 28177 Handle the drawing of the listboxes in Android code. 28178 28179 No new features, just fixing an Android problem. Existing layout tests are sufficient. 28180 28181 * platform/android/RenderThemeAndroid.cpp: 28182 (WebCore::theme): 28183 (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor): 28184 (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor): 28185 (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor): 28186 (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor): 28187 (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor): 28188 (WebCore::RenderThemeAndroid::adjustButtonStyle): 28189 (WebCore::RenderThemeAndroid::paintTextArea): 28190 (WebCore::RenderThemeAndroid::adjustListboxStyle): 28191 * platform/android/RenderThemeAndroid.h: 28192 28193 2009-11-25 Alexander Pavlov <apavlov (a] chromium.org> 28194 28195 Reviewed by Pavel Feldman. 28196 28197 Load InspectorResource mime type from CachedResource for 304 responses 28198 28199 For network libraries that do not merge cache data into 304 ResourceResponses, 28200 the mime type for cached resources is unknown. 28201 https://bugs.webkit.org/show_bug.cgi?id=31868 28202 28203 * inspector/InspectorResource.cpp: 28204 (WebCore::InspectorResource::updateResponse): 28205 (WebCore::InspectorResource::updateScriptObject): 28206 (WebCore::InspectorResource::type): 28207 28208 2009-11-25 Andrei Popescu <andreip (a] google.com> 28209 28210 Reviewed by Eric Seidel. 28211 28212 Android is missing implementation of SSL Key generator functions. 28213 https://bugs.webkit.org/show_bug.cgi?id=31825 28214 28215 This change adds the PlatformBridge class to platform/android. 28216 PlarformBridge is used to access the embedding layer for things 28217 such as key generator, cookies, plugins, etc. 28218 28219 No new tests required, this is platform code. 28220 28221 * platform/android/PlatformBridge.h: Added. 28222 * platform/android/SSLKeyGeneratorAndroid.cpp: Added. 28223 (WebCore::getSupportedKeySizes): 28224 (WebCore::signedPublicKeyAndChallengeString): 28225 28226 2009-11-25 Philippe Normand <pnormand (a] igalia.com> 28227 28228 Reviewed by Eric Seidel. 28229 28230 [GTK] use gst_init_check() instead of gst_init() 28231 https://bugs.webkit.org/show_bug.cgi?id=31864 28232 28233 Use gst_init_check() instead of gst_init() to prevent eventual 28234 unexpected exit of the application. 28235 28236 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 28237 (WebCore::do_gst_init): 28238 (WebCore::MediaPlayerPrivate::isAvailable): 28239 28240 2009-11-25 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 28241 28242 Reviewed by Xan Lopez. 28243 28244 Some tests are crashing from time to time 28245 https://bugs.webkit.org/show_bug.cgi?id=31866 28246 28247 Make sure we do not notify the client of a finished load, if the 28248 load has been cancelled, or the client is gone. 28249 28250 * platform/network/soup/ResourceHandleSoup.cpp: 28251 (WebCore::): 28252 28253 2009-11-24 Ben Murdoch <benm (a] google.com> 28254 28255 Reviewed by Eric Seidel. 28256 28257 [Android] Upstream Android changes to WebCore/bridge/jni 28258 https://bugs.webkit.org/show_bug.cgi?id=31824 28259 28260 No new tests required as no new functionality. 28261 28262 * bridge/jni/jni_class.cpp: 28263 (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks. 28264 * bridge/jni/jni_instance.cpp: Add an Android include path. 28265 * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion. 28266 (JSC::Bindings::JObjectWrapper::instance): Added. 28267 (JSC::Bindings::JObjectWrapper::setInstance): Added. 28268 * bridge/jni/jni_runtime.cpp: 28269 (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak. 28270 * bridge/jni/jni_utility.h: 28271 (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak. 28272 28273 2009-11-24 Zoltan Horvath <zoltan (a] webkit.org> 28274 28275 Reviewed by Eric Seidel. 28276 28277 Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore 28278 https://bugs.webkit.org/show_bug.cgi?id=31827 28279 28280 Inherits the following classes from Noncopyable because these are instantiated 28281 by 'new' and no need to be copyable: 28282 28283 class/struct name - instantiated at: WebCore/'location' 28284 28285 class PluginRequest - plugins/PluginView.cpp:521 28286 class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34 28287 class PluginDatabase - plugins/PluginDatabase.cpp:50 28288 struct MimeClassInfo - plugins/PluginInfoStore.cpp:50 28289 struct PluginInfo - plugins/PluginInfoStore.cpp:40 28290 class RenderArena - dom/Document.cpp:1401 28291 class RenderImageScaleData - rendering/RenderImage.cpp:149 28292 class TableLayout - (its child class) rendering/RenderTable.cpp:82 28293 struct ColumnInfo - rendering/RenderBlock.cpp:3590 28294 struct FloatingObject - rendering/RenderBlock.cpp:2300 28295 struct MaxMargin - rendering/RenderBlock.cpp:4794 28296 class RenderMarquee - rendering/RenderLayer.cpp:3277 28297 28298 * plugins/PluginData.h: 28299 * plugins/PluginDatabase.h: 28300 * plugins/PluginMainThreadScheduler.h: 28301 * plugins/PluginView.h: 28302 * rendering/RenderArena.h: 28303 * rendering/RenderBlock.cpp: 28304 * rendering/RenderBlock.h: 28305 * rendering/RenderImage.cpp: 28306 * rendering/RenderMarquee.h: 28307 * rendering/TableLayout.h: 28308 28309 2009-11-24 Dmitry Titov <dimich (a] chromium.org> 28310 28311 Reviewed by David Levin. 28312 28313 Initial implementation of WebKitSharedScript and SharedScriptContext 28314 https://bugs.webkit.org/show_bug.cgi?id=31569 28315 28316 No new tests since there are no bindings yet (soon to come). 28317 28318 * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files. 28319 * WebCore.xcodeproj/project.pbxproj: 28320 * dom/Document.cpp: 28321 (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching. 28322 * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets. 28323 (WebCore::EventTarget::toWebKitSharedScript): 28324 (WebCore::EventTarget::toSharedScriptContext): 28325 * dom/EventTarget.h: Ditto 28326 * dom/ScriptExecutionContext.h: 28327 (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context. 28328 28329 * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading. 28330 (WebCore::SharedScriptContext::SharedScriptContext): 28331 (WebCore::SharedScriptContext::~SharedScriptContext): 28332 (WebCore::SharedScriptContext::clearScript): 28333 (WebCore::SharedScriptContext::virtualURL): 28334 (WebCore::SharedScriptContext::virtualCompleteURL): 28335 (WebCore::SharedScriptContext::reportException): 28336 (WebCore::SharedScriptContext::addMessage): 28337 (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest): 28338 (WebCore::SharedScriptContext::scriptImported): 28339 (WebCore::SharedScriptContext::matches): 28340 (WebCore::SharedScriptContext::addToDocumentsList): 28341 (WebCore::SharedScriptContext::destructionTimerFired): 28342 (WebCore::SharedScriptContext::removeFromDocumentList): 28343 (WebCore::SharedScriptContext::load): 28344 (WebCore::SharedScriptContext::postTask): 28345 (WebCore::SharedScriptContext::eventTargetData): 28346 (WebCore::SharedScriptContext::ensureEventTargetData): 28347 (WebCore::SharedScriptContext::scriptExecutionContext): 28348 * SharedScript/SharedScriptContext.h: Added. 28349 (WebCore::SharedScriptContext::create): 28350 (WebCore::SharedScriptContext::isSharedScriptContext): 28351 (WebCore::SharedScriptContext::userAgent): 28352 (WebCore::SharedScriptContext::toSharedScriptContext): 28353 (WebCore::SharedScriptContext::self): 28354 (WebCore::SharedScriptContext::script): 28355 (WebCore::SharedScriptContext::loaded): 28356 (WebCore::SharedScriptContext::name): 28357 (WebCore::SharedScriptContext::refEventTarget): 28358 (WebCore::SharedScriptContext::derefEventTarget): 28359 (WebCore::SharedScriptContext::refScriptExecutionContext): 28360 (WebCore::SharedScriptContext::derefScriptExecutionContext): 28361 * SharedScript/SharedScriptContext.idl: Added. 28362 28363 * SharedScript/SharedScriptController.h: 28364 Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile. 28365 28366 * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object. 28367 (WebCore::WebKitSharedScript::WebKitSharedScript): 28368 (WebCore::WebKitSharedScript::~WebKitSharedScript): 28369 (WebCore::WebKitSharedScript::setContext): 28370 (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized. 28371 (WebCore::LoadEventTask::performTask): 28372 (WebCore::LoadEventTask::LoadEventTask): 28373 (WebCore::WebKitSharedScript::scheduleLoadEvent): 28374 * SharedScript/WebKitSharedScript.h: Added. 28375 (WebCore::WebKitSharedScript::create): 28376 (WebCore::WebKitSharedScript::scriptExecutionContext): 28377 (WebCore::WebKitSharedScript::toWebKitSharedScript): 28378 (WebCore::WebKitSharedScript::context): 28379 (WebCore::WebKitSharedScript::refEventTarget): 28380 (WebCore::WebKitSharedScript::derefEventTarget): 28381 (WebCore::WebKitSharedScript::eventTargetData): 28382 (WebCore::WebKitSharedScript::ensureEventTargetData): 28383 * SharedScript/WebKitSharedScript.idl: Added. 28384 28385 * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts. 28386 (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext. 28387 (WebCore::ScriptLoader::load): 28388 (WebCore::ScriptLoader::notifyFinished): 28389 (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance. 28390 (WebCore::WebKitSharedScriptRepository::connect): 28391 (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach(). 28392 (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext(). 28393 (WebCore::WebKitSharedScriptRepository::connectToSharedScript): 28394 (WebCore::WebKitSharedScriptRepository::getSharedScriptContext): 28395 * SharedScript/WebKitSharedScriptRepository.h: Added. 28396 (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository): 28397 28398 2009-11-24 Dmitry Titov <dimich (a] chromium.org> 28399 28400 Reviewed by Eric Seidel. 28401 28402 Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit 28403 https://bugs.webkit.org/show_bug.cgi?id=31444 28404 28405 * Configurations/FeatureDefines.xcconfig: 28406 * GNUmakefile.am: 28407 * WebCore.pro: 28408 28409 2009-11-24 Chris Marrin <cmarrin (a] apple.com> 28410 28411 Reviewed by Simon Fraser. 28412 28413 Implement accelerated compositing 28414 https://bugs.webkit.org/show_bug.cgi?id=27314 28415 28416 This part of the checkin adds the Windows specific GraphicsLayer support files. 28417 It provides the interface between GraphicsLayer and CACF. It also deals with 28418 the compositing loop, and provides the plumbing to pass the root layer up to 28419 WebView. 28420 28421 * WebCore.vcproj/WebCore.vcproj: 28422 * WebCore.vcproj/WebCoreCommon.vsprops: 28423 * page/FrameView.cpp: 28424 (WebCore::FrameView::syncCompositingStateRecursive): 28425 * platform/graphics/GraphicsLayer.cpp: 28426 (WebCore::GraphicsLayer::GraphicsLayer): 28427 * platform/graphics/GraphicsLayer.h: 28428 * platform/graphics/win/GraphicsLayerCACF.cpp: Added. 28429 * platform/graphics/win/GraphicsLayerCACF.h: Added. 28430 * platform/graphics/win/WKCACFContextFlusher.cpp: Added. 28431 * platform/graphics/win/WKCACFContextFlusher.h: Added. 28432 * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added. 28433 * platform/graphics/win/WKCACFLayer.cpp: Added. 28434 * platform/graphics/win/WKCACFLayer.h: Added. 28435 * platform/graphics/win/WKCACFLayerWindow.cpp: Added. 28436 * platform/graphics/win/WKCACFLayerWindow.h: Added. 28437 28438 2009-11-24 Chris Marrin <cmarrin (a] apple.com> 28439 28440 Reviewed by Eric Seidel. 28441 28442 Do error checking of parameter to createShader 28443 https://bugs.webkit.org/show_bug.cgi?id=31808 28444 28445 Test: fast/canvas/webgl/invalidPassedParams.html 28446 28447 * html/canvas/WebGLRenderingContext.cpp: 28448 (WebCore::WebGLRenderingContext::createShader): 28449 * html/canvas/WebGLRenderingContext.h: 28450 * html/canvas/WebGLRenderingContext.idl: 28451 28452 2009-11-24 Kent Tamura <tkent (a] chromium.org> 28453 28454 Reviewed by Eric Seidel. 28455 28456 [Chromium] Ignore line-height CSS property specified to a search field on 28457 Windows and Linux. 28458 https://bugs.webkit.org/show_bug.cgi?id=31820 28459 28460 LayoutTests/fast/forms/control-restrict-line-height.html checks that the 28461 following controls should ignore line-height CSS property. 28462 - <select> 28463 - <input type=button> 28464 - <input type=search> 28465 This change addresses the <input type=search> issue with Chromium/Windows 28466 and Chromium/Linux. 28467 28468 * rendering/RenderThemeChromiumSkia.cpp: 28469 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height. 28470 * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle(). 28471 28472 2009-11-24 Simon Fraser <simon.fraser (a] apple.com> 28473 28474 No review. 28475 28476 Stylistic fix: indent the member var initialisation. 28477 28478 * platform/graphics/mac/GraphicsLayerCA.mm: 28479 (WebCore::GraphicsLayerCA::GraphicsLayerCA): 28480 28481 2009-11-24 Gavin Barraclough <barraclough (a] apple.com> 28482 28483 Reviewed by Geoff Garen. 28484 28485 Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData. 28486 28487 These methods get the world from the global data rather than from an execstate. 28488 If the current world is always read from an exec state then it can be read 28489 from the global object, and world entry can become automagical, rather than 28490 being explicitly set by an EnterDOMWrapperWorld. 28491 28492 * bindings/js/JSCSSRuleCustom.cpp: 28493 (WebCore::toJS): 28494 * bindings/js/JSCSSValueCustom.cpp: 28495 (WebCore::toJS): 28496 * bindings/js/JSDOMBinding.cpp: 28497 (WebCore::currentWorld): 28498 (WebCore::DOMObjectWrapperMapFor): 28499 (WebCore::hasCachedDOMObjectWrapper): 28500 (WebCore::getCachedDOMObjectWrapper): 28501 (WebCore::cacheDOMObjectWrapper): 28502 (WebCore::hasCachedDOMNodeWrapper): 28503 (WebCore::getCachedDOMNodeWrapper): 28504 (WebCore::cacheDOMNodeWrapper): 28505 * bindings/js/JSDOMBinding.h: 28506 (WebCore::createDOMObjectWrapper): 28507 (WebCore::getDOMObjectWrapper): 28508 (WebCore::createDOMNodeWrapper): 28509 (WebCore::getDOMNodeWrapper): 28510 * bindings/js/JSDOMWindowCustom.cpp: 28511 (WebCore::JSDOMWindow::history): 28512 (WebCore::JSDOMWindow::location): 28513 * bindings/js/JSDocumentCustom.cpp: 28514 (WebCore::JSDocument::location): 28515 (WebCore::toJS): 28516 * bindings/js/JSElementCustom.cpp: 28517 (WebCore::toJSNewlyCreated): 28518 * bindings/js/JSEventCustom.cpp: 28519 (WebCore::toJS): 28520 * bindings/js/JSHTMLCollectionCustom.cpp: 28521 (WebCore::toJS): 28522 * bindings/js/JSImageDataCustom.cpp: 28523 (WebCore::toJS): 28524 * bindings/js/JSNodeCustom.cpp: 28525 (WebCore::JSNode::markChildren): 28526 (WebCore::createWrapper): 28527 (WebCore::toJS): 28528 * bindings/js/JSSVGPathSegCustom.cpp: 28529 (WebCore::toJS): 28530 * bindings/js/JSStyleSheetCustom.cpp: 28531 (WebCore::toJS): 28532 * xml/XMLHttpRequest.cpp: 28533 (WebCore::XMLHttpRequest::dropProtection): 28534 28535 2009-11-24 Alexey Proskuryakov <ap (a] apple.com> 28536 28537 Windows build fix. 28538 28539 * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one! 28540 28541 2009-11-24 Alexey Proskuryakov <ap (a] apple.com> 28542 28543 Windows build fix. 28544 28545 * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header. 28546 28547 2009-11-24 Simon Fraser <simon.fraser (a] apple.com> 28548 28549 Reviewed by Oliver Hunt. 28550 28551 SVGUseElement::toClipPath can crash 28552 <rdar://problem/7385270> 28553 28554 Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not 28555 actually initialize it. 28556 28557 * svg/SVGUseElement.cpp: 28558 (WebCore::SVGUseElement::toClipPath): 28559 28560 2009-11-24 Simon Fraser <simon.fraser (a] apple.com> 28561 28562 Windows build fix. 28563 28564 * page/win/FrameCGWin.cpp: 28565 (WebCore::imageFromRect): 28566 (WebCore::imageFromSelection): 28567 28568 2009-11-24 Eric Carlson <eric.carlson (a] apple.com> 28569 28570 Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available. 28571 28572 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 28573 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 28574 * platform/graphics/win/QTMovieWin.cpp: 28575 * platform/graphics/win/QTMovieWin.h: 28576 * rendering/RenderMediaControls.cpp: 28577 * rendering/RenderThemeWin.cpp: 28578 * rendering/RenderThemeWin.h: 28579 28580 2009-11-24 Alexey Proskuryakov <ap (a] apple.com> 28581 28582 Reviewed by Brady Eidson. 28583 28584 https://bugs.webkit.org/show_bug.cgi?id=31844 28585 SocketStreamHandleCFNet should support CONNECT proxy credentials 28586 28587 * WebCore.vcproj/WebCore.vcproj: 28588 * WebCore.xcodeproj/project.pbxproj: 28589 * platform/network/CredentialStorage.h: 28590 * platform/network/mac/CredentialStorageMac.mm: Added. 28591 (WebCore::CredentialStorage::getFromPersistentStorage): 28592 * platform/network/cf/CredentialStorageCFNet.cpp: Added. 28593 (WebCore::CredentialStorage::getFromPersistentStorage): 28594 Add support for fetching credentials from persistent storage (CFNet version is currently 28595 a stub). 28596 28597 * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include. 28598 28599 * platform/network/cf/SocketStreamHandle.h: 28600 * platform/network/cf/SocketStreamHandleCFNet.cpp: 28601 (WebCore::SocketStreamHandle::SocketStreamHandle): 28602 (WebCore::SocketStreamHandle::createStreams): 28603 (WebCore::getStoredCONNECTProxyCredentials): 28604 (WebCore::authenticationSchemeFromAuthenticationMethod): 28605 (WebCore::SocketStreamHandle::addCONNECTCredentials): 28606 (WebCore::SocketStreamHandle::readStreamCallback): 28607 Check if connection attempt was resulted in 407, and try stored credentials if it did. 28608 28609 * platform/mac/WebCoreSystemInterface.h: 28610 * platform/mac/WebCoreSystemInterface.mm: 28611 * WebCore.base.exp: 28612 Updated WKSI. 28613 28614 2009-11-24 Simon Fraser <simon.fraser (a] apple.com> 28615 28616 Reviewed by Dan Bernstein. 28617 28618 Find highlight is drawn incorrectly on pages with compositing layers 28619 <rdar://problem/7413925> 28620 28621 Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers, 28622 and pass that down when painting into an image. 28623 28624 When set, it forces painting of compositing layers to go down a software paint path 28625 when all layers are painted, irrespective of compositing status, and where 28626 3d transforms are flattened to 2d. When doing this, we also need to use temporary 28627 clip rects for layers which are normally composited. 28628 28629 * page/FrameView.h: 28630 (WebCore::FrameView::paintBehavior): 28631 * page/mac/FrameMac.mm: 28632 (WebCore::Frame::imageFromRect): 28633 * rendering/RenderLayer.cpp: 28634 (WebCore::RenderLayer::renderableTransform): 28635 (WebCore::expandClipRectForDescendantsAndReflection): 28636 (WebCore::transparencyClipBox): 28637 (WebCore::RenderLayer::beginTransparencyLayers): 28638 (WebCore::RenderLayer::paintLayer): 28639 * rendering/RenderLayer.h: 28640 (WebCore::RenderLayer::paintsWithTransparency): 28641 (WebCore::RenderLayer::paintsWithTransform): 28642 * rendering/RenderLayerCompositor.cpp: 28643 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 28644 * rendering/RenderObject.h: 28645 28646 2009-11-24 Simon Fraser <simon.fraser (a] apple.com> 28647 28648 Reviewed by Dan Bernstein. 28649 28650 Find highlight is drawn incorrectly on pages with compositing layers 28651 <rdar://problem/7413925> 28652 28653 Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in 28654 preparation for adding a new flag related to painting into an image. 28655 28656 PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags. 28657 28658 * page/FrameView.cpp: 28659 (WebCore::FrameView::reset): 28660 (WebCore::FrameView::paintContents): 28661 (WebCore::FrameView::setPaintBehavior): 28662 * page/FrameView.h: 28663 * page/mac/FrameMac.mm: 28664 (WebCore::Frame::selectionImage): 28665 * rendering/RenderLayer.cpp: 28666 (WebCore::RenderLayer::paint): 28667 (WebCore::RenderLayer::paintLayer): 28668 * rendering/RenderLayer.h: 28669 * rendering/RenderLayerBacking.cpp: 28670 (WebCore::RenderLayerBacking::paintIntoLayer): 28671 (WebCore::RenderLayerBacking::paintContents): 28672 * rendering/RenderLayerBacking.h: 28673 * rendering/RenderObject.h: 28674 * rendering/RenderReplica.cpp: 28675 (WebCore::RenderReplica::paint): 28676 28677 2009-11-24 Eric Carlson <eric.carlson (a] apple.com> 28678 28679 Reviewed by Simon Fraser. 28680 28681 <rdar://problem/7409331> Windows: Support closed caption in <video> element 28682 28683 Enable closed captions in QuickTime/Windows media engine. 28684 28685 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 28686 (WebCore::MediaPlayerPrivate::hasClosedCaptions): 28687 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible): 28688 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 28689 * platform/graphics/win/QTMovieWin.cpp: 28690 (QTMovieWin::hasClosedCaptions): 28691 (QTMovieWin::setClosedCaptionsVisible): 28692 * platform/graphics/win/QTMovieWin.h: 28693 * rendering/RenderMediaControls.cpp: 28694 (WebCore::RenderMediaControls::paintMediaControlsPart): 28695 * rendering/RenderThemeWin.cpp: 28696 (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton): 28697 * rendering/RenderThemeWin.h: 28698 28699 2009-11-24 Darin Fisher <darin (a] chromium.org> 28700 28701 Reviewed by Adam Barth. 28702 28703 [Chromium] Renderer hang when using www.expedia.com 28704 https://bugs.webkit.org/show_bug.cgi?id=31822 28705 28706 Test: http/tests/cache/subresource-failover-to-network.html 28707 28708 * loader/FrameLoader.cpp: 28709 (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest 28710 when inheriting cache policy. This matches SubresourceLoader::create. 28711 28712 2009-11-23 Kenneth Russell <kbr (a] google.com> 28713 28714 Reviewed by Oliver Hunt. 28715 28716 Change get... calls to latest spec 28717 https://bugs.webkit.org/show_bug.cgi?id=30091 28718 28719 Removed old versions of get calls on WebGLRenderingContext and 28720 added new ones per spec returning "any". New code simplifies 28721 GraphicsContext3D and fixes previously unimplemented routines. 28722 Added custom JS and V8 bindings. Added exhaustive test case 28723 exercising all new code paths. Updated preexisting test cases for 28724 new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL 28725 implementations. 28726 28727 Ran WebGL layout tests in WebKit (clean) and Chrome (couple of 28728 preexisting known failures) and manual WebGL tests in both 28729 browsers. 28730 28731 Test: fast/canvas/webgl/gl-object-get-calls.html 28732 28733 * WebCore.gypi: 28734 * WebCore.xcodeproj/project.pbxproj: 28735 * bindings/js/JSWebGLRenderingContextCustom.cpp: 28736 (WebCore::toJS): 28737 (WebCore::): 28738 (WebCore::getObjectParameter): 28739 (WebCore::getProgramParameterHelper): 28740 (WebCore::JSWebGLRenderingContext::getBufferParameter): 28741 (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter): 28742 (WebCore::JSWebGLRenderingContext::getParameter): 28743 (WebCore::JSWebGLRenderingContext::getProgramParameter): 28744 (WebCore::JSWebGLRenderingContext::getRenderbufferParameter): 28745 (WebCore::JSWebGLRenderingContext::getShaderParameter): 28746 (WebCore::JSWebGLRenderingContext::getTexParameter): 28747 (WebCore::JSWebGLRenderingContext::getUniform): 28748 (WebCore::JSWebGLRenderingContext::getVertexAttrib): 28749 * bindings/v8/custom/V8CustomBinding.h: 28750 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 28751 (WebCore::toV8): 28752 (WebCore::): 28753 (WebCore::getObjectParameter): 28754 (WebCore::getProgramParameter): 28755 (WebCore::CALLBACK_FUNC_DECL): 28756 * html/canvas/CanvasObject.cpp: 28757 (WebCore::CanvasObject::CanvasObject): 28758 (WebCore::CanvasObject::setObject): 28759 (WebCore::CanvasObject::deleteObject): 28760 * html/canvas/CanvasObject.h: 28761 * html/canvas/WebGLBuffer.cpp: 28762 (WebCore::WebGLBuffer::create): 28763 (WebCore::WebGLBuffer::WebGLBuffer): 28764 * html/canvas/WebGLBuffer.h: 28765 * html/canvas/WebGLGetInfo.cpp: Added. 28766 (WebCore::WebGLGetInfo::WebGLGetInfo): 28767 (WebCore::WebGLGetInfo::~WebGLGetInfo): 28768 (WebCore::WebGLGetInfo::getType): 28769 (WebCore::WebGLGetInfo::getBool): 28770 (WebCore::WebGLGetInfo::getFloat): 28771 (WebCore::WebGLGetInfo::getLong): 28772 (WebCore::WebGLGetInfo::getString): 28773 (WebCore::WebGLGetInfo::getUnsignedLong): 28774 (WebCore::WebGLGetInfo::getWebGLBuffer): 28775 (WebCore::WebGLGetInfo::getWebGLFloatArray): 28776 (WebCore::WebGLGetInfo::getWebGLFramebuffer): 28777 (WebCore::WebGLGetInfo::getWebGLIntArray): 28778 (WebCore::WebGLGetInfo::getWebGLProgram): 28779 (WebCore::WebGLGetInfo::getWebGLRenderbuffer): 28780 (WebCore::WebGLGetInfo::getWebGLTexture): 28781 (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray): 28782 * html/canvas/WebGLGetInfo.h: Added. 28783 (WebCore::WebGLGetInfo::): 28784 * html/canvas/WebGLRenderbuffer.cpp: 28785 (WebCore::WebGLRenderbuffer::create): 28786 (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): 28787 * html/canvas/WebGLRenderbuffer.h: 28788 * html/canvas/WebGLRenderingContext.cpp: 28789 (WebCore::WebGLStateRestorer::WebGLStateRestorer): 28790 (WebCore::WebGLStateRestorer::~WebGLStateRestorer): 28791 (WebCore::WebGLRenderingContext::WebGLRenderingContext): 28792 (WebCore::WebGLRenderingContext::activeTexture): 28793 (WebCore::WebGLRenderingContext::bindBuffer): 28794 (WebCore::WebGLRenderingContext::bindFramebuffer): 28795 (WebCore::WebGLRenderingContext::bindRenderbuffer): 28796 (WebCore::WebGLRenderingContext::bindTexture): 28797 (WebCore::WebGLRenderingContext::getBufferParameter): 28798 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): 28799 (WebCore::WebGLRenderingContext::getParameter): 28800 (WebCore::WebGLRenderingContext::getProgramParameter): 28801 (WebCore::WebGLRenderingContext::getProgramInfoLog): 28802 (WebCore::WebGLRenderingContext::getRenderbufferParameter): 28803 (WebCore::WebGLRenderingContext::getShaderParameter): 28804 (WebCore::WebGLRenderingContext::getShaderInfoLog): 28805 (WebCore::WebGLRenderingContext::getShaderSource): 28806 (WebCore::WebGLRenderingContext::getString): 28807 (WebCore::WebGLRenderingContext::getTexParameter): 28808 (WebCore::WebGLRenderingContext::getUniform): 28809 (WebCore::WebGLRenderingContext::getVertexAttrib): 28810 (WebCore::WebGLRenderingContext::useProgram): 28811 (WebCore::WebGLRenderingContext::getBooleanParameter): 28812 (WebCore::WebGLRenderingContext::getFloatParameter): 28813 (WebCore::WebGLRenderingContext::getIntParameter): 28814 (WebCore::WebGLRenderingContext::getLongParameter): 28815 (WebCore::WebGLRenderingContext::getUnsignedLongParameter): 28816 (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter): 28817 (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter): 28818 (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter): 28819 * html/canvas/WebGLRenderingContext.h: 28820 * html/canvas/WebGLRenderingContext.idl: 28821 * html/canvas/WebGLTexture.cpp: 28822 (WebCore::WebGLTexture::create): 28823 (WebCore::WebGLTexture::WebGLTexture): 28824 * html/canvas/WebGLTexture.h: 28825 * manual-tests/webgl/resources/utils3d.js: 28826 (initWebGL): 28827 (loadShader): 28828 (Framerate.prototype.snapshot): 28829 * platform/graphics/GraphicsContext3D.h: 28830 * platform/graphics/mac/GraphicsContext3DMac.cpp: 28831 (WebCore::GraphicsContext3D::bindRenderbuffer): 28832 (WebCore::GraphicsContext3D::getBooleanv): 28833 (WebCore::GraphicsContext3D::getBufferParameteriv): 28834 (WebCore::GraphicsContext3D::getFloatv): 28835 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 28836 (WebCore::GraphicsContext3D::getIntegerv): 28837 (WebCore::GraphicsContext3D::getProgramiv): 28838 (WebCore::GraphicsContext3D::getRenderbufferParameteriv): 28839 (WebCore::GraphicsContext3D::getShaderiv): 28840 (WebCore::GraphicsContext3D::getTexParameterfv): 28841 (WebCore::GraphicsContext3D::getTexParameteriv): 28842 (WebCore::GraphicsContext3D::getUniformfv): 28843 (WebCore::GraphicsContext3D::getUniformiv): 28844 (WebCore::GraphicsContext3D::getVertexAttribfv): 28845 (WebCore::GraphicsContext3D::getVertexAttribiv): 28846 28847 2009-11-24 Steve Falkenburg <sfalken (a] apple.com> 28848 28849 Windows build fix. 28850 28851 * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK. 28852 28853 2009-11-24 Philippe Normand <pnormand (a] igalia.com> 28854 28855 Reviewed by Gustavo Noronha Silva. 28856 28857 [Gtk] GStreamer-CRITICAL's (and other warnings) on <video> 28858 https://bugs.webkit.org/show_bug.cgi?id=26354 28859 28860 Implemented MediaPlayerPrivate::isAvailable by checking the 28861 presence of the playbin2 GStreamer element. 28862 28863 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 28864 (WebCore::MediaPlayerPrivate::isAvailable): 28865 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 28866 28867 2009-11-24 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 28868 28869 Reviewed by Xan Lopez. 28870 28871 https://bugs.webkit.org/show_bug.cgi?id=25415 28872 [GTK][ATK] Please implement support for get_text_at_offset 28873 28874 When building up the pango layout from text boxes, only append a 28875 newline char after verifying there are no more boxes on this line. 28876 28877 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 28878 (getPangoLayoutForAtk): 28879 28880 2009-11-24 Joseph Pecoraro <joepeck (a] webkit.org> 28881 28882 Reviewed by Pavel Feldman. 28883 28884 Web Inspector: Keyboard Shortcut to Clear Console Messages 28885 https://bugs.webkit.org/show_bug.cgi?id=31780 28886 28887 All Platforms: Ctrl+L = Clear Console Messages 28888 Mac Only: Cmd+K = Clear Console Messages 28889 28890 * inspector/front-end/ConsoleView.js: 28891 (WebInspector.ConsoleView): create shortcuts 28892 (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts 28893 * inspector/front-end/KeyboardShortcut.js: 28894 (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode 28895 * inspector/front-end/ScriptsPanel.js: 28896 (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts 28897 28898 2009-11-24 Pavel Feldman <pfeldman (a] chromium.org> 28899 28900 Not reviewed: touch inspector controller in order to 28901 kick win bot inspector deploy. rs=aroben. 28902 28903 * inspector/InspectorController.cpp: 28904 28905 2009-11-23 Pavel Feldman <pfeldman (a] chromium.org> 28906 28907 Reviewed by Timothy Hatcher. 28908 28909 Web Inspector: Implement expandable compartments on timeline panel. 28910 28911 https://bugs.webkit.org/show_bug.cgi?id=31796 28912 28913 * inspector/front-end/TimelineOverviewPane.js: 28914 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition): 28915 * inspector/front-end/TimelinePanel.js: 28916 (WebInspector.TimelinePanel): 28917 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 28918 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 28919 (WebInspector.TimelinePanel.prototype._formatRecord): 28920 (WebInspector.TimelinePanel.prototype._refreshRecords): 28921 (WebInspector.TimelinePanel.prototype._addToRecordsWindow): 28922 (WebInspector.TimelineRecordListRow): 28923 (WebInspector.TimelineRecordListRow.prototype.update): 28924 (WebInspector.TimelineRecordListRow.prototype.dispose): 28925 (WebInspector.TimelineRecordGraphRow): 28926 (WebInspector.TimelineRecordGraphRow.prototype.update): 28927 (WebInspector.TimelineRecordGraphRow.prototype._onClick): 28928 (WebInspector.TimelineRecordGraphRow.prototype.dispose): 28929 * inspector/front-end/inspector.css: 28930 28931 2009-11-24 Mark Rowe <mrowe (a] apple.com> 28932 28933 Fix production builds where the source tree may be read-only. 28934 28935 * WebCore.xcodeproj/project.pbxproj: 28936 28937 2009-11-23 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 28938 28939 Reviewed by Kenneth Rohde Christiansen. 28940 28941 Include "config.h" to meet Coding Style Guidelines 28942 https://bugs.webkit.org/show_bug.cgi?id=31792 28943 28944 No new tests as there is no new functionality. 28945 28946 * platform/graphics/win/IntPointWin.cpp: 28947 * platform/graphics/win/IntRectWin.cpp: 28948 * platform/graphics/win/IntSizeWin.cpp: 28949 * platform/network/chromium/ResourceRequest.cpp: 28950 * platform/win/PlatformMouseEventWin.cpp: 28951 28952 2009-11-23 Jian Li <jianli (a] chromium.org> 28953 28954 Reviewed by NOBODY (Chromium build fix). 28955 28956 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 28957 (WebCore::CALLBACK_FUNC_DECL): 28958 * platform/graphics/GraphicsContext3D.h: 28959 28960 2009-11-23 Aaron Golden <agolden (a] apple.com> 28961 28962 Reviewed by Alexey Proskuryakov. 28963 28964 Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping 28965 identity and certificate information from a WebCore::Credential when receivedCredential 28966 needs to modify the credential's persistence. 28967 28968 Adding a new constructor Credential(const Credential& original, CredentialPersistence) 28969 that copies every field from original except for persistence. 28970 28971 * platform/network/Credential.cpp: 28972 (WebCore::Credential::Credential): 28973 * platform/network/Credential.h: 28974 * platform/network/mac/ResourceHandleMac.mm: 28975 (WebCore::ResourceHandle::receivedCredential): 28976 28977 2009-11-23 Gavin Barraclough <barraclough (a] apple.com> 28978 28979 Reviewed by Geoff Garen. 28980 28981 Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world 28982 28983 Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API, 28984 and for this to automagically cause execution to take place in the world associated with the 28985 global object associated with the ExecState (JSContextRef) passed. However this is not how 28986 things work - the world must be explicitly set within WebCore. 28987 28988 Making this work just for API calls to evaluate & call will be a far from perfect solution, 28989 since direct (non-API) use of JSC still relies on WebCore setting the current world correctly. 28990 A better solution would be to make this all work automagically all throughout WebCore, but this 28991 will require more refactoring. 28992 28993 Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them, 28994 so that we can get to the world from the lexical global object of an ExecState. In the long-term 28995 we should switch over to using this approach for all cases we want to get a world from an exec state. 28996 28997 * bindings/js/JSDOMBinding.cpp: 28998 (WebCore::WebCoreJSClientData::beginningExecution): 28999 (WebCore::WebCoreJSClientData::completedExecution): 29000 * bindings/js/JSDOMBinding.h: 29001 * bindings/js/JSDOMGlobalObject.h: 29002 (WebCore::JSDOMGlobalObject::world): 29003 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 29004 * bindings/js/JSDOMWindowBase.cpp: 29005 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): 29006 * bindings/js/JSDOMWindowBase.h: 29007 * bindings/js/JSDOMWindowShell.cpp: 29008 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 29009 * bindings/js/JSDOMWindowShell.h: 29010 (WebCore::JSDOMWindowShell::world): 29011 * bindings/js/JSWorkerContextBase.cpp: 29012 (WebCore::JSWorkerContextBase::JSWorkerContextBase): 29013 * bindings/js/ScriptController.cpp: 29014 (WebCore::ScriptController::initScript): 29015 29016 2009-11-23 Chris Marrin <cmarrin (a] apple.com> 29017 29018 Reviewed by Oliver Hunt. 29019 29020 Add range checks to rendering calls in WebGL 29021 https://bugs.webkit.org/show_bug.cgi?id=31239 29022 29023 I am now tracking the size of the data in each CanvasBuffer object 29024 and keeping track of the buffer size of each active vertex attrib. 29025 In drawArrays and drawElements I make sure no attempt is made to 29026 access elements outside the valid buffer ranges. The test at: 29027 29028 http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html 29029 29030 no longer crashes. 29031 29032 I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks 29033 29034 Tests: fast/canvas/webgl/drawArraysOutOfBounds.html 29035 fast/canvas/webgl/drawElementssOutOfBounds.html 29036 29037 * bindings/js/JSWebGLArrayCustom.cpp: 29038 (WebCore::toJS): 29039 * bindings/js/JSWebGLRenderingContextCustom.cpp: 29040 (WebCore::JSWebGLRenderingContext::bufferData): 29041 (WebCore::JSWebGLRenderingContext::bufferSubData): 29042 (WebCore::JSWebGLRenderingContext::texSubImage2D): 29043 * html/canvas/WebGLArrayBuffer.cpp: 29044 (WebCore::WebGLArrayBuffer::create): 29045 (WebCore::WebGLArrayBuffer::data): 29046 * html/canvas/WebGLArrayBuffer.h: 29047 * html/canvas/WebGLBuffer.cpp: 29048 (WebCore::WebGLBuffer::WebGLBuffer): 29049 (WebCore::WebGLBuffer::associateBufferData): 29050 (WebCore::WebGLBuffer::associateBufferSubData): 29051 (WebCore::WebGLBuffer::byteLength): 29052 * html/canvas/WebGLBuffer.h: 29053 (WebCore::WebGLBuffer::elementArrayBuffer): 29054 * html/canvas/WebGLRenderingContext.cpp: 29055 (WebCore::WebGLRenderingContext::WebGLRenderingContext): 29056 (WebCore::WebGLRenderingContext::sizeInBytes): 29057 (WebCore::WebGLRenderingContext::bindBuffer): 29058 (WebCore::WebGLRenderingContext::bufferData): 29059 (WebCore::WebGLRenderingContext::bufferSubData): 29060 (WebCore::WebGLRenderingContext::createShader): 29061 (WebCore::WebGLRenderingContext::disableVertexAttribArray): 29062 (WebCore::WebGLRenderingContext::validateIndexArray): 29063 (WebCore::WebGLRenderingContext::validateRenderingState): 29064 (WebCore::WebGLRenderingContext::drawArrays): 29065 (WebCore::WebGLRenderingContext::drawElements): 29066 (WebCore::WebGLRenderingContext::enableVertexAttribArray): 29067 (WebCore::WebGLRenderingContext::isFramebuffer): 29068 (WebCore::WebGLRenderingContext::isProgram): 29069 (WebCore::WebGLRenderingContext::isRenderbuffer): 29070 (WebCore::WebGLRenderingContext::isShader): 29071 (WebCore::WebGLRenderingContext::isTexture): 29072 (WebCore::WebGLRenderingContext::useProgram): 29073 (WebCore::WebGLRenderingContext::validateProgram): 29074 (WebCore::WebGLRenderingContext::vertexAttribPointer): 29075 (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): 29076 * html/canvas/WebGLRenderingContext.h: 29077 (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): 29078 * html/canvas/WebGLRenderingContext.idl: 29079 * html/canvas/WebGLShader.cpp: 29080 (WebCore::WebGLShader::create): 29081 (WebCore::WebGLShader::WebGLShader): 29082 * html/canvas/WebGLShader.h: 29083 * platform/graphics/GraphicsContext3D.h: 29084 (WebCore::GraphicsContext3D::): 29085 * platform/graphics/mac/GraphicsContext3DMac.cpp: 29086 (WebCore::GraphicsContext3D::createShader): 29087 29088 2009-11-23 Erik Arvidsson <arv (a] chromium.org> 29089 29090 Reviewed by Eric Seidel. 29091 29092 JSC bindings for HasIndexGetter generates incorrect code (affects 29093 MediaList and CSSStyleDeclaration). 29094 This cleans up the edge cases for indexing out of range for style and 29095 computed style objects to return an empty string according to the spec. 29096 MediaList now returns null when indexed out of range. 29097 https://bugs.webkit.org/show_bug.cgi?id=31683 29098 29099 Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html 29100 fast/dom/CSSStyleDeclaration/css-style-item.html 29101 fast/dom/StyleSheet/css-medialist-item.html 29102 29103 * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then 29104 we do not check the length before calling the item function. 29105 * css/CSSComputedStyleDeclaration.cpp: 29106 (WebCore::CSSComputedStyleDeclaration::item): 29107 * css/CSSMutableStyleDeclaration.cpp: 29108 (WebCore::CSSMutableStyleDeclaration::item): 29109 * css/CSSStyleDeclaration.idl: 29110 29111 2009-11-23 Simon Fraser <simon.fraser (a] apple.com> 29112 29113 Reviewed by Dan Bernstein. 29114 29115 DocumentMarkers need to be educated about transforms 29116 https://bugs.webkit.org/show_bug.cgi?id=31751 29117 29118 Find highlight is incorrect with transforms 29119 <rdar://problem/6358394> 29120 29121 Allow callers to specify that Frame::selectionTextRects() takes transforms into account 29122 when computing the set of rects that encompass a selection. For transformed elemenets, the 29123 selection rect will be the bounding box of the selected content. 29124 29125 Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates. 29126 29127 Test: editing/selection/transformed-selection-rects.html 29128 29129 * WebCore.base.exp: 29130 Frame::selectionTextRects() has a new parameter. 29131 29132 * dom/Document.cpp: 29133 (WebCore::Document::setRenderedRectForMarker): 29134 * dom/Document.h: 29135 Pass the marker as a const reference. 29136 29137 * dom/Range.h: 29138 * dom/Range.cpp: 29139 (WebCore::Range::textQuads): 29140 Add a new method, textQuads(), which returns a list of quads, respecting transforms. 29141 29142 * page/Frame.h: 29143 * page/Frame.cpp: 29144 (WebCore::Frame::selectionTextRects): 29145 Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad 29146 method to get quads for ranges, and then take their bounding boxes. 29147 29148 * rendering/InlineTextBox.h: 29149 * rendering/InlineTextBox.cpp: 29150 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 29151 (WebCore::InlineTextBox::paintTextMatchMarker): 29152 (WebCore::InlineTextBox::computeRectForReplacementMarker): 29153 (WebCore::InlineTextBox::paintDocumentMarkers): 29154 (WebCore::InlineTextBox::textPos): 29155 (WebCore::InlineTextBox::offsetForPosition): 29156 29157 Pass DocumentMarkers as a const references. 29158 Convert the argument to setRenderedRectForMarker() into absolute coordinates. 29159 29160 * rendering/RenderView.cpp: 29161 (WebCore::RenderView::selectionBounds): 29162 29163 2009-11-23 Dirk Schulze <krit (a] webkit.org> 29164 29165 Reviewed by Oliver Hunt. 29166 29167 [Cairo] support blurred test-shadow 29168 [https://bugs.webkit.org/show_bug.cgi?id=31797] 29169 29170 Support for blurred text-shadows on Cairo. This patch 29171 reuses the code of blurred box-shadows, introduced in 29172 bug 26102. For a full textshadow support, a filters enabled 29173 build is needed. 29174 29175 * platform/graphics/cairo/FontCairo.cpp: 29176 (WebCore::Font::drawGlyphs): 29177 29178 2009-11-23 Jens Alfke <snej (a] chromium.org> 29179 29180 Reviewed by Geoffrey Garen. 29181 29182 Change incorrect calls to the constructor "EventNames()" to the correct accessor 29183 "eventNames()". This saves ~100 AtomicString lookups each time. 29184 https://bugs.webkit.org/show_bug.cgi?id=31811 29185 29186 * dom/EventNames.h: Make constructor private to prevent this from happening again. 29187 * history/CachedFrame.cpp: 29188 (WebCore::CachedFrameBase::restore): EventNames() --> eventNames() 29189 * html/HTMLFormControlElement.cpp: 29190 (WebCore::HTMLFormControlElement::checkValidity): EventNames() --> eventNames() 29191 * loader/FrameLoader.cpp: 29192 (WebCore::FrameLoader::stopLoading): EventNames() --> eventNames() 29193 (WebCore::FrameLoader::pageHidden): EventNames() --> eventNames() 29194 * page/DOMWindow.cpp: 29195 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): EventNames() --> eventNames() 29196 29197 2009-11-23 Adam Langley <agl (a] google.com> 29198 29199 Reviewed by Dmitry Titov. 29200 29201 Chromium Linux: Limit the stroke width and mitre limit. 29202 29203 Limit the stroke width and mitre limit that we'll pass into Skia to 29204 avoid overflowing Skia's uint16_t glyph widths. 29205 29206 http://code.google.com/p/chromium/issues/detail?id=28250 29207 https://bugs.webkit.org/show_bug.cgi?id=31747 29208 29209 * platform/graphics/skia/PlatformContextSkia.cpp: 29210 (scalarBound): 29211 (PlatformContextSkia::setupPaintForStroking): 29212 29213 2009-11-23 Alexey Proskuryakov <ap (a] apple.com> 29214 29215 Reviewed by Oliver Hunt. 29216 29217 https://bugs.webkit.org/show_bug.cgi?id=31812 29218 WebSocket code uses RefPtr::get() where it shouldn't 29219 29220 No change in funcitonality, just coding style correction. 29221 29222 * websockets/WebSocket.cpp: 29223 (WebCore::WebSocket::~WebSocket): 29224 * websockets/WebSocketChannel.cpp: 29225 (WebCore::WebSocketChannel::connect): 29226 (WebCore::WebSocketChannel::send): 29227 (WebCore::WebSocketChannel::bufferedAmount): 29228 (WebCore::WebSocketChannel::close): 29229 (WebCore::WebSocketChannel::disconnect): 29230 (WebCore::WebSocketChannel::didOpen): 29231 (WebCore::WebSocketChannel::didClose): 29232 (WebCore::WebSocketChannel::didReceiveData): 29233 (WebCore::WebSocketChannel::didFail): 29234 29235 2009-11-23 Alexey Proskuryakov <ap (a] apple.com> 29236 29237 Build fix. 29238 29239 * platform/network/cf/SocketStreamHandleCFNet.cpp: 29240 (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread 29241 is static, so it can't use member variables directly. 29242 29243 2009-11-23 Alexey Proskuryakov <ap (a] apple.com> 29244 29245 Reviewed by Brady Eidson. 29246 29247 https://bugs.webkit.org/show_bug.cgi?id=31748 29248 Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport 29249 29250 * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since 29251 they didn't carry useful information. 29252 29253 * platform/network/cf/SocketStreamHandleCFNet.cpp: 29254 (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually 29255 always need https. 29256 (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams 29257 only get scheduled after PAC is fetched and executed asynchronously. 29258 (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event 29259 source. 29260 (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread. 29261 (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto. 29262 (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication, 29263 we make the call even on Mac. 29264 (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL. 29265 (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted, 29266 we need to get rid of the event source. 29267 (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get. 29268 (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the 29269 array may come directly from system configuration, or from PAC. 29270 (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely 29271 separate. 29272 (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed 29273 before we get to the destructor. 29274 (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution 29275 is still in progress. 29276 29277 2009-11-23 Oliver Hunt <oliver (a] apple.com> 29278 29279 Reviewed by Geoff Garen. 29280 29281 Don't leak the CGImage we create when drawing a sub image. 29282 29283 * platform/graphics/cg/ImageCG.cpp: 29284 (WebCore::BitmapImage::draw): 29285 29286 2009-11-23 Adam Barth <abarth (a] webkit.org> 29287 29288 Reviewed by Dimitri Glazkov. 29289 29290 [V8] Don't crash when OOM in creating isolated world 29291 https://bugs.webkit.org/show_bug.cgi?id=31805 29292 29293 We need to add some more null checks to avoid crashing. No new tests 29294 because we don't have a good way to test out-of-memory bugs. 29295 29296 * bindings/v8/V8Proxy.cpp: 29297 (WebCore::V8Proxy::evaluateInIsolatedWorld): 29298 (WebCore::V8Proxy::evaluateInNewContext): 29299 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 29300 * bindings/v8/V8Proxy.h: 29301 29302 2009-11-23 Dirk Schulze <krit (a] webkit.org> 29303 29304 Reviewed by Nikolas Zimmermann. 29305 29306 This is the implementation of the filterRes attribute. It 29307 helps the SVG developer to set the quality of a filter by 29308 giving the width or height of filter. 29309 This patch also sets the filter resolution to lower values 29310 if a intermediate ImageBuffer size is bigger than the given 29311 maximal size. 29312 The maximal size is set to 5000x5000 by default. This is a 29313 subjectiv decission. Everthing greater than this values gets 29314 sensible slower. Values of 10000x10000 crashed on WebKitGtk. 29315 For mobil devices a maximum size of 100x100 or 200x200 seems 29316 to be reasonable. 29317 The important fact on filter resolution is, that the output 29318 size is still the size given by the <filter> element. 29319 29320 Tests: svg/filters/big-sized-filter-2.svg 29321 svg/filters/big-sized-filter.svg 29322 svg/filters/filterRes.svg 29323 29324 * platform/graphics/FloatRect.cpp: 29325 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y. 29326 * platform/graphics/FloatRect.h: 29327 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y. 29328 * platform/graphics/cairo/GraphicsContextCairo.cpp: 29329 (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for 29330 calculation. 29331 * platform/graphics/filters/FEBlend.cpp: 29332 (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations. 29333 * platform/graphics/filters/FEColorMatrix.cpp: 29334 (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations. 29335 * platform/graphics/filters/FEComponentTransfer.cpp: 29336 (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern 29337 calculations. 29338 * platform/graphics/filters/FEComposite.cpp: 29339 (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations. 29340 * platform/graphics/filters/FEGaussianBlur.cpp: 29341 (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations. 29342 * platform/graphics/filters/Filter.h: Add the abbility to change the quality 29343 of a filter output. 29344 (WebCore::Filter::filterResolution): 29345 (WebCore::Filter::setFilterResolution): 29346 (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion 29347 as well as the scaledSubRegion. It also searches for the biggest effect size. 29348 We have to change the filter resolution, if one intermediate ImageBuffer size 29349 doesn't fit in the maximal image size. 29350 * platform/graphics/filters/FilterEffect.cpp: 29351 (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get 29352 the right part of a previous effect result. 29353 (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get 29354 the right part of a previous effect result. 29355 (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create 29356 a new intermediate ImageBuffer for the result of the current effect. 29357 * platform/graphics/filters/FilterEffect.h: 29358 (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the 29359 filter effect. 29360 (WebCore::FilterEffect::setScaledSubRegion): 29361 (WebCore::FilterEffect::effectBoundaries): The original values of the 29362 EffectElement for a second subRegion calculation. 29363 (WebCore::FilterEffect::setEffectBoundaries): 29364 * platform/graphics/filters/ImageBufferFilter.cpp: 29365 (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one. 29366 * platform/graphics/filters/ImageBufferFilter.h: 29367 (WebCore::ImageBufferFilter::maxImageSize): 29368 (WebCore::ImageBufferFilter::calculateEffectSubRegion): 29369 * platform/graphics/filters/SourceAlpha.cpp: 29370 (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect 29371 intern calculations. 29372 * platform/graphics/filters/SourceGraphic.cpp: 29373 (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect 29374 intern calculations. 29375 * svg/SVGFilterElement.cpp: 29376 (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute. 29377 (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current 29378 filterResolution. 29379 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 29380 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save 29381 values to effectBoundaries of the filter effect 29382 * svg/graphics/SVGResourceFilter.cpp: 29383 (WebCore::SVGResourceFilter::SVGResourceFilter): 29384 (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero. 29385 (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size 29386 fits into the maximal image size, modifys scale factors if not and return a 29387 bool: fits. 29388 (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to 29389 filterResolution (given by FilterElement or calculated on to big image sizes). 29390 Set the scale level to SVGFilter. 29391 (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter 29392 is wrong. 29393 * svg/graphics/SVGResourceFilter.h: 29394 (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement. 29395 (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides 29396 a FilterResolution? 29397 (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal. 29398 (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical. 29399 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 29400 (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations. 29401 Kernel values are scaled to current filter resolution too. 29402 * svg/graphics/filters/SVGFEFlood.cpp: 29403 (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations. 29404 * svg/graphics/filters/SVGFEMerge.cpp: 29405 (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations. 29406 Kernel values are scaled to current filter resolution too. 29407 * svg/graphics/filters/SVGFEMorphology.cpp: 29408 (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations. 29409 Kernel values are scaled to current filter resolution too. 29410 * svg/graphics/filters/SVGFEOffset.cpp: 29411 (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations. 29412 * svg/graphics/filters/SVGFETile.cpp: 29413 (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations. 29414 * svg/graphics/filters/SVGFilter.cpp: 29415 (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests, 29416 scaledSubRegion according to the current filterResolution and get the maximal image size. 29417 * svg/graphics/filters/SVGFilter.h: 29418 (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 29419 (WebCore::SVGFilter::filterRegion): Use virtual for clarification. 29420 (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification. 29421 (WebCore::SVGFilter::maxImageSize): Get the maximal image size. 29422 29423 2009-11-23 Simon Hausmann <simon.hausmann (a] nokia.com> 29424 29425 Reviewed by Kenneth Rohde Christiansen. 29426 29427 [Qt] Wrong runtime instance objects of wrapped QObjects may be used if 29428 the wrapped object died before the gc removed the instance. 29429 29430 https://bugs.webkit.org/show_bug.cgi?id=31681 29431 29432 Before using a cached instance, verify that its wrapped QObject is 29433 still alive. 29434 29435 * bridge/qt/qt_instance.cpp: 29436 (JSC::Bindings::QtInstance::getQtInstance): 29437 * bridge/qt/qt_instance.h: 29438 (JSC::Bindings::QtInstance::hashKey): 29439 29440 2009-11-22 Chris Fleizach <cfleizach (a] apple.com> 29441 29442 Reviewed by Oliver Hunt. 29443 29444 ARIA: support aria-flowto 29445 https://bugs.webkit.org/show_bug.cgi?id=31762 29446 29447 Test: platform/mac/accessibility/aria-flowto.html 29448 29449 * accessibility/AccessibilityObject.h: 29450 (WebCore::AccessibilityObject::ariaOwnsElements): 29451 (WebCore::AccessibilityObject::supportsARIAFlowTo): 29452 (WebCore::AccessibilityObject::ariaFlowToElements): 29453 * accessibility/AccessibilityRenderObject.cpp: 29454 (WebCore::AccessibilityRenderObject::linkedUIElements): 29455 (WebCore::AccessibilityRenderObject::supportsARIAFlowTo): 29456 (WebCore::AccessibilityRenderObject::ariaFlowToElements): 29457 * accessibility/AccessibilityRenderObject.h: 29458 * html/HTMLAttributeNames.in: 29459 29460 2009-11-22 Nikolas Zimmermann <nzimmermann (a] rim.com> 29461 29462 Not reviewed. Build fix for WML enabled builds. 29463 Adopt WebCore API changes. 29464 29465 * wml/WMLAElement.cpp: 29466 (WebCore::WMLAElement::defaultEventHandler): 29467 * wml/WMLInputElement.cpp: 29468 (WebCore::WMLInputElement::defaultEventHandler): 29469 29470 2009-11-22 Pavel Feldman <pfeldman (a] chromium.org> 29471 29472 Reviewed by Timothy Hatcher. 29473 29474 Web Inspector: Introduce sidebar background on timeline panel in order 29475 to prevent it from flickering on scroll. 29476 29477 https://bugs.webkit.org/show_bug.cgi?id=31789 29478 29479 * inspector/front-end/TimelinePanel.js: 29480 (WebInspector.TimelinePanel): 29481 (WebInspector.TimelinePanel.prototype.setSidebarWidth): 29482 (WebInspector.TimelinePanel.prototype._onScroll): 29483 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 29484 * inspector/front-end/inspector.css: 29485 29486 2009-11-22 Pavel Feldman <pfeldman (a] chromium.org> 29487 29488 Reviewed by Timothy Hatcher. 29489 29490 Web Inspector: Reimplement TimelinePanel to make it fast: 29491 - Extract grid and overview into separate files 29492 - Make timeline create only divs for visible rows 29493 29494 https://bugs.webkit.org/show_bug.cgi?id=31784 29495 29496 * WebCore.gypi: 29497 * WebCore.vcproj/WebCore.vcproj: 29498 * inspector/front-end/AbstractTimelinePanel.js: 29499 (WebInspector.AbstractTimelinePanel.prototype.createInterface): 29500 (WebInspector.AbstractTimelinePanel.prototype.refresh): 29501 (WebInspector.AbstractTimelinePanel.prototype.set calculator): 29502 * inspector/front-end/TimelineGrid.js: Added. 29503 (WebInspector.TimelineGrid): 29504 (WebInspector.TimelineGrid.prototype.get itemsGraphsElement): 29505 (WebInspector.TimelineGrid.prototype.updateDividers): 29506 (WebInspector.TimelineGrid.prototype.addEventDivider): 29507 (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop): 29508 * inspector/front-end/TimelineOverviewPane.js: Added. 29509 (WebInspector.TimelineOverviewPane): 29510 (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked): 29511 (WebInspector.TimelineOverviewPane.prototype.update): 29512 (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth): 29513 (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth): 29514 (WebInspector.TimelineOverviewPane.prototype.reset): 29515 (WebInspector.TimelineOverviewPane.prototype._resizeWindow): 29516 (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging): 29517 (WebInspector.TimelineOverviewPane.prototype._dragWindow): 29518 (WebInspector.TimelineOverviewPane.prototype._windowDragging): 29519 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft): 29520 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight): 29521 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition): 29522 (WebInspector.TimelineOverviewPane.prototype._endWindowDragging): 29523 (WebInspector.TimelineOverviewCalculator): 29524 (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages): 29525 (WebInspector.TimelineOverviewCalculator.prototype.reset): 29526 (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries): 29527 (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan): 29528 (WebInspector.TimelineOverviewCalculator.prototype.formatValue): 29529 (WebInspector.TimelineCategoryTreeElement): 29530 (WebInspector.TimelineCategoryTreeElement.prototype.onattach): 29531 (WebInspector.TimelineCategoryGraph): 29532 (WebInspector.TimelineCategoryGraph.prototype.get graphElement): 29533 (WebInspector.TimelineCategoryGraph.prototype.addChunk): 29534 (WebInspector.TimelineCategoryGraph.prototype.clearChunks): 29535 (WebInspector.TimelineCategoryGraph.prototype.set dimmed): 29536 * inspector/front-end/TimelinePanel.js: 29537 (WebInspector.TimelinePanel): 29538 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 29539 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 29540 (WebInspector.TimelinePanel.prototype._formatRecord): 29541 (WebInspector.TimelinePanel.prototype.setSidebarWidth): 29542 (WebInspector.TimelinePanel.prototype.updateMainViewWidth): 29543 (WebInspector.TimelinePanel.prototype.resize): 29544 (WebInspector.TimelinePanel.prototype.reset): 29545 (WebInspector.TimelinePanel.prototype.show): 29546 (WebInspector.TimelinePanel.prototype._onScroll): 29547 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 29548 (WebInspector.TimelinePanel.prototype._refresh): 29549 (WebInspector.TimelinePanel.prototype._refreshRecords): 29550 (WebInspector.TimelinePanel.prototype._adjustScrollPosition): 29551 (WebInspector.TimelineCategory): 29552 (WebInspector.TimelineCalculator): 29553 (WebInspector.TimelineCalculator.prototype.get boundarySpan): 29554 (WebInspector.TimelineRecordListRow): 29555 (WebInspector.TimelineRecordListRow.prototype.update): 29556 (WebInspector.TimelineRecordGraphRow): 29557 (WebInspector.TimelineRecordGraphRow.prototype.update): 29558 * inspector/front-end/WebKit.qrc: 29559 * inspector/front-end/inspector.css: 29560 * inspector/front-end/inspector.html: 29561 29562 2009-11-22 Chris Evans <cevans (a] chromium.org> 29563 29564 Reviewed by Adam Barth. 29565 29566 Disable access to file:/// directory listings 29567 https://bugs.webkit.org/show_bug.cgi?id=31329 29568 29569 Deny access to directory listings. This needs doing in WebKit for 29570 WebKit clients that do permit top-level navigation to file:///dir. 29571 This matches Firefox, plus the existing Safari implementation (which 29572 does not support any directory access at all). It will fix the 29573 LayoutTest named below for Chromium. 29574 29575 Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html 29576 29577 * page/SecurityOrigin.cpp: Deny access to directory listings. 29578 (WebCore::SecurityOrigin::SecurityOrigin): 29579 (WebCore::SecurityOrigin::canRequest): 29580 29581 2009-11-20 Joseph Pecoraro <joepeck (a] webkit.org> 29582 29583 Reviewed by Timothy Hatcher. 29584 29585 Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console 29586 https://bugs.webkit.org/show_bug.cgi?id=31400 29587 29588 Handle the following when on a Mac: 29589 29590 Ctrl+P = Previous (like Up arrow) 29591 Ctrl+N = Next (like Down arrow) 29592 29593 No longer rerun autocompletion when just pushing a modifier key 29594 like Control, Alt, Shift, or Meta. 29595 29596 Improved arrow key behavior with Multiline code in the Console, with the following behavior: 29597 29598 Up = Previous Command if on First Line (caret moves to the end of the first line) 29599 otherwise default caret movement in text. 29600 Down = Next Command if on Last Line (caret naturally moves to the end) 29601 otherwise default caret movement in text. 29602 29603 * inspector/front-end/TextPrompt.js: 29604 (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts 29605 (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line 29606 (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line 29607 (WebInspector.TextPrompt.prototype._upKeyPressed): 29608 (WebInspector.TextPrompt.prototype._downKeyPressed): 29609 (WebInspector.TextPrompt.prototype._moveBackInHistory): 29610 (WebInspector.TextPrompt.prototype._moveForwardInHistory): 29611 29612 2009-11-21 Jessie Berlin <jberlin (a] webkit.org> 29613 29614 Reviewed by Timothy Hatcher. 29615 29616 Adds a tooltip containing the full url of the resource to each element 29617 in the Resources panel so that it is possible to quickly see the query 29618 parameters. 29619 https://bugs.webkit.org/show_bug.cgi?id=19103 29620 29621 * inspector/front-end/ResourcesPanel.js: 29622 (WebInspector.ResourceSidebarTreeElement.prototype.refresh): 29623 Set the tooltip to be the resource's url. 29624 29625 2009-11-21 Simon Fraser <simon.fraser (a] apple.com> 29626 29627 Reviewed by Dan Bernstein. 29628 29629 CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages 29630 https://bugs.webkit.org/show_bug.cgi?id=31588 29631 29632 In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100% 29633 so that findRule() and deleteRule() work with these keywords. 29634 29635 * css/WebKitCSSKeyframesRule.cpp: 29636 (WebCore::WebKitCSSKeyframesRule::findRuleIndex): 29637 29638 2009-11-21 Daniel Bates <dbates (a] webkit.org> 29639 29640 Reviewed by Eric Seidel. 29641 29642 https://bugs.webkit.org/show_bug.cgi?id=31647 29643 29644 Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr. 29645 29646 No functionality was changed. So, no new tests. 29647 29648 * dom/KeyboardEvent.cpp: 29649 (WebCore::KeyboardEvent::~KeyboardEvent): 29650 * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr. 29651 (WebCore::KeyboardEvent::keyEvent): 29652 29653 2009-11-20 Chris Fleizach <cfleizach (a] apple.com> 29654 29655 Reviewed by Beth Dakin. 29656 29657 WAI-ARIA: add support for aria-owns 29658 https://bugs.webkit.org/show_bug.cgi?id=31702 29659 29660 Re-organized how accessibilityAttributeNames are returned so 29661 that it's possible for an element to add an attribute based on 29662 a dynamic value. In this case, we only want to add AXOwn if the 29663 element actually supports aria-owns. 29664 29665 Test: platform/mac/accessibility/aria-owns.html 29666 29667 * accessibility/AccessibilityObject.h: 29668 (WebCore::AccessibilityObject::supportsARIAOwns): 29669 (WebCore::AccessibilityObject::ariaOwnsElements): 29670 * accessibility/AccessibilityRenderObject.cpp: 29671 (WebCore::AccessibilityRenderObject::ariaOwnsElements): 29672 (WebCore::AccessibilityRenderObject::supportsARIAOwns): 29673 * accessibility/AccessibilityRenderObject.h: 29674 * accessibility/mac/AccessibilityObjectWrapper.mm: 29675 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 29676 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 29677 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 29678 * html/HTMLAttributeNames.in: 29679 29680 2009-11-20 Eric Carlson <eric.carlson (a] apple.com> 29681 29682 Reviewed by Simon Fraser. 29683 29684 <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element 29685 29686 * css/mediaControls.css: 29687 Define closed caption toggle button. 29688 29689 * rendering/RenderMedia.cpp: 29690 (WebCore::RenderMedia::updateControls): 29691 Create closed caption toggle button in display order. 29692 29693 * rendering/RenderThemeMac.mm: 29694 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 29695 Don't require MediaControllerThemeQuickTime theme for captions toggle button. 29696 No need to check if the movie has video, a closed captions track is a video 29697 track. 29698 29699 2009-11-20 Joseph Pecoraro <joepeck (a] webkit.org> 29700 29701 Reviewed by Timothy Hatcher. 29702 29703 Web Inspector: Running code in the Console that ends with a 29704 single line comment no longer produces a parse error. 29705 29706 * inspector/front-end/InjectedScript.js: 29707 (InjectedScript._evaluateOn): 29708 29709 2009-11-20 Chris Fleizach <cfleizach (a] apple.com> 29710 29711 Reviewed by Beth Dakin. 29712 29713 WAI-ARIA: add support for 'math' role 29714 https://bugs.webkit.org/show_bug.cgi?id=31706 29715 29716 * accessibility/AccessibilityObject.cpp: 29717 * accessibility/AccessibilityObject.h: 29718 * accessibility/mac/AccessibilityObjectWrapper.mm: 29719 29720 2009-11-20 Yael Aharon <yael.aharon (a] nokia.com> 29721 29722 Reviewed by Kenneth Rohde Christiansen. 29723 29724 NPN_ReloadPlugins does not reload the page even if reloadPages is true. 29725 https://bugs.webkit.org/show_bug.cgi?id=30460 29726 29727 Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins(). 29728 It already refreshes plugins and reloads pages when necessary. 29729 29730 Tests: plugins/reloadplugins-and-pages.html 29731 plugins/reloadplugins-no-pages.html 29732 29733 * plugins/PluginInfoStore.cpp: 29734 (WebCore::refreshPlugins): 29735 29736 2009-11-20 Oliver Hunt <oliver (a] apple.com> 29737 29738 Reviewed by Dave Hyatt. 29739 29740 <rdar://7409188> WebKit needs to be able to serialize and deserialize objects. 29741 29742 Expose WebCore object serialization to WebKit. 29743 29744 * WebCore.base.exp: 29745 * bindings/js/SerializedScriptValue.cpp: 29746 (WebCore::SerializedScriptValue::~SerializedScriptValue): 29747 (WebCore::SerializedScriptValue::create): 29748 (WebCore::SerializedScriptValue::deserialize): 29749 * bindings/js/SerializedScriptValue.h: 29750 29751 2009-11-20 Brian Weinstein <bweinstein (a] apple.com> 29752 29753 Reviewed by Tim Hatcher. 29754 29755 Fixes <http://webkit.org/b/31741>. 29756 Web Inspector: User Entered Data on the console should show up no matter what filters. 29757 29758 Always show .console-user-command-result, no matter what the filter say 29759 we should do with the other classes. 29760 29761 * inspector/front-end/inspector.css: 29762 29763 2009-11-20 Brian Weinstein <bweinstein (a] apple.com> 29764 29765 Reviewed by Tim Hatcher. 29766 29767 Fixes <http://webkit.org/b/31700>. 29768 Web Inspector: isMac should be in one central location + Cached. 29769 29770 We should cache the value of isMac, and make the indexOf call in one 29771 single location, because we are calling it from multiple places, and saving 29772 the result can save us time, and make the call sites simpler. 29773 29774 * inspector/front-end/AbstractTimelinePanel.js: 29775 (WebInspector.AbstractTimelinePanel.prototype._updateFilter): 29776 * inspector/front-end/ConsoleView.js: 29777 (WebInspector.ConsoleView.prototype._updateFilter): 29778 * inspector/front-end/ElementsPanel.js: 29779 (WebInspector.ElementsPanel.prototype.handleKeyEvent): 29780 * inspector/front-end/ScriptsPanel.js: 29781 (WebInspector.ScriptsPanel): 29782 * inspector/front-end/SourceFrame.js: 29783 (WebInspector.SourceFrame.prototype._loaded): 29784 * inspector/front-end/inspector.js: 29785 (WebInspector.documentKeyDown): 29786 (WebInspector.isMac): 29787 29788 2009-11-19 Joseph Pecoraro <joepeck (a] webkit.org> 29789 29790 Removed .DS_Store accidentally added in last (r51245). 29791 29792 2009-11-19 Joseph Pecoraro <joepeck (a] webkit.org> 29793 29794 Reviewed by Timothy Hatcher. 29795 29796 Web Inspector: Add Console Only Layout Mode 29797 https://bugs.webkit.org/show_bug.cgi?id=30282 29798 29799 Adds a Console Panel, which allows for a Full size Console. This 29800 extends the Drawer to the size of a Panel. This also fixes previous 29801 resize issues with the Drawer. 29802 29803 * inspector/front-end/ConsolePanel.js: added. 29804 (WebInspector.ConsolePanel): 29805 (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel): 29806 (WebInspector.ConsolePanel.prototype.show): 29807 (WebInspector.ConsolePanel.prototype.hide): 29808 * inspector/front-end/Drawer.js: 29809 (WebInspector.Drawer): 29810 (WebInspector.Drawer.prototype.set visibleView): 29811 (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console. 29812 (WebInspector.Drawer.prototype.show.animationFinished): 29813 (WebInspector.Drawer.prototype.show): 29814 (WebInspector.Drawer.prototype.hide.animationFinished): 29815 (WebInspector.Drawer.prototype.hide): 29816 (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full 29817 (WebInspector.Drawer.prototype.enterPanelMode): 29818 (WebInspector.Drawer.prototype.exitPanelMode): 29819 (WebInspector.Drawer.prototype.immediatelyExitPanelMode): 29820 (WebInspector.Drawer.prototype._cancelAnimationIfNeeded): 29821 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished): 29822 (WebInspector.Drawer.prototype._animateDrawerHeight): 29823 (WebInspector.Drawer.prototype._animationDuration): 29824 (WebInspector.Drawer.prototype._startStatusBarDragging): 29825 (WebInspector.Drawer.prototype._statusBarDragging): 29826 (WebInspector.Drawer.prototype._endStatusBarDragging): 29827 29828 Miscellaneous changes and cleanup. 29829 29830 * English.lproj/localizedStrings.js: "Console" toolbar title. 29831 * inspector/front-end/ConsoleView.js: removed unnecessary element reordering 29832 * inspector/front-end/Images/consoleIcon.png: added. 29833 * inspector/front-end/inspector.css: added icon. 29834 * inspector/front-end/inspector.html: 29835 * inspector/front-end/inspector.js: 29836 (WebInspector._createPanels): create console panel 29837 (WebInspector.windowResize): resize drawer if necessary 29838 (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode 29839 (WebInspector.animateStyle): start animation interval, returns the interval key 29840 (WebInspector.toggleAttach): resize drawer if necessary 29841 (WebInspector.showConsolePanel): restore the panel when the inspector restarts 29842 (WebInspector.showProfileForURL): style fix 29843 29844 Restore the panel when the inspector restarts. 29845 29846 * inspector/InspectorController.cpp: 29847 (WebCore::InspectorController::setWindowVisible): 29848 (WebCore::InspectorController::specialPanelForJSName): 29849 * inspector/InspectorFrontend.cpp: 29850 (WebCore::InspectorFrontend::showPanel): 29851 29852 Build files. 29853 29854 * WebCore.gypi: 29855 * WebCore.vcproj/WebCore.vcproj: 29856 * inspector/front-end/WebKit.qrc: 29857 29858 2009-11-20 Brian Weinstein <bweinstein (a] apple.com> 29859 29860 Reviewed by Tim Hatcher. 29861 29862 Fixes <http://webkit.org/b/31699>. 29863 Web Inspector: Should Cache Values of InspectorController.platform() and port(). 29864 29865 Refactor the Inspector to cache the value of InspectorController.platform 29866 and InspectorController.port, because those need to call into C++, they are 29867 being called more and more as we add platform specific keyboard shortcuts, and 29868 they shouldn't change in the lifecycle of the Web Inspector. 29869 29870 * inspector/front-end/AbstractTimelinePanel.js: 29871 (WebInspector.AbstractTimelinePanel.prototype._updateFilter): 29872 * inspector/front-end/ConsoleView.js: 29873 (WebInspector.ConsoleView.prototype._updateFilter): 29874 * inspector/front-end/ElementsPanel.js: 29875 (WebInspector.ElementsPanel.prototype.handleKeyEvent): 29876 * inspector/front-end/ScriptsPanel.js: 29877 (WebInspector.ScriptsPanel): 29878 * inspector/front-end/SourceFrame.js: 29879 (WebInspector.SourceFrame.prototype._loaded): 29880 * inspector/front-end/inspector.js: 29881 (WebInspector.get platform): 29882 (WebInspector.get port): 29883 (WebInspector.loaded): 29884 (WebInspector.documentKeyDown): 29885 (WebInspector.toolbarDragStart): 29886 29887 2009-11-20 Dirk Schulze <krit (a] webkit.org> 29888 29889 Unreviewed build fix for filters enabled builds. 29890 29891 * platform/graphics/filters/FEColorMatrix.cpp: 29892 (WebCore::FEColorMatrix::apply): 29893 * platform/graphics/filters/FEComposite.cpp: 29894 (WebCore::FEComposite::apply): 29895 * platform/graphics/filters/SourceGraphic.cpp: 29896 (WebCore::SourceGraphic::apply): 29897 * svg/graphics/SVGResourceFilter.cpp: 29898 (WebCore::SVGResourceFilter::applyFilter): 29899 * svg/graphics/filters/SVGFEMerge.cpp: 29900 (WebCore::FEMerge::apply): 29901 * svg/graphics/filters/SVGFEOffset.cpp: 29902 (WebCore::FEOffset::apply): 29903 * svg/graphics/filters/SVGFETile.cpp: 29904 (WebCore::FETile::apply): 29905 29906 2009-11-20 Eric Carlson <eric.carlson (a] apple.com> 29907 29908 Reviewed by Simon Fraser. 29909 29910 <rdar://problem/7389945> QTKit based media engine should not claim to support 29911 fullscreen on Leopard 29912 29913 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 29914 (WebCore::MediaPlayerPrivate::supportsFullscreen): 29915 Only return true on SnowLeopard for now. 29916 29917 * rendering/RenderThemeMac.mm: 29918 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 29919 No need to special case MediaFullscreenButtonPart as the default implementation 29920 asks the media engine if it supports fullscreen. 29921 29922 2009-11-18 Girish Ramakrishnan <girish (a] forwardbias.in> 29923 29924 Reviewed by Simon Hausmann. 29925 29926 Patch by Yongjun Zhang <yongjun.zhang (a] nokia.com> and 29927 Girish Ramakrishnan <girish (a] forwardbias.in> 29928 29929 [Qt] Implement support for rendering plugins on Qt/Mac when a page is used 29930 without a QWebView or when inside QGraphicsWebView. 29931 29932 Currently, the code provides the cgcontext of the PlatformPluginWidget to 29933 the plugin. This approach does not work when we are printing, or using 29934 QWebFrame::render() to render to a QImage/QPixmap since the plugin ends 29935 up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead 29936 of the QPaintDevice's context. 29937 29938 To solve all cases and keep the code simple, we render the plugin to an 29939 offscreen pixmap in all cases. This way, the plugin always renders to the 29940 CGContext of the pixmap and we then use QPainter to blit the pixmap into 29941 the QPaintDevice. We also create a fake window and set it's WindowRef in 29942 NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap. 29943 29944 Now, that's the theory. In practice, ATM, mouse events do not work when using 29945 the fake window. So, setPlatformPluginWidget() is still called when using QWebView 29946 so that there are no regressions after this patch. Once we get mouse events 29947 working, setPlatformPluginWidget will be removed. 29948 29949 https://bugs.webkit.org/show_bug.cgi?id=31183 29950 29951 * plugins/PluginView.cpp: 29952 (WebCore::PluginView::PluginView): 29953 * plugins/PluginView.h: 29954 * plugins/mac/PluginViewMac.cpp: 29955 (WebCore::PluginView::platformStart): 29956 (WebCore::PluginView::platformDestroy): 29957 (WebCore::PluginView::setNPWindowIfNeeded): 29958 (WebCore::PluginView::updatePluginWidget): 29959 (WebCore::PluginView::paint): 29960 (WebCore::PluginView::invalidateRect): 29961 29962 2009-11-19 Joseph Pecoraro <joepeck (a] webkit.org> 29963 29964 Reviewed by Timothy Hatcher. 29965 29966 Web Inspector: Resync Resources Backend and Frontend 29967 https://bugs.webkit.org/show_bug.cgi?id=31705 29968 29969 * inspector/front-end/Resource.js: resync enum values with backend 29970 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases 29971 29972 2009-11-19 Steve Block <steveblock (a] google.com> 29973 29974 Reviewed by Darin Fisher. 29975 29976 Android port lacks configuration in Platform.h and config.h. 29977 https://bugs.webkit.org/show_bug.cgi?id=31671 29978 29979 Build change only. No new tests possible. 29980 29981 * config.h: Modified. Added Android-specific configuration. 29982 29983 2009-11-20 Roland Steiner <rolandsteiner (a] chromium.org> 29984 29985 Reviewed by Darin Adler. 29986 29987 Change default stylesheet to reset text indentation for ruby elements by default. 29988 (https://bugs.webkit.org/show_bug.cgi?id=31247) 29989 29990 Test: fast/ruby/ruby-text-indent.html 29991 29992 * css/html.css: reset text-indent on <ruby> and <rt> elements 29993 29994 2009-11-19 Brian Weinstein <bweinstein (a] apple.com> 29995 29996 Reviewed by Darin Adler. 29997 29998 Fixes <http://webkit.org/b/22754>. 29999 Web Inspector: Keyboard shortcut for Element finder. 30000 30001 Use Command + Shift + C as a shortcut for Node Search, to 30002 match the Firebug shortcut to do the same thing. 30003 30004 * inspector/front-end/ElementsPanel.js: 30005 (WebInspector.ElementsPanel.prototype.handleKeyEvent): 30006 30007 2009-11-19 Alexey Proskuryakov <ap (a] apple.com> 30008 30009 Reviewed by Darin Adler. 30010 30011 https://bugs.webkit.org/show_bug.cgi?id=31690 30012 Make SocketStreamHandleCFNet work on Windows 30013 30014 * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF. 30015 30016 * platform/network/ResourceHandle.h: Removed loaderRunLoop(). 30017 30018 * platform/network/cf/LoaderRunLoopCF.cpp: Added. 30019 (WebCore::emptyPerform): 30020 (WebCore::runLoaderThread): 30021 (WebCore::loaderRunLoop): 30022 * platform/network/cf/LoaderRunLoopCF.h: Added. 30023 Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because 30024 it's needed for more than just resource loading. 30025 30026 * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location. 30027 30028 * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto. 30029 30030 * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to 30031 main thread. 30032 * platform/network/cf/SocketStreamHandleCFNet.cpp: 30033 (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of 30034 inoperable main run loop. 30035 30036 (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 30037 (WebCore::SocketStreamHandle::readStreamCallback): 30038 (WebCore::SocketStreamHandle::writeStreamCallback): 30039 (WebCore::SocketStreamHandle::readStreamCallbackMainThread): 30040 (WebCore::SocketStreamHandle::writeStreamCallbackMainThread): 30041 Forward stream events to main thread on Windows. 30042 30043 2009-11-19 Avi Drissman <avi (a] chromium.org> 30044 30045 Reviewed by Darin Adler. 30046 30047 Quick style fix. 30048 https://bugs.webkit.org/show_bug.cgi?id=27777 30049 30050 * platform/graphics/cg/PDFDocumentImage.cpp: 30051 30052 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30053 30054 Build fix. No review needed. 30055 30056 * platform/chromium/ScrollbarThemeChromium.cpp: 30057 (WebCore::ScrollbarThemeChromium::paintTickmarks): 30058 * rendering/RenderMediaControlsChromium.cpp: 30059 (WebCore::paintMediaButton): 30060 30061 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30062 30063 Build fix. No review needed. 30064 30065 * rendering/RenderThemeChromiumSkia.cpp: 30066 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 30067 (WebCore::RenderThemeChromiumSkia::paintRadio): 30068 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): 30069 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): 30070 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): 30071 30072 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30073 30074 Build fix. No review needed. 30075 30076 * platform/graphics/qt/StillImageQt.cpp: 30077 (WebCore::StillImage::draw): 30078 * platform/graphics/qt/StillImageQt.h: 30079 30080 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30081 30082 Build fix. No review needed. 30083 30084 * rendering/RenderThemeWin.cpp: 30085 (WebCore::RenderThemeWin::paintSearchFieldCancelButton): 30086 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): 30087 (WebCore::RenderThemeWin::paintSearchFieldResultsButton): 30088 30089 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30090 30091 Build fix. No review needed. 30092 30093 * plugins/PluginView.cpp: 30094 (WebCore::PluginView::paintMissingPluginIcon): 30095 30096 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30097 30098 Build fix. No review needed. 30099 30100 * platform/graphics/win/ImageCGWin.cpp: 30101 (WebCore::BitmapImage::getHBITMAPOfSize): 30102 (WebCore::BitmapImage::drawFrameMatchingSourceSize): 30103 30104 2009-11-19 Beth Dakin <bdakin (a] apple.com> 30105 30106 Reviewed by Darin Adler. 30107 30108 Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit- 30109 color-correction work with untagged images 30110 30111 Image's draw(), drawPattern(), and fillWithSolidColor() functions 30112 now take a ColorSpace. A bunch of classes inherit from Image, so 30113 draw() and drawPattern() functions there must also take a 30114 ColorSpace. 30115 * platform/graphics/Image.cpp: 30116 (WebCore::Image::fillWithSolidColor): 30117 (WebCore::Image::drawTiled): 30118 * platform/graphics/Image.h: 30119 * platform/graphics/BitmapImage.h: 30120 * platform/graphics/GeneratedImage.cpp: 30121 (WebCore::GeneratedImage::draw): 30122 (WebCore::GeneratedImage::drawPattern): 30123 * platform/graphics/GeneratedImage.h: 30124 * platform/graphics/cg/PDFDocumentImage.cpp: 30125 (WebCore::PDFDocumentImage::draw): 30126 * platform/graphics/cg/PDFDocumentImage.h: 30127 * svg/graphics/SVGImage.cpp: 30128 (WebCore::SVGImage::draw): 30129 * svg/graphics/SVGImage.h: 30130 30131 All of the drawImage() functions and drawTiled() functions of 30132 GraphicsContext now take a ColorSpace. 30133 * platform/graphics/GraphicsContext.cpp: 30134 (WebCore::GraphicsContext::drawImage): 30135 (WebCore::GraphicsContext::drawTiledImage): 30136 * platform/graphics/GraphicsContext.h: 30137 30138 This is where the actual work is done. 30139 * platform/graphics/cg/ImageCG.cpp: 30140 (WebCore::imageWithColorSpace): New static function that returns a 30141 copy of the given image in the given ColorSpace *IF* we should use 30142 the given ColorSpace. We will ignore the color space if the image 30143 is tagged and return 0. 30144 (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 30145 call imageWithColorSpace(). 30146 (WebCore::Image::drawPattern): Same. 30147 30148 Attempt to keep all ports building. 30149 * platform/graphics/cairo/ImageCairo.cpp: 30150 (WebCore::BitmapImage::draw): 30151 (WebCore::Image::drawPattern): 30152 * platform/graphics/haiku/ImageHaiku.cpp: 30153 (WebCore::BitmapImage::draw): 30154 (WebCore::Image::drawPattern): 30155 * platform/graphics/qt/ImageQt.cpp: 30156 (WebCore::Image::drawPattern): 30157 (WebCore::BitmapImage::draw): 30158 * platform/graphics/skia/BitmapImageSingleFrameSkia.h: 30159 * platform/graphics/skia/ImageSkia.cpp: 30160 (WebCore::Image::drawPattern): 30161 (WebCore::BitmapImage::draw): 30162 (WebCore::BitmapImageSingleFrameSkia::draw): 30163 * platform/graphics/wx/ImageWx.cpp: 30164 (WebCore::BitmapImage::draw): 30165 (WebCore::BitmapImage::drawPattern): 30166 30167 Callers of GraphicsContext's drawImage() and drawTiled() functions 30168 now need to send a ColorSpace. 30169 * html/HTMLCanvasElement.cpp: 30170 (WebCore::HTMLCanvasElement::paint): 30171 * html/canvas/CanvasRenderingContext2D.cpp: 30172 (WebCore::CanvasRenderingContext2D::drawImage): 30173 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 30174 * platform/ScrollView.cpp: 30175 (WebCore::ScrollView::wheelEvent): 30176 * platform/graphics/filters/FEColorMatrix.cpp: 30177 (WebCore::FEColorMatrix::apply): 30178 * platform/graphics/filters/FEComposite.cpp: 30179 (WebCore::FEComposite::apply): 30180 * platform/graphics/filters/SourceGraphic.cpp: 30181 (WebCore::SourceGraphic::apply): 30182 * platform/mac/ScrollbarThemeMac.mm: 30183 (WebCore::ScrollbarThemeMac::paint): 30184 * rendering/RenderBoxModelObject.cpp: 30185 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 30186 (WebCore::RenderBoxModelObject::paintNinePieceImage): 30187 * rendering/RenderImage.cpp: 30188 (WebCore::RenderImage::paintReplaced): 30189 * rendering/RenderLayer.cpp: 30190 (WebCore::RenderLayer::paintResizer): 30191 * rendering/RenderListMarker.cpp: 30192 (WebCore::RenderListMarker::paint): 30193 * rendering/RenderSVGImage.cpp: 30194 (WebCore::RenderSVGImage::paint): 30195 * rendering/RenderWidget.cpp: 30196 (WebCore::RenderWidget::paint): 30197 * svg/graphics/SVGPaintServerPattern.cpp: 30198 (WebCore::SVGPaintServerPattern::setup): 30199 * svg/graphics/SVGResourceFilter.cpp: 30200 (WebCore::SVGResourceFilter::applyFilter): 30201 * svg/graphics/filters/SVGFEMerge.cpp: 30202 (WebCore::FEMerge::apply): 30203 * svg/graphics/filters/SVGFEOffset.cpp: 30204 (WebCore::FEOffset::apply): 30205 * svg/graphics/filters/SVGFETile.cpp: 30206 (WebCore::FETile::apply): 30207 30208 2009-11-19 Avi Drissman <avi (a] chromium.org> 30209 30210 Reviewed by Darin Adler. 30211 30212 Properly create a CGImageRef on non-PLATFORM(MAC). 30213 https://bugs.webkit.org/show_bug.cgi?id=27777 30214 30215 * platform/graphics/cg/ImageSourceCG.cpp: 30216 (WebCore::sharedBufferGetBytesAtPosition): 30217 (WebCore::sharedBufferRelease): 30218 (WebCore::ImageSource::setData): 30219 * platform/graphics/cg/ImageSourceCG.h: 30220 * platform/graphics/cg/PDFDocumentImage.cpp: 30221 (WebCore::PDFDocumentImage::dataChanged): 30222 30223 2009-11-19 Oliver Hunt <oliver (a] apple.com> 30224 30225 Reviewed by Dave Hyatt. 30226 30227 -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes 30228 https://bugs.webkit.org/show_bug.cgi?id=31656 30229 30230 Make sure we're a child of the painting root before drawing overflow features. 30231 30232 * manual-tests/user-drag-with-decorations.html: Added. 30233 * rendering/RenderBlock.cpp: 30234 (WebCore::RenderBlock::paint): 30235 30236 2009-11-19 Dmitry Titov <dimich (a] chromium.org> 30237 30238 Not reviewed, attempt to fix Chromium build. 30239 30240 * rendering/RenderMediaControlsChromium.cpp: 30241 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile. 30242 30243 2009-11-19 Rahul Kuchhal <kuchhal (a] chromium.org> 30244 30245 Reviewed by Darin Adler. 30246 30247 Do not assert when a high number is used for roman numerals in lists. 30248 https://bugs.webkit.org/show_bug.cgi?id=31652 30249 30250 Test: fast/lists/ol-start-roman.html 30251 30252 * rendering/RenderListMarker.cpp: 30253 (WebCore::toRoman): Increase the char array size. 30254 30255 2009-11-19 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 30256 30257 Rubber-stamped by Oliver Hunt. 30258 30259 Add translatable strings to cover validationMessage, after 30260 r51172. Already covered by existing test. 30261 30262 * platform/gtk/LocalizedStringsGtk.cpp: 30263 (WebCore::validationMessageValueMissingText): 30264 (WebCore::validationMessageTypeMismatchText): 30265 (WebCore::validationMessagePatternMismatchText): 30266 (WebCore::validationMessageTooLongText): 30267 (WebCore::validationMessageRangeUnderflowText): 30268 (WebCore::validationMessageRangeOverflowText): 30269 (WebCore::validationMessageStepMismatchText): 30270 30271 2009-11-19 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30272 30273 Reviewed by Darin Adler. 30274 30275 Remove HAVE(FLOAT_H) guard 30276 https://bugs.webkit.org/show_bug.cgi?id=31661 30277 30278 WebCore has a dependency on float.h, there is 30279 no need to guard float.h. 30280 30281 No new tests as there is no functional change. 30282 30283 * html/HTMLInputElement.cpp: Remove include directive 30284 for float.h as it is included in MathExtras.h already. 30285 30286 2009-11-19 Simon Fraser <simon.fraser (a] apple.com> 30287 30288 Reviewed by Pavel Feldman. 30289 30290 Instrumentation should account for painting in compositing layers 30291 https://bugs.webkit.org/show_bug.cgi?id=31674 30292 30293 Add calls to InspectorTimelineAgent for painting into compositing layers, 30294 which is not accounted for in FrameView::paintContents(). 30295 30296 * rendering/RenderLayerBacking.cpp: 30297 (WebCore::RenderLayerBacking::paintIntoLayer): 30298 Avoid fetching the FrameView multiple times. 30299 30300 (WebCore::inspectorTimelineAgent): 30301 (WebCore::RenderLayerBacking::paintContents): 30302 30303 2009-11-19 Eric Carlson <eric.carlson (a] apple.com> 30304 30305 Reviewed by Dan Bernstein. 30306 30307 <rdar://problem/7035231> 30308 Support closed caption in <video> element 30309 30310 Test: media/media-captions.html 30311 30312 * WebCore.base.exp: 30313 * accessibility/AccessibilityMediaControls.cpp: 30314 (WebCore::AccessibilityMediaControl::controlTypeName): 30315 Define ShowClosedCaptionsButton and HideClosedCaptionsButton. 30316 30317 * css/CSSPrimitiveValueMappings.h: 30318 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 30319 Add MediaToggleClosedCaptionsButtonPart. 30320 30321 * css/CSSSelector.cpp: 30322 (WebCore::CSSSelector::extractPseudoType): 30323 Define and match mediaControlsToggleClosedCaptionsButton. 30324 30325 * css/CSSSelector.h: 30326 (WebCore::CSSSelector::): 30327 * css/CSSStyleSelector.cpp: 30328 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 30329 Define and match PseudoMediaControlsToggleClosedCaptions. 30330 30331 * css/CSSValueKeywords.in: 30332 Define and use media-toggle-closed-captions-button. 30333 30334 * css/mediaControls.css: 30335 * css/mediaControlsQuickTime.css: 30336 Add webkit-media-controls-toggle-closed-captions-button. 30337 30338 * html/HTMLMediaElement.cpp: 30339 (WebCore::HTMLMediaElement::HTMLMediaElement): 30340 Initialize m_closedCaptionsVisible. 30341 (WebCore::HTMLMediaElement::loadInternal): 30342 Set m_closedCaptionsVisible to false. 30343 (WebCore::HTMLMediaElement::hasClosedCaptions): 30344 (WebCore::HTMLMediaElement::closedCaptionsVisible): 30345 (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 30346 New, captions internal methods. 30347 (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 30348 (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 30349 (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 30350 New, captions DOM API. 30351 30352 * html/HTMLMediaElement.h: 30353 * html/HTMLMediaElement.idl: 30354 Declare methods needed for captions API. 30355 30356 * platform/ThemeTypes.h: 30357 Add MediaToggleClosedCaptionsButtonPart. 30358 30359 * platform/android/LocalizedStringsAndroid.cpp: 30360 (WebCore::localizedMediaControlElementString): 30361 (WebCore::localizedMediaControlElementHelpText): 30362 (WebCore::localizedMediaTimeDescription): 30363 Add empty implmentations. 30364 30365 * platform/graphics/MediaPlayer.cpp: 30366 (WebCore::NullMediaPlayerPrivate::hasClosedCaptions): 30367 (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible): 30368 New, empty implementations of media engine closed caption functions. 30369 (WebCore::MediaPlayer::hasClosedCaptions): 30370 (WebCore::MediaPlayer::setClosedCaptionsVisible): 30371 New, call media engine closed caption functions. 30372 30373 * platform/graphics/MediaPlayer.h: 30374 * platform/graphics/MediaPlayerPrivate.h: 30375 (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions): 30376 (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible): 30377 Declare new media engine methods. 30378 30379 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 30380 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 30381 (WebCore::MediaPlayerPrivate::hasClosedCaptions): 30382 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible): 30383 New, QTKit implementation of closed caption methods. 30384 30385 * platform/gtk/LocalizedStringsGtk.cpp: 30386 (WebCore::localizedMediaControlElementString): 30387 (WebCore::localizedMediaControlElementHelpText): 30388 Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton. 30389 30390 * platform/mac/WebCoreSystemInterface.h: 30391 * platform/mac/WebCoreSystemInterface.mm: 30392 Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions. 30393 30394 * rendering/MediaControlElements.cpp: 30395 (WebCore::MediaControlInputElement::MediaControlInputElement): 30396 Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON. 30397 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): 30398 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): 30399 (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType): 30400 New, implement the closed caption toggle button, 30401 30402 * rendering/MediaControlElements.h: 30403 Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton, 30404 declare MediaControlToggleClosedCaptionsButtonElement. 30405 30406 * rendering/RenderMedia.cpp: 30407 (WebCore::RenderMedia::styleDidChange): 30408 (WebCore::RenderMedia::createToggleClosedCaptionsButton): 30409 (WebCore::RenderMedia::createStatusDisplay): 30410 (WebCore::RenderMedia::updateControls): 30411 (WebCore::RenderMedia::forwardEvent): 30412 * rendering/RenderMedia.h: 30413 Deal with m_toggleClosedCaptionsButton. 30414 30415 * rendering/RenderTheme.cpp: 30416 (WebCore::RenderTheme::paint): 30417 Deal with MediaToggleClosedCaptionsButtonPart. 30418 30419 * rendering/RenderTheme.h: 30420 * rendering/RenderThemeMac.h: 30421 Declare paintMediaToggleClosedCaptionsButton. 30422 30423 * rendering/RenderThemeMac.mm: 30424 (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): 30425 New. 30426 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 30427 Don't render captions toggle button unless we are using the new theme, the 30428 movie has captions, and the movie is in a <video> element since we currently 30429 rely on QTKit to render the captions. 30430 30431 * rendering/style/RenderStyleConstants.h: 30432 Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON. 30433 30434 2009-11-19 Kevin Ollivier <kevino (a] theolliviers.com> 30435 30436 wx build fix. Add missing header. 30437 30438 * platform/wx/LocalizedStringsWx.cpp: 30439 30440 2009-11-19 Alexey Proskuryakov <ap (a] apple.com> 30441 30442 Reviewed by Darin Adler. 30443 30444 https://bugs.webkit.org/show_bug.cgi?id=31634 30445 Ignore realm for proxy protection spaces 30446 30447 Only affects WebSocket proxy authentication, cannot be tested in DRT. 30448 30449 * platform/network/ProtectionSpace.cpp: 30450 (WebCore::operator==): 30451 * platform/network/ProtectionSpaceHash.h: 30452 (WebCore::ProtectionSpaceHash::hash): 30453 30454 2009-11-19 Olivier Goffart <ogoffart (a] trolltech.com> 30455 30456 Reviewed by Simon Hausmann. 30457 30458 [Qt] Normalize signal and slot signatures. 30459 30460 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 30461 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 30462 30463 2009-11-19 Alexander Pavlov <apavlov (a] chromium.org> 30464 30465 Reviewed by Pavel Feldman. 30466 30467 Store cookie domains in the WebInspector object 30468 30469 The cookie domains have been moved from StoragePanel into WebInspector. 30470 Also, the document URLs are now passed inside the WebInspector.addResource() 30471 payload rather than pushed directly from InspectorController. 30472 https://bugs.webkit.org/show_bug.cgi?id=31627 30473 30474 * inspector/InspectorController.cpp: 30475 (WebCore::InspectorController::populateScriptObjects): 30476 (WebCore::InspectorController::didFinishLoading): 30477 * inspector/InspectorFrontend.cpp: 30478 * inspector/InspectorFrontend.h: 30479 * inspector/InspectorResource.cpp: 30480 (WebCore::InspectorResource::createScriptObject): 30481 (WebCore::InspectorResource::updateScriptObject): 30482 * inspector/front-end/StoragePanel.js: 30483 (WebInspector.StoragePanel.prototype.reset): 30484 (WebInspector.StoragePanel.prototype.addCookieDomain): 30485 * inspector/front-end/inspector.js: 30486 (WebInspector.addResource): 30487 (WebInspector.addCookieDomain): 30488 (WebInspector.reset): 30489 30490 2009-11-19 Zoltan Horvath <zoltan (a] webkit.org> 30491 30492 Reviewed by Darin Adler. 30493 30494 Allow custom memory allocation control for the other part of platform directory in WebCore 30495 https://bugs.webkit.org/show_bug.cgi?id=31585 30496 30497 Inherits the following classes from FastAllocBase because these are 30498 instantiated by 'new': 30499 30500 class RegularExpression - instantiated at: WebCore/page/Frame.cpp:415 30501 class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62 30502 class Path - instantiated at: WebCore/html/HTMLAreaElement.cpp:73 30503 class FontPlatformData - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188 30504 30505 Inherits the following classes from Noncopyable because these are 30506 instantiated by 'new' and no need to be copyable: 30507 30508 class Cursors - instantiated at: WebCore/platform/qt/CursorQt.cpp:146 30509 class NetworkStateNotifier - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37 30510 struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71 30511 30512 class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46 30513 class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119 30514 30515 * platform/graphics/MediaPlayerPrivate.h: 30516 * platform/graphics/Path.h: 30517 * platform/graphics/qt/FontPlatformData.h: 30518 * platform/graphics/transforms/TransformationMatrix.h: 30519 * platform/image-decoders/ImageDecoder.h: 30520 * platform/network/NetworkStateNotifier.h: 30521 * platform/network/ResourceRequestBase.h: 30522 * platform/qt/CursorQt.cpp: 30523 * platform/text/RegularExpression.h: 30524 30525 2009-11-18 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30526 30527 Unreviewed. 30528 30529 [Qt] Build fix for QtWebKit after r51172. 30530 30531 * platform/qt/Localizations.cpp: 30532 (WebCore::validationMessageValueMissingText): 30533 (WebCore::validationMessageTypeMismatchText): 30534 (WebCore::validationMessagePatternMismatchText): 30535 (WebCore::validationMessageTooLongText): 30536 (WebCore::validationMessageRangeUnderflowText): 30537 (WebCore::validationMessageRangeOverflowText): 30538 (WebCore::validationMessageStepMismatchText): 30539 30540 2009-11-18 Dan Bernstein <mitz (a] apple.com> 30541 30542 Reviewed by Simon Fraser. 30543 30544 Fixed <rdar://problem/7398987> Assertion failure in 30545 RenderLayer::updateClipRects when a plug-ins enclosing layer is 30546 enclosed by a transformed layer 30547 30548 Tests: fast/layers/clip-rects-transformed-2.html 30549 fast/layers/clip-rects-transformed.html 30550 30551 * rendering/RenderLayer.cpp: 30552 (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor 30553 that is either transformed or composited. During painting and hit 30554 testing, when a transformed or composited layer is hit, it becomes the 30555 new root layer, which ultimately gets passed to calculateRects(). 30556 (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the 30557 root layer to calculateRects(), and return the bounding box of the 30558 transformed rectangle. 30559 (WebCore::RenderLayer::selfClipRect): Ditto. 30560 * rendering/RenderLayer.h: 30561 30562 2009-11-18 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30563 30564 Reviewed by Kenneth Rohde Christiansen. 30565 30566 [Qt] Remove support for Qt v4.3 or older versions 30567 https://bugs.webkit.org/show_bug.cgi?id=29469 30568 30569 No new tests as there is no change if compiled with 30570 Qt v4.4 or later version. 30571 30572 * WebCore.pro: 30573 * dom/XMLTokenizerQt.cpp: 30574 (WebCore::EntityResolver::resolveUndeclaredEntity): 30575 (WebCore::XMLTokenizer::XMLTokenizer): 30576 (WebCore::XMLTokenizer::~XMLTokenizer): 30577 (WebCore::XMLTokenizer::doWrite): 30578 (WebCore::XMLTokenizer::startDocument): 30579 (WebCore::XMLTokenizer::parseDtd): 30580 * platform/graphics/qt/FontQt.cpp: 30581 * platform/graphics/qt/FontQt43.cpp: Removed. 30582 * platform/graphics/qt/ImageQt.cpp: 30583 * platform/network/ResourceHandleInternal.h: 30584 * platform/network/qt/QNetworkReplyHandler.cpp: 30585 * platform/network/qt/QNetworkReplyHandler.h: 30586 * platform/network/qt/ResourceHandleQt.cpp: 30587 (WebCore::ResourceHandle::start): 30588 (WebCore::ResourceHandle::cancel): 30589 (WebCore::ResourceHandle::loadResourceSynchronously): 30590 (WebCore::ResourceHandle::setDefersLoading): 30591 * platform/network/qt/ResourceRequest.h: 30592 * platform/network/qt/ResourceRequestQt.cpp: 30593 * platform/qt/ClipboardQt.cpp: 30594 (WebCore::ClipboardQt::clearData): 30595 * platform/qt/CookieJarQt.cpp: 30596 (WebCore::cookieJar): 30597 (WebCore::setCookies): 30598 (WebCore::cookies): 30599 (WebCore::cookiesEnabled): 30600 * platform/qt/PlatformKeyboardEventQt.cpp: 30601 (WebCore::keyIdentifierForQtKeyCode): 30602 (WebCore::windowsKeyCodeForKeyEvent): 30603 * platform/text/qt/TextBoundaries.cpp: 30604 * platform/text/qt/TextBreakIteratorQt.cpp: 30605 * plugins/qt/PluginDataQt.cpp: 30606 (WebCore::PluginData::initPlugins): 30607 30608 2009-11-18 Michelangelo De Simone <micdesim (a] gmail.com> 30609 30610 Reviewed by Darin Adler. 30611 30612 Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>. 30613 Support for validationMessage attribute, as per HTML5 specs. 30614 30615 Test: fast/forms/validationMessage.html 30616 30617 * html/HTMLButtonElement.idl: validationMessage attribute 30618 * html/HTMLFieldSetElement.idl: validationMessage attribute 30619 * html/HTMLFormControlElement.cpp: 30620 * html/HTMLFormControlElement.h: 30621 * html/HTMLInputElement.idl: validationMessage attribute 30622 * html/HTMLSelectElement.idl: validationMessage attribute 30623 * html/HTMLTextAreaElement.idl: validationMessage attribute 30624 * html/ValidityState.cpp: new method to retrieve pertinent localized text 30625 * html/ValidityState.h: 30626 * page/mac/WebCoreViewFactory.h: 30627 * platform/LocalizedStrings.h: 30628 * platform/android/LocalizedStringsAndroid.cpp: 30629 * platform/gtk/LocalizedStringsGtk.cpp: 30630 * platform/haiku/LocalizedStringsHaiku.cpp: 30631 * platform/mac/LocalizedStringsMac.mm: 30632 * platform/wx/LocalizedStringsWx.cpp: 30633 30634 2009-11-18 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30635 30636 Unreviewed. 30637 30638 Fix a typo. Remove the trailing semicolon 30639 from an include directive after r51137. 30640 30641 No new tests as there is no functional change. 30642 30643 * platform/qt/QWebPageClient.h: 30644 30645 2009-11-18 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30646 30647 Unreviewed. 30648 30649 [Qt] Build fix for QtWebKit after r51159. 30650 30651 Include float.h for DBL_MANT_DIG. Not sure why this 30652 is not a problem for other ports. 30653 30654 * html/HTMLInputElement.cpp: 30655 30656 2009-11-19 Roland Steiner <rolandsteiner (a] chromium.org> 30657 30658 Reviewed by Darin Adler. 30659 30660 Bug 31574 - Crashing bug when removing <ruby> element 30661 (https://bugs.webkit.org/show_bug.cgi?id=31574) 30662 30663 Cause of the bug: 30664 1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren() 30665 2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove() 30666 3.) remove() is being redirected as parent()->removeChild() in RenderObject.h 30667 4.) this triggers the special handling of child removal in RenderRubyRun that 30668 causes it to destroy itself 30669 5.) On returning from all this the renderer crashes when accessing a member 30670 or virtual function on this now illegal object. 30671 30672 I therefore added a flag that tracks if the ruby run is being destroyed. 30673 If so, avoid doing the special handling in removeChild that caused this. 30674 It's not the most elegant solution, but the easiest to implement without 30675 touching unrelated code. Also, it's self-documenting. 30676 30677 Test: fast/ruby/ruby-remove.html 30678 30679 * rendering/RenderRubyRun.cpp: 30680 (WebCore::RenderRubyRun::RenderRubyRun): 30681 (WebCore::RenderRubyRun::destroy): 30682 (WebCore::RenderRubyRun::removeChild): 30683 * rendering/RenderRubyRun.h: 30684 30685 2009-11-18 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30686 30687 Reviewed by Kenneth Rohde Christiansen. 30688 30689 [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used 30690 https://bugs.webkit.org/show_bug.cgi?id=31643 30691 30692 No new tests as there is no functional change. 30693 30694 * WebCore.pro: 30695 30696 2009-11-18 Yong Li <yong.li (a] torchmobile.com> 30697 30698 Reviewed by Eric Seidel. 30699 30700 Implement TextBoundaries for WINCE port. 30701 https://bugs.webkit.org/show_bug.cgi?id=27371 30702 30703 * platform/text/wince/TextBoundariesWince.cpp: Added. 30704 30705 2009-11-18 Yong Li <yong.li (a] torchmobile.com> 30706 30707 Reviewed by Eric Seidel. 30708 30709 Implement TextBreakIterator for WINCE port. 30710 https://bugs.webkit.org/show_bug.cgi?id=27371 30711 30712 * platform/text/wince/TextBreakIteratorWince.cpp: Added. 30713 30714 2009-11-18 Kent Tamura <tkent (a] chromium.org> 30715 30716 Reviewed by Darin Adler. 30717 30718 Add support for ValidityState.typeMismatch for the following INPUT types: 30719 date datetime datetime-local month time week 30720 https://bugs.webkit.org/show_bug.cgi?id=31342 30721 30722 Tests: fast/forms/ValidityState-typeMismatch-date.html 30723 fast/forms/ValidityState-typeMismatch-datetime.html 30724 fast/forms/ValidityState-typeMismatch-datetimelocal.html 30725 fast/forms/ValidityState-typeMismatch-month.html 30726 fast/forms/ValidityState-typeMismatch-time.html 30727 fast/forms/ValidityState-typeMismatch-week.html 30728 30729 * html/HTMLInputElement.cpp: 30730 (WebCore::HTMLInputElement::formStringToISODateTime): Check the type 30731 validity of the specified type and string using the ISODateTime class. 30732 * html/HTMLInputElement.h: 30733 * html/ValidityState.cpp: 30734 (WebCore::ValidityState::typeMismatch): Check the type validity 30735 for date, datetime, datetime-local, month, time and week with 30736 HTMLInputElemtn::formStringToISODateTime() 30737 30738 2009-11-18 Maciej Stachowiak <mjs (a] apple.com> 30739 30740 Reviewed by Oliver Hunt. 30741 30742 Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes 30743 https://bugs.webkit.org/show_bug.cgi?id=31237 30744 30745 Also speeds up Dromaeo DOM Core tests by 1.31x. 30746 30747 * bindings/js/JSNodeCustom.cpp: 30748 (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree 30749 mark bit was no longer effective; instead I changed things so only a node that has no ancestors 30750 with wrappers would do marking; there should be only one in the typical case (the root of the 30751 detached subtree). 30752 * dom/Node.cpp: 30753 (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions. 30754 * dom/Node.h: ditto 30755 30756 2009-11-18 Darin Adler <darin (a] apple.com> 30757 30758 Reviewed by Sam Weinig. 30759 30760 Get rid of the redundant strokeType and fillType data members on 30761 a GraphicsContext as well as the FillOrStrokeType enum. Use 30762 null pointers instead. 30763 30764 * platform/graphics/GraphicsContext.cpp: 30765 (WebCore::GraphicsContext::setStrokeColor): Null out the pattern 30766 and gradient. 30767 (WebCore::GraphicsContext::setFillColor): Ditto. 30768 (WebCore::GraphicsContext::setStrokePattern): Null out the graident. 30769 (WebCore::GraphicsContext::setFillPattern): Ditto. 30770 (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern. 30771 (WebCore::GraphicsContext::setFillGradient): Ditto. 30772 30773 * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff. 30774 30775 * platform/graphics/cairo/GraphicsContextCairo.cpp: 30776 (WebCore::setPlatformFill): Use null checks on fillPattern and 30777 fillGraident instead of a switch statement. 30778 (WebCore::setPlatformStroke): Ditto. 30779 30780 * platform/graphics/cg/GraphicsContextCG.cpp: 30781 (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get. 30782 (WebCore::GraphicsContext::applyFillPattern): Ditto. 30783 (WebCore::calculateDrawingMode): Use fillPattern and strokePattern 30784 to see if there is a pattern instead of fillType and strokeType. 30785 (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient, 30786 fillPattern, and strokePattern instead of fillType and strokeType. 30787 (WebCore::GraphicsContext::fillPath): Added FIXME about color space that 30788 is used in the pattern and gradient case probably erroneously. Moved 30789 gradient code inside an if statement. Streamlined pattern code and 30790 use an if statement. No switch any more. 30791 (WebCore::GraphicsContext::strokePath): Ditto. 30792 (WebCore::GraphicsContext::fillRect): Ditto. 30793 (WebCore::GraphicsContext::strokeRect): Ditto. 30794 30795 * platform/graphics/qt/GraphicsContextQt.cpp: 30796 (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and 30797 fillGraident instead of a switch statement. 30798 (WebCore::GraphicsContext::strokePath): Ditto. 30799 (WebCore::GraphicsContext::fillRect): Ditto. 30800 30801 * platform/graphics/wince/GraphicsContextWince.cpp: 30802 (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType. 30803 (WebCore::GraphicsContext::fillRect): Ditto. 30804 30805 2009-11-18 Kent Tamura <tkent (a] chromium.org> 30806 30807 Reviewed by Darin Adler. 30808 30809 Support for step attribute and ValidityStae.stepMismatch for 30810 type=number and range. stepMismatch will be false if the 30811 difference between the current value and a multiple of the step 30812 value is very small. 30813 30814 Change the behavior of RenderSlider so that it always has a value 30815 rounded to the step attribute value. 30816 30817 https://bugs.webkit.org/show_bug.cgi?id=31331 30818 30819 Tests: fast/forms/ValidityState-stepMismatch-number.html 30820 fast/forms/ValidityState-stepMismatch-range.html 30821 fast/forms/ValidityState-stepMismatch-unsupported.html 30822 fast/forms/input-step.html 30823 30824 * html/HTMLAttributeNames.in: Add "step". 30825 * html/HTMLInputElement.cpp: 30826 (WebCore::HTMLInputElement::stepMismatch): 30827 (WebCore::HTMLInputElement::getStepParameters): 30828 (WebCore::HTMLInputElement::getAllowedValueStep): 30829 * html/HTMLInputElement.h: 30830 * html/HTMLInputElement.idl: Add "step". 30831 * html/ValidityState.cpp: 30832 (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch(). 30833 * html/ValidityState.h: 30834 * rendering/RenderSlider.cpp: 30835 (WebCore::SliderRange::SliderRange): 30836 (WebCore::SliderRange::clampValue): 30837 30838 2009-11-18 Dmitry Titov <dimich (a] chromium.org> 30839 30840 Reviewed by Darin Adler. 30841 30842 Need to ASSERT(isMainThread()) in ThreadShared methods. 30843 https://bugs.webkit.org/show_bug.cgi?id=31637 30844 30845 Added ASSERT(IsMainThread()) to all following methods: 30846 * platform/TreeShared.h: 30847 (WebCore::TreeShared::TreeShared): 30848 (WebCore::TreeShared::~TreeShared): 30849 (WebCore::TreeShared::ref): 30850 (WebCore::TreeShared::deref): 30851 (WebCore::TreeShared::setParent): 30852 (WebCore::TreeShared::parent): 30853 30854 2009-11-18 Girish Ramakrishnan <girish (a] forwardbias.in> 30855 30856 Reviewed by Eric Seidel. 30857 30858 Add plugin visibility manual test 30859 30860 https://bugs.webkit.org/show_bug.cgi?id=31542 30861 30862 * manual-tests/plugins/windowed.html: 30863 * manual-tests/plugins/windowless.html: 30864 30865 2009-11-18 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 30866 30867 Reviewed by Pavel Feldman. 30868 30869 Web Inspector - remember last script displayed in Scripts panel 30870 https://bugs.webkit.org/show_bug.cgi?id=27552 30871 30872 Manual test added 30873 30874 * inspector/front-end/ScriptsPanel.js: 30875 (WebInspector.ScriptsPanel.prototype.showScript): 30876 (WebInspector.ScriptsPanel.prototype.showResource): 30877 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 30878 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 30879 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 30880 (WebInspector.ScriptsPanel.prototype._goBack): 30881 (WebInspector.ScriptsPanel.prototype._goForward): 30882 * manual-tests/inspector/remember-last-script.html: Added. 30883 30884 2009-11-18 Shinichiro Hamaji <hamaji (a] chromium.org> 30885 30886 Reviewed by Dimitri Glazkov. 30887 30888 Win chromium is slow to draw transparent texts 30889 https://bugs.webkit.org/show_bug.cgi?id=31258 30890 30891 Create bounded transparency layers instead of just clipping. 30892 30893 No new tests because this is just a performance improvement. 30894 30895 * platform/graphics/chromium/FontChromiumWin.cpp: 30896 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 30897 30898 2009-11-18 Shu Chang <Chang.Shu (a] nokia.com> 30899 30900 Reviewed by Eric Seidel. 30901 30902 [Qt] Add support for displaying deleteButton. 30903 https://bugs.webkit.org/show_bug.cgi?id=31560 30904 30905 Test: LayoutTests/editing/deleting/5408255.html 30906 30907 * WebCore.qrc: 30908 * platform/graphics/qt/ImageQt.cpp: 30909 (loadResourcePixmap): 30910 30911 2009-11-18 Mikhail Naganov <mnaganov (a] chromium.org> 30912 30913 Reviewed by Eric Seidel. 30914 30915 Fix Qt build without JavaScript debugger. 30916 30917 https://bugs.webkit.org/show_bug.cgi?id=31575 30918 30919 * page/Console.idl: 30920 30921 2009-11-18 Daniel Bates <dbates (a] webkit.org> 30922 30923 Reviewed by Dave Hyatt. 30924 30925 https://bugs.webkit.org/show_bug.cgi?id=24971 30926 And 30927 <rdar://problem/7138265> 30928 30929 Fixes an issue where setting the height of a table row programmatically 30930 (via JavaScript) causes the table to be improperly rendered because the 30931 height of each row in the table is not recalculated with respect to the 30932 CSS height property. 30933 30934 In particular, programmatically setting the height of some table row causes 30935 the rows of that table to be rendered with a height equal to the minimum 30936 height required by the cells in that row, regardless of any specified cell 30937 heights. Instead, when RenderTableSection::recalcCells is called, the height 30938 of each row should be set to the CSS height property just as we do in 30939 RenderTableSection::addChild. 30940 30941 Test: fast/table/row-height-recalc2.html 30942 30943 * rendering/RenderTableSection.cpp: 30944 (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added. 30945 (WebCore::RenderTableSection::addChild): Moved code that set row height into 30946 method WebCore::setRowHeightToRowStyleHeightIfNotRelative. 30947 (WebCore::RenderTableSection::recalcCells): Modified to call 30948 WebCore::setRowHeightToRowStyleHeightIfNotRelative. 30949 30950 2009-11-18 Zoltan Horvath <zoltan (a] webkit.org> 30951 30952 Reviewed by Darin Adler. 30953 30954 Allow custom memory allocation control for the part of platform directory in WebCore 30955 https://bugs.webkit.org/show_bug.cgi?id=31473 30956 30957 Inherits the following classes from FastAllocBase because these are 30958 instantiated by 'new': 30959 30960 class AnimationList - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85 30961 class Color - instantiated at WebCore/rendering/RenderTheme.cpp:48 30962 struct Length - instantiated at WebCore/platform/Length.cpp:103 30963 class PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63 30964 class ContextMenuItem - instantiated at WebCore/platform/ContextMenu.cpp:70 30965 class DeprecatedPtrList - instantiated at WebCore/rendering/RenderBlock.cpp:2284 30966 30967 Inherits the following classes from Noncopyable because these are 30968 instantiated by 'new' and no need to be copyable: 30969 30970 class GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78 30971 class FontCache - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43 30972 struct MediaPlayerFactory - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163 30973 class DeprecatedPtrListNode - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53 30974 30975 * platform/ContextMenuItem.h: 30976 * platform/DeprecatedPtrList.h: 30977 * platform/DeprecatedPtrListImpl.cpp: 30978 * platform/Length.h: 30979 * platform/PlatformKeyboardEvent.h: 30980 * platform/animation/AnimationList.h: 30981 * platform/graphics/Color.h: 30982 * platform/graphics/FontCache.h: 30983 * platform/graphics/GraphicsContextPrivate.h: 30984 * platform/graphics/MediaPlayer.cpp: 30985 30986 2009-11-18 Daniel Bates <dbates (a] webkit.org> 30987 30988 Reviewed by Darin Adler. 30989 30990 https://bugs.webkit.org/show_bug.cgi?id=31186 30991 30992 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to 30993 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively. 30994 These are more descriptive names so as to clear an ambiguity surrounding 30995 their usage. Also, renames associated setters and getters so that they 30996 coincide with the renamed fields. 30997 30998 No functionality was changed. So, no tests were included. 30999 31000 * bindings/objc/DOMHTML.mm: 31001 (-[DOMHTMLInputElement _isEdited]): 31002 (-[DOMHTMLTextAreaElement _isEdited]): 31003 * dom/Document.cpp: 31004 (WebCore::Document::setFocusedNode): 31005 * html/HTMLInputElement.cpp: 31006 (WebCore::HTMLInputElement::defaultEventHandler): 31007 * rendering/RenderTextControl.cpp: 31008 (WebCore::RenderTextControl::RenderTextControl): 31009 (WebCore::RenderTextControl::setInnerTextValue): 31010 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited. 31011 (WebCore::RenderTextControl::subtreeHasChanged): 31012 * rendering/RenderTextControl.h: 31013 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited. 31014 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited. 31015 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited. 31016 * rendering/RenderTextControlSingleLine.cpp: 31017 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 31018 * wml/WMLInputElement.cpp: 31019 (WebCore::WMLInputElement::defaultEventHandler): 31020 31021 2009-11-18 Tony Chang <tony (a] chromium.org> 31022 31023 Reviewed by Adam Barth. 31024 31025 Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8. 31026 https://bugs.webkit.org/show_bug.cgi?id=31499 31027 31028 No new tests, just a build cleanup. 31029 31030 * WebCore.gypi: 31031 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed. 31032 * bindings/v8/custom/V8CustomBinding.h: 31033 31034 2009-11-18 Kevin Watters <kevinwatters (a] gmail.com> 31035 31036 Reviewed by Kevin Ollivier. 31037 31038 Enable wx plugin support using the Windows implementation as a base. 31039 31040 https://bugs.webkit.org/show_bug.cgi?id=31636 31041 31042 * platform/graphics/GraphicsContext.h: 31043 (WebCore::GraphicsContext::inTransparencyLayer): 31044 * platform/graphics/wx/GraphicsContextWx.cpp: 31045 (WebCore::GraphicsContext::getWindowsContext): 31046 (WebCore::GraphicsContext::releaseWindowsContext): 31047 * platform/wx/FileSystemWx.cpp: 31048 (WebCore::unloadModule): 31049 (WebCore::listDirectory): 31050 * plugins/PluginDatabase.cpp: 31051 * plugins/PluginView.cpp: 31052 (WebCore::PluginView::stop): 31053 (WebCore::PluginView::PluginView): 31054 * plugins/PluginView.h: 31055 * plugins/win/PluginViewWin.cpp: 31056 (windowHandleForPageClient): 31057 (WebCore::PluginView::handleMouseEvent): 31058 (WebCore::PluginView::platformStart): 31059 (WebCore::PluginView::snapshot): 31060 * wscript: 31061 31062 2009-11-18 Andrei Popescu <andreip (a] google.com> 31063 31064 Reviewed by Dimitri Glazkov. 31065 31066 [Android] Add shared timer and sound utilities to platform/android 31067 https://bugs.webkit.org/show_bug.cgi?id=31584 31068 31069 No new tests required, this is platform specific code. 31070 31071 * platform/android/SharedTimerAndroid.cpp: Added. 31072 (WebCore::setSharedTimerFiredFunction): 31073 (WebCore::setSharedTimerFireTime): 31074 (WebCore::stopSharedTimer): 31075 * platform/android/SoundAndroid.cpp: Added. 31076 (WebCore::systemBeep): 31077 31078 2009-11-18 Mikhail Naganov <mnaganov (a] chromium.org> 31079 31080 Reviewed by Timothy Hatcher. 31081 31082 Fix profile tree nodes loss after focus / restore actions. 31083 31084 Focusing on a node is currently implemented via nodes reattaching 31085 with some caching involved. It seems that not all code was updated 31086 to handle this scenario correctly. 31087 31088 https://bugs.webkit.org/show_bug.cgi?id=31553 31089 31090 * inspector/front-end/BottomUpProfileDataGridTree.js: 31091 (WebInspector.BottomUpProfileDataGridNode): 31092 (WebInspector.BottomUpProfileDataGridNode.prototype._restore): 31093 (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate): 31094 (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren): 31095 * inspector/front-end/DataGrid.js: 31096 (WebInspector.DataGrid.prototype.insertChild): 31097 (WebInspector.DataGridNode.prototype._detach): 31098 (WebInspector.DataGridNode.prototype.savePosition): 31099 (WebInspector.DataGridNode.prototype.restorePosition): 31100 * inspector/front-end/TopDownProfileDataGridTree.js: 31101 (WebInspector.TopDownProfileDataGridTree.prototype.focus): 31102 (WebInspector.TopDownProfileDataGridTree.prototype.restore): 31103 31104 2009-11-18 Carol Szabo <carol.szabo (a] nokia.com> 31105 31106 Reviewed by Kenneth Rohde Christiansen. 31107 31108 [Qt] QWebPageClient.h needs in some cases QCursor, but it does not 31109 include it 31110 https://bugs.webkit.org/show_bug.cgi?id=31527 31111 31112 No new tests as this is just a coding style fix that affects the 31113 build of some not yet submitted patches (i.e. for bug 30173). 31114 31115 * platform/qt/QWebPageClient.h: 31116 31117 2009-11-18 Nicolas Roard <nicolas (a] roard.com> 31118 31119 Reviewed by Dimitri Glazkov. 31120 31121 InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR) 31122 https://bugs.webkit.org/show_bug.cgi?id=31504 31123 31124 * inspector/InspectorTimelineAgent.h:Added the guard. 31125 31126 2009-11-18 Jens Alfke <snej (a] chromium.org> 31127 31128 Build fix to my previous checkin, for Windows Chromium 31129 31130 * svg/SVGAnimatedProperty.h: 31131 (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString. 31132 31133 2009-11-18 Joseph Pecoraro <joepeck (a] webkit.org> 31134 31135 Reviewed by Pavel Feldman. 31136 31137 Web Inspector: Directly Access <head> Instead of Searching for It 31138 https://bugs.webkit.org/show_bug.cgi?id=31641 31139 31140 Changed old access of the head element (document.getElementsByTagName) 31141 to just use the document.head accessor. 31142 31143 * inspector/front-end/FontView.js: 31144 (WebInspector.FontView): 31145 * inspector/front-end/InjectedScript.js: 31146 (InjectedScript.addStyleSelector): 31147 * inspector/front-end/SourceFrame.js: 31148 (WebInspector.SourceFrame.prototype._loaded): 31149 * inspector/front-end/inspector.js: 31150 (windowLoaded): 31151 31152 2009-11-18 Sam Weinig <sam (a] webkit.org> 31153 31154 Reviewed by Anders Carlsson. 31155 31156 Fix two Geolocation assertions. 31157 31158 * page/Chrome.cpp: 31159 (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this 31160 is not called from JS. 31161 * page/Geolocation.cpp: 31162 (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in 31163 a RefPtr first. 31164 31165 2009-11-18 Alexey Proskuryakov <ap (a] apple.com> 31166 31167 Case sensitive file system build fix. 31168 31169 * platform/network/Credential.h: It's not WTF, just wtf. 31170 31171 2009-11-18 Aaron Golden <agolden (a] apple.com> 31172 31173 Reviewed by Alexey Proskuryakov. 31174 31175 Add support for certificates to WebCore::Credential so we can convert between NSURLCredential 31176 objects and WebCore::Credential objects without losing certificate information. 31177 31178 * platform/network/Credential.cpp: 31179 (WebCore::Credential::Credential): Adding a constructor that takes an identity argument and a certificate chain argument 31180 (WebCore::Credential::isEmpty): Modifying isEmpty to support certificate based credentials (which don't have a username or password) 31181 (WebCore::Credential::identity): Accessor for the m_identity property 31182 (WebCore::Credential::certificates): Accessor for the m_certificates property 31183 (WebCore::Credential::type): Accessor for the m_type property 31184 (WebCore::operator==): Modifying == to compare the identity and certificate chains of certificate based credentials. 31185 * platform/network/Credential.h: Adding new fields to WebCore::Credential to support certificate based credentials. 31186 * platform/network/mac/AuthenticationMac.mm: 31187 (WebCore::mac): Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects. 31188 (WebCore::core): Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects. 31189 31190 2009-11-18 Dmitry Titov <dimich (a] chromium.org> 31191 31192 Reviewed by Eric Seidel. 31193 31194 Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread. 31195 https://bugs.webkit.org/show_bug.cgi?id=31615 31196 31197 * dom/Document.cpp: 31198 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): 31199 (WebCore::ScriptExecutionContextTaskTimer::fired): 31200 (WebCore::PerformTaskContext::PerformTaskContext): 31201 (WebCore::performTask): 31202 (WebCore::Document::postTask): 31203 * dom/ScriptExecutionContext.cpp: 31204 * dom/ScriptExecutionContext.h: 31205 31206 2009-11-18 Jens Alfke <snej (a] chromium.org> 31207 31208 Reviewed by Darin Adler. 31209 31210 Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings, 31211 by causing the right v8-to-WebCore conversion function to be called for every parameter. 31212 This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations. 31213 To enforce correctness, I added a mode that disables implicit 31214 String-->AtomicString conversions while compiling the generated bindings. 31215 https://bugs.webkit.org/show_bug.cgi?id=31168 31216 31217 * bindings/scripts/CodeGeneratorV8.pm: Generate usage of V8Parameter class. 31218 * bindings/v8/DerivedSourcesAllInOne.cpp: Enable NO_IMPLICIT_ATOMICSTRING. 31219 * bindings/v8/V8Binding.h: Add V8Parameter class. 31220 * css/WebKitCSSKeyframesRule.h: Make AtomicString conversions explicit. 31221 * dom/Document.idl: Remove obsolete [HintAtomic] annotation. 31222 * platform/text/AtomicString.h: Added NO_IMPLICIT_ATOMICSTRING option. 31223 * svg/SVGAnimatedTemplate.h: Change some return types to String to avoid implicit conversion. 31224 * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate. 31225 31226 2009-11-18 Darin Adler <darin (a] apple.com> 31227 31228 Reviewed by Dan Bernstein. 31229 31230 Move FillOrStrokeType out of public header. 31231 31232 * platform/graphics/GraphicsContext.h: Updated copyright date to cover 31233 some years we published Apple changes, sorted forward declarations, 31234 removed FillOrStrokeType enum. 31235 * platform/graphics/GraphicsContextPrivate.h: Updated copyright date 31236 to cover some years we published Apple changes, sorted includes, 31237 moved FillOrStrokeType enum here. 31238 31239 2009-11-18 Chris Marrin <cmarrin (a] apple.com> 31240 31241 Reviewed by Simon Fraser. 31242 31243 Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter 31244 https://bugs.webkit.org/show_bug.cgi?id=31601 31245 31246 These are used to debug accelerated compositing layers. I removed 31247 the platform specific code from GraphicsLayerCA.mm and added calls 31248 to GraphicsLayerClient to get it from the higher levels. The values 31249 now get cached in RenderLayerCompositing and are queried from there 31250 by RenderLayerBacking (which implements the GraphicsLayerClient interface). 31251 31252 * WebCore.base.exp: 31253 * page/FrameView.cpp: 31254 (WebCore::FrameView::updateCompositingLayers): 31255 * page/Settings.cpp: 31256 (WebCore::Settings::Settings): 31257 (WebCore::Settings::setShowDebugBorders): 31258 (WebCore::Settings::setShowRepaintCounter): 31259 * page/Settings.h: 31260 (WebCore::Settings::showDebugBorders): 31261 (WebCore::Settings::showRepaintCounter): 31262 * platform/graphics/GraphicsLayer.h: 31263 (WebCore::GraphicsLayer::showDebugBorders): 31264 (WebCore::GraphicsLayer::showRepaintCounter): 31265 * platform/graphics/GraphicsLayerClient.h: 31266 * platform/graphics/mac/GraphicsLayerCA.mm: 31267 * rendering/RenderLayerBacking.cpp: 31268 (WebCore::RenderLayerBacking::showDebugBorders): 31269 (WebCore::RenderLayerBacking::showRepaintCounter): 31270 * rendering/RenderLayerBacking.h: 31271 * rendering/RenderLayerCompositor.cpp: 31272 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 31273 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): 31274 * rendering/RenderLayerCompositor.h: 31275 (WebCore::RenderLayerCompositor::showDebugBorders): 31276 (WebCore::RenderLayerCompositor::showRepaintCounter): 31277 31278 2009-11-18 Pavel Feldman <pfeldman (a] chromium.org> 31279 31280 Reviewed by Timothy Hatcher. 31281 31282 Web Inspector: Get rid of metrics and properties sidebars' 31283 flickering. 31284 31285 https://bugs.webkit.org/show_bug.cgi?id=31629 31286 31287 * inspector/front-end/MetricsSidebarPane.js: 31288 * inspector/front-end/PropertiesSidebarPane.js: 31289 31290 2009-11-17 Brian Weinstein <bweinstein (a] apple.com> 31291 31292 Reviewed by Pavel Feldman. 31293 31294 Fixes <http://webkit.org/b/31606>. 31295 Web Inspector: Enter/Return key should enter edit mode for Editable Fields. 31296 31297 This implements Enter starting editing mode in an editable DataGrid. If the 31298 DataGrid is editable and the user hits return, startEditing the first child 31299 of the selected node. Also refactored some editing functions to take an 31300 event target instead of the event itself, because the functions only needed 31301 the target. Lastly, added had return in editing mode stop propogation, because 31302 when enter was hit to confirm text, it would propagate back to the datagrid 31303 and try to start editing again. 31304 31305 * inspector/front-end/DataGrid.js: 31306 (WebInspector.DataGrid.prototype._ondblclick): 31307 (WebInspector.DataGrid.prototype._startEditing): 31308 (WebInspector.DataGrid.prototype.handleKeyEvent): 31309 (WebInspector.DataGrid.prototype.dataGridNodeFromEvent): 31310 (WebInspector.DataGrid.prototype._mouseDownInDataTable): 31311 (WebInspector.DataGrid.prototype._clickInDataTable): 31312 * inspector/front-end/inspector.js: 31313 (WebInspector.startEditing.element.handleKeyEvent): 31314 (WebInspector.startEditing): 31315 31316 2009-11-18 Ben Murdoch <benm (a] google.com> 31317 31318 Reviewed by Darin Adler. 31319 31320 HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute. 31321 https://bugs.webkit.org/show_bug.cgi?id=31593 31322 31323 Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html 31324 31325 * html/HTMLAnchorElement.cpp: 31326 (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL. 31327 31328 2009-11-18 Pavel Feldman <pfeldman (a] chromium.org> 31329 31330 Not reviewed. Touch InspectorController so that frontend 31331 JS files are deployed on Windows. 31332 31333 * inspector/InspectorController.cpp: 31334 31335 2009-11-18 Pavel Feldman <pfeldman (a] chromium.org> 31336 31337 Reviewed by Timothy Hatcher. 31338 31339 Web Inspector: clone timeline records array instead of 31340 copying reference on invalidate all. 31341 31342 https://bugs.webkit.org/show_bug.cgi?id=31596 31343 31344 * inspector/front-end/AbstractTimelinePanel.js: 31345 (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems): 31346 31347 2009-11-18 Simon Fraser <simon.fraser (a] apple.com> 31348 31349 Reviewed by Dan Bernstein. 31350 31351 Elements don't drop out of compositing layers when animation ends 31352 https://bugs.webkit.org/show_bug.cgi?id=31613 31353 <rdar://problem/7402913> 31354 31355 Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which 31356 are compositing anyway for other reasons. Doing so can cause those layers 31357 to stay in compositing mode even after animations finish, because needsToBeComposited() 31358 continues to return true. 31359 31360 No new tests because it's not possible to determine which elements are in 31361 compositing layers from DRT output. 31362 31363 * rendering/RenderLayerCompositor.cpp: 31364 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 31365 31366 2009-11-18 Girish Ramakrishnan <girish (a] forwardbias.in> 31367 31368 Reviewed by Tor Arne Vestb. 31369 31370 [Qt] Mac Plugins: Remove null timer 31371 31372 A null timer was used to send mouse move events. Instead, we now use 31373 move events to send nullEvent. This brings down CPU usage by 20-30%. 31374 31375 https://bugs.webkit.org/show_bug.cgi?id=31624 31376 31377 * plugins/PluginView.h: 31378 * plugins/mac/PluginViewMac.cpp: 31379 (WebCore::PluginView::platformStart): 31380 (WebCore::PluginView::handleMouseEvent): 31381 31382 2009-11-18 Benjamin Poulain <benjamin.poulain (a] nokia.com> 31383 31384 Reviewed by Simon Hausmann. 31385 31386 [Qt] WebKit crashes when loading certain SVG images 31387 31388 Check if the familly exist before creating the PlatformData from it. 31389 31390 https://bugs.webkit.org/show_bug.cgi?id=29443 31391 31392 Test: svg/text/text-font-invalid.html 31393 31394 * platform/graphics/qt/FontFallbackListQt.cpp: 31395 (WebCore::FontFallbackList::fontDataAt): 31396 31397 2009-11-17 Nicolas Weber <thakis (a] chromium.org> 31398 31399 Reviewed by Darin Fisher. 31400 31401 Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly 31402 after navigation. 31403 https://bugs.webkit.org/show_bug.cgi?id=31609 31404 31405 * platform/chromium/PopupMenuChromium.cpp: 31406 (WebCore::PopupContainer::showExternal): Set parent for external 31407 dropdowns, so that |PopupListBox::hidePopup()| can successfully notify 31408 its parent's client. 31409 31410 2009-11-17 Hayato Ito <hayato (a] google.com> 31411 31412 Reviewed by Darin Adler. 31413 31414 Avoid infinite mutual recursion when deeply nested tags are loaded 31415 https://bugs.webkit.org/show_bug.cgi?id=30651 31416 31417 Test: fast/parser/block-nesting-cap-table.html 31418 31419 * html/HTMLParser.cpp: 31420 (WebCore::HTMLParser::parseToken): 31421 (WebCore::tagPriorityOfNode): 31422 (WebCore::HTMLParser::limitBlockDepth): 31423 (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth): 31424 (WebCore::HTMLParser::insertNode): 31425 * html/HTMLParser.h: 31426 31427 2009-11-17 Brent Fulgham <bfulgham (a] webkit.org> 31428 31429 Rubber-stamped by Alexey Proskuryakov. 31430 31431 Final clean-ups for minor coding standard violations. 31432 https://bugs.webkit.org/show_bug.cgi?id=26102. 31433 31434 * platform/graphics/cairo/GraphicsContextCairo.cpp: 31435 31436 2009-11-17 Johnny Ding <jnd (a] chromium.org> 31437 31438 Reviewed by Darin Adler. 31439 31440 In all valid script tags for JavaScript, the event handler in <script...for> should not get executed. 31441 https://bugs.webkit.org/show_bug.cgi?id=31567 31442 31443 * dom/ScriptElement.cpp: 31444 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): 31445 31446 2009-11-17 Pavel Feldman <pfeldman (a] chromium.org> 31447 31448 Reviewed by Timothy Hatcher. 31449 31450 Web Inspector: Make DRT show web inspector for tests in inspector/ folder. 31451 - Updated DRT to show/close inspector for all tests under /inspector 31452 - Introduced LayoutTestController::setTimelineProfilingEnabled and 31453 WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled 31454 - Removed reload on each inspector test 31455 - Renamed fast/inspector to fast/inspector-support in order not to trigger 31456 inspector for those. 31457 - Reimplemented timeline tests in order to get rid of reload there. 31458 - Moved tests that don't require harness into the fast group. 31459 31460 https://bugs.webkit.org/show_bug.cgi?id=31472 31461 31462 * WebCore.Inspector.exp: 31463 * inspector/front-end/TimelinePanel.js: 31464 (WebInspector.TimelinePanel.prototype._formatRecord): 31465 31466 2009-11-17 Andrei Popescu <andreip (a] google.com> 31467 31468 Reviewed by Dimitri Glazkov. 31469 31470 [Android] Android is missing the implementation of the GeolocationService iface. 31471 https://bugs.webkit.org/show_bug.cgi?id=31554 31472 31473 No new tests required as this is platform specific code. 31474 31475 * platform/android/GeolocationServiceAndroid.cpp: Added. 31476 (WebCore::GeolocationServiceAndroid::create): 31477 (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid): 31478 (WebCore::GeolocationServiceAndroid::startUpdating): 31479 (WebCore::GeolocationServiceAndroid::stopUpdating): 31480 (WebCore::GeolocationServiceAndroid::suspend): 31481 (WebCore::GeolocationServiceAndroid::resume): 31482 (WebCore::GeolocationServiceAndroid::newPositionAvailable): 31483 (WebCore::GeolocationServiceAndroid::newErrorAvailable): 31484 (WebCore::GeolocationServiceAndroid::timerFired): 31485 (WebCore::GeolocationServiceAndroid::isPositionMovement): 31486 (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate): 31487 (WebCore::GeolocationServiceAndroid::isPositionMoreTimely): 31488 * platform/android/GeolocationServiceAndroid.h: Added. 31489 (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid): 31490 (WebCore::GeolocationServiceAndroid::lastPosition): 31491 (WebCore::GeolocationServiceAndroid::lastError): 31492 * platform/android/GeolocationServiceBridge.cpp: Added. 31493 (WebCore::): 31494 (WebCore::GeolocationServiceBridge::GeolocationServiceBridge): 31495 (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge): 31496 (WebCore::GeolocationServiceBridge::start): 31497 (WebCore::GeolocationServiceBridge::stop): 31498 (WebCore::GeolocationServiceBridge::setEnableGps): 31499 (WebCore::GeolocationServiceBridge::newLocationAvailable): 31500 (WebCore::GeolocationServiceBridge::newErrorAvailable): 31501 (WebCore::GeolocationServiceBridge::toGeoposition): 31502 (WebCore::GeolocationServiceBridge::startJavaImplementation): 31503 (WebCore::GeolocationServiceBridge::stopJavaImplementation): 31504 * platform/android/GeolocationServiceBridge.h: Added. 31505 31506 2009-11-16 Kent Tamura <tkent (a] chromium.org> 31507 31508 Unreviewd build fix. 31509 31510 - Fix typo in WebCore.vcproj. 31511 - Intlude limits.h for INT_MAX. 31512 - Enclose with parenthesis to suspress warning. 31513 31514 * WebCore.vcproj/WebCore.vcproj: 31515 * html/ISODateTime.cpp: 31516 (WebCore::ISODateTime::addDay): 31517 31518 2009-11-16 Robin Dunn <robin (a] alldunn.com> 31519 31520 Reviewed by Kevin Ollivier. 31521 31522 Make sure wx scrollbar drawing code factors in transforms when switching backends, 31523 fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects. 31524 31525 https://bugs.webkit.org/show_bug.cgi?id=31570 31526 31527 * platform/wx/ScrollbarThemeWx.cpp: 31528 (WebCore::ScrollbarThemeWx::minimumThumbLength): 31529 (WebCore::ScrollbarThemeWx::splitTrack): 31530 (WebCore::ScrollbarThemeWx::forwardButtonRect): 31531 * platform/wx/ScrollbarThemeWx.h: 31532 * platform/wx/wxcode/gtk/scrollbar_render.cpp: 31533 (wxRenderer_DrawScrollbar): 31534 * platform/wx/wxcode/scrollbar_render.h: 31535 (calcThumbStartAndLength): 31536 * platform/wx/wxcode/win/scrollbar_render.cpp: 31537 (wxRenderer_DrawScrollbar): 31538 31539 2009-11-16 Kent Tamura <tkent (a] chromium.org> 31540 31541 Reviewed by David Levin. 31542 31543 Introduce WebCore::ISODateTime class. 31544 https://bugs.webkit.org/show_bug.cgi?id=31340 31545 31546 This class represents a value of date/time types of the HTML5 INPUT 31547 element, and has some parsing methods for ISO 8601. 31548 31549 This change has no tests because the class is not used yet. 31550 31551 * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h. 31552 * WebCore.gypi: ditto. 31553 * WebCore.pro: ditto. 31554 * WebCore.vcproj/WebCore.vcproj: ditto. 31555 * WebCore.xcodeproj/project.pbxproj: ditto. 31556 * WebCoreSources.bkl: ditto. 31557 * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class. 31558 (WebCore::isLeapYear): 31559 (WebCore::maxDayOfMonth): 31560 (WebCore::dayOfWeek): 31561 (WebCore::ISODateTime::maxWeekNumberInYear): 31562 (WebCore::countDigits): 31563 (WebCore::toInt): 31564 (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek(). 31565 (WebCore::ISODateTime::addDay): Private helper for parseTimeZone(). 31566 (WebCore::ISODateTime::addMinute): ditto. 31567 (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime(). 31568 (WebCore::ISODateTime::parseMonth): Parser for <input type=month>. 31569 (WebCore::ISODateTime::parseDate): Parser for <input type=date>. 31570 (WebCore::ISODateTime::parseWeek): Parser for <input type=week>. 31571 (WebCore::ISODateTime::parseTime): Parser for <input type=time>. 31572 (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>. 31573 (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>. 31574 * html/ISODateTime.h: Added. Declare WebCore::ISODateTime class. 31575 (WebCore::ISODateTime::ISODateTime): 31576 (WebCore::ISODateTime::millisecond): 31577 (WebCore::ISODateTime::second): 31578 (WebCore::ISODateTime::minute): 31579 (WebCore::ISODateTime::hour): 31580 (WebCore::ISODateTime::monthDay): 31581 (WebCore::ISODateTime::month): 31582 (WebCore::ISODateTime::fullYear): 31583 (WebCore::ISODateTime::week): 31584 31585 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31586 31587 Fix a typo in previous commit. 31588 31589 * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if. 31590 31591 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31592 31593 Fix a typo in previous commit. 31594 31595 * platform/network/cf/SocketStreamHandleCFNet.cpp: 31596 31597 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31598 31599 Tiger build fix. 31600 31601 * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named 31602 differently in Tiger CFNetwork. 31603 31604 2009-11-16 Dimitri Glazkov <dglazkov (a] chromium.org> 31605 31606 Reviewed by Darin Fisher. 31607 31608 [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly. 31609 31610 Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784. 31611 31612 Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html 31613 31614 * platform/KURLGoogle.cpp: 31615 (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified. 31616 31617 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31618 31619 Rubber-stamped by Jon Honeycutt. 31620 31621 A better Windows build fix 31622 31623 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams): 31624 Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports. 31625 31626 2009-11-16 Yael Aharon <yael.aharon (a] nokia.com> 31627 31628 Reviewed by Darin Adler. 31629 31630 Rename protocolIsValid to isValidProtocol. 31631 https://bugs.webkit.org/show_bug.cgi?id=31503 31632 31633 This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19. 31634 31635 No new tests since no new functionality was introduced. 31636 31637 * html/HTMLAnchorElement.cpp: 31638 (WebCore::HTMLAnchorElement::setProtocol): 31639 * platform/KURL.cpp: 31640 (WebCore::isValidProtocol): 31641 * platform/KURL.h: 31642 * platform/KURLGoogle.cpp: 31643 (WebCore::isValidProtocol): 31644 31645 2009-11-16 Chris Fleizach <cfleizach (a] apple.com> 31646 31647 Reviewed by Beth Dakin. 31648 31649 AX: aria-labelledby duplicates some of its WAI-ARIA label 31650 https://bugs.webkit.org/show_bug.cgi?id=31565 31651 31652 Test: accessibility/aria-labelledby-overrides-label.html 31653 31654 * accessibility/AccessibilityRenderObject.cpp: 31655 (WebCore::AccessibilityRenderObject::hasTextAlternative): 31656 (WebCore::AccessibilityRenderObject::exposesTitleUIElement): 31657 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 31658 * accessibility/AccessibilityRenderObject.h: 31659 31660 2009-11-16 Nate Chapin <japhet (a] chromium.org> 31661 31662 Reviewed by Darin Fisher. 31663 31664 Handle the case of a null NPObject* in NPN_SetException in 31665 the V8 bindings. This allow out of process plugins calling 31666 NPN_SetException to just send null instead of sending an 31667 NPObject* that would be an address in a different 31668 process's memory space. 31669 31670 https://bugs.webkit.org/show_bug.cgi?id=31561 31671 31672 * bindings/v8/NPV8Object.cpp: 31673 (_NPN_SetException): Allow null NPObject* and just throw a general error. 31674 31675 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31676 31677 Windows build fix. 31678 31679 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams): 31680 Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those. 31681 31682 2009-11-14 Yael Aharon <yael.aharon (a] nokia.com> 31683 31684 Reviewed by Kenneth Rohde Christiansen. 31685 31686 [Qt] ASSERT failure while running DRT 31687 https://bugs.webkit.org/show_bug.cgi?id=30978 31688 31689 Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod. 31690 These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren. 31691 31692 * bridge/qt/qt_instance.cpp: 31693 (JSC::Bindings::QtRuntimeObjectImp::createStructure): 31694 * bridge/qt/qt_runtime.h: 31695 (JSC::Bindings::QtRuntimeMethod::createStructure): 31696 31697 2009-11-16 Mark Rowe <mrowe (a] apple.com> 31698 31699 Attempt to fix the build. Land a file that was missing from r51049. 31700 31701 * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl. 31702 (WebCore::setWebGLArrayFromArray): 31703 31704 2009-11-16 Kenneth Russell <kbr (a] google.com> 31705 31706 Reviewed by Oliver Hunt. 31707 31708 Update API of WebGLArray and friends 31709 https://bugs.webkit.org/show_bug.cgi?id=31175 31710 31711 * bindings/js/JSWebGLArrayCustom.cpp: 31712 (WebCore::toJS): 31713 * bindings/js/JSWebGLArrayHelper.h: Added. 31714 (WebCore::setWebGLArrayFromArray): 31715 * bindings/js/JSWebGLByteArrayCustom.cpp: 31716 (WebCore::JSWebGLByteArray::set): 31717 * bindings/js/JSWebGLFloatArrayCustom.cpp: 31718 (WebCore::JSWebGLFloatArray::set): 31719 * bindings/js/JSWebGLIntArrayCustom.cpp: 31720 (WebCore::JSWebGLIntArray::set): 31721 * bindings/js/JSWebGLShortArrayCustom.cpp: 31722 (WebCore::JSWebGLShortArray::set): 31723 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: 31724 (WebCore::JSWebGLUnsignedByteArray::set): 31725 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: 31726 (WebCore::JSWebGLUnsignedIntArray::set): 31727 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: 31728 (WebCore::JSWebGLUnsignedShortArray::set): 31729 * bindings/scripts/CodeGeneratorV8.pm: 31730 * bindings/v8/V8DOMWrapper.cpp: 31731 (WebCore::V8DOMWrapper::convertToV8Object): 31732 * bindings/v8/custom/V8CustomBinding.h: 31733 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 31734 (WebCore::CALLBACK_FUNC_DECL): 31735 * bindings/v8/custom/V8WebGLArrayCustom.h: 31736 (WebCore::constructWebGLArray): 31737 (WebCore::getWebGLArrayElement): 31738 (WebCore::setWebGLArrayFromArray): 31739 (WebCore::setWebGLArray): 31740 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 31741 (WebCore::CALLBACK_FUNC_DECL): 31742 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 31743 (WebCore::CALLBACK_FUNC_DECL): 31744 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 31745 (WebCore::CALLBACK_FUNC_DECL): 31746 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 31747 (WebCore::CALLBACK_FUNC_DECL): 31748 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 31749 (WebCore::CALLBACK_FUNC_DECL): 31750 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 31751 (WebCore::CALLBACK_FUNC_DECL): 31752 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 31753 (WebCore::CALLBACK_FUNC_DECL): 31754 * html/canvas/WebGLArray.cpp: 31755 (WebCore::WebGLArray::WebGLArray): 31756 (WebCore::WebGLArray::~WebGLArray): 31757 (WebCore::WebGLArray::setImpl): 31758 * html/canvas/WebGLArray.h: 31759 (WebCore::WebGLArray::isByteArray): 31760 (WebCore::WebGLArray::isUnsignedByteArray): 31761 (WebCore::WebGLArray::isShortArray): 31762 (WebCore::WebGLArray::isUnsignedShortArray): 31763 (WebCore::WebGLArray::isIntArray): 31764 (WebCore::WebGLArray::isUnsignedIntArray): 31765 (WebCore::WebGLArray::isFloatArray): 31766 (WebCore::WebGLArray::buffer): 31767 (WebCore::WebGLArray::baseAddress): 31768 (WebCore::WebGLArray::byteOffset): 31769 * html/canvas/WebGLArray.idl: 31770 * html/canvas/WebGLArrayBuffer.cpp: 31771 (WebCore::WebGLArrayBuffer::create): 31772 (WebCore::WebGLArrayBuffer::WebGLArrayBuffer): 31773 (WebCore::WebGLArrayBuffer::data): 31774 (WebCore::WebGLArrayBuffer::byteLength): 31775 (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer): 31776 * html/canvas/WebGLArrayBuffer.h: 31777 * html/canvas/WebGLByteArray.cpp: 31778 (WebCore::WebGLByteArray::create): 31779 (WebCore::WebGLByteArray::byteLength): 31780 (WebCore::WebGLByteArray::slice): 31781 (WebCore::WebGLByteArray::set): 31782 * html/canvas/WebGLByteArray.h: 31783 (WebCore::WebGLByteArray::isByteArray): 31784 (WebCore::WebGLByteArray::data): 31785 (WebCore::WebGLByteArray::set): 31786 (WebCore::WebGLByteArray::get): 31787 (WebCore::WebGLByteArray::item): 31788 * html/canvas/WebGLByteArray.idl: 31789 * html/canvas/WebGLFloatArray.cpp: 31790 (WebCore::WebGLFloatArray::create): 31791 (WebCore::WebGLFloatArray::WebGLFloatArray): 31792 (WebCore::WebGLFloatArray::length): 31793 (WebCore::WebGLFloatArray::byteLength): 31794 (WebCore::WebGLFloatArray::slice): 31795 (WebCore::WebGLFloatArray::set): 31796 * html/canvas/WebGLFloatArray.h: 31797 (WebCore::WebGLFloatArray::isFloatArray): 31798 (WebCore::WebGLFloatArray::data): 31799 (WebCore::WebGLFloatArray::set): 31800 (WebCore::WebGLFloatArray::get): 31801 (WebCore::WebGLFloatArray::item): 31802 * html/canvas/WebGLFloatArray.idl: 31803 * html/canvas/WebGLIntArray.cpp: 31804 (WebCore::WebGLIntArray::create): 31805 (WebCore::WebGLIntArray::WebGLIntArray): 31806 (WebCore::WebGLIntArray::length): 31807 (WebCore::WebGLIntArray::byteLength): 31808 (WebCore::WebGLIntArray::slice): 31809 (WebCore::WebGLIntArray::set): 31810 * html/canvas/WebGLIntArray.h: 31811 (WebCore::WebGLIntArray::isIntArray): 31812 (WebCore::WebGLIntArray::data): 31813 (WebCore::WebGLIntArray::set): 31814 (WebCore::WebGLIntArray::get): 31815 (WebCore::WebGLIntArray::item): 31816 * html/canvas/WebGLIntArray.idl: 31817 * html/canvas/WebGLShortArray.cpp: 31818 (WebCore::WebGLShortArray::create): 31819 (WebCore::WebGLShortArray::WebGLShortArray): 31820 (WebCore::WebGLShortArray::length): 31821 (WebCore::WebGLShortArray::byteLength): 31822 (WebCore::WebGLShortArray::slice): 31823 (WebCore::WebGLShortArray::set): 31824 * html/canvas/WebGLShortArray.h: 31825 (WebCore::WebGLShortArray::isShortArray): 31826 (WebCore::WebGLShortArray::data): 31827 (WebCore::WebGLShortArray::set): 31828 (WebCore::WebGLShortArray::get): 31829 (WebCore::WebGLShortArray::item): 31830 * html/canvas/WebGLShortArray.idl: 31831 * html/canvas/WebGLUnsignedByteArray.cpp: 31832 (WebCore::WebGLUnsignedByteArray::create): 31833 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray): 31834 (WebCore::WebGLUnsignedByteArray::length): 31835 (WebCore::WebGLUnsignedByteArray::byteLength): 31836 (WebCore::WebGLUnsignedByteArray::slice): 31837 (WebCore::WebGLUnsignedByteArray::set): 31838 * html/canvas/WebGLUnsignedByteArray.h: 31839 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray): 31840 (WebCore::WebGLUnsignedByteArray::data): 31841 (WebCore::WebGLUnsignedByteArray::set): 31842 (WebCore::WebGLUnsignedByteArray::get): 31843 (WebCore::WebGLUnsignedByteArray::item): 31844 * html/canvas/WebGLUnsignedByteArray.idl: 31845 * html/canvas/WebGLUnsignedIntArray.cpp: 31846 (WebCore::WebGLUnsignedIntArray::create): 31847 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray): 31848 (WebCore::WebGLUnsignedIntArray::length): 31849 (WebCore::WebGLUnsignedIntArray::byteLength): 31850 (WebCore::WebGLUnsignedIntArray::slice): 31851 (WebCore::WebGLUnsignedIntArray::set): 31852 * html/canvas/WebGLUnsignedIntArray.h: 31853 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray): 31854 (WebCore::WebGLUnsignedIntArray::data): 31855 (WebCore::WebGLUnsignedIntArray::set): 31856 (WebCore::WebGLUnsignedIntArray::get): 31857 (WebCore::WebGLUnsignedIntArray::item): 31858 * html/canvas/WebGLUnsignedIntArray.idl: 31859 * html/canvas/WebGLUnsignedShortArray.cpp: 31860 (WebCore::WebGLUnsignedShortArray::create): 31861 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray): 31862 (WebCore::WebGLUnsignedShortArray::length): 31863 (WebCore::WebGLUnsignedShortArray::byteLength): 31864 (WebCore::WebGLUnsignedShortArray::slice): 31865 (WebCore::WebGLUnsignedShortArray::set): 31866 * html/canvas/WebGLUnsignedShortArray.h: 31867 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray): 31868 (WebCore::WebGLUnsignedShortArray::data): 31869 (WebCore::WebGLUnsignedShortArray::set): 31870 (WebCore::WebGLUnsignedShortArray::get): 31871 (WebCore::WebGLUnsignedShortArray::item): 31872 * html/canvas/WebGLUnsignedShortArray.idl: 31873 * platform/graphics/mac/GraphicsContext3DMac.cpp: 31874 (WebCore::GraphicsContext3D::bufferData): 31875 (WebCore::GraphicsContext3D::bufferSubData): 31876 31877 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31878 31879 Windows build fix. 31880 31881 * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C". 31882 31883 2009-11-15 Brent Fulgham <bfulgham (a] webkit.org> 31884 31885 Reviewed by Oliver Hunt. 31886 31887 Enable support for webkit-box-shadow in Cairo builds. 31888 https://bugs.webkit.org/show_bug.cgi?id=26102. 31889 31890 Covered by existing fast/box-shadow tests. 31891 31892 * platform/graphics/cairo/GraphicsContextCairo.cpp: Add 31893 support for fillRect shadows. 31894 31895 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31896 31897 Windows build fix. 31898 31899 * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not 31900 in WebKitSupportLibrary. 31901 31902 2009-11-16 Alexey Proskuryakov <ap (a] apple.com> 31903 31904 Reviewed by Darin Adler. 31905 31906 https://bugs.webkit.org/show_bug.cgi?id=31494 31907 Add unauthenticated proxy support to SocketStreamHandleCFNet 31908 31909 Cannot be tested in DRT. 31910 31911 * platform/network/cf/SocketStreamHandleCFNet.cpp: 31912 (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS. 31913 (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams. 31914 31915 2009-11-14 Antonio Gomes <tonikitoo (a] webkit.org> 31916 31917 Reviewed by Antti Koivisto. 31918 31919 [Qt] Broken back/forward after using ErrorPageExtension to set error page 31920 https://bugs.webkit.org/show_bug.cgi?id=30573 31921 31922 Make FrameLoader::checkLoadCompleteForThisFrame method 31923 to check for any working DocumentLoader instance (through 31924 activeDocumentLoader()) instead of only checking for 31925 'm_provisionalDocumentLoader' in order to decide to if 31926 it is going to reset of not the back and forward history. 31927 after an error page has been loaded. 31928 31929 Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html 31930 31931 * loader/FrameLoader.cpp: 31932 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 31933 31934 2009-11-14 Chris Fleizach <cfleizach (a] apple.com> 31935 31936 Reviewed by Darin Adler. 31937 31938 Need to implement ARIA role="directory" 31939 https://bugs.webkit.org/show_bug.cgi?id=31516 31940 31941 Test: platform/mac/accessibility/aria-directory.html 31942 31943 * accessibility/AXObjectCache.cpp: 31944 (WebCore::AXObjectCache::getOrCreate): 31945 * accessibility/AccessibilityList.cpp: 31946 (WebCore::AccessibilityList::isOrderedList): 31947 * accessibility/AccessibilityRenderObject.cpp: 31948 (WebCore::createARIARoleMap): 31949 31950 2009-11-15 Dave Tapuska <dtapuska (a] rim.com> 31951 31952 Reviewed by George Staikos. 31953 31954 Compare UChars single unit at a time as opposed to the uint32_t 31955 approach as casting to unaligned addresses may cause a bus failure 31956 on ARMv5 and below. This change replicates the same defines that 31957 exists in AtomicString.cpp 31958 31959 https://bugs.webkit.org/show_bug.cgi?id=31475 31960 31961 * platform/text/StringHash.h: 31962 (WebCore::StringHash::equal): 31963 31964 2009-11-15 Evan Martin <evan (a] chromium.org> 31965 31966 Reviewed by Adam Barth. 31967 31968 Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test. 31969 31970 https://bugs.webkit.org/show_bug.cgi?id=31490 31971 31972 * bindings/v8/V8DOMWrapper.cpp: 31973 31974 2009-11-15 Maxime Simon <simon.maxime (a] gmail.com> 31975 31976 Reviewed by Adam Barth. 31977 31978 [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined. 31979 31980 * platform/haiku/FileChooserHaiku.cpp: 31981 31982 2009-11-15 Maxime Simon <simon.maxime (a] gmail.com> 31983 31984 Reviewed by Adam Barth. 31985 31986 [Haiku] Build fix. ColorSpace name had a wrong CamelCase. 31987 31988 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 31989 (WebCore::GraphicsContext::setPlatformStrokeColor): 31990 31991 2009-11-15 Daniel Bates <dbates (a] webkit.org> 31992 31993 No review, rolling out r50999. 31994 http://trac.webkit.org/changeset/50999 31995 31996 Need to fix some issues in the Windows build. Missed some places where 31997 RenderTextControl::isEdited is called. 31998 31999 * bindings/objc/DOMHTML.mm: 32000 (-[DOMHTMLInputElement _isEdited]): 32001 (-[DOMHTMLTextAreaElement _isEdited]): 32002 * dom/Document.cpp: 32003 (WebCore::Document::setFocusedNode): 32004 * html/HTMLInputElement.cpp: 32005 (WebCore::HTMLInputElement::defaultEventHandler): 32006 * rendering/RenderTextControl.cpp: 32007 (WebCore::RenderTextControl::RenderTextControl): 32008 (WebCore::RenderTextControl::setInnerTextValue): 32009 (WebCore::RenderTextControl::setUserEdited): 32010 (WebCore::RenderTextControl::subtreeHasChanged): 32011 * rendering/RenderTextControl.h: 32012 (WebCore::RenderTextControl::isEdited): 32013 (WebCore::RenderTextControl::setEdited): 32014 (WebCore::RenderTextControl::isUserEdited): 32015 * rendering/RenderTextControlSingleLine.cpp: 32016 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 32017 * wml/WMLInputElement.cpp: 32018 (WebCore::WMLInputElement::defaultEventHandler): 32019 32020 2009-11-15 Daniel Bates <dbates (a] webkit.org> 32021 32022 Reviewed by Darin Adler. 32023 32024 https://bugs.webkit.org/show_bug.cgi?id=31186 32025 32026 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to 32027 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively. 32028 These are more descriptive names so as to clear an ambiguity surrounding 32029 their usage. Also, renames associated setters and getters so that they 32030 coincide with the renamed fields. 32031 32032 No functionality was changed. So, no tests were included. 32033 32034 * bindings/objc/DOMHTML.mm: 32035 (-[DOMHTMLInputElement _isEdited]): 32036 (-[DOMHTMLTextAreaElement _isEdited]): 32037 * dom/Document.cpp: 32038 (WebCore::Document::setFocusedNode): 32039 * html/HTMLInputElement.cpp: 32040 (WebCore::HTMLInputElement::defaultEventHandler): 32041 * rendering/RenderTextControl.cpp: 32042 (WebCore::RenderTextControl::RenderTextControl): 32043 (WebCore::RenderTextControl::setInnerTextValue): 32044 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited. 32045 (WebCore::RenderTextControl::subtreeHasChanged): 32046 * rendering/RenderTextControl.h: 32047 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited. 32048 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited. 32049 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited. 32050 * rendering/RenderTextControlSingleLine.cpp: 32051 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 32052 * wml/WMLInputElement.cpp: 32053 (WebCore::WMLInputElement::defaultEventHandler): 32054 32055 2009-11-14 Adele Peterson <adele (a] apple.com> 32056 32057 Reviewed by Dan Bernstein. 32058 32059 Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp 32060 32061 Test: fast/overflow/line-clamp.html 32062 32063 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values. 32064 * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto. 32065 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto. 32066 32067 * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox): 32068 Use the line count value if available. Otherwise, convert the percentage to the line count, as we did before. Also, 32069 if there is anchor as the last child box, still allow adding the ellipsis. 32070 32071 * rendering/RenderLayer.cpp: 32072 (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set. 32073 (WebCore::RenderLayer::scrollRectToVisible): ditto. 32074 32075 * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h 32076 * rendering/style/LineClampValue.h: Added. 32077 (WebCore::LineClampValue::LineClampValue): 32078 (WebCore::LineClampValue::value): 32079 (WebCore::LineClampValue::isPercentage): 32080 (WebCore::LineClampValue::isNone): 32081 (WebCore::LineClampValue::operator==): 32082 (WebCore::LineClampValue::operator!=): 32083 * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count. 32084 32085 * rendering/style/RenderStyle.h: Use LineClampValue. 32086 (WebCore::InheritedFlags::lineClamp): 32087 (WebCore::InheritedFlags::setLineClamp): 32088 (WebCore::InheritedFlags::initialLineClamp): 32089 * rendering/style/StyleRareNonInheritedData.h: 32090 32091 2009-11-14 Eric Carlson <eric.carlson (a] apple.com> 32092 32093 Reviewed by Oliver Hunt. 32094 32095 <rdar://problem/7287487> 32096 Do not use QuickTime version to detect media controller theme 32097 32098 * WebCore.base.exp: Export wkMediaControllerThemeAvailable 32099 * platform/mac/WebCoreSystemInterface.h: Ditto. 32100 * platform/mac/WebCoreSystemInterface.mm: Ditto. 32101 32102 * rendering/RenderThemeMac.mm: 32103 (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the 32104 QuickTime version to see if it is possible to use MediaControllerThemeQuickTime. 32105 32106 2009-11-14 Kent Tamura <tkent (a] chromium.org> 32107 32108 Reviewed by Darin Adler. 32109 32110 - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element. 32111 They have no dedicated UI and no type validation for now. 32112 - Clean up setInputType() and formControlType() of HTMLInputElement. 32113 https://bugs.webkit.org/show_bug.cgi?id=29004 32114 32115 Test: fast/forms/input-type-change3.html 32116 32117 * html/HTMLInputElement.cpp: 32118 (WebCore::HTMLInputElement::valueMissing): 32119 (WebCore::HTMLInputElement::patternMismatch): 32120 (WebCore::HTMLInputElement::tooLong): 32121 (WebCore::createTypeMap): 32122 (WebCore::HTMLInputElement::setInputType): 32123 (WebCore::createFormControlTypes): 32124 (WebCore::HTMLInputElement::formControlType): 32125 (WebCore::HTMLInputElement::saveFormControlState): 32126 (WebCore::HTMLInputElement::restoreFormControlState): 32127 (WebCore::HTMLInputElement::accessKeyAction): 32128 (WebCore::HTMLInputElement::rendererIsNeeded): 32129 (WebCore::HTMLInputElement::createRenderer): 32130 (WebCore::HTMLInputElement::appendFormData): 32131 (WebCore::HTMLInputElement::isTextField): 32132 (WebCore::HTMLInputElement::valueWithDefault): 32133 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): 32134 (WebCore::HTMLInputElement::defaultEventHandler): 32135 (WebCore::HTMLInputElement::isRequiredFormControl): 32136 (WebCore::HTMLInputElement::dataList): 32137 * html/HTMLInputElement.h: 32138 (WebCore::HTMLInputElement::): 32139 32140 2009-11-13 Chris Fleizach <cfleizach (a] apple.com> 32141 32142 Reviewed by Darin Adler. 32143 32144 WAI-ARIA: checkbox does not determine its label from text content 32145 https://bugs.webkit.org/show_bug.cgi?id=31456 32146 32147 Test: accessibility/aria-checkbox-text.html 32148 32149 * accessibility/AccessibilityRenderObject.cpp: 32150 (WebCore::AccessibilityRenderObject::title): 32151 32152 2009-11-13 Dimitri Glazkov <dglazkov (a] chromium.org> 32153 32154 Unreviewed, build fix. 32155 32156 [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973. 32157 This is just enough changes to unbreak the port. 32158 32159 * bindings/v8/ScriptController.cpp: 32160 (WebCore::mainThreadNormalWorld): 32161 * bindings/v8/V8Proxy.cpp: 32162 (WebCore::V8Proxy::initContextIfNeeded): 32163 * loader/FrameLoaderClient.h: 32164 32165 2009-11-13 Aaron Boodman <aa (a] chromium.org> 32166 32167 Unreviewed fix for Chromium build. 32168 32169 * loader/FrameLoaderClient.h: 32170 (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld): 32171 Provide an empty implementation of this method because I don't know 32172 what it is supposed to do on Chromium. 32173 32174 2009-11-13 Aaron Boodman <aa (a] chromium.org> 32175 32176 Unreviewed fix for Chromium build. 32177 32178 * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds() 32179 public, as Chromium's V8Proxy calls it. 32180 32181 2009-11-13 Aaron Boodman <aa (a] chromium.org> 32182 32183 Unreviewed fix to Chromium build. 32184 32185 * bindings/v8/ScriptController.cpp: 32186 (WebCore::ScriptController::getAllWorlds): 32187 32188 2009-11-13 Aaron Boodman <aa (a] chromium.org> 32189 32190 Unreviewed fix for Chromium build. 32191 32192 * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h. 32193 32194 2009-11-13 Adam Barth <abarth (a] webkit.org> 32195 32196 Unreviewed partial build fix for Chromium. Should fix failure #4. 32197 32198 * bindings/v8/ScriptController.cpp: 32199 (WebCore::ScriptController::getAllWorlds): 32200 * bindings/v8/ScriptController.h: 32201 * bindings/v8/V8Proxy.cpp: 32202 (WebCore::V8Proxy::initContextIfNeeded): 32203 32204 2009-11-13 Adam Barth <abarth (a] webkit.org> 32205 32206 Unreviewed partial build fix for Chromium. 32207 32208 * bindings/v8/ScriptController.h: 32209 (WebCore::ScriptController::getAllWorlds): 32210 32211 2009-11-13 Eric Seidel <eric (a] webkit.org> 32212 32213 No review, build fix only. 32214 32215 Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977. 32216 32217 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions 32218 https://bugs.webkit.org/show_bug.cgi?id=31468 32219 32220 * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries 32221 * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries 32222 32223 2009-11-12 Jeremy Orlow <jorlow (a] chromium.org> 32224 32225 Reviewed by Dmitry Titov. 32226 32227 LocalStorage quota should include key sizes in its count 32228 https://bugs.webkit.org/show_bug.cgi?id=31451 32229 32230 * storage/StorageMap.cpp: 32231 (WebCore::StorageMap::setItem): 32232 Count keys in the quota when adding a new item. 32233 (WebCore::StorageMap::removeItem): 32234 Remove the key's length from the quota if we're removing the item. 32235 (WebCore::StorageMap::importItem): 32236 Assume that we're adding things for the first time. 32237 Count keys in the quota. 32238 32239 2009-11-13 Dominik Rttsches <dominik.roettsches (a] access-company.com> 32240 32241 Reviewed by Eric Seidel. 32242 32243 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions 32244 https://bugs.webkit.org/show_bug.cgi?id=31468 32245 32246 Moving TextBoundariesICU.cpp to TextBoundaries.cpp 32247 by removing the direct ICU dependency and replacing it 32248 with WTF functions and WebCore's own TextBreakIterator 32249 abstractions. 32250 32251 * GNUmakefile.am: 32252 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 32253 * platform/text/TextBoundaries.cpp: Added. 32254 (WebCore::findNextWordFromIndex): 32255 (WebCore::findWordBoundary): 32256 * platform/text/TextBoundariesICU.cpp: Removed. 32257 * platform/text/TextBreakIterator.h: 32258 * platform/text/TextBreakIteratorICU.cpp: 32259 (WebCore::textBreakLast): 32260 (WebCore::textBreakPrevious): 32261 32262 2009-11-13 Shinichiro Hamaji <hamaji (a] chromium.org> 32263 32264 Reviewed by Darin Adler. 32265 32266 WebCore::externalRepresentation should update layout before getting render object 32267 https://bugs.webkit.org/show_bug.cgi?id=31459 32268 32269 * rendering/RenderTreeAsText.cpp: 32270 (WebCore::externalRepresentation): 32271 32272 2009-11-13 Adam Roben <aroben (a] apple.com> 32273 32274 Tell FrameLoaderClient when window objects in isolated worlds are 32275 cleared 32276 32277 Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when 32278 window objects in isolated worlds are cleared 32279 32280 Test: http/tests/security/isolatedWorld/didClearWindowObject.html 32281 32282 Reviewed by Dave Hyatt. 32283 32284 * bindings/js/JSDOMBinding.h: 32285 (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the 32286 worlds in m_worldSet to the passed-in Vector. 32287 32288 * bindings/js/ScriptController.cpp: 32289 (WebCore::ScriptController::getAllWorlds): Added. Calls through to 32290 WebCoreJSClientData. 32291 (WebCore::ScriptController::initScript): Changed to call 32292 FrameLoader::dispatchDidClearWindowObjectInWorld. 32293 32294 * bindings/js/ScriptController.h: Added getAllWorlds. 32295 32296 * loader/EmptyClients.h: 32297 (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 32298 Updated for FrameLoaderClient change. 32299 32300 * loader/FrameLoader.cpp: 32301 (WebCore::FrameLoader::receivedFirstData): 32302 (WebCore::FrameLoader::begin): 32303 Changed to call dispatchDidClearWindowObjectsInAllWorlds. 32304 32305 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds): 32306 Added. Retrieves all the worlds, then calls through to 32307 dispatchDidClearWindowObjectInWorld for each one. 32308 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces 32309 dispatchWindowObjectAvailable. Calls up to the client, then, if the 32310 world is the mainThreadNormalWorld(), tells the Inspector about it, 32311 too. 32312 32313 * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with 32314 dispatchDidClearWindowObjectInWorld. Added 32315 dispatchDidClearWindowObjectsInAllWorlds. 32316 32317 * loader/FrameLoaderClient.h: Replaced windowObjectCleared with 32318 dispatchDidClearWindowObjectForWorld. 32319 32320 2009-11-13 Vitaly Repeshko <vitalyr (a] chromium.org> 32321 32322 Reviewed by Dimitri Glazkov. 32323 32324 [V8] Fix SVG context assignment for pod types. 32325 https://bugs.webkit.org/show_bug.cgi?id=31497 32326 32327 I broke this in r50958. 32328 32329 Tested by svg/custom/viewport-update2.svg. 32330 32331 * bindings/scripts/CodeGeneratorV8.pm: 32332 32333 2009-11-13 Andrei Popescu <andreip (a] google.com> 32334 32335 Reviewed by Dmitry Titov. 32336 32337 Bring the platform/android files inline with Android 2.0 32338 https://bugs.webkit.org/show_bug.cgi?id=31423 32339 32340 No new tests required: these are all Android-specific files. 32341 32342 * platform/android/ClipboardAndroid.cpp: 32343 (WebCore::ClipboardAndroid::files): 32344 * platform/android/ClipboardAndroid.h: 32345 * platform/android/FileChooserAndroid.cpp: 32346 (WebCore::FileChooser::basenameForWidth): 32347 (WebCore::fileButtonChooseFileLabel): 32348 * platform/android/KeyEventAndroid.cpp: 32349 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 32350 * platform/android/LocalizedStringsAndroid.cpp: 32351 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 32352 (WebCore::contextMenuItemTagDownloadLinkToDisk): 32353 (WebCore::contextMenuItemTagCopyLinkToClipboard): 32354 (WebCore::contextMenuItemTagOpenImageInNewWindow): 32355 (WebCore::contextMenuItemTagDownloadImageToDisk): 32356 (WebCore::contextMenuItemTagCopyImageToClipboard): 32357 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 32358 (WebCore::contextMenuItemTagCopy): 32359 (WebCore::contextMenuItemTagGoBack): 32360 (WebCore::contextMenuItemTagGoForward): 32361 (WebCore::contextMenuItemTagStop): 32362 (WebCore::contextMenuItemTagReload): 32363 (WebCore::contextMenuItemTagCut): 32364 (WebCore::contextMenuItemTagPaste): 32365 (WebCore::contextMenuItemTagNoGuessesFound): 32366 (WebCore::contextMenuItemTagIgnoreSpelling): 32367 (WebCore::contextMenuItemTagLearnSpelling): 32368 (WebCore::contextMenuItemTagSearchWeb): 32369 (WebCore::contextMenuItemTagLookUpInDictionary): 32370 (WebCore::contextMenuItemTagOpenLink): 32371 (WebCore::contextMenuItemTagIgnoreGrammar): 32372 (WebCore::contextMenuItemTagSpellingMenu): 32373 (WebCore::contextMenuItemTagShowSpellingPanel): 32374 (WebCore::contextMenuItemTagCheckSpelling): 32375 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 32376 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 32377 (WebCore::contextMenuItemTagFontMenu): 32378 (WebCore::contextMenuItemTagBold): 32379 (WebCore::contextMenuItemTagItalic): 32380 (WebCore::contextMenuItemTagUnderline): 32381 (WebCore::contextMenuItemTagOutline): 32382 (WebCore::contextMenuItemTagWritingDirectionMenu): 32383 (WebCore::contextMenuItemTagTextDirectionMenu): 32384 (WebCore::contextMenuItemTagDefaultDirection): 32385 (WebCore::contextMenuItemTagLeftToRight): 32386 (WebCore::contextMenuItemTagRightToLeft): 32387 (WebCore::mediaElementLoadingStateText): 32388 (WebCore::mediaElementLiveBroadcastStateText): 32389 (WebCore::searchableIndexIntroduction): 32390 (WebCore::resetButtonDefaultLabel): 32391 (WebCore::submitButtonDefaultLabel): 32392 (WebCore::inputElementAltText): 32393 * platform/android/RenderThemeAndroid.cpp: 32394 (WebCore::RenderTheme::themeForPage): 32395 (WebCore::RenderThemeAndroid::baselinePosition): 32396 (WebCore::RenderThemeAndroid::paintButton): 32397 (WebCore::adjustMenuListStyleCommon): 32398 (WebCore::RenderThemeAndroid::paintCombo): 32399 * platform/android/ScreenAndroid.cpp: 32400 * platform/android/ScrollViewAndroid.cpp: 32401 (WebCore::ScrollView::platformOffscreenContentRectangle): 32402 * platform/android/TemporaryLinkStubs.cpp: 32403 (JSC::Bindings::dispatchJNICall): 32404 * platform/android/WidgetAndroid.cpp: 32405 (WebCore::Widget::setFrameRect): 32406 32407 2009-11-13 Norbert Leser <norbert.leser&nokia.com> 32408 32409 Reviewed by Eric Seidel. 32410 32411 Added macros for USERINCLUDE paths within symbian blocks 32412 to guarantee inclusion of respective header files from local path 32413 first (to avoid clashes with same names of header files in system include path). 32414 32415 * WebCore.pro: 32416 32417 2009-11-13 Hironori Bono <hbono (a] chromium.org> 32418 32419 Reviewed by Oliver Hunt. 32420 32421 Implement composition events introduced in DOM Level 3. 32422 This change adds a new IDL which defines the composition events, adds a class which 32423 implements the composition events, and sends the composition events according to 32424 the specification. 32425 https://bugs.webkit.org/show_bug.cgi?id=26310 32426 32427 Test: fast/events/ime-composition-events-001.html 32428 32429 * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl". 32430 * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}". 32431 * WebCore.gypi: ditto. 32432 * WebCore.pro: ditto 32433 * WebCore.vcproj/WebCore.vcproj: ditto. 32434 * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}". 32435 * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}". 32436 * bindings/js/JSEventCustom.cpp: 32437 (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper. 32438 * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h". 32439 * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp". 32440 * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent. 32441 (WebCore::V8DOMWrapper::convertEventToV8Object): 32442 * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h". 32443 * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT. 32444 * dom/CompositionEvent.cpp: Implements the CompositionEvent class. 32445 (WebCore::CompositionEvent::CompositionEvent): 32446 (WebCore::CompositionEvent::~CompositionEvent): 32447 (WebCore::CompositionEvent::initCompositionEvent): 32448 (WebCore::CompositionEvent::isCompositionEvent): 32449 * dom/CompositionEvent.h: Declares the CompositionEvent class. 32450 (WebCore::CompositionEvent::create): 32451 (WebCore::CompositionEvent::data): 32452 * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent. 32453 * dom/Event.cpp: 32454 (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent. 32455 * dom/Event.h: 32456 * dom/EventNames.h: Added composition{start,update,end} to eventNames. 32457 * editing/Editor.cpp: 32458 (WebCore::Editor::confirmComposition): Sent a CompositionEnd event. 32459 (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event. 32460 32461 2009-11-13 Jens Alfke <snej (a] chromium.org> 32462 32463 Reviewed by Dimitri Glazkov. 32464 32465 Fix a link error in unofficial GCC 4.4 builds on Linux. 32466 https://bugs.webkit.org/show_bug.cgi?id=31477 32467 32468 * bindings/v8/V8Binding.cpp: Add explicit instantiations of v8StringToWebCoreString template. 32469 32470 2009-11-13 Eric Seidel <eric (a] webkit.org> 32471 32472 No review, build fix only. 32473 32474 Fix Debug build after http://trac.webkit.org/changeset/50960. 32475 32476 The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1 32477 https://bugs.webkit.org/show_bug.cgi?id=31213 32478 32479 * rendering/CounterNode.cpp: 32480 (WebCore::showTreeAndMark): 32481 * rendering/RenderCounter.cpp: 32482 (WebCore::destroyCounterNodeChildren): 32483 32484 2009-11-13 Dirk Schulze <krit (a] webkit.org> 32485 32486 Reviewed by Gustavo Noronha. 32487 32488 [CAIRO] shadow support for Canvas and SVG 32489 [https://bugs.webkit.org/show_bug.cgi?id=30960] 32490 32491 We currently fill a path with solid color instead of filling 32492 a clipping path. This causes problems on some composite operators, 32493 since Cairo modifies the area outside the path. 32494 This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html 32495 32496 Thanks to Benjamin Otte for tracking the bug down. 32497 32498 * platform/graphics/cairo/GraphicsContextCairo.cpp: 32499 (WebCore::setPlatformFill): 32500 32501 2009-11-12 Dumitru Daniliuc <dumi (a] chromium.org> 32502 32503 Reviewed by Dimitri Glazkov. 32504 32505 Adding Chromium's DatabaseTracker implementation. 32506 32507 https://bugs.webkit.org/show_bug.cgi?id=31440 32508 32509 * WebCore.gyp/WebCore.gyp: 32510 * WebCore.gypi: 32511 * storage/DatabaseTracker.h: 32512 * storage/chromium/DatabaseTrackerChromium.cpp: 32513 (WebCore::DatabaseTracker::fullPathForDatabase): 32514 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 32515 * storage/chromium/QuotaTracker.cpp: 32516 (WebCore::QuotaTracker::updateDatabaseSize): 32517 * storage/chromium/QuotaTracker.h: 32518 32519 2009-11-13 Carol Szabo <carol.szabo (a] nokia.com> 32520 32521 Reviewed by Darin Adler. 32522 32523 The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree 32524 https://bugs.webkit.org/show_bug.cgi?id=31213 32525 Added tree navigation methods that permit full implementation of CSS2.1 32526 counter feature without using recursion proportional to the counter 32527 tree depth. 32528 No new tests because I did not find any bug that is fixed by this 32529 commit yet, this just reduces the size of the patch for 11031 and 32530 helps respond to some concerns regarding that patch. 32531 32532 * rendering/CounterNode.cpp: 32533 (WebCore::CounterNode::CounterNode): 32534 32535 (WebCore::CounterNode::nextInPreOrderAfterChildren): 32536 (WebCore::CounterNode::nextInPreOrder): 32537 Added to support non-recursive tree traversal necessary for 32538 efficient full implementation of CSS2.1 counters. 32539 32540 (WebCore::CounterNode::lastDescendant): 32541 (WebCore::CounterNode::previousInPreOrder): 32542 Moved this methods such that they occupy a place similar to that of 32543 identically named methods on the render tree. This allows for their 32544 broader use needed in full implementation of CSS2.1 counters. 32545 32546 (WebCore::CounterNode::resetRenderer): 32547 (WebCore::CounterNode::resetRenderers): 32548 (WebCore::CounterNode::recount): 32549 (WebCore::CounterNode::insertAfter): 32550 (WebCore::CounterNode::removeChild): 32551 Changed such that insertion/removal of a counter, triggers not only 32552 recalculation of PrefixWidths, but also reassesment of values in 32553 counter nodes. This is the basis full implementation of CSS2.1 32554 counters. It does not change current behavior by much because of 32555 changes needed to the recalculation algorithm, but those are comming 32556 in the patch for 11031. 32557 (WebCore::showTreeAndMark): 32558 * rendering/CounterNode.h: 32559 * rendering/RenderCounter.cpp: 32560 (WebCore::counter): 32561 Only changed argument type to prepare for implementation of Darin 32562 Adler's recommendation for the patch to 11031. 32563 32564 (WebCore::RenderCounter::invalidate): 32565 (WebCore::destroyCounterNodeChildren): 32566 (WebCore::RenderCounter::destroyCounterNodes): 32567 * rendering/RenderCounter.h: 32568 * rendering/RenderObjectChildList.cpp: 32569 (WebCore::invalidateCountersInContainer): 32570 (WebCore::RenderObjectChildList::invalidateCounters): 32571 * rendering/RenderObjectChildList.h: 32572 Added the ability to restrict invalidation to counters with a given 32573 identifier. 32574 Also invalidated counters that are on the child container itself 32575 which were missed by the previous algorithm, but were a valid case. 32576 32577 2009-11-13 Vitaly Repeshko <vitalyr (a] chromium.org> 32578 32579 Reviewed by Dimitri Glazkov. 32580 32581 [V8] Protect SVG animated properties from destruction in bindings. 32582 https://bugs.webkit.org/show_bug.cgi?id=31474 32583 32584 See http://crbug.com/26719. 32585 32586 Tested by LayoutTests/svg/custom/js-update-transform-addition.svg 32587 under Valgrind. 32588 32589 Made sure we keep a reference to SVG properties while setting a 32590 context: 32591 * bindings/scripts/CodeGeneratorV8.pm: 32592 * bindings/v8/V8Proxy.h: 32593 (WebCore::V8Proxy::withSVGContext): 32594 32595 2009-11-13 Brent Fulgham <bfulgham (a] webkit.org> 32596 32597 Reviewed by Alexey Proskuryakov. 32598 32599 [CAIRO] shadow support for Canvas and SVG. 32600 [https://bugs.webkit.org/show_bug.cgi?id=30960] 32601 32602 Incorporate Benjamin Otte's recommendations to avoid 32603 a buffer overrun, and small performance improvement. 32604 32605 * platform/graphics/cairo/GraphicsContextCairo.cpp: 32606 (WebCore::copyContextProperties): Correctly size output 32607 storage for cairo_get_dash to avoid buffer overrun. 32608 (WebCore::drawPathShadow): Prefer cairo_fill_extents 32609 to slower cairo_stroke_extents when not drawing shadows. 32610 32611 2009-11-13 Dumitru Daniliuc <dumi (a] chromium.org> 32612 32613 Reviewed by Dimitri Glazkov. 32614 32615 Do not register Chromium's HTML5 DB VFS as the default 32616 VFS. Otherwise, other sqlite DB users in the same process will 32617 stop working. 32618 32619 https://bugs.webkit.org/show_bug.cgi?id=31462 32620 32621 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 32622 (WebCore::SQLiteFileSystem::openDatabase): 32623 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 32624 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 32625 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 32626 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 32627 32628 2009-11-13 Alexey Proskuryakov <ap (a] apple.com> 32629 32630 Windows build fix 32631 32632 * platform/network/cf/SocketStreamHandleCFNet.cpp: 32633 (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags, 32634 avoiding a sign mismatch warning. 32635 32636 2009-11-13 Alexey Proskuryakov <ap (a] apple.com> 32637 32638 Release build fix. 32639 32640 * platform/network/cf/SocketStreamHandleCFNet.cpp: 32641 (WebCore::SocketStreamHandle::readStreamCallback): 32642 (WebCore::SocketStreamHandle::writeStreamCallback): 32643 Use ASSERT_UNUSED for unused stream parameter. 32644 32645 2009-11-12 Alexey Proskuryakov <ap (a] apple.com> 32646 32647 Reviewed by Darin Adler. 32648 32649 https://bugs.webkit.org/show_bug.cgi?id=31441 32650 Implement SocketStreamHandleCFNet 32651 32652 Existing WebSocket tests now pass on Mac. No proxy support yet. 32653 32654 * platform/network/SocketStreamHandleClient.h: 32655 * platform/network/cf/SocketStreamHandle.h: 32656 (WebCore::SocketStreamHandle::shouldUseSSL): 32657 (WebCore::SocketStreamHandle::refAuthenticationClient): 32658 (WebCore::SocketStreamHandle::derefAuthenticationClient): 32659 (WebCore::SocketStreamHandle::): 32660 * platform/network/cf/SocketStreamHandleCFNet.cpp: 32661 (WebCore::SocketStreamHandle::SocketStreamHandle): 32662 (WebCore::SocketStreamHandle::chooseProxy): 32663 (WebCore::SocketStreamHandle::createStreams): 32664 (WebCore::SocketStreamHandle::copyCFStreamDescription): 32665 (WebCore::SocketStreamHandle::readStreamCallback): 32666 (WebCore::SocketStreamHandle::writeStreamCallback): 32667 (WebCore::SocketStreamHandle::~SocketStreamHandle): 32668 (WebCore::SocketStreamHandle::platformSend): 32669 (WebCore::SocketStreamHandle::platformClose): 32670 (WebCore::SocketStreamHandle::receivedCredential): 32671 (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential): 32672 (WebCore::SocketStreamHandle::receivedCancellation): 32673 32674 2009-11-12 Pavel Feldman <pfeldman (a] chromium.org> 32675 32676 Reviewed by Timothy Hatcher. 32677 32678 Web Inspector: preload status bar button glyphs 32679 in order to prevent them from flickering (take 2). 32680 32681 https://bugs.webkit.org/show_bug.cgi?id=31439 32682 32683 * inspector/front-end/inspector.js: 32684 (preloadImages): 32685 32686 2009-11-13 Pavel Feldman <pfeldman (a] chromium.org> 32687 32688 Reviewed by Adam Barth. 32689 32690 Chromium: [REGRESSION] Crash while stopping on a breakpoint. 32691 Rolling back r50890. 32692 32693 https://bugs.webkit.org/show_bug.cgi?id=31467 32694 32695 * bindings/v8/V8Proxy.cpp: 32696 (WebCore::V8Proxy::canAccessPrivate): 32697 32698 2009-11-13 Dirk Schulze <krit (a] webkit.org> 32699 32700 Reviewed by Gustavo Noronha. 32701 32702 [CAIRO] shadow support for Canvas and SVG 32703 [https://bugs.webkit.org/show_bug.cgi?id=30960] 32704 32705 This is the fix of a regression, caused by the shadow patch 32706 from the bug above. Reinserted the save and restore calls 32707 that were accidently removed by the previous patch. 32708 32709 * platform/graphics/cairo/GraphicsContextCairo.cpp: 32710 (WebCore::setPlatformFill): 32711 (WebCore::setPlatformStroke): 32712 32713 2009-11-13 Pavel Feldman <pfeldman (a] chromium.org> 32714 32715 Not reviewed. Reverting r50908 since it makes inspector tests 32716 time out. 32717 32718 https://bugs.webkit.org/show_bug.cgi?id=31439 32719 32720 * inspector/front-end/inspector.js: 32721 32722 2009-11-13 Mikhail Naganov <mnaganov (a] chromium.org> 32723 32724 Reviewed by Timothy Hatcher. 32725 32726 Enable 'console.profile()' and 'console.profileEnd()' 32727 regardless of JAVASCRIPT_DEBUGGER. 32728 32729 https://bugs.webkit.org/show_bug.cgi?id=31293 32730 32731 * WebCore.gypi: 32732 * bindings/js/JSConsoleCustom.cpp: 32733 (WebCore::JSConsole::profile): 32734 (WebCore::JSConsole::profileEnd): 32735 * bindings/v8/custom/V8ConsoleCustom.cpp: Added. 32736 (WebCore::CALLBACK_FUNC_DECL): 32737 * bindings/v8/custom/V8CustomBinding.h: 32738 * page/Console.idl: 32739 32740 2009-11-12 David Levin <levin (a] chromium.org> 32741 32742 Reviewed by NOBODY. 32743 32744 Chromium build fix. 32745 32746 * bindings/v8/ScriptController.h: 32747 (WebCore::ScriptController::evaluateInWorld): Add a dummy 32748 method which isn't called in chromium to make things compile. 32749 32750 2009-11-12 Anantanarayanan G Iyengar <ananta (a] chromium.org> 32751 32752 Reviewed by Adam Barth. 32753 32754 The document-open.html test was flaky at times. The test invokes the layout test plugin 32755 which in its destroy stream handler opens a new document. This basically tears down the 32756 stream and the associated plugin instance, which causes a crash when the plugin stream 32757 dereferences an invalid m_client pointer which points to the PluginView instance which 32758 is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function 32759 and check for the same. 32760 32761 https://bugs.webkit.org/show_bug.cgi?id=31067 32762 32763 * plugins/PluginStream.cpp: 32764 (WebCore::PluginStream::stop): 32765 (WebCore::PluginStream::destroyStream): 32766 32767 2009-11-12 Dumitru Daniliuc <dumi (a] chromium.org> 32768 32769 Reviewed by Dimitri Glazkov. 32770 32771 Renaming some parameters passed to DB-related methods to better 32772 indicate their purpose. 32773 32774 https://bugs.webkit.org/show_bug.cgi?id=31449 32775 32776 * platform/chromium/ChromiumBridge.h: 32777 32778 2009-11-12 Simon Fraser <simon.fraser (a] apple.com> 32779 32780 Reviewed by Dan Bernstein. 32781 32782 Transformed reflected elements are clipped inside element with opacity 32783 https://bugs.webkit.org/show_bug.cgi?id=30957 32784 32785 transparencyClipBox() attemped to minimize the size of the transparency layer by mapping 32786 each clip rect into painting space before taking the unions. This, however, did not work 32787 correctly with combinations of reflections and transforms. Fixed by unioning the 32788 clipRect and mapping through transforms along the way. 32789 32790 Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see 32791 where the transparency layers are. 32792 32793 Test: fast/reflections/opacity-reflection-transform.html 32794 32795 * rendering/RenderLayer.cpp: 32796 (WebCore::expandClipRectForDescendantsAndReflection): 32797 (WebCore::transparencyClipBox): 32798 (WebCore::RenderLayer::beginTransparencyLayers): 32799 32800 2009-11-12 Adam Barth <abarth (a] webkit.org> 32801 32802 Reviewed by Darin Fisher. 32803 32804 Improve SecurityOrigin::toString comment 32805 https://bugs.webkit.org/show_bug.cgi?id=31041 32806 32807 * page/SecurityOrigin.h: 32808 32809 2009-11-12 Shinichiro Hamaji <hamaji (a] chromium.org> 32810 32811 Reviewed by Darin Adler. 32812 32813 externalRepresentation should take Frame as the argument 32814 https://bugs.webkit.org/show_bug.cgi?id=31393 32815 32816 No new tests as this is just a refactoring. 32817 32818 * WebCore.base.exp: 32819 * rendering/RenderTreeAsText.cpp: 32820 (WebCore::externalRepresentation): 32821 * rendering/RenderTreeAsText.h: 32822 32823 2009-11-12 Ben Murdoch <benm (a] google.com> 32824 32825 Reviewed by Dimitri Glazkov. 32826 32827 [Android] The Android specific files in page/Android are out of date. 32828 https://bugs.webkit.org/show_bug.cgi?id=31437 32829 32830 No tests required. 32831 32832 * page/android/DragControllerAndroid.cpp: 32833 (WebCore::DragController::dragOperation): Added. 32834 (WebCore::DragController::cleanupAfterSystemDrag): 32835 * page/android/EventHandlerAndroid.cpp: 32836 (WebCore::EventHandler::accessKeyModifiers): Added. 32837 * page/android/InspectorControllerAndroid.cpp: Removed. 32838 32839 2009-11-12 Brent Fulgham <bfulgham (a] webkit.org> 32840 32841 Reviewed by Simon Fraser. 32842 32843 [CAIRO] shadow support for Canvas and SVG. 32844 [https://bugs.webkit.org/show_bug.cgi?id=30960] 32845 32846 Implement Canvas/SVG shadow support for Cairo. This patch 32847 uses the filter code from SVG Filters. That means that it is 32848 necessary to activate filters to see the shadows. 32849 32850 Test: fast/canvas/canvas-shadow.html 32851 32852 * GNUmakefile.am: 32853 * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files. 32854 * platform/graphics/GraphicsContext.h: 32855 * platform/graphics/cairo/GraphicsContextCairo.cpp: 32856 (GraphicsContext::calculateShadowBufferDimensions): New helper routine. 32857 (WebCore::setPlatformFill): 32858 (WebCore::setPlatformStroke): 32859 (WebCore::copyContextProperties): 32860 (WebCore::drawPathShadow): 32861 (WebCore::GraphicsContext::fillPath): 32862 (WebCore::GraphicsContext::strokePath): 32863 (WebCore::GraphicsContext::drawPath): 32864 (WebCore::GraphicsContext::setPlatformShadow): 32865 (WebCore::GraphicsContext::createPlatformShadow): 32866 * platform/graphics/cairo/ImageCairo.cpp: 32867 (WebCore::BitmapImage::draw): Add filter effect. 32868 * platform/graphics/filters/Filter.h: Correct 'const' signatures. 32869 * platform/graphics/filters/ImageBufferFilter.cpp: Added. 32870 * platform/graphics/filters/ImageBufferFilter.h: Added. 32871 * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures. 32872 * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures. 32873 32874 2009-11-12 Dmitry Titov <dimich (a] chromium.org> 32875 32876 Reviewed by Alexey Proskuryakov. 32877 32878 Add postTaskToMainThread to ScriptExecutionContext. 32879 Move the code to post task to the main thread into a new method on ScriptExecutionContext, 32880 to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in 32881 contexts that live on the main thread. 32882 https://bugs.webkit.org/show_bug.cgi?id=31427 32883 32884 No new tests - simply moving the code. 32885 32886 * dom/Document.cpp: 32887 (WebCore::Document::postTask): 32888 * dom/ScriptExecutionContext.cpp: 32889 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): 32890 (WebCore::ScriptExecutionContextTaskTimer::fired): 32891 (WebCore::PerformTaskData::PerformTaskData): 32892 (WebCore::PerformTaskData::performTask): 32893 (WebCore::ScriptExecutionContext::postTaskToMainThread): 32894 * dom/ScriptExecutionContext.h: 32895 32896 2009-11-12 Simon Fraser <simon.fraser (a] apple.com> 32897 32898 Reviewed by Darin Adler. 32899 32900 Fix crash when removing compositing layers when GC is enabled 32901 https://bugs.webkit.org/show_bug.cgi?id=31429 32902 32903 Workaround <rdar://problem/7390716> by special-casing the removal 32904 of all sublayers when GC is enabled. 32905 32906 * platform/graphics/mac/GraphicsLayerCA.mm: 32907 (WebCore::safeSetSublayers): 32908 (WebCore::GraphicsLayerCA::updateSublayerList): 32909 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 32910 32911 2009-11-12 Jens Alfke <snej (a] chromium.org> 32912 32913 Reviewed by Dimitri Glazkov. 32914 32915 The last of the V8 binding optimizations. 32916 - Replace string-valued element accessors with a shared getter/setter function. 32917 - Change error handling flow of control to avoid extra branches and function calls. 32918 https://bugs.webkit.org/show_bug.cgi?id=31443 32919 32920 * bindings/scripts/CodeGeneratorV8.pm: 32921 * bindings/v8/V8Binding.cpp: 32922 (WebCore::getElementStringAttr): Body of string-valued Element getter function. 32923 (WebCore::setElementStringAttr): Body of string-valued Element setter function. 32924 * bindings/v8/V8Binding.h: 32925 32926 2009-11-12 Sam Weinig <sam (a] webkit.org> 32927 32928 Reviewed by Oliver Hunt. 32929 32930 Fix for <rdar://problem/7267951> 32931 Canvas methods should reject uses of NaN and Infinity. 32932 32933 Test: fast/canvas/canvas-with-illegal-args.html 32934 32935 * html/canvas/CanvasRenderingContext2D.cpp: 32936 (WebCore::CanvasRenderingContext2D::scale): 32937 (WebCore::CanvasRenderingContext2D::rotate): 32938 (WebCore::CanvasRenderingContext2D::translate): 32939 (WebCore::CanvasRenderingContext2D::transform): 32940 (WebCore::CanvasRenderingContext2D::setTransform): 32941 32942 2009-11-12 Pavel Feldman <pfeldman (a] chromium.org> 32943 32944 Reviewed by Timothy Hatcher. 32945 32946 Web Inspector: profile timeline panel, fix obvious problems. 32947 32948 https://bugs.webkit.org/show_bug.cgi?id=31432 32949 32950 * inspector/front-end/AbstractTimelinePanel.js: 32951 (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): 32952 * inspector/front-end/TimelinePanel.js: 32953 (WebInspector.TimelinePanel.prototype._setWindowPosition): 32954 (WebInspector.TimelineCalculator): 32955 (WebInspector.TimelineCalculator.prototype.get minimumBoundary): 32956 (WebInspector.TimelineCalculator.prototype.get maximumBoundary): 32957 (WebInspector.TimelineCalculator.prototype.reset): 32958 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 32959 (WebInspector.TimelineCalculator.prototype.formatValue): 32960 (WebInspector.TimelineGraph): 32961 (WebInspector.TimelineGraph.prototype.refresh): 32962 * inspector/front-end/utilities.js: 32963 (Element.prototype.hasStyleClass): 32964 32965 2009-11-12 Pavel Feldman <pfeldman (a] chromium.org> 32966 32967 Reviewed by Timothy Hatcher. 32968 32969 Web Inspector: preload status bar button glyphs 32970 in order to prevent them from flickering. 32971 32972 https://bugs.webkit.org/show_bug.cgi?id=31439 32973 32974 * inspector/front-end/inspector.js: 32975 (preloadImages): 32976 32977 2009-11-12 Adam Roben <aroben (a] apple.com> 32978 32979 Replace worldIDs with world objects 32980 32981 Part of <http://webkit.org/b/31414> Implement new SPI for dealing with 32982 user scripts/stylesheets and isolated worlds 32983 32984 Reviewed by Sam Weinig. 32985 32986 Covered by existing tests. 32987 32988 * WebCore.base.exp: Update exported symbols to match what now exists 32989 and is needed by WebKit. 32990 32991 * bindings/js/ScheduledAction.cpp: 32992 (WebCore::ScheduledAction::execute): Updated for function rename. 32993 32994 * bindings/js/ScriptController.cpp: Removed code that dealt with 32995 worldIDs. 32996 (WebCore::ScriptController::createWorld): Added. Returns a new world 32997 suitable for use on the main thread. 32998 (WebCore::ScriptController::executeScriptInWorld): Renamed from 32999 executeScriptInIsolatedWorld, since this works just fine with a 33000 "normal" world. 33001 33002 * bindings/js/ScriptController.h: Added createWorld, removed functions 33003 that took worldIDs, renamed executeScriptInIsolatedWorld to 33004 executeScriptInWorld. 33005 33006 * page/Frame.cpp: 33007 (WebCore::Frame::injectUserScripts): 33008 (WebCore::Frame::injectUserScriptsForWorld): 33009 Updated for changes to UserScriptMap and ScriptController. 33010 33011 * page/Frame.h: Changed injectUserScriptsForWorld to take a 33012 DOMWrapperWorld* instead of a worldID. 33013 33014 * page/PageGroup.cpp: 33015 (WebCore::PageGroup::addUserScriptToWorld): 33016 (WebCore::PageGroup::addUserStyleSheetToWorld): 33017 (WebCore::PageGroup::removeUserScriptFromWorld): 33018 (WebCore::PageGroup::removeUserStyleSheetFromWorld): 33019 (WebCore::PageGroup::removeUserScriptsFromWorld): 33020 (WebCore::PageGroup::removeUserStyleSheetsFromWorld): 33021 * page/PageGroup.h: 33022 Changed these functions to take a DOMWrapperWorld* instead of a 33023 worldID. Also updated for changes to UserScript and UserStyleSheet. 33024 33025 * page/UserScript.h: 33026 * page/UserStyleSheet.h: Changed not to hold a worldID, since it was 33027 never used. 33028 33029 * page/UserScriptTypes.h: 33030 * page/UserStyleSheetTypes.h: Changed UserScriptMap and 33031 UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a 33032 worldID as their key type. 33033 33034 33035 2009-11-12 Brian Weinstein <bweinstein (a] apple.com> 33036 33037 Reviewed by Tim Hatcher. 33038 33039 Fixes <http://webkit.org/b/31260>. 33040 Web Inspector: Main Resources Other than HTML are mis-detected. 33041 33042 Even if the resource is a main resource, look at its CachedResource type, 33043 because it might be an image, stylesheet, or JavaScript file, and we 33044 want to show them all correctly. 33045 33046 * inspector/InspectorResource.cpp: 33047 (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places. 33048 (WebCore::InspectorResource::type): 33049 * inspector/InspectorResource.h: 33050 33051 2009-11-12 Jens Alfke <snej (a] chromium.org> 33052 33053 Reviewed by Dimitri Glazkov. 33054 33055 Table-driven setup for V8 binding template callback functions. 100k in code savings. 33056 https://bugs.webkit.org/show_bug.cgi?id=31420 33057 33058 * bindings/scripts/CodeGeneratorV8.pm: Change generated ConfigureXXXTemplate fn 33059 to call configureTemplate(). 33060 * bindings/v8/V8Binding.cpp: 33061 (WebCore::configureTemplate): New function; does all the standard configuration work. 33062 (WebCore::createCallback): De-inlined wrapper for FunctionTemplate creation. 33063 * bindings/v8/V8Binding.h: 33064 * bindings/v8/V8Proxy.cpp: 33065 (WebCore::batchConfigureAttributes): Just wrapped the very long fn parameter list. 33066 (WebCore::batchConfigureCallbacks): New function, used by configureTemplate. 33067 (WebCore::batchConfigureConstants): Just wrapped the very long fn parameter list. 33068 * bindings/v8/V8Proxy.h: 33069 33070 2009-11-12 Dumitru Daniliuc <dumi (a] chromium.org> 33071 33072 Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876. 33073 33074 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 33075 33076 2009-11-12 Eric Carlson <eric.carlson (a] apple.com> 33077 33078 Reviewed by Dan Bernstein. 33079 33080 <rdar://problem/7388969> Add DOM API for fullscreen video 33081 33082 DOM API for fullscreen <video>. 33083 33084 Tests: media/media-fullscreen-inline.html 33085 media/media-fullscreen-not-in-document.html 33086 33087 * dom/EventNames.h: 33088 Add webkitbeginfullscreen and webkitendfullscreen. 33089 33090 * html/HTMLAttributeNames.in: 33091 Add onwebkitbeginfullscreen and onwebkitendfullscreen. 33092 33093 * html/HTMLMediaElement.cpp: 33094 (WebCore::HTMLMediaElement::parseMappedAttribute): 33095 Deal with onwebkitbeginfullscreen and onwebkitendfullscreen. 33096 (WebCore::HTMLMediaElement::enterFullscreen): 33097 Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we 33098 actually do enter fullscreen. 33099 (WebCore::HTMLMediaElement::exitFullscreen): 33100 Schedule webkitendfullscreenEvent event. 33101 (WebCore::HTMLMediaElement::webkitEnterFullScreen): 33102 (WebCore::HTMLMediaElement::webkitExitFullScreen): 33103 (WebCore::HTMLMediaElement::webkitSupportsFullscreen): 33104 (WebCore::HTMLMediaElement::webkitDisplayingFullscreen): 33105 New, access to fullscreen properties and methods. 33106 33107 * html/HTMLMediaElement.h: 33108 * html/HTMLMediaElement.idl: 33109 Declare methods needed for fullscreen API. 33110 33111 * html/HTMLVideoElement.cpp: 33112 (WebCore::HTMLVideoElement::supportsFullscreen): 33113 Return false if a movie does not have video. 33114 33115 * page/DOMWindow.h: 33116 Add webkitbeginfullscreen and webkitendfullscreen. 33117 33118 2009-11-12 Adam Barth <abarth (a] webkit.org> 33119 33120 Reviewed by Dimitri Glazkov. 33121 33122 [Chromium] Sify compose button alerts error 33123 https://bugs.webkit.org/show_bug.cgi?id=31394 33124 33125 Test: http/tests/security/calling-versus-current.html 33126 33127 We're supposed to use the calling context for security checks. In JSC 33128 land, this is the lexicalGlobalObject. 33129 33130 * bindings/v8/V8Proxy.cpp: 33131 (WebCore::V8Proxy::canAccessPrivate): 33132 33133 2009-11-12 Daniel Bates <dbates (a] webkit.org> 33134 33135 Reviewed by Darin Adler. 33136 33137 https://bugs.webkit.org/show_bug.cgi?id=30291 33138 33139 Fixes an issue where the returned drop effect is incorrect when 33140 effectAllowed == "uninitialized". 33141 33142 According to section 7.9.2 of the HTML 5 spec. 33143 <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces> 33144 when effectAllowed = "uninitialized" the resulting dropEffect should be the 33145 user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any 33146 other case. 33147 33148 No test cases are included because we have an existing test case from 33149 bug #24731. 33150 33151 * dom/Clipboard.cpp: 33152 (WebCore::dragOpFromIEOp): Added case for op == "uninitialized". 33153 33154 2009-11-12 Pavel Feldman <pfeldman (a] chromium.org> 33155 33156 Reviewed by Timothy Hatcher. 33157 33158 Web Inspector: Do not highlight node on refresh. 33159 33160 https://bugs.webkit.org/show_bug.cgi?id=31419 33161 33162 * inspector/front-end/ElementsPanel.js: 33163 (WebInspector.ElementsPanel.prototype.reset): 33164 33165 2009-11-12 Pavel Feldman <pfeldman (a] chromium.org> 33166 33167 Reviewed by Timothy Hatcher. 33168 33169 Web Inspector: Minor timeline fixes. 33170 33171 https://bugs.webkit.org/show_bug.cgi?id=31417 33172 33173 * inspector/front-end/TimelinePanel.js: 33174 (WebInspector.TimelinePanel.prototype._getRecordDetails): 33175 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 33176 (WebInspector.TimelineRecordTreeElement.prototype._updateDetails): 33177 (WebInspector.TimelineRecordTreeElement.prototype.refresh): 33178 33179 2009-11-12 Alexey Proskuryakov <ap (a] apple.com> 33180 33181 SnowLeopard build fix. 33182 33183 Renamed initWithClient to initWithAuthenticationClient. 33184 33185 * platform/network/mac/AuthenticationMac.mm: 33186 (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]): 33187 (WebCore::AuthenticationChallenge::setAuthenticationClient): 33188 33189 2009-11-12 Chris Fleizach <cfleizach (a] apple.com> 33190 33191 Reviewed by Darin Adler. 33192 33193 ARIA: add alert type roles 33194 https://bugs.webkit.org/show_bug.cgi?id=31392 33195 33196 Test: platform/mac/accessibility/aria-alerts.html 33197 33198 * accessibility/AccessibilityObject.h: 33199 * accessibility/AccessibilityRenderObject.cpp: 33200 * accessibility/mac/AccessibilityObjectWrapper.mm: 33201 33202 2009-11-11 Alexey Proskuryakov <ap (a] apple.com> 33203 33204 Reviewed by Darin Adler. 33205 33206 https://bugs.webkit.org/show_bug.cgi?id=31386 33207 Make Mac AuthenticationChallenge usable from cross-platform code 33208 33209 No change in behavior, so no tests. 33210 33211 * platform/network/ResourceHandle.cpp: 33212 (WebCore::ResourceHandle::clearAuthentication): 33213 * platform/network/ResourceHandleInternal.h: 33214 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 33215 Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the 33216 NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge 33217 is identical. 33218 33219 * platform/network/cf/AuthenticationChallenge.h: 33220 (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new 33221 Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client. 33222 33223 * platform/network/cf/ResourceHandleCFNet.cpp: 33224 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal 33225 of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to 33226 be already set. 33227 33228 * platform/network/mac/AuthenticationChallenge.h: 33229 (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the 33230 best of my understanding. 33231 (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent 33232 confusion with "mac" and "web" challenges in ResourceHandleInternal. 33233 33234 * platform/network/mac/AuthenticationMac.mm: 33235 (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient, 33236 making it possible to use the latter with NSURLAuthenticationChallenge. 33237 (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge -> 33238 m_nsChallenge renaming. 33239 (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and 33240 set it as sender (or unset, if client is null). 33241 33242 * platform/network/mac/ResourceHandleMac.mm: 33243 (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as 33244 authentication challenge sender. 33245 (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an 33246 authentication sheet. 33247 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge 33248 using the new setAuthenticationClient() method. 33249 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion. 33250 Since didCancelAuthenticationChallenge is called by connection, the passed challenge is 33251 the original Mac one, not the one we created for use with authentication sheet. I don't 33252 know when a connection would cancel authentication in practice, so I haven't tested this. 33253 33254 2009-11-12 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 33255 33256 Reviewed by Timothy Hatcher. 33257 33258 Web Inspector: breakpoint sidebar entries should allow click over entire list item 33259 https://bugs.webkit.org/show_bug.cgi?id=31411 33260 33261 No new tests; no new functionality, small usability change. 33262 33263 * inspector/front-end/BreakpointsSidebarPane.js: 33264 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): 33265 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked): 33266 33267 2009-11-12 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 33268 33269 Reviewed by Timothy Hatcher. 33270 33271 Web Inspector: breakpoints in named evals are not restored after a reload 33272 https://bugs.webkit.org/show_bug.cgi?id=31375 33273 33274 Manual test added 33275 33276 * inspector/front-end/ScriptsPanel.js: 33277 (WebInspector.ScriptsPanel.prototype.addScript): 33278 * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added. 33279 33280 2009-11-12 Benjamin Poulain <benjamin.poulain (a] nokia.com> 33281 33282 Reviewed by Kenneth Rohde Christiansen. 33283 33284 Custom printing shrink factors 33285 https://bugs.webkit.org/show_bug.cgi?id=29042 33286 33287 This reverts commit r49769. The public API for this needs to be reviewed 33288 before its inclusion in Qt. 33289 33290 * page/PrintContext.cpp: 33291 (WebCore::PrintContext::begin): 33292 * page/Settings.cpp: 33293 (WebCore::Settings::Settings): 33294 * page/Settings.h: 33295 33296 2009-11-12 Alexander Pavlov <apavlov (a] chromium.org> 33297 33298 Reviewed by Pavel Feldman. 33299 33300 Web Inspector: Resource errors/warnings not shown in the Resource tree. 33301 33302 Error/Warning bubbles are not displayed next to the resource in the 33303 Resources panel if those occur before the resource is attached to the tree. 33304 https://bugs.webkit.org/show_bug.cgi?id=31404 33305 33306 Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html 33307 33308 * inspector/front-end/AbstractTimelinePanel.js: 33309 (WebInspector.AbstractTimelinePanel.prototype.removeItem): 33310 * inspector/front-end/ResourcesPanel.js: 33311 (WebInspector.ResourceSidebarTreeElement.prototype.onattach): 33312 33313 2009-11-12 Philippe Normand <pnormand (a] igalia.com> 33314 33315 Reviewed by Jan Alonzo. 33316 33317 https://bugs.webkit.org/show_bug.cgi?id=31047 33318 [GTK] Failing test media/video-played-ranges-1.html 33319 33320 Follow-up of r50726, don't block the UI thread when calling 33321 gst_element_get_state(). Also fixed a compilation warning and some 33322 static casts. 33323 33324 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 33325 (WebCore::playbackPosition): 33326 (WebCore::MediaPlayerPrivate::seek): 33327 (WebCore::MediaPlayerPrivate::setRate): 33328 33329 2009-11-12 Philippe Normand <pnormand (a] igalia.com> 33330 33331 Reviewed by Jan Alonzo. 33332 33333 https://bugs.webkit.org/show_bug.cgi?id=31047 33334 [GTK] Failing test media/video-played-ranges-1.html 33335 33336 don't pause pipeline if already paused, same for play() 33337 33338 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 33339 (WebCore::MediaPlayerPrivate::play): 33340 (WebCore::MediaPlayerPrivate::pause): 33341 33342 2009-11-12 Kinuko Yasuda <kinuko (a] google.com> 33343 33344 Reviewed by David Levin. 33345 33346 Support Gtk scrollwheel behavior for horizontal scrollbars on Linux 33347 Chromium too. 33348 https://bugs.webkit.org/show_bug.cgi?id=31292 33349 33350 No new tests. (Corresponding test for Gtk+ is 33351 platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html) 33352 33353 * page/EventHandler.cpp: 33354 * page/chromium/EventHandlerChromium.cpp: 33355 33356 2009-11-12 Yuta Kitamura <yutak (a] chromium.org> 33357 33358 Reviewed by Eric Seidel. 33359 33360 Prevent text inside a multi-column block from being split into columns. 33361 33362 If the tentative height of a multi-column block was too small, we need to 33363 expand the block height and try to layout again, in order to prevent text 33364 from being split into different columns. 33365 33366 CSS Multicolumn text is split awkwardly 33367 https://bugs.webkit.org/show_bug.cgi?id=22249 33368 33369 Test: fast/multicol/single-line.html 33370 33371 * rendering/RenderBlock.cpp: 33372 (WebCore::RenderBlock::layoutColumns): 33373 * rendering/RenderBlock.h: 33374 * rendering/RenderLineBoxList.cpp: 33375 (WebCore::RenderLineBoxList::paint): 33376 * rendering/RenderView.h: 33377 (WebCore::RenderView::setTruncatedAt): 33378 (WebCore::RenderView::setMinimumColumnHeight): 33379 (WebCore::RenderView::minimumColumnHeight): 33380 33381 2009-11-11 Kent Tamura <tkent (a] chromium.org> 33382 33383 Reviewed by Darin Adler. 33384 33385 Fix a bug that RenderFileUploadControl isn't initialized with multiple files. 33386 https://bugs.webkit.org/show_bug.cgi?id=31195 33387 33388 Test: fast/forms/input-file-re-render.html 33389 33390 * rendering/RenderFileUploadControl.cpp: 33391 (WebCore::RenderFileUploadControl::RenderFileUploadControl): 33392 33393 2009-11-09 Dumitru Daniliuc <dumi (a] chromium.org> 33394 33395 Reviewed by Dimitri Glazkov. 33396 33397 Fixing Chromium's POSIX VFS implementation, by adding the required 33398 "used file descriptors" logic. 33399 33400 https://bugs.webkit.org/show_bug.cgi?id=31275 33401 33402 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 33403 33404 2009-11-11 Chris Fleizach <cfleizach (a] apple.com> 33405 33406 Reviewed by Oliver Hunt. 33407 33408 need to implement aria tree roles 33409 https://bugs.webkit.org/show_bug.cgi?id=31284 33410 33411 Tests: platform/mac/accessibility/aria-multiselectable.html 33412 platform/mac/accessibility/aria-tree.html 33413 33414 * accessibility/AccessibilityList.cpp: 33415 (WebCore::AccessibilityList::accessibilityIsIgnored): 33416 * accessibility/AccessibilityObject.cpp: 33417 (WebCore::AccessibilityObject::ariaTreeRows): 33418 (WebCore::AccessibilityObject::ariaTreeItemContent): 33419 (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows): 33420 * accessibility/AccessibilityObject.h: 33421 (WebCore::): 33422 (WebCore::AccessibilityObject::isTree): 33423 (WebCore::AccessibilityObject::isTreeItem): 33424 (WebCore::AccessibilityObject::setIsExpanded): 33425 (WebCore::AccessibilityObject::canSetExpandedAttribute): 33426 (WebCore::AccessibilityObject::hierarchicalLevel): 33427 (WebCore::AccessibilityObject::setSelectedRows): 33428 (WebCore::AccessibilityObject::performDefaultAction): 33429 * accessibility/AccessibilityRenderObject.cpp: 33430 (WebCore::AccessibilityRenderObject::hierarchicalLevel): 33431 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 33432 (WebCore::AccessibilityRenderObject::isExpanded): 33433 (WebCore::AccessibilityRenderObject::setElementAttributeValue): 33434 (WebCore::AccessibilityRenderObject::elementAttributeValue): 33435 (WebCore::AccessibilityRenderObject::setIsExpanded): 33436 (WebCore::AccessibilityRenderObject::isSelected): 33437 (WebCore::AccessibilityRenderObject::setSelected): 33438 (WebCore::AccessibilityRenderObject::setSelectedRows): 33439 (WebCore::createARIARoleMap): 33440 (WebCore::AccessibilityRenderObject::canSetExpandedAttribute): 33441 (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows): 33442 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 33443 (WebCore::AccessibilityRenderObject::selectedChildren): 33444 * accessibility/AccessibilityRenderObject.h: 33445 * accessibility/mac/AccessibilityObjectMac.mm: 33446 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 33447 * accessibility/mac/AccessibilityObjectWrapper.mm: 33448 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 33449 (RoleEntry::): 33450 (-[AccessibilityObjectWrapper subrole]): 33451 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 33452 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 33453 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): 33454 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 33455 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): 33456 * html/HTMLAttributeNames.in: 33457 33458 2009-11-11 Brent Fulgham <bfulgham (a] webkit.org> 33459 33460 Build fix after @r50760 with ENABLE_FILTERS. 33461 33462 * platform/graphics/filters/SourceAlpha.cpp: 33463 (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect. 33464 * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument 33465 to fillRect. 33466 33467 2009-11-11 Fumitoshi Ukai <ukai (a] chromium.org> 33468 33469 Reviewed by Alexey Proskuryakov. 33470 33471 Fix WebSocket frame parser of frame_type with high-order bit set. 33472 https://bugs.webkit.org/show_bug.cgi?id=30668 33473 33474 If buffer is smaller than frame's length, it should break the loop 33475 instead of reading next byte. 33476 33477 Tests: websocket/tests/frame-length-longer-than-buffer.html 33478 websocket/tests/frame-length-skip.html 33479 33480 * websockets/WebSocketChannel.cpp: 33481 (WebCore::WebSocketChannel::didReceiveData): 33482 33483 2009-11-11 Yusuke Sato <yusukes (a] chromium.org> 33484 33485 Reviewed by Adam Barth. 33486 33487 [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium 33488 https://bugs.webkit.org/show_bug.cgi?id=31345 33489 33490 Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed. 33491 33492 * platform/graphics/chromium/FontCustomPlatformData.cpp: 33493 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx(). 33494 (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call. 33495 (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well. 33496 33497 2009-11-11 Beth Dakin <bdakin (a] apple.com> 33498 33499 Build fix. No review needed. 33500 33501 * platform/graphics/gtk/FontGtk.cpp: 33502 (WebCore::Font::drawComplexText): 33503 33504 2009-11-11 Beth Dakin <bdakin (a] apple.com> 33505 33506 Build fix. No review needed. 33507 33508 * platform/graphics/cairo/FontCairo.cpp: 33509 (WebCore::Font::drawGlyphs): 33510 33511 2009-11-11 Beth Dakin <bdakin (a] apple.com> 33512 33513 Windows build fix. No review needed. 33514 33515 * platform/graphics/win/FontCGWin.cpp: 33516 (WebCore::Font::drawGlyphs): 33517 33518 2009-11-11 Beth Dakin <bdakin (a] apple.com> 33519 33520 Reviewed by Simon Fraser. 33521 33522 Fix for https://bugs.webkit.org/show_bug.cgi?id=31382 33523 Make -webkit-color-correction work with shadows 33524 33525 From canvas, just send DeviceColorSpace to setShadow() for now. 33526 Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319 33527 * html/canvas/CanvasRenderingContext2D.cpp: 33528 (WebCore::CanvasRenderingContext2D::setShadow): 33529 (WebCore::CanvasRenderingContext2D::applyShadow): 33530 33531 setShadow() and setPlatformShadow() now take a ColorSpace. 33532 * platform/graphics/GraphicsContext.cpp: 33533 (WebCore::GraphicsContext::setShadow): 33534 * platform/graphics/GraphicsContext.h: 33535 * platform/graphics/cg/GraphicsContextCG.cpp: 33536 (WebCore::createCGColorWithColorSpace): New helper to create a 33537 color in a ColorSpace. 33538 (WebCore::setCGFillColor): Call new helper. 33539 (WebCore::setCGStrokeColor): Call new helper. 33540 (WebCore::GraphicsContext::setPlatformShadow): Call new helper. 33541 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 33542 (WebCore::GraphicsContext::setPlatformShadow): 33543 33544 Send appropriate ColorSpace to setShadow(). 33545 * platform/graphics/mac/FontMac.mm: 33546 (WebCore::Font::drawGlyphs): 33547 * rendering/EllipsisBox.cpp: 33548 (WebCore::EllipsisBox::paint): 33549 * rendering/InlineFlowBox.cpp: 33550 (WebCore::InlineFlowBox::paintTextDecorations): 33551 * rendering/InlineTextBox.cpp: 33552 (WebCore::paintTextWithShadows): 33553 (WebCore::InlineTextBox::paintDecoration): 33554 * rendering/RenderBoxModelObject.cpp: 33555 (WebCore::RenderBoxModelObject::paintBoxShadow): 33556 * rendering/SVGInlineTextBox.cpp: 33557 (WebCore::SVGInlineTextBox::paintCharacters): 33558 * rendering/SVGRenderSupport.cpp: 33559 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 33560 33561 Attempt to keep ports building. 33562 * platform/graphics/cairo/GraphicsContextCairo.cpp: 33563 (WebCore::GraphicsContext::setPlatformShadow): 33564 * platform/graphics/qt/GraphicsContextQt.cpp: 33565 (WebCore::GraphicsContext::setPlatformShadow): 33566 * platform/graphics/skia/GraphicsContextSkia.cpp: 33567 (WebCore::GraphicsContext::setPlatformShadow): 33568 * platform/graphics/wince/GraphicsContextWince.cpp: 33569 (WebCore::GraphicsContext::setPlatformShadow): 33570 * platform/graphics/wx/GraphicsContextWx.cpp: 33571 (WebCore::GraphicsContext::setPlatformShadow): 33572 33573 2009-11-11 Kent Tamura <tkent (a] chromium.org> 33574 33575 Reviewed by Darin Adler. 33576 33577 Print the file text of a file upload control in DumpRenderTree for ease of tests. 33578 https://bugs.webkit.org/show_bug.cgi?id=31195 33579 33580 * rendering/RenderFileUploadControl.cpp: 33581 (WebCore::RenderFileUploadControl::paintObject): 33582 (WebCore::RenderFileUploadControl::fileTextValue): 33583 * rendering/RenderFileUploadControl.h: 33584 (WebCore::RenderFileUploadControl::isFileUploadControl): 33585 (WebCore::toRenderFileUploadControl): 33586 * rendering/RenderObject.h: 33587 (WebCore::RenderObject::isFileUploadControl): 33588 * rendering/RenderTreeAsText.cpp: 33589 (WebCore::operator<<): 33590 33591 2009-11-11 Gavin Barraclough <barraclough (a] apple.com> 33592 33593 Reviewed by Sam Weinig. 33594 33595 DOM Wrappers for some nodes may not be marked. 33596 https://bugs.webkit.org/show_bug.cgi?id=31380 33597 33598 Some markChildren methods are calling getCachedDOMNodeWrapper, which will find 33599 the wrapper for the current world only. This means that wrappers may be GC'ed 33600 prematurely, and properties lost. 33601 33602 Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds. 33603 33604 * bindings/js/JSAttrCustom.cpp: 33605 (WebCore::JSAttr::markChildren): 33606 * bindings/js/JSDOMBinding.cpp: 33607 (WebCore::markDOMNodeWrapper): 33608 * bindings/js/JSDOMBinding.h: 33609 * bindings/js/JSNamedNodeMapCustom.cpp: 33610 (WebCore::JSNamedNodeMap::markChildren): 33611 * bindings/js/JSNodeCustom.cpp: 33612 (WebCore::JSNode::markChildren): 33613 * bindings/js/JSSVGElementInstanceCustom.cpp: 33614 (WebCore::JSSVGElementInstance::markChildren): 33615 * bindings/js/JSStyleSheetCustom.cpp: 33616 (WebCore::JSStyleSheet::markChildren): 33617 33618 2009-11-11 Ben Murdoch <benm (a] google.com> 33619 33620 Reviewed by Darin Adler. 33621 33622 bindings/js/ScriptObject.cpp is missing and ENABLE(INSPECTOR) guard. 33623 https://bugs.webkit.org/show_bug.cgi?id=31384 33624 33625 No functionality change so no tests required. 33626 33627 * bindings/js/ScriptObject.cpp: Add ENABLE(INSPECTOR) guard around the JSInspectorBackend.h include. 33628 33629 2009-11-11 Jens Alfke <snej (a] chromium.org> 33630 33631 Reviewed by Dimitri Glazkov. 33632 33633 The Big De-Inlining. 450k code size reduction (32-bit x86.) 33634 - Various inline functions in V8Binding.h made non-inline. 33635 - Some renaming for consistency. 33636 - New function createRawTemplate(). 33637 https://bugs.webkit.org/show_bug.cgi?id=31383 33638 33639 * bindings/scripts/CodeGeneratorV8.pm: 33640 * bindings/v8/V8Binding.cpp: 33641 (WebCore::v8DOMWrapperToNative): 33642 (WebCore::v8ValueToWebCoreString): 33643 (WebCore::v8ValueToAtomicWebCoreString): 33644 (WebCore::toInt32): 33645 (WebCore::toWebCoreString): 33646 (WebCore::toWebCoreStringWithNullCheck): 33647 (WebCore::toAtomicWebCoreStringWithNullCheck): 33648 (WebCore::toWebCoreStringWithNullOrUndefinedCheck): 33649 (WebCore::isUndefinedOrNull): 33650 (WebCore::v8Boolean): 33651 (WebCore::v8UndetectableString): 33652 (WebCore::v8StringOrNull): 33653 (WebCore::v8StringOrUndefined): 33654 (WebCore::v8StringOrFalse): 33655 (WebCore::v8StringToWebCoreString): 33656 (WebCore::v8ExternalString): 33657 (WebCore::createRawTemplate): New function. 33658 * bindings/v8/V8Binding.h: 33659 (WebCore::v8DOMWrapperTo): 33660 (WebCore::v8DOMWrapperToNode): 33661 (WebCore::v8StringToWebCoreString): 33662 (WebCore::v8StringToAtomicWebCoreString): 33663 33664 2009-11-11 Jens Alfke <snej (a] chromium.org> 33665 33666 Reviewed by Dimitri Glazkov. 33667 33668 More V8 de-inlining (outlining?) Abstracted a chunk of boilerplate code from every 33669 event-listener setter into a new subroutine transferHiddenDependency(). 33670 https://bugs.webkit.org/show_bug.cgi?id=31377 33671 33672 * bindings/scripts/CodeGeneratorV8.pm: Replace boilerplate with call to transferHiddenDependency(). 33673 * bindings/v8/V8Utilities.cpp: 33674 (WebCore::transferHiddenDependency): New. 33675 * bindings/v8/V8Utilities.h: Declaration of transferHiddenDependency. 33676 33677 2009-11-11 Brian Weinstein <bweinstein (a] apple.com> 33678 33679 Reviewed by Beth Dakin. 33680 33681 If we are on Windows, don't try and get the kCGColorSpaceSRGB ColorSpace, 33682 because there is a CG bug preventing this from working. 33683 33684 * platform/graphics/cg/GraphicsContextCG.cpp: 33685 (WebCore::sRGBColorSpaceRef): 33686 33687 2009-11-11 Pavel Feldman <pfeldman (a] chromium.org> 33688 33689 Reviewed by Timothy Hatcher. 33690 33691 Check that if Storage panel exists before calling its methods 33692 33693 https://bugs.webkit.org/show_bug.cgi?id=31343 33694 33695 * inspector/front-end/inspector.js: 33696 (WebInspector.addDatabase): 33697 (WebInspector.addCookieDomain): 33698 (WebInspector.addDOMStorage): 33699 (WebInspector.updateDOMStorage): 33700 33701 2009-11-11 Jens Alfke <snej (a] chromium.org> 33702 33703 Reviewed by Dimitri Glazkov. 33704 33705 De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136 33706 times in the generated V8 bindings. 33707 https://bugs.webkit.org/show_bug.cgi?id=31368 33708 33709 * bindings/v8/V8DOMWrapper.cpp: 33710 (WebCore::V8DOMWrapper::convertNodeToV8Object): Moved body here from .h file 33711 * bindings/v8/V8DOMWrapper.h: Removed inline method body. 33712 33713 2009-11-11 Jessie Berlin <jberlin (a] webkit.org> 33714 33715 Reviewed by Timothy Hatcher. 33716 33717 Display the correct summary in the web inspector for the shorthands 33718 border-color, border-width, border-style, margin, and padding. 33719 https://bugs.webkit.org/show_bug.cgi?id=7987 33720 33721 Test: fast/css/shorthands-four-values.html 33722 33723 * css/CSSMutableStyleDeclaration.cpp: 33724 (WebCore::CSSMutableStyleDeclaration::get4Values): 33725 Display the summary information in the same way the shorthand would be 33726 specified in a css rule. 33727 33728 2009-11-11 Jens Alfke <snej (a] chromium.org> 33729 33730 Reviewed by Dimitri Glazkov. 33731 33732 Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent 33733 meaning to the caller, saves code, and appears to save a few cycles at runtime too. 33734 https://bugs.webkit.org/show_bug.cgi?id=31367 33735 33736 * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()" 33737 33738 2009-11-11 Jens Alfke <snej (a] chromium.org> 33739 33740 Reviewed by Dimitri Glazkov. 33741 33742 Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining. 33743 33744 * bindings/v8/DOMData.cpp: 33745 (WebCore::DOMData::getCurrent): Moved getCurrentMainThread to MainThreadDOMData::getCurrent 33746 so it can be inlined by its caller. 33747 * bindings/v8/DOMData.h: 33748 * bindings/v8/MainThreadDOMData.cpp: 33749 (WebCore::MainThreadDOMData::getCurrent): Moved here from DOMData.cpp. 33750 (WebCore::MainThreadDOMData::getMainThreadStore): Added UNLIKELY macro to improve codegen. 33751 (WebCore::MainThreadDOMData::getCurrentMainThreadStore): Combination of getCurrentMainThread 33752 and getStore, which inline both calls together. 33753 * bindings/v8/MainThreadDOMData.h: 33754 (WebCore::MainThreadDOMData::getStore): Broke out nonvirtual getMainThreadStore for inlineability. 33755 * bindings/v8/V8DOMMap.cpp: 33756 (WebCore::getDOMNodeMap): Call new getCurrentMainThreadStore, which is faster. 33757 33758 2009-11-11 Nate Chapin <japhet (a] chromium.org> 33759 33760 Reviewed by Dimitri Glazkov. 33761 33762 Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle. 33763 33764 https://bugs.webkit.org/show_bug.cgi?id=31357 33765 33766 * platform/KURLGoogle.cpp: 33767 (WebCore::isSchemeFirstChar): 33768 (WebCore::isSchemeChar): 33769 (WebCore::KURL::hasPort): 33770 (WebCore::KURL::removePort): 33771 (WebCore::protocolIsValid): 33772 33773 2009-11-11 Brent Fulgham <bfulgham (a] webkit.org> 33774 33775 Build fix, no reviewed. 33776 33777 Correct setPlatformFillColor and setPlatformStrokeColor calls 33778 to match new ColorSpace-supporting signatures. 33779 33780 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add the 33781 color space to the set[...]Color calls. 33782 33783 2009-11-10 Alexey Proskuryakov <ap (a] apple.com> 33784 33785 Reviewed by Sam Weinig. 33786 33787 https://bugs.webkit.org/show_bug.cgi?id=31327 33788 Clean up SocketStreamHandleClient interface 33789 33790 No change in behavior. 33791 33792 * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData. 33793 (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by 33794 the only client (WebSocketChannel), and it's not clear what this callback's semantics 33795 should be. 33796 (WebCore::SocketStreamHandleClient::willSendData): Ditto. 33797 (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced. 33798 For ResourceHandle, this method is called when the user cancels authentication sheet, 33799 not when something happens with the stream. 33800 33801 * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any 33802 reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge. 33803 33804 * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related 33805 callbacks have no real implementation yet. 33806 33807 2009-11-11 Zoltan Horvath <zoltan (a] webkit.org> 33808 33809 Reviewed by Eric Seidel. 33810 33811 Allow custom memory allocation control for the part of page directory in WebCore 33812 https://bugs.webkit.org/show_bug.cgi?id=31350 33813 33814 Inherits the following classes from Noncopyable because these are instantiated 33815 by 'new' and these are no need to be copyable: 33816 33817 class DragController - instantiated at: WebCore/page/Page.cpp:107 33818 class FocusController - instantiated at: WebCore/page/Page.cpp:109 33819 class Settings - instantiated at: WebCore/page/Page.cpp:116 33820 class PluginHalter - instantiated at: WebCore/page/Page.cpp:160 33821 struct ScheduledEvent - instantiated at: WebCore/page/FrameView.cpp:1275 33822 class UserScript - instantiated at: WebCore/page/PageGroup.cpp:208 33823 struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182 33824 class XSSAuditor - instantiated at: WebCore/bindings/js/ScriptController.cpp:70 33825 class UserStyleSheet - instantiated at: WebCore/page/PageGroup.cpp:222 33826 33827 Inherits PropertyWrapperBase class from Noncopyable because (its child class) 33828 PropertyWrapper is instantiated by 'new' in 33829 WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable. 33830 33831 * page/DragController.h: 33832 * page/EventHandler.h: 33833 * page/FocusController.h: 33834 * page/FrameView.cpp: 33835 * page/PluginHalter.h: 33836 * page/Settings.h: 33837 * page/UserScript.h: 33838 * page/UserStyleSheet.h: 33839 * page/XSSAuditor.h: 33840 * page/animation/AnimationBase.cpp: 33841 33842 2009-11-11 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 33843 33844 Reviewed by Kenneth Rohde Christiansen. 33845 33846 https://bugs.webkit.org/show_bug.cgi?id=31323 33847 Fix a few compiler warnings 33848 33849 No new tests as there is no new functionality. 33850 33851 * editing/htmlediting.cpp: 33852 (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit 33853 parentheses to silence gcc 4.4 -Wparentheses warnings 33854 33855 2009-11-11 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 33856 33857 Reviewed by Mark Rowe. 33858 33859 Set m_hasPendingGeometryChange to true by default, so that 33860 at least one call to NPP_SetWindow is executed, which is 33861 needed by the DRT plugin testing framework. 33862 33863 * plugins/PluginView.cpp: 33864 (WebCore::PluginView::PluginView): 33865 33866 2009-11-11 Csaba Osztrogonc <ossy (a] webkit.org> 33867 33868 Rubber-stamped by Kenneth Rohde Christiansen. 33869 33870 https://bugs.webkit.org/show_bug.cgi?id=31348 33871 [Qt] Remove unnecessary LUT creator from WebCore.pro 33872 33873 * WebCore.pro: 33874 33875 2009-11-11 Simon Hausmann <simon.hausmann (a] nokia.com> 33876 33877 Reviewed by Tor Arne Vestb. 33878 33879 Introduce a function for querying the input method status 33880 in QWebPageClient. 33881 33882 * platform/qt/QWebPageClient.h: 33883 33884 2009-11-11 Benjamin Otte <otte (a] gnome.org> 33885 33886 Reviewed by Jan Alonzo. 33887 33888 [GTK] Black artifacts in youtube.com/html5 33889 33890 Paint the video to the given size. It's the job of the callers to keep 33891 track of aspect ratio. RenderVideo.cpp does it for the <video> 33892 element. 33893 https://bugs.webkit.org/show_bug.cgi?id=30925 33894 33895 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 33896 (WebCore::MediaPlayerPrivate::paint): 33897 33898 2009-11-11 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 33899 33900 Reviewed by Reviewed by Jan Alonzo. 33901 33902 https://bugs.webkit.org/show_bug.cgi?id=30901 33903 [Gtk] Need to de-lint the Atk a11y code 33904 33905 Cleaned up some missed capitalization style-guideline violations. 33906 33907 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 33908 33909 2009-11-11 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 33910 33911 Reviewed by Eric Seidel. 33912 33913 [Qt] Make the default style background color valid. 33914 Currently the color is transparent but invalid, this causes 33915 list boxes in QtWebKit to be drawn with a black background 33916 since r49242. 33917 https://bugs.webkit.org/show_bug.cgi?id=31295 33918 33919 * rendering/style/RenderStyle.h: 33920 (WebCore::InheritedFlags::initialBackgroundColor): 33921 * rendering/style/StyleBackgroundData.cpp: 33922 (WebCore::StyleBackgroundData::StyleBackgroundData): 33923 33924 2009-11-10 Gavin Barraclough <barraclough (a] apple.com> 33925 33926 Reviewed by Geoff Garen. 33927 33928 Simplify the ownership model for worlds - rather than having a pair of weak references 33929 between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an 33930 ref pointer to the former. This reduces complexity & cost of the caching entries in the 33931 back forward cache. 33932 33933 * WebCore.base.exp: 33934 * bindings/js/JSDOMBinding.cpp: 33935 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 33936 * bindings/js/JSDOMBinding.h: 33937 (WebCore::DOMWrapperWorld::forgetDocument): 33938 * bindings/js/ScriptCachedFrameData.cpp: 33939 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 33940 (WebCore::ScriptCachedFrameData::restore): 33941 (WebCore::ScriptCachedFrameData::clear): 33942 * bindings/js/ScriptCachedFrameData.h: 33943 * bindings/js/ScriptController.cpp: 33944 (WebCore::ScriptController::~ScriptController): 33945 (WebCore::ScriptController::clearWindowShell): 33946 (WebCore::ScriptController::initScript): 33947 (WebCore::ScriptController::updateDocument): 33948 * bindings/js/ScriptController.h: 33949 33950 2009-11-10 Shinichiro Hamaji <hamaji (a] chromium.org> 33951 33952 Reviewed by Darin Adler. 33953 33954 rename counter to makeCounterNode in RenderCounter.cpp 33955 https://bugs.webkit.org/show_bug.cgi?id=31289 33956 33957 No new test because this is just a small refactoring. 33958 33959 * rendering/RenderCounter.cpp: 33960 (WebCore::findPlaceForCounter): 33961 (WebCore::makeCounterNode): 33962 (WebCore::RenderCounter::originalText): 33963 33964 2009-11-10 Daniel Bates <dbates (a] webkit.org> 33965 33966 Reviewed by Oliver Hunt. 33967 33968 https://bugs.webkit.org/show_bug.cgi?id=30754 33969 33970 Patch 2 of 2. 33971 33972 Removed method EventHandler::dragSourceMovedTo, since it is no longer 33973 needed. This method fired a drag event whenever the mouse moved, but 33974 section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing 33975 model independent of when the mouse moves. See "Among other changes..." 33976 in the change log for patch 1 for more details. 33977 33978 * WebCore.DragSupport.exp: 33979 * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo. 33980 (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue. 33981 * page/EventHandler.h: 33982 33983 2009-11-10 Daniel Bates <dbates (a] webkit.org> 33984 33985 Reviewed by Oliver Hunt. 33986 33987 https://bugs.webkit.org/show_bug.cgi?id=30754 33988 33989 Patch 1 of 2. 33990 33991 As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>, 33992 the drag event should always fire before the dragover event. 33993 33994 In fixing this bug, this patch also makes our drag processing model 33995 conform to the HTML 5 spec. 33996 33997 Among the changes, this patch ensures that the drag event isn't fired outside 33998 of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop. 33999 Currently, the drag event is fired whenever the mouse button is down and the OS 34000 detects the mouse moved. But, as per the spec, the drag event should 34001 fire approx. every 350ms so long as the mouse button is down. 34002 34003 Test: fast/events/drag-and-drop-fire-drag-dragover.html 34004 34005 * page/EventHandler.cpp: 34006 (WebCore::EventHandler::clear): 34007 (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget. 34008 Modified to determine when we are in the correct instance of EventHandler to service the drag 34009 and drop operation. 34010 (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo 34011 into this method. 34012 (WebCore::EventHandler::cancelDragAndDrop): 34013 (WebCore::EventHandler::performDragAndDrop): 34014 (WebCore::EventHandler::clearDragState): 34015 * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether 34016 we should fire both drag and dragover events or only the dragover event. 34017 34018 2009-11-10 Vitaly Repeshko <vitalyr (a] chromium.org> 34019 34020 Reviewed by Dimitri Glazkov. 34021 34022 [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726). 34023 https://bugs.webkit.org/show_bug.cgi?id=31301 34024 34025 Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html. 34026 34027 Allowed passing V8Proxy for the calling JS context: 34028 * bindings/v8/V8DOMWrapper.h: 34029 (WebCore::V8DOMWrapper::getXPathNSResolver): 34030 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 34031 (WebCore::V8CustomXPathNSResolver::create): 34032 (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver): 34033 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 34034 * bindings/v8/custom/V8CustomXPathNSResolver.h: 34035 * bindings/v8/custom/V8DocumentCustom.cpp: 34036 (WebCore::CALLBACK_FUNC_DECL): 34037 34038 2009-11-10 Yael Aharon <yael.aharon (a] nokia.com> 34039 34040 Reviewed by Timothy Hatcher. 34041 34042 Implement URL decomposition IDL attributes for HTMLAnchorElement. 34043 https://bugs.webkit.org/show_bug.cgi?id=29972. 34044 34045 Add methods for setting different parts of the URL in href attribute. 34046 34047 Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html 34048 fast/dom/HTMLAnchorElement/set-href-attribute-host.html 34049 fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html 34050 fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html 34051 fast/dom/HTMLAnchorElement/set-href-attribute-port.html 34052 fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html 34053 fast/dom/HTMLAnchorElement/set-href-attribute-search.html 34054 34055 * bindings/js/JSLocationCustom.cpp: 34056 (WebCore::JSLocation::setPort): 34057 * html/HTMLAnchorElement.cpp: 34058 (WebCore::parsePortFromStringPosition): 34059 (WebCore::HTMLAnchorElement::setHash): 34060 (WebCore::HTMLAnchorElement::setHost): 34061 (WebCore::HTMLAnchorElement::setHostname): 34062 (WebCore::HTMLAnchorElement::setPathname): 34063 (WebCore::HTMLAnchorElement::setPort): 34064 (WebCore::HTMLAnchorElement::setProtocol): 34065 (WebCore::HTMLAnchorElement::setSearch): 34066 * html/HTMLAnchorElement.h: 34067 * html/HTMLAnchorElement.idl: 34068 * loader/FrameLoader.cpp: 34069 (WebCore::FrameLoader::iconURL): 34070 * platform/KURL.cpp: 34071 (WebCore::KURL::removePort): 34072 (WebCore::KURL::setPort): 34073 (WebCore::KURL::prettyURL): 34074 (WebCore::protocolIsValid): 34075 * platform/KURL.h: 34076 (WebCore::KURL::canSetHostOrPort): 34077 (WebCore::KURL::canSetPathname): 34078 (WebCore::KURL::hasPort): 34079 * platform/network/soup/ResourceHandleSoup.cpp: 34080 (WebCore::): 34081 34082 2009-11-10 Nate Chapin <japhet (a] chromium.org> 34083 34084 Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760. 34085 34086 * platform/chromium/PopupMenuChromium.cpp: 34087 (WebCore::PopupContainer::paintBorder): 34088 (WebCore::PopupListBox::paint): 34089 (WebCore::PopupListBox::paintRow): 34090 * platform/graphics/chromium/TransparencyWin.cpp: 34091 (WebCore::TransparencyWin::setupLayerForWhiteLayer): 34092 * platform/graphics/skia/GraphicsContextSkia.cpp: 34093 (WebCore::GraphicsContext::fillRect): 34094 (WebCore::GraphicsContext::fillRoundedRect): 34095 (WebCore::GraphicsContext::setPlatformFillColor): 34096 (WebCore::GraphicsContext::setPlatformStrokeColor): 34097 * rendering/RenderMediaControlsChromium.cpp: 34098 (WebCore::paintMediaSlider): 34099 (WebCore::paintMediaVolumeSlider): 34100 (WebCore::paintMediaTimelineContainer): 34101 * rendering/RenderThemeChromiumMac.mm: 34102 (WebCore::RenderThemeChromiumMac::paintMenuListButton): 34103 34104 2009-11-10 Brady Eidson <beidson (a] apple.com> 34105 34106 Reviewed by Sam Weinig. 34107 34108 Repro crash saving pcmag.com article as a webarchive. 34109 <rdar://problem/7381219> and https://webkit.org/b/31322 34110 34111 Test: http/tests/webarchive/cross-origin-stylesheet-crash.html 34112 34113 * css/CSSStyleSheet.cpp: 34114 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead 34115 of creating a CSSRuleList (and subjecting ourselves to the security origin check) 34116 34117 2009-11-10 Beth Dakin <bdakin (a] apple.com> 34118 34119 Attempt 2 to fix Tiger build. No review needed. 34120 34121 * platform/graphics/cg/GraphicsContextCG.cpp: 34122 (WebCore::deviceRGBColorSpaceRef): 34123 (WebCore::sRGBColorSpaceRef): 34124 34125 2009-11-10 Kevin Ollivier <kevino (a] theolliviers.com> 34126 34127 wx build fix. Changes needed after r50760. 34128 34129 * platform/graphics/wx/GraphicsContextWx.cpp: 34130 (WebCore::GraphicsContext::GraphicsContext): 34131 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: 34132 (WebCore::drawTextWithSpacing): 34133 34134 2009-11-10 Alexey Proskuryakov <ap (a] apple.com> 34135 34136 Qt build fix. 34137 34138 * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms 34139 that use ResourceHandle as a delegate (Mac, CFNetwork, Curl). 34140 34141 2009-11-10 Beth Dakin <bdakin (a] apple.com> 34142 34143 Tiger build fix. No review needed. 34144 34145 * platform/graphics/cg/GraphicsContextCG.cpp: 34146 (WebCore::sRGBColorSpaceRef): 34147 34148 2009-11-10 Alexey Proskuryakov <ap (a] apple.com> 34149 34150 Reviewed by Dan Bernstein. 34151 34152 https://bugs.webkit.org/show_bug.cgi?id=31312 34153 Decouple authentication panel callbacks from ResourceHandle 34154 34155 No change in functionality. 34156 34157 SocketStreamHandle also needs to request credentials, so it's not appropriate to store 34158 ResourceHandle as delegate. 34159 34160 * WebCore.vcproj/WebCore.vcproj: 34161 * platform/network/AuthenticationClient.h: Added. 34162 Added a new interface for listening to authentication panel notifications. 34163 34164 * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what 34165 it wants with the project file. 34166 34167 (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an 34168 interface class. 34169 (WebCore::AuthenticationClient::deref): Ditto. 34170 34171 * platform/network/ResourceHandle.h: 34172 (WebCore::ResourceHandle::refAuthenticationClient): Ditto. 34173 (WebCore::ResourceHandle::derefAuthenticationClient): Ditto. 34174 34175 * platform/network/cf/AuthenticationCF.cpp: 34176 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 34177 (WebCore::AuthenticationChallenge::platformCompare): 34178 * platform/network/cf/AuthenticationChallenge.h: 34179 (WebCore::AuthenticationChallenge::authenticationClient): 34180 * platform/network/chromium/AuthenticationChallenge.h: 34181 (WebCore::AuthenticationChallenge::authenticationClient): 34182 * platform/network/curl/AuthenticationChallenge.h: 34183 (WebCore::AuthenticationChallenge::authenticationClient): 34184 Keeping a reference to AuthenticationClient, not to ResourceHandle. 34185 34186 2009-11-10 Beth Dakin <bdakin (a] apple.com> 34187 34188 Second attempted gtk build fix. No review needed. 34189 34190 * html/canvas/CanvasStyle.cpp: 34191 (WebCore::CanvasStyle::applyStrokeColor): 34192 34193 34194 2009-11-10 Gavin Barraclough <barraclough (a] apple.com> 34195 34196 Reviewed by Geoff Garen. 34197 34198 Fix back/forwards cache with JSC isolated worlds. 34199 https://bugs.webkit.org/show_bug.cgi?id=31310 34200 <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world 34201 34202 Store the global object for all worlds, not just the normal world. 34203 Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld, 34204 so we can forget global objects if a world goes away. 34205 34206 * bindings/js/JSDOMBinding.cpp: 34207 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 34208 * bindings/js/JSDOMBinding.h: 34209 (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData): 34210 (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData): 34211 * bindings/js/ScriptCachedFrameData.cpp: 34212 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 34213 (WebCore::ScriptCachedFrameData::forgetWorld): 34214 (WebCore::ScriptCachedFrameData::domWindow): 34215 (WebCore::ScriptCachedFrameData::restore): 34216 (WebCore::ScriptCachedFrameData::clear): 34217 * bindings/js/ScriptCachedFrameData.h: 34218 * bindings/js/ScriptController.h: 34219 34220 2009-11-10 Csaba Osztrogonc <ossy (a] webkit.org> 34221 34222 [Qt] Unreviewed buildfix after r50760. 34223 34224 * platform/graphics/qt/GraphicsContextQt.cpp: 34225 (WebCore::GraphicsContext::GraphicsContext): 34226 34227 2009-11-10 Beth Dakin <bdakin (a] apple.com> 34228 34229 Attempted build fix. (No review needed.) 34230 34231 * GNUmakefile.am: Adding ColorSpace.h 34232 34233 2009-11-10 Brian Weinstein <bweinstein (a] apple.com> 34234 34235 Reviewed by NOBODY - Build Fix. 34236 34237 Updated function calls to take a ColorSpace argument, passing 34238 in DeviceColorSpace for now - this should be fixed. Also added 34239 ColorSpace.h to WebCore project. 34240 34241 * WebCore.vcproj/WebCore.vcproj: 34242 * platform/graphics/win/FontCGWin.cpp: 34243 (WebCore::Font::drawGlyphs): 34244 * platform/graphics/win/GraphicsContextCGWin.cpp: 34245 (WebCore::GraphicsContext::GraphicsContext): 34246 * platform/win/PopupMenuWin.cpp: 34247 (WebCore::PopupMenu::paint): 34248 * platform/win/WebCoreTextRenderer.cpp: 34249 (WebCore::doDrawTextAtPoint): 34250 * rendering/RenderThemeSafari.cpp: 34251 (WebCore::RenderThemeSafari::paintMenuListButton): 34252 34253 2009-11-10 Jens Alfke <snej (a] chromium.org> 34254 34255 Reviewed by Darin Adler. 34256 34257 Optimizations to Element::getAttribute 34258 https://bugs.webkit.org/show_bug.cgi?id=30926 34259 34260 * dom/Element.cpp: 34261 (WebCore::Element::getAttribute): User case-insensitive compare instead of lowercasing the name. 34262 * dom/NamedAttrMap.cpp: 34263 (WebCore::NamedNodeMap::getAttributeItem): Avoid redundant compares, and do fast/likely compares first. 34264 * platform/text/PlatformString.h: 34265 (WebCore::equalPossiblyIgnoringCase): New inline method, used by both of the above. 34266 34267 2009-11-10 Beth Dakin <bdakin (a] apple.com> 34268 34269 Reviewed by Darin Adler. 34270 34271 Fix for <rdar://problem/7059710> 34272 -and corresponding- 34273 https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit- 34274 color-correction for CSS colors 34275 34276 New exported symbol for GraphicsContext::fillColor() which now 34277 accepts a ColorSpace as an optional parameter. 34278 * WebCore.base.exp: 34279 34280 Added a new file, ColorSpace.h, to define the ColorSpace enum. 34281 * WebCore.xcodeproj/project.pbxproj: 34282 34283 Computed Style for -webkit-color-correction 34284 * css/CSSComputedStyleDeclaration.cpp: 34285 (WebCore::): 34286 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 34287 34288 Parse -webkit-color-correction 34289 * css/CSSParser.cpp: 34290 (WebCore::CSSParser::parseValue): 34291 34292 Map CSS identifiers to the appropriate values of the ColorSpace enum 34293 * css/CSSPrimitiveValueMappings.h: 34294 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 34295 (WebCore::CSSPrimitiveValue::operator ColorSpace): 34296 34297 New property -webkit-color-correction 34298 * css/CSSPropertyNames.in: 34299 34300 Map -webkit-color-correction into the RenderStyle. 34301 * css/CSSStyleSelector.cpp: 34302 (WebCore::CSSStyleSelector::applyProperty): 34303 34304 Add new value sRGB. 34305 * css/CSSValueKeywords.in: 34306 34307 Comment out the reference to sRGB since it will now be inherited as 34308 a value from CSSValueKeywords. 34309 * css/SVGCSSValueKeywords.in: 34310 34311 Definition of the ColorSpace enum. 34312 * platform/graphics/ColorSpace.h: Added. 34313 (WebCore::): 34314 34315 These functions all now take a ColorSpace as a parameter. 34316 * platform/graphics/GraphicsContext.cpp: 34317 (WebCore::GraphicsContext::setStrokeColor): 34318 (WebCore::GraphicsContext::setFillColor): 34319 (WebCore::GraphicsContext::drawHighlightForText): 34320 34321 Return the appropriate ColorSpace. 34322 (WebCore::GraphicsContext::strokeColorSpace): 34323 (WebCore::GraphicsContext::fillColorSpace): 34324 34325 These functions all call other functions which require a ColorSpace 34326 as a parameter. 34327 (WebCore::GraphicsContext::setStrokePattern): 34328 (WebCore::GraphicsContext::setFillPattern): 34329 (WebCore::GraphicsContext::setStrokeGradient): 34330 (WebCore::GraphicsContext::setFillGradient): 34331 34332 All of the GraphicsContext functions that take a Color should now 34333 also take a ColorSpace. 34334 * platform/graphics/GraphicsContext.h: 34335 34336 Added new member variables stokeColorSpace and fillColorSpace. 34337 * platform/graphics/GraphicsContextPrivate.h: 34338 (WebCore::GraphicsContextState::GraphicsContextState): 34339 34340 Attempt to keep the Cairo port building with all of the massive 34341 changes to GraphicsContext. 34342 * platform/graphics/cairo/GraphicsContextCairo.cpp: 34343 (WebCore::GraphicsContext::fillRect): 34344 (WebCore::GraphicsContext::setPlatformFillColor): 34345 (WebCore::GraphicsContext::setPlatformStrokeColor): 34346 (WebCore::GraphicsContext::fillRoundedRect): 34347 34348 34349 * platform/graphics/cg/GraphicsContextCG.cpp: 34350 (WebCore::sRGBColorSpaceRef): New static function that returns a 34351 CGColorSpaceRef for the sRGB color space. 34352 (WebCore::deviceRGBColorSpaceRef): New static function that returns 34353 a CGColorSpaceRef for the device RGB color space. 34354 34355 (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 34356 sets the fill color to the specified color in the given ColorSpace. 34357 (WebCore::setCGStrokeColor): Same, but for stroke. 34358 34359 (WebCore::setCGFillColorSpace): New static to set the 34360 CGFillColorSpace to the given ColorSpace 34361 (WebCore::setCGStrokeColorSpace): Same, but for stroke. 34362 34363 Send ColorSpaces when appropriate, set ColorSpaces when 34364 appropriate, and check ColorSpaces when appropriate. 34365 (WebCore::GraphicsContext::GraphicsContext): 34366 (WebCore::GraphicsContext::drawRect): 34367 (WebCore::GraphicsContext::drawLine): 34368 (WebCore::GraphicsContext::fillPath): 34369 (WebCore::GraphicsContext::strokePath): 34370 (WebCore::GraphicsContext::fillRect): 34371 (WebCore::GraphicsContext::fillRoundedRect): 34372 (WebCore::GraphicsContext::strokeRect): 34373 (WebCore::GraphicsContext::drawLineForText): 34374 (WebCore::GraphicsContext::setPlatformStrokeColor): 34375 (WebCore::GraphicsContext::setPlatformFillColor): 34376 34377 Attempt to keep Haiku building. 34378 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 34379 (WebCore::GraphicsContext::fillRect): 34380 (WebCore::GraphicsContext::fillRoundedRect): 34381 (WebCore::GraphicsContext::setPlatformStrokeColor): 34382 (WebCore::GraphicsContext::setPlatformFillColor): 34383 34384 Attempt to keep QT building. 34385 * platform/graphics/qt/GraphicsContextQt.cpp: 34386 (WebCore::GraphicsContext::fillRect): 34387 (WebCore::GraphicsContext::fillRoundedRect): 34388 (WebCore::GraphicsContext::setPlatformStrokeColor): 34389 (WebCore::GraphicsContext::setPlatformFillColor): 34390 34391 Attempt to keep Wince building. 34392 * platform/graphics/wince/GraphicsContextWince.cpp: 34393 (WebCore::GraphicsContext::fillRect): 34394 (WebCore::GraphicsContext::setPlatformFillColor): 34395 (WebCore::GraphicsContext::setPlatformStrokeColor): 34396 (WebCore::GraphicsContext::clearRect): 34397 (WebCore::GraphicsContext::fillRoundedRect): 34398 (WebCore::GraphicsContext::setPlatformShadow): 34399 34400 Attempt to keep WX building. 34401 * platform/graphics/wx/GraphicsContextWx.cpp: 34402 (WebCore::GraphicsContext::fillRect): 34403 (WebCore::GraphicsContext::fillRoundedRect): 34404 (WebCore::GraphicsContext::setPlatformStrokeColor): 34405 (WebCore::GraphicsContext::setPlatformFillColor): 34406 34407 Added functions colorSpace() and setColorSpace() 34408 * rendering/style/RenderStyle.h: 34409 (WebCore::InheritedFlags::colorSpace): 34410 (WebCore::InheritedFlags::setColorSpace): 34411 34412 The ColorSpace is stored here. 34413 * rendering/style/StyleRareInheritedData.cpp: 34414 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 34415 (WebCore::StyleRareInheritedData::operator==): 34416 * rendering/style/StyleRareInheritedData.h: 34417 34418 All of these call sites call GraphicsContext functions which now 34419 require ColorSpaces. 34420 * editing/SelectionController.cpp: 34421 (WebCore::SelectionController::paintCaret): 34422 * html/canvas/CanvasRenderingContext2D.cpp: 34423 (WebCore::CanvasRenderingContext2D::drawTextInternal): 34424 * html/canvas/CanvasStyle.cpp: 34425 (WebCore::CanvasStyle::applyStrokeColor): 34426 (WebCore::CanvasStyle::applyFillColor): 34427 * inspector/InspectorController.cpp: 34428 (WebCore::drawOutlinedQuad): 34429 * page/FrameView.cpp: 34430 (WebCore::FrameView::paintContents): 34431 * platform/ScrollbarTheme.h: 34432 (WebCore::ScrollbarTheme::paintScrollCorner): 34433 * platform/ScrollbarThemeComposite.cpp: 34434 (WebCore::ScrollbarThemeComposite::paintScrollCorner): 34435 * platform/graphics/Image.cpp: 34436 (WebCore::Image::fillWithSolidColor): 34437 * platform/graphics/mac/FontMac.mm: 34438 (WebCore::Font::drawGlyphs): 34439 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 34440 (WebCore::MediaPlayerPrivate::paint): 34441 * rendering/EllipsisBox.cpp: 34442 (WebCore::EllipsisBox::paint): 34443 * rendering/InlineFlowBox.cpp: 34444 (WebCore::InlineFlowBox::paintTextDecorations): 34445 * rendering/InlineTextBox.cpp: 34446 (WebCore::updateGraphicsContext): 34447 (WebCore::paintTextWithShadows): 34448 (WebCore::InlineTextBox::paint): 34449 (WebCore::InlineTextBox::paintSelection): 34450 (WebCore::InlineTextBox::paintCompositionBackground): 34451 (WebCore::InlineTextBox::paintDecoration): 34452 (WebCore::InlineTextBox::paintTextMatchMarker): 34453 (WebCore::InlineTextBox::paintCompositionUnderline): 34454 * rendering/InlineTextBox.h: 34455 * rendering/RenderBlock.cpp: 34456 (WebCore::RenderBlock::fillHorizontalSelectionGap): 34457 (WebCore::RenderBlock::fillVerticalSelectionGap): 34458 (WebCore::RenderBlock::fillLeftSelectionGap): 34459 (WebCore::RenderBlock::fillRightSelectionGap): 34460 * rendering/RenderBoxModelObject.cpp: 34461 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 34462 (WebCore::RenderBoxModelObject::paintBoxShadow): 34463 * rendering/RenderFileUploadControl.cpp: 34464 (WebCore::RenderFileUploadControl::paintObject): 34465 * rendering/RenderFrameSet.cpp: 34466 (WebCore::RenderFrameSet::paintColumnBorder): 34467 (WebCore::RenderFrameSet::paintRowBorder): 34468 * rendering/RenderImage.cpp: 34469 (WebCore::RenderImage::paintReplaced): 34470 * rendering/RenderLayer.cpp: 34471 (WebCore::RenderLayer::paintScrollCorner): 34472 (WebCore::RenderLayer::paintResizer): 34473 * rendering/RenderListBox.cpp: 34474 (WebCore::RenderListBox::paintItemForeground): 34475 (WebCore::RenderListBox::paintItemBackground): 34476 * rendering/RenderListMarker.cpp: 34477 (WebCore::RenderListMarker::paint): 34478 * rendering/RenderObject.cpp: 34479 (WebCore::RenderObject::drawLineForBoxSide): 34480 (WebCore::RenderObject::drawArcForBoxSide): 34481 * rendering/RenderReplaced.cpp: 34482 (WebCore::RenderReplaced::paint): 34483 * rendering/RenderScrollbarTheme.cpp: 34484 (WebCore::RenderScrollbarTheme::paintScrollCorner): 34485 * rendering/RenderThemeMac.mm: 34486 (WebCore::RenderThemeMac::paintMenuListButton): 34487 * rendering/RenderView.cpp: 34488 (WebCore::RenderView::paintBoxDecorations): 34489 * rendering/RenderWidget.cpp: 34490 (WebCore::RenderWidget::paint): 34491 * rendering/SVGInlineTextBox.cpp: 34492 (WebCore::SVGInlineTextBox::paintSelection): 34493 * svg/graphics/SVGPaintServerGradient.cpp: 34494 (WebCore::SVGPaintServerGradient::setup): 34495 * svg/graphics/SVGPaintServerSolid.cpp: 34496 (WebCore::SVGPaintServerSolid::setup): 34497 34498 2009-11-10 Keishi Hattori <casey.hattori (a] gmail.com> 34499 34500 Reviewed by Timothy Hatcher. 34501 34502 Web Inspector: Speed up syntax highlighter 34503 https://bugs.webkit.org/show_bug.cgi?id=31291 34504 34505 * inspector/front-end/SourceFrame.js: 34506 (WebInspector.SourceFrame.prototype._loaded): 34507 (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node. 34508 (WebInspector.SourceSyntaxHighlighter.prototype.process): 34509 (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken): 34510 (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode): 34511 (WebInspector.CSSSourceSyntaxHighlighter): 34512 (WebInspector.JavaScriptSourceSyntaxHighlighter): 34513 34514 2009-11-09 Jeremy Orlow <jorlow (a] chromium.org> 34515 34516 Reviewed by Eric Seidel. 34517 34518 Remove session storage setting 34519 https://bugs.webkit.org/show_bug.cgi?id=31279 34520 34521 Remove session storage from Settings. It was added temporarily so we could 34522 disable it by default at runtime in Chromium. We now disable these things in a 34523 different way, so it's time to remove it. Qt also depended on this setting for 34524 a short period of time, but after talking to them we agreed that it should be 34525 removed. 34526 34527 This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602 34528 34529 * page/DOMWindow.cpp: 34530 (WebCore::DOMWindow::sessionStorage): 34531 * page/Settings.cpp: 34532 (WebCore::Settings::Settings): 34533 * page/Settings.h: 34534 34535 2009-11-10 Dan Bernstein <mitz (a] apple.com> 34536 34537 Reviewed by Eric Carlson and Darin Adler. 34538 34539 WebCore part of making full-screen video pause during scrubbing. 34540 34541 * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing() 34542 and HTMLMediaElement::endScrubbing(). 34543 34544 2009-11-10 Anton Muhin <antonm (a] chromium.org> 34545 34546 Reviewed by Adam Barth. 34547 34548 Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now). 34549 https://bugs.webkit.org/show_bug.cgi?id=31051 34550 34551 * bindings/v8/V8GCController.cpp: 34552 (WebCore::V8GCController::gcEpilogue): 34553 (WebCore::V8GCController::checkMemoryUsage): 34554 * bindings/v8/V8GCController.h: 34555 * bindings/v8/V8Proxy.cpp: 34556 (WebCore::V8Proxy::evaluate): 34557 (WebCore::V8Proxy::runScript): 34558 (WebCore::V8Proxy::callFunction): 34559 34560 2009-11-10 Zoltan Horvath <zoltan (a] webkit.org> 34561 34562 Reviewed by Darin Adler. 34563 34564 Allow custom memory allocation control for the part of loader directory in WebCore 34565 https://bugs.webkit.org/show_bug.cgi?id=31161 34566 34567 Inherits the following classes from Noncopyable because these are instantiated 34568 by 'new' and these are no need to be copyable: 34569 34570 class Request - WebCore/loader/loader.cpp:100 34571 struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164 34572 class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121 34573 class ApplicationCacheHost - WebCore/loader/DocumentLoader.cpp:151 34574 class ImageEventSender - WebCore/loader/ImageLoader.cpp:54 34575 struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169 34576 34577 Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 34578 MainThreadBridge is instantiated by 'new' in 34579 WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable. 34580 34581 ThreadableLoaderClient's inheriting has been changed to public. 34582 34583 * loader/ImageLoader.cpp: 34584 * loader/ProgressTracker.cpp: 34585 * loader/RedirectScheduler.cpp: 34586 * loader/Request.h: 34587 * loader/ThreadableLoaderClient.h: 34588 * loader/WorkerThreadableLoader.h: 34589 * loader/appcache/ApplicationCacheHost.h: 34590 * loader/appcache/ApplicationCacheStorage.h: 34591 34592 2009-11-10 Philippe Normand <pnormand (a] igalia.com> 34593 34594 Reviewed by Eric Seidel. 34595 34596 https://bugs.webkit.org/show_bug.cgi?id=31047 34597 [GTK] Failing test media/video-played-ranges-1.html 34598 34599 WebKit coding style fixes. 34600 34601 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 34602 (WebCore::mediaPlayerPrivateMessageCallback): 34603 (WebCore::MediaPlayerPrivate::naturalSize): 34604 (WebCore::MediaPlayerPrivate::paint): 34605 (WebCore::mimeTypeCache): 34606 34607 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34608 34609 Remove build failure introduced by earlier build fix. 34610 34611 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 34612 34613 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34614 34615 Is this the last build fix? grep tells me yes. 34616 34617 * bindings/v8/custom/V8DocumentCustom.cpp: 34618 (WebCore::CALLBACK_FUNC_DECL): 34619 34620 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34621 34622 Hopefully the last one. Why aren't these autogenerated? 34623 34624 * bindings/v8/V8DOMWrapper.cpp: 34625 (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray): 34626 (WebCore::V8DOMWrapper::getTemplate): 34627 (WebCore::V8DOMWrapper::convertToV8Object): 34628 34629 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34630 34631 Another chrome build fix. 34632 34633 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 34634 (WebCore::CALLBACK_FUNC_DECL): 34635 34636 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34637 34638 Yet another chrome buildfix 34639 34640 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 34641 (WebCore::CALLBACK_FUNC_DECL): 34642 * bindings/v8/custom/V8WebGLArrayCustom.h: 34643 (WebCore::constructCanvasArray): 34644 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 34645 (WebCore::CALLBACK_FUNC_DECL): 34646 (WebCore::INDEXED_PROPERTY_GETTER): 34647 (WebCore::INDEXED_PROPERTY_SETTER): 34648 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 34649 (WebCore::CALLBACK_FUNC_DECL): 34650 (WebCore::INDEXED_PROPERTY_GETTER): 34651 (WebCore::INDEXED_PROPERTY_SETTER): 34652 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 34653 (WebCore::CALLBACK_FUNC_DECL): 34654 (WebCore::INDEXED_PROPERTY_GETTER): 34655 (WebCore::INDEXED_PROPERTY_SETTER): 34656 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 34657 (WebCore::CALLBACK_FUNC_DECL): 34658 (WebCore::vertexAttribAndUniformHelperf): 34659 (WebCore::uniformHelperi): 34660 (WebCore::uniformMatrixHelper): 34661 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 34662 (WebCore::CALLBACK_FUNC_DECL): 34663 (WebCore::INDEXED_PROPERTY_GETTER): 34664 (WebCore::INDEXED_PROPERTY_SETTER): 34665 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 34666 (WebCore::CALLBACK_FUNC_DECL): 34667 (WebCore::INDEXED_PROPERTY_GETTER): 34668 (WebCore::INDEXED_PROPERTY_SETTER): 34669 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 34670 (WebCore::CALLBACK_FUNC_DECL): 34671 (WebCore::INDEXED_PROPERTY_GETTER): 34672 (WebCore::INDEXED_PROPERTY_SETTER): 34673 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 34674 (WebCore::CALLBACK_FUNC_DECL): 34675 (WebCore::INDEXED_PROPERTY_GETTER): 34676 (WebCore::INDEXED_PROPERTY_SETTER): 34677 34678 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34679 34680 Chrome build fix. 34681 34682 * bindings/v8/V8Index.h: 34683 34684 2009-11-10 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 34685 34686 Reviewed by Reviewed by Jan Alonzo. 34687 34688 https://bugs.webkit.org/show_bug.cgi?id=30901 34689 [Gtk] Need to de-lint the Atk a11y code 34690 34691 Removal of various and sundry style-violating nits. 34692 34693 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 34694 34695 2009-11-10 Philippe Normand <pnormand (a] igalia.com> 34696 34697 Reviewed by Jan Alonzo. 34698 34699 https://bugs.webkit.org/show_bug.cgi?id=31047 34700 [GTK] Failing test media/video-played-ranges-1.html 34701 34702 Fix playback rate setter by remembering the rate was changed. Also 34703 correctly handle reverse playback by doing a seek from end to 34704 beginning of the media. 34705 34706 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 34707 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 34708 (WebCore::MediaPlayerPrivate::currentTime): 34709 (WebCore::MediaPlayerPrivate::seek): 34710 (WebCore::MediaPlayerPrivate::hasAudio): 34711 (WebCore::MediaPlayerPrivate::setVolume): 34712 (WebCore::MediaPlayerPrivate::setRate): 34713 (WebCore::MediaPlayerPrivate::updateStates): 34714 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 34715 34716 2009-11-10 Oliver Hunt <oliver (a] apple.com> 34717 34718 Reviewed by Maciej Stachowiak. 34719 34720 Rename 3D Canvas related classes to use WebGL prefix 34721 https://bugs.webkit.org/show_bug.cgi?id=29095 34722 34723 Automatic rename of all WebGL related types from Canvas* to 34724 WebGL* per more recent version of the WebGL spec. 34725 34726 Due to the automatic rename I've removed the 600+ line change list. 34727 34728 2009-11-09 Dirk Schulze <krit (a] webkit.org> 34729 34730 Reviewed by Oliver Hunt. 34731 34732 SVG feDisplacementMap is not implemented 34733 [https://bugs.webkit.org/show_bug.cgi?id=31255] 34734 34735 This is the implementation of the SVG filter effect 34736 feDisplacementMap. 34737 34738 Test: svg/filters/feDisplacementMap.svg 34739 34740 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 34741 (WebCore::FEDisplacementMap::apply): 34742 34743 2009-11-09 Kent Tamura <tkent (a] chromium.org> 34744 34745 Reviewed by Darin Adler. 34746 34747 Add a comment about null strings and hash functions. 34748 https://bugs.webkit.org/show_bug.cgi?id=29118 34749 34750 * platform/text/StringHash.h: 34751 34752 2009-11-09 Martin Robinson <martin.james.robinson (a] gmail.com> 34753 34754 Reviewed by Darin Adler. 34755 34756 Compiler warnings in InspectorResource.h 34757 https://bugs.webkit.org/show_bug.cgi?id=29231 34758 34759 Fix compilation warnings by removing addition operation on an enum type. 34760 34761 * inspector/InspectorResource.h: 34762 (WebCore::InspectorResource::): 34763 (WebCore::InspectorResource::Changes::hasChange): 34764 (WebCore::InspectorResource::Changes::set): 34765 (WebCore::InspectorResource::Changes::setAll): 34766 34767 2009-11-09 Anders Carlsson <andersca (a] apple.com> 34768 34769 Reviewed by Darin Adler and Dan Bernstein. 34770 34771 <rdar://problem/7328395> 34772 https://bugs.webkit.org/show_bug.cgi?id=31277 34773 34774 When an object tag's style changes (for example when child nodes are added/removed), 34775 reuse its Frame (if it has one) instead of creating multiple Frames. 34776 34777 Test: fast/dom/HTMLObjectElement/children-changed.html 34778 34779 * loader/FrameLoader.cpp: 34780 (WebCore::FrameLoader::requestObject): 34781 34782 2009-11-09 Norbert Leser <norbert.leser (a] nokia.com> 34783 34784 Reviewed by Kenneth Rohde Christiansen. 34785 34786 Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2, 34787 since adjustment of RW-section base address will be needed for all new symbian 34788 tool chains, specifically for arm and gcc compilation targets. 34789 Also, change target address to 0xE00000 to be sufficient for all targets. 34790 34791 * WebCore.pro: 34792 34793 2009-11-09 Pavel Feldman <pfeldman (a] chromium.org> 34794 34795 Reviewed by Timothy Hatcher. 34796 34797 Web Inspector: Crash when inspecting 34798 WebCore\manual-tests\inspector\dom-mutation.html 34799 34800 https://bugs.webkit.org/show_bug.cgi?id=31259 34801 34802 * inspector/InspectorDOMAgent.cpp: 34803 (WebCore::InspectorDOMAgent::handleEvent): 34804 34805 2009-11-09 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 34806 34807 Reviewed by Kenneth Rohde Christiansen. 34808 34809 [Qt] Few classes have virtual functions but non-virtual destructor 34810 https://bugs.webkit.org/show_bug.cgi?id=31269 34811 34812 No new tests as there is no functional change. 34813 34814 * platform/qt/QWebPageClient.h: 34815 (QWebPageClient::~QWebPageClient): Add virtual destructor. 34816 34817 2009-11-09 Yael Aharon <yael.aharon (a] nokia.com> 34818 34819 Reviewed by Kenneth Rohde Christiansen. 34820 34821 [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest 34822 https://bugs.webkit.org/show_bug.cgi?id=31140 34823 34824 QtNetwork interprets null string as request to remove the header, not add it. 34825 Replace null values with empty values before passing them to QtNetwork. 34826 34827 Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html 34828 34829 * platform/network/qt/ResourceRequestQt.cpp: 34830 (WebCore::ResourceRequest::toNetworkRequest): 34831 34832 2009-11-09 Vadim Zeitlin <vadim (a] wxwidgets.org> 34833 34834 Reviewed by Kevin Ollivier. 34835 34836 [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was 34837 simply ignored before resulting in transparent areas being black in PNG 34838 images for example. 34839 34840 https://bugs.webkit.org/show_bug.cgi?id=30823 34841 34842 * platform/image-decoders/wx/ImageDecoderWx.cpp: 34843 (WebCore::RGBA32Buffer::asNewNativeImage): 34844 34845 2009-11-09 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 34846 34847 Reviewed by Kenneth Rohde Christiansen. 34848 34849 Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings 34850 https://bugs.webkit.org/show_bug.cgi?id=31040 34851 34852 No new tests as there is no functional change. 34853 34854 * dom/Document.cpp: 34855 (WebCore::Document::recalcStyleSelector): 34856 * editing/TextIterator.cpp: 34857 (WebCore::pushFullyClippedState): 34858 * editing/VisibleSelection.cpp: 34859 (WebCore::VisibleSelection::appendTrailingWhitespace): 34860 * html/HTMLLinkElement.cpp: 34861 (WebCore::HTMLLinkElement::process): 34862 * loader/RedirectScheduler.cpp: 34863 (WebCore::RedirectScheduler::mustLockBackForwardList): 34864 * loader/appcache/ApplicationCacheGroup.cpp: 34865 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 34866 * platform/graphics/qt/FontCacheQt.cpp: 34867 (WebCore::FontPlatformDataCacheKey::computeHash): 34868 * rendering/RenderBlock.cpp: 34869 (WebCore::RenderBlock::handleRunInChild): 34870 * rendering/RenderBox.cpp: 34871 (WebCore::RenderBox::calcHeight): 34872 * rendering/RenderTextControlMultiLine.cpp: 34873 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 34874 * rendering/style/RenderStyle.cpp: 34875 (WebCore::RenderStyle::diff): 34876 * svg/SVGAnimateElement.cpp: 34877 (WebCore::parseNumberValueAndUnit): 34878 * svg/SVGAnimationElement.cpp: 34879 (WebCore::SVGAnimationElement::startedActiveInterval): 34880 * svg/SVGPreserveAspectRatio.cpp: 34881 (WebCore::SVGPreserveAspectRatio::getCTM): 34882 34883 2009-11-09 Shinichiro Hamaji <hamaji (a] chromium.org> 34884 34885 Reviewed by Dimitri Glazkov. 34886 34887 Win chromium is slow to draw transparent texts 34888 https://bugs.webkit.org/show_bug.cgi?id=31258 34889 34890 Clip graphics context to reduce calculation. 34891 34892 No new tests because this change only affects performance. 34893 34894 * platform/graphics/chromium/FontChromiumWin.cpp: 34895 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 34896 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 34897 34898 2009-11-09 Carol Szabo <carol.szabo (a] nokia.com> 34899 34900 Reviewed by Darin Adler. 34901 34902 showTree(CounterNode*) generates too little info and has too many spaces. 34903 https://bugs.webkit.org/show_bug.cgi?id=31212 34904 34905 No new tests as the change has no functional effect it is just for 34906 improved debugging. 34907 34908 * rendering/CounterNode.cpp: 34909 (WebCore::showTreeAndMark): 34910 Changed to also show addresses of parent, next and previous 34911 siblings. 34912 34913 2009-11-09 Stuart Morgan <stuartmorgan (a] chromium.org> 34914 34915 Reviewed by Darin Adler. 34916 34917 Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and 34918 enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC). 34919 34920 https://bugs.webkit.org/show_bug.cgi?id=31083 34921 34922 No new tests; implementation is unchanged. 34923 34924 * page/Frame.cpp: 34925 (WebCore::Frame::setUseSecureKeyboardEntry): 34926 * page/mac/FrameMac.mm: 34927 34928 2009-11-09 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 34929 34930 Reviewed by Jan Alonzo. 34931 34932 Make XP_UNIX tests consistent 34933 https://bugs.webkit.org/show_bug.cgi?id=31250 34934 34935 No new tests as there is no functional change. 34936 34937 * plugins/PluginView.cpp: 34938 (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined 34939 instead of the value of the macro 34940 34941 * plugins/gtk/PluginViewGtk.cpp: 34942 (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is 34943 defined instead of using the PLATFORM macro to be consistent 34944 (WebCore::PluginView::getValue): Ditto. 34945 34946 2009-11-09 Kevin Watters <kevinwatters (a] gmail.com> 34947 34948 Reviewed by Darin Adler. 34949 34950 Thunk to the main thread from ~Database to deref Database's m_document. 34951 34952 If the Database was the Document's last referrer, then ~Document occurs on the 34953 Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread 34954 ASSERT in debug builds. 34955 34956 * storage/Database.cpp: 34957 (WebCore::derefDocument): 34958 (WebCore::Database::~Database): 34959 34960 2009-11-09 Mark Mentovai <mark (a] chromium.org> 34961 34962 Reviewed by Dan Bernstein. 34963 34964 Track "can have scrollbar" state within FrameView independently of the 34965 individual scrollbar states in ScrollView. 34966 34967 rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167 34968 REGRESSION (r48064): mint.com loses scrollbars after coming out of 34969 edit mode. 34970 34971 rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517 34972 REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store. 34973 34974 Test: fast/overflow/scrollbar-restored.html 34975 34976 * WebCore.base.exp: 34977 * page/FrameView.cpp: 34978 (WebCore::FrameView::FrameView): 34979 (WebCore::FrameView::resetScrollbars): 34980 (WebCore::FrameView::setCanHaveScrollbars): 34981 (WebCore::FrameView::updateCanHaveScrollbars): 34982 (WebCore::FrameView::layout): 34983 * page/FrameView.h: 34984 * platform/ScrollView.h: 34985 34986 2009-11-09 Keishi Hattori <casey.hattori (a] gmail.com> 34987 34988 Reviewed by Timothy Hatcher. 34989 34990 Web Inspector: CSS syntax highlighter doesn't recognize negative numbers 34991 https://bugs.webkit.org/show_bug.cgi?id=31257 34992 34993 * inspector/front-end/SourceFrame.js: 34994 34995 2009-11-09 Alexander Pavlov <apavlov (a] chromium.org> 34996 34997 Reviewed by Timothy Hatcher. 34998 34999 Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open 35000 https://bugs.webkit.org/show_bug.cgi?id=31252 35001 35002 Route F1-F12 keypresses in the Console view to the current panel if there is one. 35003 35004 Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html 35005 35006 * inspector/front-end/ConsoleView.js: 35007 (WebInspector.ConsoleView.prototype._promptKeyDown): 35008 * inspector/front-end/utilities.js: 35009 (): 35010 * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added. 35011 35012 2009-11-09 Yael Aharon <yael.aharon (a] nokia.com> 35013 35014 Reviewed by Kenneth Rohde Christiansen. 35015 35016 [Qt] Pass credentials provided by XMLHTTPRequest to the network request. 35017 https://bugs.webkit.org/show_bug.cgi?id=31208 35018 35019 After r42483, the credentials are no longer passed to the network request 35020 in the URL of the request. 35021 Pass the credentials from XMLHTTPRequest to the network request, the same 35022 way that other ports do. 35023 35024 After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes. 35025 35026 * platform/network/qt/ResourceHandleQt.cpp: 35027 (WebCore::ResourceHandle::start): 35028 (WebCore::ResourceHandle::loadResourceSynchronously): 35029 35030 2009-11-09 Zoltan Horvath <zoltan (a] webkit.org> 35031 35032 Unreviewed. 35033 35034 https://bugs.webkit.org/show_bug.cgi?id=31161 35035 35036 Roll back r50657 because it breaks the MAC builds. 35037 35038 * loader/ImageLoader.cpp: 35039 * loader/ProgressTracker.cpp: 35040 * loader/RedirectScheduler.cpp: 35041 * loader/Request.h: 35042 * loader/ThreadableLoaderClient.h: 35043 * loader/WorkerThreadableLoader.h: 35044 * loader/appcache/ApplicationCacheHost.h: 35045 * loader/appcache/ApplicationCacheStorage.h: 35046 * loader/icon/IconDatabaseClient.h: 35047 35048 2009-11-09 Zoltan Horvath <zoltan (a] webkit.org> 35049 35050 Reviewed by Darin Adler. 35051 35052 Allow custom memory allocation control for the part of loader directory in WebCore 35053 https://bugs.webkit.org/show_bug.cgi?id=31161 35054 35055 Inherits the following classes from Noncopyable because these are instantiated 35056 by 'new' and these are no need to be copyable: 35057 35058 class Request - WebCore/loader/loader.cpp:100 35059 struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164 35060 class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89 35061 class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121 35062 class ApplicationCacheHost - WebCore/loader/DocumentLoader.cpp:151 35063 class ImageEventSender - WebCore/loader/ImageLoader.cpp:54 35064 struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169 35065 35066 Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 35067 MainThreadBridge is instantiated by 'new' in 35068 WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable. 35069 35070 ThreadableLoaderClient's inheriting has been changed to public. 35071 35072 * loader/ImageLoader.cpp: 35073 * loader/ProgressTracker.cpp: 35074 * loader/RedirectScheduler.cpp: 35075 * loader/Request.h: 35076 * loader/ThreadableLoaderClient.h: 35077 * loader/WorkerThreadableLoader.h: 35078 * loader/appcache/ApplicationCacheHost.h: 35079 * loader/appcache/ApplicationCacheStorage.h: 35080 * loader/icon/IconDatabaseClient.h: 35081 35082 2009-11-09 Zoltan Horvath <zoltan (a] webkit.org> 35083 35084 Reviewed by Darin Adler. 35085 35086 Allow custom memory allocation control for WebCore's DocLoader 35087 https://bugs.webkit.org/show_bug.cgi?id=31163 35088 35089 Inherits DocLoader class from Noncopyable because it is 35090 instantiated by 'new' in WebCore/dom/Document.cpp:370 and 35091 it is no need to be copyable. 35092 35093 * loader/DocLoader.h: 35094 35095 2009-11-09 Zoltan Horvath <zoltan (a] webkit.org> 35096 35097 Reviewed by Darin Adler. 35098 35099 Allow custom memory allocation control for WebCore's Tokenizer 35100 https://bugs.webkit.org/show_bug.cgi?id=31162 35101 35102 Inherits Tokenizer class from Noncopyable because (its child class) 35103 ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 35104 and it is no need to be copyable. 35105 35106 * dom/Tokenizer.h: 35107 35108 2009-11-09 Zoltan Horvath <zoltan (a] webkit.org> 35109 35110 Reviewed by Darin Adler. 35111 35112 Allow custom memory allocation control for WebCore's DeleteButtonController 35113 https://bugs.webkit.org/show_bug.cgi?id=31105 35114 35115 Inherits DeleteButtonController class from Noncopyable because it is 35116 instantiated by 'new' in WebCore/editing/Editor.cpp:919 and 35117 it is no need to be copyable. 35118 35119 * editing/DeleteButtonController.h: 35120 35121 2009-11-09 Martin Robinson <martin.james.robinson (a] gmail.com> 35122 35123 Reviewed by Jan Alonzo. 35124 35125 [GTK] Expose Page::tabKeyCyclesThroughElements in the API 35126 https://bugs.webkit.org/show_bug.cgi?id=30482 35127 35128 Expose Page::tabKeyCyclesThroughElements as a property of 35129 WebKitWebView. 35130 35131 No new tests; fast/events/keypress-insert-tab.html is no longer skipped. 35132 35133 * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses. 35134 (WebCore::singleCharacterString): 35135 35136 2009-11-09 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 35137 35138 Reviewed by Xan Lopez. 35139 35140 https://bugs.webkit.org/show_bug.cgi?id=25415 35141 [GTK][ATK] Please implement support for get_text_at_offset 35142 35143 Fix a crasher that occurred with text which included newline 35144 chars in the markup. 35145 35146 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 35147 (convertUniCharToUTF8): 35148 35149 2009-11-05 Jakub Wieczorek <faw217 (a] gmail.com> 35150 35151 Reviewed by Holger Freyther. 35152 35153 [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found. 35154 https://bugs.webkit.org/show_bug.cgi?id=31144 35155 35156 XMLTokenizer::doEnd() uses an additional logic to report a parse failure in 35157 documents that end prematurely but are not considered invalid by QXmlStream. 35158 This is to stay compatible with the libxml2 implementation. 35159 However, that code path would be also hit in situations when it should not, 35160 i.e. the error would have already been caught and handled. As a result, the 35161 same error would be reported twice. 35162 35163 No new tests, because the problem is already covered by 35164 fast/parser/xml-declaration-missing-ending-mark.html. 35165 35166 * dom/XMLTokenizerQt.cpp: 35167 (WebCore::XMLTokenizer::doEnd): 35168 35169 2009-11-08 Keishi Hattori <casey.hattori (a] gmail.com> 35170 35171 Reviewed by Pavel Feldman. 35172 35173 Web Inspector: Inspector should support copy() in the command line 35174 https://bugs.webkit.org/show_bug.cgi?id=31238 35175 35176 * inspector/InspectorBackend.cpp: 35177 (WebCore::InspectorBackend::copyText): Added. 35178 * inspector/InspectorBackend.h: Added copyText 35179 * inspector/InspectorBackend.idl: Added copyText 35180 * inspector/front-end/InjectedScript.js: 35181 (InjectedScript._copy): Added. 35182 (InjectedScript._ensureCommandLineAPIInstalled): 35183 35184 2009-11-08 Drew Wilson <atwilson (a] chromium.org> 35185 35186 Reviewed by Dimitri Glazkov. 35187 35188 V8 WorkerContextExecutionProxy does not handle SharedWorkers 35189 https://bugs.webkit.org/show_bug.cgi?id=31226 35190 35191 Now checks to see what type of context is active and creates the 35192 appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT). 35193 35194 Added support for converting to SharedWorkers and SharedWorkerContexts. 35195 35196 Test: Existing layout tests cover this case (start passing in Chrome). 35197 35198 * bindings/v8/WorkerContextExecutionProxy.cpp: 35199 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 35200 Now generates the right type of DOMWrapper for SharedWorkerContexts. 35201 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 35202 Added support for SHAREDWORKERCONTEXT. 35203 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 35204 Added support for SharedWorker and SharedWorkerContext. 35205 35206 2009-11-08 Johnny Ding <johnnyding.webkit (a] gmail.com> 35207 35208 Reviewed by Dimitri Glazkov. 35209 35210 https://bugs.webkit.org/show_bug.cgi?id=31224 35211 [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter. 35212 35213 Test: fast/dom/StyleSheet/get-stylesheet-byname.html 35214 35215 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 35216 (WebCore::NAMED_PROPERTY_GETTER): 35217 35218 2009-11-08 Pavel Feldman <pfeldman (a] chromium.org> 35219 35220 Reviewed by Timothy Hatcher. 35221 35222 Web Inspector: "Search again" on scripts panel switches 35223 to the script this search started with. 35224 35225 https://bugs.webkit.org/show_bug.cgi?id=31243 35226 35227 * inspector/front-end/Panel.js: 35228 (WebInspector.Panel.prototype.jumpToNextSearchResult): 35229 35230 2009-11-08 Kent Tamura <tkent (a] chromium.org> 35231 35232 Reviewed by Darin Adler. 35233 35234 Simplify Icon interface. 35235 https://bugs.webkit.org/show_bug.cgi?id=31154 35236 35237 - Remove Icon::createIconForFile(). createIconForFiles() covers 35238 createIconForFile()'s role. 35239 - Remove FileChooser::chooseIcon() 35240 - Change the parameter types of FileChooser constructor and the 35241 factory method, String -> const Vector<String>&, in order to 35242 support initialization with multiple files. 35243 - Remove the icon loading code in IconChromiumWin.cpp, which 35244 doesn't work because of the sandbox. 35245 35246 No tests because it's just a refactoring. 35247 35248 * platform/FileChooser.cpp: 35249 (WebCore::FileChooser::FileChooser): 35250 (WebCore::FileChooser::create): 35251 (WebCore::FileChooser::chooseFile): 35252 (WebCore::FileChooser::chooseFiles): 35253 * platform/FileChooser.h: 35254 * platform/graphics/Icon.h: 35255 * platform/graphics/chromium/IconChromiumLinux.cpp: 35256 * platform/graphics/chromium/IconChromiumMac.cpp: 35257 * platform/graphics/chromium/IconChromiumWin.cpp: 35258 (WebCore::Icon::createIconForFiles): 35259 * platform/graphics/gtk/IconGtk.cpp: 35260 (WebCore::Icon::createIconForFiles): 35261 * platform/graphics/haiku/IconHaiku.cpp: 35262 * platform/graphics/mac/IconMac.mm: 35263 (WebCore::Icon::createIconForFiles): 35264 * platform/graphics/qt/IconQt.cpp: 35265 (WebCore::Icon::createIconForFiles): 35266 * platform/graphics/win/IconWin.cpp: 35267 (WebCore::Icon::createIconForFiles): 35268 * platform/graphics/wx/IconWx.cpp: 35269 * rendering/RenderFileUploadControl.cpp: 35270 (WebCore::RenderFileUploadControl::RenderFileUploadControl): 35271 35272 2009-11-08 Daniel Bates <dbates (a] webkit.org> 35273 35274 Reviewed by Adam Barth. 35275 35276 https://bugs.webkit.org/show_bug.cgi?id=31098 35277 35278 Allows same-origin plugin-based content to load. 35279 35280 Test: http/tests/security/xssAuditor/object-src-inject.html 35281 35282 * page/XSSAuditor.cpp: 35283 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource. 35284 (WebCore::XSSAuditor::canLoadObject): Ditto. 35285 (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 35286 (WebCore::XSSAuditor::isSameOriginResource): Added. 35287 * page/XSSAuditor.h: 35288 35289 2009-11-08 David Levin <levin (a] chromium.org> 35290 35291 Reviewed by NOBODY (chromium build fix). 35292 35293 * platform/network/HTTPParsers.cpp: 35294 (WebCore::parseDate): Changed this to not 35295 use a date parser that needs ExecState passed. 35296 35297 2009-11-08 David Levin <levin (a] chromium.org> 35298 35299 Unreviewed build fix for chromium. 35300 35301 * platform/graphics/skia/GraphicsContextSkia.cpp: 35302 (WebCore::GraphicsContext::fillPath): 35303 (WebCore::GraphicsContext::fillRect): 35304 (WebCore::GraphicsContext::strokePath): 35305 (WebCore::GraphicsContext::strokeRect): 35306 35307 2009-11-08 David Levin <levin (a] chromium.org> 35308 35309 Unreviewed build fix for chromium. 35310 35311 Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219 35312 Clean up GraphicsContext's current concept of ColorSpace 35313 35314 * platform/graphics/skia/GraphicsContextSkia.cpp: 35315 (WebCore::GraphicsContext::fillPath): 35316 (WebCore::GraphicsContext::fillRect): 35317 (WebCore::GraphicsContext::strokePath): 35318 (WebCore::GraphicsContext::strokeRect): 35319 35320 2009-11-08 Pavel Feldman <pfeldman (a] chromium.org> 35321 35322 Reviewed by Timothy Hatcher. 35323 35324 Web Inspector: [REGRESSION] committing style edit 35325 clears elements panel selection. 35326 35327 https://bugs.webkit.org/show_bug.cgi?id=31242 35328 35329 * inspector/front-end/ElementsTreeOutline.js: 35330 (WebInspector.ElementsTreeOutline.prototype.update): 35331 * inspector/front-end/StylesSidebarPane.js: 35332 (WebInspector.StylePropertyTreeElement.prototype.): 35333 (WebInspector.StylePropertyTreeElement.prototype): 35334 35335 2009-11-08 Janne Koskinen <janne.p.koskinen (a] digia.com> 35336 35337 Reviewed by Holger Freyther. 35338 35339 ResourceRequest to be class instead of struct 35340 https://bugs.webkit.org/show_bug.cgi?id=30670 35341 35342 Started as a compilation fix for Symbian where the compiler makes a distinction between 35343 class and struct in function argument signatures. 35344 Changed all forward declarations of ResourceRequest to have class in the forward 35345 declaration instead of struct and changed the definition of ResourceRequest to be class 35346 and added access qualifiers where missing. Additionally two references of friend 35347 struct ResourceRequestBase changed to class instead. 35348 35349 * history/HistoryItem.h: 35350 * inspector/InspectorController.h: 35351 * inspector/InspectorResource.h: 35352 * loader/DocumentThreadableLoader.h: 35353 * loader/FrameLoaderClient.h: 35354 * loader/MainResourceLoader.h: 35355 * loader/ResourceLoadNotifier.h: 35356 * loader/SubresourceLoader.h: 35357 * loader/SubresourceLoaderClient.h: 35358 * loader/ThreadableLoader.h: 35359 * loader/WorkerThreadableLoader.h: 35360 * loader/appcache/ApplicationCache.h: 35361 * loader/appcache/ApplicationCacheHost.h: 35362 * platform/CrossThreadCopier.h: 35363 * platform/network/ResourceHandle.h: 35364 * platform/network/ResourceHandleClient.h: 35365 * platform/network/ResourceRequestBase.h: 35366 * platform/network/cf/ResourceRequest.h: 35367 * platform/network/cf/ResourceRequestCFNet.h: 35368 * platform/network/chromium/ResourceRequest.h: 35369 * platform/network/curl/ResourceRequest.h: 35370 * platform/network/qt/ResourceRequest.h: 35371 * platform/network/soup/ResourceRequest.h: 35372 * xml/XMLHttpRequest.h: 35373 35374 2009-11-08 Dan Bernstein <mitz (a] apple.com> 35375 35376 Reviewed by Simon Fraser. 35377 35378 <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute 35379 below FrameView::layout 35380 https://bugs.webkit.org/show_bug.cgi?id=31093 35381 35382 Test: fast/block/positioning/relative-positioned-inline-container.html 35383 35384 In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed 35385 to mark the object for layout, doing so without marking its ancestors. 35386 However, RenderBlock::skipLeadingWhitespace and 35387 RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative- 35388 positioned inline container, causing it to be marked for layout without 35389 ever going back to give it layout, and thus layout could end with a 35390 dirty object still in the tree, leading to all sorts of badness. 35391 35392 The fix is to revert setStaticY() to not marking the object dirty, and 35393 instead do it in the call sites that require it, which are in 35394 RenderBlock and RenderFlexibleBox. 35395 35396 * rendering/RenderBlock.cpp: 35397 (WebCore::RenderBlock::adjustPositionedBlock): 35398 * rendering/RenderFlexibleBox.cpp: 35399 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 35400 (WebCore::RenderFlexibleBox::layoutVerticalBox): 35401 * rendering/RenderLayer.cpp: 35402 * rendering/RenderLayer.h: 35403 (WebCore::RenderLayer::setStaticY): 35404 35405 2009-11-07 Daniel Bates <dbates (a] webkit.org> 35406 35407 Reviewed by Darin Adler. 35408 35409 https://bugs.webkit.org/show_bug.cgi?id=20780 35410 35411 Fixes an issue where the onchange event handler is not fired when the 35412 input field is autocompleted. 35413 35414 We cannot test this using DRT since DRT cannot emulate autocompletion. 35415 So, a manual-test is included. 35416 35417 Tests: manual-tests/autocompletion-fire-onchange.html 35418 35419 * manual-tests/autocompletion-fire-onchange.html: Added. 35420 * rendering/RenderTextControl.cpp: 35421 (WebCore::RenderTextControl::setInnerTextValue): 35422 35423 2009-11-07 Benjamin Otte <otte (a] gnome.org> 35424 35425 Reviewed by Holger Freyther. 35426 35427 Mark redrawn areas on image surfaces as dirty. 35428 35429 This is required to conform to the Cairo API, but is currently only 35430 used by debugging tools like cairo-trace. 35431 35432 * platform/graphics/cairo/ImageBufferCairo.cpp: 35433 (WebCore::ImageBuffer::platformTransformColorSpace): 35434 (WebCore::putImageData): 35435 35436 2009-11-07 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 35437 35438 Reviewed by Xan Lopez. 35439 35440 https://bugs.webkit.org/show_bug.cgi?id=30878 35441 [Gtk] atk_text_get_text() fails in entries when the end_offset is -1 35442 35443 If the end_offset is -1, use the String length as the end_offset. 35444 35445 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 35446 (webkit_accessible_text_get_text): 35447 35448 2009-11-06 Beth Dakin <bdakin (a] apple.com> 35449 35450 Reviewed by Adele Peterson. 35451 35452 Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 35453 GraphicsContext's current concept of ColorSpace 35454 35455 ColorSpace is now called ColorType. The variables on the state we 35456 appropriately re-named as well. I removed strokeColorSpace() and 35457 fillColorSpace() from GraphicsContext since they were never called. 35458 35459 * platform/graphics/GraphicsContext.cpp: 35460 (WebCore::GraphicsContext::setStrokeColor): 35461 (WebCore::GraphicsContext::setFillColor): 35462 (WebCore::GraphicsContext::setStrokePattern): 35463 (WebCore::GraphicsContext::setFillPattern): 35464 (WebCore::GraphicsContext::setStrokeGradient): 35465 (WebCore::GraphicsContext::setFillGradient): 35466 * platform/graphics/GraphicsContext.h: 35467 (WebCore::): 35468 * platform/graphics/GraphicsContextPrivate.h: 35469 (WebCore::GraphicsContextState::GraphicsContextState): 35470 * platform/graphics/cairo/GraphicsContextCairo.cpp: 35471 (WebCore::GraphicsContext::fillPath): 35472 (WebCore::GraphicsContext::strokePath): 35473 * platform/graphics/cg/GraphicsContextCG.cpp: 35474 (WebCore::calculateDrawingMode): 35475 (WebCore::GraphicsContext::drawPath): 35476 (WebCore::GraphicsContext::fillPath): 35477 (WebCore::GraphicsContext::strokePath): 35478 (WebCore::GraphicsContext::fillRect): 35479 (WebCore::GraphicsContext::strokeRect): 35480 * platform/graphics/qt/GraphicsContextQt.cpp: 35481 (WebCore::GraphicsContext::fillPath): 35482 (WebCore::GraphicsContext::strokePath): 35483 (WebCore::GraphicsContext::fillRect): 35484 * platform/graphics/wince/GraphicsContextWince.cpp: 35485 (WebCore::GraphicsContext::fillPath): 35486 (WebCore::GraphicsContext::fillRect): 35487 35488 2009-11-06 Brian Weinstein <bweinstein (a] apple.com> 35489 35490 Reviewed by Tim Hatcher. 35491 35492 Fixes <http://webkit.org/b/31177>. 35493 Web Inspector: Bind backspace to delete cookies and DOM Storage. 35494 35495 Refactor editing code from DOMStorageDataGrid to DataGrid, so other 35496 places in the inspector can use editing in DataGrid (added a FIXME for 35497 some stuff that needs to be generalized). 35498 35499 Also added deleting functionality to DataGrid, and implemented it for 35500 Cookies and DOM Storage. The reason this patch is so big is because of 35501 the refactoring of editing code, which won't be used yet in a cross-datagrid 35502 way, but should be able to. 35503 35504 Additionally, moved the callbacks members from DOMStorageDataGrid to 35505 DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 35506 make the architecture of DOM Storage look a lot more like the Cookies view. 35507 35508 Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 35509 inspector from beeping at you when you delete an element. 35510 35511 * WebCore.gypi: Removed DOMStorageDataGrid. 35512 * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid. 35513 * inspector/front-end/CookieItemsView.js: 35514 (WebInspector.CookieItemsView.prototype.dataGridForCookies): 35515 (WebInspector.CookieItemsView.prototype._deleteButtonClicked): 35516 (WebInspector.CookieItemsView.prototype._deleteCookieCallback): 35517 * inspector/front-end/DOMStorageDataGrid.js: Removed. 35518 * inspector/front-end/DOMStorageItemsView.js: 35519 (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): 35520 (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked): 35521 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked): 35522 (WebInspector.DOMStorageItemsView.prototype._editingCallback): 35523 (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow): 35524 (WebInspector.DOMStorageItemsView.prototype._deleteCallback): 35525 * inspector/front-end/DataGrid.js: 35526 (WebInspector.DataGrid): 35527 (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring. 35528 (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto. 35529 (WebInspector.DataGrid.prototype._startEditing): Ditto. 35530 (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto. 35531 (WebInspector.DataGrid.prototype._editingCommitted): Ditto. 35532 (WebInspector.DataGrid.prototype._editingCancelled): Ditto. 35533 (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace. 35534 * inspector/front-end/ElementsTreeOutline.js: 35535 (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call. 35536 * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid. 35537 * inspector/front-end/inspector.html: Removed DOMStorageDataGrid. 35538 35539 2009-11-06 Geoffrey Garen <ggaren (a] apple.com> 35540 35541 Qt build fix: added an ExecState parameter. 35542 35543 * bridge/qt/qt_runtime.cpp: 35544 (JSC::Bindings::convertValueToQVariant): 35545 (JSC::Bindings::convertQVariantToValue): 35546 35547 2009-11-06 Geoffrey Garen <ggaren (a] apple.com> 35548 35549 https://bugs.webkit.org/show_bug.cgi?id=31197 35550 Implemented a timezone cache not based on Mac OS X's notify_check API. 35551 35552 Updated for JavaScriptCore internal API change. 35553 35554 * bridge/qt/qt_runtime.cpp: 35555 (JSC::Bindings::convertValueToQVariant): 35556 (JSC::Bindings::convertQVariantToValue): Updated for namespace change. 35557 35558 * platform/network/HTTPParsers.cpp: 35559 (WebCore::parseDate): Pass 0 for ExecState, since we don't have one. 35560 (This function probably shouldn't be using a JavaScript date parser 35561 to begin with, but oh well.) 35562 35563 2009-11-06 Anantanarayanan G Iyengar <ananta (a] chromium.org> 35564 35565 Reviewed by Adam Barth. 35566 35567 The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067, 35568 which affects Chromium only. 35569 35570 Changes to V8HTMLDocumentCustom.cpp are as below:- 35571 1. The HTMLDocumentOpen function would cause a crash in Chromium if 35572 there was no calling javascript context. We now check for this case 35573 and pass in NULL to the HTMLDocument::open function which can handle 35574 a NULL document parameter. 35575 2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc 35576 had ASSERTS for a NULL caller frame, which was bogus as it would crash 35577 anyway. We now check for this case and return a failure. 35578 35579 Changes to V8DOMWindowCustom.cpp are as below:- 35580 1. Instead of failing the window.open call made by NPAPI for lack of a 35581 calling javascript context, we now use the entered context as the calling 35582 context. 35583 35584 Tests: plugins/document-open.html 35585 plugins/window-open.html 35586 35587 * bindings/v8/custom/V8DOMWindowCustom.cpp: 35588 (WebCore::CALLBACK_FUNC_DECL): 35589 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 35590 (WebCore::CALLBACK_FUNC_DECL): 35591 35592 2009-11-06 Steve Block <steveblock (a] google.com> 35593 35594 Reviewed by Eric Seidel. 35595 35596 Geolocation error code UNKNOWN_ERROR is deprecated. 35597 https://bugs.webkit.org/show_bug.cgi?id=31184 35598 35599 Remove this error code from PositionError, both for use from C++ code and from the JS object. 35600 35601 Updated fast/dom/Geolocation/error.html to test this. 35602 35603 * page/PositionError.h: Modified. 35604 (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR. 35605 * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant. 35606 * page/Geolocation.cpp: Modified. 35607 (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE. 35608 * platform/gtk/GeolocationServiceGtk.cpp: Modified. 35609 (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE. 35610 35611 2009-11-06 Dirk Schulze <krit (a] webkit.org> 35612 35613 Reviewed by Nikolas Zimmermann. 35614 35615 feMorphology filter is not implemented 35616 [https://bugs.webkit.org/show_bug.cgi?id=5863] 35617 35618 The Implementation of feMorphology. 35619 35620 Test: We have allready a test for feMorphology 35621 svg/W3C-SVG-1.1/filters-morph-01-f.svg 35622 35623 * svg/graphics/filters/SVGFEMorphology.cpp: 35624 (WebCore::FEMorphology::apply): 35625 35626 2009-11-06 Steve Block <steveblock (a] google.com> 35627 35628 Reviewed by Eric Seidel. 35629 35630 V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include. 35631 https://bugs.webkit.org/show_bug.cgi?id=31209 35632 35633 Build fix only. No new tests possible. 35634 35635 * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h. 35636 35637 2009-11-06 Drew Wilson <atwilson (a] chromium.org> 35638 35639 Reviewed by David Levin. 35640 35641 V8 bindings do not support SharedWorkers as event targets 35642 https://bugs.webkit.org/show_bug.cgi?id=31199 35643 35644 No new tests because existing layout tests suffice (they currently 35645 crash on Chromium) 35646 35647 * bindings/v8/V8DOMWrapper.cpp: 35648 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 35649 Added clause to create a DOM wrapper for SharedWorkers. 35650 35651 2009-11-06 Anton Muhin <antonm (a] chromium.org> 35652 35653 Reviewed by Adam Barth. 35654 35655 Do not unnecessarly synchronzie in weak reference callbacks. 35656 https://bugs.webkit.org/show_bug.cgi?id=31191 35657 35658 * bindings/v8/DOMData.h: 35659 (WebCore::DOMData::handleWeakObject): 35660 35661 2009-11-06 Alexander Pavlov <apavlov (a] chromium.org> 35662 35663 Reviewed by Pavel Feldman. 35664 35665 Fix resource content search. 35666 https://bugs.webkit.org/show_bug.cgi?id=31202 35667 35668 * inspector/front-end/AbstractTimelinePanel.js: 35669 (WebInspector.AbstractTimelinePanel.prototype.refresh): 35670 (WebInspector.AbstractTimelinePanel.prototype.removeItem): 35671 * inspector/front-end/TimelinePanel.js: 35672 (WebInspector.TimelineGraph.prototype.refresh): 35673 35674 2009-11-05 Yuta Kitamura <yutak (a] chromium.org> 35675 35676 Reviewed by Eric Seidel. 35677 35678 Fix ASSERT(currentStyle = renderStyle()). 35679 https://bugs.webkit.org/show_bug.cgi?id=31152 35680 35681 * dom/Element.cpp: 35682 (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=". 35683 35684 2009-11-05 Alpha Lam <hclam (a] chromium.org> 35685 35686 Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert. 35687 35688 * bindings/v8/V8GCController.cpp: 35689 (WebCore::V8GCController::gcEpilogue): 35690 * bindings/v8/V8GCController.h: 35691 * bindings/v8/V8Proxy.cpp: 35692 (WebCore::V8Proxy::evaluate): 35693 (WebCore::V8Proxy::runScript): 35694 (WebCore::V8Proxy::callFunction): 35695 35696 2009-11-05 Adam Barth <abarth (a] webkit.org> 35697 35698 Reviewed by Sam Weinig. 35699 35700 Cross-domain access to stylesheet text should not be allowed 35701 https://bugs.webkit.org/show_bug.cgi?id=20527 35702 35703 Check whether whether the current document can read the cssRules from 35704 the style sheet. Firefox throws a security error here, but we return 35705 null instead because that's what we usually do in these cases. 35706 35707 Test: http/tests/security/cannot-read-cssrules-redirect.html 35708 http/tests/security/cannot-read-cssrules.html 35709 35710 * css/CSSStyleSheet.cpp: 35711 (WebCore::CSSStyleSheet::cssRules): 35712 35713 2009-11-05 Steve Block <steveblock (a] google.com> 35714 35715 Reviewed by Eric Seidel. 35716 35717 If the Geolocation service fails to start, invoke the error callback asynchronously. 35718 https://bugs.webkit.org/show_bug.cgi?id=28276 35719 35720 All Geolocation callbacks must be invoked asynchronously. 35721 See http://www.w3.org/TR/geolocation-API/#geolocation_interface 35722 35723 No new tests possible with current LayoutTestController. 35724 35725 * page/Geolocation.cpp: 35726 (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier. 35727 (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier. 35728 (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier. 35729 35730 2009-11-05 Chris Jerdonek <chris.jerdonek (a] gmail.com> 35731 35732 Reviewed by Eric Seidel. 35733 35734 Removed the "this is part of the KDE project" comments from 35735 all *.h, *.cpp, *.idl, and *.pm files. 35736 35737 https://bugs.webkit.org/show_bug.cgi?id=31167 35738 35739 The maintenance and architecture page in the project wiki lists 35740 this as a task. 35741 35742 This change includes no changes or additions to test cases 35743 since the change affects only comments. 35744 35745 * bindings/scripts/CodeGeneratorV8.pm: 35746 * bindings/scripts/IDLParser.pm: 35747 * bindings/scripts/IDLStructure.pm: 35748 * css/CSSInheritedValue.cpp: 35749 * css/CSSInitialValue.cpp: 35750 * css/CSSMediaRule.cpp: 35751 * css/CSSNamespace.h: 35752 * css/CSSProperty.cpp: 35753 * css/CSSProperty.h: 35754 * css/CSSRuleList.cpp: 35755 * css/CSSRuleList.h: 35756 * css/CSSSelector.h: 35757 * css/CSSValueList.cpp: 35758 * css/FontValue.cpp: 35759 * css/MediaFeatureNames.cpp: 35760 * css/MediaFeatureNames.h: 35761 * css/Pair.h: 35762 * css/SVGCSSStyleSelector.cpp: 35763 * css/ShadowValue.cpp: 35764 * css/StyleSheet.cpp: 35765 * css/StyleSheetList.cpp: 35766 * css/maketokenizer: 35767 * dom/BeforeUnloadEvent.cpp: 35768 * dom/BeforeUnloadEvent.h: 35769 * dom/CSSMappedAttributeDeclaration.cpp: 35770 * dom/EventNames.cpp: 35771 * dom/EventTarget.cpp: 35772 * dom/MappedAttributeEntry.h: 35773 * dom/MouseRelatedEvent.h: 35774 * dom/RangeException.h: 35775 * dom/StyleElement.h: 35776 * dom/Tokenizer.h: 35777 * html/HTMLHeadElement.h: 35778 * html/HTMLHeadingElement.cpp: 35779 * html/HTMLHeadingElement.h: 35780 * html/HTMLHtmlElement.h: 35781 * html/HTMLImageLoader.h: 35782 * html/HTMLMetaElement.h: 35783 * html/HTMLModElement.cpp: 35784 * html/HTMLModElement.h: 35785 * html/HTMLOptionsCollection.cpp: 35786 * html/HTMLPlugInElement.cpp: 35787 * html/HTMLPreElement.cpp: 35788 * html/HTMLPreElement.h: 35789 * html/HTMLTableCellElement.cpp: 35790 * html/HTMLTableCellElement.h: 35791 * html/HTMLTableColElement.cpp: 35792 * html/HTMLTableColElement.h: 35793 * html/HTMLTablePartElement.cpp: 35794 * html/HTMLTablePartElement.h: 35795 * html/HTMLTitleElement.h: 35796 * page/MouseEventWithHitTestResults.h: 35797 * platform/StaticConstructors.h: 35798 * platform/text/AtomicStringImpl.h: 35799 * platform/text/qt/TextBreakIteratorQt.cpp: 35800 * rendering/AutoTableLayout.h: 35801 * rendering/CounterNode.cpp: 35802 * rendering/EllipsisBox.cpp: 35803 * rendering/EllipsisBox.h: 35804 * rendering/FixedTableLayout.cpp: 35805 * rendering/FixedTableLayout.h: 35806 * rendering/HitTestRequest.h: 35807 * rendering/HitTestResult.h: 35808 * rendering/InlineRunBox.h: 35809 * rendering/PointerEventsHitRules.cpp: 35810 * rendering/PointerEventsHitRules.h: 35811 * rendering/RenderBR.cpp: 35812 * rendering/RenderBR.h: 35813 * rendering/RenderButton.cpp: 35814 * rendering/RenderButton.h: 35815 * rendering/RenderFieldset.cpp: 35816 * rendering/RenderFrameSet.cpp: 35817 * rendering/RenderListItem.cpp: 35818 * rendering/RenderTableRow.cpp: 35819 * rendering/RenderView.h: 35820 * rendering/RootInlineBox.h: 35821 * rendering/SVGInlineTextBox.cpp: 35822 * rendering/SVGInlineTextBox.h: 35823 * rendering/TableLayout.h: 35824 * rendering/break_lines.h: 35825 * rendering/style/SVGRenderStyle.cpp: 35826 * rendering/style/SVGRenderStyle.h: 35827 * rendering/style/SVGRenderStyleDefs.cpp: 35828 * rendering/style/SVGRenderStyleDefs.h: 35829 * svg/GradientAttributes.h: 35830 * svg/LinearGradientAttributes.h: 35831 * svg/PatternAttributes.h: 35832 * svg/RadialGradientAttributes.h: 35833 * svg/SVGAElement.cpp: 35834 * svg/SVGAngle.idl: 35835 * svg/SVGAnimateColorElement.cpp: 35836 * svg/SVGAnimateColorElement.h: 35837 * svg/SVGAnimateElement.cpp: 35838 * svg/SVGAnimateElement.h: 35839 * svg/SVGAnimateTransformElement.h: 35840 * svg/SVGAnimatedPathData.cpp: 35841 * svg/SVGAnimatedPathData.h: 35842 * svg/SVGAnimatedPoints.cpp: 35843 * svg/SVGAnimatedPoints.h: 35844 * svg/SVGAnimationElement.cpp: 35845 * svg/SVGCircleElement.cpp: 35846 * svg/SVGClipPathElement.cpp: 35847 * svg/SVGColor.cpp: 35848 * svg/SVGColor.idl: 35849 * svg/SVGComponentTransferFunctionElement.cpp: 35850 * svg/SVGComponentTransferFunctionElement.h: 35851 * svg/SVGCursorElement.cpp: 35852 * svg/SVGDefsElement.cpp: 35853 * svg/SVGDescElement.cpp: 35854 * svg/SVGDescElement.h: 35855 * svg/SVGDocument.idl: 35856 * svg/SVGElement.idl: 35857 * svg/SVGElementInstanceList.cpp: 35858 * svg/SVGElementInstanceList.h: 35859 * svg/SVGEllipseElement.cpp: 35860 * svg/SVGExternalResourcesRequired.cpp: 35861 * svg/SVGFEBlendElement.cpp: 35862 * svg/SVGFEBlendElement.h: 35863 * svg/SVGFEColorMatrixElement.cpp: 35864 * svg/SVGFEColorMatrixElement.h: 35865 * svg/SVGFEComponentTransferElement.cpp: 35866 * svg/SVGFEComponentTransferElement.h: 35867 * svg/SVGFECompositeElement.cpp: 35868 * svg/SVGFECompositeElement.h: 35869 * svg/SVGFEFloodElement.cpp: 35870 * svg/SVGFEFloodElement.h: 35871 * svg/SVGFEFuncAElement.cpp: 35872 * svg/SVGFEFuncAElement.h: 35873 * svg/SVGFEFuncBElement.cpp: 35874 * svg/SVGFEFuncBElement.h: 35875 * svg/SVGFEFuncGElement.cpp: 35876 * svg/SVGFEFuncGElement.h: 35877 * svg/SVGFEFuncRElement.cpp: 35878 * svg/SVGFEFuncRElement.h: 35879 * svg/SVGFEGaussianBlurElement.cpp: 35880 * svg/SVGFEGaussianBlurElement.h: 35881 * svg/SVGFEImageElement.cpp: 35882 * svg/SVGFEMergeElement.cpp: 35883 * svg/SVGFEMergeElement.h: 35884 * svg/SVGFEMergeNodeElement.cpp: 35885 * svg/SVGFEOffsetElement.cpp: 35886 * svg/SVGFEOffsetElement.h: 35887 * svg/SVGFETileElement.cpp: 35888 * svg/SVGFETileElement.h: 35889 * svg/SVGFETurbulenceElement.cpp: 35890 * svg/SVGFETurbulenceElement.h: 35891 * svg/SVGFilterElement.cpp: 35892 * svg/SVGGElement.cpp: 35893 * svg/SVGGradientElement.cpp: 35894 * svg/SVGHKernElement.idl: 35895 * svg/SVGLangSpace.cpp: 35896 * svg/SVGLangSpace.h: 35897 * svg/SVGLength.cpp: 35898 * svg/SVGLength.h: 35899 * svg/SVGLength.idl: 35900 * svg/SVGLengthList.cpp: 35901 * svg/SVGLengthList.h: 35902 * svg/SVGLineElement.cpp: 35903 * svg/SVGLinearGradientElement.h: 35904 * svg/SVGList.h: 35905 * svg/SVGListTraits.h: 35906 * svg/SVGLocatable.h: 35907 * svg/SVGMaskElement.cpp: 35908 * svg/SVGMatrix.idl: 35909 * svg/SVGMetadataElement.cpp: 35910 * svg/SVGMetadataElement.h: 35911 * svg/SVGMetadataElement.idl: 35912 * svg/SVGNumber.idl: 35913 * svg/SVGNumberList.cpp: 35914 * svg/SVGNumberList.h: 35915 * svg/SVGPaint.cpp: 35916 * svg/SVGPathElement.cpp: 35917 * svg/SVGPathSeg.h: 35918 * svg/SVGPathSegArc.cpp: 35919 * svg/SVGPathSegArc.h: 35920 * svg/SVGPathSegClosePath.cpp: 35921 * svg/SVGPathSegClosePath.h: 35922 * svg/SVGPathSegCurvetoCubic.cpp: 35923 * svg/SVGPathSegCurvetoCubic.h: 35924 * svg/SVGPathSegCurvetoCubicSmooth.cpp: 35925 * svg/SVGPathSegCurvetoCubicSmooth.h: 35926 * svg/SVGPathSegCurvetoQuadratic.cpp: 35927 * svg/SVGPathSegCurvetoQuadratic.h: 35928 * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: 35929 * svg/SVGPathSegCurvetoQuadraticSmooth.h: 35930 * svg/SVGPathSegLineto.cpp: 35931 * svg/SVGPathSegLineto.h: 35932 * svg/SVGPathSegLinetoHorizontal.cpp: 35933 * svg/SVGPathSegLinetoHorizontal.h: 35934 * svg/SVGPathSegLinetoVertical.cpp: 35935 * svg/SVGPathSegLinetoVertical.h: 35936 * svg/SVGPathSegMoveto.cpp: 35937 * svg/SVGPathSegMoveto.h: 35938 * svg/SVGPatternElement.cpp: 35939 * svg/SVGPoint.idl: 35940 * svg/SVGPointList.cpp: 35941 * svg/SVGPointList.h: 35942 * svg/SVGPolyElement.cpp: 35943 * svg/SVGPolygonElement.cpp: 35944 * svg/SVGPolygonElement.h: 35945 * svg/SVGPolylineElement.cpp: 35946 * svg/SVGPolylineElement.h: 35947 * svg/SVGPreserveAspectRatio.cpp: 35948 * svg/SVGPreserveAspectRatio.h: 35949 * svg/SVGRadialGradientElement.h: 35950 * svg/SVGRect.idl: 35951 * svg/SVGRectElement.cpp: 35952 * svg/SVGRenderingIntent.h: 35953 * svg/SVGSVGElement.idl: 35954 * svg/SVGScriptElement.cpp: 35955 * svg/SVGSetElement.cpp: 35956 * svg/SVGSetElement.h: 35957 * svg/SVGStopElement.cpp: 35958 * svg/SVGStringList.cpp: 35959 * svg/SVGStringList.h: 35960 * svg/SVGStylable.cpp: 35961 * svg/SVGStylable.h: 35962 * svg/SVGStyleElement.cpp: 35963 * svg/SVGStyleElement.h: 35964 * svg/SVGStyledElement.h: 35965 * svg/SVGStyledLocatableElement.cpp: 35966 * svg/SVGStyledLocatableElement.h: 35967 * svg/SVGStyledTransformableElement.cpp: 35968 * svg/SVGStyledTransformableElement.h: 35969 * svg/SVGSwitchElement.cpp: 35970 * svg/SVGSymbolElement.cpp: 35971 * svg/SVGTRefElement.cpp: 35972 * svg/SVGTSpanElement.cpp: 35973 * svg/SVGTSpanElement.h: 35974 * svg/SVGTests.h: 35975 * svg/SVGTextElement.cpp: 35976 * svg/SVGTextElement.h: 35977 * svg/SVGTextPathElement.cpp: 35978 * svg/SVGTextPositioningElement.cpp: 35979 * svg/SVGTextPositioningElement.h: 35980 * svg/SVGTitleElement.cpp: 35981 * svg/SVGTitleElement.h: 35982 * svg/SVGTransform.cpp: 35983 * svg/SVGTransform.h: 35984 * svg/SVGTransform.idl: 35985 * svg/SVGTransformList.cpp: 35986 * svg/SVGTransformList.h: 35987 * svg/SVGTransformable.h: 35988 * svg/SVGURIReference.h: 35989 * svg/SVGUnitTypes.h: 35990 * svg/SVGUseElement.cpp: 35991 * svg/SVGViewElement.cpp: 35992 * svg/SVGZoomAndPan.cpp: 35993 * svg/SVGZoomAndPan.h: 35994 * svg/SVGZoomEvent.cpp: 35995 35996 2009-11-05 Jeremy Orlow <jorlow (a] chromium.org> 35997 35998 Reviewed by Dimitri Glazkov. 35999 36000 REGRESSION Clean up security origin usage in DOM Storage. 36001 https://bugs.webkit.org/show_bug.cgi?id=31188 36002 36003 Clean up security origin usage in DOM Storage. This fixes a bug in my 36004 refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149 36005 36006 Instead of having StorageAreaSync's constructor (which is called in the 36007 constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the 36008 database identifier, simply have StorageAreaImpl pass the identifier into 36009 StorageAreaSync. 36010 36011 No test because there's no change in externally observable behavior. 36012 36013 * storage/StorageAreaImpl.cpp: 36014 (WebCore::StorageAreaImpl::StorageAreaImpl): 36015 * storage/StorageAreaImpl.h: 36016 * storage/StorageAreaSync.cpp: 36017 (WebCore::StorageAreaSync::create): 36018 (WebCore::StorageAreaSync::StorageAreaSync): 36019 * storage/StorageAreaSync.h: 36020 36021 2009-11-05 Scott Violet <sky (a] google.com> 36022 36023 Reviewed by Dimitri Glazkov. 36024 36025 Need notification of scrolling frame 36026 https://bugs.webkit.org/show_bug.cgi?id=31145 36027 36028 Adds FrameLoaderClient::didChangeScrollOffset that is called when 36029 the frame scrolls. This will be used to know when history state 36030 needs to be updated. 36031 36032 * loader/FrameLoaderClient.h: 36033 (WebCore::FrameLoaderClient::didChangeScrollOffset): 36034 * page/FrameView.cpp: 36035 (WebCore::FrameView::valueChanged): 36036 36037 2009-11-05 Kenneth Russell <kbr (a] google.com> 36038 36039 Reviewed by Dimitri Glazkov. 36040 36041 [V8] Update bindings to use new API for external arrays 36042 https://bugs.webkit.org/show_bug.cgi?id=31181 36043 36044 No new tests; covered by existing WebGL tests. 36045 36046 * bindings/v8/V8DOMWrapper.cpp: 36047 (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray): 36048 (WebCore::V8DOMWrapper::getTemplate): 36049 (WebCore::V8DOMWrapper::convertToV8Object): 36050 * bindings/v8/V8DOMWrapper.h: 36051 * bindings/v8/custom/V8CanvasArrayCustom.h: 36052 (WebCore::constructCanvasArray): 36053 36054 2009-11-05 Alpha Lam <hclam (a] chromium.org> 36055 36056 Not reviewed, Chromium build fix. 36057 36058 50561 introduces a custom method for SVGMatrix, we need to implement 36059 this in V8. 36060 36061 * bindings/v8/custom/V8CustomBinding.h: 36062 Adding definition for V8SVGMatrixMultiply. 36063 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 36064 (WebCore::CALLBACK_FUNC_DECL): 36065 Implement V8SVGMatrixMultiply according to the same method in JSC. 36066 36067 2009-11-05 Jeremy Orlow <jorlow (a] chromium.org> 36068 36069 Revert 50569 since it broke QT. Build fix and just a revert, so no review. 36070 36071 * page/DOMWindow.cpp: 36072 (WebCore::DOMWindow::sessionStorage): 36073 * page/Settings.cpp: 36074 (WebCore::Settings::Settings): 36075 (WebCore::Settings::setSessionStorageEnabled): 36076 * page/Settings.h: 36077 (WebCore::Settings::sessionStorageEnabled): 36078 36079 2009-11-05 Pavel Feldman <pfeldman (a] chromium.org> 36080 36081 Reviewed by Timothy Hatcher. 36082 36083 REGRESSION: Web Inspector doesn't show CSS rules properly for iframes 36084 36085 https://bugs.webkit.org/show_bug.cgi?id=30884 36086 36087 Test: inspector/styles-iframe.html 36088 36089 * inspector/front-end/DOMAgent.js: 36090 (WebInspector.DOMNode): 36091 * inspector/front-end/InjectedScript.js: 36092 (InjectedScript.getStyles): 36093 (InjectedScript.getComputedStyle): 36094 (InjectedScript.addStyleSelector): 36095 * inspector/front-end/TestController.js: 36096 (WebInspector.TestController.prototype.notifyDone): 36097 (WebInspector.TestController.prototype.runAfterPendingDispatches): 36098 (WebInspector.evaluateForTestInFrontend.invokeMethod): 36099 (WebInspector.evaluateForTestInFrontend): 36100 36101 2009-11-05 Vitaly Repeshko <vitalyr (a] chromium.org> 36102 36103 Reviewed by Geoffrey Garen and Dimitri Glazkov. 36104 36105 Rehashing of EventListenerMap leads to loss of EvenListenerList. 36106 https://bugs.webkit.org/show_bug.cgi?id=31027 36107 36108 Tested by new fast/events/event-listener-map-rehash-crash.html. 36109 36110 EventListenerMap modified to store pointers to listener vectors: 36111 * dom/EventTarget.cpp: 36112 (WebCore::EventTargetData::~EventTargetData): 36113 (WebCore::EventTarget::addEventListener): 36114 (WebCore::EventTarget::removeEventListener): 36115 (WebCore::EventTarget::fireEventListeners): 36116 (WebCore::EventTarget::getEventListeners): 36117 (WebCore::EventTarget::removeAllEventListeners): 36118 * dom/EventTarget.h: 36119 36120 Usages updated after interface changes: 36121 * inspector/InspectorDOMAgent.cpp: 36122 (WebCore::InspectorDOMAgent::getEventListenersForNode): 36123 * svg/SVGUseElement.cpp: 36124 (WebCore::SVGUseElement::transferEventListenersToShadowTree): 36125 36126 2009-11-05 Dan Kegel <dank (a] chromium.org> 36127 36128 Reviewed by Dmitri Titov. 36129 36130 Add missing initialization for m_createdByParser. 36131 https://bugs.webkit.org/show_bug.cgi?id=31089 36132 36133 Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind 36134 36135 * dom/ProcessingInstruction.cpp: 36136 (WebCore::ProcessingInstruction::ProcessingInstruction): 36137 36138 2009-11-04 Jeremy Orlow <jorlow (a] chromium.org> 36139 36140 Reviewed by Adam Barth. 36141 36142 DOM Storage runtime flag changes 36143 https://bugs.webkit.org/show_bug.cgi?id=30602 36144 36145 Part 2/2. 36146 36147 Revert my changes to Settings and instead implement DOM Storage enabling via 36148 the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240 36149 36150 This stuff was (intentionally) never exposed to web pages or DRT, so there's no 36151 LayoutTest visible changes and thus no tests. 36152 36153 * bindings/v8/custom/V8CustomBinding.h: 36154 * bindings/v8/custom/V8DOMWindowCustom.cpp: 36155 (WebCore::ACCESSOR_RUNTIME_ENABLER): 36156 * page/DOMWindow.cpp: 36157 (WebCore::DOMWindow::sessionStorage): 36158 * page/DOMWindow.idl: 36159 * page/Settings.cpp: 36160 (WebCore::Settings::Settings): 36161 * page/Settings.h: 36162 * storage/Storage.cpp: 36163 (WebCore::Storage::setLocalStorageAvailable): 36164 (WebCore::Storage::localStorageAvailable): 36165 (WebCore::Storage::setSessionStorageAvailable): 36166 (WebCore::Storage::sessionStorageAvailable): 36167 * storage/Storage.h: 36168 36169 2009-11-05 Jian Li <jianli (a] chromium.org> 36170 36171 Reviewed by Pavel Feldman. 36172 36173 Bug 31108 - [V8] REGRESSION: Pause on exception is broken 36174 https://bugs.webkit.org/show_bug.cgi?id=31108 36175 36176 * bindings/v8/V8AbstractEventListener.cpp: 36177 (WebCore::V8AbstractEventListener::invokeEventHandler): 36178 * bindings/v8/V8Utilities.cpp: 36179 (WebCore::reportException): 36180 36181 2009-11-05 Jian Li <jianli (a] chromium.org> 36182 36183 Reviewed by Dmitri Titov. 36184 36185 We should not bubble up events if we drag something to an iframe that 36186 has an invalid source. 36187 https://bugs.webkit.org/show_bug.cgi?id=30469 36188 36189 Test: http/tests/misc/bubble-drag-events.html 36190 36191 * page/EventHandler.cpp: 36192 (WebCore::EventHandler::handleDragAndDropForTarget): 36193 (WebCore::EventHandler::updateDragAndDrop): 36194 (WebCore::EventHandler::cancelDragAndDrop): 36195 (WebCore::EventHandler::performDragAndDrop): 36196 * page/EventHandler.h: 36197 (WebCore::EventHandler::): 36198 36199 2009-11-05 Pavel Feldman <pfeldman (a] chromium.org> 36200 36201 Reviewed by Timothy Hatcher. 36202 36203 Web Inspector: speed up Timelines Clear by a factor of thousands. 36204 36205 https://bugs.webkit.org/show_bug.cgi?id=31160 36206 36207 * inspector/front-end/utilities.js: 36208 (Element.prototype.removeChildren): 36209 36210 2009-11-05 Anton Muhin <antonm (a] chromium.org> 36211 36212 Reviewed by Adam Barth. 36213 36214 If high memory usage is detected, hint to V8 that it might be due 36215 to external objects retained by V8 objects. 36216 https://bugs.webkit.org/show_bug.cgi?id=31051 36217 36218 * bindings/v8/V8GCController.cpp: 36219 (WebCore::GetMemoryUsageInMB): 36220 (WebCore::V8GCController::gcEpilogue): 36221 (WebCore::V8GCController::checkMemoryUsage): 36222 * bindings/v8/V8GCController.h: 36223 * bindings/v8/V8Proxy.cpp: 36224 (WebCore::V8Proxy::evaluate): 36225 (WebCore::V8Proxy::runScript): 36226 (WebCore::V8Proxy::callFunction): 36227 36228 2009-11-05 Jeff Schiller <codedread (a] gmail.com> 36229 36230 Reviewed by Simon Fraser. 36231 36232 Correct order of matrix multiplication for SVGMatrix. 36233 https://bugs.webkit.org/show_bug.cgi?id=16062 36234 36235 Test: svg/dom/SVGMatrix-interface.xhtml 36236 36237 * bindings/js/JSSVGMatrixCustom.cpp: 36238 (WebCore::JSSVGMatrix::multiply): 36239 * svg/SVGMatrix.idl: 36240 36241 2009-11-04 Pavel Feldman <pfeldman (a] chromium.org> 36242 36243 Reviewed by Timothy Hatcher. 36244 36245 Web Inspector: Make resource-related records in timeline 36246 actually take some time. 36247 36248 https://bugs.webkit.org/show_bug.cgi?id=31139 36249 36250 * English.lproj/localizedStrings.js: 36251 * inspector/front-end/TimelinePanel.js: 36252 (WebInspector.TimelinePanel): 36253 (WebInspector.TimelinePanel.prototype._formatRecord): 36254 (WebInspector.TimelinePanel.prototype._getRecordDetails): 36255 (WebInspector.TimelinePanel.prototype.reset): 36256 36257 2009-11-04 Jeremy Orlow <jorlow (a] chromium.org> 36258 36259 Reviewed by Darin Fisher. 36260 36261 Simplify LocalStorageThread 36262 https://bugs.webkit.org/show_bug.cgi?id=30935 36263 36264 This is a re-submit of 50519. LocalStorageTask should have never been ref 36265 counted. I've removed that and switched a PassRefPtr over to a PassOwnPtr. 36266 36267 On LocalStoragethread: Remove reference counting. Get rid of locking. Make some 36268 of the method names a bit more clear. Assert proper thread usage. Join rather 36269 than detaching the thread and doing an ad-hoc form of join. Avoid touching 36270 variables on the background thread when simple to do so. Also create a generic 36271 scheduleTask function rather than one for each task. 36272 36273 No behavior should have changed. 36274 36275 * storage/LocalStorageTask.h: 36276 * storage/LocalStorageThread.cpp: 36277 (WebCore::LocalStorageThread::create): 36278 (WebCore::LocalStorageThread::LocalStorageThread): 36279 (WebCore::LocalStorageThread::~LocalStorageThread): 36280 (WebCore::LocalStorageThread::start): 36281 (WebCore::LocalStorageThread::threadEntryPointCallback): 36282 (WebCore::LocalStorageThread::threadEntryPoint): 36283 (WebCore::LocalStorageThread::scheduleTask): 36284 (WebCore::LocalStorageThread::terminate): 36285 (WebCore::LocalStorageThread::performTerminate): 36286 * storage/LocalStorageThread.h: 36287 * storage/StorageSyncManager.cpp: 36288 (WebCore::StorageSyncManager::StorageSyncManager): 36289 (WebCore::StorageSyncManager::~StorageSyncManager): 36290 (WebCore::StorageSyncManager::scheduleImport): 36291 (WebCore::StorageSyncManager::scheduleSync): 36292 * storage/StorageSyncManager.h: 36293 36294 2009-11-04 Jeremy Orlow <jorlow (a] chromium.org> 36295 36296 Reviewed by Darin Fisher. 36297 36298 Calling databaseIdentifier on LocalStorage's background thread is not safe. 36299 https://bugs.webkit.org/show_bug.cgi?id=31149 36300 36301 Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread 36302 is not safe. databaseIdentifier does a bunch of string concatenation which 36303 ref-counts StringImpls in some cases. This was caught by valgrind thread 36304 sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645 36305 36306 There's no way to test for such racyness, unfortunately. 36307 36308 * storage/StorageAreaSync.cpp: 36309 (WebCore::StorageAreaSync::StorageAreaSync): 36310 (WebCore::StorageAreaSync::performImport): 36311 * storage/StorageAreaSync.h: 36312 * storage/StorageSyncManager.cpp: 36313 (WebCore::StorageSyncManager::fullDatabaseFilename): 36314 * storage/StorageSyncManager.h: 36315 36316 2009-11-03 Jeremy Orlow <jorlow (a] chromium.org> 36317 36318 Reviewed by Darin Fisher. 36319 36320 Clean up StorageAreaSync 36321 https://bugs.webkit.org/show_bug.cgi?id=31100 36322 36323 Major fixes: Break the ref count cycle for StorageArea on the main 36324 thread, not the background thread since the latter is not safe. 36325 Length() needs to block on the import completing. 36326 36327 Small fixes: setItem needs to handle the copy on write case even if it 36328 has an exception. setItem and removeItem should just bail from the 36329 the function if the value hasn't changed rather than wrapping the end 36330 in an if block. Clear should only send an event if it wasn't already 36331 cleared. StorageAreaSync should assert that the final sync was 36332 scheduled. 36333 36334 * storage/StorageAreaImpl.cpp: 36335 (WebCore::StorageAreaImpl::length): 36336 Forgot to block on the import. 36337 (WebCore::StorageAreaImpl::key): 36338 (WebCore::StorageAreaImpl::setItem): 36339 Handle the copy on write case even when there's an exception. 36340 (WebCore::StorageAreaImpl::removeItem): 36341 (WebCore::StorageAreaImpl::clear): 36342 * storage/StorageAreaSync.cpp: 36343 (WebCore::StorageAreaSync::~StorageAreaSync): 36344 (WebCore::StorageAreaSync::scheduleFinalSync): 36345 (WebCore::StorageAreaSync::performImport): 36346 (WebCore::StorageAreaSync::markImported): 36347 (WebCore::StorageAreaSync::blockUntilImportComplete): 36348 * storage/StorageAreaSync.h: 36349 36350 2009-11-05 Zoltan Horvath <zoltan (a] webkit.org> 36351 36352 Reviewed by Eric Seidel. 36353 36354 Allow custom memory allocation control for WebCore's CachedResource 36355 https://bugs.webkit.org/show_bug.cgi?id=31114 36356 36357 Inherits CachedResource class from Noncopyable because its (its child 36358 class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 36359 and it is no need to be copyable. 36360 36361 * loader/CachedResource.h: 36362 36363 2009-11-04 Mark Mentovai <mark (a] chromium.org> 36364 36365 Reviewed by Mark Rowe. 36366 36367 Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which 36368 is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM) 36369 which is true when targeting 10.6 or later. 36370 36371 HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium 36372 is present in the CGInterpolationQuality enum, and must be handled 36373 by a switch that has cases for each enumerated value. 36374 36375 USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run 36376 on 10.6 or later, and that CoreGraphics will understand when 36377 InterpolationMedium is mapped to kCGInterpolationMedium at runtime. 36378 36379 * platform/graphics/cg/GraphicsContextCG.cpp: 36380 (WebCore::GraphicsContext::setImageInterpolationQuality): 36381 (WebCore::GraphicsContext::imageInterpolationQuality): 36382 36383 2009-11-04 Dan Kegel <dank (a] chromium.org> 36384 36385 Reviewed by Alexey Proskuryakov. 36386 36387 Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged() 36388 https://bugs.webkit.org/show_bug.cgi?id=31138 36389 36390 Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind 36391 36392 * page/Page.cpp: 36393 (WebCore::Page::userStyleSheetLocationChanged): 36394 36395 2009-11-04 Timothy Hatcher <timothy (a] apple.com> 36396 36397 Update the Web Inspector Timeline panel to better match the mock-up. 36398 36399 https://bugs.webkit.org/show_bug.cgi?id=31150 36400 36401 Reviewed by Pavel Feldman. 36402 36403 * inspector/front-end/TimelinePanel.js: 36404 (WebInspector.TimelinePanel.prototype._getRecordDetails): 36405 (WebInspector.TimelinePanel.prototype._dragWindow): 36406 (WebInspector.TimelinePanel.prototype._resizeWindowLeft): 36407 (WebInspector.TimelinePanel.prototype._resizeWindowRight): 36408 (WebInspector.TimelineCategoryTreeElement.prototype.onattach): 36409 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 36410 (WebInspector.TimelineRecordTreeElement.prototype.refresh): 36411 (WebInspector.TimelineCategoryGraph): 36412 * inspector/front-end/inspector.css: 36413 36414 2009-11-05 Justin Garcia <justin.garcia (a] apple.com> 36415 36416 Reviewed by Adele Peterson. 36417 36418 https://bugs.webkit.org/show_bug.cgi?id=25439 36419 Deleting when in front of a block image removes character from previous paragraph 36420 36421 Added editing/deleting/25439-{1,2,3}.html 36422 36423 * editing/DeleteSelectionCommand.cpp: 36424 (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 36425 be made inline with other content. Instead of merging, just move the caret to just before 36426 the selection we deleted. 36427 * editing/htmlediting.cpp: 36428 (WebCore::firstInSpecialElement): Added a FIXME. This function begins iterating up from pos.node(), which 36429 doesn't necessarily contain pos (suppose pos was [img, 0]). 36430 (WebCore::lastInSpecialElement): Ditto. 36431 (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp. Added a check for non-inline images. 36432 * editing/htmlediting.h: 36433 * editing/visible_units.cpp: 36434 (WebCore::startOfParagraph): Use moved/renamed function. Removed FIXME. The problem causing 36435 5027702 is now squarely in first/lastInSpecialElement 36436 (WebCore::endOfParagraph): Ditto. 36437 36438 2009-11-04 Enrica Casucci <enrica (a] apple.com> 36439 36440 Reviewed by Adele Peterson. 36441 36442 Hang in Mail on attempting to change indent level. 36443 <rdar://problem/7131805> 36444 https://bugs.webkit.org/show_bug.cgi?id=31127 36445 36446 The hang was caused by an infinite loop inside outdentRegion. 36447 The code did not account for the fact that, when a list item 36448 contains multiple paragraphs, outdent moves all paragraphs at 36449 once, invalidating some of the positions we keep track of in the loop. 36450 Some code refactoring has also been done to minimize duplicated code. 36451 36452 Test: editing/execCommand/outdent-multiparagraph-list.html 36453 36454 * editing/IndentOutdentCommand.cpp: 36455 (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with 36456 outdentRegion to doApply. 36457 (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop. 36458 (WebCore::IndentOutdentCommand::doApply): Some code refactoring. 36459 * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to 36460 indentRegion and outdentRegion. 36461 36462 2009-11-04 Alpha Lam <hclam (a] chromium.org> 36463 36464 Reviewed by Eric Carlson. 36465 36466 Volume slider doesn't have a thumb 36467 https://bugs.webkit.org/show_bug.cgi?id=31135 36468 36469 Fixed an incorrect if statement that prevents volume slider 36470 being updated. 36471 36472 The statement checks if the slider value equals to the current 36473 volume value of the media control to avoid updating the volume 36474 slider. Updating the volume slider control shouldn't be within 36475 this condition because we explicitly set them to be equals 36476 during creation of the controls and also when mouse events are 36477 received on the volume control. 36478 36479 No new tests because existing code breaks: 36480 LayoutTests/media/video-volume-slider.html 36481 36482 It should now start passing on Chromium. 36483 36484 * rendering/MediaControlElements.cpp: 36485 (WebCore::MediaControlVolumeSliderElement::update): 36486 Update the volume slider regardless of the current volume value 36487 of the media control. 36488 36489 2009-11-04 Jenn Braithwaite <jennb (a] chromium.org> 36490 36491 Reviewed by David Levin. 36492 36493 Need to properly disable applicationCache at runtime 36494 https://bugs.webkit.org/show_bug.cgi?id=30417 36495 36496 Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures. 36497 36498 No new exposed functionality, so no new tests. 36499 36500 * bindings/v8/RuntimeEnabledFeatures.cpp: 36501 * bindings/v8/RuntimeEnabledFeatures.h: 36502 (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled): 36503 (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled): 36504 * bindings/v8/custom/V8CustomBinding.h: 36505 * bindings/v8/custom/V8DOMWindowCustom.cpp: 36506 (WebCore::ACCESSOR_RUNTIME_ENABLER): 36507 * page/DOMWindow.idl: 36508 36509 2009-11-04 Alexey Proskuryakov <ap (a] apple.com> 36510 36511 Reviewed by Dan Bernstein. 36512 36513 https://bugs.webkit.org/show_bug.cgi?id=31143 36514 Assertion failure in CredentialStorage::set() when proxy credentials are being set 36515 36516 No test, cannot test proxy behavior. 36517 36518 * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the 36519 possibility of null url. Release mode changes are likely inconsequential - e.g. we used to 36520 add "://" to origin set, which is weird, but safe. 36521 36522 2009-11-04 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 36523 36524 Reviewed by Timothy Hatcher. 36525 36526 Web Inspector: Leftover Breakpoints in the Sidebar Pane 36527 https://bugs.webkit.org/show_bug.cgi?id=30659 36528 36529 No new tests. 36530 36531 * inspector/front-end/ScriptsPanel.js: 36532 (WebInspector.ScriptsPanel.prototype.addScript): 36533 36534 2009-11-04 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 36535 36536 Reviewed by Timothy Hatcher. 36537 36538 WebInspector: Use a different method to identify the webkit port in 36539 InspectorBackent::platform(). 36540 This corrects the inspector expected behavior with Qt on Windows. 36541 https://bugs.webkit.org/show_bug.cgi?id=31116 36542 36543 * inspector/InspectorBackend.cpp: 36544 (WebCore::InspectorBackend::platform): 36545 (WebCore::InspectorBackend::port): 36546 * inspector/InspectorBackend.h: 36547 * inspector/InspectorBackend.idl: 36548 * inspector/front-end/InspectorControllerStub.js: 36549 (.WebInspector.InspectorControllerStub.prototype.port): 36550 * inspector/front-end/inspector.css: 36551 * inspector/front-end/inspector.js: 36552 (WebInspector.loaded): 36553 (WebInspector.toolbarDragStart): 36554 36555 2009-11-04 Benjamin Otte <otte (a] gnome.org> 36556 36557 Reviewed by Gustavo Noronha. 36558 36559 Update Cairo requirement to 1.6. 36560 36561 Also remove all conditional code and workarounds for older versions of 36562 Cairo. 36563 In particular, gain image quality by removing the use of 36564 CAIRO_FILTER_NEAREST when rendering images and use the default 36565 bilinear filter instead. 36566 https://bugs.webkit.org/show_bug.cgi?id=19266 36567 36568 * platform/graphics/cairo/GraphicsContextCairo.cpp: 36569 (WebCore::GraphicsContext::clipOut): 36570 * platform/graphics/cairo/ImageCairo.cpp: 36571 (WebCore::BitmapImage::draw): 36572 (WebCore::BitmapImage::drawPattern): 36573 * platform/graphics/cairo/PathCairo.cpp: 36574 (WebCore::Path::isEmpty): 36575 (WebCore::Path::boundingRect): 36576 * platform/gtk/RenderThemeGtk.cpp: 36577 (WebCore::paintMozWidget): 36578 36579 2009-11-04 Kevin Ollivier <kevino (a] theolliviers.com> 36580 36581 wx build fix. Restore removed string conversion after cleanup. 36582 36583 * platform/graphics/wx/FontPlatformDataWx.cpp: 36584 (WebCore::FontPlatformData::computeHash): 36585 36586 2009-11-04 Chris Fleizach <cfleizach (a] apple.com> 36587 36588 Reviewed by Beth Dakin. 36589 36590 Need to implement ARIA role="combobox" 36591 https://bugs.webkit.org/show_bug.cgi?id=31096 36592 36593 Test: accessibility/aria-combobox.html 36594 36595 * accessibility/AccessibilityObject.h: 36596 (WebCore::AccessibilityObject::isComboBox): 36597 (WebCore::AccessibilityObject::isExpanded): 36598 (WebCore::AccessibilityObject::expandObject): 36599 (WebCore::AccessibilityObject::increment): 36600 (WebCore::AccessibilityObject::decrement): 36601 * accessibility/AccessibilityRenderObject.cpp: 36602 (WebCore::AccessibilityRenderObject::expandObject): 36603 (WebCore::AccessibilityRenderObject::isExpanded): 36604 (WebCore::createARIARoleMap): 36605 * accessibility/AccessibilityRenderObject.h: 36606 * accessibility/mac/AccessibilityObjectWrapper.mm: 36607 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 36608 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 36609 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): 36610 * html/HTMLAttributeNames.in: 36611 36612 2009-11-04 Kelly Norton <knorton (a] google.com> 36613 36614 Reviewed by Pavel Feldman. 36615 36616 Fixes naming inconsistencies in TimelineRecordFactory. 36617 https://bugs.webkit.org/show_bug.cgi?id=31132 36618 36619 * inspector/InspectorTimelineAgent.cpp: 36620 (WebCore::InspectorTimelineAgent::willPaint): 36621 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): 36622 (WebCore::InspectorTimelineAgent::willLoadXHR): 36623 (WebCore::InspectorTimelineAgent::willEvaluateScript): 36624 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 36625 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): 36626 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 36627 * inspector/TimelineRecordFactory.cpp: 36628 (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord): 36629 (WebCore::TimelineRecordFactory::createXHRLoadRecord): 36630 (WebCore::TimelineRecordFactory::createEvaluateScriptRecord): 36631 (WebCore::TimelineRecordFactory::createMarkTimelineRecord): 36632 (WebCore::TimelineRecordFactory::createResourceSendRequestRecord): 36633 (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord): 36634 (WebCore::TimelineRecordFactory::createResourceFinishRecord): 36635 (WebCore::TimelineRecordFactory::createPaintRecord): 36636 * inspector/TimelineRecordFactory.h: 36637 36638 2009-11-04 Eric Z. Ayers <zundel (a] google.com> 36639 36640 Reviewed by Pavel Feldman. 36641 36642 Followon to bug 31080, which protects Timeline 36643 instrumentation in the case where InspectorTimelineAgent 36644 is enabled or disabled during an event dispatch. 36645 36646 https://bugs.webkit.org/show_bug.cgi?id=31121 36647 36648 * bindings/v8/V8Proxy.cpp: 36649 (WebCore::V8Proxy::evaluate): 36650 * dom/Document.cpp: 36651 (WebCore::Document::recalcStyle): 36652 * dom/Node.cpp: 36653 (WebCore::Node::dispatchGenericEvent): 36654 * html/HTMLTokenizer.cpp: 36655 (WebCore::HTMLTokenizer::write): 36656 * page/DOMWindow.cpp: 36657 (WebCore::DOMWindow::inspectorTimelineAgent): 36658 (WebCore::DOMWindow::dispatchEvent): 36659 * page/DOMWindow.h: 36660 * page/FrameView.cpp: 36661 (WebCore::FrameView::layout): 36662 (WebCore::FrameView::paintContents): 36663 * xml/XMLHttpRequest.cpp: 36664 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 36665 36666 2009-11-04 Jeremy Orlow <jorlow (a] chromium.org> 36667 36668 Revert 50519 while I work out what went wrong. 36669 36670 * storage/LocalStorageThread.cpp: 36671 (WebCore::LocalStorageThread::create): 36672 (WebCore::LocalStorageThread::LocalStorageThread): 36673 (WebCore::LocalStorageThread::start): 36674 (WebCore::LocalStorageThread::localStorageThreadStart): 36675 (WebCore::LocalStorageThread::localStorageThread): 36676 (WebCore::LocalStorageThread::scheduleImport): 36677 (WebCore::LocalStorageThread::scheduleSync): 36678 (WebCore::LocalStorageThread::terminate): 36679 (WebCore::LocalStorageThread::performTerminate): 36680 * storage/LocalStorageThread.h: 36681 * storage/StorageSyncManager.cpp: 36682 (WebCore::StorageSyncManager::StorageSyncManager): 36683 (WebCore::StorageSyncManager::~StorageSyncManager): 36684 (WebCore::StorageSyncManager::scheduleImport): 36685 (WebCore::StorageSyncManager::scheduleSync): 36686 * storage/StorageSyncManager.h: 36687 36688 2009-11-04 Pavel Feldman <pfeldman (a] chromium.org> 36689 36690 Reviewed by Timothy Hatcher. 36691 36692 Web Inspector: Add basic support for resource events and marks. 36693 Couple of drive-by fixes. Enabling the panel! 36694 36695 https://bugs.webkit.org/show_bug.cgi?id=31130 36696 36697 * English.lproj/localizedStrings.js: 36698 * inspector/front-end/TimelinePanel.js: 36699 (WebInspector.TimelinePanel): 36700 (WebInspector.TimelinePanel.prototype._formatRecord): 36701 (WebInspector.TimelinePanel.prototype._getRecordDetails): 36702 (WebInspector.TimelinePanel.prototype.reset): 36703 (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked): 36704 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 36705 * inspector/front-end/inspector.js: 36706 (WebInspector._createPanels): 36707 36708 2009-11-03 Jeremy Orlow <jorlow (a] chromium.org> 36709 36710 Reviewed by Darin Fisher. 36711 36712 Simplify LocalStorageThread 36713 https://bugs.webkit.org/show_bug.cgi?id=30935 36714 36715 On LocalStoragethread: Remove reference counting. Get rid of locking. Make some 36716 of the method names a bit more clear. Assert proper thread usage. Join rather 36717 than detaching the thread and doing an ad-hoc form of join. Avoid touching 36718 variables on the background thread when simple to do so. Also create a generic 36719 scheduleTask function rather than one for each task. 36720 36721 No behavior should have changed. 36722 36723 * storage/LocalStorageThread.cpp: 36724 (WebCore::LocalStorageThread::create): 36725 (WebCore::LocalStorageThread::LocalStorageThread): 36726 (WebCore::LocalStorageThread::~LocalStorageThread): 36727 (WebCore::LocalStorageThread::start): 36728 (WebCore::LocalStorageThread::threadEntryPointCallback): 36729 (WebCore::LocalStorageThread::threadEntryPoint): 36730 (WebCore::LocalStorageThread::scheduleTask): 36731 (WebCore::LocalStorageThread::terminate): 36732 (WebCore::LocalStorageThread::performTerminate): 36733 * storage/LocalStorageThread.h: 36734 * storage/StorageSyncManager.cpp: 36735 (WebCore::StorageSyncManager::StorageSyncManager): 36736 (WebCore::StorageSyncManager::~StorageSyncManager): 36737 (WebCore::StorageSyncManager::scheduleImport): 36738 (WebCore::StorageSyncManager::scheduleSync): 36739 * storage/StorageSyncManager.h: 36740 36741 2009-11-04 Vadim Zeitlin <vadim (a] wxwidgets.org> 36742 36743 Reviewed by Eric Seidel. 36744 36745 [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls. 36746 36747 * platform/graphics/wx/FontPlatformDataWx.cpp: 36748 (WebCore::FontPlatformData::computeHash): 36749 36750 2009-11-04 Kelly Norton <knorton (a] google.com> 36751 36752 Reviewed by Pavel Feldman. 36753 36754 Adds lightweight network resources to InspectorTimelineAgent. 36755 https://bugs.webkit.org/show_bug.cgi?id=31065 36756 36757 * inspector/InspectorController.cpp: 36758 (WebCore::InspectorController::willSendRequest): 36759 (WebCore::InspectorController::didReceiveResponse): 36760 (WebCore::InspectorController::didFinishLoading): 36761 (WebCore::InspectorController::didFailLoading): 36762 * inspector/InspectorTimelineAgent.cpp: 36763 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 36764 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): 36765 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 36766 * inspector/InspectorTimelineAgent.h: 36767 (WebCore::): 36768 * inspector/TimelineRecordFactory.cpp: 36769 (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord): 36770 (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord): 36771 (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord): 36772 * inspector/TimelineRecordFactory.h: 36773 * inspector/front-end/TimelineAgent.js: 36774 36775 2009-11-04 Yael Aharon <yael.aharon (a] nokia.com> 36776 36777 Reviewed by Tor Arne Vestb. 36778 36779 [Qt] ASSERT failure when receiving 401 HTTP Authentication response. 36780 https://bugs.webkit.org/show_bug.cgi?id=31077 36781 36782 Allow sending the response body under the same conditions that we 36783 allow it to finish without reporting an error. 36784 36785 * platform/network/qt/QNetworkReplyHandler.cpp: 36786 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 36787 36788 2009-11-04 Adam Roben <aroben (a] apple.com> 36789 36790 Sort WebCore.base.exp 36791 36792 Rubber-stamped by Dan Bernstein. 36793 36794 * WebCore.base.exp: Sorted. 36795 36796 2009-11-04 Csaba Osztrogonc <ossy (a] webkit.org> 36797 36798 Unreviewed rollout. 36799 36800 Revert r50496 because it broke all layout tests on QtBuildBot. 36801 36802 * WebCore.pro: 36803 * platform/graphics/qt/FontCacheQt.cpp: 36804 (WebCore::fontCache): 36805 (WebCore::FontCache::FontCache): 36806 (WebCore::FontCache::getTraitsInFamily): 36807 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 36808 (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): 36809 (WebCore::FontPlatformDataCacheKey::): 36810 (WebCore::FontPlatformDataCacheKey::operator==): 36811 (WebCore::FontPlatformDataCacheKey::hash): 36812 (WebCore::FontPlatformDataCacheKey::computeHash): 36813 (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): 36814 (WebCore::FontPlatformDataCacheKeyHash::hash): 36815 (WebCore::FontPlatformDataCacheKeyHash::equal): 36816 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 36817 (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): 36818 (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): 36819 (WebCore::FontCache::getCachedFontPlatformData): 36820 (WebCore::FontCache::getCachedFontData): 36821 (WebCore::FontCache::getLastResortFallbackFont): 36822 (WebCore::FontCache::releaseFontData): 36823 (WebCore::FontCache::purgeInactiveFontData): 36824 (WebCore::FontCache::addClient): 36825 (WebCore::FontCache::removeClient): 36826 (WebCore::FontCache::invalidate): 36827 * platform/graphics/qt/FontFallbackListQt.cpp: Added. 36828 (WebCore::FontFallbackList::FontFallbackList): 36829 (WebCore::FontFallbackList::invalidate): 36830 (WebCore::FontFallbackList::releaseFontData): 36831 (WebCore::FontFallbackList::determinePitch): 36832 (WebCore::FontFallbackList::fontDataAt): 36833 (WebCore::FontFallbackList::fontDataForCharacters): 36834 (WebCore::FontFallbackList::setPlatformFont): 36835 * platform/graphics/qt/FontPlatformData.h: 36836 (WebCore::FontPlatformData::pixelSize): 36837 * platform/graphics/qt/FontPlatformDataQt.cpp: 36838 (WebCore::FontPlatformData::FontPlatformData): 36839 36840 2009-11-04 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 36841 36842 Reviewed by Jan Alonzo. 36843 36844 https://bugs.webkit.org/show_bug.cgi?id=31044 36845 [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view 36846 36847 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 36848 (atkParentOfWebView): 36849 (webkit_accessible_get_index_in_parent): 36850 (webkit_accessible_get_parent): 36851 36852 2009-11-04 Dominik Rttsches <dominik.roettsches (a] access-company.com> 36853 36854 Reviewed by Eric Seidel. 36855 36856 https://bugs.webkit.org/show_bug.cgi?id=15914 36857 [GTK] Implement Unicode functionality using GLib 36858 36859 Initial version of this patch by Jrg Billeter and Naiem Shaik. 36860 Patch 2/4 - Moving TextCodecs to GLib 36861 36862 Added probing for a hard-coded lists of text encodings. 36863 The basis of this list is taken from the encodings supported by iconv, 36864 then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and 36865 a number of Chinese ones. 36866 36867 Probing is necessary with the current design of text codecs 36868 as iconv/GLib do not support enumerating available encodings. 36869 36870 * GNUmakefile.am: 36871 * platform/ThreadGlobalData.cpp: 36872 (WebCore::ThreadGlobalData::ThreadGlobalData): 36873 (WebCore::ThreadGlobalData::~ThreadGlobalData): 36874 * platform/text/TextEncoding.cpp: 36875 (WebCore::TextEncoding::encode): 36876 * platform/text/TextEncodingRegistry.cpp: 36877 (WebCore::buildBaseTextCodecMaps): 36878 (WebCore::extendTextCodecMaps): 36879 * platform/text/gtk/TextCodecGtk.cpp: Added. 36880 (WebCore::): 36881 (WebCore::newTextCodecGtk): 36882 (WebCore::TextCodecGtk::isEncodingAvailable): 36883 (WebCore::TextCodecGtk::registerEncodingNames): 36884 (WebCore::TextCodecGtk::registerCodecs): 36885 (WebCore::TextCodecGtk::registerBaseEncodingNames): 36886 (WebCore::TextCodecGtk::registerBaseCodecs): 36887 (WebCore::TextCodecGtk::registerExtendedEncodingNames): 36888 (WebCore::TextCodecGtk::registerExtendedCodecs): 36889 (WebCore::TextCodecGtk::TextCodecGtk): 36890 (WebCore::TextCodecGtk::~TextCodecGtk): 36891 (WebCore::TextCodecGtk::releaseIConv): 36892 (WebCore::TextCodecGtk::createIConvDecoder): 36893 (WebCore::TextCodecGtk::createIConvEncoder): 36894 (WebCore::TextCodecGtk::decode): 36895 (WebCore::TextCodecGtk::encode): 36896 * platform/text/gtk/TextCodecGtk.h: Added. 36897 36898 2009-11-04 Martin Robinson <martin.james.robinson (a] gmail.com> 36899 36900 Reviewed by Jan Alonzo. 36901 36902 [GTK] Enable DOM clipboard and drag-and-drop access 36903 https://bugs.webkit.org/show_bug.cgi?id=30623 36904 36905 Unify redudant methods which will always return the same value. 36906 36907 * platform/gtk/PasteboardGtk.cpp: 36908 (WebCore::Pasteboard::writeSelection): 36909 * platform/gtk/PasteboardHelper.h: 36910 36911 2009-11-04 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 36912 36913 Reviewed by Jan Alonzo. 36914 36915 https://bugs.webkit.org/show_bug.cgi?id=31035 36916 [GTK] some accessibility tests hitting assertion in debug builds 36917 36918 Removes the assertions in webkit_accessible_ref_child; adds sanity checks. 36919 Any app or AT can attempt to ref a child at a bogus index. 36920 36921 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 36922 (webkit_accessible_ref_child): 36923 36924 2009-11-04 Benjamin Otte <otte (a] gnome.org> 36925 36926 Reviewed by Jan Alonzo. 36927 36928 [gtk] Use gst_element_class_set_details_simple() 36929 36930 Cosmetic change, just code simplification 36931 36932 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 36933 (webkit_video_sink_base_init): 36934 2009-11-04 Kelly Norton <knorton (a] google.com> 36935 36936 Reviewed by Timothy Hatcher. 36937 36938 Adds paint rectangle information to TimelineAgent's didPaint callback. 36939 https://bugs.webkit.org/show_bug.cgi?id=31087 36940 36941 * inspector/InspectorTimelineAgent.cpp: 36942 (WebCore::InspectorTimelineAgent::willPaint): 36943 * inspector/InspectorTimelineAgent.h: 36944 * inspector/TimelineRecordFactory.cpp: 36945 (WebCore::TimelineRecordFactory::createPaintTimelineRecord): 36946 * inspector/TimelineRecordFactory.h: 36947 * page/FrameView.cpp: 36948 (WebCore::FrameView::paintContents): 36949 36950 2009-11-04 Jaime Yap <jaimeyap (a] google.com> 36951 36952 Reviewed by Timothy Hatcher. 36953 36954 This patch adds API to the console object for annotating the 36955 inspector timeline. This allows developers to mark logical 36956 checkpoints in their apps and have them overlaid in the event 36957 record tree. 36958 36959 tests updated: LayoutTests/fast/dom/Window/window-properties.html 36960 https://bugs.webkit.org/show_bug.cgi?id=31082 36961 36962 36963 * inspector/InspectorController.cpp: 36964 (WebCore::InspectorController::markTimeline): 36965 * inspector/InspectorController.h: 36966 * inspector/InspectorTimelineAgent.cpp: 36967 (WebCore::InspectorTimelineAgent::didMarkTimeline): 36968 * inspector/InspectorTimelineAgent.h: 36969 (WebCore::): 36970 * inspector/TimelineRecordFactory.cpp: 36971 (WebCore::TimelineRecordFactory::createMarkTimelineRecord): 36972 * inspector/TimelineRecordFactory.h: 36973 * inspector/front-end/TimelineAgent.js: 36974 * page/Console.cpp: 36975 (WebCore::Console::markTimeline): 36976 * page/Console.h: 36977 * page/Console.idl: 36978 36979 2009-11-03 Simon Hausmann <hausmann (a] webkit.org> 36980 36981 Unreviewed build fix for WebInspector with Qt build. 36982 36983 Simply re-generate the Qt resource file by running 36984 WebKitTools/Scripts/generate-qt-inspector-resource 36985 36986 * inspector/front-end/WebKit.qrc: 36987 36988 2009-11-02 Benjamin Poulain <benjamin.poulain (a] nokia.com> 36989 36990 Reviewed by Simon Hausmann. 36991 36992 [Qt] Handle fonts like the other ports 36993 36994 Remove FontFallbackListQt and rely on the common FontFallbackList 36995 to handle the fonts. FontCache and FontPlatformData have been 36996 updated to work with the common FontFallbackList. 36997 36998 In the previous implementation, FontPlatformDataCacheKey 36999 was a clone of FontPlatformData with the hashing 37000 capabilities added in order to use it as a key in the cache's 37001 hashmap. FontPlatformData has been modified to handle the hashing 37002 function directly so the data are not copied twice in memory. 37003 37004 FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of 37005 code from FontCache::getFontData() and FontFallbackList::fontDataAt(). 37006 The behavior is similar except currFamily->family().length() was 37007 not tested and the fallback fonts selector were not used. 37008 37009 https://bugs.webkit.org/show_bug.cgi?id=29856 37010 37011 Test: svg/text/text-font-invalid.html 37012 37013 * WebCore.pro: 37014 * platform/graphics/qt/FontCacheQt.cpp: 37015 (WebCore::FontCache::platformInit): 37016 (WebCore::FontCache::getFontDataForCharacters): 37017 (WebCore::FontCache::getSimilarFontPlatformData): 37018 (WebCore::FontCache::getLastResortFallbackFont): 37019 (WebCore::FontCache::getTraitsInFamily): 37020 (WebCore::FontCache::createFontPlatformData): 37021 * platform/graphics/qt/FontFallbackListQt.cpp: 37022 Removed. We now use the implementation from FontFallbackList.cpp 37023 * platform/graphics/qt/FontPlatformData.h: 37024 Add hashing capabilities to be able to use the data with the FontCache. 37025 This was previously done in FontCacheQt.cpp 37026 (WebCore::FontPlatformData::FontPlatformData): 37027 Added a boolean to identify deleted value in the hash table. 37028 (WebCore::FontPlatformData::isHashTableDeletedValue): 37029 (WebCore::FontPlatformData::hash): 37030 (WebCore::FontPlatformData::operator==): 37031 * platform/graphics/qt/FontPlatformDataQt.cpp: 37032 (WebCore::FontPlatformData::FontPlatformData): 37033 37034 2009-11-03 Dan Bernstein <mitz (a] apple.com> 37035 37036 Leopard build fix 37037 37038 * platform/network/mac/AuthenticationMac.mm: 37039 (WebCore::mac): 37040 (WebCore::core): 37041 37042 2009-11-03 Dan Bernstein <mitz (a] apple.com> 37043 37044 Reviewed by Alexey Proskuryakov. 37045 37046 Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM 37047 authentication in AuthenticationMac 37048 37049 * platform/network/mac/AuthenticationMac.mm: 37050 37051 2009-11-03 Eric Z. Ayers <zundel (a] google.com> 37052 37053 Reviewed by Timothy Hatcher. 37054 37055 Fixes a problem where the timeline instrumentation crashes if 37056 timeline profiling is enabled or disabled in the middle of an 37057 event dispatch. 37058 37059 https://bugs.webkit.org/show_bug.cgi?id=31080 37060 37061 Test: inspector/timeline-trivial.html 37062 37063 * bindings/js/ScriptController.cpp: 37064 (WebCore::ScriptController::evaluateInWorld): 37065 (WebCore::ScriptController::processingUserGestureEvent): 37066 * inspector/InspectorTimelineAgent.cpp: 37067 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 37068 * page/DOMTimer.cpp: 37069 (WebCore::DOMTimer::fired): 37070 37071 2009-11-03 Dan Bernstein <mitz (a] apple.com> 37072 37073 Reviewed by Dave Hyatt. 37074 37075 Allow a frame to go back to copy-on-scroll when it ceases being overlapped 37076 37077 The code was not testing slow-scrolling frames for overlappedness, thinking the answer 37078 would not matter. That is not the case if the only reason for the slow-scrolling is 37079 being overlapped. 37080 37081 * page/FrameView.cpp: 37082 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any 37083 reason besides being overlapped that the frame would need to fully repaint on scroll. 37084 * page/FrameView.h: 37085 * rendering/RenderWidget.cpp: 37086 (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped(). 37087 37088 2009-11-03 Dmitry Titov <dimich (a] chromium.org> 37089 37090 Not reviewed, Qt build fix. 37091 37092 Need to use right capitalization for include file. 37093 37094 * page/Navigator.cpp: 37095 37096 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37097 37098 Reviewed by Timothy Hatcher. 37099 37100 Web Inspector: Migrate from top bar filters to check boxes in Timeline. 37101 37102 https://bugs.webkit.org/show_bug.cgi?id=31081 37103 37104 * inspector/front-end/AbstractTimelinePanel.js: 37105 (WebInspector.AbstractTimelinePanel.prototype.showCategory): 37106 (WebInspector.AbstractTimelinePanel.prototype.hideCategory): 37107 (WebInspector.AbstractTimelinePanel.prototype.filter): 37108 * inspector/front-end/TimelinePanel.js: 37109 (WebInspector.TimelinePanel): 37110 (WebInspector.TimelineCategoryTreeElement.prototype.onattach): 37111 (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick): 37112 (WebInspector.TimelineCategoryGraph.prototype.clearChunks): 37113 (WebInspector.TimelineCategoryGraph.prototype.set dimmed): 37114 * inspector/front-end/inspector.css: 37115 37116 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37117 37118 Reviewed by Timothy Hatcher. 37119 37120 Web Inspector: clear overview on Clear action and panel reset. 37121 37122 https://bugs.webkit.org/show_bug.cgi?id=31078 37123 37124 * inspector/front-end/TimelinePanel.js: 37125 (WebInspector.TimelinePanel.prototype._getRecordDetails): 37126 (WebInspector.TimelinePanel.prototype.reset): 37127 37128 2009-11-03 Yaar Schnitman <yaar (a] chromium.org> 37129 37130 Reviewed by Dimitri Glazkov. 37131 37132 Imported action and rules python files that WebCore.gyp depends on. 37133 These files used to live in chromium.org and deal mostly with auto-generation 37134 of code by wrapping existing webkit perl scripts. 37135 37136 https://bugs.webkit.org/show_bug.cgi?id=31071 37137 37138 * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules. 37139 * WebCore.gyp/scripts/action_csspropertynames.py: Added. 37140 * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added. 37141 * WebCore.gyp/scripts/action_makenames.py: Added. 37142 * WebCore.gyp/scripts/action_maketokenizer.py: Added. 37143 * WebCore.gyp/scripts/action_useragentstylesheets.py: Added. 37144 * WebCore.gyp/scripts/rule_binding.py: Added. 37145 * WebCore.gyp/scripts/rule_bison.py: Added. 37146 * WebCore.gyp/scripts/rule_gperf.py: Added. 37147 37148 2009-11-03 Bradley Green <brg (a] chromium.org> 37149 37150 Reviewed by Dmitry Titov. 37151 37152 Implement window.navigator.registerProtocolHandler in webkit, 37153 https://bugs.webkit.org/b/29651 37154 37155 Also implemented its sister API window.navigator.registerContentHandler. 37156 37157 These methods are as described in the HTML5 specification which can be 37158 found here, 37159 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler 37160 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler 37161 37162 As specified in the document, the behavior of the browser is determined 37163 by the current registered handler. The state of a registered handler 37164 can change at any time, with the user clearing a registered handler, 37165 registering a different page as handler, or deferring the hander to the 37166 OS. If webkit was to track the state of the currently registered 37167 handlers, it would need more APIs and complexity to keep in sync with 37168 user actions reported to webkit from the UA. For simplicity, the state 37169 of protocol handlers should be kept isolated from webkit and webkit only 37170 notifies the UA that a page has made the call. The UA is then 37171 responsible for correctly handling the registerProtocolHandler call and 37172 the redirects which result from registration. 37173 37174 We do however follow the specification in insuring that the reserved 37175 schemes and mimeTypes are not passed to the UA as custom handler 37176 registration tests. We also insure that the "%s" token is present as 37177 required by the specification. 37178 37179 Updated test expectations for window.clientInformation and navigator 37180 objects. 37181 37182 Tests: fast/dom/registerContentHandler.html 37183 fast/dom/registerProtocolHandler.html 37184 37185 * page/Chrome.cpp: 37186 (WebCore::Chrome::registerProtocolHandler): 37187 (WebCore::Chrome::registerContentHandler): 37188 * page/Chrome.h: 37189 * page/ChromeClient.h: 37190 (WebCore::ChromeClient::registerProtocolHandler): 37191 (WebCore::ChromeClient::registerContentHandler): 37192 * page/Navigator.cpp: 37193 (WebCore::verifyCustomHandlerURL): 37194 (WebCore::verifyProtocolHandlerScheme): 37195 (WebCore::Navigator::registerProtocolHandler): 37196 (WebCore::verifyProtocolHandlerMimeType): 37197 (WebCore::Navigator::registerContentHandler): 37198 * page/Navigator.h: 37199 * page/Navigator.idl: 37200 37201 2009-11-03 Brady Eidson <beidson (a] apple.com> 37202 37203 Reviewed by Darin Adler. 37204 37205 https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h 37206 37207 No new tests. (No change in functionality) 37208 37209 * dom/Document.cpp: 37210 (WebCore::Document::inspectorTimelineAgent): Moved from Document.h 37211 * dom/Document.h: 37212 37213 Include "Page.h" directly: 37214 * html/HTMLVideoElement.cpp: 37215 * loader/RedirectScheduler.cpp: 37216 * page/History.cpp: 37217 * rendering/MediaControlElements.cpp: 37218 * storage/StorageAreaImpl.cpp: 37219 37220 2009-11-03 Keishi Hattori <casey.hattori (a] gmail.com> 37221 37222 Reviewed by Timothy Hatcher. 37223 37224 Web Inspector: hover over JS "things" in source and see their values 37225 https://bugs.webkit.org/show_bug.cgi?id=30913 37226 37227 * inspector/front-end/SourceFrame.js: 37228 37229 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37230 37231 Reviewed by Timothy Hatcher. 37232 37233 Web Inspector: update timeline content boundaries on timer. 37234 37235 https://bugs.webkit.org/show_bug.cgi?id=31072 37236 37237 * inspector/front-end/TimelinePanel.js: 37238 (WebInspector.TimelinePanel.prototype.refresh): 37239 (WebInspector.TimelinePanel.prototype._setWindowPosition): 37240 37241 2009-11-03 Dan Bernstein <mitz (a] apple.com> 37242 37243 Reviewed by Anders Carlsson and Beth Dakin. 37244 37245 https://bugs.webkit.org/show_bug.cgi?id=31070 37246 Fix <rdar://problem/7194735> Crashes at RenderText::RenderText() 37247 Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy() 37248 37249 Tests: plugins/attach-during-destroy.html 37250 plugins/destroy-reentry.html 37251 37252 These crashes were caused by plug-in code running during detach(), 37253 causing re-entry into RenderWidget::destroy() in one case and a call 37254 into attach() in the other. The fix is to prevent plug-in code from 37255 being called at certain unsafe times (during attach(), detach(), and 37256 recalcStyle()) by deferring changes to the widget hierarchy. 37257 37258 * dom/Document.cpp: 37259 (WebCore::Document::recalcStyle): Suspend widget hierarchy updates 37260 during style recalculation. 37261 37262 * dom/Element.cpp: 37263 (WebCore::Element::attach): Suspend widget hierarchy updates during 37264 attach(). 37265 (WebCore::Element::detach): Suspend widget hierarchy updates during 37266 detach(). 37267 37268 * rendering/RenderWidget.cpp: 37269 (WebCore::widgetNewParentMap): Returns a static map of pending changes 37270 to the widget hierarchy. 37271 (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the 37272 suspend count. 37273 (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the 37274 suspend count. If the count is going to be zero, updates the widget 37275 hierarchy by executing the pending changes stored in the map. 37276 (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy 37277 immediately or makes or updates an entry in the map, depending on 37278 whether updates are suspended. 37279 (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for 37280 <rdar://problem/6937089>. 37281 (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates 37282 are not suspended, because this function updates the widgets 37283 bounds, which can result in arbitrary native and JavaScript code 37284 execution. I think this assertion is true thanks to some deferred- 37285 update mechanisms that have already been deployed in other places 37286 in the code. 37287 (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead 37288 of changing the widget hierarchy directly. 37289 * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates() 37290 and resumeWidgetHierarchyUpdates(). 37291 37292 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37293 37294 Reviewed by Timothy Hatcher. 37295 37296 Web Inspector: only show timeline records that contribute 37297 to the current window. 37298 37299 https://bugs.webkit.org/show_bug.cgi?id=31069 37300 37301 * inspector/front-end/TimelinePanel.js: 37302 (WebInspector.TimelinePanel.prototype.refresh): 37303 (WebInspector.TimelineGraph): 37304 (WebInspector.TimelineGraph.prototype.refresh): 37305 37306 2009-11-03 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 37307 37308 Reviewed by Timothy Hatcher. 37309 37310 Watch expression editor should stay open after Add button was clicked 37311 https://bugs.webkit.org/show_bug.cgi?id=31049 37312 37313 No new tests, was a regression, use existing manual test. 37314 37315 * inspector/front-end/WatchExpressionsSidebarPane.js: 37316 (WebInspector.WatchExpressionsSection.prototype.update): 37317 (WebInspector.WatchExpressionsSection.prototype.addExpression): 37318 37319 2009-11-03 Evan Martin <evan (a] chromium.org> 37320 37321 Reviewed by Darin Adler. 37322 37323 Fix an off-by-one in the CSS lexer that causes memory corruption in 37324 hard-to-trigger circumstances. 37325 37326 https://bugs.webkit.org/show_bug.cgi?id=30827 37327 37328 Test: fast/css/end-of-buffer-crash.html 37329 37330 * css/maketokenizer: Add comments, fix off-by-one. 37331 37332 2009-11-02 Darin Adler <darin (a] apple.com> 37333 37334 Reviewed by Dan Bernstein. 37335 37336 Crash due to double-destroy related to CSS run-in property 37337 https://bugs.webkit.org/show_bug.cgi?id=31034 37338 rdar://problem/7328458 37339 37340 Test: fast/css/run-in-crash.html 37341 37342 * rendering/RenderBlock.cpp: 37343 (WebCore::RenderBlock::destroy): Reorder destruction so the 37344 continuation is destroyed after anonymous children. See comment 37345 in the code for more details of why this is right. 37346 * rendering/RenderInline.cpp: 37347 (WebCore::RenderInline::destroy): Ditto. 37348 37349 2009-11-03 Alexander Pavlov <apavlov (a] chromium.org> 37350 37351 Reviewed by Pavel Feldman. 37352 37353 Fix exception in ElementsPanel.js when moving pointer out of crumbs and window 37354 37355 There might be no new node under mouse if the pointer is moved out of the window 37356 in which case we get an exception. 37357 https://bugs.webkit.org/show_bug.cgi?id=31061 37358 37359 * inspector/front-end/ElementsPanel.js: 37360 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): 37361 37362 2009-11-03 Zoltan Horvath <zoltan (a] webkit.org> 37363 37364 Reviewed by Darin Adler. 37365 37366 Allow custom memory allocation control for the dom directory of WebCore 37367 https://bugs.webkit.org/show_bug.cgi?id=31053 37368 37369 Inherits the following classes from Noncopyable because these are 37370 instantiated by 'new' and these are no need to be copyable: 37371 37372 class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73 37373 struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581 37374 class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38 37375 struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 37376 struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100 37377 class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552 37378 37379 Inherits QualifiedName class from FastAllocBase because it is 37380 instantiated by 'new' in WebCore/editing/markup.cpp:319 37381 37382 * dom/Document.cpp: 37383 * dom/EventNames.h: 37384 * dom/EventTarget.h: 37385 * dom/MessagePortChannel.h: 37386 * dom/NodeRareData.h: 37387 * dom/QualifiedName.h: 37388 37389 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37390 37391 Reviewed by Timothy Hatcher. 37392 37393 Web Inspector: Implement timeline summary panel. 37394 37395 https://bugs.webkit.org/show_bug.cgi?id=31064 37396 37397 * inspector/front-end/TimelinePanel.js: 37398 (WebInspector.TimelinePanel.prototype._createOverview): 37399 (WebInspector.TimelinePanel.prototype.refresh): 37400 (WebInspector.TimelineCategoryGraph): 37401 (WebInspector.TimelineCategoryGraph.prototype.get graphElement): 37402 (WebInspector.TimelineCategoryGraph.prototype.addChunk): 37403 (WebInspector.TimelineCategoryGraph.prototype.clearChunks): 37404 (WebInspector.TimelineGraph.prototype.refresh): 37405 * inspector/front-end/inspector.css: 37406 37407 2009-11-03 Alexander Pavlov <apavlov (a] chromium.org> 37408 37409 Reviewed by Timothy Hatcher. 37410 37411 Toggle off 'Search for node' when the Inspector window is closing 37412 37413 Searching for node should be toggled off when the Inspector window is closed, 37414 in a platform-independent manner. 37415 https://bugs.webkit.org/show_bug.cgi?id=31059 37416 37417 * inspector/InspectorController.cpp: 37418 (WebCore::InspectorController::setWindowVisible): 37419 37420 2009-11-03 Mikhail Naganov <mnaganov (a] chromium.org> 37421 37422 Reviewed by Timothy Hatcher. 37423 37424 Prepare for heap profiles upstreaming: 37425 - pass profile type id from InspectorController; 37426 - this makes WebInspector.CPUProfile redundant---removed; 37427 - support multiple profile types when populating profiles. 37428 37429 https://bugs.webkit.org/show_bug.cgi?id=31052 37430 37431 * inspector/InspectorController.cpp: 37432 (WebCore::InspectorController::createProfileHeader): 37433 * inspector/front-end/ProfileView.js: 37434 (WebInspector.CPUProfileView.profileCallback): 37435 (WebInspector.CPUProfileView): 37436 (WebInspector.CPUProfileView.prototype._sortData): 37437 * inspector/front-end/ProfilesPanel.js: 37438 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 37439 * inspector/front-end/inspector.js: 37440 (WebInspector.addProfileHeader): 37441 37442 2009-11-03 Dan Kegel <dank (a] chromium.org> 37443 37444 Reviewed by Dimitri Glazkov. 37445 37446 UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor 37447 https://bugs.webkit.org/show_bug.cgi?id=31063 37448 37449 * accessibility/AccessibilityRenderObject.cpp: 37450 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 37451 37452 2009-11-03 Pavel Feldman <pfeldman (a] chromium.org> 37453 37454 Reviewed by Timothy Hatcher. 37455 37456 Web Inspector: Implement Timeline Window, wire it to the bottom timeline. 37457 37458 https://bugs.webkit.org/show_bug.cgi?id=31056 37459 37460 * English.lproj/localizedStrings.js: 37461 * inspector/front-end/AbstractTimelinePanel.js: 37462 (WebInspector.AbstractTimelinePanel.prototype.get items): 37463 (WebInspector.AbstractTimelinePanel.prototype.createInterface): 37464 (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): 37465 (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition): 37466 (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems): 37467 (WebInspector.AbstractTimelinePanel.prototype.refresh): 37468 (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition): 37469 (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider): 37470 (WebInspector.TimelineGrid): 37471 (WebInspector.TimelineGrid.prototype.get itemsGraphsElement): 37472 (WebInspector.TimelineGrid.prototype.updateDividers): 37473 (WebInspector.TimelineGrid.prototype.addExtraDivider): 37474 (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop): 37475 * inspector/front-end/ResourcesPanel.js: 37476 (WebInspector.ResourcesPanel): 37477 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded): 37478 (WebInspector.ResourcesPanel.prototype.get _resources): 37479 * inspector/front-end/TimelinePanel.js: 37480 (WebInspector.TimelinePanel): 37481 (WebInspector.TimelinePanel.prototype.get categories): 37482 (WebInspector.TimelinePanel.prototype._formatRecord): 37483 (WebInspector.TimelinePanel.prototype.reset): 37484 (WebInspector.TimelinePanel.prototype._createOverview): 37485 (WebInspector.TimelinePanel.prototype.setSidebarWidth): 37486 (WebInspector.TimelinePanel.prototype.updateMainViewWidth): 37487 (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded): 37488 (WebInspector.TimelinePanel.prototype.refresh): 37489 (WebInspector.TimelinePanel.prototype._resizeWindow): 37490 (WebInspector.TimelinePanel.prototype._windowResizeDragging): 37491 (WebInspector.TimelinePanel.prototype._dragWindow): 37492 (WebInspector.TimelinePanel.prototype._windowDragging): 37493 (WebInspector.TimelinePanel.prototype._resizeWindowLeft): 37494 (WebInspector.TimelinePanel.prototype._resizeWindowRight): 37495 (WebInspector.TimelinePanel.prototype._setWindowPosition): 37496 (WebInspector.TimelinePanel.prototype._endWindowDragging): 37497 (WebInspector.TimelineCategoryTreeElement): 37498 (WebInspector.TimelineCategoryTreeElement.prototype.onattach): 37499 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): 37500 (WebInspector.TimelineCalculator.prototype.get minimumBoundary): 37501 (WebInspector.TimelineCalculator.prototype.get maximumBoundary): 37502 (WebInspector.TimelineCalculator.prototype.reset): 37503 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 37504 (WebInspector.TimelineCalculator.prototype.formatValue): 37505 * inspector/front-end/inspector.css: 37506 37507 2009-11-03 Simon Hausmann <hausmann (a] webkit.org> 37508 37509 Reviewed by Tor Arne Vestb. 37510 37511 Make QWebPluginDatabase private API for now. 37512 37513 https://bugs.webkit.org/show_bug.cgi?id=30775 37514 37515 * WebCore.pro: 37516 37517 2009-11-03 Simon Hausmann <hausmann (a] webkit.org> 37518 37519 Reviewed by Tor Arne Vestb. 37520 37521 Extended the conversion of the WebCore ResourceRequest to the 37522 QNetworkRequest with a mandatory originating object argument, 37523 which is meant to be the QWebFrame the request belongs to. 37524 37525 https://bugs.webkit.org/show_bug.cgi?id=29975 37526 37527 * platform/network/qt/QNetworkReplyHandler.cpp: 37528 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 37529 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 37530 (WebCore::QNetworkReplyHandler::start): 37531 * platform/network/qt/ResourceRequest.h: 37532 * platform/network/qt/ResourceRequestQt.cpp: 37533 (WebCore::ResourceRequest::toNetworkRequest): 37534 37535 2009-11-03 Keishi Hattori <casey.hattori (a] gmail.com> 37536 37537 Reviewed by Pavel Feldman. 37538 37539 Web Inspector: monitorEvent should be monitorEvents 37540 https://bugs.webkit.org/show_bug.cgi?id=31042 37541 37542 * inspector/front-end/InjectedScript.js: 37543 (InjectedScript._ensureCommandLineAPIInstalled): 37544 37545 2009-11-02 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 37546 37547 Rubber-stamped by Antti Koivisto. 37548 37549 [Qt] Build fix for Windows CE 37550 37551 * plugins/PluginDatabase.cpp: 37552 37553 2009-11-02 Chris Fleizach <cfleizach (a] apple.com> 37554 37555 Reviewed by David Levin. 37556 37557 fix accessibility webkit-style-check errors 37558 https://bugs.webkit.org/show_bug.cgi?id=29672 37559 37560 * accessibility/AXObjectCache.cpp: 37561 (WebCore::AXObjectCache::getOrCreate): 37562 (WebCore::AXObjectCache::remove): 37563 (WebCore::AXObjectCache::platformGenerateAXID): 37564 (WebCore::AXObjectCache::removeAXID): 37565 * accessibility/AXObjectCache.h: 37566 (WebCore::AXObjectCache::enableAccessibility): 37567 (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility): 37568 (WebCore::AXObjectCache::accessibilityEnabled): 37569 (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled): 37570 (WebCore::AXObjectCache::isIDinUse): 37571 (WebCore::AXObjectCache::objectFromAXID): 37572 (WebCore::AXObjectCache::): 37573 (WebCore::AXObjectCache::handleActiveDescendantChanged): 37574 (WebCore::AXObjectCache::handleAriaRoleChanged): 37575 (WebCore::AXObjectCache::detachWrapper): 37576 (WebCore::AXObjectCache::attachWrapper): 37577 (WebCore::AXObjectCache::selectedChildrenChanged): 37578 (WebCore::AXObjectCache::postNotification): 37579 (WebCore::AXObjectCache::postPlatformNotification): 37580 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 37581 (WebCore::AXObjectCache::handleScrolledToAnchor): 37582 * accessibility/AccessibilityARIAGrid.cpp: 37583 (WebCore::AccessibilityARIAGrid::cellForColumnAndRow): 37584 * accessibility/AccessibilityAllInOne.cpp: 37585 * accessibility/AccessibilityImageMapLink.cpp: 37586 * accessibility/AccessibilityList.h: 37587 (WebCore::AccessibilityList::isList): 37588 * accessibility/AccessibilityListBox.cpp: 37589 * accessibility/AccessibilityListBox.h: 37590 (WebCore::AccessibilityListBox::isListBox): 37591 * accessibility/AccessibilityListBoxOption.cpp: 37592 * accessibility/AccessibilityListBoxOption.h: 37593 (WebCore::AccessibilityListBoxOption::isListBoxOption): 37594 * accessibility/AccessibilityMediaControls.h: 37595 (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl): 37596 (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline): 37597 (WebCore::AccessibilityMediaTimeline::isMediaTimeline): 37598 (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer): 37599 (WebCore::AccessibilityMediaControlsContainer::roleValue): 37600 (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored): 37601 (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay): 37602 (WebCore::AccessibilityMediaTimeDisplay::roleValue): 37603 * accessibility/AccessibilityObject.cpp: 37604 (WebCore::AccessibilityObject::parentObjectUnignored): 37605 (WebCore::AccessibilityObject::rightLineVisiblePositionRange): 37606 (WebCore::replacedNodeNeedsCharacter): 37607 (WebCore::AccessibilityObject::stringForVisiblePositionRange): 37608 (WebCore::AccessibilityObject::lengthForVisiblePositionRange): 37609 (WebCore::AccessibilityObject::actionVerb): 37610 * accessibility/AccessibilityObject.h: 37611 (WebCore::PlainTextRange::isNull): 37612 (WebCore::AccessibilityObject::isAccessibilityRenderObject): 37613 (WebCore::AccessibilityObject::isAnchor): 37614 (WebCore::AccessibilityObject::isAttachment): 37615 (WebCore::AccessibilityObject::isHeading): 37616 (WebCore::AccessibilityObject::isLink): 37617 (WebCore::AccessibilityObject::isImage): 37618 (WebCore::AccessibilityObject::isNativeImage): 37619 (WebCore::AccessibilityObject::isImageButton): 37620 (WebCore::AccessibilityObject::isPasswordField): 37621 (WebCore::AccessibilityObject::isTextControl): 37622 (WebCore::AccessibilityObject::isNativeTextControl): 37623 (WebCore::AccessibilityObject::isWebArea): 37624 (WebCore::AccessibilityObject::isCheckboxOrRadio): 37625 (WebCore::AccessibilityObject::isListBox): 37626 (WebCore::AccessibilityObject::isFileUploadButton): 37627 (WebCore::AccessibilityObject::isProgressIndicator): 37628 (WebCore::AccessibilityObject::isSlider): 37629 (WebCore::AccessibilityObject::isControl): 37630 (WebCore::AccessibilityObject::isList): 37631 (WebCore::AccessibilityObject::isDataTable): 37632 (WebCore::AccessibilityObject::isTableRow): 37633 (WebCore::AccessibilityObject::isTableColumn): 37634 (WebCore::AccessibilityObject::isTableCell): 37635 (WebCore::AccessibilityObject::isFieldset): 37636 (WebCore::AccessibilityObject::isGroup): 37637 (WebCore::AccessibilityObject::isChecked): 37638 (WebCore::AccessibilityObject::isEnabled): 37639 (WebCore::AccessibilityObject::isSelected): 37640 (WebCore::AccessibilityObject::isFocused): 37641 (WebCore::AccessibilityObject::isHovered): 37642 (WebCore::AccessibilityObject::isIndeterminate): 37643 (WebCore::AccessibilityObject::isLoaded): 37644 (WebCore::AccessibilityObject::isMultiSelect): 37645 (WebCore::AccessibilityObject::isOffScreen): 37646 (WebCore::AccessibilityObject::isPressed): 37647 (WebCore::AccessibilityObject::isReadOnly): 37648 (WebCore::AccessibilityObject::isVisited): 37649 (WebCore::AccessibilityObject::isRequired): 37650 (WebCore::AccessibilityObject::canSetFocusAttribute): 37651 (WebCore::AccessibilityObject::canSetTextRangeAttributes): 37652 (WebCore::AccessibilityObject::canSetValueAttribute): 37653 (WebCore::AccessibilityObject::hasIntValue): 37654 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): 37655 (WebCore::AccessibilityObject::accessibilityIsIgnored): 37656 * accessibility/AccessibilityRenderObject.cpp: 37657 (WebCore::AccessibilityRenderObject::parentObjectIfExists): 37658 (WebCore::AccessibilityRenderObject::parentObject): 37659 (WebCore::AccessibilityRenderObject::isMenuRelated): 37660 (WebCore::AccessibilityRenderObject::accessibilityDescription): 37661 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 37662 (WebCore::AccessibilityRenderObject::isFocused): 37663 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): 37664 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): 37665 (WebCore::AccessibilityRenderObject::doAXRangeForLine): 37666 (WebCore::AccessibilityRenderObject::doAXStringForRange): 37667 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): 37668 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 37669 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 37670 (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole): 37671 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 37672 (WebCore::AccessibilityRenderObject::canHaveChildren): 37673 (WebCore::AccessibilityRenderObject::actionVerb): 37674 (WebCore::shouldReturnTagNameAsRoleForMSAA): 37675 * accessibility/AccessibilityRenderObject.h: 37676 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject): 37677 * accessibility/AccessibilitySlider.cpp: 37678 (WebCore::AccessibilitySlider::orientation): 37679 * accessibility/AccessibilitySlider.h: 37680 (WebCore::AccessibilitySlider::~AccessibilitySlider): 37681 (WebCore::AccessibilitySlider::roleValue): 37682 (WebCore::AccessibilitySlider::accessibilityIsIgnored): 37683 (WebCore::AccessibilitySlider::isSlider): 37684 (WebCore::AccessibilitySlider::canSetValueAttribute): 37685 (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb): 37686 (WebCore::AccessibilitySliderThumb::roleValue): 37687 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): 37688 (WebCore::AccessibilitySliderThumb::setParentObject): 37689 (WebCore::AccessibilitySliderThumb::parentObject): 37690 * accessibility/AccessibilityTable.cpp: 37691 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 37692 * accessibility/AccessibilityTableColumn.cpp: 37693 * accessibility/AccessibilityTableHeaderContainer.cpp: 37694 (WebCore::AccessibilityTableHeaderContainer::addChildren): 37695 * accessibility/AccessibilityTableRow.cpp: 37696 * accessibility/mac/AccessibilityObjectWrapper.h: 37697 37698 2009-11-02 Darin Fisher <darin (a] chromium.org> 37699 37700 Fixing JSC build bustage. 37701 37702 * bindings/js/ScriptController.cpp: Added missing #include 37703 37704 2009-10-30 Darin Fisher <darin (a] chromium.org> 37705 37706 Reviewed by Adam Barth. 37707 37708 Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled. 37709 https://bugs.webkit.org/show_bug.cgi?id=30967 37710 37711 * bindings/js/ScriptController.cpp: 37712 (WebCore::ScriptController::isEnabled): 37713 * bindings/v8/ScriptController.cpp: 37714 (WebCore::ScriptController::isEnabled): 37715 * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController 37716 * bindings/v8/V8Proxy.h: Ditto 37717 * loader/FrameLoaderClient.h: 37718 (WebCore::FrameLoaderClient::allowJavaScript): 37719 * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function 37720 37721 2009-11-02 Brady Eidson <beidson (a] apple.com> 37722 37723 Rubberstamped by Mark Rowe. 37724 37725 Fix a typo in Mark's last commit. 37726 37727 * loader/archive/ArchiveFactory.cpp: 37728 (WebCore::archiveMIMETypes): 37729 37730 2009-11-02 Mark Rowe <mrowe (a] apple.com> 37731 37732 Rubber-stamped by Brady Eidson. 37733 37734 Re-enable support for web archives on Windows. It was mistakenly disabled in r50438. 37735 37736 * loader/archive/ArchiveFactory.cpp: 37737 (WebCore::archiveMIMETypes): 37738 37739 2009-11-02 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 37740 37741 Reviewed by Darin Adler. 37742 37743 PLATFORM(CF) should be set when building for Qt on Darwin 37744 https://bugs.webkit.org/show_bug.cgi?id=23671 37745 37746 * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp 37747 to the Darwin build. 37748 * loader/archive/ArchiveFactory.cpp: Change the support for 37749 legacy WebArchive from all CF platforms to Mac and Chromium 37750 CF platforms. 37751 (WebCore::archiveMIMETypes): 37752 * platform/text/AtomicString.h: Remove PLATFORM(QT) && 37753 PLATFORM(DARWIN) test as it is redundant now. 37754 * platform/text/PlatformString.h: Ditto. 37755 * platform/text/StringImpl.h: Ditto. 37756 * platform/text/cf/StringCF.cpp: Ditto. 37757 * platform/text/cf/StringImplCF.cpp: Ditto. 37758 37759 2009-11-02 Adam Barth <abarth (a] webkit.org> 37760 37761 Reviewed by David Levin. 37762 37763 [Chromium] Actually declare getPluginMimeTypeFromExtension in a header. 37764 https://bugs.webkit.org/show_bug.cgi?id=30985 37765 37766 Our current code does not conform to our style guide. 37767 37768 * WebCore.gyp/WebCore.gyp: 37769 * WebCore.gypi: 37770 * platform/chromium/MIMETypeRegistryChromium.cpp: 37771 * plugins/chromium/PluginDataChromium.cpp: 37772 * plugins/chromium/PluginDataChromium.h: Added. 37773 37774 2009-11-02 Adele Peterson <adele (a] apple.com> 37775 37776 Reviewed by Darin Adler. 37777 37778 Fix for <rdar://problem/7038305> REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button) 37779 37780 This bug is timing dependent, and not always reproducible. I could not think of a way to add a 37781 layout test that would demonstrate the problem and fix. 37782 37783 * platform/mac/ThemeMac.mm: 37784 (WebCore::checkbox): Update style. 37785 (WebCore::paintCheckbox): ditto. 37786 (WebCore::radio): ditto. 37787 (WebCore::paintRadio): ditto. 37788 (WebCore::setupButtonCell): Added convenience method. 37789 (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons. 37790 (WebCore::paintButton): Don't check for the key window here. Consider that when deciding if the button should have the default style in RenderTheme. 37791 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active. This fixes 37792 a problem I noticed where the button would flicker crazily if the page with the default button was in the background. 37793 37794 2009-11-02 Dan Bernstein <mitz (a] apple.com> 37795 37796 Reviewed by Anders Carlsson. 37797 37798 Minor RenderWidget clean-up in preparation for deferring widget tree 37799 mutation when it is not safe. 37800 37801 * rendering/RenderWidget.cpp: 37802 (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1 37803 instead of calling ref(). 37804 (WebCore::RenderWidget::destroy): Call setWidget(0) instead of 37805 repeating what it does. 37806 (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean 37807 indicating whether the bounds have changed. 37808 (WebCore::RenderWidget::setWidget): Replaced all-encompassing if 37809 statement with an early return. 37810 (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry(). 37811 * rendering/RenderWidget.h: 37812 37813 2009-11-02 Dumitru Daniliuc <dumi (a] chromium.org> 37814 37815 Reviewed by Dimitri Glazkov. 37816 37817 Adding Chromium's DatabaseTracker and SQLTransactionClient 37818 implementations. 37819 37820 https://bugs.webkit.org/show_bug.cgi?id=30701 37821 37822 * storage/chromium: Added. 37823 * storage/chromium/DatabaseObserver.h: Added. 37824 * storage/chromium/DatabaseTrackerChromium.cpp: Added. 37825 * storage/chromium/QuotaTracker.cpp: Added. 37826 * storage/chromium/QuotaTracker.h: Added. 37827 * storage/chromium/SQLTransactionClientChromium.cpp: Added. 37828 37829 2009-11-02 Enrica Casucci <enrica (a] apple.com> 37830 37831 Reviewed by Adele Peterson and Dan Bernstein. 37832 37833 Safari crashes when calling execCommand on formatted html in special case 37834 <rdar://problem/7318656> 37835 https://bugs.webkit.org/show_bug.cgi?id=31023 37836 37837 Test: editing/execCommand/align-in-span.html 37838 37839 * rendering/RenderObject.cpp: 37840 (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL. 37841 * rendering/RenderText.cpp: 37842 (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock, 37843 since it is possible when dealing with orphaned trees. 37844 37845 2009-11-02 Chris Marrin <cmarrin (a] apple.com> 37846 37847 Reviewed by Oliver Hunt. 37848 37849 Exception checks were being too aggressive 37850 https://bugs.webkit.org/show_bug.cgi?id=31005 37851 37852 Several calls in CanvasRenderingContext3D are allowed to 37853 have a null value passed, which indicated that the 37854 object is being unbound. Handle this case and the corresponding 37855 null handling in GraphicsContext3DMac. 37856 37857 * html/canvas/CanvasRenderingContext3D.cpp: 37858 (WebCore::CanvasRenderingContext3D::bindBuffer): 37859 (WebCore::CanvasRenderingContext3D::bindFramebuffer): 37860 (WebCore::CanvasRenderingContext3D::bindRenderbuffer): 37861 (WebCore::CanvasRenderingContext3D::bindTexture): 37862 (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer): 37863 (WebCore::CanvasRenderingContext3D::framebufferTexture2D): 37864 * platform/graphics/mac/GraphicsContext3DMac.cpp: 37865 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 37866 (WebCore::GraphicsContext3D::framebufferTexture2D): 37867 37868 2009-11-02 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 37869 37870 Reviewed by Timothy Hatcher. 37871 37872 Each JS execution in console adds extra item into "scripts" combo 37873 https://bugs.webkit.org/show_bug.cgi?id=30212 37874 37875 Added manual test 37876 37877 * inspector/front-end/ScriptsPanel.js: 37878 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 37879 * manual-tests/inspector/hidden-evals.html: Added. 37880 37881 2009-11-02 Kelly Norton <knorton (a] google.com> 37882 37883 Reviewed by Timothy Hatcher. 37884 37885 Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events. 37886 https://bugs.webkit.org/show_bug.cgi?id=31030 37887 37888 * dom/Node.cpp: 37889 (WebCore::eventHasListeners): Checks DOMWindow for listeners. 37890 (WebCore::Node::dispatchGenericEvent): 37891 37892 2009-11-02 Dmitry Titov <dimich (a] chromium.org> 37893 37894 Reviewed by David Levin. 37895 37896 Remove threadsafe refcounting from tasks used with WTF::MessageQueue. 37897 https://bugs.webkit.org/show_bug.cgi?id=30612 37898 37899 No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this. 37900 37901 There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with 37902 OwnPtr and PassOwnPtr when dealing with Tasks. 37903 37904 ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer 37905 threadsafe refcounted, but simply Noncopyable. 37906 37907 * dom/Document.cpp: 37908 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): 37909 (WebCore::PerformTaskContext::PerformTaskContext): 37910 (WebCore::Document::postTask): 37911 * dom/Document.h: 37912 * dom/ScriptExecutionContext.cpp: 37913 (WebCore::ProcessMessagesSoonTask::create): 37914 * dom/ScriptExecutionContext.h: 37915 * dom/default/PlatformMessagePortChannel.cpp: 37916 (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote): 37917 * dom/default/PlatformMessagePortChannel.h: 37918 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): 37919 (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty): 37920 * loader/FrameLoader.cpp: 37921 (WebCore::HashChangeEventTask::create): 37922 * loader/appcache/ApplicationCacheGroup.cpp: 37923 (WebCore::CallCacheListenerTask::create): 37924 * storage/Database.cpp: 37925 (WebCore::Database::openAndVerifyVersion): 37926 (WebCore::Database::markAsDeletedAndClose): 37927 (WebCore::Database::scheduleTransaction): 37928 (WebCore::Database::scheduleTransactionStep): 37929 (WebCore::Database::tableNames): 37930 * storage/DatabaseTask.h: 37931 (WebCore::DatabaseOpenTask::create): 37932 (WebCore::DatabaseCloseTask::create): 37933 (WebCore::DatabaseTransactionTask::create): 37934 (WebCore::DatabaseTableNamesTask::create): 37935 * storage/DatabaseThread.cpp: 37936 (WebCore::DatabaseThread::databaseThread): 37937 (WebCore::DatabaseThread::scheduleTask): 37938 (WebCore::DatabaseThread::scheduleImmediateTask): 37939 (WebCore::SameDatabasePredicate::operator()): 37940 * storage/DatabaseThread.h: 37941 * storage/LocalStorageTask.h: 37942 (WebCore::LocalStorageTask::createImport): 37943 (WebCore::LocalStorageTask::createSync): 37944 (WebCore::LocalStorageTask::createTerminate): 37945 * storage/LocalStorageThread.cpp: 37946 (WebCore::LocalStorageThread::localStorageThread): 37947 * storage/LocalStorageThread.h: 37948 * websockets/WebSocket.cpp: 37949 (WebCore::ProcessWebSocketEventTask::create): 37950 * workers/DefaultSharedWorkerRepository.cpp: 37951 (WebCore::SharedWorkerProxy::postTaskToLoader): 37952 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext): 37953 (WebCore::SharedWorkerConnectTask::create): 37954 * workers/GenericWorkerTask.h: 37955 (WebCore::GenericWorkerTask1::create): 37956 (WebCore::GenericWorkerTask2::create): 37957 (WebCore::GenericWorkerTask3::create): 37958 (WebCore::GenericWorkerTask4::create): 37959 (WebCore::GenericWorkerTask5::create): 37960 (WebCore::GenericWorkerTask6::create): 37961 (WebCore::GenericWorkerTask7::create): 37962 (WebCore::GenericWorkerTask8::create): 37963 (WebCore::createCallbackTask): 37964 * workers/WorkerContext.cpp: 37965 (WebCore::WorkerContext::postTask): 37966 * workers/WorkerContext.h: 37967 * workers/WorkerLoaderProxy.h: 37968 * workers/WorkerMessagingProxy.cpp: 37969 (WebCore::MessageWorkerContextTask::create): 37970 (WebCore::MessageWorkerTask::create): 37971 (WebCore::WorkerExceptionTask::create): 37972 (WebCore::WorkerContextDestroyedTask::create): 37973 (WebCore::WorkerTerminateTask::create): 37974 (WebCore::WorkerThreadActivityReportTask::create): 37975 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext): 37976 (WebCore::WorkerMessagingProxy::postTaskToLoader): 37977 (WebCore::WorkerMessagingProxy::workerThreadCreated): 37978 * workers/WorkerMessagingProxy.h: 37979 * workers/WorkerRunLoop.cpp: 37980 (WebCore::ModePredicate::operator()): 37981 (WebCore::WorkerRunLoop::runInMode): 37982 (WebCore::WorkerRunLoop::postTask): 37983 (WebCore::WorkerRunLoop::postTaskForMode): 37984 (WebCore::WorkerRunLoop::Task::create): 37985 (WebCore::WorkerRunLoop::Task::performTask): 37986 (WebCore::WorkerRunLoop::Task::Task): 37987 * workers/WorkerRunLoop.h: 37988 (WebCore::WorkerRunLoop::Task::~Task): 37989 (WebCore::WorkerRunLoop::Task::mode): 37990 37991 2009-11-02 Philippe Normand <pnormand (a] igalia.com> 37992 37993 Reviewed by Jan Alonzo. 37994 37995 [GTK] Failing media/video-played-reset.html 37996 https://bugs.webkit.org/show_bug.cgi?id=30589 37997 37998 new m_seekTime attribute to keep track of the seek position 37999 38000 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 38001 (WebCore::MediaPlayerPrivate::currentTime): 38002 (WebCore::MediaPlayerPrivate::seek): 38003 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 38004 38005 2009-11-02 Xan Lopez <xlopez (a] igalia.com> 38006 38007 Reviewed by Jan Alonzo. 38008 38009 [GTK] Remove Referer when redirecting to non-secure site 38010 https://bugs.webkit.org/show_bug.cgi?id=31021 38011 38012 Remove referer from HTTP headers when redirecting to a non-secure 38013 site. 38014 38015 * platform/network/soup/ResourceHandleSoup.cpp: 38016 (WebCore::restartedCallback): 38017 38018 2009-11-02 Alexey Proskuryakov <ap (a] apple.com> 38019 38020 Reviewed by Dan Bernstein. 38021 38022 https://bugs.webkit.org/show_bug.cgi?id=18539 38023 multipart/form-data not being parsed correctly on server due to '+' in boundary string 38024 38025 No test - the characters that the boundary is made of are not deterministic. 38026 38027 * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString): 38028 Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once 38029 GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as 38030 they cause problems on many web sites. 38031 38032 2009-10-30 Alexey Proskuryakov <ap (a] apple.com> 38033 38034 Reviewed by Darin Adler. 38035 38036 https://bugs.webkit.org/show_bug.cgi?id=30969 38037 A no-prefix XPath node test should not match no-namespace elements in HTML document 38038 38039 Test: fast/xpath/null-namespace-in-html.html 38040 38041 * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements 38042 in HTML documents (as these are the ones that can have null namespace). 38043 38044 2009-11-02 Pavel Feldman <pfeldman (a] chromium.org> 38045 38046 Reviewed by Timothy Hatcher. 38047 38048 Web Inspector: [REGRESSION] No timeline marks on resources panel. 38049 38050 https://bugs.webkit.org/show_bug.cgi?id=31013 38051 38052 * inspector/front-end/AbstractTimelinePanel.js: 38053 (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): 38054 38055 2009-11-02 David Levin <levin (a] chromium.org> 38056 38057 Reviewed by Dan Bernstein. 38058 38059 Possible crash in RenderSlider::layout. 38060 https://bugs.webkit.org/show_bug.cgi?id=31016 38061 38062 Fix out of place line of code. 38063 38064 Test: scrollbars/overflow-scrollbar-combinations.html 38065 This crash only seems to repro when WebKit draws the play controls, 38066 so the crash repros in chromium running this test but not WebKit 38067 nightlies which use QuickTime to draw the controls. 38068 38069 * rendering/RenderSlider.cpp: 38070 (WebCore::RenderSlider::layout): 38071 38072 2009-11-02 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 38073 38074 Reviewed by Tor Arne Vestb. 38075 38076 [Qt] Fix Qt build on Windows. 38077 https://bugs.webkit.org/show_bug.cgi?id=30905 38078 38079 * WebCore.pro: 38080 * platform/graphics/BitmapImage.h: 38081 * platform/graphics/qt/ImageQt.cpp: 38082 (WebCore::BitmapImage::BitmapImage): 38083 (WebCore::BitmapImage::create): 38084 38085 2009-11-02 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 38086 38087 Reviewed by Adam Barth. 38088 38089 QWebView crash fix. 38090 38091 The QWebView should not crash if the stop() method is called from 38092 a function triggered by the loadProgress signal. 38093 38094 A null pointer protection was added in the ProgressTracker::incrementProgress. 38095 38096 New autotest was created. 38097 38098 https://bugs.webkit.org/show_bug.cgi?id=29425 38099 38100 * loader/ProgressTracker.cpp: 38101 (WebCore::ProgressTracker::incrementProgress): 38102 38103 2009-11-02 Mikhail Naganov <mnaganov (a] chromium.org> 38104 38105 Reviewed by Pavel Feldman. 38106 38107 Fix a leftover from profiles panel generalization. 38108 38109 https://bugs.webkit.org/show_bug.cgi?id=31010 38110 38111 * inspector/front-end/ProfilesPanel.js: 38112 (WebInspector.ProfilesPanel.prototype.get searchableViews): 38113 38114 2009-11-02 Kai Koehne <kai.koehne (a] nokia.com> 38115 38116 Reviewed by Holger Freyther. 38117 38118 Remove implementation of ImageDecocerQt::clearFrameBufferCache. 38119 The implementation was buggy, and will visually break repeating 38120 animations anyway. 38121 38122 https://bugs.webkit.org/show_bug.cgi?id=31009 38123 38124 * platform/graphics/qt/ImageDecoderQt.cpp: 38125 (WebCore::ImageDecoderQt::clearFrameBufferCache): 38126 38127 2009-11-02 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38128 38129 Reviewed by Jan Alonzo. 38130 38131 https://bugs.webkit.org/show_bug.cgi?id=30964 38132 [Gtk] Implemment AtkDocument 38133 38134 Provides access to the reported content language. 38135 38136 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 38137 (webkit_accessible_document_get_locale): 38138 38139 2009-11-02 Keishi Hattori <casey.hattori (a] gmail.com> 38140 38141 Reviewed by Timothy Hatcher. 38142 38143 Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code 38144 https://bugs.webkit.org/show_bug.cgi?id=30907 38145 38146 Test: inspector/css-syntax-highlight.html 38147 38148 * inspector/front-end/ElementsTreeOutline.js: 38149 * inspector/front-end/SourceFrame.js: 38150 (WebInspector.SourceFrame.prototype.syntaxHighlightCSS): 38151 (WebInspector.SourceSyntaxHighlighter): 38152 (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk): 38153 (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): 38154 (WebInspector.SourceSyntaxHighlighter.prototype.process): 38155 (WebInspector.SourceSyntaxHighlighter.prototype.lex): 38156 (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken): 38157 (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode): 38158 (WebInspector.CSSSourceSyntaxHighlighter): 38159 * inspector/front-end/inspectorSyntaxHighlight.css: 38160 38161 2009-11-02 Chris Fleizach <cfleizach (a] apple.com> 38162 38163 Reviewed by Beth Dakin. 38164 38165 Support ARIA "tab" roles 38166 https://bugs.webkit.org/show_bug.cgi?id=30842 38167 38168 Implement support for ARIA "tab", "tabpanel" and "tablist". 38169 As a consequence, we also needed to implement aria-selected 38170 and aria-controls. 38171 38172 Tests: accessibility/aria-controls-with-tabs.html 38173 accessibility/aria-tab-roles.html 38174 38175 * accessibility/AXObjectCache.cpp: 38176 * accessibility/AccessibilityObject.h: 38177 * accessibility/AccessibilityRenderObject.cpp: 38178 * accessibility/AccessibilityRenderObject.h: 38179 * accessibility/mac/AccessibilityObjectWrapper.mm: 38180 * html/HTMLAttributeNames.in: 38181 38182 2009-10-27 Stephen White <senorblanco (a] chromium.org> 38183 38184 Reviewed by Dmitry Titov. 38185 38186 This is the WebKit-side change needed to fix canvas.getImageData() for 38187 Chromium. The unpremultiply code in Skia assumes that unpremultiplied 38188 values should be rounded, while CG does not. In addition, the fixed 38189 point inversion used by Skia introduces slight inaccuracies that make 38190 us fail this test. This change brings Chromium in line with 38191 the CG path. 38192 https://bugs.webkit.org/show_bug.cgi?id=30825 38193 38194 Covered by LayoutTests/fast/canvas/canvas-getImageData.html 38195 38196 * platform/graphics/skia/ImageBufferSkia.cpp: 38197 (WebCore::getImageData): 38198 38199 2009-11-01 Kelly Norton <knorton (a] google.com> 38200 38201 Reviewed by Timothy Hatcher. 38202 38203 Adds window event dispatches to InspectorTimelineAgent. 38204 https://bugs.webkit.org/show_bug.cgi?id=31002 38205 38206 * English.lproj/localizedStrings.js: 38207 * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent. 38208 (WebCore::Node::dispatchGenericEvent): 38209 * inspector/InspectorTimelineAgent.cpp: 38210 (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed. 38211 (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed. 38212 * inspector/InspectorTimelineAgent.h: 38213 (WebCore::): 38214 * inspector/TimelineRecordFactory.cpp: 38215 (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed. 38216 * inspector/TimelineRecordFactory.h: 38217 * inspector/front-end/TimelineAgent.js: 38218 * inspector/front-end/TimelinePanel.js: 38219 (WebInspector.TimelinePanel.prototype._formatRecord): 38220 (WebInspector.TimelinePanel.prototype._getRecordDetails): 38221 * page/DOMWindow.cpp: 38222 (WebCore::DOMWindow::dispatchEvent): 38223 38224 2009-11-01 Pavel Feldman <pfeldman (a] chromium.org> 38225 38226 Reviewed by Timothy Hatcher. 38227 38228 Web Inspector: Convert script tag event into a more generic 38229 script eval event in timeline. 38230 38231 https://bugs.webkit.org/show_bug.cgi?id=30999 38232 38233 * bindings/js/ScriptController.cpp: 38234 (WebCore::ScriptController::evaluateInWorld): 38235 * bindings/v8/V8Proxy.cpp: 38236 (WebCore::V8Proxy::evaluate): 38237 * html/HTMLTokenizer.cpp: 38238 (WebCore::HTMLTokenizer::scriptExecution): 38239 * inspector/InspectorTimelineAgent.cpp: 38240 (WebCore::InspectorTimelineAgent::willEvaluateScript): 38241 (WebCore::InspectorTimelineAgent::didEvaluateScript): 38242 * inspector/InspectorTimelineAgent.h: 38243 (WebCore::): 38244 * inspector/TimelineRecordFactory.cpp: 38245 (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord): 38246 * inspector/TimelineRecordFactory.h: 38247 * inspector/front-end/TimelineAgent.js: 38248 * inspector/front-end/TimelinePanel.js: 38249 (WebInspector.TimelinePanel.prototype._formatRecord): 38250 (WebInspector.TimelinePanel.prototype._getRecordDetails): 38251 38252 2009-11-01 Brian Weinstein <bweinstein (a] apple.com> 38253 38254 Rubber-stamped by Mark Rowe. 38255 38256 Fix for loop to use an size_t instead of unsigned and some spacing 38257 style fixes. 38258 38259 * dom/Node.cpp: 38260 (WebCore::eventHasListeners): 38261 38262 2009-11-01 Kelly Norton <knorton (a] google.com> 38263 38264 Reviewed by Timothy Hatcher. 38265 38266 Does not send DOM dispatches to the InspectorTimelineAgent if there 38267 are no event listeners. 38268 https://bugs.webkit.org/show_bug.cgi?id=30995 38269 38270 * dom/Node.cpp: 38271 (WebCore::eventHasListeners): 38272 (WebCore::Node::dispatchGenericEvent): 38273 * xml/XMLHttpRequest.cpp: 38274 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 38275 38276 2009-11-01 Roland Steiner <rolandsteiner (a] chromium.org> 38277 38278 No review (build fix). 38279 38280 Add missing files for Ruby implementation to WebCore.vcproj 38281 (Fix build break after 50397) 38282 https://bugs.webkit.org/show_bug.cgi?id=31001 38283 38284 No new tests. (No functional change) 38285 38286 * WebCore.vcproj/WebCore.vcproj: 38287 38288 2009-11-02 Roland Steiner <rolandsteiner (a] chromium.org> 38289 38290 Reviewed by Dave Hyatt. 38291 38292 Bug 28420 - Implement HTML5 <ruby> rendering 38293 (https://bugs.webkit.org/show_bug.cgi?id=28420) 38294 38295 First rudimentary implementation of HTML5 ruby rendering support. 38296 38297 Following the HTML 5 spec, the box object model for a <ruby> element allows several runs of ruby 38298 bases with their respective ruby texts looks as follows: 38299 38300 1 RenderRuby object, corresponding to the whole <ruby> HTML element 38301 1+ RenderRubyRun (anonymous) 38302 0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting 38303 0-n inline object(s) 38304 0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base 38305 1-n inline object(s) 38306 38307 Note: <rp> elements are defined as having 'display:none' and thus normally are not assigned a renderer. 38308 38309 New layout tests will be committed in a follow-up patch under fast/ruby. 38310 38311 Makefiles, etc. 38312 * GNUmakefile.am: 38313 * WebCore.gypi: 38314 * WebCore.pro: 38315 * WebCore.xcodeproj/project.pbxproj: 38316 38317 CSS 38318 * css/html.css: Added <ruby> and <rt> 38319 38320 Existing render files: 38321 * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo 38322 (WebCore::RenderBlock::moveChildTo): 38323 (WebCore::RenderBlock::makeChildrenNonInline): 38324 (WebCore::RenderBlock::removeChild): 38325 * rendering/RenderBlock.h: 38326 * rendering/RenderObject.cpp: 38327 (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name 38328 * rendering/RenderObject.h: add query methods for ruby renderers 38329 (WebCore::RenderObject::isRuby): 38330 (WebCore::RenderObject::isRubyBase): 38331 (WebCore::RenderObject::isRubyRun): 38332 (WebCore::RenderObject::isRubyText): 38333 38334 New ruby renderers: 38335 * rendering/RenderRuby.cpp: Added. 38336 (WebCore::lastRubyRun): 38337 (WebCore::findRubyRunParent): 38338 (WebCore::RenderRubyAsInline::RenderRubyAsInline): 38339 (WebCore::RenderRubyAsInline::~RenderRubyAsInline): 38340 (WebCore::RenderRubyAsInline::isChildAllowed): 38341 (WebCore::RenderRubyAsInline::addChild): 38342 (WebCore::RenderRubyAsInline::removeChild): 38343 (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): 38344 (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock): 38345 (WebCore::RenderRubyAsBlock::isChildAllowed): 38346 (WebCore::RenderRubyAsBlock::addChild): 38347 (WebCore::RenderRubyAsBlock::removeChild): 38348 * rendering/RenderRuby.h: Added. 38349 (WebCore::RenderRubyAsInline::renderName): 38350 (WebCore::RenderRubyAsInline::isRuby): 38351 (WebCore::RenderRubyAsBlock::renderName): 38352 (WebCore::RenderRubyAsBlock::isRuby): 38353 * rendering/RenderRubyBase.cpp: Added. 38354 (WebCore::RenderRubyBase::RenderRubyBase): 38355 (WebCore::RenderRubyBase::~RenderRubyBase): 38356 (WebCore::RenderRubyBase::isChildAllowed): 38357 (WebCore::RenderRubyBase::splitToLeft): 38358 (WebCore::RenderRubyBase::mergeWithRight): 38359 * rendering/RenderRubyBase.h: Added. 38360 (WebCore::RenderRubyBase::renderName): 38361 (WebCore::RenderRubyBase::isRubyBase): 38362 * rendering/RenderRubyRun.cpp: Added. 38363 (WebCore::RenderRubyRun::RenderRubyRun): 38364 (WebCore::RenderRubyRun::~RenderRubyRun): 38365 (WebCore::RenderRubyRun::hasRubyText): 38366 (WebCore::RenderRubyRun::hasRubyBase): 38367 (WebCore::RenderRubyRun::isEmpty): 38368 (WebCore::RenderRubyRun::rubyText): 38369 (WebCore::RenderRubyRun::rubyBase): 38370 (WebCore::RenderRubyRun::rubyBaseSafe): 38371 (WebCore::RenderRubyRun::firstLineBlock): 38372 (WebCore::RenderRubyRun::updateFirstLetter): 38373 (WebCore::RenderRubyRun::isChildAllowed): 38374 (WebCore::RenderRubyRun::addChild): 38375 (WebCore::RenderRubyRun::removeChild): 38376 (WebCore::RenderRubyRun::createRubyBase): 38377 (WebCore::RenderRubyRun::staticCreateRubyRun): 38378 * rendering/RenderRubyRun.h: Added. 38379 (WebCore::RenderRubyRun::renderName): 38380 (WebCore::RenderRubyRun::isRubyRun): 38381 * rendering/RenderRubyText.cpp: Added. 38382 (WebCore::RenderRubyText::RenderRubyText): 38383 (WebCore::RenderRubyText::~RenderRubyText): 38384 (WebCore::RenderRubyText::isChildAllowed): 38385 * rendering/RenderRubyText.h: Added. 38386 (WebCore::RenderRubyText::renderName): 38387 (WebCore::RenderRubyText::isRubyText): 38388 38389 2009-11-01 Alexey Proskuryakov <ap (a] apple.com> 38390 38391 Reviewed by Dan Bernstein. 38392 38393 https://bugs.webkit.org/show_bug.cgi?id=30992 38394 Node.isDefaultNamespace doesn't convert empty strings to null 38395 38396 Test: fast/dom/Node/default-namespace-empty-argument.html 38397 38398 * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input 38399 as null. 38400 38401 2009-11-01 Yael Aharon <yael.aharon (a] nokia.com> 38402 38403 Reviewed by Darin Adler. 38404 38405 Don't add '/' to the URL path if the it does not include '/' after the protocol component 38406 https://bugs.webkit.org/show_bug.cgi?id=30971 38407 38408 Match IE8 behaviour, that does not add '/' if there is none after the protocol component. 38409 38410 * platform/KURL.cpp: 38411 (WebCore::KURL::parse): 38412 38413 2009-10-31 Oliver Hunt <oliver (a] apple.com> 38414 38415 Reviewed by Darin Adler. 38416 38417 Fix layering violations in GraphicsContext3D 38418 https://bugs.webkit.org/show_bug.cgi?id=30986 38419 38420 Remove uses of HTMLImageElement and HTMLCanvasElement 38421 38422 * html/canvas/CanvasRenderingContext3D.cpp: 38423 (WebCore::CanvasRenderingContext3D::texImage2D): 38424 (WebCore::CanvasRenderingContext3D::texSubImage2D): 38425 * platform/graphics/GraphicsContext3D.h: 38426 * platform/graphics/mac/GraphicsContext3DMac.cpp: 38427 (WebCore::GraphicsContext3D::texImage2D): 38428 (WebCore::GraphicsContext3D::texSubImage2D): 38429 38430 2009-11-01 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38431 38432 Reviewed by Jan Alonzo. 38433 38434 https://bugs.webkit.org/show_bug.cgi?id=30964 38435 [Gtk] Implemment AtkDocument 38436 38437 Provides access to expected document attributes. 38438 38439 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 38440 (documentAttributeValue): 38441 (webkit_accessible_document_get_document_attribute_value): 38442 (webkit_accessible_document_get_document_attributes): 38443 38444 2009-11-03 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38445 38446 Reviewed by Jan Alonzo. 38447 38448 https://bugs.webkit.org/show_bug.cgi?id=30964 38449 [Gtk] Implemment AtkDocument 38450 38451 Implements what has been implemented in AT-SPI. 38452 38453 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 38454 (GetAtkInterfaceTypeFromWAIType): 38455 (getInterfaceMaskFromObject): 38456 (atk_document_interface_init): 38457 (webkit_accessible_document_get_document_attribute_value): 38458 (webkit_accessible_document_get_document_attributes): 38459 (webkit_accessible_document_get_locale): 38460 38461 2009-11-01 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 38462 38463 Reviewed by Eric Seidel. 38464 38465 Turn on warnings for QtWebKit for gcc 38466 https://bugs.webkit.org/show_bug.cgi?id=30958 38467 38468 No new tests as there is no functional change. 38469 38470 * platform/image-decoders/qt/RGBA32BufferQt.cpp: 38471 (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder 38472 initialization list to fix compiler warnings. 38473 38474 38475 2009-11-01 Keishi Hattori <casey.hattori (a] gmail.com> 38476 38477 Reviewed by Pavel Feldman. 38478 38479 [Regression] monitorEvent doesn't work 38480 38481 * inspector/front-end/InjectedScript.js: 38482 (InjectedScript._ensureCommandLineAPIInstalled): 38483 38484 2009-11-01 Keishi Hattori <casey.hattori (a] gmail.com> 38485 38486 Reviewed by Pavel Feldman. 38487 38488 Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter 38489 https://bugs.webkit.org/show_bug.cgi?id=30990 38490 38491 * inspector/front-end/SourceFrame.js: 38492 38493 2009-10-31 Alexey Proskuryakov <ap (a] apple.com> 38494 38495 Reviewed by John Sullivan. 38496 38497 https://bugs.webkit.org/show_bug.cgi?id=30982 38498 createHTMLDocument doesn't escape ampersand and less-than in title 38499 38500 Test: fast/dom/DOMImplementation/createHTMLDocument-title.html 38501 38502 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument): 38503 Set document title after creating the document, avoiding parser intricacies. 38504 38505 2009-11-01 Keishi Hattori <casey.hattori (a] gmail.com> 38506 38507 Reviewed by Timothy Hatcher. 38508 38509 Web Inspector: Double clicking on a breakpoints should not select text 38510 https://bugs.webkit.org/show_bug.cgi?id=30950 38511 38512 * inspector/front-end/SourceFrame.js: 38513 (WebInspector.SourceFrame.prototype._documentMouseDown): 38514 38515 2009-11-01 Yuta Kitamura <yutak (a] chromium.org> 38516 38517 Reviewed by Darin Adler. 38518 38519 Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent(). 38520 38521 [Crash (debug)] Combination of list-item and :after causes assertion failure 38522 https://bugs.webkit.org/show_bug.cgi?id=30944 38523 38524 Test: fast/css/list-item-pseudo-nocrash.html 38525 38526 * rendering/RenderObjectChildList.cpp: 38527 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 38528 38529 2009-11-01 Philippe Normand <pnormand (a] igalia.com> 38530 38531 Reviewed by Eric Seidel. 38532 38533 https://bugs.webkit.org/show_bug.cgi?id=30586 38534 [GTK] Failing test media/video-src-empty.html 38535 38536 Correctly set network/ready state depending on GStreamer errors 38537 received on the bus. 38538 38539 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 38540 (WebCore::mediaPlayerPrivateMessageCallback): 38541 38542 2009-10-31 Oliver Hunt <oliver (a] apple.com> 38543 38544 Build fix 38545 38546 * platform/graphics/mac/GraphicsContext3DMac.cpp: 38547 (WebCore::GraphicsContext3D::attachShader): 38548 38549 2009-10-31 Oliver Hunt <oliver (a] apple.com> 38550 38551 Reviewed by Darin Adler. 38552 38553 Remove obsolete null checks from CanvasRenderingContext3DMac 38554 https://bugs.webkit.org/show_bug.cgi?id=30983 38555 38556 * platform/graphics/mac/GraphicsContext3DMac.cpp: 38557 (WebCore::GraphicsContext3D::attachShader): 38558 (WebCore::GraphicsContext3D::bindAttribLocation): 38559 (WebCore::GraphicsContext3D::compileShader): 38560 (WebCore::GraphicsContext3D::detachShader): 38561 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 38562 (WebCore::GraphicsContext3D::framebufferTexture2D): 38563 (WebCore::GraphicsContext3D::linkProgram): 38564 (WebCore::GraphicsContext3D::shaderSource): 38565 (WebCore::GraphicsContext3D::useProgram): 38566 (WebCore::GraphicsContext3D::validateProgram): 38567 (WebCore::GraphicsContext3D::getProgramInfoLog): 38568 (WebCore::GraphicsContext3D::getShaderi): 38569 (WebCore::GraphicsContext3D::getShaderiv): 38570 (WebCore::GraphicsContext3D::getShaderInfoLog): 38571 (WebCore::GraphicsContext3D::getShaderSource): 38572 (WebCore::GraphicsContext3D::getUniformLocation): 38573 38574 2009-10-31 Oliver Hunt <oliver (a] apple.com> 38575 38576 Reviewed by Jon Honeycutt. 38577 38578 WebGL allows objects to be used with the wrong context 38579 https://bugs.webkit.org/show_bug.cgi?id=30981 38580 38581 Simply add null checks and a few context guards to ensure we don't 38582 deref null or attempt to use an object from a different context. 38583 38584 Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html 38585 fast/canvas/webgl/null-object-behaviour.html 38586 38587 * html/canvas/CanvasRenderingContext3D.cpp: 38588 (WebCore::CanvasRenderingContext3D::attachShader): 38589 (WebCore::CanvasRenderingContext3D::bindAttribLocation): 38590 (WebCore::CanvasRenderingContext3D::bindBuffer): 38591 (WebCore::CanvasRenderingContext3D::bindFramebuffer): 38592 (WebCore::CanvasRenderingContext3D::bindRenderbuffer): 38593 (WebCore::CanvasRenderingContext3D::bindTexture): 38594 (WebCore::CanvasRenderingContext3D::compileShader): 38595 (WebCore::CanvasRenderingContext3D::detachShader): 38596 (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer): 38597 (WebCore::CanvasRenderingContext3D::framebufferTexture2D): 38598 (WebCore::CanvasRenderingContext3D::getProgrami): 38599 (WebCore::CanvasRenderingContext3D::getProgramiv): 38600 (WebCore::CanvasRenderingContext3D::getProgramInfoLog): 38601 (WebCore::CanvasRenderingContext3D::getShaderi): 38602 (WebCore::CanvasRenderingContext3D::getShaderiv): 38603 (WebCore::CanvasRenderingContext3D::getShaderInfoLog): 38604 (WebCore::CanvasRenderingContext3D::getShaderSource): 38605 (WebCore::CanvasRenderingContext3D::getUniformf): 38606 (WebCore::CanvasRenderingContext3D::getUniformfv): 38607 (WebCore::CanvasRenderingContext3D::getUniformi): 38608 (WebCore::CanvasRenderingContext3D::getUniformiv): 38609 (WebCore::CanvasRenderingContext3D::getUniformLocation): 38610 (WebCore::CanvasRenderingContext3D::isBuffer): 38611 (WebCore::CanvasRenderingContext3D::linkProgram): 38612 (WebCore::CanvasRenderingContext3D::shaderSource): 38613 * html/canvas/CanvasRenderingContext3D.h: 38614 * html/canvas/CanvasRenderingContext3D.idl: 38615 38616 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38617 38618 Reviewed by Darin Adler. 38619 38620 Allow custom memory allocation control for WebCore's MediaQueryResult 38621 https://bugs.webkit.org/show_bug.cgi?id=30857 38622 38623 Inherits MediaQueryResult class from Noncopyable because it is 38624 instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and 38625 it is no need to be copyable. 38626 38627 * css/CSSStyleSelector.h: 38628 38629 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38630 38631 Reviewed by Darin Adler. 38632 38633 Allow custom memory allocation control for WebCore's MediaQueryEvaluator 38634 https://bugs.webkit.org/show_bug.cgi?id=30854 38635 38636 Inherits MediaQueryEvaluator class from Noncopyable because it is 38637 instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and 38638 it is no need to be copyable. 38639 38640 * css/MediaQueryEvaluator.h: 38641 38642 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38643 38644 Reviewed by Darin Adler. 38645 38646 Allow custom memory allocation control for WebCore's CSSRuleSet 38647 https://bugs.webkit.org/show_bug.cgi?id=30852 38648 38649 Inherits CSSRuleSet class from Noncopyable because it is 38650 instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and 38651 it is no need to be copyable. 38652 38653 * css/CSSStyleSelector.cpp: 38654 38655 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38656 38657 Reviewed by Darin Adler. 38658 38659 Allow custom memory allocation control for WebCore's CSSRuleData 38660 https://bugs.webkit.org/show_bug.cgi?id=30851 38661 38662 Inherits CSSRuleData class from Noncopyable because it is 38663 instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and 38664 it is no need to be copyable. 38665 38666 * css/CSSStyleSelector.h: 38667 38668 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38669 38670 Reviewed by Darin Adler. 38671 38672 Allow custom memory allocation control for WebCore's CSSRuleDataList 38673 https://bugs.webkit.org/show_bug.cgi?id=30850 38674 38675 Inherits CSSRuleDataList class from Noncopyable because it has been 38676 instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and 38677 it is no need to be copyable. 38678 38679 * css/CSSStyleSelector.h: 38680 38681 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 38682 38683 Reviewed by Darin Adler. 38684 38685 Allow custom memory allocation control for WebCore's CSSNamespace 38686 https://bugs.webkit.org/show_bug.cgi?id=30849 38687 38688 Inherits CSSNamespace struct from Noncopyable because it is 38689 instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and 38690 it is no need to be copyable. 38691 38692 * css/CSSNamespace.h: 38693 38694 2009-10-30 Dmitry Titov <dimich (a] chromium.org> 38695 38696 Reviewed by David Levin. 38697 38698 Refactor DatabaseTask in preparation for removing threadsafe refcounting from it. 38699 Move the synchronizer object out of the DatabaseTask so there is no need to keep 38700 the pointer to Databasetask around after passing it to MessageQueue. 38701 Also pass the references to return parameters to the task so it can update them. 38702 https://bugs.webkit.org/show_bug.cgi?id=30941 38703 38704 No new tests, since this is just moving the code around, no change in functionality. 38705 38706 * storage/Database.cpp: 38707 (WebCore::Database::Database): 38708 (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion. 38709 (WebCore::Database::markAsDeletedAndClose): Ditto. 38710 (WebCore::Database::tableNames): Ditto. 38711 (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue. 38712 (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction. 38713 * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue. 38714 * storage/DatabaseTask.cpp: 38715 (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer): 38716 (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion): 38717 (WebCore::DatabaseTaskSynchronizer::taskCompleted): 38718 (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0. 38719 (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it. 38720 (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor. 38721 (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto. 38722 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto. 38723 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto. 38724 * storage/DatabaseTask.h: 38725 (WebCore::DatabaseOpenTask::create): 38726 (WebCore::DatabaseCloseTask::create): 38727 (WebCore::DatabaseTransactionTask::create): 38728 (WebCore::DatabaseTableNamesTask::create): 38729 38730 2009-10-30 Enrica Casucci <enrica (a] apple.com> 38731 38732 Reviewed by Darin Adler. 38733 38734 REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line 38735 https://bugs.webkit.org/show_bug.cgi?id=30955 38736 <rdar://problem/7067033> 38737 38738 When the command is deleteWordBackward or deleteWordForward 38739 we should not add to the open typing command, but 38740 create a new one. 38741 38742 Test: editing/undo/undo-deleteWord.html 38743 38744 * editing/TypingCommand.cpp: 38745 (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is 38746 not CharacterGranularity. 38747 (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is 38748 not CharacterGranularity. 38749 38750 2009-10-30 Eric Carlson <eric.carlson (a] apple.com> 38751 38752 Reviewed by Darin Adler. 38753 38754 Make MediaPlayer constructor private 38755 https://bugs.webkit.org/show_bug.cgi?id=30965 38756 38757 * html/HTMLMediaElement.cpp: 38758 (WebCore::HTMLMediaElement::loadResource): 38759 (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create. 38760 38761 * platform/graphics/MediaPlayer.h: 38762 (WebCore::MediaPlayer::create): New. 38763 38764 2009-10-29 Jon Honeycutt <jhoneycutt (a] apple.com> 38765 38766 MSAA: Accessibility of headings is not correct 38767 38768 https://bugs.webkit.org/show_bug.cgi?id=30937 38769 38770 Reviewed by Alice Liu. 38771 38772 * accessibility/AccessibilityObject.h: 38773 (WebCore::AccessibilityObject::stringRoleForMSAA): 38774 (WebCore::AccessibilityObject::descriptionForMSAA): 38775 38776 * accessibility/AccessibilityRenderObject.cpp: 38777 (WebCore::shouldReturnTagNameAsRoleForMSAA): 38778 If the element's tag name is one of h1, h2, h3, h4, h5, h6, return 38779 true. 38780 (WebCore::AccessibilityRenderObject::stringRoleForMSAA): 38781 If the element should return its tag name as the role, return the tag 38782 name. 38783 (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA): 38784 If the object is a heading, return the string "L" followed by the 38785 heading level. 38786 (WebCore::AccessibilityRenderObject::descriptionForMSAA): 38787 If the object has a positional description, return it. Otherwise, get 38788 the accessibility description, and prefix it with "Description" so that 38789 MSAA clients know that it's not a positional description. 38790 38791 * accessibility/AccessibilityRenderObject.h: 38792 38793 2009-10-29 Jon Honeycutt <jhoneycutt (a] apple.com> 38794 38795 MSAA: Accessibility of links is wrong 38796 38797 https://bugs.webkit.org/show_bug.cgi?id=30928 38798 38799 Reviewed by Darin Adler. 38800 38801 * accessibility/AccessibilityImageMapLink.cpp: 38802 (WebCore::AccessibilityImageMapLink::stringValueForMSAA): 38803 Return the URL. 38804 (WebCore::AccessibilityImageMapLink::nameForMSAA): 38805 Return the alt text. 38806 38807 * accessibility/AccessibilityImageMapLink.h: 38808 (WebCore::AccessibilityImageMapLink::isLinked): 38809 Return true. 38810 38811 * accessibility/AccessibilityObject.h: 38812 (WebCore::AccessibilityObject::isLinked): 38813 (WebCore::AccessibilityObject::stringValueForMSAA): 38814 (WebCore::AccessibilityObject::nameForMSAA): 38815 38816 * accessibility/AccessibilityRenderObject.cpp: 38817 (WebCore::isLinkable): 38818 Return true if the element is considered "linkable" with respect to 38819 accessibility. 38820 (WebCore::AccessibilityRenderObject::stringValueForMSAA): 38821 If the element is linkable, check whether it has a parent anchor 38822 element. If so, return the anchor element's href. 38823 (WebCore::AccessibilityRenderObject::isLinked): 38824 Return true if the element is linkable and if it's parent anchor tag's 38825 href is non-empty. 38826 (WebCore::AccessibilityRenderObject::nameForMSAA): 38827 For text nodes, return the text. 38828 38829 * accessibility/AccessibilityRenderObject.h: 38830 38831 2009-10-30 Evan Stade <estade (a] chromium.org> 38832 38833 Reviewed by David Levin. 38834 38835 Notify the chrome when the focused node has changed. 38836 https://bugs.webkit.org/show_bug.cgi?id=30832 38837 38838 This is similar to AX code that is already in place, except that this also informs the 38839 chrome when there stops being a focused node. This is needed for a browser to show the 38840 anchor for links that have keyboard focus. 38841 38842 * dom/Document.cpp: 38843 (WebCore::Document::setFocusedNode): 38844 * loader/EmptyClients.h: 38845 (WebCore::EmptyChromeClient::focusedNodeChanged): 38846 * page/Chrome.cpp: 38847 (WebCore::Chrome::focusedNodeChanged): 38848 * page/Chrome.h: 38849 * page/ChromeClient.h: 38850 38851 2009-10-30 Ben Murdoch <benm (a] google.com> 38852 38853 Reviewed by David Kilzer. 38854 38855 openDatabase() with empty version sets db version up incorrectly 38856 https://bugs.webkit.org/show_bug.cgi?id=28417 38857 38858 Test: storage/open-database-set-empty-version.html 38859 38860 * storage/Database.cpp: 38861 (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string. 38862 38863 2009-10-30 John Gregg <johnnyg (a] google.com> 38864 38865 Reviewed by David Levin. 38866 38867 Need to turn off notifications properly at runtime 38868 https://bugs.webkit.org/show_bug.cgi?id=30409 38869 38870 Moving the notificationsEnabled bit from NotificationCenter 38871 to the new V8 RuntimeEnabledFeatures object. 38872 38873 Just moving a bit around, so no new tests. 38874 38875 * bindings/v8/RuntimeEnabledFeatures.cpp: 38876 * bindings/v8/RuntimeEnabledFeatures.h: 38877 (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled): 38878 (WebCore::RuntimeEnabledFeatures::notificationsEnabled): 38879 * bindings/v8/custom/V8DOMWindowCustom.cpp: 38880 (WebCore::ACCESSOR_RUNTIME_ENABLER): 38881 * bindings/v8/custom/V8WorkerContextCustom.cpp: 38882 (WebCore::ACCESSOR_RUNTIME_ENABLER): 38883 * notifications/NotificationCenter.cpp: 38884 * notifications/NotificationCenter.h: 38885 38886 2009-10-30 Dmitry Titov <dimich (a] chromium.org> 38887 38888 Reviewed by Dimitri Glazkov. 38889 38890 [V8] More cleanup after r49949: remove ListenerGuard. 38891 ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 context. 38892 https://bugs.webkit.org/show_bug.cgi?id=30943 38893 38894 Covered by fast/events/add-event-without-document.html which will now pass in Chromium. 38895 38896 * bindings/v8/V8AbstractEventListener.cpp: 38897 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 38898 (WebCore::V8AbstractEventListener::handleEvent): 38899 * bindings/v8/V8AbstractEventListener.h: 38900 * bindings/v8/V8DOMWrapper.cpp: 38901 (WebCore::V8DOMWrapper::getEventListener): 38902 * bindings/v8/V8EventListenerList.h: 38903 (WebCore::V8EventListenerList::findOrCreateWrapper): 38904 * bindings/v8/V8LazyEventListener.cpp: 38905 (WebCore::V8LazyEventListener::V8LazyEventListener): 38906 * bindings/v8/V8Proxy.cpp: 38907 (WebCore::V8Proxy::V8Proxy): 38908 (WebCore::V8Proxy::disconnectFrame): 38909 (WebCore::V8Proxy::clearForNavigation): 38910 * bindings/v8/V8Proxy.h: 38911 * bindings/v8/V8WorkerContextEventListener.cpp: 38912 (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): 38913 (WebCore::V8WorkerContextEventListener::handleEvent): 38914 (WebCore::V8WorkerContextEventListener::reportError): 38915 * bindings/v8/V8WorkerContextEventListener.h: 38916 (WebCore::V8WorkerContextEventListener::create): 38917 * bindings/v8/WorkerContextExecutionProxy.cpp: 38918 (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): 38919 (WebCore::WorkerContextExecutionProxy::dispose): 38920 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): 38921 * bindings/v8/WorkerContextExecutionProxy.h: 38922 * bindings/v8/custom/V8CustomEventListener.cpp: 38923 (WebCore::V8EventListener::V8EventListener): 38924 * bindings/v8/custom/V8CustomEventListener.h: 38925 (WebCore::V8EventListener::create): 38926 38927 2009-10-30 Shinichiro Hamaji <hamaji (a] chromium.org> 38928 38929 Reviewed by Darin Adler. 38930 38931 counterValueForElementById should return space-separated string for multiple counters 38932 https://bugs.webkit.org/show_bug.cgi?id=30939 38933 38934 Test: fast/css/counters/counterValueForElementById.html 38935 38936 * rendering/RenderTreeAsText.cpp: 38937 (WebCore::writeCounterValuesFromChildren): 38938 (WebCore::counterValueForElement): 38939 38940 2009-10-30 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 38941 38942 Reviewed by Gustavo Noronha. 38943 38944 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 38945 (WebCore::MediaPlayerPrivate::paint): 38946 Add some comments to explain what is happening here. 38947 38948 2009-10-30 Alexander Pavlov <apavlov (a] chromium.org> 38949 38950 Reviewed by Timothy Hatcher. 38951 38952 Fix Web Inspector crash on the errors/warnings counter click 38953 38954 RenderObject::createVisiblePosition(const Position& position) 38955 understands "null Positions", so we can construct such a Position manually. 38956 38957 https://bugs.webkit.org/show_bug.cgi?id=30499 38958 38959 * rendering/RenderBox.cpp: 38960 (WebCore::RenderBox::positionForPoint): 38961 38962 2009-10-30 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38963 38964 Reviewed by Xan Lopez. 38965 38966 https://bugs.webkit.org/show_bug.cgi?id=25534 38967 [GTK] Objects of ROLE_TABLE should implement the accessible table interface 38968 38969 Third part of the implementation of AtkTable. 38970 38971 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 38972 (nameFromChildren): 38973 (webkit_accessible_get_name): 38974 New convenience function to construct an object's name using the name(s) of 38975 any children it has. 38976 38977 (atk_table_interface_init): 38978 (webkit_accessible_table_get_column_description): 38979 (webkit_accessible_table_get_row_description): 38980 Implemented. 38981 38982 (webkit_accessible_table_get_column_header): 38983 Stub function added so that webkit_accessible_table_get_column_description 38984 could be implemented in the meantime. 38985 38986 2009-10-30 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38987 38988 Reviewed by Xan Lopez. 38989 38990 https://bugs.webkit.org/show_bug.cgi?id=25534 38991 [GTK] Objects of ROLE_TABLE should implement the accessible table interface 38992 38993 Second part of the implementation of AtkTable. 38994 38995 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 38996 (cellAtIndex): 38997 (webkit_accessible_table_get_column_at_index): 38998 (webkit_accessible_table_get_row_at_index): 38999 (webkit_accessible_table_get_caption): 39000 (atk_table_interface_init): 39001 39002 2009-10-30 Pavel Feldman <pfeldman (a] chromium.org> 39003 39004 Reviewed by Timothy Hatcher. 39005 39006 Web Inspector: Add TimelinePanel into the panels enum. 39007 39008 https://bugs.webkit.org/show_bug.cgi?id=30915 39009 39010 * inspector/InspectorFrontend.cpp: 39011 (WebCore::InspectorFrontend::showPanel): 39012 * inspector/front-end/inspector.js: 39013 (WebInspector.showTimelinePanel): 39014 39015 2009-10-30 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 39016 39017 Reviewed by Holger Hans Peter Freyther. 39018 39019 If the owner widget of the page has a palette set, we 39020 should use that one. This was only working when the 39021 owner was a QWebView. This patch fixes that. 39022 39023 * platform/qt/RenderThemeQt.cpp: 39024 (WebCore::RenderThemeQt::applyTheme): 39025 39026 2009-10-30 Pavel Feldman <pfeldman (a] chromium.org> 39027 39028 Not reviewed: Wire CookieJarChromium to the cookies 39029 backend. This is a final step of a 3-steps raw cookies 39030 access implementation in Chromium. 39031 39032 * platform/network/chromium/CookieJarChromium.cpp: 39033 (WebCore::getRawCookies): 39034 (WebCore::deleteCookie): 39035 39036 2009-10-30 Yury Semikhatsky <yurys (a] chromium.org> 39037 39038 Reviewed by Pavel Feldman. 39039 39040 Fix Chromium crash in console.log in "deeply recursive" function 39041 39042 Check that result of 'frameSourceName' is not null handle 39043 before casting it to String. 39044 39045 Allow V8Proxy::sourceName/sourceLineNumber() to report 39046 that they have failed due to JavaScript stack overflow. 39047 39048 https://bugs.webkit.org/show_bug.cgi?id=30904 39049 39050 * bindings/scripts/CodeGeneratorV8.pm: 39051 * bindings/v8/ScriptCallStack.cpp: 39052 (WebCore::ScriptCallStack::create): 39053 (WebCore::ScriptCallStack::ScriptCallStack): 39054 * bindings/v8/ScriptCallStack.h: 39055 * bindings/v8/V8Proxy.cpp: 39056 (WebCore::V8Proxy::sourceLineNumber): 39057 (WebCore::V8Proxy::sourceName): 39058 * bindings/v8/V8Proxy.h: 39059 * bindings/v8/custom/V8WorkerContextCustom.cpp: 39060 (WebCore::CALLBACK_FUNC_DECL): 39061 39062 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 39063 39064 Reviewed by Darin Adler. 39065 39066 Allow custom memory allocation control for WebCore's MediaQuery 39067 https://bugs.webkit.org/show_bug.cgi?id=30856 39068 39069 Inherits MediaQuery class from Noncopyable because it is 39070 instantiated by 'new' in WebCore/css/CSSParser.cpp:4905 and 39071 it is no need to be copyable. 39072 39073 * css/CSSStyleSelector.h: 39074 39075 2009-10-30 Zoltan Horvath <zoltan (a] webkit.org> 39076 39077 Reviewed by Darin Adler. 39078 39079 Allow custom memory allocation control for WebCore's MediaQueryExp 39080 https://bugs.webkit.org/show_bug.cgi?id=30855 39081 39082 Inherits MediaQueryExp class from FastAllocBase because it is 39083 instantiated by 'new' in WebCore/css/CSSParser.cpp:4874. 39084 39085 * css/MediaQueryExp.h: 39086 39087 2009-10-30 Roland Steiner <rolandsteiner (a] chromium.org> 39088 39089 Reviewed by Eric Seidel. 39090 39091 Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak. 39092 39093 Bug 28420 - Implement HTML5 <ruby> rendering 39094 (https://bugs.webkit.org/show_bug.cgi?id=28420) 39095 39096 No new tests (no functional change). 39097 39098 * Configurations/FeatureDefines.xcconfig: 39099 * DerivedSources.make: 39100 * GNUmakefile.am: 39101 * WebCore.pro: 39102 * WebCore.vcproj/WebCoreCommon.vsprops: 39103 * WebCore.vcproj/build-generated-files.sh: 39104 39105 2009-10-30 Dan Bernstein <mitz (a] apple.com> 39106 39107 Reviewed by Adele Peterson. 39108 39109 Removed test for an impossible condition (a glyph in a right-to-left run not having 39110 the RTL flag 0x800) 39111 39112 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 39113 (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): 39114 39115 2009-10-29 Adam Barth <abarth (a] webkit.org> 39116 39117 Reviewed by Dimitri Glazkov. 39118 39119 [V8] Out-of-memory crash in isolated worlds 39120 https://bugs.webkit.org/show_bug.cgi?id=30906 39121 39122 We need to handle the fact that creating a V8:Context might fail. I 39123 don't know how to test this change because creating a context usually 39124 only fails when V8 decides it's using too much memory. 39125 39126 * bindings/v8/V8IsolatedWorld.cpp: 39127 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 39128 * bindings/v8/V8Proxy.cpp: 39129 (WebCore::V8Proxy::evaluateInIsolatedWorld): 39130 (WebCore::V8Proxy::evaluateInNewContext): 39131 39132 2009-10-29 Erik Arvidsson <arv (a] chromium.org> 39133 39134 Reviewed by Eric Seidel. 39135 39136 Make links mouse focusable only on GTK and QT. 39137 39138 Links are now always mouse focusable on GTK and QT. On other platforms 39139 the link needs a tabIndex or it needs to be contentEditable. 39140 39141 https://bugs.webkit.org/show_bug.cgi?id=26856 39142 39143 * html/HTMLAnchorElement.cpp: 39144 (WebCore::HTMLAnchorElement::isMouseFocusable): 39145 39146 2009-10-29 Dan Bernstein <mitz (a] apple.com> 39147 39148 Reviewed by Sam Weinig. 39149 39150 Complete the fix for hit-testing and selection highlighting in ligatures for the ATSUI 39151 code path. 39152 39153 * platform/graphics/mac/ComplexTextController.h: Added m_ltr member to ComplexTextRun. 39154 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 39155 (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Skip over deleted 39156 glyphs, but update indexes and advances correctly. 39157 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_ltr. 39158 39159 2009-10-29 Enrica Casucci <enrica (a] apple.com> 39160 39161 Reviewed by Darin Adler. 39162 39163 REGRESSION(3.2.3 - 4.0.2): Message composing: when I undo a color change to text in Mail, undo/redo behaves strangely 39164 <rdar://problem/7115041> 39165 https://bugs.webkit.org/show_bug.cgi?id=30892 39166 39167 This problem shows in any scenario where it is necessary to split a text 39168 node to apply a style. SplitElementCommand and WrapContentsInDummySpanCommand both 39169 have member variables initialized in the constructor to keep reference to elements 39170 they need to operate upon. These reference are not updated when reapplying the command. 39171 For this reason it is necessary to guarantee that unapply doesn not delete the references 39172 and that these commands implement doReapply to correctly reuse the existing 39173 elements. 39174 39175 Test: editing/undo/redo-style.html 39176 39177 * editing/SplitElementCommand.cpp: 39178 (WebCore::SplitElementCommand::executeApply): Added. 39179 (WebCore::SplitElementCommand::doApply): Modified to call executeApply. 39180 (WebCore::SplitElementCommand::doUnapply): Doesn't release m_element1. 39181 (WebCore::SplitElementCommand::doReapply): Added. 39182 * editing/SplitElementCommand.h: Added doReapply and executeApply. 39183 * editing/WrapContentsInDummySpanCommand.cpp: 39184 (WebCore::WrapContentsInDummySpanCommand::executeApply): Added. 39185 (WebCore::WrapContentsInDummySpanCommand::doApply): Modified to call executeApply. 39186 (WebCore::WrapContentsInDummySpanCommand::doUnapply): Doesn't release m_dummySpan. 39187 (WebCore::WrapContentsInDummySpanCommand::doReapply): Added. 39188 * editing/WrapContentsInDummySpanCommand.h: Added doReapply and executeApply. 39189 39190 2009-10-29 Jeremy Orlow <jorlow (a] chromium.org> 39191 39192 Reviewed by Darin Fisher. 39193 39194 DOM Storage's condition variable needs to handle spurious wakeups 39195 https://bugs.webkit.org/show_bug.cgi?id=30920 39196 39197 Add a boolean to keep track of whether it's been terminated. Clean 39198 up the locking code a tiny bit to make it easier to read. There's 39199 no way to reproduce this reliably in a LayoutTest. 39200 39201 * storage/LocalStorageThread.cpp: 39202 (WebCore::LocalStorageThread::LocalStorageThread): 39203 (WebCore::LocalStorageThread::terminate): 39204 (WebCore::LocalStorageThread::performTerminate): 39205 * storage/LocalStorageThread.h: 39206 39207 2009-10-29 Dimitri Glazkov <dglazkov (a] chromium.org> 39208 39209 Unreviewed, build fix. 39210 39211 [Chromium] Include ComplextTextController into Chromium Mac project. 39212 39213 * WebCore.gyp/WebCore.gyp: Added include rule for ComplextText* files. 39214 39215 2009-10-29 Timothy Hatcher <timothy (a] apple.com> 39216 39217 Fix tabbing through element attributes in the Web Insector. 39218 39219 https://bugs.webkit.org/show_bug.cgi?id=30429 39220 39221 Reviewed by Pavel Feldman. 39222 39223 * inspector/front-end/ElementsTreeOutline.js: 39224 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): Don't call _updateTitle, 39225 it is called for us when removeAttribute succeeds in the back-end. 39226 (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto except for nodeValue. 39227 (WebInspector.ElementsTreeElement.prototype._editingCancelled): Don't call _updateTitle, editing code reverts. 39228 (WebInspector.ElementsTreeElement.prototype._updateTitle): Return early if we are editing. 39229 39230 2009-10-29 Dan Bernstein <mitz (a] apple.com> 39231 39232 Reviewed by Sam Weinig. 39233 39234 Problem editing or selecting text containing ligatures 39235 https://bugs.webkit.org/show_bug.cgi?id=30025 39236 39237 Test: platform/mac/fast/text/ligature-subdivision.html 39238 39239 * platform/graphics/mac/ComplexTextController.cpp: 39240 (WebCore::ComplexTextController::ComplexTextController): Initialize 39241 m_characterInCurrentGlyph. 39242 (WebCore::ComplexTextController::offsetForPosition): If the hit glyph spans multiple 39243 characters, compute the hit character based on dividing the glyphs total advance into 39244 a number of equal intervals equal to the number of characters and assigning the hit to the 39245 character corresponding to the hit interval. 39246 (WebCore::ComplexTextController::advance): If the final offset occurs mid-glyph, advance 39247 by a fraction of the glyphs total advance. 39248 * platform/graphics/mac/ComplexTextController.h: Added m_characterInCurrentGlyph. 39249 39250 2009-10-29 Brian Weinstein <bweinstein (a] apple.com> 39251 39252 Reviewed by Timothy Hatcher. 39253 39254 Fixes <http://webkit.org/b/30918>. 39255 Web Inspector: Datagrid Rows on Windows not properly aligned. 39256 39257 Use line-height for the table rows to make sure the height 39258 of our text and the height of the table rows are consistent. 39259 39260 * inspector/front-end/inspector.css: 39261 39262 2009-10-29 Adam Barth <abarth (a] webkit.org> 39263 39264 No review, rolling out r50296. 39265 http://trac.webkit.org/changeset/50296 39266 39267 * bindings/v8/V8IsolatedWorld.cpp: 39268 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 39269 * bindings/v8/V8Proxy.cpp: 39270 (WebCore::V8Proxy::evaluateInIsolatedWorld): 39271 (WebCore::V8Proxy::evaluateInNewContext): 39272 39273 2009-10-29 Adam Barth <abarth (a] webkit.org> 39274 39275 Reviewed by Dimitri Glazkov. 39276 39277 [V8] Out-of-memory crash in isolated worlds 39278 https://bugs.webkit.org/show_bug.cgi?id=30906 39279 39280 We need to handle the fact that creating a V8:Context might fail. I 39281 don't know how to test this change because creating a context usually 39282 only fails when V8 decides it's using too much memory. 39283 39284 * bindings/v8/V8IsolatedWorld.cpp: 39285 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 39286 * bindings/v8/V8Proxy.cpp: 39287 (WebCore::V8Proxy::evaluateInIsolatedWorld): 39288 (WebCore::V8Proxy::evaluateInNewContext): 39289 39290 2009-10-29 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 39291 39292 Reviewed by Xan Lopez. 39293 39294 Remove build warning introduced by r50284. 39295 39296 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 39297 (WebCore::MediaPlayerPrivate::duration): 39298 39299 2009-10-29 Dimitri Glazkov <dglazkov (a] chromium.org> 39300 39301 Reviewed by Adam Barth. 39302 39303 [V8] Remove random crashes by removing retrieval of V8 context during garbage collection. 39304 39305 https://bugs.webkit.org/show_bug.cgi?id=30919 39306 39307 Unfortunately, I haven't been able to trigger this crash explicitly, so no test :(. 39308 39309 * bindings/v8/V8DOMWrapper.cpp: 39310 (WebCore::V8DOMWrapper::jsWrapperForDOMObject): Added new "assume-it's-there" getter. 39311 * bindings/v8/V8DOMWrapper.h: Added getter decl. 39312 * bindings/v8/V8GCController.cpp: 39313 (WebCore::GCPrologueVisitor::visitDOMWrapper): Changed to use explicit getter. 39314 39315 2009-10-29 Dimitri Glazkov <dglazkov (a] chromium.org> 39316 39317 Unreviewed, build fix. 39318 39319 [Chromium] Adjust the project files to sync up with 39320 http://trac.webkit.org/changeset/50259 39321 39322 * WebCore.gypi: Renamed and added files. 39323 39324 2009-10-29 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 39325 39326 Reviewed by Tor Arne Vestb. 39327 39328 [Qt] Implement DELETE HTTP method for XmlHttpRequest 39329 https://bugs.webkit.org/show_bug.cgi?id=30894 39330 39331 No new tests as this functionality is already tested by the 39332 xmlhttprequest LayoutTests. As this patch depends on an unreleased 39333 version of the dependent QtNetwork library and the tests will be 39334 enabled later once the dependent library is released (and the 39335 buildbot is updated). 39336 39337 * platform/network/qt/QNetworkReplyHandler.cpp: 39338 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 39339 (WebCore::QNetworkReplyHandler::start): 39340 39341 2009-10-29 Brian Weinstein <bweinstein (a] apple.com> 39342 39343 Reviewed by Timothy Hatcher. 39344 39345 Part of <http://webkit.org/b/30483>. 39346 Web Inspector: Always show the Local and Session Storage Views. 39347 39348 Even if the length of the DOM Storage entry array is 0, still 39349 generate the Datagrid because users can add things storage items 39350 through the UI, so we should allow them to even if there isn't 39351 anything there currently. 39352 39353 * English.lproj/localizedStrings.js: Removed "This Storage is Empty". 39354 * inspector/front-end/DOMStorageItemsView.js: 39355 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): 39356 39357 2009-10-29 Pavel Feldman <pfeldman (a] chromium.org> 39358 39359 Reviewed by Timothy Hatcher. 39360 39361 Web Inspector: Add TimelinePanel into the panels enum. 39362 39363 https://bugs.webkit.org/show_bug.cgi?id=30915 39364 39365 * inspector/InspectorController.cpp: 39366 (WebCore::InspectorController::specialPanelForJSName): 39367 * inspector/InspectorController.h: 39368 (WebCore::InspectorController::): 39369 39370 2009-10-29 Xan Lopez <xlopez (a] igalia.com> 39371 39372 Reviewed by Oliver Hunt. 39373 39374 [GTK] Threading problems with some of the tests 39375 https://bugs.webkit.org/show_bug.cgi?id=30814 39376 39377 Create strings shared among threads with crossThreadString 39378 constructor method. 39379 39380 * storage/Database.cpp: 39381 (WebCore::Database::Database): 39382 39383 2009-10-29 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 39384 39385 Reviewed by Gustavo Noronha. 39386 39387 https://bugs.webkit.org/show_bug.cgi?id=30308 39388 39389 Add support for ARGB videos. 39390 39391 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 39392 (WebCore::MediaPlayerPrivate::paint): 39393 Create the Cairo image surface for ARGB32 or RGB24 39394 depending on the buffer's caps. 39395 39396 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 39397 (webkit_video_sink_timeout_func): 39398 (webkit_video_sink_render): 39399 Handle ARGB video and convert GStreamer's ARGB to 39400 Cairo's for displaying. 39401 39402 2009-10-29 Anton Muhin <antonm (a] chromium.org> 39403 39404 Reviewed by David Levin. 39405 39406 [chromium] expose a method to access memory usage information in ChromiumBridge 39407 Declare a static method to be implemented by http://codereview.chromium.org/332010/ 39408 https://bugs.webkit.org/show_bug.cgi?id=30829 39409 39410 * platform/chromium/ChromiumBridge.h: 39411 39412 2009-10-29 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 39413 39414 Reviewed by Xan Lopez. 39415 39416 https://bugs.webkit.org/show_bug.cgi?id=25679 39417 [Gtk] Improve accessibility of focusable lists 39418 39419 Implements the AtkSelection interface and enables the corresponding 39420 (and expected) object:selection-changed event. 39421 39422 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 39423 (optionFromList): 39424 (optionFromSelection): 39425 (atk_selection_interface_init): 39426 (webkit_accessible_selection_add_selection): 39427 (webkit_accessible_selection_clear_selection): 39428 (webkit_accessible_selection_ref_selection): 39429 (webkit_accessible_selection_get_selection_count): 39430 (webkit_accessible_selection_is_child_selected): 39431 (webkit_accessible_selection_remove_selection): 39432 (webkit_accessible_selection_select_all_selection): 39433 (GetAtkInterfaceTypeFromWAIType): 39434 * accessibility/gtk/AXObjectCacheAtk.cpp: 39435 (AXObjectCache::postPlatformNotification): 39436 39437 2009-10-29 Jian Li <jianli (a] chromium.org> 39438 39439 Reviewed by Darin Adler. 39440 39441 Bug 30655 - Only plain text should be copied to clipboard for TextArea. 39442 https://bugs.webkit.org/show_bug.cgi?id=30655 39443 39444 * editing/Editor.cpp: 39445 (WebCore::nodeIsInTextFormControl): 39446 (WebCore::Editor::cut): 39447 (WebCore::Editor::copy): 39448 39449 2009-10-29 Pavel Feldman <pfeldman (a] chromium.org> 39450 39451 Reviewed by Timothy Hatcher. 39452 39453 Web Inspector: hide timeline for now - not yet ready. 39454 39455 https://bugs.webkit.org/show_bug.cgi?id=30912 39456 39457 * inspector/front-end/inspector.js: 39458 (WebInspector._createPanels): 39459 39460 2009-10-29 Pavel Feldman <pfeldman (a] chromium.org> 39461 39462 Not reviewed: deploy Web Inspector's images in WebCore.gypi. 39463 39464 * WebCore.gypi: 39465 39466 2009-10-29 Pavel Feldman <pfeldman (a] chromium.org> 39467 39468 Reviewed by Timothy Hatcher. 39469 39470 Web Inspector: get rid of timelineProfilerEnabled method. 39471 39472 https://bugs.webkit.org/show_bug.cgi?id=30911 39473 39474 * inspector/InspectorBackend.cpp: 39475 * inspector/InspectorBackend.h: 39476 * inspector/InspectorBackend.idl: 39477 * inspector/InspectorController.cpp: 39478 (WebCore::InspectorController::setWindowVisible): 39479 * inspector/InspectorController.h: 39480 * inspector/front-end/TimelinePanel.js: 39481 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 39482 39483 2009-10-29 Pavel Feldman <pfeldman (a] chromium.org> 39484 39485 Reviewed by Darin Fisher. 39486 39487 Create stub methods for raw cookies access in ChromiumBridge.h 39488 39489 https://bugs.webkit.org/show_bug.cgi?id=30910 39490 39491 * platform/chromium/ChromiumBridge.h: 39492 39493 2009-10-29 Zoltan Horvath <zoltan (a] webkit.org> 39494 39495 Reviewed by Darin Adler. 39496 39497 Allow custom memory allocation control for WebCore's RareData 39498 https://bugs.webkit.org/show_bug.cgi?id=30858 39499 39500 Inherits RareData struct from Noncopyable because it is 39501 instantiated by 'new' in WebCore/css/CSSSelector.h:259 and 39502 it is no need to be copyable. 39503 39504 * css/CSSSelector.h: 39505 39506 2009-10-29 Zoltan Horvath <zoltan (a] webkit.org> 39507 39508 Reviewed by Darin Adler. 39509 39510 Allow custom memory allocation control for WebCore's ShorthandScope 39511 https://bugs.webkit.org/show_bug.cgi?id=30859 39512 39513 Inherits ShorthandScope class from FastAllocBase because it is 39514 instantiated by 'new' in WebCore/css/CSSParser.cpp:902 and 39515 it is no need to be copyable. 39516 39517 * css/CSSParser.h: 39518 39519 2009-10-29 Zoltan Horvath <zoltan (a] webkit.org> 39520 39521 Reviewed by Darin Adler. 39522 39523 Allow custom memory allocation control for WebCore's AXObjectCache 39524 https://bugs.webkit.org/show_bug.cgi?id=30848 39525 39526 Inherits AXObjectCache class from FastAllocBase because it is 39527 instantiated by 'new' in WebCore/dom/Document.cpp:1537 and 39528 it is no need to be copyable. 39529 39530 * accessibility/AXObjectCache.h: 39531 39532 2009-10-28 Adam Barth <abarth (a] webkit.org> 39533 39534 Reviewed by Eric Seidel. 39535 39536 Don't run JavaScript URLs in view source mode 39537 https://bugs.webkit.org/show_bug.cgi?id=30881 39538 39539 Just say no. 39540 39541 Test: http/tests/security/view-source-no-javascript-url.html 39542 39543 * bindings/ScriptControllerBase.cpp: 39544 (WebCore::ScriptController::executeIfJavaScriptURL): 39545 39546 2009-10-29 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 39547 39548 Unreviewed. Fixes style problems pointed out by Evan Martin. 39549 39550 * platform/gtk/Language.cpp: 39551 (WebCore::defaultLanguage): 39552 39553 2009-10-29 Dan Bernstein <mitz (a] apple.com> 39554 39555 Rubber-stamped by Mark Rowe. 39556 39557 64-bit Leopard build fix after r50259 39558 39559 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 39560 Declared ATSUTextInserted in 64-bit. 39561 (WebCore::fontHasMirroringInfo): Use %d format and cast to int. 39562 (WebCore::disableLigatures): Ditto. 39563 (WebCore::initializeATSUStyle): Ditto. 39564 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto. 39565 39566 2009-10-29 Dan Bernstein <mitz (a] apple.com> 39567 39568 Tiger build fix after r50259 39569 39570 * platform/graphics/mac/ComplexTextController.h: 39571 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 39572 39573 2009-10-29 Dan Bernstein <mitz (a] apple.com> 39574 39575 Attempted Tiger build fix after r50259 39576 39577 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 39578 39579 2009-10-28 Steve Falkenburg <sfalken (a] apple.com> 39580 39581 Rubber stamped by Mark Rowe. 39582 39583 https://bugs.webkit.org/show_bug.cgi?id=30899 39584 WebKit fails to build release on 32-bit Windows systems 39585 39586 * WebCore.vcproj/WebCore.vcproj: Excluded files from project. 39587 * bindings/js/JSBindingsAllInOne.cpp: Added. 39588 39589 2009-10-28 Dan Bernstein <mitz (a] apple.com> 39590 39591 Reviewed by Jon Honeycutt. 39592 39593 Fixed typos in color names. 39594 39595 * inspector/front-end/Color.js: 39596 39597 2009-10-28 Dan Bernstein <mitz (a] apple.com> 39598 39599 Reviewed by Sam Weinig. 39600 39601 Share code between the ATSUI- and Core Text-based Font implementations by doing the 39602 following: 39603 - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific 39604 parts in ComplexTextControllerCoreText.cpp. 39605 - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController 39606 - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI. 39607 - Remove FontMacATSUI. 39608 39609 * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm, 39610 and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h}, 39611 ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and 39612 FontComplexTextMac.cpp. 39613 39614 * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and 39615 kept the non-Core Text-specific bits. 39616 (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including 39617 its own. 39618 (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for 39619 m_complexTextRuns holding references instead of objects. 39620 (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including 39621 its own. 39622 (WebCore::ComplexTextController::advance): Updated for renames. 39623 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for 39624 m_complexTextRuns holding references instead of objects, and changed to use the glyphs() 39625 and advances() accessors. 39626 39627 * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and 39628 renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made 39629 the latter RefCounted, added ATSUI-specific members to it, and made some other members 39630 Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references 39631 rather than objects. 39632 (WebCore::ComplexTextController::ComplexTextRun::create): 39633 (WebCore::ComplexTextController::ComplexTextRun::glyphs): 39634 (WebCore::ComplexTextController::ComplexTextRun::advances): 39635 39636 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific 39637 parts of the ComplexTextController implementation. 39638 (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI 39639 callback populates the ComplexTextRuns glyphs, advances and indices vectors. It is invoked 39640 when the ComplexTextRun constructor calls ATSUGetGlyphBounds(). 39641 (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm. 39642 (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm. 39643 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the 39644 ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic, 39645 mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to 39646 get the glyphs, advances and indices vectors populated. 39647 (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm. 39648 (WebCore::disableLigatures): Ditto. 39649 (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified. 39650 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs 39651 ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones. 39652 39653 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from 39654 CoreTextController.cpp and kept the Core Text-specific bits. 39655 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames, 39656 including its own, and moved the code to initialize m_glyphs and m_advances here. Previously 39657 this was done in adjustGlyphsAndAdvances(). 39658 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames, 39659 including its own. 39660 * platform/graphics/mac/CoreTextController.cpp: Removed. 39661 * platform/graphics/mac/CoreTextController.h: Removed. 39662 * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this. 39663 (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead 39664 of CoreTextController. 39665 (WebCore::Font::drawComplexText): Ditto. 39666 (WebCore::Font::floatWidthForComplexText): Ditto. 39667 (WebCore::Font::offsetForPositionForComplexText): Ditto. 39668 * platform/graphics/mac/FontMacATSUI.mm: Removed. 39669 * platform/graphics/mac/FontMacCoreText.cpp: Removed. 39670 39671 2009-10-27 Chris Fleizach <cfleizach (a] apple.com> 39672 39673 Reviewed by Darin Adler. 39674 39675 WAI-ARIA: add support for 'option' role 39676 https://bugs.webkit.org/show_bug.cgi?id=30843 39677 39678 Test: accessibility/aria-option-role.html 39679 39680 * accessibility/AccessibilityListBoxOption.h: 39681 (WebCore::AccessibilityListBoxOption::canHaveChildren): 39682 * accessibility/AccessibilityRenderObject.cpp: 39683 (WebCore::RoleEntry::): 39684 (WebCore::AccessibilityRenderObject::canHaveChildren): 39685 39686 2009-10-28 Jens Alfke <snej (a] chromium.org> 39687 39688 Reviewed by Eric Seidel. 39689 39690 Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build. 39691 https://bugs.webkit.org/show_bug.cgi?id=30716 39692 39693 * WebCore.gyp/WebCore.gyp: Enable "chromium_code" flag, just on Mac build for now. 39694 * accessibility/AccessibilityRenderObject.cpp: 39695 (WebCore::createARIARoleMap): Fix struct visibiity warning. 39696 * bindings/v8/ScriptCallStack.h: Fix out-of-order member initialization warning. 39697 * bindings/v8/V8Collection.h: 39698 (WebCore::getV8Object): Function in header should not be 'static' (fixes unused-static warning.) 39699 * bindings/v8/V8DOMWrapper.cpp: 39700 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Fix signed/unsigned comparison warning. 39701 * bindings/v8/V8GCController.cpp: 39702 (WebCore::ObjectGrouperVisitor::applyGrouping): Fix unused-variable warning. 39703 * css/CSSPrimitiveValueMappings.h: 39704 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Enable ListButtonPart case to avoid 39705 warning about missing cases in 'switch' statement. 39706 * editing/EditorCommand.cpp: 39707 (WebCore::createCommandMap): Fix struct visibiity warning. 39708 * platform/graphics/skia/PlatformContextSkia.cpp: 39709 (PlatformContextSkia::State::State): Fix out-of-order member initialization warning. 39710 * rendering/RenderMediaControlsChromium.cpp: 39711 (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Add empty 'default' case in 39712 'switch' statement to avoid missing-case warning. 39713 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Ditto. 39714 * xml/XPathFunctions.cpp: 39715 (WebCore::XPath::createFunctionMap): Fix struct visibiity warning. 39716 39717 2009-10-29 Adam Barth <abarth (a] webkit.org> 39718 39719 Reviewed by Darin Adler. 39720 39721 REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer<WebCore::RedirectScheduler>*) 39722 https://bugs.webkit.org/show_bug.cgi?id=30839 39723 39724 Added null check for the case when the frame is detached from the page. 39725 39726 * loader/RedirectScheduler.cpp: 39727 (WebCore::RedirectScheduler::timerFired): 39728 39729 2009-10-28 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 39730 39731 Reviewed by Xan Lopez. 39732 39733 https://bugs.webkit.org/show_bug.cgi?id=30817 39734 Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent 39735 39736 Also removes the hack I had originally added to solve bug 25411, because 39737 the fix here is what I should have done in the first place. 39738 39739 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 39740 (webkit_accessible_get_parent): 39741 39742 2009-10-28 Dmitry Titov <dimich (a] chromium.org> 39743 39744 Reviewed by David Levin. 39745 39746 https://bugs.webkit.org/show_bug.cgi?id=30805 39747 Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue. 39748 Existing Database tests cover this, no change in functionality. 39749 39750 * storage/DatabaseThread.cpp: 39751 (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database. 39752 (WebCore::SameDatabasePredicate::operator()): 39753 (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method. 39754 39755 2009-10-28 Pavel Feldman <pfeldman (a] chromium.org> 39756 39757 Reviewed by Timothy Hatcher. 39758 39759 Web Inspector: Glue subsequent timeline records with same category 39760 and title together. 39761 39762 https://bugs.webkit.org/show_bug.cgi?id=30885 39763 39764 * English.lproj/localizedStrings.js: 39765 * inspector/front-end/TimelinePanel.js: 39766 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 39767 (WebInspector.TimelinePanel.prototype._formatRecord): 39768 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 39769 (WebInspector.TimelineRecordTreeElement.prototype.refresh): 39770 39771 2009-10-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 39772 39773 Reviewed by Xan Lopez. 39774 39775 [GTK] Fails new test fast/js/navigator-language.html 39776 https://bugs.webkit.org/show_bug.cgi?id=30440 39777 39778 Reimplement WebCore::defaultLanguage to account for changes in 39779 locale done by setLocale. 39780 39781 Already existing test: fast/js/navigator-language.html 39782 39783 * platform/gtk/Language.cpp: 39784 (WebCore::defaultLanguage): 39785 39786 2009-10-28 Eric Carlson <eric.carlson (a] apple.com> 39787 39788 Reviewed by Simon Fraser. 39789 39790 <rdar://problem/7303145> 39791 Can't exit full screen mode or restart movie after pressing command -R. 39792 39793 * html/HTMLMediaElement.cpp: 39794 (WebCore::HTMLMediaElement::removedFromDocument): 39795 (WebCore::HTMLMediaElement::documentWillBecomeInactive): 39796 Exit from fullscreen if necessary. 39797 * html/HTMLMediaElement.h: 39798 39799 2009-10-28 Alexey Proskuryakov <ap (a] apple.com> 39800 39801 Unreviewed - a trivial fix to get Windows bots running. 39802 39803 https://bugs.webkit.org/show_bug.cgi?id=30841 39804 <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site 39805 39806 * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to 39807 access empty vector's data. 39808 39809 2009-10-28 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 39810 39811 Reviewed by Xan Lopez. 39812 39813 https://bugs.webkit.org/show_bug.cgi?id=25897 39814 [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries 39815 39816 Remove the extraneous object of ROLE_PANEL. 39817 39818 * accessibility/gtk/AccessibilityObjectAtk.cpp: 39819 (AccessibilityObject::accessibilityPlatformIncludesObject): 39820 39821 2009-10-28 Jonathan Dixon <joth (a] chromium.org> 39822 39823 Reviewed by Eric Seidel. 39824 39825 Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius 39826 https://bugs.webkit.org/show_bug.cgi?id=30547 39827 39828 Test: fast/css/text-input-with-webkit-border-radius.html 39829 39830 * rendering/RenderThemeChromiumWin.cpp: 39831 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 39832 Implemented rounded border rendering in Chromium Windows theme renderer. 39833 39834 2009-10-28 Pavel Feldman <pfeldman (a] chromium.org> 39835 39836 Reviewed by Timothy Hatcher. 39837 39838 Web Inspector: Pull items collections from resources panel and 39839 timeline panel into AbstractTimelinePanel. 39840 39841 https://bugs.webkit.org/show_bug.cgi?id=30875 39842 39843 * inspector/front-end/AbstractTimelinePanel.js: 39844 (WebInspector.AbstractTimelinePanel): 39845 (WebInspector.AbstractTimelinePanel.prototype.populateSidebar): 39846 (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement): 39847 (WebInspector.AbstractTimelinePanel.prototype.createItemGraph): 39848 (WebInspector.AbstractTimelinePanel.prototype._showCategory): 39849 (WebInspector.AbstractTimelinePanel.prototype._hideCategory): 39850 (WebInspector.AbstractTimelinePanel.prototype.filter): 39851 (WebInspector.AbstractTimelinePanel.prototype._createGraph): 39852 (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth): 39853 (WebInspector.AbstractTimelinePanel.prototype.refresh): 39854 (WebInspector.AbstractTimelinePanel.prototype.reset): 39855 (WebInspector.AbstractTimelinePanel.prototype.get calculator): 39856 (WebInspector.AbstractTimelinePanel.prototype.set calculator): 39857 (WebInspector.AbstractTimelinePanel.prototype.addItem): 39858 (WebInspector.AbstractTimelinePanel.prototype.removeItem): 39859 (WebInspector.AbstractTimelinePanel.prototype.refreshItem): 39860 (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem): 39861 (WebInspector.AbstractTimelinePanel.prototype.sortItems): 39862 (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition): 39863 (WebInspector.AbstractTimelineCategory): 39864 (WebInspector.AbstractTimelineCategory.prototype.toString): 39865 * inspector/front-end/ResourceCategory.js: 39866 (WebInspector.ResourceCategory): 39867 * inspector/front-end/ResourcesPanel.js: 39868 (WebInspector.ResourcesPanel): 39869 (WebInspector.ResourcesPanel.prototype.createItemTreeElement): 39870 (WebInspector.ResourcesPanel.prototype.createItemGraph): 39871 (WebInspector.ResourcesPanel.prototype.isCategoryVisible): 39872 (WebInspector.ResourcesPanel.prototype.populateSidebar): 39873 (WebInspector.ResourcesPanel.prototype.get searchableViews): 39874 (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction): 39875 (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction): 39876 (WebInspector.ResourcesPanel.prototype.searchMatchFound): 39877 (WebInspector.ResourcesPanel.prototype.searchCanceled): 39878 (WebInspector.ResourcesPanel.prototype.performSearch): 39879 (WebInspector.ResourcesPanel.prototype.refresh): 39880 (WebInspector.ResourcesPanel.prototype.reset): 39881 (WebInspector.ResourcesPanel.prototype.removeResource): 39882 (WebInspector.ResourcesPanel.prototype.addMessageToResource): 39883 (WebInspector.ResourcesPanel.prototype.clearMessages): 39884 (WebInspector.ResourcesPanel.prototype.refreshResource): 39885 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 39886 (WebInspector.ResourcesPanel.prototype.showResource): 39887 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): 39888 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): 39889 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): 39890 (WebInspector.ResourcesPanel.prototype.get _resources): 39891 (WebInspector.ResourceTimeCalculator.prototype._upperBound): 39892 * inspector/front-end/TimelinePanel.js: 39893 (WebInspector.TimelinePanel): 39894 (WebInspector.TimelinePanel.prototype.get categories): 39895 (WebInspector.TimelinePanel.prototype.populateSidebar): 39896 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 39897 (WebInspector.TimelinePanel.prototype.createItemTreeElement): 39898 (WebInspector.TimelinePanel.prototype.createItemGraph): 39899 (WebInspector.TimelinePanel.prototype._formatRecord): 39900 (WebInspector.TimelineCategory): 39901 * inspector/front-end/inspector.css: 39902 * inspector/front-end/inspector.html: 39903 39904 2009-10-28 Kelly Norton <knorton (a] google.com> 39905 39906 Reviewed by Pavel Feldman. 39907 39908 Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so 39909 that it remains active on refreshs and page transitions. 39910 https://bugs.webkit.org/show_bug.cgi?id=30874 39911 39912 * inspector/InspectorController.cpp: 39913 (WebCore::InspectorController::setFrontendProxyObject): 39914 * inspector/InspectorTimelineAgent.cpp: 39915 (WebCore::InspectorTimelineAgent::resetFrontendProxyObject): 39916 * inspector/InspectorTimelineAgent.h: 39917 39918 2009-10-27 Shinichiro Hamaji <hamaji (a] chromium.org> 39919 39920 Reviewed by Darin Adler. 39921 39922 Provide a way to get counter values with layoutTestContoller 39923 https://bugs.webkit.org/show_bug.cgi?id=30555 39924 39925 Expose WebCore::counterValueForElement as a WebCore API. 39926 39927 * WebCore.base.exp: 39928 * rendering/RenderTreeAsText.cpp: 39929 (WebCore::writeCounterValuesFromChildren): 39930 (WebCore::counterValueForElement): 39931 * rendering/RenderTreeAsText.h: 39932 39933 2009-10-28 Nate Chapin <japhet (a] chromium.org> 39934 39935 Unreviewed, Chromium build fix for r50225. 39936 39937 * loader/FrameLoader.cpp: 39938 (WebCore::FrameLoader::defaultObjectContentType): 39939 39940 2009-10-28 Eric Z. Ayers <zundel (a] google.com> 39941 39942 Reviewed by Pavel Feldman. 39943 39944 Adds InspectorTimelineAgent instrumentation for encountering a 39945 <SCRIPT> tag when parsing an HTML document. 39946 39947 https://bugs.webkit.org/show_bug.cgi?id=30861 39948 39949 * bindings/js/ScriptSourceCode.h: 39950 (WebCore::ScriptSourceCode::ScriptSourceCode): 39951 (WebCore::ScriptSourceCode::startLine): 39952 (WebCore::ScriptSourceCode::url): 39953 * html/HTMLTokenizer.cpp: 39954 (WebCore::HTMLTokenizer::scriptHandler): 39955 (WebCore::HTMLTokenizer::scriptExecution): 39956 * inspector/InspectorTimelineAgent.cpp: 39957 (WebCore::InspectorTimelineAgent::willLoadXHR): 39958 (WebCore::InspectorTimelineAgent::willScriptTag): 39959 (WebCore::InspectorTimelineAgent::didScriptTag): 39960 * inspector/InspectorTimelineAgent.h: 39961 (WebCore::): 39962 * inspector/TimelineRecordFactory.cpp: 39963 (WebCore::TimelineRecordFactory::createScriptTagTimelineRecord): 39964 * inspector/TimelineRecordFactory.h: 39965 * inspector/front-end/TimelineAgent.js: 39966 39967 2009-10-28 Steve Block <steveblock (a] google.com> 39968 39969 Reviewed by Darin Adler. 39970 39971 Makes sure that Geolocation watch IDs remain positive on overflow. 39972 https://bugs.webkit.org/show_bug.cgi?id=30122 39973 39974 No new tests possible. 39975 39976 * page/Geolocation.cpp: Modified. 39977 (WebCore::Geolocation::watchPosition): Modified. Reset the watch ID to 1 on overflow. 39978 39979 2009-10-28 George Staikos <george.staikos (a] torchmobile.com> 39980 39981 Attempt to fix the Mac debug build after 50225. 39982 39983 * loader/FrameLoader.cpp: 39984 (WebCore::FrameLoader::defaultObjectContentType): 39985 39986 2009-10-28 Alexey Proskuryakov <ap (a] apple.com> 39987 39988 Reviewed by Darin Adler. 39989 39990 https://bugs.webkit.org/show_bug.cgi?id=30841 39991 <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site 39992 39993 Tests: http/tests/ssl/referer-301.html 39994 http/tests/ssl/referer-303.html 39995 39996 * platform/network/mac/ResourceHandleMac.mm: 39997 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 39998 Remove Referer header if redirecting from https to another protocol. 39999 40000 * platform/network/ResourceRequestBase.cpp: 40001 (WebCore::ResourceRequestBase::clearHTTPReferrer): Update request counterparts, as it is 40002 always done when changing or adding header fields. 40003 (WebCore::ResourceRequestBase::clearHTTPOrigin): Ditto. 40004 40005 * platform/network/ResourceRequestBase.h: clearHTTPReferrer() and clearHTTPOrigin() are 40006 no longer inline, since they have non-trivial implementations. 40007 40008 * platform/network/mac/ResourceRequestMac.mm: 40009 (WebCore::ResourceRequest::doUpdatePlatformRequest): Fixed to synchronize header field removals. 40010 (WebCore::ResourceRequest::doUpdateResourceRequest): Ditto. 40011 40012 * platform/network/cf/ResourceHandleCFNet.cpp: 40013 (WebCore::willSendRequest): 40014 * platform/network/cf/ResourceRequestCFNet.cpp: 40015 (WebCore::setHeaderFields): 40016 (WebCore::ResourceRequest::doUpdatePlatformRequest): 40017 (WebCore::ResourceRequest::doUpdateResourceRequest): 40018 Match Mac changes. 40019 40020 2009-10-28 Joe Mason <jmason (a] rim.com> 40021 40022 Reviewed by Adam Treat. 40023 40024 Add FrameLoader::defaultObjectContentType, containing common code for 40025 implementing FrameLoaderClient::objectContentType. (Currently the gtk 40026 and win ports have copied this code, and the qt port uses similar code 40027 with a few extra clauses. Moving this to a utility function cuts down 40028 on copied code.) This causes no behavioural change. 40029 40030 https://bugs.webkit.org/show_bug.cgi?id=30868 40031 40032 * loader/FrameLoader.cpp: 40033 (WebCore::FrameLoader::defaultObjectContentType): 40034 * loader/FrameLoader.h: 40035 40036 2009-10-28 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 40037 40038 Reviewed by Tor Arne Vestb. 40039 40040 [Qt] QWebHistory::saveState() is inconsistent with the Qt API 40041 https://bugs.webkit.org/show_bug.cgi?id=30710 40042 40043 Enforce the versioning, by ignoring any version different 40044 from 1. 40045 40046 * history/qt/HistoryItemQt.cpp: 40047 (WebCore::HistoryItem::restoreState): 40048 (WebCore::HistoryItem::saveState): 40049 40050 2009-10-28 Pavel Feldman <pfeldman (a] chromium.org> 40051 40052 Not reviewed: follow up fix to InspectorControllerStub. 40053 Define it after inspector.js due to namespace 40054 40055 https://bugs.webkit.org/show_bug.cgi?id=30866 40056 40057 * inspector/front-end/inspector.html: 40058 40059 2009-10-28 Pavel Feldman <pfeldman (a] chromium.org> 40060 40061 Reviewed by Timothy Hatcher. 40062 40063 Web Inspector: Add InspectorController stub in order to 40064 support opening in standalone mode. 40065 40066 https://bugs.webkit.org/show_bug.cgi?id=30866 40067 40068 * WebCore.gypi: 40069 * WebCore.vcproj/WebCore.vcproj: 40070 * inspector/front-end/InspectorControllerStub.js: Added. 40071 (.WebInspector.InspectorControllerStub): 40072 (.WebInspector.InspectorControllerStub.prototype.wrapCallback): 40073 (.WebInspector.InspectorControllerStub.prototype.isWindowVisible): 40074 (.WebInspector.InspectorControllerStub.prototype.platform): 40075 (.WebInspector.InspectorControllerStub.prototype.closeWindow): 40076 (.WebInspector.InspectorControllerStub.prototype.attach): 40077 (.WebInspector.InspectorControllerStub.prototype.detach): 40078 (.WebInspector.InspectorControllerStub.prototype.storeLastActivePanel): 40079 (.WebInspector.InspectorControllerStub.prototype.clearMessages): 40080 (.WebInspector.InspectorControllerStub.prototype.searchingForNode): 40081 (.WebInspector.InspectorControllerStub.prototype.search): 40082 (.WebInspector.InspectorControllerStub.prototype.toggleNodeSearch): 40083 (.WebInspector.InspectorControllerStub.prototype.setAttachedWindowHeight): 40084 (.WebInspector.InspectorControllerStub.prototype.moveByUnrestricted): 40085 (.WebInspector.InspectorControllerStub.prototype.addResourceSourceToFrame): 40086 (.WebInspector.InspectorControllerStub.prototype.addSourceToFrame): 40087 (.WebInspector.InspectorControllerStub.prototype.getResourceDocumentNode): 40088 (.WebInspector.InspectorControllerStub.prototype.highlightDOMNode): 40089 (.WebInspector.InspectorControllerStub.prototype.hideDOMNodeHighlight): 40090 (.WebInspector.InspectorControllerStub.prototype.inspectedWindow): 40091 (.WebInspector.InspectorControllerStub.prototype.loaded): 40092 (.WebInspector.InspectorControllerStub.prototype.localizedStringsURL): 40093 (.WebInspector.InspectorControllerStub.prototype.windowUnloading): 40094 (.WebInspector.InspectorControllerStub.prototype.hiddenPanels): 40095 (.WebInspector.InspectorControllerStub.prototype.debuggerEnabled): 40096 (.WebInspector.InspectorControllerStub.prototype.enableResourceTracking): 40097 (.WebInspector.InspectorControllerStub.prototype.disableResourceTracking): 40098 (.WebInspector.InspectorControllerStub.prototype.resourceTrackingEnabled): 40099 (.WebInspector.InspectorControllerStub.prototype.enableDebugger): 40100 (.WebInspector.InspectorControllerStub.prototype.disableDebugger): 40101 (.WebInspector.InspectorControllerStub.prototype.addBreakpoint): 40102 (.WebInspector.InspectorControllerStub.prototype.removeBreakpoint): 40103 (.WebInspector.InspectorControllerStub.prototype.updateBreakpoint): 40104 (.WebInspector.InspectorControllerStub.prototype.pauseInDebugger): 40105 (.WebInspector.InspectorControllerStub.prototype.pauseOnExceptions): 40106 (.WebInspector.InspectorControllerStub.prototype.setPauseOnExceptions): 40107 (.WebInspector.InspectorControllerStub.prototype.resumeDebugger): 40108 (.WebInspector.InspectorControllerStub.prototype.profilerEnabled): 40109 (.WebInspector.InspectorControllerStub.prototype.enableProfiler): 40110 (.WebInspector.InspectorControllerStub.prototype.disableProfiler): 40111 (.WebInspector.InspectorControllerStub.prototype.startProfiling): 40112 (.WebInspector.InspectorControllerStub.prototype.stopProfiling): 40113 (.WebInspector.InspectorControllerStub.prototype.getProfileHeaders): 40114 (.WebInspector.InspectorControllerStub.prototype.getProfile): 40115 (.WebInspector.InspectorControllerStub.prototype.takeHeapSnapshot): 40116 (.WebInspector.InspectorControllerStub.prototype.databaseTableNames): 40117 (.WebInspector.InspectorControllerStub.prototype.stepIntoStatementInDebugger): 40118 (.WebInspector.InspectorControllerStub.prototype.stepOutOfFunctionInDebugger): 40119 (.WebInspector.InspectorControllerStub.prototype.stepOverStatementInDebugger): 40120 (.WebInspector.InspectorControllerStub.prototype.setSetting): 40121 (.WebInspector.InspectorControllerStub.prototype.dispatchOnInjectedScript): 40122 (.WebInspector.InspectorControllerStub.prototype.releaseWrapperObjectGroup): 40123 (.WebInspector.InspectorControllerStub.prototype.setting): 40124 * inspector/front-end/inspector.html: 40125 * inspector/front-end/inspector.js: 40126 (WebInspector.UIString): 40127 40128 2009-10-28 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 40129 40130 Reviewed by Jan Alonzo. 40131 40132 https://bugs.webkit.org/show_bug.cgi?id=25897 40133 [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries 40134 40135 Expands upon the new funtionality which allows platforms to indicate 40136 that a particular object should not be ignored, so that they can 40137 specify that an object should be ignored or that it should be left up 40138 to the default handling to decide. 40139 40140 * accessibility/AccessibilityObject.h: 40141 * accessibility/chromium/AccessibilityObjectChromium.cpp: 40142 * accessibility/gtk/AccessibilityObjectAtk.cpp: 40143 * accessibility/mac/AccessibilityObjectMac.mm: 40144 * accessibility/qt/AccessibilityObjectQt.cpp: 40145 * accessibility/win/AccessibilityObjectWin.cpp: 40146 * accessibility/wx/AccessibilityObjectWx.cpp: 40147 (AccessibilityObject::accessibilityPlatformIncludesObject): 40148 * accessibility/AccessibilityRenderObject.cpp: 40149 (AccessibilityRenderObject::accessibilityIsIgnored): 40150 40151 40152 2009-10-28 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 40153 40154 Reviewed by Jan Alonzo. 40155 40156 https://bugs.webkit.org/show_bug.cgi?id=25534 40157 [GTK] Objects of ROLE_TABLE should implement the accessible table interface 40158 40159 Expose the table summary as the accessible description because there is no summary object. 40160 40161 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 40162 (webkit_accessible_get_description): 40163 40164 2009-10-28 Steve Block <steveblock (a] google.com> 40165 40166 Reviewed by Eric Seidel. 40167 40168 Adds ScriptController::intializeThreading(), with both JSC and V8 implementations. 40169 https://bugs.webkit.org/show_bug.cgi?id=30678 40170 40171 This new method is used from common code, rather than calling JSC::initializeThreading() (or the V8 equivalent) directly. 40172 40173 Build fix, no new tests required. 40174 40175 * bindings/js/ScriptController.cpp: Modified. 40176 (WebCore::ScriptController::initializeThreading): Added. 40177 * bindings/js/ScriptController.h: Modified. Adds ScriptController::initializeThreading(). 40178 * bindings/v8/ScriptController.cpp: Modified. 40179 (WebCore::ScriptController::initializeThreading): Added. 40180 * bindings/v8/ScriptController.h: Modified. Adds ScriptController::initializeThreading(). 40181 * loader/icon/IconDatabase.cpp: Modified. 40182 (WebCore::iconDatabase): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading(). 40183 * storage/Database.cpp: Modified. 40184 (WebCore::Database::Database): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading(). 40185 40186 2009-10-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 40187 40188 Reviewed by Darin Adler. 40189 40190 Document a feature of the m_liveDecodedResources list. 40191 https://bugs.webkit.org/show_bug.cgi?id=30209 40192 40193 The code made the assumption that the list is sorted by 40194 the m_lastDecodedAccessTime property of the CachedResource. 40195 The above is not true when CachedResource::setDecodedSize 40196 is called and the item is inserted the first time. In this 40197 case the m_lastDecodedAccessTime is still zero and the 40198 m_liveDecodedResources list becomes unsorted. 40199 40200 It is impossible that Cache::pruneLiveResources will 40201 stop to process the list too early due this feature and 40202 the alternatives of updating m_lastDecodedAccessTime in 40203 CachedResource::setDecodedSize or changing the insert 40204 to search the right position have a negative impact on 40205 performance. The best solution for now is to document 40206 this feature. 40207 40208 * loader/Cache.cpp: 40209 (WebCore::Cache::pruneLiveResources): 40210 * loader/CachedResource.cpp: 40211 (WebCore::CachedResource::setDecodedSize): 40212 40213 2009-10-28 Xan Lopez <xlopez (a] igalia.com> 40214 40215 Reviewed by Jan Alonzo. 40216 40217 [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries 40218 https://bugs.webkit.org/show_bug.cgi?id=25897 40219 40220 Make text controls always implement the text interface, and the 40221 editable text interface when they are not read only. This is what 40222 ATK-users expect. 40223 40224 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 40225 (getInterfaceMaskFromObject): 40226 40227 2009-10-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 40228 40229 Reviewed by Simon Fraser. 40230 40231 Change HitTestResult methods to use (3d) transformation aware methods 40232 https://bugs.webkit.org/show_bug.cgi?id=27347 40233 40234 The current HitTestResult methods are not using the (3d) 40235 transformation aware routines. This can lead to an assertion 40236 SVGRenderBase::mapLocalToContainer method. 40237 40238 Change HitTestResult::imageRect to use the (3d) transformation 40239 aware RenderBox::absoluteContentQuad to avoid running into 40240 an assertion with SVG content. 40241 40242 Remove HitTestResult::boundingBox() as it is only used in 40243 two places and conceptually doesn't belong into a HitTest 40244 which is operating on points. 40245 40246 A classic test case is not possible as the methods are not excercised 40247 from within HTML/SVG but from the WebKit API Layer. A unittest 40248 for Qt/Gtk+/Mac would need to be written but Qt/Gtk+ currently 40249 do not support 3d transformations making it impossible to write 40250 a reliable test case and the Mac port is currently not doing 40251 unit testing. 40252 40253 40254 * rendering/HitTestResult.cpp: Remove boundingBox() method 40255 (WebCore::HitTestResult::imageRect): Use transformation aware method 40256 * rendering/HitTestResult.h: Remove boundingBox() 40257 40258 2009-10-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 40259 40260 Reviewed by Eric Seidel. 40261 40262 [Qt] Custom Cursor doesn't use hotspot. 40263 https://bugs.webkit.org/show_bug.cgi?id=30820 40264 40265 Cursors loaded from a QPixmap didn't specifiy the 40266 hotspot. Take the hotspot values from the mac 40267 implementation. 40268 40269 * platform/qt/CursorQt.cpp: 40270 40271 2009-10-27 Pavel Feldman <pfeldman (a] chromium.org> 40272 40273 Reviewed by Timothy Hatcher. 40274 40275 Web Inspector: Initial revision of the Timeline grid. 40276 40277 https://bugs.webkit.org/show_bug.cgi?id=30834 40278 40279 * English.lproj/localizedStrings.js: 40280 * WebCore.gypi: 40281 * inspector/front-end/AbstractTimelinePanel.js: 40282 (WebInspector.AbstractTimelinePanel.prototype.populateSidebar): 40283 (WebInspector.AbstractTimelinePanel.prototype.refresh): 40284 (WebInspector.AbstractTimelineCalculator): 40285 * inspector/front-end/Images/timelineBarBlue.png: Added. 40286 * inspector/front-end/Images/timelineBarGray.png: Added. 40287 * inspector/front-end/Images/timelineBarGreen.png: Added. 40288 * inspector/front-end/Images/timelineBarOrange.png: Added. 40289 * inspector/front-end/Images/timelineBarPurple.png: Added. 40290 * inspector/front-end/Images/timelineBarRed.png: Added. 40291 * inspector/front-end/Images/timelineBarYellow.png: Added. 40292 * inspector/front-end/Images/timelineCheckmarks.png: Added. 40293 * inspector/front-end/Images/timelineDots.png: Added. 40294 * inspector/front-end/ResourcesPanel.js: 40295 (WebInspector.ResourceTimeCalculator): 40296 (WebInspector.ResourceTransferSizeCalculator): 40297 * inspector/front-end/TimelineAgent.js: 40298 * inspector/front-end/TimelinePanel.js: 40299 (WebInspector.TimelinePanel): 40300 (WebInspector.TimelinePanel.prototype.get statusBarItems): 40301 (WebInspector.TimelinePanel.prototype.get categories): 40302 (WebInspector.TimelinePanel.prototype.populateSidebar): 40303 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 40304 (WebInspector.TimelinePanel.prototype.addItemToTimeline): 40305 (WebInspector.TimelinePanel.prototype.refresh): 40306 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClick): 40307 (WebInspector.TimelinePanel.prototype.reset): 40308 (WebInspector.TimelinePanel.prototype._formatRecord): 40309 (WebInspector.TimelinePanel.prototype.showCategory): 40310 (WebInspector.TimelinePanel.prototype.hideCategory): 40311 (WebInspector.TimelineRecordTreeElement): 40312 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 40313 (WebInspector.TimelineCalculator): 40314 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): 40315 (WebInspector.TimelineCalculator.prototype.computePercentageFromEventTime): 40316 (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels): 40317 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 40318 (WebInspector.TimelineCalculator.prototype.formatValue): 40319 (WebInspector.TimelineGraph): 40320 (WebInspector.TimelineGraph.prototype.get graphElement): 40321 (WebInspector.TimelineGraph.prototype.refreshLabelPositions): 40322 (WebInspector.TimelineGraph.prototype.refresh): 40323 * inspector/front-end/inspector.css: 40324 * inspector/front-end/inspector.js: 40325 (WebInspector._createPanels): 40326 40327 2009-10-27 Joseph Pecoraro <joepeck (a] webkit.org> 40328 40329 Reviewed by Pavel Feldman. 40330 40331 Web Inspector: Move runAfterPendingDispatches to TestController for Clarity 40332 https://bugs.webkit.org/show_bug.cgi?id=30844 40333 40334 * inspector/front-end/TestController.js: 40335 (WebInspector.TestController.prototype.runAfterPendingDispatches): 40336 * inspector/front-end/inspector.js: moved runAfterPendingDispatches 40337 40338 2009-10-27 Darin Fisher <darin (a] chromium.org> 40339 40340 Reviewed by Dimitri Glazkov. 40341 40342 Add missing forward declaration of FramelessScrollView. 40343 https://bugs.webkit.org/show_bug.cgi?id=30824 40344 40345 * platform/chromium/FramelessScrollViewClient.h: 40346 40347 2009-10-27 Chris Fleizach <cfleizach (a] apple.com> 40348 40349 Reviewed by Adele Peterson. 40350 40351 WAI-ARIA: add support for 'presentation' role 40352 https://bugs.webkit.org/show_bug.cgi?id=30806 40353 40354 Test: accessibility/aria-presentational-role.html 40355 40356 * accessibility/AccessibilityObject.h: 40357 (WebCore::): 40358 * accessibility/AccessibilityRenderObject.cpp: 40359 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 40360 (WebCore::RoleEntry::): 40361 40362 2009-10-27 Chris Fleizach <cfleizach (a] apple.com> 40363 40364 Reviewed by Darin Adler. 40365 40366 ARIA menu/menu item need AXRoleDescription 40367 https://bugs.webkit.org/show_bug.cgi?id=30804 40368 40369 Make sure that role descriptions will default to the system's first, before 40370 returning an unknown role. 40371 40372 Test: platform/mac/accessibility/aria-menu-role-descriptions.html 40373 40374 * accessibility/mac/AccessibilityObjectWrapper.mm: 40375 (-[AccessibilityObjectWrapper roleDescription]): 40376 40377 2009-10-27 Geoffrey Garen <ggaren (a] apple.com> 40378 40379 Qt build fix: migrated away from API that no longer exists. 40380 40381 * bridge/qt/qt_runtime.cpp: 40382 (JSC::Bindings::convertQVariantToValue): 40383 40384 2009-10-27 Geoffrey Garen <ggaren (a] apple.com> 40385 40386 Qt build fix: migrated away from API that no longer exists. 40387 40388 * bridge/qt/qt_runtime.cpp: 40389 (JSC::Bindings::convertValueToQVariant): 40390 40391 2009-10-27 Oliver Hunt <oliver (a] apple.com> 40392 40393 Fix wording in comment. 40394 40395 * bridge/objc/objc_instance.mm: 40396 (allocateAutoReleasePool): 40397 40398 2009-10-27 Oliver Hunt <oliver (a] apple.com> 40399 40400 Reviewed by Darin Adler. 40401 40402 Crash occurs after launching Newsfire 1.6 for the first time 40403 https://bugs.webkit.org/show_bug.cgi?id=30807 40404 40405 We allocate an autorelease pool but then store it off the stack. In a 40406 GC environment this led to it being collected, and thus caused badness 40407 to ensue. To work around this we simply avoid using a pool at all in 40408 a GC environment as it would be a no-op anyway. 40409 40410 * bridge/objc/objc_instance.mm: 40411 (allocateAutoReleasePool): 40412 (ObjcInstance::virtualBegin): 40413 40414 2009-10-27 Steve Block <steveblock (a] google.com> 40415 40416 Reviewed by Darin Adler. 40417 40418 When a Geolocation method is called, immediately calls the error calback asynchronously if permissions 40419 have already been denied. 40420 https://bugs.webkit.org/show_bug.cgi?id=27944. 40421 40422 Tests: fast/dom/Geolocation/permission-denied-already-error.html 40423 fast/dom/Geolocation/permission-denied-already-success.html 40424 40425 * page/Geolocation.cpp: Modified. 40426 (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. GeoNotifier takes Geolocation object as constructor argument. 40427 (WebCore::Geolocation::GeoNotifier::setFatalError): Added. Sets a fatal error for this notifier, causing it to terminate immediately and call the error callback asynchronously. 40428 (WebCore::Geolocation::GeoNotifier::timerFired): Added. Used to call the error callback asynchronously on fatal error. 40429 (WebCore::Geolocation::getCurrentPosition): Modified. Calls startRequest. 40430 (WebCore::Geolocation::watchPosition): Modified. Calls startRequest. 40431 (WebCore::Geolocation::startRequest): Added. Common functionality for starting a one-shot or watch request. Sets a fatal error on the notifier if permissions have already been denied. 40432 (WebCore::Geolocation::fatalErrorOccurred): Added. Registers that a notifier has encountered a fatal error and should be destroyed. 40433 (WebCore::Geolocation::setIsAllowed): Modified. Uses a standard error message for the error callback when permissions are denied. 40434 * page/Geolocation.h: Modified. 40435 (WebCore::Geolocation::isDenied): Added. Determines whether permissions have been denied. 40436 40437 2009-10-27 Chris Marrin <cmarrin (a] apple.com> 40438 40439 Reviewed by Oliver Hunt. 40440 40441 Fixed a bug where I was using the wrong Canvas pointer to do a cross-domain check 40442 https://bugs.webkit.org/show_bug.cgi?id=30840 40443 40444 * html/canvas/CanvasRenderingContext2D.cpp: 40445 (WebCore::CanvasRenderingContext2D::drawImage): 40446 40447 2009-10-27 Eric Seidel <eric (a] webkit.org> 40448 40449 Reviewed by Nikolas Zimmermann. 40450 40451 SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds) 40452 https://bugs.webkit.org/show_bug.cgi?id=29620 40453 40454 SVG was modifying CSSValues cached of off CSSMappedAttributeDeclarations. 40455 This patch fixes the check to make sure that a new CSSMappedAttributeDeclaration is 40456 created before returning a CSSValue that JavaScript can modify. 40457 40458 Test: svg/dom/getPresentationAttribute-cache-corruption.svg 40459 40460 * svg/SVGStyledElement.cpp: 40461 (WebCore::SVGStyledElement::getPresentationAttribute): 40462 40463 2009-10-27 Dan Bernstein <mitz (a] apple.com> 40464 40465 Reviewed by Simon Fraser. 40466 40467 Incomplete repaint of text field in relative positioned inline at imdb.com 40468 https://bugs.webkit.org/show_bug.cgi?id=30047 40469 40470 Test: fast/repaint/inline-relative-positioned.html 40471 40472 Implemented offsetFromContainer(), mapLocalToContainer() and 40473 mapAbsoluteToLocalPoint() in RenderInline. 40474 40475 * rendering/RenderBox.h: Fixed argument names in the declaration of 40476 mapLocalToContainer(). 40477 * rendering/RenderInline.cpp: 40478 (WebCore::RenderInline::offsetFromContainer): 40479 (WebCore::RenderInline::mapLocalToContainer): 40480 (WebCore::RenderInline::mapAbsoluteToLocalPoint): 40481 * rendering/RenderInline.h: 40482 40483 2009-10-27 Jeremy Orlow <jorlow (a] chromium.org> 40484 40485 Speculative build fix for Chromium. 40486 40487 * platform/graphics/GraphicsContext3D.h: 40488 40489 2009-10-27 Chris Marrin <cmarrin (a] apple.com> 40490 40491 Reviewed by Simon Fraser. 40492 40493 Make WebGL context failure more robust and make it succeed in more cases 40494 https://bugs.webkit.org/show_bug.cgi?id=30349 40495 40496 Bubble a failure to get a CGLContext up to HTMLContextElement so it can 40497 return null from getContext. Also added a more robust pixel format choosing 40498 mechanism and can render correctly when a SW renderer is chosen. 40499 40500 * html/HTMLCanvasElement.cpp: 40501 (WebCore::HTMLCanvasElement::getContext): 40502 * html/canvas/CanvasRenderingContext.h: 40503 * html/canvas/CanvasRenderingContext2D.cpp: 40504 * html/canvas/CanvasRenderingContext3D.cpp: 40505 * html/canvas/CanvasRenderingContext3D.h: 40506 (WebCore::CanvasRenderingContext3D::graphicsContext3D): 40507 (WebCore::CanvasRenderingContext3D::cleanupAfterGraphicsCall): 40508 * platform/graphics/GraphicsContext3D.h: 40509 * platform/graphics/mac/Canvas3DLayer.mm: 40510 (-[Canvas3DLayer copyCGLPixelFormatForDisplayMask:]): 40511 * platform/graphics/mac/GraphicsContext3DMac.cpp: 40512 (WebCore::setPixelFormat): 40513 (WebCore::GraphicsContext3D::create): 40514 (WebCore::GraphicsContext3D::GraphicsContext3D): 40515 (WebCore::GraphicsContext3D::~GraphicsContext3D): 40516 (WebCore::GraphicsContext3D::reshape): 40517 (WebCore::ensureContext): 40518 40519 2009-10-27 Geoffrey Garen <ggaren (a] apple.com> 40520 40521 Mac build fix: a forwarding header. 40522 40523 * ForwardingHeaders/wtf/DateInstanceCache.h: Added. 40524 40525 2009-10-27 Ryosuke Niwa <rniwa (a] webkit.org> 40526 40527 No Review. 40528 40529 Making fontWeightIsBold static to fix Snow Leopard build. 40530 40531 * editing/ApplyStyleCommand.cpp: 40532 (WebCore::fontWeightIsBold): 40533 40534 2009-10-27 Ryosuke Niwa <rniwa (a] webkit.org> 40535 40536 Reviewed by Eric Seidel. 40537 40538 WebKit cannot remove nested bold tags 40539 https://bugs.webkit.org/show_bug.cgi?id=30784 40540 40541 This patch modifies getPropertiesNotInComputedStyle so that it compares font-weight 40542 more flexibly. Instead of comparing cssText, it uses fontWeightIsBold which converts 40543 all font weights to either bold or unbold state. 40544 40545 * editing/ApplyStyleCommand.cpp: 40546 (WebCore::fontWeightIsBold): 40547 (WebCore::getPropertiesNotInComputedStyle): Removes font-weight property 40548 if two style have the same value under getFontWeightValue 40549 40550 2009-10-27 Carol Szabo <carol.szabo (a] nokia.com> 40551 40552 Reviewed by Darin Adler. 40553 40554 Give an ability to WebKit to free statically allocated pointers 40555 before quit. 40556 https://bugs.webkit.org/show_bug.cgi?id=27980 40557 40558 No new tests for this as the change does not affect WebKit 40559 functionality, but only memory usage. 40560 40561 * JavaScriptCore/wtf/StdLibExtras.h: 40562 Allowed for the override of DEFINE_STATIC_LOCAL via compiler 40563 commandline options or elsewhere in the code. Useful for 40564 implementing custom builds that free resources allocated via 40565 DEFINE_STATIC_LOCAL. 40566 40567 2009-10-27 Dumitru Daniliuc <dumi (a] chromium.org> 40568 40569 Build fix, no review needed. 40570 40571 Fixing the BUILD. m_estimatedSize in Database.h should be of type 40572 'unsigned long' instead of 'unsigned long long'. 40573 40574 No tests required. 40575 40576 * storage/Database.h: 40577 40578 2009-10-27 Dumitru Daniliuc <dumi (a] chromium.org> 40579 40580 Reviewed by Adam Barth. 40581 40582 Refactoring the Database class to not depend on 40583 OriginQuotaManager. Also, adding a SecurityOrigin copy to each 40584 Database instance, that is safe to use on the file 40585 thread. Finally, adding new simple fields and getters to the 40586 Database object for storing/getting the display name and estimated 40587 size specified by the user in the openDatabase() call. 40588 40589 https://bugs.webkit.org/show_bug.cgi?id=30548 40590 40591 * page/SecurityOrigin.h: 40592 * storage/Database.cpp: 40593 (WebCore::Database::openDatabase): Storing the display name and 40594 the estimated size in the Database object. 40595 (WebCore::Database::Database): Storing the display name and the 40596 estimated size in the Database object, as well as a SecurityOrigin 40597 instance that is safe to use on the DB thread. 40598 (WebCore::Database::maximumSize): Delegate the call to 40599 DatabaseTracker::getMaxSizeForDatabase(). 40600 (WebCore::Database::databaseThreadSecurityOrigin): Return the 40601 SecurityOrigin instance that's safe to use on the DB thread. 40602 (WebCore::Database::threadSafeSecurityOrigin): Return the 40603 SecurityOrigin instance that's safe to use on the current thread. 40604 (WebCore::Database::displayName): Return the display name 40605 specified by the user in the openDatabase() call. 40606 (WebCore::Database::estimatedSize): Return the estimated size 40607 specified by the user in the openDatabase() call. 40608 (WebCore::Database::fileName): Return the name of the file where 40609 the current Database is tored. 40610 * storage/Database.h: 40611 * storage/DatabaseTracker.cpp: 40612 (WebCore::DatabaseTracker::getMaxSizeForDatabase): Returns the 40613 maximum size for a DB file based on the current size of that file 40614 and the space available for that origin. 40615 * storage/DatabaseTracker.h: 40616 * storage/SQLTransaction.cpp: 40617 * storage/SQLTransactionClient.cpp: 40618 (WebCore::SQLTransactionClient::didCommitTransaction): Use the 40619 correct SecurityOrigin instance. 40620 40621 2009-10-27 Joseph Pecoraro <joepeck (a] webkit.org> 40622 40623 Reviewed by Timothy Hatcher. 40624 40625 Web Inspector: Pretty Print all HTML Collection Types like we do for NodeList 40626 https://bugs.webkit.org/show_bug.cgi?id=30709 40627 40628 Test: inspector/console-format-collections.html 40629 40630 * inspector/front-end/InjectedScript.js: 40631 (Object.type): check for instances of HTMLCollection like we do for NodeList 40632 * inspector/front-end/inspector.js: added WebInspector.pendingDispatches counter 40633 (WebInspector.dispatch): increment and decrement dispatch counter 40634 (WebInspector.runAfterPendingDispatches): run when there are no more dispatches 40635 40636 2009-10-27 Kelly Norton <knorton (a] google.com> 40637 40638 Reviewed by Timothy Hatcher. 40639 40640 Adds XMLHttpRequest support to InspectorTimelineAgent. 40641 https://bugs.webkit.org/show_bug.cgi?id=30578 40642 40643 * inspector/InspectorTimelineAgent.cpp: 40644 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): 40645 (WebCore::InspectorTimelineAgent::didChangeXHRReadyState): 40646 (WebCore::InspectorTimelineAgent::willLoadXHR): 40647 (WebCore::InspectorTimelineAgent::didLoadXHR): 40648 * inspector/InspectorTimelineAgent.h: 40649 (WebCore::): 40650 * inspector/TimelineRecordFactory.cpp: 40651 (WebCore::TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord): 40652 (WebCore::TimelineRecordFactory::createXHRLoadTimelineRecord): 40653 * inspector/TimelineRecordFactory.h: 40654 * inspector/front-end/TimelineAgent.js: 40655 * xml/XMLHttpRequest.cpp: 40656 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 40657 40658 2009-10-27 Enrica Casucci <enrica (a] apple.com> 40659 40660 Reviewed by Adele Peterson. 40661 40662 REGRESSION (Safari 4.0.3-ToT): After pressing Shift-PageDown, pressing Shift-Up 40663 extends the top of the selection upwards (but should shrink the selection instead) 40664 <rdar://problem/7269075> 40665 https://bugs.webkit.org/show_bug.cgi?id=29981 40666 40667 * editing/SelectionController.cpp: 40668 (WebCore::SelectionController::modify): Added setting m_lastChangeWasHorizontalExtension. 40669 40670 2009-10-27 Brian Weinstein <bweinstein (a] apple.com> 40671 40672 Rubber-stamped by Tim Hatcher. 40673 40674 Removed an extra console.log from ElementsTreeOutline. 40675 40676 * inspector/front-end/ElementsTreeOutline.js: 40677 40678 2009-10-27 Keishi Hattori <casey.hattori (a] gmail.com> 40679 40680 Reviewed by Timothy Hatcher. 40681 40682 Rewrote JavaScriptSourceSyntaxHighlighter to be more accurate 40683 https://bugs.webkit.org/show_bug.cgi?id=27147 40684 40685 Tests: LayoutTests/inspector/javascript-syntax-highlight.html 40686 40687 * inspector/front-end/ElementsTreeOutline.js: 40688 * inspector/front-end/SourceFrame.js: 40689 (WebInspector.JavaScriptSourceSyntaxHighlighter.process): Added. Processes 100 tokens at a time. 40690 (WebInspector.JavaScriptSourceSyntaxHighlighter.lex): Added. Scans for a token. 40691 (WebInspector.JavaScriptSourceSyntaxHighlighter.appendNonToken): Added. Appends the non-token characters that lex ignored. 40692 (WebInspector.JavaScriptSourceSyntaxHighlighter.syntaxHighlightNode): Added. To syntax highlight node in ElementsTreeOutline. 40693 40694 2009-10-27 Mads Ager <ager (a] chromium.org> 40695 40696 Reviewed by Adam Barth. 40697 40698 [V8] Missing null check after string conversion in error reporting 40699 https://bugs.webkit.org/show_bug.cgi?id=30774 40700 40701 Add null check after string conversion in error reporting code. 40702 ToString conversion can fail for instance when an exception is 40703 thrown during conversion. 40704 40705 Test: fast/dom/error-to-string-stack-overflow.html 40706 40707 * bindings/v8/V8Utilities.cpp: 40708 (WebCore::reportException): 40709 40710 2009-10-27 Steve Block <steveblock (a] google.com> 40711 40712 Reviewed by Darin Adler. 40713 40714 Use a pair of maps to store Geolocation watchers. 40715 https://bugs.webkit.org/show_bug.cgi?id=29178 40716 40717 The pair of maps allows us to look up a watcher either by its ID or by its GeoNotifier object. 40718 The ability to look up by a watcher by its GeoNotifier object will be required when implementing 40719 Geolocation::fatalErrorOccurred. See https://bugs.webkit.org/show_bug.cgi?id=27944 40720 40721 * page/Geolocation.cpp: Modified. 40722 (WebCore::Geolocation::Watchers::set): Added. Adds a watcher with the given ID. 40723 (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by ID. 40724 (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by GeoNotifier object. 40725 (WebCore::Geolocation::Watchers::clear): Added. Removes all watchers. 40726 (WebCore::Geolocation::Watchers::isEmpty): Added. Determines if there are no watchers. 40727 (WebCore::Geolocation::Watchers::getNotifiersVector): Added. Gets a vector of the GeoNotifier objects. 40728 (WebCore::Geolocation::watchPosition): Modified. Rename watcher identifier static variable. 40729 (WebCore::Geolocation::stopTimersForWatchers): Modified. Use Watchers::getNotifiersVector. 40730 (WebCore::Geolocation::handleError): Modified. Use Watchers::getNotifiersVector. 40731 (WebCore::Geolocation::makeSuccessCallbacks): Modified. Use Watchers::getNotifiersVector. 40732 * page/Geolocation.h: Modified. Adds Geolocation::Watchers class. 40733 40734 2009-10-27 Jeremy Orlow <jorlow (a] chromium.org> 40735 40736 Reviewed by Dimitri Glazkov. 40737 40738 [V8] DOM Storage runtime flag should default to on 40739 https://bugs.webkit.org/show_bug.cgi?id=30828 40740 40741 The DOM Storage runtime flag was supposed to default to on. I accidentally 40742 changed the logic to default to false when I moved the flag. 40743 40744 * bindings/v8/RuntimeEnabledFeatures.cpp: 40745 40746 2009-10-27 Fumitoshi Ukai <ukai (a] chromium.org> 40747 40748 Reviewed by Dimitri Glazkov. 40749 40750 Fix crash found in chromium test_shell. 40751 https://bugs.webkit.org/show_bug.cgi?id=30808 40752 40753 When WebSocket is deleted without close, webkit would crash 40754 when it handles didClose. 40755 40756 Check scriptExecutionContext before post task for event. 40757 Use WebSocketChannel::disconnect() instead of close() in WebSocket 40758 destructor, so that WebSocketChannel should not call deleted WebSocket 40759 back in didClose(). 40760 To make sure WebSocketChannel alive while it is processing WebSocket 40761 protocol over SocketStreamHandle, ref() in connect() and deref() in 40762 didClose(). 40763 40764 * websockets/WebSocket.cpp: 40765 (WebCore::WebSocket::~WebSocket): 40766 (WebCore::WebSocket::didConnect): 40767 (WebCore::WebSocket::didReceiveMessage): 40768 (WebCore::WebSocket::didClose): 40769 * websockets/WebSocketChannel.cpp: 40770 (WebCore::WebSocketChannel::connect): 40771 (WebCore::WebSocketChannel::disconnect): 40772 (WebCore::WebSocketChannel::didClose): 40773 (WebCore::WebSocketChannel::didReceiveData): 40774 * websockets/WebSocketChannel.h: 40775 40776 2009-10-27 Dan Bernstein <mitz (a] apple.com> 40777 40778 Reviewed by Darin Adler. 40779 40780 Updated Apple license 40781 40782 * LICENSE-APPLE: 40783 40784 2009-10-27 Brady Eidson <beidson (a] apple.com> 40785 40786 Rubberstamped by Sam Weinig. 40787 40788 Re-enable the check that disallows pages with unload handlers in the page cache. 40789 40790 <rdar://problem/7196485> and http://webkit.org/b/29021 40791 40792 * loader/FrameLoader.cpp: 40793 (WebCore::FrameLoader::canCachePageContainingThisFrame): 40794 (WebCore::FrameLoader::logCanCacheFrameDecision): 40795 40796 2009-10-27 Timothy Hatcher <timothy (a] apple.com> 40797 40798 Remove more empty files that didn't get removed earlier. 40799 40800 * inspector/DOMDispatchTimelineItem.cpp: Removed. 40801 * inspector/DOMDispatchTimelineItem.h: Removed. 40802 40803 2009-10-27 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 40804 40805 Reviewed by Tor Arne Vestb. 40806 40807 [Qt] Fix assertion crashes introduced by changes made in r50110. 40808 40809 * dom/XMLTokenizerQt.cpp: 40810 (WebCore::XMLTokenizer::parseEndElement): only call popCurrentNode() if there are nodes left in the stack. 40811 40812 2009-10-27 Timothy Hatcher <timothy (a] apple.com> 40813 40814 Remove empty files that didn't get removed earlier. 40815 40816 * inspector/TimelineItem.cpp: Removed. 40817 * inspector/TimelineItem.h: Removed. 40818 40819 2009-10-27 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 40820 40821 Reviewed by Xan Lopez. 40822 40823 https://bugs.webkit.org/show_bug.cgi?id=25534 40824 [GTK] Objects of ROLE_TABLE should implement the accessible table interface 40825 40826 First part of the implementation of AtkTable. 40827 40828 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 40829 (getCell): 40830 (getCellIndex): 40831 (webkit_accessible_table_ref_at): 40832 (webkit_accessible_table_get_index_at): 40833 (webkit_accessible_table_get_n_columns): 40834 (webkit_accessible_table_get_n_rows): 40835 (webkit_accessible_table_get_column_extent_at): 40836 (webkit_accessible_table_get_row_extent_at): 40837 (webkit_accessible_table_get_row_header): 40838 (atk_table_interface_init): 40839 (AtkInterfacesInitFunctions): 40840 (GetAtkInterfaceTypeFromWAIType): 40841 40842 2009-10-27 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 40843 40844 Reviewed by Lars Knoll. 40845 40846 [Qt] Don't lose remainder when computing wheel event deltas 40847 40848 * platform/qt/WheelEventQt.cpp: 40849 40850 2009-10-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 40851 40852 Reviewed by Antti Koivisto. 40853 40854 Fix QtWebKit build for WIN_OS if Netscape plug-in support 40855 is turned off and refactor some related code 40856 https://bugs.webkit.org/show_bug.cgi?id=30786 40857 40858 No new tests as there is no new functionality introduced. 40859 40860 * platform/FileSystem.h: Refactor to make sure that each different 40861 type definition is only repeated once. 40862 40863 * plugins/PluginPackage.cpp: 40864 (WebCore::PluginPackage::compareFileVersion): Move it out from the 40865 ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH guard and combine it with the 40866 function body from PluginPackageWin. 40867 40868 * plugins/win/PluginPackageWin.cpp: Remove compareFileVersion as 40869 it is now in PluginPackage.cpp. 40870 40871 2009-10-26 Xan Lopez <xlopez (a] igalia.com> 40872 40873 Reviewed by Gustavo Noronha. 40874 40875 https://bugs.webkit.org/show_bug.cgi?id=27011 40876 [Gtk] Implement support for get_index_in_parent 40877 40878 Implement atk_object_get_index_in_parent. 40879 40880 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 40881 (webkit_accessible_get_index_in_parent): 40882 40883 2009-10-27 Eric Seidel <eric (a] webkit.org> 40884 40885 No review, rolling out r50131. 40886 http://trac.webkit.org/changeset/50131 40887 40888 * bridge/objc/objc_instance.h: 40889 * bridge/objc/objc_instance.mm: 40890 (ObjcInstance::ObjcInstance): 40891 (ObjcInstance::virtualEnd): 40892 40893 2009-10-26 Daniel Bates <dbates (a] webkit.org> 40894 40895 Reviewed by Darin Adler. 40896 40897 https://bugs.webkit.org/show_bug.cgi?id=30491 40898 40899 Fixes an issue where pressing return/enter on the keyboard 40900 in <isindex> does not submit it if is not within a <form>. 40901 40902 According to the HTML 2.0 thru HTML 4.01 spec 40903 (http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5), the 40904 <isindex> element does not need to be within a <form> element in 40905 order to submit it. It can submitted on its own. Also, if present, 40906 the href property of the <base> element will dictate where to submit 40907 the value of the <isindex> element (this is analogous to the action 40908 property of the <form> element). 40909 40910 Tests: http/tests/misc/isindex-with-no-form-base-href.html 40911 http/tests/misc/isindex-with-no-form.html 40912 40913 * html/HTMLInputElement.cpp: 40914 (WebCore::HTMLInputElement::defaultEventHandler): Calls createTemporaryFormForIsIndex() 40915 to create a <form> if none is present and we are an <isindex> element. 40916 (WebCore::HTMLInputElement::createTemporaryFormForIsIndex): Added. 40917 * html/HTMLInputElement.h: 40918 40919 2009-10-26 Oliver Hunt <oliver (a] apple.com> 40920 40921 Reviewed by Maciej Stachowiak. 40922 40923 Crash occurs after launching Newsfire 1.6 for the first time 40924 https://bugs.webkit.org/show_bug.cgi?id=30807 40925 40926 Use a RetainPtr in ObjcBinding to ensure that we adequately 40927 protect the autorelease pool from GC in GC'd applications. 40928 40929 * bridge/objc/objc_instance.h: 40930 * bridge/objc/objc_instance.mm: 40931 (ObjcInstance::ObjcInstance): 40932 (ObjcInstance::virtualEnd): 40933 40934 2009-10-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 40935 40936 Unreviewed. 40937 40938 [Qt] Build fix for QtWebKit after r50125. 40939 40940 * WebCore.pro: Rename TimelineItem to TimelineRecord. 40941 40942 2009-10-26 Matt Mueller <mattm (a] chromium.org> 40943 40944 Reviewed by Darin Adler. 40945 40946 Refactor synchronizable property handling to store one shouldSynchronize flag per set of properties rather than one per property. 40947 40948 Fixes reading uninitialized memory in SynchronizableProperty hash function as well as simplifying the code. 40949 40950 https://bugs.webkit.org/show_bug.cgi?id=30658 40951 40952 Covered by running various svg tests under valgrind, ex: 40953 LayoutTests/svg/custom/js-late-mask-and-object-creation.svg 40954 40955 * svg/SynchronizablePropertyController.cpp: 40956 (WebCore::SynchronizableProperties::addProperty): 40957 (WebCore::SynchronizableProperties::synchronize): 40958 (WebCore::SynchronizableProperties::startAnimation): 40959 (WebCore::SynchronizableProperties::stopAnimation): 40960 (WebCore::SynchronizablePropertyController::registerProperty): 40961 (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization): 40962 (WebCore::SynchronizablePropertyController::synchronizeProperty): 40963 (WebCore::SynchronizablePropertyController::synchronizeAllProperties): 40964 (WebCore::SynchronizablePropertyController::startAnimation): 40965 (WebCore::SynchronizablePropertyController::stopAnimation): 40966 * svg/SynchronizablePropertyController.h: 40967 (WebCore::SynchronizableProperties::SynchronizableProperties): 40968 (WebCore::SynchronizableProperties::setNeedsSynchronization): 40969 40970 2009-10-26 Kelly Norton <knorton (a] google.com> 40971 40972 Reviewed by Timothy Hatcher. 40973 40974 Renames TimelineItem to TimelineRecord and updates all call sites. 40975 https://bugs.webkit.org/show_bug.cgi?id=30785 40976 40977 * GNUmakefile.am: 40978 * WebCore.gypi: 40979 * WebCore.vcproj/WebCore.vcproj: 40980 * WebCore.xcodeproj/project.pbxproj: 40981 * inspector/InspectorFrontend.cpp: 40982 (WebCore::InspectorFrontend::addRecordToTimeline): 40983 * inspector/InspectorFrontend.h: 40984 * inspector/InspectorTimelineAgent.cpp: 40985 (WebCore::InspectorTimelineAgent::willDispatchDOMEvent): 40986 (WebCore::InspectorTimelineAgent::didDispatchDOMEvent): 40987 (WebCore::InspectorTimelineAgent::willLayout): 40988 (WebCore::InspectorTimelineAgent::didLayout): 40989 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 40990 (WebCore::InspectorTimelineAgent::didRecalculateStyle): 40991 (WebCore::InspectorTimelineAgent::willPaint): 40992 (WebCore::InspectorTimelineAgent::didPaint): 40993 (WebCore::InspectorTimelineAgent::willWriteHTML): 40994 (WebCore::InspectorTimelineAgent::didWriteHTML): 40995 (WebCore::InspectorTimelineAgent::didInstallTimer): 40996 (WebCore::InspectorTimelineAgent::didRemoveTimer): 40997 (WebCore::InspectorTimelineAgent::willFireTimer): 40998 (WebCore::InspectorTimelineAgent::didFireTimer): 40999 (WebCore::InspectorTimelineAgent::reset): 41000 (WebCore::InspectorTimelineAgent::addRecordToTimeline): 41001 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 41002 (WebCore::InspectorTimelineAgent::pushCurrentRecord): 41003 * inspector/InspectorTimelineAgent.h: 41004 (WebCore::): 41005 (WebCore::InspectorTimelineAgent::RecordEntry::RecordEntry): 41006 * inspector/TimelineItemFactory.cpp: Removed. 41007 * inspector/TimelineItemFactory.h: Removed. 41008 * inspector/TimelineRecordFactory.cpp: Added. 41009 (WebCore::TimelineRecordFactory::createGenericRecord): 41010 (WebCore::TimelineRecordFactory::createDOMDispatchRecord): 41011 (WebCore::TimelineRecordFactory::createGenericTimerRecord): 41012 (WebCore::TimelineRecordFactory::createTimerInstallRecord): 41013 * inspector/TimelineRecordFactory.h: Added. 41014 (WebCore::TimelineRecordFactory::TimelineRecordFactory): 41015 * inspector/front-end/TimelineAgent.js: 41016 (WebInspector.addRecordToTimeline): 41017 * inspector/front-end/TimelinePanel.js: 41018 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 41019 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 41020 (WebInspector.TimelinePanel.prototype.getRecordTypeName): 41021 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 41022 41023 2009-10-26 Girish Ramakrishnan <girish (a] forwardbias.in> 41024 41025 Reviewed by Antti Koivisto. 41026 41027 [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled 41028 41029 When printing, QPrinter's preview mode uses a QPicture to capture the output. The 41030 QPicture holds a reference to the X Pixmap. As a result, the print preview would 41031 update itself when the X Pixmap changes. To prevent the print preview from updating 41032 whenever m_drawable is updated (i.e when the view updates), we create a copy. 41033 41034 We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap 41035 regardless of the graphicssystem. This is taken care of by 41036 commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6) 41037 41038 The beauty of this patch is that the newly created X Pixmap is managed by Qt and 41039 it will free the Pixmap whenever the user closes the print preview dialog and 41040 handles the case of displaying multiple preview dialogs nicely. 41041 41042 All credit to Samuel Rdal for suggesting usage of QPixmap::copy(). 41043 41044 https://bugs.webkit.org/show_bug.cgi?id=30714 41045 41046 * plugins/qt/PluginViewQt.cpp: 41047 (WebCore::PluginView::paint): 41048 41049 2009-10-26 Benjamin Otte <otte (a] gnome.org> 41050 41051 Reviewed by Gustavo Noronha. 41052 41053 Don't store properties in the MediaPlayerPrivate class 41054 41055 Access them via the MediaPlayer class instead. 41056 https://bugs.webkit.org/show_bug.cgi?id=30462 41057 41058 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 41059 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 41060 (WebCore::MediaPlayerPrivate::seek): 41061 (WebCore::MediaPlayerPrivate::setVolume): 41062 (WebCore::MediaPlayerPrivate::setRate): 41063 (WebCore::MediaPlayerPrivate::setVisible): 41064 (WebCore::MediaPlayerPrivate::paint): 41065 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 41066 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 41067 41068 2009-10-26 Brian Weinstein <bweinstein (a] apple.com> 41069 41070 Reviewed by Timothy Hatcher. 41071 41072 Fixes <http://webkit.org/b/30801>. 41073 Web Inspector: Control + ]/[ on Windows doesn't change Panels. 41074 41075 In my testing, Windows uses "U+00DB" and "U+00DD" to represent 41076 [ and ], so we should honor those as well. 41077 41078 * inspector/front-end/inspector.js: 41079 (WebInspector.documentKeyDown): 41080 41081 2009-10-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 41082 41083 Reviewed by Darin Adler. 41084 41085 Make .rc files compile on Windows without depending on MFC headers 41086 https://bugs.webkit.org/show_bug.cgi?id=30750 41087 41088 * WebCore.vcproj/QTMovieWin.rc: Use winresrc.h because it exists 41089 even when MFC is not installed, and is all that's needed here. 41090 41091 2009-10-26 Brent Fulgham <bfulgham (a] webkit.org> 41092 41093 Reviewed by Darin Adler. 41094 41095 Build corrections for ENABLE_FILTERS in Windows. 41096 https://bugs.webkit.org/show_bug.cgi?id=30797 41097 41098 Build correction for ENABLE_FILTERS feature. No new tests needed. 41099 41100 * platform/graphics/filters/FEColorMatrix.cpp: Use MathExtras.h and 41101 its piDouble constant. 41102 * platform/graphics/filters/FEGaussianBlur.cpp: Use MathExtras.h and 41103 its piDouble constant. Remove unnecessary call to floor used in 41104 the division of an unsigned, converting to int. 41105 * platform/graphics/win/SimpleFontDataCairoWin.cpp: Correct include 41106 style for MathExtras.h. 41107 41108 2009-10-26 Brady Eidson <beidson (a] apple.com> 41109 41110 Reviewed by Darin Adler. 41111 41112 <rdar://problem/7289467> and http://webkit.org/b/30798 - REGRESSION (r48687): www.myuhc.com doesn't load. 41113 41114 Test: fast/loader/grandparent-completion-starts-redirect.html 41115 41116 * loader/FrameLoader.cpp: 41117 (WebCore::FrameLoader::completed): Notify all descendants that the load completed, not just direct children. 41118 41119 2009-10-26 Dan Bernstein <mitz (a] apple.com> 41120 41121 Reviewed by Beth Dakin. 41122 41123 Re-add CSSPropertyWebkitBackgroundSize in one more place 41124 41125 Fixes transitions/multiple-background-size-transitions.html, transitions/background-transitions.html 41126 41127 * page/animation/AnimationBase.cpp: 41128 (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): 41129 41130 2009-10-26 Jeremy Orlow <jorlow (a] chromium.org> 41131 41132 Reviewed by Dimitri Glazkov. 41133 41134 [V8] Tidy up the DOM Storage runtime flag stuff 41135 https://bugs.webkit.org/show_bug.cgi?id=30794 41136 41137 Clean up the DOM Storage runtime flag stuff to match the new way of doing 41138 things. No behavioral changes. 41139 41140 * bindings/v8/RuntimeEnabledFeatures.cpp: 41141 * bindings/v8/RuntimeEnabledFeatures.h: 41142 (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled): 41143 (WebCore::RuntimeEnabledFeatures::databaseEnabled): 41144 (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled): 41145 (WebCore::RuntimeEnabledFeatures::localStorageEnabled): 41146 (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled): 41147 (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled): 41148 * bindings/v8/custom/V8DOMWindowCustom.cpp: 41149 (WebCore::ACCESSOR_RUNTIME_ENABLER): 41150 * storage/Storage.cpp: 41151 * storage/Storage.h: 41152 41153 2009-10-26 Brady Eidson <beidson (a] apple.com> 41154 41155 Reviewed by Darin Adler. 41156 41157 <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank. 41158 41159 Test: fast/loader/history-forward-in-head.html 41160 41161 * loader/RedirectScheduler.cpp: 41162 (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check. 41163 This restores the side effect of an invalid history navigation canceling previous scheduled redirects 41164 and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document. 41165 (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before 41166 the redirect is scheduled. 41167 41168 2009-10-26 Alexey Proskuryakov <ap (a] apple.com> 41169 41170 Reviewed by Darin Adler. 41171 41172 https://bugs.webkit.org/show_bug.cgi?id=30049 41173 <rdar://problem/7286002> Manipulating DOM from a script while parsing XHTML can cause a crash 41174 41175 Tests: fast/parser/remove-current-node-parent-x-2.xhtml 41176 fast/parser/remove-current-node-parent-x.xhtml 41177 41178 * dom/XMLTokenizer.h: Store the whole stack of parent nodes - element.parentNode() is 41179 unreliable after DOM manipulation. 41180 41181 * dom/XMLTokenizer.cpp: 41182 (WebCore::XMLTokenizer::pushCurrentNode): Push the new node onto stack. 41183 (WebCore::XMLTokenizer::popCurrentNode): This is now called instead of setCurrentNode when 41184 exiting a node. 41185 (WebCore::XMLTokenizer::clearCurrentNodeStack): We're aborting; or just done parsing. This 41186 replaces setCurrentNode(0). 41187 (WebCore::XMLTokenizer::enterText): Call pushCurrentNode(). 41188 (WebCore::XMLTokenizer::exitText): Call popCurrentNode(), removing a long-standing FIXME 41189 (not sure if it was ever practical though - how can a parent become null while adding text?) 41190 41191 * dom/XMLTokenizerLibxml2.cpp: 41192 (WebCore::XMLTokenizer::~XMLTokenizer): Call clearCurrentNodeStack(). 41193 (WebCore::XMLTokenizer::startElementNs): Call pushCurrentNode(). 41194 (WebCore::XMLTokenizer::endElementNs): Call popCurrentNode() to safely get to a parent. Also 41195 added a check fo script element still being in document - Firefox parses those that aren't, 41196 but doesn't execute them. 41197 41198 * dom/XMLTokenizerQt.cpp: 41199 (WebCore::XMLTokenizer::~XMLTokenizer): 41200 (WebCore::XMLTokenizer::parseStartElement): 41201 (WebCore::XMLTokenizer::parseEndElement): 41202 Match libxml2 version changes. 41203 41204 2009-10-26 Dan Bernstein <mitz (a] apple.com> 41205 41206 Reviewed by Beth Dakin. 41207 41208 background-size: X treated as background-size: X X, not background-size: X auto 41209 https://bugs.webkit.org/show_bug.cgi?id=28440 41210 41211 Updated fast/backgrounds/size/resources/parsing-background-size-values.js 41212 and fast/backgrounds/size/resources/parsing-inherit.js 41213 41214 Reinstated -webkit-background-size and kept its behavior of filling in 41215 the second value with the first one; and changed background-size to have 41216 the behavior of filling in the second value with 'auto'. 41217 41218 * css/CSSComputedStyleDeclaration.cpp: 41219 (computedProperties): Re-added CSSPropertyWebkitBackgroundSize. 41220 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto. 41221 * css/CSSParser.cpp: 41222 (WebCore::CSSParser::parseValue): Ditto. 41223 (WebCore::CSSParser::parseFillSize): Adapted for the new parsing rule. 41224 (WebCore::CSSParser::parseFillProperty): Re-added 41225 CSSPropertyWebkitBackgroundSize. 41226 (WebCore::cssPropertyID): Removed mapping of -webkit-background-size to 41227 background-size. 41228 * css/CSSParser.h: 41229 * css/CSSPropertyNames.in: Re-added -webkit-background-size. 41230 * css/CSSStyleSelector.cpp: 41231 (WebCore::CSSStyleSelector::applyProperty): Re-added 41232 CSSPropertyWebkitBackgroundSize. 41233 41234 2009-10-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 41235 41236 Reviewed by Eric Seidel. 41237 41238 [Qt] Use "%lli" to format "long long" on WIN_OS to fix HTML5 WebDB crash 41239 https://bugs.webkit.org/show_bug.cgi?id=30777 41240 41241 No new tests as the crash can be reproduced by existing storage 41242 LayoutTests (by hitting an assert in debug mode Webkit on WIN_OS). 41243 41244 * platform/text/String.cpp: 41245 (WebCore::String::number): Qt's QString::vsprintf does not 41246 understand the "%I64u" format string. Always use the "%lli" 41247 format string for Qt port. 41248 41249 2009-10-26 Tony Chang <tony (a] chromium.org> 41250 41251 Reviewed by Eric Seidel. 41252 41253 Roll back r50073 because r50041-50043 were reverted. r50073 was 41254 a chromium side fix for r50041. 41255 https://bugs.webkit.org/show_bug.cgi?id=30789 41256 41257 * bindings/v8/V8Collection.h: 41258 * bindings/v8/custom/V8CustomBinding.h: 41259 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 41260 (WebCore::getNamedItems): 41261 (WebCore::getItem): 41262 (WebCore::NAMED_PROPERTY_GETTER): 41263 (WebCore::CALLBACK_FUNC_DECL): 41264 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 41265 (WebCore::getNamedItems): 41266 (WebCore::getItem): 41267 (WebCore::NAMED_PROPERTY_GETTER): 41268 (WebCore::CALLBACK_FUNC_DECL): 41269 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 41270 41271 2009-10-26 Geoffrey Garen <ggaren (a] apple.com> 41272 41273 Reviewed by Dimitri Glazkov. 41274 41275 Fixed https://bugs.webkit.org/show_bug.cgi?id=30765 41276 REGRESSION (r48701): Removing an event listener causes the one added just after it not to fire 41277 41278 and related bugs. 41279 41280 If the event listener being removed is prior to the current firing event 41281 iterator, we need to decrement the current firing event iterator in 41282 addition to the endpoint. (Otherwise, shrinking the event listener vector 41283 by one implicity moves the current firing event iterator forward by one. 41284 It's like relativity, only without the planets.) 41285 41286 Also took the opportunity to change some pointers to references, since 41287 they can't be null. 41288 41289 * dom/EventTarget.cpp: 41290 (WebCore::EventTarget::removeEventListener): 41291 (WebCore::EventTarget::removeAllEventListeners): Update iterator in addition 41292 to end, if need be. 41293 (WebCore::EventTarget::fireEventListeners): Updated for interface changes. 41294 Added a comment to explain a behavior that was implicit enough to be 41295 confusing. 41296 41297 * dom/EventTarget.h: 41298 (WebCore::FiringEventIterator::FiringEventIterator): 41299 (WebCore::EventTarget::isFiringEventListeners): Updated for interface changes. 41300 41301 2009-10-26 Brian Weinstein <bweinstein (a] apple.com> 41302 41303 Reviewed by Timothy Hatcher. 41304 41305 Fixes <http://webkit.org/b/30792>. 41306 Web Inspector: When changing resource scope, resource graph can get in weird state. 41307 41308 If the user was scrolled down while looking at All resources, and then just 41309 selects Fonts, or something that doesn't have many resources, then the graph 41310 will stay scrolled down, even when there is no content there. 41311 41312 When the filter is updated, scroll to the top of the graph view, so this won't 41313 happen. 41314 41315 * inspector/front-end/AbstractTimelinePanel.js: 41316 (WebInspector.AbstractTimelinePanel.prototype._updateFilter): 41317 41318 2009-10-26 Sam Weinig <sam (a] webkit.org> 41319 41320 Fix mac clean build. 41321 41322 * html/HTMLOptionsCollection.idl: 41323 41324 2009-10-26 Pavel Feldman <pfeldman (a] chromium.org> 41325 41326 Reviewed by Timothy Hatcher. 41327 41328 Web Inspector: Extract AbstractTimelinePanel that will be a base 41329 class for ResourcesPanel and TimelinePanel. 41330 41331 https://bugs.webkit.org/show_bug.cgi?id=30776 41332 41333 * WebCore.gypi: 41334 * WebCore.vcproj/WebCore.vcproj: 41335 * inspector/front-end/AbstractTimelinePanel.js: Added. 41336 (WebInspector.AbstractTimelinePanel): 41337 (WebInspector.AbstractTimelinePanel.prototype.get categories): 41338 (WebInspector.AbstractTimelinePanel.prototype.showCategory): 41339 (WebInspector.AbstractTimelinePanel.prototype.hideCategory): 41340 (WebInspector.AbstractTimelinePanel.prototype.createTimelinePanels): 41341 (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel.createFilterElement): 41342 (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel): 41343 (WebInspector.AbstractTimelinePanel.prototype.filter): 41344 (WebInspector.AbstractTimelinePanel.prototype._updateFilter): 41345 (WebInspector.AbstractTimelinePanel.prototype._createGraph): 41346 (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): 41347 (WebInspector.AbstractTimelinePanel.prototype._updateSummaryGraph): 41348 (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition): 41349 (WebInspector.AbstractTimelinePanel.prototype.get needsRefresh): 41350 (WebInspector.AbstractTimelinePanel.prototype.set needsRefresh): 41351 (WebInspector.AbstractTimelinePanel.prototype.refreshIfNeeded): 41352 (WebInspector.AbstractTimelinePanel.prototype.show): 41353 (WebInspector.AbstractTimelinePanel.prototype.resize): 41354 (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth): 41355 (WebInspector.TimelineCalculator): 41356 (WebInspector.TimelineCalculator.prototype.computeSummaryValues): 41357 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): 41358 (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels): 41359 (WebInspector.TimelineCalculator.prototype.get boundarySpan): 41360 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 41361 (WebInspector.TimelineCalculator.prototype.reset): 41362 (WebInspector.TimelineCalculator.prototype._value): 41363 (WebInspector.TimelineCalculator.prototype.formatValue): 41364 * inspector/front-end/ResourceCategory.js: 41365 (WebInspector.ResourceCategory): 41366 * inspector/front-end/ResourcesPanel.js: 41367 (WebInspector.ResourcesPanel): 41368 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get toolbarItemLabel): 41369 (WebInspector.ResourcesPanel.prototype.get statusBarItems): 41370 (WebInspector.ResourcesPanel.prototype.get categories): 41371 (WebInspector.ResourcesPanel.prototype.showCategory): 41372 (WebInspector.ResourcesPanel.prototype.hideCategory): 41373 (WebInspector.ResourcesPanel.prototype.isCategoryVisible): 41374 (WebInspector.ResourcesPanel.prototype.populateSidebar): 41375 (WebInspector.ResourcesPanel.prototype.createPanelEnabler): 41376 (WebInspector.ResourcesPanel.prototype.createStatusbarButtons): 41377 (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime): 41378 (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime): 41379 (WebInspector.ResourcesPanel.prototype.show): 41380 (WebInspector.ResourcesPanel.prototype.resize): 41381 (WebInspector.ResourcesPanel.prototype.reset): 41382 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded): 41383 (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): 41384 (WebInspector.ResourceTimeCalculator): 41385 (WebInspector.ResourceTransferSizeCalculator): 41386 (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels): 41387 * inspector/front-end/SummaryBar.js: 41388 (WebInspector.SummaryBar.prototype.update): 41389 * inspector/front-end/WebKit.qrc: 41390 * inspector/front-end/inspector.html: 41391 * inspector/front-end/inspector.js: 41392 (WebInspector.loaded): 41393 41394 2009-10-26 Avi Drissman <avi (a] google.com> 41395 41396 Reviewed by Darin Adler. 41397 41398 Use Helvetica in the Inspector as intended. 41399 https://bugs.webkit.org/show_bug.cgi?id=30787 41400 41401 * inspector/front-end/inspector.css: 41402 41403 2009-10-26 Nate Chapin <japhet (a] chromium.org> 41404 41405 Reviewed by Alexey Proskuryakov. 41406 41407 Don't set window.opener to 0 for the current FrameLoader if a noreferrer link was clicked, only suppress opener in a new frame. 41408 https://bugs.webkit.org/show_bug.cgi?id=30781 41409 41410 * loader/FrameLoader.cpp: 41411 (WebCore::FrameLoader::urlSelected): Don't suppress opener in the current frame for noreferrer navigations. 41412 41413 2009-10-26 Ryosuke Niwa <rniwa (a] webkit.org> 41414 41415 Reviewed by Eric Seidel. 41416 41417 Data loss occurs when unbolding nested bold tags. 41418 https://bugs.webkit.org/show_bug.cgi?id=30083 41419 41420 Fixes the loop in swapInNodePreservingAttributesAndChildren by saving nextSibling() of child 41421 to a temporary valuable. It was originally calling nextSibling() after appending the child 41422 to new parent, in which case, nextSibling is always 0. 41423 41424 Test: editing/style/unbolding-nested-b.html 41425 41426 * editing/ReplaceNodeWithSpanCommand.cpp: 41427 (WebCore::swapInNodePreservingAttributesAndChildren): 41428 41429 2009-10-21 Jeremy Orlow <jorlow (a] chromium.org> 41430 41431 Reviewed by Darin Adler. 41432 41433 Storage events should use Document::url() rather than documentURI() 41434 https://bugs.webkit.org/show_bug.cgi?id=30535 41435 41436 Storage events should use Document::url() rather than Document::documentURI() 41437 per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html 41438 41439 Test: storage/domstorage/documentURI.html 41440 41441 * storage/StorageEventDispatcher.cpp: 41442 (WebCore::StorageEventDispatcher::dispatch): 41443 41444 2009-10-26 Sam Weinig <sam (a] webkit.org> 41445 41446 Rubber-stamped by Darin Adler. 41447 41448 Rollout r50041-50043. The HTML5 spec changed to make HTMLOptionsCollection 41449 inherit from HTMLCollection. 41450 41451 * GNUmakefile.am: 41452 * WebCore.gypi: 41453 * WebCore.pro: 41454 * WebCore.vcproj/WebCore.vcproj: 41455 * WebCore.xcodeproj/project.pbxproj: 41456 * bindings/js/JSHTMLAllCollectionCustom.cpp: 41457 (WebCore::getNamedItems): 41458 (WebCore::callHTMLAllCollection): 41459 (WebCore::JSHTMLAllCollection::nameGetter): 41460 (WebCore::JSHTMLAllCollection::item): 41461 (WebCore::JSHTMLAllCollection::namedItem): 41462 * bindings/js/JSHTMLCollectionCustom.cpp: 41463 (WebCore::getNamedItems): 41464 (WebCore::callHTMLCollection): 41465 (WebCore::JSHTMLCollection::nameGetter): 41466 (WebCore::JSHTMLCollection::item): 41467 (WebCore::JSHTMLCollection::namedItem): 41468 (WebCore::toJS): 41469 * bindings/js/JSHTMLCollectionFunctions.h: Removed. 41470 * bindings/js/JSHTMLDocumentCustom.cpp: 41471 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 41472 (WebCore::JSHTMLOptionsCollection::length): 41473 (WebCore::JSHTMLOptionsCollection::indexSetter): 41474 * bindings/objc/DOMHTML.mm: 41475 (kitClass): 41476 * bindings/objc/DOMUtility.mm: 41477 (JSC::createDOMWrapper): 41478 * bindings/scripts/CodeGeneratorJS.pm: 41479 * html/HTMLCollection.idl: 41480 * html/HTMLOptionsCollection.idl: 41481 41482 2009-10-26 Brent Fulgham <bfulgham (a] webkit.org> 41483 41484 Reviewed by Adam Roben. 41485 41486 Build fix for ENABLE_FILTERS under Windows. 41487 https://bugs.webkit.org/show_bug.cgi?id=30762 41488 41489 Build correction for ENABLE_FILTERS feature. No new tests needed. 41490 41491 * WebCore.vcproj/WebCore.vcproj: Make the following changes: 41492 (1) Create a new 'filters' sub-folder of the platform/graphics 41493 folder to properly show the sources held in this directory. 41494 (2) Move the files that are currently shown in svn/graphics/filters 41495 to platform/graphics/filters (where they actually live on disk). 41496 (3) Add the missing SVGFilter, SVGFilterBuilder, and SVGFETile to 41497 the project so they are built. 41498 (4) Remove SVGFEFloodElement.cpp from the build, since it is already 41499 being compiled by SVGAllInOne.cpp. Its presence as a separate 41500 entity is causing a linker warning for duplicate symbols. 41501 (5) Add ImageBuffer.cpp to the build to support color space 41502 calculations for non-CG builds. 41503 * WebCore.vcproj/WebCoreCommon.vsprops: Add the platform/graphics/filters 41504 path to the search paths in the project. 41505 41506 2009-10-26 Keishi Hattori <casey.hattori (a] gmail.com> 41507 41508 Reviewed by Timothy Hatcher. 41509 41510 console.assert should prefix messages with "Assertion failed: " 41511 https://bugs.webkit.org/show_bug.cgi?id=19135 41512 41513 * English.lproj/localizedStrings.js: 41514 * inspector/front-end/ConsoleView.js: 41515 (WebInspector.ConsoleMessage.prototype.toMessageElement): Append "Assertion failed: " for AssertMessageType. 41516 (WebInspector.ConsoleMessage.prototype.toString): 41517 * page/Console.cpp: 41518 (WebCore::Console::assertCondition): Use AssertMessageType. 41519 * page/Console.h: 41520 (WebCore::MessageType): Added AssertMessageType. 41521 41522 2009-10-26 Rahul Kuchhal <kuchhal (a] chromium.org> 41523 41524 Reviewed by Eric Seidel. 41525 41526 Prevent crash when optgroup element is empty by adding a NULL check. 41527 41528 https://bugs.webkit.org/show_bug.cgi?id=30365 41529 41530 Test: fast/forms/select-empty-optgroup.html 41531 41532 * dom/SelectElement.cpp: 41533 (WebCore::SelectElement::appendFormData): 41534 41535 2009-10-21 Steven Knight <sgk (a] chromium.org> 41536 41537 Reviewed by David Levin. 41538 41539 Refactor gyp for separate webcore_bindings{,_sources} targets. 41540 41541 https://bugs.webkit.org/show_bug.cgi?id=30447 41542 41543 Handle long link lines by building .idl-generated bindings in a 41544 separate webcore_bindings library target. Avoid Visual Studio 41545 dependency issues by building additional generated .cpp and .h files 41546 in a separate webcore_bindings_sources target. 41547 41548 Chrome should still build and test successfully. 41549 41550 * WebCore.gyp/WebCore.gyp: 41551 * WebCore.gypi: 41552 41553 2009-10-26 Mike Belshe <mike (a] belshe.com> 41554 41555 Reviewed by Darin Fisher. 41556 41557 Make the number of connections for chromium controlled by 41558 chromium rather than by ResourceRequestBase. 41559 https://bugs.webkit.org/show_bug.cgi?id=30661 41560 41561 * platform/network/ResourceRequestBase.cpp: 41562 * platform/network/chromium/ResourceRequest.cpp: 41563 41564 2009-10-26 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 41565 41566 Unreviewed. make distcheck build fixes. 41567 41568 * GNUmakefile.am: 41569 41570 2009-10-26 Anton Muhin <antonm (a] chromium.org> 41571 41572 Reviewed by Dimitri Glazkov. 41573 41574 Unbreak Chromium build: that requires adding custom implementations 41575 for HTMLOptionsCollection's item and namedItem. Keep v8 binding 41576 close to JSC bindings as well. 41577 https://bugs.webkit.org/show_bug.cgi?id=30780 41578 41579 * bindings/v8/V8Collection.h: 41580 (WebCore::getNamedItemsFromCollection): 41581 (WebCore::getItemFromCollection): 41582 * bindings/v8/custom/V8CustomBinding.h: 41583 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 41584 (WebCore::NAMED_PROPERTY_GETTER): 41585 (WebCore::CALLBACK_FUNC_DECL): 41586 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 41587 (WebCore::NAMED_PROPERTY_GETTER): 41588 (WebCore::CALLBACK_FUNC_DECL): 41589 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 41590 (WebCore::CALLBACK_FUNC_DECL): 41591 41592 2009-10-23 Alexey Proskuryakov <ap (a] apple.com> 41593 41594 Reviewed by Adam Barth and Darin Adler. 41595 41596 https://bugs.webkit.org/show_bug.cgi?id=30723 41597 <rdar://problem/6189415> Input names added to multipart/form-data headers need to be escaped. 41598 41599 Test: http/tests/security/escape-form-data-field-names.html 41600 41601 * platform/network/FormDataBuilder.cpp: 41602 (WebCore::appendQuotedString): 41603 (WebCore::FormDataBuilder::beginMultiPartHeader): 41604 (WebCore::FormDataBuilder::addFilenameToMultiPartHeader): 41605 Percent-escape line breaks and quotation marks. 41606 41607 2009-10-26 Kelly Norton <knorton (a] google.com> 41608 41609 Reviewed by Pavel Feldman. 41610 41611 Adds DOMTimer support to InspectorTimelineAgent. 41612 https://bugs.webkit.org/show_bug.cgi?id=30467 41613 41614 * inspector/InspectorTimelineAgent.cpp: Added timer support and fixed some method names. 41615 (WebCore::InspectorTimelineAgent::didDispatchDOMEvent): 41616 (WebCore::InspectorTimelineAgent::didLayout): 41617 (WebCore::InspectorTimelineAgent::didRecalculateStyle): 41618 (WebCore::InspectorTimelineAgent::didPaint): 41619 (WebCore::InspectorTimelineAgent::didWriteHTML): 41620 (WebCore::InspectorTimelineAgent::didInstallTimer): Added. 41621 (WebCore::InspectorTimelineAgent::didRemoveTimer): Added. 41622 (WebCore::InspectorTimelineAgent::willFireTimer): Added. 41623 (WebCore::InspectorTimelineAgent::didFireTimer): Added. 41624 (WebCore::InspectorTimelineAgent::addItemToTimeline): Added. 41625 (WebCore::InspectorTimelineAgent::didCompleteCurrentTimelineItem): Renamed. 41626 * inspector/InspectorTimelineAgent.h: 41627 (WebCore::): 41628 * inspector/TimelineItemFactory.cpp: Add methods for timer-related ScriptObjects. 41629 (WebCore::TimelineItemFactory::createGenericTimerTimelineItem): 41630 (WebCore::TimelineItemFactory::createTimerInstallTimelineItem): 41631 * inspector/TimelineItemFactory.h: 41632 * page/DOMTimer.cpp: Added instrumentation points. 41633 (WebCore::DOMTimer::install): 41634 (WebCore::DOMTimer::removeById): 41635 (WebCore::DOMTimer::fired): 41636 41637 2009-10-26 Simon Fraser <simon.fraser (a] apple.com> 41638 41639 Reviewed by Sam Weinig. 41640 41641 <rdar://problem/6988966> Hardware layers do not show up in page snapshots 41642 41643 Add a method that gets called when snapshotting Canvas3DLayers for page snapshots, 41644 that allows the layer to return a CGImageRef of its contents. 41645 41646 * platform/graphics/mac/Canvas3DLayer.h: 41647 * platform/graphics/mac/Canvas3DLayer.mm: 41648 (-[Canvas3DLayer copyImageSnapshotWithColorSpace:]): 41649 41650 2009-10-26 Yury Semikhatsky <yurys (a] chromium.org> 41651 41652 Reviewed by Pavel Feldman. 41653 41654 Pass "console" as object group when evaluating selection. 41655 41656 https://bugs.webkit.org/show_bug.cgi?id=30738 41657 41658 * inspector/front-end/SourceFrame.js: 41659 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 41660 41661 2009-10-26 Keishi Hattori <casey.hattori (a] gmail.com> 41662 41663 Reviewed by Pavel Feldman. 41664 41665 Fix for Console not showing repeat count when repeatedly logging an Event 41666 https://bugs.webkit.org/show_bug.cgi?id=30324 41667 41668 * inspector/ConsoleMessage.cpp: 41669 (WebCore::ConsoleMessage::addToConsole): 41670 (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added. 41671 * inspector/ConsoleMessage.h: 41672 * inspector/InspectorController.cpp: 41673 (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message. 41674 * inspector/InspectorFrontend.cpp: 41675 (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole 41676 (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented. 41677 * inspector/InspectorFrontend.h: 41678 * inspector/front-end/ConsoleView.js: 41679 (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual. 41680 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added. 41681 (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count. 41682 (WebInspector.ConsoleView.prototype.clearMessages): 41683 (WebInspector.ConsoleMessage): 41684 (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount 41685 (WebInspector.ConsoleMessage.prototype._updateRepeatCount): 41686 * inspector/front-end/inspector.js: 41687 (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole. 41688 (WebInspector.updateConsoleMessageRepeatCount): Added. 41689 41690 2009-10-26 Chris Fleizach <cfleizach (a] apple.com> 41691 41692 Reviewed by Darin Adler. 41693 41694 crash with AX on when an image map contains an anchor tag 41695 https://bugs.webkit.org/show_bug.cgi?id=30739 41696 41697 Tests: accessibility/crashing-a-tag-in-map.html 41698 41699 * accessibility/AccessibilityRenderObject.cpp: 41700 (WebCore::AccessibilityRenderObject::addChildren): 41701 41702 2009-10-26 Steve Block <steveblock (a] google.com> 41703 41704 Reviewed by Eric Seidel. 41705 41706 Adds feature ENABLE guards to V8 bindings. 41707 https://bugs.webkit.org/show_bug.cgi?id=30697 41708 41709 This adds guards for the following features to the V8 bindings, 41710 to allow builds with V8 to succeed when these features are not enabled. 41711 - DATABASE 41712 - WORKERS 41713 - SHARED_WORKERS 41714 - SVG 41715 - XPATH 41716 - XSLT 41717 - INSPECTOR 41718 41719 This is a build fix only, no new tests required. 41720 41721 * bindings/v8/DOMObjectsInclude.h: Modified. 41722 * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. 41723 * bindings/v8/V8Index.cpp: Modified. 41724 * bindings/v8/V8Index.h: Modified. 41725 41726 2009-10-26 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 41727 41728 Reviewed by Xan Lopez. 41729 41730 https://bugs.webkit.org/show_bug.cgi?id=25679 41731 [Gtk] Improve accessibility of focusable lists 41732 41733 Fixes the issues with the Atk states exposed for ListBoxOption 41734 41735 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 41736 (setAtkStateSetFromCoreObject): 41737 41738 2009-10-26 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 41739 41740 Reviewed by Xan Lopez. 41741 41742 https://bugs.webkit.org/show_bug.cgi?id=27085 41743 [Gtk] Incorrect rendering of list 41744 41745 Adds a way for platforms to indicate that a particular object 41746 should not be ignored. 41747 41748 * accessibility/AccessibilityObject.h: 41749 * accessibility/chromium/AccessibilityObjectChromium.cpp: 41750 * accessibility/gtk/AccessibilityObjectAtk.cpp: 41751 * accessibility/mac/AccessibilityObjectMac.mm: 41752 * accessibility/qt/AccessibilityObjectQt.cpp: 41753 * accessibility/win/AccessibilityObjectWin.cpp: 41754 * accessibility/wx/AccessibilityObjectWx.cpp: 41755 (AccessibilityObject::accessibilityPlatformIncludesObject): 41756 * accessibility/AccessibilityRenderObject.cpp: 41757 (AccessibilityRenderObject::accessibilityIsIgnored): 41758 41759 2009-10-26 Kinuko Yasuda <kinuko (a] google.com> 41760 41761 Reviewed by Jan Alonzo. 41762 41763 Bug 30619: [Linux] Menu key doesn't work 41764 https://bugs.webkit.org/show_bug.cgi?id=30619 41765 41766 Test: manual-tests/keyboard-menukey-event.html 41767 No new layout tests: testing this will require changes in the test 41768 controller in a platform-specific way. 41769 41770 * platform/chromium/KeyCodeConversionGtk.cpp: 41771 (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for 41772 GDK_Menu to return VKEY_APPS instead of VKEY_MENU. 41773 * platform/gtk/KeyEventGtk.cpp: 41774 (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for 41775 GDK_Menu to return V_APPS instead of VK_MENU. 41776 41777 2009-10-25 Anton Muhin <antonm (a] chromium.org> 41778 41779 Reviewed by Adam Barth. 41780 41781 Reuse already fetched proxy. 41782 https://bugs.webkit.org/show_bug.cgi?id=30747 41783 41784 * bindings/v8/V8DOMWrapper.cpp: 41785 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 41786 41787 2009-10-25 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 41788 41789 Unreviewed build fix. 41790 41791 Build fix for WIN_OS if Netscape plugin support is turned off 41792 https://bugs.webkit.org/show_bug.cgi?id=30753 41793 41794 * plugins/PluginDatabase.cpp: 41795 41796 2009-10-25 Hironori Bono <hbono (a] chromium.org> 41797 41798 Reviewed by Darin Adler. 41799 41800 A quick fix for Bug 29103. 41801 Since String::startsWith() cannot fold non-ASCII characters, this change folds the prefix string 41802 and the option string before calling String::startsWith(). 41803 https://bugs.webkit.org/show_bug.cgi?id=29103 41804 41805 Tests: fast/forms/listbox-typeahead-cyrillic.html 41806 fast/forms/listbox-typeahead-greek.html 41807 41808 * dom/SelectElement.cpp: 41809 (WebCore::SelectElement::typeAheadFind): 41810 41811 2009-10-25 Keishi Hattori <casey.hattori (a] gmail.com> 41812 41813 Reviewed by Timothy Hatcher. 41814 41815 Web Inspector: Expanding a node in the Console should not show the element in Elements panel 41816 https://bugs.webkit.org/show_bug.cgi?id=30749 41817 41818 * inspector/front-end/ElementsTreeOutline.js: 41819 (WebInspector.ElementsTreeElement.prototype.onmousedown): Check if inside disclosure triangle. 41820 41821 2009-10-25 Sam Weinig <sam (a] webkit.org> 41822 41823 Reviewed by Dan Bernstein. 41824 41825 Fix for https://bugs.webkit.org/show_bug.cgi?id=30751 41826 HTMLOptionsCollection should not inherit from HTMLCollection 41827 41828 * GNUmakefile.am: 41829 * WebCore.gypi: 41830 * WebCore.pro: 41831 * WebCore.vcproj/WebCore.vcproj: 41832 * WebCore.xcodeproj/project.pbxproj: 41833 Added JSHTMLCollectionFunctions.h 41834 41835 * bindings/js/JSHTMLAllCollectionCustom.cpp: 41836 (WebCore::callHTMLAllCollection): 41837 (WebCore::JSHTMLAllCollection::nameGetter): 41838 (WebCore::JSHTMLAllCollection::item): 41839 (WebCore::JSHTMLAllCollection::namedItem): 41840 * bindings/js/JSHTMLCollectionCustom.cpp: 41841 (WebCore::callHTMLCollection): 41842 (WebCore::JSHTMLCollection::nameGetter): 41843 (WebCore::JSHTMLCollection::item): 41844 (WebCore::JSHTMLCollection::namedItem): 41845 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 41846 (WebCore::callHTMLCollection): 41847 (WebCore::JSHTMLOptionsCollection::getCallData): 41848 (WebCore::JSHTMLOptionsCollection::canGetItemsForName): 41849 (WebCore::JSHTMLOptionsCollection::nameGetter): 41850 (WebCore::JSHTMLOptionsCollection::indexSetter): 41851 (WebCore::JSHTMLOptionsCollection::item): 41852 (WebCore::JSHTMLOptionsCollection::namedItem): 41853 Refactor to use generic implementation of HTMLCollection bindings functions 41854 from JSHTMLCollectionFunctions.h 41855 41856 * bindings/js/JSHTMLCollectionFunctions.h: Added. 41857 (WebCore::getCollectionNamedItems): 41858 (WebCore::getCollectionItems): 41859 (WebCore::callHTMLCollectionGeneric): 41860 Added generic functions that JSHTMLCollection, JSHTMLAllCollection and 41861 JSHTMLOptionsCollection can all use. 41862 41863 * bindings/js/JSHTMLDocumentCustom.cpp: Add include of JSHTMLAllCollection.h 41864 for toJS on document.all. 41865 41866 * bindings/objc/DOMHTML.mm: 41867 * bindings/objc/DOMUtility.mm: 41868 (JSC::createDOMWrapper): 41869 Remove special cases for HTMLOptionsCollection. 41870 41871 * bindings/scripts/CodeGeneratorJS.pm: 41872 * html/HTMLAllCollection.idl: 41873 * html/HTMLCollection.idl: 41874 * html/HTMLOptionsCollection.idl: 41875 41876 2009-10-24 Keishi Hattori <casey.hattori (a] gmail.com> 41877 41878 Reviewed by Timothy Hatcher. 41879 41880 WebInspector: Fixed issue with IME inside console 41881 https://bugs.webkit.org/show_bug.cgi?id=30660 41882 41883 * inspector/front-end/ConsoleView.js: 41884 (WebInspector.ConsoleView.prototype._promptKeyDown): 41885 * inspector/front-end/DatabaseQueryView.js: 41886 (WebInspector.DatabaseQueryView.prototype._promptKeyDown): 41887 * inspector/front-end/inspector.js: 41888 (WebInspector.loaded): 41889 (WebInspector.searchKeyDown): Moved performSearch here from WebInspector.searchKeyUp. 41890 (WebInspector.startEditing.element.handleKeyEvent): 41891 (WebInspector.startEditing): 41892 * inspector/front-end/utilities.js: 41893 (isEnterKey): Added. Check if in IME. 41894 41895 2009-10-24 Brian Weinstein <bweinstein (a] apple.com> 41896 41897 Reviewed by Timothy Hatcher. 41898 41899 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30752>. 41900 Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX. 41901 41902 Have the scope bars select one scope by default, but if the multiple selection key 41903 is pressed, allow for multiple selection. 41904 41905 * inspector/front-end/ConsoleView.js: 41906 (WebInspector.ConsoleView): 41907 (WebInspector.ConsoleView.prototype._updateFilter): 41908 (WebInspector.ConsoleView.prototype.filter): 41909 * inspector/front-end/ResourcesPanel.js: 41910 (WebInspector.ResourcesPanel): 41911 (WebInspector.ResourcesPanel.prototype.filter): 41912 (WebInspector.ResourcesPanel.prototype._updateFilter): 41913 41914 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 41915 41916 Make the scope bars in the Web Inspector match other scope bars in Mac OS X. 41917 Also cleans up the CSS to use classes instead of ID selectors. 41918 41919 https://bugs.webkit.org/show_bug.cgi?id=28186 41920 41921 Reviewed by Dan Bernstein. 41922 41923 * inspector/front-end/ResourcesPanel.js: Add the scope-bar class. 41924 * inspector/front-end/inspector.css: Lots of changes to make it look right. 41925 * inspector/front-end/inspector.html: Add the scope-bar class. 41926 41927 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 41928 41929 Fix selecting Resources in the Web Inspector's Resources panel. 41930 41931 https://bugs.webkit.org/show_bug.cgi?id=30743 41932 41933 Reviewed by Pavel Feldman. 41934 41935 * inspector/front-end/ResourcesPanel.js: 41936 (WebInspector.ResourcesPanel.prototype.isCategoryVisible): Added. 41937 (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): Call 41938 isCategoryVisible on the ResourcesPanel. 41939 41940 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 41941 41942 Fix the Scope Bar in the Web Inspector's Resource panel, so that selecting 41943 All will deselect the other filters. 41944 41945 https://bugs.webkit.org/show_bug.cgi?id=30744 41946 41947 Reviewed by Pavel Feldman. 41948 41949 * inspector/front-end/ResourcesPanel.js: 41950 (WebInspector.ResourcesPanel.createFilterElement): Better syntax. 41951 (WebInspector.ResourcesPanel): 41952 (WebInspector.ResourcesPanel.prototype.filter): Use a normal for loop, 41953 and the child variable instead of target in the loop. Other clean up. 41954 41955 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 41956 41957 Make resizing the Web Inspector's Elements panel sidebar work again. 41958 Also makes Resources panel use the sidebar code in Panel. 41959 41960 https://bugs.webkit.org/show_bug.cgi?id=30742 41961 41962 Reviewed by Pavel Feldman. 41963 41964 * inspector/front-end/Panel.js: 41965 (WebInspector.Panel): Don't create the sidebar with an argument. 41966 (WebInspector.Panel.prototype.show): Call updateSidebarWidth. 41967 (WebInspector.Panel.prototype.handleKeyEvent): Call handleSidebarKeyEvent. 41968 (WebInspector.Panel.prototype.handleSidebarKeyEvent): Added. 41969 (WebInspector.Panel.prototype.createSidebar): Renamed from _createSidebar. 41970 (WebInspector.Panel.prototype._sidebarDragging): Call updateSidebarWidth. 41971 (WebInspector.Panel.prototype.updateSidebarWidth): Renamed from _updateSidebarWidth. 41972 (WebInspector.Panel.prototype.setSidebarWidth): Added. Called by updateSidebarWidth. 41973 (WebInspector.Panel.prototype.updateMainViewWidth): Renamed from setMainViewWidth. 41974 * inspector/front-end/ProfilesPanel.js: 41975 (WebInspector.ProfilesPanel): Call createSidebar. 41976 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth. 41977 * inspector/front-end/ResourcesPanel.js: 41978 (WebInspector.ResourcesPanel.prototype.show): Remove call to _updateSidebarWidth. 41979 (WebInspector.ResourcesPanel.prototype.showResource): Call updateSidebarWidth 41980 (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Ditto. 41981 (WebInspector.ResourcesPanel.prototype.setSidebarWidth): Added. 41982 (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): Added. 41983 * inspector/front-end/StoragePanel.js: 41984 (WebInspector.StoragePanel): Call createSidebar. 41985 (WebInspector.StoragePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth. 41986 * inspector/front-end/TimelinePanel.js: 41987 (WebInspector.TimelinePanel): Call createSidebar. 41988 (WebInspector.TimelinePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth. 41989 41990 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 41991 41992 Call updateSelection() in a few places so hovering in the Web Inspector's 41993 Elements panel always has the correct row selection height. 41994 41995 https://bugs.webkit.org/show_bug.cgi?id=30735 41996 41997 Reviewed by Pavel Feldman. 41998 41999 * inspector/front-end/ElementsTreeOutline.js: 42000 (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): Call updateSelection(). 42001 (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): Ditto. 42002 * inspector/front-end/inspector.css: Prevent text wrapping in the middle of the add attribute text. 42003 42004 2009-10-24 Timothy Hatcher <timothy (a] apple.com> 42005 42006 Remove the re-root tree feature from the Web Inspector's 42007 Elements panel. This feature wasn't super useful and gets 42008 in the way of double-click to edit. 42009 42010 https://bugs.webkit.org/show_bug.cgi?id=30736 42011 42012 Reviewed by Pavel Feldman. 42013 42014 * inspector/front-end/ElementsTreeOutline.js: 42015 (WebInspector.ElementsTreeElement.prototype.ondblclick): 42016 42017 2009-10-24 Anton Muhin <antonm (a] chromium.org> 42018 42019 Reviewed by Adam Barth. 42020 42021 Implements ReturnsNew hint for V8 bindings generation code. 42022 https://bugs.webkit.org/show_bug.cgi?id=30745 42023 42024 * bindings/scripts/CodeGeneratorV8.pm: 42025 * bindings/v8/V8DOMWrapper.h: 42026 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 42027 42028 2009-10-24 Dan Bernstein <mitz (a] apple.com> 42029 42030 Reviewed by Sam Weinig. 42031 42032 Missing images at 350.org due to wrong URLs 42033 https://bugs.webkit.org/show_bug.cgi?id=30748 42034 42035 Test: fast/dom/HTMLImageElement/parse-src.html 42036 42037 * dom/Element.cpp: 42038 (WebCore::Element::getURLAttribute): Pass the attribute value through deprecateParseURL(). 42039 This matches what the Objective-C bindings do, as well as what HTMLImageLoader::sourceURI() 42040 and SVGImageLoader::sourceURI() do. 42041 42042 2009-10-24 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 42043 42044 Unreviewed. 42045 42046 [Qt] Build fix for QtWebKit after r50013. 42047 42048 * WebCore.pro: 42049 42050 2009-10-24 Dimitri Glazkov <dglazkov (a] chromium.org> 42051 42052 Unreviewed, build fix. 42053 42054 [V8] Fix up to accommodate for HTMLAllCollection changes in 42055 http://trac.webkit.org/changeset/49998. 42056 42057 * WebCore.gypi: 42058 * bindings/scripts/CodeGeneratorV8.pm: 42059 * bindings/v8/custom/V8CustomBinding.h: 42060 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 42061 42062 2009-10-23 Dan Bernstein <mitz (a] apple.com> 42063 42064 Reviewed by Alexey Proskuryakov. 42065 42066 <rdar://problem/7294131> Assertion failure in AuthenticationMac at 42067 mac(const Credential&) after authenticating to MobileMe Gallery movie 42068 42069 * platform/network/Credential.cpp: 42070 (WebCore::Credential::Credential): Initialize m_persistence. 42071 (WebCore::Credential::isEmpty): Made this method const. 42072 * platform/network/Credential.h: 42073 * platform/network/mac/AuthenticationMac.mm: 42074 (WebCore::mac): Return nil if the Credential is empty. 42075 42076 2009-10-23 Brian Weinstein <bweinstein (a] apple.com> 42077 42078 Reviewed by Timothy Hatcher. 42079 42080 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30617>. 42081 Web Inspector: Resources Scope Bar Should Allow Combinations. 42082 42083 Refactor the filtering in ResourcePanel to make it match ConsoleView, 42084 and add a divider between All, and the other choices of Resource types. 42085 42086 * inspector/front-end/ResourcesPanel.js: 42087 (WebInspector.ResourcesPanel): 42088 (WebInspector.ResourcesPanel.prototype.filter): 42089 (WebInspector.ResourcesPanel.prototype._updateFilter): 42090 * inspector/front-end/inspector.css: 42091 42092 2009-10-23 Chris Evans <cevans (a] chromium.org> 42093 42094 Reviewed by Adam Barth. 42095 42096 Ignore the Refresh header if we're in view source mode. 42097 42098 https://bugs.webkit.org/show_bug.cgi?id=27239 42099 42100 Test: http/tests/security/view-source-no-refresh.html 42101 42102 * loader/FrameLoader.cpp: ignore Refresh in view-source mode. 42103 42104 2009-10-23 Alexey Proskuryakov <ap (a] apple.com> 42105 42106 Reviewed by Sam Weinig. 42107 42108 https://bugs.webkit.org/show_bug.cgi?id=30734 42109 Remove XMLTokenizer::m_currentNodeIsReferenced 42110 42111 No change in behavior, no tests. 42112 42113 * dom/XMLTokenizer.cpp: 42114 (WebCore::XMLTokenizer::setCurrentNode): 42115 * dom/XMLTokenizer.h: 42116 Don't store a boolean for the current node being the document - we can always check for that. 42117 42118 * dom/XMLTokenizerLibxml2.cpp: 42119 (WebCore::XMLTokenizer::XMLTokenizer): 42120 * dom/XMLTokenizerQt.cpp: 42121 (WebCore::XMLTokenizer::XMLTokenizer): 42122 A fragment passed to XMLTokenizer is never null - in fact, the first thing we do is dereference 42123 it unconditionally, and then begin checking it for null, as if it could help. 42124 42125 2009-10-23 Beth Dakin <bdakin (a] apple.com> 42126 42127 No review since this is a build fix. 42128 42129 Build fix for the Mac. (Build is only broken when SVG filters are 42130 enabled.) 42131 42132 Labelled these function static. 42133 * platform/graphics/filters/FEComponentTransfer.cpp: 42134 (WebCore::identity): 42135 (WebCore::table): 42136 (WebCore::discrete): 42137 (WebCore::linear): 42138 (WebCore::gamma): 42139 * platform/graphics/filters/FEGaussianBlur.cpp: 42140 (WebCore::boxBlur): 42141 42142 2009-10-23 Pavel Feldman <pfeldman (a] chromium.org> 42143 42144 Reviewed by Timothy Hatcher. 42145 42146 Web Inspector: Implement a Timeline panel. 42147 42148 https://bugs.webkit.org/show_bug.cgi?id=30725 42149 42150 * WebCore.gypi: 42151 * WebCore.vcproj/WebCore.vcproj: 42152 * inspector/front-end/Images/timelineIcon.png: Added. 42153 * inspector/front-end/TimelineAgent.js: 42154 (WebInspector.addItemToTimeline): 42155 (WebInspector.timelineProfilerWasStarted): 42156 (WebInspector.timelineProfilerWasStopped): 42157 * inspector/front-end/TimelinePanel.js: Added. 42158 (WebInspector.TimelinePanel): 42159 (WebInspector.TimelinePanel.prototype.toolbarItemClass.get toolbarItemLabel): 42160 (WebInspector.TimelinePanel.prototype.get statusBarItems): 42161 (WebInspector.TimelinePanel.prototype.handleKeyEvent): 42162 (WebInspector.TimelinePanel.prototype.timelineWasStarted): 42163 (WebInspector.TimelinePanel.prototype.timelineWasStopped): 42164 (WebInspector.TimelinePanel.prototype.addItemToTimeline): 42165 (WebInspector.TimelinePanel.prototype._innerAddItemToTimeline): 42166 (WebInspector.TimelinePanel.prototype._toggleTimelineButton): 42167 (WebInspector.TimelinePanel.prototype.setMainViewWidth): 42168 (WebInspector.TimelinePanel.prototype.getItemTypeName): 42169 (WebInspector.TimelineRecordTreeElement): 42170 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 42171 * inspector/front-end/WebKit.qrc: 42172 * inspector/front-end/inspector.css: 42173 * inspector/front-end/inspector.html: 42174 * inspector/front-end/inspector.js: 42175 (WebInspector._createPanels): 42176 42177 2009-10-23 Joseph Pecoraro <joepeck (a] webkit.org> 42178 42179 Reviewed by Timothy Hatcher. 42180 42181 Web Inspector: Clash Between Search's onkeyup and incremental search events 42182 https://bugs.webkit.org/show_bug.cgi?id=30731 42183 42184 * inspector/front-end/inspector.js: 42185 (WebInspector.performSearch): prevent incremental search event from clobbering a forced search 42186 42187 2009-10-23 Kelly Norton <knorton (a] google.com> 42188 42189 Reviewed by Pavel Feldman. 42190 42191 Removes the need for C++ Timeline types in InspectorTimelineAgent in favor 42192 of ScriptObjects. 42193 https://bugs.webkit.org/show_bug.cgi?id=30707 42194 42195 * GNUmakefile.am: 42196 * WebCore.vcproj/WebCore.vcproj: 42197 * WebCore.xcodeproj/project.pbxproj: 42198 * inspector/DOMDispatchTimelineItem.cpp: Removed. 42199 * inspector/DOMDispatchTimelineItem.h: Removed. 42200 * inspector/InspectorTimelineAgent.cpp: 42201 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 42202 (WebCore::InspectorTimelineAgent::willDispatchDOMEvent): 42203 (WebCore::InspectorTimelineAgent::didDispatchDOMEvent): 42204 (WebCore::InspectorTimelineAgent::willLayout): 42205 (WebCore::InspectorTimelineAgent::didLayout): 42206 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 42207 (WebCore::InspectorTimelineAgent::didRecalculateStyle): 42208 (WebCore::InspectorTimelineAgent::willPaint): 42209 (WebCore::InspectorTimelineAgent::didPaint): 42210 (WebCore::InspectorTimelineAgent::willWriteHTML): 42211 (WebCore::InspectorTimelineAgent::didWriteHTML): 42212 (WebCore::InspectorTimelineAgent::reset): 42213 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 42214 (WebCore::InspectorTimelineAgent::pushCurrentTimelineItem): 42215 * inspector/InspectorTimelineAgent.h: 42216 (WebCore::InspectorTimelineAgent::TimelineItemEntry::TimelineItemEntry): 42217 * inspector/TimelineItem.cpp: Removed. 42218 * inspector/TimelineItem.h: Removed. 42219 * inspector/TimelineItemFactory.cpp: Added. 42220 (WebCore::TimelineItemFactory::createGenericTimelineItem): 42221 (WebCore::TimelineItemFactory::createDOMDispatchTimelineItem): 42222 * inspector/TimelineItemFactory.h: Added. 42223 (WebCore::): 42224 (WebCore::TimelineItemFactory::TimelineItemFactory): 42225 42226 2009-10-23 Gavin Barraclough <barraclough (a] apple.com> 42227 42228 Reviewed by Geoff Garen. 42229 42230 https://bugs.webkit.org/show_bug.cgi?id=30729 42231 Provide private API to request the global context for a specific world. 42232 Used to initialize parameters on the global object. 42233 42234 * bindings/js/ScriptController.cpp: 42235 (WebCore::ScriptController::globalObject): 42236 * bindings/js/ScriptController.h: 42237 42238 2009-10-23 Steve Block <steveblock (a] google.com> 42239 42240 Reviewed by Eric Seidel. 42241 42242 Fixes style problems in Android-specific files. 42243 https://bugs.webkit.org/show_bug.cgi?id=30717 42244 42245 Style changes only, no new tests possible. 42246 42247 * page/android/EventHandlerAndroid.cpp: Modified. 42248 (WebCore::EventHandler::passMouseDownEventToWidget): Fixes whitespace in method signature. 42249 (WebCore::EventHandler::passSubframeEventToSubframe): Fixes whitespace in method signature. 42250 (WebCore::EventHandler::passWheelEventToWidget): Fixes whitespace in method signature. 42251 (WebCore::EventHandler::passMouseMoveEventToSubframe): Fixes whitespace in method signature. 42252 * platform/android/ClipboardAndroid.h: Modified. Fixes header include order and indenting. 42253 * platform/android/CursorAndroid.cpp: Modified. 42254 (WebCore::grabCursor): Fixes function braces. 42255 (WebCore::grabbingCursor): Fixes function braces. 42256 * platform/android/FileChooserAndroid.cpp: Modified. 42257 (WebCore::FileChooser::basenameForWidth): Fixes braces on while statement, and updates String::copy to String::threadsafeCopy. 42258 * platform/android/FileSystemAndroid.cpp: Modified. Fixes header include order. 42259 (WebCore::unloadModule): Fixes zero test. 42260 (WebCore::writeToFile): Fixes if statement structure. 42261 * platform/android/KeyEventAndroid.cpp: Modified. 42262 (WebCore::windowsKeyCodeForKeyEvent): Fixes switch statement indenting. 42263 (WebCore::keyIdentifierForAndroidKeyCode): Fixes switch statement indenting. 42264 * platform/android/ScreenAndroid.cpp: Modified. Fixes header include order and switch statement indenting. 42265 * platform/android/TemporaryLinkStubs.cpp: Modified. Fixes header include order. 42266 42267 2009-10-23 Sam Weinig <sam (a] webkit.org> 42268 42269 Another shot at a fixed build. 42270 42271 * DerivedSources.cpp: 42272 42273 2009-10-23 Sam Weinig <sam (a] webkit.org> 42274 42275 Another shot at a fixed build. 42276 42277 * html/HTMLOptionsCollection.idl: 42278 42279 2009-10-23 Brady Eidson <beidson (a] apple.com> 42280 42281 50,000! 42282 42283 * ChangeLog: Point out revision 50,000. 42284 42285 2009-10-23 Sam Weinig <sam (a] webkit.org> 42286 42287 Reviewed by Anders Carlsson. 42288 42289 Fix for https://bugs.webkit.org/show_bug.cgi?id=30695 42290 Drop .tags() support from HTMLCollection 42291 42292 - Make .tags() only work for HTMLAllCollections in JS. .tags() is still 42293 available for all HTMLCollection like objects in Objective-C since that 42294 is API. 42295 - Auto-generate HTMLAllCollection. 42296 42297 Test: fast/dom/HTMLDocument/document-all.html 42298 42299 * DerivedSources.make: 42300 * GNUmakefile.am: 42301 * WebCore.gypi: 42302 * WebCore.pro: 42303 * WebCore.vcproj/WebCore.vcproj: 42304 * WebCore.xcodeproj/project.pbxproj: 42305 * bindings/js/JSHTMLAllCollection.cpp: Removed. 42306 * bindings/js/JSHTMLAllCollection.h: Removed. 42307 * bindings/js/JSHTMLAllCollectionCustom.cpp: Added. 42308 (WebCore::getNamedItems): 42309 (WebCore::callHTMLAllCollection): 42310 (WebCore::JSHTMLAllCollection::getCallData): 42311 (WebCore::JSHTMLAllCollection::canGetItemsForName): 42312 (WebCore::JSHTMLAllCollection::nameGetter): 42313 (WebCore::JSHTMLAllCollection::item): 42314 (WebCore::JSHTMLAllCollection::namedItem): 42315 * bindings/js/JSHTMLCollectionCustom.cpp: 42316 (WebCore::toJS): 42317 * bindings/js/JSHTMLDocumentCustom.cpp: 42318 * bindings/scripts/CodeGeneratorJS.pm: 42319 * dom/Document.cpp: 42320 (WebCore::Document::all): 42321 * dom/Document.h: 42322 * dom/HTMLAllCollection.idl: Removed. 42323 * html/HTMLAllCollection.cpp: Added. 42324 (WebCore::HTMLAllCollection::create): 42325 (WebCore::HTMLAllCollection::HTMLAllCollection): 42326 (WebCore::HTMLAllCollection::~HTMLAllCollection): 42327 * html/HTMLAllCollection.h: Added. 42328 * html/HTMLAllCollection.idl: Added. 42329 * html/HTMLCollection.h: 42330 * html/HTMLCollection.idl: 42331 * html/HTMLDocument.idl: 42332 * page/DOMWindow.idl: 42333 42334 2009-10-23 Pavel Feldman <pfeldman (a] chromium.org> 42335 42336 Reviewed by Timothy Hatcher. 42337 42338 Web Inspector: pull basic sidebar implementation into the Panel. 42339 42340 https://bugs.webkit.org/show_bug.cgi?id=30720 42341 42342 * inspector/front-end/Panel.js: 42343 (WebInspector.Panel): 42344 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): 42345 (WebInspector.Panel.prototype.handleKeyEvent): 42346 (WebInspector.Panel.prototype._createSidebar): 42347 (WebInspector.Panel.prototype._startSidebarDragging): 42348 (WebInspector.Panel.prototype._sidebarDragging): 42349 (WebInspector.Panel.prototype._endSidebarDragging): 42350 (WebInspector.Panel.prototype._updateSidebarWidth): 42351 (WebInspector.Panel.prototype.setCenterViewWidth): 42352 * inspector/front-end/ProfilesPanel.js: 42353 (WebInspector.ProfilesPanel): 42354 (WebInspector.ProfilesPanel.prototype.setCenterViewWidth): 42355 * inspector/front-end/StoragePanel.js: 42356 (WebInspector.StoragePanel): 42357 (WebInspector.StoragePanel.prototype.setCenterViewWidth): 42358 42359 2009-10-23 Jens Alfke <snej (a] chromium.org> 42360 42361 Reviewed by Dimitri Glazkov. 42362 42363 Slight optimizations to object returning and exception handling in generated V8 bindings. 42364 https://bugs.webkit.org/show_bug.cgi?id=30599 42365 42366 * bindings/scripts/CodeGeneratorV8.pm: Generate better code 42367 * bindings/v8/V8DOMWrapper.h: 42368 (WebCore::V8DOMWrapper::convertToV8Object): Added overload that takes a Ref<> 42369 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 42370 (WebCore::CALLBACK_FUNC_DECL): Remove unnecessary template param to prevent compile error 42371 42372 2009-10-23 Alpha Lam <hclam (a] chromium.org> 42373 42374 Reviewed by Eric Carlson. 42375 42376 Volume slider always starts at half volume 42377 https://bugs.webkit.org/show_bug.cgi?id=28322 42378 42379 Sets the value attribute of volume slider to the volume attribute 42380 of the media element. Also update the value attribute of the 42381 input element for the volume slider when the volume attribute 42382 of the media element is updated. 42383 42384 Test: media/video-volume-slider.html 42385 42386 * rendering/MediaControlElements.cpp: 42387 (WebCore::MediaControlVolumeSliderElement::update): 42388 Set the value attribute of the input element for the volume slider 42389 using the current volume of the media element. 42390 * rendering/MediaControlElements.h: 42391 Add method definition of update(). 42392 * rendering/RenderMedia.cpp: 42393 (WebCore::RenderMedia::createVolumeSlider): 42394 Creates a volume slider with value attribute equals to the current 42395 volume attribute of the media element. 42396 42397 2009-10-23 Evan Martin <evan (a] chromium.org> 42398 42399 Reviewed by Eric Seidel. 42400 42401 Chrome Linux: fix caret positioning in LTR complex languages 42402 The caret is positioned off by one in languages like Thai. 42403 42404 https://bugs.webkit.org/show_bug.cgi?id=28284 42405 42406 A group of us spent a while trying various approaches to write a test 42407 for this; however, since it is only that the blinking cursor is 42408 displayed incorrectly, we concluded it can not be tested. 42409 42410 (Patch by Hironori Bono.) 42411 42412 * platform/graphics/chromium/FontLinux.cpp: 42413 (WebCore::Font::selectionRectForComplexText): 42414 42415 2009-10-23 Tony Chang <tony (a] chromium.org> 42416 42417 Reviewed by David Levin. 42418 42419 Fix Chromium build after IsoldatedWorld change (r49963). 42420 https://bugs.webkit.org/show_bug.cgi?id=30719 42421 42422 * bindings/ScriptControllerBase.cpp: 42423 * bindings/js/ScriptController.cpp: 42424 (WebCore::ScriptController::executeScriptInIsolatedWorld): 42425 * bindings/v8/ScriptController.cpp: 42426 (WebCore::mainThreadNormalWorld): 42427 * bindings/v8/ScriptController.h: 42428 (WebCore::ScriptController::windowShell): 42429 (WebCore::ScriptController::existingWindowShell): 42430 * dom/Document.cpp: 42431 (WebCore::Document::createWrapperCache): 42432 * dom/ScriptExecutionContext.cpp: 42433 * dom/ScriptExecutionContext.h: 42434 * xml/XMLHttpRequest.cpp: 42435 * xml/XMLHttpRequest.h: 42436 42437 2009-10-23 Xiaomei Ji <xji (a] chromium.org> 42438 42439 Reviewed by Sam Weinig. 42440 42441 Fix caretRangeFromPoint()/elementFromPoint() returns wrong result 42442 for a zoomed and scrolled page. 42443 https://bugs.webkit.org/show_bug.cgi?id=30689. 42444 42445 The real cause is the wrong calculation of event.clientX/Y when 42446 page is zoomed and scolled. 42447 After Sam fixed the event.clientX/Y in r49551, the hit test point 42448 should be recalculated (revert r49490). 42449 42450 Test: fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html 42451 42452 * dom/Document.cpp: 42453 (WebCore::Document::elementFromPoint): calculate the correct point 42454 relative to document when page is zoomed and scrolled. 42455 (WebCore::Document::caretRangeFromPoint): calculate the correct point 42456 relative to document when page is zoomed and scrolled. 42457 42458 2009-10-22 Dumitru Daniliuc <dumi (a] chromium.org> 42459 42460 Reviewed by Dmitry Titov. 42461 42462 Adding a class that allows us to enable/disable features at 42463 runtime. Adding a flag to enable database support. 42464 42465 https://bugs.webkit.org/show_bug.cgi?id=30653 42466 42467 * WebCore.gypi: 42468 * bindings/v8/RuntimeEnabledFeatures.cpp: Added. 42469 * bindings/v8/RuntimeEnabledFeatures.h: Added. 42470 (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled): 42471 (WebCore::RuntimeEnabledFeatures::databaseEnabled): 42472 (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures): 42473 * bindings/v8/custom/V8CustomBinding.h: 42474 * bindings/v8/custom/V8DOMWindowCustom.cpp: 42475 (WebCore::ACCESSOR_RUNTIME_ENABLER): 42476 * page/DOMWindow.idl: 42477 42478 2009-10-23 Keishi Hattori <casey.hattori (a] gmail.com> 42479 42480 Reviewed by Timothy Hatcher. 42481 42482 Inspector injects _inspectorCommandLineAPI into global object when opened 42483 https://bugs.webkit.org/show_bug.cgi?id=30675 42484 42485 * inspector/front-end/InjectedScript.js: 42486 (InjectedScript.getCompletions): 42487 (InjectedScript._evaluateOn): 42488 (InjectedScript.addInspectedNode): 42489 (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console. 42490 42491 2009-10-23 Janne Koskinen <janne.p.koskinen (a] digia.com> 42492 42493 Reviewed by Tor Arne Vestb. 42494 42495 [Qt] don't undef NULL in Symbian emulator 42496 42497 npapi.h way of defining mwerks compiler,__intel__ 42498 and win32 are all true for Symbian emulator. 42499 Changed the definions so that NULL won't be undefined 42500 when compiling for Symbian emulator nor target HW. 42501 42502 * bridge/npapi.h: 42503 42504 2009-10-23 Janne Koskinen <janne.p.koskinen (a] digia.com> 42505 42506 Reviewed by Tor Arne Vestb. 42507 42508 [Qt] Correct linking of sqlite3 for Symbian 42509 https://bugs.webkit.org/show_bug.cgi?id=30569 42510 42511 ".lib" will try to include library as static library 42512 causing the library to be searched from wrong directory and if found 42513 will be statically linked instead of the inteded dynamic linking. 42514 42515 * WebCore.pro: 42516 42517 2009-10-23 Enrica Casucci <enrica (a] apple.com> 42518 42519 Reviewed by Adele Peterson. 42520 42521 REGRESSION: Copy is copying incorrect background-color 42522 <rdar://problem/7248529> 42523 https://bugs.webkit.org/show_bug.cgi?id=29697 42524 42525 Test: editing/execCommand/indent-paragraphs.html 42526 42527 This change removes the BackgroundColor from the list 42528 of inheritable CSS properties and changes significantly 42529 the way we perform indentation. 42530 The new implementation of IndentOutdentCommand uses a new method 42531 defined in CompositeEditCommand called moveParagraphWithClones. 42532 This is an improved version of the original moveParagraph that 42533 is aimed at preserving the original markup of the paragraph being 42534 moved. 42535 42536 * editing/ApplyStyleCommand.cpp: 42537 (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties. 42538 * editing/CompositeEditCommand.cpp: 42539 (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks. 42540 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks. 42541 (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added. 42542 (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added. 42543 (WebCore::CompositeEditCommand::moveParagraphWithClones): Added. 42544 (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion. 42545 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks. 42546 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks. 42547 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks. 42548 * editing/CompositeEditCommand.h: Added three new methods. 42549 * editing/IndentOutdentCommand.cpp: 42550 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones. 42551 (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones. 42552 (WebCore::IndentOutdentCommand::indentRegion): Removed comment. 42553 * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method. 42554 42555 2009-10-23 Steve Block <steveblock (a] google.com> 42556 42557 Reviewed by Eric Seidel. 42558 42559 Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled. 42560 https://bugs.webkit.org/show_bug.cgi?id=30677 42561 42562 Build fix, no new tests required. 42563 42564 * page/Console.cpp: Modified. Added UnusedParam.h include. 42565 * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include. 42566 42567 2009-10-23 Girish Ramakrishnan <girish (a] forwardbias.in> 42568 42569 Reviewed by Holger Freyther. 42570 42571 [Qt] Plugins : Use window's winId() instead of the widget's. 42572 42573 As per, https://developer.mozilla.org/en/NPN_GetValue 42574 NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the 42575 plug-in is displayed; returns Window". 42576 42577 The issue was found because NPNVNetscapeWindow winId() ends up creating 42578 a native window resulting in flicker. 42579 42580 https://bugs.webkit.org/show_bug.cgi?id=30706 42581 42582 * plugins/qt/PluginViewQt.cpp: 42583 (WebCore::PluginView::getValue): 42584 42585 2009-10-23 Girish Ramakrishnan <girish (a] forwardbias.in> 42586 42587 Reviewed by Holger Freyther. 42588 42589 [Qt] Windowless Plugins : Don't use m_clipRect when painting. 42590 42591 Though it works, it is not correct to use m_clipRect for painting 42592 in Windowless mode. Instead, the rect paramater that is passed 42593 as a part of PluginView::paint() must be used. This change will 42594 also result in some speedup since previously we used to paint all 42595 the visible parts of a windowless plugin (even if those parts were 42596 not dirty). 42597 42598 Also, fix invalidateRect() to compute the correct width and height. 42599 42600 https://bugs.webkit.org/show_bug.cgi?id=30711 42601 42602 * plugins/qt/PluginViewQt.cpp: 42603 (WebCore::PluginView::paint): 42604 (WebCore::PluginView::invalidateRect): 42605 42606 2009-10-21 Girish Ramakrishnan <girish (a] forwardbias.in> 42607 42608 Reviewed by Holger Freyther. 42609 42610 Plugins : Use test.swf in the plugins manual tests. 42611 42612 They previously referenced youtube videos which among other things are 42613 cumbersome to use without internet connection. The old youtube link is 42614 just commented out so that testing with youtube can be done with 42615 little effort. 42616 42617 https://bugs.webkit.org/show_bug.cgi?id=30662 42618 42619 * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf. 42620 * manual-tests/plugins/windowed.html: 42621 * manual-tests/plugins/windowless.html: 42622 * manual-tests/qt/plugin-sibling-frame-include.html: 42623 42624 2009-10-23 Brian Weinstein <bweinstein (a] apple.com> 42625 42626 Reviewed by Jon Honeycutt. 42627 42628 Fix the Windows Release build by moving Accessibility files 42629 into all-in-one file and excluding them from the build. 42630 42631 * WebCore.vcproj/WebCore.vcproj: 42632 * accessibility/AccessibilityAllInOne.cpp: Added. 42633 42634 2009-10-16 Gavin Barraclough <barraclough (a] apple.com> 42635 42636 Reviewed by Sam Weinig & Geoff Garen. 42637 42638 https://bugs.webkit.org/show_bug.cgi?id=30696 42639 Add support for IsolatedWorlds to JSC bindings. 42640 42641 An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for 42642 a given document. To support isolation this patch: 42643 42644 * Adds support to the ScriptController to track multiple window shells, one per world. 42645 * Adds support to Document to support multiple separate wrapper-maps, one per world. 42646 * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps, 42647 stored on the (new) IsolatedWorld objects. 42648 42649 In addition to supporting separate copies of these objects, two other features are supported: 42650 42651 * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore 42652 we can determine which world (and as such, set of DOM bindings) we should be operating on. 42653 * EventListeners & Callbacks are run in the world they were registered in. 42654 This requires the handler to retain a reference to the world. 42655 42656 No new tests. (Enabled existing isolated world layout tests.) 42657 42658 * WebCore.base.exp: 42659 * bindings/js/JSAbstractWorkerCustom.cpp: 42660 (WebCore::JSAbstractWorker::addEventListener): 42661 (WebCore::JSAbstractWorker::removeEventListener): 42662 * bindings/js/JSCallbackData.cpp: 42663 (WebCore::JSCallbackData::invokeCallback): 42664 * bindings/js/JSCallbackData.h: 42665 (WebCore::JSCallbackData::JSCallbackData): 42666 * bindings/js/JSCustomXPathNSResolver.cpp: 42667 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 42668 * bindings/js/JSDOMApplicationCacheCustom.cpp: 42669 (WebCore::JSDOMApplicationCache::addEventListener): 42670 (WebCore::JSDOMApplicationCache::removeEventListener): 42671 * bindings/js/JSDOMBinding.cpp: 42672 (WebCore::removeWrappers): 42673 (WebCore::DOMObjectWrapperMap::get): 42674 (WebCore::DOMObjectWrapperMap::set): 42675 (WebCore::DOMObjectWrapperMap::remove): 42676 (WebCore::DOMObjectWrapperMap::take): 42677 (WebCore::IsolatedWorld::IsolatedWorld): 42678 (WebCore::IsolatedWorld::~IsolatedWorld): 42679 (WebCore::EnterIsolatedWorld::EnterIsolatedWorld): 42680 (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld): 42681 (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator): 42682 (WebCore::JSGlobalDataWorldIterator::operator bool): 42683 (WebCore::JSGlobalDataWorldIterator::operator*): 42684 (WebCore::JSGlobalDataWorldIterator::operator->): 42685 (WebCore::JSGlobalDataWorldIterator::operator++): 42686 (WebCore::getCurrentWorld): 42687 (WebCore::getNormalWorld): 42688 (WebCore::commonNormalWorld): 42689 (WebCore::commonCurrentWorld): 42690 (WebCore::DOMObjectHashTableMap::mapFor): 42691 (WebCore::DOMObjectWrapperMap::mapFor): 42692 (WebCore::forgetDOMObject): 42693 (WebCore::getCachedDOMNodeWrapper): 42694 (WebCore::forgetDOMNode): 42695 (WebCore::cacheDOMNodeWrapper): 42696 (WebCore::forgetAllDOMNodesForDocument): 42697 (WebCore::forgetWorldOfDOMNodesForDocument): 42698 (WebCore::isObservableThroughDOM): 42699 (WebCore::markDOMNodesForDocument): 42700 (WebCore::markActiveObjectsForContext): 42701 (WebCore::takeWrappers): 42702 (WebCore::updateDOMNodeDocument): 42703 (WebCore::markDOMObjectWrapper): 42704 (WebCore::allowsAccessFromFrame): 42705 (WebCore::printErrorMessageForFrame): 42706 (WebCore::JSC_DebuggerCallFrame_evaluateInWorld): 42707 (WebCore::JSC_callInWorld): 42708 (WebCore::JSC_constructInWorld): 42709 (WebCore::JSC_evaluateInWorld): 42710 * bindings/js/JSDOMBinding.h: 42711 (WebCore::IsolatedWorld::rememberDocument): 42712 (WebCore::IsolatedWorld::forgetDocument): 42713 (WebCore::IsolatedWorld::rememberScriptController): 42714 (WebCore::IsolatedWorld::forgetScriptController): 42715 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): 42716 (WebCore::DOMObjectHashTableMap::get): 42717 (WebCore::WebCoreJSClientData::WebCoreJSClientData): 42718 (WebCore::WebCoreJSClientData::currentWorld): 42719 (WebCore::WebCoreJSClientData::normalWorld): 42720 (WebCore::WebCoreJSClientData::rememberWorld): 42721 (WebCore::WebCoreJSClientData::forgetWorld): 42722 (WebCore::debuggerWorld): 42723 (WebCore::pluginWorld): 42724 * bindings/js/JSDOMGlobalObject.cpp: 42725 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 42726 (WebCore::toJSDOMGlobalObject): 42727 * bindings/js/JSDOMGlobalObject.h: 42728 * bindings/js/JSDOMWindowBase.cpp: 42729 (WebCore::JSDOMWindowBase::printErrorMessage): 42730 (WebCore::JSDOMWindowBase::commonJSGlobalData): 42731 (WebCore::toJS): 42732 (WebCore::toJSDOMWindow): 42733 * bindings/js/JSDOMWindowBase.h: 42734 * bindings/js/JSDOMWindowCustom.cpp: 42735 (WebCore::createWindow): 42736 (WebCore::JSDOMWindow::open): 42737 (WebCore::JSDOMWindow::showModalDialog): 42738 (WebCore::JSDOMWindow::setTimeout): 42739 (WebCore::JSDOMWindow::setInterval): 42740 (WebCore::JSDOMWindow::addEventListener): 42741 (WebCore::JSDOMWindow::removeEventListener): 42742 * bindings/js/JSDOMWindowShell.cpp: 42743 (WebCore::toJS): 42744 (WebCore::toJSDOMWindowShell): 42745 * bindings/js/JSDOMWindowShell.h: 42746 * bindings/js/JSDesktopNotificationsCustom.cpp: 42747 (WebCore::JSNotification::addEventListener): 42748 (WebCore::): 42749 * bindings/js/JSEventListener.cpp: 42750 (WebCore::JSEventListener::JSEventListener): 42751 (WebCore::JSEventListener::handleEvent): 42752 (WebCore::JSEventListener::reportError): 42753 * bindings/js/JSEventListener.h: 42754 (WebCore::JSEventListener::create): 42755 * bindings/js/JSEventSourceCustom.cpp: 42756 (WebCore::JSEventSource::addEventListener): 42757 (WebCore::JSEventSource::removeEventListener): 42758 * bindings/js/JSEventTarget.cpp: 42759 (WebCore::toJS): 42760 * bindings/js/JSHTMLDocumentCustom.cpp: 42761 (WebCore::JSHTMLDocument::open): 42762 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 42763 (WebCore::JSHTMLFrameSetElement::nameGetter): 42764 * bindings/js/JSInspectorBackendCustom.cpp: 42765 (WebCore::JSInspectorBackend::databaseForId): 42766 (WebCore::JSInspectorBackend::inspectedWindow): 42767 (WebCore::JSInspectorBackend::nodeForId): 42768 * bindings/js/JSLazyEventListener.cpp: 42769 (WebCore::JSLazyEventListener::JSLazyEventListener): 42770 (WebCore::JSLazyEventListener::parseCode): 42771 * bindings/js/JSLazyEventListener.h: 42772 (WebCore::JSLazyEventListener::create): 42773 * bindings/js/JSMessageChannelCustom.cpp: 42774 (WebCore::JSMessageChannel::markChildren): 42775 * bindings/js/JSMessagePortCustom.cpp: 42776 (WebCore::JSMessagePort::markChildren): 42777 (WebCore::JSMessagePort::addEventListener): 42778 (WebCore::JSMessagePort::removeEventListener): 42779 * bindings/js/JSNodeCustom.cpp: 42780 (WebCore::JSNode::addEventListener): 42781 (WebCore::JSNode::removeEventListener): 42782 (WebCore::JSNode::markChildren): 42783 * bindings/js/JSNodeFilterCondition.cpp: 42784 (WebCore::JSNodeFilterCondition::acceptNode): 42785 * bindings/js/JSQuarantinedObjectWrapper.cpp: 42786 (WebCore::JSQuarantinedObjectWrapper::construct): 42787 (WebCore::JSQuarantinedObjectWrapper::call): 42788 * bindings/js/JSSVGElementInstanceCustom.cpp: 42789 (WebCore::JSSVGElementInstance::addEventListener): 42790 (WebCore::JSSVGElementInstance::removeEventListener): 42791 * bindings/js/JSSharedWorkerCustom.cpp: 42792 (WebCore::JSSharedWorker::markChildren): 42793 * bindings/js/JSWebSocketCustom.cpp: 42794 (WebCore::JSWebSocket::addEventListener): 42795 (WebCore::JSWebSocket::removeEventListener): 42796 * bindings/js/JSWorkerContextCustom.cpp: 42797 (WebCore::JSWorkerContext::addEventListener): 42798 (WebCore::JSWorkerContext::removeEventListener): 42799 (WebCore::JSWorkerContext::setTimeout): 42800 (WebCore::JSWorkerContext::setInterval): 42801 * bindings/js/JSXMLHttpRequestConstructor.cpp: 42802 (WebCore::constructXMLHttpRequest): 42803 * bindings/js/JSXMLHttpRequestCustom.cpp: 42804 (WebCore::JSXMLHttpRequest::markChildren): 42805 (WebCore::JSXMLHttpRequest::addEventListener): 42806 (WebCore::JSXMLHttpRequest::removeEventListener): 42807 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 42808 (WebCore::JSXMLHttpRequestUpload::markChildren): 42809 (WebCore::JSXMLHttpRequestUpload::addEventListener): 42810 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 42811 * bindings/js/ScheduledAction.cpp: 42812 (WebCore::ScheduledAction::create): 42813 (WebCore::ScheduledAction::ScheduledAction): 42814 (WebCore::ScheduledAction::executeFunctionInContext): 42815 (WebCore::ScheduledAction::execute): 42816 * bindings/js/ScheduledAction.h: 42817 (WebCore::ScheduledAction::ScheduledAction): 42818 * bindings/js/ScriptCachedFrameData.cpp: 42819 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 42820 (WebCore::ScriptCachedFrameData::restore): 42821 * bindings/js/ScriptController.cpp: 42822 (WebCore::ScriptController::~ScriptController): 42823 (WebCore::ScriptController::evaluateInWorld): 42824 (WebCore::ScriptController::evaluate): 42825 (WebCore::ScriptController::evaluateInIsolatedWorld): 42826 (WebCore::ScriptController::clearWindowShell): 42827 (WebCore::ScriptController::initScript): 42828 (WebCore::ScriptController::processingUserGestureEvent): 42829 (WebCore::ScriptController::attachDebugger): 42830 (WebCore::ScriptController::updateDocument): 42831 (WebCore::ScriptController::bindingRootObject): 42832 (WebCore::ScriptController::createRootObject): 42833 (WebCore::ScriptController::windowScriptNPObject): 42834 (WebCore::ScriptController::jsObjectForPluginElement): 42835 * bindings/js/ScriptController.h: 42836 (WebCore::ScriptController::windowShell): 42837 (WebCore::ScriptController::existingWindowShell): 42838 (WebCore::ScriptController::globalObject): 42839 (WebCore::ScriptController::forgetWorld): 42840 * bindings/js/ScriptControllerMac.mm: 42841 (WebCore::ScriptController::windowScriptObject): 42842 * bindings/js/ScriptEventListener.cpp: 42843 (WebCore::createAttributeEventListener): 42844 * bindings/js/ScriptFunctionCall.cpp: 42845 (WebCore::ScriptFunctionCall::call): 42846 (WebCore::ScriptFunctionCall::construct): 42847 * bindings/js/ScriptObjectQuarantine.cpp: 42848 (WebCore::getQuarantinedScriptObject): 42849 * bindings/js/ScriptState.cpp: 42850 (WebCore::scriptStateFromNode): 42851 (WebCore::scriptStateFromPage): 42852 * bindings/js/ScriptState.h: 42853 * bindings/js/WorkerScriptController.cpp: 42854 (WebCore::WorkerScriptController::WorkerScriptController): 42855 (WebCore::WorkerScriptController::evaluate): 42856 * bindings/objc/DOMInternal.mm: 42857 (-[WebScriptObject _initializeScriptDOMNodeImp]): 42858 * bindings/objc/WebScriptObject.mm: 42859 (-[WebScriptObject callWebScriptMethod:withArguments:]): 42860 (-[WebScriptObject evaluateWebScript:]): 42861 * bindings/scripts/CodeGeneratorJS.pm: 42862 * bridge/NP_jsobject.cpp: 42863 (_NPN_InvokeDefault): 42864 (_NPN_Invoke): 42865 (_NPN_Evaluate): 42866 (_NPN_Construct): 42867 * bridge/jni/jni_jsobject.mm: 42868 (JavaJSObject::call): 42869 (JavaJSObject::eval): 42870 * dom/Document.cpp: 42871 (WebCore::Document::createWrapperCache): 42872 * dom/Document.h: 42873 (WebCore::Document::wrapperCacheMap): 42874 (WebCore::Document::getWrapperCache): 42875 * inspector/InspectorController.cpp: 42876 (WebCore::InspectorController::startUserInitiatedProfiling): 42877 (WebCore::InspectorController::stopUserInitiatedProfiling): 42878 * inspector/JavaScriptCallFrame.cpp: 42879 (WebCore::JavaScriptCallFrame::evaluate): 42880 * loader/FrameLoader.cpp: 42881 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 42882 * platform/network/mac/AuthenticationMac.mm: 42883 * xml/XMLHttpRequest.cpp: 42884 (WebCore::XMLHttpRequest::XMLHttpRequest): 42885 (WebCore::XMLHttpRequest::dropProtection): 42886 * xml/XMLHttpRequest.h: 42887 (WebCore::XMLHttpRequest::create): 42888 42889 2009-10-22 Joseph Pecoraro <joepeck (a] webkit.org> 42890 42891 Reviewed by Timothy Hatcher. 42892 42893 Web Inspector: EventListenersSidebarPane TODO No Longer Needed 42894 https://bugs.webkit.org/show_bug.cgi?id=30705 42895 42896 * inspector/front-end/EventListenersSidebarPane.js: 42897 42898 2009-10-22 Alexey Proskuryakov <ap (a] apple.com> 42899 42900 Reviewed by Tim Hatcher. 42901 42902 https://bugs.webkit.org/show_bug.cgi?id=30506 42903 <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown 42904 in the inspectors resource pane 42905 42906 I don't know how to make a test for this. 42907 42908 The issue here was that preloaded resources weren't added to DocLoader document resource set, 42909 but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document 42910 parser eventually requested the same resource for real and it got added to resource set, it 42911 was too late - the Inspector wasn't updated. 42912 42913 * inspector/InspectorResource.cpp: 42914 (WebCore::InspectorResource::cachedResource): 42915 (WebCore::InspectorResource::type): 42916 (WebCore::InspectorResource::resourceData): 42917 * inspector/InspectorResource.h: 42918 Fix the issue by trying to fetch corresponding CachedResource harder - also look in global 42919 cache. This seems safe, and easier than updating the Inspector on transitions between 42920 resource states (revalidate vs. revalidate done and preload vs. non-preload). 42921 42922 2009-10-22 Beth Dakin <bdakin (a] apple.com> 42923 42924 Reviewed by Dan Bernstein. 42925 42926 Fix for <rdar://problem/6942706> ER: Add a CSS property that allows 42927 shadows to work for SVG content 42928 -and corresponding- 42929 https://bugs.webkit.org/show_bug.cgi?id=30479 42930 42931 This patch adds a new SVG-specific CSS property called -webkit- 42932 shadow that has the same syntax as -webkit-box-shadow 42933 42934 Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and 42935 make valueForShadow a member function rather than a static function 42936 * css/CSSComputedStyleDeclaration.cpp: 42937 (WebCore::): 42938 (WebCore::CSSComputedStyleDeclaration::valueForShadow): 42939 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 42940 * css/CSSComputedStyleDeclaration.h: 42941 42942 Call valueForShadow for CSSPropertyWebkitShadow 42943 * css/SVGCSSComputedStyleDeclaration.cpp: 42944 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 42945 42946 Do standard CSS stuff for CSSPropertyWebkitShadow 42947 * css/SVGCSSParser.cpp: 42948 (WebCore::CSSParser::parseSVGValue): 42949 * css/SVGCSSPropertyNames.in: 42950 * css/SVGCSSStyleSelector.cpp: 42951 (WebCore::CSSStyleSelector::applySVGProperty): 42952 42953 Set the appropriate shadow on the paint context if we have one. 42954 This seems to be all we have to do to have an SVG-shaped shadow. 42955 * rendering/SVGRenderSupport.cpp: 42956 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 42957 42958 Add shadow to SVGRenderStyle. I added a new macro that I don't like 42959 just because that's the way things are done here right now. 42960 * rendering/style/SVGRenderStyle.cpp: 42961 (WebCore::SVGRenderStyle::SVGRenderStyle): 42962 (WebCore::SVGRenderStyle::operator==): 42963 * rendering/style/SVGRenderStyle.h: 42964 * rendering/style/SVGRenderStyleDefs.cpp: 42965 (StyleShadowSVGData::StyleShadowSVGData): 42966 (StyleShadowSVGData::operator==): 42967 * rendering/style/SVGRenderStyleDefs.h: 42968 (WebCore::StyleShadowSVGData::create): 42969 (WebCore::StyleShadowSVGData::copy): 42970 (WebCore::StyleShadowSVGData::operator!=): 42971 42972 2009-10-22 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 42973 42974 Reviewed by Xan Lopez. 42975 42976 https://bugs.webkit.org/show_bug.cgi?id=25530 42977 [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels 42978 42979 Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY. 42980 Also causes the accessible name for labeled controls to be based on 42981 the label as expected, rather than based on the contents. 42982 42983 * accessibility/AccessibilityRenderObject.h: 42984 * accessibility/AccessibilityRenderObject.cpp: 42985 (correspondingLabelForControlElement): 42986 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 42987 (setAtkRelationSetFromCoreObject): 42988 (webkit_accessible_ref_relation_set): 42989 (webkit_accessible_class_init): 42990 (webkit_accessible_get_name): 42991 42992 2009-10-22 Joseph Pecoraro <joepeck (a] webkit.org> 42993 42994 Reviewed by Timothy Hatcher. 42995 42996 Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive" 42997 https://bugs.webkit.org/show_bug.cgi?id=30663 42998 42999 Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames. 43000 43001 * inspector/front-end/inspector.js: 43002 (WebInspector.windowFocused): fix for inner iframes 43003 (WebInspector.windowBlurred): fix for inner iframes 43004 (WebInspector.addMainEventListeners): change useCapture to false 43005 43006 2009-10-22 Jaime Yap <jaimeyap (a] google.com> 43007 43008 Reviewed by Timothy Hatcher. 43009 43010 Makes a page reload optional when activating resource monitoring in 43011 InspectorController. It leaves the default behavior as performing the reload. 43012 Reload is an optional param so callsites do not have to change. 43013 43014 https://bugs.webkit.org/show_bug.cgi?id=30684 43015 43016 No new tests added. 43017 43018 * inspector/InspectorController.cpp: 43019 (WebCore::InspectorController::enableResourceTracking): 43020 * inspector/InspectorController.h: 43021 43022 2009-10-22 Shu Chang <Chang.Shu (a] nokia.com> 43023 43024 Reviewed by Eric Seidel. 43025 43026 [Qt] Fix memory leak in QNetworkReplyHandler::abort(). 43027 In QNetworkReplyHandler::release(), m_reply should no longer point to its parent 43028 after being released. 43029 https://bugs.webkit.org/show_bug.cgi?id=30167 43030 43031 No layout test available as a non-functional fix. 43032 43033 * platform/network/qt/QNetworkReplyHandler.cpp: 43034 (WebCore::QNetworkReplyHandler::abort): 43035 (WebCore::QNetworkReplyHandler::release): 43036 43037 2009-10-22 Pavel Feldman <pfeldman (a] chromium.org> 43038 43039 Reviewed by Timothy Hatcher. 43040 43041 Web Inspector: Fix DOMAgent leak. 43042 43043 https://bugs.webkit.org/show_bug.cgi?id=30615 43044 43045 * inspector/InspectorController.cpp: 43046 (WebCore::InspectorController::~InspectorController): 43047 (WebCore::InspectorController::setFrontendProxyObject): 43048 (WebCore::InspectorController::close): 43049 (WebCore::InspectorController::releaseDOMAgent): 43050 * inspector/InspectorController.h: 43051 * inspector/InspectorDOMAgent.h: 43052 (WebCore::InspectorDOMAgent::create): 43053 43054 2009-10-22 Dimitri Glazkov <dglazkov (a] chromium.org> 43055 43056 Reviewed by Adam Barth. 43057 43058 [V8] Rework event listeners to not hold references to frame or V8 context. 43059 43060 https://bugs.webkit.org/show_bug.cgi?id=30648 43061 43062 Covered by existing layout tests: fast/events/attribute-listener* 43063 43064 * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext* 43065 to event listener handling code. 43066 * bindings/v8/DateExtension.cpp: 43067 (WebCore::DateExtension::setAllowSleep): Changed to use currentContext(). 43068 * bindings/v8/ScriptEventListener.cpp: 43069 (WebCore::createAttributeEventListener): Reworked to match JSC logic. 43070 (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param. 43071 * bindings/v8/V8AbstractEventListener.cpp: 43072 (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param 43073 and usage. 43074 (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*. 43075 (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto. 43076 * bindings/v8/V8AbstractEventListener.h: 43077 (WebCore::V8AbstractEventListener::getListenerObject): Ditto. 43078 (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto. 43079 * bindings/v8/V8DOMWrapper.cpp: 43080 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Added ScriptExecutionContext* param. 43081 (WebCore::V8DOMWrapper::getEventListener): Ditto. 43082 * bindings/v8/V8DOMWrapper.h: 43083 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto. 43084 * bindings/v8/V8EventListenerList.h: 43085 (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param, 43086 because it's no longer needed. 43087 * bindings/v8/V8IsolatedWorld.h: 43088 (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context. 43089 * bindings/v8/V8LazyEventListener.cpp: 43090 (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage. 43091 (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param. 43092 (WebCore::V8LazyEventListener::prepareListenerObject): Ditto. 43093 * bindings/v8/V8LazyEventListener.h: 43094 (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl. 43095 * bindings/v8/V8Proxy.cpp: 43096 (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style. 43097 (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly. 43098 (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto. 43099 (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto. 43100 (WebCore::V8Proxy::isContextInitialized): Ditto. 43101 (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto. 43102 (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto. 43103 (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context. 43104 (WebCore::V8Proxy::clearForClose): Changed to use m_context directly. 43105 (WebCore::V8Proxy::clearForNavigation): Ditto. 43106 (WebCore::V8Proxy::setSecurityToken): Ditto. 43107 (WebCore::V8Proxy::updateDocument): Ditto. 43108 (WebCore::V8Proxy::initContextIfNeeded): Ditto. 43109 (WebCore::V8Proxy::context): Changed to use v8::Local. 43110 (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly. 43111 (WebCore::V8Proxy::setContextDebugId): Ditto. 43112 (WebCore::toV8Context): 43113 * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight 43114 v8::Persistent for m_context. 43115 * bindings/v8/V8WorkerContextEventListener.cpp: 43116 (WebCore::workerProxy): Added. 43117 (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed 43118 WorkerContextExecutionProxy* param. 43119 (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*. 43120 (WebCore::V8WorkerContextEventListener::reportError): Ditto. 43121 (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto. 43122 (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto. 43123 * bindings/v8/V8WorkerContextEventListener.h: 43124 (WebCore::V8WorkerContextEventListener::create): Removed 43125 WorkerContextExecutionProxy* param. 43126 * bindings/v8/WorkerContextExecutionProxy.cpp: 43127 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType* 43128 template param. 43129 * bindings/v8/custom/V8CustomEventListener.cpp: 43130 (WebCore::V8EventListener::V8EventListener): Removed Frame* param. 43131 (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*. 43132 (WebCore::V8EventListener::callListenerFunction): Ditto. 43133 * bindings/v8/custom/V8CustomEventListener.h: 43134 (WebCore::V8EventListener::create): Removed Frame* param. 43135 43136 2009-10-14 Gaurav Shah <gauravsh (a] google.com> 43137 43138 Reviewed by Darin Fisher. 43139 43140 Replaces temporary link stub for <keygen> tag handler for the Chromium 43141 browser with a call via the Chromium Bridge. 43142 43143 https://bugs.webkit.org/show_bug.cgi?id=30360 43144 43145 * platform/SSLKeyGenerator.h: 43146 * platform/chromium/ChromiumBridge.h: 43147 * platform/chromium/SSLKeyGeneratorChromium.cpp: 43148 (WebCore::getSupportedKeySizes): 43149 (WebCore::signedPublicKeyAndChallengeString): 43150 * platform/chromium/TemporaryLinkStubs.cpp: 43151 (WebCore::KURL::fileSystemPath): 43152 (WebCore::SharedBuffer::createWithContentsOfFile): 43153 43154 2009-10-22 Avi Drissman <avi (a] chromium.org> 43155 43156 Reviewed by Eric Seidel. 43157 43158 Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms. 43159 43160 https://bugs.webkit.org/show_bug.cgi?id=30591 43161 43162 * platform/chromium/ChromiumBridge.h: 43163 * platform/chromium/PasteboardChromium.cpp: 43164 (WebCore::Pasteboard::writeImage): 43165 43166 2009-10-20 Simon Fraser <simon.fraser (a] apple.com> 43167 43168 Reviewed by Darin Adler. 43169 43170 Make accelerated compositing debug indicators work in release builds 43171 https://bugs.webkit.org/show_bug.cgi?id=30588 43172 43173 Allow some debug indicators, that show which page elements go into compositing layers, 43174 to work in release builds, when the runtime prefs are set. 43175 43176 * platform/graphics/GraphicsLayer.cpp: 43177 (WebCore::GraphicsLayer::GraphicsLayer): 43178 (WebCore::GraphicsLayer::setZPosition): 43179 * platform/graphics/GraphicsLayer.h: 43180 * platform/graphics/mac/GraphicsLayerCA.h: 43181 * platform/graphics/mac/GraphicsLayerCA.mm: 43182 (WebCore::clearBorderColor): 43183 (WebCore::GraphicsLayer::showRepaintCounter): 43184 (WebCore::GraphicsLayerCA::GraphicsLayerCA): 43185 (WebCore::GraphicsLayerCA::updateMasksToBounds): 43186 (WebCore::GraphicsLayerCA::updateLayerDrawsContent): 43187 (WebCore::GraphicsLayerCA::setDebugBorder): 43188 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 43189 (WebCore::GraphicsLayerCA::setupContentsLayer): 43190 * platform/graphics/mac/WebLayer.mm: 43191 43192 2009-10-22 Keishi Hattori <casey.hattori (a] gmail.com> 43193 43194 Reviewed by Pavel Feldman. 43195 43196 Inspector should support monitorEvents/un monitorEvents() in the command line 43197 https://bugs.webkit.org/show_bug.cgi?id=19879 43198 43199 * inspector/front-end/EventListenersSidebarPane.js: 43200 (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent 43201 * inspector/front-end/InjectedScript.js: 43202 (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes, 43203 _normalizeEventTypes, monitorEvent, unmonitorEvent. 43204 43205 2009-10-21 Joseph Pecoraro <joepeck (a] webkit.org> 43206 43207 Reviewed by Pavel Feldman. 43208 43209 Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive" 43210 https://bugs.webkit.org/show_bug.cgi?id=30663 43211 43212 * inspector/front-end/inspector.js: 43213 (WebInspector.windowFocused): 43214 (WebInspector.windowBlurred): 43215 43216 2009-10-22 Joseph Pecoraro <joepeck (a] webkit.org> 43217 43218 Reviewed by Pavel Feldman. 43219 43220 Web Inspector: Error - requestContentType [undefined] is not an object 43221 https://bugs.webkit.org/show_bug.cgi?id=30666 43222 43223 * inspector/front-end/ResourceView.js: 43224 (WebInspector.ResourceView.prototype._refreshFormData): 43225 43226 2009-10-22 Maxime Simon <simon.maxime (a] gmail.com> 43227 43228 Reviewed by Holger Freyther. 43229 43230 [Haiku] Correction of the accented letter width (they were 2 characters long). 43231 https://bugs.webkit.org/show_bug.cgi?id=30629 43232 43233 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: 43234 (WebCore::SimpleFontData::platformWidthForGlyph): 43235 43236 2009-10-21 Jon Honeycutt <jhoneycutt (a] apple.com> 43237 43238 <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank 43239 <rdar://problem/7270314> After halting a transparent PluginView on 43240 Windows, the transparency is applied twice 43241 43242 Replace use of Frame::nodeImage() with a function that takes a snapshot 43243 of a PluginView. 43244 43245 Reviewed by Dan Bernstein. 43246 43247 * plugins/PluginView.h: 43248 Made paintWindowedPluginIntoContext() non-const, as it now calls 43249 paintIntoTransformedContext(). Declare paintIntoTransformedContext() 43250 and snapshot() for Windows platforms. 43251 43252 * plugins/win/PluginViewWin.cpp: 43253 (WebCore::PluginView::paintIntoTransformedContext): 43254 Paints into the passed HDC without applying any coordinate translations. 43255 Code moved from paintWindowedPluginIntoContext() and paint(). Removed 43256 the memset() of windowpos in lieu of assignment. 43257 (WebCore::PluginView::paintWindowedPluginIntoContext): 43258 Code moved to paintIntoTransformedContext(). 43259 (WebCore::PluginView::paint): 43260 Ditto. 43261 (WebCore::PluginView::snapshot): 43262 Create a context, and if the plug-in is windowless, translate it so the 43263 plug-in will draw at the correct location. Create a bitmap, and select 43264 it into the context. Paint the plug-in, and create a BitmapImage from 43265 the bitmap. 43266 (WebCore::PluginView::halt): 43267 Use snapshot(). 43268 43269 2009-10-22 Fumitoshi Ukai <ukai (a] chromium.org> 43270 43271 Reviewed by Alexey Proskuryakov. 43272 43273 Fix calculation of length in WebSocketChannel.cpp 43274 https://bugs.webkit.org/show_bug.cgi?id=30656 43275 43276 * websockets/WebSocketChannel.cpp: 43277 (WebCore::WebSocketChannel::didReceiveData): 43278 43279 2009-10-21 Dumitru Daniliuc <dumi (a] chromium.org> 43280 43281 Reviewed by Dimitri Glazkov. 43282 43283 Adding the ability to enable/disable functions in V8 at runtime. 43284 43285 https://bugs.webkit.org/show_bug.cgi?id=30650 43286 43287 * bindings/scripts/CodeGeneratorV8.pm: 43288 43289 2009-10-21 Darin Adler <darin (a] apple.com> 43290 43291 Swedish search (and other languages as well) is broken while fixing Japanese search 43292 https://bugs.webkit.org/show_bug.cgi?id=30646 43293 43294 Rolled Japanese tailoring out that was done to fix 43295 https://bugs.webkit.org/show_bug.cgi?id=30437 earlier. 43296 It was overriding the locale-specific tailoring. 43297 We'll land a fix once we figure out how to add the 43298 Japanese tailoring without removing anything. 43299 43300 * editing/TextIterator.cpp: Rolled out r49924. 43301 43302 2009-10-21 Pavel Feldman <pfeldman (a] chromium.org> 43303 43304 Not reviewed: chromium build fix - add missing image to gypi. 43305 43306 * WebCore.gypi: 43307 43308 2009-10-21 Brian Weinstein <bweinstein (a] apple.com> 43309 43310 Reviewed by Eric Seidel. 43311 43312 Fixes part of <http://webkit.org/b/30522>. 43313 Web Inspector: DOM Exceptions throughout the Inspector should be more human readable. 43314 43315 Expose the description attribute that is now a member of 43316 ExceptionBase as of r49723, so when a user logs an exception, they 43317 can see the description in the Web Inspector. 43318 43319 Test: fast/dom/dom-exception-description.html 43320 43321 * dom/DOMCoreException.idl: 43322 * dom/EventException.idl: 43323 * dom/RangeException.idl: 43324 * svg/SVGException.idl: 43325 * xml/XMLHttpRequestException.idl: 43326 * xml/XPathException.idl: 43327 43328 2009-10-21 Brian Weinstein <bweinstein (a] apple.com> 43329 43330 Reviewed by Timothy Hatcher. 43331 43332 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>. 43333 REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary. 43334 43335 Add a check to make sure a function we need to calculate percentages is 43336 defined before we use it. 43337 43338 * inspector/front-end/ResourcesPanel.js: 43339 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): 43340 43341 2009-10-21 Keishi Hattori <casey.hattori (a] gmail.com> 43342 43343 Reviewed by Timothy Hatcher. 43344 43345 REGRESSION: Clicking on nodes in the console should take you to the element in the DOM 43346 https://bugs.webkit.org/show_bug.cgi?id=27231 43347 43348 * inspector/front-end/ConsoleView.js: 43349 (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled 43350 * inspector/front-end/ElementsTreeOutline.js: 43351 (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled 43352 (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 43353 treeOutline.showInElementsPanelEnabled is true. 43354 43355 2009-10-21 Jeremy Orlow <jorlow (a] chromium.org> 43356 43357 Reviewed by Eric Seidel. 43358 43359 https://bugs.webkit.org/show_bug.cgi?id=30637 43360 Fix a compiler warning in windows. 43361 43362 * loader/ResourceLoadNotifier.h: 43363 43364 2009-10-21 Dmitry Titov <dimich (a] chromium.org> 43365 43366 Reviewed by Darin Adler. 43367 43368 Fix the crash when a node not in a document receives dispatchEvent. 43369 https://bugs.webkit.org/show_bug.cgi?id=30611 43370 43371 Test: fast/events/dispatch-event-no-document.html 43372 43373 * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context. 43374 (WebCore::EventTarget::dispatchEvent): 43375 43376 2009-10-21 Adam Langley <agl (a] google.com> 43377 43378 Reviewed by Eric Seidel. 43379 43380 Chromium Linux: disable subpixel text on layers. 43381 43382 https://bugs.webkit.org/show_bug.cgi?id=30635 43383 http://code.google.com/p/chromium/issues/detail?id=25365 43384 43385 With the addition of layers for drawing rounded corners in r49641, 43386 subpixel text on rounded rectangles broke. This is because the layer 43387 only contains a single alpha channel and this is insufficient to 43388 compose subpixel text correctly. 43389 43390 On Windows, a large body of code in TransparencyWin.cpp exists to try 43391 to deal with this. Even then, in some cases, it downgrades to 43392 anti-aliased text. We need a fix for the grevious effects quickly thus 43393 this patch disables subpixel text when rendering into a layer. 43394 43395 This would be covered by existing tests except that subpixel text is 43396 disabled for pixel tests on Chromium Linux. 43397 43398 * platform/graphics/chromium/FontLinux.cpp: 43399 (WebCore::isCanvasMultiLayered): 43400 (WebCore::adjustTextRenderMode): 43401 (WebCore::Font::drawGlyphs): 43402 (WebCore::Font::drawComplexText): 43403 43404 2009-10-21 Kevin Ollivier <kevino (a] theolliviers.com> 43405 43406 wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise 43407 it will use the sqlite3 system library rather than WebCoreSQLite3. 43408 43409 * wscript: 43410 43411 2009-10-21 Dan Bernstein <mitz (a] apple.com> 43412 43413 Reviewed by Sam Weinig. 43414 43415 Fixed background-clip parsing regressions introduced in r46240. 43416 43417 Test: fast/css/background-clip-text.html 43418 43419 * css/CSSParser.cpp: 43420 (WebCore::parseBackgroundClip): Added this helper method. 43421 (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to 43422 reparse the value. The old code called parseFillProperty() again, which 43423 didnt work, because parseFillProperty() advances the value list. 43424 (WebCore::CSSParser::parseFillProperty): Changed to use 43425 parseBackgroundClip(). 43426 * css/CSSPrimitiveValueMappings.h: 43427 (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for 43428 CSSValueWebkitText. 43429 43430 2009-10-21 Alexander Pavlov <apavlov (a] chromium.org> 43431 43432 Reviewed by Timothy Hatcher. 43433 43434 Enable creation of custom SidebarTreeElements for different ProfileTypes 43435 43436 ProfileTypes can now create sidebar tree elements of custom types. 43437 https://bugs.webkit.org/show_bug.cgi?id=30520 43438 43439 * inspector/front-end/ProfileView.js: 43440 (WebInspector.CPUProfileType.prototype.setRecordingProfile): 43441 (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile): 43442 (WebInspector.CPUProfileType.prototype.createView): 43443 (WebInspector.CPUProfile.prototype.get head): 43444 * inspector/front-end/ProfilesPanel.js: 43445 (WebInspector.ProfileType.prototype.buttonClicked): 43446 (WebInspector.ProfileType.prototype.viewForProfile): 43447 (WebInspector.ProfileType.prototype.createView): 43448 (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile): 43449 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 43450 (WebInspector.ProfilesPanel.prototype.showProfile): 43451 43452 2009-10-20 Joseph Pecoraro <joepeck (a] webkit.org> 43453 43454 Reviewed by Timothy Hatcher. 43455 43456 Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked 43457 https://bugs.webkit.org/show_bug.cgi?id=17126 43458 43459 * inspector/front-end/ElementsPanel.js: 43460 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search 43461 * inspector/front-end/StylesSidebarPane.js: 43462 (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search 43463 * inspector/front-end/ElementsTreeOutline.js: 43464 (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name 43465 43466 2009-10-20 Pavel Feldman <pfeldman (a] chromium.org> 43467 43468 Reviewed by Timothy Hatcher. 43469 43470 Web Inspector: Fix DOM Agent leak. 43471 43472 https://bugs.webkit.org/show_bug.cgi?id=30615 43473 43474 * inspector/InspectorController.cpp: 43475 (WebCore::InspectorController::~InspectorController): 43476 43477 2009-10-21 Girish Ramakrishnan <girish (a] forwardbias.in> 43478 43479 Reviewed by Holger Freyther. 43480 43481 Plugins: Create manual tests for testing plugins 43482 43483 Create two test files: 43484 1. windowed.html - Test plugin in windowed mode. 43485 2. windowless.html - Test plugin in windowless mode. 43486 43487 https://bugs.webkit.org/show_bug.cgi?id=30503 43488 43489 * manual-tests/plugins/windowed.html: Added. 43490 * manual-tests/plugins/windowless.html: Added. 43491 43492 2009-10-21 Satoshi Nakagawa <psychs (a] limechat.net> 43493 43494 Reviewed by Darin Adler. 43495 43496 Fixed Japanese text search problems. 43497 Treat small kana letters and kana letters as different characters in search. 43498 Do not ignore diacritic marks in search for Japanese texts. 43499 43500 https://bugs.webkit.org/show_bug.cgi?id=30437 43501 43502 Test: fast/text/international/japanese-kana-letters.html 43503 43504 * editing/TextIterator.cpp: 43505 (WebCore::createCollator): 43506 (WebCore::collator): 43507 (WebCore::createSearcher): 43508 43509 2009-10-20 Eric Z. Ayers <zundel (a] google.com> 43510 43511 Reviewed by Timothy Hatcher. 43512 43513 Changes TimelineItems to be created with raw timestamps as opposed 43514 to a time relative to a start of session. Normalized timestamps cause 43515 problems when monitoring a browsing session across multiple page 43516 transitions. 43517 43518 * inspector/InspectorTimelineAgent.cpp: 43519 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 43520 (WebCore::InspectorTimelineAgent::willDispatchDOMEvent): 43521 (WebCore::InspectorTimelineAgent::willLayout): 43522 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 43523 (WebCore::InspectorTimelineAgent::willPaint): 43524 (WebCore::InspectorTimelineAgent::willWriteHTML): 43525 (WebCore::InspectorTimelineAgent::reset): 43526 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 43527 * inspector/InspectorTimelineAgent.h: 43528 43529 2009-10-20 Mark Rowe <mrowe (a] apple.com> 43530 43531 Reviewed by Oliver Hunt. 43532 43533 Fix leak of WebSocketChannel by adopting the newly-created reference. 43534 43535 * websockets/WebSocketChannel.h: 43536 (WebCore::WebSocketChannel::create): 43537 43538 2009-10-20 Jeremy Orlow <jorlow (a] chromium.org> 43539 43540 Reviewed by Adam Barth. 43541 43542 DOM Storage runtime flag changes 43543 https://bugs.webkit.org/show_bug.cgi?id=30602 43544 43545 Part 1/2. Removing sessionStorageEnabled in next patch after the 43546 Chromium side of the changes lands. 43547 43548 Revert my changes to Settings and instead implement DOM Storage enabling via 43549 the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240 43550 43551 This stuff was (intentionally) never exposed to web pages or DRT, so there's no 43552 LayoutTest visible changes and thus no tests. 43553 43554 * bindings/v8/custom/V8CustomBinding.h: 43555 * bindings/v8/custom/V8DOMWindowCustom.cpp: 43556 (WebCore::ACCESSOR_RUNTIME_ENABLER): 43557 * page/DOMWindow.idl: 43558 * storage/Storage.cpp: 43559 (WebCore::Storage::setLocalStorageAvailable): 43560 (WebCore::Storage::localStorageAvailable): 43561 (WebCore::Storage::setSessionStorageAvailable): 43562 (WebCore::Storage::sessionStorageAvailable): 43563 * storage/Storage.h: 43564 43565 2009-10-20 John Gregg <johnnyg (a] google.com> 43566 43567 Reviewed by David Levin. 43568 43569 Need to turn off notifications properly at runtime 43570 https://bugs.webkit.org/show_bug.cgi?id=30409 43571 43572 This code only affects chromium, and is all behind a compile time 43573 flag current turned off, so no new tests. 43574 43575 * bindings/v8/custom/V8CustomBinding.h: 43576 * bindings/v8/custom/V8DOMWindowCustom.cpp: 43577 (WebCore::ACCESSOR_RUNTIME_ENABLER): 43578 * bindings/v8/custom/V8WorkerContextCustom.cpp: 43579 (WebCore::ACCESSOR_RUNTIME_ENABLER): 43580 * notifications/NotificationCenter.cpp: 43581 (WebCore::NotificationCenter::setIsAvailable): 43582 (WebCore::NotificationCenter::isAvailable): 43583 * notifications/NotificationCenter.h: 43584 * page/DOMWindow.idl: 43585 * workers/WorkerContext.idl: 43586 43587 2009-10-20 James Robinson <jamesr (a] chromium.org> 43588 43589 Reviewed by Adam Barth. 43590 43591 Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and 43592 use adoptRef() properly. I failed to read the RefPtr docs the first time through :( 43593 43594 No new tests, error was caught by valgrind on the Chromium builders. 43595 43596 * bindings/v8/ScriptString.h: 43597 (WebCore::ScriptString::ScriptString): 43598 (WebCore::ScriptString::operator=): 43599 * bindings/v8/ScriptStringImpl.h: 43600 (WebCore::ScriptStringImpl::create): 43601 43602 2009-10-20 Mikhail Naganov <mnaganov (a] chromium.org> 43603 43604 Reviewed by Pavel Feldman. 43605 43606 Web Inspector: populate child nodes before sorting them. 43607 43608 https://bugs.webkit.org/show_bug.cgi?id=29673 43609 43610 * inspector/front-end/BottomUpProfileDataGridTree.js: 43611 (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode. 43612 (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode): 43613 (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild): 43614 (WebInspector.BottomUpProfileDataGridNode.prototype._exclude): 43615 (WebInspector.BottomUpProfileDataGridNode.prototype._merge): 43616 (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate): 43617 (WebInspector.BottomUpProfileDataGridTree.prototype.exclude): 43618 * inspector/front-end/ProfileDataGridTree.js: 43619 (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses. 43620 (WebInspector.ProfileDataGridNode.prototype.get _parent): 43621 (WebInspector.ProfileDataGridNode.prototype._populate): 43622 * inspector/front-end/TopDownProfileDataGridTree.js: 43623 (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate): 43624 43625 2009-10-20 Jens Alfke <snej (a] chromium.org> 43626 43627 Reviewed by Eric Seidel. 43628 43629 Remove redundant String ref/deref calls in generated V8 bindings. 43630 https://bugs.webkit.org/show_bug.cgi?id=30579 43631 43632 * bindings/v8/V8Binding.h: 43633 (WebCore::toString): Fix return type of 'toString' to make it truly a no-op 43634 instead of constructing/destructing a String. 43635 43636 2009-10-20 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 43637 43638 Reviewed by Xan Lopez. 43639 43640 https://bugs.webkit.org/show_bug.cgi?id=25411 43641 [GTK] ATK accessible ancestry broken 43642 43643 Work around for the problem of bogus additional objects in the ancestry. 43644 We now set the parent when we ref the child, then ask the Atk child if 43645 it knows its parent. This solves the bulk of the cases. For those it 43646 doesn't, fall back to the existing logic. 43647 43648 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 43649 (webkit_accessible_get_parent): 43650 (webkit_accessible_ref_child): 43651 43652 2009-10-20 Brian Weinstein <bweinstein (a] apple.com> 43653 43654 Reviewed by Alice Liu. 43655 43656 Fixes <http://webkit.org/b/30421>. 43657 Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain. 43658 43659 When a page like Google generates an about:blank, it shows up as a local file on 43660 the list of Cookie domains, but has all of the cookies of Google. When we are adding 43661 cookie domains to the inspector, we should only add the domain is the URL of the resource 43662 is in the HTTP protocol family or a file URL. 43663 43664 * inspector/InspectorController.cpp: 43665 (WebCore::InspectorController::populateScriptObjects): 43666 (WebCore::InspectorController::didFinishLoading): 43667 43668 2009-10-20 Mark Mentovai <mark (a] chromium.org> 43669 43670 Reviewed by Darin Fisher. 43671 43672 Use a version of libWebKitSystemInterface with global symbols marked 43673 private_extern for Chromium Mac. 43674 43675 https://bugs.webkit.org/show_bug.cgi?id=30590 43676 43677 * WebCore.gyp/WebCore.gyp: 43678 * WebCore.gyp/mac: Added. 43679 * WebCore.gyp/mac/Empty.cpp: Added. 43680 * WebCore.gyp/mac/adjust_visibility.sh: Added. 43681 43682 2009-10-20 Zoltan Horvath <zoltan (a] webkit.org> 43683 43684 Reviewed by Eric Seidel. 43685 43686 Allow custom memory allocation control for WebCore's CSSProperty 43687 https://bugs.webkit.org/show_bug.cgi?id=30564 43688 43689 Inherits CSSProperty class from FastAllocBase because it has been 43690 instantiated by 'new' in WebCore/css/CSSParser.cpp:367. 43691 43692 * css/CSSProperty.h: 43693 43694 2009-10-20 Andrew Scherkus <scherkus (a] chromium.org> 43695 43696 Reviewed by Eric Seidel. 43697 43698 Hide Chromium's media slider thumb if no source has been loaded. 43699 43700 https://bugs.webkit.org/show_bug.cgi?id=30529 43701 43702 Covered by existing layout tests, notably: 43703 LayoutTests/media/controls-rendering.html 43704 LayoutTests/media/unsupported-tracks.html 43705 LayoutTests/media/video-src-none.html 43706 43707 * rendering/RenderMediaControlsChromium.cpp: 43708 (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set. 43709 (WebCore::paintMediaMuteButton): Refactored to use hasSource(). 43710 (WebCore::paintMediaPlayButton): Ditto. 43711 (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb. 43712 43713 2009-10-20 Nate Chapin <japhet (a] chromium.org> 43714 43715 Reviewed by Adam Barth. 43716 43717 Added getter for FrameLoader:m_suppressOpenerInNewFrame. 43718 This will allow Chromium to more intelligently detect 43719 noreferrer links and therefore open them in a new process. 43720 43721 https://bugs.webkit.org/show_bug.cgi?id=30581 43722 43723 * loader/FrameLoader.h: 43724 (WebCore::FrameLoader::suppressOpenerInNewFrame): Added. 43725 43726 2009-10-20 Zoltan Horvath <zoltan (a] webkit.org> 43727 43728 Reviewed by Darin Adler. 43729 43730 Allow custom memory allocation control for WebCore's CSSParserFunction 43731 https://bugs.webkit.org/show_bug.cgi?id=30563 43732 43733 Inherits CSSParserFunction struct from FastAllocBase because it has been 43734 instantiated by 'new' in WebCore/css/CSSParser.cpp:4827. 43735 43736 * css/CSSProperty.h: 43737 43738 2009-10-20 Joseph Pecoraro <joepeck (a] webkit.org> 43739 43740 Reviewed by Timothy Hatcher. 43741 43742 Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles 43743 https://bugs.webkit.org/show_bug.cgi?id=30554 43744 43745 * inspector/front-end/inspector.css: added style to pane buttons 43746 43747 2009-10-20 Yury Semikhatsky <yurys (a] chromium.org> 43748 43749 Reviewed by Pavel Feldman. 43750 43751 Set debug id for contexts of isolated worlds to distinguish them in debugger. 43752 43753 https://bugs.webkit.org/show_bug.cgi?id=30559 43754 43755 * bindings/v8/V8Proxy.cpp: 43756 (WebCore::V8Proxy::evaluateInIsolatedWorld): 43757 (WebCore::V8Proxy::evaluateInNewContext): 43758 (WebCore::V8Proxy::setInjectedScriptContextDebugId): 43759 * bindings/v8/V8Proxy.h: 43760 43761 2009-10-20 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 43762 43763 Unreviewed buildfix. 43764 [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro. 43765 43766 * WebCore.pro: 43767 43768 2009-10-20 Fumitoshi Ukai <ukai (a] chromium.org> 43769 43770 Reviewed by David Levin. 43771 43772 Set EnabledAtRuntime for WebSocket in DOMWindow 43773 https://bugs.webkit.org/show_bug.cgi?id=29896 43774 43775 Supported by chromium/v8 only. 43776 Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8 43777 bindings. 43778 Remove Settings::experimentalWebSocketsEnabled() and 43779 setExperimentalWebSocketsEnabled(bool). 43780 43781 * WebCore.base.exp: 43782 * bindings/js/JSDOMWindowCustom.cpp: 43783 (WebCore::JSDOMWindow::webSocket): 43784 * bindings/v8/V8DOMWrapper.cpp: 43785 (WebCore::V8DOMWrapper::getConstructor): 43786 * bindings/v8/custom/V8CustomBinding.h: 43787 * bindings/v8/custom/V8DOMWindowCustom.cpp: 43788 (WebCore::ACCESSOR_RUNTIME_ENABLER): 43789 * page/DOMWindow.idl: 43790 * page/Settings.cpp: 43791 (WebCore::Settings::Settings): 43792 * page/Settings.h: 43793 * websockets/WebSocket.cpp: 43794 (WebCore::WebSocket::setIsAvailable): 43795 (WebCore::WebSocket::isAvailable): 43796 * websockets/WebSocket.h: 43797 43798 2009-10-19 Oliver Hunt <oliver (a] apple.com> 43799 43800 Reviewed by Sam Weinig. 43801 43802 REGRESSION: Dromaeo DOM test is 14% slower 43803 https://bugs.webkit.org/show_bug.cgi?id=30273 43804 43805 Whoops, make prototype bindings actually use the StructureFlags. 43806 43807 * bindings/scripts/CodeGeneratorJS.pm: 43808 43809 2009-10-19 James Robinson <jamesr (a] chromium.org> 43810 43811 Reviewed by Adam Barth. 43812 43813 Better implementation of WebCore::ScriptString for the V8 bindings. 43814 43815 https://bugs.webkit.org/show_bug.cgi?id=29909 43816 43817 WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is 43818 shared with JavaScript. Thus, simply using a WebCore::String and copying the value 43819 is pretty inefficient, especially since responseText is built up with a sequence of 43820 operator+= calls. JSC builds use a JSC::UString to share the buffer when possible, 43821 this patch adopts a similar approach for V8. 43822 43823 No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest 43824 43825 * WebCore.gypi: 43826 * bindings/v8/ScriptString.h: 43827 (WebCore::ScriptString::ScriptString): 43828 (WebCore::ScriptString::operator String): 43829 (WebCore::ScriptString::isNull): 43830 (WebCore::ScriptString::size): 43831 (WebCore::ScriptString::operator=): 43832 (WebCore::ScriptString::operator+=): 43833 (WebCore::ScriptString::v8StringOrNull): 43834 * bindings/v8/ScriptStringImpl.cpp: Added. 43835 (WebCore::ScriptStringImpl::ScriptStringImpl): 43836 (WebCore::ScriptStringImpl::~ScriptStringImpl): 43837 (WebCore::ScriptStringImpl::toString): 43838 (WebCore::ScriptStringImpl::isNull): 43839 (WebCore::ScriptStringImpl::size): 43840 (WebCore::ScriptStringImpl::append): 43841 * bindings/v8/ScriptStringImpl.h: Added. 43842 (WebCore::ScriptStringImpl::ScriptStringImpl): 43843 (WebCore::ScriptStringImpl::v8StringHandle): 43844 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 43845 (WebCore::ACCESSOR_GETTER): 43846 43847 2009-10-19 Adam Barth <abarth (a] webkit.org> 43848 43849 No review, rolling out r49837. 43850 http://trac.webkit.org/changeset/49837 43851 43852 * page/Settings.cpp: 43853 (WebCore::Settings::setStandardFontFamily): 43854 (WebCore::Settings::setFixedFontFamily): 43855 (WebCore::Settings::setSerifFontFamily): 43856 (WebCore::Settings::setSansSerifFontFamily): 43857 (WebCore::Settings::setCursiveFontFamily): 43858 (WebCore::Settings::setFantasyFontFamily): 43859 * page/Settings.h: 43860 (WebCore::Settings::standardFontFamily): 43861 (WebCore::Settings::fixedFontFamily): 43862 (WebCore::Settings::serifFontFamily): 43863 (WebCore::Settings::sansSerifFontFamily): 43864 (WebCore::Settings::cursiveFontFamily): 43865 (WebCore::Settings::fantasyFontFamily): 43866 * platform/text/UScriptCode.h: Removed. 43867 43868 2009-10-19 Kwang Yul Seo <skyul (a] company100.net> 43869 43870 Reviewed by Eric Seidel. 43871 43872 Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf. 43873 https://bugs.webkit.org/show_bug.cgi?id=30473 43874 43875 vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of 43876 PLALTFORM(WIN_OS) guards. 43877 43878 * dom/XMLTokenizerLibxml2.cpp: 43879 (WebCore::XMLTokenizer::error): 43880 43881 2009-10-19 Jungshik Shin <jshin (a] chromium.org> 43882 43883 Reviewed by Eric Seidel. 43884 43885 https://bugs.webkit.org/show_bug.cgi?id=20797 43886 43887 Make generic font family getters/setters accept an additional 43888 argument (script code). It has a default value so that if an embedder 43889 does not have/want a per-script font family setting, call-sites 43890 don't have to be changed. 43891 This is to prepare for fixing bug 10874 (font selection is not 43892 language-dependent) and bug 18085. 43893 43894 There should be no change in layout and no new layout test 43895 is added. 43896 43897 * WebCore.base.exp: 43898 * page/Settings.cpp: 43899 * page/Settings.h: 43900 * platform/text/UScriptCode.h: Added. This is for ports that 43901 do not use ICU. the part of ICU's common/unicode/uscript.h 43902 that defines script code enum was copied. To keep enums compatible 43903 with those in ICU, we don't generate the list out of Scripts.txt 43904 of the Unicode Data base or CLDR's data. 43905 43906 2009-10-19 Evan Stade <estade (a] chromium.org> 43907 43908 Reviewed by Darin Adler. 43909 43910 Clarify usage of SuddenTermination API. No code change. 43911 43912 * platform/SuddenTermination.h: 43913 43914 2009-10-19 Oliver Hunt <oliver (a] apple.com> 43915 43916 Reviewed by Gavin Barraclough. 43917 43918 REGRESSION: Dromaeo DOM test is 14% slower 43919 https://bugs.webkit.org/show_bug.cgi?id=30273 43920 43921 Make DOM bindings automatically inherit correct structure 43922 flags rather than being needlessly conservative. This is 43923 done by making the bindings generator use the same model 43924 for TypeInfo flags that we now use in JSC. 43925 43926 This gains us about 1% of this regression back. 43927 43928 * bindings/js/JSDOMBinding.h: 43929 (WebCore::DOMObjectWithGlobalPointer::createStructure): 43930 (WebCore::DOMConstructorObject::createStructure): 43931 * bindings/js/JSDOMWindowShell.h: 43932 (WebCore::JSDOMWindowShell::createStructure): 43933 * bindings/js/JSHTMLAllCollection.h: 43934 (WebCore::JSHTMLAllCollection::createStructure): 43935 * bindings/js/JSQuarantinedObjectWrapper.h: 43936 (WebCore::JSQuarantinedObjectWrapper::createStructure): 43937 * bindings/scripts/CodeGeneratorJS.pm: 43938 * bridge/objc/objc_runtime.h: 43939 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 43940 * bridge/runtime_array.h: 43941 (JSC::RuntimeArray::createStructure): 43942 * bridge/runtime_method.h: 43943 (JSC::RuntimeMethod::createStructure): 43944 * bridge/runtime_object.h: 43945 (JSC::RuntimeObjectImp::createStructure): 43946 43947 2009-10-19 Robin Qiu <robin.qiu (a] torchmobile.com.cn> 43948 43949 Reviewed by Nikolas Zimmermann. 43950 43951 Fixed a bug on nested SVG <use> elements. 43952 https://bugs.webkit.org/show_bug.cgi?id=26117 43953 When a <use> element refer to another <use> element which has 43954 child/children, the instance tree built for this <use> element 43955 is incorrect (more nodes than expected). 43956 43957 Test: svg/dom/use-on-use-with-child.svg 43958 43959 * svg/SVGUseElement.cpp: 43960 (WebCore::SVGUseElement::buildInstanceTree): 43961 43962 2009-10-19 Oliver Hunt <oliver (a] apple.com> 43963 43964 Small changes to fully invalidate and update the JavaScriptCallFrame. 43965 43966 <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint 43967 https://bugs.webkit.org/show_bug.cgi?id=27146 43968 43969 Reviewed by Timothy Hatcher. 43970 43971 * inspector/JavaScriptCallFrame.h: 43972 (WebCore::JavaScriptCallFrame::invalidate): 43973 (WebCore::JavaScriptCallFrame::update): 43974 43975 2009-10-19 Jeremy Orlow <jorlow (a] chromium.org> 43976 43977 Reviewed by Dmitri Titov. 43978 43979 Remove "source" from storage events 43980 https://bugs.webkit.org/show_bug.cgi?id=30536 43981 43982 Remove "source" from storage events per 43983 http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html 43984 43985 This was removed because it makes it introduces synchronous access that can 43986 cross the event loop boundry (since a storage event can fire from one process 43987 and be handled in another). 43988 43989 * inspector/InspectorDOMStorageResource.cpp: 43990 (WebCore::InspectorDOMStorageResource::handleEvent): 43991 * storage/StorageEvent.cpp: 43992 (WebCore::StorageEvent::create): 43993 (WebCore::StorageEvent::StorageEvent): 43994 (WebCore::StorageEvent::initStorageEvent): 43995 * storage/StorageEvent.h: 43996 (WebCore::StorageEvent::uri): 43997 * storage/StorageEvent.idl: 43998 * storage/StorageEventDispatcher.cpp: 43999 (WebCore::StorageEventDispatcher::dispatch): 44000 44001 2009-10-19 Adam Barth <abarth (a] webkit.org> 44002 44003 Reviewed by Eric Seidel. 44004 44005 Remove ResourceLoadNotifier::activeDocumentLoader 44006 https://bugs.webkit.org/show_bug.cgi?id=30533 44007 44008 Removing this method from ResourceLoadNotifier better decouples the 44009 notifier from FrameLoader. 44010 44011 * loader/FrameLoader.cpp: 44012 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 44013 (WebCore::FrameLoader::requestFromDelegate): 44014 * loader/ResourceLoadNotifier.cpp: 44015 (WebCore::ResourceLoadNotifier::didReceiveResponse): 44016 * loader/ResourceLoadNotifier.h: 44017 * loader/ResourceLoader.cpp: 44018 (WebCore::ResourceLoader::willSendRequest): 44019 44020 2009-10-19 Adam Barth <abarth (a] webkit.org> 44021 44022 Reviewed by Eric Seidel. 44023 44024 Move sendRemainingDelegateMessages to ResourceLoadNotifier 44025 https://bugs.webkit.org/show_bug.cgi?id=30531 44026 44027 This method is about notifying folks and doesn't interact with the rest 44028 of FrameLoader. 44029 44030 * loader/FrameLoader.cpp: 44031 (WebCore::FrameLoader::willLoadMediaElementURL): 44032 (WebCore::FrameLoader::commitProvisionalLoad): 44033 (WebCore::FrameLoader::loadResourceSynchronously): 44034 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 44035 * loader/FrameLoader.h: 44036 * loader/ResourceLoadNotifier.cpp: 44037 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): 44038 * loader/ResourceLoadNotifier.h: 44039 44040 2009-10-19 Adam Barth <abarth (a] webkit.org> 44041 44042 Reviewed by Eric Seidel. 44043 44044 Bypass popup blocker using click event 44045 https://bugs.webkit.org/show_bug.cgi?id=21501 44046 44047 Keep track of which events were generated by JavaScript and use that 44048 inforation when figuring out if we're processing a user gesture. 44049 44050 Test: http/tests/security/popup-blocked-from-fake-event.html 44051 44052 * bindings/js/ScriptController.cpp: 44053 (WebCore::ScriptController::processingUserGestureEvent): 44054 * bindings/v8/ScriptController.cpp: 44055 (WebCore::ScriptController::processingUserGesture): 44056 * dom/Document.cpp: 44057 (WebCore::Document::createEvent): 44058 * dom/Event.cpp: 44059 (WebCore::Event::Event): 44060 * dom/Event.h: 44061 (WebCore::Event::createdByDOM): 44062 (WebCore::Event::setCreatedByDOM): 44063 44064 2009-10-19 Dumitru Daniliuc <dumi (a] chromium.org> 44065 44066 Reviewed by Darin Adler. 44067 44068 Fixing a typo. 44069 44070 https://bugs.webkit.org/show_bug.cgi?id=30543 44071 44072 * platform/sql/SQLiteDatabase.h: 44073 44074 2009-10-19 Dmitry Titov <dimich (a] chromium.org> 44075 44076 Reviewed by Darin Adler. 44077 44078 Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame. 44079 https://bugs.webkit.org/show_bug.cgi?id=30544 44080 44081 * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added. 44082 44083 2009-10-19 Simon Fraser <simon.fraser (a] apple.com> 44084 44085 Reviewed by Darin Adler. 44086 44087 Flash at end of opacity/transform transition sometimes 44088 https://bugs.webkit.org/show_bug.cgi?id=30501 44089 44090 When a transition finishes, there window of time between when the animation is 44091 removed, and the final style set on the GraphicsLayer. This caused the layer to revert 44092 to its old appearance for one or two frames. To avoid this, we set the final 44093 transform or opacity at the start of the transition; we know that the animation 44094 will override the final value for as long as its running. 44095 44096 No test because this is a very transient effect that can't be captured 44097 in a test. 44098 44099 * rendering/RenderLayerBacking.cpp: 44100 (WebCore::RenderLayerBacking::createGraphicsLayer): 44101 (WebCore::RenderLayerBacking::updateLayerOpacity): 44102 (WebCore::RenderLayerBacking::updateLayerTransform): 44103 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 44104 (WebCore::RenderLayerBacking::startTransition): 44105 * rendering/RenderLayerBacking.h: 44106 44107 2009-10-19 Pavel Feldman <pfeldman (a] chromium.org> 44108 44109 Reviewed by Timothy Hatcher. 44110 44111 Web Inspector: Add more stop characters into console completions. 44112 44113 https://bugs.webkit.org/show_bug.cgi?id=30477 44114 44115 * inspector/front-end/ConsoleView.js: 44116 (WebInspector.ConsoleView.prototype.completions): 44117 (WebInspector.ConsoleView.prototype._reportCompletions): 44118 44119 2009-10-19 Marshall Culpepper <mculpepper (a] appcelerator.com> 44120 44121 Reviewed by Adam Roben. 44122 44123 implemented ClipboardWin::files() 44124 https://bugs.webkit.org/show_bug.cgi?id=29666 44125 44126 * platform/win/ClipboardWin.cpp: 44127 (WebCore::ClipboardWin::files): 44128 44129 2009-10-19 Nate Chapin <japhet (a] chromium.org> 44130 44131 Reviewed by Alexey Proskuryakov. 44132 44133 Add support for link relations in HTMLAnchorElement and implement rel="noreferrer". 44134 44135 https://bugs.webkit.org/show_bug.cgi?id=28986 44136 44137 Tests: http/tests/navigation/no-referrer-reset.html 44138 http/tests/navigation/no-referrer-same-window.html 44139 http/tests/navigation/no-referrer-subframe.html 44140 http/tests/navigation/no-referrer-target-blank.html 44141 44142 * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol 44143 * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer 44144 (WebCore::HTMLAnchorElement::HTMLAnchorElement): 44145 (WebCore::HTMLAnchorElement::defaultEventHandler): 44146 (WebCore::HTMLAnchorElement::parseMappedAttribute): 44147 (WebCore::HTMLAnchorElement::hasRel): 44148 (WebCore::HTMLAnchorElement::setRel): 44149 * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer 44150 * loader/FrameLoader.cpp: 44151 (WebCore::FrameLoader::FrameLoader): 44152 (WebCore::FrameLoader::createWindow): 44153 (WebCore::FrameLoader::changeLocation): 44154 (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy 44155 (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy 44156 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy 44157 * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes 44158 * loader/FrameLoaderTypes.h: Add enum for referrer policy 44159 * loader/RedirectScheduler.cpp: 44160 (WebCore::RedirectScheduler::timerFired): 44161 * page/ContextMenuController.cpp: 44162 (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected() 44163 * svg/SVGAElement.cpp: 44164 (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected() 44165 44166 44167 2009-10-19 Alpha Lam <hclam (a] chromium.org> 44168 44169 Reviewed by Dimitri Glazkov (dglazkov (a] chromium.org). 44170 44171 [v8] typeof(HTMLMediaElement) should return undefined if media 44172 engine is not available 44173 https://bugs.webkit.org/show_bug.cgi?id=30343 44174 44175 Check for availability of the media engine to disable 44176 HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError 44177 in runtime. 44178 44179 Try runs and review in Chromium: 44180 http://codereview.chromium.org/276011 44181 44182 Test: manual-tests/chromium/media-player-not-available.html 44183 44184 The above test can work work in Chromium. Testing procedures: 44185 1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries) 44186 2. Open Chromium with above test page 44187 3. Verify the test results according to the test page 44188 44189 * bindings/v8/custom/V8CustomBinding.h: 44190 Declare enabler methods. 44191 * bindings/v8/custom/V8DOMWindowCustom.cpp: 44192 Report enabled only if media player is available. 44193 * manual-tests/chromium/media-player-not-available.html: Added. 44194 Manual test, following instruction in this test for procedures. 44195 * page/DOMWindow.idl: 44196 Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError 44197 as enabled at runtime. 44198 44199 2009-10-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 44200 44201 Reviewed by David Hyatt. 44202 44203 Refactor out some of the code in paint() into paintPanScrollIcon() 44204 and paintScrollbars() in preparation of some Qt API changes. 44205 44206 * platform/ScrollView.cpp: 44207 (WebCore::ScrollView::paint): 44208 * platform/ScrollView.h: 44209 44210 2009-10-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 44211 44212 Reviewed by Adam Roben. 44213 44214 Make the local static panScrollIcon into a Image* instead 44215 of a RefPtr<Image>. 44216 44217 * platform/ScrollView.cpp: 44218 (WebCore::ScrollView::wheelEvent): 44219 44220 2009-10-19 Andrew Scherkus <scherkus (a] chromium.org> 44221 44222 Reviewed by David Levin. 44223 44224 Forcefully set antialiasing for Chromium media controls. 44225 44226 https://bugs.webkit.org/show_bug.cgi?id=30521 44227 44228 Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext. 44229 44230 Covered by existing layout tests. 44231 44232 * rendering/RenderMediaControlsChromium.cpp: 44233 (WebCore::paintMediaSlider): Added setShouldAntialias(true). 44234 44235 2009-10-19 Jens Alfke <jens (a] mooseyard.com> 44236 44237 Reviewed by Darin Adler. 44238 44239 Optimize string upper/lowercasing 44240 https://bugs.webkit.org/show_bug.cgi?id=30261 44241 44242 - Added AtomicString::upper() and lower() 44243 - Further optimized StringImpl::lower() 44244 - Removed StringImpl::isLower() 44245 - Added QualifiedName::localNameUpper(), which is cached, thereby saving 44246 thousands of upper() calls and string allocations. 44247 44248 * dom/Element.cpp: 44249 (WebCore::Element::setAttribute): Call AtomicString::lower() 44250 * dom/QualifiedName.cpp: 44251 (WebCore::QualifiedName::localNameUpper): New method 44252 * dom/QualifiedName.h: Added localNameUpper() method 44253 * dom/StyledElement.cpp: 44254 (WebCore::StyledElement::parseMappedAttribute): Call AtomicString::lower() 44255 * html/HTMLDocument.cpp: 44256 (WebCore::HTMLDocument::createElement): Call AtomicString::lower() 44257 * html/HTMLElement.cpp: 44258 (WebCore::HTMLElement::nodeName): Call localNameUpper() 44259 * platform/text/AtomicString.cpp: 44260 (WebCore::AtomicString::lower): New method 44261 (WebCore::AtomicString::upper): New method 44262 * platform/text/AtomicString.h: Added lower() and upper() 44263 * platform/text/StringImpl.cpp: Removed isLower() 44264 (WebCore::StringImpl::lower): Further optimization of initial loop 44265 * platform/text/StringImpl.h: Removed isLower() 44266 44267 2009-10-19 Nate Chapin <japhet (a] chromium.org> 44268 44269 Reviewed by Adam Barth. 44270 44271 If a call to a plugin's invokeMethod, invokeDefault or construct 44272 returns false, throw an exception into JS. 44273 44274 https://bugs.webkit.org/show_bug.cgi?id=30239 44275 44276 Test: plugins/netscape-invoke-failure.html 44277 44278 * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct. 44279 (npObjectInvokeImpl): 44280 * bridge/c/c_instance.cpp: 44281 (JSC::Bindings::CInstance::invokeMethod): Check return value 44282 (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value 44283 (JSC::Bindings::CInstance::invokeConstruct): Check return value 44284 44285 2009-10-16 Stephen White <senorblanco (a] chromium.org> 44286 44287 Reviewed by Adam Barth. 44288 44289 Fix for chromium/skia canvas arc start/end positions, when the arc is 44290 >= 360 degrees. 44291 https://bugs.webkit.org/show_bug.cgi?id=30449 44292 44293 Covered by new test: 44294 LayoutTests/fast/canvas/arc360.html 44295 44296 * platform/graphics/skia/PathSkia.cpp: 44297 (WebCore::Path::addArc): 44298 44299 2009-10-19 Kent Tamura <tkent (a] chromium.org> 44300 44301 Reviewed by Alexey Proskuryakov. 44302 44303 Fix uninitialized variable reference in Element::removeAttribute(). 44304 https://bugs.webkit.org/show_bug.cgi?id=30502 44305 44306 * dom/Element.cpp: 44307 (WebCore::Element::removeAttribute): 44308 44309 2009-10-19 Eric Carlson <eric.carlson (a] apple.com> 44310 44311 Reviewed by Simon Fraser. 44312 44313 https://bugs.webkit.org/show_bug.cgi?id=30463 44314 Remove HTML5 media element 'loadend' event 44315 44316 * dom/EventNames.h: 44317 * html/HTMLMediaElement.cpp: 44318 (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'. 44319 (WebCore::HTMLMediaElement::loadInternal): Ditto. 44320 (WebCore::HTMLMediaElement::noneSupported): Ditto. 44321 (WebCore::HTMLMediaElement::mediaEngineError): Ditto. 44322 (WebCore::HTMLMediaElement::setNetworkState): Ditto. 44323 (WebCore::HTMLMediaElement::userCancelledLoad): Ditto. 44324 44325 2009-10-19 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44326 44327 Reviewed by Adam Barth. 44328 44329 [Qt] Remove deletion of outgoing FormData object when reply is finished. 44330 The buffers will be destroyed a bit later, when the QNetworkReply is deleted. 44331 Bug: https://bugs.webkit.org/show_bug.cgi?id=29551 44332 44333 * platform/network/qt/QNetworkReplyHandler.cpp: 44334 * platform/network/qt/QNetworkReplyHandler.h: 44335 44336 2009-10-19 Dimitri Glazkov <dglazkov (a] chromium.org> 44337 44338 Reviewed by Darin Adler. 44339 44340 Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare 44341 fastRealloc edge case. 44342 https://bugs.webkit.org/show_bug.cgi?id=29313 44343 44344 No test, the crash shows up occasionally in crash dumps, we weren't able 44345 to reproduce it locally. 44346 44347 * html/HTMLTokenizer.cpp: 44348 (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to 44349 avoid calling fastRealloc with the size of 0. 44350 44351 2009-10-19 Andrew Scherkus <scherkus (a] chromium.org> 44352 44353 Reviewed by Eric Seidel. 44354 44355 Use fillRect() instead of drawRect() to fix Chromium media controls rendering. 44356 44357 https://bugs.webkit.org/show_bug.cgi?id=30371 44358 44359 Chromium Mac layout tests will need to be rebaselined. Existing layout tests for Linux/Win still pass. 44360 44361 * rendering/RenderMediaControlsChromium.cpp: 44362 (WebCore::paintMediaSlider): Use fillRect() instead of drawRect(). 44363 44364 2009-10-19 Dmitry Titov <dimich (a] chromium.org> 44365 44366 Reviewed by Adam Barth. 44367 44368 Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame. 44369 https://bugs.webkit.org/show_bug.cgi?id=29832 44370 44371 Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow. 44372 This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame. 44373 44374 I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash. 44375 44376 * page/Frame.cpp: 44377 (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell. 44378 44379 2009-10-19 Csaba Osztrogonc <ossy (a] webkit.org> 44380 44381 Unreviewed build warning fix. 44382 [Qt] Apply changes to WebCore.pro introduced in r49778 44383 44384 * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS 44385 44386 2009-10-19 Dirk Schulze <krit (a] webkit.org> 44387 44388 Reviewed by Darin Adler. 44389 44390 Move feGaussianBlur from WebCore/svg to WebCore/platform 44391 [https://bugs.webkit.org/show_bug.cgi?id=30495] 44392 44393 This patch moves SVGFRGaussianBlur from svg/graphics/filters 44394 to platform/graphics/filters/FEGaussianBlur. This is needed 44395 for shadow support on Qt and Cairo. 44396 No change in functionality, therfore no new test case needed. 44397 44398 * GNUmakefile.am: 44399 * WebCore.gypi: 44400 * WebCore.pro: 44401 * WebCore.vcproj/WebCore.vcproj: 44402 * WebCore.xcodeproj/project.pbxproj: 44403 * platform/graphics/filters/FEGaussianBlur.cpp: Added. 44404 * platform/graphics/filters/FEGaussianBlur.h: Added. 44405 * svg/SVGFEGaussianBlurElement.h: 44406 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed. 44407 * svg/graphics/filters/SVGFEGaussianBlur.h: Removed. 44408 44409 2009-10-19 Yael Aharon <yael.aharon (a] nokia.com> 44410 44411 Unreviewed. 44412 44413 Added reviewer name to r49574. 44414 44415 2009-10-19 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 44416 44417 Reviewed by Xan Lopez. 44418 44419 https://bugs.webkit.org/show_bug.cgi?id=30489 44420 [Gtk] The document frame/html container claims to be parentless 44421 44422 Work around for the parentless claim made by the accessible associated 44423 with the embedded WebView. When we identify this condition, get the 44424 widget's parent, and then get the AtkObject from that. Admittedly an ugly 44425 hack, but we'll need it for Yelp and other Gtk+/GNOME applications which 44426 plan to switch over to WebKit. 44427 44428 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 44429 (webkit_accessible_get_parent): 44430 44431 2009-10-19 Benjamin Otte <otte (a] gnome.org> 44432 44433 Reviewed by Jan Alonzo. 44434 44435 Handle duration queries properly 44436 https://bugs.webkit.org/show_bug.cgi?id=29999 44437 44438 Previously duration queries failed to handle unknown duration 44439 and didn't treat the returned duration as an unsigned. 44440 44441 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 44442 (WebCore::MediaPlayerPrivate::duration): 44443 44444 2009-10-19 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44445 44446 Reviewed by Tor Arne Vestb. 44447 44448 [Qt] Fix build on Windows. 44449 44450 * plugins/win/PluginViewWin.cpp: 44451 (windowHandleForPageClient): 44452 44453 2009-10-19 Girish Ramakrishnan <girish (a] forwardbias.in> 44454 44455 Reviewed by Holger Freyther. 44456 44457 [Qt] Windowed Plugins: Don't crash when client is 0. 44458 44459 Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView. 44460 In addition, setFrameRect()/updatePluginWidget() is called even if the 44461 plugin was not succesfully loaded. updatePluginWidget() updates the 44462 window rect which is, in theory, useful to draw something that indicates 44463 that we didn't load successfully. 44464 44465 So, a status check is added to setNPWindowIfNeeded. 44466 44467 https://bugs.webkit.org/show_bug.cgi?id=30380 44468 44469 * plugins/qt/PluginViewQt.cpp: 44470 (WebCore::PluginView::setNPWindowIfNeeded): 44471 (WebCore::PluginView::platformStart): 44472 44473 2009-10-19 Girish Ramakrishnan <girish (a] forwardbias.in> 44474 44475 Reviewed by Holger Freyther. 44476 44477 [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView. 44478 44479 Fixes various sources of crashes: 44480 1. The PluginContainer is a child of QWebView. When the view gets deleted, 44481 the PluginView is not notified about the deletion of PluginContainer. 44482 2. QWebView destructor does not set client to 0. 44483 3. Sometimes pending paint events are sent after the plugin has died, so add 44484 a check in PluginView::setNPWindowIfNeeded. 44485 44486 https://bugs.webkit.org/show_bug.cgi?id=30354 44487 44488 * plugins/qt/PluginContainerQt.cpp: 44489 (PluginContainerQt::~PluginContainerQt): 44490 * plugins/qt/PluginViewQt.cpp: 44491 (WebCore::PluginView::setNPWindowIfNeeded): 44492 44493 2009-10-19 Jakob Truelsen <antialize (a] gmail.com> 44494 44495 Reviewed by Adam Barth. 44496 44497 https://bugs.webkit.org/show_bug.cgi?id=29042 44498 Allow one to customize the minimal and maximal shrink factors used when printing. 44499 44500 * page/PrintContext.cpp: 44501 (WebCore::PrintContext::begin): 44502 * page/Settings.cpp: 44503 (WebCore::Settings::Settings): 44504 (WebCore::Settings::setPrintingMinimumShrinkFactor): 44505 (WebCore::Settings::setPrintingMaximumShrinkFactor): 44506 * page/Settings.h: 44507 (WebCore::Settings::printingMinimumShrinkFactor): 44508 (WebCore::Settings::printingMaximumShrinkFactor): 44509 44510 2009-10-18 Erik Arvidsson <arv (a] chromium.org> 44511 44512 Reviewed by Adam Barth. 44513 44514 Fixes issue where doubleclicking a word could select following adjacent newlines. 44515 https://bugs.webkit.org/show_bug.cgi?id=30234 44516 44517 Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html 44518 platform/mac/editing/selection/script-tests/TEMPLATE.html 44519 platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html 44520 platform/win/editing/selection/script-tests/TEMPLATE.html 44521 44522 * editing/VisibleSelection.cpp: 44523 (WebCore::VisibleSelection::appendTrailingWhitespace): 44524 44525 2009-10-18 Kevin Ollivier <kevino (a] theolliviers.com> 44526 44527 CURL build fix, use proper header name. 44528 44529 * platform/network/curl/ResourceHandleManager.h: 44530 44531 2009-10-18 Pavel Feldman <pfeldman (a] chromium.org> 44532 44533 Reviewed by Timothy Hatcher. 44534 44535 Web Inspector: Properties on Arrays and NodeLists are not logged correctly. 44536 44537 https://bugs.webkit.org/show_bug.cgi?id=30485 44538 44539 * inspector/front-end/ConsoleView.js: 44540 (WebInspector.ConsoleView.prototype._formatarray): 44541 (WebInspector.ConsoleView.prototype._printArray): 44542 44543 2009-10-18 Pavel Feldman <pfeldman (a] chromium.org> 44544 44545 Not reviewed: touching WebCore so that it 44546 initiated inspector frontend deployment on Windows. 44547 44548 Web Inspector: frontend files are not deployed in Windows 44549 incremental build. 44550 44551 * inspector/InspectorDOMAgent.cpp: 44552 (WebCore::InspectorDOMAgent::unbind): 44553 44554 2009-10-18 Pavel Feldman <pfeldman (a] chromium.org> 44555 44556 Reviewed by Timothy Hatcher. 44557 44558 Web Inspector: Title of dir(["test", "test2"]) should be Array 44559 44560 https://bugs.webkit.org/show_bug.cgi?id=30486 44561 44562 Test: inspector/console-tests.html 44563 44564 * inspector/front-end/InjectedScript.js: 44565 44566 2009-10-18 Dirk Schulze <krit (a] webkit.org> 44567 44568 Reviewed by Nikolas Zimmermann. 44569 44570 REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox" 44571 [https://bugs.webkit.org/show_bug.cgi?id=30480] 44572 44573 Patch for SVGMaskElement landed in r49598 should correct the location of 44574 the mask image graphics context. It only corrects the location for userSpaceOnUse 44575 mode in maskContentUnits but breaks objectBoundingBoxMode. 44576 The maskDestRect shouldn't be moved. It is not responsible for the correct context 44577 postioin but for the correct position of the mask image. 44578 This patch calculates the context postion independently from the maskDestRect. 44579 It also uses lineareRGB color space for masking on CG now. This is the default 44580 color space for masking operations. 44581 We already have tests for both maskContentUnits modes. 44582 44583 *svg/W3C-SVG-1.1/masking-intro-01-f.svg 44584 *svg/custom/mask-with-default-value.svg 44585 44586 Some tests needed new pixel tests because of the new color space. 44587 44588 * svg/SVGMaskElement.cpp: 44589 (WebCore::SVGMaskElement::drawMaskerContent): 44590 44591 2009-10-18 Anton Muhin <antonm (a] chromium.org> 44592 44593 Reviewed by Adam Barth. 44594 44595 Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers. 44596 That is notably faster for small numbers (most common case). 44597 https://bugs.webkit.org/show_bug.cgi?id=30493 44598 44599 * bindings/scripts/CodeGeneratorV8.pm: 44600 44601 2009-10-18 Jan Michael Alonzo <jmalonzo (a] webkit.org> 44602 44603 Reviewed by Holger Freyther. 44604 44605 [GTK] Add MathML to the build system 44606 https://bugs.webkit.org/show_bug.cgi?id=30487 44607 44608 Add MathML sources if MathML support is enabled. 44609 44610 * GNUmakefile.am: 44611 44612 2009-10-18 Kevin Ollivier <kevino (a] theolliviers.com> 44613 44614 Non-PCH build fix. Added missing header. 44615 44616 * bridge/runtime_root.h: 44617 44618 2009-10-18 Simon Fraser <simon.fraser (a] apple.com> 44619 44620 Reviewed by Dan Bernstein. 44621 44622 Compositing layers not correctly updated after partial layout 44623 https://bugs.webkit.org/show_bug.cgi?id=30425 44624 44625 When a partial layout happened, for example as the result of a postion-change-only 44626 layout, then some compositing layer positions were not correctly updated. To fix 44627 this, updateLayerPositions() now carries along a flag that is set at the rootmost 44628 layer being updated, and used to determine when we hit the first compositing layer 44629 in this update. RenderLayerBacking::updateAfterLayout() makes use of this information 44630 to do a full geometry update on that layer, which is thus the rootmost compositing 44631 layer that is being updated. 44632 44633 Test: compositing/geometry/partial-layout-update.html 44634 44635 * page/FrameView.cpp: 44636 (WebCore::FrameView::layout): 44637 * rendering/RenderLayer.cpp: 44638 (WebCore::RenderLayer::updateLayerPositions): 44639 (WebCore::RenderLayer::scrollToOffset): 44640 * rendering/RenderLayer.h: 44641 (WebCore::RenderLayer::): 44642 * rendering/RenderLayerBacking.cpp: 44643 (WebCore::RenderLayerBacking::updateAfterLayout): 44644 * rendering/RenderLayerBacking.h: 44645 44646 2009-09-13 Kevin Watters <kevinwatters (a] gmail.com> 44647 44648 Reviewed by Kevin Ollivier. 44649 44650 Add support for proxies in CURL. 44651 44652 https://bugs.webkit.org/show_bug.cgi?id=30446 44653 44654 * platform/network/curl/ResourceHandleManager.cpp: 44655 (WebCore::ResourceHandleManager::setProxyInfo): 44656 (WebCore::ResourceHandleManager::initializeHandle): 44657 * platform/network/curl/ResourceHandleManager.h: 44658 (WebCore::ResourceHandleManager::): 44659 44660 2009-10-18 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 44661 44662 Reviewed by Xan Lopez 44663 44664 https://bugs.webkit.org/show_bug.cgi?id=25901 44665 Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag 44666 44667 Replaces the use of ATK_ROLE_PANEL with the expected accessible roles. 44668 44669 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 44670 (webkit_accessible_get_role): 44671 44672 2009-10-17 Nikolas Zimmermann <nzimmermann (a] rim.com> 44673 44674 Reviewed by George Staikos. 44675 44676 Cleanup SVGElement code, preparing for animVal support 44677 https://bugs.webkit.org/show_bug.cgi?id=30466 44678 44679 Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization 44680 from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will 44681 be used to control the start/end state of an animated property. 44682 44683 We're currently tracking animated properties that need synchronization, generalize this concept and use 44684 it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need 44685 of synchronization (no SVG DOM object wrappers, no synchronization needed). 44686 44687 No change in functionality, thus no tests. 44688 44689 * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build 44690 * WebCore.gypi: Ditto. 44691 * WebCore.pro: Ditto. 44692 * WebCore.vcproj/WebCore.vcproj: Ditto. 44693 * WebCore.xcodeproj/project.pbxproj: Ditto. 44694 * svg/SVGAllInOne.cpp: Ditto. 44695 * svg/SVGAnimatedProperty.h: Add registerProperty() function 44696 (WebCore::::SVGAnimatedProperty): Call registerProperty() function 44697 (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController. 44698 * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement. 44699 (WebCore::lookupOrCreateWrapper): 44700 * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController. 44701 (WebCore::SVGElement::updateAnimatedSVGAttribute): 44702 * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController. 44703 (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object. 44704 * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes. 44705 (WebCore::SVGViewSpec::SVGViewSpec): 44706 (WebCore::SVGViewSpec::viewTarget): 44707 * svg/SVGViewSpec.h: Ditto. 44708 (WebCore::SVGViewSpec::contextElement): 44709 * svg/SynchronizablePropertyController.cpp: Added. 44710 (WebCore::SynchronizablePropertyController::SynchronizablePropertyController): 44711 (WebCore::SynchronizablePropertyController::registerProperty): 44712 (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization): 44713 (WebCore::SynchronizablePropertyController::synchronizeProperty): 44714 (WebCore::SynchronizablePropertyController::synchronizeAllProperties): 44715 (WebCore::SynchronizablePropertyController::startAnimation): 44716 (WebCore::SynchronizablePropertyController::stopAnimation): 44717 * svg/SynchronizablePropertyController.h: Added. 44718 (WebCore::SynchronizableProperty::SynchronizableProperty): 44719 (WebCore::SynchronizableProperty::isHashTableDeletedValue): 44720 (WebCore::SynchronizableProperty::operator==): 44721 (WebCore::SynchronizablePropertyHash::hash): 44722 (WebCore::SynchronizablePropertyHash::equal): 44723 (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue): 44724 (WebCore::SynchronizablePropertyHashTraits::isDeletedValue): 44725 44726 2009-10-17 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 44727 44728 Reviewed by Xan Lopez. 44729 44730 https://bugs.webkit.org/show_bug.cgi?id=25413 44731 [GTK] Please expose the level of headings 44732 44733 Exposes the heading level as an attribute of the AtkObject. 44734 44735 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 44736 (addAttributeToSet): 44737 (webkit_accessible_get_attributes): 44738 (webkit_accessible_class_init): 44739 44740 2009-10-17 Kwang Yul Seo <skyul (a] company100.net> 44741 44742 Reviewed by Eric Seidel. 44743 44744 EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards 44745 https://bugs.webkit.org/show_bug.cgi?id=30472 44746 44747 Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged 44748 in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled. 44749 44750 * page/EventHandler.cpp: 44751 44752 2009-10-17 Alpha Lam <hclam (a] chromium.org> 44753 44754 Reviewed by Eric Seidel. 44755 44756 [chromium] Video controls not zoomed / transformed correctly 44757 https://bugs.webkit.org/show_bug.cgi?id=30461 44758 44759 Draw the images in the controls scaled. 44760 44761 No new tests. With this change Chromium will pass the following tests: 44762 LayoutTests/media/video-controls-zoomed.html 44763 LayoutTests/media/video-controls-transformed.html 44764 44765 * rendering/RenderMediaControlsChromium.cpp: 44766 (WebCore::paintMediaButton): 44767 Pass along the target rect directly. 44768 (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize): 44769 Adjust the thumb slide applied with the scale factor. 44770 44771 2009-10-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 44772 44773 Unreviewed. 44774 44775 [Gtk] Build fix for WebKitGtk after r49723. 44776 44777 Add bindings/js/JSExceptionBase.* to the build. 44778 44779 * GNUmakefile.am: 44780 44781 2009-10-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 44782 44783 Unreviewed. 44784 44785 [Qt] Build fix for QtWebKit after r49723. 44786 44787 Add bindings/js/JSExceptionBase.cpp to the build. 44788 44789 * WebCore.pro: 44790 44791 2009-10-16 Steve Falkenburg <sfalken (a] apple.com> 44792 44793 Reviewed by Dan Bernstein. 44794 44795 https://bugs.webkit.org/show_bug.cgi?id=30456 44796 Fixes for new Debug_All Windows build configuration. 44797 44798 * platform/network/cf/ResourceRequestCFNet.cpp: 44799 (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing. 44800 * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming. 44801 * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming. 44802 * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming. 44803 44804 2009-10-16 Jon Honeycutt <jhoneycutt (a] apple.com> 44805 44806 Add SPI to determine whether a plug-in has ever been halted. 44807 44808 Part of <rdar://problem/7312158>. 44809 44810 Reviewed by Dan Bernstein. 44811 44812 * plugins/PluginView.cpp: 44813 (WebCore::PluginView::PluginView): 44814 Initialize m_hasBeenHalted. 44815 44816 * plugins/PluginView.h: 44817 (WebCore::PluginView::hasBeenHalted): 44818 Return m_hasBeenHalted. 44819 44820 * plugins/win/PluginViewWin.cpp: 44821 (WebCore::PluginView::halt): 44822 Set m_hasBeenHalted. 44823 44824 2009-10-16 Adam Barth <abarth (a] webkit.org> 44825 44826 Reviewed by Alexey Proskuryakov. 44827 44828 @charset rule after the first byte causes the rest of css to be ignored 44829 https://bugs.webkit.org/show_bug.cgi?id=18265 44830 44831 Apparently we're supposed to tolerate whitespace before the charset 44832 rule so folks can write code like this: 44833 44834 <style> 44835 @charset "utf-8" 44836 ... 44837 </style> 44838 44839 I'm told this is one of the top compatability problems in China. 44840 Tests: fast/css/comment-before-charset-external.html 44841 fast/css/comment-before-charset.html 44842 fast/css/many-spaces-before-charset.html 44843 fast/css/space-before-charset-external.html 44844 fast/css/space-before-charset.html 44845 44846 * css/CSSGrammar.y: 44847 44848 2009-10-16 Brian Weinstein <bweinstein (a] apple.com> 44849 44850 Reviewed by Darin Adler. 44851 44852 Fixes part of <http://webkit.org/b/30412>. 44853 Web Inspector should get human readable DOM Exceptions. 44854 44855 Add a description field to ExceptionBase, and call it through 44856 reportException which allows the user/developer to get a more detailed 44857 and coherent error explanation through the Web Inspector. 44858 44859 This only applies to exceptions that come from a script on the page when 44860 it is run. DOM Exceptions that come from the code run in the console, or DOM 44861 exceptions that are caught and logged will come in a future patch. 44862 44863 Tests: inspector/uncaught-dom1-exception.html 44864 inspector/uncaught-dom3-exception.html 44865 inspector/uncaught-dom8-exception.html 44866 44867 * WebCore.gypi: 44868 * WebCore.vcproj/WebCore.vcproj: 44869 * WebCore.xcodeproj/project.pbxproj: 44870 * bindings/js/JSDOMBinding.cpp: 44871 (WebCore::reportException): 44872 * bindings/js/JSExceptionBase.cpp: Added. 44873 (WebCore::toExceptionBase): 44874 * bindings/js/JSExceptionBase.h: Added. 44875 * dom/ExceptionBase.cpp: 44876 (WebCore::ExceptionBase::ExceptionBase): 44877 * dom/ExceptionBase.h: 44878 (WebCore::ExceptionBase::description): 44879 * dom/ExceptionCode.cpp: 44880 (WebCore::): 44881 (WebCore::getExceptionCodeDescription): 44882 * dom/ExceptionCode.h: 44883 44884 2009-10-16 Geoffrey Garen <ggaren (a] apple.com> 44885 44886 Build fix: forgot to check in this #include. 44887 44888 * bridge/runtime_root.h: 44889 44890 2009-10-16 Simon Fraser <simon.fraser (a] apple.com> 44891 44892 Reviewed by Dan Bernstein. 44893 44894 Transform layer gets stuck with the wrong transform after an animation ends 44895 <rdar://problem/7311662> 44896 44897 Work around a CoreAnimation bug which causes an animated transform layer to 44898 end up with a stale transform. 44899 44900 Test: compositing/animation/state-at-end-event-transform-layer.html 44901 44902 * platform/graphics/mac/GraphicsLayerCA.mm: 44903 (WebCore::bug7311367Workaround): 44904 (WebCore::GraphicsLayerCA::removeAnimationFromLayer): 44905 44906 2009-10-16 Simon Fraser <simon.fraser (a] apple.com> 44907 44908 Reviewed by Dan Bernstein. 44909 44910 After running a transition with an end event listener, can't change the transform 44911 https://bugs.webkit.org/show_bug.cgi?id=30454 44912 44913 Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd, 44914 the animations would not get cleaned up correctly, which broke subsequent changes of transform. 44915 44916 Now, we always clean up the animations right after queuing up the end events. 44917 44918 Tests: animations/state-at-end-event.html 44919 transitions/move-after-transition.html 44920 44921 * page/animation/ImplicitAnimation.cpp: 44922 (WebCore::ImplicitAnimation::onAnimationEnd): 44923 * page/animation/KeyframeAnimation.cpp: 44924 (WebCore::KeyframeAnimation::onAnimationEnd): 44925 44926 2009-10-15 Joseph Pecoraro <joepeck (a] webkit.org> 44927 44928 Reviewed by Timothy Hatcher. 44929 44930 Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy 44931 https://bugs.webkit.org/show_bug.cgi?id=30428 44932 44933 TextNode => Edit Text Node 44934 Has Attributes => Edit First Attribute 44935 No Attributes => Start Editing New Attribute 44936 44937 * inspector/front-end/ElementsTreeOutline.js: 44938 (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key 44939 (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes 44940 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes 44941 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer 44942 (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element 44943 44944 2009-10-16 Adam Barth <abarth (a] webkit.org> 44945 44946 Reviewed by Eric Seidel. 44947 44948 Fix header indent style for FrameLoader and friends 44949 https://bugs.webkit.org/show_bug.cgi?id=30430 44950 44951 * loader/FrameLoader.h: 44952 (WebCore::FrameLoader::frame): 44953 (WebCore::FrameLoader::policyChecker): 44954 (WebCore::FrameLoader::history): 44955 (WebCore::FrameLoader::notifier): 44956 (WebCore::FrameLoader::isLoadingMainResource): 44957 (WebCore::FrameLoader::documentLoader): 44958 (WebCore::FrameLoader::policyDocumentLoader): 44959 (WebCore::FrameLoader::provisionalDocumentLoader): 44960 (WebCore::FrameLoader::state): 44961 (WebCore::FrameLoader::client): 44962 (WebCore::FrameLoader::url): 44963 (WebCore::FrameLoader::isLoadingFromCachedPage): 44964 (WebCore::FrameLoader::committingFirstRealLoad): 44965 (WebCore::FrameLoader::committedFirstRealDocumentLoad): 44966 (WebCore::FrameLoader::creatingInitialEmptyDocument): 44967 * loader/HistoryController.h: 44968 (WebCore::HistoryController::currentItem): 44969 (WebCore::HistoryController::provisionalItem): 44970 * loader/PolicyCallback.h: 44971 (WebCore::PolicyCallback::request): 44972 * loader/PolicyChecker.h: 44973 (WebCore::PolicyChecker::loadType): 44974 (WebCore::PolicyChecker::setLoadType): 44975 (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy): 44976 (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy): 44977 * loader/RedirectScheduler.h: 44978 * loader/ResourceLoadNotifier.h: 44979 44980 2009-10-16 Steve Falkenburg <sfalken (a] apple.com> 44981 44982 Reviewed by Adam Roben. 44983 44984 Add a Debug_All configuration to build entire stack as debug. 44985 Change Debug_Internal to: 44986 - stop using _debug suffix for all WebKit/Safari binaries 44987 - not use _debug as a DLL naming suffix 44988 - use non-debug C runtime lib. 44989 44990 * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration. 44991 * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All. 44992 * WebCore.vcproj/WebCore.sln: Add Debug_All configuration. 44993 * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration. 44994 * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration. 44995 * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all". 44996 44997 2009-10-16 Dimitri Glazkov <dglazkov (a] chromium.org> 44998 44999 No review, rolling out r49693, because it broke Chromium build. 45000 http://trac.webkit.org/changeset/49693 45001 45002 * WebCore.gyp/WebCore.gyp: 45003 * WebCore.gypi: 45004 45005 2009-10-16 Andrew Scherkus <scherkus (a] chromium.org> 45006 45007 Reviewed by Eric Carlson. 45008 45009 Updated media resource selection algorithm to reflect latest HTML 5 specification. 45010 45011 Noticable changes: 45012 - Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE 45013 - Empty string ("") is now considered a valid URL resolving to the current page and will be loaded 45014 45015 Tests: media/video-src-empty.html 45016 media/video-src-none.html 45017 45018 https://bugs.webkit.org/show_bug.cgi?id=30407 45019 45020 * html/HTMLMediaElement.cpp: 45021 (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec. 45022 45023 2009-10-16 Adam Barth <abarth (a] webkit.org> 45024 45025 Reviewed by Eric Seidel. 45026 45027 Insecure plug-ins don't trigger mixed content 45028 https://bugs.webkit.org/show_bug.cgi?id=30431 45029 45030 Added the missing check. 45031 45032 Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html 45033 45034 * loader/FrameLoader.cpp: 45035 (WebCore::FrameLoader::loadPlugin): 45036 45037 2009-10-16 Andrew Scherkus <scherkus (a] chromium.org> 45038 45039 Reviewed by Eric Carlson. 45040 45041 Set autobuffer to true and schedule load in V8 audio element constructor. 45042 45043 https://bugs.webkit.org/show_bug.cgi?id=30448 45044 45045 Covered by existing tests. 45046 45047 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 45048 (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load. 45049 45050 2009-10-16 Andrew Scherkus <scherkus (a] chromium.org> 45051 45052 Reviewed by Eric Seidel. 45053 45054 Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream. 45055 45056 https://bugs.webkit.org/show_bug.cgi?id=30422 45057 45058 Covered by existing media layout tests. 45059 45060 * rendering/RenderMediaControlsChromium.cpp: 45061 (WebCore::paintMediaSlider): Removed round() and FIXME. 45062 45063 2009-10-16 Andrew Scherkus <scherkus (a] chromium.org> 45064 45065 Reviewed by Eric Seidel. 45066 45067 Fix Chromium media controls to render a disabled play button when the element is unintialized. 45068 45069 https://bugs.webkit.org/show_bug.cgi?id=30410 45070 45071 Covered by existing layout tests. 45072 45073 * rendering/RenderMediaControlsChromium.cpp: 45074 (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button. 45075 45076 2009-10-16 Oliver Hunt <oliver (a] apple.com> 45077 45078 Reviewed by Gavin Barraclough. 45079 45080 Make typeinfo flags default to false 45081 https://bugs.webkit.org/show_bug.cgi?id=30372 45082 45083 Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames 45084 flag. 45085 45086 * bindings/js/JSDOMWindowShell.h: 45087 (WebCore::JSDOMWindowShell::createStructure): 45088 * bindings/js/JSHTMLAllCollection.h: 45089 (WebCore::JSHTMLAllCollection::createStructure): 45090 * bindings/js/JSQuarantinedObjectWrapper.h: 45091 (WebCore::JSQuarantinedObjectWrapper::createStructure): 45092 * bindings/scripts/CodeGeneratorJS.pm: 45093 * bridge/runtime_array.h: 45094 (JSC::RuntimeArray::createStructure): 45095 * bridge/runtime_object.h: 45096 (JSC::RuntimeObjectImp::createStructure): 45097 45098 2009-10-16 Steven Knight <sgk (a] chromium.org> 45099 45100 Reviewed by David Levin. 45101 45102 https://bugs.webkit.org/show_bug.cgi?id=30447 45103 Handle long link lines by building .idl-generated bindings in a 45104 separate webcore_bindings library target. Avoid Visual Studio 45105 dependency issues by building additional generated .cpp and .h files 45106 in a separate webcore_bindings_sources target. 45107 45108 Chrome should still build and test successfully. 45109 45110 * WebCore.gyp/WebCore.gyp: 45111 * WebCore.gypi: 45112 45113 2009-10-16 Simon Fraser <simon.fraser (a] apple.com> 45114 45115 Reviewed by Eric Carlson. 45116 45117 Transform transitions that used to be accelerated are no longer so 45118 https://bugs.webkit.org/show_bug.cgi?id=30453 45119 45120 The change in r49633, to not run accelerated animations/transitions on layers that 45121 are not attached, broke accelerated transitions/animations in many cases where they start 45122 as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being 45123 attached. 45124 45125 No test, because it's not possible from a test to know whether a transition is accelerated or not. 45126 45127 * rendering/RenderLayerBacking.cpp: 45128 (WebCore::RenderLayerBacking::startAnimation): 45129 (WebCore::RenderLayerBacking::startTransition): 45130 45131 2009-10-16 Kevin Ollivier <kevino (a] theolliviers.com> 45132 45133 wxMSW build fix, build the MSW source to get methods that use the MSW version of 45134 PlatformModuleVersion. 45135 45136 * wscript: 45137 45138 2009-10-16 Adam Barth <abarth (a] webkit.org> 45139 45140 Unreviewed build fix. Add back MIMETypeRegistryChromium with the right 45141 casing. 45142 45143 * platform/chromium/MIMETypeRegistryChromium.cpp: Added. 45144 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 45145 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 45146 (WebCore::MIMETypeRegistry::getMIMETypeForPath): 45147 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 45148 (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): 45149 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): 45150 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 45151 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 45152 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): 45153 (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): 45154 (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): 45155 (WebCore::dummyHashSet): 45156 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): 45157 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): 45158 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): 45159 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): 45160 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): 45161 45162 2009-10-16 Adam Barth <abarth (a] webkit.org> 45163 45164 Reviewed by Darin Adler. 45165 45166 MimeTypeRegistryChromium is mis-casen 45167 https://bugs.webkit.org/show_bug.cgi?id=30441 45168 45169 Change the case of MimeTypeRegistryChromium to match other platforms. 45170 45171 * WebCore.gypi: 45172 * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp. 45173 * platform/chromium/MimeTypeRegistryChromium.cpp: Removed. 45174 45175 2009-10-16 Dimitri Glazkov <dglazkov (a] chromium.org> 45176 45177 Reviewed by Eric Seidel. 45178 45179 Change EmptyPluginHalterClient in SVGImage to be non-static, to 45180 match changes made http://trac.webkit.org/changeset/49385. 45181 https://bugs.webkit.org/show_bug.cgi?id=30403 45182 45183 Run the following layout test sequence: 45184 LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg 45185 LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg 45186 LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg 45187 LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg 45188 LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg 45189 LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg 45190 LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg 45191 LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg 45192 LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg 45193 LayoutTests/svg/carto.net/scrollbar.svg 45194 LayoutTests/svg/carto.net/selectionlist.svg 45195 45196 selectionlist.svg should not crash. 45197 45198 * svg/graphics/SVGImage.cpp: 45199 (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static. 45200 45201 2009-10-16 Victor Wang <victorw (a] chromium.org> 45202 45203 Reviewed by David Levin. 45204 45205 Add beforeload event support to V8DOMWrapper 45206 45207 https://bugs.webkit.org/show_bug.cgi?id=30413 45208 45209 LayoutTests/fast/dom/beforeload/frame-before-load.html 45210 45211 * bindings/v8/V8DOMWrapper.cpp: 45212 (WebCore::V8DOMWrapper::convertEventToV8Object): 45213 45214 2009-10-16 Adam Barth <abarth (a] webkit.org> 45215 45216 Reviewed by Darin Adler. 45217 45218 MimeTypeRegistryChromium is mis-casen 45219 https://bugs.webkit.org/show_bug.cgi?id=30441 45220 45221 Change the case of MimeTypeRegistryChromium to match other platforms. 45222 45223 * WebCore.gypi: 45224 * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp. 45225 * platform/chromium/MimeTypeRegistryChromium.cpp: Removed. 45226 45227 2009-10-16 Adam Barth <abarth (a] webkit.org> 45228 45229 Reviewed by Mark Rowe. 45230 45231 Chrome doesn't set Content-Type for file upload when the file extension 45232 is not recognized 45233 https://bugs.webkit.org/show_bug.cgi?id=30433 45234 45235 Apparently, getMIMETypeForPath is supposed to return 45236 application/octet-stream when it doesn't have a better MIME type. 45237 45238 * platform/chromium/MimeTypeRegistryChromium.cpp: 45239 (WebCore::MIMETypeRegistry::getMIMETypeForPath): 45240 45241 2009-10-16 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 45242 45243 Pull out r49676 as it caused build breakges on Symbian 45244 45245 * plugins/symbian/PluginViewSymbian.cpp: 45246 45247 2009-10-16 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 45248 45249 Reviewed by Ariya Hidayat. 45250 45251 Crash fix when loading NPAPI plugins on Qt/Mac 45252 45253 There's no guarantee that the plist will be valid even if we 45254 ask the plugin to create it. Crash obverved with iGetter. 45255 45256 * plugins/mac/PluginPackageMac.cpp: 45257 45258 2009-10-15 Stephen White <senorblanco (a] chromium.org> 45259 45260 Reviewed by David Levin. 45261 45262 Fix for Chromium/skia's implementation of canvas's isPointInPath(). 45263 https://bugs.webkit.org/show_bug.cgi?id=30402 45264 45265 Covered by LayoutTests/fast/canvas/pointInPath.html. 45266 45267 * platform/graphics/skia/SkiaUtils.cpp: 45268 (WebCore::SkPathContainsPoint): 45269 45270 2009-10-15 Adam Barth <abarth (a] webkit.org> 45271 45272 Reviewed by Darin Adler. 45273 45274 Factor ResourceLoadNotifier out of FrameLoader 45275 https://bugs.webkit.org/show_bug.cgi?id=30379 45276 45277 These methods have virtually no interaction with the rest of 45278 FrameLoader. 45279 45280 * GNUmakefile.am: 45281 * WebCore.gypi: 45282 * WebCore.pro: 45283 * WebCore.vcproj/WebCore.vcproj: 45284 * WebCore.xcodeproj/project.pbxproj: 45285 * WebCoreSources.bkl: 45286 * dom/Document.cpp: 45287 (WebCore::Document::resourceRetrievedByXMLHttpRequest): 45288 * loader/FrameLoader.cpp: 45289 (WebCore::FrameLoader::FrameLoader): 45290 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 45291 (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): 45292 (WebCore::ResourceLoadNotifier::activeDocumentLoader): 45293 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 45294 (WebCore::ResourceLoadNotifier::willSendRequest): 45295 (WebCore::ResourceLoadNotifier::didReceiveResponse): 45296 (WebCore::ResourceLoadNotifier::didReceiveData): 45297 (WebCore::ResourceLoadNotifier::didFailToLoad): 45298 (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): 45299 (WebCore::FrameLoader::sendRemainingDelegateMessages): 45300 (WebCore::FrameLoader::requestFromDelegate): 45301 (WebCore::ResourceLoadNotifier::didFinishLoad): 45302 (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): 45303 (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): 45304 (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): 45305 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 45306 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 45307 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 45308 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 45309 * loader/FrameLoader.h: 45310 (WebCore::FrameLoader::notifier): 45311 * loader/MainResourceLoader.cpp: 45312 (WebCore::MainResourceLoader::receivedError): 45313 * loader/ResourceLoadNotifier.cpp: Added. 45314 (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): 45315 (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): 45316 (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): 45317 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 45318 (WebCore::ResourceLoadNotifier::willSendRequest): 45319 (WebCore::ResourceLoadNotifier::didReceiveResponse): 45320 (WebCore::ResourceLoadNotifier::didReceiveData): 45321 (WebCore::ResourceLoadNotifier::didFinishLoad): 45322 (WebCore::ResourceLoadNotifier::didFailToLoad): 45323 (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): 45324 (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): 45325 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 45326 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 45327 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 45328 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 45329 (WebCore::ResourceLoadNotifier::activeDocumentLoader): 45330 * loader/ResourceLoadNotifier.h: Added. 45331 * loader/ResourceLoader.cpp: 45332 (WebCore::ResourceLoader::willSendRequest): 45333 (WebCore::ResourceLoader::didReceiveResponse): 45334 (WebCore::ResourceLoader::didReceiveData): 45335 (WebCore::ResourceLoader::didFinishLoadingOnePart): 45336 (WebCore::ResourceLoader::didFail): 45337 (WebCore::ResourceLoader::didCancel): 45338 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): 45339 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 45340 45341 2009-10-15 Roland Steiner <rolandsteiner (a] google.com> 45342 45343 Reviewed by Darin Fisher. 45344 45345 Bug 30427 - Remove unneeded methods in ChromiumDataObject 45346 (https://bugs.webkit.org/show_bug.cgi?id=30427) 45347 45348 Remove no longer needed methods from ChromiumDataObject. 45349 45350 No new tests (no functional change) 45351 45352 * platform/chromium/ChromiumDataObject.h: 45353 45354 2009-10-16 Yael Aharon <yael.aharon (a] nokia.com> 45355 45356 Reviewed by Tor Arne Vestb. 45357 45358 [Qt] Need a way to inform the application when a Netscape plugin is created or deleted 45359 https://bugs.webkit.org/show_bug.cgi?id=30179 45360 45361 Inform the application when a plugin is created or destroyed, but only if the 45362 application registered for these notifications. 45363 45364 * plugins/symbian/PluginViewSymbian.cpp: 45365 (WebCore::PluginView::platformStart): 45366 (WebCore::PluginView::platformDestroy): 45367 45368 2009-10-16 Shu Chang <Chang.Shu (a] nokia.com> 45369 45370 Reviewed by Eric Seidel. 45371 45372 Default language translation should be determined by locale settings, 45373 e.g., "en-US". 45374 https://bugs.webkit.org/show_bug.cgi?id=29653 45375 45376 Test: fast/js/navigator-language.html 45377 45378 * platform/qt/Localizations.cpp: 45379 (WebCore::defaultLanguage): 45380 45381 2009-10-16 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 45382 45383 Reviewed by Ariya Hidayat. 45384 45385 Crash fix when loading NPAPI plugins on Qt/Mac 45386 45387 There's no guarantee that the plist will be valid even if we 45388 ask the plugin to create it. Crash obverved with iGetter. 45389 45390 * plugins/mac/PluginPackageMac.cpp: 45391 45392 2009-10-15 Stephen White <senorblanco (a] chromium.org> 45393 45394 Reviewed by David Levin. 45395 45396 Fix for Chromium/skia's implementation of canvas's isPointInPath(). 45397 https://bugs.webkit.org/show_bug.cgi?id=30402 45398 45399 Covered by LayoutTests/fast/canvas/pointInPath.html. 45400 45401 * platform/graphics/skia/SkiaUtils.cpp: 45402 (WebCore::SkPathContainsPoint): 45403 45404 2009-10-15 Adam Barth <abarth (a] webkit.org> 45405 45406 Reviewed by Darin Adler. 45407 45408 Factor ResourceLoadNotifier out of FrameLoader 45409 https://bugs.webkit.org/show_bug.cgi?id=30379 45410 45411 These methods have virtually no interaction with the rest of 45412 FrameLoader. 45413 45414 * GNUmakefile.am: 45415 * WebCore.gypi: 45416 * WebCore.pro: 45417 * WebCore.vcproj/WebCore.vcproj: 45418 * WebCore.xcodeproj/project.pbxproj: 45419 * WebCoreSources.bkl: 45420 * dom/Document.cpp: 45421 (WebCore::Document::resourceRetrievedByXMLHttpRequest): 45422 * loader/FrameLoader.cpp: 45423 (WebCore::FrameLoader::FrameLoader): 45424 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 45425 (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): 45426 (WebCore::ResourceLoadNotifier::activeDocumentLoader): 45427 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 45428 (WebCore::ResourceLoadNotifier::willSendRequest): 45429 (WebCore::ResourceLoadNotifier::didReceiveResponse): 45430 (WebCore::ResourceLoadNotifier::didReceiveData): 45431 (WebCore::ResourceLoadNotifier::didFailToLoad): 45432 (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): 45433 (WebCore::FrameLoader::sendRemainingDelegateMessages): 45434 (WebCore::FrameLoader::requestFromDelegate): 45435 (WebCore::ResourceLoadNotifier::didFinishLoad): 45436 (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): 45437 (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): 45438 (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): 45439 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 45440 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 45441 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 45442 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 45443 * loader/FrameLoader.h: 45444 (WebCore::FrameLoader::notifier): 45445 * loader/MainResourceLoader.cpp: 45446 (WebCore::MainResourceLoader::receivedError): 45447 * loader/ResourceLoadNotifier.cpp: Added. 45448 (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): 45449 (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): 45450 (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): 45451 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 45452 (WebCore::ResourceLoadNotifier::willSendRequest): 45453 (WebCore::ResourceLoadNotifier::didReceiveResponse): 45454 (WebCore::ResourceLoadNotifier::didReceiveData): 45455 (WebCore::ResourceLoadNotifier::didFinishLoad): 45456 (WebCore::ResourceLoadNotifier::didFailToLoad): 45457 (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): 45458 (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): 45459 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 45460 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 45461 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 45462 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 45463 (WebCore::ResourceLoadNotifier::activeDocumentLoader): 45464 * loader/ResourceLoadNotifier.h: Added. 45465 * loader/ResourceLoader.cpp: 45466 (WebCore::ResourceLoader::willSendRequest): 45467 (WebCore::ResourceLoader::didReceiveResponse): 45468 (WebCore::ResourceLoader::didReceiveData): 45469 (WebCore::ResourceLoader::didFinishLoadingOnePart): 45470 (WebCore::ResourceLoader::didFail): 45471 (WebCore::ResourceLoader::didCancel): 45472 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): 45473 (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 45474 45475 2009-10-15 Roland Steiner <rolandsteiner (a] google.com> 45476 45477 Reviewed by Darin Fisher. 45478 45479 Bug 30427 - Remove unneeded methods in ChromiumDataObject 45480 (https://bugs.webkit.org/show_bug.cgi?id=30427) 45481 45482 Remove no longer needed methods from ChromiumDataObject. 45483 45484 No new tests (no functional change) 45485 45486 * platform/chromium/ChromiumDataObject.h: 45487 45488 2009-10-15 Daniel Bates <dbates (a] webkit.org> 45489 45490 No review, rolling out r49644. 45491 http://trac.webkit.org/changeset/49644 45492 45493 We need to think about this change some more. See bug #30418 45494 for more details. 45495 45496 * page/XSSAuditor.cpp: 45497 (WebCore::XSSAuditor::canEvaluate): 45498 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 45499 (WebCore::XSSAuditor::canCreateInlineEventListener): 45500 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 45501 (WebCore::XSSAuditor::canLoadObject): 45502 (WebCore::XSSAuditor::canSetBaseElementURL): 45503 (WebCore::XSSAuditor::findInRequest): 45504 * page/XSSAuditor.h: 45505 45506 2009-10-14 Jon Honeycutt <jhoneycutt (a] apple.com> 45507 45508 Add SPI to determine whether a node is a halted plug-in. 45509 45510 Part of <rdar://problem/7273354> Halted plug-ins should restart on 45511 mouseover 45512 45513 https://bugs.webkit.org/show_bug.cgi?id=30151 45514 45515 Reviewed by Darin Adler. 45516 45517 * plugins/PluginView.cpp: 45518 (WebCore::PluginView::PluginView): 45519 Initialize m_isHalted. 45520 45521 * plugins/PluginView.h: 45522 (WebCore::PluginView::isHalted): 45523 Return m_isHalted. 45524 45525 * plugins/win/PluginViewWin.cpp: 45526 (WebCore::PluginView::halt): 45527 Set m_isHalted to true. 45528 (WebCore::PluginView::restart): 45529 clear m_isHalted. 45530 45531 2009-10-15 Zoltan Horvath <zoltan (a] webkit.org> 45532 45533 Reviewed by Oliver Hunt. 45534 45535 [Qt] Build fix for QtWebKit after r49649. 45536 45537 Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function. 45538 45539 * bridge/qt/qt_runtime.h: 45540 (JSC::Bindings::QtRuntimeMethod::createStructure): 45541 45542 2009-10-15 Pavel Feldman <pfeldman (a] chromium.org> 45543 45544 Not reviewed - build fix. 45545 45546 Web Inspector: add file missing in r49648 45547 45548 * inspector/front-end/TestController.js: Added. 45549 (WebInspector.TestController): 45550 (WebInspector.TestController.prototype.waitUntilDone): 45551 (WebInspector.TestController.prototype.notifyDone): 45552 (WebInspector.evaluateForTestInFrontend): 45553 45554 2009-10-15 Oliver Hunt <oliver (a] apple.com> 45555 45556 Reviewed by Darin Adler. 45557 45558 Make typeinfo flags default to false 45559 https://bugs.webkit.org/show_bug.cgi?id=30372 45560 45561 Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc 45562 45563 * bindings/js/JSDOMBinding.h: 45564 (WebCore::DOMObjectWithGlobalPointer::createStructure): 45565 (WebCore::DOMConstructorObject::createStructure): 45566 * bindings/js/JSDOMWindowShell.h: 45567 (WebCore::JSDOMWindowShell::createStructure): 45568 * bindings/js/JSHTMLAllCollection.h: 45569 (WebCore::JSHTMLAllCollection::createStructure): 45570 * bindings/js/JSQuarantinedObjectWrapper.h: 45571 (WebCore::JSQuarantinedObjectWrapper::createStructure): 45572 * bindings/scripts/CodeGeneratorJS.pm: 45573 * bridge/qt/qt_runtime.h: 45574 (JSC::Bindings::QtRuntimeMethod::createStructure): 45575 * bridge/runtime_method.h: 45576 (JSC::RuntimeMethod::createStructure): 45577 45578 2009-10-15 Pavel Feldman <pfeldman (a] chromium.org> 45579 45580 Reviewed by Timothy Hatcher. 45581 45582 Web Inspector: introduce test controller with waitUntilDone 45583 on frontend side. 45584 45585 https://bugs.webkit.org/show_bug.cgi?id=30400 45586 45587 * WebCore.gypi: 45588 * WebCore.vcproj/WebCore.vcproj: 45589 * inspector/front-end/TestController.js: Added. 45590 (WebInspector.TestController): 45591 (WebInspector.TestController.prototype.waitUntilDone): 45592 (WebInspector.TestController.prototype.notifyDone): 45593 (WebInspector.evaluateForTestInFrontend): 45594 * inspector/front-end/WebKit.qrc: 45595 * inspector/front-end/inspector.html: 45596 * inspector/front-end/inspector.js: 45597 45598 2009-10-15 Daniel Bates <dbates (a] webkit.org> 45599 45600 Reviewed by Adam Barth. 45601 45602 https://bugs.webkit.org/show_bug.cgi?id=27895 45603 45604 Fixes an issue in which injecting an inline event handler whose value ends in a single-line 45605 JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to 45606 the HTML Base element, HTML Object element, inline and external script tags, and 45607 JavaScript multi-line variants of all of these attacks. 45608 45609 Tests: http/tests/security/xssAuditor/base-href-comment.html 45610 http/tests/security/xssAuditor/iframe-javascript-url-comment.html 45611 http/tests/security/xssAuditor/img-onerror-HTML-comment.html 45612 http/tests/security/xssAuditor/img-onerror-comment.html 45613 http/tests/security/xssAuditor/object-tag-comment.html 45614 http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html 45615 http/tests/security/xssAuditor/script-tag-comment.html 45616 http/tests/security/xssAuditor/script-tag-with-source-comment.html 45617 45618 * page/XSSAuditor.cpp: Added constant minAttackLength. 45619 (WebCore::XSSAuditor::canEvaluate): 45620 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 45621 (WebCore::XSSAuditor::canCreateInlineEventListener): 45622 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 45623 (WebCore::XSSAuditor::canLoadObject): 45624 (WebCore::XSSAuditor::canSetBaseElementURL): 45625 (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 45626 to minAttackLength of script code plus context (if any). 45627 * page/XSSAuditor.h: 45628 45629 2009-10-08 Adam Langley <agl (a] google.com> 45630 45631 Reviewed by Eric Seidel. 45632 45633 Currently, Skia clip paths are 1-bit. This patch makes our path 45634 clipping anti-aliased for non-canvas drawing. 45635 45636 http://code.google.com/p/chromium/issues/detail?id=5927 45637 https://bugs.webkit.org/show_bug.cgi?id=28820 45638 http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html 45639 45640 Already covered by layout tests. New baselines will be needed in the 45641 Chromium tree. 45642 45643 (Reland. First landed in r49329, reverted in r49330 due to Windows 45644 build break) 45645 45646 * html/canvas/CanvasRenderingContext2D.cpp: 45647 (WebCore::CanvasRenderingContext2D::clip): 45648 * platform/graphics/GraphicsContext.h: 45649 * platform/graphics/cairo/GraphicsContextCairo.cpp: 45650 (WebCore::GraphicsContext::canvasClip): 45651 * platform/graphics/cg/GraphicsContextCG.cpp: 45652 (WebCore::GraphicsContext::canvasClip): 45653 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 45654 (WebCore::GraphicsContext::canvasClip): 45655 * platform/graphics/qt/GraphicsContextQt.cpp: 45656 (WebCore::GraphicsContext::canvasClip): 45657 * platform/graphics/skia/GraphicsContextSkia.cpp: 45658 (WebCore::GraphicsContext::addInnerRoundedRectClip): 45659 (WebCore::GraphicsContext::clip): 45660 (WebCore::GraphicsContext::canvasClip): 45661 (WebCore::GraphicsContext::clipPath): 45662 * platform/graphics/skia/PlatformContextSkia.cpp: 45663 (PlatformContextSkia::clipPathAntiAliased): 45664 (PlatformContextSkia::restore): 45665 (PlatformContextSkia::applyAntiAliasedClipPaths): 45666 * platform/graphics/skia/PlatformContextSkia.h: 45667 * platform/graphics/win/GraphicsContextWin.cpp: 45668 (WebCore::GraphicsContext::canvasClip): 45669 * platform/graphics/wince/GraphicsContextWince.cpp: 45670 (WebCore::GraphicsContext::canvasClip): 45671 * platform/graphics/wx/GraphicsContextWx.cpp: 45672 (WebCore::GraphicsContext::canvasClip): 45673 45674 2009-10-15 Eric Carlson <eric.carlson (a] apple.com> 45675 45676 Reviewed by Simon Fraser. 45677 45678 <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode 45679 45680 * WebCore.Video.exp: Export muted and setMute. 45681 45682 2009-10-15 Simon Fraser <simon.fraser (a] apple.com> 45683 45684 Reviewed by Dan Bernstein. 45685 45686 Transitions fail to run sometimes 45687 https://bugs.webkit.org/show_bug.cgi?id=26770 45688 45689 Fix an issue where we could attempt to start accelerated animations or transitions on 45690 GraphicsLayer that were not rooted (because of visibility:hidden), which would leave 45691 the AnimationController's m_waitingForResponse flag in a state that killed subsequent 45692 software transitions. 45693 45694 * page/animation/AnimationController.cpp: 45695 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 45696 (WebCore::AnimationControllerPrivate::endAnimationUpdate): 45697 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): 45698 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): 45699 (WebCore::AnimationControllerPrivate::startTimeResponse): 45700 * page/animation/AnimationControllerPrivate.h: 45701 Make some methods non-inline for ease of debugging (these are not hot methods). 45702 Rename m_waitingForAResponse to m_waitingForResponse. 45703 45704 * platform/graphics/GraphicsLayer.h: 45705 * platform/graphics/GraphicsLayer.cpp: 45706 (WebCore::GraphicsLayer::hasAncestor): 45707 New method to report whether the receiver has the given layer as an ancestor. Used for checking 45708 whether a layer is rooted. 45709 45710 * rendering/RenderLayerBacking.cpp: 45711 (WebCore::RenderLayerBacking::startAnimation): 45712 (WebCore::RenderLayerBacking::startTransition): 45713 Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers. 45714 45715 2009-10-15 Alexander Pavlov <apavlov (a] chromium.org> 45716 45717 Reviewed by Pavel Feldman. 45718 45719 Refactor ProfilesPanel to support multiple profile types 45720 45721 Data describing different profile types are now stored in distinct objects. 45722 https://bugs.webkit.org/show_bug.cgi?id=30332 45723 45724 * WebCore.vcproj/WebCore.vcproj: 45725 * inspector/front-end/ProfileView.js: 45726 (WebInspector.CPUProfileView.profileCallback): 45727 (WebInspector.CPUProfileView): 45728 (WebInspector.CPUProfileView.prototype._sortData): 45729 (WebInspector.CPUProfileType): 45730 (WebInspector.CPUProfileType.prototype.get buttonTooltip): 45731 (WebInspector.CPUProfileType.prototype.get buttonStyle): 45732 (WebInspector.CPUProfileType.prototype.buttonClicked): 45733 (WebInspector.CPUProfileType.prototype.setRecordingProfile): 45734 (WebInspector.CPUProfile): 45735 (WebInspector.CPUProfile.prototype.get title): 45736 (WebInspector.CPUProfile.prototype.get uid): 45737 (WebInspector.CPUProfile.prototype.get head): 45738 (WebInspector.CPUProfile.prototype.createView): 45739 (WebInspector.CPUProfile.prototype.viewForProfile): 45740 * inspector/front-end/ProfilesPanel.js: 45741 (WebInspector.ProfileType): 45742 (WebInspector.ProfileType.prototype.get buttonTooltip): 45743 (WebInspector.ProfileType.prototype.get buttonStyle): 45744 (WebInspector.ProfileType.prototype.get buttonCaption): 45745 (WebInspector.ProfileType.prototype.get id): 45746 (WebInspector.ProfileType.prototype.get name): 45747 (WebInspector.ProfileType.prototype.buttonClicked): 45748 (WebInspector.ProfilesPanel): 45749 (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler): 45750 (WebInspector.ProfilesPanel.prototype.get statusBarItems): 45751 (WebInspector.ProfilesPanel.prototype.reset): 45752 (WebInspector.ProfilesPanel.prototype.registerProfileType): 45753 (WebInspector.ProfilesPanel.prototype._makeKey): 45754 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 45755 (WebInspector.ProfilesPanel.prototype.showProfile): 45756 (WebInspector.ProfilesPanel.prototype.getProfileType): 45757 (WebInspector.ProfilesPanel.prototype.showProfileForURL): 45758 (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons): 45759 (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink): 45760 (WebInspector.ProfilesPanel.prototype.get searchableViews): 45761 (WebInspector.ProfilesPanel.prototype._updateInterface): 45762 * inspector/front-end/inspector.js: 45763 (WebInspector._createPanels): 45764 (WebInspector.documentClick.followLink): 45765 (WebInspector.documentClick): 45766 (WebInspector.addProfileHeader): 45767 (WebInspector.setRecordingProfile): 45768 (WebInspector.linkifyStringAsFragment): 45769 (WebInspector.showProfileForURL): 45770 45771 2009-10-15 Pavel Feldman <pfeldman (a] chromium.org> 45772 45773 Reviewed by Timothy Hatcher. 45774 45775 Web Inspector: Enable inspector layout tests. 45776 45777 https://bugs.webkit.org/show_bug.cgi?id=30014 45778 45779 * inspector/InspectorController.cpp: 45780 (WebCore::InspectorController::evaluateForTestInFrontend): 45781 45782 2009-10-15 Philippe Normand <pnormand (a] igalia.com> 45783 45784 Reviewed by Gustavo Noronha. 45785 45786 [GStreamer] READY state doesn't mean "enough data" 45787 https://bugs.webkit.org/show_bug.cgi?id=30003 45788 45789 STATE_READY means MediaPlayer::HaveNothing 45790 45791 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 45792 (WebCore::MediaPlayerPrivate::updateStates): 45793 45794 2009-10-15 Philippe Normand <pnormand (a] igalia.com> 45795 45796 Reviewed by Gustavo Noronha. 45797 45798 https://bugs.webkit.org/show_bug.cgi?id=30002 45799 45800 implement cancelLoad 45801 45802 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 45803 (WebCore::MediaPlayerPrivate::cancelLoad): 45804 45805 2009-10-15 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 45806 45807 Reviewed by Gustavo Noronha. 45808 45809 https://bugs.webkit.org/show_bug.cgi?id=30353 45810 45811 Fix race condition, leading to a deadlock 45812 45813 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 45814 (webkit_video_sink_timeout_func): 45815 (webkit_video_sink_render): 45816 (unlock_buffer_mutex): 45817 (webkit_video_sink_unlock): 45818 (webkit_video_sink_unlock_stop): 45819 (webkit_video_sink_stop): 45820 (webkit_video_sink_start): 45821 (webkit_video_sink_class_init): 45822 Fix race condition in unlock/render that would lead to deadlocks. 45823 45824 2009-10-15 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 45825 45826 Reviewed by Gustavo Noronha. 45827 45828 https://bugs.webkit.org/show_bug.cgi?id=30374 45829 45830 Check if caps are valid before parsing them 45831 45832 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 45833 (WebCore::MediaPlayerPrivate::duration): 45834 Check if caps are valid before parsing them in ::naturalSize(). 45835 This prevents assertions if the natural size should be calculated 45836 before the video caps are negotiated. 45837 45838 2009-10-15 Philippe Normand <pnormand (a] igalia.com> 45839 45840 Reviewed by Gustavo Noronha. 45841 45842 https://bugs.webkit.org/show_bug.cgi?id=30006 45843 [GStreamer] Unnecessary checks for Messages types in callbacks 45844 45845 refactored gst message callbacks into a single one 45846 45847 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 45848 (WebCore::mediaPlayerPrivateMessageCallback): 45849 (WebCore::do_gst_init): 45850 (WebCore::MediaPlayerPrivate::duration): 45851 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 45852 45853 2009-10-15 Shu Chang <Chang.Shu (a] nokia.com> 45854 45855 Reviewed by Adele Peterson. 45856 45857 Anchor elements should be mouse focusable regardless isLink flag. 45858 https://bugs.webkit.org/show_bug.cgi?id=26856 45859 45860 * html/HTMLAnchorElement.cpp: 45861 * html/HTMLAnchorElement.h: 45862 45863 2009-10-15 Nikolas Zimmermann <nzimmermann (a] rim.com> 45864 45865 Not reviewed. Sort XCode project file. 45866 45867 * WebCore.xcodeproj/project.pbxproj: 45868 45869 2009-10-15 Yury Semikhatsky <yurys (a] chromium.org> 45870 45871 Reviewed by Dave Hyatt. 45872 45873 Return correct shorthand property name for 45874 background-repeat-x, background-repeat-y, background-position-x, 45875 background-position-y, -webkit-mask-position-x, -webkit-mask-position-y, 45876 -webkit-mask-repeat-x, -webkit-mask-repeat-y. 45877 45878 https://bugs.webkit.org/show_bug.cgi?id=28972 45879 45880 Test: fast/backgrounds/repeat/background-repeat-shorthand.html 45881 45882 * css/CSSParser.cpp: 45883 (WebCore::CSSParser::parseValue): 45884 45885 2009-10-14 Mikhail Naganov <mnaganov (a] chromium.org> 45886 45887 Reviewed by Pavel Feldman. 45888 45889 Web Inspector: Migrate profiles to the injected script-based schema. 45890 45891 https://bugs.webkit.org/show_bug.cgi?id=30328 45892 45893 * bindings/js/JSInspectorBackendCustom.cpp: 45894 * bindings/v8/custom/V8CustomBinding.h: 45895 * inspector/InspectorBackend.cpp: 45896 (WebCore::InspectorBackend::getProfileHeaders): 45897 (WebCore::InspectorBackend::getProfile): 45898 * inspector/InspectorBackend.h: 45899 * inspector/InspectorBackend.idl: 45900 * inspector/InspectorController.cpp: 45901 (WebCore::InspectorController::addProfile): 45902 (WebCore::InspectorController::getProfileHeaders): 45903 (WebCore::InspectorController::getProfile): 45904 (WebCore::InspectorController::createProfileHeader): 45905 * inspector/InspectorController.h: 45906 * inspector/InspectorFrontend.cpp: 45907 (WebCore::InspectorFrontend::addProfileHeader): 45908 (WebCore::InspectorFrontend::didGetProfileHeaders): 45909 (WebCore::InspectorFrontend::didGetProfile): 45910 * inspector/InspectorFrontend.h: 45911 * inspector/JavaScriptProfileNode.cpp: 45912 (WebCore::ProfileNodeClass): 45913 * inspector/front-end/ProfileView.js: 45914 (WebInspector.ProfileView.profileCallback): 45915 (WebInspector.ProfileView): 45916 (WebInspector.ProfileView.prototype._mouseDownInDataGrid): 45917 (WebInspector.ProfileView.prototype._assignParentsInProfile): 45918 * inspector/front-end/ProfilesPanel.js: 45919 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 45920 * inspector/front-end/inspector.js: 45921 (WebInspector.addProfileHeader): 45922 45923 2009-10-14 Pavel Feldman <pfeldman (a] chromium.org> 45924 45925 Reviewed by Timothy Hatcher. 45926 45927 Web Inspector: Create and update frontend script objects only when 45928 web inspector is visible. 45929 45930 https://bugs.webkit.org/show_bug.cgi?id=30376 45931 45932 * inspector/InspectorController.cpp: 45933 (WebCore::InspectorController::addConsoleMessage): 45934 (WebCore::InspectorController::populateScriptObjects): 45935 (WebCore::InspectorController::pruneResources): 45936 (WebCore::InspectorController::didCommitLoad): 45937 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 45938 (WebCore::InspectorController::identifierForInitialRequest): 45939 (WebCore::InspectorController::mainResourceFiredDOMContentEvent): 45940 (WebCore::InspectorController::mainResourceFiredLoadEvent): 45941 (WebCore::InspectorController::willSendRequest): 45942 (WebCore::InspectorController::didReceiveResponse): 45943 (WebCore::InspectorController::didReceiveContentLength): 45944 (WebCore::InspectorController::didFinishLoading): 45945 (WebCore::InspectorController::didFailLoading): 45946 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 45947 (WebCore::InspectorController::scriptImported): 45948 (WebCore::InspectorController::didOpenDatabase): 45949 (WebCore::InspectorController::didUseDOMStorage): 45950 (WebCore::InspectorController::evaluateForTestInFrontend): 45951 45952 2009-10-15 Joseph Pecoraro <joepeck (a] webkit.org> 45953 45954 Fix Windows build. 45955 45956 * dom/Document.idl: 45957 45958 2009-10-14 Joseph Pecoraro <joepeck (a] webkit.org> 45959 45960 Reviewed by Adam Barth. 45961 45962 [HTML5] Add document.head 45963 https://bugs.webkit.org/show_bug.cgi?id=30232 45964 45965 Test is fast/dom/document-head.html 45966 45967 * dom/Document.idl: added readonly attribute head 45968 45969 2009-10-14 Matt Mueller <mattm (a] chromium.org> 45970 45971 Reviewed by Darin Adler. 45972 45973 Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit. See http://crbug.com/20939. 45974 https://bugs.webkit.org/show_bug.cgi?id=30347 45975 https://bugs.webkit.org/show_bug.cgi?id=22772 45976 45977 Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind. 45978 45979 * css/CSSParser.cpp: 45980 (WebCore::CSSParser::validUnit): 45981 45982 2009-10-14 Adam Barth <abarth (a] webkit.org> 45983 45984 Reviewed by Sam Weinig. 45985 45986 Move scrolling code from FrameLoader to FrameView 45987 https://bugs.webkit.org/show_bug.cgi?id=30370 45988 45989 This code is about controlling the Frame's view, not about loading 45990 stuff into the frame. 45991 45992 * loader/FrameLoader.cpp: 45993 (WebCore::FrameLoader::finishedParsing): 45994 (WebCore::FrameLoader::scrollToAnchor): 45995 * page/FrameView.cpp: 45996 (WebCore::FrameView::scrollToFragment): 45997 (WebCore::FrameView::scrollToAnchor): 45998 * page/FrameView.h: 45999 46000 2009-10-14 Oliver Hunt <oliver (a] apple.com> 46001 46002 Reviewed by Geoff Garen. 46003 46004 Make typeinfo flags default to false 46005 https://bugs.webkit.org/show_bug.cgi?id=30372 46006 46007 Part 1. Reverse the HasStandardGetOwnPropertySlot flag. 46008 46009 * bindings/js/JSDOMBinding.h: 46010 (WebCore::DOMObjectWithGlobalPointer::createStructure): 46011 (WebCore::DOMConstructorObject::createStructure): 46012 * bindings/js/JSDOMWindowShell.h: 46013 (WebCore::JSDOMWindowShell::createStructure): 46014 * bindings/js/JSHTMLAllCollection.h: 46015 (WebCore::JSHTMLAllCollection::createStructure): 46016 * bindings/js/JSQuarantinedObjectWrapper.h: 46017 (WebCore::JSQuarantinedObjectWrapper::createStructure): 46018 * bindings/scripts/CodeGeneratorJS.pm: 46019 * bridge/objc/objc_runtime.h: 46020 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 46021 * bridge/runtime_array.h: 46022 (JSC::RuntimeArray::createStructure): 46023 * bridge/runtime_method.h: 46024 (JSC::RuntimeMethod::createStructure): 46025 * bridge/runtime_object.h: 46026 (JSC::RuntimeObjectImp::createStructure): 46027 46028 2009-10-14 Adam Barth <abarth (a] webkit.org> 46029 46030 Reviewed by Darin Adler. 46031 46032 [XSSAuditor] Add an exception for local files 46033 https://bugs.webkit.org/show_bug.cgi?id=30352 46034 46035 Reduce XSS auditor false positives by always letting pages load scripts 46036 from their own host. We don't actually know of any false positives 46037 that this prevents, but it seems like a good idea. 46038 46039 One subtly is that we don't add this exception for scripts that have a 46040 query string because (1) URLs with query strings are more apt to 46041 confuse servers and (2) it is much less common to load scripts with a 46042 query string. 46043 46044 Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html 46045 http/tests/security/xssAuditor/script-tag-with-source-same-host.html 46046 46047 * page/XSSAuditor.cpp: 46048 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 46049 46050 2009-10-14 Nikolas Zimmermann <nzimmermann (a] rim.com> 46051 46052 Reviewed by George Staikos. 46053 46054 Kill virtual contextElement() method spread all over SVG code 46055 https://bugs.webkit.org/show_bug.cgi?id=30183 46056 46057 Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the 46058 SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired 46059 subclasses. This is a first step to working animVal support. More patches will follow that depend on this change. 46060 46061 Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann, 46062 and remove vim modelines on all files I touched. No change in functionality, thus no new tests. 46063 46064 * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46065 * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method. 46066 * svg/SVGAnimatedProperty.h: 46067 (WebCore::::synchronize): 46068 (WebCore::::startAnimation): 46069 (WebCore::::stopAnimation): 46070 * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46071 * svg/SVGCircleElement.h: Ditto. 46072 * svg/SVGClipPathElement.h: Ditto. 46073 * svg/SVGCursorElement.h: Ditto. 46074 * svg/SVGDefsElement.h: Ditto. 46075 * svg/SVGEllipseElement.h: Ditto. 46076 * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method. 46077 * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46078 * svg/SVGFELightElement.h: Remove virtual contextElement() method. 46079 * svg/SVGFEMergeNodeElement.h: Ditto. 46080 * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46081 * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method. 46082 * svg/SVGFitToViewBox.cpp: 46083 (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element. 46084 (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto. 46085 * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method. 46086 * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46087 * svg/SVGForeignObjectElement.h: Ditto. 46088 * svg/SVGGElement.h: Ditto. 46089 * svg/SVGGradientElement.h: Ditto. 46090 * svg/SVGImageElement.h: Ditto. 46091 * svg/SVGLineElement.h: Ditto. 46092 * svg/SVGMPathElement.h: Ditto. Fix license indention. 46093 * svg/SVGMarkerElement.cpp: 46094 (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46095 * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46096 * svg/SVGMaskElement.h: Ditto. 46097 * svg/SVGPathElement.h: Ditto. 46098 * svg/SVGPatternElement.cpp: 46099 (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46100 * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46101 * svg/SVGPolyElement.cpp: 46102 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize(). 46103 * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46104 * svg/SVGRectElement.h: Ditto. 46105 * svg/SVGSVGElement.cpp: 46106 (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46107 * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46108 * svg/SVGScriptElement.h: Ditto. 46109 * svg/SVGSwitchElement.h: Ditto. 46110 * svg/SVGSymbolElement.cpp: 46111 (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46112 * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46113 * svg/SVGTRefElement.h: Remove virtual contextElement() method. 46114 * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46115 * svg/SVGTextPathElement.h: Remove virtual contextElement() method. 46116 * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46117 * svg/SVGViewElement.cpp: 46118 (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46119 * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. 46120 * svg/SVGViewSpec.cpp: 46121 (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute(). 46122 (WebCore::SVGViewSpec::parseViewSpec): Ditto. 46123 * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed. 46124 46125 2009-10-14 Dirk Schulze <krit (a] webkit.org> 46126 46127 Reviewed by Nikolas Zimmermann. 46128 46129 SVG Masking with wrong offset 46130 [https://bugs.webkit.org/show_bug.cgi?id=30325] 46131 46132 SVGMaskElement moves the mask image graphics context to the wrong location. 46133 In objectBoundingBoxMode the maskDestRect gets translated. This transformation 46134 is not used in the later calculation. Fix by consistenly calculating the translation 46135 offsets from the final mask destination rect. 46136 46137 Test: svg/custom/mask-with-default-value.svg 46138 46139 * svg/SVGMaskElement.cpp: 46140 (WebCore::SVGMaskElement::drawMaskerContent): 46141 46142 2009-10-14 Kevin Decker <kdecker (a] apple.com> 46143 46144 Rubberstamped by Jon Honeycutt. 46145 46146 Export a few more showSubstituteImage() related methods. 46147 46148 * WebCore.base.exp: 46149 * WebCore.xcodeproj/project.pbxproj: 46150 46151 2009-10-14 Evan Martin <evan (a] chromium.org> 46152 46153 Reviewed by Darin Adler. 46154 46155 Stringify CSS units manually (without printf) to make the formatting 46156 locale-insensitive and obey CSS spec with respect to large values. 46157 46158 https://bugs.webkit.org/show_bug.cgi?id=18994 46159 46160 * css/CSSPrimitiveValue.cpp: 46161 (WebCore::appendCSSDouble): 46162 (WebCore::formatWithUnits): 46163 (WebCore::CSSPrimitiveValue::cssText): 46164 46165 2009-10-14 Mark Seaborn <mseaborn (a] google.com> 46166 46167 Reviewed by Darin Adler. 46168 46169 Check error return value in Perl build script 46170 https://bugs.webkit.org/show_bug.cgi?id=30316 46171 46172 * css/makevalues.pl: Die if gperf fails. 46173 46174 2009-10-14 Dirk Schulze <krit (a] webkit.org> 46175 46176 Reviewed by Nikolas Zimmermann. 46177 46178 SVG wrong filterRegions for userSpaceOnUse and percentage values 46179 [https://bugs.webkit.org/show_bug.cgi?id=30330] 46180 46181 Some clean-up of the SVG filter calculation code. This clean-up 46182 also fixes the problem with percentage and userSpaceInUse mode. 46183 46184 Test: svg/filters/subRegion-in-userSpace.svg 46185 46186 * platform/graphics/filters/FilterEffect.cpp: 46187 (WebCore::FilterEffect::FilterEffect): 46188 * platform/graphics/filters/FilterEffect.h: 46189 * rendering/SVGRenderSupport.cpp: 46190 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 46191 * svg/SVGFilterElement.cpp: 46192 (WebCore::SVGFilterElement::buildFilter): 46193 (WebCore::SVGFilterElement::canvasResource): 46194 * svg/SVGFilterElement.h: 46195 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 46196 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 46197 * svg/graphics/SVGResourceFilter.cpp: 46198 (WebCore::SVGResourceFilter::SVGResourceFilter): 46199 (WebCore::SVGResourceFilter::~SVGResourceFilter): 46200 (WebCore::SVGResourceFilter::addFilterEffect): 46201 (WebCore::SVGResourceFilter::prepareFilter): 46202 * svg/graphics/SVGResourceFilter.h: 46203 (WebCore::SVGResourceFilter::create): 46204 * svg/graphics/filters/SVGFilter.cpp: 46205 (WebCore::SVGFilter::SVGFilter): 46206 (WebCore::SVGFilter::calculateEffectSubRegion): 46207 (WebCore::SVGFilter::create): 46208 * svg/graphics/filters/SVGFilter.h: 46209 46210 2009-10-14 Chris Marrin <cmarrin (a] apple.com> 46211 46212 The last change fixed the problem, removing diagnostic printfs. 46213 46214 * platform/graphics/mac/GraphicsContext3DMac.cpp: 46215 (WebCore::GraphicsContext3D::GraphicsContext3D): 46216 46217 2009-10-14 Kevin Ollivier <kevino (a] theolliviers.com> 46218 46219 CURL build fix for versions < 7.18. 46220 46221 * platform/network/curl/ResourceHandleCurl.cpp: 46222 (WebCore::ResourceHandle::setDefersLoading): 46223 * platform/network/curl/ResourceHandleManager.cpp: 46224 (WebCore::ResourceHandleManager::initializeHandle): 46225 46226 2009-10-14 Chris Marrin <cmarrin (a] apple.com> 46227 46228 One more round of changes to figure out why the webgl 46229 tests are crashing on the build bot. Here I am trying 46230 to see if we can create a software renderer. I am also 46231 printing the found pixel formats. 46232 46233 * platform/graphics/mac/GraphicsContext3DMac.cpp: 46234 (WebCore::GraphicsContext3D::GraphicsContext3D): 46235 46236 2009-10-14 Yael Aharon <yael.aharon (a] nokia.com> 46237 46238 Reviewed by Simon Hausmann. 46239 46240 Enabling NPAPI plugin support on Qt Webkit for S60 platform 46241 https://bugs.webkit.org/show_bug.cgi?id=29302 46242 46243 Also implemented by Mahesh Kulkarni<mahesh.kulkarni (a] nokia.com>, 46244 Rohini Ananth <rohini.ananth (a] nokia.com> and help from Norbert Lesr 46245 <norbert.leser (a] nokia.com> 46246 46247 * WebCore.pro: 46248 Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 46249 new plugin files to be compiled under symbian: macro 46250 46251 * bridge/npapi.h: 46252 Added NPEvent and NPRegion definition for Symbian 46253 46254 * plugins/PluginPackage.h: 46255 Added S60 specific plugin interface and plugin loader variables 46256 * plugins/PluginPackage.cpp: 46257 (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro. 46258 Default implementation to be used only for non-symbian platform 46259 * plugins/PluginDatabase.cpp: 46260 Macro !SYMBIAN checking 46261 * plugins/PluginView.h: 46262 Add Symbian to platforms that support setNPWindowIfNeeded 46263 * plugins/PluginView.cpp: 46264 (WebCore::PluginView::setFrameRect): Add Symbian to platforms that 46265 call setNPWindowRect from setFrameRect 46266 46267 Added folder 'symbian' which contains implementation files for S60 46268 platform-specific NPAPI plugin functionality, under /plugins folder 46269 * plugins/symbian 46270 * plugins/symbian/npinterface.h: 46271 Plugin Interface to be implemented by S60 NPAPI plugins 46272 * plugins/symbian/PluginContainerSymbian.h: 46273 * plugins/symbian/PluginContainerSymbian.cpp: 46274 * plugins/symbian/PluginDatabaseSymbian.cpp: 46275 * plugins/symbian/PluginViewSymbian.cpp: 46276 * plugins/symbian/PluginPackageSymbian.cpp: 46277 46278 2009-10-14 Chris Marrin <cmarrin (a] apple.com> 46279 46280 More changes to figure out why the webgl tests are crashing on the build bot. 46281 46282 * platform/graphics/mac/GraphicsContext3DMac.cpp: 46283 (WebCore::GraphicsContext3D::GraphicsContext3D): 46284 46285 2009-10-14 Victor Wang <victorw (a] chromium.org> 46286 46287 Reviewed by David Hyatt. 46288 46289 Round non-integer line height values. 46290 46291 Change webkit to rounding non-integer line height values 46292 instead of truncating them. This fixes a layout test 46293 failure on Windows and matches the calculation in IE and Firefox. 46294 46295 https://bugs.webkit.org/show_bug.cgi?id=24434 46296 46297 Test: fast/css/line-height-rounding.html 46298 fast/forms/textarea-scrollbar-height.htm 46299 46300 * css/CSSComputedStyleDeclaration.cpp: 46301 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 46302 * rendering/InlineFlowBox.cpp: 46303 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 46304 * rendering/RenderBR.cpp: 46305 (WebCore::RenderBR::lineHeight): 46306 * rendering/style/RenderStyle.h: 46307 (WebCore::InheritedFlags::computedLineHeight): 46308 46309 2009-10-13 Kelly Norton <knorton (a] google.com> 46310 46311 Reviewed by Pavel Feldman. 46312 46313 Removes the persistent setting for InspectorTimelineAgent and renames timeline related 46314 interfaces to be more consistent with the JavaScript profiler. 46315 46316 * inspector/InspectorBackend.cpp: 46317 (WebCore::InspectorBackend::startTimelineProfiler): 46318 (WebCore::InspectorBackend::stopTimelineProfiler): 46319 (WebCore::InspectorBackend::timelineProfilerEnabled): 46320 * inspector/InspectorBackend.h: 46321 * inspector/InspectorBackend.idl: 46322 * inspector/InspectorController.cpp: 46323 (WebCore::InspectorController::setFrontendProxyObject): 46324 (WebCore::InspectorController::startTimelineProfiler): 46325 (WebCore::InspectorController::stopTimelineProfiler): 46326 (WebCore::InspectorController::timelineProfilerEnabled): 46327 * inspector/InspectorController.h: 46328 * inspector/InspectorFrontend.cpp: 46329 (WebCore::InspectorFrontend::timelineProfilerWasStarted): 46330 (WebCore::InspectorFrontend::timelineProfilerWasStopped): 46331 * inspector/InspectorFrontend.h: 46332 * inspector/front-end/TimelineAgent.js: 46333 (WebInspector.timelineProfilerWasStarted): 46334 (WebInspector.timelineProfilerWasStopped): 46335 46336 2009-10-01 Yong Li <yong.li (a] torchmobile.com> 46337 46338 Reviewed by Adele Peterson. 46339 46340 Fix crash when loading invalid image data 46341 https://bugs.webkit.org/show_bug.cgi?id=29980 46342 46343 * rendering/RenderImage.cpp: 46344 (WebCore::RenderImage::setImageSizeForAltText): 46345 46346 2009-10-09 Stephen White <senorblanco (a] chromium.org> 46347 46348 Reviewed by Eric Seidel. 46349 46350 Fix for NULL ptr deref in canvas's toDataURL(). 46351 https://bugs.webkit.org/show_bug.cgi?id=30254 46352 46353 Test: fast/canvas/canvas-toDataURL-crash.html 46354 46355 * html/HTMLCanvasElement.cpp: 46356 (WebCore::HTMLCanvasElement::toDataURL): 46357 46358 2009-10-14 Pavel Feldman <pfeldman (a] chromium.org> 46359 46360 Not reviewed, reverting r49558 since it broke profiler tests. 46361 46362 https://bugs.webkit.org/show_bug.cgi?id=30328 46363 46364 * bindings/js/JSInspectorBackendCustom.cpp: 46365 * bindings/v8/custom/V8CustomBinding.h: 46366 * inspector/InspectorBackend.cpp: 46367 (WebCore::InspectorBackend::getProfileHeaders): 46368 (WebCore::InspectorBackend::getProfile): 46369 * inspector/InspectorBackend.h: 46370 * inspector/InspectorBackend.idl: 46371 * inspector/InspectorController.cpp: 46372 (WebCore::InspectorController::addProfile): 46373 (WebCore::InspectorController::getProfileHeaders): 46374 (WebCore::InspectorController::getProfile): 46375 (WebCore::InspectorController::createProfileHeader): 46376 * inspector/InspectorController.h: 46377 * inspector/InspectorFrontend.cpp: 46378 (WebCore::InspectorFrontend::addProfileHeader): 46379 (WebCore::InspectorFrontend::didGetProfileHeaders): 46380 (WebCore::InspectorFrontend::didGetProfile): 46381 * inspector/InspectorFrontend.h: 46382 * inspector/JavaScriptProfileNode.cpp: 46383 (WebCore::ProfileNodeClass): 46384 * inspector/front-end/ProfileView.js: 46385 (WebInspector.ProfileView.profileCallback): 46386 (WebInspector.ProfileView): 46387 (WebInspector.ProfileView.prototype._mouseDownInDataGrid): 46388 (WebInspector.ProfileView.prototype._assignParentsInProfile): 46389 * inspector/front-end/ProfilesPanel.js: 46390 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 46391 * inspector/front-end/inspector.js: 46392 (WebInspector.addProfileHeader): 46393 46394 2009-10-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 46395 46396 Reviewed by Simon Hausmann. 46397 46398 ImageDecoderQt: Minor tweaks to the decoder 46399 46400 - Only cache the data when we start to use it. 46401 - Start with a repetition count of none for normal images. 46402 - Do not use canRead as this will trigger parsing of the full image 46403 - Cope with a GIF failing to decode the first frame, do not 46404 set m_failed to true if decoding the first frame failed 46405 - Inform the QImageReader about the format that was detected 46406 - Always create a ImageDecoderQt when when we have more 46407 than four byte. 46408 46409 46410 * platform/graphics/qt/ImageDecoderQt.cpp: 46411 (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up 46412 (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone 46413 (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received 46414 (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice. 46415 (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String 46416 (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode 46417 (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize() 46418 (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails 46419 * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type 46420 46421 2009-10-14 Mikhail Naganov <mnaganov (a] chromium.org> 46422 46423 Reviewed by Pavel Feldman. 46424 46425 Web Inspector: Migrate profiles to the injected script-based schema. 46426 46427 https://bugs.webkit.org/show_bug.cgi?id=30328 46428 46429 * bindings/js/JSInspectorBackendCustom.cpp: 46430 * bindings/v8/custom/V8CustomBinding.h: 46431 * inspector/InspectorBackend.cpp: 46432 (WebCore::InspectorBackend::getProfileHeaders): 46433 (WebCore::InspectorBackend::getProfile): 46434 * inspector/InspectorBackend.h: 46435 * inspector/InspectorBackend.idl: 46436 * inspector/InspectorController.cpp: 46437 (WebCore::InspectorController::addProfile): 46438 (WebCore::InspectorController::getProfileHeaders): 46439 (WebCore::InspectorController::getProfile): 46440 (WebCore::InspectorController::createProfileHeader): 46441 * inspector/InspectorController.h: 46442 * inspector/InspectorFrontend.cpp: 46443 (WebCore::InspectorFrontend::addProfileHeader): 46444 (WebCore::InspectorFrontend::didGetProfileHeaders): 46445 (WebCore::InspectorFrontend::didGetProfile): 46446 * inspector/InspectorFrontend.h: 46447 * inspector/JavaScriptProfileNode.cpp: 46448 (WebCore::ProfileNodeClass): 46449 * inspector/front-end/ProfileView.js: 46450 (WebInspector.ProfileView.profileCallback): 46451 (WebInspector.ProfileView): 46452 (WebInspector.ProfileView.prototype._mouseDownInDataGrid): 46453 (WebInspector.ProfileView.prototype._assignParentsInProfile): 46454 * inspector/front-end/ProfilesPanel.js: 46455 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 46456 * inspector/front-end/inspector.js: 46457 (WebInspector.addProfileHeader): 46458 46459 2009-10-13 Yury Semikhatsky <yurys (a] chromium.org> 46460 46461 Reviewed by Pavel Feldman. 46462 46463 Don't collect call frame properties until they're needed for completion. 46464 46465 https://bugs.webkit.org/show_bug.cgi?id=30334 46466 46467 * inspector/front-end/ConsoleView.js: 46468 (WebInspector.ConsoleView.prototype.completions): 46469 * inspector/front-end/InjectedScript.js: 46470 (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties. 46471 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed. 46472 * inspector/front-end/ScriptsPanel.js: 46473 46474 2009-10-13 Yongjun Zhang <yongjun.zhang (a] nokia.com> 46475 46476 Reviewed by Ariya Hidayat. 46477 46478 https://bugs.webkit.org/show_bug.cgi?id=29106 46479 [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler. 46480 46481 Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw 46482 compiler aggressively resolve inheritance of class R. 46483 46484 The winscw compiler bug is reported at: 46485 https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812. 46486 46487 The change should be reverted when the above bug is fixed in winscw compiler. 46488 46489 * loader/CachedResourceHandle.h: 46490 (WebCore::::CachedResourceHandle): 46491 46492 2009-10-13 Dimitri Glazkov <dglazkov (a] chromium.org> 46493 46494 No review, rolling out r49554, because it broke Win and Chromium builds. 46495 http://trac.webkit.org/changeset/49554 46496 46497 * css/CSSPrimitiveValue.cpp: 46498 (WebCore::CSSPrimitiveValue::cssText): 46499 46500 2009-10-13 Evan Martin <evan (a] chromium.org> 46501 46502 Reviewed by Adam Barth. 46503 46504 Stringify CSS units manually (without printf) to make the formatting 46505 locale-insensitive and obey CSS spec with respect to large values. 46506 46507 https://bugs.webkit.org/show_bug.cgi?id=18994 46508 46509 * css/CSSPrimitiveValue.cpp: 46510 (WebCore::appendCSSDouble): 46511 (WebCore::formatWithUnits): 46512 (WebCore::CSSPrimitiveValue::cssText): 46513 46514 2009-10-13 Evan Martin <evan (a] chromium.org> 46515 46516 Reviewed by David Levin. 46517 46518 Make grippy lines vertical on horizontal scrollbars in Linux Chrome. 46519 While we're rebaselining scrollbars, fix an off by one in the vertical 46520 scrollbar rendering too. 46521 46522 https://bugs.webkit.org/show_bug.cgi?id=30319 46523 46524 Tests: this is covered by every pixel test involving scrollbars. 46525 46526 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 46527 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 46528 46529 2009-10-13 Sam Weinig <sam (a] webkit.org> 46530 46531 Reviewed by David Hyatt. 46532 46533 Fix issue where clientX and clientY on MouseEvents were wrong when 46534 the page was zoomed and scrolled. 46535 46536 Test: fast/events/clientXY-in-zoom-and-scroll.html 46537 46538 * dom/MouseRelatedEvent.cpp: 46539 (WebCore::contentsX): Take page zoom into account. 46540 (WebCore::contentsY): Ditto. 46541 46542 2009-10-13 Dave Hyatt <hyatt (a] apple.com> 46543 46544 Reviewed by Adam Roben. 46545 46546 Change the order of arguments on some of the user stylesheet/script functions. Split the removal functions 46547 out into separate ones for scripts and stylesheets. 46548 46549 * WebCore.base.exp: 46550 * page/PageGroup.cpp: 46551 (WebCore::PageGroup::addUserScriptToWorld): 46552 (WebCore::PageGroup::addUserStyleSheetToWorld): 46553 (WebCore::PageGroup::removeUserScriptFromWorld): 46554 (WebCore::PageGroup::removeUserStyleSheetFromWorld): 46555 (WebCore::PageGroup::removeUserScriptsFromWorld): 46556 (WebCore::PageGroup::removeUserStyleSheetsFromWorld): 46557 * page/PageGroup.h: 46558 (WebCore::PageGroup::userScripts): 46559 (WebCore::PageGroup::userStyleSheets): 46560 46561 2009-10-13 Evan Martin <evan (a] chromium.org> 46562 46563 Reviewed by Dmitry Titov. 46564 46565 Chrome's "Skia" theme paints select controls backwards in RTL. 46566 46567 https://bugs.webkit.org/show_bug.cgi?id=30320 46568 46569 Test: fast/text/international/bidi-menulist.html 46570 (The test is about something else, but it includes RTL selects.) 46571 46572 * rendering/RenderThemeChromiumSkia.cpp: 46573 (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case. 46574 46575 2009-10-13 Dmitry Titov <dimich (a] chromium.org> 46576 46577 Reviewed by Alexey Proskuryakov. 46578 46579 https://bugs.webkit.org/show_bug.cgi?id=30318 46580 ScriptExecutionContext is not anymore needed to create an EventListener - remove old code. 46581 It's a followup to r48884. It removed the need to pass the ScritpExecutionContext 46582 into EventListener constructor but did not remove the code pulling ScriptExecutionContext. 46583 46584 Tests: 46585 Test adds event listener to a DocumentType Node which is created without a document 46586 and then dispatches the event after attaching a node to the tree. Event 46587 should fire when node is attached to the tree. 46588 46589 * fast/events/add-event-without-document-expected.txt: Added. 46590 * fast/events/add-event-without-document.html: Added. 46591 46592 All changes in files below are the same - remove the code that calls 46593 EventTarget::scriptExecutionContext and checks it for NULL. 46594 46595 * bindings/js/JSAbstractWorkerCustom.cpp: 46596 (WebCore::JSAbstractWorker::addEventListener): 46597 (WebCore::JSAbstractWorker::removeEventListener): 46598 * bindings/js/JSDOMApplicationCacheCustom.cpp: 46599 (WebCore::JSDOMApplicationCache::addEventListener): 46600 (WebCore::JSDOMApplicationCache::removeEventListener): 46601 * bindings/js/JSDesktopNotificationsCustom.cpp: 46602 (WebCore::JSNotification::addEventListener): 46603 (WebCore::): 46604 * bindings/js/JSEventSourceCustom.cpp: 46605 (WebCore::JSEventSource::addEventListener): 46606 (WebCore::JSEventSource::removeEventListener): 46607 * bindings/js/JSMessagePortCustom.cpp: 46608 (WebCore::JSMessagePort::addEventListener): 46609 (WebCore::JSMessagePort::removeEventListener): 46610 * bindings/js/JSNodeCustom.cpp: 46611 (WebCore::JSNode::addEventListener): 46612 (WebCore::JSNode::removeEventListener): 46613 * bindings/js/JSSVGElementInstanceCustom.cpp: 46614 (WebCore::JSSVGElementInstance::addEventListener): 46615 (WebCore::JSSVGElementInstance::removeEventListener): 46616 * bindings/js/JSXMLHttpRequestCustom.cpp: 46617 (WebCore::JSXMLHttpRequest::addEventListener): 46618 (WebCore::JSXMLHttpRequest::removeEventListener): 46619 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 46620 (WebCore::JSXMLHttpRequestUpload::addEventListener): 46621 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 46622 * bindings/js/JSWebSocketCustom.cpp: 46623 (WebCore::JSWebSocket::addEventListener): 46624 (WebCore::JSWebSocket::removeEventListener): 46625 46626 2009-10-13 Drew Wilson <atwilson (a] atwilson-macpro.local> 46627 46628 Reviewed by David Levin. 46629 46630 Enable SHARED_WORKERS for Chromium 46631 https://bugs.webkit.org/show_bug.cgi?id=30289 46632 46633 Cleaned up bitrot in SharedWorker V8 bindings. 46634 46635 * WebCore.gypi: 46636 Removed default implementation of SharedWorkerRepository so Chromium can provide its own. 46637 * bindings/v8/DerivedSourcesAllInOne.cpp: 46638 Added V8SharedWorkerContext.cpp. 46639 * bindings/v8/V8DOMWrapper.cpp: 46640 (WebCore::V8DOMWrapper::getTemplate): 46641 Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT. 46642 * bindings/v8/V8Index.cpp: 46643 Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers. 46644 * bindings/v8/V8Index.h: 46645 Added definition for SHAREDWORKERCONTEXT wrapper. 46646 * bindings/v8/WorkerContextExecutionProxy.cpp: 46647 Added includes for SharedWorker.h and SharedWorkerContext.h. 46648 * bindings/v8/custom/V8CustomBinding.h: 46649 Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index. 46650 Also added field indexes for SharedWorkers. 46651 * bindings/v8/custom/V8DOMWindowCustom.cpp: 46652 (WebCore::ACCESSOR_RUNTIME_ENABLER): 46653 Added runtime enabler for the SharedWorker constructor. 46654 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 46655 (WebCore::CALLBACK_FUNC_DECL): 46656 Cleaned up bitrot (various APIs have changed since this file was written). 46657 * page/DOMWindow.idl: 46658 Added EnabledAtRuntime flag to window.SharedWorker. 46659 46660 2009-10-13 Alexey Proskuryakov <ap (a] apple.com> 46661 46662 Reviewed by Brady Eidson. 46663 46664 https://bugs.webkit.org/show_bug.cgi?id=30345 46665 HTTP tests for credential handling fail on Tiger 46666 46667 We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so 46668 let it do its work without intervention. Once again, we pass explicitly passed credentials 46669 in URL, fixing regressions from Safari 3. 46670 46671 * platform/network/mac/ResourceHandleMac.mm: 46672 (WebCore::ResourceHandle::start): 46673 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 46674 (WebCore::ResourceHandle::receivedCredential): 46675 46676 2009-10-13 Roland Steiner <rolandsteiner (a] google.com> 46677 46678 Reviewed by Adam Barth. 46679 46680 Bug 28964 - [Chromium] ChromiumDataObject should have getter/setter interface 46681 46682 Reworked and added to the getter/setter interface in ChromiumDataObject: 46683 - added contains...() methods to just query the state 46684 - added containsValid...URL() methods for URL data members 46685 - removed takeFileNames() as this was too type-dependent 46686 - changed return type of fileNames() to Vector<String> 46687 - added interface methods to allow appending to and iteration over file names 46688 46689 No new tests (no functional behavior changed). 46690 46691 * platform/chromium/ChromiumDataObject.h: 46692 (WebCore::ChromiumDataObject::containsMainURL): 46693 (WebCore::ChromiumDataObject::containsValidMainURL): 46694 (WebCore::ChromiumDataObject::containsMainURLTitle): 46695 (WebCore::ChromiumDataObject::containsTextPlain): 46696 (WebCore::ChromiumDataObject::containsTextHTML): 46697 (WebCore::ChromiumDataObject::containsHTMLBaseURL): 46698 (WebCore::ChromiumDataObject::containsValidHTMLBaseURL): 46699 (WebCore::ChromiumDataObject::containsContent): 46700 (WebCore::ChromiumDataObject::containsContentFileExtension): 46701 (WebCore::ChromiumDataObject::containsContentFileName): 46702 (WebCore::ChromiumDataObject::setContentFileName): 46703 (WebCore::ChromiumDataObject::containsFileNames): 46704 (WebCore::ChromiumDataObject::fileNames): 46705 (WebCore::ChromiumDataObject::clearFileNames): 46706 (WebCore::ChromiumDataObject::countFileNames): 46707 (WebCore::ChromiumDataObject::fileNameAt): 46708 (WebCore::ChromiumDataObject::setFileNames): 46709 (WebCore::ChromiumDataObject::appendToFileNames): 46710 (WebCore::ChromiumDataObject::popFileName): 46711 46712 2009-10-13 Simon Fraser <simon.fraser (a] apple.com> 46713 46714 Temporary debugging changes to figure out why the webgl tests are crashing on the build bot. 46715 46716 * platform/graphics/mac/GraphicsContext3DMac.cpp: 46717 (WebCore::GraphicsContext3D::GraphicsContext3D): 46718 46719 2009-10-13 Simon Fraser <simon.fraser (a] apple.com> 46720 46721 Reviewed by Dan Bernstein. 46722 46723 Visibility:visible inside a compositing layer doesn't make the element visible 46724 https://bugs.webkit.org/show_bug.cgi?id=30339 46725 46726 When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer() 46727 only consulted hasVisibleContent(), which does not take into a account child layers which 46728 may be visible. We also have to consult hasVisibleDescendant() as well. 46729 46730 Test: compositing/compositing-visible-descendant.html 46731 46732 * rendering/RenderLayer.h: 46733 (WebCore::RenderLayer::hasVisibleDescendant): 46734 * rendering/RenderLayerBacking.cpp: 46735 (WebCore::RenderLayerBacking::paintIntoLayer): 46736 46737 2009-10-13 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 46738 46739 Reviewed by Simon Hausmann. 46740 46741 Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 46742 https://bugs.webkit.org/show_bug.cgi?id=30278 46743 46744 Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 46745 from the make system into common code. 46746 46747 Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 46748 support is not enabled. 46749 46750 Remove notImplemented() from PluginPackageNone.cpp and 46751 PluginDataNone.cpp make them just empty functions. 46752 46753 * GNUmakefile.am: 46754 * WebCore.pro: 46755 * plugins/PluginDataNone.cpp: 46756 (WebCore::PluginData::initPlugins): 46757 (WebCore::PluginData::refresh): 46758 * plugins/PluginPackageNone.cpp: 46759 (WebCore::PluginPackage::determineQuirks): 46760 (WebCore::PluginPackage::fetchInfo): 46761 (WebCore::PluginPackage::load): 46762 46763 2009-10-13 Alexey Proskuryakov <ap (a] apple.com> 46764 46765 Reviewed by Dan Bernstein. 46766 46767 https://bugs.webkit.org/show_bug.cgi?id=30150 46768 <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types 46769 46770 Test: editing/pasteboard/crash-accessing-clipboardData-types.html 46771 46772 * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String 46773 class doesn't have operator bool, it's operator NSString* that is invoked instead, and it 46774 converts null strings to non-null @"". 46775 46776 2009-10-13 Drew Wilson <atwilson (a] atwilson-macpro.local> 46777 46778 Reviewed by Dimitri Glazkov. 46779 46780 window attributes (like localStorage) that are disabled at runtime are still visible 46781 https://bugs.webkit.org/show_bug.cgi?id=30240 46782 46783 Adding codegen/bindings to support runtime disabling of attributes. 46784 46785 No new tests (only supported by chrome currently) 46786 46787 * bindings/scripts/CodeGeneratorV8.pm: 46788 Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct. 46789 Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance. 46790 * bindings/v8/V8Proxy.cpp: 46791 (WebCore::batchConfigureAttributes): 46792 Refactored attribute setting code into a common inline routine. 46793 * bindings/v8/V8Proxy.h: 46794 (WebCore::configureAttribute): 46795 Inline function which configures a single attribute given a BatchedAttribute struct. 46796 * bindings/v8/custom/V8CustomBinding.h: 46797 Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime. 46798 * bindings/v8/custom/V8DOMWindowCustom.cpp: 46799 Added code to enable window.Audio only if MediaPlayer.isAvailable() == true 46800 * page/DOMWindow.idl: 46801 Added [EnabledAtRuntime] extended attribute to the Audio attribute. 46802 46803 2009-10-13 Michelangelo De Simone <micdesim (a] gmail.com> 46804 46805 Reviewed by Adam Barth. 46806 46807 https://bugs.webkit.org/show_bug.cgi?id=27457 46808 Added support for static validation on type=email input elements as per 46809 HTML5 specs: 46810 http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state 46811 46812 Test: fast/forms/ValidityState-typeMismatch-email.html 46813 46814 * html/ValidityState.cpp: 46815 (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch 46816 performs validation on type=email input elements now. 46817 (WebCore::ValidityState::isValidEmailAddress): simple validation method 46818 * html/ValidityState.h: 46819 46820 2009-10-13 Dmitry Titov <dimich (a] chromium.org> 46821 46822 Reviewed by Adam Barth. 46823 46824 Event listeners installed on a window object returned from window.open() don't work 46825 https://bugs.webkit.org/show_bug.cgi?id=28716 46826 46827 Tests: http/tests/security/window-events-clear-domain.html 46828 http/tests/security/window-events-clear-port.html 46829 http/tests/security/window-events-pass.html 46830 46831 * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all 46832 window event handlers when implicitOpen is called. It is called in 2 cases - on 46833 committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers). 46834 46835 (WebCore::Document::open): in addition to calling implicitOpen it also removes window 46836 event handlers, to preserve the behavior of document.open(). 46837 46838 (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that 46839 does not remove window event handlers. 46840 46841 * dom/Document.h: Removed clear(). 46842 46843 * loader/FrameLoader.cpp: 46844 (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers 46845 if we transition from temporary empty document to a loaded one. 46846 46847 (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading. 46848 (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above. 46849 46850 2009-10-13 Brian Weinstein <bweinstein (a] apple.com> 46851 46852 Reviewed by Pavel Feldman. 46853 46854 Fix a leak in the inspector by calling didRemoveNode with 46855 an error code when it fails, instead of returning from the 46856 Backend. 46857 46858 * inspector/InspectorBackend.cpp: 46859 (WebCore::InspectorBackend::removeNode): 46860 * inspector/front-end/ElementsTreeOutline.js: 46861 46862 2009-10-13 Brian Weinstein <bweinstein (a] apple.com> 46863 46864 Reviewed by Timothy Hatcher. 46865 46866 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>. 46867 Web Inspector: Should be able to delete nodes from the Elements Tree. 46868 46869 When the delete key is pressed and a element is selected in the tree, 46870 the element should be deleted from the Elements Tree and the DOM. 46871 46872 * inspector/InspectorBackend.cpp: 46873 (WebCore::InspectorBackend::removeNode): 46874 * inspector/InspectorBackend.h: 46875 * inspector/InspectorBackend.idl: 46876 * inspector/InspectorFrontend.cpp: 46877 (WebCore::InspectorFrontend::didRemoveNode): 46878 * inspector/InspectorFrontend.h: 46879 * inspector/front-end/ElementsPanel.js: 46880 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): 46881 * inspector/front-end/ElementsTreeOutline.js: 46882 (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): 46883 46884 2009-10-13 Brian Weinstein <bweinstein (a] apple.com> 46885 46886 Reviewed by Timothy Hatcher. 46887 46888 Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings. 46889 46890 Set pointer-events: none on the new overlay so mouseover events are passed 46891 to the resources graph so we can show timings. 46892 46893 * inspector/front-end/inspector.css: 46894 46895 2009-10-13 Girish Ramakrishnan <girish (a] forwardbias.in> 46896 46897 Reviewed by Simon Hausmann. 46898 46899 [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead. 46900 46901 This is a bug for two reasons: 46902 1. Everytime we use winId(), we end up creating a native widget. This causes an 46903 unnecessary copy of contents from the backing store to the native widget. 46904 2. Neither windowed nor windowless plugins require the winId of the QWebView or 46905 QGraphicsView. 46906 46907 Introduce ownerWidget() which returns a QWidget * without creating a native widget 46908 (as opposed to QWidget::find(winId)). 46909 46910 https://bugs.webkit.org/show_bug.cgi?id=30170 46911 46912 * platform/qt/PlatformScreenQt.cpp: 46913 (WebCore::screenDepthPerComponent): 46914 * platform/qt/PopupMenuQt.cpp: 46915 (WebCore::PopupMenu::show): 46916 * platform/qt/QWebPageClient.h: 46917 * plugins/qt/PluginViewQt.cpp: 46918 (WebCore::setSharedXEventFields): 46919 (WebCore::PluginView::initXEvent): 46920 (WebCore::PluginView::getValue): 46921 (WebCore::PluginView::platformStart): 46922 46923 2009-10-13 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 46924 46925 Unreviewed build system fix. Typo in a filename. 46926 46927 * GNUmakefile.am: 46928 46929 2009-10-12 Alexander Pavlov <apavlov (a] chromium.org> 46930 46931 Reviewed by Timothy Hatcher. 46932 Alter profile link format to enable multiple profile types 46933 https://bugs.webkit.org/show_bug.cgi?id=30253 46934 46935 The new profile URL includes the profile type along with the 46936 profile title and uid. 46937 46938 * inspector/InspectorController.cpp: 46939 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 46940 (WebCore::InspectorController::addStartProfilingMessageToConsole): 46941 * inspector/front-end/inspector.js: 46942 (WebInspector.documentClick.followLink): 46943 (WebInspector.documentClick): 46944 (WebInspector.linkifyStringAsFragment): 46945 46946 2009-10-12 Alexander Pavlov <apavlov (a] chromium.org> 46947 46948 Reviewed by Timothy Hatcher. 46949 46950 Fix same-named profiles grouping in the Profiles panel. 46951 46952 The tree node re-parenting while adding a new group node was broken. 46953 46954 https://bugs.webkit.org/show_bug.cgi?id=30299 46955 46956 * inspector/front-end/ProfilesPanel.js: 46957 (WebInspector.ProfilesPanel.prototype.addProfile): 46958 46959 2009-10-12 Pavel Feldman <pfeldman (a] chromium.org> 46960 46961 Reviewed by Timothy Hatcher. 46962 46963 Web Inspector: Enforce async interaction between inspector controller and frontend. 46964 46965 https://bugs.webkit.org/show_bug.cgi?id=30300 46966 46967 * inspector/front-end/inspector.js: 46968 (WebInspector.dispatch.delayDispatch): 46969 (WebInspector.dispatch): 46970 46971 2009-10-12 Xiaomei Ji <xji (a] chromium.org> 46972 46973 Reviewed by Sam Weinig. 46974 46975 Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 46976 scrolled page. 46977 https://bugs.webkit.org/show_bug.cgi?id=30034 46978 46979 * dom/Document.cpp: 46980 (WebCore::Document::elementFromPoint): calculate the correct point 46981 relative to document when the page is zoomed and scrolled. 46982 (WebCore::Document::caretRangeFromPoint): calculate the correct point 46983 relative to document when the page is zoomed and scrolled. 46984 46985 2009-10-12 Fumitoshi Ukai <ukai (a] chromium.org> 46986 46987 Reviewed by Sam Weinig. 46988 46989 JavaScript bindings of WebSocket addEventListener/removeEventListener 46990 https://bugs.webkit.org/show_bug.cgi?id=29841 46991 46992 Test: fast/websockets/websocket-event-target.html 46993 46994 * bindings/js/JSWebSocketCustom.cpp: 46995 (WebCore::JSWebSocket::addEventListener): 46996 (WebCore::JSWebSocket::removeEventListener): 46997 * bindings/v8/custom/V8CustomBinding.h: 46998 * bindings/v8/custom/V8WebSocketCustom.cpp: 46999 (WebCore::CALLBACK_FUNC_DECL): 47000 * websockets/WebSocket.idl: 47001 47002 2009-10-12 Sam Weinig <sam (a] webkit.org> 47003 47004 Reviewed by Darin Adler. 47005 47006 Fix for https://bugs.webkit.org/show_bug.cgi?id=29078 47007 <rdar://problem/7288221> 47008 47009 Add a mechanism to blacklist certain codecs. Initially, just blacklist UTF-7 as HTML5 encourages. 47010 47011 * platform/text/TextEncodingRegistry.cpp: 47012 (WebCore::pruneBlacklistedCodecs): 47013 (WebCore::buildBaseTextCodecMaps): 47014 (WebCore::extendTextCodecMaps): 47015 47016 2009-10-09 Dave Hyatt <hyatt (a] apple.com> 47017 47018 Reviewed by Darin Adler. 47019 47020 Add support for the beforeload event to frames. Complete support of the beforeload event by making sure 47021 its wrapper gets properly constructed (so that the URL field of the event can be accessed). Add support 47022 for the Objective-C wrapper class as well. 47023 47024 Added fast/dom/beforeload/frame-before-load.html 47025 47026 * WebCore.xcodeproj/project.pbxproj: 47027 * bindings/js/JSEventCustom.cpp: 47028 (WebCore::toJS): 47029 * bindings/objc/DOMEvents.mm: 47030 (kitClass): 47031 * dom/BeforeLoadEvent.h: 47032 (WebCore::BeforeLoadEvent::isBeforeLoadEvent): 47033 * dom/Event.cpp: 47034 (WebCore::Event::isBeforeLoadEvent): 47035 * dom/Event.h: 47036 * html/HTMLFrameElementBase.cpp: 47037 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 47038 * loader/FrameLoader.cpp: 47039 (WebCore::FrameLoader::loadWithDocumentLoader): 47040 47041 2009-10-12 Dan Bernstein <mitz (a] apple.com> 47042 47043 Reviewed by Simon Fraser. 47044 47045 Fix <rdar://problem/7094146> Reproducible crash at 47046 RenderObject::localToAbsolute() 47047 47048 Test: fast/dynamic/position-absolute-to-fixed-crash.html 47049 47050 The crash was caused by stale positioned objects lists following an 47051 object transitioning from being absolutely position to being fixed 47052 positioned. 47053 47054 * rendering/RenderBox.cpp: 47055 (WebCore::RenderBox::styleWillChange): In case of a transition between 47056 absolute and fixed position, mark the parent as having a child needing 47057 layout, so that this object will get inserted into its new container's 47058 positioned objects list. 47059 * rendering/RenderObject.cpp: 47060 (WebCore::RenderObject::styleWillChange): Changed a condition to cover 47061 this transition, so that this object gets removed from its current 47062 container's positioned objects list. 47063 47064 2009-10-12 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 47065 47066 Reviewed by Simon Hausmann. 47067 47068 Add a palette() method that is needed by our RenderTheme. 47069 47070 * platform/qt/QWebPageClient.h: 47071 47072 2009-10-12 Dirk Schulze <krit (a] webkit.org> 47073 47074 Reviewed by Nikolas Zimmermann. 47075 47076 SVG Gradients can't handle percentage values in userSpaceOnUse mode 47077 [https://bugs.webkit.org/show_bug.cgi?id=30286] 47078 47079 Fixed *GradientAttributes to take SVGLength instead of double. This casues 47080 the problem, that we can't calculate the correct size of a gradient on 47081 userSpaceOnUse mode with percentage values. 47082 47083 Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg 47084 47085 * svg/LinearGradientAttributes.h: 47086 (WebCore::LinearGradientAttributes::LinearGradientAttributes): 47087 (WebCore::LinearGradientAttributes::x1): 47088 (WebCore::LinearGradientAttributes::y1): 47089 (WebCore::LinearGradientAttributes::x2): 47090 (WebCore::LinearGradientAttributes::y2): 47091 (WebCore::LinearGradientAttributes::setX1): 47092 (WebCore::LinearGradientAttributes::setY1): 47093 (WebCore::LinearGradientAttributes::setX2): 47094 (WebCore::LinearGradientAttributes::setY2): 47095 * svg/RadialGradientAttributes.h: 47096 (WebCore::RadialGradientAttributes::RadialGradientAttributes): 47097 (WebCore::RadialGradientAttributes::cx): 47098 (WebCore::RadialGradientAttributes::cy): 47099 (WebCore::RadialGradientAttributes::r): 47100 (WebCore::RadialGradientAttributes::fx): 47101 (WebCore::RadialGradientAttributes::fy): 47102 (WebCore::RadialGradientAttributes::setCx): 47103 (WebCore::RadialGradientAttributes::setCy): 47104 (WebCore::RadialGradientAttributes::setR): 47105 (WebCore::RadialGradientAttributes::setFx): 47106 (WebCore::RadialGradientAttributes::setFy): 47107 * svg/SVGLinearGradientElement.cpp: 47108 (WebCore::SVGLinearGradientElement::buildGradient): 47109 (WebCore::SVGLinearGradientElement::collectGradientProperties): 47110 * svg/SVGRadialGradientElement.cpp: 47111 (WebCore::SVGRadialGradientElement::buildGradient): 47112 (WebCore::SVGRadialGradientElement::collectGradientProperties): 47113 47114 2009-10-12 Brian Weinstein <bweinstein (a] apple.com> 47115 47116 Reviewed by Timothy Hatcher. 47117 47118 Fixes <http://webkit.org/b/30315>. 47119 Web Inspector: DOM Content and Load lines in Resources are unclear what they mean. 47120 47121 Add tooltip text to the Load event and DOM Content event lines through 47122 a new layer that allows these lines to be on top of the view. 47123 47124 * inspector/front-end/ResourcesPanel.js: 47125 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): 47126 (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition): 47127 * inspector/front-end/inspector.css: 47128 47129 2009-10-12 Dimitri Glazkov <dglazkov (a] chromium.org> 47130 47131 No review, rolling out r49429, because it broke layout tests. 47132 http://trac.webkit.org/changeset/49429 47133 47134 * bindings/v8/V8AbstractEventListener.cpp: 47135 (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 47136 47137 2009-10-12 Dirk Schulze <krit (a] webkit.org> 47138 47139 Reviewed by Eric Seidel. 47140 47141 SVG - crash on feMerge when input not available 47142 [https://bugs.webkit.org/show_bug.cgi?id=30297] 47143 47144 Make a early return in SVGFEMergeElement if the needed 47145 filter effect doesn't exist. 47146 47147 Test: svg/filters/feMerge-wrong-input.svg 47148 47149 * svg/SVGFEMergeElement.cpp: 47150 (WebCore::SVGFEMergeElement::build): 47151 47152 2009-10-12 Chris Marrin <cmarrin (a] apple.com> 47153 47154 Reviewed by Oliver Hunt. 47155 47156 Added automatic flush before compositing 47157 https://bugs.webkit.org/show_bug.cgi?id=30236 47158 47159 This causes image to always render correctly. In writing a testcase 47160 I needed to implement readPixels. This exposed a bug in reading back 47161 values from a CanvasArray subclass, so I fixed that as well. Now when 47162 you wrap a CanvasArray in a JSValue it actually wraps the specific 47163 subclass. To do this I need to add virtual methods to each CanvasArray 47164 subclass to determine the type and a custom toJS method for CanvasArray 47165 to create the proper wrapper. 47166 47167 Test: fast/canvas/webgl/triangle.html 47168 47169 * WebCore.xcodeproj/project.pbxproj: 47170 * bindings/js/JSCanvasArrayCustom.cpp: 47171 (WebCore::toJS): 47172 * html/canvas/CanvasArray.h: 47173 (WebCore::CanvasArray::isByteArray): 47174 (WebCore::CanvasArray::isUnsignedByteArray): 47175 (WebCore::CanvasArray::isShortArray): 47176 (WebCore::CanvasArray::isUnsignedShortArray): 47177 (WebCore::CanvasArray::isIntArray): 47178 (WebCore::CanvasArray::isUnsignedIntArray): 47179 (WebCore::CanvasArray::isFloatArray): 47180 * html/canvas/CanvasArray.idl: 47181 * html/canvas/CanvasByteArray.h: 47182 (WebCore::CanvasByteArray::isByteArray): 47183 * html/canvas/CanvasFloatArray.h: 47184 (WebCore::CanvasFloatArray::isFloatArray): 47185 * html/canvas/CanvasIntArray.h: 47186 (WebCore::CanvasIntArray::isIntArray): 47187 * html/canvas/CanvasRenderingContext3D.cpp: 47188 (WebCore::CanvasRenderingContext3D::readPixels): 47189 * html/canvas/CanvasRenderingContext3D.h: 47190 * html/canvas/CanvasRenderingContext3D.idl: 47191 * html/canvas/CanvasShortArray.h: 47192 (WebCore::CanvasShortArray::isShortArray): 47193 * html/canvas/CanvasUnsignedByteArray.h: 47194 (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray): 47195 * html/canvas/CanvasUnsignedIntArray.h: 47196 (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray): 47197 * html/canvas/CanvasUnsignedShortArray.h: 47198 (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray): 47199 * platform/graphics/GraphicsContext3D.h: 47200 * platform/graphics/mac/Canvas3DLayer.mm: 47201 (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): 47202 * platform/graphics/mac/GraphicsContext3DMac.cpp: 47203 (WebCore::GraphicsContext3D::readPixels): 47204 47205 2009-10-12 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 47206 47207 Reviewed by Gustavo Noronha. 47208 47209 https://bugs.webkit.org/show_bug.cgi?id=30307 47210 47211 Fix 0 sentinel for g_object_set() function call. 47212 47213 * platform/graphics/gtk/DataSourceGStreamer.cpp: 47214 (webkit_data_src_uri_set_uri): 47215 0 is passed as 32 bit value on x86-64 in vararg functions, but 47216 g_object_set() expects a 64 bit 0. This will cause crashes. 47217 47218 2009-10-12 Cameron McCormack <cam (a] mcc.id.au> 47219 47220 Reviewed by Eric Seidel. 47221 47222 Drop in="" from <feFlood> 47223 https://bugs.webkit.org/show_bug.cgi?id=29001 47224 47225 This makes <feFlood in="bogus"> have an effect, too. 47226 47227 http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute 47228 47229 Test: svg/dom/feFlood-no-in1.html 47230 47231 * svg/SVGFEFloodElement.cpp: 47232 (WebCore::SVGFEFloodElement::SVGFEFloodElement): 47233 (WebCore::SVGFEFloodElement::build): 47234 * svg/SVGFEFloodElement.h: 47235 * svg/SVGFEFloodElement.idl: 47236 * svg/graphics/filters/SVGFEFlood.cpp: 47237 (WebCore::FEFlood::FEFlood): 47238 (WebCore::FEFlood::create): 47239 * svg/graphics/filters/SVGFEFlood.h: 47240 47241 2009-10-12 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 47242 47243 Reviewed by Gustavo Noronha. 47244 47245 https://bugs.webkit.org/show_bug.cgi?id=29998 47246 47247 Scale video to completely fill the target surface while 47248 keeping the aspect ratio. This fixes displaying of the 47249 YouTube HTML5 sample website. 47250 47251 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 47252 Scale video to completely fill the target surface, keep 47253 the aspect ratio and center it. 47254 47255 2009-10-12 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 47256 47257 Reviewed by Gustavo Noronha. 47258 47259 https://bugs.webkit.org/show_bug.cgi?id=29997 47260 47261 Fixes double memcpy of all rendered video frames. 47262 47263 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 47264 (WebCore::mediaPlayerPrivateRepaintCallback): 47265 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 47266 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 47267 (WebCore::MediaPlayerPrivate::duration): 47268 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 47269 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 47270 (webkit_video_sink_timeout_func): 47271 (webkit_video_sink_dispose): 47272 (unlock_buffer_mutex): 47273 (webkit_video_sink_unlock): 47274 (marshal_VOID__MINIOBJECT): 47275 (webkit_video_sink_class_init): 47276 (webkit_video_sink_new): 47277 * platform/graphics/gtk/VideoSinkGStreamer.h: 47278 Directly pass the buffers up to the MediaPlayerPrivate::paint() 47279 method instead of rendering them first to an intermediate cairo 47280 surface. This should increase performance and peak memory usage. 47281 47282 2009-10-11 Daniel Bates <dbates (a] webkit.org> 47283 47284 Reviewed by Adam Barth. 47285 47286 https://bugs.webkit.org/show_bug.cgi?id=30242 47287 47288 Fixes an issue where JavaScript URLs that are URL-encoded twice can 47289 bypass the XSSAuditor. 47290 47291 JavaScript URLs that are completed by method Document::completeURL have added 47292 URL-encoded characters such that a direct comparison with the URL-decoded 47293 outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 47294 HTTP parameters must be URL-decoded before comparison. 47295 47296 Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html 47297 http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html 47298 http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html 47299 47300 * bindings/ScriptControllerBase.cpp: 47301 (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor 47302 the URL-decoded source code for the JavaScript URL. 47303 * page/XSSAuditor.cpp: 47304 (WebCore::isIllegalURICharacter): Minor syntactical change to the comment. 47305 (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 47306 parameter decodeURLEscapeSequencesTwice. 47307 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 47308 (WebCore::XSSAuditor::decodeURL): Ditto. 47309 (WebCore::XSSAuditor::findInRequest): Ditto. 47310 * page/XSSAuditor.h: 47311 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto. 47312 47313 2009-10-11 Dominic Cooney <dominicc (a] google.com> 47314 47315 Reviewed by Adam Barth. 47316 47317 Fixes a build break in the V8 bindings caused by revision 49420. 47318 https://bugs.webkit.org/show_bug.cgi?id=30294 47319 47320 Revision 49420 introduces an IDL-defined CanvasActiveInfo 47321 type. This causes a build break in the V8 bindings where 47322 CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a 47323 non-ref type. 47324 47325 * WebCore.gypi: Include CanvasActiveInfo.idl in build. 47326 * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref 47327 ptr type. 47328 * bindings/v8/DOMObjectsInclude.h: Include generated 47329 CanvasActiveInfo files. 47330 * bindings/v8/DerivedSourcesAllInOne.cpp: 47331 * bindings/v8/V8Index.cpp: 47332 * bindings/v8/V8Index.h: 47333 47334 2009-10-11 Collin Jackson <collinj (a] webkit.org> 47335 47336 Reviewed by Adam Barth. 47337 47338 Log mixed content warnings to console 47339 47340 https://bugs.webkit.org/show_bug.cgi?id=30290 47341 47342 * loader/FrameLoader.cpp: 47343 (WebCore::FrameLoader::checkIfDisplayInsecureContent): 47344 (WebCore::FrameLoader::checkIfRunInsecureContent): 47345 47346 2009-10-11 Sren Gjesse <sgjesse (a] chromium.org> 47347 47348 Reviewed by Adam Barth. 47349 47350 [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200. 47351 https://bugs.webkit.org/show_bug.cgi?id=30250 47352 47353 * bindings/v8/V8AbstractEventListener.cpp: 47354 (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 47355 47356 2009-10-11 Lyon Chen <lyon.chen (a] torchmobile.com> 47357 47358 Reviewed by Alexey Proskuryakov. 47359 47360 Correct the position of #endif sentence inside WebCore::Document::finishedParsing(). 47361 47362 https://bugs.webkit.org/show_bug.cgi?id=30244 47363 47364 This change requires no test case as it fix a compiling error. 47365 47366 * dom/Document.cpp: 47367 (WebCore::Document::finishedParsing): 47368 47369 2009-10-11 Dominic Cooney <dominicc (a] google.com> 47370 47371 Reviewed by Adam Barth. 47372 47373 Sets a 500K stack limit for JavaScript workers in Chromium. 47374 https://bugs.webkit.org/show_bug.cgi?id=29797 47375 47376 Runaway recursion in JavaScript workers crashes the Chromium 47377 worker process on OS X. This is because V8's default stack limit 47378 is 512K on ia32 or 1M on x64, but the worker process runs workers 47379 on a thread with the OS X default stack size--512K. Because there 47380 are already some C+frames on the stack when V8 establishes its 47381 512K default stack limit, and V8 doesn't precisely enforce the 47382 stack limit, runaway recursion in V8 workers overflows the OS 47383 stack and segfaults, killing the worker process. This is described 47384 in Chromium bug 21653 <http://crbug.com/21653>. 47385 47386 This patch sets the V8 stack limit for worker JavaScript in 47387 Chromium to a more conservative 500K on all platforms. This allows 47388 some "headroom" for the C+stack in use when the limit is set up, 47389 and some "legroom" for the V8 helper functions which in practice 47390 briefly flout the V8 stack limit. 47391 47392 Test: LayoutTests/fast/workers/use-machine-stack.html 47393 47394 * bindings/v8/WorkerContextExecutionProxy.cpp: 47395 (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): 47396 * bindings/v8/WorkerContextExecutionProxy.h: 47397 47398 2009-10-11 Kevin Ollivier <kevino (a] theolliviers.com> 47399 47400 wx build fix for wxMac 2.9, use wxGC API for measuring text. 47401 47402 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 47403 (GetTextExtent): 47404 47405 2009-10-10 Cameron McCormack <cam (a] mcc.id.au> 47406 47407 Reviewed by Sam Weinig. 47408 47409 Allow [Reflect] on SVG elements. 47410 https://bugs.webkit.org/show_bug.cgi?id=28936 47411 47412 Update the JS binding generators to reference SVGNames instead of 47413 HTMLNames, if [Reflect]ing an attribute on an SVG element. Make 47414 SVGElement::id use [Reflect]. 47415 47416 Also make [Reflect] on an attribute with a setter exception work in ObjC 47417 bindings. 47418 47419 Test: svg/dom/id-reflect.html 47420 47421 * bindings/scripts/CodeGenerator.pm: Add a function to determine the 47422 appropriate C+namespace for attribute name constants. 47423 * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling 47424 code for [Reflect] on an attribute with a setter exception. 47425 * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of 47426 "HTMLNames" when appropriate. 47427 * bindings/scripts/CodeGeneratorJS.pm: Ditto. 47428 * bindings/scripts/CodeGeneratorV8.pm: Ditto. 47429 * svg/SVGElement.cpp: Remove getter and setter methods for id. 47430 * svg/SVGElement.h: Ditto. 47431 * svg/SVGElement.idl: Add [Reflect] to id. 47432 47433 2009-10-10 Oliver Hunt <oliver (a] apple.com> 47434 47435 Fix paths in xcode. 47436 47437 * WebCore.xcodeproj/project.pbxproj: 47438 47439 2009-10-10 Oliver Hunt <oliver (a] apple.com> 47440 47441 Reviewed by Eric Carlson. 47442 47443 Implement getActiveAttrib and getActiveUniform 47444 https://bugs.webkit.org/show_bug.cgi?id=30276 47445 47446 Implements the getActiveAttrib and getActiveUniform APIs. 47447 Rather simple patch, adds CanvasActiveInfo definition and implementation 47448 and adds forwarding to the GraphicsContext3D. 47449 47450 Test: fast/canvas/webgl/getActiveTest.html 47451 47452 * DerivedSources.make: 47453 * WebCore.xcodeproj/project.pbxproj: 47454 * html/canvas/CanvasActiveInfo.h: Added. 47455 (WebCore::CanvasActiveInfo::create): 47456 (WebCore::CanvasActiveInfo::name): 47457 (WebCore::CanvasActiveInfo::type): 47458 (WebCore::CanvasActiveInfo::size): 47459 (WebCore::CanvasActiveInfo::CanvasActiveInfo): 47460 * html/canvas/CanvasActiveInfo.idl: Added. 47461 * html/canvas/CanvasObject.h: 47462 (WebCore::CanvasObject::context): 47463 Need to make the context public as it is needed to ensure we don't 47464 provide a program from one context as an argument to another. 47465 * html/canvas/CanvasRenderingContext3D.cpp: 47466 (WebCore::CanvasRenderingContext3D::getActiveAttrib): 47467 (WebCore::CanvasRenderingContext3D::getActiveUniform): 47468 * html/canvas/CanvasRenderingContext3D.h: 47469 * html/canvas/CanvasRenderingContext3D.idl: 47470 * platform/graphics/GraphicsContext3D.h: 47471 * platform/graphics/mac/GraphicsContext3DMac.cpp: 47472 (WebCore::GraphicsContext3D::getActiveAttrib): 47473 (WebCore::GraphicsContext3D::getActiveUniform): 47474 47475 2009-10-10 Pavel Feldman <pfeldman (a] chromium.org> 47476 47477 Reviewed by Timothy Hatcher. 47478 47479 Web Inspector: Adding new attributes in Element Panel is 47480 counterintuitive. 47481 47482 https://bugs.webkit.org/show_bug.cgi?id=30057 47483 47484 * inspector/front-end/ElementsTreeOutline.js: 47485 (WebInspector.ElementsTreeOutline.prototype._onmousemove): 47486 (WebInspector.ElementsTreeElement.prototype.set hovered): 47487 (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): 47488 47489 2009-10-10 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 47490 47491 Reviewed by Holger Freyther. 47492 47493 Build fix if Netscape plugin support is turned off 47494 https://bugs.webkit.org/show_bug.cgi?id=30275 47495 47496 In addition to fixing the build break with guards 47497 remove notImplemented() from PluginViewNone.cpp and 47498 make them just just be empty functions. 47499 47500 * plugins/PluginView.cpp: 47501 (WebCore::PluginView::handleEvent): 47502 (WebCore::PluginView::PluginView): 47503 * plugins/PluginView.h: 47504 * plugins/PluginViewNone.cpp: 47505 (WebCore::PluginView::setFocus): 47506 (WebCore::PluginView::show): 47507 (WebCore::PluginView::hide): 47508 (WebCore::PluginView::paint): 47509 (WebCore::PluginView::handleKeyboardEvent): 47510 (WebCore::PluginView::handleMouseEvent): 47511 (WebCore::PluginView::setParent): 47512 (WebCore::PluginView::setNPWindowRect): 47513 (WebCore::PluginView::handlePostReadFile): 47514 (WebCore::PluginView::getValue): 47515 (WebCore::PluginView::getValueStatic): 47516 (WebCore::PluginView::invalidateRect): 47517 (WebCore::PluginView::invalidateRegion): 47518 (WebCore::PluginView::forceRedraw): 47519 (WebCore::PluginView::platformStart): 47520 (WebCore::PluginView::platformDestroy): 47521 (WebCore::PluginView::setParentVisible): 47522 (WebCore::PluginView::updatePluginWidget): 47523 47524 2009-10-10 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 47525 47526 Unreviewed. 47527 47528 [Qt] Build fix for QtWebKit after r49415. 47529 47530 Add HistoryController.cpp to the build. 47531 47532 * WebCore.pro: 47533 47534 2009-10-09 Darin Fisher <darin (a] chromium.org> 47535 47536 Reviewed by Eric Seidel. 47537 47538 [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens 47539 https://bugs.webkit.org/show_bug.cgi?id=30262 47540 47541 This is not testable from WebKit since WebKit never uses the member 47542 function form of protocolIs with input that can be controlled from a 47543 web page. It always passes string literals lacking hyphens. 47544 47545 * platform/KURLGoogle.cpp: 47546 (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would 47547 transform the input character. 47548 47549 2009-10-10 Adam Barth <abarth (a] webkit.org> 47550 47551 Reviewed by Oliver Hunt. 47552 47553 Move HistoryController to its own file 47554 https://bugs.webkit.org/show_bug.cgi?id=30272 47555 47556 Purely mechanical. 47557 47558 * GNUmakefile.am: 47559 * WebCore.gypi: 47560 * WebCore.vcproj/WebCore.vcproj: 47561 * WebCore.xcodeproj/project.pbxproj: 47562 * WebCoreSources.bkl: 47563 * loader/FrameLoader.cpp: 47564 * loader/FrameLoader.h: 47565 * loader/HistoryController.cpp: Added. 47566 * loader/HistoryController.h: Added. 47567 47568 2009-10-09 Ryosuke Niwa <rniwa (a] webkit.org> 47569 47570 Reviewed by Eric Seidel. 47571 47572 ApplyStyleCommand removes presentational tags even when not necessary 47573 https://bugs.webkit.org/show_bug.cgi?id=28091 47574 47575 This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true 47576 (triggering removal of tag) only if the style implicitly added by the element is not present in 47577 the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the 47578 surrounding element when possible. applyTextDecorationStyle is modified so that it does not add 47579 style span when the style attribute is empty. 47580 47581 Test: editing/execCommand/toggle-style-3.html 47582 47583 * editing/ApplyStyleCommand.cpp: 47584 (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text 47585 decoration is not present in the style to apply 47586 (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer 47587 returns true if the tag is used in new style 47588 (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant 47589 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element 47590 with the surrounding identical elements 47591 * editing/ApplyStyleCommand.h: 47592 47593 2009-10-09 Adam Barth <abarth (a] webkit.org> 47594 47595 Reviewed by Darin Adler. 47596 47597 Factor HistoryController out of FrameLoader 47598 https://bugs.webkit.org/show_bug.cgi?id=30246 47599 47600 HistoryController is in charge of managing the current / previous / 47601 provisional HistoryItems. The split isn't perfect, but it's a place to 47602 start. I'll move HistoryController into its own file in another patch. 47603 47604 * WebCore.base.exp: 47605 * loader/FrameLoader.cpp: 47606 (WebCore::HistoryController::HistoryController): 47607 (WebCore::HistoryController::~HistoryController): 47608 (WebCore::FrameLoader::FrameLoader): 47609 (WebCore::FrameLoader::closeURL): 47610 (WebCore::FrameLoader::begin): 47611 (WebCore::HistoryController::restoreDocumentState): 47612 (WebCore::HistoryController::setCurrentItem): 47613 (WebCore::HistoryController::setProvisionalItem): 47614 (WebCore::FrameLoader::loadURLIntoChildFrame): 47615 (WebCore::FrameLoader::canCachePageContainingThisFrame): 47616 (WebCore::FrameLoader::logCanCacheFrameDecision): 47617 (WebCore::FrameLoader::scrollToAnchor): 47618 (WebCore::FrameLoader::commitProvisionalLoad): 47619 (WebCore::FrameLoader::transitionToCommitted): 47620 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 47621 (WebCore::FrameLoader::didFirstLayout): 47622 (WebCore::HistoryController::updateForFrameLoadCompleted): 47623 (WebCore::FrameLoader::frameLoadCompleted): 47624 (WebCore::FrameLoader::detachFromParent): 47625 (WebCore::FrameLoader::receivedMainResourceError): 47626 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 47627 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 47628 (WebCore::HistoryController::addHistoryItemForFragmentScroll): 47629 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): 47630 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): 47631 (WebCore::HistoryController::createHistoryItem): 47632 (WebCore::FrameLoader::checkDidPerformFirstNavigation): 47633 (WebCore::HistoryController::addBackForwardItemClippedAtTarget): 47634 (WebCore::HistoryController::createHistoryItemTree): 47635 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): 47636 (WebCore::HistoryController::restoreScrollPositionAndViewState): 47637 (WebCore::HistoryController::invalidateCurrentItemCachedPage): 47638 (WebCore::HistoryController::saveDocumentState): 47639 (WebCore::FrameLoader::loadItem): 47640 (WebCore::HistoryController::urlsMatchItem): 47641 (WebCore::HistoryController::goToItem): 47642 (WebCore::HistoryController::recursiveGoToItem): 47643 (WebCore::HistoryController::childFramesMatchItem): 47644 (WebCore::HistoryController::updateForStandardLoad): 47645 (WebCore::HistoryController::updateForClientRedirect): 47646 (WebCore::HistoryController::updateForBackForwardNavigation): 47647 (WebCore::HistoryController::updateForReload): 47648 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 47649 (WebCore::HistoryController::updateForCommit): 47650 (WebCore::HistoryController::updateForAnchorScroll): 47651 (WebCore::HistoryController::saveDocumentAndScrollState): 47652 (WebCore::HistoryController::setCurrentItemTitle): 47653 (WebCore::FrameLoader::didChangeTitle): 47654 * loader/FrameLoader.h: 47655 (WebCore::HistoryController::current): 47656 (WebCore::HistoryController::provisional): 47657 (WebCore::FrameLoader::policyChecker): 47658 (WebCore::FrameLoader::history): 47659 (WebCore::FrameLoader::creatingInitialEmptyDocument): 47660 * page/Page.cpp: 47661 (WebCore::Page::goToItem): 47662 47663 2009-10-09 Alexey Proskuryakov <ap (a] apple.com> 47664 47665 Unreviewed - fixing an obvious typo in my previous check-in. 47666 47667 https://bugs.webkit.org/show_bug.cgi?id=30260 47668 <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work 47669 47670 Fixes existing tests (which I thought I had run the previous time). 47671 47672 * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the 47673 set by reference. 47674 47675 2009-10-09 David Levin <levin (a] chromium.org> 47676 47677 Reviewed by Eric Seidel. 47678 47679 [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class. 47680 https://bugs.webkit.org/show_bug.cgi?id=30264 47681 47682 The base class method changed in r48884. 47683 47684 Test: fast/worker/worker-script-error.html 47685 47686 * bindings/v8/V8WorkerContextEventListener.cpp: 47687 (WebCore::V8WorkerContextEventListener::reportError): 47688 * bindings/v8/V8WorkerContextEventListener.h: 47689 47690 2009-10-09 Alexey Proskuryakov <ap (a] apple.com> 47691 47692 Reviewed by Brady Eidson. 47693 47694 https://bugs.webkit.org/show_bug.cgi?id=30260 47695 <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work 47696 47697 Tests: http/tests/xmlhttprequest/logout.html 47698 http/tests/xmlhttprequest/re-login-async.html 47699 http/tests/xmlhttprequest/re-login.html 47700 47701 Fix several issues with existing credential handling code. 47702 47703 * platform/network/CredentialStorage.cpp: 47704 (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one. 47705 (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't 47706 want to iterate paths for origins that never had credentials associated with them. Changed 47707 to use a separate HashSet for this. 47708 (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't 47709 match the spec very well. UAs are supposed to deduce protection space from an URL, and then 47710 use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap 47711 is now PathToDefaultProtectionSpaceMap. 47712 (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory 47713 URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap. 47714 (WebCore::CredentialStorage::set): Updated for above changes. 47715 (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find 47716 a prefix in OriginToDefaultBasicCredentialMap. 47717 (WebCore::CredentialStorage::set): Another version of set() can update credentials for a 47718 URL default protection space. It does nothing if the given URL doesn't correspond to a known 47719 protection space. 47720 (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential. 47721 47722 * platform/network/CredentialStorage.h: Made the distinction between methods that use a known 47723 protection space and those that deduce one from URL more clear. 47724 47725 * platform/network/mac/ResourceHandleMac.mm: 47726 (WebCore::ResourceHandle::start): Update credentials before starting the request for real. 47727 This makes the following pattern work: 47728 var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials 47729 req.send(""); 47730 req.abort(); 47731 Abort() is used here to avoid having UA present an auth dialog after getting a 401 response. 47732 Note that one cannot log in using the same method, because there isn't a known protection 47733 space for the URL yet in that case, so the added code has no effect. 47734 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for 47735 calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of 47736 course), and matches sync case. 47737 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): 47738 Renamed getDefaultAuthenticationCredential() to get(). 47739 47740 * platform/network/cf/ResourceHandleCFNet.cpp: 47741 (WebCore::ResourceHandle::start): 47742 (WebCore::WebCoreSynchronousLoader::load): 47743 Same changes as in Mac code. 47744 47745 2009-10-09 Enrica Casucci <enrica (a] apple.com> 47746 47747 Reviewed by Adele Peterson. 47748 47749 Undoing a indent removes text instead of it's formatting. 47750 <rdar://problem/7169206> 47751 https://bugs.webkit.org/show_bug.cgi?id=28722 47752 Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the 47753 indent command making simple DOM operation, without using moveParagraph which cause undo to be broken. 47754 47755 Added editing/undo/undo-indent.html test. 47756 47757 * editing/IndentOutdentCommand.cpp: 47758 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. 47759 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes. 47760 (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored. 47761 (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to 47762 ensure TextIterator could correctly calculate the position starting from the index. 47763 * editing/IndentOutdentCommand.h: Restored. 47764 47765 2009-10-09 Jens Alfke <snej (a] chromium.org> 47766 47767 Reviewed by Darin Adler. 47768 47769 Optimization: Many StringImpl transformations are no-ops and should just return 'this' 47770 https://bugs.webkit.org/show_bug.cgi?id=30186 47771 47772 Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to 47773 detect no-ops and return this instead of creating a new instance. 47774 Empirical testing shows that the majority of calls to these methods are no-ops, making 47775 this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed. 47776 Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it. 47777 47778 * platform/text/StringImpl.cpp: 47779 (WebCore::StringImpl::lower): 47780 (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized 47781 (WebCore::StringImpl::stripWhiteSpace): 47782 (WebCore::StringImpl::simplifyWhiteSpace): 47783 47784 2009-10-09 Dirk Schulze <krit (a] webkit.org> 47785 47786 Reviewed by Oliver Hunt. 47787 47788 SVG Filter feGaussianBlur implementation is missing 47789 [https://bugs.webkit.org/show_bug.cgi?id=28141] 47790 47791 This is the implementation of GaussianBlur filter for SVG. 47792 47793 There is already a test for feGaussianBlur 47794 Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg 47795 47796 Test: svg/filters/feGaussianBlur.svg 47797 47798 * platform/graphics/filters/FilterEffect.cpp: 47799 (WebCore::FilterEffect::FilterEffect): 47800 * platform/graphics/filters/FilterEffect.h: 47801 (WebCore::FilterEffect::isAlphaImage): 47802 (WebCore::FilterEffect::setIsAlphaImage): 47803 * platform/graphics/filters/SourceAlpha.cpp: 47804 (WebCore::SourceAlpha::apply): 47805 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 47806 (WebCore::boxBlur): 47807 (WebCore::FEGaussianBlur::apply): 47808 47809 2009-10-09 Philippe Normand <pnormand (a] igalia.com> 47810 47811 Reviewed by Gustavo Noronha. 47812 47813 [GTK] QoS support in the video sink 47814 https://bugs.webkit.org/show_bug.cgi?id=29959 47815 47816 Removed the async buffer queue from the sink. Synchronize the 47817 render method of the sink using a g_timeout_add() combined with a 47818 gcond triggered when the buffer has been rendered. 47819 Also fixed the video sink reference handling in the player, now 47820 that the idle is not there anymore to mess up things. 47821 47822 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 47823 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 47824 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 47825 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 47826 (webkit_video_sink_init): 47827 (webkit_video_sink_timeout_func): 47828 (webkit_video_sink_render): 47829 (webkit_video_sink_dispose): 47830 (unlock_buffer_mutex): 47831 (webkit_video_sink_unlock): 47832 (webkit_video_sink_stop): 47833 (webkit_video_sink_class_init): 47834 47835 2009-10-09 Dirk Schulze <krit (a] webkit.org> 47836 47837 Reviewed by Nikolas Zimmermann. 47838 47839 feMorphology filter is not implemented 47840 [https://bugs.webkit.org/show_bug.cgi?id=5863] 47841 47842 Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug 47843 with the attribute "operator". It was only accessible via "_operator" 47844 on JavaScript. 47845 47846 Test: svg/dom/operatorAttribute.xhtml 47847 47848 * DerivedSources.cpp: 47849 * DerivedSources.make: 47850 * GNUmakefile.am: 47851 * WebCore.SVG.Filters.exp: 47852 * WebCore.gypi: 47853 * WebCore.pro: 47854 * WebCore.xcodeproj/project.pbxproj: 47855 * bindings/objc/DOM.mm: 47856 (WebCore::createElementClassMap): 47857 * bindings/objc/DOMSVG.h: 47858 * bindings/scripts/CodeGeneratorJS.pm: 47859 * bindings/scripts/CodeGeneratorObjC.pm: 47860 * page/DOMWindow.idl: 47861 * svg/SVGAllInOne.cpp: 47862 * svg/SVGFECompositeElement.idl: 47863 * svg/SVGFEMorphologyElement.cpp: Added. 47864 (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): 47865 (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement): 47866 (WebCore::SVGFEMorphologyElement::setRadius): 47867 (WebCore::SVGFEMorphologyElement::parseMappedAttribute): 47868 (WebCore::SVGFEMorphologyElement::build): 47869 * svg/SVGFEMorphologyElement.h: Added. 47870 * svg/SVGFEMorphologyElement.idl: Added. 47871 * svg/graphics/filters/SVGFEMorphology.cpp: 47872 (WebCore::operator<<): 47873 * svg/graphics/filters/SVGFEMorphology.h: 47874 (WebCore::): 47875 * svg/svgtags.in: 47876 47877 2009-10-09 Yury Semikhatsky <yurys (a] chromium.org> 47878 47879 Reviewed by Dimitri Glazkov. 47880 47881 Fix Chromium breakage. 47882 47883 https://bugs.webkit.org/show_bug.cgi?id=30104 47884 47885 * inspector/front-end/inspector.js: 47886 (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods. 47887 47888 2009-10-09 Joe Ligman <joseph.ligman (a] nokia.com> 47889 47890 Reviewed by Simon Hausmann. 47891 47892 [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient 47893 47894 https://bugs.webkit.org/show_bug.cgi?id=30023 47895 47896 * platform/qt/QWebPageClient.h: 47897 47898 2009-10-08 Dave Hyatt <hyatt (a] apple.com> 47899 47900 Reviewed by Darin Adler. 47901 47902 Implement beforeload for images. ImageLoadEventSender has been refactored into a more generic 47903 ImageEventSender that can be used by both load and beforeload events. If the document has any 47904 beforeload listeners, then the installation of images onto the renderer becomes asynchronous 47905 and will be held up until the beforeload event can fire at a later date. 47906 47907 Both beforeload and load events now fire at the end of the tokenizer write() methods, so that 47908 in the typical parsing case we don't have to put off the beforeload/load events until after 47909 a layout or paint might already have happened. This lets beforeload/load not cause extra 47910 layouts and repaints. 47911 47912 * dom/ContainerNode.cpp: 47913 (WebCore::ContainerNode::dispatchBeforeLoadEvent): 47914 * dom/Document.cpp: 47915 (WebCore::Document::implicitClose): 47916 (WebCore::Document::addListenerTypeIfNeeded): 47917 * dom/Document.h: 47918 (WebCore::Document::): 47919 * dom/XMLTokenizer.cpp: 47920 (WebCore::XMLTokenizer::write): 47921 * html/HTMLImageElement.cpp: 47922 (WebCore::HTMLImageElement::attach): 47923 * html/HTMLInputElement.cpp: 47924 (WebCore::HTMLInputElement::attach): 47925 * html/HTMLTokenizer.cpp: 47926 (WebCore::HTMLTokenizer::write): 47927 * loader/ImageLoader.cpp: 47928 (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender): 47929 (WebCore::ImageLoadEventSender::ImageLoadEventSender): 47930 (WebCore::beforeLoadEventSender): 47931 (WebCore::ImageLoader::ImageLoader): 47932 (WebCore::ImageLoader::~ImageLoader): 47933 (WebCore::ImageLoader::setImage): 47934 (WebCore::ImageLoader::setLoadingImage): 47935 (WebCore::ImageLoader::updateFromElement): 47936 (WebCore::ImageLoader::notifyFinished): 47937 (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): 47938 (WebCore::ImageLoader::dispatchPendingEvents): 47939 (WebCore::ImageEventSender::ImageEventSender): 47940 (WebCore::ImageEventSender::dispatchEventSoon): 47941 (WebCore::ImageEventSender::cancelEvent): 47942 (WebCore::ImageEventSender::dispatchPendingEvents): 47943 (WebCore::ImageEventSender::timerFired): 47944 * loader/ImageLoader.h: 47945 (WebCore::ImageLoader::haveFiredBeforeLoadEvent): 47946 * wml/WMLImageElement.cpp: 47947 (WebCore::WMLImageElement::attach): 47948 47949 2009-10-09 Pavel Feldman <pfeldman (a] chromium.org> 47950 47951 Reviewed by Dimitri Glazkov. 47952 47953 Web Inspector: Wrap Database into ScriptObject in v8 bindings. 47954 47955 https://bugs.webkit.org/show_bug.cgi?id=30174 47956 47957 No tests due to no Script* test infrastructure. 47958 47959 * bindings/v8/ScriptObjectQuarantine.cpp: 47960 (WebCore::getQuarantinedScriptObject): 47961 47962 2009-10-09 Girish Ramakrishnan <girish (a] forwardbias.in> 47963 47964 Reviewed by Simon Hausmann. 47965 47966 [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView. 47967 47968 'client' is 0 when we have no view. 47969 47970 https://bugs.webkit.org/show_bug.cgi?id=30251 47971 47972 * plugins/qt/PluginViewQt.cpp: 47973 (WebCore::PluginView::paint): 47974 47975 2009-10-09 Girish Ramakrishnan <girish (a] forwardbias.in> 47976 47977 Reviewed by Simon Hausmann. 47978 47979 [Qt] Plugins : Add missing setCurrentPlugin(0) 47980 47981 https://bugs.webkit.org/show_bug.cgi?id=30248 47982 47983 * plugins/qt/PluginViewQt.cpp: 47984 (WebCore::PluginView::dispatchNPEvent): 47985 47986 2009-10-09 Jakub Wieczorek <faw217 (a] gmail.com> 47987 47988 Reviewed by Simon Hausmann. 47989 47990 [Qt] beforeload event does not fire on script elements in XML 47991 https://bugs.webkit.org/show_bug.cgi?id=30235 47992 47993 r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one 47994 made in XMLTokenizerLibxml2.cpp. 47995 47996 * dom/XMLTokenizerQt.cpp: 47997 (WebCore::XMLTokenizer::parseEndElement): 47998 47999 2009-10-09 Zoltan Horvath <zoltan (a] webkit.org> 48000 48001 Reviewed by Darin Adler. 48002 48003 Allow custom memory allocation control for WebCore's CSSParserValueList 48004 https://bugs.webkit.org/show_bug.cgi?id=30249 48005 48006 Inherits CSSParserValueList class from FastAllocBase because it has 48007 been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271. 48008 48009 * css/CSSParserValues.h: 48010 48011 2009-10-09 Girish Ramakrishnan <girish (a] forwardbias.in> 48012 48013 Reviewed by Simon Hausmann. 48014 48015 [Qt] Windowless Plugins : Create Pixmap only when size changes. 48016 48017 https://bugs.webkit.org/show_bug.cgi?id=30214 48018 48019 * plugins/qt/PluginViewQt.cpp: 48020 (WebCore::PluginView::updatePluginWidget): 48021 48022 2009-10-08 Jon Honeycutt <jhoneycutt (a] apple.com> 48023 48024 Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking 48025 for the existence of a PluginHalterDelegate. 48026 48027 This fixes a leak of WebPluginHalterClients: 48028 https://bugs.webkit.org/show_bug.cgi?id=30119. 48029 48030 Reviewed by Dan Bernstein. 48031 48032 * WebCore.base.exp: 48033 Removed the export of WebCore::Settings::setPluginHalterEnabled(). 48034 48035 * loader/EmptyClients.h: 48036 (WebCore::EmptyPluginHalterClient::enabled): 48037 48038 * page/Page.cpp: 48039 (WebCore::Page::Page): 48040 Remove initialization of m_pluginHalterClient, which was removed. If a 48041 non-null PluginHalterClient was passed, create the PluginHalter, and 48042 set its allowed run time. 48043 48044 * page/Page.h: 48045 Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient. 48046 48047 * page/PluginHalter.cpp: 48048 (WebCore::PluginHalter::didStartPlugin): 48049 Check whether the PluginHalterClient is enabled. 48050 (WebCore::PluginHalter::didStopPlugin): 48051 Ditto. 48052 48053 * page/PluginHalter.h: 48054 Made m_client an OwnPtr. 48055 48056 * page/PluginHalterClient.h: 48057 Added a function to return the enabled state. 48058 48059 * page/Settings.cpp: 48060 (WebCore::Settings::Settings): 48061 Remove initialization of removed member. 48062 48063 * page/Settings.h: 48064 Removed settings for the enabled state of the PluginHalter; we now use 48065 the existence of a WebPluginHalterDelegate to determine whether the 48066 PluginHalter is enabled. 48067 48068 2009-10-08 Adam Barth <abarth (a] webkit.org> 48069 48070 Reviewed by Eric Seidel. 48071 48072 Move executeScript from FrameLoader to ScriptController 48073 https://bugs.webkit.org/show_bug.cgi?id=30200 48074 48075 These methods have virtually no interaction with FrameLoader. They 48076 really seem like they ought to belong to ScriptController. 48077 48078 * WebCore.base.exp: 48079 * bindings/js/ScheduledAction.cpp: 48080 (WebCore::ScheduledAction::execute): 48081 * bindings/js/ScriptController.cpp: 48082 (WebCore::ScriptController::ScriptController): 48083 (WebCore::ScriptController::executeScript): 48084 (WebCore::ScriptController::executeIfJavaScriptURL): 48085 (WebCore::ScriptController::evaluate): 48086 * bindings/js/ScriptController.h: 48087 * bindings/v8/ScriptController.cpp: 48088 (WebCore::ScriptController::ScriptController): 48089 (WebCore::ScriptController::executeScript): 48090 (WebCore::ScriptController::executeIfJavaScriptURL): 48091 * bindings/v8/ScriptController.h: 48092 * dom/XMLTokenizer.cpp: 48093 (WebCore::XMLTokenizer::notifyFinished): 48094 * dom/XMLTokenizerLibxml2.cpp: 48095 (WebCore::XMLTokenizer::endElementNs): 48096 * dom/XMLTokenizerQt.cpp: 48097 (WebCore::XMLTokenizer::parseEndElement): 48098 * html/HTMLTokenizer.cpp: 48099 (WebCore::HTMLTokenizer::scriptExecution): 48100 * loader/FrameLoader.cpp: 48101 (WebCore::FrameLoader::changeLocation): 48102 (WebCore::FrameLoader::urlSelected): 48103 (WebCore::FrameLoader::requestFrame): 48104 (WebCore::FrameLoader::submitForm): 48105 (WebCore::FrameLoader::replaceDocument): 48106 * loader/FrameLoader.h: 48107 * plugins/PluginView.cpp: 48108 (WebCore::PluginView::performRequest): 48109 48110 2009-10-08 Geoffrey Garen <ggaren (a] apple.com> 48111 48112 Windows build fix: added missing #include. 48113 48114 * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h. 48115 48116 2009-10-08 Brian Weinstein <bweinstein (a] apple.com> 48117 48118 Reviewed by Timothy Hatcher. 48119 48120 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30237>. 48121 DOM Content and Load lines aren't shown if a page is loaded when the inspector is up. 48122 48123 Make sure to call update script object if we have an InspectorFrontend to 48124 call it on when we get one of the new events. 48125 48126 * inspector/InspectorController.cpp: 48127 (WebCore::InspectorController::mainResourceFiredDOMContentEvent): 48128 (WebCore::InspectorController::mainResourceFiredLoadEvent): 48129 48130 2009-10-08 Geoffrey Garen <ggaren (a] apple.com> 48131 48132 Build fix: updated for removal of Structure::markAggregate(). 48133 48134 * bindings/js/JSDOMGlobalObject.cpp: 48135 (WebCore::JSDOMGlobalObject::markChildren): 48136 48137 2009-10-08 Jens Alfke <snej (a] chromium.org> 48138 48139 Reviewed by Darin Adler. 48140 48141 Make AtomicString create its StringImpl via create(), not the constructor, 48142 so it gets allocated in a single heap block, saving memory and CPU cycles. 48143 This eliminates two StringImpl constructors, making the remaining ones 48144 unambiguous, so the "AdoptBuffer" parameter is no longer needed. 48145 Added const attribute to UChar* in StringImpl constructor, eliminating the 48146 need for several const_casts in calls to it. 48147 StringImpl also unfriends AtomicString (OMG drama!!!) 48148 https://bugs.webkit.org/show_bug.cgi?id=30141 48149 48150 * platform/text/AtomicString.cpp: 48151 (WebCore::CStringTranslator::translate): Call StringImpl::create(). 48152 (WebCore::UCharBufferTranslator::translate): Ditto. 48153 (WebCore::HashAndCharactersTranslator::translate): Ditto. 48154 * platform/text/StringImpl.cpp: 48155 (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param. 48156 (WebCore::StringImpl::adopt): Ditto. 48157 (WebCore::StringImpl::createUninitialized): Ditto. 48158 (WebCore::StringImpl::create): Ditto. 48159 (WebCore::StringImpl::crossThreadString): Ditto. 48160 * platform/text/StringImpl.h: 48161 (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls. 48162 48163 2009-10-08 Anders Carlsson <andersca (a] apple.com> 48164 48165 Reviewed by Sam Weinig. 48166 48167 Remove the shouldLoadMediaElementURL frame loader client function. 48168 48169 * loader/FrameLoader.cpp: 48170 (WebCore::FrameLoader::willLoadMediaElementURL): 48171 48172 2009-10-08 John Gregg <johnnyg (a] google.com> 48173 48174 Reviewed by Dimitri Glazkov. 48175 48176 SVGURIReference Build problem for V8. An additional stale reference to SVGURIReference bindings 48177 which wasn't exposed until a clean build. 48178 https://bugs.webkit.org/show_bug.cgi?id=30217 48179 48180 No new tests, just a build fix. 48181 48182 * bindings/v8/V8Index.cpp: 48183 48184 2009-10-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 48185 48186 Not reviewed. Sort XCode project file. 48187 48188 * WebCore.xcodeproj/project.pbxproj: 48189 48190 2009-10-08 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 48191 48192 Reviewed by Timothy Hatcher. 48193 48194 unselectable resources in resource panel 48195 https://bugs.webkit.org/show_bug.cgi?id=30079 48196 48197 manual test added 48198 48199 Also changed the way DnD for resources in the Resources panel is 48200 handled. 48201 48202 * inspector/front-end/ResourcesPanel.js: 48203 (WebInspector.ResourceSidebarTreeElement.prototype.onattach): 48204 (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart): 48205 * manual-tests/inspector/duplicate-resource-urls.html: Added. 48206 48207 2009-10-08 Brian Weinstein <bweinstein (a] apple.com> 48208 48209 Reviewed by Timothy Hatcher. 48210 48211 Fixes <http://webkit.org/b/30233> 48212 Local Storage and Cookies show Blank Titles on Local Files. 48213 48214 If a local storage or cookies sidebar item has no domain, set the 48215 title to "Local Files", because that is what it represents. 48216 48217 * English.lproj/localizedStrings.js: 48218 * inspector/front-end/StoragePanel.js: 48219 (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle): 48220 (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): 48221 (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle): 48222 48223 2009-10-08 Dave Hyatt <hyatt (a] apple.com> 48224 48225 Reviewed by Oliver Hunt. 48226 48227 Fix failing media layout tests. Don't make beforeload block loads of objects that aren't in the 48228 document, since video/audio (and images eventually too) can load when not in the document yet. 48229 48230 * dom/ContainerNode.cpp: 48231 (WebCore::ContainerNode::dispatchBeforeLoadEvent): 48232 48233 2009-10-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 48234 48235 Reviewed by Eric Seidel. 48236 48237 Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it 48238 https://bugs.webkit.org/show_bug.cgi?id=30230 48239 48240 This patch also devirtualizes viewBoxToViewTransform(), is it's superflous. 48241 viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox. 48242 As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic. 48243 48244 As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return 48245 statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong. 48246 48247 * svg/SVGFitToViewBox.cpp: 48248 (WebCore::SVGFitToViewBox::SVGFitToViewBox): 48249 (WebCore::SVGFitToViewBox::viewBoxToViewTransform): 48250 * svg/SVGFitToViewBox.h: 48251 * svg/SVGMarkerElement.cpp: 48252 (WebCore::SVGMarkerElement::SVGMarkerElement): 48253 (WebCore::SVGMarkerElement::viewBoxToViewTransform): 48254 * svg/SVGMarkerElement.h: 48255 * svg/SVGPatternElement.cpp: 48256 (WebCore::SVGPatternElement::SVGPatternElement): 48257 (WebCore::SVGPatternElement::buildPattern): 48258 * svg/SVGPatternElement.h: 48259 * svg/SVGSVGElement.cpp: 48260 (WebCore::SVGSVGElement::SVGSVGElement): 48261 (WebCore::SVGSVGElement::viewBoxToViewTransform): 48262 * svg/SVGSVGElement.h: 48263 * svg/SVGSymbolElement.cpp: 48264 (WebCore::SVGSymbolElement::SVGSymbolElement): 48265 * svg/SVGSymbolElement.h: 48266 * svg/SVGViewElement.cpp: 48267 (WebCore::SVGViewElement::SVGViewElement): 48268 * svg/SVGViewElement.h: 48269 * svg/SVGViewSpec.cpp: 48270 (WebCore::SVGViewSpec::SVGViewSpec): 48271 * svg/SVGViewSpec.h: 48272 48273 2009-10-08 Brian Weinstein <bweinstein (a] apple.com> 48274 48275 Reviewed by Jon Honeycutt. 48276 48277 Correct a typo that fixes the resizing of columns in Cookie view when you 48278 resize the Inspector window. 48279 48280 * inspector/front-end/CookieItemsView.js: 48281 (WebInspector.CookieItemsView.prototype.resize): 48282 48283 2009-10-08 Brian Weinstein <bweinstein (a] apple.com> 48284 48285 Reviewed by Adam Roben. 48286 48287 Fixes <https://bugs.webkit.org/show_bug.cgi?id=29811> 48288 Text in Inspector's Styles gear menu is invisible. 48289 48290 Adds a style rule for the option text and hr's in the gear menu, 48291 to prevent them from being transparent. 48292 48293 * inspector/front-end/inspector.css: 48294 48295 2009-10-08 John Gregg <johnnyg (a] google.com> 48296 48297 Reviewed by David Levin. 48298 48299 Fix build problem with SVGURIReference in V8. 48300 https://bugs.webkit.org/show_bug.cgi?id=30217 48301 48302 No new tests, just a build fix. 48303 48304 * WebCore.gypi: 48305 * bindings/v8/DerivedSourcesAllInOne.cpp: 48306 48307 2009-10-07 Dave Hyatt <hyatt (a] apple.com> 48308 48309 Reviewed by Eric Carlson. 48310 48311 Make beforeload work on <video>/<audio> elements. 48312 48313 Added fast/dom/beforeload/video-before-load.html 48314 48315 * html/HTMLMediaElement.cpp: 48316 (WebCore::HTMLMediaElement::parseMappedAttribute): 48317 (WebCore::HTMLMediaElement::selectMediaResource): 48318 (WebCore::HTMLMediaElement::selectNextSourceChild): 48319 48320 2009-10-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 48321 48322 Reviewed by Eric Seidel. 48323 48324 Move SVGExternalResourcesRequired ANIMATED_* macros in classes that inherit from it 48325 https://bugs.webkit.org/show_bug.cgi?id=30218 48326 48327 The long term goal is to kill the need for the virtual contextElement() function in SVG code. 48328 No change in functionality, thus no new tests. 48329 48330 * svg/SVGAElement.cpp: 48331 (WebCore::SVGAElement::SVGAElement): 48332 * svg/SVGAElement.h: 48333 * svg/SVGAnimationElement.cpp: 48334 (WebCore::SVGAnimationElement::SVGAnimationElement): 48335 * svg/SVGAnimationElement.h: 48336 * svg/SVGCircleElement.cpp: 48337 (WebCore::SVGCircleElement::SVGCircleElement): 48338 * svg/SVGCircleElement.h: 48339 * svg/SVGClipPathElement.cpp: 48340 (WebCore::SVGClipPathElement::SVGClipPathElement): 48341 * svg/SVGClipPathElement.h: 48342 * svg/SVGCursorElement.cpp: 48343 (WebCore::SVGCursorElement::SVGCursorElement): 48344 * svg/SVGCursorElement.h: 48345 * svg/SVGDefsElement.cpp: 48346 (WebCore::SVGDefsElement::SVGDefsElement): 48347 * svg/SVGDefsElement.h: 48348 * svg/SVGEllipseElement.cpp: 48349 (WebCore::SVGEllipseElement::SVGEllipseElement): 48350 * svg/SVGEllipseElement.h: 48351 * svg/SVGExternalResourcesRequired.cpp: 48352 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired): 48353 * svg/SVGExternalResourcesRequired.h: 48354 * svg/SVGFEImageElement.cpp: 48355 (WebCore::SVGFEImageElement::SVGFEImageElement): 48356 * svg/SVGFEImageElement.h: 48357 * svg/SVGFilterElement.cpp: 48358 (WebCore::SVGFilterElement::SVGFilterElement): 48359 * svg/SVGFilterElement.h: 48360 * svg/SVGFontElement.cpp: 48361 (WebCore::SVGFontElement::SVGFontElement): 48362 * svg/SVGFontElement.h: 48363 * svg/SVGForeignObjectElement.cpp: 48364 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 48365 * svg/SVGForeignObjectElement.h: 48366 * svg/SVGGElement.cpp: 48367 (WebCore::SVGGElement::SVGGElement): 48368 * svg/SVGGElement.h: 48369 * svg/SVGGradientElement.cpp: 48370 (WebCore::SVGGradientElement::SVGGradientElement): 48371 * svg/SVGGradientElement.h: 48372 * svg/SVGImageElement.cpp: 48373 (WebCore::SVGImageElement::SVGImageElement): 48374 * svg/SVGImageElement.h: 48375 * svg/SVGLineElement.cpp: 48376 (WebCore::SVGLineElement::SVGLineElement): 48377 * svg/SVGLineElement.h: 48378 * svg/SVGMPathElement.cpp: 48379 (WebCore::SVGMPathElement::SVGMPathElement): 48380 * svg/SVGMPathElement.h: 48381 * svg/SVGMarkerElement.cpp: 48382 (WebCore::SVGMarkerElement::SVGMarkerElement): 48383 * svg/SVGMarkerElement.h: 48384 * svg/SVGMaskElement.cpp: 48385 (WebCore::SVGMaskElement::SVGMaskElement): 48386 * svg/SVGMaskElement.h: 48387 * svg/SVGPathElement.cpp: 48388 (WebCore::SVGPathElement::SVGPathElement): 48389 * svg/SVGPathElement.h: 48390 * svg/SVGPatternElement.cpp: 48391 (WebCore::SVGPatternElement::SVGPatternElement): 48392 * svg/SVGPatternElement.h: 48393 * svg/SVGPolyElement.cpp: 48394 (WebCore::SVGPolyElement::SVGPolyElement): 48395 * svg/SVGPolyElement.h: 48396 * svg/SVGRectElement.cpp: 48397 (WebCore::SVGRectElement::SVGRectElement): 48398 * svg/SVGRectElement.h: 48399 * svg/SVGSVGElement.cpp: 48400 (WebCore::SVGSVGElement::SVGSVGElement): 48401 * svg/SVGSVGElement.h: 48402 * svg/SVGScriptElement.cpp: 48403 (WebCore::SVGScriptElement::SVGScriptElement): 48404 * svg/SVGScriptElement.h: 48405 * svg/SVGSwitchElement.cpp: 48406 (WebCore::SVGSwitchElement::SVGSwitchElement): 48407 * svg/SVGSwitchElement.h: 48408 * svg/SVGSymbolElement.cpp: 48409 (WebCore::SVGSymbolElement::SVGSymbolElement): 48410 * svg/SVGSymbolElement.h: 48411 * svg/SVGTextContentElement.cpp: 48412 (WebCore::SVGTextContentElement::SVGTextContentElement): 48413 * svg/SVGTextContentElement.h: 48414 * svg/SVGUseElement.cpp: 48415 (WebCore::SVGUseElement::SVGUseElement): 48416 * svg/SVGUseElement.h: 48417 * svg/SVGViewElement.cpp: 48418 (WebCore::SVGViewElement::SVGViewElement): 48419 * svg/SVGViewElement.h: 48420 48421 2009-10-08 Dirk Schulze <krit (a] webkit.org> 48422 48423 Reviewed by Darin Adler. 48424 48425 SVG feComposite: operator over mixes up inputs 48426 [https://bugs.webkit.org/show_bug.cgi?id=30205] 48427 48428 SVG feComposite operator over mixed up the inputs. 48429 The pixel-test svg/filters/feComposite.svg can already test this. 48430 No new test result is needed as long as filters are disabled. 48431 48432 * platform/graphics/filters/FEComposite.cpp: 48433 (WebCore::FEComposite::apply): 48434 48435 2009-10-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 48436 48437 Reviewed by George Staikos. 48438 48439 Move SVGURIReference ANIMATED_* macros in classes that inherit from it 48440 https://bugs.webkit.org/show_bug.cgi?id=30184 48441 48442 The long term goal is to kill the need for the virtual contextElement() function in SVG code. 48443 No change in functionality, thus no new tests. 48444 48445 * svg/SVGAElement.cpp: 48446 (WebCore::SVGAElement::SVGAElement): 48447 * svg/SVGAElement.h: 48448 * svg/SVGAltGlyphElement.cpp: 48449 (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): 48450 * svg/SVGAltGlyphElement.h: 48451 * svg/SVGCursorElement.cpp: 48452 (WebCore::SVGCursorElement::SVGCursorElement): 48453 * svg/SVGCursorElement.h: 48454 * svg/SVGFEImageElement.cpp: 48455 (WebCore::SVGFEImageElement::SVGFEImageElement): 48456 * svg/SVGFEImageElement.h: 48457 * svg/SVGFilterElement.cpp: 48458 (WebCore::SVGFilterElement::SVGFilterElement): 48459 * svg/SVGFilterElement.h: 48460 * svg/SVGForeignObjectElement.cpp: 48461 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 48462 * svg/SVGForeignObjectElement.h: 48463 * svg/SVGGradientElement.cpp: 48464 (WebCore::SVGGradientElement::SVGGradientElement): 48465 * svg/SVGGradientElement.h: 48466 * svg/SVGImageElement.cpp: 48467 (WebCore::SVGImageElement::SVGImageElement): 48468 * svg/SVGImageElement.h: 48469 * svg/SVGMPathElement.cpp: 48470 (WebCore::SVGMPathElement::SVGMPathElement): 48471 (WebCore::SVGMPathElement::pathElement): 48472 * svg/SVGMPathElement.h: 48473 * svg/SVGMaskElement.cpp: 48474 (WebCore::SVGMaskElement::SVGMaskElement): 48475 * svg/SVGMaskElement.h: 48476 * svg/SVGPatternElement.cpp: 48477 (WebCore::SVGPatternElement::SVGPatternElement): 48478 * svg/SVGPatternElement.h: 48479 * svg/SVGScriptElement.cpp: 48480 (WebCore::SVGScriptElement::SVGScriptElement): 48481 * svg/SVGScriptElement.h: 48482 * svg/SVGTRefElement.cpp: 48483 (WebCore::SVGTRefElement::SVGTRefElement): 48484 * svg/SVGTRefElement.h: 48485 * svg/SVGTextPathElement.cpp: 48486 (WebCore::SVGTextPathElement::SVGTextPathElement): 48487 * svg/SVGTextPathElement.h: 48488 * svg/SVGURIReference.cpp: 48489 (WebCore::SVGURIReference::SVGURIReference): 48490 * svg/SVGURIReference.h: 48491 * svg/SVGUseElement.cpp: 48492 (WebCore::SVGUseElement::SVGUseElement): 48493 * svg/SVGUseElement.h: 48494 48495 2009-10-08 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 48496 48497 Reviewed by Simon Hausmann. 48498 48499 [Qt] Re-add the QApplication::syncX() line for plugin windows removed 48500 by r49169. Also changed the location of the sync just after the 48501 creation instead of just before sending it to the plugin. 48502 https://bugs.webkit.org/show_bug.cgi?id=25053 48503 48504 * plugins/qt/PluginViewQt.cpp: 48505 (WebCore::PluginView::platformStart): 48506 48507 2009-10-08 Joseph Pecoraro <joepeck (a] webkit.org> 48508 48509 Reviewed by Timothy Hatcher. 48510 48511 Inspector: NodeLists Don't Display Well in the Console 48512 https://bugs.webkit.org/show_bug.cgi?id=28061 48513 48514 * inspector/front-end/InjectedScript.js: 48515 (Object.type): 48516 48517 2009-10-08 Girish Ramakrishnan <girish (a] forwardbias.in> 48518 48519 Reviewed by Simon Hausmann. 48520 48521 [Qt] Windowless plugins: Remove unnecessary XSync for opaque mode. 48522 48523 The reason for the XSync was that the plugin would not know about the 48524 Drawable. It turns out that the real reason behind this is that even 48525 though XCreatePixmap returns a handle, this id is unknown to the server 48526 until we flush the connection. 48527 48528 So, move the XSync to right after we create the Pixmap. 48529 48530 https://bugs.webkit.org/show_bug.cgi?id=30207 48531 48532 * plugins/qt/PluginViewQt.cpp: 48533 (WebCore::PluginView::updatePluginWidget): 48534 (WebCore::PluginView::paint): 48535 48536 2009-10-07 Daniel Bates <dbates (a] webkit.org> 48537 48538 Reviewed by Eric Seidel. 48539 48540 https://bugs.webkit.org/show_bug.cgi?id=30188 48541 48542 Fixes an issue where performing a non DHTML drag-and-drop operation 48543 does not work as expected. For instance, dragging some selected text 48544 to an external application, such as TextEdit. 48545 48546 This issue was a regression that arose from patching bug #30107. 48547 48548 This change is covered by the manual test: 48549 drag-out-of-background-window.html 48550 48551 * page/DragController.cpp: 48552 (WebCore::DragController::startDrag): When performing a non-DHTML drag 48553 operation then default to drag operations DragOperationGeneric and 48554 DragOperationCopy according to similar functionality removed when fixing 48555 bug #30107, see: 48556 http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebHTMLView.mm?rev=48526#L3430 48557 48558 2009-10-07 Xan Lopez <xlopez (a] igalia.com> 48559 48560 Fix more breakage in the GTKbuild. 48561 48562 * GNUmakefile.am: 48563 48564 2009-10-07 Adam Barth <abarth (a] webkit.org> 48565 48566 Reviewed by Eric Seidel. 48567 48568 Move PolicyChecker to it's own file 48569 https://bugs.webkit.org/show_bug.cgi?id=30193 48570 48571 This is just moving code around and re-naming things. 48572 48573 * GNUmakefile.am: 48574 * WebCore.gypi: 48575 * WebCore.pro: 48576 * WebCore.vcproj/WebCore.vcproj: 48577 * WebCore.xcodeproj/project.pbxproj: 48578 * loader/FrameLoader.cpp: 48579 * loader/FrameLoader.h: 48580 * loader/PolicyCallback.cpp: Added. 48581 (WebCore::PolicyCallback::PolicyCallback): 48582 (WebCore::PolicyCallback::~PolicyCallback): 48583 (WebCore::PolicyCallback::clear): 48584 (WebCore::PolicyCallback::set): 48585 (WebCore::PolicyCallback::call): 48586 (WebCore::PolicyCallback::clearRequest): 48587 (WebCore::PolicyCallback::cancel): 48588 * loader/PolicyCallback.h: Added. 48589 (WebCore::PolicyCallback::request): 48590 * loader/PolicyCheck.cpp: Removed. 48591 * loader/PolicyCheck.h: Removed. 48592 48593 2009-10-07 Joel Stanley <joel (a] jms.id.au> 48594 48595 Reviewed by Mark Rowe. 48596 48597 Include <limits> for std::numeric_limits. Required by gcc-4.4 48598 https://bugs.webkit.org/show_bug.cgi?id=30197 48599 48600 * html/canvas/CanvasByteArray.h: 48601 * html/canvas/CanvasIntArray.h: 48602 * html/canvas/CanvasShortArray.h: 48603 * html/canvas/CanvasUnsignedByteArray.h: 48604 * html/canvas/CanvasUnsignedIntArray.h: 48605 * html/canvas/CanvasUnsignedShortArray.h: 48606 48607 2009-10-07 Adam Barth <abarth (a] webkit.org> 48608 48609 Reviewed by Darin Adler. 48610 48611 Factor PolicyChecker out of FrameLoader 48612 https://bugs.webkit.org/show_bug.cgi?id=30155 48613 48614 This patch separates PolicyChecker from FrameLoader. Loader policy is 48615 in change of managing the FrameLoaderClient callbacks. Ideally, it 48616 shouldn't know anything about FrameLoader, but I couldn't quite remove 48617 all knowledge (although we might be able to do more later). In a 48618 future patch, I'll move PolicyChecker into a separate file. 48619 48620 * loader/FrameLoader.cpp: 48621 (WebCore::FrameLoader::FrameLoader): 48622 (WebCore::FrameLoader::loadURL): 48623 (WebCore::FrameLoader::load): 48624 (WebCore::FrameLoader::loadWithDocumentLoader): 48625 (WebCore::PolicyChecker::handleUnimplementablePolicy): 48626 (WebCore::PolicyChecker::cannotShowMIMEType): 48627 (WebCore::PolicyChecker::PolicyChecker): 48628 (WebCore::PolicyChecker::checkNavigationPolicy): 48629 (WebCore::PolicyChecker::checkContentPolicy): 48630 (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): 48631 (WebCore::FrameLoader::stopAllLoaders): 48632 (WebCore::PolicyChecker::cancelCheck): 48633 (WebCore::PolicyChecker::stopCheck): 48634 (WebCore::PolicyChecker::continueAfterContentPolicy): 48635 (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm): 48636 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 48637 (WebCore::FrameLoader::loadPostRequest): 48638 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 48639 (WebCore::PolicyChecker::checkNewWindowPolicy): 48640 (WebCore::PolicyChecker::continueAfterNewWindowPolicy): 48641 (WebCore::PolicyChecker::continueAfterNavigationPolicy): 48642 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 48643 * loader/FrameLoader.h: 48644 (WebCore::PolicyChecker::loadType): 48645 (WebCore::PolicyChecker::setLoadType): 48646 (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy): 48647 (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy): 48648 (WebCore::FrameLoader::policy): 48649 * loader/FrameLoaderClient.h: 48650 * loader/MainResourceLoader.cpp: 48651 (WebCore::MainResourceLoader::didCancel): 48652 (WebCore::MainResourceLoader::willSendRequest): 48653 (WebCore::MainResourceLoader::continueAfterContentPolicy): 48654 (WebCore::MainResourceLoader::didReceiveResponse): 48655 * svg/graphics/SVGImage.cpp: 48656 (WebCore::SVGImage::dataChanged): 48657 48658 2009-10-07 Geoffrey Garen <ggaren (a] apple.com> 48659 48660 Reviewed by Oliver Hunt. 48661 48662 Fixed <rdar://problem/5751979> Database code takes JSLock on secondary 48663 thread, permanently slowing down JavaScript 48664 48665 Changed callback objects to use a standard helper object. The helper 48666 object ASSERTs that it is deleted on the main thread, so no lock is 48667 required when unprotecting its members. It also centralizes some previously 48668 duplicated code. 48669 48670 Callback objects that might be deleted on a secondary thread use 48671 callOnMainThread to delete their helper objects on the main thread. 48672 48673 * WebCore.xcodeproj/project.pbxproj: 48674 * bindings/js/JSCallbackData.cpp: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp. 48675 (WebCore::JSCallbackData::deleteData): 48676 (WebCore::JSCallbackData::invokeCallback): 48677 * bindings/js/JSCallbackData.h: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp. 48678 (WebCore::JSCallbackData::JSCallbackData): 48679 (WebCore::JSCallbackData::~JSCallbackData): 48680 (WebCore::JSCallbackData::callback): 48681 * bindings/js/JSCustomPositionCallback.cpp: 48682 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): 48683 (WebCore::JSCustomPositionCallback::handleEvent): 48684 * bindings/js/JSCustomPositionCallback.h: 48685 * bindings/js/JSCustomPositionErrorCallback.cpp: 48686 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): 48687 (WebCore::JSCustomPositionErrorCallback::handleEvent): 48688 * bindings/js/JSCustomPositionErrorCallback.h: 48689 * bindings/js/JSCustomSQLStatementCallback.cpp: 48690 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback): 48691 (WebCore::JSCustomSQLStatementCallback::~JSCustomSQLStatementCallback): 48692 (WebCore::JSCustomSQLStatementCallback::handleEvent): 48693 * bindings/js/JSCustomSQLStatementCallback.h: 48694 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 48695 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback): 48696 (WebCore::JSCustomSQLStatementErrorCallback::~JSCustomSQLStatementErrorCallback): 48697 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 48698 * bindings/js/JSCustomSQLStatementErrorCallback.h: 48699 * bindings/js/JSCustomSQLTransactionCallback.cpp: 48700 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 48701 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): 48702 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 48703 * bindings/js/JSCustomSQLTransactionCallback.h: 48704 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 48705 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback): 48706 (WebCore::JSCustomSQLTransactionErrorCallback::~JSCustomSQLTransactionErrorCallback): 48707 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 48708 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 48709 * bindings/js/JSCustomVoidCallback.cpp: 48710 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): 48711 (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): 48712 (WebCore::JSCustomVoidCallback::handleEvent): 48713 * bindings/js/JSCustomVoidCallback.h: 48714 * storage/Database.cpp: 48715 (WebCore::Database::Database): 48716 48717 2009-10-07 Jens Alfke <snej (a] chromium.org> 48718 48719 Reviewed by Dave Levin. 48720 48721 Fix StringImpl::m_buffer 48722 https://bugs.webkit.org/show_bug.cgi?id=30189 48723 48724 Fix my previous StringImpl patch to avoid using an indefinite-length array member, 48725 since MSVC doesn't like it. Instead, go back to offsetting by sizeof(StringImpl). 48726 48727 * platform/text/StringImpl.cpp: 48728 (WebCore::StringImpl::StringImpl): 48729 (WebCore::StringImpl::createUninitialized): 48730 * platform/text/StringImpl.h: 48731 (WebCore::StringImpl::bufferIsInternal): 48732 48733 2009-10-07 Aaron Boodman <aa (a] chromium.org> 48734 48735 Reviewed by Adam Barth. 48736 48737 Update isolated worlds under v8 to support world reuse. 48738 https://bugs.webkit.org/show_bug.cgi?id=30145 48739 48740 * bindings/v8/ScriptController.cpp: 48741 Replace evaluateInNewIsolatedWorld() withe evaluateInIsolatedWorld(id). 48742 (WebCore::ScriptController::evaluateInIsolatedWorld): 48743 * bindings/v8/ScriptController.h: Ditto. 48744 * bindings/v8/V8Proxy.cpp: Ditto. 48745 (WebCore::V8Proxy::~V8Proxy): Dittio. 48746 (WebCore::V8Proxy::evaluateInIsolatedWorld): Ditto. 48747 * bindings/v8/V8Proxy.h: Ditto. 48748 * bindings/v8/V8IsolatedWorld.cpp: 48749 Add support for controlling lifetime of a world, rather than relying on GC. 48750 (WebCore::V8IsolatedWorld::contextWeakReferenceCallback): Ditto. 48751 (WebCore::V8IsolatedWorld::V8IsolatedWorld): Ditto. 48752 (WebCore::V8IsolatedWorld::destroy): Ditto. 48753 * bindings/v8/V8IsolatedWorld.h: Ditto. 48754 48755 2009-10-07 Jeremy Orlow <jorlow (a] chromium.org> 48756 48757 Build fix for http://trac.webkit.org/changeset/49272 on Windows 48758 48759 * platform/text/StringImpl.h: 48760 48761 2009-10-07 Jens Alfke <snej (a] chromium.org> 48762 48763 Reviewed by Darin Adler. 48764 48765 Optimization of StringImpl: 48766 - Remove unnecessary m_bufferIsInternal member (saves 4 bytes). Instead, check whether 48767 m_data points to just past the end of the object's members. 48768 - copy() and createWithTerminatingNullCharacter() create the string in a single malloc 48769 block instead of 2 (saves ~20 bytes and considerable CPU cycles, increases locality). 48770 - Move m_length next to m_hash to save 4 bytes of padding in 64-bit builds. 48771 48772 https://bugs.webkit.org/show_bug.cgi?id=29500 48773 48774 * platform/text/StringImpl.cpp: 48775 (WebCore::StringImpl::StringImpl): Re-ordered members. 48776 (WebCore::StringImpl::~StringImpl): Change to is-buffer-internal check. 48777 (WebCore::StringImpl::createUninitialized): Use new m_buffer member instead of sizeof() 48778 to ensure chars are copied to correct location. 48779 (WebCore::StringImpl::createWithTerminatingNullCharacter): Make sure copy is created 48780 in a single malloc block. 48781 (WebCore::StringImpl::threadsafeCopy): Make sure copy is created in a single malloc block. 48782 (WebCore::StringImpl::crossThreadString): Make sure copy is created in a single malloc block. 48783 (WebCore::StringImpl::sharedBuffer): Change to is-buffer-internal check. 48784 * platform/text/StringImpl.h: 48785 (WebCore::StringImpl::startsWith): Just fixed a confusing param name. 48786 (WebCore::StringImpl::bufferIsInternal): Changed member var into accessor method. 48787 (WebCore::StringImpl::m_data): Repositioned for optimal member packing in 64-bit. 48788 (WebCore::StringImpl::m_buffer): Added to provide an explicit location for where internal buffer goes. 48789 48790 2009-10-07 Daniel Bates <dbates (a] webkit.org> 48791 48792 Reviewed by Darin Adler. 48793 48794 https://bugs.webkit.org/show_bug.cgi?id=30102 48795 And 48796 <rdar://problem/5015957> 48797 48798 Manual test to confirm that the not-allowed cursor is shown for an 48799 invalid drag-and-drop operation. 48800 48801 We cannot test this using DRT because of a discrepancy between the Windows 48802 API-based drop effect and the WebKit drop effect. See bug #24731 for more 48803 details. 48804 48805 * manual-tests/drag-cursor-notallowed.html: Added. 48806 48807 2009-10-07 Mark Rowe <mrowe (a] apple.com> 48808 48809 Fix the build. 48810 48811 * WebCore.xcodeproj/project.pbxproj: 48812 48813 2009-10-07 Brian Weinstein <bweinstein (a] apple.com> 48814 48815 Reviewed by Timothy Hatcher. 48816 48817 Fixes <http://webkit.org/b/30104>. 48818 Inspector should show cookies of sub-resources on the page. 48819 48820 This function implements showing cookies for all sub-resources of a page. 48821 When the page is loaded, it populates the Storage Panel with a list of all 48822 domains that were loaded as part of the full page load (iframes, ads, etc). 48823 When the user selects one of the domains, the inspector calls back into the 48824 controller, and the controller combines all of the cookies from that domain 48825 into a list, and sends that list is sent back to the controller to render. 48826 48827 A domain now needs to be passed into CookieItemsView, and CookieSidebarTreeElement. 48828 48829 As a result of a previous patch, we now have detailed cookie information for 48830 both Windows on CFNetwork and Mac. Additionally, this patch provides deleteCookie 48831 support on Windows. 48832 48833 * bindings/js/ScriptObject.cpp: 48834 (WebCore::ScriptObject::set): 48835 * bindings/js/ScriptObject.h: 48836 * inspector/InspectorBackend.cpp: 48837 (WebCore::InspectorBackend::getCookies): 48838 (WebCore::InspectorBackend::deleteCookie): 48839 * inspector/InspectorBackend.h: 48840 * inspector/InspectorBackend.idl: 48841 * inspector/InspectorController.cpp: 48842 (WebCore::InspectorController::populateScriptObjects): 48843 (WebCore::InspectorController::didFinishLoading): 48844 (WebCore::InspectorController::getCookies): 48845 (WebCore::InspectorController::buildArrayForCookies): 48846 (WebCore::InspectorController::buildObjectForCookie): 48847 (WebCore::InspectorController::deleteCookie): 48848 * inspector/InspectorController.h: 48849 * inspector/InspectorDOMAgent.cpp: 48850 * inspector/InspectorDOMAgent.h: 48851 * inspector/InspectorFrontend.cpp: 48852 (WebCore::InspectorFrontend::addCookieDomainForDocument): 48853 * inspector/InspectorFrontend.h: 48854 * inspector/front-end/CookieItemsView.js: 48855 (WebInspector.CookieItemsView): 48856 (WebInspector.CookieItemsView.prototype.update): 48857 (WebInspector.CookieItemsView.prototype._deleteButtonClicked): 48858 * inspector/front-end/DOMAgent.js: 48859 (WebInspector.Cookies.getCookiesAsync): 48860 * inspector/front-end/StoragePanel.js: 48861 (WebInspector.StoragePanel): 48862 (WebInspector.StoragePanel.prototype.reset): 48863 (WebInspector.StoragePanel.prototype.addCookieDomain): 48864 (WebInspector.StoragePanel.prototype.showCookies): 48865 (WebInspector.CookieSidebarTreeElement): 48866 (WebInspector.CookieSidebarTreeElement.prototype.onselect): 48867 * inspector/front-end/inspector.js: 48868 (WebInspector.addCookieDomain): 48869 * platform/Cookie.h: 48870 (WebCore::CookieHash::hash): 48871 (WebCore::CookieHash::equal): 48872 (WTF::): 48873 * platform/network/win/CookieJarCFNetWin.cpp: 48874 (WebCore::deleteCookie): 48875 48876 2009-10-07 Pavel Feldman <pfeldman (a] chromium.org> 48877 48878 Reviewed by Timothy Hatcher. 48879 48880 Web Inspector: Add ScriptObject::set(const char*, unsigned). 48881 48882 https://bugs.webkit.org/show_bug.cgi?id=30104 48883 48884 * bindings/v8/ScriptObject.cpp: 48885 (WebCore::ScriptObject::set): 48886 * bindings/v8/ScriptObject.h: 48887 48888 2009-10-07 Brent Fulgham <bfulgham (a] webkit.org> 48889 48890 Unreviewed build fix for Windows (Cairo). 48891 48892 Provide implementation of new BitmapImage::create that was 48893 added in @r49060. 48894 48895 * platform/graphics/win/ImageCairoWin.cpp: 48896 48897 2009-10-07 Andrew Scherkus <scherkus (a] chromium.org> 48898 48899 Reviewed by Eric Carlson. 48900 48901 Refactor RenderThemeChromiumMac and RenderThemeChromiumSkia to render media controls using GraphicsContext. 48902 48903 Design was based on existing RenderMediaControls.cpp used by RenderThemeSafari/Win. 48904 48905 https://bugs.webkit.org/show_bug.cgi?id=29987 48906 48907 Covered by existing layout tests as no new functionality was introduced. 48908 48909 * WebCore.gypi: Added RenderMediaControlsChromium.cpp/h. 48910 * css/mediaControlsChromium.css: Tweaked media slider position and border style. 48911 * rendering/MediaControlElements.cpp: 48912 (WebCore::toParentMediaElement): Taken from RenderMediaControls. 48913 (WebCore::MediaControlElement::rendererIsNeeded): Don't call shouldRenderMediaControlPart() if element has no appearance. 48914 (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto. 48915 * rendering/RenderMediaControls.cpp: Moved parentMediaElement() to MediaControlElements. 48916 * rendering/RenderMediaControlsChromium.cpp: Added. 48917 (WebCore::platformResource): Helper to load and cache media control image resources. 48918 (WebCore::mediaSliderThumbImage): Implementation refactored from RenderThemeChromiumMac/Skia. 48919 (WebCore::mediaVolumeSliderThumbImage): Ditto. 48920 (WebCore::paintMediaButton): Ditto. 48921 (WebCore::paintMediaMuteButton): Ditto. 48922 (WebCore::paintMediaPlayButton): Ditto. 48923 (WebCore::paintMediaSlider): Ditto. 48924 (WebCore::paintMediaSliderThumb): Ditto. 48925 (WebCore::paintMediaVolumeSlider): Ditto. 48926 (WebCore::paintMediaVolumeSliderThumb): Ditto. 48927 (WebCore::paintMediaTimelineContainer): Ditto. 48928 (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Ditto. 48929 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Same 48930 (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize): 48931 * rendering/RenderMediaControlsChromium.h: Added. 48932 * rendering/RenderThemeChromiumMac.h: 48933 * rendering/RenderThemeChromiumMac.mm: 48934 (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): Implementation delegated to RenderMediaControlsChromium. 48935 (WebCore::RenderThemeChromiumMac::shouldRenderMediaControlPart): Ditto. 48936 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): Ditto. 48937 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): Ditto. 48938 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): Ditto. 48939 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): Ditto. 48940 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): Ditto. 48941 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): Ditto. 48942 (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): Ditto. 48943 * rendering/RenderThemeChromiumSkia.cpp: 48944 (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): Implementation delegated to RenderMediaControlsChromium. 48945 (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): Ditto. 48946 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Ditto. 48947 (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Ditto. 48948 (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Ditto. 48949 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Ditto. 48950 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): Ditto. 48951 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): Ditto. 48952 (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Ditto. 48953 48954 2009-10-07 Dave Hyatt <hyatt (a] apple.com> 48955 48956 Reviewed by Adam Roben. 48957 48958 Make plugins work with beforeload. 48959 48960 Added fast/dom/beforeload/flash-before-load.html 48961 48962 * html/HTMLObjectElement.cpp: 48963 (WebCore::HTMLObjectElement::parseMappedAttribute): 48964 * rendering/RenderPartObject.cpp: 48965 (WebCore::RenderPartObject::updateWidget): 48966 48967 2009-10-07 Vitaly Repeshko <vitalyr (a] chromium.org> 48968 48969 Reviewed by Adam Barth. 48970 48971 [V8] Protect JS listener object from GC while clearing a property on it. 48972 See http://crbug.com/23780. 48973 https://bugs.webkit.org/show_bug.cgi?id=30137 48974 48975 * bindings/v8/V8AbstractEventListener.cpp: 48976 (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 48977 48978 2009-10-07 Zoltan Horvath <zoltan (a] webkit.org> 48979 48980 Rubber-stamped by Eric Seidel. 48981 48982 Allow custom memory allocation control for WebCore's CachedResourceClient class 48983 https://bugs.webkit.org/show_bug.cgi?id=30165 48984 48985 Inherits CachedResourceClient class from FastAllocBase because (its 48986 child class) CSSFontFaceSource has been instantiated by 'new' in WebCore/css/CSSFontFaceSource.h:46. 48987 48988 * loader/CachedResourceClient.h: 48989 48990 2009-10-07 Zoltan Horvath <zoltan (a] webkit.org> 48991 48992 Reviewed by Darin Adler. 48993 48994 Allow custom memory allocation control for WebCore's IdentifierRep 48995 https://bugs.webkit.org/show_bug.cgi?id=30159 48996 48997 Inherits IdentifierRep class from FastAllocBase because it has been 48998 instantiated by 'new' in WebCore/bridge/IdentifierRep.cpp:61. 48999 49000 * bridge/IdentifierRep.h: 49001 49002 2009-10-07 Anton Muhin <antonm (a] chromium.org> 49003 49004 Reviewed by Adam Barth. 49005 49006 Fetch pointers to C+DOM window immediately from holder 49007 object (do not search prototype chain for proper JS wrapper). 49008 https://bugs.webkit.org/show_bug.cgi?id=29031 49009 49010 * bindings/scripts/CodeGeneratorV8.pm: 49011 * bindings/v8/V8DOMWrapper.cpp: 49012 (WebCore::V8DOMWrapper::getTemplate): 49013 * bindings/v8/V8Proxy.cpp: 49014 (WebCore::V8Proxy::createNewContext): 49015 (WebCore::V8Proxy::installDOMWindow): 49016 * bindings/v8/custom/V8DOMWindowCustom.cpp: 49017 (WebCore::ACCESSOR_GETTER): 49018 (WebCore::ACCESSOR_SETTER): 49019 (WebCore::INDEXED_PROPERTY_GETTER): 49020 (WebCore::NAMED_PROPERTY_GETTER): 49021 (WebCore::NAMED_ACCESS_CHECK): 49022 (WebCore::INDEXED_ACCESS_CHECK): 49023 2009-10-07 Adam Roben <aroben (a] apple.com> 49024 49025 Fix typo in PluginView::load that was causing cross-origin loads to 49026 be allowed 49027 49028 This typo was introduced in the build fix in r49213. 49029 49030 Fixes <http://webkit.org/b/30168> REGRESSION (r49213): 49031 http/tests/plugins/local-geturl-from-remote.html is failing on Windows 49032 49033 Reviewed by Sam Weinig. 49034 49035 * plugins/PluginView.cpp: 49036 (WebCore::PluginView::load): Removed a comma operator that was making 49037 a condition always evaluate to true. 49038 49039 2009-10-07 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 49040 49041 Reviewed by Simon Hausmann. 49042 49043 Do not create valid QColor's for invalid WebCore::Color's. 49044 49045 * platform/graphics/qt/ColorQt.cpp: 49046 (WebCore::Color::operator QColor): 49047 49048 2009-10-07 Janne Koskinen <janne.p.koskinen (a] digia.com> 49049 49050 Reviewed by Simon Hausmann. 49051 49052 [Qt] Symbian SBSv2 .data segment adress fix 49053 https://bugs.webkit.org/show_bug.cgi?id=30157 49054 49055 RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section 49056 base address to start from 0x800000 instead of the toolchain default 0x400000 49057 49058 * WebCore.pro: 49059 49060 2009-10-07 Pavel Feldman <pfeldman (a] chromium.org> 49061 49062 Reviewed by Timothy Hatcher. 49063 49064 Web Inspector: Migrate database inspection to the injected script-based schema. 49065 49066 https://bugs.webkit.org/show_bug.cgi?id=29788 49067 49068 * bindings/js/JSInspectorBackendCustom.cpp: 49069 (WebCore::JSInspectorBackend::databaseForId): 49070 * bindings/v8/custom/V8CustomBinding.h: 49071 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 49072 (WebCore::CALLBACK_FUNC_DECL): 49073 * inspector/InspectorBackend.cpp: 49074 (WebCore::InspectorBackend::dispatchOnInjectedScript): 49075 (WebCore::InspectorBackend::databaseForId): 49076 (WebCore::InspectorBackend::selectDatabase): 49077 (WebCore::InspectorBackend::getDatabaseTableNames): 49078 (WebCore::InspectorBackend::reportDidDispatchOnInjectedScript): 49079 * inspector/InspectorBackend.h: 49080 * inspector/InspectorBackend.idl: 49081 * inspector/InspectorController.cpp: 49082 (WebCore::InspectorController::populateScriptObjects): 49083 (WebCore::InspectorController::resetScriptObjects): 49084 (WebCore::InspectorController::selectDatabase): 49085 (WebCore::InspectorController::databaseForId): 49086 (WebCore::InspectorController::didOpenDatabase): 49087 (WebCore::InspectorController::didUseDOMStorage): 49088 (WebCore::InspectorController::selectDOMStorage): 49089 (WebCore::InspectorController::getDOMStorageResourceForId): 49090 * inspector/InspectorController.h: 49091 * inspector/InspectorDatabaseResource.cpp: 49092 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 49093 (WebCore::InspectorDatabaseResource::bind): 49094 * inspector/InspectorDatabaseResource.h: 49095 (WebCore::InspectorDatabaseResource::database): 49096 (WebCore::InspectorDatabaseResource::id): 49097 * inspector/InspectorFrontend.cpp: 49098 (WebCore::InspectorFrontend::addDatabase): 49099 (WebCore::InspectorFrontend::selectDatabase): 49100 (WebCore::InspectorFrontend::didGetDatabaseTableNames): 49101 (WebCore::InspectorFrontend::addDOMStorage): 49102 * inspector/InspectorFrontend.h: 49103 * inspector/front-end/Database.js: 49104 (WebInspector.Database): 49105 (WebInspector.Database.prototype.get id): 49106 (WebInspector.Database.prototype.set name): 49107 (WebInspector.Database.prototype.set version): 49108 (WebInspector.Database.prototype.set domain): 49109 (WebInspector.Database.prototype.getTableNames): 49110 (WebInspector.Database.prototype.executeSql): 49111 * inspector/front-end/InjectedScript.js: 49112 (InjectedScript.dispatch): 49113 (InjectedScript.executeSql): 49114 (InjectedScript.executeSql.errorCallback): 49115 (InjectedScript.executeSql.queryTransaction): 49116 * inspector/front-end/InjectedScriptAccess.js: 49117 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): 49118 (InjectedScriptAccess._installHandler): 49119 * inspector/front-end/StoragePanel.js: 49120 (WebInspector.StoragePanel.prototype.selectDatabase): 49121 (WebInspector.StoragePanel.prototype.dataGridForResult): 49122 * inspector/front-end/inspector.js: 49123 (WebInspector.addDatabase): 49124 49125 2009-10-07 Girish Ramakrishnan <girish (a] forwardbias.in> 49126 49127 Reviewed by Simon Hausmann. 49128 49129 [Qt] Windowless Plugins: Disable content propagation for QGraphicsView items 49130 49131 We cannot support content propagation for items in QGraphicsView because 49132 the contents of the backing store might be transformed. So turn it off 49133 if we are not painting on QWidget. 49134 49135 Note that this check will not work for a QWebView in a 49136 QGraphicsProxyWidget, but I guess it's fine. Alternative is to do an 49137 even uglier cast: static_cast painter's paintDevice() to QWidget and 49138 check if it is the viewport() of QGraphicsView. 49139 49140 https://bugs.webkit.org/show_bug.cgi?id=30149 49141 49142 * plugins/qt/PluginViewQt.cpp: 49143 (WebCore::PluginView::paint): 49144 49145 2009-10-07 Simon Hausmann <simon.hausmann (a] nokia.com> 49146 49147 Fix the Qt build by adding the missing files to the build. 49148 49149 * WebCore.pro: 49150 49151 2009-10-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 49152 49153 Reviewed by Xan Lopez. 49154 49155 Fix incorrect convertion of double into int while assigning it to 49156 a float. 49157 49158 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 49159 (WebCore::SimpleFontData::platformInit): 49160 * platform/graphics/gtk/SimpleFontDataPango.cpp: 49161 (WebCore::SimpleFontData::platformInit): 49162 49163 2009-10-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 49164 49165 Reviewed by Xan Lopez. 49166 49167 Fix rounding error issues in height calculation in 64 bits. 49168 49169 Already covered by existing tests. 49170 49171 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 49172 (WebCore::SimpleFontData::platformInit): 49173 * platform/graphics/gtk/SimpleFontDataPango.cpp: 49174 (WebCore::SimpleFontData::platformInit): 49175 49176 2009-10-07 Shinichiro Hamaji <hamaji (a] chromium.org> 49177 49178 Reviewed by Eric Seidel. 49179 49180 Dual lines in css2.1 layout tests do not match: 49181 https://bugs.webkit.org/show_bug.cgi?id=23262 49182 49183 Now we can put a counter node as the next sibling of a reset node. 49184 Re-layout the counter content when the count is updated. 49185 49186 Tests: fast/css/counters/t1204-increment-00-c-o.html 49187 fast/css/counters/t1204-increment-01-c-o.html 49188 49189 * rendering/CounterNode.cpp: 49190 (WebCore::CounterNode::recount): 49191 * rendering/RenderCounter.cpp: 49192 (WebCore::findPlaceForCounter): 49193 49194 2009-10-06 Xan Lopez <xlopez (a] igalia.com> 49195 49196 Try to fix the GTKbuild. 49197 49198 * GNUmakefile.am: 49199 49200 2009-10-06 Adam Barth <abarth (a] webkit.org> 49201 49202 Reviewed by Adam Barth. 49203 49204 Removed unused member variable from FrameLoader 49205 https://bugs.webkit.org/show_bug.cgi?id=30146 49206 49207 * loader/FrameLoader.cpp: 49208 (WebCore::FrameLoader::FrameLoader): 49209 * loader/FrameLoader.h: 49210 49211 2009-10-06 David Levin <levin (a] chromium.org> 49212 49213 Reviewed by NOBODY (build fix). 49214 49215 A few small/trivial tweaks to the last build fix. 49216 49217 * bindings/scripts/CodeGeneratorV8.pm: 49218 49219 2009-10-06 David Levin <levin (a] chromium.org> 49220 49221 Reviewed by Dimitri Glazkov. 49222 49223 [Chromium] Need to adjust MessagePort, etc. code for the post clone work done. 49224 https://bugs.webkit.org/show_bug.cgi?id=30147 49225 49226 No change in functionality so no new tests. 49227 49228 * WebCore.gypi: 49229 * bindings/scripts/CodeGeneratorV8.pm: 49230 * bindings/v8/SerializedScriptValue.h: Added. 49231 A very simple implementation of SerializedScriptValue 49232 that only works for strings. 49233 * bindings/v8/custom/V8DOMWindowCustom.cpp: 49234 (WebCore::CALLBACK_FUNC_DECL): 49235 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 49236 (WebCore::CALLBACK_FUNC_DECL): 49237 * bindings/v8/custom/V8MessageEventCustom.cpp: 49238 (WebCore::CALLBACK_FUNC_DECL): 49239 * bindings/v8/custom/V8MessagePortCustom.cpp: 49240 (WebCore::CALLBACK_FUNC_DECL): 49241 * bindings/v8/custom/V8WorkerCustom.cpp: 49242 (WebCore::CALLBACK_FUNC_DECL): 49243 49244 2009-10-06 Sam Weinig <sam (a] webkit.org> 49245 49246 Reviewed by Brady Eidson. 49247 49248 Fix for <rdar://problem/7271202> 49249 Dispatch resource load delegate functions for the media element. 49250 Since we don't get the required callbacks from the media engine, 49251 just fake the parameters to the delegate functions as best as possible. 49252 49253 * html/HTMLMediaElement.cpp: 49254 (WebCore::HTMLMediaElement::loadResource): 49255 (WebCore::HTMLMediaElement::isSafeToLoadURL): 49256 * loader/FrameLoader.cpp: 49257 (WebCore::FrameLoader::willLoadMediaElementURL): 49258 * loader/FrameLoader.h: 49259 49260 2009-10-06 Oliver Hunt <oliver (a] apple.com> 49261 49262 Reviewed by NOBODY (Build fix). 49263 49264 More build fixes. 49265 49266 * bindings/js/SerializedScriptValue.cpp: 49267 (WebCore::DeserializingTreeWalker::getProperty): 49268 (WebCore::TeardownTreeWalker::getProperty): 49269 * bindings/js/SerializedScriptValue.h: 49270 (WebCore::SerializedScriptValue::SerializedScriptValue): 49271 49272 2009-10-06 Oliver Hunt <oliver (a] apple.com> 49273 49274 Reviewed by NOBODY (Build fix). 49275 49276 Build and formatting fix. 49277 49278 * ForwardingHeaders/runtime/ExceptionHelpers.h: Added. 49279 * bindings/js/SerializedScriptValue.cpp: 49280 * bindings/js/SerializedScriptValue.h: 49281 (WebCore::SerializedScriptValueData::operator bool): 49282 (WebCore::SerializedScriptValueData::release): 49283 (WebCore::SerializedScriptValue::release): 49284 (WebCore::SerializedScriptValue::toString): 49285 (WebCore::SerializedScriptValue::~SerializedScriptValue): 49286 (WebCore::SerializedScriptValue::SerializedScriptValue): 49287 49288 2009-10-05 Oliver Hunt <oliver (a] apple.com> 49289 49290 Reviewed by Gavin Barraclough. 49291 49292 It should be possible to post (clone) built-in JS objects to Workers 49293 https://bugs.webkit.org/show_bug.cgi?id=22878 49294 49295 Implement object cloning semantics for postMessage. Currently only 49296 a partial implementation of the spec -- cloning of File, FileList, 49297 ImageData, and RegExp were left out as they would have significantly 49298 increased patch size. 49299 49300 Cloning requires multiple tree walks so we use a templated tree 49301 walk function, allowing us to share a single implementation for 49302 serialization, deserialization, and eventual destruction of the 49303 serialized object tree. 49304 49305 Test: fast/dom/Window/window-postmessage-clone.html 49306 49307 * WebCore.vcproj/WebCore.vcproj: 49308 * WebCore.xcodeproj/project.pbxproj: 49309 * bindings/js/JSDOMWindowCustom.cpp: 49310 (WebCore::JSDOMWindow::postMessage): 49311 * bindings/js/JSMessageEventCustom.cpp: 49312 (WebCore::JSMessageEvent::initMessageEvent): 49313 * bindings/js/JSMessagePortCustom.h: 49314 (WebCore::handlePostMessage): 49315 * bindings/js/SerializedScriptValue.cpp: Added. 49316 (WebCore::SerializedObject::set): 49317 (WebCore::SerializedObject::names): 49318 (WebCore::SerializedObject::values): 49319 (WebCore::SerializedObject::create): 49320 (WebCore::SerializedObject::clear): 49321 (WebCore::SerializedObject::SerializedObject): 49322 (WebCore::SerializedArray::setIndex): 49323 (WebCore::SerializedArray::canDoFastRead): 49324 (WebCore::SerializedArray::getIndex): 49325 (WebCore::SerializedArray::getSparseIndex): 49326 (WebCore::SerializedArray::length): 49327 (WebCore::SerializedArray::create): 49328 (WebCore::SerializedArray::clear): 49329 (WebCore::SerializedArray::SerializedArray): 49330 (WebCore::SerializedScriptValueData::SerializedScriptValueData): 49331 (WebCore::SharedSerializedData::asArray): 49332 (WebCore::SharedSerializedData::asObject): 49333 (WebCore::): 49334 (WebCore::walk): 49335 (WebCore::BaseWalker::BaseWalker): 49336 (WebCore::BaseWalker::shouldTerminate): 49337 (WebCore::BaseWalker::ticksUntilNextCheck): 49338 (WebCore::BaseWalker::didTimeOut): 49339 (WebCore::BaseWalker::throwStackOverflow): 49340 (WebCore::BaseWalker::throwInterruptedException): 49341 (WebCore::SerializingTreeWalker::SerializingTreeWalker): 49342 (WebCore::SerializingTreeWalker::null): 49343 (WebCore::SerializingTreeWalker::isArray): 49344 (WebCore::SerializingTreeWalker::isObject): 49345 (WebCore::SerializingTreeWalker::asInputArray): 49346 (WebCore::SerializingTreeWalker::asInputObject): 49347 (WebCore::SerializingTreeWalker::createOutputArray): 49348 (WebCore::SerializingTreeWalker::createOutputObject): 49349 (WebCore::SerializingTreeWalker::length): 49350 (WebCore::SerializingTreeWalker::canDoFastRead): 49351 (WebCore::SerializingTreeWalker::getIndex): 49352 (WebCore::SerializingTreeWalker::getSparseIndex): 49353 (WebCore::SerializingTreeWalker::getProperty): 49354 (WebCore::SerializingTreeWalker::convertIfTerminal): 49355 (WebCore::SerializingTreeWalker::getPropertyNames): 49356 (WebCore::SerializingTreeWalker::putIndex): 49357 (WebCore::SerializingTreeWalker::putProperty): 49358 (WebCore::SerializingTreeWalker::startArray): 49359 (WebCore::SerializingTreeWalker::endArray): 49360 (WebCore::SerializingTreeWalker::startObject): 49361 (WebCore::SerializingTreeWalker::endObject): 49362 (WebCore::SerializedScriptValueData::serialize): 49363 (WebCore::DeserializingTreeWalker::DeserializingTreeWalker): 49364 (WebCore::DeserializingTreeWalker::null): 49365 (WebCore::DeserializingTreeWalker::isArray): 49366 (WebCore::DeserializingTreeWalker::isObject): 49367 (WebCore::DeserializingTreeWalker::asInputArray): 49368 (WebCore::DeserializingTreeWalker::asInputObject): 49369 (WebCore::DeserializingTreeWalker::createOutputArray): 49370 (WebCore::DeserializingTreeWalker::createOutputObject): 49371 (WebCore::DeserializingTreeWalker::length): 49372 (WebCore::DeserializingTreeWalker::canDoFastRead): 49373 (WebCore::DeserializingTreeWalker::getIndex): 49374 (WebCore::DeserializingTreeWalker::getSparseIndex): 49375 (WebCore::DeserializingTreeWalker::getProperty): 49376 (WebCore::DeserializingTreeWalker::convertIfTerminal): 49377 (WebCore::DeserializingTreeWalker::getPropertyNames): 49378 (WebCore::DeserializingTreeWalker::putIndex): 49379 (WebCore::DeserializingTreeWalker::putProperty): 49380 (WebCore::DeserializingTreeWalker::startArray): 49381 (WebCore::DeserializingTreeWalker::endArray): 49382 (WebCore::DeserializingTreeWalker::startObject): 49383 (WebCore::DeserializingTreeWalker::endObject): 49384 (WebCore::SerializedScriptValueData::deserialize): 49385 (WebCore::TeardownTreeWalker::shouldTerminate): 49386 (WebCore::TeardownTreeWalker::ticksUntilNextCheck): 49387 (WebCore::TeardownTreeWalker::didTimeOut): 49388 (WebCore::TeardownTreeWalker::throwStackOverflow): 49389 (WebCore::TeardownTreeWalker::throwInterruptedException): 49390 (WebCore::TeardownTreeWalker::null): 49391 (WebCore::TeardownTreeWalker::isArray): 49392 (WebCore::TeardownTreeWalker::isObject): 49393 (WebCore::TeardownTreeWalker::asInputArray): 49394 (WebCore::TeardownTreeWalker::asInputObject): 49395 (WebCore::TeardownTreeWalker::createOutputArray): 49396 (WebCore::TeardownTreeWalker::createOutputObject): 49397 (WebCore::TeardownTreeWalker::length): 49398 (WebCore::TeardownTreeWalker::canDoFastRead): 49399 (WebCore::TeardownTreeWalker::getIndex): 49400 (WebCore::TeardownTreeWalker::getSparseIndex): 49401 (WebCore::TeardownTreeWalker::getProperty): 49402 (WebCore::TeardownTreeWalker::convertIfTerminal): 49403 (WebCore::TeardownTreeWalker::getPropertyNames): 49404 (WebCore::TeardownTreeWalker::putIndex): 49405 (WebCore::TeardownTreeWalker::putProperty): 49406 (WebCore::TeardownTreeWalker::startArray): 49407 (WebCore::TeardownTreeWalker::endArray): 49408 (WebCore::TeardownTreeWalker::startObject): 49409 (WebCore::TeardownTreeWalker::endObject): 49410 (WebCore::SerializedScriptValueData::tearDownSerializedData): 49411 * bindings/js/SerializedScriptValue.h: Added. 49412 (WebCore::SharedSerializedData::~SharedSerializedData): 49413 (WebCore::SerializedScriptValueData::): 49414 (WebCore::SerializedScriptValueData::type): 49415 (WebCore::SerializedScriptValueData::~SerializedScriptValueData): 49416 (WebCore::SerializedScriptValueData::SerializedScriptValueData): 49417 (WebCore::SerializedScriptValueData::asImmediate): 49418 (WebCore::SerializedScriptValueData::asDouble): 49419 (WebCore::SerializedScriptValueData::asString): 49420 (WebCore::SerializedScriptValueData::asObject): 49421 (WebCore::SerializedScriptValueData::asArray): 49422 (WebCore::SerializedScriptValueData::operator bool ): 49423 (WebCore::SerializedScriptValueData::release): 49424 (WebCore::SerializedScriptValue::create): 49425 (WebCore::SerializedScriptValue::release): 49426 (WebCore::SerializedScriptValue::toString): 49427 (WebCore::SerializedScriptValue::deserialize): 49428 (WebCore::SerializedScriptValue::~SerializedScriptValue): 49429 (WebCore::SerializedScriptValue::SerializedScriptValue): 49430 * bindings/scripts/CodeGeneratorJS.pm: 49431 * bindings/scripts/CodeGeneratorObjC.pm: 49432 * dom/MessageEvent.cpp: 49433 (WebCore::MessageEvent::MessageEvent): 49434 (WebCore::MessageEvent::initMessageEvent): 49435 * dom/MessageEvent.h: 49436 (WebCore::MessageEvent::create): 49437 (WebCore::MessageEvent::data): 49438 * dom/MessageEvent.idl: 49439 * dom/MessagePort.cpp: 49440 (WebCore::MessagePort::postMessage): 49441 * dom/MessagePort.h: 49442 * dom/MessagePortChannel.cpp: 49443 (WebCore::MessagePortChannel::EventData::create): 49444 (WebCore::MessagePortChannel::EventData::EventData): 49445 * dom/MessagePortChannel.h: 49446 (WebCore::MessagePortChannel::EventData::message): 49447 * page/DOMWindow.cpp: 49448 (WebCore::PostMessageTimer::PostMessageTimer): 49449 (WebCore::DOMWindow::postMessage): 49450 * page/DOMWindow.h: 49451 * page/DOMWindow.idl: 49452 * page/EventSource.cpp: 49453 (WebCore::EventSource::createMessageEvent): 49454 * websockets/WebSocket.cpp: 49455 (WebCore::WebSocket::didReceiveMessage): 49456 * workers/DedicatedWorkerContext.cpp: 49457 (WebCore::DedicatedWorkerContext::postMessage): 49458 * workers/DedicatedWorkerContext.h: 49459 * workers/DedicatedWorkerContext.idl: 49460 * workers/Worker.cpp: 49461 (WebCore::Worker::postMessage): 49462 * workers/Worker.h: 49463 * workers/Worker.idl: 49464 * workers/WorkerContextProxy.h: 49465 * workers/WorkerMessagingProxy.cpp: 49466 (WebCore::MessageWorkerContextTask::create): 49467 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): 49468 (WebCore::MessageWorkerTask::create): 49469 (WebCore::MessageWorkerTask::MessageWorkerTask): 49470 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): 49471 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 49472 * workers/WorkerMessagingProxy.h: 49473 * workers/WorkerObjectProxy.h: 49474 49475 2009-10-06 Adam Barth <abarth (a] webkit.org> 49476 49477 Unreviewed build fix for Windows. 49478 49479 * plugins/PluginView.cpp: 49480 (WebCore::PluginView::load): 49481 49482 2009-10-06 Adam Barth <abarth (a] webkit.org> 49483 49484 Reviewed by Eric Seidel. 49485 49486 Move FrameLoader::canLoad to SecurityOrigin 49487 https://bugs.webkit.org/show_bug.cgi?id=30111 49488 49489 * WebCore.base.exp: 49490 * html/HTMLMediaElement.cpp: 49491 (WebCore::HTMLMediaElement::isSafeToLoadURL): 49492 * loader/Cache.cpp: 49493 (WebCore::Cache::requestResource): 49494 * loader/FrameLoader.cpp: 49495 (WebCore::FrameLoader::loadSubframe): 49496 (WebCore::FrameLoader::loadPlugin): 49497 (WebCore::FrameLoader::loadFrameRequest): 49498 (WebCore::FrameLoader::loadResourceSynchronously): 49499 (WebCore::FrameLoader::createJavaAppletWidget): 49500 * loader/FrameLoader.h: 49501 * loader/SubresourceLoader.cpp: 49502 (WebCore::SubresourceLoader::create): 49503 * page/SecurityOrigin.cpp: 49504 (WebCore::SecurityOrigin::canLoad): 49505 (WebCore::SecurityOrigin::shouldHideReferrer): 49506 * page/SecurityOrigin.h: 49507 49508 2009-10-06 Adam Barth <abarth (a] webkit.org> 49509 49510 Reviewed by Eric Seidel. 49511 49512 Move setLocalLoadPolicy and friends to SecurityOrigin 49513 https://bugs.webkit.org/show_bug.cgi?id=30110 49514 49515 These have more to do with security policies than with loading frames. 49516 49517 * WebCore.base.exp: 49518 * dom/Document.cpp: 49519 (WebCore::Document::initSecurityContext): 49520 * loader/Cache.cpp: 49521 (WebCore::Cache::requestResource): 49522 * loader/FrameLoader.cpp: 49523 * loader/FrameLoader.h: 49524 * loader/SubresourceLoader.cpp: 49525 (WebCore::SubresourceLoader::create): 49526 * page/SecurityOrigin.cpp: 49527 (WebCore::SecurityOrigin::setLocalLoadPolicy): 49528 (WebCore::SecurityOrigin::restrictAccessToLocal): 49529 (WebCore::SecurityOrigin::allowSubstituteDataAccessToLocal): 49530 * page/SecurityOrigin.h: 49531 (WebCore::SecurityOrigin::): 49532 49533 2009-10-06 Brian Weinstein <bweinstein (a] apple.com> 49534 49535 Reviewed by Brady Eidson. 49536 49537 Preparation for <http://webkit.org/b/30104>. 49538 Inspector should show cookies of sub-resources on the page. 49539 49540 Implement getRawCookies for CFNetwork for Windows, so we can see more 49541 than just a key/value pair for Cookies when we are on Windows. 49542 49543 * platform/network/win/CookieJarCFNetWin.cpp: 49544 (WebCore::getRawCookies): 49545 49546 2009-10-06 Dave Hyatt <hyatt (a] apple.com> 49547 49548 Reviewed by Adam Roben. 49549 49550 https://bugs.webkit.org/show_bug.cgi?id=30132, make beforeload work with <link> elements and 49551 XML processing instructions. 49552 49553 Fix up ProcessingInstruction's setData call so that it actually updates a stylesheet when the 49554 data gets changed. 49555 49556 Move dispatchBeforeLoadedEvent to ContainerNode so all Elements (and ProcessingInstruction) can 49557 access it. 49558 49559 Added fast/dom/beforeload/link-before-load.html 49560 49561 * dom/ContainerNode.cpp: 49562 (WebCore::ContainerNode::dispatchBeforeLoadEvent): 49563 * dom/ContainerNode.h: 49564 * dom/ProcessingInstruction.cpp: 49565 (WebCore::ProcessingInstruction::checkStyleSheet): 49566 (WebCore::ProcessingInstruction::setData): 49567 * dom/ScriptElement.cpp: 49568 (WebCore::ScriptElementData::requestScript): 49569 * dom/ScriptElement.h: 49570 * dom/XMLTokenizerLibxml2.cpp: 49571 (WebCore::XMLTokenizer::endElementNs): 49572 * html/HTMLLinkElement.cpp: 49573 (WebCore::HTMLLinkElement::parseMappedAttribute): 49574 (WebCore::HTMLLinkElement::process): 49575 * html/HTMLScriptElement.cpp: 49576 (WebCore::HTMLScriptElement::forAttributeValue): 49577 * html/HTMLScriptElement.h: 49578 * svg/SVGScriptElement.cpp: 49579 * svg/SVGScriptElement.h: 49580 49581 2009-10-06 Simon Fraser <simon.fraser (a] apple.com> 49582 49583 Reviewed by Mark Rowe. 49584 49585 accessibility/media-element.html crashes (and has incorrect result) 49586 https://bugs.webkit.org/show_bug.cgi?id=30108 49587 49588 Fix up the accessibilty label for the newly added fullscreen button, 49589 and update the test result accordingly. 49590 49591 * accessibility/AccessibilityMediaControls.cpp: 49592 (WebCore::AccessibilityMediaControl::controlTypeName): 49593 49594 2009-10-06 Kelly Norton <knorton (a] google.com> 49595 49596 Reviewed by Timothy Hatcher. 49597 49598 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30028> 49599 Multiple calls to SetFrontendProxyObject can leave an InspectorTimelineAgent with an invalid 49600 InspectorFrontend. 49601 49602 * inspector/InspectorController.cpp: 49603 (WebCore::InspectorController::setFrontendProxyObject): Adds a check for an existing timeline agent. 49604 49605 2009-10-06 Antti Koivisto <antti (a] apple.com> 49606 49607 Reviewed by Dave Kilzer. 49608 49609 Move textRects to the right category in DOM.mm. Include DOMPrivate.h to ensure that the interfaces match. 49610 49611 * bindings/objc/DOM.mm: 49612 (-[DOMNode textRects]): 49613 49614 2009-10-06 Benjamin C Meyer <bmeyer (a] rim.com> 49615 49616 Reviewed by Ariya Hidayat. 49617 49618 Match the behavior of other WebKit browser and have the first url of the drag data be the url passed in declareAndWriteDragImage and set the text of the drag data to be the title argument. 49619 49620 Manual test: Drag the readability js link from http://lab.arc90.com/experiments/readability/ 49621 49622 * platform/qt/ClipboardQt.cpp: 49623 (WebCore::ClipboardQt::declareAndWriteDragImage): 49624 49625 2009-10-06 Kent Tamura <tkent (a] chromium.org> 49626 49627 Reviewed by Darin Adler. 49628 49629 Implement min/max attributes, ValidityState.rangeUnderflow and 49630 ValidityState.rangeOverflow for <input type=number> and <input type=range> 49631 https://bugs.webkit.org/show_bug.cgi?id=29069 49632 49633 HTMLInputElement::max and min are not defined for COM because they 49634 conflict with the standard min() and max() macros. 49635 49636 Tests: fast/forms/ValidityState-rangeOverflow-number.html 49637 fast/forms/ValidityState-rangeOverflow-range.html 49638 fast/forms/ValidityState-rangeUnderflow-number.html 49639 fast/forms/ValidityState-rangeUnderflow-range.html 49640 fast/forms/input-minmax.html 49641 49642 * html/HTMLInputElement.cpp: 49643 (WebCore::HTMLInputElement::rangeUnderflow): 49644 (WebCore::HTMLInputElement::rangeOverflow): 49645 (WebCore::HTMLInputElement::rangeMinimum): 49646 (WebCore::HTMLInputElement::rangeMaximum): 49647 * html/HTMLInputElement.h: 49648 * html/HTMLInputElement.idl: 49649 * html/ValidityState.cpp: 49650 (WebCore::ValidityState::rangeUnderflow): 49651 (WebCore::ValidityState::rangeOverflow): 49652 * html/ValidityState.h: 49653 * rendering/RenderSlider.cpp: 49654 (WebCore::SliderRange::SliderRange): 49655 (WebCore::SliderRange::valueFromElement): 49656 49657 2009-10-06 Adam Barth <abarth (a] webkit.org> 49658 49659 Reviewed by Eric Seidel. 49660 49661 Move m_openedByDOM to Page 49662 https://bugs.webkit.org/show_bug.cgi?id=30109 49663 49664 We only need one instance of m_openedByDOM per page, we should move it 49665 to a page-scoped object. Notice that it's only ever touched for the 49666 main frame. 49667 49668 * bindings/js/JSDOMWindowCustom.cpp: 49669 (WebCore::createWindow): 49670 * bindings/v8/custom/V8DOMWindowCustom.cpp: 49671 (WebCore::createWindow): 49672 * loader/FrameLoader.cpp: 49673 * loader/FrameLoader.h: 49674 * page/DOMWindow.cpp: 49675 (WebCore::DOMWindow::close): 49676 * page/Page.cpp: 49677 (WebCore::Page::Page): 49678 (WebCore::Page::openedByDOM): 49679 (WebCore::Page::setOpenedByDOM): 49680 * page/Page.h: 49681 49682 2009-10-06 Carol Szabo <carol.szabo (a] nokia.com> 49683 49684 Reviewed by Ariya Hidayat. 49685 49686 [Qt] Some functions in GraphicsContext do not work 49687 as expected if the associated painter has no clipping. 49688 https://bugs.webkit.org/show_bug.cgi?id=29691 49689 49690 No new tests are associated with this because DumpRenderTree 49691 always sets clipping on the painter, thus it would never hit 49692 the test case, but fast/box-shadow/basic-shadows.html is a 49693 good example of what happens if the clipping is not set by 49694 the user of QtWebKit. 49695 49696 * platform/graphics/qt/GraphicsContextQt.cpp: 49697 (WebCore::GraphicsContext::clipOut): 49698 (WebCore::GraphicsContext::clipOutEllipseInRect): 49699 Fixed to handle the case that there is no clipping 49700 before the call. 49701 49702 2009-10-06 Dave Hyatt <hyatt (a] apple.com> 49703 49704 Reviewed by Adam Roben. 49705 49706 https://bugs.webkit.org/show_bug.cgi?id=30131, make beforeload fire on script elements. 49707 49708 Added tests in fast/dom/beforeload/. 49709 49710 * dom/ScriptElement.cpp: 49711 (WebCore::ScriptElementData::requestScript): 49712 * dom/ScriptElement.h: 49713 * dom/XMLTokenizerLibxml2.cpp: 49714 (WebCore::XMLTokenizer::endElementNs): 49715 * html/HTMLAttributeNames.in: 49716 * html/HTMLScriptElement.cpp: 49717 (WebCore::HTMLScriptElement::parseMappedAttribute): 49718 (WebCore::HTMLScriptElement::dispatchBeforeLoadEvent): 49719 * html/HTMLScriptElement.h: 49720 * html/HTMLTokenizer.cpp: 49721 (WebCore::HTMLTokenizer::scriptHandler): 49722 * svg/SVGScriptElement.cpp: 49723 (WebCore::SVGScriptElement::dispatchBeforeLoadEvent): 49724 * svg/SVGScriptElement.h: 49725 49726 2009-10-06 Xan Lopez <xlopez (a] igalia.com> 49727 49728 Reviewed by Eric Seidel. 49729 49730 https://bugs.webkit.org/show_bug.cgi?id=25526 49731 [Gtk] Additional support is needed for caret browsing 49732 49733 Enable caret movement commands also when caret browsing setting is 49734 enabled. 49735 49736 * editing/EditorCommand.cpp: 49737 (WebCore::caretBrowsingEnabled): 49738 (WebCore::enabledVisibleSelectionOrCaretBrowsing): 49739 (WebCore::enabledInEditableTextOrCaretBrowsing): 49740 (WebCore::CommandEntry::): 49741 * manual-tests/gtk/caret-browsing.html: Added. 49742 49743 2009-10-06 Anton Muhin <antonm@chromium> 49744 49745 Reviewed by Dimitri Glazkov. 49746 49747 Non standard, but popular exetension allows automagically 49748 turn a function into a namespace resolver. Support that in 49749 Chromium as well. 49750 49751 Adjust CodeGeneratorV8 to treat XPathNSResolver in a special way. 49752 https://bugs.webkit.org/show_bug.cgi?id=30128 49753 49754 * bindings/scripts/CodeGeneratorV8.pm: 49755 * bindings/v8/V8DOMWrapper.h: 49756 (WebCore::V8DOMWrapper::getXPathNSResolver): 49757 * bindings/v8/custom/V8DocumentCustom.cpp: 49758 (WebCore::CALLBACK_FUNC_DECL): 49759 49760 2009-10-06 Pavel Feldman <pfeldman (a] chromium.org> 49761 49762 Reviewed by Timothy Hatcher. 49763 49764 Web Inspector: close inspector client view on 49765 InspectorController::close API call. 49766 49767 In order to run batch web inspector layout tests (and not affect 49768 subsequent tests) we should close inspector client's view upon 49769 InspectorController::close API call. 49770 49771 https://bugs.webkit.org/show_bug.cgi?id=30009 49772 49773 * inspector/InspectorController.cpp: 49774 (WebCore::InspectorController::inspectedPageDestroyed): 49775 (WebCore::InspectorController::close): 49776 49777 2009-10-06 Simon Hausmann <simon.hausmann (a] nokia.com> 49778 49779 Reviewed by Tor Arne Vestb. 49780 49781 Fix the Qt/Windows build by stubbing out the still image 49782 support for halted plugins for the Qt build. 49783 49784 Bugzilla entry https://bugs.webkit.org/show_bug.cgi?id=30130 49785 tracks removing this by implementing Frame::nodeImage(). 49786 49787 * plugins/win/PluginViewWin.cpp: 49788 (WebCore::PluginView::halt): 49789 49790 2009-10-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 49791 49792 Reviewed by Simon Hausmann. 49793 49794 [Qt] Change QImageReader usage in ImageDecoderQt 49795 https://bugs.webkit.org/show_bug.cgi?id=27538 49796 49797 Replace the ReadContext with another appoach to 49798 reading the image. Attempt to only read meta information 49799 like the image size and number of frames (for animations) 49800 first and then when the page is getting drawn decode 49801 the image with the QImageReader. 49802 49803 This is a huge benefit on pages with many images and saves 49804 ~2GB of memory on the szeged image test page. 49805 49806 * platform/graphics/qt/ImageDecoderQt.cpp: 49807 (WebCore::ImageDecoderQt::ImageDecoderQt): 49808 (WebCore::ImageDecoderQt::setData): 49809 (WebCore::ImageDecoderQt::isSizeAvailable): 49810 (WebCore::ImageDecoderQt::frameCount): 49811 (WebCore::ImageDecoderQt::repetitionCount): 49812 (WebCore::ImageDecoderQt::filenameExtension): 49813 (WebCore::ImageDecoderQt::frameBufferAtIndex): 49814 (WebCore::ImageDecoderQt::clearFrameBufferCache): 49815 (WebCore::ImageDecoderQt::internalDecodeSize): 49816 (WebCore::ImageDecoderQt::internalReadImage): 49817 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 49818 (WebCore::ImageDecoderQt::forceLoadEverything): 49819 (WebCore::ImageDecoderQt::failRead): 49820 * platform/graphics/qt/ImageDecoderQt.h: 49821 49822 2009-10-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 49823 49824 Reviewed by Simon Hausmann. 49825 49826 [Qt] Make use of RGBA32Buffer in ImageDecoderQt 49827 https://bugs.webkit.org/show_bug.cgi?id=27538 49828 49829 Use the RGBA32Buffer instead of the internal ImageData 49830 to be able to use support of the base class, optionally 49831 support WebCore decoders for Qt and most importantly 49832 separate metadata and image data for better cache control. 49833 49834 Remove ImageSourceQt as everything is now shared with 49835 the normal ImageSource. 49836 49837 Change the ownership of the NativeImagePtr/QPixmap in 49838 ImageQt.cpp to delete the m_frame to be subject to cache 49839 control. 49840 49841 * WebCore.pro: 49842 * platform/graphics/ImageSource.cpp: 49843 * platform/graphics/qt/ImageDecoderQt.cpp: 49844 (WebCore::ImageDecoderQt::ReadContext::ReadContext): 49845 (WebCore::ImageDecoderQt::ReadContext::read): 49846 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 49847 (WebCore::ImageDecoderQt::ImageDecoderQt): 49848 (WebCore::ImageDecoderQt::setData): 49849 (WebCore::ImageDecoderQt::frameCount): 49850 (WebCore::ImageDecoderQt::frameBufferAtIndex): 49851 (WebCore::ImageDecoderQt::clearFrameBufferCache): 49852 * platform/graphics/qt/ImageDecoderQt.h: 49853 * platform/graphics/qt/ImageSourceQt.cpp: Removed. 49854 * platform/image-decoders/ImageDecoder.h: 49855 (WebCore::RGBA32Buffer::decodedImage): 49856 (WebCore::RGBA32Buffer::getAddr): 49857 * platform/image-decoders/qt/RGBA32BufferQt.cpp: Added. 49858 (WebCore::RGBA32Buffer::RGBA32Buffer): 49859 (WebCore::RGBA32Buffer::setDecodedImage): 49860 (WebCore::RGBA32Buffer::clear): 49861 (WebCore::RGBA32Buffer::zeroFill): 49862 (WebCore::RGBA32Buffer::copyBitmapData): 49863 (WebCore::RGBA32Buffer::setSize): 49864 (WebCore::RGBA32Buffer::asNewNativeImage): 49865 (WebCore::RGBA32Buffer::hasAlpha): 49866 (WebCore::RGBA32Buffer::setHasAlpha): 49867 (WebCore::RGBA32Buffer::setStatus): 49868 (WebCore::RGBA32Buffer::operator=): 49869 (WebCore::RGBA32Buffer::width): 49870 (WebCore::RGBA32Buffer::height): 49871 49872 2009-10-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 49873 49874 Reviewed by Simon Hausmann. 49875 49876 [Qt] ImageDecoderQt avoid QString creation. 49877 https://bugs.webkit.org/show_bug.cgi?id=27538 49878 49879 Avoid going from CString to QString to String 49880 and go directly from CString to String. Also 49881 avoid going to lower case to avoid an extra 49882 memory allocation. 49883 49884 * platform/graphics/qt/ImageDecoderQt.cpp: 49885 (WebCore::ImageDecoder::create): 49886 (WebCore::ImageDecoderQt::ImageDecoderQt): 49887 * platform/graphics/qt/ImageDecoderQt.h: 49888 49889 2009-10-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 49890 49891 Reviewed by Simon Hausmann. 49892 49893 [Qt] Cleanup the ImageDecoder of Qt. 49894 https://bugs.webkit.org/show_bug.cgi?id=27538 49895 49896 Remove the various enums for partial load. The fact is 49897 that this image decoder will decode everything that is 49898 in the file at once. Make it look like it behaves to 49899 ease fixing this core problem. 49900 49901 * platform/graphics/qt/ImageDecoderQt.cpp: 49902 (WebCore::ImageDecoderQt::ImageData::ImageData): 49903 (WebCore::ImageDecoderQt::ReadContext::ReadContext): 49904 (WebCore::ImageDecoderQt::ReadContext::read): 49905 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 49906 (WebCore::ImageDecoderQt::hasFirstImageHeader): 49907 (WebCore::ImageDecoderQt::setData): 49908 * platform/graphics/qt/ImageDecoderQt.h: 49909 49910 2009-10-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 49911 49912 Reviewed by Simon Hausmann. 49913 49914 [Qt] Reimplement instead of overload frameCount in ImageDecoderQt.cpp 49915 https://bugs.webkit.org/show_bug.cgi?id=27538 49916 49917 Reimplement frameCount instead of overloading it. 49918 49919 * platform/graphics/qt/ImageDecoderQt.cpp: 49920 (WebCore::ImageDecoderQt::frameCount): 49921 * platform/graphics/qt/ImageDecoderQt.h: 49922 49923 2009-10-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 49924 49925 Reviewed by Simon Hausmann. 49926 49927 [Qt] QImageReader does not support progressive reading 49928 https://bugs.webkit.org/show_bug.cgi?id=27538 49929 49930 Change the ImageDecoderQt::setData to store the encoded 49931 data in ImageDecoder. 49932 49933 Only call ReadContext when the whole Resource has been 49934 loaded to avoid needless calls to reset and the 49935 ReadContext as progressive loading is not supported. 49936 49937 * platform/graphics/qt/ImageDecoderQt.cpp: 49938 (WebCore::ImageDecoderQt::setData): 49939 * platform/graphics/qt/ImageDecoderQt.h: 49940 49941 2009-10-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 49942 49943 Reviewed by Simon Hausmann. 49944 49945 [Qt] Remove dead code from ImageDecoderQt 49946 https://bugs.webkit.org/show_bug.cgi?id=27538 49947 49948 Remove unused variables and debugging code. The debug 49949 code has never been used and does not provide anything 49950 useful. 49951 49952 * platform/graphics/qt/ImageDecoderQt.cpp: 49953 (WebCore::ImageDecoderQt::ReadContext::read): 49954 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 49955 (WebCore::ImageDecoderQt::setData): 49956 (WebCore::ImageDecoderQt::isSizeAvailable): 49957 (WebCore::ImageDecoderQt::frameCount): 49958 (WebCore::ImageDecoderQt::repetitionCount): 49959 (WebCore::ImageDecoderQt::filenameExtension): 49960 (WebCore::ImageDecoderQt::imageAtIndex): 49961 49962 2009-10-06 Philippe Normand <pnormand (a] igalia.com> 49963 49964 Reviewed by Xan Lopez. 49965 49966 [GTK] segfault when calling gst_video_format_parse_caps in the video sink 49967 https://bugs.webkit.org/show_bug.cgi?id=30120 49968 49969 Fix use of gst_video_format_parse_caps() 49970 49971 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 49972 (webkit_video_sink_idle_func): 49973 49974 2009-10-06 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 49975 49976 Reviewed by Simon Hausmann. 49977 49978 [Qt] Update mediaControls CSS 49979 49980 * css/mediaControlsQt.css: 49981 49982 2009-10-06 Pavel Feldman <pfeldman (a] chromium.org> 49983 49984 Reviewed by Timothy Hatcher. 49985 49986 Web Inspector: Get rid of Preferences.ignoreWhitespace. 49987 49988 https://bugs.webkit.org/show_bug.cgi?id=30092 49989 49990 * inspector/front-end/DOMAgent.js: 49991 (WebInspector.DOMAgent): 49992 (WebInspector.DOMAgent.prototype._childNodeCountUpdated): 49993 * inspector/front-end/ElementsTreeOutline.js: 49994 (WebInspector.ElementsTreeOutline.prototype.update): 49995 (WebInspector.ElementsTreeElement): 49996 (WebInspector.ElementsTreeElement.prototype.onpopulate): 49997 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 49998 (WebInspector.ElementsTreeElement.prototype._updateChildren): 49999 * inspector/front-end/TextPrompt.js: 50000 (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt): 50001 * inspector/front-end/inspector.js: 50002 * inspector/front-end/utilities.js: 50003 (Node.prototype.rangeOfWord): 50004 (traverseNextNode): 50005 (traversePreviousNode): 50006 (onlyTextChild): 50007 50008 2009-10-06 Pavel Feldman <pfeldman (a] chromium.org> 50009 50010 Reviewed by Timothy Hatcher. 50011 50012 Web Inspector: Do not call nodeTitleInfo twice + 50013 followup fixes for r49101. 50014 50015 https://bugs.webkit.org/show_bug.cgi?id=30087 50016 50017 * inspector/front-end/ElementsTreeOutline.js: 50018 (WebInspector.ElementsTreeElement): 50019 50020 2009-10-06 Girish Ramakrishnan <girish (a] forwardbias.in> 50021 50022 Reviewed by Simon Hausmann. 50023 50024 [Qt] Windowless plugins: Enable painting on printer. 50025 50026 The print preview dialog crashed because the depth of the drawable 50027 changed owing to a bug in Qt - if you draw onto a 32-bit pixmap, 50028 and set a 24-bit pixmap as source, it will convert the source to 50029 32-bit. 50030 50031 1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt. 50032 50033 https://bugs.webkit.org/show_bug.cgi?id=20081 50034 50035 * plugins/qt/PluginViewQt.cpp: 50036 (WebCore::PluginView::paint): 50037 50038 2009-10-06 Girish Ramakrishnan <girish (a] forwardbias.in> 50039 50040 Reviewed by Simon Hausmann. 50041 50042 [Qt] Windowless plugins: Make painting and events work when page is zoomed. 50043 50044 The element gets resized when zoomed. So, we have to make sure that we resize 50045 the drawable and do a setwindow call. Multiple calls to setwindow do not 50046 crash plugin in windowless mode (unlike in windowed mode). 50047 50048 For mouse events we have to convert the pos to post-zoom position. 50049 50050 https://bugs.webkit.org/show_bug.cgi?id=20081 50051 50052 * plugins/qt/PluginViewQt.cpp: 50053 (WebCore::setXButtonEventSpecificFields): 50054 (WebCore::setXMotionEventSpecificFields): 50055 (WebCore::setXCrossingEventSpecificFields): 50056 (WebCore::PluginView::handleMouseEvent): 50057 (WebCore::PluginView::setNPWindowIfNeeded): 50058 50059 2009-10-06 Girish Ramakrishnan <girish (a] forwardbias.in> 50060 50061 Reviewed by Simon Hausmann. 50062 50063 [Qt] Windowless plugins: Add PluginQuirkRequiresDefaultScreenDepth quirk for Flash. 50064 50065 Flash does not use the visual provided by us to draw into the drawable. 50066 It instead uses the system default visual (as returned by XDefaultVisual). 50067 This means that if the screen default visual is 24-bit, Flash won't be 50068 able to draw on 32-bit drawable created by us. This is a bug in Flash 50069 and for the moment, the above quirk is only set for Flash. 50070 50071 Our strategy to create the drawable: 50072 1. Create a 32-bit drawable if the default screen depth is 32 or the 50073 quirk is not set (i.e not flash) 50074 2. If we didn't create a 32-bit drawable (maybe the Display has no such 50075 visual), we create a drawable with default screen depth. 50076 50077 As a result of the above changes, content propagation behavior changes as: 50078 1. Content propagation is possible only if the drawable we create and 50079 Qt's backing store are of the same depth. 50080 2. If we created a 32-bit drawable, there is no need for content 50081 propagation (Qt will take care of it). 50082 50083 https://bugs.webkit.org/show_bug.cgi?id=20081 50084 50085 * plugins/PluginPackage.cpp: 50086 (WebCore::PluginPackage::determineQuirks): 50087 * plugins/PluginQuirkSet.h: 50088 (WebCore::): 50089 * plugins/PluginView.cpp: 50090 (WebCore::PluginView::PluginView): 50091 * plugins/PluginView.h: 50092 * plugins/qt/PluginViewQt.cpp: 50093 (WebCore::PluginView::updatePluginWidget): 50094 (WebCore::PluginView::paint): 50095 (WebCore::getVisualAndColormap): 50096 (WebCore::PluginView::platformStart): 50097 (WebCore::PluginView::platformDestroy): 50098 50099 2009-10-06 Fumitoshi Ukai <ukai (a] chromium.org> 50100 50101 Reviewed by Ariya Hidayat. 50102 50103 Qt build fix. 50104 https://bugs.webkit.org/show_bug.cgi?id=29362. 50105 50106 In Qt 4.5, a new function QPainter::fillRect(QRect, QColor) is 50107 introduced to avoid the expensive construction of QBrush. 50108 By casting WebCore::Color to QColor, we can compile on Qt 4.4 50109 and use optimization for solid color fill in Qt 4.5. 50110 50111 * platform/graphics/qt/GraphicsContextQt.cpp: 50112 (WebCore::GraphicsContext::drawRect): 50113 (WebCore::GraphicsContext::drawLine): 50114 (WebCore::drawBorderlessRectShadow): 50115 50116 2009-10-05 Andrei Popescu <andreip (a] google.com> 50117 50118 Reviewed by Eric Carlson. 50119 50120 Allow the platform media player to know the <video> poster URL. 50121 Add MediaPlayerPrivate::prepareToPlay() to support media engines 50122 that do not buffer video data automatically. This method allows 50123 such media engines to start the buffering just before starting 50124 playback. 50125 https://bugs.webkit.org/show_bug.cgi?id=29133 50126 50127 All platforms that currently implement <video> return false 50128 in MediaPlayerPrivate::canLoadPoster() and do nothing in 50129 MediaPlayerPrivate::prepareToPlay() their behavior is 50130 unchanged. The current set of media test should then be 50131 sufficient to guarantee that this patch does not break anything. 50132 50133 * html/HTMLMediaElement.cpp: 50134 (WebCore::HTMLMediaElement::loadResource): 50135 After the MediaPlayer is created, inform it what the poster URL is. 50136 (WebCore::HTMLMediaElement::updatePlayState): 50137 Add another case where prepareToPlay is called for the platforms 50138 that do not buffer video content automatically. 50139 (WebCore::HTMLMediaElement::couldPlayIfEnoughData) 50140 Same as potentiallyPlaying, except that we don't check for 50141 the readyState being at least HAVE_FUTURE_DATA. 50142 * platform/graphics/MediaPlayer.cpp: 50143 (WebCore::NullMediaPlayerPrivate::canLoadPoster): 50144 Empty implementation for the NullMediaPlayerPrivate. 50145 (WebCore::NullMediaPlayerPrivate::setPoster): 50146 Empty implementation for the NullMediaPlayerPrivate. 50147 (WebCore::MediaPlayer::canLoadPoster): 50148 Proxy to the m_private. 50149 (WebCore::MediaPlayer::setPoster): 50150 Proxy to m_private. 50151 * platform/graphics/MediaPlayer.h: 50152 * platform/graphics/MediaPlayerPrivate.h: 50153 (WebCore::MediaPlayerPrivateInterface::canLoadPoster): 50154 (WebCore::MediaPlayerPrivateInterface::setPoster): 50155 Add new methods that allow the platform player to receive the poster URL. 50156 (WebCore::MediaPlayerPrivateInterface::prepareToPlay): 50157 Notifies the media engine that playback should start. The media engine 50158 should start preparing (e.g. by initializing the player and starting to buffer) 50159 and call back when the state is changed to HAVE_FUTURE_DATA. 50160 50161 2009-10-06 David Levin <levin (a] chromium.org> 50162 50163 Reviewed by Oliver Hunt. 50164 50165 StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer. 50166 https://bugs.webkit.org/show_bug.cgi?id=30095 50167 50168 All String::copy methods were changed to call either threadsafeCopy or crossThreadString. The method 50169 call was made threadsafeCopy unless I could show that threadsafety wasn't needed. 50170 50171 No visible change in functionality so no new tests. 50172 50173 * dom/MessagePortChannel.cpp: 50174 (WebCore::MessagePortChannel::EventData::EventData): 50175 * loader/WorkerThreadableLoader.cpp: 50176 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 50177 * loader/icon/IconDatabase.cpp: 50178 (WebCore::IconDatabase::open): 50179 (WebCore::IconDatabase::iconForPageURL): 50180 (WebCore::IconDatabase::iconURLForPageURL): 50181 (WebCore::IconDatabase::retainIconForPageURL): 50182 (WebCore::IconDatabase::releaseIconForPageURL): 50183 (WebCore::IconDatabase::setIconDataForIconURL): 50184 (WebCore::IconDatabase::setIconURLForPageURL): 50185 (WebCore::IconDatabase::databasePath): 50186 (WebCore::IconDatabase::defaultDatabaseFilename): 50187 * page/SecurityOrigin.cpp: 50188 (WebCore::SecurityOrigin::SecurityOrigin): Since this is used by SecurityOrigin::threadsafeCopy, 50189 it makes threadsafe calls. 50190 (WebCore::SecurityOrigin::threadsafeCopy): The only place that called this 50191 needed a threadsafe method. 50192 * page/SecurityOrigin.h: 50193 * platform/CrossThreadCopier.cpp: 50194 (WebCore::::copy): 50195 * platform/KURL.cpp: 50196 (WebCore::KURL::copy): 50197 * platform/network/HTTPHeaderMap.cpp: 50198 (WebCore::HTTPHeaderMap::copyData): 50199 * platform/network/ResourceErrorBase.cpp: 50200 (WebCore::ResourceErrorBase::copy): 50201 * platform/network/ResourceRequestBase.cpp: 50202 (WebCore::ResourceRequestBase::copyData): 50203 * platform/network/ResourceResponseBase.cpp: 50204 (WebCore::ResourceResponseBase::copyData): 50205 * platform/sql/SQLValue.cpp: 50206 (WebCore::SQLValue::SQLValue): 50207 (WebCore::SQLValue::string): 50208 * platform/sql/SQLValue.h: 50209 (WebCore::SQLValue::SQLValue): 50210 All constructors now initialize the m_number which is a double. Failure to 50211 do so can result in unexpected crashes when it is copied in the copy constructor. 50212 See http://blogs.msdn.com/oldnewthing/archive/2008/07/02/8679191.aspx, I was that colleague. 50213 * platform/text/PlatformString.h: 50214 * platform/text/String.cpp: 50215 (WebCore::String::threadsafeCopy): 50216 (WebCore::String::crossThreadString): 50217 * platform/text/StringImpl.cpp: 50218 Removed StringImpl::substringCopy which was no longer being used anywhere. 50219 (WebCore::StringImpl::threadsafeCopy): Changed the name to indicate that 50220 it is threadsafe. 50221 (WebCore::StringImpl::crossThreadString): The way to get strings for 50222 another thread which is not threadsafe. This shares the underlying buffer 50223 with both strings and gives them a way to do threadsafe refcounting for it. 50224 * platform/text/StringImpl.h: 50225 * storage/ChangeVersionWrapper.cpp: 50226 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper): 50227 * storage/Database.cpp: 50228 (WebCore::updateGuidVersionMap): 50229 (WebCore::Database::Database): 50230 (WebCore::Database::getVersionFromDatabase): 50231 (WebCore::Database::setVersionInDatabase): 50232 (WebCore::Database::version): 50233 (WebCore::Database::setExpectedVersion): 50234 (WebCore::Database::securityOriginCopy): 50235 (WebCore::Database::stringIdentifier): 50236 * storage/DatabaseTracker.cpp: 50237 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): 50238 * storage/OriginQuotaManager.cpp: 50239 (WebCore::OriginQuotaManager::addDatabase): 50240 * storage/SQLError.h: 50241 (WebCore::SQLError::message): 50242 (WebCore::SQLError::SQLError): 50243 * storage/SQLStatement.cpp: 50244 (WebCore::SQLStatement::SQLStatement): 50245 * storage/StorageAreaSync.cpp: 50246 (WebCore::StorageAreaSync::syncTimerFired): 50247 * storage/StorageMap.cpp: 50248 (WebCore::StorageMap::importItem): 50249 * storage/StorageNamespaceImpl.cpp: 50250 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 50251 * storage/StorageSyncManager.cpp: 50252 (WebCore::StorageSyncManager::StorageSyncManager): 50253 * workers/DefaultSharedWorkerRepository.cpp: 50254 (WebCore::SharedWorkerProxy::url): Do the copy of the url in a way that is threadsafe. 50255 (WebCore::SharedWorkerProxy::name): 50256 (WebCore::SharedWorkerProxy::SharedWorkerProxy): 50257 (WebCore::DefaultSharedWorkerRepository::getProxy): Do the copy of the url in a way that is threadsafe. 50258 * workers/SharedWorkerThread.cpp: 50259 (WebCore::SharedWorkerThread::SharedWorkerThread): 50260 * workers/WorkerMessagingProxy.cpp: 50261 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): 50262 (WebCore::MessageWorkerTask::MessageWorkerTask): 50263 (WebCore::WorkerExceptionTask::WorkerExceptionTask): 50264 * workers/WorkerRunLoop.cpp: 50265 (WebCore::WorkerRunLoop::Task::Task): 50266 (WebCore::WorkerRunLoop::postTaskForMode): 50267 * workers/WorkerThread.cpp: 50268 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): 50269 50270 2009-10-06 Girish Ramakrishnan <girish (a] forwardbias.in> 50271 50272 Reviewed by Simon Hausmann. 50273 50274 [Qt] Windowless plugins: Use X Pixmap instead of QPixmap. 50275 50276 This has the following advantages: 50277 1. Allows more sharing of code between gtk and Qt ports in the future 50278 2. QPixmap creates 24-bit by default. We have to later 'upgrade' it to 32-bit. 50279 3. QPixmap may sometime change depth behind our back! This will require us to 50280 update the plugin about the new visual and colormap. 50281 4. We cannot ensure that QPixmap is backed by a X Drawable. For example, with 50282 -graphicssystem raster, QPixmap uses the raster (image) backend. 50283 50284 https://bugs.webkit.org/show_bug.cgi?id=20081 50285 50286 * plugins/PluginView.cpp: 50287 (WebCore::PluginView::PluginView): 50288 * plugins/PluginView.h: 50289 * plugins/qt/PluginViewQt.cpp: 50290 (WebCore::PluginView::updatePluginWidget): 50291 (WebCore::PluginView::paint): 50292 (WebCore::PluginView::platformDestroy): 50293 50294 2009-10-06 Girish Ramakrishnan <girish (a] forwardbias.in> 50295 50296 Reviewed by Simon Hausmann. 50297 50298 [Qt] Add support for windowless NPAPI plugins 50299 50300 https://bugs.webkit.org/show_bug.cgi?id=20081 50301 50302 * plugins/PluginView.cpp: 50303 (WebCore::PluginView::setFrameRect): 50304 (WebCore::PluginView::handleEvent): 50305 (WebCore::PluginView::PluginView): 50306 * plugins/PluginView.h: 50307 * plugins/qt/PluginViewQt.cpp: 50308 (WebCore::PluginView::updatePluginWidget): 50309 (WebCore::PluginView::paint): 50310 (WebCore::PluginView::dispatchNPEvent): 50311 (WebCore::setSharedXEventFields): 50312 (WebCore::PluginView::initXEvent): 50313 (WebCore::setXKeyEventSpecificFields): 50314 (WebCore::PluginView::handleKeyboardEvent): 50315 (WebCore::inputEventState): 50316 (WebCore::setXButtonEventSpecificFields): 50317 (WebCore::setXMotionEventSpecificFields): 50318 (WebCore::setXCrossingEventSpecificFields): 50319 (WebCore::PluginView::handleMouseEvent): 50320 (WebCore::PluginView::handleFocusInEvent): 50321 (WebCore::PluginView::handleFocusOutEvent): 50322 (WebCore::PluginView::setNPWindowRect): 50323 (WebCore::PluginView::setNPWindowIfNeeded): 50324 (WebCore::PluginView::getValueStatic): 50325 (WebCore::PluginView::invalidateRect): 50326 (WebCore::PluginView::invalidateRegion): 50327 (WebCore::PluginView::forceRedraw): 50328 (WebCore::getPluginDisplay): 50329 (WebCore::PluginView::platformStart): 50330 50331 2009-10-05 Dirk Schulze <krit (a] webkit.org> 50332 50333 Reviewed by Nikolas Zimmermann. 50334 50335 SVG Filters do not support source images besides "sourceGraphic" 50336 [https://bugs.webkit.org/show_bug.cgi?id=6022] 50337 50338 Add support for SourceAlpha to SVG filters. 50339 50340 Test: svg/filters/sourceAlpha.svg 50341 50342 * platform/graphics/filters/SourceAlpha.cpp: 50343 (WebCore::SourceAlpha::calculateEffectRect): 50344 (WebCore::SourceAlpha::apply): 50345 * platform/graphics/filters/SourceAlpha.h: 50346 50347 2009-10-05 John Abd-El-Malek <jam (a] chromium.org> 50348 50349 Reviewed by Adam Barth. 50350 50351 Fix reliablity bot crash in DateExtension. 50352 https://bugs.webkit.org/show_bug.cgi?id=30033 50353 50354 There were a few problems using the weak persistent pointers because no one else had a 50355 handle to them. The new approach stores them as a hidden value on the Date constructor. 50356 50357 * bindings/v8/DateExtension.cpp: 50358 (WebCore::DateExtension::setAllowSleep): 50359 (WebCore::DateExtension::GetNativeFunction): 50360 (WebCore::DateExtension::Setup): 50361 (WebCore::DateExtension::OnSleepDetected): 50362 * bindings/v8/DateExtension.h: 50363 * bindings/v8/V8HiddenPropertyName.cpp: 50364 (WebCore::V8HiddenPropertyName::sleepFunction): 50365 * bindings/v8/V8HiddenPropertyName.h: 50366 50367 2009-10-05 Stephanie Lewis <slewis (a] apple.com> 50368 50369 Reviewed by Dan Bernstein. 50370 50371 Crash when trying to load a null stylesheet for a site specific hack. 50372 https://bugs.webkit.org/show_bug.cgi?id=30105 50373 50374 Created a testcase and tested in browser. DRT doesn't test 50375 site specific hacks. 50376 50377 * html/HTMLLinkElement.cpp: 50378 (WebCore::HTMLLinkElement::setCSSStyleSheet): 50379 50380 2009-10-05 James Robinson <jamesr (a] google.com> 50381 50382 Reviewed by Darin Adler. 50383 50384 Fix forward declaration (struct vs class mismatch) 50385 50386 https://bugs.webkit.org/show_bug.cgi?id=30094 50387 50388 * loader/RedirectScheduler.h: 50389 50390 2009-10-05 Julie Parent <jparent (a] chromium.org> 50391 50392 Unreviewed, last Chromium build fix corresponding to revision 49113. 50393 Add include for BeforeLoadEvent to DOMObjectsInclude.h. 50394 50395 * bindings/v8/DOMObjectsInclude.h: 50396 50397 2009-10-05 Simon Fraser <simon.fraser (a] apple.com> 50398 50399 Fix Windows build. 50400 50401 * html/HTMLMediaElement.cpp: 50402 50403 2009-10-05 Simon Fraser <simon.fraser (a] apple.com> 50404 50405 Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime. 50406 50407 * rendering/RenderThemeMac.mm: 50408 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 50409 50410 2009-10-05 Pierre d'Herbemont <pdherbemont (a] webkit.org> 50411 50412 Reviewed by Simon Fraser 50413 50414 Support fullscreen in MediaPlayer (Mac) 50415 https://bugs.webkit.org/show_bug.cgi?id=26742 50416 50417 Add a fullscreen button to the <video> controller if the media engine, 50418 and the theme have support for fullscreen, and can show appropriate controls. 50419 Clicking the button calls through the ChromeClient to the WebVideoFullscreenController 50420 in WebKit to do a nice animation to fullscreen, with a custom controller. 50421 50422 * DerivedSources.make: 50423 * WebCore.Video.exp: Added. 50424 New export file for when VIDEO is enabled. 50425 50426 * WebCore.base.exp: Export WebCore::HTMLNames::videoTag 50427 * WebCore.xcodeproj/project.pbxproj: New files 50428 50429 * html/HTMLMediaElement.h: 50430 * html/HTMLMediaElement.cpp: 50431 (WebCore::HTMLMediaElement::HTMLMediaElement): 50432 (WebCore::HTMLMediaElement::willRemove): 50433 (WebCore::HTMLMediaElement::screenRect): 50434 (WebCore::HTMLMediaElement::enterFullscreen): 50435 (WebCore::HTMLMediaElement::exitFullscreen): 50436 (WebCore::HTMLMediaElement::platformMedia): 50437 Add fullscreen logic. platformMedia returns a pointer to platform-specific playback data 50438 used for fullscreen. 50439 50440 * html/HTMLVideoElement.h: 50441 * html/HTMLVideoElement.cpp: 50442 (WebCore::HTMLVideoElement::supportsFullscreen): Check with both the player and the ChromeClient 50443 to see if it's possile to enter fullscreen for this element. 50444 50445 * page/ChromeClient.h: 50446 (WebCore::ChromeClient::supportsFullscreenForNode): 50447 (WebCore::ChromeClient::enterFullscreenForNode): 50448 (WebCore::ChromeClient::exitFullscreenForNode): 50449 New methods 50450 50451 * platform/graphics/MediaPlayer.h: 50452 * platform/graphics/MediaPlayer.cpp: 50453 (WebCore::NullMediaPlayerPrivate::platformMedia): 50454 (WebCore::MediaPlayer::platformMedia): 50455 * platform/graphics/MediaPlayerPrivate.h: 50456 (WebCore::MediaPlayerPrivateInterface::platformMedia): 50457 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 50458 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 50459 (WebCore::MediaPlayerPrivate::platformMedia): 50460 (WebCore::MediaPlayerPrivate::supportsFullscreen): 50461 New methods to return platform-specific playback data for fullscreen. 50462 50463 * rendering/MediaControlElements.cpp: 50464 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): 50465 Hook up the fullscreen button. 50466 * rendering/RenderThemeMac.h: 50467 * rendering/RenderThemeMac.mm: 50468 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 50469 Allow the RenderThemeMac to make a decision about the availability of fullscreen based 50470 on the QuickTime version, since this affects what controls are availabl.e 50471 50472 2009-10-05 Kevin Decker <kdecker (a] apple.com> 50473 50474 Export a few more methods from Settings.h 50475 50476 Rubberstamped by Jon Honeycutt. 50477 50478 * WebCore.base.exp: 50479 50480 2009-10-05 Dmitry Titov <dimich (a] chromium.org> 50481 50482 Reviewed by Darin Adler. 50483 50484 1-char fix for obviously reverse condition. 50485 https://bugs.webkit.org/show_bug.cgi?id=30100 50486 No test since the only difference is a timing of GC. 50487 50488 * bindings/js/ScriptCachedFrameData.cpp: 50489 (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo. 50490 50491 2009-09-30 Kenneth Russell <kbr (a] google.com> 50492 50493 Reviewed by Darin Fisher. 50494 50495 Update platform-specific #ifdefs in GraphicsContext3D.h for the 50496 Chromium port. 50497 https://bugs.webkit.org/show_bug.cgi?id=29936 50498 50499 * platform/graphics/GraphicsContext3D.h: 50500 Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM). 50501 50502 2009-10-05 Dan Bernstein <mitz (a] apple.com> 50503 50504 Reviewed by Darin Adler. 50505 50506 REGRESSION (r47440): Inserting text in the middle of content in a scrolled textfield results in painting bugs 50507 <rdar://problem/7269108> 50508 https://bugs.webkit.org/show_bug.cgi?id=29982 50509 50510 Test: fast/repaint/line-in-scrolled-clipped-block.html 50511 50512 * rendering/RenderBlock.cpp: 50513 (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect 50514 (including layout overflow) for the repaint rect calculation. 50515 50516 2009-10-05 Drew Wilson <atwilson (a] google.com> 50517 50518 Reviewed by David Levin. 50519 50520 Chromium wants to turn off SharedWorkers at runtime 50521 https://bugs.webkit.org/show_bug.cgi?id=29757 50522 50523 * bindings/js/JSDOMWindowCustom.cpp: 50524 (WebCore::JSDOMWindow::sharedWorker): 50525 Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime. 50526 * workers/DefaultSharedWorkerRepository.cpp: 50527 (WebCore::SharedWorkerRepository::isAvailable): 50528 Made SharedWorkers available by default. 50529 * workers/SharedWorkerRepository.h: 50530 Added definition for SharedWorkerRepository::isAvailable(). 50531 50532 2009-10-05 Hironori Bono <hbono (a] chromium.org> 50533 50534 Reviewed by Eric Seidel. 50535 50536 A super quick fix for Bug 28710. 50537 50538 https://bugs.webkit.org/show_bug.cgi?id=28710 50539 50540 This change just resets the style sent to addStyleMarkup() to avoid an assertion error 50541 and creates an empty style when computedStyleAtPosition is 0 to avoid a crash. 50542 (This change is nothing but a better-than-crash change.) 50543 50544 Tests: editing/selection/select-crash-001.html 50545 editing/selection/select-crash-002.html 50546 50547 * editing/ApplyStyleCommand.cpp: 50548 (WebCore::editingStyleAtPosition): Resets the style sent to addStyleMarkup() if it is not valid. 50549 * editing/markup.cpp: 50550 (WebCore::createMarkup): Creates an empty style if computedStyleAtPosition is 0. 50551 50552 2009-10-05 Sam Weinig <sam (a] webkit.org> 50553 50554 Reviewed by Mark Rowe. 50555 50556 Silence duplicate errors logged for missing getComputedStyle 50557 implementations. Improves the error message as well. 50558 50559 * css/CSSComputedStyleDeclaration.cpp: 50560 (WebCore::logUnimplementedPropertyID): 50561 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 50562 50563 2009-10-05 Julie Parent <jparent (a] chromium.org> 50564 50565 Unreviewed, Chromium build fix #3. Add V8BeforeLoadEvent.[cc|h] to derived sources. 50566 50567 * bindings/v8/DerivedSourcesAllInOne.cpp: 50568 * bindings/v8/V8Index.cpp: 50569 50570 2009-10-05 Mark Rowe <mrowe (a] apple.com> 50571 50572 Try and fix the GTK build. 50573 50574 * GNUmakefile.am: 50575 50576 2009-10-05 Julie Parent <jparent (a] chromium.org> 50577 50578 Unreviewed, Chromium build fix #2. Add new BEFORELOADEVENT to V8ClassIndex. 50579 50580 * bindings/v8/V8Index.h: 50581 50582 2009-10-05 Julie Parent <jparent (a] chromium.org> 50583 50584 Unreviewed, Chromium build fix. Missing "," after entry for BeforeLoadEvent.idl. 50585 50586 * WebCore.gypi: 50587 50588 2009-10-05 Dave Hyatt <hyatt (a] apple.com> 50589 50590 Reviewed by Sam Weinig. 50591 50592 Add a beforeload event that will be fired before subresources load. (It isn't fired yet.) The event 50593 has one field, the URL that is going to be requested. Setting preventDefault will stop the load 50594 from occurring. 50595 50596 * DerivedSources.cpp: 50597 * DerivedSources.make: 50598 * WebCore.gypi: 50599 * WebCore.vcproj/WebCore.vcproj: 50600 * WebCore.xcodeproj/project.pbxproj: 50601 * dom/BeforeLoadEvent.h: Added. 50602 (WebCore::BeforeLoadEvent::create): 50603 (WebCore::BeforeLoadEvent::initBeforeLoadEvent): 50604 (WebCore::BeforeLoadEvent::url): 50605 (WebCore::BeforeLoadEvent::BeforeLoadEvent): 50606 * dom/BeforeLoadEvent.idl: Added. 50607 * dom/EventNames.h: 50608 * page/DOMWindow.idl: 50609 50610 2009-10-05 Priit Laes <plaes (a] plaes.org> 50611 50612 Reviewed by Gustavo Noronha. 50613 50614 Add Gentoo-specific paths for searching browser plugins. 50615 https://bugs.webkit.org/show_bug.cgi?id=30088 50616 50617 * plugins/PluginDatabase.cpp: 50618 (WebCore::PluginDatabase::defaultPluginDirectories): 50619 50620 2009-10-02 Chris Marrin <cmarrin (a] apple.com> 50621 50622 Reviewed by Adele Peterson. 50623 50624 Add functionality to pause/throttle CSS transitions/animations in a WebView 50625 https://bugs.webkit.org/show_bug.cgi?id=29942 50626 50627 Exporting call from AnimationController 50628 50629 * WebCore.base.exp: 50630 50631 2009-10-05 Kevin Decker <kdecker (a] apple.com> 50632 50633 Rubberstamped by Anders Carlsson. 50634 50635 * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient. 50636 * WebCore.xcodeproj/project.pbxproj: Likewise. 50637 50638 2009-10-05 Eric Seidel <eric (a] webkit.org> 50639 50640 No review, rolling out r49104. 50641 http://trac.webkit.org/changeset/49104 50642 50643 * html/HTMLInputElement.cpp: 50644 * html/HTMLInputElement.h: 50645 * html/HTMLInputElement.idl: 50646 * html/ValidityState.cpp: 50647 * html/ValidityState.h: 50648 (WebCore::ValidityState::rangeUnderflow): 50649 (WebCore::ValidityState::rangeOverflow): 50650 * rendering/RenderSlider.cpp: 50651 (WebCore::SliderRange::SliderRange): 50652 (WebCore::SliderRange::valueFromElement): 50653 50654 2009-10-05 Kent Tamura <tkent (a] chromium.org> 50655 50656 Reviewed by Eric Seidel. 50657 50658 Update style immediately when validation-related values are updated. 50659 https://bugs.webkit.org/show_bug.cgi?id=28868 50660 50661 In order to apply :valid, :invalid, :optional or :required lively, 50662 - call setNeedsStyleRecalc() when properties which can change 50663 willValidate state are updated, and 50664 (Parent form element, name, disabled, readonly) 50665 - call updateValidity() when properties which can change validity 50666 state are updated. (value, pattern, required) 50667 50668 Tests: fast/forms/input-live-pseudo-selectors.html 50669 fast/forms/textarea-live-pseudo-selectors.html 50670 50671 * html/HTMLFormControlElement.cpp: 50672 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 50673 (WebCore::HTMLFormControlElement::parseMappedAttribute): 50674 (WebCore::HTMLFormControlElement::required): 50675 (WebCore::HTMLFormControlElement::updateValidity): 50676 * html/HTMLFormControlElement.h: 50677 * html/HTMLInputElement.cpp: 50678 (WebCore::HTMLInputElement::setInputType): 50679 (WebCore::HTMLInputElement::parseMappedAttribute): 50680 (WebCore::HTMLInputElement::setValue): 50681 (WebCore::HTMLInputElement::setValueFromRenderer): 50682 (WebCore::HTMLInputElement::setFileListFromRenderer): 50683 * html/HTMLTextAreaElement.cpp: 50684 (WebCore::HTMLTextAreaElement::setValue): 50685 * rendering/RenderTextControlMultiLine.cpp: 50686 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 50687 50688 2009-10-05 Kent Tamura <tkent (a] chromium.org> 50689 50690 Reviewed by Darin Adler. 50691 50692 Implement min/max attributes, ValidityState.rangeUnderflow and 50693 ValidityState.rangeOverflow for <input type=number> and <input type=range> 50694 https://bugs.webkit.org/show_bug.cgi?id=29069 50695 50696 Tests: fast/forms/ValidityState-rangeOverflow-number.html 50697 fast/forms/ValidityState-rangeOverflow-range.html 50698 fast/forms/ValidityState-rangeUnderflow-number.html 50699 fast/forms/ValidityState-rangeUnderflow-range.html 50700 fast/forms/input-minmax.html 50701 50702 * html/HTMLInputElement.cpp: 50703 (WebCore::HTMLInputElement::rangeUnderflow): 50704 (WebCore::HTMLInputElement::rangeOverflow): 50705 (WebCore::HTMLInputElement::rangeMinimum): 50706 (WebCore::HTMLInputElement::rangeMaximum): 50707 * html/HTMLInputElement.h: 50708 * html/HTMLInputElement.idl: 50709 * html/ValidityState.cpp: 50710 (WebCore::ValidityState::rangeUnderflow): 50711 (WebCore::ValidityState::rangeOverflow): 50712 * html/ValidityState.h: 50713 * rendering/RenderSlider.cpp: 50714 (WebCore::SliderRange::SliderRange): 50715 (WebCore::SliderRange::valueFromElement): 50716 50717 2009-10-05 Kent Tamura <tkent (a] chromium.org> 50718 50719 Reviewed by Eric Seidel. 50720 50721 Introduces 50722 - new CSS pseudo selector: "-webkit-input-list-button" 50723 - new CSS apperance type: "list-button" 50724 - new ControlPart value: "ListButtonPart" 50725 for the UI of the list attribute of the input element, and adds 50726 implementation to draw ListButtonPart on Mac. 50727 The code is guarded by ENABLE(DATALIST). 50728 50729 https://bugs.webkit.org/show_bug.cgi?id=27794 50730 50731 Test: platform/mac/fast/forms/input-list-button-size.html 50732 50733 * css/CSSPrimitiveValueMappings.h: 50734 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 50735 * css/CSSSelector.cpp: 50736 (WebCore::CSSSelector::extractPseudoType): 50737 * css/CSSSelector.h: 50738 (WebCore::CSSSelector::): 50739 * css/CSSStyleSelector.cpp: 50740 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 50741 * css/CSSValueKeywords.in: 50742 * css/html.css: 50743 * html/HTMLInputElement.cpp: 50744 * platform/ThemeTypes.h: 50745 (WebCore::): 50746 * platform/mac/ThemeMac.mm: 50747 (WebCore::listButtonSizes): 50748 (WebCore::button): 50749 (WebCore::paintButton): 50750 (WebCore::ThemeMac::controlSize): 50751 (WebCore::ThemeMac::minimumControlSize): 50752 (WebCore::ThemeMac::controlBorder): 50753 (WebCore::ThemeMac::paint): 50754 * rendering/RenderTheme.cpp: 50755 (WebCore::RenderTheme::adjustStyle): 50756 (WebCore::RenderTheme::paint): 50757 (WebCore::RenderTheme::paintBorderOnly): 50758 (WebCore::RenderTheme::paintDecorations): 50759 * rendering/RenderThemeMac.mm: 50760 (WebCore::RenderThemeMac::adjustRepaintRect): 50761 * rendering/style/RenderStyleConstants.h: 50762 (WebCore::): 50763 50764 2009-10-05 Brian Weinstein <bweinstein (a] apple.com> 50765 50766 Reviewed by Timothy Hatcher. 50767 50768 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065> 50769 nodeTitleInfo should be placed in ElementsTreeOutline. 50770 50771 Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js. 50772 50773 * inspector/front-end/ElementsTreeOutline.js: 50774 (WebInspector.ElementsTreeElement): 50775 (WebInspector.ElementsTreeElement.prototype._updateTitle): 50776 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 50777 * inspector/front-end/utilities.js: 50778 50779 2009-10-02 Yael Aharon <yael.aharon (a] nokia.com> 50780 50781 Reviewed by Simon Hausmann. 50782 50783 [Qt] Inform the application when a new request is created 50784 https://bugs.webkit.org/show_bug.cgi?id=29975 50785 50786 Emit a signal each time a request is created, with the request and the frame 50787 that created it. 50788 50789 * platform/network/qt/QNetworkReplyHandler.cpp: 50790 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 50791 (WebCore::QNetworkReplyHandler::start): 50792 50793 2009-10-05 Ben Murdoch <benm (a] google.com> 50794 50795 Reviewed by Darin Adler. 50796 50797 Add an ASSERT in updateGuidVersionMap. 50798 https://bugs.webkit.org/show_bug.cgi?id=30077 50799 50800 * storage/Database.cpp: 50801 (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked. 50802 50803 2009-10-05 Nate Chapin <japhet (a] chromium.org> 50804 50805 Reviewed by Eric Seidel. 50806 50807 Allow V8 to throw an exception in _NPN_SetException without worrying about context 50808 if we don't have enough information to find the correct context. 50809 50810 https://bugs.webkit.org/show_bug.cgi?id=30026 50811 50812 Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html. 50813 50814 * bindings/v8/NPV8Object.cpp: 50815 (_NPN_SetException): Don't suppress the exception if we can't find the relevant context. 50816 50817 2009-10-05 Mikhail Naganov <mnaganov (a] chromium.org> 50818 50819 Reviewed by Timothy Hatcher. 50820 50821 Place "Close" button in docked mode on the same side as the window "Close" button in detached mode. 50822 50823 https://bugs.webkit.org/show_bug.cgi?id=29961 50824 50825 * inspector/front-end/inspector.css: 50826 * inspector/front-end/inspector.html: 50827 * inspector/front-end/inspector.js: 50828 (WebInspector.loaded): 50829 50830 2009-10-05 J-P Nurmi <jpnurmi (a] gmail.com> 50831 50832 Reviewed by Simon Hausmann. 50833 50834 [Qt] Added pure virtual QWebPageClient::pluginParent() 50835 50836 https://bugs.webkit.org/show_bug.cgi?id=29710 50837 50838 * platform/qt/QWebPageClient.h: 50839 50840 2009-10-05 Jakub Wieczorek <faw217 (a] gmail.com> 50841 50842 Reviewed by Tor Arne Vestb. 50843 50844 [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key. 50845 https://bugs.webkit.org/show_bug.cgi?id=30042 50846 50847 * platform/qt/PlatformKeyboardEventQt.cpp: 50848 (WebCore::windowsKeyCodeForKeyEvent): 50849 50850 2009-10-05 Fumitoshi Ukai <ukai (a] chromium.org> 50851 50852 Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8. 50853 50854 V8ObjectEventListener.h has been removed at r48978 50855 50856 * bindings/v8/custom/V8WebSocketCustom.cpp: 50857 50858 2009-10-04 Pavel Feldman <pfeldman (a] chromium.org> 50859 50860 Reviewed by Timothy Hatcher. 50861 50862 Web Inspector console stops working while JS in IFRAME is paused. 50863 50864 https://bugs.webkit.org/show_bug.cgi?id=29958 50865 50866 * inspector/front-end/InjectedScript.js: 50867 (InjectedScript._evaluateOn): 50868 (InjectedScript.addInspectedNode): 50869 (InjectedScript._ensureCommandLineAPIInstalled): 50870 50871 2009-10-04 Pavel Feldman <pfeldman (a] chromium.org> 50872 50873 Reviewed by Timothy Hatcher. 50874 50875 Web Inspector: Introduce inspected object groups for console 50876 and watch evaluation results so that they could be released 50877 explicitly. 50878 50879 https://bugs.webkit.org/show_bug.cgi?id=29891 50880 50881 * bindings/js/JSInspectorBackendCustom.cpp: 50882 (WebCore::JSInspectorBackend::wrapObject): 50883 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 50884 (WebCore::CALLBACK_FUNC_DECL): 50885 * inspector/InspectorBackend.cpp: 50886 (WebCore::InspectorBackend::wrapObject): 50887 (WebCore::InspectorBackend::releaseWrapperObjectGroup): 50888 * inspector/InspectorBackend.h: 50889 * inspector/InspectorBackend.idl: 50890 * inspector/InspectorController.cpp: 50891 (WebCore::InspectorController::clearConsoleMessages): 50892 (WebCore::InspectorController::resetScriptObjects): 50893 (WebCore::InspectorController::wrapObject): 50894 (WebCore::InspectorController::unwrapObject): 50895 (WebCore::InspectorController::releaseWrapperObjectGroup): 50896 * inspector/InspectorController.h: 50897 * inspector/InspectorFrontend.cpp: 50898 (WebCore::InspectorFrontend::addMessageToConsole): 50899 * inspector/front-end/ConsoleView.js: 50900 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 50901 (WebInspector.ConsoleView.prototype.doEvalInWindow): 50902 (WebInspector.ConsoleView.prototype._enterKeyPressed): 50903 * inspector/front-end/InjectedScript.js: 50904 (InjectedScript.evaluate): 50905 (InjectedScript._evaluateAndWrap): 50906 (InjectedScript.evaluateInCallFrame): 50907 * inspector/front-end/ScriptsPanel.js: 50908 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 50909 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 50910 * inspector/front-end/WatchExpressionsSidebarPane.js: 50911 (WebInspector.WatchExpressionsSidebarPane): 50912 (WebInspector.WatchExpressionsSection.prototype.update): 50913 50914 2009-10-02 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 50915 50916 Reviewed by Eric Carlson. 50917 50918 Move mediaControls extras for the Qt port into WebCore/css like other ports 50919 50920 https://bugs.webkit.org/show_bug.cgi?id=30013 50921 50922 * WebCore.pro: 50923 * WebCore.qrc: 50924 * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css. 50925 * platform/qt/RenderThemeQt.cpp: 50926 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 50927 50928 2009-10-02 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 50929 50930 Reviewed by Eric Carlson. 50931 50932 Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT 50933 50934 https://bugs.webkit.org/show_bug.cgi?id=30013 50935 50936 The QT suffix has been expanded to QuickTime, to not cause confusion 50937 and name-crashes with similar files in the Qt port. 50938 50939 * DerivedSources.make: 50940 * WebCore.xcodeproj/project.pbxproj: 50941 * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css. 50942 * rendering/RenderThemeMac.mm: 50943 (WebCore::): 50944 (WebCore::mediaControllerTheme): 50945 (WebCore::RenderThemeMac::adjustSliderThumbSize): 50946 (WebCore::getUnzoomedRectAndAdjustCurrentContext): 50947 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): 50948 50949 2009-10-04 Brian Weinstein <bweinstein (a] apple.com> 50950 50951 Reviewed by Timothy Hatcher. 50952 50953 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064> 50954 Syntax Highlighting CSS shouldn't be duplicated. 50955 50956 Refactor syntax highlighting CSS into a new file, add it to the 50957 projects, and have SourceFrame.js and inspector.html include the 50958 new CSS file. 50959 50960 * WebCore.gypi: 50961 * WebCore.vcproj/WebCore.vcproj: 50962 * inspector/front-end/SourceFrame.js: 50963 (WebInspector.SourceFrame.prototype._loaded): 50964 * inspector/front-end/inspector.css: 50965 * inspector/front-end/inspector.html: 50966 * inspector/front-end/inspectorSyntaxHighlight.css: Added. 50967 * inspector/front-end/WebKit.qrc: 50968 50969 2009-10-04 Brian Weinstein <bweinstein (a] apple.com> 50970 50971 Reviewed by Timothy Hatcher. 50972 50973 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062> 50974 Inspector should syntax highlight JS/CSS in elements view. 50975 50976 Add syntax highlighting of CSS and JavaScript tags to the elements panel. 50977 Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes 50978 in utilities.js call the CSS or JS Syntax highlighters if their parent is a script 50979 or style tag. 50980 50981 * inspector/front-end/inspector.css: 50982 * inspector/front-end/utilities.js: 50983 50984 2009-10-04 Fumitoshi Ukai <ukai (a] chromium.org> 50985 50986 Reviewed by Eric Seidel 50987 50988 Enable Web Sockets in chromium build. 50989 https://bugs.webkit.org/show_bug.cgi?id=29917 50990 50991 * WebCore.gyp/WebCore.gyp: 50992 50993 2009-10-04 Xan Lopez <xlopez (a] igalia.com> 50994 50995 Reviewed by Gustova Noronha. 50996 50997 [GTK] performs a POST when refreshing a view that was obtained with a GET 50998 https://bugs.webkit.org/show_bug.cgi?id=29761 50999 51000 Update the HTTP method in the request stored by willSendRequest 51001 after a redirect, since it could have changed. 51002 51003 Test: http/tests/navigation/postredirect-reload.html 51004 51005 * platform/network/soup/ResourceHandleSoup.cpp: 51006 (WebCore::restartedCallback): 51007 51008 2009-10-04 Xan Lopez <xlopez (a] igalia.com> 51009 51010 Revert previous patch, as the newly added test breaks other tests. 51011 51012 * platform/network/soup/ResourceHandleSoup.cpp: 51013 (WebCore::restartedCallback): 51014 51015 2009-10-04 Xan Lopez <xlopez (a] igalia.com> 51016 51017 Reviewed by Gustova Noronha. 51018 51019 [GTK] performs a POST when refreshing a view that was obtained with a GET 51020 https://bugs.webkit.org/show_bug.cgi?id=29761 51021 51022 Update the HTTP method in the request stored by willSendRequest 51023 after a redirect, since it could have changed. 51024 51025 Test: http/tests/navigation/postredirect-reload.html 51026 51027 * platform/network/soup/ResourceHandleSoup.cpp: 51028 (WebCore::restartedCallback): 51029 51030 2009-10-04 Vitaly Repeshko <vitalyr (a] chromium.org> 51031 51032 Reviewed by Adam Barth. 51033 51034 [V8] Fixed Function leak in V8LazyEventListener. 51035 (Should fix the remaning leak in 51036 https://bugs.webkit.org/show_bug.cgi?id=29093). 51037 V8LazyEventListeners used to create FunctionTemplates for each 51038 wrapped listener which in turn created Functions that were cached 51039 forever in V8 Context. Now there is at most one such Function per 51040 Context. 51041 https://bugs.webkit.org/show_bug.cgi?id=30060 51042 51043 Added new hidden property name to store toString result: 51044 * bindings/v8/V8HiddenPropertyName.cpp: 51045 * bindings/v8/V8HiddenPropertyName.h: 51046 51047 Switched to static FunctionTemplate: 51048 * bindings/v8/V8LazyEventListener.cpp: 51049 (WebCore::V8LazyEventListenerToString): 51050 (WebCore::V8LazyEventListener::prepareListenerObject): 51051 51052 2009-10-03 Joseph Pecoraro <joepeck (a] webkit.org> 51053 51054 Reviewed by Timothy Hatcher. 51055 51056 CSS Source View Should be Syntax Highlighted 51057 https://bugs.webkit.org/show_bug.cgi?id=14359 51058 51059 Support for WebKit's CSS Variables @variables and var() 51060 51061 * inspector/front-end/SourceFrame.js: 51062 (WebInspector.CSSSourceSyntaxHighligher): 51063 51064 2009-10-03 Joseph Pecoraro <joepeck (a] webkit.org> 51065 51066 Reviewed by Timothy Hatcher. 51067 51068 Inspector should remember preferences for docked/undocked etc 51069 https://bugs.webkit.org/show_bug.cgi?id=29089 51070 51071 * inspector/front-end/ResourcesPanel.js: 51072 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference 51073 * inspector/front-end/inspector.js: 51074 (WebInspector._loadPreferences): factored out loading preferences 51075 (WebInspector.loaded): 51076 51077 2009-10-03 Joseph Pecoraro <joepeck (a] webkit.org> 51078 51079 Reviewed by Timothy Hatcher. 51080 51081 CSS Source View Should be Syntax Highlighted 51082 https://bugs.webkit.org/show_bug.cgi?id=14359 51083 51084 Trigger the Syntax Highlighter for CSS files. 51085 51086 * inspector/front-end/SourceFrame.js: 51087 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): 51088 (WebInspector.SourceFrame.prototype.syntaxHighlightCSS): 51089 * inspector/front-end/SourceView.js: 51090 (WebInspector.SourceView.prototype._contentLoaded): 51091 51092 Factored out the Syntax Highlighting procedure into a "Class" 51093 Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter 51094 51095 (WebInspector.SourceSyntaxHighligher): 51096 (WebInspector.SourceSyntaxHighligher.prototype.createSpan): 51097 (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk): 51098 (WebInspector.SourceSyntaxHighligher.prototype.process): 51099 (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter 51100 (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter 51101 51102 2009-10-03 Adam Barth <abarth (a] webkit.org> 51103 51104 Reviewed by Sam Weinig. 51105 51106 Factor back-forward list methods out of FrameLoader 51107 https://bugs.webkit.org/show_bug.cgi?id=30037 51108 51109 This change moves these back-forward related methods from FrameLoader 51110 to Page. It's possible we should move these methods into some kind of 51111 "page controller" object, but we can figure that out in a future patch. 51112 51113 * loader/FrameLoader.cpp: 51114 * loader/FrameLoader.h: 51115 * loader/RedirectScheduler.cpp: 51116 (WebCore::RedirectScheduler::timerFired): 51117 * page/ContextMenuController.cpp: 51118 (WebCore::ContextMenuController::contextMenuItemSelected): 51119 * page/DOMWindow.cpp: 51120 (WebCore::DOMWindow::close): 51121 * page/History.cpp: 51122 (WebCore::History::length): 51123 * page/Page.cpp: 51124 (WebCore::Page::canGoBackOrForward): 51125 (WebCore::Page::goBackOrForward): 51126 (WebCore::Page::getHistoryLength): 51127 * page/Page.h: 51128 * platform/ContextMenu.cpp: 51129 (WebCore::ContextMenu::populate): 51130 (WebCore::ContextMenu::checkOrEnableIfNeeded): 51131 51132 2009-10-02 Pavel Feldman <pfeldman (a] chromium.org> 51133 51134 Reviewed by Timothy Hatcher. 51135 51136 Web Inspector: prepare InspectorController for being used from layout tests. 51137 This change adds evaluateForTestInFrontend method with the callback that 51138 allows evaluating arbitrary code in the frontend context. 51139 51140 https://bugs.webkit.org/show_bug.cgi?id=30008 51141 51142 * WebCore.Inspector.exp: 51143 * WebCore.order: 51144 * inspector/InspectorBackend.cpp: 51145 (WebCore::InspectorBackend::didEvaluateForTestInFrontend): 51146 * inspector/InspectorBackend.h: 51147 * inspector/InspectorBackend.idl: 51148 * inspector/InspectorController.cpp: 51149 (WebCore::InspectorController::populateScriptObjects): 51150 (WebCore::InspectorController::evaluateForTestInFrontend): 51151 (WebCore::InspectorController::didEvaluateForTestInFrontend): 51152 * inspector/InspectorController.h: 51153 * inspector/InspectorFrontend.cpp: 51154 (WebCore::InspectorFrontend::evaluateForTestInFrontend): 51155 * inspector/InspectorFrontend.h: 51156 * inspector/front-end/inspector.js: 51157 (WebInspector.evaluateForTestInFrontend): 51158 51159 2009-10-02 Pavel Feldman <pfeldman (a] chromium.org> 51160 51161 Reviewed by Timothy Hatcher. 51162 51163 Web Inspector: Node search mode is not getting reset on element selection. 51164 51165 https://bugs.webkit.org/show_bug.cgi?id=30016 51166 51167 * inspector/front-end/ElementsPanel.js: 51168 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 51169 51170 2009-10-02 Brian Weinstein <bweinstein (a] apple.com> 51171 51172 Reviewed by Timothy Hatcher. 51173 51174 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036> 51175 Should be able to resize Cookie Columns. 51176 51177 * inspector/front-end/CookieItemsView.js: 51178 (WebInspector.CookieItemsView.prototype.update.callback): 51179 (WebInspector.CookieItemsView.prototype.update): 51180 (WebInspector.CookieItemsView.prototype.resize): 51181 51182 2009-09-25 Jon Honeycutt <jhoneycutt (a] apple.com> 51183 51184 Make WebCore::PluginView participate in plug-in halting. 51185 51186 Reviewed by Sam Weinig. 51187 51188 * platform/graphics/BitmapImage.h: 51189 Declare a create() function that takes an HBITMAP. 51190 51191 * platform/graphics/win/ImageCGWin.cpp: 51192 (WebCore::BitmapImage::create): 51193 Use GetObject() to fill out a DIBSECTION structure for the given 51194 HBITMAP. Call CGBitmapContextCreate() to create a CG context from the 51195 bits of the bitmap. Create a CG image from the context, and pass this 51196 when creating a new BitmapImage. 51197 51198 * plugins/PluginView.cpp: 51199 (WebCore::PluginView::start): 51200 If we successfully started, tell our parent frame's Page. 51201 (WebCore::PluginView::stop): 51202 Tell our parent frame's Page that we stopped. 51203 (WebCore::PluginView::node): 51204 51205 * plugins/PluginView.h: 51206 Inherit from HaltablePlugin. 51207 (WebCore::PluginView::setPlatformPluginWidget): 51208 On platforms where the platform plug-in widget is the WebCore::Widget's 51209 platform widget, have setPlatformPluginWidget() call 51210 setPlatformWidget(). 51211 51212 * plugins/PluginViewNone.cpp: 51213 (WebCore::PluginView::halt): 51214 Stubbed. 51215 (WebCore::PluginView::restart): 51216 Stubbed. 51217 51218 * plugins/gtk/PluginViewGtk.cpp: 51219 (WebCore::PluginView::halt): 51220 Stubbed. 51221 (WebCore::PluginView::restart): 51222 Stubbed. 51223 51224 * plugins/mac/PluginViewMac.cpp: 51225 (WebCore::PluginView::halt): 51226 Stubbed. 51227 (WebCore::PluginView::restart): 51228 Stubbed. 51229 51230 * plugins/qt/PluginViewQt.cpp: 51231 (WebCore::PluginView::halt): 51232 Stubbed. 51233 (WebCore::PluginView::restart): 51234 Stubbed. 51235 51236 * plugins/win/PluginViewWin.cpp: 51237 (WebCore::PluginView::platformDestroy): 51238 After destroying the window, set the platform plug-in widget to 0 to 51239 ensure that Widget isn't holding a stale handle. 51240 (WebCore::PluginView::halt): 51241 Have our element's RenderWidget display a screenshot of the plug-in, 51242 then stop the plug-in and destroy it. 51243 (WebCore::PluginView::restart): 51244 Clear the RenderWidget's substitute image, then start the plug-in. 51245 51246 * rendering/RenderWidget.cpp: 51247 (WebCore::RenderWidget::showSubstituteImage): 51248 Set m_substituteImage to the passed image, and repaint. 51249 (WebCore::RenderWidget::paint): 51250 If we have a substitute image, paint that instead of allowing the 51251 widget to paint itself. 51252 51253 * rendering/RenderWidget.h: 51254 Declare showSubstituteImage(). Added a member to store the substitute 51255 image. 51256 51257 2009-10-02 Adam Barth <abarth (a] webkit.org> 51258 51259 Reviewed by Darin Adler. 51260 51261 Move PolicyCheck out of FrameLoader.{h,cpp} 51262 https://bugs.webkit.org/show_bug.cgi?id=30035 51263 51264 Purely code motion (and adding a destructor). 51265 51266 * GNUmakefile.am: 51267 * WebCore.gypi: 51268 * WebCore.pro: 51269 * WebCore.vcproj/WebCore.vcproj: 51270 * WebCore.xcodeproj/project.pbxproj: 51271 * loader/FrameLoader.cpp: 51272 * loader/FrameLoader.h: 51273 * loader/PolicyCheck.cpp: 51274 * loader/PolicyCheck.h: 51275 51276 2009-10-02 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 51277 51278 Reviewed by Tor Arne Vestb. 51279 51280 [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper. 51281 Plugin error message was: 51282 ERROR: failed to initialize brower-side RPC events listener 51283 https://bugs.webkit.org/show_bug.cgi?id=25053 51284 51285 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue): 51286 (WebCore::PluginPackage::load): 51287 51288 2009-10-02 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 51289 51290 Reviewed by Tor Arne Vestb. 51291 51292 [Qt] X sync our XEmbed container window creation before sending the 51293 xid to plugins. 51294 https://bugs.webkit.org/show_bug.cgi?id=25053 51295 51296 * plugins/qt/PluginViewQt.cpp: 51297 (WebCore::PluginView::setNPWindowIfNeeded): 51298 51299 2009-10-02 Simon Fraser <simon.fraser (a] apple.com> 51300 51301 Reviewed by Dan Bernstein. 51302 51303 Setting zero size on a container of a video element doesn't hide the controller 51304 https://bugs.webkit.org/show_bug.cgi?id=30031 51305 51306 Fix a logic error in enclosingCompositingLayer() when mixing normal flow and 51307 positioned layers. This resulted in enclosingCompositingLayer() giving back a different 51308 answer to the logic used to actually parent compositing layers, so layer positions 51309 and layer hierarchy would be out of agreement. 51310 51311 Test: compositing/geometry/clipped-video-controller.html 51312 51313 * rendering/RenderLayer.cpp: 51314 (WebCore::compositingContainer): 51315 (WebCore::RenderLayer::enclosingCompositingLayer): 51316 * rendering/RenderLayerCompositor.cpp: 51317 (WebCore::RenderLayerCompositor::setCompositingParent): 51318 51319 2009-10-02 Kent Tamura <tkent (a] chromium.org> 51320 51321 Reviewed by Eric Seidel. 51322 51323 - Move the following methods of HTMLInputElement and HTMLTextAreaElement 51324 to HTMLTextFormControlElement. 51325 setSelectionStart() 51326 setSelectionEnd() 51327 select() 51328 setSelectionRange() 51329 selectionStart() 51330 selectionEnd() 51331 selection() 51332 51333 - Introduce cachedSelectionStart() and cachedSelectionEnd(). 51334 51335 - Unify HTMLInputElement::isTextFieldWithRenderer() and 51336 HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout(). 51337 51338 - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement. 51339 51340 https://bugs.webkit.org/show_bug.cgi?id=29782 51341 51342 * html/HTMLFormControlElement.cpp: 51343 (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout): 51344 (WebCore::HTMLTextFormControlElement::setSelectionStart): 51345 (WebCore::HTMLTextFormControlElement::setSelectionEnd): 51346 (WebCore::HTMLTextFormControlElement::select): 51347 (WebCore::HTMLTextFormControlElement::setSelectionRange): 51348 (WebCore::HTMLTextFormControlElement::selectionStart): 51349 (WebCore::HTMLTextFormControlElement::selectionEnd): 51350 (WebCore::HTMLTextFormControlElement::selection): 51351 (WebCore::HTMLTextFormControlElement::parseMappedAttribute): 51352 * html/HTMLFormControlElement.h: 51353 * html/HTMLInputElement.cpp: 51354 (WebCore::HTMLInputElement::parseMappedAttribute): 51355 * html/HTMLInputElement.h: 51356 (WebCore::HTMLInputElement::select): 51357 (WebCore::HTMLInputElement::cachedSelectionStart): 51358 (WebCore::HTMLInputElement::cachedSelectionEnd): 51359 * html/HTMLTextAreaElement.cpp: 51360 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 51361 * html/HTMLTextAreaElement.h: 51362 (WebCore::HTMLTextAreaElement::cachedSelectionStart): 51363 (WebCore::HTMLTextAreaElement::cachedSelectionEnd): 51364 51365 2009-10-02 Vitaly Repeshko <vitalyr (a] chromium.org> 51366 51367 Reviewed by Dimitri Glazkov. 51368 51369 [V8] Disconnect event listeners on navigation. 51370 Fixes http://crbug.com/23597. 51371 https://bugs.webkit.org/show_bug.cgi?id=30027 51372 51373 Added V8ListenerGuard that is shared by listeners and proxy. On 51374 navigation proxy sets a flag in the guard turning off listeners. 51375 51376 * bindings/v8/V8AbstractEventListener.cpp: 51377 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 51378 * bindings/v8/V8AbstractEventListener.h: 51379 (WebCore::V8ListenerGuard::create): 51380 (WebCore::V8ListenerGuard::isDisconnected): 51381 (WebCore::V8ListenerGuard::disconnectListeners): 51382 (WebCore::V8ListenerGuard::V8ListenerGuard): 51383 (WebCore::V8AbstractEventListener::disconnected): 51384 * bindings/v8/V8DOMWrapper.cpp: 51385 (WebCore::V8DOMWrapper::getEventListener): 51386 * bindings/v8/V8EventListenerList.h: 51387 (WebCore::V8EventListenerList::findOrCreateWrapper): 51388 * bindings/v8/V8LazyEventListener.cpp: 51389 (WebCore::V8LazyEventListener::V8LazyEventListener): 51390 * bindings/v8/V8Proxy.cpp: 51391 (WebCore::V8Proxy::V8Proxy): 51392 (WebCore::V8Proxy::disconnectFrame): 51393 (WebCore::V8Proxy::disconnectEventListeners): 51394 (WebCore::V8Proxy::clearForNavigation): 51395 * bindings/v8/V8Proxy.h: 51396 (WebCore::V8Proxy::listenerGuard): 51397 * bindings/v8/V8WorkerContextEventListener.cpp: 51398 (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): 51399 * bindings/v8/V8WorkerContextEventListener.h: 51400 (WebCore::V8WorkerContextEventListener::create): 51401 * bindings/v8/WorkerContextExecutionProxy.cpp: 51402 (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): 51403 (WebCore::WorkerContextExecutionProxy::dispose): 51404 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): 51405 * bindings/v8/WorkerContextExecutionProxy.h: 51406 * bindings/v8/custom/V8CustomEventListener.cpp: 51407 (WebCore::V8EventListener::V8EventListener): 51408 * bindings/v8/custom/V8CustomEventListener.h: 51409 (WebCore::V8EventListener::create): 51410 51411 2009-10-02 Kenneth Russell <kbr (a] google.com> 51412 51413 Reviewed by Dimitri Glazkov. 51414 51415 [chromium] Fix WebGL build after CustomGetter constructor changes 51416 https://bugs.webkit.org/show_bug.cgi?id=30020 51417 51418 * page/DOMWindow.idl: 51419 Changed CustomGetter to JSCCustomGetter for CanvasArray constructors. 51420 51421 2009-10-02 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 51422 51423 Reviewed by Timothy Hatcher. 51424 51425 Web Inspector: text in a "Request Payload" section disappears on selection 51426 https://bugs.webkit.org/show_bug.cgi?id=29967 51427 51428 No new tests. 51429 51430 * inspector/front-end/ResourceView.js: 51431 (WebInspector.ResourceView.prototype._refreshRequestPayload): 51432 51433 2009-10-02 Vitaly Repeshko <vitalyr (a] chromium.org> 51434 51435 Reviewed by Dimitri Glazkov. 51436 51437 [V8] Recursion guard for V8Proxy::callFunction. 51438 Fixes http://crbug.com/23278. 51439 https://bugs.webkit.org/show_bug.cgi?id=29974 51440 51441 Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html 51442 51443 * bindings/v8/V8Proxy.cpp: 51444 (WebCore::V8Proxy::callFunction): 51445 51446 2009-10-02 Brian Weinstein <bweinstein (a] apple.com> 51447 51448 Reviewed by Jon Honeycutt. 51449 51450 Fix test breakages by adding null checks, and putting inspector code in 51451 ENABLE(INSPECTOR). 51452 51453 * dom/Document.cpp: 51454 (WebCore::Document::finishedParsing): 51455 * page/DOMWindow.cpp: 51456 (WebCore::DOMWindow::dispatchLoadEvent): 51457 51458 2009-10-02 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 51459 51460 Reviewed by Simon Hausmann. 51461 51462 Clean up the QNetworkReplyHandler to only apply HTTP headers 51463 for protocols in the HTTP family. 51464 51465 * platform/network/qt/QNetworkReplyHandler.cpp: 51466 (WebCore::QNetworkReplyHandler::finish): 51467 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 51468 51469 2009-10-02 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 51470 51471 Reviewed by Simon Hausmann. 51472 51473 Move error check into sendResponseIfNeeded() as suggested 51474 by Eric Seidel. Also, remove some dead code. 51475 51476 * platform/network/qt/QNetworkReplyHandler.cpp: 51477 (WebCore::QNetworkReplyHandler::finish): 51478 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 51479 51480 2009-10-02 Enrica Casucci <enrica (a] apple.com> 51481 51482 Reviewed by Adele Peterson. 51483 51484 Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting. 51485 <rdar://problem/7148712> 51486 https://bugs.webkit.org/show_bug.cgi?id=28992 51487 51488 Test: editing/selection/replace-selection-crash.html 51489 51490 * editing/ReplaceSelectionCommand.cpp: 51491 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of 51492 the destination position matching the end of the paragraph to move. 51493 51494 2009-10-02 Jeremy Orlow <jorlow (a] chromium.org> 51495 51496 Reviewed by Dimitri Glazkov. 51497 51498 Implement per-storage-area quotas for LocalStorage 51499 https://bugs.webkit.org/show_bug.cgi?id=29991 51500 51501 I put 90% of the code in StorageMap since the decision to allow an update is 51502 closely tied to quota tracking. The quota is set via a page's Settings class. 51503 Like with the local storage path and whether it's enabled, it's assumed that 51504 all pages in the same group will have the same settings. The setting defaults 51505 to 5mb which is what the spec suggests, but it can easily be changed to 51506 anything else--including StorageMap::noQuota. Any values in LocalStorage are 51507 grandfathered in regarudless of quota, so importItem only tracks (and will 51508 never block) imports. 51509 51510 I believe this change is a good transition to more complex quota management. 51511 For example, if we wanted to track quotas in the SQLite DB, then we'd just add 51512 a function to the StorageMap that sets the quota. This would be fine since all 51513 use of LocalStorage is blocked on the import completing, so you'd never hit a 51514 quota error in the mean time. Also, if embedders wanted to ask the user 51515 whether to expand the quota whenever it's hit (before deciding whether or not 51516 to raise an exception), a callback via the chrome client should be fairly easy. 51517 That said, I think it's best to add these features in steps rather than one 51518 huge patch. (Both of these are on my TODO list, btw.) 51519 51520 Included is a layout test that verifies the behavior. It assumes the default 51521 quota is 5mb (since that's what Settings defaults to). 51522 51523 Test: storage/domstorage/localstorage/quota.html 51524 51525 * page/PageGroup.cpp: 51526 (WebCore::PageGroup::localStorage): 51527 * page/Settings.cpp: 51528 (WebCore::Settings::Settings): 51529 (WebCore::Settings::setLocalStorageQuota): 51530 * page/Settings.h: 51531 (WebCore::Settings::localStorageQuota): 51532 * storage/StorageAreaImpl.cpp: 51533 (WebCore::StorageAreaImpl::create): 51534 (WebCore::StorageAreaImpl::StorageAreaImpl): 51535 (WebCore::StorageAreaImpl::setItem): 51536 (WebCore::StorageAreaImpl::clear): 51537 * storage/StorageAreaImpl.h: 51538 * storage/StorageMap.cpp: 51539 (WebCore::StorageMap::create): 51540 (WebCore::StorageMap::StorageMap): 51541 (WebCore::StorageMap::copy): 51542 (WebCore::StorageMap::setItem): 51543 (WebCore::StorageMap::removeItem): 51544 (WebCore::StorageMap::importItem): 51545 * storage/StorageMap.h: 51546 (WebCore::StorageMap::quota): 51547 * storage/StorageNamespace.cpp: 51548 (WebCore::StorageNamespace::localStorageNamespace): 51549 * storage/StorageNamespace.h: 51550 * storage/StorageNamespaceImpl.cpp: 51551 (WebCore::StorageNamespaceImpl::localStorageNamespace): 51552 (WebCore::StorageNamespaceImpl::sessionStorageNamespace): 51553 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 51554 (WebCore::StorageNamespaceImpl::copy): 51555 (WebCore::StorageNamespaceImpl::storageArea): 51556 * storage/StorageNamespaceImpl.h: 51557 51558 2009-10-02 Joseph Pecoraro <joepeck (a] webkit.org> 51559 51560 Reviewed by Timothy Hatcher. 51561 51562 Database Inspector crashes Safari when table has more than 21 columns 51563 https://bugs.webkit.org/show_bug.cgi?id=29924 51564 51565 * inspector/front-end/StoragePanel.js: 51566 (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns. 51567 51568 2009-10-02 Brian Weinstein <bweinstein (a] apple.com> 51569 51570 Reviewed by Timothy Hatcher. 51571 51572 Fixes <http://webkit.org/b/14370>. 51573 Inspector's timeline should record when certain DOM events fired. 51574 51575 This patch adds calls into the Web Inspector when the main frame 51576 fires an load event, and when the document fires its DOMContent 51577 event. Once these values are passed in, they are sent to the Web Inspector 51578 as a timing change, and these are denoted by vertical lines in the resources 51579 panel (blue for DOM Content, red for load event). 51580 51581 * English.lproj/localizedStrings.js: Added tooltip text. 51582 * dom/Document.cpp: 51583 (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content. 51584 * inspector/InspectorController.cpp: 51585 (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event. 51586 (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto. 51587 * inspector/InspectorController.h: 51588 * inspector/InspectorResource.cpp: 51589 (WebCore::InspectorResource::InspectorResource): Added new variables. 51590 (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js. 51591 (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event. 51592 (WebCore::InspectorResource::markLoadEventTime): Ditto. 51593 * inspector/InspectorResource.h: 51594 * inspector/front-end/ResourcesPanel.js: 51595 (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime): 51596 (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime): 51597 (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime): 51598 (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime): 51599 (WebInspector.ResourcesPanel.prototype.reset): 51600 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings. 51601 (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime): 51602 * inspector/front-end/inspector.css: 51603 * inspector/front-end/inspector.js: 51604 (WebInspector.updateResource): 51605 * page/DOMWindow.cpp: 51606 (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event. 51607 51608 2009-10-02 Dave Hyatt <hyatt (a] apple.com> 51609 51610 Reviewed by Adam Roben. 51611 51612 Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns. 51613 51614 * WebCore.base.exp: 51615 * dom/Document.cpp: 51616 (WebCore::Document::pageGroupUserSheets): 51617 * page/Frame.cpp: 51618 (WebCore::Frame::injectUserScriptsForWorld): 51619 * page/PageGroup.cpp: 51620 (WebCore::PageGroup::addUserScript): 51621 (WebCore::PageGroup::addUserStyleSheet): 51622 (WebCore::PageGroup::removeUserContentWithURLForWorld): 51623 (WebCore::PageGroup::removeUserContentForWorld): 51624 * page/PageGroup.h: 51625 * page/UserContentURLPattern.cpp: 51626 (WebCore::UserContentURLPattern::matchesPatterns): 51627 * page/UserContentURLPattern.h: 51628 * page/UserScript.h: 51629 (WebCore::UserScript::UserScript): 51630 (WebCore::UserScript::whitelist): 51631 (WebCore::UserScript::blacklist): 51632 * page/UserStyleSheet.h: 51633 (WebCore::UserStyleSheet::UserStyleSheet): 51634 (WebCore::UserStyleSheet::whitelist): 51635 (WebCore::UserStyleSheet::blacklist): 51636 51637 2009-10-02 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 51638 51639 Reviewed by Darin Adler. 51640 51641 Build fix when SVG is not enabled 51642 https://bugs.webkit.org/show_bug.cgi?id=30011 51643 51644 Move TextRenderingMode related functions out from 51645 the ENABLE(SVG) guard. 51646 51647 * css/CSSPrimitiveValueMappings.h: 51648 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 51649 (WebCore::CSSPrimitiveValue::operator TextRenderingMode): 51650 51651 2009-10-02 Kenneth Russell <kbr (a] google.com> 51652 51653 Reviewed by Oliver Hunt. 51654 51655 WebGL crashes with recent CanvasArray change 51656 https://bugs.webkit.org/show_bug.cgi?id=30018 51657 51658 Test: fast/canvas/webgl/array-unit-tests.html 51659 51660 * html/canvas/CanvasArray.cpp: 51661 (WebCore::CanvasArray::CanvasArray): 51662 Fix bug where PassRefPtr was tested after transferring value to RefPtr. 51663 51664 2009-10-02 Steve Falkenburg <sfalken (a] apple.com> 51665 51666 Reviewed by Mark Rowe. 51667 51668 <https://bugs.webkit.org/show_bug.cgi?id=29989> 51669 Safari version number shouldn't be exposed in WebKit code 51670 51671 For a WebKit version of 532.3.4: 51672 Product version is: 5.32.3.4 (was 4.0.3.0) 51673 File version is: 5.32.3.4 (was 4.532.3.4) 51674 51675 * WebCore.vcproj/QTMovieWin.rc: 51676 51677 2009-10-02 Stephen White <senorblanco (a] chromium.org> 51678 51679 Reviewed by Dimitri Glazkov. 51680 51681 Enable two point radial gradients in Chromium/Skia. 51682 51683 https://bugs.webkit.org/show_bug.cgi?id=30017 51684 51685 Covered by the following tests: 51686 51687 LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg 51688 LayoutTests/fast/backgrounds/svg-as-background-3.html 51689 LayoutTests/fast/gradients/generated-gradients.html 51690 LayoutTests/fast/gradients/simple-gradients.html 51691 51692 * platform/graphics/skia/GradientSkia.cpp: 51693 (WebCore::Gradient::platformGradient): 51694 51695 2009-10-02 Norbert Leser <norbert.leser (a] nokia.com> 51696 51697 Reviewed by Simon Hausmann. 51698 51699 Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR. 51700 Otherwise, it is inconsistent with class declaration of QCursor. 51701 51702 No new tests. 51703 51704 * platform/qt/QWebPageClient.h: 51705 51706 2009-10-02 Philippe Normand <pnormand (a] igalia.com> 51707 51708 Reviewed by Gustavo Noronha. 51709 51710 [GTK] missing support for anamorphic PAR video size 51711 https://bugs.webkit.org/show_bug.cgi?id=29717 51712 51713 cleanup of caps handling in the video sink 51714 51715 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 51716 (webkit_video_sink_set_caps): 51717 51718 2009-10-02 Prasanth Ullattil <prasanth.ullattil (a] nokia.com> 51719 51720 Reviewed by Simon Hausmann. 51721 51722 Fix compiler warnings about unused function arguments. 51723 51724 * bridge/qt/qt_class.h: 51725 * bridge/qt/qt_runtime.cpp: 51726 (JSC::Bindings::QtRuntimeMetaMethod::call): 51727 (JSC::Bindings::QtRuntimeConnectionMethod::call): 51728 * dom/XMLTokenizerQt.cpp: 51729 (WebCore::XMLTokenizer::initializeParserContext): 51730 * platform/graphics/qt/FontCacheQt.cpp: 51731 (WebCore::FontCache::getTraitsInFamily): 51732 (WebCore::FontCache::getCachedFontPlatformData): 51733 * platform/graphics/qt/FontFallbackListQt.cpp: 51734 (WebCore::FontFallbackList::setPlatformFont): 51735 * platform/graphics/qt/FontQt.cpp: 51736 (WebCore::Font::offsetForPositionForComplexText): 51737 * platform/graphics/qt/GraphicsContextQt.cpp: 51738 (WebCore::GraphicsContext::drawLineForText): 51739 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 51740 (WebCore::GraphicsContext::setPlatformShadow): 51741 (WebCore::GraphicsContext::setURLForRect): 51742 * platform/graphics/qt/IconQt.cpp: 51743 (WebCore::Icon::createIconForFiles): 51744 * platform/graphics/qt/ImageBufferQt.cpp: 51745 (WebCore::ImageBuffer::ImageBuffer): 51746 * platform/graphics/qt/ImageDecoderQt.cpp: 51747 (WebCore::ImageDecoderQt::frameBufferAtIndex): 51748 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 51749 (WebCore::MediaPlayerPrivate::supportsType): 51750 (WebCore::MediaPlayerPrivate::setEndTime): 51751 * platform/graphics/qt/SimpleFontDataQt.cpp: 51752 (WebCore::SimpleFontData::containsCharacters): 51753 * platform/graphics/qt/StillImageQt.h: 51754 (WebCore::StillImage::destroyDecodedData): 51755 * platform/network/qt/DnsPrefetchHelper.h: 51756 (WebCore::DnsPrefetchHelper::lookedUp): 51757 * platform/qt/ContextMenuQt.cpp: 51758 (WebCore::ContextMenu::setPlatformDescription): 51759 * platform/qt/DragDataQt.cpp: 51760 (WebCore::DragData::asURL): 51761 * platform/qt/PopupMenuQt.cpp: 51762 (WebCore::PopupMenu::populate): 51763 * platform/qt/RenderThemeQt.cpp: 51764 (WebCore::RenderThemeQt::supportsFocusRing): 51765 (WebCore::RenderThemeQt::systemFont): 51766 (WebCore::RenderThemeQt::adjustButtonStyle): 51767 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 51768 (WebCore::RenderThemeQt::paintMediaSeekBackButton): 51769 (WebCore::RenderThemeQt::paintMediaSeekForwardButton): 51770 * platform/qt/ScrollViewQt.cpp: 51771 (WebCore::ScrollView::platformAddChild): 51772 * platform/qt/SearchPopupMenuQt.cpp: 51773 (WebCore::SearchPopupMenu::saveRecentSearches): 51774 (WebCore::SearchPopupMenu::loadRecentSearches): 51775 * platform/qt/TemporaryLinkStubs.cpp: 51776 (WebCore::signedPublicKeyAndChallengeString): 51777 * platform/qt/WidgetQt.cpp: 51778 (WebCore::Widget::paint): 51779 * xml/XSLStyleSheetQt.cpp: 51780 (WebCore::XSLStyleSheet::loadChildSheet): 51781 (WebCore::XSLStyleSheet::setParentStyleSheet): 51782 * xml/XSLTProcessorQt.cpp: 51783 (WebCore::XSLTMessageHandler::handleMessage): 51784 (WebCore::XSLTProcessor::transformToString): 51785 51786 2009-10-02 Philippe Normand <pnormand (a] igalia.com> 51787 51788 Reviewed by Gustavo Noronha. 51789 51790 [GTK] missing support for anamorphic PAR video size 51791 https://bugs.webkit.org/show_bug.cgi?id=29717 51792 51793 Scale the cairo surface of the video sink depending on the 51794 pixel-aspect-ratio of the video buffer to paint. Also 51795 destruct/re-create the surface when setSize() is called with a new 51796 size. 51797 51798 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 51799 (WebCore::MediaPlayerPrivate::naturalSize): 51800 (WebCore::MediaPlayerPrivate::setSize): 51801 (WebCore::MediaPlayerPrivate::paint): 51802 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 51803 (webkit_video_sink_idle_func): 51804 51805 2009-10-02 Ben Murdoch <benm (a] google.com> 51806 51807 Reviewed by David Kilzer. 51808 51809 Stale database version persists through browser refresh (changeVersion doesn't work) 51810 https://bugs.webkit.org/show_bug.cgi?id=27836 51811 51812 Tests: storage/change-version-handle-reuse.html 51813 storage/change-version.html 51814 51815 * bindings/v8/custom/V8DatabaseCustom.cpp: 51816 (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion(). 51817 (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback. 51818 * storage/Database.cpp: 51819 (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map. 51820 (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps. 51821 (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour. 51822 (WebCore::Database::close): Move the code that updates the maps from the destructor to here. 51823 (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly. 51824 (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version. 51825 51826 2009-10-02 Janne Koskinen <janne.p.koskinen (a] digia.com> 51827 51828 Reviewed by Simon Hausmann. 51829 51830 Partial WINSCW build fix. 51831 51832 Add parentheses around the function pointer declaration, similar to the 51833 second hunk in r48825. 51834 51835 * loader/CachedResourceHandle.h: 51836 51837 2009-10-02 Adam Barth <abarth (a] webkit.org> 51838 51839 Unreviewed attempted build fix by Xcode magic. 51840 51841 * WebCore.xcodeproj/project.pbxproj: 51842 51843 2009-10-02 Adam Barth <abarth (a] webkit.org> 51844 51845 Unreviewed build fix. Actually add the new files. 51846 51847 * loader/RedirectScheduler.cpp: Added. 51848 (WebCore::ScheduledRedirection::): 51849 (WebCore::ScheduledRedirection::ScheduledRedirection): 51850 (WebCore::RedirectScheduler::RedirectScheduler): 51851 (WebCore::RedirectScheduler::~RedirectScheduler): 51852 (WebCore::RedirectScheduler::redirectScheduledDuringLoad): 51853 (WebCore::RedirectScheduler::clear): 51854 (WebCore::RedirectScheduler::scheduleRedirect): 51855 (WebCore::RedirectScheduler::mustLockBackForwardList): 51856 (WebCore::RedirectScheduler::scheduleLocationChange): 51857 (WebCore::RedirectScheduler::scheduleFormSubmission): 51858 (WebCore::RedirectScheduler::scheduleRefresh): 51859 (WebCore::RedirectScheduler::locationChangePending): 51860 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 51861 (WebCore::RedirectScheduler::timerFired): 51862 (WebCore::RedirectScheduler::schedule): 51863 (WebCore::RedirectScheduler::startTimer): 51864 (WebCore::RedirectScheduler::cancel): 51865 * loader/RedirectScheduler.h: Added. 51866 51867 2009-10-01 Adam Barth <abarth (a] webkit.org> 51868 51869 Reviewed by Darin Adler. 51870 51871 Move RedirectScheduler to its own file 51872 https://bugs.webkit.org/show_bug.cgi?id=29952 51873 51874 This change is purely code motion. 51875 51876 No behavior change. 51877 51878 * GNUmakefile.am: 51879 * WebCore.gypi: 51880 * WebCore.pro: 51881 * WebCore.vcproj/WebCore.vcproj: 51882 * WebCore.xcodeproj/project.pbxproj: 51883 * WebCoreSources.bkl: 51884 * loader/FrameLoader.cpp: 51885 * loader/FrameLoader.h: 51886 * loader/RedirectScheduler.cpp: Added. 51887 (WebCore::ScheduledRedirection::): 51888 (WebCore::ScheduledRedirection::ScheduledRedirection): 51889 (WebCore::RedirectScheduler::RedirectScheduler): 51890 (WebCore::RedirectScheduler::~RedirectScheduler): 51891 (WebCore::RedirectScheduler::redirectScheduledDuringLoad): 51892 (WebCore::RedirectScheduler::clear): 51893 (WebCore::RedirectScheduler::scheduleRedirect): 51894 (WebCore::RedirectScheduler::mustLockBackForwardList): 51895 (WebCore::RedirectScheduler::scheduleLocationChange): 51896 (WebCore::RedirectScheduler::scheduleFormSubmission): 51897 (WebCore::RedirectScheduler::scheduleRefresh): 51898 (WebCore::RedirectScheduler::locationChangePending): 51899 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 51900 (WebCore::RedirectScheduler::timerFired): 51901 (WebCore::RedirectScheduler::schedule): 51902 (WebCore::RedirectScheduler::startTimer): 51903 (WebCore::RedirectScheduler::cancel): 51904 * loader/RedirectScheduler.h: Added. 51905 51906 2009-10-02 Dave MacLachlan <dmaclach (a] gmail.com> 51907 51908 Reviewed by David Levin. 51909 51910 Clean up warnings in WebCore/bindings/v8/npruntime.cpp 51911 https://bugs.webkit.org/show_bug.cgi?id=29971 51912 51913 Gets rid of warnings on gcc about using anonymous namespaces 51914 warning: 'StringKeyHashTraits' has a base 51915 'WTF::GenericHashTraits<<unnamed>::StringKey>' 51916 whose type uses the anonymous namespace 51917 and 51918 warning: 'WTF::PairHashTraits<StringKeyHashTraits, 51919 WTF::HashTraits<PrivateIdentifier*> >' has a base 51920 'WTF::GenericHashTraits<std::pair<<unnamed>::StringKey, 51921 PrivateIdentifier*> >' whose type uses the anonymous namespace 51922 51923 No tests required. 51924 51925 * bindings/v8/npruntime.cpp: 51926 51927 2009-10-01 Mark Rowe <mrowe (a] apple.com> 51928 51929 Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger. 51930 51931 * Configurations/FeatureDefines.xcconfig: 51932 51933 2009-10-01 Chris Marrin <cmarrin (a] apple.com> 51934 51935 Reviewed by Oliver Hunt. 51936 51937 Turn on ENABLE_3D_CANVAS in TOT 51938 https://bugs.webkit.org/show_bug.cgi?id=29906 51939 51940 Fixed a bug found when running tests with flag on 51941 51942 * Configurations/FeatureDefines.xcconfig: 51943 * WebCore.base.exp: 51944 * bindings/js/JSCanvasArrayBufferConstructor.h: 51945 (WebCore::construct): 51946 * html/HTMLCanvasElement.cpp: 51947 (WebCore::HTMLCanvasElement::getContext): 51948 * html/canvas/CanvasArray.cpp: 51949 (WebCore::CanvasArray::CanvasArray): 51950 * html/canvas/CanvasByteArray.cpp: 51951 (WebCore::CanvasByteArray::create): 51952 * html/canvas/CanvasFloatArray.cpp: 51953 (WebCore::CanvasFloatArray::create): 51954 * html/canvas/CanvasIntArray.cpp: 51955 (WebCore::CanvasIntArray::create): 51956 * html/canvas/CanvasShortArray.cpp: 51957 (WebCore::CanvasShortArray::create): 51958 * html/canvas/CanvasUnsignedByteArray.cpp: 51959 (WebCore::CanvasUnsignedByteArray::create): 51960 * html/canvas/CanvasUnsignedIntArray.cpp: 51961 (WebCore::CanvasUnsignedIntArray::create): 51962 * html/canvas/CanvasUnsignedShortArray.cpp: 51963 (WebCore::CanvasUnsignedShortArray::create): 51964 * page/Settings.cpp: 51965 (WebCore::Settings::Settings): 51966 (WebCore::Settings::setWebGLEnabled): 51967 * page/Settings.h: 51968 (WebCore::Settings::webGLEnabled): 51969 51970 2009-10-01 Beth Dakin <bdakin (a] apple.com> 51971 51972 Reviewed by Dan Bernstein. 51973 51974 Fix for <rdar://problem/7264725> Re-add a vendor prefix to box- 51975 shadow (29927) 51976 -and corresponding- 51977 https://bugs.webkit.org/show_bug.cgi?id=29927 51978 51979 * css/CSSComputedStyleDeclaration.cpp: 51980 (WebCore::): 51981 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 51982 * css/CSSParser.cpp: 51983 (WebCore::CSSParser::parseValue): 51984 (WebCore::ShadowParseContext::ShadowParseContext): 51985 (WebCore::ShadowParseContext::commitValue): 51986 (WebCore::ShadowParseContext::commitLength): 51987 (WebCore::ShadowParseContext::commitColor): 51988 (WebCore::cssPropertyID): 51989 * css/CSSPropertyNames.in: 51990 * css/CSSStyleSelector.cpp: 51991 (WebCore::CSSStyleSelector::applyProperty): 51992 * page/animation/AnimationBase.cpp: 51993 (WebCore::ensurePropertyMap): 51994 51995 2009-10-01 Beth Dakin <bdakin (a] apple.com> 51996 51997 Rubber-stamped by Sam Weinig. 51998 51999 At bad merge at some point in the development of my patch must have 52000 put TextRenderMode.h in a weird spot in the xcodeproj. Moving it 52001 back where it belongs! 52002 52003 * WebCore.xcodeproj/project.pbxproj: 52004 52005 2009-09-30 Adam Barth <abarth (a] webkit.org> 52006 52007 Reviewed by Darin Adler. 52008 52009 Remove FrameLoader::schedule* APIs 52010 https://bugs.webkit.org/show_bug.cgi?id=29950 52011 52012 Change clients of FrameLoader::schedule* to call redirectScheduler 52013 directly. 52014 52015 No behavior change. 52016 52017 * bindings/js/JSDOMWindowCustom.cpp: 52018 (WebCore::JSDOMWindow::setLocation): 52019 (WebCore::createWindow): 52020 (WebCore::JSDOMWindow::open): 52021 * bindings/js/JSDocumentCustom.cpp: 52022 (WebCore::JSDocument::setLocation): 52023 * bindings/js/JSLocationCustom.cpp: 52024 (WebCore::navigateIfAllowed): 52025 (WebCore::JSLocation::reload): 52026 * bindings/v8/V8Utilities.cpp: 52027 (WebCore::navigateIfAllowed): 52028 * bindings/v8/custom/V8DOMWindowCustom.cpp: 52029 (WebCore::createWindow): 52030 (WebCore::CALLBACK_FUNC_DECL): 52031 * bindings/v8/custom/V8LocationCustom.cpp: 52032 (WebCore::CALLBACK_FUNC_DECL): 52033 * dom/Document.cpp: 52034 (WebCore::Document::implicitClose): 52035 (WebCore::Document::processHttpEquiv): 52036 * html/HTMLTokenizer.cpp: 52037 (WebCore::HTMLTokenizer::write): 52038 * loader/FrameLoader.cpp: 52039 (WebCore::FrameLoader::requestFrame): 52040 (WebCore::FrameLoader::submitForm): 52041 (WebCore::FrameLoader::receivedFirstData): 52042 * loader/FrameLoader.h: 52043 * loader/appcache/ApplicationCacheGroup.cpp: 52044 (WebCore::ApplicationCacheGroup::selectCache): 52045 * page/History.cpp: 52046 (WebCore::History::back): 52047 (WebCore::History::forward): 52048 (WebCore::History::go): 52049 52050 2009-10-01 Beth Dakin <bdakin (a] apple.com> 52051 52052 Just removing a comment I accidentally committed earlier. 52053 52054 * platform/graphics/mac/SimpleFontDataMac.mm: 52055 (WebCore::SimpleFontData::getCFStringAttributes): 52056 52057 2009-09-30 Jeremy Orlow <jorlow (a] chromium.org> 52058 52059 Reviewed by Darin Adler. 52060 52061 Clean up use of const and mutable in StorageMap 52062 https://bugs.webkit.org/show_bug.cgi?id=29933 52063 52064 What's the point of having every single member variable be mutable and nearly 52065 every method be const? Let's clean it up. 52066 52067 * storage/StorageMap.cpp: 52068 (WebCore::StorageMap::setIteratorToIndex): 52069 (WebCore::StorageMap::key): 52070 (WebCore::StorageMap::importItem): 52071 * storage/StorageMap.h: 52072 52073 2009-10-01 Beth Dakin <bdakin (a] apple.com> 52074 52075 Reviewed by Dave Hyatt. 52076 52077 Fix for <rdar://problem/6934421> Support CSS for Text Kerning and 52078 ligature 52079 -and corresponding- 52080 https://bugs.webkit.org/show_bug.cgi?id=6136 52081 52082 This patch makes the SVG CSS property text-rendering work with any 52083 HTML, much like it does in Firefox. It accepts four possible input 52084 values: auto, optimizeSpeed, optimizeLegibility, and 52085 geometricPrecision. Right now, in this implementation, here is what 52086 those values correspond to: 52087 52088 auto = optimizeSpeed = what we normally when the value's not set 52089 optimizeLegibility = geometricPrecision = ligatures kerning 52090 52091 Add new file TextRenderingMode.h to the project files. 52092 * WebCore.vcproj/WebCore.vcproj: 52093 * WebCore.xcodeproj/project.pbxproj: 52094 52095 CSS support for the new CSSPropertyTextRendering 52096 * css/CSSComputedStyleDeclaration.cpp: 52097 (WebCore::): 52098 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 52099 * css/CSSParser.cpp: 52100 (WebCore::CSSParser::parseValue): 52101 * css/CSSPrimitiveValueMappings.h: 52102 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 52103 (WebCore::CSSPrimitiveValue::operator TextRenderingMode): 52104 * css/CSSPropertyNames.in: 52105 * css/CSSStyleSelector.cpp: 52106 (WebCore::CSSStyleSelector::applyProperty): 52107 * css/CSSValueKeywords.in: 52108 52109 All the old SVG CSS support for this property can go away. When 52110 it's used in SVG, it will just fall into the normal HTML case. 52111 * css/SVGCSSComputedStyleDeclaration.cpp: 52112 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 52113 * css/SVGCSSParser.cpp: 52114 (WebCore::CSSParser::parseSVGValue): 52115 * css/SVGCSSPropertyNames.in: 52116 * css/SVGCSSStyleSelector.cpp: 52117 (WebCore::CSSStyleSelector::applySVGProperty): 52118 * css/SVGCSSValueKeywords.in: 52119 52120 FontDescription stores the m_textRendering bit. 52121 * platform/graphics/FontDescription.h: 52122 (WebCore::FontDescription::FontDescription): 52123 (WebCore::FontDescription::textRenderingMode): 52124 (WebCore::FontDescription::setTextRenderingMode): 52125 (WebCore::FontDescription::operator==): 52126 52127 We want to fall into the complex text rendering code path if 52128 kerning and ligatures have been enabled with this property. 52129 * platform/graphics/FontFastPath.cpp: 52130 (WebCore::Font::canUseGlyphCache): 52131 52132 Now takes a TextRenderingMode as a parameter. 52133 * platform/graphics/SimpleFontData.h: 52134 52135 New header for the enum. 52136 * platform/graphics/TextRenderingMode.h: Added. 52137 (WebCore::): 52138 52139 getCFStringAttributes() now takes a TextRenderingMode as an 52140 attribute. 52141 * platform/graphics/mac/CoreTextController.cpp: 52142 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): 52143 52144 Enable kerning and ligatures whenever the TextRenderingMode is 52145 OptimizeLegibility or GeometricPrecision 52146 * platform/graphics/mac/FontMacATSUI.mm: 52147 (WebCore::disableLigatures): 52148 (WebCore::initializeATSUStyle): 52149 (WebCore::ATSULayoutParameters::initialize): 52150 * platform/graphics/mac/SimpleFontDataMac.mm: 52151 (WebCore::SimpleFontData::getCFStringAttributes): 52152 52153 More SVG CSS stuff that isn't needed anymore since SVG will use the 52154 new HTML CSS implementation. 52155 * rendering/style/SVGRenderStyle.h: 52156 (WebCore::SVGRenderStyle::InheritedFlags::operator==): 52157 (WebCore::SVGRenderStyle::setBitDefaults): 52158 * rendering/style/SVGRenderStyleDefs.h: 52159 52160 2009-10-01 Yury Semikhatsky <yurys (a] chromium.org> 52161 52162 Reviewed by Timothy Hatcher. 52163 52164 Use isClosure property of scope proxy to decide whether the 52165 scope is a closure. 52166 52167 https://bugs.webkit.org/show_bug.cgi?id=29965 52168 52169 * inspector/front-end/ScopeChainSidebarPane.js: 52170 (WebInspector.ScopeChainSidebarPane.prototype.update): 52171 52172 2009-10-01 Simon Fraser <simon.fraser (a] apple.com> 52173 52174 Reviewed by Dave Hyatt. 52175 52176 Odd color transitions on anchors with transition-property: all 52177 https://bugs.webkit.org/show_bug.cgi?id=29911 52178 52179 When transitioning maybe-invalid colors, if the source and destination 52180 color are both invalid, then don't animate. 52181 52182 This fixes an issue where a child element of an element running a color 52183 transition, with -webkit-transition-property:all, would show a color change. 52184 This happened because the "maybe invalid color" logic copied the color style 52185 into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color 52186 to animate while the transition ran, and to then to disappear when the transition 52187 finished. 52188 52189 Test: transitions/color-transition-all.html 52190 52191 * page/animation/AnimationBase.cpp: 52192 (WebCore::PropertyWrapperMaybeInvalidColor::equals): 52193 (WebCore::PropertyWrapperMaybeInvalidColor::blend): 52194 52195 2009-10-01 Victor Wang <victorw (a] chromium.org> 52196 52197 Reviewed by Oliver Hunt. 52198 52199 Allow dragging a node who has child nodes. 52200 52201 https://bugs.webkit.org/show_bug.cgi?id=28632 52202 52203 Test: fast/events/drag-parent-node.html 52204 52205 * page/EventHandler.cpp: 52206 (WebCore::EventHandler::shouldDragAutoNode): 52207 52208 2009-10-01 Philippe Normand <pnormand (a] igalia.com> 52209 52210 Reviewed by Gustavo Noronha. 52211 52212 [GTK] media player: better mute support 52213 https://bugs.webkit.org/show_bug.cgi?id=29960 52214 52215 Handle volume and mute state with the two corresponding properties 52216 of playbin2. 52217 52218 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 52219 (WebCore::MediaPlayerPrivate::setMuted): 52220 (WebCore::MediaPlayerPrivate::setVolume): 52221 52222 2009-10-01 Philippe Normand <pnormand (a] igalia.com> 52223 52224 Reviewed by Gustavo Noronha. 52225 52226 [GTK] video sink pad template colorspace is wrong 52227 https://bugs.webkit.org/show_bug.cgi?id=29953 52228 52229 Set sink pad template colorspace depending on byte order. 52230 52231 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 52232 (webkit_video_sink_idle_func): 52233 52234 2009-10-01 Vitaly Repeshko <vitalyr (a] chromium.org> 52235 52236 Reviewed by Dimitri Glazkov. 52237 52238 [V8] Refactored V8 event listeners: 52239 (This change should fix http://crbug.com/21079 and 52240 https://bugs.webkit.org/show_bug.cgi?id=29093.) 52241 o All listeners use weak handles to JS objects to avoid creating 52242 cycles and leaking memory. 52243 o "Object" variants of listeners removed. 52244 o All event accessor callbacks are generated. 52245 o Custom event accessors removed. 52246 o All wrappers have hidden dependencies on their listeners to 52247 prevent listeners from being collected. 52248 o All variats of getEventListener function grouped in V8DOMWrapper. 52249 o Pointers to C+EventListener wrappers are stored in JS objects 52250 instead of event listener lists. 52251 https://bugs.webkit.org/show_bug.cgi?id=29825 52252 52253 * WebCore.gypi: Removed "Object" listeners. 52254 * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors. 52255 * bindings/v8/DOMObjectsInclude.h: 52256 52257 V8AbstractEventListener manages weak JS handle: 52258 * bindings/v8/V8AbstractEventListener.cpp: 52259 (WebCore::weakEventListenerCallback): 52260 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 52261 (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 52262 (WebCore::V8AbstractEventListener::handleEvent): 52263 (WebCore::V8AbstractEventListener::disposeListenerObject): 52264 (WebCore::V8AbstractEventListener::setListenerObject): 52265 * bindings/v8/V8AbstractEventListener.h: 52266 (WebCore::V8AbstractEventListener::cast): 52267 (WebCore::V8AbstractEventListener::isLazy): 52268 (WebCore::V8AbstractEventListener::getListenerObject): 52269 (WebCore::V8AbstractEventListener::getExistingListenerObject): 52270 (WebCore::V8AbstractEventListener::hasExistingListenerObject): 52271 (WebCore::V8AbstractEventListener::disconnectFrame): 52272 (WebCore::V8AbstractEventListener::disconnected): 52273 (WebCore::V8AbstractEventListener::prepareListenerObject): 52274 (WebCore::V8AbstractEventListener::lineNumber): 52275 (WebCore::V8AbstractEventListener::virtualisAttribute): 52276 52277 Grouped getEventListener functions: 52278 * bindings/v8/V8DOMWrapper.cpp: 52279 (WebCore::V8DOMWrapper::getTemplate): 52280 (WebCore::V8DOMWrapper::getEventListener): 52281 * bindings/v8/V8DOMWrapper.h: 52282 52283 Removed most event listener objects bookkeeping: 52284 * bindings/v8/V8EventListenerList.cpp: 52285 * bindings/v8/V8EventListenerList.h: 52286 (WebCore::V8EventListenerList::findWrapper): 52287 (WebCore::V8EventListenerList::clearWrapper): 52288 (WebCore::V8EventListenerList::doFindWrapper): 52289 (WebCore::V8EventListenerList::getHiddenProperty): 52290 (WebCore::V8EventListenerList::findOrCreateWrapper): 52291 52292 Added hidden properties for storing EventListener wrappers: 52293 * bindings/v8/V8HiddenPropertyName.cpp: 52294 (WebCore::V8HiddenPropertyName::listener): 52295 (WebCore::V8HiddenPropertyName::attributeListener): 52296 * bindings/v8/V8HiddenPropertyName.h: 52297 52298 * bindings/v8/V8LazyEventListener.cpp: 52299 (WebCore::V8LazyEventListener::V8LazyEventListener): 52300 (WebCore::V8LazyEventListener::callListenerFunction): 52301 (WebCore::V8LazyEventListener::prepareListenerObject): 52302 * bindings/v8/V8LazyEventListener.h: 52303 (WebCore::V8LazyEventListener::isLazy): 52304 * bindings/v8/V8ObjectEventListener.cpp: Removed. 52305 * bindings/v8/V8ObjectEventListener.h: Removed. 52306 * bindings/v8/V8Proxy.cpp: 52307 (WebCore::V8Proxy::disconnectFrame): 52308 (WebCore::V8Proxy::disconnectEventListeners): 52309 * bindings/v8/V8Proxy.h: 52310 * bindings/v8/V8WorkerContextEventListener.cpp: 52311 (WebCore::V8WorkerContextEventListener::reportError): 52312 (WebCore::V8WorkerContextEventListener::getReceiverObject): 52313 * bindings/v8/V8WorkerContextEventListener.h: 52314 * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed. 52315 * bindings/v8/V8WorkerContextObjectEventListener.h: Removed. 52316 * bindings/v8/WorkerContextExecutionProxy.cpp: 52317 (WebCore::WorkerContextExecutionProxy::dispose): 52318 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 52319 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): 52320 * bindings/v8/WorkerContextExecutionProxy.h: 52321 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 52322 (WebCore::CALLBACK_FUNC_DECL): 52323 * bindings/v8/custom/V8CustomBinding.h: 52324 * bindings/v8/custom/V8CustomEventListener.cpp: 52325 (WebCore::V8EventListener::V8EventListener): 52326 (WebCore::V8EventListener::getListenerFunction): 52327 (WebCore::V8EventListener::callListenerFunction): 52328 * bindings/v8/custom/V8CustomEventListener.h: 52329 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 52330 (WebCore::CALLBACK_FUNC_DECL): 52331 * bindings/v8/custom/V8DOMWindowCustom.cpp: 52332 (WebCore::CALLBACK_FUNC_DECL): 52333 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 52334 * bindings/v8/custom/V8MessagePortCustom.cpp: 52335 (WebCore::getEventListener): 52336 (WebCore::CALLBACK_FUNC_DECL): 52337 * bindings/v8/custom/V8NodeCustom.cpp: 52338 (WebCore::CALLBACK_FUNC_DECL): 52339 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 52340 (WebCore::CALLBACK_FUNC_DECL): 52341 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 52342 (WebCore::CALLBACK_FUNC_DECL): 52343 * bindings/v8/custom/V8WebSocketCustom.cpp: 52344 * bindings/v8/custom/V8WorkerContextCustom.cpp: 52345 (WebCore::CALLBACK_FUNC_DECL): 52346 * bindings/v8/custom/V8WorkerCustom.cpp: 52347 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 52348 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 52349 (WebCore::CALLBACK_FUNC_DECL): 52350 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 52351 52352 2009-10-01 Alexis Menard <alexis.menard (a] nokia.com> 52353 52354 Reviewed by Tor Arne Vestb. 52355 52356 Rename QWebGraphicsItem to QGraphicsWebView 52357 52358 * WebCore.pro: 52359 52360 2009-10-01 Dumitru Daniliuc <dumi (a] chromium.org> 52361 52362 Reviewed by Dimitri Glazkov. 52363 52364 Read-only transactions do not change file sizes and therefore 52365 should not trigger quota updates. 52366 52367 https://bugs.webkit.org/show_bug.cgi?id=29945 52368 52369 * storage/SQLTransaction.cpp: 52370 (WebCore::SQLTransaction::openTransactionAndPreflight): 52371 (WebCore::SQLTransaction::runStatements): 52372 52373 2009-09-30 Timothy Hatcher <timothy (a] apple.com> 52374 52375 Fix list box scrolling by correctly overriding the scroll() 52376 function on RenderBox. 52377 52378 <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling 52379 of listboxes is broken (29756) 52380 52381 Reviewed by Dan Bernstein. 52382 52383 * rendering/RenderListBox.cpp: 52384 (WebCore::RenderListBox::scroll): 52385 * rendering/RenderListBox.h: 52386 * rendering/RenderTextControlSingleLine.cpp: 52387 (WebCore::RenderTextControlSingleLine::scroll): 52388 * rendering/RenderTextControlSingleLine.h: 52389 52390 2009-10-01 Yury Semikhatsky <yurys (a] chromium.org> 52391 52392 Reviewed by Timothy Hatcher. 52393 52394 Make a copy of listeners array before dispatching an event in 52395 WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current 52396 listener removes itself from the array next listener will be skipped. 52397 52398 https://bugs.webkit.org/show_bug.cgi?id=29920 52399 52400 * inspector/front-end/Object.js: 52401 (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event 52402 52403 2009-10-01 Martin Robinson <martin.james.robinson (a] gmail.com> 52404 52405 Reviewed by Xan Lopez. 52406 52407 [GTK] GtkIMContext filtering interferes with DOM key events 52408 https://bugs.webkit.org/show_bug.cgi?id=28733 52409 52410 Ensure that keyboard events filtered by the GtkIMContext still create 52411 the proper DOM events. 52412 52413 No tests added. Instead previously skipped tests have been enabled. 52414 52415 * platform/gtk/KeyEventGtk.cpp: 52416 (WebCore::keyIdentifierForGdkKeyCode): 52417 (WebCore::singleCharacterString): 52418 52419 2009-10-01 Philippe Normand <pnormand (a] igalia.com> 52420 52421 Reviewed by Xan Lopez. 52422 52423 [GTK] data: uri support in media player 52424 https://bugs.webkit.org/show_bug.cgi?id=29842 52425 52426 New GStreamer element to handle data: uris. For now only base64 52427 encoded data is supported. Decoded data is handed over to 52428 giostreamsrc. 52429 52430 * GNUmakefile.am: 52431 * platform/graphics/gtk/DataSourceGStreamer.cpp: Added. 52432 (_do_init): 52433 (webkit_data_src_base_init): 52434 (webkit_data_src_class_init): 52435 (webkit_data_src_reset): 52436 (webkit_data_src_init): 52437 (webkit_data_src_finalize): 52438 (webkit_data_src_uri_get_type): 52439 (webkit_data_src_uri_get_protocols): 52440 (webkit_data_src_uri_get_uri): 52441 (webkit_data_src_uri_set_uri): 52442 (webkit_data_src_uri_handler_init): 52443 * platform/graphics/gtk/DataSourceGStreamer.h: Added. 52444 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 52445 (WebCore::do_gst_init): 52446 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 52447 (WebCore::MediaPlayerPrivate::mimeTypeCache): 52448 52449 2009-09-30 Daniel Bates <dbates (a] webkit.org> 52450 52451 Reviewed by Adam Barth. 52452 52453 https://bugs.webkit.org/show_bug.cgi?id=29944 52454 52455 Reduces false positives in the XSSAuditor by explicitly allowing requests 52456 that do not contain illegal URI characters. 52457 52458 As a side effect of this change, the tests property-inject.html, 52459 property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html 52460 fail because these attacks do not contain any illegal URI characters and 52461 thus are now allowed by the XSSAuditor, where previously they weren't. A future 52462 change may reinstate this functionality. 52463 52464 Tests: http/tests/security/xssAuditor/script-tag-safe2.html 52465 http/tests/security/xssAuditor/script-tag-safe3.html 52466 52467 * page/XSSAuditor.cpp: 52468 (WebCore::isIllegalURICharacter): Added method. 52469 (WebCore::XSSAuditor::canEvaluate): 52470 (WebCore::XSSAuditor::canCreateInlineEventListener): 52471 (WebCore::XSSAuditor::findInRequest): Added parameter 52472 allowRequestIfNoIllegalURICharacters. 52473 * page/XSSAuditor.h: 52474 52475 2009-09-30 Oliver Hunt <oliver (a] apple.com> 52476 52477 Reviewed by Maciej Stachowiak. 52478 52479 reproducible freeze and crash on closing form popup at bosch-home.nl 52480 https://bugs.webkit.org/show_bug.cgi?id=28948 52481 52482 showModalDialog calls getDirect on what is actually a window shell, 52483 so ends up not getting a value (since no value can ever be placed 52484 directly on the shell), which leads to incorrect behaviour. 52485 52486 We use a manual test rather than automatic as it was not 52487 possible to get a modal run loop to work inside DRT. 52488 52489 * bindings/js/JSDOMWindowCustom.cpp: 52490 (WebCore::JSDOMWindow::showModalDialog): 52491 * manual-tests/showModalDialog-returnValue.html: manual testcase. 52492 52493 2009-09-30 Kent Tamura <tkent (a] chromium.org> 52494 52495 Reviewed by Darin Adler. 52496 52497 Adds ValidityState.tooLong support for <input> and <textarea>. 52498 52499 Introduces tooLong() in HTMLFormControlElement and it always returns false. 52500 HTMLInputElement and HTMLTextAreaElement overrides it and checks the text 52501 length and maxLength. tooLong() should work only for `dirty' values. 52502 So, introduces m_isDirty flag for HTMLTextAreaElement, and 52503 !m_data.value().isNull() works as a dirty flag for HTMLInputElement. 52504 52505 Renames parameter names of setMaxLength(). 52506 52507 https://bugs.webkit.org/show_bug.cgi?id=27454 52508 52509 Tests: fast/forms/ValidityState-tooLong-input.html 52510 fast/forms/ValidityState-tooLong-textarea.html 52511 52512 * html/HTMLFormControlElement.h: 52513 (WebCore::HTMLFormControlElement::tooLong): 52514 * html/HTMLInputElement.cpp: 52515 (WebCore::HTMLInputElement::tooLong): 52516 (WebCore::HTMLInputElement::setMaxLength): 52517 * html/HTMLInputElement.h: 52518 * html/HTMLTextAreaElement.cpp: 52519 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 52520 (WebCore::HTMLTextAreaElement::reset): 52521 (WebCore::HTMLTextAreaElement::updateValue): 52522 (WebCore::HTMLTextAreaElement::setMaxLength): 52523 (WebCore::HTMLTextAreaElement::tooLong): 52524 * html/HTMLTextAreaElement.h: 52525 * html/ValidityState.h: 52526 (WebCore::ValidityState::tooLong): 52527 52528 2009-09-30 Adam Barth <abarth (a] webkit.org> 52529 52530 Reviewed by Maciej Stachowiak. 52531 52532 Factor RedirectScheduler out of FrameLoader 52533 https://bugs.webkit.org/show_bug.cgi?id=29948 52534 52535 This change introduces a new sub-object of Frame, redirectScheduler. 52536 The redirectScheduler is responsible for scheduling redirects. 52537 52538 This change leaves the code for the redirectScheduler in 52539 FrameLoader.cpp. A future change will move the class into its own 52540 file. 52541 52542 No behavior change (hopefully!). 52543 52544 * loader/FrameLoader.cpp: 52545 (WebCore::RedirectScheduler::RedirectScheduler): 52546 (WebCore::RedirectScheduler::~RedirectScheduler): 52547 (WebCore::RedirectScheduler::redirectScheduledDuringLoad): 52548 (WebCore::RedirectScheduler::clear): 52549 (WebCore::FrameLoader::FrameLoader): 52550 (WebCore::FrameLoader::setDefersLoading): 52551 (WebCore::FrameLoader::stopLoading): 52552 (WebCore::FrameLoader::didOpenURL): 52553 (WebCore::FrameLoader::didExplicitOpen): 52554 (WebCore::FrameLoader::cancelAndClear): 52555 (WebCore::FrameLoader::clear): 52556 (WebCore::FrameLoader::checkCompleted): 52557 (WebCore::FrameLoader::isScheduledLocationChangePending): 52558 (WebCore::FrameLoader::scheduleHTTPRedirection): 52559 (WebCore::RedirectScheduler::scheduleRedirect): 52560 (WebCore::RedirectScheduler::mustLockBackForwardList): 52561 (WebCore::FrameLoader::scheduleLocationChange): 52562 (WebCore::RedirectScheduler::scheduleLocationChange): 52563 (WebCore::FrameLoader::scheduleFormSubmission): 52564 (WebCore::RedirectScheduler::scheduleFormSubmission): 52565 (WebCore::FrameLoader::scheduleRefresh): 52566 (WebCore::RedirectScheduler::scheduleRefresh): 52567 (WebCore::RedirectScheduler::locationChangePending): 52568 (WebCore::FrameLoader::scheduleHistoryNavigation): 52569 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 52570 (WebCore::RedirectScheduler::timerFired): 52571 (WebCore::FrameLoader::provisionalLoadStarted): 52572 (WebCore::RedirectScheduler::schedule): 52573 (WebCore::RedirectScheduler::startTimer): 52574 (WebCore::RedirectScheduler::cancel): 52575 (WebCore::FrameLoader::completed): 52576 (WebCore::FrameLoader::open): 52577 * loader/FrameLoader.h: 52578 (WebCore::FrameLoader::committedFirstRealDocumentLoad): 52579 * page/Frame.cpp: 52580 (WebCore::Frame::Frame): 52581 (WebCore::Frame::redirectScheduler): 52582 * page/Frame.h: 52583 52584 2009-09-30 Maciej Stachowiak <mjs (a] apple.com> 52585 52586 Build fix, not reviewed. 52587 52588 More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943 52589 52590 * platform/network/cf/ResourceHandleCFNet.cpp: 52591 (WebCore::willSendRequest): 52592 52593 2009-09-30 Maciej Stachowiak <mjs (a] apple.com> 52594 52595 Build fix, not reviewed. 52596 52597 Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943 52598 52599 * platform/network/cf/ResourceHandleCFNet.cpp: 52600 (WebCore::willSendRequest): 52601 52602 2009-09-30 Dimitri Glazkov <dglazkov (a] chromium.org> 52603 52604 Reviewed by Darin Fisher. 52605 52606 [V8] HTMLAudioElement, HTMLImageElement, and HTMLOptionElement are constructable, but they shouldn't be. 52607 Only Audio, Image, and Option should be constructable. 52608 https://bugs.webkit.org/show_bug.cgi?id=29940 52609 52610 Test: fast/dom/dom-constructor.html 52611 52612 * WebCore.gypi: Added new files to project. 52613 * bindings/scripts/CodeGeneratorV8.pm: Modified to generate custom constructors. 52614 * bindings/v8/V8DOMWrapper.cpp: 52615 (WebCore::V8DOMWrapper::getTemplate): Removed handling of HTMLImageElement, HTMLOptionElement 52616 and HTMLAudioElement construction. 52617 * bindings/v8/V8HTMLAudioElementConstructor.h: Added. 52618 * bindings/v8/V8HTMLImageElementConstructor.h: Added. 52619 * bindings/v8/V8HTMLOptionElementConstructor.h: Added. 52620 * bindings/v8/V8Index.cpp: Added new headers. 52621 * bindings/v8/V8Index.h: Added Audio, Image and Option decls. 52622 * bindings/v8/custom/V8CustomBinding.h: Ditto. 52623 * bindings/v8/custom/V8DOMWindowCustom.cpp: 52624 (WebCore::ACCESSOR_GETTER): Added custom constructors. 52625 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 52626 (WebCore::V8HTMLImageElementConstructor::GetTemplate): Added custom template creator. 52627 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 52628 (WebCore::V8HTMLOptionElementConstructor::GetTemplate): Ditto. 52629 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 52630 (WebCore::V8HTMLImageElementConstructor::GetTemplate): Ditto. 52631 52632 2009-09-30 Maciej Stachowiak <mjs (a] apple.com> 52633 52634 Reviewed by Brady Eidson. 52635 52636 307 redirects should pass along http body and Content-Type header 52637 https://bugs.webkit.org/show_bug.cgi?id=29943 52638 52639 Follow-up fix for: 52640 <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET 52641 52642 Test: http/tests/loading/resources/redirect-methods-result.php 52643 52644 * platform/network/cf/ResourceHandleCFNet.cpp: 52645 (WebCore::willSendRequest): Pass along http body and Content-Type header. 52646 * platform/network/mac/ResourceHandleMac.mm: 52647 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): ditto 52648 52649 2009-09-30 Geoffrey Garen <ggaren (a] apple.com> 52650 52651 Reviewed by Mark Rowe. 52652 52653 Fixed https://bugs.webkit.org/show_bug.cgi?id=29941 52654 REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot 52655 52656 Forgot to implement a destructor for JSDOMWindowBaseData, so it was 52657 leaking its RefPtr data member. 52658 52659 * bindings/js/JSDOMWindowBase.cpp: 52660 (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData): 52661 * bindings/js/JSDOMWindowBase.h: 52662 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData): 52663 52664 2009-09-30 Dave Hyatt <hyatt (a] apple.com> 52665 52666 Reviewed by Tim Hatcher. 52667 52668 Make sure the removal of user stylesheets results in all of the WebViews being updated to 52669 reflect the changes. 52670 52671 * page/PageGroup.cpp: 52672 (WebCore::PageGroup::removeUserContentWithURLForWorld): 52673 (WebCore::PageGroup::removeUserContentForWorld): 52674 52675 2009-09-30 Dan Bernstein <mitz (a] apple.com> 52676 52677 Reviewed by Sam Weinig. 52678 52679 REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out 52680 https://bugs.webkit.org/show_bug.cgi?id=29209 52681 52682 Test: fast/inline/relative-positioned-overflow.html 52683 52684 * rendering/InlineFlowBox.cpp: 52685 (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting 52686 inlines to overflow to ensure that they are included in hit-testing. 52687 52688 2009-09-30 Simon Fraser <simon.fraser (a] apple.com> 52689 52690 Reviewed by Mark Rowe. 52691 52692 transforms/3d tests are not run in Release builds 52693 https://bugs.webkit.org/show_bug.cgi?id=29827 52694 52695 Make sure we export the WebCoreHas3DRendering symbol in Release builds, 52696 because this symbols is used by run-webkit-tests (via 'nm') to detect whether 52697 WebCore was built with ENABLE_3D_RENDERING turned on. 52698 52699 * DerivedSources.make: 52700 * WebCore.3DRendering.exp: Added. 52701 * WebCore.xcodeproj/project.pbxproj: 52702 52703 2009-09-30 Jeremy Orlow <jorlow (a] chromium.org> 52704 52705 Build fix for QT. Didn't know WebCore.pro existed. 52706 52707 * WebCore.pro: 52708 52709 2009-09-30 Dave Hyatt <hyatt (a] apple.com> 52710 52711 Reviewed by Adam Roben. 52712 52713 Add a method for removal of user scripts and stylesheets by URL from a specific world. 52714 52715 * page/PageGroup.cpp: 52716 (WebCore::PageGroup::removeUserContentURLForWorld): 52717 * page/PageGroup.h: 52718 52719 2009-09-30 Chris Hawk <hawk (a] chromium.org> 52720 52721 Reviewed by Dimitri Glazkov. 52722 52723 Fix for conditionals in the WebCore gyp file, which contained two separate 52724 'conditions' values for the webcore target. The first entry was ignored, 52725 resulting in some missine defines. 52726 https://bugs.webkit.org/show_bug.cgi?id=29907 52727 52728 * WebCore.gyp/WebCore.gyp: 52729 52730 2009-09-21 Jeremy Orlow <jorlow (a] chromium.org> 52731 52732 Reviewed by Adam Barth. 52733 52734 DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed. 52735 https://bugs.webkit.org/show_bug.cgi?id=29265 52736 52737 DOM Storage needs to be more careful about where "ThreadSafe" objects are 52738 destroyed. With the current code, there actually isn't a race condition, but 52739 it sure would be easy for someone to introduce one. A bunch of 52740 ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared 52741 objects. If it were possible any of these objects' destructors to be fired off 52742 the main thread, then the you'd have a race condition. The code should be more 52743 clear and self-documenting about how things related to each other. 52744 52745 Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread 52746 which is bounded by the StorageSyncManager, StorageAreaImpl, and 52747 StorageAreaSync, there's no reason for LocalStorageTask to store anything other 52748 than pointers. By breaking this dependency, we can eliminate the risk. 52749 52750 Note that we _could_ have LocalStorageThread's task queue just store 52751 LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to 52752 manually take care of deleting. It'd probably also be possible to change 52753 LocalStorageThread around so that it needn't hold onto a reference of itself 52754 and have a more deterministic shutdown, but my initial attempts to do so 52755 failed, and I decided it wasn't worth changing. The queue is killed before 52756 hand, so the thread is 100% impotent before the main thread continues anyway. 52757 52758 The constructors and destructors of StorageSyncManager, StorageAreaImpl, and 52759 StorageAreaSync now have ASSERTs to verify they're running on the main thread. 52760 I'm fairly positive that it'd be impossible to hit these asserts and the fact 52761 that these classes are no longer ThreadSafeShared should make it clear how 52762 they're meant to be used, but I think it's worth it to be extra sure. Of 52763 course, ideally, we'd have such an assert every time a ref is incremented or 52764 decremented. 52765 52766 Behavior should be unchanged and this is just an internal code cleanup, so no 52767 new tests. 52768 52769 * storage/LocalStorageTask.cpp: 52770 (WebCore::LocalStorageTask::LocalStorageTask): 52771 (WebCore::LocalStorageTask::performTask): 52772 * storage/LocalStorageTask.h: 52773 (WebCore::LocalStorageTask::createImport): 52774 (WebCore::LocalStorageTask::createSync): 52775 (WebCore::LocalStorageTask::createTerminate): 52776 * storage/LocalStorageThread.cpp: 52777 (WebCore::LocalStorageThread::scheduleImport): 52778 (WebCore::LocalStorageThread::scheduleSync): 52779 * storage/LocalStorageThread.h: 52780 * storage/StorageArea.h: 52781 * storage/StorageAreaImpl.cpp: 52782 (WebCore::StorageAreaImpl::~StorageAreaImpl): 52783 (WebCore::StorageAreaImpl::StorageAreaImpl): 52784 * storage/StorageAreaSync.cpp: 52785 (WebCore::StorageAreaSync::StorageAreaSync): 52786 (WebCore::StorageAreaSync::~StorageAreaSync): 52787 * storage/StorageSyncManager.cpp: 52788 (WebCore::StorageSyncManager::StorageSyncManager): 52789 (WebCore::StorageSyncManager::~StorageSyncManager): 52790 (WebCore::StorageSyncManager::scheduleImport): 52791 (WebCore::StorageSyncManager::scheduleSync): 52792 * storage/StorageSyncManager.h: 52793 52794 2009-09-28 Jeremy Orlow <jorlow (a] chromium.org> 52795 52796 Reviewed by Darin Fisher. 52797 52798 Chromium needs to be able to override the way storage events are delivered 52799 https://bugs.webkit.org/show_bug.cgi?id=29655 52800 52801 Chromium needs to be able to override the way storage events are delivered. 52802 This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be 52803 faster (no vtables and extra allocation) and somewhat cleaner (no dependency 52804 injection). This is necessary because Chromium needs to transport events across 52805 a process barrier and then dispatch them without use of a Frame*. 52806 52807 Behavior should not change with this, so no updates to tests. 52808 52809 * GNUmakefile.am: 52810 * WebCore.gypi: 52811 * WebCore.vcproj/WebCore.vcproj: 52812 * WebCore.xcodeproj/project.pbxproj: 52813 * WebCoreSources.bkl: 52814 * storage/StorageAreaImpl.cpp: 52815 (WebCore::StorageAreaImpl::setItem): 52816 (WebCore::StorageAreaImpl::removeItem): 52817 (WebCore::StorageAreaImpl::clear): 52818 * storage/StorageAreaImpl.h: 52819 * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp. 52820 (WebCore::StorageEventDispatcher::dispatch): 52821 * storage/StorageEventDispatcher.h: Added. (Well, technically in the other half of this patch.) 52822 52823 2009-09-30 Jian Li <jianli (a] chromium.org> 52824 52825 Reviewed by Darin Adler. 52826 52827 Need to check NULL frame in EventHandler::updateDragAndDrop. 52828 https://bugs.webkit.org/show_bug.cgi?id=29929 52829 52830 Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html 52831 52832 * page/EventHandler.cpp: 52833 (WebCore::EventHandler::updateDragAndDrop): 52834 52835 2009-09-29 Simon Fraser <simon.fraser (a] apple.com> 52836 52837 Reviewed by Dan Bernstein. 52838 52839 ASSERTION FAILED: !repaintContainer || repaintContainer == this 52840 https://bugs.webkit.org/show_bug.cgi?id=29755 52841 52842 Generalize the fix for this bug to account for cases where there may be multiple 52843 containing blocks between the repaint container, and the container of the element 52844 being repainted. 52845 52846 Test: compositing/repaint/opacity-between-absolute2.html 52847 52848 * rendering/RenderBox.cpp: 52849 (WebCore::RenderBox::mapLocalToContainer): 52850 Call offsetFromAncestorContainer() to get the correct offset. 52851 52852 (WebCore::RenderBox::computeRectForRepaint): Ditto 52853 * rendering/RenderInline.cpp: 52854 (WebCore::RenderInline::computeRectForRepaint): Ditto. 52855 52856 * rendering/RenderObject.h: 52857 * rendering/RenderObject.cpp: 52858 (WebCore::RenderObject::offsetFromAncestorContainer): 52859 New method that computes an offset from some object in the ancestor container() chain. 52860 52861 2009-09-30 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 52862 52863 Reviewed by Simon Hausmann. 52864 52865 [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0. 52866 This fixes https://bugs.webkit.org/show_bug.cgi?id=29736. 52867 52868 * platform/text/qt/TextCodecQt.cpp: 52869 (WebCore::TextCodecQt::decode): 52870 52871 2009-09-29 Dave Hyatt <hyatt (a] apple.com> 52872 52873 Reviewed by Jon Honeycutt. 52874 52875 Fix a couple of bugs with patterns. Move the setting of the document URL to before the style 52876 selector gets constructed so that pattern match testing gets the correct URL. 52877 52878 * loader/FrameLoader.cpp: 52879 (WebCore::FrameLoader::begin): 52880 * page/UserContentURLPattern.cpp: 52881 (WebCore::UserContentURLPattern::parse): 52882 52883 2009-09-29 Alexey Proskuryakov <ap (a] apple.com> 52884 52885 Rubber-stamped by Brady Eidson. 52886 52887 Assertion failure in http/tests/xmlhttprequest/failed-auth.html. 52888 52889 I couldn't find out why this only started to happen now, but it was incorrect to check 52890 persistence of a credential returned by CredentialStorage::get() without checking that it 52891 was non-null. When there is no credential for the protection space in storage, get() 52892 returns a new object, and Credentil constructor doesn't initialize m_persistence. 52893 52894 * platform/network/mac/ResourceHandleMac.mm: 52895 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the 52896 assertion after credential null check. 52897 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence 52898 assertion, matching sync code (and CF one, as well). 52899 52900 2009-09-29 Yong Li <yong.li (a] torchmobile.com> 52901 52902 Reviewed by Darin Adler. 52903 52904 Add an ASSERT for UTF8Encoding().isValid() 52905 https://bugs.webkit.org/show_bug.cgi?id=29908 52906 52907 * platform/text/TextEncoding.cpp: 52908 (WebCore::UTF8Encoding): 52909 52910 2009-09-29 Dave Hyatt <hyatt (a] apple.com> 52911 52912 Reviewed by Jon Honeycutt. 52913 52914 https://bugs.webkit.org/show_bug.cgi?id=29892 52915 Add support for whitelist patterns to control conditional injection of user scripts and 52916 user stylesheets. 52917 52918 No new tests. Not testable until WebKit portion is added in followup patch. 52919 52920 * GNUmakefile.am: 52921 * WebCore.gypi: 52922 * WebCore.pro: 52923 * WebCore.vcproj/WebCore.vcproj: 52924 * WebCore.xcodeproj/project.pbxproj: 52925 * dom/Document.cpp: 52926 (WebCore::Document::pageGroupUserSheets): 52927 * page/Frame.cpp: 52928 (WebCore::Frame::injectUserScriptsForWorld): 52929 * page/UserContentURLPattern.cpp: Added. 52930 (WebCore::UserContentURLPattern::matchesPatterns): 52931 (WebCore::UserContentURLPattern::parse): 52932 (WebCore::UserContentURLPattern::matches): 52933 (WebCore::UserContentURLPattern::matchesHost): 52934 (WebCore::MatchTester::MatchTester): 52935 (WebCore::MatchTester::testStringFinished): 52936 (WebCore::MatchTester::patternStringFinished): 52937 (WebCore::MatchTester::eatWildcard): 52938 (WebCore::MatchTester::eatSameChars): 52939 (WebCore::MatchTester::test): 52940 (WebCore::UserContentURLPattern::matchesPath): 52941 * page/UserContentURLPattern.h: Added. 52942 (WebCore::UserContentURLPattern::UserContentURLPattern): 52943 (WebCore::UserContentURLPattern::scheme): 52944 (WebCore::UserContentURLPattern::host): 52945 (WebCore::UserContentURLPattern::path): 52946 (WebCore::UserContentURLPattern::matchSubdomains): 52947 52948 2009-09-29 Enrica Casucci <enrica (a] apple.com> 52949 52950 Reviewed by Adele Peterson. 52951 52952 Reproducible crash pressing return inside quoted content 52953 at WebCore::BreakBlockquoteCommand::doApply. 52954 <rdar://problem/7085453> 52955 In some case, like the one provided in the test case, m_downStreamEnd 52956 refers to a node that gets deleted when executing the DeleteSelectionCommand. 52957 We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when 52958 pruning is needed, because it may be point to a node that has been deleted, but 52959 rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly. 52960 52961 Test: editing/selection/blockquote-crash.html 52962 52963 * editing/BreakBlockquoteCommand.cpp: 52964 (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position 52965 to avoid dereferencing a null node pointer. 52966 * editing/DeleteSelectionCommand.cpp: 52967 (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition 52968 using the value in m_downStreamEnd when it is necessary to prune the start block. 52969 52970 2009-09-29 Alexey Proskuryakov <ap (a] apple.com> 52971 52972 Reviewed by Brady Eidson. 52973 52974 Basic authentication credentials are not sent automatically to top resources 52975 https://bugs.webkit.org/show_bug.cgi?id=29901 52976 52977 No new tests - I don't want to pollute root directory of http tests to check for this rather 52978 minor issue. 52979 52980 * platform/network/CredentialStorage.cpp: 52981 (WebCore::CredentialStorage::set): Changed to always preserve leading slash. 52982 (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the 52983 loop more explicit. 52984 52985 2009-09-29 Pavel Feldman <pfeldman (a] chromium.org> 52986 52987 Reviewed by Oliver Hunt. 52988 52989 Web Inspector REGRESSION(r47820-r47822): Profiles aren't 52990 added to the inspector unless the inspector is already open 52991 when the profile completes. 52992 52993 https://bugs.webkit.org/show_bug.cgi?id=29897 52994 52995 * inspector/front-end/ProfilesPanel.js: 52996 (WebInspector.ProfilesPanel.prototype._populateProfiles): 52997 52998 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 52999 53000 Rubberstamped by David Hyatt. 53001 53002 Fix to logic of earlier commit 48902. 53003 53004 When merging two if's before committing, I forgot to invert the 53005 bool check. 53006 53007 * platform/network/qt/QNetworkReplyHandler.cpp: 53008 (WebCore::ignoreHttpError): 53009 53010 2009-09-29 Stephen White <senorblanco (a] chromium.org> 53011 53012 Unreviewed, build fix. 53013 53014 Fixing Chromium build, following r48884. 53015 53016 [https://bugs.webkit.org/show_bug.cgi?id=29894] 53017 53018 * bindings/v8/V8AbstractEventListener.cpp: 53019 (WebCore::V8AbstractEventListener::handleEvent): 53020 * bindings/v8/V8AbstractEventListener.h: 53021 * bindings/v8/V8WorkerContextEventListener.cpp: 53022 (WebCore::V8WorkerContextEventListener::handleEvent): 53023 * bindings/v8/V8WorkerContextEventListener.h: 53024 53025 2009-09-29 Kent Tamura <tkent (a] chromium.org> 53026 53027 Reviewed by Darin Adler. 53028 53029 Follows HTML5's maxLength change in September 2009. 53030 - Change HTMLTextAreaElement.maxLength type to signed. 53031 - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing. 53032 - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength 53033 throw INDEX_SIZE_ERR for setting negative values. 53034 https://bugs.webkit.org/show_bug.cgi?id=29796 53035 53036 * html/HTMLInputElement.cpp: 53037 (WebCore::HTMLInputElement::setMaxLength): 53038 * html/HTMLInputElement.h: 53039 * html/HTMLInputElement.idl: 53040 * html/HTMLTextAreaElement.cpp: 53041 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): 53042 (WebCore::HTMLTextAreaElement::maxLength): 53043 (WebCore::HTMLTextAreaElement::setMaxLength): 53044 * html/HTMLTextAreaElement.h: 53045 * html/HTMLTextAreaElement.idl: 53046 53047 2009-09-29 Dimitri Glazkov <dglazkov (a] chromium.org> 53048 53049 No review, rolling out r48894, because review discussion was not complete. 53050 http://trac.webkit.org/changeset/48894 53051 53052 * platform/sql/SQLiteTransaction.cpp: 53053 (WebCore::SQLiteTransaction::begin): 53054 53055 2009-09-29 Dirk Schulze <krit (a] webkit.org> 53056 53057 Reviewed by Nikolas Zimmermann. 53058 53059 SVG Filter feComposite implementation is missing 53060 [https://bugs.webkit.org/show_bug.cgi?id=28362] 53061 53062 feComposite implementation for SVG. 53063 53064 Test: svg/filters/feComposite.svg 53065 53066 * platform/graphics/filters/FEComposite.cpp: 53067 (WebCore::arithmetic): 53068 (WebCore::FEComposite::apply): 53069 53070 2009-09-29 Dumitru Daniliuc <dumi (a] chromium.org> 53071 53072 Reviewed by Dimitri Glazkov. 53073 53074 Starting all read-only transactions with an explicit BEGIN 53075 DEFERRED command instead of BEGIN, since some ports (chromium) 53076 might compile their own SQLite library and set BEGIN to BEGIN 53077 IMMEDIATE by default; which would result in a deadlock in case of 53078 two concurrent read-only transactions on the same DB, and would 53079 unnecessarily delay other potential transactions to the same DB. 53080 53081 https://bugs.webkit.org/show_bug.cgi?id=29729 53082 53083 * platform/sql/SQLiteTransaction.cpp: 53084 (WebCore::SQLiteTransaction::begin): 53085 53086 2009-09-29 Kenneth Russell <kbr (a] google.com> 53087 53088 Reviewed by Dimitri Glazkov. 53089 53090 Add support for run-time flag for 3D canvas 53091 https://bugs.webkit.org/show_bug.cgi?id=29826 53092 53093 * html/HTMLCanvasElement.cpp: 53094 (WebCore::HTMLCanvasElement::getContext): Check page settings for 53095 experimental WebGL flag before returning 3D graphics context. 53096 * page/Settings.cpp: 53097 (WebCore::Settings::Settings): Initialize new flag to false. 53098 (WebCore::Settings::setExperimentalWebGLEnabled): 53099 * page/Settings.h: Set new flag. 53100 (WebCore::Settings::experimentalWebGLEnabled): Return new flag. 53101 53102 2009-09-29 Jeremy Orlow <jorlow (a] chromium.org> 53103 53104 Reviewed by Darin Fisher. 53105 53106 Chromium needs to be able to override the way storage events are delivered - part 1 53107 https://bugs.webkit.org/show_bug.cgi?id=29889 53108 53109 Chromium needs to be able to override the way storage events are delivered. 53110 This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be 53111 faster (no vtables and extra allocation) and somewhat cleaner (no dependency 53112 injection). This is necessary because Chromium needs to transport events across 53113 a process barrier and then dispatch them without use of a Frame*. 53114 53115 This patch should be a no-op for all ports other than Chromium. 53116 53117 * WebCore.gypi: 53118 * storage/StorageEventDispatcher.h: Added. 53119 53120 2009-09-29 Oliver Hunt <oliver (a] apple.com> 53121 53122 Reviewed by NOBODY (missed file). 53123 53124 Adding file missed in previous commit. 53125 53126 * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h. 53127 53128 2009-09-29 Dimitri Glazkov <dglazkov (a] chromium.org> 53129 53130 Reviewed by Darin Fisher. 53131 53132 [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared. 53133 https://bugs.webkit.org/show_bug.cgi?id=29888 53134 53135 Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html 53136 53137 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 53138 (WebCore::getEventListener): Added isAttribute parameter. 53139 (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners. 53140 (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener. 53141 53142 2009-09-22 Martin Robinson <martin.james.robinson (a] gmail.com> 53143 53144 Reviewed by Eric Seidel. 53145 53146 Fix corruption for non-square images. 53147 53148 [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images 53149 https://bugs.webkit.org/show_bug.cgi?id=29654 53150 53151 Added an additional manual-test for this issue to the existing Gtk 53152 cursor image test. 53153 53154 * manual-tests/gtk/cursor-image.html: 53155 * manual-tests/gtk/resources/long_cell.cur: Added. 53156 * platform/graphics/gtk/ImageGtk.cpp: 53157 (WebCore::BitmapImage::getGdkPixbuf): 53158 53159 2009-09-29 Alexey Proskuryakov <ap (a] apple.com> 53160 53161 Reviewed by Timothy Hatcher. 53162 53163 Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody() 53164 53165 * bindings/js/ScriptEventListener.cpp: 53166 (WebCore::getEventListenerHandlerBody): 53167 * bindings/js/ScriptEventListener.h: 53168 * bindings/v8/ScriptEventListener.cpp: 53169 (WebCore::getEventListenerHandlerBody): 53170 * bindings/v8/ScriptEventListener.h: 53171 * inspector/InspectorDOMAgent.cpp: 53172 (WebCore::InspectorDOMAgent::buildObjectForEventListener): 53173 53174 2009-09-29 Nate Chapin <japhet (a] chromium.org> 53175 53176 Reviewed by Eric Seidel. 53177 53178 Ensure that we don't scroll lock to an anchor node after a 53179 user-initiated scroll, even if that scroll doesn't propagate 53180 all the way up to FrameView. 53181 53182 Test: fast/events/node-event-anchor-lock.html 53183 53184 * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame. 53185 (WebCore::EventHandler::scrollOverflow): 53186 (WebCore::EventHandler::handleWheelEvent): 53187 (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser(); 53188 (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent(); 53189 (WebCore::EventHandler::passMousePressEventToScrollbar): 53190 * page/EventHandler.h: Declare setFrameWasScrolledByUser(). 53191 53192 2009-09-28 Alexey Proskuryakov <ap (a] apple.com> 53193 53194 Reviewed by Darin Adler and Sam Weinig. 53195 53196 Onclick not fired for an element copied with cloneContents() or cloneNode() 53197 https://bugs.webkit.org/show_bug.cgi?id=25130 53198 53199 The change here is that JS event listeners don't keep a reference to a global object from 53200 where they were created, and instead take it as a parameter when parsing source code. Also, 53201 the listener creation won't fail just because it happens for an element in a frameless 53202 document. 53203 Thus, moving nodes between documents no longer results in having incorrect registered 53204 lazy event listeners on them. 53205 53206 Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html 53207 fast/events/attribute-listener-cloned-from-frameless-doc-context.html 53208 fast/events/attribute-listener-cloned-from-frameless-doc.xhtml 53209 fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html 53210 fast/events/attribute-listener-extracted-from-frameless-doc-context.html 53211 53212 * bindings/js/JSEventListener.cpp: 53213 (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. 53214 (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for 53215 getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. 53216 (WebCore::JSEventListener::markJSFunction): Don't mark the global object. 53217 (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. 53218 (WebCore::JSEventListener::reportError): Ditto. 53219 53220 * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference 53221 to JSDOMGlobalObject. 53222 53223 * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener 53224 creation was split between this function and ScriptEventListener; moved it here, as JS 53225 global object can be different now. 53226 53227 * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, 53228 which can not be determined at parsing time. 53229 53230 * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code 53231 for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests 53232 expect that errors are logged at document parsing time, and because I don't know what other 53233 side effects moving it vould have. 53234 53235 * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, 53236 because JSC needs a global context here. 53237 53238 * bindings/js/JSAbstractWorkerCustom.cpp: 53239 (WebCore::JSAbstractWorker::addEventListener): 53240 (WebCore::JSAbstractWorker::removeEventListener): 53241 * bindings/js/JSDOMApplicationCacheCustom.cpp: 53242 (WebCore::JSDOMApplicationCache::addEventListener): 53243 (WebCore::JSDOMApplicationCache::removeEventListener): 53244 * bindings/js/JSDOMGlobalObject.cpp: 53245 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 53246 * bindings/js/JSDOMWindowCustom.cpp: 53247 (WebCore::JSDOMWindow::addEventListener): 53248 (WebCore::JSDOMWindow::removeEventListener): 53249 * bindings/js/JSEventSourceCustom.cpp: 53250 (WebCore::JSEventSource::addEventListener): 53251 (WebCore::JSEventSource::removeEventListener): 53252 * bindings/js/JSMessagePortCustom.cpp: 53253 (WebCore::JSMessagePort::addEventListener): 53254 (WebCore::JSMessagePort::removeEventListener): 53255 * bindings/js/JSNodeCustom.cpp: 53256 (WebCore::JSNode::addEventListener): 53257 (WebCore::JSNode::removeEventListener): 53258 * bindings/js/JSSVGElementInstanceCustom.cpp: 53259 (WebCore::JSSVGElementInstance::addEventListener): 53260 (WebCore::JSSVGElementInstance::removeEventListener): 53261 * bindings/js/JSWorkerContextCustom.cpp: 53262 (WebCore::JSWorkerContext::addEventListener): 53263 (WebCore::JSWorkerContext::removeEventListener): 53264 * bindings/js/JSXMLHttpRequestCustom.cpp: 53265 (WebCore::JSXMLHttpRequest::addEventListener): 53266 (WebCore::JSXMLHttpRequest::removeEventListener): 53267 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 53268 (WebCore::JSXMLHttpRequestUpload::addEventListener): 53269 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 53270 * bindings/objc/ObjCEventListener.h: 53271 * bindings/objc/ObjCEventListener.mm: 53272 (WebCore::ObjCEventListener::handleEvent): 53273 * bindings/scripts/CodeGeneratorJS.pm: 53274 * dom/EventTarget.cpp: 53275 (WebCore::EventTarget::fireEventListeners): 53276 * inspector/InspectorDOMAgent.cpp: 53277 (WebCore::InspectorDOMAgent::handleEvent): 53278 * inspector/InspectorDOMAgent.h: 53279 * inspector/InspectorDOMStorageResource.cpp: 53280 (WebCore::InspectorDOMStorageResource::handleEvent): 53281 * inspector/InspectorDOMStorageResource.h: 53282 * loader/ImageDocument.cpp: 53283 (WebCore::ImageEventListener::handleEvent): 53284 * svg/animation/SVGSMILElement.cpp: 53285 (WebCore::ConditionEventListener::handleEvent): 53286 * workers/WorkerContext.cpp: 53287 (WebCore::WorkerContext::reportException): 53288 Don't pass global object to JSEventListener::create(), which no longer needs it. 53289 Note that some of these functions still have an early return for null global object, which 53290 can probably be removed in a later patch. 53291 Pass ScriptExecutionContext to EventListener methods that now need it. 53292 53293 * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node - 53294 it doesn't work yet (it didn't quite work before this patch, too, because it assumed that 53295 any object implementing EventTarget COM interface originated from WebCore). 53296 53297 * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in 53298 COM bindings. 53299 53300 2009-09-28 Geoffrey Garen <ggaren (a] apple.com> 53301 53302 Reviewed by Sam Weinig. 53303 53304 Removed virtual destructor from JSGlobalObjectData to eliminate pointer 53305 fix-ups when accessing JSGlobalObject::d. 53306 53307 Replaced with an explicit destructor function pointer. 53308 53309 * bindings/js/JSDOMGlobalObject.cpp: 53310 (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData): 53311 * bindings/js/JSDOMGlobalObject.h: 53312 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 53313 53314 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 53315 53316 Reviewed by Simon Hausmann. 53317 53318 Don't rely on QNetworkReply::NetworkError codes, but 53319 on HTTP error codes instead. 53320 53321 * platform/network/qt/QNetworkReplyHandler.cpp: 53322 (WebCore::ignoreHttpError): 53323 (WebCore::QNetworkReplyHandler::finish): 53324 53325 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 53326 53327 Reviewed by Simon Hausmann. 53328 53329 Use const references when using Qt's foreach. 53330 53331 * platform/network/qt/QNetworkReplyHandler.cpp: 53332 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 53333 53334 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 53335 53336 Reviewed by Simon Hausmann. 53337 53338 Fix handling of QNetworkReply errors. 53339 53340 In the QNetworkReplyHandler::finish() a response was sent even when 53341 the reply contained an error. This resulted in a sendResponseIfNeeded() 53342 calling didReceiveResponse on the client, leading to the destruction 53343 of the m_resourceHandle, discontinuing further processing in finish(), 53344 and thus not calling didFail on the client. 53345 53346 Instead it continued as everything went fine, and 53347 FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the 53348 policy to PolicyDownload due to not being able to show the non existing 53349 MIMEType. As the download also obviously fails, it ended up with a 53350 policy change error. 53351 53352 * platform/network/qt/QNetworkReplyHandler.cpp: 53353 (WebCore::QNetworkReplyHandler::finish): 53354 53355 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 53356 53357 Reviewed by Simon Hausmann. 53358 53359 The code for showing error pages when the response was 53360 a 401/403/404, was not actually doing so. This patch 53361 fixes that. 53362 53363 * platform/network/qt/QNetworkReplyHandler.cpp: 53364 (WebCore::QNetworkReplyHandler::finish): 53365 53366 2009-09-28 Alexey Proskuryakov <ap (a] apple.com> 53367 53368 Reviewed by Brady Eidson. 53369 53370 <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html 53371 is failing/crashing intermittently 53372 https://bugs.webkit.org/show_bug.cgi?id=29322 53373 53374 This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated. 53375 The code had other issues as well, so I removed it altogether: 53376 - it claimed to avoid some buffer copies, but it didn't; 53377 - and I don't think that base64 encoding should be part of CString interface. 53378 53379 * platform/network/mac/ResourceHandleMac.mm: 53380 (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly. 53381 (WebCore::ResourceHandle::start): Use encodeBasicAuthorization(). 53382 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto. 53383 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging 53384 to synchronous case. 53385 (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto. 53386 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. 53387 (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto. 53388 (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto. 53389 (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto. 53390 (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto. 53391 53392 * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes. 53393 53394 * platform/text/CString.cpp: 53395 * platform/text/CString.h: 53396 (WebCore::CStringBuffer::create): 53397 (WebCore::CStringBuffer::CStringBuffer): 53398 Removed code that was added for Base64 in r48363. 53399 53400 2009-09-29 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 53401 53402 Reviewed by Simon Hausmann. 53403 53404 Fix typo in Localizations.cpp 53405 53406 https://bugs.webkit.org/show_bug.cgi?id=29872 53407 53408 * platform/qt/Localizations.cpp: 53409 (WebCore::localizedMediaControlElementHelpText): 53410 53411 2009-09-29 Simon Hausmann <simon.hausmann (a] nokia.com> 53412 53413 Reviewed by Tor Arne Vestb. 53414 53415 Make the XSLT conditional in DOMWindow.idl's xsltProcessor 53416 attribute conditional in the generated files, similar to 53417 r44116. 53418 53419 * page/DOMWindow.idl: 53420 53421 2009-09-29 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 53422 53423 Reviewed by Simon Hausmann and Tor Arne Vestb. 53424 53425 Use the ResourceError as it is supposed to and handle 53426 not HTTP errors from QNetworkReply. 53427 53428 Thanks to Adam Roben for his input. 53429 53430 * platform/network/qt/QNetworkReplyHandler.cpp: 53431 (WebCore::QNetworkReplyHandler::finish): 53432 53433 2009-09-29 Pavel Feldman <pfeldman (a] chromium.org> 53434 53435 Reviewed by Timothy Hatcher. 53436 53437 Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener. 53438 53439 https://bugs.webkit.org/show_bug.cgi?id=29816 53440 53441 * bindings/js/ScriptEventListener.cpp: 53442 (WebCore::getEventListenerHandlerBody): 53443 * bindings/js/ScriptEventListener.h: 53444 * bindings/v8/ScriptEventListener.cpp: 53445 (WebCore::getEventListenerHandlerBody): 53446 * bindings/v8/ScriptEventListener.h: 53447 * inspector/InspectorDOMAgent.cpp: 53448 (WebCore::InspectorDOMAgent::buildObjectForEventListener): 53449 53450 2009-09-29 Xan Lopez <xlopez (a] igalia.com> 53451 53452 Unreviewed attempt to fix the build. 53453 53454 * page/Settings.cpp: 53455 (WebCore::Settings::Settings): 53456 53457 2009-09-28 Fumitoshi Ukai <ukai (a] chromium.org> 53458 53459 Reviewed by Eric Seidel. 53460 53461 Add experimentalWebSocketsEnabled in Settings. 53462 https://bugs.webkit.org/show_bug.cgi?id=28941 53463 53464 * WebCore.base.exp: 53465 * bindings/js/JSDOMWindowCustom.cpp: 53466 (WebCore::JSDOMWindow::webSocket): 53467 * bindings/v8/V8DOMWrapper.cpp: 53468 (WebCore::V8DOMWrapper::getConstructor): 53469 * bindings/v8/custom/V8WebSocketCustom.cpp: 53470 * page/Settings.cpp: 53471 (WebCore::Settings::Settings): 53472 (WebCore::Settings::setExperimentalWebSocketsEnabled): 53473 * page/Settings.h: 53474 (WebCore::Settings::experimentalWebSocketsEnabled): 53475 53476 2009-09-11 Fumitoshi Ukai <ukai (a] chromium.org> 53477 53478 Reviewed by Adam Barth. 53479 53480 Add platform code to support WebSocket for chromium. 53481 https://bugs.webkit.org/show_bug.cgi?id=29171 53482 53483 To build within chromium tree, it requires a patch in bug 29174. 53484 Real implementation will be landed in chromium tree. 53485 53486 * WebCore.gypi: 53487 * platform/network/chromium/SocketStreamError.h: Added. 53488 (WebCore::SocketStreamError::SocketStreamError): 53489 * platform/network/chromium/SocketStreamHandle.h: Added. 53490 (WebCore::SocketStreamHandle::create): 53491 53492 2009-09-28 Dan Bernstein <mitz (a] apple.com> 53493 53494 Reviewed by Sam Weinig. 53495 53496 <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight() 53497 when Times New Roman is not installed 53498 53499 * platform/graphics/win/FontCacheWin.cpp: 53500 (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is 53501 not available, use the Windows default GUI font. 53502 53503 2009-09-28 Jian Li <jianli (a] chromium.org> 53504 53505 Reviewed by David Levin. 53506 53507 Do not add platform-specific methods to cross-platform header 53508 FileSystem.h per Darin's feedback for 29109. 53509 https://bugs.webkit.org/show_bug.cgi?id=29830 53510 53511 * platform/FileSystem.h: 53512 * platform/chromium/DragDataChromium.cpp: 53513 (WebCore::DragData::asURL): 53514 * platform/chromium/FileSystemChromium.cpp: 53515 53516 2009-09-28 Dumitru Daniliuc <dumi (a] chromium.org> 53517 53518 Reviewed by Dimitri Glazkov. 53519 53520 Register Chromium's VFSs with a proper sqlite3_io_methods 53521 finder. This should only affect the POSIX implementation. The 53522 Windows change is included for consistency and in case sqlite 53523 starts using something similar in its Windows VFS in the future. 53524 53525 https://bugs.webkit.org/show_bug.cgi?id=29743 53526 53527 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 53528 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 53529 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 53530 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 53531 53532 2009-09-28 Nate Chapin <japhet (a] chromium.org> 53533 53534 Reviewed by Adam Barth. 53535 53536 Change the V8 bindings' handling of window.toString(), 53537 so we return [object DOMWindow] (like JSC), not [object global]. 53538 53539 https://bugs.webkit.org/show_bug.cgi?id=29742 53540 53541 This will fix a couple of Chromium port test failures and enable us to 53542 use the default expectations for a bunch more. 53543 53544 * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead 53545 of the global object wrapper when it's available in the DOMWindow toString callback. 53546 53547 2009-09-28 Nate Chapin <japhet (a] chromium.org> 53548 53549 Rubber stamped by David Levin. 53550 53551 Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp. 53552 53553 * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h. 53554 53555 2009-09-28 Geoffrey Garen <ggaren (a] apple.com> 53556 53557 Reviewed by Darin Adler. 53558 53559 NotNullPassRefPtr: smart pointer optimized for passing references that are not null 53560 https://bugs.webkit.org/show_bug.cgi?id=29822 53561 53562 Added NotNullPassRefPtr, and deployed it in all places that initialize 53563 JavaScript objects. 53564 53565 * bindings/js/DOMObjectWithSVGContext.h: 53566 (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): 53567 * bindings/js/JSDOMBinding.cpp: 53568 (WebCore::cacheDOMStructure): 53569 * bindings/js/JSDOMBinding.h: 53570 (WebCore::DOMObject::DOMObject): 53571 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 53572 (WebCore::DOMConstructorObject::DOMConstructorObject): 53573 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): 53574 * bindings/js/JSDOMGlobalObject.cpp: 53575 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): 53576 * bindings/js/JSDOMGlobalObject.h: 53577 * bindings/js/JSDOMWindowBase.cpp: 53578 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 53579 * bindings/js/JSDOMWindowBase.h: 53580 * bindings/js/JSHTMLAllCollection.h: 53581 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 53582 * bindings/js/JSInspectedObjectWrapper.cpp: 53583 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): 53584 * bindings/js/JSInspectedObjectWrapper.h: 53585 * bindings/js/JSInspectorCallbackWrapper.cpp: 53586 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): 53587 * bindings/js/JSInspectorCallbackWrapper.h: 53588 * bindings/js/JSQuarantinedObjectWrapper.cpp: 53589 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): 53590 * bindings/js/JSQuarantinedObjectWrapper.h: 53591 * bindings/js/JSWorkerContextBase.cpp: 53592 (WebCore::JSWorkerContextBase::JSWorkerContextBase): 53593 * bindings/js/JSWorkerContextBase.h: 53594 * bindings/scripts/CodeGeneratorJS.pm: 53595 * bridge/runtime_object.cpp: 53596 (JSC::RuntimeObjectImp::RuntimeObjectImp): 53597 * bridge/runtime_object.h: 53598 53599 2009-09-28 Nate Chapin <japhet (a] chromium.org> 53600 53601 Reviewed by Dimitri Glazkov. 53602 53603 Allow V8 to handle x/y parameters in a WebKitPoint constructor. 53604 https://bugs.webkit.org/show_bug.cgi?id=29823 53605 53606 Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html 53607 53608 * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor. 53609 53610 2009-09-28 Mark Rowe <mrowe (a] apple.com> 53611 53612 Fix the build by doing something approximating reasonableness in the Xcode project. 53613 53614 * WebCore.xcodeproj/project.pbxproj: 53615 53616 2009-09-28 Simon Hausmann <hausmann (a] webkit.org> 53617 53618 Prospective Tiger build fix. 53619 53620 * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files. 53621 53622 2009-09-28 Pavel Feldman <pfeldman (a] chromium.org> 53623 53624 Reviewed by Timothy Hatcher. 53625 53626 Web Inspector: Add explicit frontend event for commit load. 53627 53628 https://bugs.webkit.org/show_bug.cgi?id=29814 53629 53630 * inspector/InspectorController.cpp: 53631 (WebCore::InspectorController::didCommitLoad): 53632 * inspector/InspectorFrontend.cpp: 53633 (WebCore::InspectorFrontend::didCommitLoad): 53634 * inspector/InspectorFrontend.h: 53635 * inspector/front-end/DOMAgent.js: 53636 (WebInspector.DOMAgent.prototype._setDocument): 53637 * inspector/front-end/inspector.js: 53638 (WebInspector.addResource): 53639 (WebInspector.didCommitLoad): 53640 53641 2009-09-28 Yaar Schnitman <yaar (a] chromium.org> 53642 53643 Reviewed by Dimitri Glazkov. 53644 53645 Chromium port - recognize we are being built independently 53646 of chromium and look for dependencies under webkit/chromium rather 53647 than chromium/src. 53648 53649 https://bugs.webkit.org/show_bug.cgi?id=29722 53650 53651 * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from 53652 the sources list, since they are not supposed to be built here. 53653 53654 2009-09-28 Jakub Wieczorek <faw217 (a] gmail.com> 53655 53656 Reviewed by Simon Hausmann. 53657 53658 [Qt] Implement XSLT support with QtXmlPatterns. 53659 https://bugs.webkit.org/show_bug.cgi?id=28303 53660 53661 * GNUmakefile.am: 53662 * WebCore.gypi: 53663 * WebCore.pro: 53664 * WebCore.vcproj/WebCore.vcproj: 53665 * WebCoreSources.bkl: 53666 * dom/Document.cpp: 53667 (WebCore::Document::Document): 53668 (WebCore::Document::~Document): 53669 (WebCore::Document::setTransformSource): 53670 * dom/Document.h: 53671 (WebCore::Document::transformSource): 53672 * dom/TransformSource.h: Added. 53673 (WebCore::TransformSource::platformSource): 53674 * dom/TransformSourceLibxslt.cpp: Added. 53675 (WebCore::TransformSource::TransformSource): Wraps a libxml2 document. 53676 (WebCore::TransformSource::~TransformSource): 53677 * dom/TransformSourceQt.cpp: Added. 53678 (WebCore::TransformSource::TransformSource): Wraps a plain string. 53679 (WebCore::TransformSource::~TransformSource): 53680 * dom/XMLTokenizerLibxml2.cpp: 53681 (WebCore::XMLTokenizer::doEnd): 53682 * dom/XMLTokenizerQt.cpp: 53683 (WebCore::XMLTokenizer::doEnd): 53684 (WebCore::XMLTokenizer::parseProcessingInstruction): 53685 * xml/XSLStyleSheet.h: 53686 (WebCore::XSLStyleSheet::sheetString): 53687 * xml/XSLStyleSheetLibxslt.cpp: 53688 (WebCore::XSLStyleSheet::document): 53689 * xml/XSLStyleSheetQt.cpp: Added. 53690 * xml/XSLTProcessor.h: 53691 * xml/XSLTProcessorLibxslt.cpp: 53692 (WebCore::xmlDocPtrFromNode): 53693 * xml/XSLTProcessorQt.cpp: Added. 53694 (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler. 53695 (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console. 53696 (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery. 53697 53698 2009-09-28 Andrew Scherkus <scherkus (a] chromium.org> 53699 53700 Reviewed by Eric Carlson. 53701 53702 Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme. 53703 53704 https://bugs.webkit.org/show_bug.cgi?id=28689 53705 53706 Covered by LayoutTests/media/video-no-audio.html 53707 53708 * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded(). 53709 (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart(). 53710 (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart(). 53711 * rendering/MediaControlElements.h: 53712 * rendering/RenderTheme.cpp: 53713 (WebCore::RenderTheme::shouldRenderMediaControlPart): New method. Contains logic moved from subclass implementations of rendererIsNeeded(). 53714 * rendering/RenderTheme.h: 53715 * rendering/RenderThemeChromiumSkia.cpp: 53716 (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button. 53717 * rendering/RenderThemeChromiumSkia.h: 53718 53719 2009-09-28 Jian Li <jianli (a] chromium.org> 53720 53721 Reviewed by David Levin. 53722 53723 [chromium] DragData::asURL should return file URL. 53724 https://bugs.webkit.org/show_bug.cgi?id=29109 53725 53726 Tested by LayoutTests/fast/events/drag-to-navigate.html. 53727 53728 * platform/FileSystem.h: 53729 * platform/chromium/ChromiumBridge.h: 53730 * platform/chromium/DragDataChromium.cpp: 53731 (WebCore::DragData::asURL): 53732 * platform/chromium/FileSystemChromium.cpp: 53733 (WebCore::getAbsolutePath): 53734 (WebCore::isDirectory): 53735 (WebCore::filePathToURL): 53736 53737 2009-09-28 Dimitri Glazkov <dglazkov (a] chromium.org> 53738 53739 Reviewed by David Levin. 53740 53741 [V8] Add a special case to handle index arguments, because we need to be 53742 able to see if they're < 0. 53743 https://bugs.webkit.org/show_bug.cgi?id=29810 53744 53745 Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html 53746 53747 * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm) 53748 for index arguments. 53749 53750 2009-09-28 Dan Bernstein <mitz (a] apple.com> 53751 53752 Reviewed by Darin Adler. 53753 53754 Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions 53755 https://bugs.webkit.org/show_bug.cgi?id=29792 53756 53757 * html/HTMLLinkElement.cpp: 53758 (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are 53759 enabled, check if the linked style sheet is one of two versions of the 53760 MediaWiki KHTMLFixes.css. If so, remove the offending rule. 53761 53762 2009-09-28 Dimitri Glazkov <dglazkov (a] chromium.org> 53763 53764 Reviewed by Adam Barth. 53765 53766 [V8] Fix an error in type logic in CodeGeneratorV8.pm, where 53767 unsigned ints are accidentally used as signed. 53768 https://bugs.webkit.org/show_bug.cgi?id=29810 53769 53770 Test: LayoutTests/fast/forms/textarea-maxlength.html 53771 53772 * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is 53773 properly generates on "unsigned" return value. 53774 53775 2009-09-28 Jakub Wieczorek <faw217 (a] gmail.com> 53776 53777 Reviewed by Simon Hausmann. 53778 53779 Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp. 53780 https://bugs.webkit.org/show_bug.cgi?id=28303 53781 53782 In preparation for adding XSLT support with QtXmlPatterns to the Qt 53783 port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will 53784 have our own implementation which most likely will not share any code 53785 with the current one. 53786 53787 Additionally, fix some coding style issues. 53788 53789 * GNUmakefile.am: 53790 * WebCore.gypi: 53791 * WebCore.vcproj/WebCore.vcproj: 53792 * WebCore.xcodeproj/project.pbxproj: 53793 * WebCoreSources.bkl: 53794 * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp. 53795 * xml/XSLStyleSheetLibxslt.cpp: Added. 53796 53797 2009-09-28 Simon Hausmann <simon.hausmann (a] nokia.com> 53798 53799 Prospective build fix for r48812. 53800 53801 Forgot to remove the inline reset() implementation when reverting the indentation 53802 changes in the file. 53803 53804 * xml/XSLTProcessor.h: 53805 53806 2009-09-28 Pavel Feldman <pfeldman (a] chromium.org> 53807 53808 Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed. 53809 53810 Web Inspector: Follow up to r48809. 53811 InspectorController.wrapObject should only be called on the inspectable page side. 53812 53813 https://bugs.webkit.org/show_bug.cgi?id=17429 53814 53815 * inspector/front-end/EventListenersSidebarPane.js: 53816 (WebInspector.EventListenersSidebarPane.prototype.update.callback): 53817 (WebInspector.EventListenersSidebarPane.prototype.update): 53818 (WebInspector.EventListenersSection): 53819 (WebInspector.EventListenersSection.prototype.update): 53820 (WebInspector.EventListenerBar): 53821 (WebInspector.EventListenerBar.prototype.update): 53822 53823 2009-09-28 Jakub Wieczorek <faw217 (a] gmail.com> 53824 53825 Reviewed by Simon Hausmann. 53826 53827 Move the libxslt specific part of XSLTProcessor to a separate file. 53828 https://bugs.webkit.org/show_bug.cgi?id=28303 53829 53830 In preparation for adding XSLT support with QtXmlPatterns to the Qt 53831 port, move the libxslt part of the XSLTProcessor implementation into 53832 another file and leave the part that can be reused and shared. 53833 53834 Additionally, fix some coding style issues. 53835 53836 * GNUmakefile.am: 53837 * WebCore.gypi: 53838 * WebCore.vcproj/WebCore.vcproj: 53839 * WebCore.xcodeproj/project.pbxproj: 53840 * WebCoreSources.bkl: 53841 * xml/XSLTProcessor.cpp: 53842 (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces. 53843 (WebCore::createFragmentFromSource): Remove trailing whitespaces. 53844 (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces. 53845 (WebCore::XSLTProcessor::reset): Moved out of the class definition. 53846 * xml/XSLTProcessorLibxslt.cpp: Added. 53847 (WebCore::XSLTProcessor::genericErrorFunc): Moved. 53848 (WebCore::XSLTProcessor::parseErrorFunc): Moved. 53849 (WebCore::docLoaderFunc): Moved. 53850 (WebCore::setXSLTLoadCallBack): Moved. 53851 (WebCore::writeToVector): Moved. 53852 (WebCore::saveResultToString): Moved. 53853 (WebCore::xsltParamArrayFromParameterMap): Moved. 53854 (WebCore::freeXsltParamArray): Moved. 53855 (WebCore::xsltStylesheetPointer): Moved. 53856 (WebCore::xmlDocPtrFromNode): Moved. 53857 (WebCore::resultMIMEType): Moved. 53858 (WebCore::XSLTProcessor::transformToString): Moved. 53859 53860 2009-09-28 Charles Wei <charles.wei (a] torchmobile.com.cn> 53861 53862 Reviewed by Nikolas Zimmermann. 53863 53864 Fix the crash of SVG that crashes when use a non-exist symbol 53865 https://bugs.webkit.org/show_bug.cgi?id=27693 53866 53867 Test: svg/custom/use-non-existing-symbol-crash.svg 53868 53869 * svg/SVGUseElement.cpp: 53870 (WebCore::shadowTreeContainsChangedNodes): 53871 53872 2009-09-28 Joseph Pecoraro <joepeck (a] webkit.org> 53873 53874 Reviewed by Timothy Hatcher. 53875 53876 Inspector Should Show Event Listeners/Handlers Registered on each Node 53877 https://bugs.webkit.org/show_bug.cgi?id=17429 53878 53879 Extracted a method from dispatchEvent to get the event ancestor chain 53880 53881 * dom/Node.cpp: 53882 (WebCore::Node::eventAncestors): the extracted method 53883 (WebCore::Node::dispatchGenericEvent): use eventAncestors 53884 * dom/Node.h: 53885 53886 Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend 53887 The DOMAgent's getEventListenersForNode handles the logic of finding 53888 all the relevant listeners in the event flow. 53889 53890 * inspector/InspectorBackend.cpp: 53891 (WebCore::InspectorBackend::getEventListenersForNode): 53892 * inspector/InspectorBackend.h: 53893 * inspector/InspectorBackend.idl: 53894 * inspector/InspectorDOMAgent.cpp: 53895 (WebCore::InspectorDOMAgent::getEventListenersForNode): 53896 (WebCore::InspectorDOMAgent::buildObjectForEventListener): 53897 (WebCore::InspectorDOMAgent::buildObjectForNode): added localName 53898 * inspector/InspectorDOMAgent.h: 53899 (WebCore::EventListenerInfo::EventListenerInfo): 53900 * inspector/InspectorFrontend.cpp: 53901 (WebCore::InspectorFrontend::didGetEventListenersForNode): 53902 * inspector/InspectorFrontend.h: 53903 (WebCore::InspectorFrontend::scriptState): 53904 * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload 53905 (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback): 53906 (WebInspector.EventListeners.getEventListenersForNodeAsync): 53907 53908 New Sidebar Pane in the Element's Panel 53909 Includes Gear Menu for filtering the Event Listeners on the 53910 "Selected Node Only" or "All Nodes" 53911 53912 * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary 53913 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 53914 (WebInspector.ElementsPanel): 53915 (WebInspector.ElementsPanel.prototype.updateEventListeners): 53916 * inspector/front-end/EventListenersSidebarPane.js: Added. 53917 (WebInspector.EventListenersSidebarPane): The 1st level in the Pane 53918 (WebInspector.EventListenersSidebarPane.prototype.update.callback): 53919 (WebInspector.EventListenersSidebarPane.prototype.update): 53920 (WebInspector.EventListenersSection): The 2nd level in the Pane 53921 (WebInspector.EventListenersSection.prototype.update): filters on Preference 53922 (WebInspector.EventListenersSection.prototype.addListener): 53923 (WebInspector.EventListenerBar): The 3rd level in the Pane 53924 (WebInspector.EventListenerBar.prototype._getNodeDisplayName): 53925 (WebInspector.EventListenerBar.prototype._getFunctionDisplayName): 53926 (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu 53927 53928 Consolidated "appropriateSelectorForNode" 53929 53930 * inspector/front-end/StylesSidebarPane.js: 53931 * inspector/front-end/utilities.js: 53932 53933 Miscellaneous Updates 53934 53935 * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes" 53936 * WebCore.gypi: included the new inspector files 53937 * WebCore.vcproj/WebCore.vcproj: included source files that were missing 53938 * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher. 53939 * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher. 53940 * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter 53941 * inspector/front-end/inspector.css: reused as much as possible 53942 * inspector/front-end/inspector.html: include the new script 53943 * inspector/front-end/WebKit.qrc: included the new inspector files 53944 53945 2009-09-27 Sam Weinig <sam (a] webkit.org> 53946 53947 Reviewed by Dan Bernstein. 53948 53949 Fix for https://bugs.webkit.org/show_bug.cgi?id=29760 53950 Implement CSSOM Range.getClientRects/getBoundingClientRect 53951 53952 Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html 53953 fast/dom/Range/getBoundingClientRect.html 53954 fast/dom/Range/getClientRects.html 53955 53956 * dom/Range.cpp: 53957 (WebCore::Range::getClientRects): 53958 (WebCore::Range::getBoundingClientRect): 53959 (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom): 53960 (WebCore::Range::getBorderAndTextQuads): 53961 * dom/Range.h: 53962 * dom/Range.idl: 53963 Implement Range.getClientRects/getBoundingClientRect. 53964 53965 * dom/Element.cpp: 53966 * rendering/RenderObject.h: 53967 (WebCore::adjustForAbsoluteZoom): 53968 (WebCore::adjustIntRectForAbsoluteZoom): 53969 (WebCore::adjustFloatPointForAbsoluteZoom): 53970 (WebCore::adjustFloatQuadForAbsoluteZoom): 53971 Move point/quad adjustment methods from Element.cpp to RenderObject.h 53972 so that Range.cpp can use them as well. 53973 53974 2009-09-27 Simon Hausmann <hausmann (a] webkit.org> 53975 53976 Unreviewed fix for WebInspector with Qt build. 53977 53978 Simply re-generate the Qt resource file by running 53979 WebKitTools/Scripts/generate-qt-inspector-resource 53980 53981 * inspector/front-end/WebKit.qrc: 53982 53983 2009-09-27 Pavel Feldman <pfeldman (a] chromium.org> 53984 53985 Reviewed by nobody (trivial ChangeLog fix). 53986 53987 Restore WebCore/ChangeLog truncated in r48778. 53988 53989 2009-09-27 Pavel Feldman <pfeldman (a] chromium.org> 53990 53991 Reviewed by Timothy Hatcher. 53992 53993 Web Inspector: DOM store is being unbound twice, leading to assertion failure. 53994 53995 https://bugs.webkit.org/show_bug.cgi?id=29770 53996 53997 * inspector/InspectorController.cpp: 53998 (WebCore::InspectorController::didOpenDatabase): 53999 (WebCore::InspectorController::didUseDOMStorage): 54000 * inspector/InspectorDOMStorageResource.cpp: 54001 (WebCore::InspectorDOMStorageResource::unbind): 54002 54003 2009-09-26 Pavel Feldman <pfeldman (a] chromium.org> 54004 54005 Reviewed by Timothy Hatcher. 54006 54007 Web Inspector: Do not track DOM changes while inspector window is closed. 54008 54009 https://bugs.webkit.org/show_bug.cgi?id=29769 54010 54011 * inspector/InspectorController.cpp: 54012 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 54013 (WebCore::InspectorController::populateScriptObjects): 54014 (WebCore::InspectorController::resetScriptObjects): 54015 (WebCore::InspectorController::didCommitLoad): 54016 * inspector/InspectorController.h: 54017 * inspector/InspectorDOMAgent.cpp: 54018 (WebCore::InspectorDOMAgent::setDocument): 54019 * inspector/InspectorDOMAgent.h: 54020 * loader/FrameLoader.cpp: 54021 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 54022 * page/android/InspectorControllerAndroid.cpp: 54023 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 54024 54025 2009-09-26 Pavel Feldman <pfeldman (a] chromium.org> 54026 54027 Reviewed by Timothy Hatcher. 54028 54029 Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window 54030 54031 https://bugs.webkit.org/show_bug.cgi?id=29762 54032 54033 * inspector/front-end/InjectedScript.js: 54034 (InjectedScript.setStyleText): 54035 (InjectedScript.openInInspectedWindow): 54036 * inspector/front-end/InjectedScriptAccess.js: 54037 * inspector/front-end/ResourcesPanel.js: 54038 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 54039 54040 2009-09-26 David Kilzer <ddkilzer (a] apple.com> 54041 54042 Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets 54043 54044 Reviewed by Darin Adler. 54045 54046 Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms. 54047 54048 * DerivedSources.make: Moved Platform.h check for 54049 ENABLE_ORIENTATION_EVENTS into Mac-only section and added 54050 default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section. 54051 Added ifndef test to make it possible to override both 54052 ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external 54053 to the makefile. Moved addition of ENABLE_ORIENTATION_EVENTS to 54054 ADDITIONAL_IDL_DEFINES to common section. 54055 * GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if 54056 it is ever used. 54057 * WebCore.pro: Ditto. 54058 54059 2009-09-26 Kent Tamura <tkent (a] chromium.org> 54060 54061 Reviewed by David Kilzer. 54062 54063 Move placeholder-related code to HTMLTextFormControlElement from 54064 HTMLInputElement, WMLInputElement, InputElement, and 54065 HTMLTextAreaElement. 54066 https://bugs.webkit.org/show_bug.cgi?id=28703 54067 54068 * dom/InputElement.cpp: 54069 (WebCore::InputElement::dispatchFocusEvent): 54070 (WebCore::InputElement::dispatchBlurEvent): 54071 (WebCore::InputElement::setValueFromRenderer): 54072 * dom/InputElement.h: 54073 * html/HTMLFormControlElement.cpp: 54074 (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): 54075 (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement): 54076 (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): 54077 (WebCore::HTMLTextFormControlElement::dispatchBlurEvent): 54078 (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): 54079 (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility): 54080 * html/HTMLFormControlElement.h: 54081 (WebCore::HTMLTextFormControlElement::handleFocusEvent): 54082 (WebCore::HTMLTextFormControlElement::handleBlurEvent): 54083 * html/HTMLInputElement.cpp: 54084 (WebCore::HTMLInputElement::HTMLInputElement): 54085 (WebCore::HTMLInputElement::handleFocusEvent): 54086 (WebCore::HTMLInputElement::handleBlurEvent): 54087 (WebCore::HTMLInputElement::parseMappedAttribute): 54088 (WebCore::HTMLInputElement::createRenderer): 54089 (WebCore::HTMLInputElement::setValue): 54090 (WebCore::HTMLInputElement::setValueFromRenderer): 54091 * html/HTMLInputElement.h: 54092 (WebCore::HTMLInputElement::supportsPlaceholder): 54093 (WebCore::HTMLInputElement::isEmptyValue): 54094 * html/HTMLIsIndexElement.cpp: 54095 (WebCore::HTMLIsIndexElement::parseMappedAttribute): 54096 * html/HTMLTextAreaElement.cpp: 54097 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 54098 (WebCore::HTMLTextAreaElement::createRenderer): 54099 * html/HTMLTextAreaElement.h: 54100 (WebCore::HTMLTextAreaElement::supportsPlaceholder): 54101 (WebCore::HTMLTextAreaElement::isEmptyValue): 54102 * rendering/RenderTextControl.cpp: 54103 (WebCore::RenderTextControl::RenderTextControl): 54104 * rendering/RenderTextControl.h: 54105 * rendering/RenderTextControlMultiLine.cpp: 54106 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): 54107 * rendering/RenderTextControlMultiLine.h: 54108 * rendering/RenderTextControlSingleLine.cpp: 54109 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 54110 (WebCore::RenderTextControlSingleLine::updateFromElement): 54111 * rendering/RenderTextControlSingleLine.h: 54112 * wml/WMLInputElement.cpp: 54113 (WebCore::WMLInputElement::setValue): 54114 (WebCore::WMLInputElement::createRenderer): 54115 * wml/WMLInputElement.h: 54116 54117 2009-09-26 Shu Chang <Chang.Shu (a] nokia.com> 54118 54119 Reviewed by Alexey Proskuryakov. 54120 54121 Optimize the code so only the text from start to end is scanned. 54122 https://bugs.webkit.org/show_bug.cgi?id=29092 54123 54124 On a platform with webkit+Qt+Symbian, the parsing time for a 600K text 54125 file improved from 400ms to 40ms (10x faster). 54126 54127 * dom/Text.cpp: 54128 (WebCore::Text::createWithLengthLimit): 54129 54130 2009-09-26 Xiaomei Ji <xji (a] chromium.org> 54131 54132 Reviewed by Eric Seidel. 54133 54134 This Patch fixes [chromium] the drop-down is always left-aligned even 54135 for RTL element. 54136 https://bugs.webkit.org/show_bug.cgi?id=29612 54137 54138 For auto-complete, the items in drop-down should be right-aligned if 54139 the directionality of <input> field is RTL. 54140 For <select><option>, the items in drop-down should be right-aligned 54141 if the directionality of <select> is RTL. 54142 54143 No automatic test is possible. Manual tests are added. 54144 54145 * manual-tests/autofill_alignment.html: Added. 54146 * manual-tests/select_alignment.html: Added. 54147 * platform/chromium/PopupMenuChromium.cpp: 54148 (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to 54149 be paint if it should be right-aligned. 54150 54151 2009-09-25 Dan Bernstein <mitz (a] apple.com> 54152 54153 Reviewed by Sam Weinig. 54154 54155 REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4 54156 to crash on launch 54157 https://bugs.webkit.org/show_bug.cgi?id=29759 54158 54159 * platform/graphics/win/FontDatabase.cpp: 54160 (WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB 54161 property list at the root of FontList.plist, but with an additional 54162 key for the last value of the Fonts registry key. 54163 (WebCore::populateFontDatabase): Pass the FontList.plist in its entirety 54164 to populatFontDatabaseFromPlist. 54165 54166 2009-09-25 Kevin Ollivier <kevino (a] theolliviers.com> 54167 54168 Build fix. Adding missing header files. 54169 54170 * bindings/js/JSNamedNodeMapCustom.cpp: 54171 54172 2009-09-25 David Kilzer <ddkilzer (a] apple.com> 54173 54174 Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets 54175 54176 Reviewed by Darin Adler. 54177 54178 * DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS, 54179 ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section. 54180 54181 2009-09-25 Adam Barth <abarth (a] webkit.org> 54182 54183 Reviewed by Darin Adler. 54184 54185 Load blocks during unload should not affect targeted loads 54186 https://bugs.webkit.org/show_bug.cgi?id=29747 54187 54188 Move the check of the unload state after checking for targeted links. 54189 54190 Test: fast/loader/unload-hyperlink-targeted.html 54191 54192 * loader/FrameLoader.cpp: 54193 (WebCore::FrameLoader::loadURL): 54194 54195 2009-09-25 Kenneth Russell <kbr (a] google.com> 54196 54197 Reviewed by Dimitri Glazkov. 54198 54199 [Chromium] Add initial V8 bindings for WebGL 54200 https://bugs.webkit.org/show_bug.cgi?id=29664 54201 54202 * WebCore.gypi: 54203 * bindings/scripts/CodeGeneratorV8.pm: 54204 * bindings/v8/DOMObjectsInclude.h: 54205 * bindings/v8/DerivedSourcesAllInOne.cpp: 54206 * bindings/v8/V8DOMWrapper.cpp: 54207 (WebCore::V8DOMWrapper::getTemplate): 54208 * bindings/v8/V8Index.cpp: 54209 * bindings/v8/V8Index.h: 54210 * bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added. 54211 (WebCore::CALLBACK_FUNC_DECL): 54212 * bindings/v8/custom/V8CanvasArrayCustom.h: Added. 54213 (WebCore::constructCanvasArray): 54214 * bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added. 54215 (WebCore::CALLBACK_FUNC_DECL): 54216 (WebCore::INDEXED_PROPERTY_GETTER): 54217 (WebCore::INDEXED_PROPERTY_SETTER): 54218 * bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added. 54219 (WebCore::CALLBACK_FUNC_DECL): 54220 (WebCore::INDEXED_PROPERTY_GETTER): 54221 (WebCore::INDEXED_PROPERTY_SETTER): 54222 * bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added. 54223 (WebCore::CALLBACK_FUNC_DECL): 54224 (WebCore::INDEXED_PROPERTY_GETTER): 54225 (WebCore::INDEXED_PROPERTY_SETTER): 54226 * bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added. 54227 (WebCore::jsArrayToFloatArray): 54228 (WebCore::jsArrayToIntArray): 54229 (WebCore::CALLBACK_FUNC_DECL): 54230 (WebCore::): 54231 (WebCore::vertexAttribAndUniformHelperf): 54232 (WebCore::uniformHelperi): 54233 (WebCore::uniformMatrixHelper): 54234 * bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added. 54235 (WebCore::CALLBACK_FUNC_DECL): 54236 (WebCore::INDEXED_PROPERTY_GETTER): 54237 (WebCore::INDEXED_PROPERTY_SETTER): 54238 * bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added. 54239 (WebCore::CALLBACK_FUNC_DECL): 54240 (WebCore::INDEXED_PROPERTY_GETTER): 54241 (WebCore::INDEXED_PROPERTY_SETTER): 54242 * bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added. 54243 (WebCore::CALLBACK_FUNC_DECL): 54244 (WebCore::INDEXED_PROPERTY_GETTER): 54245 (WebCore::INDEXED_PROPERTY_SETTER): 54246 * bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added. 54247 (WebCore::CALLBACK_FUNC_DECL): 54248 (WebCore::INDEXED_PROPERTY_GETTER): 54249 (WebCore::INDEXED_PROPERTY_SETTER): 54250 * bindings/v8/custom/V8CustomBinding.h: 54251 * bindings/v8/custom/V8DocumentCustom.cpp: 54252 (WebCore::CALLBACK_FUNC_DECL): 54253 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 54254 (WebCore::CALLBACK_FUNC_DECL): 54255 * platform/graphics/GraphicsContext3D.h: 54256 54257 2009-09-25 Jeremy Orlow <jorlow (a] chromium.org> 54258 54259 This is breaking Chromium try bots, so I'm counting this as a build fix. 54260 54261 Add more svn:ignore exceptions. On different platforms, these files are 54262 generated with different case for WebCore. 54263 54264 * WebCore.gyp: Changed property svn:ignore. 54265 54266 2009-09-25 Alexey Proskuryakov <ap (a] apple.com> 54267 54268 Reverting r48767, as it broke Windows build in a non-trivial way. 54269 54270 * bindings/js/JSAbstractWorkerCustom.cpp: 54271 (WebCore::JSAbstractWorker::addEventListener): 54272 (WebCore::JSAbstractWorker::removeEventListener): 54273 * bindings/js/JSDOMApplicationCacheCustom.cpp: 54274 (WebCore::JSDOMApplicationCache::addEventListener): 54275 (WebCore::JSDOMApplicationCache::removeEventListener): 54276 * bindings/js/JSDOMGlobalObject.cpp: 54277 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 54278 * bindings/js/JSDOMWindowCustom.cpp: 54279 (WebCore::JSDOMWindow::addEventListener): 54280 (WebCore::JSDOMWindow::removeEventListener): 54281 * bindings/js/JSEventListener.cpp: 54282 (WebCore::JSEventListener::JSEventListener): 54283 (WebCore::JSEventListener::jsFunction): 54284 (WebCore::JSEventListener::markJSFunction): 54285 (WebCore::JSEventListener::handleEvent): 54286 (WebCore::JSEventListener::reportError): 54287 * bindings/js/JSEventListener.h: 54288 (WebCore::JSEventListener::create): 54289 * bindings/js/JSEventSourceCustom.cpp: 54290 (WebCore::JSEventSource::addEventListener): 54291 (WebCore::JSEventSource::removeEventListener): 54292 * bindings/js/JSLazyEventListener.cpp: 54293 (WebCore::JSLazyEventListener::JSLazyEventListener): 54294 (WebCore::JSLazyEventListener::jsFunction): 54295 (WebCore::JSLazyEventListener::parseCode): 54296 * bindings/js/JSLazyEventListener.h: 54297 (WebCore::JSLazyEventListener::create): 54298 * bindings/js/JSMessagePortCustom.cpp: 54299 (WebCore::JSMessagePort::addEventListener): 54300 (WebCore::JSMessagePort::removeEventListener): 54301 * bindings/js/JSNodeCustom.cpp: 54302 (WebCore::JSNode::addEventListener): 54303 (WebCore::JSNode::removeEventListener): 54304 * bindings/js/JSSVGElementInstanceCustom.cpp: 54305 (WebCore::JSSVGElementInstance::addEventListener): 54306 (WebCore::JSSVGElementInstance::removeEventListener): 54307 * bindings/js/JSWorkerContextCustom.cpp: 54308 (WebCore::JSWorkerContext::addEventListener): 54309 (WebCore::JSWorkerContext::removeEventListener): 54310 * bindings/js/JSXMLHttpRequestCustom.cpp: 54311 (WebCore::JSXMLHttpRequest::addEventListener): 54312 (WebCore::JSXMLHttpRequest::removeEventListener): 54313 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 54314 (WebCore::JSXMLHttpRequestUpload::addEventListener): 54315 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 54316 * bindings/js/ScriptEventListener.cpp: 54317 (WebCore::createAttributeEventListener): 54318 * bindings/objc/ObjCEventListener.h: 54319 * bindings/objc/ObjCEventListener.mm: 54320 (WebCore::ObjCEventListener::handleEvent): 54321 * bindings/scripts/CodeGeneratorJS.pm: 54322 * dom/EventListener.h: 54323 (WebCore::EventListener::reportError): 54324 (WebCore::EventListener::jsFunction): 54325 * dom/EventTarget.cpp: 54326 (WebCore::EventTarget::fireEventListeners): 54327 * inspector/InspectorDOMAgent.cpp: 54328 (WebCore::InspectorDOMAgent::handleEvent): 54329 * inspector/InspectorDOMAgent.h: 54330 * inspector/InspectorDOMStorageResource.cpp: 54331 (WebCore::InspectorDOMStorageResource::handleEvent): 54332 * inspector/InspectorDOMStorageResource.h: 54333 * loader/ImageDocument.cpp: 54334 (WebCore::ImageEventListener::handleEvent): 54335 * svg/animation/SVGSMILElement.cpp: 54336 (WebCore::ConditionEventListener::handleEvent): 54337 * workers/WorkerContext.cpp: 54338 (WebCore::WorkerContext::reportException): 54339 54340 2009-09-24 Tony Chang <tony (a] chromium.org> 54341 54342 Reviewed by David Levin. 54343 54344 Add a gyp variable to allow building a debug webcore without debug 54345 symbols. This allows for faster compile, link, and gdb times. 54346 54347 https://bugs.webkit.org/show_bug.cgi?id=29721 54348 54349 No new tests, build config change. 54350 54351 * WebCore.gyp/WebCore.gyp: 54352 54353 2009-09-25 Darin Fisher <darin (a] chromium.org> 54354 54355 Reviewed by Dimitri Glazkov. 54356 54357 Declare RegisteredEventListener as a class instead of a struct. 54358 This fixes a warning in the Chromium build. 54359 54360 * dom/RegisteredEventListener.h: 54361 54362 2009-09-25 Dan Bernstein <mitz (a] apple.com> 54363 54364 Reviewed by Jon Honeycutt. 54365 54366 WebCore part of 54367 <rdar://problem/7211635> 2 byte characters are displayed as garbaged 54368 <rdar://problem/7212626> garbled/gibberish text (off-by-one) 54369 54370 When the Windows Fonts directory contains more than one font file for a 54371 given font name, which of the fonts gets assigned to the name in the 54372 Core Graphics font database was determined arbitrarily and did not 54373 always match the font GDI used for the same font name. The mismatch 54374 caused character-to-glyph mapping to use one font and glyph rendering to 54375 use another. 54376 54377 The fix is to update the Core Graphics font database from the registry 54378 entries (that reflect the name-to-font mapping that GDI uses) after 54379 populating it with the result of scanning the Fonts directory. As a 54380 consequence, the directory needs to be scanned at startup every time the 54381 registry key changes, so the last value of the registry key is kept 54382 in the property list on disk so that it could be compared to the current 54383 value on startup. 54384 54385 * platform/graphics/win/FontDatabase.cpp: 54386 (WebCore::populateFontDatabaseFromPlist): Now takes a property list as 54387 a parameter and avoids round-tripping through XML by calling 54388 wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation(). 54389 (WebCore::fontFilenamesFromRegistryKey): 54390 (WebCore::cgFontDBKey): 54391 (WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property 54392 list and a property list with the font filenames from the registry and 54393 writes a dictionary with those property lists as values. 54394 (WebCore::fontFilenamesFromRegistry): Added. Returns an array with the 54395 values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts 54396 registry key. 54397 (WebCore::populateFontDatabase): Changed to read the contents of the 54398 Fonts registry key and compare it with the last-saved value from the 54399 property list, and to call wkAddFontsFromRegistry() after populating the 54400 CG font DB from the file system. Uses wkCreateFontsPlist() instead of 54401 wkCreateFontsPlistRepresentation() to avoid round-tripping through XML. 54402 54403 2009-09-25 Geoffrey Garen <ggaren (a] apple.com> 54404 54405 Reviewed by Darin Adler. 54406 54407 Inlined some object creation code, including lexicalGlobalObject access 54408 https://bugs.webkit.org/show_bug.cgi?id=29750 54409 54410 * bindings/js/JSInspectorBackendCustom.cpp: 54411 (WebCore::JSInspectorBackend::currentCallFrame): 54412 * inspector/JavaScriptDebugServer.cpp: 54413 (WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore 54414 API changes. 54415 54416 2009-09-25 Dave Hyatt <hyatt (a] apple.com> 54417 54418 Reviewed by Anders Carlsson. 54419 54420 https://bugs.webkit.org/show_bug.cgi?id=24399 54421 Make @import work in user stylesheets. The first bug was that the URL wasn't being set on the 54422 user sheets themselves, so relative @import URLs couldn't resolve properly. The second bug 54423 was that the loads would be denied. This is fixed by using the requestUserCSSStyleSheet method 54424 instead of the normal request method. In order to know when to do this, CSSStyleSheets now have 54425 a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not. 54426 54427 * css/CSSImportRule.cpp: 54428 (WebCore::CSSImportRule::insertedIntoParent): 54429 * css/CSSStyleSheet.cpp: 54430 (WebCore::CSSStyleSheet::CSSStyleSheet): 54431 * css/CSSStyleSheet.h: 54432 (WebCore::CSSStyleSheet::setIsUserStyleSheet): 54433 (WebCore::CSSStyleSheet::isUserStyleSheet): 54434 * dom/Document.cpp: 54435 (WebCore::Document::pageUserSheet): 54436 (WebCore::Document::pageGroupUserSheets): 54437 54438 2009-09-25 Simon Fraser <simon.fraser (a] apple.com> 54439 54440 Reviewed by Darin Adler. 54441 54442 ASSERTION FAILED: !repaintContainer || repaintContainer == this 54443 https://bugs.webkit.org/show_bug.cgi?id=29755 54444 54445 It's possible for RenderObject::container() to return an object that is higher 54446 in the hierarchy than the repaintContainer that is being used to repaint an 54447 object. For example, this can happen when running an accelerated opacity 54448 transition on an element with a position:absolute parent, and a position:absolute child. 54449 54450 In this case we need to detect when RenderObject::container() will skip over 54451 repaintContainer, and in that case adjust the coords to shift into repaintContainer's space. 54452 54453 Test: compositing/repaint/opacity-between-absolute.html 54454 54455 * rendering/RenderBox.cpp: 54456 (WebCore::RenderBox::mapLocalToContainer): 54457 (WebCore::RenderBox::computeRectForRepaint): 54458 * rendering/RenderInline.cpp: 54459 (WebCore::RenderInline::computeRectForRepaint): 54460 * rendering/RenderObject.cpp: 54461 (WebCore::RenderObject::container): 54462 * rendering/RenderObject.h: 54463 54464 2009-09-25 Simon Fraser <simon.fraser (a] apple.com> 54465 54466 Reviewed by Darin Adler. 54467 54468 Crash with hardware accelerated rotation of a PDF image in a data URL 54469 <rdar://problem/7250378> 54470 54471 PDF images don't return a color space from CGImageGetColorSpace(), 54472 so we need to null-check the return value before use. 54473 54474 Test: compositing/color-matching/pdf-image-match.html 54475 54476 * platform/graphics/mac/GraphicsLayerCA.mm: 54477 (WebCore::GraphicsLayerCA::setContentsToImage): 54478 54479 2009-09-25 Darin Adler <darin (a] apple.com> 54480 54481 Reviewed by Geoffrey Garen. 54482 54483 Null-deref when first access to an Attr node is after its Element is destroyed 54484 https://bugs.webkit.org/show_bug.cgi?id=29748 54485 54486 Test: fast/dom/Attr/access-after-element-destruction.html 54487 54488 * bindings/js/JSAttrCustom.cpp: 54489 (WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as 54490 long as the Attr is alive. 54491 54492 * bindings/js/JSNamedNodeMapCustom.cpp: 54493 (WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as 54494 long as the NamedNodeMap is alive. 54495 54496 * dom/Attr.idl: Added CustomMarkFunction attribute. 54497 54498 * dom/NamedAttrMap.cpp: 54499 (WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting. 54500 (WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't 54501 have attributes hanging around that might need an Attr node created; that way 54502 we won't crash with a null-dereference trying to deal with one of them. This 54503 can't happen when working with JavaScript since the Element will be kept 54504 alive due to the change above. 54505 (WebCore::NamedNodeMap::addAttribute): Fix function name in comment. 54506 (WebCore::NamedNodeMap::removeAttribute): Removed unneeded "1" and added 54507 missing braces. 54508 54509 * dom/NamedAttrMap.h: Made the element function public so it can be used by 54510 the JavaScript binding to keep the Element alive. 54511 54512 * dom/NamedNodeMap.idl: Added CustomMarkFunction attribute. 54513 54514 2009-09-24 Alexey Proskuryakov <ap (a] apple.com> 54515 54516 Reviewed by Darin Adler and Sam Weinig. 54517 54518 Onclick not fired for an element copied with cloneContents() or cloneNode() 54519 https://bugs.webkit.org/show_bug.cgi?id=25130 54520 54521 The change here is that JS event listeners don't keep a reference to a global object from 54522 where they were created, and instead take it as a parameter when parsing source code. Also, 54523 the listener creation won't fail just because it happens for an element in a frameless 54524 document. 54525 Thus, moving nodes between documents no longer results in having incorrect registered 54526 lazy event listeners on them. 54527 54528 Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html 54529 fast/events/attribute-listener-cloned-from-frameless-doc-context.html 54530 fast/events/attribute-listener-cloned-from-frameless-doc.xhtml 54531 fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html 54532 fast/events/attribute-listener-extracted-from-frameless-doc-context.html 54533 54534 * bindings/js/JSEventListener.cpp: 54535 (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. 54536 (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for 54537 getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. 54538 (WebCore::JSEventListener::markJSFunction): Don't mark the global object. 54539 (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. 54540 (WebCore::JSEventListener::reportError): Ditto. 54541 54542 * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference 54543 to JSDOMGlobalObject. 54544 54545 * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener 54546 creation was split between this function and ScriptEventListener; moved it here, as JS 54547 global object can be different now. 54548 54549 * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, 54550 which can not be determined at parsing time. 54551 54552 * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code 54553 for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests 54554 expect that errors are logged at document parsing time, and because I don't know what other 54555 side effects moving it vould have. 54556 54557 * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, 54558 because JSC needs a global context here. 54559 54560 * bindings/js/JSAbstractWorkerCustom.cpp: 54561 (WebCore::JSAbstractWorker::addEventListener): 54562 (WebCore::JSAbstractWorker::removeEventListener): 54563 * bindings/js/JSDOMApplicationCacheCustom.cpp: 54564 (WebCore::JSDOMApplicationCache::addEventListener): 54565 (WebCore::JSDOMApplicationCache::removeEventListener): 54566 * bindings/js/JSDOMGlobalObject.cpp: 54567 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 54568 * bindings/js/JSDOMWindowCustom.cpp: 54569 (WebCore::JSDOMWindow::addEventListener): 54570 (WebCore::JSDOMWindow::removeEventListener): 54571 * bindings/js/JSEventSourceCustom.cpp: 54572 (WebCore::JSEventSource::addEventListener): 54573 (WebCore::JSEventSource::removeEventListener): 54574 * bindings/js/JSMessagePortCustom.cpp: 54575 (WebCore::JSMessagePort::addEventListener): 54576 (WebCore::JSMessagePort::removeEventListener): 54577 * bindings/js/JSNodeCustom.cpp: 54578 (WebCore::JSNode::addEventListener): 54579 (WebCore::JSNode::removeEventListener): 54580 * bindings/js/JSSVGElementInstanceCustom.cpp: 54581 (WebCore::JSSVGElementInstance::addEventListener): 54582 (WebCore::JSSVGElementInstance::removeEventListener): 54583 * bindings/js/JSWorkerContextCustom.cpp: 54584 (WebCore::JSWorkerContext::addEventListener): 54585 (WebCore::JSWorkerContext::removeEventListener): 54586 * bindings/js/JSXMLHttpRequestCustom.cpp: 54587 (WebCore::JSXMLHttpRequest::addEventListener): 54588 (WebCore::JSXMLHttpRequest::removeEventListener): 54589 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 54590 (WebCore::JSXMLHttpRequestUpload::addEventListener): 54591 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 54592 * bindings/objc/ObjCEventListener.h: 54593 * bindings/objc/ObjCEventListener.mm: 54594 (WebCore::ObjCEventListener::handleEvent): 54595 * bindings/scripts/CodeGeneratorJS.pm: 54596 * dom/EventTarget.cpp: 54597 (WebCore::EventTarget::fireEventListeners): 54598 * inspector/InspectorDOMAgent.cpp: 54599 (WebCore::InspectorDOMAgent::handleEvent): 54600 * inspector/InspectorDOMAgent.h: 54601 * inspector/InspectorDOMStorageResource.cpp: 54602 (WebCore::InspectorDOMStorageResource::handleEvent): 54603 * inspector/InspectorDOMStorageResource.h: 54604 * loader/ImageDocument.cpp: 54605 (WebCore::ImageEventListener::handleEvent): 54606 * svg/animation/SVGSMILElement.cpp: 54607 (WebCore::ConditionEventListener::handleEvent): 54608 * workers/WorkerContext.cpp: 54609 (WebCore::WorkerContext::reportException): 54610 Don't pass global object to JSEventListener::create(), which no longer needs it. 54611 Note that some of these functions still have an early return for null global object, which 54612 can probably be removed in a later patch. 54613 Pass ScriptExecutionContext to EventListener methods that now need it. 54614 54615 2009-09-25 Enrica Casucci <enrica (a] apple.com> 54616 54617 Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others. 54618 54619 Fix for https://bugs.webkit.org/show_bug.cgi?id=29740 54620 <rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line 54621 54622 Change the way style is preserved when inserting a new paragraph. 54623 The original code handled insertion at the beginning and at the end of a paragraph as special 54624 cases. The newly created paragraph contained a set of nodes generated starting from the 54625 computed style of the insertion node. This approach has two problems: 54626 1. if the insertion node has a non opaque background color and one of the parent element did have 54627 a solid background color the new paragraph did not have the element with the solid color in the tree. 54628 2. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic, 54629 background color and some font attribute was being reproduced as span bold italic font as separate tags. 54630 The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the 54631 paragraph where the insertion point is. 54632 54633 Test: editing/inserting/insert-bg-font.html 54634 54635 * editing/InsertParagraphSeparatorCommand.cpp: 54636 (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors 54637 between the insert node and the outer block. 54638 (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate 54639 in the new paragraph the same element hierarchy present in the starting paragraph. 54640 (WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion 54641 in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and 54642 at the end of the paragraph to use the new methods instead of applying the calculated style. 54643 * editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock. 54644 54645 2009-09-25 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 54646 54647 Reviewed by Timothy Hatcher. 54648 54649 Content-type parameters not taken into account when building form-data 54650 https://bugs.webkit.org/show_bug.cgi?id=28970 54651 54652 existing manual test case extended with new tests 54653 54654 * English.lproj/localizedStrings.js: 54655 * inspector/front-end/ResourceView.js: 54656 (WebInspector.ResourceView.prototype._refreshFormData): 54657 (WebInspector.ResourceView.prototype._refreshParms): 54658 * manual-tests/inspector/display-form-data.html: 54659 54660 2009-09-25 Yuan Song <song.yuan (a] ericsson.com> 54661 54662 Reviewed by Darin Adler. 54663 54664 https://bugs.webkit.org/show_bug.cgi?id=14566 54665 54666 Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value. 54667 54668 Test: fast/js/invalid-domain-change-throws-exception.html 54669 54670 * dom/Document.cpp: 54671 (WebCore::Document::setDomain): 54672 * dom/Document.h: 54673 * dom/Document.idl: 54674 54675 2009-09-25 Adam Barth <abarth (a] webkit.org> 54676 54677 Reviewed by Dimitri Glazkov. 54678 54679 [V8] Teach ScheduledAction::execute about isolated worlds 54680 https://bugs.webkit.org/show_bug.cgi?id=27703 54681 54682 When setTimeout is called with a string argument in an isolated 54683 world, we now compile the string in the isolated world. 54684 54685 Last time we tried this change, we got a lot of crashes. This 54686 time we're using a fresh local handle as our context to avoid 54687 trouble if the peristent handle gets disposed before we leave 54688 the context. 54689 54690 Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html 54691 54692 * bindings/v8/ScheduledAction.cpp: 54693 (WebCore::ScheduledAction::execute): 54694 54695 2009-09-25 Paul Godavari <paul (a] chromium.org> 54696 54697 Reviewed by Darin Fisher. 54698 54699 Fix a regression in Mac Chromium popup menus, where the user's 54700 selection was ignored and the popup became unresponsive. 54701 https://bugs.webkit.org/show_bug.cgi?id=29726 54702 54703 The fix is to notify the popup's client that the popup was hidden, 54704 even if the popup has no parent. 54705 54706 * platform/chromium/PopupMenuChromium.cpp: 54707 (WebCore::PopupListBox::hidePopup): 54708 54709 2009-09-25 Alexander Pavlov <apavlov (a] chromium.org> 54710 54711 Reviewed by Dan Bernstein. 54712 54713 Enable Pasteboard::writePlainText for Chromium and fix code style nits. 54714 https://bugs.webkit.org/show_bug.cgi?id=29734 54715 54716 * platform/chromium/PasteboardChromium.cpp: 54717 (WebCore::Pasteboard::writePlainText): 54718 * platform/gtk/PasteboardGtk.cpp: 54719 (WebCore::Pasteboard::writePlainText): 54720 (WebCore::Pasteboard::writeURL): 54721 * platform/mac/PasteboardMac.mm: 54722 (WebCore::Pasteboard::writeSelection): 54723 (WebCore::Pasteboard::writePlainText): 54724 (WebCore::Pasteboard::writeURL): 54725 * platform/qt/PasteboardQt.cpp: 54726 (WebCore::Pasteboard::writePlainText): 54727 54728 2009-09-25 Yongjun Zhang <yongjun.zhang (a] nokia.com> 54729 54730 Reviewed by Ariya Hidayat. 54731 54732 https://bugs.webkit.org/show_bug.cgi?id=28876 54733 [Qt] reduce peak memory consumption of text decoding. 54734 54735 Chop large input buffer into small buffers to reduce peak memory 54736 during decoding. 54737 54738 * platform/text/qt/TextCodecQt.cpp: 54739 (WebCore::TextCodecQt::decode): 54740 54741 2009-09-24 Jon Honeycutt <jhoneycutt (a] apple.com> 54742 54743 Add a mechanism for automatically halting plug-ins. 54744 54745 Reviewed by Oliver Hunt and Alice Liu. 54746 54747 * GNUmakefile.am: 54748 54749 * WebCore.base.exp: 54750 Update export of Page constructor. 54751 54752 * WebCore.gypi: 54753 54754 * WebCore.pro: 54755 54756 * WebCore.vcproj/WebCore.vcproj: 54757 Add PluginHalter.{h,cpp}, PluginHalterClient.h, and 54758 HaltablePlugin.h. 54759 54760 * WebCore.xcodeproj/project.pbxproj: 54761 Add files to Mac project. 54762 54763 * loader/EmptyClients.h: 54764 Added an empty PluginHalterClient. 54765 (WebCore::EmptyPluginHalterClient::shouldHaltPlugin): 54766 Return false. 54767 54768 * page/PluginHalter.cpp: Added. 54769 (WebCore::PluginHalter::PluginHalter): 54770 (WebCore::PluginHalter::didStartPlugin): 54771 Add the object to the plug-in set. If this is the only item in the set, 54772 set m_oldestStartTime to this object's time, and start the timer. 54773 (WebCore::PluginHalter::didStopPlugin): 54774 Remove the plug-in from the set. 54775 (WebCore::PluginHalter::timerFired): 54776 Find the cut-off time as the current time minus the allowed run time; 54777 plug-ins older than this may be halted. Iterate over the plug-ins. Find 54778 the object with the oldest start time that is too young to be halted; 54779 we'll use its start time to set the timer's next fire time. For all 54780 plug-ins that are candidates to be halted, call the 54781 PluginHalterClient's shouldHaltPlugin(). If this function returns true, 54782 call the plug-in's halt() function. Remove these objects from the set 54783 of tracked plug-ins. Call startTimerIfNecessary() to restart the timer. 54784 (WebCore::PluginHalter::startTimerIfNecessary): 54785 If the timer is set to fire, or the set of tracked plug-ins is empty, 54786 return early. Set the timer to fire after the oldest plug-in has run 54787 for the allowed run time. 54788 54789 * page/PluginHalter.h: Added. 54790 (WebCore::PluginHalter::setPluginAllowedRunTime): 54791 54792 * page/PluginHalterClient.h: Added. 54793 (WebCore::PluginHalterClient::~PluginHalterClient): 54794 54795 * page/Page.cpp: 54796 (WebCore::Page::Page): 54797 Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged() 54798 to create the PluginHalter if necessary. 54799 (WebCore::Page::pluginHalterEnabledStateChanged): 54800 If plug-in halting is enabled, create the PluginHalter. If it is 54801 disabled, clear it. 54802 (WebCore::Page::pluginAllowedRunTimeChanged): 54803 If there is a plug-in halter, call its setPluginAllowedRunTime(). 54804 (WebCore::Page::didStartPlugin): 54805 If there is a plug-in halter, call its didStartPlugin(). 54806 (WebCore::Page::didStopPlugin): 54807 If there is a plug-in halter, call its didStopPlugin(). 54808 54809 * page/Page.h: 54810 Add a parameter to the Page constructor for the PluginHalterClient. 54811 Added declarations for didStartPlugin() and didStopPlugin(), which are 54812 called when HaltablePlugins are added to or removed from the page. Adds 54813 pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to 54814 notify the Page when these settings are changed. Added members to hold 54815 the PluginHalter and the PluginHalterClient. 54816 54817 * page/Settings.cpp: 54818 (WebCore::Settings::Settings): 54819 (WebCore::Settings::setPluginHalterEnabled): 54820 If the enabled state has changed, call the Page's 54821 pluginHalterEnabledStateChanged(). 54822 (WebCore::Settings::setPluginAllowedRunTime): 54823 Call the Page's pluginAllowedRunTimeChanged(). 54824 54825 * page/Settings.h: 54826 (WebCore::Settings::pluginHalterEnabled): 54827 (WebCore::Settings::pluginAllowedRunTime): 54828 54829 * page/HaltablePlugin.h: Added. Defines an interface for plug-ins that 54830 can be automatically halted. 54831 (WebCore::HaltablePlugin::~HaltablePlugin): 54832 54833 * svg/graphics/SVGImage.cpp: 54834 (WebCore::SVGImage::dataChanged): 54835 Pass a dummy PluginHalterClient. 54836 54837 2009-09-24 Simon Fraser <simon.fraser (a] apple.com> 54838 54839 Reviewed by Dan Bernstein. 54840 54841 REGRESSION: webkit-transform scale no longer works properly in nightly build 54842 https://bugs.webkit.org/show_bug.cgi?id=29730 54843 54844 When the initial or final state of a scale animation does not specify a transform, 54845 use a default scale of 1, rather than zero. 54846 54847 Test: compositing/transitions/scale-transition-no-start.html 54848 54849 * platform/graphics/mac/GraphicsLayerCA.mm: 54850 (WebCore::getTransformFunctionValue): 54851 54852 2009-09-24 John Gregg <johnnyg (a] google.com> 54853 54854 Reviewed by Eric Seidel. 54855 54856 isEnabled switch for notifications (experimental) in Page Settings 54857 https://bugs.webkit.org/show_bug.cgi?id=28930 54858 54859 Adds a run-time flag in Settings object that controls whether 54860 to expose desktop notifications. 54861 54862 No new test, but test code also modified to set this preference. 54863 54864 * page/DOMWindow.cpp: 54865 (WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object 54866 * page/Settings.cpp: 54867 (WebCore::Settings::Settings): 54868 (WebCore::Settings::setExperimentalNotificationsEnabled): 54869 * page/Settings.h: 54870 (WebCore::Settings::experimentalNotificationsEnabled): 54871 54872 2009-09-24 Dan Bernstein <mitz (a] apple.com> 54873 54874 Reviewed by Sam Weinig. 54875 54876 Fix <rdar://problem/7162000> Crash while trying to 54877 calculate the horizontal position of image 54878 54879 Test: fast/inline-block/relative-positioned-rtl-crash.html 54880 54881 * rendering/RenderBox.cpp: 54882 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an 54883 isInline() test to isRenderInline(). This is similar to r41259. 54884 54885 2009-09-24 Jessie Berlin <jberlin (a] webkit.org> 54886 54887 Reviewed by Timothy Hatcher. 54888 54889 Fix expanding profile call stacks being broken after sorting. 54890 https://bugs.webkit.org/show_bug.cgi?id=26423 54891 54892 * inspector/front-end/ProfileDataGridTree.js: 54893 (WebInspector.ProfileDataGridNode.prototype.sort): 54894 Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it 54895 causes the children to be placed in the right positions. 54896 54897 2009-09-24 Geoffrey Garen <ggaren (a] apple.com> 54898 54899 Reviewed by Stephanie Lewis. 54900 54901 Fixed sudden termination console spew due to too many calls to 54902 enableSuddenTermination. 54903 54904 <rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors 54905 54906 * page/DOMWindow.cpp: 54907 (WebCore::removeUnloadEventListener): 54908 (WebCore::removeAllUnloadEventListeners): 54909 (WebCore::removeBeforeUnloadEventListener): 54910 (WebCore::removeAllBeforeUnloadEventListeners): Only 54911 enableSuddenTermination if the set of listeners is empty *and* this 54912 window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination. 54913 54914 2009-09-24 Carol Szabo <carol.szabo (a] nokia.com> 54915 54916 Reviewed by Alexey Proskuryakov. 54917 54918 WebKit returns "" instead of null when getting 54919 inexistent, forbidden or invalidly named headers. 54920 https://bugs.webkit.org/show_bug.cgi?id=29140 54921 54922 * xml/XMLHttpRequest.cpp: 54923 (WebCore::XMLHttpRequest::getResponseHeader): 54924 Changed to return null as it should according to the spec. 54925 54926 2009-09-24 Jeremy Orlow <jorlow (a] chromium.org> 54927 54928 Reviewed by Dimitri Glazkov. 54929 54930 Add GYP generated files to svn:ignore 54931 https://bugs.webkit.org/show_bug.cgi?id=29724 54932 54933 Adding the following files to the svn:ignore list (all in the 54934 WebCore/WebCore.gyp directory) 54935 54936 WebCore.xcodeproj 54937 WebCore.sln 54938 WebCore.vcproj 54939 WebCore_Debug.rules 54940 WebCore_Release.rules 54941 WebCore_Release - no tcmalloc.rules 54942 WebCore_Purify.rules 54943 WebCore.mk 54944 WebCore_Debug_rules.mk 54945 WebCore_Release_rules.mk 54946 WebCore_Release - no tcmalloc_rules.mk 54947 WebCore_Purify_rules.mk 54948 WebCore.scons 54949 WebCore_main.scons 54950 54951 * WebCore.gyp: Changed property svn:ignore. 54952 54953 2009-09-24 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 54954 54955 Unreviewed. Mac build fix. 54956 54957 * page/EventHandler.cpp: 54958 (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal): 54959 remove unused parameter from function signature; 54960 54961 2009-09-24 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 54962 54963 Reviewed by Oliver Hunt. 54964 54965 Implement correct horizontal scrollbar behavior for GTKalso on 54966 styled scrollbars. 54967 54968 https://bugs.webkit.org/show_bug.cgi?id=29348 54969 [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally 54970 54971 Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html 54972 54973 * page/EventHandler.cpp: 54974 (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the 54975 wheel with the pointer on the horizontal scrollbar, scroll 54976 horizontally; 54977 * platform/PlatformWheelEvent.h: 54978 * platform/gtk/WheelEventGtk.cpp: 54979 (WebCore::PlatformWheelEvent::swapOrientation): allow adding a 54980 vertical scroll to the horizontal one; 54981 54982 2009-09-24 Jeremy Orlow <jorlow (a] chromium.org> 54983 54984 Reviewed by Eric Seidel. 54985 54986 StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin> 54987 https://bugs.webkit.org/show_bug.cgi?id=29290 54988 54989 Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin> 54990 per http://webkit.org/coding/RefPtr.html 54991 54992 No behavior change, so no tests. 54993 54994 * storage/StorageNamespace.h: 54995 * storage/StorageNamespaceImpl.cpp: 54996 (WebCore::StorageNamespaceImpl::storageArea): 54997 * storage/StorageNamespaceImpl.h: 54998 54999 2009-09-24 Geoffrey Garen <ggaren (a] apple.com> 55000 55001 Reviewed by Sam Weinig. 55002 55003 Added back enable/disableSuddenTermination() functionality I accidentally 55004 removed in my last patch. 55005 55006 * page/DOMWindow.cpp: 55007 (WebCore::addUnloadEventListener): 55008 (WebCore::removeUnloadEventListener): 55009 (WebCore::removeAllUnloadEventListeners): 55010 (WebCore::addBeforeUnloadEventListener): 55011 (WebCore::removeBeforeUnloadEventListener): 55012 (WebCore::removeAllBeforeUnloadEventListeners): 55013 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): 55014 (WebCore::DOMWindow::~DOMWindow): 55015 (WebCore::DOMWindow::addEventListener): 55016 (WebCore::DOMWindow::removeEventListener): 55017 (WebCore::DOMWindow::removeAllEventListeners): 55018 55019 2009-09-24 Sam Weinig <sam (a] webkit.org> 55020 55021 Reviewed by Steve Falkenburg and Mark Rowe. 55022 55023 Don't pass -F to GCC on non-mac platforms since it is an darwin only. 55024 55025 * DerivedSources.make: 55026 55027 2009-09-24 Sam Weinig <sam (a] webkit.org> 55028 55029 Fix windows build. 55030 55031 * dom/Element.idl: 55032 55033 2009-09-23 Stephen White <senorblanco (a] chromium.org> 55034 55035 Reviewed by Eric Seidel. 55036 55037 Revert the relevant parts of r47925, and implement an alternate 55038 fix (localize the coordinate check to GraphicsContext::clipPath()). 55039 This fixes http://crbug.com/21174. 55040 55041 Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html. 55042 55043 * platform/graphics/skia/GraphicsContextSkia.cpp: 55044 (WebCore::GraphicsContext::clipPath): 55045 * platform/graphics/skia/PlatformContextSkia.cpp: 55046 (PlatformContextSkia::currentPathInLocalCoordinates): 55047 55048 2009-09-24 Brady Eidson <beidson (a] apple.com> 55049 55050 Reviewed by Sam Weinig. 55051 55052 Merge changes from Mozilla's FTP directory parser. 55053 <rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294 55054 55055 FTP layout tests not possible at this time. 55056 https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible. 55057 55058 * loader/FTPDirectoryParser.cpp: 55059 (WebCore::ParsingFailed): 55060 (WebCore::parseOneFTPLine): 55061 55062 2009-09-24 Philippe Normand <pnormand (a] igalia.com> 55063 55064 Reviewed by Gustavo Noronha. 55065 55066 [GTK] re-enable some media tests 55067 https://bugs.webkit.org/show_bug.cgi?id=29716 55068 55069 make canPlayType() return "probably" if mime-type is known 55070 and codecs string is not empty. If codecs is empty return 55071 "maybe". 55072 55073 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 55074 (WebCore::MediaPlayerPrivate::supportsType): 55075 55076 2009-09-24 Sam Weinig <sam (a] webkit.org> 55077 55078 Reviewed by Dan Bernstein. 55079 55080 Fix for https://bugs.webkit.org/show_bug.cgi?id=29703 55081 Add a function to element to check whether it matches a CSS selector 55082 55083 Implement Element.webkitMatchesSelector. 55084 55085 * css/CSSSelectorList.cpp: 55086 (WebCore::forEachTagSelector): 55087 (WebCore::forEachSelector): 55088 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): 55089 (WebCore::CSSSelectorList::selectorsNeedNamespaceResolution): 55090 * css/CSSSelectorList.h: 55091 Moved code to iterate the CSSSelectorList and determine if any 55092 selectors need namespace resolution from a static function in 55093 Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector 55094 as well as querySelector/querySelectorAll. 55095 55096 * dom/Element.cpp: 55097 (WebCore::Element::webkitMatchesSelector): 55098 * dom/Element.h: 55099 * dom/Element.idl: 55100 Implement the new function. Handles exceptional cases identically to 55101 querySelector/querySelectorAll. 55102 55103 * dom/Node.cpp: 55104 (WebCore::Node::querySelector): 55105 (WebCore::Node::querySelectorAll): 55106 Moved selectorsNeedNamespaceResolution to CSSSelectorList from here. 55107 55108 2009-09-24 Vitaly Repeshko <vitalyr (a] chromium.org> 55109 55110 Reviewed by Dimitri Glazkov. 55111 55112 [V8] Fixed bindings build after http://trac.webkit.org/changeset/48701 55113 https://bugs.webkit.org/show_bug.cgi?id=29713 55114 55115 Got rid of isWindowEvent in function signatures: 55116 * bindings/v8/V8AbstractEventListener.cpp: 55117 (WebCore::V8AbstractEventListener::invokeEventHandler): 55118 (WebCore::V8AbstractEventListener::handleEvent): 55119 (WebCore::V8AbstractEventListener::getReceiverObject): 55120 * bindings/v8/V8AbstractEventListener.h: 55121 * bindings/v8/V8LazyEventListener.cpp: 55122 (WebCore::V8LazyEventListener::callListenerFunction): 55123 * bindings/v8/V8LazyEventListener.h: 55124 * bindings/v8/V8WorkerContextEventListener.cpp: 55125 (WebCore::V8WorkerContextEventListener::handleEvent): 55126 (WebCore::V8WorkerContextEventListener::callListenerFunction): 55127 (WebCore::V8WorkerContextEventListener::getReceiverObject): 55128 * bindings/v8/V8WorkerContextEventListener.h: 55129 * bindings/v8/custom/V8CustomEventListener.cpp: 55130 (WebCore::V8EventListener::callListenerFunction): 55131 * bindings/v8/custom/V8CustomEventListener.h: 55132 55133 Switched to EventTarget methods of adding/removing listeners: 55134 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 55135 (WebCore::toEventID): 55136 (WebCore::ACCESSOR_SETTER): 55137 55138 * dom/EventTarget.h: Some functions were incorrectly marked 55139 as JSC-specific. 55140 55141 2009-09-24 Pavel Feldman <pfeldman (a] chromium.org> 55142 55143 Reviewed by Timothy Hatcher. 55144 55145 Web Inspector: Color-code watch expression errors with red. 55146 55147 https://bugs.webkit.org/show_bug.cgi?id=29707 55148 55149 * inspector/front-end/WatchExpressionsSidebarPane.js: 55150 (WebInspector.WatchExpressionsSection.prototype.update): 55151 (WebInspector.WatchExpressionTreeElement.prototype.update): 55152 * inspector/front-end/inspector.css: 55153 55154 2009-09-24 Pavel Feldman <pfeldman (a] chromium.org> 55155 55156 Reviewed by Timothy Hatcher. 55157 55158 Web Inspector: Fix formatting for messages derived from resource warnings, 55159 couple of drive-by formatting fixes. 55160 55161 https://bugs.webkit.org/show_bug.cgi?id=29705 55162 55163 * inspector/InspectorFrontend.cpp: 55164 (WebCore::InspectorFrontend::addMessageToConsole): 55165 * inspector/front-end/ConsoleView.js: 55166 * inspector/front-end/InjectedScript.js: 55167 (InjectedScript._evaluateAndWrap): 55168 * inspector/front-end/WatchExpressionsSidebarPane.js: 55169 (WebInspector.WatchExpressionsSection.prototype.update): 55170 55171 2009-09-22 Pavel Feldman <pfeldman (a] chromium.org> 55172 55173 Reviewed by Timothy Hatcher. 55174 55175 WebInspector: Implement InspectorController::copyNode(id). 55176 55177 https://bugs.webkit.org/show_bug.cgi?id=28357 55178 55179 * inspector/InspectorBackend.cpp: 55180 (WebCore::InspectorBackend::copyNode): 55181 * inspector/InspectorBackend.h: 55182 * inspector/InspectorBackend.idl: 55183 * inspector/front-end/ElementsPanel.js: 55184 (WebInspector.ElementsPanel.prototype.handleCopyEvent): 55185 55186 2009-09-24 Oliver Hunt <oliver (a] apple.com> 55187 55188 Reviewed by NOBODY(rollout) 55189 55190 Roll out r48712 as it is incorrect. 55191 55192 Overriding getPropertyNames is incorrect. 55193 55194 * bridge/runtime_array.cpp: 55195 * bridge/runtime_array.h: 55196 55197 2009-09-24 Xan Lopez <xlopez (a] igalia.com> 55198 55199 Revert r48697, since it broke key handling notification to GTK+. 55200 55201 * platform/gtk/KeyEventGtk.cpp: 55202 (WebCore::keyIdentifierForGdkKeyCode): 55203 (WebCore::singleCharacterString): 55204 55205 2009-09-24 Philippe Normand <pnormand (a] igalia.com> 55206 55207 Reviewed by Xan Lopez. 55208 55209 [GTK] GStreamer MediaPlayer is unable to correctly querry duration 55210 https://bugs.webkit.org/show_bug.cgi?id=24639 55211 55212 check duration returned by gst_element_query_duration() only 55213 when using GStreamer < 0.10.23. 55214 55215 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 55216 (WebCore::MediaPlayerPrivate::duration): 55217 55218 2009-09-24 Benjamin Poulain <benjamin.poulain (a] nokia.com> 55219 55220 Reviewed by Eric Seidel. 55221 55222 The indices of RuntimeArray should be enumerated like for a regular array. 55223 https://bugs.webkit.org/show_bug.cgi?id=29005 55224 55225 * bridge/runtime_array.cpp: 55226 (JSC::RuntimeArray::getPropertyNames): 55227 * bridge/runtime_array.h: 55228 55229 2009-09-23 Alexander Pavlov <apavlov (a] chromium.org> 55230 55231 Reviewed by Eric Seidel. 55232 55233 Introduce Pasteboard::writePlaintext(const String&) so that copying 55234 of the inspected elements HTML will be possible in WebInspector. 55235 https://bugs.webkit.org/show_bug.cgi?id=29634 55236 55237 * platform/Pasteboard.h: 55238 * platform/android/TemporaryLinkStubs.cpp: 55239 (Pasteboard::writePlainText): 55240 * platform/chromium/ChromiumBridge.h: 55241 * platform/chromium/PasteboardChromium.cpp: 55242 (WebCore::Pasteboard::writePlainText): 55243 * platform/gtk/PasteboardGtk.cpp: 55244 (WebCore::Pasteboard::writePlainText): 55245 * platform/haiku/PasteboardHaiku.cpp: 55246 (WebCore::Pasteboard::writePlainText): 55247 * platform/mac/PasteboardMac.mm: 55248 (WebCore::Pasteboard::writePlainText): 55249 * platform/qt/PasteboardQt.cpp: 55250 (WebCore::Pasteboard::writePlainText): 55251 * platform/win/PasteboardWin.cpp: 55252 (WebCore::Pasteboard::writeSelection): 55253 (WebCore::Pasteboard::writePlainText): 55254 * platform/wince/PasteboardWince.cpp: 55255 (WebCore::Pasteboard::writePlainText): 55256 * platform/wx/PasteboardWx.cpp: 55257 (WebCore::Pasteboard::writeSelection): 55258 (WebCore::Pasteboard::writePlainText): 55259 (WebCore::Pasteboard::writeURL): 55260 55261 2009-09-24 Oswald Buddenhagen <oswald.buddenhagen (a] nokia.com> 55262 55263 Reviewed by Simon Hausmann. 55264 55265 Fix QApp::translate() calls to provide the correct class name without 55266 a trailing comma. 55267 55268 * platform/qt/Localizations.cpp: 55269 (WebCore::localizedMediaTimeDescription): 55270 55271 2009-09-24 Geoffrey Garen <ggaren (a] apple.com> 55272 55273 More build fix: Removed JSSharedWorkerContextCustom.cpp from project 55274 files, since it no longer exists in the repository. 55275 55276 * GNUmakefile.am: 55277 * WebCore.gypi: 55278 * WebCore.pro: 55279 * WebCore.vcproj/WebCore.vcproj: 55280 55281 2009-09-24 Geoffrey Garen <ggaren (a] apple.com> 55282 55283 Windows build fix: Declare set/unsetPendingActivity public, so 55284 SharedWorkerScriptLoader can call them. 55285 55286 * dom/ActiveDOMObject.h: 55287 55288 2009-09-24 Geoffrey Garen <ggaren (a] apple.com> 55289 55290 Fixed a bit of the Windows build. 55291 55292 * workers/SharedWorker.idl: Declare a custom mark function. (I accidentally 55293 removed this in my last patch.) 55294 * WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back 55295 to the build. (I accidentally removed this in my last patch.) 55296 55297 2009-09-23 Geoffrey Garen <ggaren (a] apple.com> 55298 55299 32-bit build fix: restore previous cast that I thought was unnecessary. 55300 55301 * xml/XMLHttpRequest.cpp: 55302 (WebCore::XMLHttpRequest::didSendData): 55303 (WebCore::XMLHttpRequest::didReceiveData): 55304 55305 2009-09-23 Geoffrey Garen <ggaren (a] apple.com> 55306 55307 Reviewed by Sam Weinig. 55308 55309 Bring a little sanity to this crazy EventTarget world of ours 55310 https://bugs.webkit.org/show_bug.cgi?id=29701 55311 55312 Lots of EventTarget refactoring to achieve a single shared implementation 55313 that fixes some of the performance and correctness bugs of the many individual 55314 implementations, and makes reasoning about EventTargets and EventListeners 55315 much easier. 55316 55317 The basic design is this: 55318 - EventTarget manages a set of EventListeners. 55319 - onXXX EventListener attributes forward to standard EventTarget APIs. 55320 - Since the onXXX code is repetitive, it is usually done with macros 55321 of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName). 55322 - EventTarget provides a shared implementation of dispatchEvent, 55323 which subclasses with special event dispatch rules, like Node, override. 55324 - To support Node, which lazily instantiates its EventTarget data, 55325 EventTarget has no data members, and instead makes a virtual call 55326 to get its data from wherever its subclass chose to store it. 55327 55328 Code that used to call dispatchEvent, passing an ExceptionCode paratmeter, 55329 even though no exception could be thrown, has been changed not to do so, 55330 to improve clarity and performance. 55331 55332 Code that used to call a special dispatchXXXEvent function, which just 55333 turned around and called dispatchEvent, has been changed to call 55334 dispatchEvent, to improve clarity and performance. 55335 55336 * WebCore.base.exp: 55337 * WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit 55338 engineer. 55339 55340 * bindings/js/JSDOMBinding.cpp: 55341 (WebCore::isObservableThroughDOM): Updated for Node API change. Added 55342 "is not in the document but is firing event listeners" as a condition 55343 that makes a Node observable in the DOM, so that event listeners firing 55344 on removed nodes are not destroyed midstream. (This was a long-standing 55345 bug that was somewhat hidden by the old implementation's habit of 55346 copying the RegisteredEventListener vector before firing events, which 55347 would keep almost all the relevant objects from being destroyed.) 55348 55349 * bindings/js/JSEventListener.cpp: 55350 (WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag 55351 because it was one of the most elaborately planned no-ops in the history 55352 of software crime, and one of the reasons clients thought they needed more 55353 than one dispatchEvent function even though they didn't. 55354 * bindings/js/JSEventListener.h: 55355 55356 * bindings/js/JSDOMWindowCustom.cpp: 55357 (WebCore::JSDOMWindow::markChildren): 55358 (WebCore::JSMessagePort::markChildren): 55359 * bindings/js/JSNodeCustom.cpp: 55360 (WebCore::JSNode::markChildren): 55361 * bindings/js/JSAbstractWorkerCustom.cpp: 55362 * bindings/js/JSDOMApplicationCacheCustom.cpp: 55363 * bindings/js/JSDedicatedWorkerContextCustom.cpp: 55364 * bindings/js/JSEventSourceCustom.cpp: 55365 * bindings/js/JSMessagePortCustom.cpp: 55366 * bindings/js/JSSharedWorkerContextCustom.cpp: Removed. 55367 * bindings/js/JSWebSocketCustom.cpp: 55368 * bindings/js/JSWorkerContextCustom.cpp: 55369 (WebCore::JSWorkerContext::markChildren): 55370 * bindings/js/JSWorkerCustom.cpp: 55371 * bindings/js/JSXMLHttpRequestCustom.cpp: 55372 (WebCore::JSXMLHttpRequest::markChildren): 55373 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 55374 (WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is 55375 now autogenerated. Classes that still have custom mark functions for other 55376 reasons now call a shared EventTarget API to mark their EventListeners. 55377 55378 * bindings/objc/ObjCEventListener.h: 55379 * bindings/objc/ObjCEventListener.mm: 55380 (WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent. 55381 55382 * bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for 55383 marking and invalidating event listeners. 55384 55385 * dom/CharacterData.cpp: 55386 (WebCore::CharacterData::dispatchModifiedEvent): 55387 * dom/ContainerNode.cpp: 55388 (WebCore::ContainerNode::insertBefore): 55389 (WebCore::ContainerNode::replaceChild): 55390 (WebCore::willRemoveChild): 55391 (WebCore::ContainerNode::appendChild): 55392 (WebCore::dispatchChildInsertionEvents): 55393 (WebCore::dispatchChildRemovalEvents): 55394 * dom/Document.cpp: 55395 (WebCore::Document::removeAllEventListeners): 55396 (WebCore::Document::implicitClose): 55397 (WebCore::Document::setFocusedNode): 55398 (WebCore::Document::dispatchWindowEvent): 55399 (WebCore::Document::dispatchWindowLoadEvent): 55400 (WebCore::Document::finishedParsing): 55401 * dom/Document.h: Use dispatchEvent directly. 55402 55403 * dom/Element.h: Moved a few event listener attributes down from Node, 55404 since they don't apply to all Nodes, only Elements. 55405 55406 * dom/EventListener.h: Removed isWindowEvent parameter. 55407 55408 * dom/EventNames.h: Added the "display" event name, so it works correctly 55409 with attribute macros, and for performance. 55410 55411 * dom/EventTarget.cpp: 55412 (WebCore::forbidEventDispatch): 55413 (WebCore::allowEventDispatch): 55414 (WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread 55415 safe, since it's now called on multiple threads. (Currently, we only forbid 55416 event dispatch on the main thread. If we ever want to forbid event dispatch 55417 on secondary threads, we can improve it then.) 55418 55419 (WebCore::EventTarget::addEventListener): 55420 (WebCore::EventTarget::removeEventListener): 55421 (WebCore::EventTarget::setAttributeEventListener): 55422 (WebCore::EventTarget::getAttributeEventListener): 55423 (WebCore::EventTarget::clearAttributeEventListener): 55424 (WebCore::EventTarget::dispatchEvent): 55425 (WebCore::EventTarget::fireEventListeners): 55426 (WebCore::EventTarget::getEventListeners): 55427 (WebCore::EventTarget::removeAllEventListeners): 55428 * dom/EventTarget.h: 55429 (WebCore::FiringEventEndIterator::FiringEventEndIterator): 55430 (WebCore::EventTarget::ref): 55431 (WebCore::EventTarget::deref): 55432 (WebCore::EventTarget::markEventListeners): 55433 (WebCore::EventTarget::invalidateEventListeners): 55434 (WebCore::EventTarget::isFiringEventListeners): 55435 (WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of 55436 EventTarget APIs, crafted from an amalgam of all the different versions 55437 we used to have. The most significant change here is that we no longer 55438 make a copy of an EventListener vector before firing the events in the 55439 vector -- instead, we use a reference to the original vector, along with 55440 a notification mechanism for the unlikely case when an EventListener is 55441 removed from the vector. This substantially reduces malloc, copying, and 55442 refcount overhead, and complexity. 55443 55444 * dom/InputElement.cpp: 55445 (WebCore::InputElement::setValueFromRenderer): 55446 * dom/MessageEvent.h: 55447 (WebCore::MessageEvent::create): Use dispatchEvent directly. 55448 55449 * dom/MessagePort.cpp: 55450 (WebCore::MessagePort::dispatchMessages): 55451 (WebCore::MessagePort::eventTargetData): 55452 (WebCore::MessagePort::ensureEventTargetData): 55453 * dom/MessagePort.h: 55454 (WebCore::MessagePort::setOnmessage): 55455 (WebCore::MessagePort::onmessage): 55456 * dom/MessagePort.idl: Removed custom EventTarget implementation. 55457 55458 * dom/MutationEvent.h: 55459 (WebCore::MutationEvent::create): Added some default values so callers 55460 can construct MutationEvents more easily, without calling a custom dispatch 55461 function. 55462 55463 * dom/Node.cpp: 55464 (WebCore::Node::addEventListener): 55465 (WebCore::Node::removeEventListener): 55466 (WebCore::Node::eventTargetData): 55467 (WebCore::Node::ensureEventTargetData): 55468 (WebCore::Node::handleLocalEvents): 55469 (WebCore::Node::dispatchEvent): 55470 (WebCore::Node::dispatchGenericEvent): 55471 (WebCore::Node::dispatchSubtreeModifiedEvent): 55472 (WebCore::Node::dispatchUIEvent): 55473 (WebCore::Node::dispatchKeyEvent): 55474 (WebCore::Node::dispatchMouseEvent): 55475 (WebCore::Node::dispatchWheelEvent): 55476 (WebCore::Node::dispatchFocusEvent): 55477 (WebCore::Node::dispatchBlurEvent): 55478 * dom/Node.h: 55479 (WebCore::Node::preDispatchEventHandler): 55480 (WebCore::Node::postDispatchEventHandler): 55481 * dom/Node.idl: 55482 * dom/NodeRareData.h: 55483 (WebCore::NodeRareData::eventTargetData): 55484 (WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget 55485 interface, and call dispatchEvent directly instead of custom dispatchXXXEvent 55486 functions that just forwarded to dispatchEvent. 55487 55488 * dom/RegisteredEventListener.cpp: 55489 * dom/RegisteredEventListener.h: 55490 (WebCore::RegisteredEventListener::RegisteredEventListener): 55491 (WebCore::operator==): This is just a simple struct now, since we no longer 55492 do a complicated copy / refCount / isRemoved dance just to honor the rule 55493 that an EventListener can be removed during event dispatch. 55494 55495 * history/CachedFrame.cpp: 55496 (WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent. 55497 55498 * html/HTMLBodyElement.cpp: 55499 * html/HTMLBodyElement.h: Use the shared EventTarget API. 55500 55501 * html/HTMLFormControlElement.cpp: 55502 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): 55503 (WebCore::HTMLFormControlElement::checkValidity): 55504 * html/HTMLFormElement.cpp: 55505 (WebCore::HTMLFormElement::handleLocalEvents): 55506 (WebCore::HTMLFormElement::prepareSubmit): 55507 (WebCore::HTMLFormElement::reset): 55508 * html/HTMLFormElement.h: Use the standard dispatchEvent API. 55509 55510 * html/HTMLFrameSetElement.cpp: 55511 * html/HTMLFrameSetElement.h: Use the shared EventTarget API. 55512 55513 * html/HTMLImageLoader.cpp: 55514 (WebCore::HTMLImageLoader::dispatchLoadEvent): 55515 * html/HTMLInputElement.cpp: 55516 (WebCore::HTMLInputElement::onSearch): 55517 * html/HTMLMediaElement.cpp: 55518 (WebCore::HTMLMediaElement::loadInternal): 55519 * html/HTMLScriptElement.cpp: 55520 (WebCore::HTMLScriptElement::dispatchLoadEvent): 55521 (WebCore::HTMLScriptElement::dispatchErrorEvent): 55522 * html/HTMLSourceElement.cpp: 55523 (WebCore::HTMLSourceElement::errorEventTimerFired): 55524 * html/HTMLTokenizer.cpp: 55525 (WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API. 55526 55527 * inspector/InspectorDOMAgent.cpp: 55528 (WebCore::InspectorDOMAgent::handleEvent): 55529 * inspector/InspectorDOMAgent.h: 55530 * inspector/InspectorDOMStorageResource.cpp: 55531 (WebCore::InspectorDOMStorageResource::handleEvent): 55532 * inspector/InspectorDOMStorageResource.h: 55533 * loader/FrameLoader.cpp: 55534 (WebCore::FrameLoader::stopLoading): 55535 (WebCore::FrameLoader::canCachePageContainingThisFrame): 55536 (WebCore::FrameLoader::logCanCacheFrameDecision): 55537 (WebCore::HashChangeEventTask::performTask): 55538 (WebCore::FrameLoader::pageHidden): No more isWindowEvent. 55539 55540 * loader/ImageDocument.cpp: 55541 (WebCore::ImageEventListener::handleEvent): 55542 * loader/appcache/ApplicationCacheGroup.cpp: 55543 (WebCore::CallCacheListenerTask::performTask): 55544 * loader/appcache/ApplicationCacheHost.cpp: 55545 (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): 55546 * loader/appcache/ApplicationCacheHost.h: 55547 * loader/appcache/DOMApplicationCache.cpp: 55548 (WebCore::DOMApplicationCache::eventTargetData): 55549 (WebCore::DOMApplicationCache::ensureEventTargetData): 55550 * loader/appcache/DOMApplicationCache.h: 55551 * loader/appcache/DOMApplicationCache.idl: Switched to the standard 55552 EventTarget API. As a part of this, I switched this class from using a 55553 custom internal event name enumeration to using the standard EventNames. 55554 55555 * notifications/Notification.cpp: 55556 (WebCore::Notification::eventTargetData): 55557 (WebCore::Notification::ensureEventTargetData): 55558 * notifications/Notification.h: 55559 (WebCore::Notification::scriptExecutionContext): 55560 * notifications/Notification.idl: Switched to the standard EventTarget API. 55561 55562 * page/DOMWindow.cpp: 55563 (WebCore::PostMessageTimer::event): 55564 (WebCore::windowsWithUnloadEventListeners): 55565 (WebCore::windowsWithBeforeUnloadEventListeners): 55566 (WebCore::allowsBeforeUnloadListeners): 55567 (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): 55568 (WebCore::DOMWindow::pendingUnloadEventListeners): 55569 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending" 55570 unload / beforeunload listener tracker just to track which windows had 55571 such listeners, instead of actually keeping a copy of the listeners. Now, 55572 this code can use the standard EventTarget API. 55573 55574 (WebCore::DOMWindow::~DOMWindow): 55575 (WebCore::DOMWindow::postMessageTimerFired): 55576 (WebCore::DOMWindow::addEventListener): 55577 (WebCore::DOMWindow::removeEventListener): 55578 (WebCore::DOMWindow::dispatchLoadEvent): 55579 (WebCore::DOMWindow::dispatchEvent): 55580 (WebCore::DOMWindow::removeAllEventListeners): 55581 (WebCore::DOMWindow::captureEvents): 55582 (WebCore::DOMWindow::releaseEvents): 55583 (WebCore::DOMWindow::eventTargetData): 55584 (WebCore::DOMWindow::ensureEventTargetData): 55585 * page/DOMWindow.h: 55586 * page/DOMWindow.idl: Use the standard EventTarget APIs. 55587 55588 * page/EventHandler.cpp: 55589 (WebCore::EventHandler::canMouseDownStartSelect): 55590 (WebCore::EventHandler::canMouseDragExtendSelect): 55591 (WebCore::EventHandler::sendResizeEvent): 55592 (WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly. 55593 55594 * page/EventSource.cpp: 55595 (WebCore::EventSource::endRequest): 55596 (WebCore::EventSource::didReceiveResponse): 55597 (WebCore::EventSource::parseEventStreamLine): 55598 (WebCore::EventSource::stop): 55599 (WebCore::EventSource::createMessageEvent): 55600 (WebCore::EventSource::eventTargetData): 55601 (WebCore::EventSource::ensureEventTargetData): 55602 * page/EventSource.h: 55603 * page/EventSource.idl: Use the standard EventTarget APIs. 55604 55605 * page/FocusController.cpp: 55606 (WebCore::dispatchEventsOnWindowAndFocusedNode): 55607 (WebCore::FocusController::setFocusedFrame): 55608 * page/Frame.cpp: 55609 (WebCore::Frame::shouldClose): 55610 * page/Frame.h: 55611 * page/Page.cpp: 55612 (WebCore::networkStateChanged): 55613 * page/animation/AnimationController.cpp: 55614 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 55615 * rendering/RenderListBox.cpp: 55616 (WebCore::RenderListBox::valueChanged): 55617 * rendering/RenderTextControl.cpp: 55618 (WebCore::RenderTextControl::selectionChanged): 55619 * rendering/RenderTextControlMultiLine.cpp: 55620 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent. 55621 55622 * svg/SVGElement.cpp: 55623 (WebCore::hasLoadListener): Rewritten for new EventTarget API. 55624 55625 * svg/SVGElementInstance.cpp: 55626 (WebCore::dummyEventTargetData): 55627 (WebCore::SVGElementInstance::addEventListener): 55628 (WebCore::SVGElementInstance::removeEventListener): 55629 (WebCore::SVGElementInstance::removeAllEventListeners): 55630 (WebCore::SVGElementInstance::dispatchEvent): 55631 (WebCore::SVGElementInstance::eventTargetData): 55632 (WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API. 55633 55634 * svg/SVGElementInstance.h: 55635 * svg/SVGImageLoader.cpp: 55636 (WebCore::SVGImageLoader::dispatchLoadEvent): 55637 * svg/SVGScriptElement.cpp: 55638 (WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly. 55639 55640 * svg/SVGUseElement.cpp: 55641 (WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for 55642 new EventTarget API. 55643 55644 * svg/animation/SVGSMILElement.cpp: 55645 (WebCore::ConditionEventListener::handleEvent): No more isWindowEvent. 55646 55647 * websockets/WebSocket.cpp: 55648 (WebCore::ProcessWebSocketEventTask::create): 55649 (WebCore::ProcessWebSocketEventTask::performTask): 55650 (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask): 55651 (WebCore::WebSocket::didConnect): 55652 (WebCore::WebSocket::didReceiveMessage): 55653 (WebCore::WebSocket::didClose): 55654 (WebCore::WebSocket::eventTargetData): 55655 (WebCore::WebSocket::ensureEventTargetData): 55656 * websockets/WebSocket.h: 55657 * websockets/WebSocket.idl: 55658 * workers/AbstractWorker.cpp: 55659 (WebCore::AbstractWorker::eventTargetData): 55660 (WebCore::AbstractWorker::ensureEventTargetData): 55661 * workers/AbstractWorker.h: 55662 * workers/AbstractWorker.idl: 55663 * workers/DedicatedWorkerContext.cpp: 55664 * workers/DedicatedWorkerContext.h: 55665 * workers/DedicatedWorkerContext.idl: 55666 * workers/DefaultSharedWorkerRepository.cpp: 55667 (WebCore::SharedWorkerConnectTask::performTask): 55668 (WebCore::SharedWorkerScriptLoader::load): 55669 (WebCore::SharedWorkerScriptLoader::notifyFinished): 55670 * workers/SharedWorker.idl: 55671 * workers/SharedWorkerContext.cpp: 55672 (WebCore::createConnectEvent): 55673 * workers/SharedWorkerContext.h: 55674 * workers/SharedWorkerContext.idl: 55675 * workers/Worker.cpp: 55676 (WebCore::Worker::notifyFinished): 55677 * workers/Worker.h: 55678 * workers/Worker.idl: 55679 * workers/WorkerContext.cpp: 55680 (WebCore::WorkerContext::eventTargetData): 55681 (WebCore::WorkerContext::ensureEventTargetData): 55682 * workers/WorkerContext.h: 55683 * workers/WorkerContext.idl: 55684 * workers/WorkerMessagingProxy.cpp: 55685 (WebCore::MessageWorkerContextTask::performTask): 55686 (WebCore::MessageWorkerTask::performTask): 55687 (WebCore::WorkerExceptionTask::performTask): 55688 * xml/XMLHttpRequest.cpp: 55689 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 55690 (WebCore::XMLHttpRequest::createRequest): 55691 (WebCore::XMLHttpRequest::abort): 55692 (WebCore::XMLHttpRequest::networkError): 55693 (WebCore::XMLHttpRequest::abortError): 55694 (WebCore::XMLHttpRequest::didSendData): 55695 (WebCore::XMLHttpRequest::didReceiveData): 55696 (WebCore::XMLHttpRequest::eventTargetData): 55697 (WebCore::XMLHttpRequest::ensureEventTargetData): 55698 * xml/XMLHttpRequest.h: 55699 * xml/XMLHttpRequest.idl: 55700 * xml/XMLHttpRequestProgressEvent.h: 55701 (WebCore::XMLHttpRequestProgressEvent::create): 55702 * xml/XMLHttpRequestUpload.cpp: 55703 (WebCore::XMLHttpRequestUpload::eventTargetData): 55704 (WebCore::XMLHttpRequestUpload::ensureEventTargetData): 55705 * xml/XMLHttpRequestUpload.h: 55706 * xml/XMLHttpRequestUpload.idl: Use new EventTarget API. 55707 55708 2009-09-23 Kent Tamura <tkent (a] chromium.org> 55709 55710 Reviewed by Darin Adler. 55711 55712 - Support for maxLength of <textarea> 55713 - Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String. 55714 https://bugs.webkit.org/show_bug.cgi?id=29292 55715 55716 Test: fast/forms/textarea-maxlength.html 55717 55718 * dom/InputElement.cpp: 55719 (WebCore::InputElement::sanitizeUserInputValue): 55720 (WebCore::InputElement::handleBeforeTextInsertedEvent): 55721 * html/HTMLTextAreaElement.cpp: 55722 (WebCore::HTMLTextAreaElement::defaultEventHandler): 55723 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): 55724 (WebCore::HTMLTextAreaElement::sanitizeUserInputValue): 55725 (WebCore::HTMLTextAreaElement::maxLength): 55726 (WebCore::HTMLTextAreaElement::setMaxLength): 55727 * html/HTMLTextAreaElement.h: 55728 * html/HTMLTextAreaElement.idl: 55729 * platform/text/PlatformString.h: 55730 * platform/text/String.cpp: 55731 (WebCore::String::numGraphemeClusters): 55732 (WebCore::String::numCharactersInGraphemeClusters): 55733 55734 2009-09-23 Martin Robinson <martin.james.robinson (a] gmail.com> 55735 55736 Reviewed by Xan Lopez. 55737 55738 [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images 55739 https://bugs.webkit.org/show_bug.cgi?id=29654 55740 55741 Give GDK_Backspace key events the proper text properties. 55742 55743 Instead of adding new tests, this change removes existing tests 55744 from Gtk's skipped list. 55745 55746 * platform/gtk/KeyEventGtk.cpp: 55747 (WebCore::keyIdentifierForGdkKeyCode): 55748 (WebCore::singleCharacterString): 55749 55750 2009-09-23 Sam Weinig <sam (a] webkit.org> 55751 55752 Reviewed by Adam Barth. 55753 55754 Fix for https://bugs.webkit.org/show_bug.cgi?id=26989 55755 Should allow navigation of top-level openers 55756 <rdar://problem/7034025> 55757 55758 Allow navigation of cross-origin window.opener if it is top-level frame. 55759 55760 Test: http/tests/security/frameNavigation/cross-origin-opener.html 55761 55762 * loader/FrameLoader.cpp: 55763 (WebCore::FrameLoader::shouldAllowNavigation): 55764 55765 2009-09-23 Marshall Culpepper <mculpepper (a] appcelerator.com> 55766 55767 Reviewed by Eric Seidel. 55768 55769 Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by 55770 default when the necessary dependencies are extracted into the 55771 WebKitLibrariesDir. 55772 https://bugs.webkit.org/show_bug.cgi?id=29661 55773 55774 * WebCore.vcproj/WebCoreCairo.vsprops: 55775 55776 2009-09-23 Darin Adler <darin (a] apple.com> 55777 55778 Reviewed by Sam Weinig. 55779 55780 Crash when website does a history.back() followed by an alert() 55781 https://bugs.webkit.org/show_bug.cgi?id=29686 55782 rdar://problem/6984996 55783 55784 When loading is deferred, we need to defer timer-based loads 55785 too, not just networking-driven loads. Otherwise we can get 55786 syncronouse navigation while running a script, which leads to 55787 crashes and other badness. 55788 55789 This patch includes a manual test; an automated test may be 55790 possible some time in the future. 55791 55792 * dom/Document.cpp: 55793 (WebCore::Document::processHttpEquiv): Use scheduleLocationChange 55794 instead of scheduleHTTPRedirection to implement the navigation 55795 needed for x-frame-options. 55796 55797 * loader/FrameLoader.cpp: 55798 (WebCore::FrameLoader::FrameLoader): Updated for data members with 55799 new names and new data members. 55800 (WebCore::FrameLoader::setDefersLoading): When turning deferral 55801 off, call startRedirectionTimer and startCheckCompleteTimer, since 55802 either of them might have been fired and ignored while defersLoading 55803 was true. 55804 (WebCore::FrameLoader::clear): Updated for replacement of the 55805 m_checkCompletedTimer and m_checkLoadCompleteTimer timers. 55806 (WebCore::FrameLoader::allAncestorsAreComplete): Added. 55807 (WebCore::FrameLoader::checkCompleted): Added code to set 55808 m_shouldCallCheckCompleted to false. Changed code that calls 55809 startRedirectionTimer to call it unconditionally, since that 55810 function now knows when to do work and doesn't expect callers 55811 to handle that any more. 55812 (WebCore::FrameLoader::checkTimerFired): Added. Replaces the old 55813 timer fired callbacks. Calls checkCompleted and checkLoadComplete 55814 as appropriate, but not when defersLoading is true. 55815 (WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces 55816 the two different calls to start timers before. Only starts the 55817 timers if they are needed. 55818 (WebCore::FrameLoader::scheduleCheckCompleted): Changed to call 55819 startCheckCompleteTimer after setting boolean. 55820 (WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto. 55821 (WebCore::FrameLoader::scheduleHistoryNavigation): Removed 55822 canGoBackOrForward check. The logic works more naturally when 55823 we don't do anything until the timer fires. 55824 (WebCore::FrameLoader::redirectionTimerFired): Do nothing if 55825 defersLoading is true. Also moved canGoBackOrForward check here. 55826 (WebCore::FrameLoader::scheduleRedirection): Changed code that 55827 calls startRedirectionTimer to do so unconditionally. That 55828 function now handles the rules about when to start the timer 55829 rather than expecting the caller to do so. 55830 (WebCore::FrameLoader::startRedirectionTimer): Added code to 55831 handle the case where there is no redirection scheduled, 55832 where the timer is already active, or where this is a classic 55833 redirection and there is an ancestor that has not yet completed 55834 loading. 55835 (WebCore::FrameLoader::completed): Call startRedirectionTimer 55836 here directly instead of calling a cover named parentCompleted. 55837 Hooray! One less function in the giant FrameLoader class! 55838 (WebCore::FrameLoader::checkLoadComplete): Added code to set 55839 m_shouldCallCheckLoadComplete to false. 55840 55841 * loader/FrameLoader.h: Replaced the two functions 55842 checkCompletedTimerFired and checkLoadCompleteTimerFired with 55843 one function, checkTimerFired. Removed the parentCompleted 55844 function. Added the startCheckCompleteTimer and 55845 allAncestorsAreComplete functions. Replaced the 55846 m_checkCompletedTimer and m_checkLoadCompleteTimer data 55847 members with m_checkTimer, m_shouldCallCheckCompleted, and 55848 m_shouldCallCheckLoadComplete. 55849 55850 * manual-tests/go-back-after-alert.html: Added. 55851 * manual-tests/resources/alert-and-go-back.html: Added. 55852 55853 2009-09-23 David Kilzer <ddkilzer (a] apple.com> 55854 55855 <http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make 55856 55857 Reviewed by Mark Rowe. 55858 55859 The "Generate 64-bit Export File" build phase script generated 55860 the WebCore.LP64.exp export file used to link 64-bit WebCore. 55861 Instead of having a separate build phase script, move its 55862 generation into DerivedSources.make where WebCore.exp is 55863 generated. 55864 55865 * DerivedSources.make: Added a rule to make WebCore.LP64.exp. 55866 Added code to append WebCore.PluginHostProcess.exp to 55867 $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS 55868 is set to 1. 55869 * WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp. 55870 * WebCore.xcodeproj/project.pbxproj: Removed the "Generate 55871 64-bit Export File" build phase script. Renamed WebCore.LP64.exp 55872 to WebCore.PluginHostProcess.exp. 55873 55874 2009-09-23 Peter Kasting <pkasting (a] google.com> 55875 55876 Reviewed by Dimitri Glazkov. 55877 55878 https://bugs.webkit.org/show_bug.cgi?id=29694 55879 [Chromium] Eliminate dependency on gfx::Rect from ImageSkia. 55880 55881 * platform/graphics/skia/ImageSkia.cpp: 55882 (WebCore::drawResampledBitmap): 55883 55884 2009-09-22 Timothy Hatcher <timothy (a] apple.com> 55885 55886 Prevent scrolling multiple elements during latched wheel events. 55887 55888 Reviewed by Anders Carlsson. 55889 55890 * page/EventHandler.cpp: 55891 (WebCore::scrollAndAcceptEvent): 55892 (WebCore::EventHandler::clear): 55893 (WebCore::EventHandler::handleWheelEvent): 55894 * page/EventHandler.h: 55895 * rendering/RenderBox.cpp: 55896 (WebCore::RenderBox::scroll): 55897 * rendering/RenderBox.h: 55898 55899 2009-09-23 Daniel Bates <dbates (a] webkit.org> 55900 55901 Reviewed by Adam Barth. 55902 55903 https://bugs.webkit.org/show_bug.cgi?id=29523 55904 55905 Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the 55906 XSSAuditor. 55907 55908 The method FrameLoader::executeIfJavaScriptURL decodes the URL escape 55909 sequences in a JavaScript URL before it is eventually passed to the XSSAuditor. 55910 Because the XSSAuditor also decodes the URL escape sequences as part of its 55911 canonicalization, the double decoding of a JavaScript URL would 55912 not match the canonicalization of the input parameters. 55913 55914 Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html 55915 http/tests/security/xssAuditor/javascript-link-url-encoded.html 55916 55917 * bindings/js/ScriptController.cpp: 55918 (WebCore::ScriptController::evaluate): Moved call to 55919 XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL. 55920 * bindings/v8/ScriptController.cpp: 55921 (WebCore::ScriptController::evaluate): Ditto. 55922 * loader/FrameLoader.cpp: 55923 (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call 55924 XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is 55925 decoded. 55926 55927 2009-09-22 Dave Hyatt <hyatt (a] apple.com> 55928 55929 Reviewed by John Sullivan. 55930 55931 https://bugs.webkit.org/show_bug.cgi?id=29657 55932 Columns don't break properly in positioned elements with a fixed height. Make sure that 55933 a block is still considered to have columns even when the column count is 1 if the column 55934 width is non-auto. 55935 55936 Added fast/multicol/positioned-with-constrained-height.html 55937 55938 * rendering/RenderBlock.cpp: 55939 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): 55940 55941 2009-09-23 Holger Hans Peter Freyther <zecke (a] selfish.org> 55942 55943 Rubber-stamped by Simon Hausmann. 55944 55945 Add a null check for the Document*. In the mirror benchmarking 55946 application a crash from a call from JavaScript was observed. 55947 55948 I was not able to come up with a test case for this issue. 55949 55950 * platform/qt/CookieJarQt.cpp: 55951 (WebCore::cookieJar): 55952 55953 2009-09-23 Simon Hausmann <simon.hausmann (a] nokia.com> 55954 55955 Reviewed by Tor Arne Vestb. 55956 55957 Fix the Qt/Windows build, after the introduction of 55958 the page client. 55959 55960 * plugins/win/PluginViewWin.cpp: 55961 (windowHandleForPageClient): 55962 (WebCore::PluginView::getValue): 55963 (WebCore::PluginView::forceRedraw): 55964 (WebCore::PluginView::platformStart): 55965 55966 2009-09-23 Gustavo Noronha Silva <gns (a] gnome.org> 55967 55968 Reviewed by Xan Lopez. 55969 55970 [GTK] media tests failing after their rework 55971 https://bugs.webkit.org/show_bug.cgi?id=29532 55972 55973 Correctly advertise the mime types used by the common formats used 55974 in the tests. 55975 55976 Tests that regressed, and will pass again: 55977 55978 media/video-canvas-source.html 55979 media/video-controls.html 55980 media/video-currentTime-set2.html 55981 media/video-dom-autoplay.html 55982 media/video-dom-src.html 55983 media/video-error-abort.html 55984 media/video-load-networkState.html 55985 media/video-load-readyState.html 55986 media/video-muted.html 55987 media/video-no-autoplay.html 55988 media/video-pause-empty-events.html 55989 media/video-play-empty-events.html 55990 media/video-seekable.html 55991 media/video-seeking.html 55992 media/video-size.html 55993 media/video-source-type-params.html 55994 media/video-source-type.html 55995 media/video-source.html 55996 media/video-src-change.html 55997 media/video-src-invalid-remove.html 55998 media/video-src-remove.html 55999 media/video-src-set.html 56000 media/video-src-source.html 56001 media/video-src.html 56002 media/video-timeupdate-during-playback.html 56003 media/video-volume.html 56004 56005 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 56006 (WebCore::mimeTypeCache): 56007 56008 2009-09-22 Charles Wei <charles.wei (a] torchmobile.com.cn> 56009 56010 Reviewed by Eric Seidel. 56011 56012 Fix the crash problem with absolte positioned children in foreignobject 56013 htts://bugs.webkit.org/show_bug.cgi?id=26342 56014 56015 Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg 56016 56017 * rendering/RenderForeignObject.h: 56018 (WebCore::RenderForeignObject::isSVGForeignObject): 56019 * rendering/RenderObject.cpp: 56020 (WebCore::RenderObject::containingBlock): 56021 * rendering/RenderObject.h: 56022 (WebCore::RenderObject::isSVGForeignObject): 56023 56024 2009-09-22 Drew Wilson <atwilson (a] google.com> 56025 56026 Reviewed by David Levin. 56027 56028 SharedWorkers "name" attribute is now optional. 56029 https://bugs.webkit.org/show_bug.cgi?id=28897 56030 56031 Test: fast/workers/shared-worker-name.html 56032 56033 * bindings/js/JSSharedWorkerConstructor.cpp: 56034 (WebCore::constructSharedWorker): 56035 Default 'name' attribute to empty string if it is not provided. 56036 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 56037 (WebCore::CALLBACK_FUNC_DECL): 56038 Default 'name' attribute to empty string if it is not provided. 56039 * workers/DefaultSharedWorkerRepository.cpp: 56040 (WebCore::SharedWorkerProxy::matches): 56041 Now matches URLs if names are empty strings. 56042 (WebCore::DefaultSharedWorkerRepository::getProxy): 56043 Pass URL in to SharedWorkerProxy::matches(). 56044 56045 2009-09-22 Dimitri Glazkov <dglazkov (a] chromium.org> 56046 56047 Unreviewed, another build fix. 56048 56049 [Chromium] Add another missing include. 56050 https://bugs.webkit.org/show_bug.cgi?id=29536 56051 56052 * inspector/InspectorController.cpp: Added DOMWindow.h include. 56053 56054 2009-09-22 Dimitri Glazkov <dglazkov (a] chromium.org> 56055 56056 Unreviewed, build fix. 56057 56058 [Chromium] Add missing include. 56059 https://bugs.webkit.org/show_bug.cgi?id=29536 56060 56061 * inspector/InspectorDOMStorageResource.cpp: Added DOMWindow.h include. 56062 56063 2009-09-22 Darin Adler <darin (a] apple.com> 56064 56065 Reviewed by Sam Weinig. 56066 56067 Tighten up the ScheduledRedirection machinery to prepare for a bug fix 56068 https://bugs.webkit.org/show_bug.cgi?id=29663 56069 56070 * loader/FrameLoader.cpp: 56071 (WebCore::ScheduledRedirection::ScheduledRedirection): Added a boolean, 56072 initialized to false, to keep track if the redirection has been 56073 communicated to the client. 56074 (WebCore::FrameLoader::stopLoading): Tweaked a comment. 56075 (WebCore::FrameLoader::cancelRedirection): Removed code to clear 56076 m_scheduledRedirection.clear since stopRedirectionTimer does that now. 56077 (WebCore::FrameLoader::allChildrenAreComplete): Added. 56078 (WebCore::FrameLoader::checkCompleted): Use allChildrenAreComplete 56079 function for clarity. 56080 (WebCore::FrameLoader::checkCallImplicitClose): Ditto. 56081 (WebCore::FrameLoader::scheduleRedirection): Changed to take a PassOwnPtr. 56082 (WebCore::FrameLoader::startRedirectionTimer): Added code to set the 56083 toldClient flag and not call clientRedirected a second time if it is set. 56084 (WebCore::FrameLoader::stopRedirectionTimer): Changed so this can be safely 56085 called multiple times and it will call clientRedirectCancelledOrFinished 56086 only once. 56087 56088 * loader/FrameLoader.h: Changed scheduleRedirection to be a PassOwnPtr. 56089 Added allChildrenAreComplete function. 56090 56091 2009-09-22 Yury Semikhatsky <yurys (a] chromium.org> 56092 56093 Reviewed by Timothy Hatcher. 56094 56095 WebInspector: Migrate Databases tab to InjectedScript / 56096 serialized interaction. 56097 56098 DOMStorage interaction is now serialized into JSON messages 56099 and doesn't require quarantined objects. 56100 56101 https://bugs.webkit.org/show_bug.cgi?id=28873 56102 56103 * dom/EventListener.h: 56104 (WebCore::EventListener::): 56105 * inspector/InspectorBackend.cpp: 56106 (WebCore::InspectorBackend::selectDOMStorage): 56107 (WebCore::InspectorBackend::getDOMStorageEntries): 56108 (WebCore::InspectorBackend::setDOMStorageItem): 56109 (WebCore::InspectorBackend::removeDOMStorageItem): 56110 * inspector/InspectorBackend.h: 56111 * inspector/InspectorBackend.idl: 56112 * inspector/InspectorController.cpp: 56113 (WebCore::InspectorController::didCommitLoad): 56114 (WebCore::InspectorController::selectDOMStorage): 56115 (WebCore::InspectorController::getDOMStorageEntries): 56116 (WebCore::InspectorController::setDOMStorageItem): 56117 (WebCore::InspectorController::removeDOMStorageItem): 56118 (WebCore::InspectorController::getDOMStorageResourceForId): 56119 * inspector/InspectorController.h: 56120 * inspector/InspectorDOMStorageResource.cpp: 56121 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): 56122 (WebCore::InspectorDOMStorageResource::bind): 56123 (WebCore::InspectorDOMStorageResource::unbind): 56124 (WebCore::InspectorDOMStorageResource::startReportingChangesToFrontend): 56125 (WebCore::InspectorDOMStorageResource::handleEvent): 56126 (WebCore::InspectorDOMStorageResource::operator==): 56127 * inspector/InspectorDOMStorageResource.h: 56128 (WebCore::InspectorDOMStorageResource::cast): 56129 (WebCore::InspectorDOMStorageResource::id): 56130 (WebCore::InspectorDOMStorageResource::domStorage): 56131 * inspector/InspectorFrontend.cpp: 56132 (WebCore::InspectorFrontend::selectDOMStorage): 56133 (WebCore::InspectorFrontend::didGetDOMStorageEntries): 56134 (WebCore::InspectorFrontend::didSetDOMStorageItem): 56135 (WebCore::InspectorFrontend::didRemoveDOMStorageItem): 56136 (WebCore::InspectorFrontend::updateDOMStorage): 56137 * inspector/InspectorFrontend.h: 56138 * inspector/front-end/DOMStorage.js: 56139 (WebInspector.DOMStorage): 56140 (WebInspector.DOMStorage.prototype.get id): 56141 (WebInspector.DOMStorage.prototype.get domStorage): 56142 (WebInspector.DOMStorage.prototype.get isLocalStorage): 56143 (WebInspector.DOMStorage.prototype.getEntriesAsync): 56144 (WebInspector.DOMStorage.prototype.setItemAsync): 56145 (WebInspector.DOMStorage.prototype.removeItemAsync): 56146 * inspector/front-end/DOMStorageDataGrid.js: 56147 (WebInspector.DOMStorageDataGrid): 56148 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): 56149 (WebInspector.DOMStorageDataGrid.prototype._startEditing): 56150 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): 56151 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): 56152 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): 56153 * inspector/front-end/DOMStorageItemsView.js: 56154 (WebInspector.DOMStorageItemsView.prototype.update): 56155 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): 56156 (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): 56157 * inspector/front-end/StoragePanel.js: 56158 (WebInspector.StoragePanel.prototype.show): 56159 (WebInspector.StoragePanel.prototype.reset): 56160 (WebInspector.StoragePanel.prototype.selectDOMStorage): 56161 (WebInspector.StoragePanel.prototype.updateDOMStorage): 56162 (WebInspector.StoragePanel.prototype._domStorageForId): 56163 * inspector/front-end/inspector.js: 56164 (WebInspector.addDOMStorage): 56165 (WebInspector.updateDOMStorage): 56166 56167 2009-09-22 Sam Weinig <sam (a] webkit.org> 56168 56169 Reviewed by Alexey Proskuryakov. 56170 56171 Fix for XMLHttpRequest.abort() should destroy the response text. 56172 https://bugs.webkit.org/show_bug.cgi?id=29658 56173 <rdar://problem/5301430> 56174 56175 Clearing the response text after calling XMLHttpRequest.abort() is necessary 56176 per spec and matches Firefox. It is also a potential memory win. 56177 56178 Test: http/tests/xmlhttprequest/abort-should-destroy-responseText.html 56179 56180 * xml/XMLHttpRequest.cpp: 56181 (WebCore::XMLHttpRequest::abort): Clear the response text making sure to 56182 keep the actual ResourceReponse around so that the response status and response 56183 status text are kept around. 56184 56185 2009-09-22 Dimitri Glazkov <dglazkov (a] chromium.org> 56186 56187 No review, rolling out r48639. 56188 http://trac.webkit.org/changeset/48639 56189 56190 * bindings/v8/V8GCController.cpp: 56191 (WebCore::ObjectGrouperVisitor::visitDOMWrapper): 56192 56193 2009-09-22 Dumitru Daniliuc <dumi (a] chromium.org> 56194 56195 Reviewed by Dimitri Glazkov. 56196 56197 Changing the transaction coordinator to (re-)allow multiple read 56198 transactions on the same database to run concurrently (without 56199 risking a deadlock this time). 56200 56201 https://bugs.webkit.org/show_bug.cgi?id=29115 56202 56203 Tests: storage/read-and-write-transactions-dont-run-together.html 56204 storage/read-transactions-running-concurrently.html 56205 56206 * storage/SQLTransaction.h: 56207 (WebCore::SQLTransaction::isReadOnly): Returns the type of the 56208 transaction. 56209 * storage/SQLTransactionCoordinator.cpp: 56210 (WebCore::SQLTransactionCoordinator::acquireLock): Changed to 56211 allow multiple read transactions on the same DB to run 56212 concurrently. 56213 (WebCore::SQLTransactionCoordinator::releaseLock): Changed to 56214 allow multiple read transactions on the same DB to run 56215 concurrently. 56216 (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map. 56217 * storage/SQLTransactionCoordinator.h: 56218 56219 2009-09-22 Peter Kasting <pkasting (a] google.com> 56220 56221 Reviewed by David Levin. 56222 56223 https://bugs.webkit.org/show_bug.cgi?id=29652 56224 Support true system colors for CSS system colors in Chromium/Win. 56225 56226 * rendering/RenderThemeChromiumWin.cpp: 56227 (WebCore::cssValueIdToSysColorIndex): 56228 (WebCore::RenderThemeChromiumWin::systemColor): 56229 * rendering/RenderThemeChromiumWin.h: 56230 56231 2009-09-22 Beth Dakin <bdakin (a] apple.com> 56232 56233 Reviewed by Dave Hyatt. 56234 56235 Fix for <rdar://problem/6925121> SAP: Wrong width calculation in 56236 table with fixed layout 56237 -and corresponding- 56238 https://bugs.webkit.org/show_bug.cgi?id=29501 56239 56240 New Tests: 56241 * fast/table/fixed-table-with-percent-inside-percent-table.html: Added. 56242 * fast/table/fixed-table-with-percent-width-inside-auto-table.html: Added. 56243 * fast/table/fixed-table-with-percent-width-inside-div.html: Added. 56244 * fast/table/fixed-table-with-percent-width-inside-extra-large-div.html: Added. 56245 * fast/table/fixed-table-with-percent-width-inside-fixed-width-table.html: Added. 56246 * fast/table/fixed-table-with-small-percent-width.html: Added. 56247 56248 This new quirk is very similar to an existing one that was 56249 implemented in revision 4316. 56250 * rendering/FixedTableLayout.cpp: 56251 (WebCore::FixedTableLayout::calcPrefWidths): 56252 56253 2009-09-22 Brian Weinstein <bweinstein (a] apple.com> 56254 56255 Reviewed by Timothy Hatcher. 56256 56257 List HTTP status code with response headers in resources tab of Web Inspector. 56258 http://webkit.org/b/19945 56259 56260 This patch adds a new top level list in the resources tab, HTTP Information, that 56261 for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.). 56262 Additionally, it adds a colored dot next to the requested URL to show the status 56263 (green for success, orange for redirect, red for error). 56264 56265 * English.lproj/localizedStrings.js: 56266 * inspector/front-end/ImageView.js: 56267 (WebInspector.ImageView): 56268 * inspector/front-end/Images/errorRedDot.png: Added. 56269 * inspector/front-end/Images/successGreenDot.png: Added. 56270 * inspector/front-end/Images/warningOrangeDot.png: Added. 56271 * inspector/front-end/Resource.js: 56272 (WebInspector.Resource.StatusTextForCode): 56273 * inspector/front-end/ResourceView.js: 56274 (WebInspector.ResourceView): 56275 (WebInspector.ResourceView.prototype._refreshURL): 56276 (WebInspector.ResourceView.prototype._refreshHTTPInformation): 56277 * inspector/front-end/inspector.css: 56278 56279 2009-09-22 Brady Eidson <beidson (a] apple.com> 56280 56281 Reviewed by Darin Adler. 56282 56283 Back list isn't properly updated for fragment changes after a redirect. 56284 <rdar://problem/6142803> and https://bugs.webkit.org/show_bug.cgi?id=20355 56285 56286 Test: fast/loader/fragment-after-redirect-gets-back-entry.html 56287 56288 * loader/FrameLoader.cpp: 56289 (WebCore::FrameLoader::loadURL): Properly reset the policy FrameLoadType before 56290 consulting the policy delegate for fragment scrolling. 56291 56292 2009-09-22 Darin Fisher <darin (a] chromium.org> 56293 56294 Reviewed by Dimitri Glazkov. 56295 56296 Drop down selects get stuck in the non-visible state and cannot be opened. 56297 https://bugs.webkit.org/show_bug.cgi?id=29645 56298 56299 All paths that lead to hiding the popup menu must call popupDidHide on 56300 the PopupMenuClient. This change makes it so by moving all of the 56301 hiding logic to PopupListBox::hidePopup. 56302 56303 * platform/chromium/PopupMenuChromium.cpp: 56304 (WebCore::PopupContainer::hidePopup): 56305 (WebCore::PopupListBox::hidePopup): 56306 * platform/chromium/PopupMenuChromium.h: 56307 56308 2009-09-22 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 56309 56310 Reviewed by Timothy Hatcher. 56311 56312 WebInspector.log() function not protected if console not yet created 56313 https://bugs.webkit.org/show_bug.cgi?id=29336 56314 56315 No new tests. Only affects Web Inspector developers adding logging 56316 to their code during development. 56317 56318 * inspector/front-end/inspector.js: 56319 (WebInspector.log.isLogAvailable): 56320 (WebInspector.log.flushQueue): 56321 (WebInspector.log.flushQueueIfAvailable): 56322 (WebInspector.log.logMessage): 56323 (WebInspector.log): 56324 56325 2009-09-22 Yaar Schnitman <yaar (a] chromium.org> 56326 56327 Reviewed by David Levin. 56328 56329 Ported chromium.org's webcore.gyp for the webkit chromium port. 56330 56331 https://bugs.webkit.org/show_bug.cgi?id=29617 56332 56333 * WebCore.gyp/WebCore.gyp: Added. 56334 56335 2009-09-22 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 56336 56337 Reviewed by Adam Barth. 56338 56339 [v8] Don't keep clean wrappers artificially alive 56340 We currently keep all DOM node wrappers alive, even when there are 56341 no more references to them from JS, in case they have properties 56342 that we need to keep around if new JS references are created. 56343 This changes the policy to only keep wrappers artificially alive 56344 if they have changed since they were created. Empty wrappers are 56345 discarded and recreated as needed. 56346 https://bugs.webkit.org/show_bug.cgi?id=29330 56347 56348 * bindings/v8/V8GCController.cpp: 56349 (WebCore::ObjectGrouperVisitor::visitDOMWrapper): 56350 56351 2009-09-22 Pavel Feldman <pfeldman (a] chromium.org> 56352 56353 Reviewed by Timothy Hatcher. 56354 56355 Web Inspector: console.count and console.timeEnd 56356 crash when inspector is opened. 56357 56358 https://bugs.webkit.org/show_bug.cgi?id=29632 56359 56360 * inspector/InspectorFrontend.cpp: 56361 (WebCore::InspectorFrontend::addMessageToConsole): 56362 56363 2009-09-22 Adam Barth <abarth (a] webkit.org> 56364 56365 Unreviewed. 56366 56367 Fix bogus build fix I did last night. 56368 56369 * bindings/v8/custom/V8DOMWindowCustom.cpp: 56370 (WebCore::V8Custom::WindowSetTimeoutImpl): 56371 56372 2009-09-22 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 56373 56374 Reviewed by Simon Hausmann. 56375 56376 NPAPI/Mac: Don't paint plugins if we don't have a CGContextRef 56377 56378 * plugins/mac/PluginViewMac.cpp: 56379 56380 2009-09-22 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 56381 56382 Reivewed by Simon Hausmann. 56383 56384 Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class) 56385 56386 There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget() 56387 takes a QWidget*, not a QWebPageClient* 56388 56389 * plugins/mac/PluginViewMac.cpp: 56390 (WebCore::PluginView::platformStart): 56391 56392 2009-09-21 Adam Barth <abarth (a] webkit.org> 56393 56394 Attempted fix for the V8 build. 56395 56396 * bindings/v8/custom/V8DOMWindowCustom.cpp: 56397 (WebCore::V8Custom::WindowSetTimeoutImpl): 56398 56399 2009-09-21 Adam Barth <abarth (a] webkit.org> 56400 56401 Reviewed by Sam Weinig. 56402 56403 Don't re-enter JavaScript after performing access checks 56404 https://bugs.webkit.org/show_bug.cgi?id=29531 56405 56406 Moved the access check slightly later in this functions to avoid 56407 re-entering the JavaScript interpreter (typically via toString) 56408 after performing the access check. 56409 56410 I can't really think of a meaningful test for this change. It's more 56411 security hygiene. 56412 56413 * bindings/js/JSDOMWindowCustom.cpp: 56414 (WebCore::JSDOMWindow::setLocation): 56415 (WebCore::JSDOMWindow::open): 56416 (WebCore::JSDOMWindow::showModalDialog): 56417 * bindings/js/JSLocationCustom.cpp: 56418 (WebCore::JSLocation::setHref): 56419 (WebCore::JSLocation::replace): 56420 (WebCore::JSLocation::assign): 56421 * bindings/v8/custom/V8DOMWindowCustom.cpp: 56422 (WebCore::V8Custom::WindowSetTimeoutImpl): 56423 (WebCore::if): 56424 (CALLBACK_FUNC_DECL): 56425 (V8Custom::WindowSetLocation): 56426 (V8Custom::ClearTimeoutImpl): 56427 * bindings/v8/custom/V8LocationCustom.cpp: 56428 (WebCore::ACCESSOR_SETTER): 56429 (WebCore::CALLBACK_FUNC_DECL): 56430 56431 2009-09-21 Dumitru Daniliuc <dumi (a] chromium.org> 56432 56433 Reviewed by Eric Seidel. 56434 56435 Make all write transaction start with a BEGIN IMMEDIATE command 56436 instead of BEGIN. 56437 56438 We cannot test this change in a layout test, because in order to 56439 test it we need to spawn two database threads and execute 56440 transaction steps on these two threads in a very specific order, 56441 which seems impossible to do when they share the same main thread 56442 (as they would in a layout test). The SQLite docs and the case 56443 described in the bug though should be enough proof that we do have 56444 a problem here and that this patch will fix it. 56445 56446 Relevant SQLite documentation: 56447 http://www.sqlite.org/lang_transaction.html 56448 http://www.sqlite.org/lockingv3.html#locking 56449 56450 https://bugs.webkit.org/show_bug.cgi?id=29218 56451 56452 * platform/sql/SQLiteTransaction.cpp: 56453 (WebCore::SQLiteTransaction::SQLiteTransaction): Added a readOnly 56454 parameter. 56455 (WebCore::SQLiteTransaction::begin): Changed to BEGIN IMMEDIATE 56456 for write transactions. 56457 * platform/sql/SQLiteTransaction.h: 56458 * storage/SQLTransaction.cpp: 56459 (WebCore::SQLTransaction::openTransactionAndPreflight): Passing 56460 the read-only flag to the SQLiteTransaction instance. 56461 56462 2009-09-21 Brady Eidson <beidson (a] apple.com> 56463 56464 Rubberstamped by Mark Rowe. 56465 56466 * DerivedSources.make: Fix the Xcode build on SnowLeopard. 56467 56468 2009-09-15 John Abd-El-Malek <jam (a] chromium.org> 56469 56470 Reviewed by Darin Fisher. 56471 56472 Prevent sleeps in unload handlers. 56473 https://bugs.webkit.org/show_bug.cgi?id=29193 56474 56475 Test: fast/dom/Window/slow_unload_handler.html 56476 56477 * WebCore.gypi: 56478 * bindings/v8/DateExtension.cpp: Added. 56479 (WebCore::DateExtension::DateExtension): 56480 (WebCore::DateExtension::get): 56481 (WebCore::DateExtension::setAllowSleep): 56482 (WebCore::DateExtension::GetNativeFunction): 56483 (WebCore::DateExtension::weakCallback): 56484 (WebCore::DateExtension::GiveEnableSleepDetectionFunction): 56485 (WebCore::DateExtension::OnSleepDetected): 56486 * bindings/v8/DateExtension.h: Added. 56487 * bindings/v8/V8AbstractEventListener.cpp: 56488 (WebCore::V8AbstractEventListener::invokeEventHandler): 56489 * bindings/v8/V8Proxy.cpp: 56490 (WebCore::V8Proxy::createNewContext): 56491 (WebCore::V8Proxy::registerExtensionWithV8): 56492 (WebCore::V8Proxy::registeredExtensionWithV8): 56493 * bindings/v8/V8Proxy.h: 56494 56495 2009-09-21 Jian Li <jianli (a] chromium.org> 56496 56497 Reviewed by David Levin. 56498 56499 [V8] Run-time exception in onmessage handler is not forwarded to the 56500 worker object. 56501 https://bugs.webkit.org/show_bug.cgi?id=28980 56502 56503 The previous fix was partially reverted due to a reliability build break 56504 in chromium. The break happens when an exception is thrown without 56505 setting a message. We need to check for this scenario and handle it. 56506 56507 Tested by worker-close.html. 56508 56509 * bindings/v8/V8AbstractEventListener.cpp: 56510 (WebCore::V8AbstractEventListener::invokeEventHandler): 56511 * bindings/v8/V8Utilities.cpp: 56512 (WebCore::reportException): 56513 56514 2009-09-21 Greg Bolsinga <bolsinga (a] apple.com> 56515 56516 Reviewed by Simon Fraser & Sam Weinig. 56517 56518 Add ENABLE(ORIENTATION_EVENTS) 56519 https://bugs.webkit.org/show_bug.cgi?id=29508 56520 56521 See documentation here: 56522 http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16 56523 56524 * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS. 56525 Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL 56526 code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES. 56527 * WebCore.OrientationEvents.exp: Added. 56528 * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp. 56529 * dom/EventNames.h: Add onorientationchange. 56530 * html/HTMLAttributeNames.in: Ditto. 56531 * html/HTMLBodyElement.cpp: Handle onorientationchange properly. 56532 (WebCore::HTMLBodyElement::parseMappedAttribute): 56533 (WebCore::HTMLBodyElement::onorientationchange): 56534 (WebCore::HTMLBodyElement::setOnorientationchange): 56535 * html/HTMLBodyElement.h: Ditto. 56536 * html/HTMLBodyElement.idl: Ditto. 56537 * html/HTMLFrameSetElement.cpp: Ditto. 56538 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 56539 (WebCore::HTMLFrameSetElement::onorientationchange): 56540 (WebCore::HTMLFrameSetElement::setOnorientationchange): 56541 * html/HTMLFrameSetElement.h: Ditto. 56542 * html/HTMLFrameSetElement.idl: Ditto. 56543 * page/DOMWindow.cpp: Ditto. 56544 (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value. 56545 (WebCore::DOMWindow::onorientationchange): 56546 (WebCore::DOMWindow::setOnorientationchange): 56547 * page/DOMWindow.h: Handle onorientationchange properly. 56548 * page/DOMWindow.idl: Ditto. 56549 * page/Frame.cpp: Ditto. 56550 (WebCore::Frame::Frame): 56551 (WebCore::Frame::sendOrientationChangeEvent): 56552 * page/Frame.h: Ditto. 56553 (WebCore::Frame::orientation): 56554 56555 2009-09-18 Anders Carlsson <andersca (a] apple.com> 56556 56557 Try fixing the build again. 56558 56559 * platform/win/PopupMenuWin.cpp: 56560 (WebCore::PopupMenu::wndProc): 56561 56562 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56563 56564 Reviewed by Timothy Hatcher. 56565 56566 Web Inspector: completions are always evaluated against 56567 window (discarding call frames). 56568 56569 https://bugs.webkit.org/show_bug.cgi?id=29616 56570 56571 * inspector/front-end/ConsoleView.js: 56572 (WebInspector.ConsoleView.prototype.completions): 56573 * inspector/front-end/InjectedScript.js: 56574 (InjectedScript.getCompletions): 56575 * inspector/front-end/ScriptsPanel.js: 56576 (WebInspector.ScriptsPanel.prototype.selectedCallFrameId): 56577 56578 2009-09-21 Brent Fulgham <bfulgham (a] webkit.org> 56579 56580 Unreviewed build fix for Windows (Cairo) target. 56581 56582 Add stubs for SocketStream classes added in @r47788, which 56583 broke the WinCairo build. 56584 56585 No new tests. (Build failure). 56586 56587 * WebCore.vcproj/WebCore.vcproj: Add references to new files 56588 to Cairo build, exclude from standard Apple build. 56589 * platform/network/curl/SocketStreamError.h: Added. 56590 * platform/network/curl/SocketStreamHandle.h: Added. 56591 * platform/network/curl/SocketStreamHandleCurl.cpp: Added. 56592 56593 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56594 56595 Reviewed by Timothy Hatcher. 56596 56597 Web Inspector: Expose InspectorResource fields. 56598 56599 https://bugs.webkit.org/show_bug.cgi?id=29537 56600 56601 * inspector/InspectorResource.cpp: 56602 (WebCore::InspectorResource::sourceString): 56603 (WebCore::InspectorResource::resourceData): 56604 * inspector/InspectorResource.h: 56605 (WebCore::InspectorResource::requestHeaderFields): 56606 (WebCore::InspectorResource::responseHeaderFields): 56607 (WebCore::InspectorResource::responseStatusCode): 56608 (WebCore::InspectorResource::requestMethod): 56609 (WebCore::InspectorResource::requestFormData): 56610 56611 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56612 56613 Reviewed by Timothy Hatcher. 56614 56615 Web Inspector: JS error drilling down childless node. 56616 No need to dispatch double click twice - it is already handled 56617 in TreeElement.treeElementDoubleClicked. 56618 56619 https://bugs.webkit.org/show_bug.cgi?id=22144 56620 56621 * inspector/front-end/ElementsTreeOutline.js: 56622 (WebInspector.ElementsTreeOutline): 56623 56624 2009-09-21 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 56625 56626 Reviewed by Simon Hausmann. 56627 56628 Implement new QWebPageClient class and let our classes 56629 QWebViewPrivate and QWebGraphicsItemPrivate inherit from it. 56630 56631 For Qt, platformPageClient() will now return a class derived from 56632 the QWebPageClient, so the patch adapts our Qt hooks to go though 56633 this class and not depend on the QWebView. 56634 56635 * WebCore.pro: 56636 * platform/Widget.h: 56637 * platform/qt/PlatformScreenQt.cpp: 56638 (WebCore::screenDepth): 56639 (WebCore::screenDepthPerComponent): 56640 (WebCore::screenIsMonochrome): 56641 (WebCore::screenRect): 56642 (WebCore::screenAvailableRect): 56643 * platform/qt/PopupMenuQt.cpp: 56644 (WebCore::PopupMenu::show): 56645 * platform/qt/QWebPageClient.h: Added. 56646 * platform/qt/WidgetQt.cpp: 56647 (WebCore::Widget::setCursor): 56648 * plugins/qt/PluginViewQt.cpp: 56649 (WebCore::PluginView::handleKeyboardEvent): 56650 (WebCore::PluginView::getValue): 56651 (WebCore::PluginView::platformStart): 56652 56653 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56654 56655 Reviewed by Timothy Hatcher. 56656 56657 Web Inspector: Evaluating on call frame always returns "undefined". 56658 56659 https://bugs.webkit.org/show_bug.cgi?id=29613 56660 56661 * inspector/front-end/InjectedScript.js: 56662 (InjectedScript.evaluate): 56663 (InjectedScript._evaluateAndWrap): 56664 (InjectedScript._evaluateOn): 56665 (InjectedScript.evaluateInCallFrame): 56666 56667 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56668 56669 Reviewed by Timothy Hatcher. 56670 56671 Web Inspector: Exception formatting is broken in console. 56672 56673 https://bugs.webkit.org/show_bug.cgi?id=29608 56674 56675 * inspector/front-end/ConsoleView.js: 56676 (WebInspector.ConsoleCommandResult): 56677 * inspector/front-end/InjectedScript.js: 56678 (InjectedScript.evaluate): 56679 (InjectedScript.createProxyObject): 56680 56681 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56682 56683 Reviewed by Timothy Hatcher. 56684 56685 Web Inspector: Console object formatting is broken. 56686 56687 https://bugs.webkit.org/show_bug.cgi?id=29607 56688 56689 * inspector/front-end/ConsoleView.js: 56690 (WebInspector.ConsoleMessage.prototype._format): 56691 * inspector/front-end/ObjectProxy.js: 56692 (WebInspector.ObjectProxy.wrapPrimitiveValue): 56693 56694 2009-09-21 Pavel Feldman <pfeldman (a] chromium.org> 56695 56696 Reviewed by Timothy Hatcher. 56697 56698 Web Inspector: Crash When Logging an Element Before Opening Inspector 56699 56700 https://bugs.webkit.org/show_bug.cgi?id=29514 56701 56702 * inspector/InspectorController.cpp: 56703 (WebCore::InspectorController::populateScriptObjects): 56704 56705 2009-09-21 Simon Fraser <simon.fraser (a] apple.com> 56706 56707 Reviewed by Dan Bernstein. 56708 56709 Incorrect clipping with accelerated compositing content, and position:fixed 56710 https://bugs.webkit.org/show_bug.cgi?id=29347 56711 56712 Fix the compositing clipping logic to behave correctly when position:fixed 56713 elements clip, by using the new backgroundClipRect() method to determine 56714 when we need to clip, and to compute the clipping layer position. 56715 56716 Test: compositing/overflow/fixed-position-ancestor-clip.html 56717 56718 * rendering/RenderLayerBacking.cpp: 56719 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 56720 * rendering/RenderLayerCompositor.cpp: 56721 (WebCore::RenderLayerCompositor::clippedByAncestor): 56722 56723 2009-09-21 Nate Chapin <japhet (a] chromium.org> 56724 56725 Reviewed by Adam Barth. 56726 56727 Add back in a special case for window.top in the V8 bindings. 56728 56729 https://bugs.webkit.org/show_bug.cgi?id=29605 56730 56731 Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port. 56732 56733 * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling. 56734 56735 2009-09-21 Eric Carlson <eric.carlson (a] apple.com> 56736 56737 Reviewed by Brady Eidson. 56738 56739 HTMLMediaElement: media file should not reload when page comes out of page cache 56740 https://bugs.webkit.org/show_bug.cgi?id=29604 56741 56742 Test: media/restore-from-page-cache.html 56743 56744 * html/HTMLMediaElement.cpp: 56745 (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element 56746 is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING, 56747 otherwise set the network state to NETWORK_IDLE. 56748 56749 2009-09-21 Sam Weinig <sam (a] webkit.org> 56750 56751 Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen. 56752 56753 Clarify two FIXMEs. 56754 56755 * bindings/js/JSHTMLCollectionCustom.cpp: 56756 (WebCore::getNamedItems): 56757 * bindings/js/JSHTMLFormElementCustom.cpp: 56758 (WebCore::JSHTMLFormElement::nameGetter): 56759 56760 2009-09-21 Darin Fisher <darin (a] chromium.org> 56761 56762 Reviewed by Dimitri Glazkov. 56763 56764 Drop down selects fail to close when a value is selected 56765 https://bugs.webkit.org/show_bug.cgi?id=29582 56766 56767 Implement PopupListBox::hidePopup, which was previously 56768 declared but unimplemented. Removes the declaration of 56769 showPopup since that method is not implemented. 56770 56771 PopupListBox::hidePopup takes care of hiding the popup, 56772 by invoking hidePopup on its parent PopupContainer, and 56773 then informs the PopupMenuClient that popupDidHide. 56774 This mimics the old behavior prior to r48370. 56775 56776 * platform/chromium/PopupMenuChromium.cpp: 56777 (WebCore::PopupListBox::handleKeyEvent): 56778 (WebCore::PopupListBox::abandon): 56779 (WebCore::PopupListBox::acceptIndex): 56780 (WebCore::PopupListBox::hidePopup): 56781 56782 2009-09-21 Csaba Osztrogonac <oszi (a] inf.u-szeged.hu> 56783 56784 Rubber-stamped by Simon Hausmann. 56785 56786 [Qt] Windows build fix. 56787 https://bugs.webkit.org/show_bug.cgi?id=29535 56788 56789 * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h" added. 56790 56791 2009-09-21 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 56792 56793 Unreviewed make dist build fix. Missing files. 56794 56795 * GNUmakefile.am: 56796 56797 2009-09-20 Adam Barth <abarth (a] webkit.org> 56798 56799 Reviewed by Maciej Stachowiak. 56800 56801 Crash when clicking link in unload handler 56802 https://bugs.webkit.org/show_bug.cgi?id=29525 56803 56804 Test that the first navigation always wins when the page tries to start 56805 a new navigation in an unload handler. 56806 56807 Tests: fast/loader/unload-form-about-blank.html 56808 fast/loader/unload-form-post-about-blank.html 56809 fast/loader/unload-form-post.html 56810 fast/loader/unload-form.html 56811 fast/loader/unload-hyperlink.html 56812 fast/loader/unload-javascript-url.html 56813 fast/loader/unload-reload.html 56814 fast/loader/unload-window-location.html 56815 56816 * loader/FrameLoader.cpp: 56817 (WebCore::FrameLoader::loadURL): 56818 (WebCore::FrameLoader::loadWithDocumentLoader): 56819 56820 2009-09-18 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 56821 56822 Reviewed by Xan Lopez. 56823 56824 [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video 56825 https://bugs.webkit.org/show_bug.cgi?id=29496 56826 56827 Protect the video sink object, and destroy it in an idle callback 56828 to hopefully avoid a race condition that leads to a crash. 56829 56830 This is already tested by media/video-seekable.html 56831 56832 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 56833 (WebCore::idleUnref): 56834 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 56835 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 56836 56837 2009-09-19 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 56838 56839 Unreviewed build fix for GTKand a blind one for Qt after r48566. 56840 56841 * GNUmakefile.am: 56842 * WebCore.pro: 56843 56844 2009-09-19 Sam Weinig <sam (a] webkit.org> 56845 56846 Reviewed by Oliver Hunt. 56847 56848 Fix for https://bugs.webkit.org/show_bug.cgi?id=29519 56849 Remove JSNameNodeCollection and just use StaticNodeList 56850 56851 * WebCore.vcproj/WebCore.vcproj: 56852 * WebCore.xcodeproj/project.pbxproj: 56853 * WebCoreSources.bkl: 56854 * bindings/js/JSHTMLCollectionCustom.cpp: 56855 (WebCore::getNamedItems): 56856 * bindings/js/JSHTMLFormElementCustom.cpp: 56857 (WebCore::JSHTMLFormElement::nameGetter): 56858 * bindings/js/JSNamedNodesCollection.cpp: Removed. 56859 * bindings/js/JSNamedNodesCollection.h: Removed. 56860 56861 2009-09-19 Daniel Bates <dbates (a] webkit.org> 56862 56863 Reviewed by Adam Barth. 56864 56865 https://bugs.webkit.org/show_bug.cgi?id=29511 56866 56867 Fixes an issue where script code that contains non-ASCII characters may bypass the 56868 XSSAuditor. 56869 56870 Before performing a comparison between the script source code and input parameters, we 56871 remove all non-ASCII characters, including non-printable ASCII characters from the 56872 script source code and input parameters. 56873 56874 Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html 56875 http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html 56876 http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html 56877 http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html 56878 56879 * page/XSSAuditor.cpp: 56880 (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters, 56881 including non-printable ASCII characters. 56882 56883 2009-09-19 Simon Fraser <simon.fraser (a] apple.com> 56884 56885 Reviewed by Dan Bernstein. 56886 56887 Incorrect animation with scale(0) transform (singular matrix) 56888 https://bugs.webkit.org/show_bug.cgi?id=29465 56889 56890 Make accelerated scale() and translate() animations go through the component animation 56891 path (rather than just matrix animation) to avoid problems with singular scale matrices, 56892 and be slightly more efficient. 56893 56894 Test: compositing/transitions/singular-scale-transition.html 56895 56896 * platform/graphics/mac/GraphicsLayerCA.mm: 56897 (WebCore::getTransformFunctionValue): 56898 (WebCore::getValueFunctionNameForTransformOperation): 56899 56900 2009-09-19 Alex Milowski <alex (a] milowski.com> 56901 56902 Reviewed by Maciej Stachowiak. 56903 56904 Adds CSS styling and basic DOM element support for MathML 56905 56906 * DerivedSources.make: 56907 Added user stylesheet and tag factory generation 56908 56909 * WebCore.xcodeproj/project.pbxproj: 56910 Added new DOM element code 56911 56912 * css/CSSParser.cpp: 56913 (WebCore::CSSParser::parseAttr): 56914 Added check for document since stylesheet can be added before there is a document 56915 56916 * css/CSSStyleSelector.cpp: 56917 (WebCore::CSSStyleSelector::styleForElement): 56918 Added check to add MathML user agent stylesheet 56919 56920 * css/mathml.css: Added. 56921 MathML user agent stylesheet 56922 56923 * dom/Document.cpp: 56924 (WebCore::Document::createElement): 56925 Added support for creation of MathML DOM objects 56926 56927 * dom/Node.h: 56928 (WebCore::Node::isMathMLElement): 56929 Added check method for whether the node is a MathML node 56930 56931 * mathml: Added. 56932 * mathml/MathMLElement.cpp: Added. 56933 (WebCore::MathMLElement::MathMLElement): 56934 (WebCore::MathMLElement::create): 56935 (WebCore::MathMLElement::createRenderer): 56936 * mathml/MathMLElement.h: Added. 56937 (WebCore::MathMLElement::isMathMLElement): 56938 MathML DOM base class 56939 56940 56941 * mathml/MathMLInlineContainerElement.cpp: Added. 56942 (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement): 56943 (WebCore::MathMLInlineContainerElement::create): 56944 (WebCore::MathMLInlineContainerElement::createRenderer): 56945 * mathml/MathMLInlineContainerElement.h: Added. 56946 Base class for non-text containers 56947 56948 * mathml/MathMLMathElement.cpp: Added. 56949 (WebCore::MathMLMathElement::MathMLMathElement): 56950 (WebCore::MathMLMathElement::create): 56951 * mathml/MathMLMathElement.h: Added. 56952 Root Math element 56953 56954 * mathml/mathtags.in: Added. 56955 Element list mappings 56956 56957 * page/Frame.cpp: 56958 (WebCore::Frame::Frame): 56959 Added MathML name initialization 56960 2009-09-19 Adam Barth <abarth (a] webkit.org> 56961 56962 Reviewed by Oliver Hunt. 56963 56964 Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called. 56965 https://bugs.webkit.org/show_bug.cgi?id=29305 56966 56967 We need to special-case data URLs when tainting a canvas because we 56968 treat data URLs has having no security origin, unlike other 56969 browsers. The reason we do this is to help sites avoid XSS via data 56970 URLs, but that consideration doesn't apply to canvas taint. 56971 56972 Also, we were previously incorrectly taking document.domain state 56973 into account when tainting canvas. 56974 56975 Tests: http/tests/security/canvas-remote-read-data-url-image.html 56976 http/tests/security/canvas-remote-read-data-url-svg-image.html 56977 http/tests/security/canvas-remote-read-remote-image-document-domain.html 56978 56979 * html/canvas/CanvasRenderingContext2D.cpp: 56980 (WebCore::CanvasRenderingContext2D::checkOrigin): 56981 (WebCore::CanvasRenderingContext2D::createPattern): 56982 * page/SecurityOrigin.cpp: 56983 (WebCore::SecurityOrigin::taintsCanvas): 56984 * page/SecurityOrigin.h: 56985 56986 2009-09-18 Simon Fraser <simon.fraser (a] apple.com> 56987 56988 Fix stylistic issue raised in code review for previous commit. 56989 56990 * rendering/RenderLayerBacking.cpp: 56991 (WebCore::hasNonZeroTransformOrigin): 56992 56993 2009-09-18 Simon Fraser <simon.fraser (a] apple.com> 56994 56995 Reviewed by Dan Bernstein. 56996 56997 Element is misplaced during opacity transition with certain configuration of transform-origin and clipping 56998 https://bugs.webkit.org/show_bug.cgi?id=29495 56999 57000 If an element has zero size, but has a transform origin with absolute values, 57001 then the transform origin would not be applied because it is implemented via 57002 anchorPoint, which is expressed as a fraction of the layer size. 57003 57004 Work around this by artificially inflating the size of the backing store when we need to. 57005 57006 Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html 57007 57008 * rendering/RenderLayerBacking.h: 57009 * rendering/RenderLayerBacking.cpp: 57010 (WebCore::RenderLayerBacking::RenderLayerBacking): 57011 Init m_artificiallyInflatedBounds to false. 57012 57013 (WebCore::hasNonZeroTransformOrigin): 57014 Utility function that describes whether the transform-origin contains non-percentage 57015 x or y offsets. 57016 57017 (WebCore::RenderLayerBacking::updateCompositedBounds): 57018 New wrapper method around setCompositedBounds() that applies the size inflation 57019 when necessary, setting the m_artificiallyInflatedBounds as appropriate. 57020 57021 (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds(). 57022 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto 57023 57024 * rendering/RenderLayerCompositor.cpp: 57025 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto 57026 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto 57027 57028 2009-09-18 Antti Koivisto <antti (a] apple.com> 57029 57030 Reviewed by Maciej Stachowiak. 57031 57032 https://bugs.webkit.org/show_bug.cgi?id=29512 57033 Don't recalculate style when restoring from the page cache 57034 57035 FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 57036 directly to update the scrollbars while keeping the existing style. 57037 57038 Makes back/forward really fast on complex pages (in cases where page cache works). 57039 57040 * loader/FrameLoader.cpp: 57041 (WebCore::FrameLoader::commitProvisionalLoad): 57042 57043 2009-09-18 Oliver Hunt <oliver (a] apple.com> 57044 57045 Reviewed by Geoff Garen. 57046 57047 Implement ES5 Object.defineProperty function 57048 https://bugs.webkit.org/show_bug.cgi?id=29503 57049 57050 Override defineOwnProperty on JSDOMWindowShell to forward appropriately, 57051 and then override defineOwnProperty on JSDOMWindow to disallow cross origin 57052 defineOwnProperty usage. We also override defineOwnProperty on QuarantinedObjectWrapper 57053 to ensure correct wrapping semantics of quarantined objects. 57054 57055 One major caveat in this patch is that it currently disallows the use 57056 of Object.defineProperty on DOMObjects other than the window due to 57057 the significant work involved in correctly propagating attributes and 57058 ensuring correct semantics on dom objects. 57059 57060 Tests: fast/js/Object-defineProperty.html 57061 http/tests/security/xss-DENIED-defineProperty.html 57062 57063 * bindings/js/JSDOMBinding.cpp: 57064 (WebCore::DOMObject::defineOwnProperty): 57065 * bindings/js/JSDOMBinding.h: 57066 * bindings/js/JSDOMWindowCustom.cpp: 57067 (WebCore::JSDOMWindow::defineGetter): 57068 (WebCore::JSDOMWindow::defineSetter): 57069 (WebCore::JSDOMWindow::defineOwnProperty): 57070 * bindings/js/JSDOMWindowShell.cpp: 57071 (WebCore::JSDOMWindowShell::defineOwnProperty): 57072 (WebCore::JSDOMWindowShell::defineGetter): 57073 (WebCore::JSDOMWindowShell::defineSetter): 57074 * bindings/js/JSDOMWindowShell.h: 57075 * bindings/js/JSLocationCustom.cpp: 57076 (WebCore::JSLocation::defineGetter): 57077 (WebCore::JSLocationPrototype::defineGetter): 57078 * bindings/js/JSQuarantinedObjectWrapper.cpp: 57079 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor): 57080 (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty): 57081 * bindings/js/JSQuarantinedObjectWrapper.h: 57082 * bindings/scripts/CodeGeneratorJS.pm: 57083 57084 2009-09-18 Alexey Proskuryakov <ap (a] apple.com> 57085 57086 Reviewed by Darin Adler. 57087 57088 https://bugs.webkit.org/show_bug.cgi?id=29510 57089 Active DOM objects should be suspended while a modal dialog is displayed 57090 57091 * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers. 57092 57093 * page/PageGroupLoadDeferrer.cpp: 57094 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 57095 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 57096 Match other platforms, and make Mac also suspend active DOM objects. Since a page that 57097 currently displays a modal dialog cannot go into page cache, there is no danger of suspending 57098 an object twice. 57099 57100 2009-09-18 Csaba Osztrogonac <oszi (a] inf.u-szeged.hu> 57101 57102 Reviewed by Eric Seidel. 57103 57104 [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513 57105 https://bugs.webkit.org/show_bug.cgi?id=29351 57106 57107 * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject. 57108 * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected. 57109 57110 2009-09-18 Yury Semikhatsky <yurys (a] chromium.org> 57111 57112 Reviewed by Timothy Hatcher. 57113 57114 Fix parameter substitutions in console.log(). 57115 57116 https://bugs.webkit.org/show_bug.cgi?id=29366 57117 57118 * inspector/front-end/ConsoleView.js: 57119 (WebInspector.ConsoleMessage.prototype._format): 57120 * inspector/front-end/InjectedScript.js: 57121 (InjectedScript.getPrototypes): 57122 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): 57123 * inspector/front-end/utilities.js: 57124 (): 57125 57126 2009-09-18 Sam Weinig <sam (a] webkit.org> 57127 57128 Reviewed by Geoffrey Garen and Brady Eidson. 57129 57130 Temporarily remove an assertion that was getting hit when going 57131 back to a page in the page cache while a banner in Safari was visible. 57132 We should re-enable this once that is fixed. See <rdar://problem/7218118> 57133 57134 * page/FrameView.cpp: 57135 (WebCore::FrameView::scheduleRelayout): 57136 57137 2009-09-18 Anders Carlsson <andersca (a] apple.com> 57138 57139 Try fixing the build again. 57140 57141 * platform/win/PopupMenuWin.cpp: 57142 (WebCore::PopupMenu::wndProc): 57143 57144 2009-09-18 Anders Carlsson <andersca (a] apple.com> 57145 57146 Fix windows build. 57147 57148 * platform/win/PopupMenuWin.cpp: 57149 57150 2009-09-18 Sam Weinig <sam (a] webkit.org> 57151 57152 Reviewed by Gavin 'BearClaw' Barraclough. 57153 57154 Convert another callback type object to store the global object 57155 instead of the frame. 57156 57157 * bindings/js/JSCustomXPathNSResolver.cpp: 57158 (WebCore::JSCustomXPathNSResolver::create): 57159 (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver): 57160 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 57161 * bindings/js/JSCustomXPathNSResolver.h: 57162 57163 2009-09-18 Anders Carlsson <andersca (a] apple.com> 57164 57165 Reviewed by Sam Weinig. 57166 57167 https://bugs.webkit.org/show_bug.cgi?id=29332 57168 <rdar://problem/7231652> 57169 REGRESSION (r48446): While a <select> popup menu is open, the 57170 rest of the WebView doesn't respond to mouse move events. 57171 57172 * platform/win/PopupMenuWin.cpp: 57173 (WebCore::translatePoint): 57174 New helper function that translates a point between HWND coordinates. 57175 57176 (WebCore::PopupMenu::show): 57177 Protect the PopupMenu if someone removes the <select> in response to a mouse 57178 event. Handle WM_HOST_WINDOW_MOUSEMOVE events. 57179 57180 (WebCore::PopupMenu::wndProc): 57181 in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 57182 WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the 57183 mouse move event. 57184 57185 2009-09-18 Simon Fraser <simon.fraser (a] apple.com> 57186 57187 Reviewed by Dave Hyatt. 57188 57189 Compositing layers are incorrectly positioned after scrolling with position:fixed 57190 https://bugs.webkit.org/show_bug.cgi?id=29262 57191 57192 When scrolling a page with compositing layers inside a position:fixed element, 57193 we need to update the compositing layer positions when the scroll position changes. 57194 57195 Test: compositing/geometry/fixed-position.html 57196 57197 * WebCore.base.exp: 57198 Export FrameView::scrollPositionChanged() 57199 57200 * page/FrameView.h: 57201 * page/FrameView.cpp: 57202 (WebCore::FrameView::scrollPositionChanged): 57203 New method that sends the scroll event, and updates compositing layers positions if necessary. 57204 57205 2009-09-18 Simon Fraser <simon.fraser (a] apple.com> 57206 57207 Reviewed by Dave Hyatt. 57208 57209 Transformed elements inside position:fixed container are clipped incorrectly 57210 https://bugs.webkit.org/show_bug.cgi?id=29346 57211 57212 Fix clipping and hit testing on transformed elements inside a position:fixed element. 57213 Previously, the code used the overflowClipRect of the parent clip rects, but 57214 this is not correct for fixed postion elements. Instead, share code that is 57215 already present in calculateRects() to get the correct rect. 57216 57217 Test: fast/overflow/position-fixed-transform-clipping.html 57218 57219 * rendering/RenderLayer.h: 57220 * rendering/RenderLayer.cpp: 57221 (WebCore::RenderLayer::paintLayer): 57222 (WebCore::RenderLayer::hitTestLayer): 57223 Call the new backgroundClipRect() to get the correct clipRect. 57224 57225 (WebCore::RenderLayer::backgroundClipRect): 57226 New method, factored out of calculateRects(), that computes the clip rect, 57227 doing the right thing for fixed position elements. 57228 57229 (WebCore::RenderLayer::calculateRects): 57230 Call the new backgroundClipRect() method. 57231 57232 2009-09-18 Dan Bernstein <mitz (a] apple.com> 57233 57234 Reviewed by Darin Adler. 57235 57236 Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at 57237 WebCore::RenderBlock::layoutBlock() 57238 https://bugs.webkit.org/show_bug.cgi?id=29498 57239 57240 Test: accessibility/nested-layout-crash.html 57241 57242 * accessibility/AccessibilityRenderObject.cpp: 57243 (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to 57244 call Document::updateLayoutIgnorePendingStylesheets() instead of 57245 calling RenderObject::layoutIfNeeded(). The latter requires that 57246 there be no pending style recalc, which allows methods that call 57247 Document::updateLayout() to be called during layout without risking 57248 re-entry into layout. 57249 * accessibility/mac/AccessibilityObjectWrapper.mm: 57250 (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check 57251 m_object after calling updateBackingStore(), since style recalc may 57252 destroy the renderer, which destroys the accessibility object and 57253 detaches it from the wrapper. 57254 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto. 57255 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto. 57256 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto. 57257 (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto. 57258 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 57259 Ditto. 57260 (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto. 57261 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 57262 Ditto. 57263 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto. 57264 (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]): 57265 Ditto. 57266 (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]): 57267 Ditto. 57268 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto. 57269 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 57270 Ditto. 57271 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 57272 Ditto. 57273 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto. 57274 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): 57275 Ditto. 57276 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 57277 Ditto. 57278 57279 2009-09-18 Fumitoshi Ukai <ukai (a] chromium.org> 57280 57281 Reviewed by Simon Hausmann. 57282 57283 Update Qt build system for Web Socket. 57284 https://bugs.webkit.org/show_bug.cgi?id=29270 57285 57286 * WebCore.pro: 57287 * platform/network/qt/SocketStreamError.h: Added. 57288 * platform/network/qt/SocketStreamHandle.h: Added. 57289 * platform/network/qt/SocketStreamHandleSoup.cpp: Added. 57290 57291 2009-09-18 Eric Carlson <eric.carlson (a] apple.com> 57292 57293 Reviewed by Darin Adler. 57294 57295 NULL check HTMLMediaElement::m_playedTimeRanges. 57296 Fix for https://bugs.webkit.org/show_bug.cgi?id=29494 57297 57298 * html/HTMLMediaElement.cpp: 57299 (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if 57300 necessary, add range specified. 57301 (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 57302 (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 57303 to be more readable. 57304 (WebCore::HTMLMediaElement::updatePlayState): Ditto. 57305 * html/HTMLMediaElement.h: 57306 57307 2009-09-18 Sam Weinig <sam (a] webkit.org> 57308 57309 Reviewed by Adele Peterson. 57310 57311 Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276 57312 REGRESSION(r48334): WebKit crashes on file select by drag 57313 57314 Don't use Document.elementFromPoint since it returns null if the point 57315 is outside the viewport. Instead, just hit test ourselves. 57316 57317 Test: fast/events/drag-file-crash.html 57318 57319 * page/DragController.cpp: 57320 (WebCore::elementUnderMouse): 57321 (WebCore::DragController::tryDocumentDrag): 57322 (WebCore::DragController::concludeEditDrag): 57323 57324 2009-09-18 Darin Adler <darin (a] apple.com> 57325 57326 Reviewed by Sam Weinig. 57327 57328 Each wrapped Objective-C object should use a single RuntimeObjectImp 57329 https://bugs.webkit.org/show_bug.cgi?id=29351 57330 rdar://problem/7142294 57331 57332 * WebCore.base.exp: Added a newly-needed exported symbol. 57333 57334 * bindings/objc/DOMInternal.h: Eliminated unused 57335 createWrapperCacheWithIntegerKeys; it has not been needed since the 57336 RGBColor wrappers were reworked. 57337 * bindings/objc/DOMInternal.mm: Ditto. 57338 57339 * bridge/objc/objc_instance.h: Made the create function non-inline. 57340 * bridge/objc/objc_instance.mm: 57341 (createInstanceWrapperCache): Added. Creates an appropriate map table. 57342 (ObjcInstance::create): Moved here from header. Uses NSMapGet and 57343 NSMapInsert to cache the instance in a map table. 57344 (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove 57345 the instance from the map table. 57346 57347 * bridge/qt/qt_instance.cpp: 57348 (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove 57349 the instance from cachedObjects, which no longer exists. 57350 (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new 57351 bottleneck. Caching is now handled by the base class. 57352 57353 * bridge/runtime.cpp: 57354 (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0. 57355 (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0. 57356 (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject 57357 if it's already set. Set m_runtimeObject and call addRuntimeObject 57358 if it's not. 57359 (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function, 57360 used only by createRuntimeObject. 57361 (JSC::Bindings::Instance::willDestroyRuntimeObject): Added. 57362 Calls removeRuntimeObject and then clears m_runtimeObject. 57363 (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added. 57364 Clears m_runtimeObject. 57365 57366 * bridge/runtime.h: Made createRuntimeObject non-virtual. Added 57367 willDestroyRuntimeObject, willInvalidateRuntimeObject, 57368 newRuntimeObject, and m_runtimeObject. 57369 57370 * bridge/runtime_object.cpp: 57371 (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject 57372 call, now handled by caller. 57373 (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject 57374 call with willDestroyRuntimeObject call; the latter nows calls 57375 removeRuntimeObject. 57376 (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject 57377 call. 57378 57379 * bridge/runtime_object.h: Made invalidate non-virtual. 57380 57381 2009-09-18 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 57382 57383 Reviewed by Simon Hausmann. 57384 57385 Make PlatformWindow return something else than PlatformWidget 57386 https://bugs.webkit.org/show_bug.cgi?id=29085 57387 57388 Make platformWindow return a PlatformPageClient 57389 (for now typedef'ed to PlatformWidget) 57390 57391 Also, change the name of platformWindow to platformPageClient() 57392 57393 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 57394 (getPangoLayoutForAtk): 57395 * accessibility/win/AXObjectCacheWin.cpp: 57396 (WebCore::AXObjectCache::postPlatformNotification): 57397 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 57398 * loader/EmptyClients.h: 57399 (WebCore::EmptyChromeClient::platformPageClient): 57400 * page/Chrome.cpp: 57401 (WebCore::Chrome::platformPageClient): 57402 * page/Chrome.h: 57403 * page/ChromeClient.h: 57404 * page/mac/EventHandlerMac.mm: 57405 (WebCore::EventHandler::wheelEvent): 57406 (WebCore::EventHandler::currentPlatformMouseEvent): 57407 (WebCore::EventHandler::sendContextMenuEvent): 57408 (WebCore::EventHandler::eventMayStartDrag): 57409 * platform/HostWindow.h: 57410 * platform/Widget.h: 57411 * platform/gtk/PlatformScreenGtk.cpp: 57412 (WebCore::getVisual): 57413 (WebCore::screenRect): 57414 (WebCore::screenAvailableRect): 57415 * platform/gtk/PopupMenuGtk.cpp: 57416 (WebCore::PopupMenu::show): 57417 * platform/gtk/ScrollViewGtk.cpp: 57418 (WebCore::ScrollView::platformAddChild): 57419 (WebCore::ScrollView::platformRemoveChild): 57420 (WebCore::ScrollView::visibleContentRect): 57421 * platform/gtk/WidgetGtk.cpp: 57422 (WebCore::Widget::setFocus): 57423 (WebCore::Widget::setCursor): 57424 * platform/qt/PlatformScreenQt.cpp: 57425 (WebCore::screenDepth): 57426 (WebCore::screenDepthPerComponent): 57427 (WebCore::screenIsMonochrome): 57428 (WebCore::screenRect): 57429 (WebCore::screenAvailableRect): 57430 * platform/qt/PopupMenuQt.cpp: 57431 (WebCore::PopupMenu::show): 57432 * platform/qt/WidgetQt.cpp: 57433 (WebCore::Widget::setCursor): 57434 * platform/win/PlatformScreenWin.cpp: 57435 (WebCore::monitorInfoForWidget): 57436 * platform/win/PopupMenuWin.cpp: 57437 (WebCore::PopupMenu::show): 57438 (WebCore::PopupMenu::calculatePositionAndSize): 57439 (WebCore::PopupMenu::wndProc): 57440 * platform/wx/RenderThemeWx.cpp: 57441 (WebCore::nativeWindowForRenderObject): 57442 * platform/wx/ScrollbarThemeWx.cpp: 57443 (WebCore::ScrollbarThemeWx::paint): 57444 * plugins/gtk/PluginViewGtk.cpp: 57445 (WebCore::PluginView::getValue): 57446 (WebCore::PluginView::forceRedraw): 57447 (WebCore::PluginView::platformStart): 57448 * plugins/mac/PluginViewMac.cpp: 57449 (WebCore::PluginView::platformStart): 57450 * plugins/qt/PluginViewQt.cpp: 57451 (WebCore::PluginView::handleKeyboardEvent): 57452 (WebCore::PluginView::getValue): 57453 (WebCore::PluginView::platformStart): 57454 * plugins/win/PluginViewWin.cpp: 57455 (WebCore::PluginView::getValue): 57456 (WebCore::PluginView::forceRedraw): 57457 (WebCore::PluginView::platformStart): 57458 57459 2009-09-18 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 57460 57461 Reviewed by Simon Hausmann. 57462 57463 [Qt] Web inspector UI adjustments specific to the Qt platform: 57464 - Hide the close button 57465 - Hide the dock button 57466 - Disable the draggable toolbar 57467 57468 https://bugs.webkit.org/show_bug.cgi?id=29384 57469 57470 * inspector/front-end/inspector.css: 57471 * inspector/front-end/inspector.js: 57472 (WebInspector.toolbarDragStart): 57473 57474 2009-09-18 Joerg Bornemann <joerg.bornemann (a] nokia.com> 57475 57476 Reviewed by Simon Hausmann. 57477 57478 QtWebKit Windows CE compile fixes 57479 57480 Exclude certain pure-WINCE specific code paths from the Qt build. 57481 57482 * platform/graphics/BitmapImage.h: 57483 * platform/graphics/FontCache.h: 57484 * platform/graphics/MediaPlayer.cpp: 57485 * platform/text/TextEncodingRegistry.cpp: 57486 (WebCore::buildBaseTextCodecMaps): 57487 (WebCore::extendTextCodecMaps): 57488 * plugins/PluginView.cpp: 57489 (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as 57490 the corresponding PluginViewWndProc has the same guard in the header file. 57491 57492 2009-09-18 Steve Block <steveblock (a] google.com> 57493 57494 Reviewed by Dimitri Glazkov. 57495 57496 Geolocation does not correctly handle Infinity for PositionOptions properties. 57497 https://bugs.webkit.org/show_bug.cgi?id=29099 57498 57499 * bindings/js/JSGeolocationCustom.cpp: Modified. 57500 (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case. 57501 * page/PositionOptions.h: Modified. 57502 (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age. 57503 (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age. 57504 (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age. 57505 (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set. 57506 (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set. 57507 57508 2009-09-17 Sam Weinig <sam (a] webkit.org> 57509 57510 Reviewed by Adele Peterson. 57511 57512 Fix for https://bugs.webkit.org/show_bug.cgi?id=29276 57513 REGRESSION(r48334): WebKit crashes on file select by drag 57514 57515 Document.elementFromPoint now takes point in client space, not page space. 57516 57517 * page/DragController.cpp: 57518 (WebCore::DragController::tryDocumentDrag): 57519 (WebCore::DragController::concludeEditDrag): 57520 57521 2009-09-17 Albert J. Wong <ajwong (a] chromium.org> 57522 57523 Reviewed by David Levin. 57524 57525 Reimplement default media UI for Mac Chromium to match the style 57526 of the Windows and Linux versions. Also breaks the dependency 57527 on the internal wk* functions that were previously used to 57528 render the media controller widgets. 57529 https://bugs.webkit.org/show_bug.cgi?id=29161 57530 57531 No media layout tests are currently enabled in Mac Chromium, so 57532 nothing needs rebaselineing, etc. 57533 57534 This is a recommit of r48438 with a compile fix and merges of 57535 recent changes to the file. 57536 57537 * css/mediaControlsChromium.css: 57538 * rendering/RenderThemeChromiumMac.h: 57539 * rendering/RenderThemeChromiumMac.mm: 57540 (WebCore::mediaElementParent): 57541 (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet): 57542 (WebCore::mediaSliderThumbImage): 57543 (WebCore::mediaVolumeSliderThumbImage): 57544 (WebCore::RenderThemeChromiumMac::paintSliderTrack): 57545 (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): 57546 (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal): 57547 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): 57548 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): 57549 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 57550 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): 57551 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 57552 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): 57553 (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): 57554 * rendering/RenderThemeChromiumSkia.cpp: 57555 (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): 57556 57557 2009-09-17 Brian Weinstein <bweinstein (a] apple.com> 57558 57559 Reviewed by Timothy Hatcher. 57560 57561 The Console scope bar should have a divider between All and the other possible 57562 values (Errors, Warnings, Logs). It will look something like: 57563 57564 All | Errors Warnings Logs. 57565 57566 * inspector/front-end/ConsoleView.js: 57567 (WebInspector.ConsoleView.createDividerElement): 57568 (WebInspector.ConsoleView): 57569 * inspector/front-end/inspector.css: 57570 57571 2009-09-17 Sam Weinig <sam (a] webkit.org> 57572 57573 Reviewed by Mark Rowe. 57574 57575 Remove additional references to JSVoidCallback which no longer exists. 57576 57577 * DerivedSources.cpp: 57578 * WebCore.vcproj/WebCore.vcproj: 57579 57580 2009-09-17 Sam Weinig <sam (a] webkit.org> 57581 57582 Reviewed by Brady Eidson. 57583 57584 Remove commented out onhashchange attribute now that it is implemented. 57585 57586 * page/DOMWindow.idl: 57587 57588 2009-09-17 Anders Carlsson <andersca (a] apple.com> 57589 57590 Reviewed by Oliver Hunt. 57591 57592 <rdar://problem/7007541> 57593 CrashTracer: 4800crashes in Safari at com.apple.WebKit WTF::HashTableIterator... 57594 57595 Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in 57596 crashes while we're calling into it). 57597 57598 * bridge/runtime_object.cpp: 57599 (JSC::RuntimeObjectImp::RuntimeObjectImp): 57600 (JSC::RuntimeObjectImp::~RuntimeObjectImp): 57601 (JSC::RuntimeObjectImp::invalidate): 57602 (JSC::RuntimeObjectImp::fallbackObjectGetter): 57603 (JSC::RuntimeObjectImp::fieldGetter): 57604 (JSC::RuntimeObjectImp::methodGetter): 57605 (JSC::RuntimeObjectImp::getOwnPropertySlot): 57606 (JSC::RuntimeObjectImp::getOwnPropertyDescriptor): 57607 (JSC::RuntimeObjectImp::put): 57608 (JSC::RuntimeObjectImp::defaultValue): 57609 (JSC::RuntimeObjectImp::getCallData): 57610 (JSC::RuntimeObjectImp::getConstructData): 57611 (JSC::RuntimeObjectImp::getPropertyNames): 57612 * bridge/runtime_object.h: 57613 (JSC::RuntimeObjectImp::getInternalInstance): 57614 57615 2009-09-17 Yury Semikhatsky <yurys (a] chromium.org> 57616 57617 Reviewed by Timothy Hatcher. 57618 57619 Wrap primitive values (as objects) in InspectorController::wrap. 57620 57621 https://bugs.webkit.org/show_bug.cgi?id=28983 57622 57623 * inspector/InspectorController.cpp: 57624 (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies, 57625 only object proxies will have objectId. 57626 * inspector/front-end/ConsoleView.js: 57627 (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi 57628 that accepts an expression and returns possible completions. This way we don't need to wrap 57629 and unwrap the completions result into a proxy object. 57630 * inspector/front-end/InjectedScript.js: 57631 (InjectedScript.getCompletions): 57632 (InjectedScript.evaluate): 57633 (InjectedScript._evaluateOn): 57634 (InjectedScript.createProxyObject): 57635 * inspector/front-end/InjectedScriptAccess.js: 57636 57637 2009-09-17 Nate Chapin <japhet (a] chromium.org> 57638 57639 Reviewed by Dimitri Glazkov. 57640 57641 Wrap PageTransitionEvents properly for V8's use. 57642 57643 https://bugs.webkit.org/show_bug.cgi?id=29340 57644 57645 Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html. 57646 57647 * bindings/v8/V8DOMWrapper.cpp: 57648 (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly. 57649 57650 2009-09-17 Simon Fraser <simon.fraser (a] apple.com> 57651 57652 Reviewed by Dave Hyatt. 57653 57654 Hardware-accelerated opacity transition on inline asserts 57655 https://bugs.webkit.org/show_bug.cgi?id=29342 57656 57657 Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just 57658 pass an empty size, because the box size is only required for transform animations. 57659 57660 Test: compositing/transitions/opacity-on-inline.html 57661 57662 * rendering/RenderLayerBacking.cpp: 57663 (WebCore::RenderLayerBacking::startTransition): 57664 57665 2009-09-17 Adam Barth <abarth (a] webkit.org> 57666 57667 Reviewed by Eric Seidel. 57668 57669 [V8] OwnHandle might get a weak callback after destruction 57670 https://bugs.webkit.org/show_bug.cgi?id=29172 57671 57672 Be sure to clear out weak reference so we don't get a weak callback 57673 after we've destructed ourselves. Also, removed some tricky methods 57674 that had no clients. 57675 57676 * bindings/v8/OwnHandle.h: 57677 (WebCore::OwnHandle::clear): 57678 57679 2009-09-17 Dimitri Glazkov <dglazkov (a] chromium.org> 57680 57681 Unreviewed, build fix. 57682 57683 [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to 57684 fix crashes that started happening in V8Proxy::getEnteredContext(). 57685 57686 * bindings/v8/ScheduledAction.cpp: 57687 (WebCore::ScheduledAction::execute): 57688 57689 2009-09-17 Chris Fleizach <cfleizach (a] apple.com> 57690 57691 Reviewed by Beth Dakin. 57692 57693 AX: labels of checkboxes should, when hit-tested, return the checkbox 57694 https://bugs.webkit.org/show_bug.cgi?id=29335 57695 57696 When an accessibility hit test is done and it hits the label of a control element, 57697 the control element should be returned instead of nothing, since the label 57698 itself is usually ignored. 57699 57700 Test: accessibility/label-for-control-hittest.html 57701 57702 * accessibility/AccessibilityObject.h: 57703 (WebCore::AccessibilityObject::correspondingControlForLabelElement): 57704 * accessibility/AccessibilityRenderObject.cpp: 57705 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 57706 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 57707 (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement): 57708 * accessibility/AccessibilityRenderObject.h: 57709 57710 2009-09-17 Avi Drissman <avi (a] chromium.org> 57711 57712 Reviewed by Dimitri Glazkov, build fix. 57713 57714 Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC). 57715 https://bugs.webkit.org/show_bug.cgi?id=29243 57716 57717 Covered by existing tests. 57718 57719 * rendering/RenderThemeChromiumMac.mm: 57720 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 57721 57722 2009-09-17 Dimitri Glazkov <dglazkov (a] chromium.org> 57723 57724 Reviewed by Eric Seidel. 57725 57726 [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType 57727 creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes. 57728 https://bugs.webkit.org/show_bug.cgi?id=26402 57729 57730 Test: fast/dom/DOMImplementation/detached-doctype.html 57731 fast/dom/doctype-event-listener-crash.html 57732 57733 * bindings/v8/V8DOMWrapper.cpp: 57734 (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check. 57735 57736 2009-09-17 Dan Bernstein <mitz (a] apple.com> 57737 57738 Reviewed by Simon Fraser. 57739 57740 FontDescription.h includes RenderStyleConstants.h, which violates layering 57741 https://bugs.webkit.org/show_bug.cgi?id=29327 57742 57743 * GNUmakefile.am: Added FontSmoothingMode.h. 57744 * WebCore.gypi: Added FontSmoothingMode.h. 57745 * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h. 57746 * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made 57747 it a private header. 57748 * css/CSSComputedStyleDeclaration.cpp: 57749 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the 57750 font smoothing mode via the font description. 57751 * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h 57752 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename 57753 of FontSmoothing to FontSmoothingMode. 57754 (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto. 57755 * css/CSSStyleSelector.cpp: 57756 (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode 57757 via the font description. 57758 * platform/graphics/FontDescription.h: Do not include 57759 RenderStyleConstants.h. 57760 (WebCore::FontDescription::fontSmoothing): Updated for the rename of 57761 FontSmoothing to FontSmoothingMode. 57762 (WebCore::FontDescription::setFontSmoothing): Ditto. 57763 * platform/graphics/FontSmoothingMode.h: Added. 57764 (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from 57765 RenderStyleConstants here and renamed it to this. 57766 * rendering/style/RenderStyle.h: 57767 (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since 57768 this can be accessed via the font description. 57769 * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum 57770 from here to FontSmoothingMode.h. 57771 57772 2009-09-17 Kevin Ollivier <kevino (a] theolliviers.com> 57773 57774 wx 2.9 build fix. 57775 57776 * platform/wx/wxcode/gtk/scrollbar_render.cpp: 57777 (wxGetGdkWindowForDC): 57778 57779 2009-09-16 Simon Fraser <simon.fraser (a] apple.com> 57780 57781 Reviewed by Dan Bernstein. 57782 57783 Elements appear behind <video> when they should be in front sometimes 57784 https://bugs.webkit.org/show_bug.cgi?id=29314 57785 57786 r45598 added logic that tests for overlap with <video> to determine when to throw 57787 a layer into compositing mode. That logic was incorrect in some cases, and this patch 57788 fixes it. When testing overlap, the layer needs to be composited iff some previous layer 57789 is composited (which adds a rect to the overlay map), and there is overlap. 57790 57791 Test: compositing/geometry/video-opacity-overlay.html 57792 57793 * rendering/RenderLayerCompositor.cpp: 57794 (WebCore::CompositingState::CompositingState): 57795 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 57796 57797 2009-09-17 Avi Drissman <avi (a] google.com> 57798 57799 Reviewed by Darin Fisher. 57800 57801 Update the Chromium Mac theming files (RenderTheme and Theme) to be 57802 up-to-date. 57803 57804 https://bugs.webkit.org/show_bug.cgi?id=29243 57805 http://crbug.com/19604 57806 57807 Covered by existing tests. 57808 57809 * WebCore.gypi: 57810 * platform/chromium/ThemeChromiumMac.h: Added. 57811 (WebCore::ThemeChromiumMac::ThemeChromiumMac): 57812 (WebCore::ThemeChromiumMac::~ThemeChromiumMac): 57813 (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace): 57814 * platform/chromium/ThemeChromiumMac.mm: Added. 57815 (WebCore::): 57816 (WebCore::platformTheme): 57817 (WebCore::controlSizeForFont): 57818 (WebCore::sizeFromFont): 57819 (WebCore::setControlSize): 57820 (WebCore::updateStates): 57821 (WebCore::inflateRect): 57822 (WebCore::checkboxSizes): 57823 (WebCore::checkboxMargins): 57824 (WebCore::checkboxSize): 57825 (WebCore::checkbox): 57826 (WebCore::paintCheckbox): 57827 (WebCore::radioSizes): 57828 (WebCore::radioMargins): 57829 (WebCore::radioSize): 57830 (WebCore::radio): 57831 (WebCore::paintRadio): 57832 (WebCore::buttonSizes): 57833 (WebCore::buttonMargins): 57834 (WebCore::button): 57835 (WebCore::paintButton): 57836 (WebCore::ThemeChromiumMac::baselinePositionAdjustment): 57837 (WebCore::ThemeChromiumMac::controlFont): 57838 (WebCore::ThemeChromiumMac::controlSize): 57839 (WebCore::ThemeChromiumMac::minimumControlSize): 57840 (WebCore::ThemeChromiumMac::controlBorder): 57841 (WebCore::ThemeChromiumMac::controlPadding): 57842 (WebCore::ThemeChromiumMac::inflateControlPaintRect): 57843 (WebCore::ThemeChromiumMac::paint): 57844 * platform/graphics/FloatPoint.h: 57845 * platform/graphics/FloatRect.h: 57846 * platform/graphics/FloatSize.h: 57847 * platform/graphics/IntRect.h: 57848 * rendering/RenderThemeChromiumMac.h: 57849 (WebCore::RenderThemeChromiumMac::supportsControlTints): 57850 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart): 57851 (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors): 57852 * rendering/RenderThemeChromiumMac.mm: 57853 (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]): 57854 (-[RTCMFlippedView isFlipped]): 57855 (-[RTCMFlippedView currentEditor]): 57856 (WebCore::): 57857 (WebCore::FlippedView): 57858 (WebCore::RenderTheme::themeForPage): 57859 (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor): 57860 (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor): 57861 (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor): 57862 (WebCore::RenderThemeChromiumMac::systemFont): 57863 (WebCore::convertNSColorToColor): 57864 (WebCore::menuBackgroundColor): 57865 (WebCore::RenderThemeChromiumMac::systemColor): 57866 (WebCore::RenderThemeChromiumMac::isControlStyled): 57867 (WebCore::RenderThemeChromiumMac::adjustRepaintRect): 57868 (WebCore::RenderThemeChromiumMac::inflateRect): 57869 (WebCore::RenderThemeChromiumMac::convertToPaintingRect): 57870 (WebCore::RenderThemeChromiumMac::setFontFromControlSize): 57871 (WebCore::RenderThemeChromiumMac::paintTextField): 57872 (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator): 57873 (WebCore::RenderThemeChromiumMac::paintTextArea): 57874 (WebCore::RenderThemeChromiumMac::paintMenuList): 57875 (WebCore::TopGradientInterpolate): 57876 (WebCore::BottomGradientInterpolate): 57877 (WebCore::MainGradientInterpolate): 57878 (WebCore::TrackGradientInterpolate): 57879 (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients): 57880 (WebCore::RenderThemeChromiumMac::paintMenuListButton): 57881 (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): 57882 (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): 57883 (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop): 57884 (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom): 57885 (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle): 57886 (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle): 57887 (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle): 57888 (WebCore::RenderThemeChromiumMac::paintSliderThumb): 57889 (WebCore::RenderThemeChromiumMac::paintSearchField): 57890 (WebCore::RenderThemeChromiumMac::setSearchCellState): 57891 (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle): 57892 (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton): 57893 (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle): 57894 (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle): 57895 (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration): 57896 (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle): 57897 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration): 57898 (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle): 57899 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton): 57900 (WebCore::mediaControllerTheme): 57901 (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): 57902 (WebCore::getMediaUIPartStateFlags): 57903 (WebCore::getUnzoomedRectAndAdjustCurrentContext): 57904 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 57905 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): 57906 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): 57907 (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): 57908 (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): 57909 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 57910 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 57911 (WebCore::RenderThemeChromiumMac::paintMediaRewindButton): 57912 (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton): 57913 (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): 57914 (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime): 57915 (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining): 57916 (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet): 57917 57918 2009-09-16 Daniel Bates <dbates (a] webkit.org> 57919 57920 Reviewed by Darin Adler. 57921 57922 https://bugs.webkit.org/show_bug.cgi?id=29306 57923 57924 Fixes an issue where an attack that contains accented characters can 57925 bypass the XSSAuditor. 57926 57927 XSSAuditor::decodeURL used the wrong length for the input string. 57928 When the input string was decoded, the decoded result was truncated. 57929 Hence, XSSAuditor was comparing the source code of the script to the 57930 truncated input parameters. 57931 57932 Test: http/tests/security/xssAuditor/img-onerror-accented-char.html 57933 57934 * page/XSSAuditor.cpp: 57935 (WebCore::XSSAuditor::decodeURL): 57936 57937 2009-09-16 Brady Eidson <beidson (a] apple.com> 57938 57939 Reviewed by Sam Weinig. 57940 57941 Explore allowing pages with unload handlers into the Page Cache 57942 https://bugs.webkit.org/show_bug.cgi?id=29021 57943 57944 No new tests. (All previous tests continue to pass) 57945 57946 * loader/FrameLoader.cpp: 57947 (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event. 57948 57949 2009-09-16 Adam Barth <abarth (a] webkit.org> 57950 57951 Reviewed by Dimitri Glazkov. 57952 57953 [V8] Teach ScheduledAction::execute about isolated worlds 57954 https://bugs.webkit.org/show_bug.cgi?id=27703 57955 57956 We now save a handle to the original context. We use that handle to 57957 call the timeout in the right context / world. 57958 57959 Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html 57960 http/tests/security/isolatedWorld/window-setTimeout-string.html 57961 57962 * bindings/v8/ScheduledAction.cpp: 57963 (WebCore::ScheduledAction::ScheduledAction): 57964 (WebCore::ScheduledAction::execute): 57965 * bindings/v8/ScheduledAction.h: 57966 (WebCore::ScheduledAction::ScheduledAction): 57967 * bindings/v8/custom/V8DOMWindowCustom.cpp: 57968 (WebCore::V8Custom::WindowSetTimeoutImpl): 57969 * bindings/v8/custom/V8WorkerContextCustom.cpp: 57970 (WebCore::SetTimeoutOrInterval): 57971 57972 2009-09-16 Adam Barth <abarth (a] webkit.org> 57973 57974 Reviewed by Dimitri Glazkov. 57975 57976 [V8] Teach ScheduledAction::execute about isolated worlds 57977 https://bugs.webkit.org/show_bug.cgi?id=27703 57978 57979 We now save a handle to the original context. We use that handle to 57980 call the timeout in the right context / world. 57981 57982 Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html 57983 http/tests/security/isolatedWorld/window-setTimeout-string.html 57984 57985 * bindings/v8/ScheduledAction.cpp: 57986 (WebCore::ScheduledAction::ScheduledAction): 57987 (WebCore::ScheduledAction::execute): 57988 * bindings/v8/ScheduledAction.h: 57989 (WebCore::ScheduledAction::ScheduledAction): 57990 * bindings/v8/custom/V8DOMWindowCustom.cpp: 57991 (WebCore::V8Custom::WindowSetTimeoutImpl): 57992 * bindings/v8/custom/V8WorkerContextCustom.cpp: 57993 (WebCore::SetTimeoutOrInterval): 57994 57995 2009-09-16 Sam Weinig <sam (a] webkit.org> 57996 57997 Reviewed by Anders Carlsson. 57998 57999 Add some groups to the xcode project to make the bindings/js/ group 58000 a little nicer. 58001 58002 * WebCore.xcodeproj/project.pbxproj: 58003 58004 2009-09-16 Sam Weinig <sam (a] webkit.org> 58005 58006 Reviewed by Anders Carlsson. 58007 58008 Fix for https://bugs.webkit.org/show_bug.cgi?id=29320 58009 JS callback objects should store the global object 58010 58011 This just changes the callback objects to store the global object instead 58012 of the frame. A follow up patch will change them to store the 'current' 58013 global object instead of the lexical or dynamic. 58014 58015 * DerivedSources.make: Remove unused VoidCallback. 58016 * WebCore.xcodeproj/project.pbxproj: Ditto. 58017 * bindings/js/JSCustomPositionCallback.cpp: 58018 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): 58019 (WebCore::JSCustomPositionCallback::handleEvent): 58020 * bindings/js/JSCustomPositionCallback.h: 58021 (WebCore::JSCustomPositionCallback::create): 58022 * bindings/js/JSCustomPositionErrorCallback.cpp: 58023 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): 58024 (WebCore::JSCustomPositionErrorCallback::handleEvent): 58025 * bindings/js/JSCustomPositionErrorCallback.h: 58026 (WebCore::JSCustomPositionErrorCallback::create): 58027 * bindings/js/JSCustomSQLStatementCallback.cpp: 58028 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback): 58029 (WebCore::JSCustomSQLStatementCallback::handleEvent): 58030 * bindings/js/JSCustomSQLStatementCallback.h: 58031 (WebCore::JSCustomSQLStatementCallback::create): 58032 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 58033 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback): 58034 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 58035 * bindings/js/JSCustomSQLStatementErrorCallback.h: 58036 (WebCore::JSCustomSQLStatementErrorCallback::create): 58037 * bindings/js/JSCustomSQLTransactionCallback.cpp: 58038 (WebCore::JSCustomSQLTransactionCallback::Data::Data): 58039 (WebCore::JSCustomSQLTransactionCallback::Data::globalObject): 58040 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 58041 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 58042 * bindings/js/JSCustomSQLTransactionCallback.h: 58043 (WebCore::JSCustomSQLTransactionCallback::create): 58044 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 58045 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback): 58046 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 58047 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 58048 (WebCore::JSCustomSQLTransactionErrorCallback::create): 58049 * bindings/js/JSCustomVoidCallback.cpp: 58050 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): 58051 (WebCore::JSCustomVoidCallback::handleEvent): 58052 * bindings/js/JSCustomVoidCallback.h: 58053 (WebCore::JSCustomVoidCallback::create): 58054 * bindings/js/JSDatabaseCustom.cpp: 58055 (WebCore::JSDatabase::changeVersion): 58056 (WebCore::createTransaction): 58057 (WebCore::JSDatabase::transaction): 58058 (WebCore::JSDatabase::readTransaction): 58059 * bindings/js/JSGeolocationCustom.cpp: 58060 (WebCore::createPositionCallback): 58061 (WebCore::createPositionErrorCallback): 58062 (WebCore::JSGeolocation::getCurrentPosition): 58063 (WebCore::JSGeolocation::watchPosition): 58064 * bindings/js/JSSQLTransactionCustom.cpp: 58065 (WebCore::JSSQLTransaction::executeSql): 58066 58067 2009-09-15 Kent Tamura <tkent (a] chromium.org> 58068 58069 Reviewed by Eric Seidel. 58070 58071 <input maxlength=> should restrict only values specified by users. 58072 https://bugs.webkit.org/show_bug.cgi?id=21271 58073 58074 * dom/InputElement.cpp: 58075 (WebCore::InputElement::setValueFromRenderer): 58076 (WebCore::InputElement::sanitizeValue): 58077 (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue(). 58078 (WebCore::InputElement::handleBeforeTextInsertedEvent): 58079 (WebCore::InputElement::updateValueIfNeeded): 58080 * dom/InputElement.h: 58081 * html/HTMLInputElement.cpp: 58082 (WebCore::HTMLInputElement::setInputType): 58083 (WebCore::HTMLInputElement::value): 58084 (WebCore::HTMLInputElement::setValue): 58085 (WebCore::HTMLInputElement::sanitizeValue): 58086 * html/HTMLInputElement.h: 58087 * rendering/RenderTextControlSingleLine.cpp: 58088 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 58089 * wml/WMLInputElement.cpp: 58090 (WebCore::WMLInputElement::constrainValue): 58091 * wml/WMLInputElement.h: 58092 (WebCore::WMLInputElement::sanitizeValue): 58093 58094 2009-09-16 Enrica Casucci <enrica (a] apple.com> 58095 58096 Reviewed by Eric Seidel. 58097 58098 Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon. 58099 https://bugs.webkit.org/show_bug.cgi?id=29319 58100 58101 * editing/IndentOutdentCommand.cpp: 58102 Removed implementation of isAtUnsplittableElement. 58103 58104 * editing/IndentOutdentCommand.h: 58105 Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions. 58106 58107 * editing/htmlediting.cpp: 58108 (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand. 58109 58110 * editing/htmlediting.h: 58111 Reordered functions to group them by type of object returned or operate upon. 58112 Added comments. 58113 Added isAtUnsplittableElement declaration. 58114 58115 2009-09-16 Geoffrey Garen <ggaren (a] apple.com> 58116 58117 Reviewed by Sam Weinig and Anders Carlsson. 58118 58119 Removed some vestigial and potentially crashy code that makes consolidating 58120 event listeners hard. 58121 58122 * dom/Node.cpp: 58123 (WebCore::Node::addEventListener): No need to limit when event listeners 58124 can be added. Other EventTargets don't do this. 58125 58126 Also, check for null when accessing document(). Technically, the JS bindings 58127 do this check for us, but let's not rely on that. 58128 58129 2009-09-16 Anders Carlsson <andersca (a] apple.com> 58130 58131 Reviewed by Adam Roben. 58132 58133 <rdar://problem/7155710> 58134 HTML selects on windows cause containing window to become inactive when opened 58135 58136 Redo the way we handle events when a popup menu is shown, based on 58137 http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx 58138 58139 Since a non-active window can't capture the mouse, we use the owning window 58140 (the WebView) as the capture window. We then run a recursive message pump that 58141 forwards all mouse and keyboard events to the popup menu. 58142 58143 * platform/PopupMenu.h: 58144 * platform/win/PopupMenuWin.cpp: 58145 (WebCore::PopupMenu::PopupMenu): 58146 (WebCore::PopupMenu::show): 58147 (WebCore::PopupMenu::hide): 58148 (WebCore::PopupMenu::wndProc): 58149 58150 2009-09-16 Dan Bernstein <mitz (a] apple.com> 58151 58152 Reviewed by Ada Chan. 58153 58154 Speculative fix for 58155 <rdar://problem/6937089> Crashes at RenderWidget::destroy() 58156 58157 * rendering/RenderWidget.cpp: 58158 (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node() 58159 is null. Add two assertions that can help determine how this crash 58160 happens (in particular, whether node() becomes null during destroy() or 58161 it is null before destroy() is called). 58162 58163 2009-09-16 Beth Dakin <bdakin (a] apple.com> 58164 58165 Speculative build fix. 58166 58167 * css/CSSStyleSelector.cpp: 58168 (WebCore::CSSStyleSelector::applyProperty): 58169 58170 2009-09-16 Beth Dakin <bdakin (a] apple.com> 58171 58172 Reviewed by Darin Adler. 58173 58174 Fix for <rdar://problem/7083741> Implement a CSS extension to 58175 adjust sub-pixel anti-aliasing for text 58176 -and corresponding- 58177 https://bugs.webkit.org/show_bug.cgi?id=29291 58178 58179 Added tests: 58180 * fast/css/font-smoothing.html: Added. 58181 * fast/css/parsing-webkit-font-smoothing.html: Added. 58182 58183 This patch adds a new CSS property called -webkit-font-smoothing 58184 that accepts the following as valid input: auto | none | 58185 antialiased | subpixel-antialiased 58186 58187 Return appropriate computed style for -webkit-font-smoothing 58188 * css/CSSComputedStyleDeclaration.cpp: 58189 (WebCore::): 58190 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 58191 58192 Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 58193 input. 58194 * css/CSSParser.cpp: 58195 (WebCore::CSSParser::parseValue): 58196 58197 Add mappings for FontSmoothing to the right CSS values. 58198 * css/CSSPrimitiveValueMappings.h: 58199 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 58200 (WebCore::CSSPrimitiveValue::operator FontSmoothing): 58201 58202 Add -webkit-font-smoothing 58203 * css/CSSPropertyNames.in: 58204 58205 Set fontSmoothing on the FontDescription. 58206 * css/CSSStyleSelector.cpp: 58207 (WebCore::CSSStyleSelector::applyProperty): 58208 58209 Add antialiased and subpixel-antialiased as possible new CSS 58210 values. 58211 * css/CSSValueKeywords.in: 58212 Store the font smoothing CSS value in the FontDescription. 58213 * platform/graphics/FontDescription.h: 58214 (WebCore::FontDescription::FontDescription): 58215 (WebCore::FontDescription::fontSmoothing): 58216 (WebCore::FontDescription::setFontSmoothing): 58217 (WebCore::FontDescription::operator==): 58218 58219 Call setShouldAntialias() and setShouldUseSmoothing() appropriately 58220 based on the CSS fontSmoothing() value. 58221 * platform/graphics/mac/FontMac.mm: 58222 (WebCore::Font::drawGlyphs): 58223 * platform/graphics/win/FontCGWin.cpp: 58224 (WebCore::Font::drawGlyphs): 58225 58226 New function fontSmoothing() 58227 * rendering/style/RenderStyle.h: 58228 (WebCore::InheritedFlags::fontSmoothing): 58229 58230 New enum FontSmoothing. 58231 * rendering/style/RenderStyleConstants.h: 58232 (WebCore::): 58233 58234 2009-09-16 Yury Semikhatsky <yurys (a] chromium.org> 58235 58236 Reviewed by Timothy Hatcher. 58237 58238 Remove style property if empty string is entered. 58239 58240 https://bugs.webkit.org/show_bug.cgi?id=29163 58241 58242 * inspector/front-end/ElementsTreeOutline.js: 58243 (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception 58244 * inspector/front-end/InjectedScript.js: 58245 (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal 58246 * inspector/front-end/StylesSidebarPane.js: 58247 (WebInspector.StylePropertyTreeElement.prototype.): 58248 (WebInspector.StylePropertyTreeElement.prototype): 58249 58250 2009-09-16 Yury Semikhatsky <yurys (a] chromium.org> 58251 58252 Reviewed by Timothy Hatcher. 58253 58254 Always reset m_implicitShorthand to false after parsing 58255 background-repeat style property otherwise properties 58256 following after it may be erroneously marked as implicit. 58257 58258 https://bugs.webkit.org/show_bug.cgi?id=28972 58259 https://bugs.webkit.org/show_bug.cgi?id=28973 58260 58261 Test: fast/backgrounds/repeat/margin-shorthand.html 58262 58263 * css/CSSParser.cpp: 58264 (WebCore::CSSParser::parseValue): 58265 58266 2009-09-16 Carol Szabo <carol.szabo (a] nokia.com> 58267 58268 Reviewed by Alexey Proskuryakov. 58269 58270 Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and 58271 XMLHttpRequest::getResponseHeader in the 58272 HEADERS_RECEIVED readyState. 58273 https://bugs.webkit.org/show_bug.cgi?id=29121 58274 58275 Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html 58276 http/tests/xmlhttprequest/getResponseHeader.html 58277 58278 * xml/XMLHttpRequest.cpp: 58279 (WebCore::XMLHttpRequest::getAllResponseHeaders): 58280 (WebCore::XMLHttpRequest::getResponseHeader): 58281 Changed the minimum valid state from LOADING to HEADERS_RECEIVED. 58282 58283 2009-09-16 Vitaly Repeshko <vitalyr (a] chromium.org> 58284 58285 Reviewed by Dimitri Glazkov. 58286 58287 [V8] Fix style violation in V8AbstractEventListener. 58288 https://bugs.webkit.org/show_bug.cgi?id=29303 58289 58290 * bindings/v8/V8AbstractEventListener.h: 58291 (WebCore::V8AbstractEventListener::operator==): 58292 58293 2009-09-16 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 58294 58295 Reviewed by Timothy Hatcher. 58296 58297 Add Watch Expression support to inspector 58298 https://bugs.webkit.org/show_bug.cgi?id=27514 58299 58300 Manual test added. 58301 58302 * English.lproj/localizedStrings.js: 58303 * WebCore.gypi: 58304 * WebCore.vcproj/WebCore.vcproj: 58305 * inspector/front-end/ConsoleView.js: 58306 (WebInspector.ConsoleView.prototype.completions): 58307 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 58308 (WebInspector.ConsoleView.prototype._enterKeyPressed): 58309 * inspector/front-end/ObjectPropertiesSection.js: 58310 (WebInspector.ObjectPropertiesSection.prototype.update.callback): 58311 (WebInspector.ObjectPropertiesSection.prototype.update): 58312 (WebInspector.ObjectPropertiesSection.prototype.updateProperties): 58313 (WebInspector.ObjectPropertiesSection.CompareProperties): 58314 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback): 58315 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 58316 (WebInspector.ObjectPropertyTreeElement.prototype.update): 58317 * inspector/front-end/ScriptsPanel.js: 58318 (WebInspector.ScriptsPanel): 58319 (WebInspector.ScriptsPanel.prototype.reset): 58320 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 58321 * inspector/front-end/WatchExpressionsSidebarPane.js: Added. 58322 (WebInspector.WatchExpressionsSidebarPane): 58323 (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions): 58324 (WebInspector.WatchExpressionsSection): 58325 (WebInspector.WatchExpressionsSection.prototype.update): 58326 (WebInspector.WatchExpressionsSection.prototype.addExpression): 58327 (WebInspector.WatchExpressionsSection.prototype.updateExpression): 58328 (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement): 58329 (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions): 58330 (WebInspector.WatchExpressionsSection.prototype.saveExpressions): 58331 (WebInspector.WatchExpressionsSection.CompareProperties): 58332 (WebInspector.WatchExpressionTreeElement): 58333 (WebInspector.WatchExpressionTreeElement.prototype.update): 58334 (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked): 58335 (WebInspector.WatchExpressionTreeElement.prototype.startEditing): 58336 (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled): 58337 (WebInspector.WatchExpressionTreeElement.prototype.applyExpression): 58338 * inspector/front-end/WebKit.qrc: 58339 * inspector/front-end/inspector.css: 58340 * inspector/front-end/inspector.html: 58341 * manual-tests/inspector/debugger-watch-expressions.html: Added. 58342 58343 2009-09-16 Greg Bolsinga <bolsinga (a] apple.com> 58344 58345 Add ENABLE(INSPECTOR) 58346 https://bugs.webkit.org/show_bug.cgi?id=29260 58347 58348 Reviewed by David Kilzer. 58349 58350 No new tests. (No change in default behavior.) 58351 58352 * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT. 58353 * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp. 58354 * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp. 58355 * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable. 58356 (WebCore::JSDOMWindowBase::supportsProfiling): 58357 * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR). 58358 * bindings/js/JSInspectorBackendCustom.cpp: Ditto. 58359 * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto. 58360 * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable. 58361 * bindings/js/ScriptObject.h: Ditto. 58362 * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR). 58363 * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable. 58364 (WebCore::Document::recalcStyle): 58365 (WebCore::Document::addMessage): 58366 (WebCore::Document::resourceRetrievedByXMLHttpRequest): 58367 (WebCore::Document::scriptImported): 58368 * dom/Document.h: Ditto. 58369 * dom/Node.cpp: Ditto. 58370 (WebCore::Node::dispatchGenericEvent): 58371 * dom/ScriptExecutionContext.h: Ditto. 58372 (WebCore::): 58373 * html/HTMLDocument.cpp: Ditto. 58374 (WebCore::HTMLDocument::createTokenizer): 58375 * html/HTMLTokenizer.cpp: Ditto. 58376 (WebCore::HTMLTokenizer::write): 58377 * inspector/ConsoleMessage.cpp: Ditto. 58378 (WebCore::ConsoleMessage::ConsoleMessage): 58379 (WebCore::ConsoleMessage::isEqual): 58380 * inspector/ConsoleMessage.h: Ditto. 58381 * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR). 58382 * inspector/InspectorBackend.cpp: Ditto. 58383 * inspector/InspectorController.cpp: Ditto. 58384 * inspector/InspectorDOMAgent.cpp: Ditto. 58385 * inspector/InspectorDOMStorageResource.cpp: Ditto. 58386 * inspector/InspectorDatabaseResource.cpp: Ditto. 58387 * inspector/InspectorFrontend.cpp: Ditto. 58388 * inspector/InspectorResource.cpp: Ditto. 58389 * inspector/InspectorTimelineAgent.cpp: Ditto. 58390 * inspector/TimelineItem.cpp: Ditto. 58391 * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable. 58392 (WebCore::FrameLoader::detachFromParent): 58393 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 58394 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 58395 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 58396 (WebCore::FrameLoader::dispatchDidCommitLoad): 58397 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): 58398 (WebCore::FrameLoader::dispatchWillSendRequest): 58399 (WebCore::FrameLoader::dispatchDidReceiveResponse): 58400 (WebCore::FrameLoader::dispatchDidReceiveContentLength): 58401 (WebCore::FrameLoader::dispatchDidFinishLoading): 58402 * page/Chrome.cpp: Ditto. 58403 (WebCore::Chrome::mouseDidMoveOverElement): 58404 * page/Console.cpp: Ditto. 58405 (WebCore::Console::addMessage): 58406 (WebCore::Console::count): 58407 (WebCore::Console::profile): 58408 (WebCore::Console::profileEnd): 58409 (WebCore::Console::time): 58410 (WebCore::Console::timeEnd): 58411 (WebCore::Console::group): 58412 (WebCore::Console::groupEnd): 58413 * page/ContextMenuController.cpp: Ditto. 58414 (WebCore::ContextMenuController::handleContextMenuEvent): 58415 (WebCore::ContextMenuController::contextMenuItemSelected): 58416 * page/DOMWindow.cpp: Ditto. 58417 (WebCore::DOMWindow::sessionStorage): 58418 (WebCore::DOMWindow::localStorage): 58419 * page/EventHandler.cpp: Ditto. 58420 (WebCore::EventHandler::handleMousePressEvent): 58421 * page/FrameView.cpp: Ditto. 58422 (WebCore::FrameView::layout): 58423 (WebCore::FrameView::paintContents): 58424 * page/FrameView.h: Ditto. 58425 * page/Page.cpp: Ditto. 58426 (WebCore::Page::Page): 58427 (WebCore::Page::~Page): 58428 * page/Page.h: Ditto. 58429 * platform/ContextMenu.cpp: Ditto. 58430 (WebCore::ContextMenu::checkOrEnableIfNeeded): 58431 * platform/ContextMenuItem.h: Ditto. 58432 (WebCore::): 58433 * storage/Database.cpp: Ditto. 58434 (WebCore::Database::openDatabase): 58435 * workers/WorkerContext.cpp: Ditto. 58436 (WebCore::WorkerContext::importScripts): 58437 * xml/XMLHttpRequest.cpp: Ditto. 58438 (WebCore::XMLHttpRequest::didFinishLoading): 58439 58440 2009-09-16 Greg Bolsinga <bolsinga (a] apple.com> 58441 58442 Add ENABLE(CONTEXT_MENUS) 58443 https://bugs.webkit.org/show_bug.cgi?id=29225 58444 58445 Reviewed by David Kilzer. 58446 58447 No new tests. (No change in default behavior.) 58448 58449 * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS. 58450 * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp. 58451 * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp. 58452 * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable. 58453 (WebCore::Node::defaultEventHandler): 58454 * loader/EmptyClients.h: Ditto. 58455 * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS). 58456 * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable. 58457 * page/EventHandler.h: Ditto. 58458 * page/Page.cpp: Ditto. 58459 (WebCore::Page::Page): 58460 * page/Page.h: Ditto. 58461 * page/mac/EventHandlerMac.mm: Ditto. 58462 * page/mac/WebCoreViewFactory.h: Ditto. 58463 * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS). 58464 * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable. 58465 * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS). 58466 * platform/mac/ContextMenuMac.mm: Ditto. 58467 * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable. 58468 * svg/graphics/SVGImage.cpp: Ditto. 58469 (WebCore::SVGImage::dataChanged): 58470 58471 2009-09-16 Dave Hyatt <hyatt (a] apple.com> 58472 58473 Reviewed by Adam Roben. 58474 58475 Clean up invalidation for repainting. Hoist the dirty rect intersection test in ScrollViewMac up 58476 into ScrollView so that all platforms do it. 58477 58478 Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of 58479 the rectangle for repainting. 58480 58481 * page/FrameView.cpp: 58482 (WebCore::FrameView::repaintContentRectangle): 58483 * platform/ScrollView.cpp: 58484 (WebCore::ScrollView::repaintContentRectangle): 58485 * platform/mac/ScrollViewMac.mm: 58486 (WebCore::ScrollView::platformRepaintContentRectangle): 58487 58488 2009-09-16 Greg Bolsinga <bolsinga (a] apple.com> 58489 58490 Add ENABLE(DRAG_SUPPORT) 58491 https://bugs.webkit.org/show_bug.cgi?id=29233 58492 58493 Reviewed by David Kilzer. 58494 58495 No new tests. (No change in default behavior.) 58496 58497 * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT. 58498 * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp. 58499 * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp. 58500 * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable. 58501 * loader/EmptyClients.h: Ditto. 58502 * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT). 58503 * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable. 58504 (WebCore::EventHandler::EventHandler): 58505 (WebCore::EventHandler::clear): 58506 (WebCore::EventHandler::handleMousePressEvent): 58507 (WebCore::EventHandler::handleMouseReleaseEvent): 58508 (WebCore::EventHandler::handleMouseMoveEvent): 58509 * page/EventHandler.h: Ditto. 58510 * page/Page.cpp: Ditto. 58511 (WebCore::Page::Page): 58512 * page/Page.h: Ditto. 58513 * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT). 58514 * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable. 58515 (WebCore::EventHandler::passSubframeEventToSubframe): 58516 * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT). 58517 * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT). 58518 * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable. 58519 * platform/mac/ClipboardMac.mm: Ditto. 58520 * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT). 58521 * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT). 58522 * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable. 58523 (WebCore::RenderLayer::autoscroll): 58524 * rendering/RenderObject.cpp: Ditto. 58525 * rendering/RenderObject.h: Ditto. 58526 * svg/graphics/SVGImage.cpp: Ditto. 58527 (WebCore::SVGImage::dataChanged): 58528 58529 2009-09-16 Kevin Ollivier <kevino (a] theolliviers.com> 58530 58531 wxMSW build fix after adding support for high resolution times in Win. 58532 58533 * page/Settings.cpp: 58534 * page/Settings.h: 58535 58536 2009-09-16 Vitaly Repeshko <vitalyr (a] chromium.org> 58537 58538 Reviewed by Dimitri Glazkov. 58539 58540 [V8] Added operator==() to event listeners. This fixes V8 bindings 58541 build broken in http://trac.webkit.org/changeset/48402. 58542 https://bugs.webkit.org/show_bug.cgi?id=29298 58543 58544 * bindings/v8/V8AbstractEventListener.cpp: 58545 (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now 58546 uses JSEventListenerType. 58547 * bindings/v8/V8AbstractEventListener.h: 58548 (WebCore::V8AbstractEventListener::operator==): Only compares 58549 pointers since we create at most one wrapper for a JS object. 58550 58551 2009-09-16 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 58552 58553 Reviewed by Xan Lopez. 58554 58555 [GTK] Crash when visiting http://flipper.googlelabs.com/ 58556 https://bugs.webkit.org/show_bug.cgi?id=29293 58557 58558 Check type for being null or empty before looking it up in the 58559 hash of supported types. 58560 58561 Tested by http/tests/loading/redirect-with-no-location-crash.html 58562 58563 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 58564 (WebCore::MediaPlayerPrivate::supportsType): 58565 58566 2009-09-15 Geoffrey Garen <ggaren (a] apple.com> 58567 58568 Reviewed by Sam Weinig. 58569 58570 Removed the notion of "disconnected nodes with event listeners" because 58571 it was vestigial. The reference cycle it tried to solve was solved another 58572 way in https://bugs.webkit.org/show_bug.cgi?id=21260. 58573 58574 * dom/Document.cpp: 58575 (WebCore::Document::removeAllEventListeners): 58576 * dom/Document.h: 58577 * dom/Node.cpp: 58578 (WebCore::Node::~Node): 58579 (WebCore::Node::insertedIntoDocument): 58580 (WebCore::Node::removedFromDocument): 58581 (WebCore::Node::willMoveToNewOwnerDocument): 58582 (WebCore::Node::didMoveToNewOwnerDocument): 58583 (WebCore::Node::addEventListener): 58584 (WebCore::Node::removeEventListener): 58585 (WebCore::Node::clearAttributeEventListener): 58586 58587 2009-09-15 Chris Fleizach <cfleizach (a] apple.com> 58588 58589 Reviewed by Beth Dakin. 58590 58591 WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles 58592 https://bugs.webkit.org/show_bug.cgi?id=28841 58593 58594 Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 58595 Consolidate increment/decrement/changeValue methods. 58596 58597 Test: accessibility/aria-slider-value-change.html 58598 58599 * accessibility/AccessibilityObject.cpp: 58600 * accessibility/AccessibilityRenderObject.cpp: 58601 (WebCore::AccessibilityRenderObject::increment): 58602 (WebCore::AccessibilityRenderObject::decrement): 58603 (WebCore::AccessibilityRenderObject::changeValueByPercent): 58604 (WebCore::AccessibilityRenderObject::setValue): 58605 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 58606 * accessibility/AccessibilityRenderObject.h: 58607 * accessibility/AccessibilitySlider.cpp: 58608 * accessibility/AccessibilitySlider.h: 58609 * dom/Element.cpp: 58610 (WebCore::Element::updateAfterAttributeChanged): 58611 58612 2009-09-15 Geoffrey Garen <ggaren (a] apple.com> 58613 58614 Reviewed by Sam Weinig. 58615 58616 Removed the jsEventListeners set from JSDOMGlobalObject, to simplify 58617 creation and destruction of JSDOMGlobalObject and event listeners. 58618 58619 Added an abstract operator==() to EventListener, to replace the 58620 jsEventListeners set's role in determining if two event listeners are 58621 equal from the DOM's perspective. 58622 58623 Added a type field to EventListener, and casting operations, to support 58624 operator==() and other abstract operations. 58625 58626 * WebCore.xcodeproj/project.pbxproj: 58627 * bindings/js/JSAbstractWorkerCustom.cpp: 58628 (WebCore::JSAbstractWorker::addEventListener): 58629 (WebCore::JSAbstractWorker::removeEventListener): 58630 * bindings/js/JSDOMApplicationCacheCustom.cpp: 58631 (WebCore::JSDOMApplicationCache::addEventListener): 58632 (WebCore::JSDOMApplicationCache::removeEventListener): 58633 * bindings/js/JSDOMGlobalObject.cpp: 58634 * bindings/js/JSDOMGlobalObject.h: 58635 * bindings/js/JSDOMWindowCustom.cpp: 58636 (WebCore::JSDOMWindow::addEventListener): 58637 (WebCore::JSDOMWindow::removeEventListener): 58638 * bindings/js/JSDesktopNotificationsCustom.cpp: 58639 (WebCore::JSNotification::addEventListener): 58640 (WebCore::): 58641 * bindings/js/JSEventListener.cpp: 58642 (WebCore::JSEventListener::JSEventListener): 58643 (WebCore::JSEventListener::~JSEventListener): 58644 (WebCore::JSEventListener::markJSFunction): 58645 (WebCore::JSEventListener::handleEvent): 58646 (WebCore::JSEventListener::reportError): 58647 (WebCore::JSEventListener::operator==): 58648 * bindings/js/JSEventListener.h: 58649 (WebCore::JSEventListener::cast): 58650 * bindings/js/JSEventSourceCustom.cpp: 58651 (WebCore::JSEventSource::addEventListener): 58652 (WebCore::JSEventSource::removeEventListener): 58653 * bindings/js/JSMessagePortCustom.cpp: 58654 (WebCore::JSMessagePort::addEventListener): 58655 (WebCore::JSMessagePort::removeEventListener): 58656 * bindings/js/JSNodeCustom.cpp: 58657 (WebCore::JSNode::addEventListener): 58658 (WebCore::JSNode::removeEventListener): 58659 * bindings/js/JSSVGElementInstanceCustom.cpp: 58660 (WebCore::JSSVGElementInstance::addEventListener): 58661 (WebCore::JSSVGElementInstance::removeEventListener): 58662 * bindings/js/JSWorkerContextCustom.cpp: 58663 (WebCore::JSWorkerContext::addEventListener): 58664 (WebCore::JSWorkerContext::removeEventListener): 58665 * bindings/js/JSXMLHttpRequestCustom.cpp: 58666 (WebCore::JSXMLHttpRequest::addEventListener): 58667 (WebCore::JSXMLHttpRequest::removeEventListener): 58668 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 58669 (WebCore::JSXMLHttpRequestUpload::addEventListener): 58670 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 58671 * bindings/objc/ObjCEventListener.h: 58672 (WebCore::ObjCEventListener::cast): 58673 * bindings/objc/ObjCEventListener.mm: 58674 (WebCore::ObjCEventListener::ObjCEventListener): 58675 (WebCore::ObjCEventListener::operator==): 58676 * dom/EventListener.h: 58677 (WebCore::EventListener::): 58678 (WebCore::EventListener::type): 58679 (WebCore::EventListener::EventListener): 58680 * dom/MessagePort.cpp: 58681 (WebCore::MessagePort::addEventListener): 58682 (WebCore::MessagePort::removeEventListener): 58683 * dom/Node.cpp: 58684 (WebCore::Node::removeEventListener): 58685 * inspector/InspectorDOMAgent.cpp: 58686 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 58687 (WebCore::InspectorDOMAgent::mainFrameDocument): 58688 (WebCore::InspectorDOMAgent::operator==): 58689 * inspector/InspectorDOMAgent.h: 58690 (WebCore::InspectorDOMAgent::cast): 58691 * loader/ImageDocument.cpp: 58692 (WebCore::ImageEventListener::cast): 58693 (WebCore::ImageEventListener::ImageEventListener): 58694 (WebCore::ImageEventListener::operator==): 58695 * loader/appcache/DOMApplicationCache.cpp: 58696 (WebCore::DOMApplicationCache::addEventListener): 58697 (WebCore::DOMApplicationCache::removeEventListener): 58698 * notifications/Notification.cpp: 58699 (WebCore::Notification::removeEventListener): 58700 * page/DOMWindow.cpp: 58701 (WebCore::DOMWindow::removeEventListener): 58702 * page/EventSource.cpp: 58703 (WebCore::EventSource::addEventListener): 58704 (WebCore::EventSource::removeEventListener): 58705 * svg/animation/SVGSMILElement.cpp: 58706 (WebCore::ConditionEventListener::cast): 58707 (WebCore::ConditionEventListener::ConditionEventListener): 58708 (WebCore::ConditionEventListener::operator==): 58709 (WebCore::ConditionEventListener::handleEvent): 58710 * workers/AbstractWorker.cpp: 58711 (WebCore::AbstractWorker::addEventListener): 58712 (WebCore::AbstractWorker::removeEventListener): 58713 * workers/WorkerContext.cpp: 58714 (WebCore::WorkerContext::addEventListener): 58715 (WebCore::WorkerContext::removeEventListener): 58716 * xml/XMLHttpRequest.cpp: 58717 (WebCore::XMLHttpRequest::addEventListener): 58718 (WebCore::XMLHttpRequest::removeEventListener): 58719 * xml/XMLHttpRequestUpload.cpp: 58720 (WebCore::XMLHttpRequestUpload::addEventListener): 58721 (WebCore::XMLHttpRequestUpload::removeEventListener): 58722 58723 2009-09-15 Alex Milowski <alex (a] milowski.com> 58724 58725 Reviewed by Tor Arne Vestb. 58726 58727 Added ENABLE_MATHML to feature defines 58728 58729 * Configurations/FeatureDefines.xcconfig: 58730 58731 2009-09-14 Andrew Richards <randrew (a] gmail.com> 58732 58733 Reviewed by Sam Weinig. 58734 58735 Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling. 58736 https://bugs.webkit.org/show_bug.cgi?id=29245 58737 58738 Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport. 58739 58740 * dom/Document.cpp: 58741 (WebCore::Document::elementFromPoint): 58742 (WebCore::Document::caretRangeFromPoint): 58743 58744 2009-09-15 Jungshik Shin <jshin (a] chromium.org> 58745 58746 Reviewed by Eric Seidel 58747 58748 http://bugs.webkit.org/show_bug.cgi?id=26660 58749 58750 Chromium Windows: When rotated, the baseline for a span of complex 58751 script is completely misaligned with that of the adjacent 58752 simple script text. It's fixed by not applying the baseline offset for 58753 the Skia code path. 58754 58755 Test: transforms/2d/hindi-rotated.html 58756 58757 * platform/graphics/chromium/UniscribeHelper.cpp: 58758 (WebCore::UniscribeHelper::draw): 58759 58760 2009-09-15 Anders Carlsson <andersca (a] apple.com> 58761 58762 Reviewed by Adam Roben. 58763 58764 Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in 58765 the WM_CREATE handler. This way we don't have to first create an zero size window and then size it. 58766 58767 * platform/win/PopupMenuWin.cpp: 58768 (WebCore::PopupMenu::show): 58769 (WebCore::PopupMenu::PopupMenuWndProc): 58770 58771 2009-09-15 Drew Wilson <atwilson (a] google.com> 58772 58773 Reviewed by Darin Adler. 58774 58775 MessageEvent should not be cancelable by default 58776 https://bugs.webkit.org/show_bug.cgi?id=27846 58777 58778 * dom/MessageEvent.cpp: 58779 (WebCore::MessageEvent::MessageEvent): 58780 Changed constructor to set cancelable=false by default, per the HTML5 spec. 58781 58782 2009-09-15 Charles Wei <charles.wei (a] torchmobile.com.cn> 58783 58784 Reviewed by George Staikos. 58785 58786 Fix SVG path parsing error if a command starts with dot '.' 58787 https://bugs.webkit.org/show_bug.cgi?id=29123 58788 58789 * svg/SVGParserUtilities.cpp: 58790 (WebCore::SVGPathParser::parseSVG): 58791 58792 2009-09-15 Alexander Pavlov <apavlov (a] chromium.org> 58793 58794 Reviewed by Timothy Hatcher. 58795 58796 Implement conditional breakpoints in the Web Inspector frontend. 58797 https://bugs.webkit.org/show_bug.cgi?id=28908 58798 58799 * English.lproj/localizedStrings.js: 58800 * WebCore.gypi: 58801 * WebCore.vcproj/WebCore.vcproj: 58802 * inspector/front-end/Breakpoint.js: 58803 (WebInspector.Breakpoint.prototype.set condition): 58804 * inspector/front-end/Popup.js: Added. 58805 (WebInspector.Popup): 58806 (WebInspector.Popup.prototype.show): 58807 (WebInspector.Popup.prototype.hide): 58808 (WebInspector.Popup.prototype.get visible): 58809 (WebInspector.Popup.prototype.set element): 58810 (WebInspector.Popup.prototype.get element): 58811 (WebInspector.Popup.prototype.positionElement): 58812 (WebInspector.Popup.prototype.set anchor): 58813 (WebInspector.Popup.prototype.get anchor): 58814 (WebInspector.Popup.prototype.set autoHide): 58815 (WebInspector.Popup.prototype._checkNotVisible): 58816 (WebInspector.Popup.prototype._keyEventHandler): 58817 (WebInspector.Popup.prototype._mouseDownEventHandler): 58818 * inspector/front-end/SourceFrame.js: 58819 (WebInspector.SourceFrame.prototype.revealLine): 58820 (WebInspector.SourceFrame.prototype._loaded): 58821 (WebInspector.SourceFrame.prototype._documentContextMenu): 58822 (WebInspector.SourceFrame.prototype._documentMouseDown): 58823 (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed): 58824 (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed): 58825 (WebInspector.SourceFrame.prototype._editBreakpointCondition): 58826 (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup): 58827 (WebInspector.SourceFrame.prototype._createPopupElement): 58828 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 58829 (WebInspector.SourceFrame.prototype._removeBreakpointFromSource): 58830 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint): 58831 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded): 58832 * inspector/front-end/WebKit.qrc: 58833 * inspector/front-end/inspector.html: 58834 * inspector/front-end/inspector.js: 58835 (WebInspector.set currentFocusElement): 58836 (WebInspector.set currentPanel): 58837 (WebInspector.loaded): 58838 (WebInspector.contextMenu): 58839 (WebInspector.elementDragStart): 58840 (WebInspector.updateResource): 58841 (WebInspector.drawLoadingPieChart): 58842 (WebInspector.linkifyURLAsNode): 58843 (WebInspector.startEditing.getContent): 58844 (WebInspector.startEditing.editingCancelled): 58845 (WebInspector.startEditing.editingCommitted): 58846 * inspector/front-end/utilities.js: 58847 (Element.prototype.positionAt): 58848 (Element.prototype.offsetRelativeToWindow): 58849 58850 2009-09-14 Brady Eidson <beidson (a] apple.com> 58851 58852 Reviewed by Darin Adler. 58853 58854 Page cache should support pages with unload handlers as an experiment. 58855 <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021 58856 58857 For the experiment, only allow pages with unload handlers into the Page Cache on 58858 Mac and Windows. 58859 58860 * loader/FrameLoader.cpp: 58861 (WebCore::FrameLoader::canCachePageContainingThisFrame): 58862 (WebCore::FrameLoader::logCanCacheFrameDecision): 58863 58864 2009-09-14 Simon Fraser <simon.fraser (a] apple.com> 58865 58866 Fix the change in r48376 to do a null-check to fix a crashing test. 58867 58868 * dom/SelectElement.cpp: 58869 (WebCore::SelectElement::menuListDefaultEventHandler): 58870 58871 2009-09-14 Simon Fraser <simon.fraser (a] apple.com> 58872 58873 Reviewed by Dan Bernstein. 58874 58875 <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() 436 58876 58877 Avoid a crash when a mouse event handler on a <select> changes the select from a popup 58878 to a list (by setting the 'size' property) inside the event handler. 58879 58880 Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html 58881 58882 * dom/SelectElement.cpp: 58883 (WebCore::SelectElement::menuListDefaultEventHandler): 58884 58885 2009-09-14 Anders Carlsson <andersca (a] apple.com> 58886 58887 Reviewed by Jon Honeycutt. 58888 58889 More PopupMenu cleanup. 58890 58891 * platform/PopupMenu.h: 58892 * platform/win/PopupMenuWin.cpp: 58893 (WebCore::PopupMenu::show): 58894 Call registerClass. 58895 58896 (WebCore::PopupMenu::registerClass): 58897 Make this a private static member function so it can refer to PopupMenuWndProc. 58898 58899 (WebCore::PopupMenu::PopupMenuWndProc): 58900 Try to get the PopupMenu and call its wndProc member function. 58901 58902 (WebCore::PopupMenu::wndProc): 58903 Make this a member function. 58904 58905 2009-09-14 Brady Eidson <beidson (a] apple.com> 58906 58907 Not reviewed, maybe should've been: 58908 58909 Cleaning up more Windows-specific fallout from the fix for: 58910 <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160 58911 58912 * platform/network/cf/ResourceHandleCFNet.cpp: 58913 (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials, 58914 as related checks all look at nullity when they really mean to be looking for emptiness. 58915 58916 2009-09-14 Anders Carlsson <andersca (a] apple.com> 58917 58918 Speculative Qt build fix. 58919 58920 * platform/qt/QWebPopup.cpp: 58921 (WebCore::QWebPopup::hidePopup): 58922 58923 2009-09-14 Dirk Pranke <dpranke (a] chromium.org> 58924 58925 Reviewed by Darin Fisher. 58926 58927 Fix RenderThemeChromiumWin::determineClassicState so that classic_state 58928 matches the state values (and you get a single classic_state value 58929 for a given {part,state} value. This change will be tested by a 58930 chromium patch that will land after this. 58931 58932 This will be tested by code landing downstream on Chromium.org; the 58933 code does not execute on webkit.org. 58934 58935 * rendering/RenderThemeChromiumWin.cpp: 58936 (WebCore::RenderThemeChromiumWin::determineClassicState): 58937 (WebCore::RenderThemeChromiumWin::getThemeData): 58938 58939 2009-09-14 Anders Carlsson <andersca (a] apple.com> 58940 58941 Reviewed by Adam Roben. 58942 58943 https://bugs.webkit.org/show_bug.cgi?id=29138 58944 Simplify popup menu handling. 58945 58946 * platform/PopupMenuClient.h: 58947 Rename hidePopup to popupDidHide. 58948 58949 * platform/chromium/PopupMenuChromium.cpp: 58950 (WebCore::PopupListBox::handleKeyEvent): 58951 (WebCore::PopupListBox::abandon): 58952 (WebCore::PopupListBox::acceptIndex): 58953 Call popupDidHide instead of hidePopup. 58954 58955 * platform/gtk/PopupMenuGtk.cpp: 58956 (WebCore::PopupMenu::menuUnmapped): 58957 Ditto. 58958 58959 * platform/mac/PopupMenuMac.mm: 58960 (WebCore::PopupMenu::show): 58961 Ditto. 58962 58963 * platform/win/PopupMenuWin.cpp: 58964 (WebCore::PopupMenu::hide): 58965 Call popupDidHide. 58966 58967 (WebCore::PopupWndProc): 58968 Call PopupMenu::hide. 58969 58970 * platform/wx/PopupMenuWx.cpp: 58971 (WebCore::PopupMenu::OnMenuItemSelected): 58972 Call popupDidHide. 58973 58974 * rendering/RenderMenuList.cpp: 58975 (WebCore::RenderMenuList::hidePopup): 58976 (WebCore::RenderMenuList::popupDidHide): 58977 * rendering/RenderMenuList.h: 58978 Set the "popup is visible" flag in popupDidHide. 58979 58980 * rendering/RenderTextControlSingleLine.cpp: 58981 (WebCore::RenderTextControlSingleLine::hidePopup): 58982 (WebCore::RenderTextControlSingleLine::popupDidHide): 58983 * rendering/RenderTextControlSingleLine.h: 58984 Ditto. 58985 58986 2009-09-14 Anders Carlsson <andersca (a] apple.com> 58987 58988 Reviewed by David Hyatt. 58989 58990 - Fix <rdar://problem/7182275>. 58991 58992 Make sure that the newly created scrollbar's style is up to date. 58993 58994 * platform/win/PopupMenuWin.cpp: 58995 (WebCore::PopupMenu::~PopupMenu): 58996 Call setParent so that the scrollbar's parts are torn down correctly. 58997 58998 (WebCore::PopupMenu::show): 58999 Call styleChanged. 59000 59001 2009-09-11 Jon Honeycutt <jhoneycutt (a] apple.com> 59002 59003 <rdar://problem/7197644> WebKit should broadcast an MSAA event when 59004 jumping to a named anchor 59005 59006 https://bugs.webkit.org/show_bug.cgi?id=28899 59007 59008 Reviewed by Adam Roben. 59009 59010 * accessibility/AXObjectCache.h: 59011 (WebCore::AXObjectCache::): 59012 Added declaration for handleScrolledToAnchor(). Added a new entry to 59013 the enum of accessibility notifications. 59014 59015 * accessibility/AccessibilityObject.cpp: 59016 (WebCore::AccessibilityObject::firstAccessibleObjectFromNode): 59017 Code moved from AccessibilityRenderObject::internalLinkElement() and 59018 refactored slightly; walks the tree until it finds a Node (with a 59019 renderer) whose accessibility is not ignored. 59020 59021 * accessibility/AccessibilityObject.h: 59022 Added a declaration for firstAccessibleObjectFromNode(). 59023 59024 * accessibility/AccessibilityRenderObject.cpp: 59025 (WebCore::AccessibilityRenderObject::internalLinkElement): 59026 Code moved to AccessibilityObject::firstAccessibleObjectFromNode(). 59027 59028 * accessibility/chromium/AXObjectCacheChromium.cpp: 59029 (WebCore::AXObjectCache::handleScrolledToAnchor): 59030 Stubbed. 59031 59032 * accessibility/gtk/AXObjectCacheAtk.cpp: 59033 (WebCore::AXObjectCache::handleScrolledToAnchor): 59034 Stubbed. 59035 59036 * accessibility/mac/AXObjectCacheMac.mm: 59037 (WebCore::AXObjectCache::postPlatformNotification): 59038 Add a default case that returns early for notifications that Mac 59039 doesn't handle. 59040 (WebCore::AXObjectCache::handleScrolledToAnchor): 59041 Stubbed. 59042 59043 * accessibility/win/AXObjectCacheWin.cpp: 59044 (WebCore::AXObjectCache::handleScrolledToAnchor): 59045 Post an AXScrolledToAnchor notification for the first accessible from 59046 the anchor Node. 59047 (WebCore::AXObjectCache::postPlatformNotification): 59048 If the notification is AXFocusedUIElementChanged, fire an 59049 EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire 59050 EVENT_SYSTEM_SCROLLINGSTART, matching Firefox. 59051 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 59052 Code moved to postPlatformNotification(). 59053 59054 * page/FrameView.cpp: 59055 (WebCore::FrameView::scrollToAnchor): 59056 Call AXObjectCache::handleScrolledToAnchor(). 59057 59058 2009-09-14 Anthony Ricaud <rik (a] webkit.org> 59059 59060 Reviewed by Timothy Hatcher. 59061 59062 Cookies are not inspectable after reloading a page 59063 https://bugs.webkit.org/show_bug.cgi?id=29222 59064 59065 Create the cookieTreeElement on initialization instead of when the view is shown. 59066 Reset the selected element of the sidebar on reset. 59067 59068 * inspector/front-end/StoragePanel.js: 59069 (WebInspector.StoragePanel): 59070 (WebInspector.StoragePanel.prototype.show): 59071 (WebInspector.StoragePanel.prototype.reset): 59072 59073 59074 2009-09-14 Brady Eidson <beidson (a] apple.com> 59075 59076 Windows build fix. 59077 59078 * platform/network/cf/ResourceHandleCFNet.cpp: 59079 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 59080 (WebCore::ResourceHandle::receivedCredential): 59081 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 59082 (WebCore::WebCoreSynchronousLoader::load): 59083 59084 2009-09-14 Brady Eidson <beidson (a] apple.com> 59085 59086 Reviewed by Alexey Proskuryakov. 59087 59088 Safari 4 cannot be used to update firmware on Linksys routers. 59089 <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160 59090 59091 In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 59092 implemented our own in WebCore. 59093 59094 One feature we lost is that CFNetwork would automatically send previously authenticated credentials 59095 with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication. 59096 59097 Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for 59098 HTTP Basic Authentication. So now WebCore's CredentialStorage will track URL paths for Basic credentials. 59099 59100 We're not making this enhancement for Digest at this time, since we don't know of anything that broke 59101 due to the change in Digest behavior. 59102 59103 Test: http/tests/loading/basic-credentials-sent-automatically.html 59104 http/tests/loading/basic-auth-resend-wrong-credentials.html 59105 59106 * WebCore.base.exp: 59107 * WebCore.vcproj/WebCore.vcproj: 59108 * WebCore.xcodeproj/project.pbxproj: 59109 59110 * platform/network/Credential.cpp: 59111 (WebCore::Credential::isEmpty): 59112 * platform/network/Credential.h: 59113 59114 Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to: 59115 * platform/network/CredentialStorage.cpp: Added. 59116 (WebCore::protectionSpaceToCredentialMap): 59117 (WebCore::originToDefaultCredentialMap): 59118 (WebCore::originStringFromURL): 59119 (WebCore::CredentialStorage::set): 59120 (WebCore::CredentialStorage::get): 59121 (WebCore::CredentialStorage::getDefaultAuthenticationCredential): 59122 * platform/network/CredentialStorage.h: Added. 59123 59124 Allow ProtectionSpace to be a hash key: 59125 * platform/network/ProtectionSpace.cpp: 59126 (WebCore::ProtectionSpace::ProtectionSpace): 59127 * platform/network/ProtectionSpace.h: 59128 (WebCore::ProtectionSpace::ProtectionSpace): 59129 (WebCore::ProtectionSpace::isHashTableDeletedValue): 59130 * platform/network/ProtectionSpaceHash.h: Added. 59131 (WebCore::ProtectionSpaceHash::hash): 59132 (WebCore::ProtectionSpaceHash::equal): 59133 59134 Allow ResourceHandles to remember the initial credential they used: 59135 * platform/network/ResourceHandleInternal.h: 59136 59137 Allow mutable ResourceRequests to update their platform object if HTTP header fields change: 59138 * platform/network/ResourceRequestBase.cpp: 59139 (WebCore::ResourceRequestBase::addHTTPHeaderField): 59140 59141 Remove WebCoreCredentialStorage: 59142 * platform/network/cf/AuthenticationCF.cpp: 59143 * platform/network/cf/AuthenticationCF.h: 59144 * platform/network/mac/AuthenticationMac.h: 59145 * platform/network/mac/AuthenticationMac.mm: 59146 59147 Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate: 59148 * platform/network/cf/ResourceHandleCFNet.cpp: 59149 (WebCore::ResourceHandle::start): 59150 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed 59151 Credential if it does not match the initially used Credential. 59152 (WebCore::ResourceHandle::receivedCredential): 59153 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed 59154 Credential if it does not match the initially used Credential. 59155 (WebCore::WebCoreSynchronousLoader::load): 59156 59157 Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate: 59158 * platform/network/mac/ResourceHandleMac.mm: 59159 (WebCore::ResourceHandle::start): 59160 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed 59161 Credential if it does not match the initially used Credential. 59162 (WebCore::ResourceHandle::receivedCredential): 59163 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 59164 ProtectionSpace key'ed Credential if it does not match the initially used Credential. 59165 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): 59166 59167 Add base64-ability to CString: 59168 * platform/text/CString.cpp: 59169 (WebCore::CStringBuffer::base64Encode): 59170 (WebCore::CString::base64Encode): 59171 * platform/text/CString.h: 59172 (WebCore::CStringBuffer::create): 59173 (WebCore::CStringBuffer::CStringBuffer): 59174 59175 2009-09-12 Mark Rowe <mrowe (a] apple.com> 59176 59177 Reviewed by Dan Bernstein. 59178 59179 Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin. 59180 59181 The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in 59182 being initialized. This can run cause arbitrary JavaScript to run and may result in the RenderPartObject 59183 being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>. 59184 59185 No test is possible until <rdar://problem/7090444> is fixed. 59186 59187 * rendering/RenderPartObject.cpp: 59188 (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization. 59189 59190 2009-09-12 Mark Rowe <mrowe (a] apple.com> 59191 59192 Reviewed by Dan Bernstein. 59193 59194 Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the 59195 duration of a function. Deploy it within RenderWidget. 59196 59197 * rendering/RenderWidget.cpp: 59198 (WebCore::RenderWidget::setWidgetGeometry): 59199 (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly 59200 ref'ing and deref'ing the node. 59201 * rendering/RenderWidget.h: 59202 * rendering/RenderWidgetProtector.h: 59203 (WebCore::RenderWidgetProtector::RenderWidgetProtector): 59204 (WebCore::RenderWidgetProtector::~RenderWidgetProtector): 59205 59206 2009-09-14 Cameron McCormack <cam (a] mcc.id.au> 59207 59208 Reviewed by Eric Seidel. 59209 59210 CodeGenerator.pm needs some cleaning up 59211 https://bugs.webkit.org/show_bug.cgi?id=29238 59212 59213 * bindings/scripts/CodeGenerator.pm: 59214 (FindParentsRecursively): Removed; its functionality is now handled in 59215 AddMethodsConstantsAndAttributesFromParentClasses. 59216 (ForAllParents): New function that visits an interface's ancestors and 59217 invokes a callback for each one. 59218 (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using 59219 ForAllParents. 59220 (GetMethodsAndAttributesFromParentClasses): Ditto. 59221 (IDLFileForInterface): Factored out previous calls to ScanDirectory into 59222 this new function, which returns the filename containing a given IDL 59223 interface definition. 59224 (ParseInterface): Simplified by using IDLFileForInterface. 59225 (ScanDirectory): Removed in lieu of IDLFileForInterface. 59226 * bindings/scripts/CodeGeneratorV8.pm: Drop call to 59227 FindParentsRecursively and get the list of parents from the 59228 AddMethodsConstantsAndAttributesFromParentClasses call instead. 59229 59230 2009-09-14 Yael Aharon <yael.aharon (a] nokia.com> 59231 59232 Reviewed by Tor Arne Vestb. 59233 59234 [Qt] Assert hit when dropping a file in QtLauncher 59235 https://bugs.webkit.org/show_bug.cgi?id=29242 59236 59237 Qt's implementation of DropData::asURL does not return a URL encoded string 59238 as expected. 59239 59240 * platform/qt/DragDataQt.cpp: 59241 (WebCore::DragData::asURL): 59242 59243 2009-09-13 Kevin Ollivier <kevino (a] theolliviers.com> 59244 59245 wx build fix, file was missed during TLS.cpp removal. 59246 59247 * page/wx/FrameWx.cpp: Added. 59248 (WebCore::Frame::dragImageForSelection): 59249 59250 2009-09-13 Anthony Ricaud <rik (a] webkit.org> 59251 59252 Reviewed by Oliver Hunt. 59253 59254 Web Inspector: Add "New Style Rule" to the localizedStrings 59255 https://bugs.webkit.org/show_bug.cgi?id=29237 59256 59257 * English.lproj/localizedStrings.js: 59258 59259 2009-09-13 Kevin Watters <kevinwatters (a] gmail.com> 59260 59261 Reviewed by Kevin Ollivier. 59262 59263 [wx] Implement filesystem functions. 59264 59265 https://bugs.webkit.org/show_bug.cgi?id=29196 59266 59267 * platform/wx/FileSystemWx.cpp: 59268 (WebCore::fileExists): 59269 (WebCore::deleteFile): 59270 (WebCore::deleteEmptyDirectory): 59271 (WebCore::getFileSize): 59272 (WebCore::getFileModificationTime): 59273 (WebCore::makeAllDirectories): 59274 (WebCore::pathByAppendingComponent): 59275 (WebCore::homeDirectoryPath): 59276 (WebCore::directoryName): 59277 59278 2009-09-12 Kevin Ollivier <kevino (a] theolliviers.com> 59279 59280 wx build fixes for wx 2.9. 59281 59282 * platform/wx/ScrollbarThemeWx.cpp: 59283 * platform/wx/wxcode/gtk/scrollbar_render.cpp: 59284 (wxGetGdkWindowForDC): 59285 59286 2009-09-12 Oliver Hunt <oliver (a] apple.com> 59287 59288 Reviewed by Maciej Stachowiak. 59289 59290 [ES5] Implement Object.keys 59291 https://bugs.webkit.org/show_bug.cgi?id=29170 59292 59293 Switch from getPropertyNames to getOwnPropertyNames, and provide custom 59294 getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper 59295 in order to ensure correct semantics are maintained. 59296 59297 Test: fast/js/Object-keys.html 59298 59299 * bindings/js/JSDOMWindowCustom.cpp: 59300 (WebCore::JSDOMWindow::getOwnPropertyNames): 59301 * bindings/js/JSDOMWindowShell.cpp: 59302 (WebCore::JSDOMWindowShell::getOwnPropertyNames): 59303 * bindings/js/JSDOMWindowShell.h: 59304 * bindings/js/JSHistoryCustom.cpp: 59305 (WebCore::JSHistory::getOwnPropertyNames): 59306 * bindings/js/JSLocationCustom.cpp: 59307 (WebCore::JSLocation::getOwnPropertyNames): 59308 * bindings/js/JSQuarantinedObjectWrapper.cpp: 59309 (WebCore::JSQuarantinedObjectWrapper::getPropertyNames): 59310 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames): 59311 * bindings/js/JSQuarantinedObjectWrapper.h: 59312 * bindings/js/JSStorageCustom.cpp: 59313 (WebCore::JSStorage::getOwnPropertyNames): 59314 * bindings/scripts/CodeGeneratorJS.pm: 59315 * bridge/runtime_object.cpp: 59316 (JSC::RuntimeObjectImp::getPropertyNames): 59317 (JSC::RuntimeObjectImp::getOwnPropertyNames): 59318 * bridge/runtime_object.h: 59319 59320 2009-09-12 Sam Weinig <sam (a] webkit.org> 59321 59322 Reviewed by Anders Carlsson. 59323 59324 Fix for https://bugs.webkit.org/show_bug.cgi?id=29219 59325 Document.elementFromPoint() should take page scroll into consideration 59326 59327 Test: fast/dom/elementFromPoint-relative-to-viewport.html 59328 59329 * dom/Document.cpp: 59330 (WebCore::Document::elementFromPoint): 59331 (WebCore::Document::caretRangeFromPoint): 59332 59333 2009-09-12 Sam Weinig <sam (a] webkit.org> 59334 59335 Reviewed by Maciej Stachowiak. 59336 59337 Fix for https://bugs.webkit.org/show_bug.cgi?id=29217 59338 Document.caretRangeFromPoint should take the scroll offset into account before hit testing 59339 59340 In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret 59341 the point passed to it as relative to the viewport, not the document. 59342 59343 Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html 59344 59345 * dom/Document.cpp: 59346 (WebCore::Document::caretRangeFromPoint): 59347 59348 2009-09-11 Chris Marrin <cmarrin (a] apple.com> 59349 59350 Reviewed by Oliver Hunt. 59351 59352 Added some manual tests to show WebGL in action 59353 https://bugs.webkit.org/show_bug.cgi?id=29215 59354 59355 * manual-tests/webgl: Added. 59356 * manual-tests/webgl/Earth.html: Added. 59357 * manual-tests/webgl/ManyPlanetsDeep.html: Added. 59358 * manual-tests/webgl/SpinningBox.html: Added. 59359 * manual-tests/webgl/TeapotPerPixel.html: Added. 59360 * manual-tests/webgl/TeapotPerVertex.html: Added. 59361 * manual-tests/webgl/resources: Added. 59362 * manual-tests/webgl/resources/CanvasMatrix.js: Added. 59363 * manual-tests/webgl/resources/earthmap1k.jpg: Added. 59364 * manual-tests/webgl/resources/mars500x250.png: Added. 59365 * manual-tests/webgl/resources/teapot.obj: Added. 59366 * manual-tests/webgl/resources/utils3d.js: Added. 59367 59368 2009-09-10 Chris Fleizach <cfleizach (a] apple.com> 59369 59370 Reviewed by Darin Adler. 59371 59372 aria definition role spelled wrong "defintion" 59373 https://bugs.webkit.org/show_bug.cgi?id=28840 59374 59375 Test: accessibility/aria-slider-value-change.html 59376 59377 * accessibility/AccessibilityRenderObject.cpp: 59378 (WebCore::RoleEntry::): 59379 59380 2009-09-11 Erik Arvidsson <arv (a] chromium.org> 59381 59382 Reviewed by Eric Seidel. 59383 59384 Fixes an assert in Node::isFocusable which was causing crashes in certain cases. 59385 https://bugs.webkit.org/show_bug.cgi?id=29210 59386 59387 * dom/Node.cpp: 59388 (WebCore::Node::isFocusable): 59389 59390 2009-09-11 Chris Marrin <cmarrin (a] apple.com> 59391 59392 Reviewed by Oliver Hunt. 59393 59394 Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray 59395 https://bugs.webkit.org/show_bug.cgi?id=29139 59396 59397 I also added a data() call to each of the CanvasArray subclasses to give back a types pointer 59398 to the baseAddress(). 59399 59400 * Configurations/FeatureDefines.xcconfig: 59401 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: 59402 (WebCore::toArray): 59403 (WebCore::): 59404 (WebCore::dataFunctionf): 59405 (WebCore::dataFunctioni): 59406 (WebCore::dataFunctionMatrix): 59407 (WebCore::JSCanvasRenderingContext3D::uniform1fv): 59408 (WebCore::JSCanvasRenderingContext3D::uniform1iv): 59409 (WebCore::JSCanvasRenderingContext3D::uniform2fv): 59410 (WebCore::JSCanvasRenderingContext3D::uniform2iv): 59411 (WebCore::JSCanvasRenderingContext3D::uniform3fv): 59412 (WebCore::JSCanvasRenderingContext3D::uniform3iv): 59413 (WebCore::JSCanvasRenderingContext3D::uniform4fv): 59414 (WebCore::JSCanvasRenderingContext3D::uniform4iv): 59415 (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv): 59416 (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv): 59417 (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv): 59418 (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv): 59419 (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv): 59420 (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv): 59421 (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv): 59422 * html/canvas/CanvasByteArray.h: 59423 (WebCore::CanvasByteArray::data): 59424 * html/canvas/CanvasFloatArray.h: 59425 (WebCore::CanvasFloatArray::data): 59426 * html/canvas/CanvasIntArray.h: 59427 (WebCore::CanvasIntArray::data): 59428 * html/canvas/CanvasRenderingContext3D.cpp: 59429 (WebCore::CanvasRenderingContext3D::uniform1fv): 59430 (WebCore::CanvasRenderingContext3D::uniform1iv): 59431 (WebCore::CanvasRenderingContext3D::uniform2fv): 59432 (WebCore::CanvasRenderingContext3D::uniform2iv): 59433 (WebCore::CanvasRenderingContext3D::uniform3fv): 59434 (WebCore::CanvasRenderingContext3D::uniform3iv): 59435 (WebCore::CanvasRenderingContext3D::uniform4fv): 59436 (WebCore::CanvasRenderingContext3D::uniform4iv): 59437 (WebCore::CanvasRenderingContext3D::uniformMatrix2fv): 59438 (WebCore::CanvasRenderingContext3D::uniformMatrix3fv): 59439 (WebCore::CanvasRenderingContext3D::uniformMatrix4fv): 59440 (WebCore::CanvasRenderingContext3D::vertexAttrib1fv): 59441 (WebCore::CanvasRenderingContext3D::vertexAttrib2fv): 59442 (WebCore::CanvasRenderingContext3D::vertexAttrib3fv): 59443 (WebCore::CanvasRenderingContext3D::vertexAttrib4fv): 59444 * html/canvas/CanvasRenderingContext3D.h: 59445 * html/canvas/CanvasRenderingContext3D.idl: 59446 * html/canvas/CanvasShortArray.h: 59447 (WebCore::CanvasShortArray::data): 59448 * html/canvas/CanvasUnsignedByteArray.h: 59449 (WebCore::CanvasUnsignedByteArray::data): 59450 * html/canvas/CanvasUnsignedIntArray.h: 59451 (WebCore::CanvasUnsignedIntArray::data): 59452 * html/canvas/CanvasUnsignedShortArray.h: 59453 (WebCore::CanvasUnsignedShortArray::data): 59454 * platform/graphics/GraphicsContext3D.h: 59455 * platform/graphics/mac/GraphicsContext3DMac.cpp: 59456 (WebCore::GraphicsContext3D::uniform1fv): 59457 (WebCore::GraphicsContext3D::uniform2fv): 59458 (WebCore::GraphicsContext3D::uniform3fv): 59459 (WebCore::GraphicsContext3D::uniform4fv): 59460 (WebCore::GraphicsContext3D::uniform1iv): 59461 (WebCore::GraphicsContext3D::uniform2iv): 59462 (WebCore::GraphicsContext3D::uniform3iv): 59463 (WebCore::GraphicsContext3D::uniform4iv): 59464 (WebCore::GraphicsContext3D::uniformMatrix2fv): 59465 (WebCore::GraphicsContext3D::uniformMatrix3fv): 59466 (WebCore::GraphicsContext3D::uniformMatrix4fv): 59467 (WebCore::GraphicsContext3D::vertexAttrib1fv): 59468 (WebCore::GraphicsContext3D::vertexAttrib2fv): 59469 (WebCore::GraphicsContext3D::vertexAttrib3fv): 59470 (WebCore::GraphicsContext3D::vertexAttrib4fv): 59471 59472 2009-09-11 Fumitoshi Ukai <ukai (a] chromium.org> 59473 59474 Reviewed by Eric Seidel. 59475 59476 Add ENABLE(WEB_SOCKETS) guards. 59477 https://bugs.webkit.org/show_bug.cgi?id=29174 59478 59479 * bindings/v8/custom/V8WebSocketCustom.cpp: 59480 59481 2009-09-11 Eric Seidel <eric (a] webkit.org> 59482 59483 No review, rolling out r48229. 59484 http://trac.webkit.org/changeset/48229 59485 59486 * WebCore.base.exp: 59487 * dom/Clipboard.cpp: 59488 (WebCore::Clipboard::Clipboard): 59489 (WebCore::Clipboard::sourceOperation): 59490 * page/DragController.cpp: 59491 (WebCore::DragController::DragController): 59492 (WebCore::DragController::dragExited): 59493 (WebCore::DragController::performDrag): 59494 (WebCore::DragController::dragEnteredOrUpdated): 59495 (WebCore::DragController::tryDHTMLDrag): 59496 (WebCore::DragController::startDrag): 59497 * page/DragController.h: 59498 * page/EventHandler.cpp: 59499 (WebCore::EventHandler::updateDragAndDrop): 59500 (WebCore::EventHandler::dragSourceMovedTo): 59501 (WebCore::EventHandler::handleDrag): 59502 * page/EventHandler.h: 59503 59504 2009-09-11 Michelangelo De Simone <micdesim (a] gmail.com> 59505 59506 Fix the build. 59507 59508 * html/ValidityState.cpp: 59509 (WebCore::ValidityState::typeMismatch): 59510 59511 2009-09-11 Michelangelo De Simone <micdesim (a] gmail.com> 59512 59513 Reviewed by Antti Koivisto. 59514 59515 https://bugs.webkit.org/show_bug.cgi?id=27456 59516 Added support for static validation of url in 59517 ValidityState, for url state inputs. 59518 From HTML5 specs: 59519 http://www.whatwg.org/specs/web-apps/current-work/#url-state 59520 59521 Test: fast/forms/ValidityState-typeMismatch-url.html 59522 59523 * html/ValidityState.cpp: 59524 (WebCore::ValidityState::typeMismatch): 59525 59526 2009-09-11 Evan Stade <estade (a] chromium.org> 59527 59528 Reviewed by Darin Adler. 59529 59530 Revert r47992: Expose functions to change the focus ring color for 59531 Linux Chromium. 59532 59533 As Darin Fisher has pointed out, there is a better way to do this. 59534 59535 * rendering/RenderThemeChromiumLinux.cpp: 59536 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux): 59537 * rendering/RenderThemeChromiumLinux.h: 59538 59539 2009-09-11 Alexey Proskuryakov <ap (a] webkit.org> 59540 59541 Reviewed by Geoff Garen. 59542 59543 https://bugs.webkit.org/show_bug.cgi?id=29207 59544 Add checks for using WebCore JS context on secondary threads 59545 59546 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): 59547 Set the new debug-only mainThreadOnly flag. 59548 59549 2009-09-11 Brian Weinstein <bweinstein (a] apple.com> 59550 59551 Reviewed by Timothy Hatcher. 59552 59553 The inspector should have scope bars. 59554 https://bugs.webkit.org/show_bug.cgi?id=14353 59555 59556 Add scope bars to the console, so the user can choose which category 59557 of messages they want to see (All, Errors, Warnings, Logs), and they 59558 can choose from one or more of {Errors, Warnings, Logs}. 59559 59560 * inspector/front-end/ConsoleView.js: 59561 (WebInspector.ConsoleView.createFilterElement): 59562 (WebInspector.ConsoleView): 59563 (WebInspector.ConsoleView.prototype._updateFilter): 59564 (WebInspector.ConsoleView.prototype.filter): 59565 (WebInspector.ConsoleView.prototype.attach): 59566 * inspector/front-end/inspector.css: 59567 * inspector/front-end/inspector.html: 59568 59569 2009-09-11 Yusuke Sato <yusukes (a] chromium.org> 59570 59571 Reviewed by Darin Fisher. 59572 59573 [Chromium] Complex text doesn't show up with text stroking 59574 https://bugs.webkit.org/show_bug.cgi?id=28707 59575 59576 Added extra NULL checks for HDC. This is the second fix for issue 28707, 59577 and the fix is similar to http://trac.webkit.org/changeset/45482. 59578 59579 * platform/graphics/chromium/FontChromiumWin.cpp: 59580 (WebCore::Font::drawComplexText): 59581 * platform/graphics/chromium/UniscribeHelper.cpp: 59582 (WebCore::UniscribeHelper::draw): 59583 59584 2009-09-11 Cameron McCormack <cam (a] mcc.id.au> 59585 59586 Reviewed by Eric Seidel. 59587 59588 Make ElementTimeControl methods return void and not throw. 59589 https://bugs.webkit.org/show_bug.cgi?id=28831 59590 59591 SVG 1.1 erratum: 59592 http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface 59593 59594 Test: svg/dom/smil-methods.svg 59595 59596 * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument. 59597 * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus. 59598 * svg/SVGAnimationElement.cpp: 59599 (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument. 59600 (WebCore::SVGAnimationElement::beginElementAt): Ditto. 59601 (WebCore::SVGAnimationElement::endElement): Ditto. 59602 (WebCore::SVGAnimationElement::endElementAt): Ditto. 59603 * svg/SVGAnimationElement.h: Ditto. 59604 59605 2009-09-11 Chris Marrin <cmarrin (a] apple.com> 59606 59607 Reviewed by Oliver Hunt. 59608 59609 Added support for texImage2D which takes CanvasArray 59610 https://bugs.webkit.org/show_bug.cgi?id=29191 59611 59612 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: 59613 (WebCore::JSCanvasRenderingContext3D::texImage2D): 59614 * platform/graphics/mac/GraphicsContext3DMac.cpp: 59615 (WebCore::GraphicsContext3D::texImage2D): 59616 59617 2009-09-11 Steve Falkenburg <sfalken (a] apple.com> 59618 59619 Reviewed by Darin Adler. 59620 59621 Allow WebKit clients to opt out of high resolution timers on Windows. 59622 https://bugs.webkit.org/show_bug.cgi?id=29192 59623 59624 * page/Settings.cpp: 59625 (WebCore::Settings::setShouldUseHighResolutionTimers): Added. 59626 * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers. 59627 (WebCore::Settings::shouldUseHighResolutionTimers): Added. 59628 * platform/win/SharedTimerWin.cpp: 59629 (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled. 59630 59631 2009-09-11 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 59632 59633 Reviewed by Adam Barth. 59634 59635 [v8] Share persistent context handles between events 59636 Change events to use a single ref-counted shared persistent handle 59637 to the context in which to run, rather than create a new 59638 persistent handle for each new event which puts pressure on the 59639 gc. 59640 59641 https://bugs.webkit.org/show_bug.cgi?id=29077 59642 59643 * bindings/v8/ScheduledAction.cpp: 59644 (WebCore::ScheduledAction::execute): 59645 * bindings/v8/SharedPersistent.h: Added. 59646 (WebCore::SharedPersistent::set): 59647 (WebCore::SharedPersistent::get): 59648 (WebCore::SharedPersistent::disposeHandle): 59649 (WebCore::SharedPersistent::create): 59650 (WebCore::SharedPersistent::SharedPersistent): 59651 * bindings/v8/V8AbstractEventListener.cpp: 59652 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 59653 (WebCore::V8AbstractEventListener::handleEvent): 59654 * bindings/v8/V8AbstractEventListener.h: 59655 * bindings/v8/V8IsolatedWorld.cpp: 59656 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 59657 (WebCore::V8IsolatedWorld::~V8IsolatedWorld): 59658 * bindings/v8/V8IsolatedWorld.h: 59659 (WebCore::V8IsolatedWorld::context): 59660 (WebCore::V8IsolatedWorld::shared_context): 59661 * bindings/v8/V8Proxy.cpp: 59662 (WebCore::V8Proxy::evaluateInNewContext): 59663 (WebCore::V8Proxy::createWrapperFromCacheSlowCase): 59664 (WebCore::V8Proxy::isContextInitialized): 59665 (WebCore::V8Proxy::updateDocumentWrapperCache): 59666 (WebCore::V8Proxy::clearDocumentWrapperCache): 59667 (WebCore::V8Proxy::disposeContextHandles): 59668 (WebCore::V8Proxy::clearForClose): 59669 (WebCore::V8Proxy::clearForNavigation): 59670 (WebCore::V8Proxy::setSecurityToken): 59671 (WebCore::V8Proxy::updateDocument): 59672 (WebCore::V8Proxy::initContextIfNeeded): 59673 (WebCore::V8Proxy::shared_context): 59674 (WebCore::V8Proxy::mainWorldContext): 59675 (WebCore::V8Proxy::setContextDebugId): 59676 * bindings/v8/V8Proxy.h: 59677 (WebCore::V8Proxy::V8Proxy): 59678 (WebCore::V8Proxy::context): 59679 (WebCore::V8Proxy::shared_context): 59680 59681 2009-09-11 Anton Muhin <antonm (a] chromium.org> 59682 59683 Reviewed by David Levin. 59684 59685 Create a real handle (one which would save an object from GC). 59686 https://bugs.webkit.org/show_bug.cgi?id=29150 59687 59688 * bindings/v8/V8Binding.cpp: 59689 (WebCore::v8ExternalString): 59690 59691 2009-09-11 Anton Muhin <antonm (a] chromium.org> 59692 59693 Reviewed by David Levin. 59694 59695 Inline WebCore::v8String as it only invokes WebCore::v8ExternalString. 59696 https://bugs.webkit.org/show_bug.cgi?id=29152 59697 59698 * bindings/v8/V8Binding.cpp: 59699 * bindings/v8/V8Binding.h: 59700 (WebCore::v8String): 59701 59702 2009-09-11 Ariya Hidayat <ariya.hidayat (a] nokia.com> 59703 59704 Reviewed by Simon Hausmann. 59705 59706 Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general 59707 renaming. 59708 59709 * ChangeLog-2009-06-16: 59710 59711 2009-09-11 Thiago Macieira <thiago.macieira (a] nokia.com> 59712 59713 Reviewed by Simon Hausmann. 59714 59715 Use LIBS_PRIVATE on Qt/Mac. 59716 59717 On the Mac, it means "-framework ApplicationServices -framework Carbon 59718 -framework AppKit" are no longer part of the default LIBS in Qt 59719 applications. This required a lot of fixes where we used Mac-specific 59720 code in Qt. 59721 59722 * WebCore.pro: 59723 59724 2009-09-11 Cameron McCormack <cam (a] mcc.id.au> 59725 59726 Reviewed by Eric Seidel. 59727 59728 Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm 59729 https://bugs.webkit.org/show_bug.cgi?id=29165 59730 59731 * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and 59732 WK_lcfirst, and call the ones in CodeGenerator.pm instead. 59733 59734 2009-09-11 Yongjun Zhang <yongjun.zhang (a] nokia.com> 59735 59736 Reviewed by Darin Adler. 59737 59738 https://bugs.webkit.org/show_bug.cgi?id=29132 59739 Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp. 59740 59741 Add RegularExpression class qualifier before Private. 59742 59743 * platform/text/RegularExpression.cpp: 59744 59745 2009-09-11 Yongjun Zhang <yongjun.zhang (a] nokia.com> 59746 59747 Reviewed by Darin Adler. 59748 59749 https://bugs.webkit.org/show_bug.cgi?id=29131 59750 Use a different variadic macro format for Symbian compiler. 59751 59752 Use arg... instead of ellipsis in variadic macro. 59753 59754 * platform/StaticConstructors.h: 59755 59756 2009-09-11 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 59757 59758 Reviewed by Simon Hausmann. 59759 59760 https://bugs.webkit.org/show_bug.cgi?id=28806 59761 59762 [Qt] Make the WebInspector available as a QWidget. 59763 59764 * WebCore.pro: 59765 59766 2009-09-11 Simon Hausmann <simon.hausmann (a] nokia.com> 59767 59768 Unreviewed fix for the Web Inspector with the Qt build. 59769 59770 Re-generate the Qt resource file by running 59771 WebKitTools/Scripts/generate-qt-inspector-resource 59772 59773 * inspector/front-end/WebKit.qrc: 59774 59775 2009-09-11 Simon Hausmann <simon.hausmann (a] nokia.com> 59776 59777 Fix the Qt build, remove stray semicolon from function definition. 59778 59779 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 59780 (WebCore::MediaPlayerPrivate::buffered): 59781 59782 2009-09-10 Adam Barth <abarth (a] webkit.org> 59783 59784 Reviewed by Sam Weinig. 59785 59786 Detect mixed content 59787 https://bugs.webkit.org/show_bug.cgi?id=29003 59788 59789 Detect some basic kinds of mixed content (HTTP content loaded into an 59790 HTTPS context). This new detection logic isn't perfect, but it's a 59791 place to start. 59792 59793 Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html 59794 http/tests/security/mixedContent/data-url-iframe-in-main-frame.html 59795 http/tests/security/mixedContent/data-url-script-in-iframe.html 59796 http/tests/security/mixedContent/insecure-css-in-iframe.html 59797 http/tests/security/mixedContent/insecure-css-in-main-frame.html 59798 http/tests/security/mixedContent/insecure-iframe-in-iframe.html 59799 http/tests/security/mixedContent/insecure-iframe-in-main-frame.html 59800 http/tests/security/mixedContent/insecure-image-in-iframe.html 59801 http/tests/security/mixedContent/insecure-image-in-main-frame.html 59802 http/tests/security/mixedContent/insecure-script-in-iframe.html 59803 http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html 59804 http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html 59805 http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html 59806 http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html 59807 59808 * loader/DocLoader.cpp: 59809 (WebCore::DocLoader::canRequest): 59810 (WebCore::DocLoader::requestResource): 59811 (WebCore::DocLoader::checkCacheObjectStatus): 59812 * loader/FrameLoader.cpp: 59813 (WebCore::FrameLoader::isMixedContent): 59814 (WebCore::FrameLoader::checkIfDisplayInsecureContent): 59815 (WebCore::FrameLoader::checkIfRunInsecureContent): 59816 * loader/FrameLoader.h: 59817 * loader/MainResourceLoader.cpp: 59818 (WebCore::MainResourceLoader::willSendRequest): 59819 59820 2009-09-10 Mark Rowe <mrowe (a] apple.com> 59821 59822 Fix the Windows build. 59823 59824 Restore platform/mock to the header search path after it was removed in r48270. 59825 59826 * WebCore.vcproj/WebCoreCommon.vsprops: 59827 59828 2009-09-08 Timothy Hatcher <timothy (a] apple.com> 59829 59830 Web Inspector: Move the option to create a new style rule under the Styles' gear menu. 59831 59832 https://bugs.webkit.org/show_bug.cgi?id=29039 59833 59834 Reviewed by Sam Weinig. 59835 59836 * inspector/front-end/StylesSidebarPane.js: 59837 (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu. 59838 (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead. 59839 (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected 59840 while calling the correct action. 59841 (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector. 59842 (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way. 59843 (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section. 59844 (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node. 59845 (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank. 59846 (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector 59847 is remembered by the editing code. 59848 (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already 59849 restored by the editing code. 59850 (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data. 59851 Remove event listener code. 59852 (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding. 59853 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the 59854 WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled. 59855 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to 59856 override the base class. 59857 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section. 59858 (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines 59859 since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at 59860 the end to correctly swtich to a real StylePropertiesSection. 59861 * inspector/front-end/inspector.js: 59862 (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks. 59863 (WebInspector.startEditing.editingCommitted): Ditto. 59864 59865 2009-09-10 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 59866 59867 Reviewed by Eric Seidel. 59868 59869 [Qt] Fix comparison between signed and unsigned integer warnings 59870 https://bugs.webkit.org/show_bug.cgi?id=29162 59871 59872 No functional change. 59873 59874 * bridge/qt/qt_runtime.cpp: 59875 (JSC::Bindings::findMethodIndex): 59876 * platform/MIMETypeRegistry.cpp: 59877 (WebCore::initializeSupportedImageMIMETypes): 59878 (WebCore::initializeSupportedImageMIMETypesForEncoding): 59879 * platform/graphics/qt/GraphicsContextQt.cpp: 59880 (WebCore::GraphicsContext::drawFocusRing): 59881 * platform/graphics/qt/ImageDecoderQt.cpp: 59882 (WebCore::ImageDecoderQt::duration): 59883 (WebCore::ImageDecoderQt::imageAtIndex): 59884 * plugins/qt/PluginPackageQt.cpp: 59885 (WebCore::PluginPackage::fetchInfo): 59886 59887 2009-09-10 Martin Robinson <martin.james.robinson (a] gmail.com> 59888 59889 Reviewed by Gustavo Noronha. 59890 59891 Build fix for GTKafter r48267. 59892 59893 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 59894 (WebCore::MediaPlayerPrivate::buffered): 59895 59896 2009-09-08 John Abd-El-Malek <jam (a] chromium.org> 59897 59898 Reviewed by Dimitri Glazkov. 59899 59900 Remove unneeded define for ActiveX. 59901 https://bugs.webkit.org/show_bug.cgi?id=29054 59902 59903 * rendering/RenderPartObject.cpp: 59904 (WebCore::createClassIdToTypeMap): 59905 (WebCore::serviceTypeForClassId): 59906 (WebCore::RenderPartObject::updateWidget): 59907 59908 2009-09-10 Mark Rowe <mrowe (a] apple.com> 59909 59910 Rubber-stamped by Sam Weinig. 59911 59912 Don't copy IDL files in to the built framework. 59913 59914 * WebCore.xcodeproj/project.pbxproj: 59915 59916 2009-09-10 Xiaomei Ji <xji (a] chromium.org> 59917 59918 Reviewed by Eric Seidel. 59919 59920 Implment Range.expand(). 59921 https://bugs.webkit.org/show_bug.cgi?id=27632 59922 59923 Test: fast/dom/Range/range-expand.html 59924 59925 * dom/Range.cpp: 59926 (WebCore::Range::expand): 59927 * dom/Range.h: 59928 * dom/Range.idl: 59929 59930 2009-09-10 Fumitoshi Ukai <ukai (a] chromium.org> 59931 59932 Reviewed by Alexey Proskuryakov. 59933 59934 WebSocket API implementation. 59935 https://bugs.webkit.org/show_bug.cgi?id=28038 59936 59937 Add build systems for GNUmakefile.am, WebCore.xcodeproj and 59938 WebCore.vcproj. 59939 Add websockets directory and WebSocket.idl in qt build system. 59940 Tests will be landed once the code is completed and functional. 59941 59942 * DerivedSources.cpp: 59943 * GNUmakefile.am: 59944 * WebCore.pro: 59945 * WebCore.vcproj/WebCore.vcproj: 59946 * WebCore.vcproj/WebCoreCommon.vsprops: 59947 * WebCore.xcodeproj/project.pbxproj: 59948 * bindings/js/JSDOMWindowCustom.cpp: 59949 (WebCore::JSDOMWindow::webSocket): 59950 * bindings/js/JSEventTarget.cpp: 59951 (WebCore::toJS): 59952 (WebCore::toEventTarget): 59953 * dom/EventTarget.cpp: 59954 (WebCore::EventTarget::toWebSocket): 59955 * dom/EventTarget.h: 59956 * page/DOMWindow.idl: 59957 * websockets/WebSocket.cpp: 59958 (WebCore::ProcessWebSocketEventTask::create): 59959 (WebCore::ProcessWebSocketEventTask::performTask): 59960 (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask): 59961 (WebCore::isValidProtocolString): 59962 (WebCore::WebSocket::connect): 59963 (WebCore::WebSocket::send): 59964 (WebCore::WebSocket::close): 59965 (WebCore::WebSocket::bufferedAmount): 59966 (WebCore::WebSocket::addEventListener): 59967 (WebCore::WebSocket::removeEventListener): 59968 (WebCore::WebSocket::dispatchEvent): 59969 (WebCore::WebSocket::didConnect): 59970 (WebCore::WebSocket::didReceiveMessage): 59971 (WebCore::WebSocket::didClose): 59972 (WebCore::WebSocket::dispatchOpenEvent): 59973 (WebCore::WebSocket::dispatchMessageEvent): 59974 (WebCore::WebSocket::dispatchCloseEvent): 59975 * websockets/WebSocket.h: 59976 (WebCore::WebSocket::create): 59977 (WebCore::WebSocket::): 59978 (WebCore::WebSocket::setOnopen): 59979 (WebCore::WebSocket::onopen): 59980 (WebCore::WebSocket::setOnmessage): 59981 (WebCore::WebSocket::onmessage): 59982 (WebCore::WebSocket::setOnclose): 59983 (WebCore::WebSocket::onclose): 59984 (WebCore::WebSocket::toWebSocket): 59985 (WebCore::WebSocket::eventListeners): 59986 (WebCore::WebSocket::refEventTarget): 59987 (WebCore::WebSocket::derefEventTarget): 59988 * websockets/WebSocketChannel.cpp: Added. 59989 * websockets/WebSocketChannel.h: Added. 59990 * websockets/WebSocketChannelClient.h: Added. 59991 * websockets/WebSocketHandshake.cpp: Added. 59992 * websockets/WebSocketHandshake.h: Added. 59993 59994 2009-09-10 Albert J. Wong <ajwong (a] chromium.org> 59995 59996 No review, windows build fix only. 59997 59998 Spurious semicolon causing parse error in chromium build on windows. 59999 60000 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 60001 (WebCore::MediaPlayerPrivate::buffered): 60002 60003 2009-09-10 Albert J. Wong <ajwong (a] chromium.org> 60004 60005 No review, build fix only. 60006 60007 Adding in a missed include from the last patch that is breaking the 60008 chromium build. 60009 60010 * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h 60011 60012 2009-09-10 Alpha Lam <hclam (a] chromium.org> 60013 60014 Reviewed by Eric Carlson. 60015 60016 HTMLMediaElement buffered attribute should report a list of time ranges 60017 https://bugs.webkit.org/show_bug.cgi?id=29041 60018 60019 Changed MediaPlayerPrivateInterface and MediaPlayer's definition to 60020 report a list of buffered time ranges as WebCore::TimeRanges. This 60021 change also got rid of the maxTimeBuffered() method. 60022 60023 No new tests since this is a API change. 60024 60025 * html/HTMLMediaElement.cpp: 60026 (WebCore::HTMLMediaElement::percentLoaded): 60027 Use MediaPlaier::buffered() instead of maxTimeBuffered(). 60028 (WebCore::HTMLMediaElement::buffered): 60029 ditto. 60030 * platform/graphics/MediaPlayer.cpp: 60031 (WebCore::NullMediaPlayerPrivate::buffered): 60032 Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered(). 60033 (WebCore::MediaPlayer::buffered): 60034 ditto. 60035 * platform/graphics/MediaPlayer.h: 60036 Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered(). 60037 * platform/graphics/MediaPlayerPrivate.h: 60038 ditto. 60039 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 60040 Implements PassRefPtr<TimeRanges> buffered(); 60041 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 60042 Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered(). 60043 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 60044 Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered(). 60045 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 60046 (WebCore::MediaPlayerPrivate::buffered): 60047 Implementation of buffered(). 60048 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 60049 Implements PassRefPtr<TimeRanegs> buffered(). 60050 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 60051 Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered(). 60052 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 60053 Implements PassRefPtr<TimeRanges> buffered(). 60054 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 60055 Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered(). 60056 * platform/graphics/wince/MediaPlayerPrivateWince.h: 60057 ditto. 60058 * rendering/RenderThemeChromiumMac.mm: 60059 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 60060 Use buffered() instead of maxTimeBuffered(). 60061 * rendering/RenderThemeChromiumSkia.cpp: 60062 ditto. 60063 * rendering/RenderThemeMac.mm: 60064 (WebCore::RenderThemeMac::paintMediaSliderTrack): 60065 ditto. 60066 60067 2009-09-10 Cameron McCormack <cam (a] mcc.id.au> 60068 60069 Reviewed by Eric Seidel. 60070 60071 Make bindings generators more aware of IDL dependencies 60072 https://bugs.webkit.org/show_bug.cgi?id=29114 60073 60074 Make the JS and ObjC bindings generators able to output dependency 60075 rules for DerivedSources.make to consume. These rules make a given 60076 generated binding class file header, JSWhatever.h, depend on Whatever's 60077 ancestor interfaces. 60078 60079 * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl 60080 when generating JS and ObjC bindings. Include dependency fies that are 60081 generated due to that. 60082 * bindings/scripts/CodeGenerator.pm: Make 60083 AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of 60084 the ancestor interfaces that were visited. 60085 * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency 60086 file. 60087 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 60088 * bindings/scripts/generate-bindings.pl: Add a --write-dependencies 60089 option. 60090 60091 2009-09-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 60092 60093 Reviewed by Xan Lopez and Dan Winship. 60094 60095 Give all requests to libsoup, to let it queue, and schedule them 60096 itself, instead of throttling the number of requests in WebCore. 60097 60098 * platform/network/ResourceRequestBase.cpp: 60099 * platform/network/soup/ResourceRequestSoup.cpp: 60100 (WebCore::initializeMaximumHTTPConnectionCountPerHost): 60101 60102 2009-09-10 Jian Li <jianli (a] chromium.org> 60103 60104 Reviewed by Eric Seidel. 60105 60106 [V8] Make XMLHttpRequest.send handle File object. 60107 https://bugs.webkit.org/show_bug.cgi?id=28924 60108 60109 Test: http/tests/local/send-dragged-file.html 60110 60111 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 60112 (WebCore::CALLBACK_FUNC_DECL): 60113 60114 2009-09-10 Zoltan Horvath <zoltan (a] webkit.org> 60115 60116 Reviewed by Darin Adler. 60117 60118 Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 60119 https://bugs.webkit.org/show_bug.cgi?id=25930 60120 60121 Change using of operator new to fastNew and operator delete to 60122 fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call. 60123 60124 This change fixes valgrind's 'mismatched free' notification. 60125 60126 * css/CSSParser.cpp: 60127 (WebCore::CSSParser::~CSSParser): 60128 (WebCore::CSSParser::createFloatingSelector): 60129 * css/CSSSelectorList.cpp: 60130 (WebCore::CSSSelectorList::adoptSelectorVector): 60131 60132 2009-09-10 Steve Block <steveblock (a] google.com> 60133 60134 Reviewed by Darin Adler. 60135 60136 Geolocation does not correctly handle reentrant calls from callbacks. 60137 https://bugs.webkit.org/show_bug.cgi?id=29040 60138 60139 Tests: fast/dom/Geolocation/reentrant-error.html 60140 fast/dom/Geolocation/reentrant-success.html 60141 60142 * page/Geolocation.cpp: Modified. 60143 (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback. 60144 (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback. 60145 * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods. 60146 60147 2009-09-10 Erik Arvidsson <arv (a] chromium.org> 60148 60149 Reviewed by Eric Seidel. 60150 60151 Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused. 60152 https://bugs.webkit.org/show_bug.cgi?id=27105 60153 60154 Test: fast/events/blur-focus-window-should-blur-focus-element.html 60155 60156 * page/FocusController.cpp: 60157 (WebCore::dispatchEventsOnWindowAndFocusedNode): 60158 (WebCore::FocusController::setFocused): 60159 (WebCore::FocusController::setActive): 60160 60161 2009-09-10 Adam Roben <aroben (a] apple.com> 60162 60163 Make the play/pause button in <video> controls indicate the button's 60164 action, not the movie state 60165 60166 This matches the Mac behavior, iTunes, and many other media players. 60167 60168 No test possible. 60169 60170 Fixes <http://webkit.org/b/29126> Play/pause button in <video> 60171 controls shows the wrong image 60172 60173 Reviewed by Eric Carlson. 60174 60175 * rendering/RenderMediaControls.cpp: 60176 (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when 60177 we show the play vs. pause artwork, so that the button reflects what 60178 will happen when you click it, rather than the current state of the 60179 movie. 60180 60181 2009-09-09 Steve Block <steveblock (a] google.com> 60182 60183 Reviewed by Maciej Stachowiak. 60184 60185 Geolocation Coordinates::toString() prints bogus values for unspecified properties. 60186 https://bugs.webkit.org/show_bug.cgi?id=29080 60187 60188 Test: fast/dom/Geolocation/position-string.html 60189 60190 * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60191 * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60192 * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60193 * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60194 * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60195 * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp. 60196 * page/Coordinates.cpp: Removed. 60197 * page/Coordinates.h: Modified. Removes toString method. 60198 * page/Coordinates.idl: Modified. Removes toString method. 60199 * page/Geoposition.cpp: Removed. 60200 * page/Geoposition.h: Modified. Removes toString method. 60201 * page/Geoposition.idl: Modified. Removes toString method. 60202 60203 2009-09-09 Steve Block <steveblock (a] google.com> 60204 60205 Reviewed by Adam Barth. 60206 60207 Correctly applies the Geolocation timeout property. 60208 https://bugs.webkit.org/show_bug.cgi?id=27256 60209 60210 If a timeout is specified, the timer is started as soon as the location acquistion process starts. 60211 If a position fix is not obtained within the timeout interval, the position request is cancelled 60212 and the error callback (if specified) is invoked. If a position fix is obtained within the timeout 60213 interval, the timer is stopped. Permissions are then requested from the user if required. See 60214 http://www.w3.org/TR/geolocation-API/#position-options. 60215 60216 Note that this logic means that the time required to obtain permissions from the user is not 60217 included in the timeout interval. 60218 60219 Tests: fast/dom/Geolocation/timeout.html 60220 fast/dom/Geolocation/timeout-zero.html 60221 60222 * page/Geolocation.cpp: Modified. 60223 (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter. 60224 (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout. 60225 (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified. 60226 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object. 60227 (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process. 60228 (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process. 60229 (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out. 60230 (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers. 60231 (WebCore::Geolocation::sendPosition): Modified. No longer stops timers. 60232 (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers. 60233 (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots. 60234 (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers. 60235 (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests. 60236 (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests. 60237 * page/Geolocation.h: Modified. 60238 (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter. 60239 60240 2009-09-09 Chris Fleizach <cfleizach (a] apple.com> 60241 60242 AX notifications should be an ENUM type instead of strings 60243 https://bugs.webkit.org/show_bug.cgi?id=28963 60244 60245 Build fix for Qt. 60246 60247 * accessibility/AXObjectCache.h: 60248 (WebCore::AXObjectCache::postNotification): 60249 (WebCore::AXObjectCache::postPlatformNotification): 60250 60251 2009-09-08 Chris Fleizach <cfleizach (a] apple.com> 60252 60253 Reviewed by Darin Adler. 60254 60255 AX notifications should be an ENUM type instead of strings 60256 https://bugs.webkit.org/show_bug.cgi?id=28963 60257 60258 Moves AX notifications over to an ENUM type instead of 60259 using the actual string values that are used on OS X. 60260 60261 * accessibility/AXObjectCache.cpp: 60262 (WebCore::AXObjectCache::postNotification): 60263 (WebCore::AXObjectCache::selectedChildrenChanged): 60264 * accessibility/AXObjectCache.h: 60265 (WebCore::AXObjectCache::): 60266 * accessibility/AccessibilityRenderObject.cpp: 60267 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 60268 * accessibility/chromium/AXObjectCacheChromium.cpp: 60269 (WebCore::AXObjectCache::postPlatformNotification): 60270 * accessibility/gtk/AXObjectCacheAtk.cpp: 60271 (WebCore::AXObjectCache::postPlatformNotification): 60272 * accessibility/mac/AXObjectCacheMac.mm: 60273 (WebCore::AXObjectCache::postPlatformNotification): 60274 * accessibility/win/AXObjectCacheWin.cpp: 60275 (WebCore::AXObjectCache::postPlatformNotification): 60276 * dom/Document.cpp: 60277 (WebCore::Document::implicitClose): 60278 * dom/Element.cpp: 60279 (WebCore::Element::updateAfterAttributeChanged): 60280 * editing/Editor.cpp: 60281 (WebCore::Editor::respondToChangedContents): 60282 * editing/mac/SelectionControllerMac.mm: 60283 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 60284 * html/HTMLInputElement.cpp: 60285 (WebCore::HTMLInputElement::setChecked): 60286 * page/FrameView.cpp: 60287 (WebCore::FrameView::layout): 60288 * rendering/RenderTextControl.cpp: 60289 (WebCore::RenderTextControl::setInnerTextValue): 60290 60291 2009-09-08 Adam Barth <abarth (a] webkit.org> 60292 60293 Reviewed by Eric Seidel. 60294 60295 Missing checkout for getSVGDocument() 60296 https://bugs.webkit.org/show_bug.cgi?id=29064 60297 60298 The V8 code generator didn't understand SVGCheckSecurityDocument. 60299 60300 Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html 60301 http/tests/security/xss-DENIED-getSVGDocument-object.html 60302 60303 * bindings/scripts/CodeGeneratorV8.pm: 60304 60305 2009-09-09 Cameron McCormack <cam (a] mcc.id.au> 60306 60307 Reviewed by Eric Seidel. 60308 60309 Make SVGStyleElement inherit from SVGLangSpace 60310 https://bugs.webkit.org/show_bug.cgi?id=29058 60311 60312 Required by SVG 1.1 Second Edition: 60313 http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement 60314 60315 Test: svg/dom/SVGStyleElement/style-langspace.html 60316 60317 * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace. 60318 (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace() 60319 initializer. 60320 (WebCore::SVGStyleElement::parseMappedAttribute): Call 60321 parseMappedAttribute on SVGLangSpace. 60322 * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations. 60323 * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace 60324 as a superinterface. 60325 60326 2009-09-09 Nate Chapin <japhet (a] chromium.org> 60327 60328 Reviewed by David Levin. 60329 60330 Remove unnecessary includes and forward declarations in V8Proxy.h 60331 60332 https://bugs.webkit.org/show_bug.cgi?id=29111 60333 60334 * bindings/v8/V8Proxy.h: 60335 60336 2009-07-30 Eric Seidel <eric (a] webkit.org> 60337 60338 Reviewed by Adam Barth. 60339 60340 Add more position constructors 60341 positionBeforeNode, positionAfterNode 60342 firstPositionInNode, lastPositionInNode 60343 https://bugs.webkit.org/show_bug.cgi?id=25494 60344 60345 I also added a lastOffsetInNode and deployed it to a couple places. 60346 60347 There are no callers to these new constructors yet, but those 60348 will be coming in future patches. 60349 60350 * dom/Position.cpp: 60351 (WebCore::Position::computeOffsetInContainerNode): 60352 * dom/Position.h: 60353 (WebCore::positionBeforeNode): 60354 (WebCore::positionAfterNode): 60355 (WebCore::lastOffsetInNode): 60356 (WebCore::firstPositionInNode): 60357 (WebCore::lastPositionInNode): 60358 * editing/ApplyStyleCommand.cpp: 60359 * editing/TextIterator.cpp: 60360 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 60361 * editing/htmlediting.cpp: 60362 (WebCore::lastOffsetForEditing): 60363 60364 2009-04-30 Eric Seidel <eric (a] webkit.org> 60365 60366 Reviewed by Adam Barth. 60367 60368 Rename positionBeforeNode to positionInParentBeforeNode 60369 and positionAfterNode to positionInParentAfterNode 60370 in preparation for adding a positionBeforeNode 60371 which returns a neighbor-anchored position. 60372 https://bugs.webkit.org/show_bug.cgi?id=25494 60373 60374 No functional changes, thus no tests. 60375 60376 * dom/PositionConstructors.h: 60377 (WebCore::positionInParentBeforeNode): 60378 (WebCore::positionInParentAfterNode): 60379 * dom/PositionIterator.cpp: 60380 (WebCore::PositionIterator::operator Position): 60381 * editing/ApplyStyleCommand.cpp: 60382 (WebCore::ApplyStyleCommand::applyInlineStyle): 60383 * editing/CompositeEditCommand.cpp: 60384 (WebCore::CompositeEditCommand::positionOutsideTabSpan): 60385 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 60386 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 60387 * editing/CreateLinkCommand.cpp: 60388 (WebCore::CreateLinkCommand::doApply): 60389 * editing/DeleteButtonController.cpp: 60390 (WebCore::DeleteButtonController::deleteTarget): 60391 * editing/DeleteSelectionCommand.cpp: 60392 (WebCore::DeleteSelectionCommand::initializeStartEnd): 60393 (WebCore::updatePositionForNodeRemoval): 60394 * editing/InsertLineBreakCommand.cpp: 60395 (WebCore::InsertLineBreakCommand::doApply): 60396 * editing/InsertListCommand.cpp: 60397 (WebCore::InsertListCommand::doApply): 60398 * editing/InsertParagraphSeparatorCommand.cpp: 60399 (WebCore::InsertParagraphSeparatorCommand::doApply): 60400 * editing/InsertTextCommand.cpp: 60401 (WebCore::InsertTextCommand::input): 60402 * editing/ReplaceSelectionCommand.cpp: 60403 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): 60404 (WebCore::ReplaceSelectionCommand::doApply): 60405 * editing/VisibleSelection.cpp: 60406 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 60407 * editing/htmlediting.cpp: 60408 (WebCore::firstEditablePositionAfterPositionInRoot): 60409 (WebCore::lastEditablePositionBeforePositionInRoot): 60410 (WebCore::rangeCompliantEquivalent): 60411 (WebCore::positionBeforeContainingSpecialElement): 60412 (WebCore::positionAfterContainingSpecialElement): 60413 (WebCore::positionBeforeTabSpan): 60414 60415 2009-04-30 Eric Seidel <eric (a] webkit.org> 60416 60417 Reviewed by Adam Barth. 60418 60419 Re-organize position creation functions in preparation for adding more 60420 https://bugs.webkit.org/show_bug.cgi?id=25494 60421 60422 Make position functions inline to avoid ref-churn. 60423 Remove startPosition/endPosition as they were only used in one place. 60424 60425 No functional changes, thus no tests. 60426 60427 * dom/Position.cpp: 60428 * dom/Position.h: 60429 (WebCore::positionBeforeNode): 60430 (WebCore::positionAfterNode): 60431 * editing/SelectionController.cpp: 60432 (WebCore::SelectionController::moveTo): 60433 * editing/TypingCommand.cpp: 60434 * editing/htmlediting.cpp: 60435 * editing/htmlediting.h: 60436 (WebCore::firstDeepEditingPositionForNode): 60437 (WebCore::lastDeepEditingPositionForNode): 60438 * rendering/RenderObject.cpp: 60439 60440 2009-09-09 Kevin Watters <kevinwatters (a] gmail.com> 60441 60442 Reviewed by Kevin Ollivier. 60443 60444 [wx] Add wxSize conversions for IntSize. 60445 https://bugs.webkit.org/show_bug.cgi?id=29104 60446 60447 * platform/graphics/IntSize.h: 60448 * platform/graphics/wx/IntSizeWx.cpp: Added. 60449 (WebCore::IntSize::IntSize): 60450 (WebCore::IntSize::operator wxSize): 60451 60452 2009-09-09 Yaar Schnitman <yaar (a] chromium.org> 60453 60454 Reviewed by David Levin. 60455 60456 Chromium uses its own config.h file that was forked from webkit's config.h. 60457 By merging in Chromium's defines, Chromium would again be able to use webkit's 60458 config.h. 60459 60460 https://bugs.webkit.org/show_bug.cgi?id=28882 60461 60462 * config.h: Added chromium-specific defines. 60463 60464 2009-09-09 Jens Alfke <snej (a] chromium.org> 60465 60466 Reviewed by Eric Seidel. 60467 60468 Initialize DataTransfer's effectAllowed and dropEffect properties correctly 60469 according to HTML5 spec (sec. 7.9.2-7.9.3). 60470 https://bugs.webkit.org/show_bug.cgi?id=26700 60471 - At the start of a drag operation, the value of effectAllowed should be 60472 the string "uninitialized". 60473 - At end of dragstart handler, if effectAllowed hasn't been set yet, it 60474 should be set to "copy". 60475 - on dragenter and dragover event, dropEffect should be initialized to a 60476 default value based on the value of effectAllowed. 60477 - at end of dragenter and dragover the dropEffect should be set to "none" 60478 if the value set by the handler doesn't match the effectAllowed. 60479 - on dragleave event, dropEffect should be "none". 60480 - on drop event, dropEffect should be the previously negotiated value. 60481 60482 Test: fast/events/drag-dropeffect.html 60483 60484 * WebCore.base.exp: 60485 Added a parameter to EventHandler::dragSourceMovedTo. 60486 * dom/Clipboard.cpp: 60487 (WebCore::Clipboard::Clipboard): 60488 Initialize m_effectAllowed to "uninitialized". 60489 (WebCore::Clipboard::sourceOperation): 60490 Treat "uninitialized" as meaning no value has been set. 60491 * page/DragController.cpp: 60492 (WebCore::DragController::DragController): 60493 Initialize new member m_destinationDragOperation. 60494 (WebCore::DragController::dragExited): 60495 Set m_destinationDragOperation to none on dragExit. 60496 (WebCore::DragController::performDrag): 60497 Set m_destinationDragOperation to current dropEffect. 60498 (WebCore::DragController::dragEnteredOrUpdated): 60499 Make sure to clear the operation if drag source doesn't allow it. 60500 (WebCore::DragController::tryDHTMLDrag): 60501 Set a default value for the dst drag op before sending dragEnter/Over. 60502 (WebCore::DragController::startDrag): 60503 Clear m_destinationDragOperation at start of drag. 60504 * page/DragController.h: 60505 (WebCore::DragController::destinationDragOperation): 60506 Added new member m_destinationDragOperation, and its public getter. 60507 * page/EventHandler.cpp: 60508 (WebCore::EventHandler::updateDragAndDrop): 60509 dropEffect should be 'none' during dropleave handler, per spec. 60510 (WebCore::EventHandler::dragSourceMovedTo): 60511 Added DragOperation parameter, so the handler sees the current dropEffect. 60512 (WebCore::EventHandler::handleDrag): 60513 Assume DragOperationEvery for non-DHTML drags. 60514 * page/EventHandler.h: 60515 Added DragOperation parameter to dragSourceMovedTo(). 60516 60517 2009-09-09 Dumitru Daniliuc <dumi (a] chromium.org> 60518 60519 Reviewed by Dimitri Glazkov. 60520 60521 1. Adding support/bindings for read-only transactions. 60522 2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the 60523 private browsing mode. 60524 3. Adding an authorizer test. 60525 60526 https://bugs.webkit.org/show_bug.cgi?id=28918 60527 60528 Test: storage/test-authorizer.html 60529 60530 * bindings/js/JSDatabaseCustom.cpp: 60531 (WebCore::createTransaction): Parses all arguments and executes a 60532 transaction. 60533 (WebCore::JSDatabase::transaction): Refactored to use 60534 createTransaction(). 60535 (WebCore::JSDatabase::readTransaction): Added to execute read-only 60536 transactions using createTransaction(). 60537 * bindings/v8/custom/V8CustomBinding.h: Added the binding for 60538 Database::readTransaction(). 60539 * bindings/v8/custom/V8DatabaseCustom.cpp: 60540 (WebCore::createTransaction): Parses all arguments and executes a 60541 transaction. 60542 (WebCore::transaction): Refactored to use createTransaction(). 60543 (WebCore::readTransaction): Added to execute read-only 60544 transactions using createTransaction(). 60545 * storage/Database.cpp: 60546 (WebCore::Database::transaction): Added support for read-only 60547 transactions. 60548 * storage/Database.h: Added support for read-only transactions. 60549 * storage/Database.idl: Added support for read-only transactions. 60550 * storage/DatabaseAuthorizer.cpp: 60551 (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious 60552 that the statement will be denied in private browsing mode and 60553 read-only transactions. 60554 (WebCore::DatabaseAuthorizer::dropTempTable): Same. 60555 (WebCore::DatabaseAuthorizer::createTempIndex): Same. 60556 (WebCore::DatabaseAuthorizer::dropTempIndex): Same. 60557 (WebCore::DatabaseAuthorizer::createTempTrigger): Same. 60558 (WebCore::DatabaseAuthorizer::dropTempTrigger): Same. 60559 (WebCore::DatabaseAuthorizer::createView): Deny in private 60560 browsing mode and read-only transactions. 60561 (WebCore::DatabaseAuthorizer::createTempView): Same. 60562 (WebCore::DatabaseAuthorizer::dropView): Same. 60563 (WebCore::DatabaseAuthorizer::dropTempView): Same. 60564 (WebCore::DatabaseAuthorizer::allowReindex): Same. 60565 * storage/DatabaseAuthorizer.h: 60566 * storage/SQLTransaction.cpp: Added support for read-only 60567 transactions. 60568 (WebCore::SQLTransaction::create): 60569 (WebCore::SQLTransaction::SQLTransaction): 60570 (WebCore::SQLTransaction::executeSQL): 60571 (WebCore::SQLTransaction::acquireLock): 60572 * storage/SQLTransaction.h: 60573 * storage/SQLTransactionCoordinator.cpp: 60574 (WebCore::SQLTransactionCoordinator::acquireLock): Added a new 60575 parameter in preparation for a change that will allow multiple 60576 read-only transactions on the same DB to run concurrently. 60577 * storage/SQLTransactionCoordinator.h: 60578 60579 2009-09-09 Dave Hyatt <hyatt (a] apple.com> 60580 60581 Reviewed by Adam Roben. 60582 60583 https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar 60584 to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately 60585 to all Frames in the PageGroup. 60586 60587 Added userscripts/simple-stylesheet.html test case. 60588 60589 * WebCore.base.exp: 60590 * WebCore.gypi: 60591 * WebCore.vcproj/WebCore.vcproj: 60592 * WebCore.xcodeproj/project.pbxproj: 60593 * css/CSSStyleSelector.cpp: 60594 (WebCore::CSSStyleSelector::CSSStyleSelector): 60595 * css/CSSStyleSelector.h: 60596 * dom/Document.cpp: 60597 (WebCore::Document::Document): 60598 (WebCore::Document::attach): 60599 (WebCore::Document::pageGroupUserSheets): 60600 (WebCore::Document::clearPageGroupUserSheets): 60601 (WebCore::Document::recalcStyleSelector): 60602 * dom/Document.h: 60603 * loader/PlaceholderDocument.cpp: 60604 (WebCore::PlaceholderDocument::attach): 60605 * page/PageGroup.cpp: 60606 (WebCore::PageGroup::addUserStyleSheet): 60607 (WebCore::PageGroup::removeUserContentForWorld): 60608 (WebCore::PageGroup::removeAllUserContent): 60609 * page/PageGroup.h: 60610 (WebCore::PageGroup::userStyleSheets): 60611 * page/UserStyleSheet.h: Added. 60612 (WebCore::UserStyleSheet::UserStyleSheet): 60613 (WebCore::UserStyleSheet::source): 60614 (WebCore::UserStyleSheet::url): 60615 (WebCore::UserStyleSheet::patterns): 60616 (WebCore::UserStyleSheet::worldID): 60617 * page/UserStyleSheetTypes.h: Added. 60618 60619 2009-09-09 Carol Szabo <carol.szabo (a] nokia.com> 60620 60621 Reviewed by Ariya Hidayat. 60622 60623 [Qt] CSS Style -webkit-box-shadow is not rendered correctly on 60624 Qt platform 60625 https://bugs.webkit.org/show_bug.cgi?id=23291 60626 60627 * platform/graphics/qt/GraphicsContextQt.cpp: 60628 (WebCore::GraphicsContext::drawRect): 60629 (WebCore::GraphicsContext::strokeArc): 60630 (WebCore::GraphicsContext::drawConvexPolygon): 60631 (WebCore::GraphicsContext::fillPath): 60632 (WebCore::GraphicsContext::strokePath): 60633 (WebCore::GraphicsContext::fillRect): 60634 (WebCore::GraphicsContext::fillRoundedRect): 60635 Added the ability to draw shadows for all these curves. 60636 60637 2009-09-09 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 60638 60639 Reviewed by Simon Hausmann. 60640 60641 Add the qwebgraphicsitem.cpp to the build system. 60642 60643 https://bugs.webkit.org/show_bug.cgi?id=28862 60644 60645 * WebCore.pro: 60646 60647 2009-09-09 Kevin Watters <kevinwatters (a] gmail.com> 60648 60649 Reviewed by Kevin Ollivier. 60650 60651 [wx port] Move functions in TemporaryLinkStubs.cpp out to files where 60652 they belong. 60653 60654 https://bugs.webkit.org/show_bug.cgi?id=29088 60655 60656 * editing/wx/EditorWx.cpp: 60657 (WebCore::Editor::showColorPanel): 60658 (WebCore::Editor::showFontPanel): 60659 (WebCore::Editor::showStylesPanel): 60660 * platform/graphics/wx/GraphicsContextWx.cpp: 60661 (WebCore::GraphicsContext::setPlatformShadow): 60662 (WebCore::GraphicsContext::clearPlatformShadow): 60663 (WebCore::GraphicsContext::beginTransparencyLayer): 60664 (WebCore::GraphicsContext::endTransparencyLayer): 60665 (WebCore::GraphicsContext::clearRect): 60666 (WebCore::GraphicsContext::strokeRect): 60667 (WebCore::GraphicsContext::setLineCap): 60668 (WebCore::GraphicsContext::setLineJoin): 60669 (WebCore::GraphicsContext::setMiterLimit): 60670 (WebCore::GraphicsContext::setAlpha): 60671 (WebCore::GraphicsContext::addInnerRoundedRectClip): 60672 * platform/graphics/wx/IconWx.cpp: Added. 60673 (WebCore::Icon::~Icon): 60674 (WebCore::Icon::createIconForFile): 60675 (WebCore::Icon::createIconForFiles): 60676 (WebCore::Icon::paint): 60677 * platform/graphics/wx/ImageWx.cpp: 60678 (WebCore::Image::loadPlatformResource): 60679 (WebCore::Image::drawPattern): 60680 * platform/wx/CursorWx.cpp: 60681 (WebCore::moveCursor): 60682 * platform/wx/FileChooserWx.cpp: Added. 60683 (WebCore::FileChooser::basenameForWidth): 60684 * platform/wx/KURLWx.cpp: Added. 60685 (WebCore::KURL::fileSystemPath): 60686 * platform/wx/SSLKeyGeneratorWx.cpp: Added. 60687 (WebCore::getSupportedKeySizes): 60688 (WebCore::signedPublicKeyAndChallengeString): 60689 * platform/wx/SearchPopupMenuWx.cpp: Added. 60690 (WebCore::SearchPopupMenu::SearchPopupMenu): 60691 (WebCore::SearchPopupMenu::saveRecentSearches): 60692 (WebCore::SearchPopupMenu::loadRecentSearches): 60693 (WebCore::SearchPopupMenu::enabled): 60694 * platform/wx/SharedBufferWx.cpp: Added. 60695 (WebCore::SharedBuffer::createWithContentsOfFile): 60696 * platform/wx/SystemTimeWx.cpp: Added. 60697 (WebCore::userIdleTime): 60698 * platform/wx/TemporaryLinkStubs.cpp: Removed. 60699 * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added. 60700 (WebCore::currentSearchLocaleID): 60701 (WebCore::currentTextBreakLocaleID): 60702 * platform/wx/WidgetWx.cpp: 60703 (WebCore::Widget::setIsSelected): 60704 60705 2009-09-09 Steve Block <steveblock (a] google.com> 60706 60707 Reviewed by Adam Barth. 60708 60709 Geolocation incorrectly calls error callback in case of exception in success callback. 60710 https://bugs.webkit.org/show_bug.cgi?id=27255 60711 60712 Test: fast/dom/Geolocation/callback-exception.html 60713 60714 * bindings/js/JSCustomPositionCallback.cpp: Modified. 60715 (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param. 60716 * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private. 60717 * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private. 60718 * page/Geolocation.cpp: Modified. 60719 (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback. 60720 * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method. 60721 60722 2009-09-09 Steve Block <steveblock (a] google.com> 60723 60724 Reviewed by Darin Adler. 60725 60726 When Geolocation permission is denied, stops watches as well as one-shots. 60727 https://bugs.webkit.org/show_bug.cgi?id=28305. 60728 60729 Tests: fast/dom/Geolocation/watch.html 60730 fast/dom/Geolocation/permission-denied-stops-watches.html 60731 60732 * page/Geolocation.cpp: Modified. 60733 (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal. 60734 (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots. 60735 * page/PositionError.h: Modified. 60736 (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal. 60737 (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal. 60738 60739 2009-09-09 Roland Steiner <rolandsteiner (a] google.com> 60740 60741 Reviewed by Eric Seidel. 60742 60743 Bug 28964 - [Chromium] ChromiumDataObject should have getter/setter interface 60744 60745 Added getter/setter methods and trivial inline implementations for each. 60746 (Note that they are not yet actually used.) 60747 Once the Chromium code is changed to use them instead of directly accessing the 60748 member variables, the member variables should be made private and cleaned up. 60749 60750 No new tests (no functional behavior changed). 60751 60752 * platform/chromium/ChromiumDataObject.h: 60753 (WebCore::ChromiumDataObject::mainURL): 60754 (WebCore::ChromiumDataObject::setMainURL): 60755 (WebCore::ChromiumDataObject::mainURLTitle): 60756 (WebCore::ChromiumDataObject::setMainURLTitle): 60757 (WebCore::ChromiumDataObject::textPlain): 60758 (WebCore::ChromiumDataObject::setTextPlain): 60759 (WebCore::ChromiumDataObject::textHTML): 60760 (WebCore::ChromiumDataObject::setTextHTML): 60761 (WebCore::ChromiumDataObject::htmlBaseURL): 60762 (WebCore::ChromiumDataObject::setHTMLBaseURL): 60763 (WebCore::ChromiumDataObject::content): 60764 (WebCore::ChromiumDataObject::releaseContent): 60765 (WebCore::ChromiumDataObject::setContent): 60766 (WebCore::ChromiumDataObject::contentFileExtension): 60767 (WebCore::ChromiumDataObject::setContentFileExtension): 60768 (WebCore::ChromiumDataObject::contentFileName): 60769 (WebCore::ChromiumDataObject::setContentFileName): 60770 (WebCore::ChromiumDataObject::fileNames): 60771 (WebCore::ChromiumDataObject::setFileNames): 60772 (WebCore::ChromiumDataObject::takeFileNames): 60773 60774 2009-09-08 Pat Bradley <vincent.bradley (a] nokia.com> 60775 60776 Reviewed by Ariya Hidayat. 60777 60778 [Qt] locale date displays incorrect date format in symbian. 60779 https://bugs.webkit.org/show_bug.cgi?id=29032 60780 60781 strftime() in Symbian does not support # 60782 Layout tests cannot be run on Symbian yet, so they are not updated. 60783 60784 * runtime/DatePrototype.cpp: 60785 (JSC::formatLocaleDate): 60786 60787 2009-09-09 Rohini Ananth <rohini.ananth (a] nokia.com> 60788 60789 Reviewed by Simon Hausmann. 60790 60791 NPAPI Plugin NPP_AsFile not working on Qt Webkit 60792 https://bugs.webkit.org/show_bug.cgi?id=29068 60793 60794 * platform/qt/FileSystemQt.cpp: 60795 (WebCore::openTemporaryFile) 60796 Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file. 60797 This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile. 60798 60799 2009-09-08 Oliver Hunt <oliver (a] apple.com> 60800 60801 Reviewed by NOBODY (Build fix). 60802 60803 Remove a few incorrect changes I left in. 60804 60805 * bindings/scripts/CodeGeneratorJS.pm: 60806 60807 2009-09-08 Oliver Hunt <oliver (a] apple.com> 60808 60809 Reviewed by Sam Weinig. 60810 60811 Support numeric index getters in bindings 60812 https://bugs.webkit.org/show_bug.cgi?id=29067 60813 60814 Add HasNumericIndexGetter to indicate a non-custom getter that 60815 returns a number. The numeric index getter also uses PropertySlot's 60816 setValue rather than setCustomIndex to avoid an additional indirect 60817 call. 60818 60819 * bindings/js/JSCanvasByteArrayCustom.cpp: 60820 * bindings/js/JSCanvasFloatArrayCustom.cpp: 60821 * bindings/js/JSCanvasIntArrayCustom.cpp: 60822 * bindings/js/JSCanvasShortArrayCustom.cpp: 60823 * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: 60824 * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: 60825 * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: 60826 * bindings/scripts/CodeGeneratorJS.pm: 60827 * html/canvas/CanvasByteArray.h: 60828 (WebCore::CanvasByteArray::item): 60829 * html/canvas/CanvasByteArray.idl: 60830 * html/canvas/CanvasFloatArray.h: 60831 (WebCore::CanvasFloatArray::get): 60832 (WebCore::CanvasFloatArray::item): 60833 * html/canvas/CanvasFloatArray.idl: 60834 * html/canvas/CanvasIntArray.h: 60835 (WebCore::CanvasIntArray::get): 60836 (WebCore::CanvasIntArray::item): 60837 * html/canvas/CanvasIntArray.idl: 60838 * html/canvas/CanvasPixelArray.idl: 60839 * html/canvas/CanvasShortArray.h: 60840 (WebCore::CanvasShortArray::get): 60841 (WebCore::CanvasShortArray::item): 60842 * html/canvas/CanvasShortArray.idl: 60843 * html/canvas/CanvasUnsignedByteArray.h: 60844 (WebCore::CanvasUnsignedByteArray::get): 60845 (WebCore::CanvasUnsignedByteArray::item): 60846 * html/canvas/CanvasUnsignedByteArray.idl: 60847 * html/canvas/CanvasUnsignedIntArray.h: 60848 (WebCore::CanvasUnsignedIntArray::get): 60849 (WebCore::CanvasUnsignedIntArray::item): 60850 * html/canvas/CanvasUnsignedIntArray.idl: 60851 * html/canvas/CanvasUnsignedShortArray.h: 60852 (WebCore::CanvasUnsignedShortArray::item): 60853 * html/canvas/CanvasUnsignedShortArray.idl: 60854 60855 2009-09-08 Kevin Ollivier <kevino (a] theolliviers.com> 60856 60857 wx build fix for 2.8. 60858 60859 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: 60860 (wxRenderer_DrawScrollbar): 60861 60862 2009-09-08 Jens Alfke <snej (a] chromium.org> 60863 60864 Reviewed by Eric Seidel. 60865 60866 In Mac Chromium, clicking below the last line of an editable area (textarea or 60867 contenteditable) should put the caret at the end of the last line, as in Mac Safari. 60868 60869 Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html 60870 LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html 60871 60872 * page/Settings.cpp: 60873 (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive. 60874 60875 2009-09-08 Dave Hyatt <hyatt (a] apple.com> 60876 60877 Reviewed by Mark Rowe. 60878 60879 Make sure not to do an early return when a data URL stylesheet successfully loads. We need to still 60880 clear the old cached sheet out of all existing Frames. Fixes the data URL stylesheet layout test failure. 60881 60882 * page/Page.cpp: 60883 (WebCore::Page::userStyleSheetLocationChanged): 60884 60885 2009-09-08 Sam Weinig <sam (a] webkit.org> 60886 60887 Fix windows build. 60888 60889 * dom/Document.idl: 60890 60891 2009-09-08 Kevin Ollivier <kevino (a] theolliviers.com> 60892 60893 More robust wx build fix for 2.9. 60894 60895 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: 60896 (wxRenderer_DrawScrollbar): 60897 60898 2009-09-08 Sam Weinig <sam (a] webkit.org> 60899 60900 Reviewed by Timothy Hatcher. 60901 60902 Fix for https://bugs.webkit.org/show_bug.cgi?id=27046 60903 Implement CSSOM DocumentView.caretRangeFromPoint 60904 60905 Tests: fast/dom/Document/CaretRangeFromPoint/basic.html 60906 fast/dom/Document/CaretRangeFromPoint/replace-element.html 60907 60908 * dom/Document.cpp: 60909 (WebCore::Document::caretRangeFromPoint): 60910 * dom/Document.h: 60911 * dom/Document.idl: 60912 60913 2009-09-08 Kevin Ollivier <kevino (a] theolliviers.com> 60914 60915 wx build fix, generate derived sources earlier in order to make sure 60916 they're found by the build system when generating the list of sources to build. 60917 60918 * wscript: 60919 60920 2009-09-08 Nate Chapin <japhet (a] chromium.org> 60921 60922 Reviewed by Dimitri Glazkov. 60923 60924 <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium. 60925 60926 Test: Chromium mac canary build is fixed. 60927 60928 * bindings/v8/V8Proxy.h: Remove <iterator> include. 60929 60930 2009-09-08 Xan Lopez <xlopez (a] igalia.com> 60931 60932 Unreviewed attempt to fix the GTKbuild. 60933 60934 * GNUmakefile.am: 60935 60936 2009-09-04 Dave Hyatt <hyatt (a] apple.com> 60937 60938 Reviewed by Eric Seidel. 60939 60940 https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in 60941 parsed form. Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector. 60942 60943 * css/CSSStyleSelector.cpp: 60944 (WebCore::CSSStyleSelector::CSSStyleSelector): 60945 * css/CSSStyleSelector.h: 60946 * dom/Document.cpp: 60947 (WebCore::Document::attach): 60948 (WebCore::Document::pageUserSheet): 60949 (WebCore::Document::clearPageUserSheet): 60950 (WebCore::Document::recalcStyleSelector): 60951 * dom/Document.h: 60952 * loader/PlaceholderDocument.cpp: 60953 (WebCore::PlaceholderDocument::attach): 60954 * page/Page.cpp: 60955 (WebCore::Page::userStyleSheetLocationChanged): 60956 * page/Settings.cpp: 60957 (WebCore::Settings::setUserStyleSheetLocation): 60958 60959 2009-09-08 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 60960 60961 Unreviewed buildfix. 60962 60963 Fix Qt build after 48167, by adding the new cpp/h files 60964 added to WebCore.gypi to WebCore.pro as well. 60965 60966 * WebCore.pro: 60967 60968 2009-09-08 Xan Lopez <xlopez (a] igalia.com> 60969 60970 Reviewed by Gustavo Noronha. 60971 60972 should not pass URI fragments to libsoup 60973 https://bugs.webkit.org/show_bug.cgi?id=28687 60974 60975 Strip the fragment from the URI before passing it to soup, since 60976 it forwards it to servers in some cases (like when using a proxy) 60977 which confuses them and makes them return 403/404. 60978 60979 * platform/network/soup/ResourceHandleSoup.cpp: 60980 (WebCore::startHttp): 60981 (WebCore::): 60982 60983 2009-09-08 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 60984 60985 Reviewed by Simon Hausmann. 60986 60987 Add QGraphicsScene events support to the Qt platform events. 60988 60989 * platform/PlatformMouseEvent.h: 60990 * platform/PlatformWheelEvent.h: 60991 * platform/qt/PlatformMouseEventQt.cpp: 60992 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 60993 * platform/qt/WheelEventQt.cpp: 60994 (WebCore::PlatformWheelEvent::applyDelta): 60995 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 60996 60997 2009-09-08 Michael Nordman <michaeln (a] google.com> 60998 60999 Reviewed by Eric Seidel. 61000 61001 [Chromium] Cleanup: remove a few deprecated methods. 61002 https://bugs.webkit.org/show_bug.cgi?id=28960 61003 61004 No new tests, just syntactic sugar. 61005 61006 * platform/network/chromium/ResourceRequest.h: 61007 * platform/network/chromium/ResourceResponse.h: 61008 61009 2009-09-08 Yongjun Zhang <yongjun.zhang (a] nokia.com> 61010 61011 Reviewed by Ariya Hidayat. 61012 61013 https://bugs.webkit.org/show_bug.cgi?id=28981 61014 61015 [Qt] make npapi.h compile in winscw compiler. 61016 61017 Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian 61018 specific changes in npapi.h. 61019 Undefine XP_WIN when building for Symbian to avoid including Windows specific code. 61020 61021 * bridge/npapi.h: 61022 61023 2009-09-08 Oliver Hunt <oliver (a] apple.com> 61024 61025 Reviewed by Geoff Garen. 61026 61027 Web Inspector assertion failure related to marking 61028 https://bugs.webkit.org/show_bug.cgi?id=28997 61029 61030 When wrapping the callback the JSInspectorCallbackWrapper creator was using 61031 inheritorID for the prototype structure which is unsafe for anything other 61032 than a pure JS object. Instead we now create a new structure, which while 61033 inefficient is not problematic as this code is not hit frequently. 61034 61035 * bindings/js/JSInspectorCallbackWrapper.cpp: 61036 (WebCore::JSInspectorCallbackWrapper::wrap): 61037 61038 2009-09-08 Kelly Norton <knorton (a] google.com> 61039 61040 Reviewed by Dimitri Glazkov. 61041 61042 Add missing extension to the file entry in WebCore.vcproj. 61043 61044 * WebCore.vcproj/WebCore.vcproj: Added "cpp". 61045 61046 2009-09-08 Jian Li <jianli (a] chromium.org> 61047 61048 Reviewed by David Levin. 61049 61050 dataTransfer.types() should not return Files if file list is empty in the clipboard. 61051 https://bugs.webkit.org/show_bug.cgi?id=28891 61052 61053 We change the behavior to handle the empty file list in order to match the spec. 61054 61055 Tested by clipboard-file-access.html. 61056 61057 * platform/mac/ClipboardMac.mm: 61058 (WebCore::addHTMLClipboardTypesForCocoaType): 61059 (WebCore::ClipboardMac::types): 61060 61061 2009-09-08 Steve VanDeBogart <vandebo (a] chromium.org> 61062 61063 Reviewed by Eric Seidel. 61064 61065 Handle middle click in Chromium like QT 61066 https://bugs.webkit.org/show_bug.cgi?id=28696 61067 61068 Tested by middle-click-onpaste.html. 61069 61070 * platform/Pasteboard.h: 61071 * platform/chromium/ChromiumBridge.h: 61072 * platform/chromium/ClipboardChromium.cpp: 61073 (WebCore::ClipboardChromium::getData): 61074 * platform/chromium/PasteboardChromium.cpp: 61075 (WebCore::Pasteboard::Pasteboard): 61076 (WebCore::Pasteboard::isSelectionMode): 61077 (WebCore::Pasteboard::setSelectionMode): 61078 (WebCore::Pasteboard::canSmartReplace): 61079 (WebCore::Pasteboard::plainText): 61080 (WebCore::Pasteboard::documentFragment): 61081 * platform/chromium/PasteboardPrivate.h: 61082 (WebCore::PasteboardPrivate::): 61083 61084 2009-09-08 Kelly Norton <knorton (a] google.com> 61085 61086 Reviewed by Eric Seidel. 61087 61088 WebInspector: Adds a timeline agent to InspectorController that collects 61089 high-level timing data about event dispatch, layout, painting and HTML 61090 parsing and makes it available to Inspector. 61091 https://bugs.webkit.org/show_bug.cgi?id=25503 61092 61093 * WebCore.gypi: 61094 * WebCore.xcodeproj/project.pbxproj: 61095 * dom/Document.cpp: 61096 (WebCore::Document::recalcStyle): 61097 * dom/Document.h: 61098 (WebCore::Document::inspectorTimelineAgent): 61099 * dom/Node.cpp: 61100 (WebCore::Node::dispatchGenericEvent): 61101 * html/HTMLTokenizer.cpp: 61102 (WebCore::HTMLTokenizer::write): 61103 * inspector/DOMDispatchTimelineItem.cpp: Added. 61104 (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem): 61105 (WebCore::DOMDispatchTimelineItem::convertToScriptObject): 61106 * inspector/DOMDispatchTimelineItem.h: Added. 61107 (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem): 61108 * inspector/InspectorBackend.cpp: 61109 (WebCore::InspectorBackend::enableTimeline): 61110 (WebCore::InspectorBackend::disableTimeline): 61111 (WebCore::InspectorBackend::timelineEnabled): 61112 * inspector/InspectorBackend.h: 61113 * inspector/InspectorBackend.idl: 61114 * inspector/InspectorController.cpp: 61115 (WebCore::InspectorController::setFrontendProxyObject): 61116 (WebCore::InspectorController::close): 61117 (WebCore::InspectorController::resetScriptObjects): 61118 (WebCore::InspectorController::enableTimeline): 61119 (WebCore::InspectorController::disableTimeline): 61120 (WebCore::InspectorController::timelineEnabled): 61121 * inspector/InspectorController.h: 61122 (WebCore::InspectorController::timelineAgent): 61123 * inspector/InspectorFrontend.cpp: 61124 (WebCore::InspectorFrontend::timelineWasEnabled): 61125 (WebCore::InspectorFrontend::timelineWasDisabled): 61126 (WebCore::InspectorFrontend::addItemToTimeline): 61127 * inspector/InspectorFrontend.h: 61128 * inspector/InspectorTimelineAgent.cpp: Added. 61129 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 61130 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): 61131 (WebCore::InspectorTimelineAgent::willDispatchDOMEvent): 61132 (WebCore::InspectorTimelineAgent::didDispatchDOMEvent): 61133 (WebCore::InspectorTimelineAgent::willLayout): 61134 (WebCore::InspectorTimelineAgent::didLayout): 61135 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 61136 (WebCore::InspectorTimelineAgent::didRecalculateStyle): 61137 (WebCore::InspectorTimelineAgent::willPaint): 61138 (WebCore::InspectorTimelineAgent::didPaint): 61139 (WebCore::InspectorTimelineAgent::willWriteHTML): 61140 (WebCore::InspectorTimelineAgent::didWriteHTML): 61141 (WebCore::InspectorTimelineAgent::reset): 61142 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 61143 (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds): 61144 (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds): 61145 * inspector/InspectorTimelineAgent.h: Added. 61146 * inspector/TimelineItem.cpp: Added. 61147 (WebCore::TimelineItem::TimelineItem): 61148 (WebCore::TimelineItem::addToTimeline): 61149 (WebCore::TimelineItem::convertToScriptObject): 61150 (WebCore::TimelineItem::convertChildrenToScriptArray): 61151 (WebCore::TimelineItem::addChildItem): 61152 * inspector/TimelineItem.h: Added. 61153 (WebCore::): 61154 (WebCore::TimelineItem::~TimelineItem): 61155 (WebCore::TimelineItem::previous): 61156 (WebCore::TimelineItem::releasePrevious): 61157 (WebCore::TimelineItem::setEndTime): 61158 (WebCore::TimelineItem::type): 61159 * inspector/front-end/TimelineAgent.js: Added. 61160 (WebInspector.TimelineAgent): 61161 (WebInspector.addItemToTimeline): 61162 (WebInspector.timelineWasEnabled): 61163 (WebInspector.timelineWasDisabled): 61164 * inspector/front-end/inspector.html: 61165 * page/FrameView.cpp: 61166 (WebCore::FrameView::layout): 61167 (WebCore::FrameView::paintContents): 61168 * page/FrameView.h: 61169 (WebCore::FrameView::inspectorTimelineAgent): 61170 * page/Page.cpp: 61171 (WebCore::Page::inspectorTimelineAgent): 61172 * page/Page.h: 61173 61174 2009-09-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 61175 61176 Reviewed by Simon Hausmann. 61177 61178 [Qt] Fix unused variable warnings 61179 https://bugs.webkit.org/show_bug.cgi?id=29018 61180 61181 No functional change, no tests. 61182 61183 * history/qt/HistoryItemQt.cpp: 61184 (WebCore::HistoryItem::restoreState): 61185 * platform/graphics/qt/ImageBufferQt.cpp: 61186 (WebCore::putImageData): 61187 * platform/qt/RenderThemeQt.cpp: 61188 (WebCore::RenderThemeQt::paintMenuList): 61189 61190 2009-09-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 61191 61192 Reviewed by Ariya Hidayat. 61193 61194 [Qt] Use the declaration order in initializer lists 61195 https://bugs.webkit.org/show_bug.cgi?id=29017 61196 61197 No functional change, no new tests. 61198 61199 * platform/graphics/qt/FontCacheQt.cpp: 61200 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 61201 * platform/network/qt/QNetworkReplyHandler.cpp: 61202 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 61203 61204 2009-09-08 Kent Tamura <tkent (a] chromium.org> 61205 61206 Reviewed by Eric Seidel. 61207 61208 Implement ValidityState::typeMismatch() for <input type=number>. 61209 https://bugs.webkit.org/show_bug.cgi?id=28934 61210 61211 Test: fast/forms/ValidityState-typeMismatch-number.html 61212 61213 * html/HTMLInputElement.cpp: 61214 (WebCore::HTMLInputElement::formStringToDouble): 61215 * html/HTMLInputElement.h: 61216 * html/ValidityState.cpp: 61217 (WebCore::ValidityState::typeMismatch): 61218 * html/ValidityState.h: 61219 61220 2009-09-08 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 61221 61222 Reviewed by Gustavo Noronha. 61223 61224 [Gtk] Another attempt of a buildfix. 61225 61226 * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153. 61227 61228 2009-09-08 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 61229 61230 Reviewed by Simon Hausmann. 61231 61232 [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack. 61233 https://bugs.webkit.org/show_bug.cgi?id=28865 61234 61235 Save the QCursor as a property in WidgetQt::setCursor 61236 and actually change the cursor in QWebView::event() by making use 61237 of the QEvent::DynamicPropertyChange event type. 61238 When unsetCursor() is called on the QWidget we can fallback to 61239 the cursor set by WebCore. 61240 61241 Patch by Kenneth Rohde Christiansen <kenneth (a] webkit.org> and 61242 Antonio Gomes <antonio.gomes (a] openbossa.org> on 2009-09-07 61243 61244 * platform/qt/WidgetQt.cpp: 61245 (WebCore::Widget::setCursor): 61246 61247 2009-09-08 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 61248 61249 Reviewed by Gustavo Noronha. 61250 61251 [Gtk] Buildfix for build error introduced in r48150. 61252 61253 * GNUmakefile.am: Modified. Added missing IDL files. 61254 61255 2009-09-08 Csaba Osztrogonac <oszi (a] inf.u-szeged.hu> 61256 61257 Reviewed by Tor Arne Vestb. 61258 61259 [Qt] Buildfix. Build error caused by r48150. 61260 61261 * WebCore.pro: missing IDL files added 61262 61263 2009-09-07 Chris Marrin <cmarrin (a] apple.com> 61264 61265 Reviewed by Oliver Hunt. 61266 61267 Update Canvas 3D implementation to match spec 61268 https://bugs.webkit.org/show_bug.cgi?id=29010 61269 61270 This adds several new CanvasXXXArray classes each of which has a custom constructor 61271 and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D 61272 to match the new and changed API. 61273 61274 * DerivedSources.make: 61275 * WebCore.xcodeproj/project.pbxproj: 61276 * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61277 * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61278 * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61279 * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61280 * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61281 * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61282 * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61283 * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61284 * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61285 * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61286 * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61287 * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61288 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: 61289 (WebCore::JSCanvasRenderingContext3D::bufferData): 61290 (WebCore::JSCanvasRenderingContext3D::bufferSubData): 61291 (WebCore::JSCanvasRenderingContext3D::texImage2D): 61292 (WebCore::JSCanvasRenderingContext3D::texSubImage2D): 61293 * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61294 * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61295 * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61296 * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61297 * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61298 * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61299 * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61300 * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61301 * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61302 * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type. 61303 * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type. 61304 * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type. 61305 * bindings/js/JSDOMWindowCustom.cpp: 61306 (WebCore::JSDOMWindow::canvasArrayBuffer): 61307 (WebCore::JSDOMWindow::canvasByteArray): 61308 (WebCore::JSDOMWindow::canvasUnsignedByteArray): 61309 (WebCore::JSDOMWindow::canvasIntArray): 61310 (WebCore::JSDOMWindow::canvasUnsignedIntArray): 61311 (WebCore::JSDOMWindow::canvasShortArray): 61312 (WebCore::JSDOMWindow::canvasUnsignedShortArray): 61313 (WebCore::JSDOMWindow::canvasFloatArray): 61314 * html/HTMLCanvasElement.cpp: 61315 (WebCore::HTMLCanvasElement::getContext): 61316 (WebCore::HTMLCanvasElement::paint): 61317 * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61318 * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type. 61319 * html/canvas/CanvasArray.idl: Added. 61320 * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type. 61321 * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type. 61322 * html/canvas/CanvasArrayBuffer.idl: Added. 61323 * html/canvas/CanvasByteArray.cpp: 61324 * html/canvas/CanvasByteArray.h: 61325 * html/canvas/CanvasByteArray.idl: 61326 * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61327 * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type. 61328 * html/canvas/CanvasFloatArray.idl: Added. 61329 * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61330 * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type. 61331 * html/canvas/CanvasIntArray.idl: Added. 61332 * html/canvas/CanvasRenderingContext3D.cpp: 61333 (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D): 61334 (WebCore::CanvasRenderingContext3D::markContextChanged): 61335 (WebCore::CanvasRenderingContext3D::beginPaint): 61336 (WebCore::CanvasRenderingContext3D::endPaint): 61337 (WebCore::CanvasRenderingContext3D::reshape): 61338 (WebCore::CanvasRenderingContext3D::sizeInBytes): 61339 (WebCore::CanvasRenderingContext3D::bindTexture): 61340 (WebCore::CanvasRenderingContext3D::bufferData): 61341 (WebCore::CanvasRenderingContext3D::bufferSubData): 61342 (WebCore::CanvasRenderingContext3D::checkFramebufferStatus): 61343 (WebCore::CanvasRenderingContext3D::clear): 61344 (WebCore::CanvasRenderingContext3D::createBuffer): 61345 (WebCore::CanvasRenderingContext3D::createFramebuffer): 61346 (WebCore::CanvasRenderingContext3D::createTexture): 61347 (WebCore::CanvasRenderingContext3D::createProgram): 61348 (WebCore::CanvasRenderingContext3D::createRenderbuffer): 61349 (WebCore::CanvasRenderingContext3D::createShader): 61350 (WebCore::CanvasRenderingContext3D::deleteBuffer): 61351 (WebCore::CanvasRenderingContext3D::deleteFramebuffer): 61352 (WebCore::CanvasRenderingContext3D::deleteProgram): 61353 (WebCore::CanvasRenderingContext3D::deleteRenderbuffer): 61354 (WebCore::CanvasRenderingContext3D::deleteShader): 61355 (WebCore::CanvasRenderingContext3D::deleteTexture): 61356 (WebCore::CanvasRenderingContext3D::drawArrays): 61357 (WebCore::CanvasRenderingContext3D::drawElements): 61358 (WebCore::CanvasRenderingContext3D::getBoolean): 61359 (WebCore::CanvasRenderingContext3D::getBooleanv): 61360 (WebCore::CanvasRenderingContext3D::getBufferParameteri): 61361 (WebCore::CanvasRenderingContext3D::getBufferParameteriv): 61362 (WebCore::CanvasRenderingContext3D::getFloat): 61363 (WebCore::CanvasRenderingContext3D::getFloatv): 61364 (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri): 61365 (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv): 61366 (WebCore::CanvasRenderingContext3D::getInteger): 61367 (WebCore::CanvasRenderingContext3D::getIntegerv): 61368 (WebCore::CanvasRenderingContext3D::getProgrami): 61369 (WebCore::CanvasRenderingContext3D::getProgramiv): 61370 (WebCore::CanvasRenderingContext3D::getProgramInfoLog): 61371 (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri): 61372 (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv): 61373 (WebCore::CanvasRenderingContext3D::getShaderi): 61374 (WebCore::CanvasRenderingContext3D::getShaderiv): 61375 (WebCore::CanvasRenderingContext3D::getShaderInfoLog): 61376 (WebCore::CanvasRenderingContext3D::getShaderSource): 61377 (WebCore::CanvasRenderingContext3D::getTexParameterf): 61378 (WebCore::CanvasRenderingContext3D::getTexParameterfv): 61379 (WebCore::CanvasRenderingContext3D::getTexParameteri): 61380 (WebCore::CanvasRenderingContext3D::getTexParameteriv): 61381 (WebCore::CanvasRenderingContext3D::getUniformf): 61382 (WebCore::CanvasRenderingContext3D::getUniformfv): 61383 (WebCore::CanvasRenderingContext3D::getUniformi): 61384 (WebCore::CanvasRenderingContext3D::getUniformiv): 61385 (WebCore::CanvasRenderingContext3D::getUniformLocation): 61386 (WebCore::CanvasRenderingContext3D::getVertexAttribf): 61387 (WebCore::CanvasRenderingContext3D::getVertexAttribfv): 61388 (WebCore::CanvasRenderingContext3D::getVertexAttribi): 61389 (WebCore::CanvasRenderingContext3D::getVertexAttribiv): 61390 (WebCore::CanvasRenderingContext3D::getVertexAttribOffset): 61391 (WebCore::CanvasRenderingContext3D::texImage2D): 61392 (WebCore::CanvasRenderingContext3D::texParameterf): 61393 (WebCore::CanvasRenderingContext3D::texParameteri): 61394 (WebCore::CanvasRenderingContext3D::texSubImage2D): 61395 (WebCore::CanvasRenderingContext3D::uniform1f): 61396 (WebCore::CanvasRenderingContext3D::uniform1fv): 61397 (WebCore::CanvasRenderingContext3D::uniform1i): 61398 (WebCore::CanvasRenderingContext3D::uniform1iv): 61399 (WebCore::CanvasRenderingContext3D::uniform2f): 61400 (WebCore::CanvasRenderingContext3D::uniform2fv): 61401 (WebCore::CanvasRenderingContext3D::uniform2i): 61402 (WebCore::CanvasRenderingContext3D::uniform2iv): 61403 (WebCore::CanvasRenderingContext3D::uniform3f): 61404 (WebCore::CanvasRenderingContext3D::uniform3fv): 61405 (WebCore::CanvasRenderingContext3D::uniform3i): 61406 (WebCore::CanvasRenderingContext3D::uniform3iv): 61407 (WebCore::CanvasRenderingContext3D::uniform4f): 61408 (WebCore::CanvasRenderingContext3D::uniform4fv): 61409 (WebCore::CanvasRenderingContext3D::uniform4i): 61410 (WebCore::CanvasRenderingContext3D::uniform4iv): 61411 (WebCore::CanvasRenderingContext3D::uniformMatrix2fv): 61412 (WebCore::CanvasRenderingContext3D::uniformMatrix3fv): 61413 (WebCore::CanvasRenderingContext3D::uniformMatrix4fv): 61414 (WebCore::CanvasRenderingContext3D::useProgram): 61415 (WebCore::CanvasRenderingContext3D::validateProgram): 61416 (WebCore::CanvasRenderingContext3D::vertexAttrib1f): 61417 (WebCore::CanvasRenderingContext3D::vertexAttrib1fv): 61418 (WebCore::CanvasRenderingContext3D::vertexAttrib2f): 61419 (WebCore::CanvasRenderingContext3D::vertexAttrib2fv): 61420 (WebCore::CanvasRenderingContext3D::vertexAttrib3f): 61421 (WebCore::CanvasRenderingContext3D::vertexAttrib3fv): 61422 (WebCore::CanvasRenderingContext3D::vertexAttrib4f): 61423 (WebCore::CanvasRenderingContext3D::vertexAttrib4fv): 61424 (WebCore::CanvasRenderingContext3D::vertexAttribPointer): 61425 (WebCore::CanvasRenderingContext3D::viewport): 61426 * html/canvas/CanvasRenderingContext3D.h: 61427 * html/canvas/CanvasRenderingContext3D.idl: 61428 * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61429 * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type. 61430 * html/canvas/CanvasShortArray.idl: Added. 61431 * html/canvas/CanvasTexture.cpp: 61432 (WebCore::CanvasTexture::CanvasTexture): 61433 * html/canvas/CanvasTexture.h: 61434 (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized): 61435 (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized): 61436 * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61437 * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type. 61438 * html/canvas/CanvasUnsignedByteArray.idl: Added. 61439 * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61440 * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type. 61441 * html/canvas/CanvasUnsignedIntArray.idl: Added. 61442 * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type. 61443 * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type. 61444 * html/canvas/CanvasUnsignedShortArray.idl: Added. 61445 * page/DOMWindow.idl: 61446 * platform/graphics/GraphicsContext3D.h: 61447 * platform/graphics/mac/GraphicsContext3DMac.cpp: 61448 (WebCore::GraphicsContext3D::beginPaint): 61449 (WebCore::GraphicsContext3D::endPaint): 61450 (WebCore::GraphicsContext3D::bindTexture): 61451 (WebCore::GraphicsContext3D::bufferData): 61452 (WebCore::GraphicsContext3D::bufferSubData): 61453 (WebCore::GraphicsContext3D::checkFramebufferStatus): 61454 (WebCore::GraphicsContext3D::drawArrays): 61455 (WebCore::GraphicsContext3D::drawElements): 61456 (WebCore::GraphicsContext3D::texParameterf): 61457 (WebCore::GraphicsContext3D::texParameteri): 61458 (WebCore::GraphicsContext3D::uniform1f): 61459 (WebCore::GraphicsContext3D::uniform1fv): 61460 (WebCore::GraphicsContext3D::uniform2f): 61461 (WebCore::GraphicsContext3D::uniform2fv): 61462 (WebCore::GraphicsContext3D::uniform3f): 61463 (WebCore::GraphicsContext3D::uniform3fv): 61464 (WebCore::GraphicsContext3D::uniform4f): 61465 (WebCore::GraphicsContext3D::uniform4fv): 61466 (WebCore::GraphicsContext3D::uniform1i): 61467 (WebCore::GraphicsContext3D::uniform1iv): 61468 (WebCore::GraphicsContext3D::uniform2i): 61469 (WebCore::GraphicsContext3D::uniform2iv): 61470 (WebCore::GraphicsContext3D::uniform3i): 61471 (WebCore::GraphicsContext3D::uniform3iv): 61472 (WebCore::GraphicsContext3D::uniform4i): 61473 (WebCore::GraphicsContext3D::uniform4iv): 61474 (WebCore::GraphicsContext3D::uniformMatrix2fv): 61475 (WebCore::GraphicsContext3D::uniformMatrix3fv): 61476 (WebCore::GraphicsContext3D::uniformMatrix4fv): 61477 (WebCore::GraphicsContext3D::vertexAttrib1f): 61478 (WebCore::GraphicsContext3D::vertexAttrib1fv): 61479 (WebCore::GraphicsContext3D::vertexAttrib2f): 61480 (WebCore::GraphicsContext3D::vertexAttrib2fv): 61481 (WebCore::GraphicsContext3D::vertexAttrib3f): 61482 (WebCore::GraphicsContext3D::vertexAttrib3fv): 61483 (WebCore::GraphicsContext3D::vertexAttrib4f): 61484 (WebCore::GraphicsContext3D::vertexAttrib4fv): 61485 (WebCore::GraphicsContext3D::vertexAttribPointer): 61486 (WebCore::GraphicsContext3D::getBoolean): 61487 (WebCore::GraphicsContext3D::getBooleanv): 61488 (WebCore::GraphicsContext3D::getFloat): 61489 (WebCore::GraphicsContext3D::getFloatv): 61490 (WebCore::GraphicsContext3D::getInteger): 61491 (WebCore::GraphicsContext3D::getIntegerv): 61492 (WebCore::GraphicsContext3D::getBufferParameteri): 61493 (WebCore::GraphicsContext3D::getBufferParameteriv): 61494 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri): 61495 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 61496 (WebCore::GraphicsContext3D::getProgrami): 61497 (WebCore::GraphicsContext3D::getProgramiv): 61498 (WebCore::GraphicsContext3D::getRenderbufferParameteri): 61499 (WebCore::GraphicsContext3D::getRenderbufferParameteriv): 61500 (WebCore::GraphicsContext3D::getShaderi): 61501 (WebCore::GraphicsContext3D::getShaderiv): 61502 (WebCore::GraphicsContext3D::getTexParameterf): 61503 (WebCore::GraphicsContext3D::getTexParameterfv): 61504 (WebCore::GraphicsContext3D::getTexParameteri): 61505 (WebCore::GraphicsContext3D::getTexParameteriv): 61506 (WebCore::GraphicsContext3D::getUniformf): 61507 (WebCore::GraphicsContext3D::getUniformfv): 61508 (WebCore::GraphicsContext3D::getUniformi): 61509 (WebCore::GraphicsContext3D::getUniformiv): 61510 (WebCore::GraphicsContext3D::getVertexAttribf): 61511 (WebCore::GraphicsContext3D::getVertexAttribfv): 61512 (WebCore::GraphicsContext3D::getVertexAttribi): 61513 (WebCore::GraphicsContext3D::getVertexAttribiv): 61514 (WebCore::GraphicsContext3D::getVertexAttribOffset): 61515 (WebCore::GraphicsContext3D::texImage2D): 61516 (WebCore::GraphicsContext3D::texSubImage2D): 61517 (WebCore::GraphicsContext3D::sizeInBytes): 61518 61519 2009-09-08 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 61520 61521 Reviewed by Timothy Hatcher. 61522 61523 Make m_windowVisible more consistent with the actual visibility of the inspector. 61524 61525 * inspector/InspectorController.cpp: 61526 (WebCore::InspectorController::setWindowVisible): 61527 61528 2009-09-07 Adam Barth <abarth (a] webkit.org> 61529 61530 Unreviewed speculative build fix for Snow Leopard. 61531 61532 * platform/GeolocationService.cpp: 61533 (WebCore::createGeolocationServiceNull): 61534 61535 2009-09-07 Steve Block <steveblock (a] google.com> 61536 61537 Reviewed by Adam Barth. 61538 61539 Adds a mock Geolocation service. This will be used to provide predictable behavior of the 61540 Geolocation API for use in LayoutTests. Later changes will integrate the the mock 61541 Geolocation service with DumpRenderTree. 61542 https://bugs.webkit.org/show_bug.cgi?id=28264 61543 61544 The mock Geolocation service returns a fixed position or error. This position or error can be 61545 set through static methods on the GeolocationService class. The position or error is shared 61546 between all instances of the mock Geolocation service. 61547 61548 Implementation details. 61549 The GeolocationService object maintains a pointer to a factory function which it uses to create 61550 Geolocation service instances. Each platform implementing Geolocation sets this pointer 61551 to the factory function for their platform's implementation. When the mock Geolocation service 61552 is activated, the factory function pointer is reset to the factory function for the mock service. 61553 61554 Test: fast/dom/Geolocation/error.html 61555 61556 * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods. 61557 * GNUMakefile.am: Modified. Added GeolocationServiceMock files. 61558 * WebCore.gypi: Modified. Added GeolocationServiceMock files. 61559 * WebCore.pro: Modified. Added GeolocationServiceMock files. 61560 * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files. 61561 * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes. 61562 * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers. 61563 * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files. 61564 * page/ChromeClient.h: Modified. Fixed comment. 61565 * page/Geolocation.cpp: Modified. 61566 (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string. 61567 * platform/GeolocationService.cpp: Modified. 61568 (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented. 61569 (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation. 61570 (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation. 61571 * platform/GeolocationService.h: Modified. 61572 * platform/mock: Added. 61573 * platform/mock/GeolocationServiceMock.cpp: Added. 61574 (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object. 61575 (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor. 61576 (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor. 61577 (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object. 61578 (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object. 61579 (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service. 61580 (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service. 61581 (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started. 61582 (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated. 61583 (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts. 61584 (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors. 61585 (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors. 61586 * platform/mock/GeolocationServiceMock.h: Added. 61587 (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position. 61588 (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error. 61589 * platform/gtk/GeolocationServiceGtk.cpp: Modified. 61590 (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk. 61591 * platform/gtk/GeolocationServiceGtk.h: Modified. 61592 * platform/mac/GeolocationServiceMac.h: Modified. 61593 * platform/mac/GeolocationServiceMac.mm: Modified. 61594 (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac. 61595 61596 2009-09-07 Adam Barth <abarth (a] webkit.org> 61597 61598 Reviewed by Dimitri Glazkov. 61599 61600 https://bugs.webkit.org/show_bug.cgi?id=28985 61601 61602 We need to be slightly more careful about how we pick up a script 61603 execution context. In particular, we were getting the wrong document 61604 for frames that had been navigated somewhere else. 61605 61606 In the long term, we should think about a better algorithm for 61607 computing the script context. 61608 61609 Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html 61610 61611 * bindings/v8/V8Proxy.cpp: 61612 (WebCore::V8Proxy::retrieveFrame): 61613 61614 2009-09-07 Kevin Ollivier <kevino (a] theolliviers.com> 61615 61616 wx build fix for 2.8 compilation. 61617 61618 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: 61619 (wxRenderer_DrawScrollbar): 61620 61621 2009-09-07 Drew Wilson <atwilson (a] google.com> 61622 61623 Unreviewed build fix. 61624 61625 Reverting r48121 to fix Windows build errors. 61626 61627 * DerivedSources.cpp: 61628 * GNUmakefile.am: 61629 * WebCore.xcodeproj/project.pbxproj: 61630 * bindings/js/JSDOMWindowCustom.cpp: 61631 * bindings/js/JSEventTarget.cpp: 61632 (WebCore::toJS): 61633 (WebCore::toEventTarget): 61634 * dom/EventTarget.cpp: 61635 * dom/EventTarget.h: 61636 * page/DOMWindow.idl: 61637 * websockets/WebSocket.cpp: 61638 (WebCore::WebSocket::connect): 61639 (WebCore::WebSocket::send): 61640 (WebCore::WebSocket::close): 61641 (WebCore::WebSocket::bufferedAmount): 61642 (WebCore::WebSocket::addEventListener): 61643 (WebCore::WebSocket::removeEventListener): 61644 (WebCore::WebSocket::dispatchEvent): 61645 (WebCore::WebSocket::didConnect): 61646 (WebCore::WebSocket::didReceiveMessage): 61647 (WebCore::WebSocket::didClose): 61648 (WebCore::WebSocket::dispatchOpenEvent): 61649 (WebCore::WebSocket::dispatchMessageEvent): 61650 (WebCore::WebSocket::dispatchCloseEvent): 61651 * websockets/WebSocket.h: 61652 (WebCore::WebSocket::create): 61653 (WebCore::WebSocket::): 61654 (WebCore::WebSocket::setOnopen): 61655 (WebCore::WebSocket::onopen): 61656 (WebCore::WebSocket::setOnmessage): 61657 (WebCore::WebSocket::onmessage): 61658 (WebCore::WebSocket::setOnclose): 61659 (WebCore::WebSocket::onclose): 61660 (WebCore::WebSocket::toWebSocket): 61661 (WebCore::WebSocket::refEventTarget): 61662 (WebCore::WebSocket::derefEventTarget): 61663 * websockets/WebSocketChannel.cpp: Removed. 61664 * websockets/WebSocketChannel.h: Removed. 61665 * websockets/WebSocketChannelClient.h: Removed. 61666 * websockets/WebSocketHandshake.cpp: Removed. 61667 * websockets/WebSocketHandshake.h: Removed. 61668 61669 2009-09-07 Drew Wilson <atwilson (a] google.com> 61670 61671 Unreviewed speculative build fix. 61672 61673 Reverted previous build fix as it didn't fix the problem. 61674 61675 * bindings/js/JSEventTarget.cpp: 61676 (WebCore::toEventTarget): 61677 61678 2009-09-07 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 61679 61680 Unreviewed, build fix. 61681 61682 [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131) 61683 61684 * WebCore.pro: 61685 61686 2009-09-07 Drew Wilson <atwilson (a] google.com> 61687 61688 Unreviewed build fix. 61689 61690 Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break. 61691 61692 * bindings/js/JSEventTarget.cpp: 61693 (WebCore::toEventTarget): 61694 61695 2009-09-07 Drew Wilson <atwilson (a] google.com> 61696 61697 Reviewed by David Levin. 61698 61699 Enable SHARED_WORKERS by default. 61700 https://bugs.webkit.org/show_bug.cgi?id=28959 61701 61702 Tests (enabled in a separate patch): 61703 fast/workers/shared-worker-constructor.html 61704 fast/workers/shared-worker-context-gc.html 61705 fast/workers/shared-worker-event-listener.html 61706 fast/workers/shared-worker-exception.html 61707 fast/workers/shared-worker-frame-lifecycle.html 61708 fast/workers/shared-worker-gc.html 61709 fast/workers/shared-worker-lifecycle.html 61710 fast/workers/shared-worker-load-error.html 61711 fast/workers/shared-worker-location.html 61712 fast/workers/shared-worker-navigator.html 61713 fast/workers/shared-worker-replace-global-constructor.html 61714 fast/workers/shared-worker-replace-self.html 61715 fast/workers/shared-worker-shared.html 61716 fast/workers/shared-worker-simple.html 61717 http/tests/workers/shared-worker-importScripts.html 61718 http/tests/workers/shared-worker-redirect.html 61719 http/tests/xmlhttprequest/workers/shared-worker-close.html 61720 http/tests/xmlhttprequest/workers/shared-worker-methods-async.html 61721 http/tests/xmlhttprequest/workers/shared-worker-methods.html 61722 http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html 61723 61724 * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots. 61725 * Configurations/FeatureDefines.xcconfig: 61726 * WebCore.pro: 61727 * WebCore.vcproj/WebCoreCommon.vsprops: 61728 * WebCore.vcproj/build-generated-files.sh: 61729 * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change. 61730 * workers/DefaultSharedWorkerRepository.cpp: 61731 (WebCore::SharedWorkerScriptLoader::load): 61732 Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests. 61733 * workers/SharedWorkerContext.cpp: 61734 (WebCore::SharedWorkerContext::dispatchConnect): 61735 Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API. 61736 61737 2009-09-07 Xan Lopez <xlopez (a] igalia.com> 61738 61739 Unreviewed build fix. 61740 61741 Add new file to sources list. 61742 61743 * GNUmakefile.am: 61744 61745 2009-09-07 Kevin Ollivier <kevino (a] theolliviers.com> 61746 61747 wx build fixes for wx SVN trunk. 61748 61749 * config.h: 61750 * platform/wx/RenderThemeWx.cpp: 61751 (WebCore::RenderThemeWx::paintButton): 61752 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: 61753 (WebCore::drawTextWithSpacing): 61754 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: 61755 (wxRenderer_DrawScrollbar): 61756 61757 2009-09-07 Chris Hills <chaz (a] chaz6.com> 61758 61759 Reviewed by Tor Arne Vestb. 61760 61761 [Qt] Use direct includes for Phonon, not the pretty ones 61762 61763 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 61764 61765 2009-09-07 Fumitoshi Ukai <ukai (a] chromium.org> 61766 61767 Reviewed by Alexey Proskuryakov. 61768 61769 WebSocket API implementation. 61770 https://bugs.webkit.org/show_bug.cgi?id=28038 61771 61772 Add build systems only for GNUmakefile.am and WebCore.xcodeproj now. 61773 Other build systems will be updated once the code is functional. 61774 Tests will be landed once the code is completed and functional. 61775 61776 * DerivedSources.cpp: 61777 * GNUmakefile.am: 61778 * WebCore.xcodeproj/project.pbxproj: 61779 * bindings/js/JSDOMWindowCustom.cpp: 61780 (WebCore::JSDOMWindow::webSocket): 61781 * bindings/js/JSEventTarget.cpp: 61782 (WebCore::toJS): 61783 (WebCore::toEventTarget): 61784 * dom/EventTarget.cpp: 61785 (WebCore::EventTarget::toWebSocket): 61786 * dom/EventTarget.h: 61787 * page/DOMWindow.idl: 61788 * websockets/WebSocket.cpp: 61789 (WebCore::ProcessWebSocketEventTask::create): 61790 (WebCore::ProcessWebSocketEventTask::performTask): 61791 (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask): 61792 (WebCore::isValidProtocolString): 61793 (WebCore::WebSocket::connect): 61794 (WebCore::WebSocket::send): 61795 (WebCore::WebSocket::close): 61796 (WebCore::WebSocket::bufferedAmount): 61797 (WebCore::WebSocket::addEventListener): 61798 (WebCore::WebSocket::removeEventListener): 61799 (WebCore::WebSocket::dispatchEvent): 61800 (WebCore::WebSocket::didConnect): 61801 (WebCore::WebSocket::didReceiveMessage): 61802 (WebCore::WebSocket::didClose): 61803 (WebCore::WebSocket::dispatchOpenEvent): 61804 (WebCore::WebSocket::dispatchMessageEvent): 61805 (WebCore::WebSocket::dispatchCloseEvent): 61806 * websockets/WebSocket.h: 61807 (WebCore::WebSocket::create): 61808 (WebCore::WebSocket::): 61809 (WebCore::WebSocket::setOnopen): 61810 (WebCore::WebSocket::onopen): 61811 (WebCore::WebSocket::setOnmessage): 61812 (WebCore::WebSocket::onmessage): 61813 (WebCore::WebSocket::setOnclose): 61814 (WebCore::WebSocket::onclose): 61815 (WebCore::WebSocket::toWebSocket): 61816 (WebCore::WebSocket::eventListeners): 61817 (WebCore::WebSocket::refEventTarget): 61818 (WebCore::WebSocket::derefEventTarget): 61819 * websockets/WebSocketChannel.cpp: Added. 61820 * websockets/WebSocketChannel.h: Added. 61821 * websockets/WebSocketChannelClient.h: Added. 61822 * websockets/WebSocketHandshake.cpp: Added. 61823 * websockets/WebSocketHandshake.h: Added. 61824 61825 2009-09-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 61826 61827 Reviewed by Xan Lopez. 61828 61829 https://bugs.webkit.org/show_bug.cgi?id=26854 61830 [GTK] Needs API to allow more control over outgoing requests 61831 61832 Add infrastructure required to provide the new 61833 WebKitNetworkResponse object in our API. 61834 61835 * GNUmakefile.am: Add new files to the build. 61836 * platform/network/soup/ResourceRequestSoup.cpp: 61837 (WebCore::ResourceRequest::updateFromSoupMessage): 61838 * platform/network/soup/ResourceResponse.h: 61839 * platform/network/soup/ResourceResponseSoup.cpp: Added. 61840 (WebCore::ResourceResponse::toSoupMessage): 61841 61842 2009-09-07 Mads Ager <ager (a] chromium.org> 61843 61844 Reviewed by Adam Barth. 61845 61846 [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp 61847 https://bugs.webkit.org/show_bug.cgi?id=29009 61848 61849 Be consistent in document and frame null checks. 61850 61851 * bindings/v8/custom/V8DOMWindowCustom.cpp: 61852 (WebCore::V8Custom::WindowSetTimeoutImpl): 61853 (WebCore::ACCESSOR_GETTER): 61854 (WebCore::ACCESSOR_SETTER): 61855 (WebCore::CALLBACK_FUNC_DECL): 61856 (WebCore::NAMED_PROPERTY_GETTER): 61857 (WebCore::V8Custom::ClearTimeoutImpl): 61858 61859 2009-09-07 Xan Lopez <xlopez (a] igalia.com> 61860 61861 Reviewed by Gustavo Noronha. 61862 61863 [Soup] Limit the number of connections 61864 https://bugs.webkit.org/show_bug.cgi?id=18431 61865 61866 Increase the maximum number of per host and total connections to 61867 similar values than those used by the other modern browsers. Seems 61868 to significantly improve page loading time in many cases. 61869 61870 * platform/network/soup/ResourceHandleSoup.cpp: 61871 (WebCore::ensureSessionIsInitialized): 61872 61873 2009-09-07 Michael Nordman <michaeln (a] google.com> 61874 61875 Reviewed by Darin Fisher. 61876 61877 Various minor chromium appcache modifications. 61878 https://bugs.webkit.org/show_bug.cgi?id=28960 61879 61880 No new tests. 61881 61882 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 61883 Fix a null pointer exception. 61884 (WebCore::ACCESSOR_GETTER): 61885 * platform/network/chromium/ResourceRequest.h: 61886 Switch from appCache 'context' to 'host' terminology. 61887 Note: leaving the old deprecated accessors in place until the matching 61888 change in chrome is landed to use the new accessors. 61889 (WebCore::ResourceRequest::ResourceRequest): 61890 (WebCore::ResourceRequest::appCacheHostID): 61891 (WebCore::ResourceRequest::setAppCacheHostID): 61892 (WebCore::ResourceRequest::appCacheContextID): 61893 (WebCore::ResourceRequest::setAppCacheContextID): 61894 * platform/network/chromium/ResourceResponse.h: 61895 Add an appCacheManifestURL getter/setter. 61896 Drop the 'get' prefix from the appCacheID getter. 61897 Note: leaving the old deprecated 'get' prefixed accessor in place until the matching 61898 change in chrome is landed to use the new accessor. 61899 (WebCore::ResourceResponse::appCacheID): 61900 (WebCore::ResourceResponse::appCacheManifestURL): 61901 (WebCore::ResourceResponse::setAppCacheManifestURL): 61902 (WebCore::ResourceResponse::getAppCacheID): 61903 61904 2009-09-07 Michael Nordman <michaeln (a] google.com> 61905 61906 Reviewed by Alexey Proskuryakov. 61907 61908 https://bugs.webkit.org/show_bug.cgi?id=28359 61909 Cleanup: Undo some accidental changes around DOMApplicationCache. 61910 - Restore support for constructing a DOMApplicationCache object with a null frame ptr. 61911 - Return a non-null object for window.applicationCache when the feature is disabled. 61912 - Simplify the swapCache method. 61913 61914 Test: http/tests/appcache/disabled.html 61915 61916 * loader/appcache/DOMApplicationCache.cpp: 61917 (WebCore::DOMApplicationCache::DOMApplicationCache): 61918 (WebCore::DOMApplicationCache::swapCache): 61919 (WebCore::DOMApplicationCache::scriptExecutionContext): 61920 * loader/appcache/DOMApplicationCache.h: 61921 * page/DOMWindow.cpp: 61922 (WebCore::DOMWindow::applicationCache): 61923 61924 2009-09-06 Yael Aharon <yael.aharon (a] nokia.com> 61925 61926 Reviewed by Darin Adler. 61927 61928 hostname and host are mixed up when manipulating anchor elements. 61929 https://bugs.webkit.org/show_bug.cgi?id=28954 61930 61931 handle the case of port 0. 61932 61933 * html/HTMLAnchorElement.cpp: 61934 (WebCore::HTMLAnchorElement::host): 61935 61936 2009-09-06 Erik Arvidsson <arv (a] chromium.org> 61937 61938 Reviewed by Eric Seidel. 61939 61940 Make hidden elements not focusable. 61941 61942 Clean up supportsFocus and isFocusable. 61943 supportsFocus now strictly means that the node can be focused by default. 61944 This is true for links, form controls and content editable elements for example. 61945 isFocusable means that the user can actually focus it. 61946 All (2) calls to supportsFocus have been updated to take this into account. 61947 61948 Make a elements without href work correctly as well. 61949 61950 https://bugs.webkit.org/show_bug.cgi?id=27099 61951 61952 Tests: fast/events/click-focus-anchor.html 61953 fast/events/tab-focus-anchor.html 61954 fast/events/tab-focus-hidden.html 61955 61956 * dom/Element.cpp: 61957 (WebCore::Element::focus): 61958 * dom/Node.cpp: 61959 (WebCore::Node::supportsFocus): 61960 (WebCore::Node::isFocusable): 61961 * dom/Node.h: 61962 * html/HTMLAnchorElement.cpp: 61963 (WebCore::HTMLAnchorElement::supportsFocus): 61964 (WebCore::HTMLAnchorElement::isMouseFocusable): 61965 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 61966 * html/HTMLAnchorElement.h: 61967 * html/HTMLAreaElement.cpp: 61968 (WebCore::HTMLAreaElement::supportsFocus): 61969 * html/HTMLAreaElement.h: 61970 * html/HTMLElement.cpp: 61971 (WebCore::HTMLElement::supportsFocus): 61972 * html/HTMLElement.h: 61973 * html/HTMLFieldSetElement.cpp: 61974 (WebCore::HTMLFieldSetElement::supportsFocus): 61975 * html/HTMLFieldSetElement.h: 61976 * html/HTMLFormControlElement.cpp: 61977 (WebCore::HTMLFormControlElement::supportsFocus): 61978 (WebCore::HTMLFormControlElement::isFocusable): 61979 * html/HTMLFrameElementBase.cpp: 61980 (WebCore::HTMLFrameElementBase::supportsFocus): 61981 * html/HTMLFrameElementBase.h: 61982 * html/HTMLLegendElement.cpp: 61983 (WebCore::HTMLLegendElement::supportsFocus): 61984 * html/HTMLLegendElement.h: 61985 * html/HTMLOptGroupElement.cpp: 61986 (WebCore::HTMLOptGroupElement::supportsFocus): 61987 (WebCore::HTMLOptGroupElement::isFocusable): 61988 * html/HTMLOptGroupElement.h: 61989 * html/HTMLOptionElement.cpp: 61990 (WebCore::HTMLOptionElement::supportsFocus): 61991 (WebCore::HTMLOptionElement::isFocusable): 61992 * html/HTMLOptionElement.h: 61993 * page/EventHandler.cpp: 61994 (WebCore::EventHandler::dispatchMouseEvent): 61995 * page/FocusController.cpp: 61996 (WebCore::FocusController::advanceFocus): 61997 * svg/SVGAElement.cpp: 61998 (WebCore::SVGAElement::supportsFocus): 61999 (WebCore::SVGAElement::isFocusable): 62000 * wml/WMLAElement.cpp: 62001 (WebCore::WMLAElement::supportsFocus): 62002 * wml/WMLAElement.h: 62003 * wml/WMLFormControlElement.cpp: 62004 (WebCore::WMLFormControlElement::supportsFocus): 62005 (WebCore::WMLFormControlElement::isFocusable): 62006 * wml/WMLFormControlElement.h: 62007 62008 2009-09-06 Joel Stanley <joel (a] jms.id.au> 62009 62010 Reviewed by Dimitri Glazkov. 62011 62012 Expose functions to set the caret blink interval for Linux Chromium. 62013 Default value is set to that of RenderTheme::caretBlankInterval(). 62014 Uses caretBlinkIntervalInternal to avoid overriding 62015 RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling 62016 of blinking caret required for layout tests. 62017 https://bugs.webkit.org/show_bug.cgi?id=28931 62018 62019 * rendering/RenderThemeChromiumLinux.cpp: 62020 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux): 62021 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval): 62022 (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal): 62023 * rendering/RenderThemeChromiumLinux.h: 62024 62025 2009-09-06 Ada Chan <adachan (a] apple.com> 62026 62027 Remove an extra </File> in WebCore.vcproj. 62028 62029 * WebCore.vcproj/WebCore.vcproj: 62030 62031 2009-09-06 Timothy Hatcher <timothy (a] apple.com> 62032 62033 Adds a persistent setting for color format in the Web Inspector. 62034 62035 https://bugs.webkit.org/show_bug.cgi?id=28889 62036 62037 Reviewed by Dan Bernstein. 62038 62039 * English.lproj/localizedStrings.js: New strings. 62040 * inspector/front-end/Color.js: Minor style fixes. 62041 (WebInspector.Color.prototype.toString): Added. Replaces the individual 62042 "toFoo" functions. Takes a optional arguments for the color format to return. 62043 * inspector/front-end/Images/paneSettingsButtons.png: Added. 62044 * inspector/front-end/StylesSidebarPane.js: 62045 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show 62046 the new color format. 62047 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): 62048 Use the new toString function on Color. 62049 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting 62050 to format colors by default. Add a tooltip for the color swatch. 62051 * inspector/front-end/inspector.css: New styles for the settings menu. 62052 * inspector/front-end/inspector.js: 62053 (WebInspector.loaded): Initilize the colorFormat preference. 62054 62055 2009-09-06 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 62056 62057 Reviewed by Eric Seidel. 62058 62059 [Qt] Remove Qt v4.6 check from the prefetchDNS implementation 62060 https://bugs.webkit.org/show_bug.cgi?id=28993 62061 62062 * platform/network/qt/DnsPrefetchHelper.cpp: 62063 * platform/network/qt/DnsPrefetchHelper.h: 62064 62065 2009-09-06 Cameron McCormack <cam (a] mcc.id.au> 62066 62067 Reviewed by Eric Seidel. 62068 62069 Drop <definition-src> support 62070 https://bugs.webkit.org/show_bug.cgi?id=28991 62071 62072 http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter 62073 62074 * DerivedSources.cpp: Remove references to definition-src. 62075 * DerivedSources.make: Ditto. 62076 * GNUmakefile.am: Ditto. 62077 * WebCore.gypi: Ditto. 62078 * WebCore.pro: Ditto. 62079 * WebCore.vcproj/WebCore.vcproj: Ditto. 62080 * WebCore.xcodeproj/project.pbxproj: Ditto. 62081 * bindings/objc/DOM.mm: 62082 (WebCore::createElementClassMap): Ditto. 62083 * bindings/objc/DOMSVG.h: Ditto. 62084 * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto. 62085 * bindings/v8/V8DOMWrapper.cpp: Ditto. 62086 * bindings/v8/V8Index.cpp: Ditto. 62087 * bindings/v8/V8Index.h: Ditto. 62088 * svg/SVGAllInOne.cpp: Ditto. 62089 * svg/SVGDefinitionSrcElement.cpp: Removed. 62090 * svg/SVGDefinitionSrcElement.h: Removed. 62091 * svg/SVGDefinitionSrcElement.idl: Removed. 62092 * svg/SVGFontFaceElement.cpp: 62093 (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for 62094 definition-src child. 62095 * svg/svgtags.in: Remove definition-src. 62096 62097 2009-09-05 Dimitri Glazkov <dglazkov (a] chromium.org> 62098 62099 Unreviewed, build fix. 62100 62101 [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the 62102 logic of retrieving default caret blink interval was incorrect (non-existent) 62103 and caused layout test flakiness. 62104 62105 * rendering/RenderThemeChromiumLinux.cpp: 62106 * rendering/RenderThemeChromiumLinux.h: 62107 62108 2009-09-05 Jian Li <jianli (a] chromium.org> 62109 62110 Reviewed by NOBODY (Chromium reliability build break). 62111 62112 Back up partial change in r48072 in order to fix chromium reliability build break. 62113 62114 * bindings/v8/V8AbstractEventListener.cpp: 62115 (WebCore::V8AbstractEventListener::invokeEventHandler): 62116 62117 2009-09-05 Nicolas Weber <thakis (a] chromium.org> 62118 62119 Reviewed by Darin Fisher. 62120 62121 https://bugs.webkit.org/show_bug.cgi?id=28975 62122 Fix file upload on chrome/mac. Images that have "Hide Extension" set, 62123 such as screenshots by default, can now be uploaded to sites such as 62124 imgur.com. 62125 62126 * platform/FileSystem.h: 62127 Add pathGetDisplayFileName(). 62128 * platform/chromium/FileChooserChromium.cpp: 62129 (WebCore::FileChooser::basenameForWidth): 62130 Call pathGetDisplayFileName() instead of pathGetFileName(). 62131 * platform/chromium/FileSystemChromiumLinux.cpp: 62132 (WebCore::pathGetDisplayFileName): 62133 Implement pathGetDisplayFileName() by delegating to pathGetFileName(). 62134 * platform/chromium/FileSystemChromiumMac.mm: 62135 (WebCore::pathGetFileName): 62136 Now returns a real filename instead of a presentational one, which 62137 fixes the problem addressed by this change. 62138 (WebCore::pathGetDisplayFileName): 62139 New function that returns a presentational filename; does what 62140 pathGetDisplayFileName() did prior to this patch. 62141 * platform/chromium/FileSystemChromiumWin.cpp: 62142 (WebCore::pathGetDisplayFileName): 62143 Implement pathGetDisplayFileName() by delegating to pathGetFileName(). 62144 62145 2009-09-05 Joel Stanley <joel (a] jms.id.au> 62146 62147 Reviewed by David Levin. 62148 62149 Expose functions to set the caret blink interval for Linux Chromium. 62150 https://bugs.webkit.org/show_bug.cgi?id=28931 62151 62152 * rendering/RenderThemeChromiumLinux.cpp: 62153 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval): 62154 (WebCore::RenderThemeChromiumLinux::caretBlinkInterval): 62155 * rendering/RenderThemeChromiumLinux.h: 62156 62157 2009-09-04 Dmitry Titov <dimich (a] chromium.org> 62158 62159 Reviewed by David Levin. 62160 62161 Prevent UI freeze in case when too many timers are in the timer queue. 62162 https://bugs.webkit.org/show_bug.cgi?id=23865 62163 62164 The fix measures the elapsed time while executing timers. If we have too many 62165 timers and it takes significant time to fire, quit the loop and reschedule. 62166 This lets the run loop process user input (close the window for example). 62167 62168 * platform/ThreadTimers.h: 62169 * platform/ThreadTimers.cpp: 62170 (WebCore::ThreadTimers::sharedTimerFiredInternal): 62171 (WebCore::ThreadTimers::fireTimersInNestedEventLoop): 62172 Removed functions and members used before to grab a list of all expired timers. 62173 Now we fetch one by one, measuring time and quitting the loop if it takes too long. 62174 * platform/Timer.cpp: 62175 (WebCore::TimerBase::isActive): 62176 (WebCore::TimerBase::setNextFireTime): 62177 Since timers are now fired one by one, there is no need to keep track of updated timers. 62178 * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by 62179 creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers 62180 so the browser un-freezes. This is instead of a regular layout test because we don't have a way 62181 to inject an input events via regular run loop in DRT - instead they are directly dispatched by 62182 eventSender, which does not reproduce the UI freeze that happens with real input. 62183 62184 2009-09-04 Anders Carlsson <andersca (a] apple.com> 62185 62186 Reviewed by Adele Peterson. 62187 62188 <rdar://problem/7201063> 62189 62190 Detach any custom scrollbars before detaching the document. 62191 62192 * page/Frame.cpp: 62193 (WebCore::Frame::setView): 62194 62195 2009-09-04 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 62196 62197 Unreviewed, build fix. 62198 62199 Remove remaining references to UserStyleSheetLoader after r48075. 62200 62201 * WebCore.gypi: 62202 * WebCore.xcodeproj/project.pbxproj: 62203 * page/qt/FrameQt.cpp: 62204 * page/wince/FrameWince.cpp: 62205 62206 2009-09-04 Michelangelo De Simone <micdesim (a] gmail.com> 62207 62208 Reviewed by David Levin. 62209 62210 https://bugs.webkit.org/show_bug.cgi?id=28988 62211 Minor fix: "novalidate" attribute renamed in "noValidate", according to 62212 HTML5 specs: 62213 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate 62214 62215 * html/HTMLFormElement.cpp: 62216 (WebCore::HTMLFormElement::noValidate): 62217 (WebCore::HTMLFormElement::setNoValidate): 62218 * html/HTMLFormElement.h: 62219 * html/HTMLFormElement.idl: 62220 62221 2009-09-04 Dmitry Titov <dimich (a] chromium.org> 62222 62223 Reviewed by David Levin. 62224 62225 Remove unused line of code from WorkerContext 62226 https://bugs.webkit.org/show_bug.cgi?id=28990 62227 62228 * workers/WorkerContext.cpp: 62229 (WebCore::WorkerContext::importScripts): 62230 62231 2009-09-04 Darin Adler <darin (a] apple.com> 62232 62233 Reviewed by Oliver Hunt. 62234 62235 Fix assertion seen when running buildbot. 62236 62237 * bindings/js/JSDOMBinding.h: 62238 (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without 62239 the HasDefaultMark bit since this has a custom mark function. 62240 62241 2009-09-04 Dave Hyatt <hyatt (a] apple.com> 62242 62243 Reviewed by Adam Roben. 62244 62245 https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt. 62246 Make sure the other code path (now used by everybody) can handle data URLs. 62247 62248 As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't 62249 hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely 62250 that anybody is relying on this support. 62251 62252 Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this 62253 code. 62254 62255 * WebCore.pro: 62256 * WebCore.xcodeproj/project.pbxproj: 62257 * dom/Document.cpp: 62258 (WebCore::Document::userStyleSheet): 62259 * dom/Document.h: 62260 * loader/FrameLoader.cpp: 62261 (WebCore::FrameLoader::begin): 62262 * loader/UserStyleSheetLoader.cpp: Removed. 62263 * loader/UserStyleSheetLoader.h: Removed. 62264 * page/Frame.cpp: 62265 (WebCore::Frame::reapplyStyles): 62266 * page/Frame.h: 62267 * page/Page.cpp: 62268 (WebCore::Page::userStyleSheetLocationChanged): 62269 (WebCore::Page::userStyleSheet): 62270 * page/mac/FrameMac.mm: 62271 * page/qt/FrameQt.cpp: 62272 62273 2009-09-04 Mikhail Naganov <mnaganov (a] chromium.org> 62274 62275 Reviewed by Timothy Hatcher. 62276 62277 Add "sampling profiler" preference, simplify data display when it's set. 62278 62279 https://bugs.webkit.org/show_bug.cgi?id=28969 62280 62281 * inspector/front-end/ProfileDataGridTree.js: 62282 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): 62283 (WebInspector.ProfileDataGridNode.prototype.get data): 62284 * inspector/front-end/ProfileView.js: 62285 (WebInspector.ProfileView): 62286 * inspector/front-end/inspector.js: 62287 62288 2009-09-04 Jian Li <jianli (a] chromium.org> 62289 62290 Reviewed by Adam Barth. 62291 62292 [V8] Run-time exception in onmessage handler is not forwarded to the worker object. 62293 https://bugs.webkit.org/show_bug.cgi?id=28980 62294 62295 Tested by worker-close.html. 62296 62297 * bindings/v8/ScriptFunctionCall.cpp: 62298 * bindings/v8/V8AbstractEventListener.cpp: 62299 (WebCore::V8AbstractEventListener::invokeEventHandler): 62300 * bindings/v8/V8Utilities.cpp: 62301 (WebCore::getScriptExecutionContext): 62302 (WebCore::reportException): 62303 * bindings/v8/V8Utilities.h: 62304 (WebCore::getScriptExecutionContext): 62305 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 62306 (WebCore::CALLBACK_FUNC_DECL): 62307 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 62308 (WebCore::CALLBACK_FUNC_DECL): 62309 * bindings/v8/custom/V8WorkerCustom.cpp: 62310 (WebCore::CALLBACK_FUNC_DECL): 62311 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 62312 (WebCore::CALLBACK_FUNC_DECL): 62313 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 62314 (WebCore::CALLBACK_FUNC_DECL): 62315 62316 2009-09-04 Dave Hyatt <hyatt (a] apple.com> 62317 62318 Reviewed by Anders Carlsson. 62319 62320 Remove unused m_sheet variable and setCSSStyleSheet methods. 62321 62322 * dom/Document.cpp: 62323 * dom/Document.h: 62324 62325 2009-09-04 Anders Carlsson <andersca (a] apple.com> 62326 62327 Reviewed by David Hyatt and Adele Peterson. 62328 62329 (Based on a patch from Adele). 62330 62331 Fix <rdar://problem/7185875>. 62332 62333 * page/Frame.cpp: 62334 (WebCore::Frame::setView): 62335 Detach any custom scroll bars from the old view. 62336 62337 * page/FrameView.cpp: 62338 (WebCore::FrameView::detachCustomScrollbars): 62339 Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is 62340 not a RenderPart object. 62341 62342 * rendering/RenderObject.cpp: 62343 (WebCore::RenderObject::destroy): 62344 ASSERT that frame() is not null here and also add a null check so that release builds won't crash. 62345 62346 2009-09-04 Dave Hyatt <hyatt (a] apple.com> 62347 62348 Reviewed by Adam Roben. 62349 62350 Make m_userStyleSheetLoader in Frame an OwnPtr. 62351 62352 * page/Frame.cpp: 62353 (WebCore::Frame::Frame): 62354 (WebCore::Frame::~Frame): 62355 * page/Frame.h: 62356 * page/mac/FrameMac.mm: 62357 (WebCore::Frame::setUserStyleSheetLocation): 62358 (WebCore::Frame::setUserStyleSheet): 62359 62360 2009-09-04 Timothy Hatcher <timothy (a] apple.com> 62361 62362 Show color swatches in the Web Inspector before the color text so clicking them will not 62363 shift the swatch. Also makes multiple swatches in the single property toggle the color format. 62364 62365 https://bugs.webkit.org/show_bug.cgi?id=28978 62366 62367 Reviewed by Darin Adler. 62368 62369 * inspector/front-end/StylesSidebarPane.js: 62370 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate 62371 the processing we do on the property value. This eliminated the old nickname code, since the new 62372 WebInspector.Color class handles this. We could also simplify the color regex since more 62373 is handled by the Color class. Also no longer uses innerHTML for the linkify code. 62374 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to 62375 process a value given a regex and processor functions. 62376 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the 62377 URL with "url()" syntax surrounding it. 62378 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if 62379 there was an exception just return a text node. 62380 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo): 62381 Moved from later in the file. 62382 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto. 62383 * inspector/front-end/inspector.css: 62384 62385 2009-09-04 Mark Mentovai <mark (a] chromium.org> 62386 62387 Reviewed by Dave Hyatt. 62388 62389 https://bugs.webkit.org/show_bug.cgi?id=28614 62390 62391 Account for scrollbar state changes that occur during layout. 62392 62393 * platform/ScrollView.cpp: 62394 (WebCore::ScrollView::updateScrollbars): 62395 62396 Perform a layout prior to checking whether the scrollbar modes are 62397 off, on, or automatic. The modes may change during layout. 62398 62399 * WebCore.base.exp: 62400 * WebCore.order: 62401 * page/Frame.cpp: 62402 (WebCore::Frame::createView): 62403 * page/FrameView.cpp: 62404 (WebCore::FrameView::FrameView): 62405 (WebCore::FrameView::resetScrollbars): 62406 (WebCore::FrameView::layout): 62407 * page/FrameView.h: 62408 * platform/ScrollView.h: 62409 62410 Eliminate duplicated (and incorrect) scrollbar mode tracking between 62411 FrameView and ScrollView. 62412 62413 2009-09-04 Yael Aharon <yael.aharon (a] nokia.com> 62414 62415 Reviewed by Darin Adler. 62416 62417 hostname and host are mixed up when manipulating anchor elements. 62418 https://bugs.webkit.org/show_bug.cgi?id=28954 62419 62420 Swapped the implementation of host and hostname, and made sure not to return 62421 the port number if it is default for the given protocol. 62422 FireFox also avoids returning the protocol number if it is default. 62423 62424 Test: fast/dom/Element/hostname-host.html 62425 62426 * html/HTMLAnchorElement.cpp: 62427 (WebCore::HTMLAnchorElement::host): 62428 (WebCore::HTMLAnchorElement::hostname): 62429 * page/SecurityOrigin.cpp: 62430 (WebCore::SecurityOrigin::isDefaultPortForProtocol): 62431 * page/SecurityOrigin.h: 62432 62433 2009-09-04 Anders Carlsson <andersca (a] apple.com> 62434 62435 Reviewed by Darin Adler and Steve Falkenburg. 62436 62437 Fix <rdar://problem/7192902>. 62438 62439 Add the necessary plumbing for having QTMovieWin use WebCore timers. 62440 62441 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 62442 (WebCore::TaskTimer::initialize): 62443 Create the timer and call QTMovieWin::setTaskTimerFuncs. 62444 62445 (WebCore::TaskTimer::setTaskTimerDelay): 62446 Start the timer. 62447 62448 (WebCore::TaskTimer::stopTaskTimer): 62449 Stop the timer. 62450 62451 (WebCore::TaskTimer::fired): 62452 Call QTMovieWin::taskTimerFired(). 62453 62454 (WebCore::MediaPlayerPrivate::load): 62455 Initialize the Task timer. 62456 62457 * platform/graphics/win/QTMovieWin.cpp: 62458 (updateTaskTimer): 62459 Call the global stopTaskTimer function and setTaskTimerDelay. 62460 62461 (QTMovieWin::taskTimerFired): 62462 Make this a member function. 62463 62464 (QTMovieWin::setTaskTimerFuncs): 62465 Set the global function pointers. 62466 62467 (QTMovieWin::initializeQuickTime): 62468 (DllMain): 62469 No need to use the QT shared timer. 62470 * platform/graphics/win/QTMovieWin.h: 62471 62472 2009-09-04 Tony Chang <tony (a] chromium.org> 62473 62474 Reviewed by David Levin. 62475 62476 Fix Chromium Win compile. Missing return statement in 62477 WebCore::RenderThemeChromiumSkia::paintSliderThumb. 62478 https://bugs.webkit.org/show_bug.cgi?id=28974 62479 62480 No new tests, build fix. 62481 62482 * rendering/RenderThemeChromiumSkia.cpp: 62483 (WebCore::RenderThemeChromiumSkia::paintSliderThumb): 62484 62485 2009-09-04 Dimitri Glazkov <dglazkov (a] chromium.org> 62486 62487 Unreviewed, build fix. 62488 62489 [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke 62490 the build. 62491 https://bugs.webkit.org/show_bug.cgi?id=28696 62492 62493 2009-09-04 Anders Carlsson <andersca (a] apple.com> 62494 62495 Fix vcproj file. 62496 62497 * WebCore.vcproj/WebCore.vcproj: 62498 62499 2009-09-03 Dave Hyatt <hyatt (a] apple.com> 62500 62501 Reviewed by Adam Roben. 62502 62503 https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work. 62504 62505 This patch adds new API for adding and removing user scripts from page groups. User scripts 62506 are bundled together in isolated worlds (you can have multiple scripts together in the same 62507 world). 62508 62509 Added userscripts/ directory for holding new tests (along with a simple test of script injection). 62510 62511 * WebCore.base.exp: 62512 * WebCore.vcproj/WebCore.vcproj: 62513 * WebCore.xcodeproj/project.pbxproj: 62514 * bindings/js/ScriptController.cpp: 62515 (WebCore::ScriptController::evaluateInIsolatedWorld): 62516 * bindings/js/ScriptController.h: 62517 * bindings/v8/ScriptController.cpp: 62518 (WebCore::ScriptController::evaluateInIsolatedWorld): 62519 * bindings/v8/ScriptController.h: 62520 * loader/FrameLoader.cpp: 62521 (WebCore::FrameLoader::finishedParsing): 62522 (WebCore::FrameLoader::dispatchDocumentElementAvailable): 62523 * page/Frame.cpp: 62524 (WebCore::Frame::injectUserScripts): 62525 (WebCore::Frame::injectUserScriptsForWorld): 62526 * page/Frame.h: 62527 * page/PageGroup.cpp: 62528 (WebCore::PageGroup::~PageGroup): 62529 (WebCore::PageGroup::addUserScript): 62530 (WebCore::PageGroup::removeUserContentForWorld): 62531 (WebCore::PageGroup::removeAllUserContent): 62532 * page/PageGroup.h: 62533 (WebCore::PageGroup::userScripts): 62534 * page/UserScript.h: Added. 62535 (WebCore::UserScript::UserScript): 62536 (WebCore::UserScript::source): 62537 (WebCore::UserScript::url): 62538 (WebCore::UserScript::patterns): 62539 (WebCore::UserScript::worldID): 62540 (WebCore::UserScript::injectionTime): 62541 * page/UserScriptTypes.h: Added. 62542 (WebCore::): 62543 62544 2009-09-04 Alexey Proskuryakov <ap (a] apple.com> 62545 62546 Reviewed by Eric Seidel. 62547 62548 https://bugs.webkit.org/show_bug.cgi?id=26402 62549 Crashes when using a detached DocumentType node 62550 62551 Test: fast/dom/DOMImplementation/detached-doctype.html 62552 62553 DocumentType nodes are the only one that can have null document(), and they can never have 62554 children, so they are a degenerate case for NodeLists. 62555 62556 * dom/Node.cpp: 62557 (WebCore::Node::childNodes): Don't try register node list with document if there's no 62558 document. Since there are no changes possible for a DocumentType's node list, this is not 62559 necessary. 62560 (WebCore::Node::registerDynamicNodeList): Ditto. 62561 (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this 62562 was invoked for a DocumentType node, but I also couldn't prove that it can't be (the 62563 de-registration code path that I saw taken was via Node destructor, and that already has 62564 a null check for document). 62565 62566 * bindings/js/JSNodeCustom.cpp: 62567 (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do 62568 if there is no window). 62569 (WebCore::JSNode::removeEventListener): Ditto. 62570 62571 2009-09-04 Xan Lopez <xlopez (a] igalia.com> 62572 62573 Reviewed by Gustavo Noronha. 62574 62575 [GTK] loadFinished never emitted 62576 https://bugs.webkit.org/show_bug.cgi?id=28935 62577 62578 Do not report errors right away from 62579 ResourceHandle::start. Instead return true and schedule an error 62580 to be reported in the handle later. Otherwise WebCore gets 62581 confused and thinks the resource never finished loading, making it 62582 not emit the finished status. 62583 62584 * platform/network/soup/ResourceHandleSoup.cpp: 62585 (WebCore::startHttp): 62586 (WebCore::): 62587 62588 2009-09-04 Ben Murdoch <benm (a] google.com> 62589 62590 Reviewed by Eric Seidel. 62591 62592 [V8] DOM Storage bindings: Event Handler should create StorageEvents 62593 https://bugs.webkit.org/show_bug.cgi?id=28942 62594 62595 Tests: 62596 Causes the following tests that were failing with V8 to pass: 62597 * storage/domstorage/localstorage/onstorage-attribute-setwindow.html 62598 * storage/domstorage/localstorage/complex-keys.html 62599 * storage/domstorage/localstorage/onstorage-attribute-markup.html 62600 * storage/domstorage/localstorage/simple-events.html 62601 * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html 62602 * storage/domstorage/localstorage/index-get-and-set.html 62603 * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html 62604 * storage/domstorage/sessionstorage/onstorage-attribute-markup.html 62605 * storage/domstorage/sessionstorage/simple-events.html 62606 * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html 62607 * storage/domstorage/sessionstorage/index-get-and-set.html 62608 62609 Code changes: 62610 * bindings/v8/V8DOMWrapper.cpp: 62611 (WebCore::V8DOMWrapper::convertEventToV8Object): Create StorageEvents. 62612 * bindings/v8/custom/V8StorageCustom.cpp: 62613 (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage. 62614 62615 2009-09-03 Pavel Feldman <pfeldman (a] chromium.org> 62616 62617 Reviewed by Timothy Hatcher. 62618 62619 https://bugs.webkit.org/show_bug.cgi?id=28911 62620 62621 * WebCore.gypi: 62622 * WebCore.vcproj/WebCore.vcproj: 62623 * inspector/InspectorBackend.cpp: 62624 (WebCore::InspectorBackend::dispatchOnInjectedScript): 62625 * inspector/InspectorBackend.h: 62626 * inspector/InspectorBackend.idl: 62627 * inspector/front-end/ConsoleView.js: 62628 (WebInspector.ConsoleView.prototype.doEvalInWindow): 62629 (WebInspector.ConsoleView.prototype._formatarray): 62630 (WebInspector.ConsoleView.prototype._formatnode): 62631 * inspector/front-end/DOMAgent.js: 62632 * inspector/front-end/ElementsPanel.js: 62633 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 62634 (WebInspector.ElementsPanel.prototype.searchCanceled): 62635 (WebInspector.ElementsPanel.prototype.performSearch): 62636 * inspector/front-end/InjectedScript.js: 62637 (InjectedScript.dispatch): 62638 * inspector/front-end/InjectedScriptAccess.js: Added. 62639 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): 62640 (InjectedScriptAccess._installHandler): 62641 * inspector/front-end/MetricsSidebarPane.js: 62642 (WebInspector.MetricsSidebarPane.prototype.update): 62643 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 62644 * inspector/front-end/ObjectPropertiesSection.js: 62645 (WebInspector.ObjectPropertiesSection.prototype.update): 62646 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 62647 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): 62648 * inspector/front-end/PropertiesSidebarPane.js: 62649 (WebInspector.PropertiesSidebarPane.prototype.update): 62650 * inspector/front-end/ResourcesPanel.js: 62651 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 62652 * inspector/front-end/ScriptsPanel.js: 62653 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 62654 * inspector/front-end/StylesSidebarPane.js: 62655 (WebInspector.StylesSidebarPane.prototype.update): 62656 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 62657 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted): 62658 (WebInspector.StylePropertyTreeElement.prototype): 62659 * inspector/front-end/inspector.html: 62660 62661 2009-09-04 Tony Chang <tony (a] chromium.org> 62662 62663 Reviewed by Eric Seidel. 62664 62665 Implement <input type="range"> for Chromium Linux by painting 62666 the slider and the thumb using skia. 62667 https://bugs.webkit.org/show_bug.cgi?id=28928 62668 62669 Covered by existing tests (we're currently hitting an assert for them). 62670 62671 * rendering/RenderThemeChromiumLinux.cpp: 62672 (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): 62673 * rendering/RenderThemeChromiumLinux.h: 62674 * rendering/RenderThemeChromiumSkia.cpp: 62675 (WebCore::drawVertLine): 62676 (WebCore::drawHorizLine): 62677 (WebCore::drawBox): 62678 (WebCore::RenderThemeChromiumSkia::paintSliderTrack): 62679 (WebCore::RenderThemeChromiumSkia::paintSliderThumb): 62680 * rendering/RenderThemeChromiumSkia.h: 62681 62682 2009-09-04 Kent Tamura <tkent (a] chromium.org> 62683 62684 Reviewed by Eric Seidel. 62685 62686 - Implement <input type=color> as a text field. 62687 - ValidityState::typeMismatch supports for type=color. 62688 https://bugs.webkit.org/show_bug.cgi?id=28966 62689 62690 Tests: fast/forms/ValidityState-patternMismatch-unsupported.html 62691 fast/forms/ValidityState-typeMismatch-color.html 62692 62693 * html/HTMLInputElement.cpp: 62694 (WebCore::HTMLInputElement::valueMissing): 62695 (WebCore::HTMLInputElement::patternMismatch): 62696 (WebCore::HTMLInputElement::setInputType): 62697 (WebCore::HTMLInputElement::formControlType): 62698 (WebCore::HTMLInputElement::saveFormControlState): 62699 (WebCore::HTMLInputElement::restoreFormControlState): 62700 (WebCore::HTMLInputElement::accessKeyAction): 62701 (WebCore::HTMLInputElement::rendererIsNeeded): 62702 (WebCore::HTMLInputElement::createRenderer): 62703 (WebCore::HTMLInputElement::appendFormData): 62704 (WebCore::HTMLInputElement::valueWithDefault): 62705 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): 62706 (WebCore::HTMLInputElement::defaultEventHandler): 62707 (WebCore::HTMLInputElement::isRequiredFormControl): 62708 (WebCore::HTMLInputElement::dataList): 62709 * html/HTMLInputElement.h: 62710 (WebCore::HTMLInputElement::): 62711 (WebCore::HTMLInputElement::isTextField): 62712 * html/ValidityState.cpp: 62713 (WebCore::ValidityState::typeMismatch): 62714 (WebCore::ValidityState::isValidColorString): 62715 * html/ValidityState.h: 62716 62717 2009-09-04 Mads Ager <ager (a] chromium.org> 62718 62719 Reviewed by David Levin. 62720 62721 [V8] Crash when updating document cache 62722 https://bugs.webkit.org/show_bug.cgi?id=28965 62723 62724 Initialization of a V8 JavaScript context can fail. When that 62725 happens, do not attempt to update the document wrapper cache. 62726 62727 This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html. 62728 62729 * bindings/v8/V8Proxy.cpp: 62730 (WebCore::V8Proxy::updateDocument): 62731 62732 2009-09-04 Yaar Schnitman <yaar (a] chromium.org> 62733 62734 Reviewed by Eric Seidel. 62735 62736 Two bugs: 62737 62738 https://bugs.webkit.org/show_bug.cgi?id=25489 62739 CSS property background-position is now serialized in shorthand string as 62740 background-position-x background-position-y, as the specification requires 62741 (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position). 62742 62743 62744 https://bugs.webkit.org/show_bug.cgi?id=26541 62745 CSS background-color is now be serialized before other background properties, 62746 as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value). 62747 62748 An existing layout test that accepted wrong order and skipped position test 62749 had to be modified. 62750 62751 * css/CSSMutableStyleDeclaration.cpp: 62752 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 62753 62754 2009-09-03 Kent Tamura <tkent (a] chromium.org> 62755 62756 Reviewed by David Levin. 62757 62758 Add support for HTMLTextAreaElement.textLength 62759 https://bugs.webkit.org/show_bug.cgi?id=28929 62760 62761 Test: fast/forms/textarea-textlength.html 62762 62763 * html/HTMLTextAreaElement.h: 62764 (WebCore::HTMLTextAreaElement::textLength): 62765 * html/HTMLTextAreaElement.idl: 62766 62767 2009-09-03 Alexey Proskuryakov <ap (a] apple.com> 62768 62769 Reviewed by Darin Adler. 62770 62771 <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822 62772 REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes 62773 62774 Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html 62775 62776 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we 62777 cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a 62778 DocumentType node in two documents. 62779 62780 2009-09-03 Brady Eidson <beidson (a] apple.com> 62781 62782 Reviewed by Sam Weinig. 62783 62784 Page Cache should support pages with Frames. 62785 https://bugs.webkit.org/show_bug.cgi?id=13631 62786 62787 Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html 62788 fast/loader/frames-with-unload-handlers-in-page-cache.html 62789 62790 * loader/FrameLoader.cpp: 62791 (WebCore::FrameLoader::canCachePageContainingThisFrame): 62792 (WebCore::FrameLoader::logCanCacheFrameDecision): 62793 62794 2009-09-03 Steve VanDeBogart <vandebo (a] chromium.org> 62795 62796 Reviewed by Eric Seidel. 62797 62798 Handle middle click in Chromium like QT 62799 https://bugs.webkit.org/show_bug.cgi?id=28696 62800 62801 Tested by middle-click-onpaste.html. 62802 62803 * platform/Pasteboard.h: 62804 * platform/chromium/ChromiumBridge.h: 62805 * platform/chromium/ClipboardChromium.cpp: 62806 (WebCore::ClipboardChromium::getData): 62807 * platform/chromium/PasteboardChromium.cpp: 62808 (WebCore::Pasteboard::Pasteboard): 62809 (WebCore::Pasteboard::isSelectionMode): 62810 (WebCore::Pasteboard::setSelectionMode): 62811 (WebCore::Pasteboard::canSmartReplace): 62812 (WebCore::Pasteboard::plainText): 62813 (WebCore::Pasteboard::documentFragment): 62814 * platform/chromium/PasteboardPrivate.h: 62815 (WebCore::PasteboardPrivate::): 62816 62817 2009-09-03 Brady Eidson <beidson (a] apple.com> 62818 62819 Reviewed by Sam Weinig. 62820 62821 More partial work towards "Page Cache should support pages with Frames" 62822 https://bugs.webkit.org/show_bug.cgi?id=13631 62823 62824 Fix a bug where subframes weren't asked if they were cacheable. 62825 62826 No new tests, especially since page caching for frames isn't turned on yet. 62827 A layout test will come in my next patch, which enables frames in the page cache. 62828 62829 * loader/FrameLoader.cpp: 62830 (WebCore::FrameLoader::canCachePageContainingThisFrame): 62831 62832 2009-09-03 Adam Barth <abarth (a] webkit.org> 62833 62834 Reviewed by eric (a] webkit.org. 62835 62836 https://bugs.webkit.org/show_bug.cgi?id=24696 62837 62838 Added mixed content methods to FrameLoaderClient. 62839 62840 * loader/EmptyClients.h: 62841 (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent): 62842 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent): 62843 * loader/FrameLoaderClient.h: 62844 62845 2009-09-03 Kevin Watters <kevinwatters (a] gmail.com> 62846 62847 Reviewed by Kevin Ollivier. 62848 62849 [wx] Frames support 62850 https://bugs.webkit.org/show_bug.cgi?id=19041 62851 62852 * page/wx/EventHandlerWx.cpp: 62853 (WebCore::EventHandler::passMousePressEventToSubframe): 62854 (WebCore::EventHandler::passMouseMoveEventToSubframe): 62855 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 62856 (WebCore::EventHandler::passWheelEventToWidget): 62857 (WebCore::EventHandler::tabsToAllControls): 62858 (WebCore::EventHandler::passSubframeEventToSubframe): 62859 (WebCore::EventHandler::passMouseDownEventToWidget): 62860 * platform/wx/RenderThemeWx.cpp: 62861 (WebCore::nativeWindowForRenderObject): 62862 (WebCore::RenderThemeWx::paintButton): 62863 (WebCore::RenderThemeWx::paintTextField): 62864 (WebCore::RenderThemeWx::paintMenuList): 62865 (WebCore::RenderThemeWx::paintMenuListButton): 62866 * platform/wx/ScrollbarThemeWx.cpp: Added. 62867 (WebCore::ScrollbarTheme::nativeTheme): 62868 (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx): 62869 (WebCore::ScrollbarThemeWx::scrollbarThickness): 62870 (WebCore::ScrollbarThemeWx::hasThumb): 62871 (WebCore::ScrollbarThemeWx::buttonSize): 62872 (WebCore::ScrollbarThemeWx::backButtonRect): 62873 (WebCore::ScrollbarThemeWx::forwardButtonRect): 62874 (WebCore::ScrollbarThemeWx::trackRect): 62875 (WebCore::ScrollbarThemeWx::paintScrollCorner): 62876 (WebCore::ScrollbarThemeWx::paint): 62877 * platform/wx/ScrollbarThemeWx.h: Added. 62878 (WebCore::ScrollbarThemeWx::hasButtons): 62879 * platform/wx/TemporaryLinkStubs.cpp: 62880 * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added. 62881 (wxStyleForPart): 62882 (GetButtonWidget): 62883 (wxGetGdkWindowForDC): 62884 (wxRenderer_DrawScrollbar): 62885 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added. 62886 (wxScrollbarPartToHIPressedState): 62887 (wxRenderer_DrawScrollbar): 62888 * platform/wx/wxcode/scrollbar_render.h: Added. 62889 (calcThumbStartAndLength): 62890 * platform/wx/wxcode/win/non-kerned-drawing.cpp: 62891 (WebCore::drawTextWithSpacing): 62892 * platform/wx/wxcode/win/scrollbar_render.cpp: Added. 62893 (GraphicsHDC::GraphicsHDC): 62894 (GraphicsHDC::~GraphicsHDC): 62895 (GraphicsHDC::operator HDC): 62896 (getTSStateForPart): 62897 (wxRenderer_DrawScrollbar): 62898 * webcore-wx.bkl: 62899 62900 2009-09-03 Yael Aharon <yael.aharon (a] nokia.com> 62901 62902 Reviewed by Simon Hausmann. 62903 62904 [Qt] Page content is not displayed in case of HTTP status error 62905 https://bugs.webkit.org/show_bug.cgi?id=28949 62906 62907 If the server sent content, show it to the user instead of an error, 62908 even if the HTTP status code is not success. 62909 62910 * platform/network/qt/QNetworkReplyHandler.cpp: 62911 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 62912 (WebCore::QNetworkReplyHandler::finish): 62913 (WebCore::QNetworkReplyHandler::forwardData): 62914 (WebCore::QNetworkReplyHandler::resetState): 62915 * platform/network/qt/QNetworkReplyHandler.h: 62916 62917 2009-09-03 Drew Wilson <atwilson (a] google.com> 62918 62919 Reviewed by Dimitri Glazkov. 62920 62921 Need to update v8 bindings to support passing multiple ports to postMessage() 62922 https://bugs.webkit.org/show_bug.cgi?id=28839 62923 62924 Added support for passing MessagePortArray to v8 bindings. 62925 62926 New tests that now pass with V8: 62927 fast/events/message-port-multi.html 62928 fast/workers/worker-context-multi-port.html 62929 fast/workers/worker-multi-port.html 62930 62931 * WebCore.gypi: 62932 Added V8MessageEventCustom.cpp and V8MessagePortCustom.h 62933 * bindings/v8/custom/V8CustomBinding.h: 62934 Added custom postMessage() handlers for various classes. 62935 * bindings/v8/custom/V8DOMWindowCustom.cpp: 62936 (WebCore::DOMWindowPostMessage): 62937 Added custom handler that supports MessagePortArray. 62938 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 62939 (WebCore::DedicatedWorkerContextPostMessage): 62940 Added custom handler that supports MessagePortArray. 62941 * bindings/v8/custom/V8MessageEventCustom.cpp: Added. 62942 (WebCore::MessageEventPorts): 62943 Added getter for ports attribute. 62944 (WebCore::MessageEventInitMessageEvent): 62945 Added custom handler that supports MessagePortArray. 62946 * bindings/v8/custom/V8MessagePortCustom.cpp: 62947 (WebCore::MessagePortPostMessage): 62948 Added custom handler that supports MessagePortArray. 62949 (WebCore::getMessagePortArray): 62950 Added helper function that supports converting from a sequence-like object to a MessagePortArray. 62951 * bindings/v8/custom/V8MessagePortCustom.h: Added. 62952 Added declaration for getMessagePortArray(). 62953 * bindings/v8/custom/V8WorkerCustom.cpp: 62954 (WebCore::WorkerPostMessage): 62955 Added custom handler that supports MessagePortArray. 62956 62957 2009-09-03 Drew Wilson <atwilson (a] google.com> 62958 62959 Reviewed by Sam Weinig. 62960 62961 Need to update JS bindings and IDL files to support multiple message ports in postMessage() 62962 https://bugs.webkit.org/show_bug.cgi?id=28460 62963 62964 Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence. 62965 62966 Tests: fast/events/message-port-multi.html 62967 fast/workers/worker-context-multi-port.html 62968 fast/workers/worker-multi-port.html 62969 62970 * GNUmakefile.am: 62971 * WebCore.gypi: 62972 * WebCore.pro: 62973 * WebCore.vcproj/WebCore.vcproj: 62974 * WebCore.xcodeproj/project.pbxproj: 62975 * WebCoreSources.bkl: 62976 Added JSMessagePortCustom.h and JSMessageEventCustom.cpp. 62977 * bindings/js/JSDOMBinding.cpp: 62978 (WebCore::toJSSequence): 62979 Added toJSSequence() API to do validation on sequence-like objects per WebIDL. 62980 * bindings/js/JSDOMBinding.h: 62981 * bindings/js/JSDOMWindowCustom.cpp: 62982 (WebCore::JSDOMWindow::postMessage): 62983 Added custom handler for postMessage() that handles being passed MessagePortArrays. 62984 * bindings/js/JSDedicatedWorkerContextCustom.cpp: 62985 (WebCore::JSDedicatedWorkerContext::postMessage): 62986 Added custom handler for postMessage() that handles being passed MessagePortArrays. 62987 * bindings/js/JSMessageEventCustom.cpp: Added. 62988 (WebCore::JSMessageEvent::ports): 62989 Added custom ports() getter that converts from MessagePortArray to JSArray. 62990 (WebCore::JSMessageEvent::initMessageEvent): 62991 Added support for passing a MessagePortArray. 62992 * bindings/js/JSMessagePortCustom.cpp: 62993 (WebCore::JSMessagePort::postMessage): 62994 Added custom handler for postMessage() that handles being passed MessagePortArray. 62995 (WebCore::fillMessagePortArray): 62996 New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray. 62997 * bindings/js/JSMessagePortCustom.h: Added. 62998 * bindings/js/JSWorkerCustom.cpp: 62999 (WebCore::JSWorker::postMessage): 63000 Added custom handler for postMessage() that handles being passed MessagePortArray. 63001 * dom/MessageEvent.cpp: 63002 * dom/MessageEvent.h: 63003 (WebCore::MessageEvent::ports): 63004 Changed ports() to return a MessagePortArray* since this value can be null. 63005 * dom/MessageEvent.idl: 63006 Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort). 63007 * dom/MessagePort.cpp: 63008 * dom/MessagePort.h: 63009 * dom/MessagePort.idl: 63010 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort). 63011 * page/DOMWindow.h: 63012 * page/DOMWindow.idl: 63013 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort). 63014 * workers/DedicatedWorkerContext.cpp: 63015 * workers/DedicatedWorkerContext.h: 63016 * workers/DedicatedWorkerContext.idl: 63017 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort). 63018 * workers/Worker.cpp: 63019 * workers/Worker.h: 63020 * workers/Worker.idl: 63021 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort). 63022 63023 2009-09-03 Pavel Feldman <pfeldman (a] chromium.org> 63024 63025 Reviewed by Timothy Hatcher. 63026 63027 WebInspector: Do not query non-function call frames for function name. 63028 63029 https://bugs.webkit.org/show_bug.cgi?id=28799 63030 63031 * inspector/front-end/InjectedScript.js: 63032 (InjectedScript.CallFrameProxy): 63033 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): 63034 63035 2009-09-03 Pavel Feldman <pfeldman (a] chromium.org> 63036 63037 Reviewed by Timothy Hatcher. 63038 63039 Crash after typing "clear" and pressing return in inspector console. 63040 63041 https://bugs.webkit.org/show_bug.cgi?id=28684 63042 63043 * inspector/front-end/InjectedScript.js: 63044 (InjectedScript._clearConsoleMessages): 63045 (InjectedScript._inspectObject): 63046 (InjectedScript._ensureCommandLineAPIInstalled): 63047 63048 2009-09-03 Vitaly Repeshko <vitalyr (a] chromium.org> 63049 63050 Reviewed by Adam Barth. 63051 63052 [V8] Squeezed out some performance from string conversion. 63053 https://bugs.webkit.org/show_bug.cgi?id=28945 63054 63055 * bindings/v8/V8Binding.cpp: 63056 (WebCore::WebCoreStringResource::WebCoreStringResource): 63057 (WebCore::WebCoreStringResource::~WebCoreStringResource): 63058 (WebCore::WebCoreStringResource::data): 63059 (WebCore::WebCoreStringResource::length): 63060 (WebCore::WebCoreStringResource::atomicString): 63061 (WebCore::WebCoreStringResource::string): 63062 Avoid calling virtual length method. Be more explicit with 63063 external memory computation. Avoid function calls in data and 63064 length. 63065 (WebCore::): 63066 (WebCore::v8StringToWebCoreString): 63067 (WebCore::v8StringToAtomicWebCoreString): 63068 (WebCore::v8NonStringValueToWebCoreString): 63069 (WebCore::v8NonStringValueToAtomicWebCoreString): 63070 Avoid extra calls of WebCoreStringResource::toString. When 63071 AtomicString is computed pass it immediately when constructing 63072 WebCoreStringResource. Use inline buffer for small strings. 63073 * bindings/v8/V8Binding.h: 63074 (WebCore::v8ValueToWebCoreString): 63075 (WebCore::v8ValueToAtomicWebCoreString): 63076 (WebCore::toString): 63077 Inline dispatch of string vs. non-string values. 63078 63079 2009-09-03 Vitaly Repeshko <vitalyr (a] chromium.org> 63080 63081 Reviewed by Adam Barth. 63082 63083 [V8] Inlined common case of V8IsolatedWorld::getEntered to speed 63084 up V8Proxy lookup. 63085 https://bugs.webkit.org/show_bug.cgi?id=28946 63086 63087 * bindings/v8/V8IsolatedWorld.cpp: 63088 (WebCore::V8IsolatedWorld::getEnteredImpl): 63089 * bindings/v8/V8IsolatedWorld.h: 63090 (WebCore::V8IsolatedWorld::getEntered): 63091 63092 2009-09-03 Kent Tamura <tkent (a] chromium.org> 63093 63094 Reviewed by Eric Seidel. 63095 63096 Fix a regression bug that maxLength doesn't work for IME input. 63097 https://bugs.webkit.org/show_bug.cgi?id=25253 63098 63099 Tests: fast/forms/input-maxlength-ime-completed.html 63100 fast/forms/input-maxlength-ime-preedit.html 63101 63102 * dom/InputElement.cpp: 63103 (WebCore::InputElement::handleBeforeTextInsertedEvent): 63104 * dom/InputElement.h: 63105 * html/HTMLInputElement.cpp: 63106 (WebCore::HTMLInputElement::defaultEventHandler): 63107 * wml/WMLInputElement.cpp: 63108 (WebCore::WMLInputElement::defaultEventHandler): 63109 63110 2009-09-03 Cameron McCormack <cam (a] mcc.id.au> 63111 63112 Reviewed by Eric Seidel. 63113 63114 Make SVGStyleElement title/media/type setters do something 63115 https://bugs.webkit.org/show_bug.cgi?id=28828 63116 63117 Test: svg/dom/style-reflect.html 63118 63119 * svg/SVGStyleElement.cpp: 63120 (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute. 63121 (WebCore::SVGStyleElement::setType): Ditto. 63122 (WebCore::SVGStyleElement::setMedia): Ditto. 63123 (WebCore::SVGStyleElement::setTitle): Ditto. 63124 63125 2009-09-03 Ben Murdoch <benm (a] google.com> 63126 63127 https://bugs.webkit.org/show_bug.cgi?id=28872 63128 63129 Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback. 63130 63131 Test: storage/statement-error-callback.html 63132 63133 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 63134 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true. 63135 63136 2009-09-03 Maxime Simon <simon.maxime (a] gmail.com> 63137 63138 Reviewed by Eric Seidel. 63139 63140 [Haiku] Adding three font-specific files to WebCore: 63141 FontCustomPlatformData.cpp, FontCustomPlatformData.h, 63142 and FontPlatformData.h 63143 https://bugs.webkit.org/show_bug.cgi?id=28131 63144 63145 * platform/graphics/haiku/FontCustomPlatformData.cpp: Added. 63146 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 63147 (WebCore::FontCustomPlatformData::fontPlatformData): 63148 (WebCore::createFontCustomPlatformData): 63149 * platform/graphics/haiku/FontCustomPlatformData.h: Added. 63150 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 63151 * platform/graphics/haiku/FontPlatformData.h: Added. 63152 (WebCore::FontPlatformData::FontPlatformData): 63153 (WebCore::FontPlatformData::font): 63154 (WebCore::FontPlatformData::size): 63155 (WebCore::FontPlatformData::bold): 63156 (WebCore::FontPlatformData::oblique): 63157 (WebCore::FontPlatformData::hashTableDeletedFontValue): 63158 63159 2009-09-02 Brady Eidson <beidson (a] apple.com> 63160 63161 Reviewed by Darin Adler. 63162 63163 More partial work towards "Page Cache should support pages with Frames" 63164 https://bugs.webkit.org/show_bug.cgi?id=13631 63165 63166 No new tests. (No change in behavior, current tests pass). 63167 63168 * loader/DocumentLoader.cpp: 63169 (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading(). 63170 63171 * loader/FrameLoader.cpp: 63172 (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events, 63173 only unload, or unload and pagehide. 63174 (WebCore::FrameLoader::closeURL): 63175 (WebCore::FrameLoader::scheduleRedirection): 63176 (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden(). 63177 (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case 63178 where a page is added to the PageCache. 63179 * loader/FrameLoader.h: 63180 63181 * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum. 63182 63183 2009-09-02 Brady Eidson <beidson (a] apple.com> 63184 63185 Reviewed by Darin Adler. 63186 63187 More partial work towards "Page Cache should support pages with Frames" 63188 https://bugs.webkit.org/show_bug.cgi?id=13631 63189 63190 - More CachedFrame destruction work. 63191 - Including related Frame and FrameLoader changes and cleanup. 63192 63193 No new tests. (No change in behavior, current tests pass). 63194 63195 * history/CachedFrame.cpp: 63196 (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring. 63197 (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching. 63198 (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in 63199 the PageCache, do lightweight cleanup to: 63200 A - Prevent referring to a stale Page object. 63201 B - Prevent World Leaks of WebKit objects. 63202 63203 * loader/FrameLoader.cpp: 63204 (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are 63205 in the PageCache. ASSERT that fact. 63206 (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it 63207 explains it is not effective, and it'd be better to see the crash locally instead of downstream. 63208 (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before 63209 referencing it. 63210 (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call 63211 (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects. 63212 * loader/FrameLoader.h: 63213 63214 * page/Frame.cpp: 63215 (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work. 63216 (WebCore::Frame::pageDestroyed): Use the new detachFromPage(). 63217 * page/Frame.h: 63218 63219 2009-09-02 Jungshik Shin <jshin (a] chromium.org> 63220 63221 Reviewed by Dimitri Glazkov 63222 63223 [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2 63224 in Chromium. This is to fix a new file added in r28742 since the 63225 last patch for this issue. 63226 63227 https://bugs.webkit.org/show_bug.cgi?id=28410 63228 63229 No change in the test result. 63230 63231 * platform/graphics/chromium/FontLinux.cpp: 63232 (WebCore::TextRunWalker::getNormalizedTextRun): 63233 63234 2009-09-02 Dimitri Glazkov <dglazkov (a] chromium.org> 63235 63236 Unreviewed, build fix. 63237 63238 [Chromium] Correct a typo to fix bustage, caused by r47991. 63239 https://bugs.webkit.org/show_bug.cgi?id=27933 63240 63241 * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied". 63242 63243 2009-09-02 Dimitri Glazkov <dglazkov (a] chromium.org> 63244 63245 Unreviewed, build fix. 63246 63247 [Chromium] Add a missing include to fix bustage, caused by r47991. 63248 https://bugs.webkit.org/show_bug.cgi?id=27933 63249 63250 * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include. 63251 63252 2009-09-02 Jian Li <jianli (a] chromium.org> 63253 63254 Reviewed by Dimitri Glazkov. 63255 63256 [Chromium] Implement file support for DragData. 63257 https://bugs.webkit.org/show_bug.cgi?id=28896 63258 63259 * platform/chromium/DragDataChromium.cpp: 63260 (WebCore::DragData::containsURL): 63261 (WebCore::DragData::asURL): 63262 (WebCore::DragData::containsCompatibleContent): 63263 63264 2009-09-02 Kevin Watters <kevinwatters (a] gmail.com> 63265 63266 Reviewed by Kevin Ollivier. 63267 63268 Protect libcurl shared data with Mutex objects via curl_set_share_opt. 63269 https://bugs.webkit.org/show_bug.cgi?id=28920 63270 63271 * platform/network/curl/ResourceHandleManager.cpp: 63272 (WebCore::sharedResourceMutex): 63273 (WebCore::curl_lock_callback): 63274 (WebCore::curl_unlock_callback): 63275 (WebCore::ResourceHandleManager::ResourceHandleManager): 63276 63277 2009-09-02 Evan Stade <estade (a] chromium.org> 63278 63279 Reviewed by Eric Seidel. 63280 63281 Expose functions to change the focus ring color for Linux Chromium 63282 63283 https://bugs.webkit.org/show_bug.cgi?id=28887 63284 63285 * rendering/RenderThemeChromiumLinux.cpp: 63286 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux): 63287 (WebCore::RenderThemeChromiumLinux::setFocusRingColor): 63288 (WebCore::RenderThemeChromiumLinux::platformFocusRingColor): 63289 * rendering/RenderThemeChromiumLinux.h: 63290 63291 2009-09-02 Dirk Schulze <krit (a] webkit.org> 63292 63293 Reviewed by Eric Seidel. 63294 63295 SVG Filter premultiplied color support for getImageDate/putImageData 63296 [https://bugs.webkit.org/show_bug.cgi?id=27933] 63297 63298 Patch to get premultiplied color support for Skia on getImageDate/putImageData. 63299 63300 * platform/graphics/skia/ImageBufferSkia.cpp: 63301 (WebCore::getImageData): 63302 (WebCore::putImageData): 63303 63304 2009-09-02 Brady Eidson <beidson (a] apple.com> 63305 63306 Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch. 63307 63308 * history/CachedFrame.cpp: 63309 (WebCore::CachedFrameBase::restore): 63310 (WebCore::CachedFrame::open): 63311 * history/CachedFrame.h: 63312 * history/CachedPage.cpp: 63313 (WebCore::CachedPage::restore): 63314 63315 2009-09-02 Brady Eidson <beidson (a] apple.com> 63316 63317 Reviewed by Darin Adler. 63318 63319 In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h. 63320 Removing them is a little trouble, but worth it going forward. 63321 The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader 63322 was suggested by Darin Adler. 63323 63324 No new tests. (No change in behavior) 63325 63326 Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses: 63327 * history/CachedFrame.cpp: 63328 (WebCore::CachedFrameBase::CachedFrameBase): 63329 (WebCore::CachedFrameBase::~CachedFrameBase): 63330 (WebCore::CachedFrameBase::restore): 63331 (WebCore::CachedFrame::CachedFrame): 63332 (WebCore::CachedFrame::openInFrameLoader): 63333 * history/CachedFrame.h: 63334 (WebCore::CachedFrameBase::document): 63335 (WebCore::CachedFrameBase::view): 63336 (WebCore::CachedFrameBase::domWindow): 63337 (WebCore::CachedFrame::create): 63338 (WebCore::CachedFrame::documentLoader): 63339 (WebCore::CachedFrame::mousePressNode): 63340 63341 Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only 63342 thing capable of interacting with FrameLoader::open(CachedFrameBase): 63343 * history/CachedPage.cpp: 63344 (WebCore::CachedPage::restore): 63345 * history/CachedPage.h: 63346 (WebCore::CachedPage::documentLoader): 63347 63348 Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase): 63349 * loader/FrameLoader.cpp: 63350 (WebCore::FrameLoader::open): 63351 * loader/FrameLoader.h: 63352 63353 2009-09-02 Ryosuke Niwa <rniwa (a] webkit.org> 63354 63355 Reviewed by Eric Seidel. 63356 63357 Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>. 63358 https://bugs.webkit.org/show_bug.cgi?id=24866 63359 63360 This patch modifies breakOutOfEmptyListItem to break out of a properly nested list 63361 (a list to break out of is inside another list item). 63362 63363 When the empty list item appears at the end of another list item, WebKit breaks out of 63364 the outer list item, and adds new item below the outer list item. 63365 Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph. 63366 63367 Test: editing/execCommand/break-out-of-empty-list-item.html 63368 63369 * editing/CompositeEditCommand.cpp: 63370 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 63371 63372 2009-09-02 Brady Eidson <beidson (a] apple.com> 63373 63374 Reviewed by Sam Weinig. 63375 63376 More partial work towards "Page Cache should support pages with Frames" 63377 https://bugs.webkit.org/show_bug.cgi?id=13631 63378 63379 This patch is primarily about the "CachedFrame tree" and making slightly different decisions 63380 based on whether a CachedFrame is the main frame or a subframe. 63381 63382 - Store whether a CachedFrame represents the main frame or a subframe. 63383 - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 63384 are reused and need to start new page loads with an empty frame tree. 63385 - Reattach the frame tree to the main frame when restoring it. 63386 - open() the cached subframes in their respective loaders when restoring. 63387 - Properly clear() and destroy() cached subframes. 63388 - When committing to a new page load, and after caching the previous page, only clear the 63389 FrameView for the main frame. 63390 63391 Note that all of above will eventually be necessary as I continue to land this work in pieces, 63392 but doesn't actually change any behavior right now because we still refuse to even *try* to 63393 cache pages with frames. 63394 63395 No new tests. No change in behavior, and current tests continue to pass. 63396 63397 * history/CachedFrame.cpp: 63398 (WebCore::CachedFrame::CachedFrame): 63399 (WebCore::CachedFrame::restore): 63400 (WebCore::CachedFrame::clear): 63401 (WebCore::CachedFrame::destroy): 63402 * history/CachedFrame.h: 63403 (WebCore::CachedFrame::isMainFrame): 63404 63405 * loader/FrameLoader.cpp: 63406 (WebCore::FrameLoader::clear): 63407 (WebCore::FrameLoader::open): 63408 * loader/FrameLoader.h: 63409 63410 2009-09-02 Brady Eidson <beidson (a] apple.com> 63411 63412 No review, build fix. 63413 63414 http://trac.webkit.org/changeset/47976 broke the build. 63415 Let's try compiling before we land things, shall we? 63416 63417 * platform/graphics/SimpleFontData.cpp: 63418 (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly. 63419 63420 2009-09-02 Kevin Ollivier <kevino (a] theolliviers.com> 63421 63422 waf build fixes for Windows/MSVC. 63423 63424 * wscript: 63425 63426 2009-09-02 Ben Murdoch <benm (a] google.com> 63427 63428 Unreviewed build fix for Chromium. 63429 63430 Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp. 63431 63432 * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include 63433 63434 2009-09-02 Kevin Ollivier <kevino (a] theolliviers.com> 63435 63436 waf build fix, don't define symbols we now grab from other sources. 63437 63438 * platform/wx/TemporaryLinkStubs.cpp: 63439 63440 2009-09-02 Kevin Ollivier <kevino (a] theolliviers.com> 63441 63442 Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp. 63443 63444 * plugins/PluginView.cpp: 63445 (WebCore::PluginView::stop): 63446 * plugins/PluginViewNone.cpp: 63447 (WebCore::PluginView::platformDestroy): 63448 63449 2009-09-02 Charles Wei <charles.wei (a] torchmobile.com.cn> 63450 63451 Reviewed by Eric Seidel. 63452 63453 Fix the build failure of WebKit for Linux/Qt when WML is enabled 63454 63455 No test cases needed since this just fixes the build problem. 63456 63457 * wml/WMLElement.cpp: 63458 (WebCore::WMLElement::create): 63459 * wml/WMLTableElement.cpp: 63460 (WebCore::WMLTableElement::joinSuperflousColumns): 63461 (WebCore::WMLTableElement::padWithEmptyColumns): 63462 63463 2009-09-02 Yong Li <yong.li (a] torchmobile.com> 63464 63465 Reviewed by Adam Barth. 63466 63467 WINCE PORT: use shared buffer for custom font data 63468 https://bugs.webkit.org/show_bug.cgi?id=27734 63469 63470 Refactored by Joe Mason <joe.mason (a] torchmobile.com> 63471 63472 * loader/CachedFont.cpp: 63473 add WINCE to platforms using cached custom data 63474 * platform/graphics/opentype/OpenTypeUtilities.cpp: 63475 (WebCore::renameFont): implement for WinCE 63476 * platform/graphics/opentype/OpenTypeUtilities.h: 63477 build fixes 63478 * platform/graphics/wince/FontCustomPlatformData.cpp: 63479 (WebCore::setCustomFontCache): add accessor 63480 (WebCore::createFontCustomPlatformData): change param to SharedBuffer 63481 * platform/graphics/wince/FontCustomPlatformData.h: 63482 update function signatures 63483 63484 2009-09-02 Yong Li <yong.li (a] torchmobile.com> 63485 63486 Reviewed by Adam Barth. 63487 63488 WINCE PORT: font-related build fixes and minor bugfixes 63489 https://bugs.webkit.org/show_bug.cgi?id=27734 63490 63491 * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509 63492 * platform/graphics/GlyphPageTreeNode.cpp: 63493 (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows 63494 * platform/graphics/SimpleFontData.cpp: 63495 (WebCore::SimpleFontData::SimpleFontData): initialize member vars 63496 * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 63497 63498 2009-09-02 Jeremy Orlow <jorlow (a] chromium.org> 63499 63500 Reviewed by Adam Barth. 63501 63502 Another pass at releasing the storage mutex. 63503 https://bugs.webkit.org/show_bug.cgi?id=28904 63504 63505 Another pass at releasing the storage mutex (when applicable) when we finish 63506 executing JavaScript. http://dev.w3.org/html5/spec/Overview.html#storage-mutex 63507 describes the required behavior. 63508 63509 As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve 63510 the problem correctly. First of all, I missed that events and timeouts go 63511 through a different call path. Second of all, I didn't consider recursion 63512 correctly. Third of all, my check to see if LocalStorage is alive actually 63513 instantiates it if it isn't yet. Fourth, I forgot DOM_STORAGE guards around 63514 it. So I'm reverting that change completely and doing it more cleanly. 63515 Unfortunately, the solution isn't as portable (and thus I've left out the JSC 63516 implementation for now). 63517 63518 NOTE: This change now tracks recursion on function callbacks in V8. I ran this 63519 by Mads Ager and Mike Belshe and they seemed to think adding the checks were 63520 fine. Most callbacks are asynchronous and thus wouldn't be nested. The few 63521 scenareos where you can have nested callbacks probably should have always been 63522 protected by a recursion guard. 63523 63524 Unfortunately, this can't be tested without a hook added to the layout test 63525 controllers since the lock is (by design) not supposed to be observable by 63526 JavaScript. https://bugs.webkit.org/show_bug.cgi?id=28906 63527 63528 * bindings/js/ScriptController.cpp: 63529 (WebCore::ScriptController::evaluate): revert 63530 * bindings/v8/ScriptController.cpp: 63531 (WebCore::ScriptController::evaluate): revert 63532 * bindings/v8/V8Proxy.cpp: 63533 (WebCore::V8Proxy::runScript): 63534 Add releaseStorageMutex call. A small amount of clean up. 63535 (WebCore::V8Proxy::callFunction): 63536 Add releaseStorageMutex call. A small amount of clean up. 63537 (WebCore::V8Proxy::releaseStorageMutex): 63538 Check to see if localStorage has been instantiated. If so, tell it to 63539 unlock all storage areas. 63540 * bindings/v8/V8Proxy.h: 63541 * page/PageGroup.h: 63542 (WebCore::PageGroup::hasLocalStorage): Make hasLocalStorage public. 63543 63544 2009-09-02 Yong Li <yong.li (a] torchmobile.com> 63545 63546 Reviewed by Adam Barth. 63547 63548 WINCE PORT: Implement ImageBuffer for WINCE 63549 Implement Image interface with a light class BufferedImage 63550 for rendering ImageBuffer 63551 https://bugs.webkit.org/show_bug.cgi?id=28167 63552 63553 * platform/graphics/wince/ImageBufferData.h: Added. 63554 * platform/graphics/wince/ImageBufferWince.cpp: Added. 63555 63556 2009-08-31 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 63557 63558 Reviewed by Eric Seidel. 63559 63560 Join the various PluginView destructors into one shared implementation 63561 63562 https://bugs.webkit.org/show_bug.cgi?id=27706 63563 63564 The Qt port used to delete the platform plugin widget as the last step. 63565 Now this is done before cleaning up the script objects and unloading the 63566 plugin package, similar to how the Win port does it. 63567 63568 * plugins/PluginView.cpp: 63569 * plugins/PluginViewNone.cpp: 63570 * plugins/gtk/PluginViewGtk.cpp: 63571 * plugins/mac/PluginViewMac.cpp: 63572 * plugins/qt/PluginViewQt.cpp: 63573 * plugins/win/PluginViewWin.cpp: 63574 63575 2009-08-31 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 63576 63577 Reviewed by Eric Seidel. 63578 63579 Share PluginView::init() between ports 63580 63581 https://bugs.webkit.org/show_bug.cgi?id=27706 63582 63583 The port-spesific bits are moved to platformStart(), which now returns 63584 a bool based on the success of the platformStart. 63585 63586 m_hasPendingGeometryChange is now initialized in the initializer list 63587 instead of in PluginViewQt's init() 63588 63589 PluginViewMac (currently used only by the Qt port) used to manually call 63590 stop() in the case where an unsupported drawing or event model was detected. 63591 This was wrong, as the m_status and m_isStarted fields should be used to 63592 guard against doing operations on a plugin in this intermediate state. 63593 63594 * plugins/PluginView.cpp: 63595 * plugins/PluginView.h: 63596 * plugins/PluginViewNone.cpp: 63597 * plugins/gtk/PluginViewGtk.cpp: 63598 * plugins/mac/PluginViewMac.cpp: 63599 * plugins/qt/PluginViewQt.cpp: 63600 * plugins/win/PluginViewWin.cpp: 63601 63602 2009-09-02 Ben Murdoch <benm (a] google.com> 63603 63604 https://bugs.webkit.org/show_bug.cgi?id=28737 63605 63606 Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places. 63607 63608 * bindings/js/JSSQLTransactionCustom.cpp: 63609 (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql(). 63610 * bindings/v8/V8Binding.cpp: 63611 (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString(). 63612 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 63613 (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql. 63614 63615 2009-09-01 Pavel Feldman <pfeldman (a] chromium.org> 63616 63617 Reviewed by Timothy Hatcher. 63618 63619 WebInspector: Migrate Databases tab to InjectedScript / 63620 serialized interaction. 63621 63622 https://bugs.webkit.org/show_bug.cgi?id=28873 63623 63624 * inspector/InspectorDOMAgent.cpp: 63625 (WebCore::InspectorDOMAgent::handleEvent): 63626 * inspector/front-end/Database.js: 63627 (WebInspector.Database.prototype.isDB): 63628 (WebInspector.Database.prototype.runWithTableNames.sortingCallback): 63629 (WebInspector.Database.prototype.runWithTableNames): 63630 (WebInspector.Database.prototype.executeSql): 63631 (WebInspector.Database.prototype.executeSql.errorCallback): 63632 (WebInspector.Database.prototype.executeSql.queryTransaction): 63633 * inspector/front-end/DatabaseQueryView.js: 63634 (WebInspector.DatabaseQueryView.prototype._enterKeyPressed): 63635 (WebInspector.DatabaseQueryView.prototype._queryFinished): 63636 * inspector/front-end/DatabaseTableView.js: 63637 (WebInspector.DatabaseTableView): 63638 * inspector/front-end/StoragePanel.js: 63639 (WebInspector.StoragePanel.prototype.selectDatabase): 63640 (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames): 63641 (WebInspector.StoragePanel.prototype.updateDatabaseTables): 63642 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames): 63643 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate): 63644 63645 2009-09-02 Pavel Feldman <pfeldman (a] chromium.org> 63646 63647 Not reviewed (trivial followup fix). 63648 63649 Web Inspector: Trivial follow up fix to r47944. 63650 63651 https://bugs.webkit.org/show_bug.cgi?id=28800 63652 63653 * inspector/InspectorBackend.cpp: 63654 (WebCore::InspectorBackend::nodeForId): 63655 63656 2009-09-01 Brian Weinstein <bweinstein (a] apple.com> 63657 63658 Reviewed by John Sullivan. 63659 63660 Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements. 63661 63662 * accessibility/AccessibilityRenderObject.cpp: 63663 (WebCore::AccessibilityRenderObject::isReadOnly): 63664 63665 2009-09-01 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 63666 63667 Reviewed by Timothy Hatcher. 63668 63669 https://bugs.webkit.org/show_bug.cgi?id=28047 63670 add utility method to enable logging messages for inspector development 63671 63672 manual test case added (see below) 63673 63674 * inspector/front-end/ConsoleView.js: 63675 (WebInspector.ConsoleMessage.prototype.toMessageElement): 63676 (WebInspector.ConsoleMessage.prototype.toString): 63677 * inspector/front-end/inspector.css: 63678 * inspector/front-end/inspector.js: 63679 (WebInspector.log): 63680 * manual-tests/inspector/webinspector-log.html: Added. 63681 * page/Console.cpp: 63682 (WebCore::printMessageSourceAndLevelPrefix): 63683 * page/Console.h: 63684 (WebCore::): 63685 63686 2009-09-01 Alexey Proskuryakov <ap (a] apple.com> 63687 63688 Reviewed by Darin Adler. 63689 63690 https://bugs.webkit.org/show_bug.cgi?id=21990 63691 When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document 63692 is mistreated as Shift_JIS 63693 63694 <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists 63695 63696 WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones. 63697 This didn't really match any browser, and did cause problems on some sites. 63698 63699 Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that 63700 cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes, 63701 especially in comments. Also, some valid EUC-JP sequences are not known to it. 63702 63703 Some pages that are fixed by this change: 63704 63705 <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This 63706 page has incorrect encoding in title, so no browser displays it 100% fine. We now match 63707 Firefox and IE. 63708 63709 <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled 63710 in Safari. There is a stray byte in comments that was makes charset detector think it can't 63711 be EUC-JP. 63712 63713 <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in 63714 Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that 63715 fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and 63716 Shift_JIS in normal HTML view though). 63717 63718 Test: fast/encoding/japanese-encoding-mix.html 63719 63720 * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto- 63721 detection if there is no solid charset information yet. 63722 63723 2009-09-01 Jian Li <jianli (a] chromium.org> 63724 63725 Reviewed by Dimitri Glazkov. 63726 63727 [V8] FileList cannot be accessed via index in Chromium. 63728 https://bugs.webkit.org/show_bug.cgi?id=28883 63729 63730 Tested by clipboard-file-access.html. 63731 63732 * WebCore.gypi: 63733 * bindings/v8/V8DOMWrapper.cpp: 63734 (WebCore::V8DOMWrapper::getTemplate): 63735 * bindings/v8/custom/V8CustomBinding.h: 63736 * bindings/v8/custom/V8FileListCustom.cpp: Added. 63737 63738 2009-08-31 Jon Honeycutt <jhoneycutt (a] apple.com> 63739 63740 Remove the workaround added in r47316. 63741 63742 Reviewed by Sam Weinig. 63743 63744 * accessibility/AXObjectCache.cpp: 63745 (WebCore::AXObjectCache::AXObjectCache): 63746 63747 * accessibility/AXObjectCache.h: 63748 Remove the Document argument to the AXObjectCache constructor and the 63749 m_document member variable, and replace the no-parameter 63750 handleFocusedUIElementChanged() with the two-parameter GTK function. 63751 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 63752 63753 * accessibility/chromium/AXObjectCacheChromium.cpp: 63754 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 63755 63756 * accessibility/gtk/AXObjectCacheAtk.cpp: 63757 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 63758 63759 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 63760 (fallbackObject): 63761 Don't pass a null Document when constructing the AXObjectCache. 63762 63763 * accessibility/mac/AXObjectCacheMac.mm: 63764 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 63765 63766 * accessibility/win/AXObjectCacheWin.cpp: 63767 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 63768 Get the document from the RenderObject; m_document was removed. 63769 63770 * dom/Document.cpp: 63771 (WebCore::Document::axObjectCache): 63772 Don't pass the Document when constructing the AXObjectCache. 63773 (WebCore::Document::setFocusedNode): 63774 Pass the old and new focused RenderObjects when calling 63775 handleFocusedUIElementChanged(). 63776 63777 2009-09-01 Yury Semikhatsky <yurys (a] chromium.org> 63778 63779 Reviewed by Timothy Hatcher. 63780 63781 Check that InspectorDOMAgent and InspectorFrontend are not null 63782 before accessing them in InspectorBackend. They may be null if 63783 InspectorController is closed before an asynchronous operation is 63784 started. 63785 63786 https://bugs.webkit.org/show_bug.cgi?id=28800 63787 63788 * inspector/InspectorBackend.cpp: 63789 (WebCore::InspectorBackend::getCookies): 63790 (WebCore::InspectorBackend::getChildNodes): 63791 (WebCore::InspectorBackend::setAttribute): 63792 (WebCore::InspectorBackend::removeAttribute): 63793 (WebCore::InspectorBackend::setTextNodeValue): 63794 (WebCore::InspectorBackend::highlight): 63795 (WebCore::InspectorBackend::nodeForId): 63796 (WebCore::InspectorBackend::pushNodePathToFrontend): 63797 (WebCore::InspectorBackend::addNodesToSearchResult): 63798 (WebCore::InspectorBackend::selectDatabase): 63799 (WebCore::InspectorBackend::selectDOMStorage): 63800 (WebCore::InspectorBackend::inspectorDOMAgent): 63801 (WebCore::InspectorBackend::inspectorFrontend): 63802 * inspector/InspectorBackend.h: 63803 63804 2009-09-01 Brady Eidson <beidson (a] apple.com> 63805 63806 Reviewed by Sam Weinig. 63807 63808 Page Cache should support pages with frames 63809 https://bugs.webkit.org/show_bug.cgi?id=13631 63810 63811 Things learned in the full task that this patch addresses: 63812 - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 63813 needed to be managed separately. 63814 - Once we start restoring pages with multiple CachedFrames, we'll have to be calling 63815 FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process 63816 will be guided by the CachedFrames themselves. 63817 63818 No new tests. (No change in behavior, current layout tests pass) 63819 63820 * history/CachedFrame.cpp: 63821 (WebCore::CachedFrame::CachedFrame): 63822 (WebCore::CachedFrame::~CachedFrame): 63823 (WebCore::CachedFrame::clear): Only clear pointers out. 63824 (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't 63825 occur simply by navigating back to a page with a CachedFrame. 63826 * history/CachedFrame.h: 63827 63828 * history/CachedPage.cpp: 63829 (WebCore::CachedPage::~CachedPage): 63830 (WebCore::CachedPage::restore): Call clear() after restoring. 63831 (WebCore::CachedPage::clear): 63832 (WebCore::CachedPage::destroy): 63833 * history/CachedPage.h: 63834 63835 * history/PageCache.cpp: 63836 (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned, 63837 instead of clearing them. 63838 63839 * loader/FrameLoader.cpp: 63840 (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring. 63841 (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now. 63842 * loader/FrameLoader.h: Add the friending so CachedPage and CachedFrame can better guide the process. 63843 Even though CachedFrame::restore() isn't used for now, it will be soon. 63844 63845 2009-09-01 Andrei Popescu <andreip (a] google.com> 63846 63847 Reviewed by David Levin. 63848 63849 Add a "lowMemoryNotification" method to the V8 ScriptController class. 63850 This is needed in order to allow the host application (Android Web browser in this case) 63851 to call the v8::V8::LowMemoryNotification() method added to V8 in 63852 http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725 63853 63854 https://bugs.webkit.org/show_bug.cgi?id=28776 63855 63856 63857 * bindings/v8/ScriptController.cpp: 63858 (WebCore::ScriptController::lowMemoryNotification): 63859 * bindings/v8/ScriptController.h: 63860 63861 2009-09-01 Fumitoshi Ukai <ukai (a] chromium.org> 63862 63863 Reviewed by Adam Barth. 63864 63865 V8 Bindings for WebSocket API. 63866 https://bugs.webkit.org/show_bug.cgi?id=28844 63867 63868 * bindings/v8/DOMObjectsInclude.h: 63869 * bindings/v8/DerivedSourcesAllInOne.cpp: 63870 * bindings/v8/V8DOMWrapper.cpp: 63871 (WebCore::V8DOMWrapper::getTemplate): 63872 (WebCore::V8DOMWrapper::convertToV8Object): 63873 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 63874 * bindings/v8/V8DOMWrapper.h: 63875 * bindings/v8/V8Index.cpp: 63876 * bindings/v8/V8Index.h: 63877 * bindings/v8/WorkerContextExecutionProxy.cpp: 63878 * bindings/v8/custom/V8CustomBinding.h: 63879 * bindings/v8/custom/V8WebSocketCustom.cpp: Added. 63880 63881 2009-09-01 Peter Kasting <pkasting (a] google.com> 63882 63883 Unreviewed (build fix). 63884 63885 Missed a "." -> "->" conversion. 63886 63887 * platform/graphics/qt/ImageDecoderQt.cpp: 63888 (WebCore::ImageDecoderQt::ReadContext::ReadContext): 63889 63890 2009-09-01 Peter Kasting <pkasting (a] google.com> 63891 63892 Unreviewed (build fix). 63893 63894 Try to fix Qt build, take 2. The Qt code had what looks like a 63895 broken virtual function override. 63896 63897 * platform/graphics/qt/ImageDecoderQt.cpp: 63898 (WebCore::ImageDecoderQt::ReadContext::ReadContext): 63899 (WebCore::ImageDecoderQt::setData): 63900 * platform/graphics/qt/ImageDecoderQt.h: 63901 63902 2009-09-01 Adam Barth <abarth (a] webkit.org> 63903 63904 Reviewed by Sam Weinig. 63905 63906 Uninitialized variable in XSSAuditor 63907 https://bugs.webkit.org/show_bug.cgi?id=28874 63908 63909 One ought to initialize variables before use even when it doesn't 63910 matter. No behavior change. 63911 63912 * page/XSSAuditor.h: 63913 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): 63914 63915 2009-09-01 Peter Kasting <pkasting (a] google.com> 63916 63917 Unreviewed (build fix). 63918 63919 Try to fix Qt build. 63920 63921 * platform/graphics/ImageSource.cpp: 63922 63923 2009-08-28 Peter Kasting <pkasting (a] google.com> 63924 63925 Reviewed by Eric Seidel. 63926 63927 https://bugs.webkit.org/show_bug.cgi?id=27965 63928 Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp. 63929 63930 * WebCore.pro: 63931 * platform/graphics/ImageSource.cpp: 63932 (WebCore::ImageSource::frameHasAlphaAtIndex): 63933 * platform/graphics/qt/ImageSourceQt.cpp: 63934 (WebCore::ImageSource::createFrameAtIndex): 63935 (WebCore::ImageSource::frameHasAlphaAtIndex): 63936 (WebCore::ImageSource::frameIsCompleteAtIndex): 63937 63938 2009-09-01 Pavel Feldman <pfeldman (a] chromium.org> 63939 63940 Reviewed by Timothy Hatcher. 63941 63942 WebInspector: Make InjectedScript self-contained (move necessary 63943 methods from utilities.js into InjectedScript). 63944 63945 https://bugs.webkit.org/show_bug.cgi?id=28871 63946 63947 * inspector/front-end/ElementsPanel.js: 63948 (WebInspector.ElementsPanel.prototype.generateStylesheet): 63949 * inspector/front-end/InjectedScript.js: 63950 (InjectedScript._ensureCommandLineAPIInstalled.inspectObject): 63951 (InjectedScript._ensureCommandLineAPIInstalled): 63952 (InjectedScript.pushNodeToFrontend): 63953 (InjectedScript.createProxyObject): 63954 (Object.type): 63955 (Object.hasProperties): 63956 (Object.className): 63957 (String.prototype.escapeCharacters): 63958 * inspector/front-end/utilities.js: 63959 63960 2009-09-01 Pavel Feldman <pfeldman (a] chromium.org> 63961 63962 Reviewed by Timothy Hatcher. 63963 63964 WebInspector: console log message repeat count double. 63965 63966 https://bugs.webkit.org/show_bug.cgi?id=28856 63967 63968 * inspector/front-end/InjectedScript.js: 63969 (InjectedScript._evaluateOn): 63970 63971 2009-09-01 Jan Michael Alonzo <jmalonzo (a] webkit.org> 63972 63973 Reviewed by Mark Rowe. 63974 63975 [Gtk] Fix DATALIST build 63976 https://bugs.webkit.org/show_bug.cgi?id=28826 63977 63978 Add ENABLE_DATALIST to FEATURE_DEFINES. 63979 63980 * GNUmakefile.am: 63981 63982 2009-09-01 Cameron McCormack <cam (a] mcc.id.au> 63983 63984 Reviewed by Eric Seidel. 63985 63986 SVGSVGElement suspend methods argument/return types incorrect 63987 https://bugs.webkit.org/show_bug.cgi?id=28860 63988 63989 Also fix the style of the argument names. 63990 63991 * svg/SVGSVGElement.cpp: 63992 (WebCore::SVGSVGElement::suspendRedraw): 63993 (WebCore::SVGSVGElement::unsuspendRedraw): 63994 * svg/SVGSVGElement.h: 63995 63996 2009-09-01 Roland Steiner <rolandsteiner (a] google.com> 63997 63998 Reviewed by Eric Seidel. 63999 64000 Fix bug 28808: [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG] 64001 (https://bugs.webkit.org/show_bug.cgi?id=28808) 64002 64003 The bug fix adds an explicit check for the validity of the path when it is 64004 transformed into local coordinates. 64005 This was the most suitable place I could find that didn't cause an inordinate 64006 amount of refactoring. Also, it seems pertinent and may also catch other cases 64007 that are not limited to clipping paths. 64008 64009 TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html 64010 64011 * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible 64012 (WebCore::): 64013 * platform/graphics/skia/PlatformContextSkia.cpp: 64014 (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path 64015 64016 2009-09-01 Yusuke Sato <yusukes (a] chromium.org> 64017 64018 Reviewed by Eric Seidel. 64019 64020 [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly. 64021 https://bugs.webkit.org/show_bug.cgi?id=28742 64022 64023 Normalize (NFC) a TextRun when the run contains combining diacritical marks 64024 so that Skia can pick a correct glyph without relying on GSUB table in a font. 64025 This change is for Chromium Linux. 64026 64027 * platform/graphics/chromium/FontLinux.cpp: 64028 (WebCore::TextRunWalker::getTextRun): Added. 64029 (WebCore::TextRunWalker::getNormalizedTextRun): Added. 64030 64031 This function is called when the run contains U+0300..U+036F and converts characters in 64032 the run to the combined form (NFC) using ICU. 64033 64034 2009-09-01 Vitaly Repeshko <vitalyr (a] chromium.org> 64035 64036 Reviewed by Dimitri Glazkov. 64037 64038 [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and 64039 V8Proxy::createWrapperFromCache. 64040 https://bugs.webkit.org/show_bug.cgi?id=28848 64041 64042 * bindings/v8/V8DOMWrapper.cpp: 64043 (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special 64044 function for document wrapping. 64045 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of 64046 wrapping a new node. 64047 * bindings/v8/V8DOMWrapper.h: 64048 (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast 64049 path from V8DOMWrapper.cpp. 64050 * bindings/v8/V8Proxy.cpp: 64051 (WebCore::V8Proxy::createWrapperFromCacheSlowCase): 64052 * bindings/v8/V8Proxy.h: 64053 (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path 64054 from V8Proxy.cpp. 64055 64056 2009-09-01 Eric Seidel <eric (a] webkit.org> 64057 64058 No review, windows build fix only. Clearly I should have read the patch closer. :( 64059 64060 Allow excluding certain plugins from loading 64061 https://bugs.webkit.org/show_bug.cgi?id=28677 64062 64063 * plugins/PluginDatabase.cpp: 64064 (WebCore::PluginDatabase::refresh): 64065 64066 2009-09-01 Alexander Pavlov <apavlov (a] chromium.org> 64067 64068 Reviewed by Timothy Hatcher. 64069 64070 Implement conditional breakpoints in the Web Inspector backend 64071 and add frontend JavaScript stubs. 64072 https://bugs.webkit.org/show_bug.cgi?id=28846 64073 64074 * inspector/InspectorBackend.cpp: 64075 (WebCore::InspectorBackend::profiles): 64076 (WebCore::InspectorBackend::addBreakpoint): 64077 (WebCore::InspectorBackend::updateBreakpoint): 64078 * inspector/InspectorBackend.h: 64079 * inspector/InspectorBackend.idl: 64080 * inspector/JavaScriptDebugServer.cpp: 64081 (WebCore::JavaScriptDebugServer::BreakpointInfo::condition): 64082 (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition): 64083 (WebCore::JavaScriptDebugServer::addBreakpoint): 64084 (WebCore::JavaScriptDebugServer::breakpointInfo): 64085 (WebCore::JavaScriptDebugServer::updateBreakpoint): 64086 (WebCore::JavaScriptDebugServer::updateBreakpointInfo): 64087 (WebCore::JavaScriptDebugServer::removeBreakpoint): 64088 (WebCore::JavaScriptDebugServer::hasBreakpoint): 64089 (WebCore::JavaScriptDebugServer::clearBreakpoints): 64090 * inspector/JavaScriptDebugServer.h: 64091 (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo): 64092 * inspector/front-end/Breakpoint.js: 64093 (WebInspector.Breakpoint): 64094 (WebInspector.Breakpoint.prototype.get id): 64095 (WebInspector.Breakpoint.prototype.get condition): 64096 (WebInspector.Breakpoint.prototype.set condition): 64097 * inspector/front-end/BreakpointsSidebarPane.js: 64098 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 64099 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 64100 * inspector/front-end/ScriptsPanel.js: 64101 (WebInspector.ScriptsPanel.prototype.addScript): 64102 64103 2009-09-01 Marius Renn <damarvy (a] gmail.com> 64104 64105 Reviewed by Eric Seidel. 64106 64107 Added delegate to PluginDatabase to disable loading certain plugins. 64108 This is useful when you want to load from the standard plugin 64109 directory, but want to exclude certain plugins. Plugins may be 64110 excluded early on by name, so that no plugin code is executed (which 64111 may have caused a crash). 64112 64113 * plugins/PluginDatabase.cpp: 64114 (WebCore::PluginDatabase::PluginDatabase): 64115 (WebCore::PluginDatabase::refresh): 64116 * plugins/PluginDatabase.h: 64117 (WebCore::PluginDatabase::setClient): 64118 * plugins/PluginDatabaseClient.h: Added. 64119 (WebCore::PluginDatabaseClient::~PluginDatabaseClient): 64120 64121 2009-08-31 Brady Eidson <beidson (a] apple.com> 64122 64123 Rubberstamped by Sam Weinig 64124 64125 * WebCore.base.exp: Removed an unneeded symbol export. 64126 64127 2009-08-31 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 64128 64129 Reviewed by Alexey Proskuryakov. 64130 64131 https://bugs.webkit.org/show_bug.cgi?id=28466 64132 When downloading a file, two GET requests are sent to the HTTP server 64133 64134 Can't think of a way to test this. 64135 64136 * loader/ResourceLoader.cpp: 64137 (WebCore::ResourceLoader::releaseResources): only nullify the 64138 handle's client when it is the ResourceLoader, to support the case 64139 in which a download API uses a different client 64140 64141 2009-08-31 Brian Weinstein <bweinstein (a] apple.com> 64142 64143 Reviewed by Darin Adler. 64144 64145 Text Fields and Text Areas are reported as read-only by inspect32.exe. 64146 https://bugs.webkit.org/show_bug.cgi?id=28854 64147 64148 Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields 64149 and texts areas are read-only. 64150 64151 * accessibility/AccessibilityRenderObject.cpp: 64152 (WebCore::AccessibilityRenderObject::isReadOnly): 64153 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 64154 64155 2009-08-31 Drew Wilson <atwilson (a] google.com> 64156 64157 Reviewed by Alexey Proskuryakov. 64158 64159 fast/workers/worker-lifecycle.html crashes intermittently on snowleopard 64160 https://bugs.webkit.org/show_bug.cgi?id=28795 64161 64162 Changed WorkerContext::close() to no longer stop the worker thread. 64163 It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed. 64164 64165 * workers/AbstractWorker.cpp: 64166 Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled. 64167 * workers/DefaultSharedWorkerRepository.cpp: 64168 (WebCore::SharedWorkerProxy::workerContextClosed): 64169 Now shuts down the worker thread when notified that the context is closed. 64170 (WebCore::SharedWorkerProxy::close): 64171 Now handles being invoked when the context is already in the process of shutting down. 64172 * workers/WorkerContext.cpp: 64173 (WebCore::WorkerContext::close): 64174 No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it. 64175 * workers/WorkerContext.h: 64176 (WebCore::WorkerContext::isClosing): 64177 isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks. 64178 * workers/WorkerMessagingProxy.cpp: 64179 (WebCore::WorkerExceptionTask::performTask): 64180 Error events should still be delivered even if the worker thread is closing. 64181 Also fixed problem where error events were not dispatched if error handlers were added via addEventListener(). 64182 (WebCore::WorkerTerminateTask::create): 64183 New task that invokes terminateWorkerContext() on the parent thread when the context is closed. 64184 (WebCore::WorkerTerminateTask::WorkerTerminateTask): 64185 (WebCore::WorkerTerminateTask::performTask): 64186 (WebCore::WorkerMessagingProxy::workerContextClosed): 64187 Now fires off a WorkerTerminateTask to shut down the thread when the context is closed. 64188 * workers/WorkerMessagingProxy.h: 64189 WorkerMessagingProxy now overrides workerContextClosed(). 64190 * workers/WorkerRunLoop.cpp: 64191 (WebCore::WorkerRunLoop::runInMode): 64192 Now drops tasks on the floor if the WorkerContext is closing. 64193 64194 2009-08-31 Ojan Vafai <ojan (a] chromium.org> 64195 64196 Not reviewed (build fix) 64197 64198 Build fix for Chromium to match r49707. 64199 64200 * bindings/v8/ScriptCallFrame.cpp: 64201 (WebCore::ScriptCallFrame::ScriptCallFrame): 64202 * bindings/v8/ScriptSourceCode.h: 64203 (WebCore::ScriptSourceCode::ScriptSourceCode): 64204 * platform/KURLGoogle.cpp: 64205 (WebCore::KURL::KURL): 64206 (WebCore::blankURL): 64207 64208 2009-08-31 Alexey Proskuryakov <ap (a] webkit.org> 64209 64210 Reviewed by Darin Adler. 64211 64212 https://bugs.webkit.org/show_bug.cgi?id=28858 64213 Element.baseURI parses xml:base attribute incorrectly 64214 64215 Test: fast/dom/base-attribute-parsing.xhtml 64216 64217 * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in 64218 release mode). 64219 64220 2009-08-31 Dimitri Glazkov <dglazkov (a] chromium.org> 64221 64222 Reverting http://trac.webkit.org/changeset/47904, because it caused 64223 layout test failure. 64224 64225 Test: fast/dom/Window/new-window-opener.html 64226 64227 2009-08-31 Alexey Proskuryakov <ap (a] webkit.org> 64228 64229 Reviewed by Darin Adler. 64230 64231 https://bugs.webkit.org/show_bug.cgi?id=28852 64232 Rename KURL single argument constructor to avoid confusion 64233 64234 * platform/KURL.h: The constructor that used to be single argument should now be invoked 64235 as KURL(ParsedURLString, myString). 64236 64237 * WebCore.base.exp: 64238 * bindings/js/JSDOMWindowCustom.cpp: 64239 (WebCore::createWindow): 64240 * bindings/js/ScriptCallFrame.cpp: 64241 (WebCore::ScriptCallFrame::ScriptCallFrame): 64242 * bindings/v8/NPV8Object.cpp: 64243 (_NPN_EvaluateHelper): 64244 * bindings/v8/custom/V8DOMWindowCustom.cpp: 64245 (WebCore::createWindow): 64246 * css/CSSCursorImageValue.cpp: 64247 (WebCore::isSVGCursorIdentifier): 64248 * css/CSSImageValue.cpp: 64249 (WebCore::CSSImageValue::cachedImage): 64250 * css/CSSImportRule.cpp: 64251 (WebCore::CSSImportRule::insertedIntoParent): 64252 * css/StyleBase.cpp: 64253 (WebCore::StyleBase::baseURL): 64254 * dom/Document.cpp: 64255 (WebCore::Document::initSecurityContext): 64256 * dom/Element.cpp: 64257 (WebCore::Element::baseURI): 64258 * editing/markup.cpp: 64259 (WebCore::completeURLs): 64260 * history/HistoryItem.cpp: 64261 (WebCore::HistoryItem::url): 64262 (WebCore::HistoryItem::originalURL): 64263 * inspector/InspectorController.cpp: 64264 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 64265 * inspector/InspectorResource.cpp: 64266 (WebCore::InspectorResource::createCached): 64267 * loader/Cache.cpp: 64268 (WebCore::Cache::revalidateResource): 64269 * loader/DocLoader.cpp: 64270 (WebCore::DocLoader::requestResource): 64271 * loader/DocumentLoader.cpp: 64272 (WebCore::DocumentLoader::getSubresources): 64273 * loader/FrameLoader.cpp: 64274 (WebCore::FrameLoader::init): 64275 (WebCore::FrameLoader::iconURL): 64276 (WebCore::FrameLoader::scheduleLocationChange): 64277 (WebCore::FrameLoader::redirectionTimerFired): 64278 (WebCore::FrameLoader::loadURLIntoChildFrame): 64279 (WebCore::FrameLoader::startRedirectionTimer): 64280 * loader/appcache/ApplicationCache.cpp: 64281 (WebCore::ApplicationCache::resourceForURL): 64282 * loader/appcache/ApplicationCacheGroup.cpp: 64283 (WebCore::ApplicationCacheGroup::startLoadingEntry): 64284 (WebCore::ApplicationCacheGroup::addEntry): 64285 * loader/appcache/ApplicationCacheStorage.cpp: 64286 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 64287 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 64288 (WebCore::ApplicationCacheStorage::loadCache): 64289 (WebCore::ApplicationCacheStorage::manifestURLs): 64290 * loader/archive/cf/LegacyWebArchive.cpp: 64291 (WebCore::LegacyWebArchive::createResource): 64292 (WebCore::LegacyWebArchive::create): 64293 * loader/loader.cpp: 64294 (WebCore::Loader::load): 64295 * notifications/NotificationCenter.h: 64296 (WebCore::NotificationCenter::createHTMLNotification): 64297 * platform/KURL.cpp: 64298 (WebCore::KURL::KURL): 64299 (WebCore::blankURL): 64300 * platform/KURLHash.h: 64301 * platform/chromium/ClipboardChromium.cpp: 64302 (WebCore::ClipboardChromium::setData): 64303 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 64304 (WebCore::MediaPlayerPrivate::createQTMovie): 64305 * platform/network/cf/ResourceErrorCF.cpp: 64306 (WebCore::ResourceError::operator CFErrorRef): 64307 * platform/network/cf/ResourceRequest.h: 64308 (WebCore::ResourceRequest::ResourceRequest): 64309 * platform/network/chromium/ResourceRequest.h: 64310 (WebCore::ResourceRequest::ResourceRequest): 64311 * platform/network/curl/ResourceHandleManager.cpp: 64312 (WebCore::handleLocalReceiveResponse): 64313 (WebCore::headerCallback): 64314 * platform/network/curl/ResourceRequest.h: 64315 (WebCore::ResourceRequest::ResourceRequest): 64316 * platform/network/mac/ResourceErrorMac.mm: 64317 (WebCore::ResourceError::operator NSError*): 64318 * platform/network/mac/ResourceRequest.h: 64319 (WebCore::ResourceRequest::ResourceRequest): 64320 * platform/network/qt/ResourceRequest.h: 64321 (WebCore::ResourceRequest::ResourceRequest): 64322 * platform/network/soup/ResourceRequest.h: 64323 (WebCore::ResourceRequest::ResourceRequest): 64324 * platform/win/ClipboardWin.cpp: 64325 (WebCore::filesystemPathFromUrlOrTitle): 64326 (WebCore::ClipboardWin::setData): 64327 * svg/graphics/SVGImage.cpp: 64328 (WebCore::SVGImage::dataChanged): 64329 * xml/XSLImportRule.cpp: 64330 (WebCore::XSLImportRule::loadSheet): 64331 * xml/XSLTProcessor.cpp: 64332 (WebCore::docLoaderFunc): 64333 Adapt to the change everywhere the single argument constructor was used. I did a very 64334 cursory check of whether these locations were using this constructor properly, and didn't 64335 notice any obvious mistakes. The new explicit name will hopefully suggest checking this 64336 better when refactoring any such code. 64337 64338 2009-08-31 Beth Dakin <bdakin (a] apple.com> 64339 64340 Reviewed by Darin Adler. 64341 64342 Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 64343 Backgrounds and Borders] Add support for 2-keyword values for 64344 background-repeat 64345 64346 This patch allows background-repeat to take two values by making 64347 background-repeat just like background-position internally. There 64348 is a little extra legwork for background-repeat because the spec 64349 indicates that its computed value should be equivalent to how it 64350 was specified. I keep track of the specified thing by setting the 64351 implicit flag whenever background-repeat is defined with only one 64352 value (since internally, we now store this as 2 values.) 64353 64354 Here we can't access the implicit flag, so for backwards- 64355 compatibility's sake, we always return one value when that makes 64356 sense. 64357 * css/CSSComputedStyleDeclaration.cpp: 64358 (WebCore::fillRepeatToCSSValue): 64359 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 64360 64361 Here we check for the implicit flag and return one value when it is 64362 set. 64363 * css/CSSMutableStyleDeclaration.cpp: 64364 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 64365 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): 64366 (WebCore::CSSMutableStyleDeclaration::cssText): 64367 64368 Add support for CSSPropertyBackgroundRepeatX and 64369 CSSPropertyBackgroundRepeatY 64370 * css/CSSParser.cpp: 64371 (WebCore::CSSParser::parseValue): 64372 (WebCore::CSSParser::parseFillShorthand): 64373 (WebCore::CSSParser::parseFillRepeat): 64374 (WebCore::CSSParser::parseFillProperty): 64375 * css/CSSParser.h: 64376 64377 Get rid of mappings to RepeatXFill and RepeatYFill since we don't 64378 need those parts of the EFillRepeat enum anymore. 64379 * css/CSSPrimitiveValueMappings.h: 64380 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 64381 (WebCore::CSSPrimitiveValue::operator EFillRepeat): 64382 64383 Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY 64384 * css/CSSPropertyLonghand.cpp: 64385 (WebCore::initShorthandMap): 64386 64387 Add background-repeat-x and -y. 64388 * css/CSSPropertyNames.in: 64389 64390 Break repeat into x and y. 64391 * css/CSSStyleSelector.cpp: 64392 (WebCore::CSSStyleSelector::applyProperty): 64393 (WebCore::CSSStyleSelector::mapFillRepeatX): 64394 (WebCore::CSSStyleSelector::mapFillRepeatY): 64395 * css/CSSStyleSelector.h: 64396 64397 There is no more RepeatXFill. Instead, look for 64398 fillLayer->repeatX() == RepeatFill 64399 * rendering/RenderBoxModelObject.cpp: 64400 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 64401 64402 Break m_repeat into m_repeatX and m_repeatY 64403 * rendering/style/FillLayer.cpp: 64404 (WebCore::FillLayer::FillLayer): 64405 (WebCore::FillLayer::operator=): 64406 (WebCore::FillLayer::operator==): 64407 (WebCore::FillLayer::fillUnsetProperties): 64408 (WebCore::FillLayer::cullEmptyLayers): 64409 * rendering/style/FillLayer.h: 64410 (WebCore::FillLayer::repeatX): 64411 (WebCore::FillLayer::repeatY): 64412 (WebCore::FillLayer::isRepeatXSet): 64413 (WebCore::FillLayer::isRepeatYSet): 64414 (WebCore::FillLayer::setRepeatX): 64415 (WebCore::FillLayer::setRepeatY): 64416 (WebCore::FillLayer::clearRepeatX): 64417 (WebCore::FillLayer::clearRepeatY): 64418 (WebCore::FillLayer::initialFillRepeatX): 64419 (WebCore::FillLayer::initialFillRepeatY): 64420 64421 Again, break backgroundRepeat into backgroundRepeatX and 64422 backgroundRepeatY 64423 * rendering/style/RenderStyle.h: 64424 (WebCore::InheritedFlags::backgroundRepeatX): 64425 (WebCore::InheritedFlags::backgroundRepeatY): 64426 (WebCore::InheritedFlags::maskRepeatX): 64427 (WebCore::InheritedFlags::maskRepeatY): 64428 64429 We don't need RepeatXFill or RepeatYFill. Now that we store two 64430 values, they are represented by Repeat-NoRepeat and NoRepeat- 64431 Repeat, respectively. 64432 * rendering/style/RenderStyleConstants.h: 64433 (WebCore::): 64434 64435 2009-08-31 Simon Fraser <simon.fraser (a] apple.com> 64436 64437 Reviewed by Dan Bernstein. 64438 64439 Compositing layer size needs to take into account software reflections on children. 64440 https://bugs.webkit.org/show_bug.cgi?id=28837 64441 64442 When computing the bounds of a composited layer, take software-rendered 64443 reflections into account. 64444 64445 Test: compositing/reflections/reflection-in-composited.html 64446 64447 * rendering/RenderLayerCompositor.cpp: 64448 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 64449 64450 2009-08-31 Mark Mentovai <mark (a] chromium.org> 64451 64452 Reviewed by Dave Hyatt. 64453 64454 https://bugs.webkit.org/show_bug.cgi?id=28614 64455 64456 Perform a layout prior to checking whether the scrollbar modes are 64457 off, on, or automatic. The modes may change during layout. 64458 64459 * platform/ScrollView.cpp: 64460 (WebCore::ScrollView::updateScrollbars): 64461 64462 2009-08-31 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 64463 64464 Reviewed by Timothy Hatcher. 64465 64466 Inspector Request Headers Should Show Data Sent With Request 64467 https://bugs.webkit.org/show_bug.cgi?id=22920 64468 64469 Manual test added - see below. 64470 64471 * English.lproj/localizedStrings.js: 64472 * inspector/InspectorResource.cpp: 64473 (WebCore::InspectorResource::updateRequest): 64474 (WebCore::InspectorResource::createScriptObject): 64475 (WebCore::InspectorResource::updateScriptObject): 64476 * inspector/InspectorResource.h: 64477 * inspector/front-end/Resource.js: 64478 (WebInspector.Resource): 64479 * inspector/front-end/ResourceView.js: 64480 (WebInspector.ResourceView): 64481 (WebInspector.ResourceView.prototype._refreshURL): 64482 (WebInspector.ResourceView.prototype._refreshQueryString): 64483 (WebInspector.ResourceView.prototype._refreshFormData): 64484 (WebInspector.ResourceView.prototype._refreshRequestPayload): 64485 (WebInspector.ResourceView.prototype._refreshParms): 64486 (WebInspector.ResourceView.prototype._toggleURLdecoding): 64487 (WebInspector.ResourceView.prototype._getHeaderValue): 64488 (WebInspector.ResourceView.prototype._refreshRequestHeaders): 64489 * inspector/front-end/inspector.css: 64490 * inspector/front-end/inspector.js: 64491 (WebInspector.addResource): 64492 (WebInspector.updateResource): 64493 * manual-tests/inspector/display-form-data.html: Added. 64494 64495 2009-08-31 Pavel Feldman <pfeldman (a] chromium.org> 64496 64497 Reviewed by Timothy Hatcher. 64498 64499 WebInspector: pass call frames into the frontend as a part of 64500 pausedScript event. 64501 64502 https://bugs.webkit.org/show_bug.cgi?id=28847 64503 64504 * inspector/InspectorController.cpp: 64505 (WebCore::InspectorController::didPause): 64506 * inspector/InspectorFrontend.cpp: 64507 (WebCore::InspectorFrontend::pausedScript): 64508 * inspector/InspectorFrontend.h: 64509 * inspector/front-end/ScriptsPanel.js: 64510 (WebInspector.ScriptsPanel.prototype.debuggerPaused): 64511 * inspector/front-end/inspector.js: 64512 (WebInspector.pausedScript): 64513 64514 2009-08-31 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 64515 64516 Reviewed by Ariya Hidayat. 64517 64518 [Qt] Un-blacklist Silverlight on Mac 64519 64520 Does not seem to crash anymore, probably due to how we now handle 64521 drawing and event model handshake better. 64522 64523 * plugins/mac/PluginPackageMac.cpp: 64524 (WebCore::PluginPackage::isPluginBlacklisted): 64525 64526 2009-08-31 Cameron McCormack <cam (a] mcc.id.au> 64527 64528 Reviewed by Eric Seidel. 64529 64530 https://bugs.webkit.org/show_bug.cgi?id=28827 64531 SVGSVGElement.unsuspendRedraw() shouldn't throw 64532 64533 * svg/SVGSVGElement.cpp: 64534 (WebCore::SVGSVGElement::unsuspendRedraw): 64535 * svg/SVGSVGElement.h: 64536 * svg/SVGSVGElement.idl: 64537 64538 2009-08-31 Kent Tamura <tkent (a] chromium.org> 64539 64540 Reviewed by Eric Seidel. 64541 64542 - Change the reutrn type of HTMLInputElement::list so that it 64543 conforms to the standard. 64544 - Add HTMLInputElement::dataList() 64545 https://bugs.webkit.org/show_bug.cgi?id=28769 64546 64547 64548 * html/HTMLInputElement.cpp: 64549 (WebCore::HTMLInputElement::list): 64550 (WebCore::HTMLInputElement::dataList): 64551 (WebCore::HTMLInputElement::selectedOption): 64552 * html/HTMLInputElement.h: 64553 * html/HTMLInputElement.idl: 64554 64555 2009-08-31 Kwang Yul Seo <skyul (a] company100.net> 64556 64557 Reviewed by Eric Seidel. 64558 64559 Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp) 64560 https://bugs.webkit.org/show_bug.cgi?id=28802 64561 64562 Remove ASSERT because the frame could be null if the 64563 ResourceHandle is not associated with any frame, e.g. if we are 64564 downloading a file. 64565 If the frame is not null but the page is null this must be an 64566 attempted load from an onUnload handler, so let's just block it. 64567 64568 * platform/network/curl/ResourceHandleCurl.cpp: 64569 (WebCore::ResourceHandle::start): 64570 64571 2009-08-31 Maxime Simon <simon.maxime (a] gmail.com> 64572 64573 Reviewed by Eric Seidel. 64574 64575 Build fix for platforms which don't enable DOM_STORAGE. 64576 https://bugs.webkit.org/show_bug.cgi?id=28834 64577 64578 * bindings/js/ScriptController.cpp: 64579 (WebCore::ScriptController::evaluate): 64580 * bindings/v8/ScriptController.cpp: 64581 (WebCore::ScriptController::evaluate): 64582 64583 2009-08-29 Adele Peterson <adele (a] apple.com> 64584 64585 Reviewed by Dan Bernstein. 64586 64587 Fix for https://bugs.webkit.org/show_bug.cgi?id=28829 64588 Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer 64589 64590 Test: accessibility/aria-activedescendant-crash.html 64591 64592 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check. 64593 64594 2009-08-28 Jan Michael Alonzo <jmalonzo (a] webkit.org> 64595 64596 Reviewed by Oliver Hunt. 64597 64598 Gtk Build broken for OSX Quartz 64599 https://bugs.webkit.org/show_bug.cgi?id=28727 64600 64601 Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk 64602 port in Mac and Unix/Linux. 64603 64604 * plugins/PluginView.cpp: 64605 (WebCore::PluginView::PluginView): 64606 * plugins/PluginView.h: 64607 * plugins/gtk/PluginViewGtk.cpp: 64608 (WebCore::PluginView::setNPWindowIfNeeded): 64609 (WebCore::PluginView::getValueStatic): 64610 (WebCore::PluginView::getValue): 64611 (WebCore::PluginView::init): 64612 64613 2009-08-28 Simon Fraser <simon.fraser (a] apple.com> 64614 64615 Reviewed by Dan Bernstein. 64616 64617 Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity. 64618 https://bugs.webkit.org/show_bug.cgi?id=28754 64619 64620 For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned 64621 ancestor, since the layer x and y are relative to that ancestor. However, this could 64622 skip over the ancestorLayer, thus giving the wrong result. 64623 64624 Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(), 64625 and checking for ancestorLayer along the way. If found, compute offset of both to 64626 the enclosingPositionedAncestor() and subtract. 64627 64628 This also fixes a positioning bug with abs. positioned elements in reflections, 64629 so there is a new reflection test with a pixel result. 64630 64631 Tests: compositing/geometry/abs-position-inside-opacity.html 64632 fast/reflections/abs-position-in-reflection.html 64633 64634 * rendering/RenderLayer.cpp: 64635 (WebCore::isPositionedContainer): 64636 (WebCore::RenderLayer::enclosingPositionedAncestor): 64637 (WebCore::RenderLayer::enclosingTransformedAncestor): 64638 (WebCore::RenderLayer::convertToLayerCoords): 64639 64640 2009-08-28 Simon Fraser <simon.fraser (a] apple.com> 64641 64642 Reviewed by Mark Rowe 64643 64644 Wrap WebkitCSSTransformValues in the correct class of DOM wrapper. 64645 https://bugs.webkit.org/show_bug.cgi?id=27727 64646 64647 When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 64648 CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue, 64649 because there is not a unique enum value for WebkitCSSTransformValue. 64650 64651 * bindings/objc/DOMCSS.mm: 64652 (kitClass): 64653 64654 2009-08-28 Peter Kasting <pkasting (a] google.com> 64655 64656 Reviewed by Jan Michael Alonzo. 64657 64658 https://bugs.webkit.org/show_bug.cgi?id=28308 64659 Fix some warnings introduced by r47381. 64660 64661 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 64662 (WebCore::convertCMYKToRGBA): 64663 (WebCore::convertRGBToRGBA): 64664 64665 2009-08-28 Ada Chan <adachan (a] apple.com> 64666 64667 Reviewed by Adam Roben. 64668 64669 https://bugs.webkit.org/show_bug.cgi?id=21442 64670 Make sure filesystemPathFromUrlOrTitle() returns a string with length 64671 <= MAX_PATH - 1. 64672 64673 * platform/win/ClipboardWin.cpp: 64674 (WebCore::filesystemPathFromUrlOrTitle): 64675 64676 2009-08-28 Dumitru Daniliuc <dumi (a] chromium.org> 64677 64678 Reviewed by Dimitri Glazkov. 64679 64680 Adding Chromium's VFS for Linux and Mac. 64681 64682 https://bugs.webkit.org/show_bug.cgi?id=28750 64683 64684 * WebCore.gypi: 64685 * platform/chromium/ChromiumBridge.h: 64686 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 64687 (WebCore::SQLiteFileSystem::openDatabase): 64688 (WebCore::SQLiteFileSystem::deleteDatabaseFile): 64689 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed. 64690 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed. 64691 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added. 64692 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 64693 64694 2009-08-28 Vitaly Repeshko <vitalyr (a] chromium.org> 64695 64696 Reviewed by Dimitri Glazkov. 64697 64698 [V8] Made bindings use Node::setOnEvent functions for Node descendants 64699 instead of Node::setAttributeEventListener. 64700 64701 Node::setAttributeEventListener is an internal function and 64702 doesn't do the forwarding to DOM window that is required for some 64703 HTML elements. 64704 https://bugs.webkit.org/show_bug.cgi?id=28709 64705 64706 Tests added in http://trac.webkit.org/changeset/47326 now pass with V8. 64707 64708 * bindings/scripts/CodeGeneratorV8.pm: 64709 Now generates EventListener accessors for Node descendants instead 64710 of using custom callbacks. 64711 * bindings/v8/V8DOMWrapper.cpp: 64712 (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp. 64713 * bindings/v8/V8DOMWrapper.h: 64714 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in 64715 signature. 64716 * bindings/v8/V8Utilities.cpp: 64717 (WebCore::createHiddenDependency): 64718 (WebCore::removeHiddenDependency): 64719 Changed signature to accept Handle instead of Local. 64720 * bindings/v8/V8Utilities.h: 64721 * bindings/v8/custom/V8CustomBinding.h: 64722 * bindings/v8/custom/V8NodeCustom.cpp: 64723 (WebCore::CALLBACK_FUNC_DECL): 64724 Removed custom callbacks for EventListener accessors. 64725 64726 2009-08-28 Ben Murdoch <benm (a] google.com> 64727 64728 https://bugs.webkit.org/show_bug.cgi?id=28803 64729 64730 Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function. 64731 64732 * bindings/v8/custom/V8CustomVoidCallback.cpp: 64733 (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so. 64734 64735 2009-08-28 Peter Kasting <pkasting (a] google.com> 64736 64737 Not reviewed (build fix). 64738 64739 * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces. 64740 (WebCore::ImageDecoder::create): 64741 (WebCore::ImageDecoderQt::ImageDecoderQt): 64742 * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend). 64743 64744 2009-08-28 Peter Kasting <pkasting (a] google.com> 64745 64746 Reviewed by Eric Seidel. 64747 64748 https://bugs.webkit.org/show_bug.cgi?id=27965 64749 Move ImageDecoder creation function to a factory function on 64750 ImageDecoder. This is arguably where it makes the most sense anyway, 64751 and it will (soon) allow ImageSourceQt.cpp to have one less dedicated 64752 function. 64753 64754 * platform/graphics/ImageSource.cpp: 64755 * platform/graphics/qt/ImageDecoderQt.cpp: 64756 (WebCore::ImageDecoder::create): 64757 * platform/graphics/qt/ImageDecoderQt.h: 64758 * platform/graphics/qt/ImageSourceQt.cpp: 64759 (WebCore::ImageSource::setData): 64760 * platform/image-decoders/ImageDecoder.cpp: 64761 * platform/image-decoders/ImageDecoder.h: 64762 64763 2009-08-28 Peter Kasting <pkasting (a] google.com> 64764 64765 Reviewed by Eric Seidel. 64766 64767 https://bugs.webkit.org/show_bug.cgi?id=28785 64768 Combine duplicated code from ImageDecoder*.cpp into the main 64769 ImageDecoder.cpp. 64770 64771 * platform/image-decoders/ImageDecoder.cpp: 64772 (WebCore::RGBA32Buffer::RGBA32Buffer): 64773 (WebCore::RGBA32Buffer::clear): 64774 (WebCore::RGBA32Buffer::zeroFill): 64775 (WebCore::RGBA32Buffer::copyBitmapData): 64776 (WebCore::RGBA32Buffer::setSize): 64777 (WebCore::RGBA32Buffer::hasAlpha): 64778 (WebCore::RGBA32Buffer::setHasAlpha): 64779 (WebCore::RGBA32Buffer::setStatus): 64780 (WebCore::RGBA32Buffer::operator=): 64781 (WebCore::RGBA32Buffer::width): 64782 (WebCore::RGBA32Buffer::height): 64783 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 64784 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: 64785 * platform/image-decoders/wx/ImageDecoderWx.cpp: 64786 64787 2009-08-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 64788 64789 Reviewed by Holger Freyther. 64790 64791 https://bugs.webkit.org/show_bug.cgi?id=25889 64792 [GTK] scrollbar policy for main frame is not implementable 64793 64794 Override setScrollbarModes to correctly forward scrollbar modes 64795 policy changes to client code, via a new platform-specific method, 64796 scrollbarsPolicyDidChange. 64797 64798 * page/ChromeClient.h: 64799 (WebCore::ChromeClient::scrollbarsPolicyDidChange): 64800 * platform/ScrollView.cpp: 64801 (WebCore::ScrollView::createScrollbar): 64802 * platform/ScrollView.h: 64803 * platform/gtk/ScrollViewGtk.cpp: 64804 (WebCore::ScrollView::setScrollbarModes): 64805 64806 2009-08-28 Cdric Luthi <cedric.luthi (a] gmail.com> 64807 64808 Reviewed by Tor Arne Vestb 64809 64810 [Qt/Mac] Un-blacklist the QuickTime plugin 64811 64812 https://bugs.webkit.org/show_bug.cgi?id=28768 64813 64814 Now that the drawing model is properly negotiated, there is no need the 64815 blacklist the QuickTime plugin anymore. 64816 64817 This revealed a bug in PluginView::performRequest: it should not initiate a 64818 request if the plugin has been stopped, which is what happens when a plugin 64819 only supports the QuickDraw drawing model. 64820 64821 * plugins/PluginView.cpp: 64822 * plugins/mac/PluginPackageMac.cpp: 64823 64824 2009-08-28 Yury Semikhatsky <yurys (a] chromium.org> 64825 64826 Reviewed by Timothy Hatcher. 64827 64828 Set DOM agent document to 0 in InspectorController::close to 64829 make DOM agent remove DOM listeners from the inspected document. 64830 64831 Replace windowVisible checks with m_frontend checks to as inspector 64832 window lives in a different process in Chromium while frontend proxy 64833 is in the inspected page process. 64834 64835 https://bugs.webkit.org/show_bug.cgi?id=28800 64836 64837 * inspector/InspectorController.cpp: 64838 (WebCore::InspectorController::inspect): 64839 (WebCore::InspectorController::addConsoleMessage): 64840 (WebCore::InspectorController::close): 64841 (WebCore::InspectorController::pruneResources): 64842 (WebCore::InspectorController::didCommitLoad): 64843 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 64844 (WebCore::InspectorController::identifierForInitialRequest): 64845 (WebCore::InspectorController::willSendRequest): 64846 (WebCore::InspectorController::didReceiveResponse): 64847 (WebCore::InspectorController::didReceiveContentLength): 64848 (WebCore::InspectorController::didFinishLoading): 64849 (WebCore::InspectorController::didFailLoading): 64850 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 64851 (WebCore::InspectorController::scriptImported): 64852 (WebCore::InspectorController::didOpenDatabase): 64853 (WebCore::InspectorController::didUseDOMStorage): 64854 (WebCore::InspectorController::addProfile): 64855 * inspector/InspectorController.h: 64856 64857 2009-08-28 Mikhail Naganov <mnaganov (a] chromium.org> 64858 64859 Reviewed by Timothy Hatcher. 64860 64861 Remove dependency of SummaryBar on WebInspector.resourceCategories. 64862 64863 https://bugs.webkit.org/show_bug.cgi?id=28801 64864 64865 * inspector/front-end/ResourcesPanel.js: 64866 (WebInspector.ResourcesPanel): 64867 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories): 64868 * inspector/front-end/SummaryBar.js: 64869 (WebInspector.SummaryBar): 64870 (WebInspector.SummaryBar.prototype.update): 64871 64872 2009-08-28 Pavel Feldman <pfeldman (a] chromium.org> 64873 64874 Not reviewed (patching in l18n change that was missing due to 64875 the git binary diff format). 64876 64877 https://bugs.webkit.org/show_bug.cgi?id=28429 64878 64879 * English.lproj/localizedStrings.js: 64880 64881 2009-08-28 Adam Barth <abarth (a] webkit.org> 64882 64883 Reviewed by Eric Seidel. 64884 64885 Make XSSAuditor go fast 64886 https://bugs.webkit.org/show_bug.cgi?id=28667 64887 64888 Make the XSSAuditor go faster by implementing two optimizations: 64889 64890 1) We avoid canonicalizing scripts that are larger than the page's URL. 64891 This saves a bunch of time for large inline scripts. 64892 64893 2) We memoize canonicalizing the page's URL because it's silly to 64894 canonicalize repeated for each inline event listener. 64895 64896 These optimizations have a measurable affect on the intl1 page cycler. 64897 64898 No behavior change. 64899 64900 * page/XSSAuditor.cpp: 64901 (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL): 64902 (WebCore::XSSAuditor::canEvaluate): 64903 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 64904 (WebCore::XSSAuditor::canCreateInlineEventListener): 64905 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 64906 (WebCore::XSSAuditor::canLoadObject): 64907 (WebCore::XSSAuditor::canSetBaseElementURL): 64908 (WebCore::XSSAuditor::decodeURL): 64909 (WebCore::XSSAuditor::findInRequest): 64910 * page/XSSAuditor.h: 64911 64912 2009-08-27 Dimitri Glazkov <dglazkov (a] chromium.org> 64913 64914 Unreviewed, build fix. 64915 64916 Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in 64917 fast/canvas/change-context.html. And it's alright to reach it. 64918 64919 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 64920 (WebCore::CALLBACK_FUNC_DECL): Removed assertion. 64921 64922 2009-08-27 Jeremy Orlow <jorlow (a] chromium.org> 64923 64924 Not reviewed. Build fix for http://trac.webkit.org/changeset/47840 64925 64926 Peter's change forgot one m_decoder-> 64927 64928 * platform/graphics/ImageSource.cpp: 64929 (WebCore::ImageSource::frameSizeAtIndex): 64930 64931 2009-08-27 Dimitri Glazkov <dglazkov (a] chromium.org> 64932 64933 Unreviewed, build fix. 64934 64935 [V8] Add NULL-check, since the context ain't changeable no more, and 64936 thus getContext could return 0. 64937 64938 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 64939 (WebCore::CALLBACK_FUNC_DECL): Added NULL-check. 64940 64941 2009-08-27 Noel Gordon <noel.gordon (a] gmail.com> 64942 64943 Reviewed by Eric Seidel. 64944 64945 dataTransfer.types() should include type "Files" when files are present in the clipboard. 64946 https://bugs.webkit.org/show_bug.cgi?id=28780 64947 64948 Add dataTransfer type "Files" to the chromium port. Add eseidel's 64949 patch for same for the mac port. 64950 64951 * platform/chromium/ClipboardChromium.cpp: 64952 64953 2009-08-27 Chris Marrin <cmarrin (a] apple.com> 64954 64955 Reviewed by Simon Fraser. 64956 64957 Removed GL_ from all constants, and gl prefix from all calls 64958 https://bugs.webkit.org/show_bug.cgi?id=28773 64959 64960 This was done for the external API in CanvasRenderingContext3D and 64961 the internal API in GraphicsContext3D. 64962 64963 * html/canvas/CanvasRenderingContext3D.cpp: 64964 * html/canvas/CanvasRenderingContext3D.h: 64965 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: 64966 * html/canvas/CanvasRenderingContext3D.idl: 64967 * platform/graphics/GraphicsContext3D.h: 64968 * platform/graphics/mac/GraphicsContext3DMac.cpp: 64969 64970 2009-08-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 64971 64972 Qt and Gtk build fixes. Not reviewed. 64973 64974 Add CanvasRenderingContext3D.idl to the build scripts. 64975 64976 * GNUmakefile.am: 64977 * WebCore.pro: 64978 64979 2009-08-27 Jeremy Orlow <jorlow (a] chromium.org> 64980 64981 Reviewed by Darin Fisher. 64982 64983 Release the storage mutex whenever leaving JavaScript execution. 64984 https://bugs.webkit.org/show_bug.cgi?id=28789 64985 64986 http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the 64987 required behavior. After we leave JavaScript, we must be sure the storage 64988 mutex has been released. At the end of evaluate(), if localStorage has been 64989 instantiated, tell it to release any locks that may be applicable. 64990 64991 * bindings/js/ScriptController.cpp: 64992 (WebCore::ScriptController::evaluate): 64993 * bindings/v8/ScriptController.cpp: 64994 (WebCore::ScriptController::evaluate): 64995 64996 2009-08-27 Alexey Proskuryakov <ap (a] apple.com> 64997 64998 Reviewed by Oliver Hunt. 64999 65000 https://bugs.webkit.org/show_bug.cgi?id=28753 65001 <rdar://problem/7173448> Excessive number of threads (and a crash) 65002 65003 Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows: 65004 - when resolver is idle, the first few requests are sent immediately (they may or may not 65005 hit the wire); 65006 - if there are a few requests in flight already, coalesce all requests for one second; 65007 - to avoid pathological cases with lots of links to different sites on a page, only ask 65008 CFHost about a handful of names (dropping the rest). 65009 65010 Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each 65011 link, and these tend to have identical host name. 65012 65013 * platform/network/cf/DNSCFNet.cpp: 65014 (WebCore::DNSResolveQueue::DNSResolveQueue): 65015 (WebCore::DNSResolveQueue::shared): 65016 (WebCore::DNSResolveQueue::add): 65017 (WebCore::DNSResolveQueue::decrementRequestCount): 65018 (WebCore::DNSResolveQueue::fired): 65019 (WebCore::clientCallback): 65020 (WebCore::DNSResolveQueue::resolve): 65021 (WebCore::prefetchDNS): 65022 65023 2009-08-27 Chris Marrin <cmarrin (a] apple.com> 65024 65025 Reviewed by Simon Fraser. 65026 65027 Final patch for Canvas 3D support 65028 https://bugs.webkit.org/show_bug.cgi?id=28018 65029 65030 This hooks everything up and provides a working implementation of 65031 Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer, 65032 passing the opaque context and texture pointers so a Canvas3DLayer can be 65033 created (more on that later). It also plumbs changes to the 3D canvas so 65034 that Canvas3DLayer can recomposite the results. 65035 65036 A 3D Canvas element needs a RenderLayer and compositing layer to render. 65037 This is because it renders to an off-screen texture in the GPU and then 65038 hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to 65039 render that texture as a 3D quad. This keeps everything in GPU memory to 65040 maximize performance. When a CanvasRenderingContext3D is created it 65041 forces a style recalc which creates the RenderLayer and compositing 65042 layer if needed. 65043 65044 I repurposed an existing flag which was put in place for animation to accomplish 65045 this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 65046 AnimationStyleChange to SyntheticStyleChange. It essentially says that you need 65047 to do a complete style recalc, even though the style itself has not really 65048 changed. 65049 65050 This patch also fixes a couple of bugs discovered when testing with 3d-canvas 65051 turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D. 65052 This is needed when making a JS wrapper for the object so the prototype 65053 property can be set. 65054 65055 Test: fast/canvas/change-context.html 65056 65057 * WebCore.xcodeproj/project.pbxproj: 65058 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: 65059 (WebCore::JSCanvasRenderingContext3D::glDrawElements): 65060 * bindings/js/JSCanvasRenderingContextCustom.cpp: 65061 (WebCore::toJS): 65062 * dom/Element.cpp: 65063 (WebCore::Element::recalcStyle): 65064 * dom/Node.cpp: 65065 (WebCore::Node::setNeedsStyleRecalc): 65066 * dom/Node.h: 65067 (WebCore::): 65068 * html/HTMLCanvasElement.cpp: 65069 (WebCore::HTMLCanvasElement::getContext): 65070 (WebCore::HTMLCanvasElement::is3D): 65071 * html/HTMLCanvasElement.h: 65072 * html/canvas/CanvasBuffer.cpp: 65073 (WebCore::CanvasBuffer::create): 65074 (WebCore::CanvasBuffer::CanvasBuffer): 65075 (WebCore::CanvasBuffer::_deleteObject): 65076 * html/canvas/CanvasBuffer.h: 65077 * html/canvas/CanvasFramebuffer.cpp: 65078 (WebCore::CanvasFramebuffer::create): 65079 (WebCore::CanvasFramebuffer::CanvasFramebuffer): 65080 (WebCore::CanvasFramebuffer::_deleteObject): 65081 * html/canvas/CanvasFramebuffer.h: 65082 * html/canvas/CanvasObject.cpp: 65083 (WebCore::CanvasObject::CanvasObject): 65084 (WebCore::CanvasObject::~CanvasObject): 65085 (WebCore::CanvasObject::deleteObject): 65086 * html/canvas/CanvasObject.h: 65087 (WebCore::CanvasObject::context): 65088 * html/canvas/CanvasProgram.cpp: 65089 (WebCore::CanvasProgram::create): 65090 (WebCore::CanvasProgram::CanvasProgram): 65091 (WebCore::CanvasProgram::_deleteObject): 65092 * html/canvas/CanvasProgram.h: 65093 * html/canvas/CanvasRenderbuffer.cpp: 65094 (WebCore::CanvasRenderbuffer::create): 65095 (WebCore::CanvasRenderbuffer::CanvasRenderbuffer): 65096 (WebCore::CanvasRenderbuffer::_deleteObject): 65097 * html/canvas/CanvasRenderbuffer.h: 65098 * html/canvas/CanvasRenderingContext3D.cpp: 65099 (WebCore::CanvasRenderingContext3D::createBuffer): 65100 (WebCore::CanvasRenderingContext3D::createFramebuffer): 65101 (WebCore::CanvasRenderingContext3D::createTexture): 65102 (WebCore::CanvasRenderingContext3D::createProgram): 65103 (WebCore::CanvasRenderingContext3D::createRenderbuffer): 65104 (WebCore::CanvasRenderingContext3D::createShader): 65105 * html/canvas/CanvasRenderingContext3D.h: 65106 (WebCore::CanvasRenderingContext3D::graphicsContext3D): 65107 * html/canvas/CanvasShader.cpp: 65108 (WebCore::CanvasShader::create): 65109 (WebCore::CanvasShader::CanvasShader): 65110 (WebCore::CanvasShader::_deleteObject): 65111 * html/canvas/CanvasShader.h: 65112 * html/canvas/CanvasTexture.cpp: 65113 (WebCore::CanvasTexture::create): 65114 (WebCore::CanvasTexture::CanvasTexture): 65115 (WebCore::CanvasTexture::_deleteObject): 65116 * html/canvas/CanvasTexture.h: 65117 * page/DOMWindow.idl: 65118 * page/animation/AnimationBase.cpp: 65119 (WebCore::AnimationBase::setNeedsStyleRecalc): 65120 * page/animation/AnimationController.cpp: 65121 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 65122 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 65123 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 65124 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 65125 (WebCore::AnimationController::cancelAnimations): 65126 * platform/graphics/GraphicsContext3D.h: 65127 (WebCore::GraphicsContext3D::platformGraphicsContext3D): 65128 (WebCore::GraphicsContext3D::platformTexture): 65129 * platform/graphics/GraphicsLayer.h: 65130 (WebCore::GraphicsLayer::setContentsToGraphicsContext3D): 65131 (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay): 65132 * platform/graphics/mac/GraphicsContext3DMac.cpp: 65133 (WebCore::GraphicsContext3D::~GraphicsContext3D): 65134 (WebCore::GraphicsContext3D::reshape): 65135 * platform/graphics/mac/GraphicsLayerCA.h: 65136 (WebCore::GraphicsLayerCA::): 65137 * platform/graphics/mac/GraphicsLayerCA.mm: 65138 (WebCore::GraphicsLayerCA::GraphicsLayerCA): 65139 (WebCore::GraphicsLayerCA::commitLayerChanges): 65140 (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D): 65141 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): 65142 (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay): 65143 * rendering/RenderHTMLCanvas.cpp: 65144 (WebCore::RenderHTMLCanvas::requiresLayer): 65145 * rendering/RenderHTMLCanvas.h: 65146 (WebCore::RenderHTMLCanvas::isCanvas): 65147 * rendering/RenderLayerBacking.cpp: 65148 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 65149 (WebCore::RenderLayerBacking::canUseDirectCompositing): 65150 (WebCore::RenderLayerBacking::rendererContentChanged): 65151 * rendering/RenderLayerCompositor.cpp: 65152 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 65153 (WebCore::RenderLayerCompositor::requiresCompositingForCanvas): 65154 * rendering/RenderLayerCompositor.h: 65155 * rendering/RenderObject.h: 65156 (WebCore::RenderObject::isCanvas): 65157 65158 2009-08-27 Peter Kasting <pkasting (a] google.com> 65159 65160 Reviewed by Eric Seidel. 65161 65162 https://bugs.webkit.org/show_bug.cgi?id=28751 65163 Clean up ImageDecoder*.cpp a bit. 65164 65165 * platform/image-decoders/ImageDecoder.cpp: Put functions in the same 65166 order as in the header file. Also, since there's already an anonymous 65167 namespace in this file, use it to enclose the local helper functions. 65168 (WebCore::): 65169 (WebCore::ImageDecoder::upperBoundScaledX): 65170 (WebCore::ImageDecoder::lowerBoundScaledX): 65171 (WebCore::ImageDecoder::scaledY): 65172 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 65173 (WebCore::RGBA32Buffer::width): Style fix. 65174 (WebCore::RGBA32Buffer::height): Style fix. 65175 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: 65176 (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly. 65177 (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp. 65178 (WebCore::RGBA32Buffer::operator=): Simplify. 65179 * platform/image-decoders/wx/ImageDecoderWx.cpp: 65180 (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related. Use size_t for iterating over elements of a Vector. 65181 (WebCore::RGBA32Buffer::width): Style fix. 65182 (WebCore::RGBA32Buffer::height): Style fix. 65183 65184 2009-08-27 Peter Kasting <pkasting (a] google.com> 65185 65186 Reviewed by Eric Seidel. 65187 65188 https://bugs.webkit.org/show_bug.cgi?id=28751 65189 Clean up ImageSource.* in preparation for more fixes on bug 27965. 65190 65191 * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file. 65192 (WebCore::ImageSource::isSizeAvailable): Shorten. 65193 (WebCore::ImageSource::size): Shorten. 65194 (WebCore::ImageSource::frameSizeAtIndex): Shorten. 65195 (WebCore::ImageSource::repetitionCount): Shorten. 65196 (WebCore::ImageSource::frameIsCompleteAtIndex): 65197 * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs. 65198 65199 2009-08-27 Peter Kasting <pkasting (a] google.com> 65200 65201 Reviewed by Eric Seidel. 65202 65203 https://bugs.webkit.org/show_bug.cgi?id=28785 65204 Add ImageDecoder.cpp to various build files so platforms will be able to 65205 use it. Move an ENABLE to not cover the whole file, in preparation for 65206 adding a bunch of code. Simplify #ifdefs in ImageDecoder.h to be "Skia 65207 vs. everyone else", which also gives new platforms a reasonable default 65208 behavior. 65209 65210 * GNUmakefile.am: 65211 * WebCore.gypi: 65212 * WebCore.vcproj/WebCore.vcproj: 65213 * WebCoreSources.bkl: 65214 * platform/image-decoders/ImageDecoder.cpp: 65215 (WebCore::): 65216 * platform/image-decoders/ImageDecoder.h: 65217 (WebCore::RGBA32Buffer::getAddr): 65218 65219 2009-08-27 Antti Koivisto <antti (a] apple.com> 65220 65221 Reviewed by Dave Kilzer. 65222 65223 https://bugs.webkit.org/show_bug.cgi?id=28784 65224 65225 Add an exported method to flush pending repaints. 65226 65227 * WebCore.base.exp: 65228 * page/FrameView.cpp: 65229 (WebCore::FrameView::layoutIfNeededRecursive): 65230 (WebCore::FrameView::flushDeferredRepaints): 65231 * page/FrameView.h: 65232 65233 2009-08-27 Noel Gordon <noel.gordon (a] gmail.com> 65234 65235 Reviewed by Eric Seidel. 65236 65237 [V8] Expose files from the pasteboard in drop events. 65238 https://bugs.webkit.org/show_bug.cgi?id=28782 65239 65240 Update chromium port to expose dataTransfer.files() as per 65241 HTML5 drag drop (Aug 2009 edition). 65242 65243 * platform/chromium/ClipboardChromium.cpp: 65244 65245 2009-08-27 Yury Semikhatsky <yurys (a] chromium.org> 65246 65247 Reviewed by Dmitry Glazkov. 65248 65249 ScriptState now keeps explicit Handle of devtools front-end 65250 utility context instead of trying to retrieve it from inspected 65251 Frame. 65252 65253 https://bugs.webkit.org/show_bug.cgi?id=28772 65254 65255 * bindings/v8/ScriptController.cpp: 65256 (WebCore::ScriptController::ScriptController): 65257 * bindings/v8/ScriptController.h: 65258 * bindings/v8/ScriptObjectQuarantine.cpp: 65259 (WebCore::getQuarantinedScriptObject): 65260 * bindings/v8/ScriptScope.cpp: 65261 (WebCore::ScriptScope::ScriptScope): 65262 * bindings/v8/ScriptState.cpp: 65263 (WebCore::ScriptState::ScriptState): 65264 (WebCore::ScriptState::~ScriptState): 65265 (WebCore::scriptStateFromPage): 65266 * bindings/v8/ScriptState.h: 65267 (WebCore::ScriptState::context): 65268 * bindings/v8/ScriptValue.h: 65269 (WebCore::ScriptValue::~ScriptValue): 65270 * inspector/InspectorController.h: 65271 (WebCore::InspectorController::frontendScriptState): 65272 65273 2009-08-27 Pavel Feldman <pfeldman (a] chromium.org> 65274 65275 Reviewed by Timothy Hatcher. 65276 65277 WebInspector: Console won't close. 65278 65279 https://bugs.webkit.org/show_bug.cgi?id=28778 65280 65281 * inspector/front-end/ElementsPanel.js: 65282 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): 65283 * inspector/front-end/utilities.js: 65284 (Node.prototype.isAncestor): 65285 65286 2009-08-27 Eric Seidel <eric (a] webkit.org> 65287 65288 Reviewed by Adam Barth. 65289 65290 Fix a typo in files() causing image drags to have junk file arrays. 65291 https://bugs.webkit.org/show_bug.cgi?id=28755 65292 65293 Test: editing/pasteboard/files-during-page-drags.html 65294 65295 * platform/mac/ClipboardMac.mm: 65296 (WebCore::ClipboardMac::files): 65297 65298 2009-08-27 Jeremy Orlow <jorlow (a] chromium.org> 65299 65300 Not reviewed. Build fix for Chromium. 65301 65302 * bindings/v8/DOMObjectsInclude.h: 65303 * bindings/v8/DerivedSourcesAllInOne.cpp: 65304 * bindings/v8/V8Index.cpp: 65305 * bindings/v8/V8Index.h: 65306 65307 2009-08-27 Alexey Proskuryakov <ap (a] apple.com> 65308 65309 Windows build fix. 65310 65311 * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp. 65312 65313 2009-08-26 Alexey Proskuryakov <ap (a] apple.com> 65314 65315 Reviewed by Adele Peterson. 65316 65317 https://bugs.webkit.org/show_bug.cgi?id=28758 65318 <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758) 65319 65320 Tests: fast/events/pageshow-pagehide-on-back-cached.html 65321 fast/events/pageshow-pagehide-on-back-uncached.html 65322 fast/events/pageshow-pagehide.html 65323 65324 * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event 65325 (this function is called both when a document goes away, and when it goes to b/f cache). 65326 65327 * page/DOMWindow.cpp: 65328 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload. 65329 (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler 65330 that can be installed on Window object. 65331 (WebCore::DOMWindow::onpagehide): Ditto. 65332 (WebCore::DOMWindow::setOnpagehide): Ditto. 65333 (WebCore::DOMWindow::onpageshow): Ditto. 65334 (WebCore::DOMWindow::setOnpageshow): Ditto. 65335 65336 * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page 65337 that isn't being restored from cache. 65338 65339 * dom/PageTransitionEvent.cpp: Added. 65340 (WebCore::PageTransitionEvent::PageTransitionEvent): 65341 (WebCore::PageTransitionEvent::~PageTransitionEvent): 65342 (WebCore::PageTransitionEvent::initPageTransitionEvent): 65343 * dom/PageTransitionEvent.h: Added. 65344 (WebCore::PageTransitionEvent::create): 65345 (WebCore::PageTransitionEvent::isPageTransitionEvent): 65346 (WebCore::PageTransitionEvent::persisted): 65347 * dom/PageTransitionEvent.idl: Added. 65348 Add event class implementation. 65349 65350 * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support 65351 inline listener definition (note that adding listeners to document.body programmatically 65352 is not supported, matching Firefox). 65353 65354 * dom/Document.cpp: 65355 (WebCore::Document::implicitClose): Dispatch pageshow event right before load event. 65356 (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for 65357 Docuemnt. 65358 (WebCore::Document::createEvent): Ditto. 65359 65360 * dom/Document.h: Added dispatchPageTransitionEvent. 65361 65362 * DerivedSources.make: 65363 * GNUmakefile.am: 65364 * WebCore.gypi: 65365 * WebCore.pro: 65366 * WebCore.vcproj/WebCore.vcproj: 65367 * WebCore.xcodeproj/project.pbxproj: 65368 * WebCoreSources.bkl: 65369 * bindings/js/JSEventCustom.cpp: (WebCore::toJS): 65370 * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent): 65371 * dom/Event.h: 65372 * dom/EventNames.h: 65373 * html/HTMLAttributeNames.in: 65374 * page/DOMWindow.h: 65375 * page/DOMWindow.idl: 65376 Do what it takes to add a new event type. 65377 65378 2009-08-27 Pavel Feldman <pfeldman (a] chromium.org> 65379 65380 Reviewed by NOBODY (build fix). 65381 65382 Adding missing file from previous commit. 65383 65384 https://bugs.webkit.org/show_bug.cgi?id=28740 65385 65386 * inspector/front-end/SummaryBar.js: Added. 65387 (WebInspector.SummaryBar): 65388 (WebInspector.SummaryBar.prototype.get calculator): 65389 (WebInspector.SummaryBar.prototype.set calculator): 65390 (WebInspector.SummaryBar.prototype.reset): 65391 (WebInspector.SummaryBar.prototype.update): 65392 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare): 65393 (WebInspector.SummaryBar.prototype._drawSwatch): 65394 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var): 65395 (WebInspector.SummaryBar.prototype._drawSummaryGraph): 65396 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill): 65397 (WebInspector.SummaryBar.prototype._fadeOutRect): 65398 (WebInspector.SummaryBar.prototype._makeLegendElement): 65399 65400 2009-08-27 Mikhail Naganov <mnaganov (a] chromium.org> 65401 65402 Reviewed by Timothy Hatcher. 65403 65404 Factor out Factor out summary bar from Resources panel. 65405 65406 https://bugs.webkit.org/show_bug.cgi?id=28740 65407 65408 * WebCore.gypi: 65409 * WebCore.vcproj/WebCore.vcproj: 65410 * inspector/front-end/ResourcesPanel.js: 65411 (WebInspector.ResourcesPanel.prototype.reset): 65412 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): 65413 (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition): 65414 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): 65415 * inspector/front-end/SummaryBar.js: Added. 65416 (WebInspector.SummaryBar): 65417 (WebInspector.SummaryBar.prototype.get calculator): 65418 (WebInspector.SummaryBar.prototype.set calculator): 65419 (WebInspector.SummaryBar.prototype.reset): 65420 (WebInspector.SummaryBar.prototype.update): 65421 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare): 65422 (WebInspector.SummaryBar.prototype._drawSwatch): 65423 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var): 65424 (WebInspector.SummaryBar.prototype._drawSummaryGraph): 65425 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill): 65426 (WebInspector.SummaryBar.prototype._fadeOutRect): 65427 (WebInspector.SummaryBar.prototype._makeLegendElement): 65428 * inspector/front-end/WebKit.qrc: 65429 * inspector/front-end/inspector.css: 65430 * inspector/front-end/inspector.html: 65431 65432 2009-08-26 Mikhail Naganov <mnaganov (a] chromium.org> 65433 65434 Reviewed by Timothy Hatcher. 65435 65436 Start adding heap profiler to Inspector (hidden behind a flag.) 65437 65438 https://bugs.webkit.org/show_bug.cgi?id=28429 65439 65440 * English.lproj/localizedStrings.js: 65441 * inspector/front-end/ProfilesPanel.js: 65442 (WebInspector.ProfilesPanel): 65443 (WebInspector.ProfilesPanel.prototype.get statusBarItems): 65444 (WebInspector.ProfilesPanel.prototype.reset): 65445 (WebInspector.ProfilesPanel.prototype.addProfile): 65446 (WebInspector.ProfilesPanel.prototype._updateInterface): 65447 (WebInspector.ProfilesPanel.prototype._snapshotClicked): 65448 * inspector/front-end/inspector.css: 65449 * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag. 65450 65451 2009-08-27 Pavel Feldman <pfeldman (a] chromium.org> 65452 65453 Reviewed by Timothy Hatcher. 65454 65455 WebInspector: Metrics sidebar editing is broken. 65456 65457 https://bugs.webkit.org/show_bug.cgi?id=28434 65458 65459 * inspector/front-end/MetricsSidebarPane.js: 65460 (WebInspector.MetricsSidebarPane.prototype.update): 65461 65462 2009-08-27 Darin Fisher <darin (a] chromium.org> 65463 65464 Reviewed by Dimitri Glazkov. 65465 65466 https://bugs.webkit.org/show_bug.cgi?id=28767 65467 65468 Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match 65469 KURL.cpp. This makes the XSSAuditor tests pass when using KURLGoogle. 65470 65471 * platform/KURLGoogle.cpp: 65472 (WebCore::decodeURLEscapeSequences): 65473 65474 2009-08-27 Ariya Hidayat <ariya.hidayat (a] nokia.com> 65475 65476 Reviewed by Tor Arne Vestb. 65477 65478 [Qt] Build fix, missing functions after r47763. 65479 65480 * platform/qt/Localizations.cpp: 65481 (WebCore::localizedMediaControlElementString): 65482 (WebCore::localizedMediaControlElementHelpText): 65483 (WebCore::localizedMediaTimeDescription): 65484 65485 2009-08-26 Dumitru Daniliuc <dumi (a] chromium.org> 65486 65487 Reviewed by Adam Barth. 65488 65489 Removing trailing whitespaces from all storage classes. 65490 65491 https://bugs.webkit.org/show_bug.cgi?id=28075 65492 65493 * storage/ChangeVersionWrapper.cpp: 65494 * storage/Database.cpp: 65495 * storage/Database.h: 65496 * storage/DatabaseDetails.h: 65497 * storage/DatabaseThread.cpp: 65498 * storage/DatabaseTracker.cpp: 65499 * storage/DatabaseTracker.h: 65500 * storage/LocalStorageTask.cpp: 65501 * storage/LocalStorageTask.h: 65502 * storage/LocalStorageThread.cpp: 65503 * storage/LocalStorageThread.h: 65504 * storage/OriginQuotaManager.cpp: 65505 * storage/OriginUsageRecord.cpp: 65506 * storage/OriginUsageRecord.h: 65507 * storage/SQLError.h: 65508 * storage/SQLResultSetRowList.h: 65509 * storage/SQLStatement.cpp: 65510 * storage/SQLStatement.h: 65511 * storage/SQLStatementCallback.h: 65512 * storage/SQLStatementErrorCallback.h: 65513 * storage/SQLTransaction.cpp: 65514 * storage/SQLTransaction.h: 65515 * storage/SQLTransactionCallback.h: 65516 * storage/SQLTransactionErrorCallback.h: 65517 * storage/Storage.cpp: 65518 * storage/Storage.h: 65519 * storage/StorageArea.h: 65520 * storage/StorageAreaImpl.cpp: 65521 * storage/StorageAreaImpl.h: 65522 * storage/StorageAreaSync.cpp: 65523 * storage/StorageAreaSync.h: 65524 * storage/StorageEvent.cpp: 65525 * storage/StorageEvent.h: 65526 * storage/StorageMap.cpp: 65527 * storage/StorageMap.h: 65528 * storage/StorageNamespaceImpl.cpp: 65529 * storage/StorageSyncManager.cpp: 65530 * storage/StorageSyncManager.h: 65531 65532 2009-08-26 Dave Hyatt <hyatt (a] apple.com> 65533 65534 Reviewed by Anders Carlsson. 65535 65536 https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes. 65537 65538 Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen. We need 65539 to do this in order for overflow information to be properly recomputed. 65540 65541 * rendering/style/RenderStyle.cpp: 65542 (WebCore::RenderStyle::diff): 65543 65544 2009-08-26 Eric Carlson <eric.carlson (a] apple.com> 65545 65546 Reviewed by Simon Fraser. 65547 65548 HTMLMediaElement sometimes loses events 65549 https://bugs.webkit.org/show_bug.cgi?id=28762 65550 <rdar://problem/7172437> 65551 65552 A media element triggers the resource selection algorithm if 65553 play() is called when the networkState attribute is NETWORK_EMPTY, but 65554 it also immediately queues 'play' and either 'waiting' or 'playing' events. 65555 One of the steps in preparing to load is to flush pending events, so those 65556 events were lost if the load timer fired quickly enough. Fixed by deleting 65557 pending events before scheduling the load timer. 65558 65559 Test: media/audio-play-event.html 65560 65561 * html/HTMLMediaElement.cpp: 65562 (WebCore::HTMLMediaElement::scheduleLoad): 65563 Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 65564 pending events is flushed immediately. 65565 (WebCore::HTMLMediaElement::scheduleNextSourceChild): 65566 New, start the load timer without flushing pending events. 65567 (WebCore::HTMLMediaElement::load): 65568 Call prepareForLoad(); 65569 (WebCore::HTMLMediaElement::prepareForLoad): 65570 New, load setup code moved from loadInternal. 65571 (WebCore::HTMLMediaElement::loadInternal): 65572 Moved some setup code to prepareForLoad so it can be invoked immediately before 65573 arming the load timer. 65574 (WebCore::HTMLMediaElement::setNetworkState): 65575 Call scheduleNextSourceChild instead of scheduleLoad as the later now clears 65576 pending events. 65577 * html/HTMLMediaElement.h: 65578 Declare scheduleNextSourceChild. 65579 65580 2009-08-26 Peter Kasting <pkasting (a] google.com> 65581 65582 Reviewed by Eric Seidel. 65583 65584 https://bugs.webkit.org/show_bug.cgi?id=28751 65585 Switch ICO decoder from a Vector of raw pointers to a Vector of 65586 OwnPtrs now that that is possible. Makes code slightly simpler. 65587 65588 * platform/image-decoders/ico/ICOImageDecoder.cpp: 65589 (WebCore::ICOImageDecoder::decodeAtIndex): 65590 (WebCore::ICOImageDecoder::processDirectory): 65591 * platform/image-decoders/ico/ICOImageDecoder.h: 65592 65593 2009-08-26 Dave Hyatt <hyatt (a] apple.com> 65594 65595 Reviewed by Dan Bernstein. 65596 65597 https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint. 65598 Make sure vertical overflow is still computed across self-painting layers, even though it isn't 65599 propagated to parents. 65600 65601 Added fast/repaint/rel-positioned-inline-with-overflow.html 65602 65603 * rendering/InlineFlowBox.cpp: 65604 (WebCore::InlineFlowBox::computeVerticalOverflow): 65605 65606 2009-08-26 David Levin <levin (a] chromium.org> 65607 65608 Reviewed by Darin Fisher. 65609 65610 ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http. 65611 https://bugs.webkit.org/show_bug.cgi?id=28735 65612 65613 Renaming the method to imply its wider implications of affecting cookies 65614 over any protocol that supports them. 65615 65616 No change in functionality so no new tests. 65617 65618 * WebCore.order: 65619 * loader/DocumentThreadableLoader.cpp: 65620 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 65621 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): 65622 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): 65623 * platform/network/ResourceRequestBase.cpp: 65624 (WebCore::ResourceRequestBase::adopt): 65625 (WebCore::ResourceRequestBase::copyData): 65626 (WebCore::ResourceRequestBase::allowCookies): 65627 (WebCore::ResourceRequestBase::setAllowCookies): 65628 (WebCore::equalIgnoringHeaderFields): 65629 * platform/network/ResourceRequestBase.h: 65630 (WebCore::ResourceRequestBase::ResourceRequestBase): 65631 * platform/network/cf/ResourceRequestCFNet.cpp: 65632 (WebCore::ResourceRequest::doUpdatePlatformRequest): 65633 (WebCore::ResourceRequest::doUpdateResourceRequest): 65634 * platform/network/mac/ResourceRequestMac.mm: 65635 (WebCore::ResourceRequest::doUpdateResourceRequest): 65636 (WebCore::ResourceRequest::doUpdatePlatformRequest): 65637 * platform/network/soup/ResourceRequestSoup.cpp: 65638 (WebCore::ResourceRequest::updateFromSoupMessage): 65639 65640 2009-08-26 Dan Bernstein <mitz (a] apple.com> 65641 65642 Reviewed by Dave Hyatt. 65643 65644 Made RenderInline::clippedOverflowRectForRepaint() actually include 65645 overflow. 65646 65647 Test: fast/repaint/inline-overflow.html 65648 65649 * rendering/RenderInline.cpp: 65650 (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns 65651 the bounding box of all lines visible overflow boxes (under the 65652 assumption that the first and last lines determine the top and 65653 bottom, respectively). 65654 (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use 65655 linesVisibleOverflowBoundingBox() instead of linesBoundingBox(). 65656 * rendering/RenderInline.h: 65657 65658 2009-08-26 John Gregg <johnnyg (a] google.com> 65659 65660 Reviewed by David Levin. 65661 65662 minor style correction and include fix for notifications 65663 https://bugs.webkit.org/show_bug.cgi?id=28745 65664 65665 No change in behavior, so no tests. 65666 65667 * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h 65668 * notifications/Notification.cpp: change enum style to InterCaps 65669 (WebCore::Notification::Notification): 65670 * notifications/NotificationPresenter.h: 65671 (WebCore::NotificationPresenter::): 65672 65673 2009-08-25 Drew Wilson <atwilson (a] google.com> 65674 65675 Reviewed by David Levin. 65676 65677 postMessage() spec now supports sending arrays of ports 65678 https://bugs.webkit.org/show_bug.cgi?id=26902 65679 65680 Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch. 65681 65682 No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice. 65683 65684 * WebCore.xcodeproj/project.pbxproj: 65685 Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now. 65686 * dom/MessageEvent.cpp: 65687 Updated APIs to support passing MessagePortArrays. 65688 (WebCore::MessageEvent::MessageEvent): 65689 (WebCore::MessageEvent::initMessageEvent): 65690 (WebCore::MessageEvent::messagePort): 65691 * dom/MessageEvent.h: 65692 (WebCore::MessageEvent::create): 65693 Now accepts a MessagePortArray parameter instead of a single MessagePort. 65694 (WebCore::MessageEvent::ports): 65695 * dom/MessagePort.cpp: 65696 (WebCore::MessagePort::postMessage): 65697 (WebCore::MessagePort::dispatchMessages): 65698 (WebCore::MessagePort::disentanglePorts): 65699 Added new static function to extract a MessagePortChannelArray from a MessagePortArray. 65700 (WebCore::MessagePort::entanglePorts): 65701 Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray. 65702 * dom/MessagePort.h: 65703 * dom/MessagePortChannel.cpp: 65704 EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel. 65705 (WebCore::MessagePortChannel::EventData::create): 65706 (WebCore::MessagePortChannel::EventData::EventData): 65707 * dom/MessagePortChannel.h: 65708 (WebCore::MessagePortChannel::EventData::channels): 65709 * page/DOMWindow.cpp: 65710 (WebCore::PostMessageTimer::PostMessageTimer): 65711 (WebCore::PostMessageTimer::event): 65712 (WebCore::DOMWindow::postMessage): 65713 Now accepts a MessagePortArray parameter instead of a single MessagePort. 65714 * page/DOMWindow.h: 65715 * workers/DedicatedWorkerContext.cpp: 65716 (WebCore::DedicatedWorkerContext::postMessage): 65717 Now accepts a MessagePortArray parameter instead of a single MessagePort. 65718 (WebCore::DedicatedWorkerContext::dispatchMessage): 65719 * workers/DedicatedWorkerContext.h: 65720 * workers/Worker.cpp: 65721 (WebCore::Worker::postMessage): 65722 Now accepts a MessagePortArray parameter instead of a single MessagePort. 65723 (WebCore::Worker::dispatchMessage): 65724 * workers/Worker.h: 65725 * workers/WorkerContextProxy.h: 65726 * workers/WorkerMessagingProxy.cpp: 65727 Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts. 65728 (WebCore::MessageWorkerContextTask::create): 65729 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): 65730 (WebCore::MessageWorkerContextTask::performTask): 65731 (WebCore::MessageWorkerTask::create): 65732 (WebCore::MessageWorkerTask::MessageWorkerTask): 65733 (WebCore::MessageWorkerTask::performTask): 65734 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): 65735 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 65736 * workers/WorkerMessagingProxy.h: 65737 * workers/WorkerObjectProxy.h: 65738 Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts. 65739 65740 2009-08-26 Fumitoshi Ukai <ukai (a] chromium.org> 65741 65742 Reviewed by Alexey Proskuryakov. 65743 65744 SocketStreamHandle interface for WebSocket API 65745 https://bugs.webkit.org/show_bug.cgi?id=28037 65746 65747 Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now. 65748 Other build systems will be updated once the code is functional. 65749 Tests will be landed once this code is complete and functional. 65750 65751 * GNUmakefile.am: 65752 * WebCore.xcodeproj/project.pbxproj: 65753 * platform/network/SocketStreamErrorBase.cpp: Added. 65754 * platform/network/SocketStreamErrorBase.h: Added. 65755 * platform/network/SocketStreamHandleBase.cpp: Added. 65756 * platform/network/SocketStreamHandleBase.h: Added. 65757 * platform/network/SocketStreamHandleClient.h: Added. 65758 * platform/network/cf/SocketStreamError.h: Added. 65759 * platform/network/cf/SocketStreamHandle.h: Added. 65760 * platform/network/cf/SocketStreamHandleCFNet.cpp: Added. 65761 * platform/network/soup/SocketStreamError.h: Added. 65762 * platform/network/soup/SocketStreamHandle.h: Added. 65763 * platform/network/soup/SocketStreamHandleSoup.cpp: Added. 65764 65765 2009-08-26 Mads Ager <ager (a] chromium.org> 65766 65767 Reviewed by Dimitri Glazkov. 65768 65769 [V8] setTimeout does not convert non-string argument to string 65770 https://bugs.webkit.org/show_bug.cgi?id=28739 65771 65772 Convert non-string argument to setTimeout to string in the V8 65773 bindings. 65774 65775 * bindings/v8/custom/V8DOMWindowCustom.cpp: 65776 (WebCore::V8Custom::WindowSetTimeoutImpl): 65777 65778 2009-08-25 Oliver Hunt <oliver (a] apple.com> 65779 65780 Reviewed by Gavin Barraclough. 65781 65782 [ES5] Implement getOwnPropertyDescriptor 65783 https://bugs.webkit.org/show_bug.cgi?id=28724 65784 65785 Implement the WebCore side of getOwnPropertyDescriptor. This 65786 requires a custom implementation of getOwnPropertyDescriptor 65787 for every class with a custom implementation of getOwnPropertySlot. 65788 65789 The bindings generator has been updated to generate appropriate 65790 versions of getOwnPropertyDescriptor for the general case where 65791 a custom getOwnPropertyDescriptor is not needed. ES5 is vague 65792 about how getOwnPropertyDescriptor should work in the context of 65793 "host" functions with polymorphic [[GetOwnProperty]], so it seems 65794 okay that occasionally we "guess" what attributes -- eg. determining 65795 whether a property is writable. 65796 65797 Test: fast/js/getOwnPropertyDescriptor.html 65798 65799 * bindings/js/JSDOMWindowCustom.cpp: 65800 (WebCore::JSDOMWindow::getOwnPropertyDescriptor): 65801 * bindings/js/JSDOMWindowShell.cpp: 65802 (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor): 65803 * bindings/js/JSDOMWindowShell.h: 65804 * bindings/js/JSHTMLAppletElementCustom.cpp: 65805 (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate): 65806 * bindings/js/JSHTMLEmbedElementCustom.cpp: 65807 (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate): 65808 * bindings/js/JSHTMLObjectElementCustom.cpp: 65809 (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate): 65810 * bindings/js/JSHistoryCustom.cpp: 65811 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate): 65812 * bindings/js/JSLocationCustom.cpp: 65813 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate): 65814 * bindings/js/JSNamedNodesCollection.cpp: 65815 (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor): 65816 * bindings/js/JSNamedNodesCollection.h: 65817 * bindings/js/JSPluginElementFunctions.cpp: 65818 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor): 65819 * bindings/js/JSPluginElementFunctions.h: 65820 * bindings/js/JSQuarantinedObjectWrapper.cpp: 65821 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor): 65822 * bindings/js/JSQuarantinedObjectWrapper.h: 65823 * bindings/js/JSWorkerContextCustom.cpp: 65824 (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate): 65825 * bindings/scripts/CodeGeneratorJS.pm: 65826 * bridge/objc/objc_runtime.h: 65827 * bridge/objc/objc_runtime.mm: 65828 (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor): 65829 * bridge/runtime.h: 65830 (JSC::Bindings::Instance::getOwnPropertyDescriptor): 65831 * bridge/runtime_array.cpp: 65832 (JSC::RuntimeArray::getOwnPropertyDescriptor): 65833 * bridge/runtime_array.h: 65834 * bridge/runtime_method.cpp: 65835 (JSC::RuntimeMethod::getOwnPropertyDescriptor): 65836 * bridge/runtime_method.h: 65837 * bridge/runtime_object.cpp: 65838 (JSC::RuntimeObjectImp::getOwnPropertyDescriptor): 65839 * bridge/runtime_object.h: 65840 65841 2009-08-26 Vincent Untz <vuntz (a] gnome.org> 65842 65843 Reviewed by Xan Lopez. 65844 65845 GObject checks for NULL (and not 0) in g_object_get, so use that 65846 as we were already doing elsewhere to make the compiler happy. 65847 65848 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 65849 (WebCore::MediaPlayerPrivate::hasAudio): 65850 65851 2009-08-26 Alpha Lam <hclam (a] chromium.org> 65852 65853 Reviewed by David Levin. 65854 65855 RenderThemeMac.mm has incorrect casting for media control element. 65856 https://bugs.webkit.org/show_bug.cgi?id=28730 65857 65858 MediaControlMuteButtonElement was incorrectly casted to 65859 MediaControlPlayButtonElement. This is corrected in this patch. 65860 65861 No new tests because this is code cleanup and is already covered by existing 65862 media layout tests. 65863 65864 * rendering/RenderThemeMac.mm: 65865 (WebCore::RenderThemeMac::paintMediaMuteButton): 65866 65867 2009-08-26 Robert Sesek <rsesek (a] chromium.org> 65868 65869 Reviewed by Eric Seidel. 65870 65871 [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac 65872 https://bugs.webkit.org/show_bug.cgi?id=28670 65873 65874 Change the condition regarding the key modifier check for non-contiguous 65875 selection on a multi-value list from just PLATFORM(MAC) to 65876 PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)). 65877 65878 No new tests. This patch only changes the condition on which a certain mouse 65879 event modifier key is used. 65880 65881 * dom/SelectElement.cpp: 65882 (WebCore::SelectElement::listBoxDefaultEventHandler): 65883 65884 2009-08-25 Eric Carlson <eric.carlson (a] apple.com> 65885 65886 Reviewed by Dan Bernstein 65887 65888 r47744 causes media/video-controls-with-mutation-event-handler.html to crash 65889 https://bugs.webkit.org/show_bug.cgi?id=28732 65890 65891 * rendering/MediaControlElements.cpp: 65892 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): 65893 Don't call setAttribute from the construtor, any registered mutation event 65894 listener will cause a crash. 65895 65896 * rendering/RenderMedia.cpp: 65897 (WebCore::RenderMedia::createVolumeSlider): 65898 Set the maxAttr here instead of in the constructor. 65899 65900 2009-08-25 Dmitry Titov <dimich (a] chromium.org> 65901 65902 Reviewed by Brady Eidson. 65903 65904 Timers from cached pages fire instantly rather than the after the specified timeout delay 65905 https://bugs.webkit.org/show_bug.cgi?id=28683 65906 65907 Test: fast/dom/Window/timer-resume-on-navigation-back.html 65908 65909 * history/CachedPage.cpp: 65910 (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since 65911 it should be done only once in FrameLoader::open(cachedFrame) 65912 * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore. 65913 (WebCore::DOMTimer::DOMTimer): Ditto. 65914 (WebCore::DOMTimer::suspend): Ditto. 65915 (WebCore::DOMTimer::resume): Ditto. 65916 * page/DOMTimer.h: Ditto. 65917 65918 2009-08-25 Eric Carlson <eric.carlson (a] apple.com> 65919 65920 Reviewed by Simon Fraser. 65921 65922 Setting the volume of a media element has no effect if called too early 65923 https://bugs.webkit.org/show_bug.cgi?id=28731 65924 65925 * manual-tests/audio-volume.html: 65926 Added. 65927 65928 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 65929 (WebCore::MediaPlayerPrivate::setVolume): 65930 (WebCore::MediaPlayerPrivate::setRate): 65931 Don't bail if metadata hasn't been loaded, it is fine to set rate and/or 65932 volume as soon as the movie has been created. 65933 65934 2009-08-25 David Levin <levin (a] chromium.org> 65935 65936 Reviewed by Maciej Stachowiak. 65937 65938 DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create. 65939 https://bugs.webkit.org/show_bug.cgi?id=28728 65940 65941 Test: This code path is exercised while running xhr layout tests in chromium. 65942 65943 * loader/DocumentThreadableLoader.cpp: 65944 (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called 65945 back synchronously, the loader is 0, so the assert is changed to allow for that. 65946 (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be 65947 done before SubresourceLoader::create finishes, so ensure that any previous loader 65948 -- from a preflight request -- is cleared before calling SubresourceLoader::create. 65949 65950 2009-08-25 Mark Rowe <mrowe (a] apple.com> 65951 65952 Stop installing IDL files in to the framework. 65953 65954 * WebCore.xcodeproj/project.pbxproj: 65955 65956 2009-08-25 Kent Tamura <tkent (a] chromium.org> 65957 65958 Reviewed by Eric Seidel. 65959 65960 Support for HTMLInputElement::list and HTMLInputElement::selectedOption. 65961 https://bugs.webkit.org/show_bug.cgi?id=27756 65962 65963 Tests: fast/forms/input-list.html 65964 fast/forms/input-selectedoption.html 65965 65966 * html/HTMLAttributeNames.in: 65967 * html/HTMLInputElement.cpp: 65968 (WebCore::HTMLInputElement::parseMappedAttribute): 65969 (WebCore::HTMLInputElement::list): 65970 (WebCore::HTMLInputElement::selectedOption): 65971 * html/HTMLInputElement.h: 65972 * html/HTMLInputElement.idl: 65973 65974 2009-08-25 Eric Carlson <eric.carlson (a] apple.com> 65975 65976 Reviewed by Oliver Hunt. 65977 65978 <video> and <audio> controller should be accessible (edit) 65979 https://bugs.webkit.org/show_bug.cgi?id=28081 65980 65981 Test: accessibility/media-element.html 65982 65983 * GNUmakefile.am: 65984 * WebCore.gypi: 65985 * WebCore.pro: 65986 * WebCore.vcproj/WebCore.vcproj: 65987 * WebCore.xcodeproj/project.pbxproj: 65988 * WebCoreSources.bkl: 65989 Add AccessibilityMediaControls.cpp/.h 65990 65991 * accessibility/AXObjectCache.cpp: 65992 * accessibility/AXObjectCache.h: 65993 (WebCore::AXObjectCache::getOrCreate): 65994 Create AccessibilityMediaControl. Update Copyright 65995 65996 * accessibility/AccessibilityMediaControls.cpp: 65997 * accessibility/AccessibilityMediaControls.h: 65998 Added. 65999 66000 * accessibility/AccessibilityObject.cpp: 66001 * accessibility/AccessibilityObject.h: 66002 Add isMediaTimeline. Update Copyright. 66003 66004 * accessibility/AccessibilitySlider.h: 66005 Make constructor protected instead of private so AccessibilityMediaTimeline can 66006 call it. 66007 66008 * accessibility/mac/AccessibilityObjectWrapper.mm: 66009 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 66010 Add NSAccessibilityValueDescriptionAttribute to range attributes. 66011 (-[AccessibilityObjectWrapper subrole]): 66012 Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline. 66013 66014 * dom/Node.h: 66015 add isMediaControlElement. 66016 66017 * page/mac/WebCoreViewFactory.h: 66018 * platform/LocalizedStrings.h: 66019 * platform/mac/LocalizedStringsMac.mm: 66020 (WebCore::localizedMediaControlElementString): 66021 (WebCore::localizedMediaControlElementHelpText): 66022 (WebCore::localizedMediaTimeDescription): 66023 New, return localized media controller strings. 66024 66025 * platform/gtk/LocalizedStringsGtk.cpp: 66026 (WebCore::mediaElementLoadingStateText): 66027 (WebCore::mediaElementLiveBroadcastStateText): 66028 Move inside of "#if ENABLE(VIDEO)" 66029 (WebCore::localizedMediaControlElementString): 66030 (WebCore::localizedMediaControlElementHelpText): 66031 (WebCore::localizedMediaTimeDescription): 66032 66033 * rendering/MediaControlElements.cpp: 66034 (WebCore::MediaControlElement::MediaControlElement): 66035 Initialize m_displayType. 66036 (WebCore::MediaControlElement::MediaControlElement): 66037 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): 66038 Fix style. 66039 (WebCore::MediaControlInputElement::MediaControlInputElement): 66040 Set m_displayType based on pseudo style ID. 66041 (WebCore::MediaControlInputElement::MediaControlInputElement): 66042 rename local "o" to "object". 66043 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): 66044 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): 66045 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): 66046 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): 66047 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): 66048 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 66049 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): 66050 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 66051 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 66052 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 66053 Update for MediaControlInputElement constructor change. 66054 (WebCore::MediaControlTimeDisplayElement::formatTime): 66055 New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it. 66056 (WebCore::MediaControlTimeDisplayElement::setCurrentValue): 66057 New, set text to current time. 66058 * rendering/MediaControlElements.h: 66059 66060 * rendering/RenderMedia.cpp: 66061 (WebCore::RenderMedia::updateControls): 66062 Create controls in tab order. 66063 (WebCore::RenderMedia::formatTime): 66064 Moved to MediaControlTimeDisplayElement::formatTime. 66065 (WebCore::RenderMedia::updateTimeDisplay): 66066 Call MediaControlTimeDisplayElement::setCurrentValue. 66067 * rendering/RenderMedia.h: 66068 66069 2009-08-25 Jian Li <jianli (a] chromium.org> 66070 66071 Reviewed by David Levin. 66072 66073 [V8] Fix Canvas layout test failures in Chromium build. 66074 https://bugs.webkit.org/show_bug.cgi?id=28720 66075 66076 The previous fix r47757 does not handle the V8 object conversion correctly. 66077 66078 * bindings/v8/custom/V8DocumentCustom.cpp: 66079 (WebCore::CALLBACK_FUNC_DECL): 66080 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 66081 (WebCore::CALLBACK_FUNC_DECL): 66082 66083 2009-08-25 Jian Li <jianli (a] chromium.org> 66084 66085 Reviewed by David Levin. 66086 66087 [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752. 66088 https://bugs.webkit.org/show_bug.cgi?id=28717 66089 66090 * bindings/v8/DOMObjectsInclude.h: 66091 * bindings/v8/DerivedSourcesAllInOne.cpp: 66092 * bindings/v8/V8Index.cpp: 66093 * bindings/v8/V8Index.h: 66094 * bindings/v8/custom/V8DocumentCustom.cpp: 66095 (WebCore::CALLBACK_FUNC_DECL): 66096 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 66097 (WebCore::CALLBACK_FUNC_DECL): 66098 66099 2009-08-25 Alpha Lam <hclam (a] chromium.org> 66100 66101 Reviewed by David Levin. 66102 66103 [chromium] Implement media volume slider for chromium 66104 https://bugs.webkit.org/show_bug.cgi?id=28715 66105 66106 Provided the implementation of the volume slider and its container for 66107 chromium port. With this change there will be a usable volume control 66108 slider for chromium theme. 66109 66110 No new tests since this is covered by existing media layout tests. 66111 66112 * css/mediaControlsChromium.css: CSS style for the volume slider. 66113 * rendering/RenderThemeChromiumSkia.cpp: 66114 (WebCore::mediaSliderThumbImage): Returns the image for slider thumb. 66115 (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb. 66116 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line. 66117 (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images. 66118 (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image. 66119 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image. 66120 66121 2009-08-25 Chris Marrin <cmarrin (a] apple.com> 66122 66123 Reviewed by Simon Fraser. 66124 66125 Missed checking in 2 Canvas3D files 66126 https://bugs.webkit.org/show_bug.cgi?id=28018 66127 66128 * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding 66129 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls 66130 66131 2009-08-25 Mads Ager <ager (a] chromium.org> 66132 66133 Reviewed by Adam Barth. 66134 66135 [V8] Exception from JavaScript propagates to main script 66136 https://bugs.webkit.org/show_bug.cgi?id=26433 66137 66138 Make sure that exceptions thrown both at compile time and at 66139 runtime in javascript URLs are isolated from the main script. 66140 66141 Test: fast/dom/javascript-url-exception-isolation.html 66142 66143 * bindings/v8/V8Proxy.cpp: 66144 (WebCore::V8Proxy::evaluate): 66145 66146 2009-08-25 Chris Marrin <cmarrin (a] apple.com> 66147 66148 Reviewed by Simon Fraser. 66149 66150 Added all new Canvas3D files to the build 66151 https://bugs.webkit.org/show_bug.cgi?id=28018 66152 66153 This also hooks up CanvasRenderingContext as the common base class for 66154 CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit 66155 of logic throughout to support the new CanvasRenderingContext3D object. 66156 But nothing is hooked up yet. 66157 66158 * DerivedSources.make: 66159 * WebCore.pro: 66160 * WebCore.vcproj/WebCore.vcproj: 66161 * WebCore/GNUmakefile.am: 66162 * WebCore/WebCore.gypi: 66163 * WebCore/WebCoreSources.bkl: 66164 * WebCore.xcodeproj/project.pbxproj: 66165 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 66166 (WebCore::JSCanvasRenderingContext2D::strokeStyle): 66167 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): 66168 (WebCore::JSCanvasRenderingContext2D::fillStyle): 66169 (WebCore::JSCanvasRenderingContext2D::setFillStyle): 66170 (WebCore::JSCanvasRenderingContext2D::setFillColor): 66171 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 66172 (WebCore::JSCanvasRenderingContext2D::strokeRect): 66173 (WebCore::JSCanvasRenderingContext2D::drawImage): 66174 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 66175 (WebCore::JSCanvasRenderingContext2D::setShadow): 66176 (WebCore::JSCanvasRenderingContext2D::createPattern): 66177 (WebCore::JSCanvasRenderingContext2D::putImageData): 66178 (WebCore::JSCanvasRenderingContext2D::fillText): 66179 (WebCore::JSCanvasRenderingContext2D::strokeText): 66180 * bindings/js/JSDOMBinding.cpp: 66181 (WebCore::isObservableThroughDOM): 66182 * bindings/js/JSDocumentCustom.cpp: 66183 * bindings/js/JSHTMLCanvasElementCustom.cpp: 66184 (WebCore::JSHTMLCanvasElement::markChildren): 66185 * dom/Document.cpp: 66186 (WebCore::Document::getCSSCanvasContext): 66187 * dom/Document.h: 66188 * html/HTMLCanvasElement.cpp: 66189 (WebCore::HTMLCanvasElement::getContext): 66190 (WebCore::HTMLCanvasElement::willDraw): 66191 (WebCore::HTMLCanvasElement::reset): 66192 (WebCore::HTMLCanvasElement::paint): 66193 (WebCore::HTMLCanvasElement::is3D): 66194 (WebCore::HTMLCanvasElement::context3D): 66195 (WebCore::HTMLCanvasElement::texture3D): 66196 * html/HTMLCanvasElement.h: 66197 (WebCore::HTMLCanvasElement::renderingContext): 66198 * html/canvas/CanvasObject.cpp: 66199 (WebCore::CanvasObject::~CanvasObject): 66200 * html/canvas/CanvasRenderingContext.idl: 66201 * html/canvas/CanvasRenderingContext2D.cpp: 66202 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 66203 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D): 66204 * html/canvas/CanvasRenderingContext2D.h: 66205 (WebCore::CanvasRenderingContext2D::is2d): 66206 * html/canvas/CanvasRenderingContext2D.idl: 66207 * html/canvas/CanvasRenderingContext3D.cpp: 66208 * html/canvas/CanvasRenderingContext3D.idl: 66209 66210 2009-08-25 Dan Bernstein <mitz (a] apple.com> 66211 66212 Reviewed by Anders Carlsson. 66213 66214 REGRESSION (r47630): fast/repaint/background-generated.html is failing 66215 https://bugs.webkit.org/show_bug.cgi?id=28704 66216 66217 * rendering/RenderBoxModelObject.cpp: 66218 (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone. 66219 * rendering/style/FillLayer.cpp: 66220 (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone. 66221 * rendering/style/FillLayer.h: 66222 (WebCore::FillSize::FillSize): Changed assignment to initialization and 66223 removed redundant assignment to size. 66224 66225 2009-08-25 Yusuke Sato <yusukes (a] chromium.org> 66226 66227 Reviewed by Darin Fisher. 66228 66229 [Chromium] Complex text doesn't show up with text stroking 66230 https://bugs.webkit.org/show_bug.cgi?id=28707 66231 66232 Skip the NULL check of m_hdc if Windows GDI is not in use. 66233 66234 * platform/graphics/chromium/FontChromiumWin.cpp: 66235 (WebCore::Font::drawComplexText): 66236 66237 2009-08-25 Alpha Lam <hclam (a] chromium.org> 66238 66239 Reviewed by David Levin. 66240 66241 Media controls panel does not have a volume control slider 66242 https://bugs.webkit.org/show_bug.cgi?id=28241 66243 66244 Introduced "-webkit-media-controls-volume-slider", 66245 "-webkit-media-controls-volume-slider-container" and the supporting 66246 implementation. Also added appearances of "media-volume-slider" and 66247 "media-volume-slider-container". 66248 66249 The implementation of the controls are in WebCore::MediaControlElements. 66250 Logic to trigger the display of the volume controls are in WebCore::RenderMedia. 66251 66252 No new tests since this change doesn't have theme implementation and the 66253 volume slider is disabled by default. 66254 66255 * accessibility/AccessibilitySlider.cpp: 66256 (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical. 66257 * css/CSSPrimitiveValueMappings.h: 66258 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values. 66259 * css/CSSSelector.cpp: 66260 (WebCore::CSSSelector::extractPseudoType): ditto. 66261 * css/CSSSelector.h: 66262 (WebCore::CSSSelector::): ditto. 66263 * css/CSSStyleSelector.cpp: 66264 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto. 66265 * css/CSSValueKeywords.in: ditto. 66266 * css/mediaControls.css: Makes the volume slider disabled by default. 66267 * platform/ThemeTypes.h: Defines theme parts for volume slider and its container. 66268 (WebCore::): 66269 * rendering/MediaControlElements.cpp: 66270 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): 66271 (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): 66272 Adjust the CSS values for "display", "postion", "left" and "top" according to member variables. 66273 (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value. 66274 (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values. 66275 (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element. 66276 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): 66277 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging. 66278 * rendering/MediaControlElements.h: 66279 (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement. 66280 (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter. 66281 * rendering/RenderMedia.cpp: 66282 (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider. 66283 (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel. 66284 (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container. 66285 (WebCore::RenderMedia::updateControls): Updates volume container and volume slider. 66286 (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child. 66287 (WebCore::RenderMedia::forwardEvent): 66288 Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider. 66289 * rendering/RenderMedia.h: 66290 Added definition for RenderMedia::updateVolumeSliderContainer(). 66291 * rendering/RenderMediaControls.cpp: 66292 (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented. 66293 * rendering/RenderSlider.cpp: 66294 (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical. 66295 (WebCore::RenderSlider::thumbRect): ditto. 66296 (WebCore::RenderSlider::mouseEventIsInThumb): ditto. 66297 (WebCore::RenderSlider::setValueForPosition): ditto. 66298 (WebCore::RenderSlider::positionForOffset): ditto. 66299 (WebCore::RenderSlider::currentPosition): ditto. 66300 (WebCore::RenderSlider::trackSize): ditto. 66301 * rendering/RenderTheme.cpp: 66302 (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb. 66303 (WebCore::RenderTheme::paint): Paints volume control parts using theme. 66304 * rendering/RenderTheme.h: 66305 (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden. 66306 (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto. 66307 (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto. 66308 * rendering/style/RenderStyleConstants.h: 66309 (WebCore::): Constants for volume control parts. 66310 66311 2009-08-25 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 66312 66313 Reviewed by Ariya Hidayat. 66314 66315 [Qt/Mac] Use CONFIG+=build_all only when building libraries 66316 66317 If no configuration is specified when building WebKit we pass the 66318 debug_and_release option to QMake which results in Makefiles for 66319 both configurations being generated. 66320 66321 Previously we built both of these configurations by default, for 66322 all targets (both the QtWebKit framework/dyldlib and the various 66323 executables such as QtLauncher and tests). This makes sense for 66324 the libraries, which get the _debug suffix and can be loaded on 66325 demand by setting the DYLD_IMAGE_SUFFIX, but for executables we 66326 ended up building the same executable twice. 66327 66328 We now only build one instance of each executable, and since this 66329 is a developer build we build the debug-version. Passing either 66330 --debug or --release to build-webkit will override this, and 66331 even in the default case the release version can still be built 66332 by running 'make release' in the the build directory of each 66333 target. 66334 66335 * WebCore.pro: 66336 66337 2009-08-25 Xan Lopez <xlopez (a] igalia.com> 66338 66339 Reviewed by Jan Alonzo. 66340 66341 https://bugs.webkit.org/show_bug.cgi?id=28690 66342 Build failure in webkitgtk+-1.1.3 66343 66344 Do not use deprecated function to unref a pixbuf. 66345 66346 * platform/gtk/CursorGtk.cpp: 66347 (WebCore::Cursor::Cursor): 66348 66349 2009-08-24 Hironori Bono <hbono (a] chromium.org> 66350 66351 Reviewed by Adam Barth. 66352 66353 Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet". 66354 <https://bugs.webkit.org/show_bug.cgi?id=27827>. 66355 66356 Because of the lack of mappings from GDK key-codes to WebKit key-codes, 66357 Chromium cannot send valid key-codes to JavaScript when a user types 66358 function keys. This change just copies the mappings from 'KeyEventGtk.cpp'. 66359 66360 To write layout tests for this issue, added mappings from function-key 66361 names to platform-specific key-codes to EventSendingController objects 66362 so that eventSender.keyDown() can send function-key events without using 66363 platform-specific key codes. (Unfortunately, this eventSender.keyDown() change 66364 is only for Mac. So this change adds this new test to Skipped tests for other 66365 platforms to prevent this change from crashing the build trees.) 66366 66367 Test: fast/events/keydown-function-keys.html 66368 66369 * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes 66370 to WebKit key-code for function keys. 66371 (WebCore::windowsKeyCodeForKeyEvent): 66372 66373 2009-08-24 Antti Koivisto <antti (a] apple.com> 66374 66375 Reviewed by Simon Fraser. 66376 66377 https://bugs.webkit.org/show_bug.cgi?id=28698 66378 Avoid unnecessary transformations for the window resizer rect. 66379 66380 * platform/Scrollbar.cpp: 66381 (WebCore::Scrollbar::setFrameRect): 66382 66383 2009-08-24 Alexey Proskuryakov <ap (a] apple.com> 66384 66385 Reviewed by Anders Carlsson. 66386 66387 <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391 66388 (DNS prefetching support) 66389 66390 * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary 66391 thread on Windows, because there isn't one on main one. 66392 66393 2009-08-24 Alexey Proskuryakov <ap (a] apple.com> 66394 66395 Reviewed by Darin Adler. 66396 66397 https://bugs.webkit.org/show_bug.cgi?id=28374 66398 Cross-scheme requests should not be blocked by appcache rules 66399 66400 Test: http/tests/appcache/different-scheme.html 66401 66402 * loader/appcache/ApplicationCacheHost.cpp: 66403 (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): 66404 Resources with different schemes can never be loaded from appcache. 66405 66406 2009-08-24 Alexey Proskuryakov <ap (a] apple.com> 66407 66408 Reviewed by Darin Adler and Sam Weinig. 66409 66410 https://bugs.webkit.org/show_bug.cgi?id=28688 66411 REGRESSION(r24994): Cannot create a frame with a javascript URL 66412 66413 Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html 66414 66415 * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue): 66416 * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL): 66417 * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL): 66418 * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc): 66419 Omit the checks if there is no document in frame yet. 66420 66421 2009-08-24 Nate Chapin <japhet (a] chromium.org> 66422 66423 Reviewed by Eric Seidel. 66424 66425 Fix crash in fast/css/rem-dynamic-scaling.html due to a freed 66426 RenderStyle being accessed. 66427 66428 https://bugs.webkit.org/show_bug.cgi?id=28681 66429 66430 * dom/Element.cpp: 66431 (WebCore::Element::recalcStyle): Make currentStyle a RefPtr. 66432 66433 2009-08-24 Dan Bernstein <mitz (a] apple.com> 66434 66435 Reviewed by Simon Fraser. 66436 66437 <rdar://problem/5743105> Long freezing during loading and selecting text 66438 of a large table 66439 https://bugs.webkit.org/show_bug.cgi?id=14918 66440 66441 * rendering/RenderView.cpp: 66442 (WebCore::RenderView::setSelection): Added calls to 66443 beginDeferredRepaints() and endDeferredRepaints() around the 66444 invalidation of the selection, in order to better coalesce multiple 66445 invalid rectangles. 66446 66447 2009-08-24 Pavel Feldman <pfeldman (a] chromium.org> 66448 66449 Reviewed by Timothy Hatcher. 66450 66451 WebInspector: Simplify findTreeElement code, get rid of potential infinite loop. 66452 66453 https://bugs.webkit.org/show_bug.cgi?id=28680 66454 66455 * inspector/front-end/ElementsPanel.js: 66456 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 66457 * inspector/front-end/ElementsTreeOutline.js: 66458 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): 66459 * inspector/front-end/treeoutline.js: 66460 (TreeOutline.prototype.getCachedTreeElement): 66461 (TreeOutline.prototype.findTreeElement): 66462 * inspector/front-end/utilities.js: 66463 (isAncestorNode): 66464 (): 66465 66466 2009-08-24 Pavel Feldman <pfeldman (a] chromium.org> 66467 66468 Reviewed by Timothy Hatcher. 66469 66470 WebInspector: Do expand local scope when hitting the break 66471 66472 https://bugs.webkit.org/show_bug.cgi?id=28678 66473 66474 * inspector/front-end/ScopeChainSidebarPane.js: 66475 (WebInspector.ScopeChainSidebarPane.prototype.update): 66476 66477 2009-08-24 Ada Chan <adachan (a] apple.com> 66478 66479 Reviewed by Steve Falkenburg. 66480 66481 Make sure we use the current FrameView's frame rect when 66482 going back to a cached page. 66483 66484 https://bugs.webkit.org/show_bug.cgi?id=28659 66485 66486 * loader/FrameLoader.cpp: 66487 (WebCore::FrameLoader::open): 66488 66489 2009-08-24 Cameron McCormack <cam (a] mcc.id.au> 66490 66491 Reviewed by Darin Adler. 66492 66493 Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList 66494 https://bugs.webkit.org/show_bug.cgi?id=28673 66495 66496 Test: svg/dom/text-rotate-live.html 66497 66498 * svg/SVGNumberList.cpp: 66499 (WebCore::SVGNumberList::parse): Clear the list before adding the parsed 66500 numbers. 66501 66502 2009-08-24 Simon Fraser <simon.fraser (a] apple.com> 66503 66504 Reviewed by NOBODY (build fix) 66505 66506 Turn off ENABLE_3D_CANVAS in the xconfig files. 66507 66508 * Configurations/FeatureDefines.xcconfig: 66509 66510 2009-08-24 Pavel Feldman <pfeldman (a] chromium.org> 66511 66512 Reviewed by Timothy Hatcher. 66513 66514 WebInspector: Only expand local scope when hitting the break 66515 66516 https://bugs.webkit.org/show_bug.cgi?id=28678 66517 66518 * inspector/front-end/ScopeChainSidebarPane.js: 66519 (WebInspector.ScopeChainSidebarPane.prototype.update): 66520 66521 2009-08-24 Dan Bernstein <mitz (a] apple.com> 66522 66523 Reviewed by Simon Fraser. 66524 66525 background-size fails to parse if a single length/percentage/auto is followed by a comma 66526 https://bugs.webkit.org/show_bug.cgi?id=28674 66527 66528 * css/CSSParser.cpp: 66529 (WebCore::CSSParser::parseFillSize): Added an allowComma parameter, 66530 which is set to false when this method consumes a comma. Moved 66531 handling of 'contain' and 'cover' from parseFillProperty into this 66532 method. 66533 (WebCore::CSSParser::parseFillProperty): Set allowComma to true before 66534 processing the next value, and pass allowComma to parseFillSize. 66535 * css/CSSParser.h: 66536 66537 2009-08-17 Martin Robinson <martin.james.robinson (a] gmail.com> 66538 66539 Reviewed by Gustavo Noronha. 66540 66541 [GTK] Support for cursors that are images 66542 https://bugs.webkit.org/show_bug.cgi?id=28346 66543 66544 Added support for cursors which are images for CursorGtk. Added 66545 a manual test for this. 66546 66547 * manual-tests/gtk/cursor-image.html: Added. 66548 * manual-tests/gtk/resources/redcursor.cur: Added. 66549 * platform/gtk/CursorGtk.cpp: 66550 (WebCore::Cursor::Cursor): 66551 66552 2009-08-24 Zan Dobersek <zandobersek (a] gmail.com> 66553 66554 Reviewed by Gustavo Noronha. 66555 66556 [GTK] Integrate GStreamer video with the graphics backend 66557 https://bugs.webkit.org/show_bug.cgi?id=16356 66558 66559 Improves GStreamer backend implementation of MediaPlayerPrivate class. 66560 66561 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 66562 (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer 66563 error for different GStreamer errors to MediaPlayerPrivate. 66564 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static 66565 initialization boolean to a better place. 66566 (WebCore::MediaPlayerPrivate::play): 66567 (WebCore::MediaPlayerPrivate::pause): 66568 (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not 66569 consider the source as stream if duration query failed. 66570 (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use 66571 an early return. 66572 (WebCore::MediaPlayerPrivate::seek): Return if error occured. 66573 (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this 66574 function doesn't seem to be used anywhere in WebCore. 66575 (WebCore::MediaPlayerPrivate::paused): 66576 (WebCore::MediaPlayerPrivate::seeking): 66577 (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set. 66578 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured. 66579 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto. 66580 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. 66581 (WebCore::MediaPlayerPrivate::bytesLoaded): 66582 (WebCore::MediaPlayerPrivate::totalBytesKnown): 66583 (WebCore::MediaPlayerPrivate::totalBytes): Ditto. 66584 (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update 66585 after seek ended with a successful change 66586 (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached. 66587 (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error. 66588 (WebCore::mimeTypeCache): Gather supported mime types from GStreamer. 66589 (WebCore::MediaPlayerPrivate::getSupportedTypes): 66590 (WebCore::MediaPlayerPrivate::supportsType): 66591 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 66592 (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen 66593 support. 66594 (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin, 66595 do not set playbin's audio sink. 66596 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 66597 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 66598 (webkit_video_sink_idle_func): Use C+casts, decrease reference count of async 66599 queue at the end of the idle function. 66600 (webkit_video_sink_render): Increase reference count of async queue. 66601 (webkit_video_sink_stop): Remove any idle functions with the sink as data. 66602 66603 2009-08-23 Chris Marrin <cmarrin (a] apple.com> 66604 66605 Reviewed by Simon Fraser. 66606 66607 Remaining new files for Canvas3D 66608 https://bugs.webkit.org/show_bug.cgi?id=28018 66609 66610 * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef 66611 * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions 66612 * html/canvas/CanvasByteArray.h: Added. 66613 * html/canvas/CanvasByteArray.idl: Added. 66614 * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions 66615 * html/canvas/CanvasNumberArray.h: Added. 66616 * html/canvas/CanvasNumberArray.idl: Added. 66617 66618 2009-08-24 Pavel Feldman <pfeldman (a] chromium.org> 66619 66620 Reviewed by Timothy Hatcher. 66621 66622 WebInspector: Migrate call frames interaction to the InjectedScript-based schema. 66623 66624 https://bugs.webkit.org/show_bug.cgi?id=28408 66625 66626 * inspector/front-end/CallStackSidebarPane.js: 66627 (WebInspector.CallStackSidebarPane.prototype.update): 66628 * inspector/front-end/ConsoleView.js: 66629 (WebInspector.ConsoleView.prototype.doEvalInWindow): 66630 (WebInspector.ConsoleTextMessage): 66631 * inspector/front-end/DOMAgent.js: 66632 (WebInspector.DOMAgent.prototype.get domWindow): 66633 (InspectorController.openInInspectedWindow): 66634 (InspectorController.getCallFrames): 66635 (InspectorController.evaluateInCallFrame): 66636 * inspector/front-end/ElementsPanel.js: 66637 (WebInspector.ElementsPanel.prototype.reset): 66638 (WebInspector.ElementsPanel.prototype.generateStylesheet): 66639 * inspector/front-end/InjectedScript.js: 66640 (InjectedScript.evaluate): 66641 (InjectedScript._evaluateOn): 66642 (InjectedScript.openInInspectedWindow): 66643 (InjectedScript.getCallFrames): 66644 (InjectedScript.evaluateInCallFrame): 66645 (InjectedScript._callFrameForId): 66646 (InjectedScript._objectForId): 66647 (InjectedScript.CallFrameProxy): 66648 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): 66649 * inspector/front-end/ObjectPropertiesSection.js: 66650 (WebInspector.ObjectPropertiesSection.prototype._update): 66651 * inspector/front-end/ObjectProxy.js: 66652 (WebInspector.ObjectPropertyProxy): 66653 * inspector/front-end/ResourcesPanel.js: 66654 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): 66655 * inspector/front-end/ScopeChainSidebarPane.js: 66656 (WebInspector.ScopeChainSidebarPane): 66657 (WebInspector.ScopeChainSidebarPane.prototype.update): 66658 (WebInspector.ScopeVariableTreeElement.prototype.onattach): 66659 (WebInspector.ScopeVariableTreeElement.prototype.onexpand): 66660 (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): 66661 * inspector/front-end/ScriptsPanel.js: 66662 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 66663 (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame): 66664 (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback): 66665 (WebInspector.ScriptsPanel.prototype.debuggerPaused): 66666 66667 2009-08-24 Kent Tamura <tkent (a] chromium.org> 66668 66669 Reviewed by Eric Seidel. 66670 66671 Add support for the placeholder attribute and DOM property of the textarea element. 66672 https://bugs.webkit.org/show_bug.cgi?id=21248 66673 66674 A DOM node for an INPUT element doesn't have a flag for placeholder 66675 visibility anymore. This patch also fixes a bug that a renderer 66676 doesn't reflect a corresponding DOM value change. 66677 66678 Tests: fast/forms/textarea-placeholder-dom-property.html 66679 fast/forms/textarea-placeholder-pseudo-style.html 66680 fast/forms/textarea-placeholder-set-attribute.html 66681 fast/forms/textarea-placeholder-set-value.html 66682 66683 * css/html.css: Add the default style for placeholder of textarea. 66684 * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal 66685 (WebCore::InputElement::dispatchFocusEvent): 66686 (WebCore::InputElement::dispatchBlurEvent): 66687 (WebCore::InputElement::placeholderShouldBeVisible): 66688 (WebCore::InputElement::updatePlaceholderVisibility): 66689 (WebCore::InputElement::setValueFromRenderer): 66690 (WebCore::InputElementData::InputElementData): 66691 * dom/InputElement.h: 66692 * html/HTMLInputElement.cpp: 66693 (WebCore::HTMLInputElement::dispatchFocusEvent): 66694 (WebCore::HTMLInputElement::dispatchBlurEvent): 66695 (WebCore::HTMLInputElement::setValue): 66696 (WebCore::HTMLInputElement::placeholderShouldBeVisible): 66697 * html/HTMLInputElement.h: 66698 (WebCore::HTMLInputElement::updatePlaceholderVisibility): 66699 * html/HTMLTextAreaElement.cpp: 66700 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 66701 (WebCore::HTMLTextAreaElement::setValue): 66702 (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible): 66703 (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility): 66704 (WebCore::HTMLTextAreaElement::dispatchFocusEvent): 66705 (WebCore::HTMLTextAreaElement::dispatchBlurEvent): 66706 * html/HTMLTextAreaElement.h: 66707 * html/HTMLTextAreaElement.idl: 66708 * rendering/RenderTextControl.cpp: 66709 (WebCore::RenderTextControl::RenderTextControl): 66710 (WebCore::RenderTextControl::styleDidChange): 66711 (WebCore::RenderTextControl::setInnerTextStyle): 66712 (WebCore::RenderTextControl::updatePlaceholderVisibility): 66713 * rendering/RenderTextControl.h: 66714 * rendering/RenderTextControlMultiLine.cpp: 66715 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): 66716 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 66717 (WebCore::RenderTextControlMultiLine::updateFromElement): 66718 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 66719 (WebCore::RenderTextControlMultiLine::textBaseStyle): 66720 * rendering/RenderTextControlMultiLine.h: 66721 * rendering/RenderTextControlSingleLine.cpp: 66722 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 66723 (WebCore::RenderTextControlSingleLine::textBaseStyle): 66724 (WebCore::RenderTextControlSingleLine::updateFromElement): 66725 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 66726 * rendering/RenderTextControlSingleLine.h: 66727 * wml/WMLInputElement.cpp: 66728 (WebCore::WMLInputElement::dispatchFocusEvent): 66729 (WebCore::WMLInputElement::dispatchBlurEvent): 66730 (WebCore::WMLInputElement::setValue): 66731 (WebCore::WMLInputElement::placeholderShouldBeVisible): 66732 66733 2009-08-23 Dirk Schulze <krit (a] webkit.org> 66734 66735 Reviewed by Mark Rowe. 66736 66737 Code clean-up and build fix for filters enabled builds. Moved SVGNames.h 66738 into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other 66739 files. They are needed there after r47688. 66740 66741 * dom/Document.cpp: 66742 * svg/SVGComponentTransferFunctionElement.h: 66743 * svg/SVGFELightElement.h: 66744 * svg/SVGFEMergeNodeElement.h: 66745 * svg/SVGFilterPrimitiveStandardAttributes.h: 66746 66747 2009-08-23 Gustavo Noronha Silva <gns (a] gnome.org> 66748 66749 Unreviewed, build fix for make distcheck on GTK+. 66750 66751 * GNUmakefile.am: Added files needed for the build. 66752 * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include 66753 with #if clause. 66754 * bindings/js/JSEventTarget.cpp: Dito. 66755 * dom/Document.cpp: Dito. 66756 * loader/FrameLoader.cpp: Dito. 66757 66758 2009-08-23 Joseph Pecoraro <joepeck (a] webkit.org> 66759 66760 Reviewed by Timothy Hatcher. 66761 66762 Inspector: Throws an Error on "null" 66763 https://bugs.webkit.org/show_bug.cgi?id=28665 66764 66765 * inspector/front-end/InjectedScript.js: 66766 (InjectedScript.evaluate): 66767 66768 2009-08-23 Pavel Feldman <pfeldman (a] chromium.org> 66769 66770 Reviewed by Timothy Hatcher. 66771 66772 Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often 66773 66774 https://bugs.webkit.org/show_bug.cgi?id=28666 66775 66776 * inspector/front-end/InjectedScript.js: 66777 (InjectedScript.getProperties): 66778 (InjectedScript.createProxyObject): 66779 66780 2009-08-22 Martin Robinson <martin.james.robinson (a] gmail.com> 66781 66782 Reviewed by Xan Lopez. 66783 66784 [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly 66785 https://bugs.webkit.org/show_bug.cgi?id=28345 66786 66787 When doing the conversion between cairo_surface_t* and GdkPixbuf* 66788 account for the differences in the respective formats' in-memory 66789 image format. 66790 66791 * platform/graphics/gtk/ImageGtk.cpp: 66792 (WebCore::getCairoSurfacePixel): 66793 (WebCore::getGdkPixbufPixel): 66794 (WebCore::BitmapImage::getGdkPixbuf): 66795 66796 2009-08-22 Darin Adler <darin (a] apple.com> 66797 66798 Reviewed by Oliver Hunt. 66799 66800 Make DOM classes start with a reference count of 1, like all other RefCounted 66801 66802 Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement, 66803 HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement, 66804 HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement. 66805 66806 * DerivedSources.make: Fix error seen every time we build by escaping the $ 66807 in the build rule, since you have to use $$ for that in make. 66808 66809 * WebCore.base.exp: Updated. 66810 66811 * bindings/objc/DOM.mm: 66812 Added now-needed include of SVGNames.h. 66813 66814 * dom/Document.cpp: Added now-needed include of SVGNames.h. 66815 (WebCore::Document::createElement): Use create instead of new. 66816 66817 * dom/Element.cpp: 66818 (WebCore::Element::Element): Added ConstructionType argument so the caller 66819 can determine whether this starts with a reference count of either 0 or 1. 66820 Later we will remove this again once they are all 1. 66821 (WebCore::Element::create): Added. 66822 66823 * dom/Element.h: Added create and made constructor protected. 66824 66825 * dom/StyledElement.cpp: 66826 (WebCore::StyledElement::StyledElement): Added ConstructionType argument. 66827 * dom/StyledElement.h: Made many functions protected or private, including 66828 the constructor. 66829 66830 * dom/make_names.pl: Use create to create the base elements HTMLElement, 66831 SVGElement, and WMLElement. 66832 66833 * editing/CreateLinkCommand.cpp: 66834 (WebCore::CreateLinkCommand::doApply): Use create instead of new. 66835 * editing/UnlinkCommand.cpp: 66836 (WebCore::UnlinkCommand::doApply): Ditto. 66837 66838 * html/HTMLAnchorElement.cpp: 66839 (WebCore::HTMLAnchorElement::create): Added. 66840 * html/HTMLAnchorElement.h: Made constructor protected and added create. 66841 Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr. 66842 66843 * html/HTMLAppletElement.cpp: 66844 (WebCore::HTMLAppletElement::create): Added. 66845 * html/HTMLAppletElement.h: Made constructor private and added create. 66846 66847 * html/HTMLAreaElement.cpp: 66848 (WebCore::HTMLAreaElement::create): Added. 66849 * html/HTMLAreaElement.h: Made constructor private and added create. 66850 66851 * html/HTMLElement.cpp: 66852 (WebCore::HTMLElement::create): Added. 66853 * html/HTMLElement.h: Made constructor protected and added create. 66854 Made other functions protected and private. Also added inline 66855 definition of constructor. 66856 66857 * html/HTMLEmbedElement.cpp: 66858 (WebCore::HTMLEmbedElement::create): Added. 66859 * html/HTMLEmbedElement.h: Made constructor private and added create. 66860 Made other functions private. 66861 66862 * html/HTMLFrameElement.cpp: 66863 (WebCore::HTMLFrameElement::create): Added. 66864 (WebCore::HTMLFrameElement::parseMappedAttribute): 66865 * html/HTMLFrameElement.h: Made constructor private and added create. 66866 Made other functions private. 66867 66868 * html/HTMLFrameElementBase.h: Made functions protected and private. 66869 66870 * html/HTMLFrameOwnerElement.cpp: 66871 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass 66872 CreateElement so reference count starts at 1. 66873 66874 * html/HTMLFrameOwnerElement.h: Made functions protected and private. 66875 66876 * html/HTMLIFrameElement.cpp: 66877 (WebCore::HTMLIFrameElement::create): Added. 66878 * html/HTMLIFrameElement.h: Made constructor private and added create. 66879 Made other functions private. 66880 66881 * html/HTMLObjectElement.cpp: 66882 (WebCore::HTMLObjectElement::create): Added. 66883 (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop 66884 into a for loop and tweaked formatting. 66885 66886 * html/HTMLObjectElement.h: Made constructor private and added create. 66887 Made other functions private. 66888 66889 * html/HTMLPlugInElement.h: Made constructor protected. 66890 Made other functions protected and private. 66891 66892 * html/HTMLPlugInImageElement.h: Made constructor and another function 66893 protected. 66894 66895 * html/HTMLTagNames.in: Removed createWithNew from all classes that 66896 now have create functions. Moved conditional noscript to a separate 66897 paragraph. 66898 66899 * html/HTMLViewSourceDocument.cpp: 66900 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create. 66901 (WebCore::HTMLViewSourceDocument::addLink): Ditto. 66902 * page/DragController.cpp: 66903 (WebCore::documentFragmentFromDragData): Ditto. 66904 66905 * svg/SVGElement.cpp: 66906 (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount 66907 so reference count still starts at 0. Will change this class later. 66908 (WebCore::SVGElement::create): Added. 66909 * svg/SVGElement.h: Added create, made constructor protected, and 66910 made other functions protected and private. Removed unneeded 66911 SVGNames.h include. 66912 66913 * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h 66914 include. 66915 66916 * svg/SVGStopElement.h: Added now-needed SVGNames.h include. 66917 Made functions private. 66918 66919 * wml/WMLElement.cpp: 66920 (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount 66921 so reference count still starts at 0. Will change this class later. 66922 (WebCore::WMLElement::create): Added. 66923 * wml/WMLElement.h: Added create and made constructor protected. 66924 66925 * wml/WMLTagNames.in: Removed createWithNew from WMLElement. 66926 66927 2009-08-22 Adele Peterson <adele (a] apple.com> 66928 66929 Reviewed by Anders Carlsson. 66930 66931 Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars 66932 66933 Custom scrollbars normally get detached when a document gets detached. In this case, a crash was happening when the document had gone into the page cache 66934 and then was getting destroyed without proper scrollbar teardown. This change makes custom scrollbars get detached when the document enters the cache. 66935 66936 I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time. 66937 66938 * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created. 66939 They'll get reattached when the document comes out of the page cache. 66940 * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds. 66941 66942 2009-08-22 David Hyatt <hyatt (a] apple.com> 66943 66944 Reviewed by Dan Bernstein. 66945 66946 Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with 66947 the bottom of their parent blocks. The old code prevented all collapsing, but all CSS2.1 states is that: 66948 "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin." 66949 66950 The implication is that the bottom margin can still collapse, and the block-inside-inline form of 66951 fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends 66952 on it to get comparable results. 66953 66954 Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/ 66955 66956 * rendering/RenderBlock.cpp: 66957 (WebCore::RenderBlock::MarginInfo::MarginInfo): 66958 (WebCore::RenderBlock::collapseMargins): 66959 (WebCore::RenderBlock::clearFloatsIfNeeded): 66960 (WebCore::RenderBlock::handleBottomOfBlock): 66961 * rendering/RenderBlock.h: 66962 (WebCore::RenderBlock::MarginInfo::clearMargin): 66963 (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren): 66964 66965 2009-08-22 Chris Fleizach <cfleizach (a] apple.com> 66966 66967 Reviewed by Darin Adler. 66968 66969 Need to implement ARIA role="listitem" and role="list" 66970 https://bugs.webkit.org/show_bug.cgi?id=28606 66971 66972 Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html 66973 66974 * accessibility/AXObjectCache.cpp: 66975 (WebCore::AXObjectCache::getOrCreate): 66976 * accessibility/AccessibilityList.cpp: 66977 (WebCore::AccessibilityList::isUnorderedList): 66978 * accessibility/AccessibilityRenderObject.cpp: 66979 (WebCore::RoleEntry::): 66980 66981 2009-08-21 Dan Bernstein <mitz (a] apple.com> 66982 66983 Reviewed by Darin Adler. 66984 66985 Clean up fill image geometry calculation 66986 https://bugs.webkit.org/show_bug.cgi?id=28652 66987 66988 * rendering/RenderBoxModelObject.cpp: 66989 (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed 66990 calculateBackgroundSize() to this. Replaced separate scaledWidth and 66991 scaledHeight parameters with a single scaledSize parameter. Renamed 66992 parameters and local variables. 66993 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed 66994 to use CSS3 Backgrounds and Borders terminology in comments and 66995 local variable names. Renamed, clarified and consolidated some local 66996 variables. 66997 * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private. 66998 66999 2009-08-22 Chris Marrin <cmarrin (a] apple.com> 67000 67001 Unreviewed, build fix. 67002 67003 Backing out http://trac.webkit.org/changeset/47669 67004 67005 * html/canvas/CanvasRenderingContext2D.cpp: 67006 * html/canvas/CanvasRenderingContext2D.h: 67007 67008 2009-08-22 Dimitri Glazkov <dglazkov (a] chromium.org> 67009 67010 Unreviewed, build fix. 67011 67012 Backing out http://trac.webkit.org/changeset/47671 in preparation of 67013 rolling out http://trac.webkit.org/changeset/47669. 67014 67015 2009-08-22 Dimitri Glazkov <dglazkov (a] chromium.org> 67016 67017 Reviewed by Anders Carlsson. 67018 67019 Build fix, add CanvasRenderingContext to build systems. 67020 https://bugs.webkit.org/show_bug.cgi?id=28018 67021 67022 * DerivedSources.make: Added CanvasRenderinContext. 67023 * GNUmakefile.am: Ditto. 67024 * WebCore.gypi: Ditto. 67025 * WebCore.pro: Ditto. 67026 * WebCore.xcodeproj/project.pbxproj: Ditto. 67027 * WebCoreSources.bkl: Ditto. 67028 67029 2009-08-21 Chris Marrin <cmarrin (a] apple.com> 67030 67031 Reviewed by Oliver Hunt. 67032 67033 New files implementing GL buffer wrappers, and support to make them platform independent 67034 https://bugs.webkit.org/show_bug.cgi?id=28018 67035 67036 * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object 67037 * html/canvas/CanvasBuffer.h: Added. 67038 * html/canvas/CanvasBuffer.idl: Added. 67039 * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object 67040 * html/canvas/CanvasFramebuffer.h: Added. 67041 * html/canvas/CanvasFramebuffer.idl: Added. 67042 * html/canvas/CanvasObject.h: Expose m_context 67043 * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object 67044 * html/canvas/CanvasProgram.h: Added. 67045 * html/canvas/CanvasProgram.idl: Added. 67046 * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object 67047 * html/canvas/CanvasRenderbuffer.h: Added. 67048 * html/canvas/CanvasRenderbuffer.idl: Added. 67049 * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here 67050 * html/canvas/CanvasRenderingContext3D.h: 67051 * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object 67052 * html/canvas/CanvasShader.h: Added. 67053 * html/canvas/CanvasShader.idl: Added. 67054 * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object 67055 * html/canvas/CanvasTexture.h: Added. 67056 * html/canvas/CanvasTexture.idl: Added. 67057 * platform/graphics/GraphicsContext3D.cpp: Removed. 67058 * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D 67059 * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction 67060 67061 2009-08-21 Darin Adler <darin (a] apple.com> 67062 67063 * WebCore.vcproj/build-generated-files.sh: 67064 * make-generated-sources.sh: 67065 Removed obsolete code to set up CREATE_HASH_TABLE. 67066 67067 2009-08-21 Adele Peterson <adele (a] apple.com> 67068 67069 Reviewed by Mark Rowe. 67070 67071 <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 67072 67073 * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 67074 No need to open the file with write access. Only read access is needed. 67075 67076 2009-08-21 Alexey Proskuryakov <ap (a] apple.com> 67077 67078 Reviewed by Darin Adler. 67079 67080 <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html 67081 67082 Also fixes leaks seen on appcache tests. 67083 67084 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around 67085 something that's likely a CFNetwork issue. Note that on Windows, there is no matching API 67086 to call, and we do not think that the leak occurs there anyway. 67087 67088 2009-08-21 Dmitry Titov <dimich (a] chromium.org> 67089 67090 Reviewed by David Levin. 67091 67092 https://bugs.webkit.org/show_bug.cgi?id=28650 67093 Remove cross-thread code from CrossOriginPreflightResultCache. 67094 Removed mutexes, atomic initializer and string copy. 67095 67096 No new tests, the worker tests cover this. 67097 67098 * loader/CrossOriginPreflightResultCache.cpp: 67099 (WebCore::addToAccessControlAllowList): 67100 (WebCore::CrossOriginPreflightResultCache::shared): 67101 (WebCore::CrossOriginPreflightResultCache::appendEntry): 67102 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): 67103 (WebCore::CrossOriginPreflightResultCache::empty): 67104 * loader/CrossOriginPreflightResultCache.h: 67105 67106 2009-08-21 Michelangelo De Simone <micdesim (a] gmail.com> 67107 67108 Reviewed by Jan Alonzo. 67109 67110 Buildfix after http://trac.webkit.org/changeset/47655. 67111 67112 * html/HTMLFormControlElement.h: 67113 67114 2009-08-19 Joseph Pecoraro <joepeck (a] webkit.org> 67115 67116 Reviewed by Timothy Hatcher. 67117 67118 Inspector: Improve Cookie DataGrid to Show Hidden Data 67119 https://bugs.webkit.org/show_bug.cgi?id=28269 67120 67121 Removed Custom Bindings 67122 67123 * bindings/js/JSInspectorBackendCustom.cpp: 67124 * bindings/v8/custom/V8CustomBinding.h: 67125 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 67126 * inspector/InspectorBackend.cpp: 67127 67128 Made Non-Custom Bindings in the Backend 67129 67130 (WebCore::InspectorBackend::getCookies): 67131 (WebCore::InspectorBackend::deleteCookie): 67132 * inspector/InspectorBackend.h: 67133 * inspector/InspectorBackend.idl: 67134 * inspector/InspectorController.cpp: 67135 (WebCore::InspectorController::deleteCookie): 67136 * inspector/InspectorController.h: 67137 67138 Build the Cookie ScriptObjects, handles using document.cookie in 67139 case the platform hasn't implemented raw cookie access. 67140 67141 * inspector/InspectorDOMAgent.cpp: 67142 (WebCore::InspectorDOMAgent::getCookies): 67143 (WebCore::InspectorDOMAgent::buildObjectForCookie): 67144 (WebCore::InspectorDOMAgent::buildArrayForCookies): 67145 * inspector/InspectorDOMAgent.h: 67146 67147 Complete the Asynchronous Calls 67148 67149 * inspector/InspectorFrontend.cpp: 67150 (WebCore::InspectorFrontend::didGetCookies): 67151 * inspector/InspectorFrontend.h: 67152 67153 Asynchronous Functions to get Cookie Data 67154 67155 * inspector/front-end/DOMAgent.js: 67156 (WebInspector.Cookies.getCookiesAsync): 67157 (WebInspector.Cookies.buildCookiesFromString): fallback behavior 67158 67159 Refactor to use the Asynchronous Functions 67160 67161 * inspector/front-end/CookieItemsView.js: 67162 (WebInspector.CookieItemsView): 67163 (WebInspector.CookieItemsView.prototype.get statusBarItems): 67164 (WebInspector.CookieItemsView.prototype.update.callback): 67165 (WebInspector.CookieItemsView.prototype.update): 67166 (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies): 67167 (WebInspector.CookieItemsView.prototype._deleteButtonClicked): 67168 67169 Cleaned/Commented Related Code 67170 67171 (InspectorController.searchCanceled): 67172 * inspector/front-end/InjectedScript.js: 67173 * platform/Cookie.h: 67174 * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time 67175 67176 2009-08-21 Michelangelo De Simone <micdesim (a] gmail.com> 67177 67178 Reviewed by Adele Peterson. 67179 67180 https://bugs.webkit.org/show_bug.cgi?id=28145 67181 Add support for novalidate/formnovalidate attribute, from HTML5 specs: 67182 http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate 67183 67184 Tests: fast/forms/formnovalidate-attribute.html 67185 fast/forms/novalidate-attribute.html 67186 67187 * html/HTMLAttributeNames.in: added novalidate, formnovalidate 67188 * html/HTMLButtonElement.idl: formnovalidate attribute exposed 67189 * html/HTMLFormControlElement.cpp: 67190 (WebCore::HTMLFormControlElement::formNoValidate): attribute getter 67191 (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter 67192 * html/HTMLFormControlElement.h: 67193 * html/HTMLFormElement.cpp: 67194 (WebCore::HTMLFormElement::novalidate): attribute getter 67195 (WebCore::HTMLFormElement::setNovalidate): attribute setter 67196 * html/HTMLFormElement.h: 67197 * html/HTMLFormElement.idl: novalidate attribute exposed 67198 * html/HTMLInputElement.idl: formNoValidate attribute exposed 67199 67200 2009-08-21 Dan Bernstein <mitz (a] apple.com> 67201 67202 Reviewed by Beth Dakin. 67203 67204 Rendering changes to complete 67205 [CSS3 Backgrounds and Borders] Add support for the "contain" value for 67206 background-size 67207 https://bugs.webkit.org/show_bug.cgi?id=27573 67208 and 67209 [CSS3 Backgrounds and Borders] Add support for the "cover" value for 67210 background-size 67211 https://bugs.webkit.org/show_bug.cgi?id=27574 67212 67213 Test: fast/backgrounds/size/contain-and-cover.html 67214 67215 * rendering/RenderBoxModelObject.cpp: 67216 (WebCore::RenderBoxModelObject::calculateBackgroundSize): 67217 * rendering/RenderObject.cpp: 67218 (WebCore::mustRepaintFillLayers): 67219 67220 2009-08-21 Michelangelo De Simone <micdesim (a] gmail.com> 67221 67222 Reviewed by Adele Peterson. 67223 67224 https://bugs.webkit.org/show_bug.cgi?id=27452 67225 Add support for checkValidity() method and invalid event, from HTML5 67226 specs: 67227 http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity 67228 67229 Tests: fast/events/invalid-001.html 67230 fast/events/invalid-002.html 67231 fast/events/invalid-003.html 67232 fast/events/invalid-004.html 67233 fast/events/invalid-005.html 67234 fast/forms/checkValidity-001.html 67235 fast/forms/checkValidity-002.html 67236 fast/forms/checkValidity-003.html 67237 fast/forms/checkValidity-004.html 67238 67239 * dom/Document.idl: oninvalid event handler 67240 * dom/Element.idl: ditto 67241 * dom/EventNames.h: added invalid event 67242 * dom/Node.cpp: 67243 (WebCore::Node::oninvalid): ditto 67244 (WebCore::Node::setOninvalid): ditto 67245 * dom/Node.h: ditto 67246 * html/HTMLAttributeNames.in: oninvalid attribute 67247 * html/HTMLButtonElement.idl: added checkValidity() method 67248 * html/HTMLElement.cpp: 67249 (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid 67250 * html/HTMLFieldSetElement.idl: added checkValidity() method 67251 * html/HTMLFormControlElement.cpp: 67252 (WebCore::HTMLFormControlElement::checkValidity): checkValidity() 67253 implementation 67254 * html/HTMLFormControlElement.h: 67255 * html/HTMLFormElement.cpp: 67256 (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation 67257 for form elements 67258 * html/HTMLFormElement.h: checkValidity() definition 67259 * html/HTMLFormElement.idl: added checkValidity() method 67260 * html/HTMLInputElement.idl: added checkValidity() method 67261 * html/HTMLSelectElement.idl: added checkValidity() method 67262 * html/HTMLTextAreaElement.idl: added checkValidity() method 67263 * page/DOMWindow.cpp: 67264 (WebCore::DOMWindow::oninvalid): oninvalid event handler 67265 (WebCore::DOMWindow::setOninvalid): ditto 67266 * page/DOMWindow.h: ditto 67267 * page/DOMWindow.idl: ditto 67268 67269 2009-08-21 Beth Dakin <bdakin (a] apple.com> 67270 67271 Reviewed by Dan Bernstein. 67272 67273 The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 67274 Backgrounds and Borders] Add support for the "round" value for 67275 background-repeat 67276 -and- 67277 https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 67278 Borders] Add support for the "space" value for background-repeat 67279 67280 * css/CSSParser.cpp: 67281 (WebCore::CSSParser::parseFillProperty): 67282 * css/CSSPrimitiveValueMappings.h: 67283 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 67284 (WebCore::CSSPrimitiveValue::operator EFillRepeat): 67285 * css/CSSValueKeywords.in: 67286 * rendering/style/FillLayer.h: 67287 * rendering/style/RenderStyleConstants.h: 67288 (WebCore::): 67289 67290 2009-08-21 Chris Marrin <cmarrin (a] apple.com> 67291 67292 Reviewed by Oliver Hunt. 67293 67294 New files for Canvas 3D feature 67295 https://bugs.webkit.org/show_bug.cgi?id=28018 67296 67297 This is all the new files for implementing Canvas 3D. None of them are hooked up and 67298 are not even included in the build yet. This incorporates the reviews from Simon 67299 and Ollie for these files. 67300 67301 * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array 67302 * html/CanvasObject.cpp: Added. Base class for all GL object containers 67303 * html/CanvasObject.h: Added. 67304 * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D 67305 * html/CanvasRenderingContext.h: Added. 67306 * html/CanvasRenderingContext.idl: Added. 67307 * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext() 67308 * html/CanvasRenderingContext3D.h: Added. 67309 * html/CanvasRenderingContext3D.idl: Added. 67310 * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine 67311 * platform/graphics/GraphicsContext3D.h: Added. 67312 * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas 67313 * platform/graphics/mac/Canvas3DLayer.mm: Added. 67314 * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based) 67315 67316 2009-08-21 Ryosuke Niwa <rniwa (a] webkit.org> 67317 67318 No Review. 67319 67320 Another Windows build fix. 67321 67322 * editing/ApplyStyleCommand.cpp: 67323 (WebCore::diffTextDecorations): 67324 67325 2009-08-21 David Hyatt <hyatt (a] apple.com> 67326 67327 Reviewed by Simon Fraser. 67328 67329 https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode 67330 line box shrinking quirk. Make sure outlines don't extend outside the lineTop and lineBottom 67331 of the root line box. 67332 67333 Covered by existing tests. 67334 67335 * rendering/RenderBlock.cpp: 67336 (WebCore::RenderBlock::addFocusRingRects): 67337 * rendering/RenderInline.cpp: 67338 (WebCore::RenderInline::addFocusRingRects): 67339 (WebCore::RenderInline::paintOutline): 67340 67341 2009-08-21 Ryosuke Niwa <rniwa (a] webkit.org> 67342 67343 No Review. 67344 67345 Windows build fix. 67346 67347 * editing/ApplyStyleCommand.cpp: 67348 (WebCore::setTextDecorationProperty): Made it static 67349 (WebCore::diffTextDecorations): Made it static 67350 67351 2009-08-21 Ryosuke Niwa <rniwa (a] webkit.org> 67352 67353 Reviewed by Eric Seidel. 67354 67355 execCommand("Underline") uses CSS even when styleWithCSS has been turned off 67356 https://bugs.webkit.org/show_bug.cgi?id=23892 67357 67358 This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that 67359 WebKit does not use CSS to decorate texts when styleWithCSS is set to false. 67360 67361 * css/CSSValueList.cpp: 67362 (WebCore::CSSValueList::copy): Added. 67363 * css/CSSValueList.h: Added copy. 67364 * editing/ApplyStyleCommand.cpp: 67365 (WebCore::StyleChange::applyUnderline): 67366 (WebCore::StyleChange::applyLineThrough): 67367 (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument. 67368 (WebCore::StyleChange::init): Ditto. 67369 (WebCore::StyleChange::extractTextStyles): Handles text decorations. 67370 (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly. 67371 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed. 67372 67373 2009-08-21 Joseph Pecoraro <joepeck (a] webkit.org> 67374 67375 Reviewed by Timothy Hatcher. 67376 67377 Inspector: Rename "Databases" Panel as "Storage" 67378 https://bugs.webkit.org/show_bug.cgi?id=28620 67379 67380 Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used. 67381 67382 * inspector/InspectorController.cpp: 67383 (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage" 67384 * inspector/InspectorController.h: 67385 (WebCore::InspectorController::): 67386 * inspector/InspectorFrontend.cpp: 67387 (WebCore::InspectorFrontend::showPanel): 67388 67389 Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage, 67390 any DatabasesPanel constructors and appropriate function names. 67391 67392 * inspector/front-end/DOMStorageDataGrid.js: 67393 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): 67394 (WebInspector.DOMStorageDataGrid.prototype._startEditing): 67395 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): 67396 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): 67397 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): 67398 * inspector/front-end/DOMStorageItemsView.js: 67399 (WebInspector.DOMStorageItemsView.prototype.update): 67400 * inspector/front-end/DatabaseQueryView.js: 67401 (WebInspector.DatabaseQueryView.prototype._queryFinished): 67402 * inspector/front-end/DatabaseTableView.js: 67403 (WebInspector.DatabaseTableView.prototype._queryFinished): 67404 * inspector/front-end/inspector.js: 67405 (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage" 67406 (WebInspector.showStoragePanel): 67407 (WebInspector.selectDatabase): 67408 (WebInspector.selectDOMStorage): 67409 (WebInspector.addDatabase): 67410 (WebInspector.addDOMStorage): 67411 67412 Renamed some files and Updated Accordingly. 67413 67414 * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js. 67415 * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png. 67416 * inspector/front-end/WebKit.qrc: use new file names 67417 * inspector/front-end/inspector.css: use new images name and class names 67418 * inspector/front-end/inspector.html: use new file name 67419 * WebCore.gypi: use new file names 67420 67421 Miscellaneous Updates. 67422 67423 * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage" 67424 67425 2009-08-21 Maxime Simon <simon.maxime (a] gmail.com> 67426 67427 Reviewed by Oliver Hunt. 67428 67429 [Haiku] Adding three font-specific files to WebCore: 67430 FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp 67431 https://bugs.webkit.org/show_bug.cgi?id=28131 67432 67433 * platform/graphics/haiku/FontCacheHaiku.cpp: Added. 67434 (WebCore::FontCache::platformInit): 67435 (WebCore::FontCache::getFontDataForCharacters): 67436 (WebCore::FontCache::getSimilarFontPlatformData): 67437 (WebCore::FontCache::getLastResortFallbackFont): 67438 (WebCore::FontCache::createFontPlatformData): 67439 (WebCore::FontCache::getTraitsInFamily): 67440 * platform/graphics/haiku/FontHaiku.cpp: Added. 67441 (charUnicodeToUTF8HACK): 67442 (WebCore::Font::canReturnFallbackFontsForComplexText): 67443 (WebCore::Font::drawGlyphs): 67444 (WebCore::Font::drawComplexText): 67445 (WebCore::Font::floatWidthForComplexText): 67446 (WebCore::Font::selectionRectForComplexText): 67447 (WebCore::Font::offsetForPositionForComplexText): 67448 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added. 67449 (WebCore::SimpleFontData::platformInit): 67450 (WebCore::SimpleFontData::platformCharWidthInit): 67451 (WebCore::SimpleFontData::platformDestroy): 67452 (WebCore::SimpleFontData::smallCapsFontData): 67453 (WebCore::SimpleFontData::containsCharacters): 67454 (WebCore::SimpleFontData::determinePitch): 67455 (WebCore::SimpleFontData::platformWidthForGlyph): 67456 67457 2009-08-21 Philippe Beauchamp <philippe.beauchamp (a] gmail.com> 67458 67459 Reviewed by Adam Roben. 67460 67461 Middle click panning icon is offset by 3 pixels 67462 https://bugs.webkit.org/show_bug.cgi?id=28611 67463 67464 * platform/ScrollView.cpp: 67465 panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset) 67466 * platform/win/CursorWin.cpp: 67467 (WebCore::middlePanningCursor): 67468 Hotspot initialized to (8,8) instead of (7,7) (one pixel offset) 67469 67470 2009-08-21 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 67471 67472 Reviewed by Eric Seidel. 67473 67474 [Qt] Remove inspector resources for Symbian 67475 https://bugs.webkit.org/show_bug.cgi?id=28610 67476 67477 Based on an idea from Simon Hausmann. 67478 67479 * WebCore.pro: 67480 67481 2009-08-21 Joseph Pecoraro <joepeck (a] webkit.org> 67482 67483 Reviewed by Eric Seidel. 67484 67485 Inspector: Remove Unused Variable 67486 https://bugs.webkit.org/show_bug.cgi?id=28616 67487 67488 * inspector/front-end/Resource.js: 67489 (WebInspector.Resource.prototype._checkWarning): 67490 67491 2009-08-21 Joseph Pecoraro <joepeck (a] webkit.org> 67492 67493 Reviewed by Timothy Hatcher. 67494 67495 Inspector: Console Array Formatter Shows Extra Properties 67496 https://bugs.webkit.org/show_bug.cgi?id=28615 67497 67498 * inspector/front-end/ConsoleView.js: 67499 (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties 67500 67501 2009-08-21 Beth Dakin <bdakin (a] apple.com> 67502 67503 Reviewed by Dan Bernstein. 67504 67505 The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 67506 Backgrounds and Borders] Add support for the "contain" value for 67507 background-size 67508 -and- 67509 https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 67510 Borders] Add support for the "cover" value for background-size 67511 67512 Return contain or cover when appropriate, and otherwise do what we 67513 used to do. 67514 * css/CSSComputedStyleDeclaration.cpp: 67515 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 67516 67517 Accept contain and cover as valid values for background-size. 67518 * css/CSSParser.cpp: 67519 (WebCore::CSSParser::parseFillProperty): 67520 67521 Handle setting the size and the sizeLength if appropriate. 67522 * css/CSSStyleSelector.cpp: 67523 (WebCore::CSSStyleSelector::mapFillSize): 67524 67525 Added new keywords contain and cover. 67526 * css/CSSValueKeywords.in: 67527 67528 Use just sizeLength instead of size to match old behavior. 67529 * page/animation/AnimationBase.cpp: 67530 (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): 67531 * rendering/RenderBoxModelObject.cpp: 67532 (WebCore::RenderBoxModelObject::calculateBackgroundSize): 67533 * rendering/RenderObject.cpp: 67534 (WebCore::mustRepaintFillLayers): 67535 67536 The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 67537 a LengthSize (the equivalent of what m_size used to be). I got rid 67538 of m_sizeSet and made isSizeSet() dynamic. I also defined a new 67539 struct, FillSize that can be used to set or get m_size and 67540 m_sizeLength both at once. 67541 * rendering/style/FillLayer.cpp: 67542 (WebCore::FillLayer::FillLayer): 67543 (WebCore::FillLayer::operator=): 67544 (WebCore::FillLayer::operator==): 67545 (WebCore::FillLayer::fillUnsetProperties): 67546 * rendering/style/FillLayer.h: 67547 (WebCore::FillSize::FillSize): 67548 (WebCore::FillSize::operator==): 67549 (WebCore::FillSize::operator!=): 67550 (WebCore::FillLayer::sizeLength): 67551 (WebCore::FillLayer::size): 67552 (WebCore::FillLayer::isSizeSet): 67553 (WebCore::FillLayer::setSizeType): 67554 (WebCore::FillLayer::setSizeLength): 67555 (WebCore::FillLayer::setSize): 67556 (WebCore::FillLayer::clearSize): 67557 (WebCore::FillLayer::initialFillSizeType): 67558 (WebCore::FillLayer::initialFillSizeLength): 67559 (WebCore::FillLayer::initialFillSize): 67560 67561 This is all boiler-plate stuff to adjust to the new size() vs. 67562 sizeType() vs. sizeLength() distinction. 67563 * rendering/style/RenderStyle.h: 67564 (WebCore::InheritedFlags::backgroundSizeType): 67565 (WebCore::InheritedFlags::backgroundSizeLength): 67566 (WebCore::InheritedFlags::maskSize): 67567 (WebCore::InheritedFlags::setBackgroundSize): 67568 (WebCore::InheritedFlags::setBackgroundSizeLength): 67569 (WebCore::InheritedFlags::setMaskSize): 67570 67571 Definition for EBackgroundSizeType. 67572 * rendering/style/RenderStyleConstants.h: 67573 (WebCore::): 67574 67575 2009-08-21 Ariya Hidayat <ariya.hidayat (a] nokia.com> 67576 67577 Not reviewed, build fix after r47580. 67578 67579 [Qt] Adjust the files. 67580 67581 * inspector/front-end/WebKit.qrc: 67582 67583 2009-08-20 Chris Fleizach <cfleizach (a] apple.com> 67584 67585 Reviewed by Darin Adler. 67586 67587 Enable various "grouping" ARIA roles 67588 https://bugs.webkit.org/show_bug.cgi?id=28486 67589 67590 Test: platform/mac/accessibility/aria-grouping-roles.html 67591 67592 * accessibility/AccessibilityObject.h: 67593 * accessibility/AccessibilityRenderObject.cpp: 67594 * accessibility/mac/AccessibilityObjectWrapper.mm: 67595 * page/mac/WebCoreViewFactory.h: 67596 * platform/LocalizedStrings.h: 67597 * platform/mac/LocalizedStringsMac.mm: 67598 67599 2009-08-20 David Levin <levin (a] chromium.org> 67600 67601 Unreviewed trivial comment fix. 67602 67603 Update a bug link in a comment due to bugzilla amnesia. 67604 67605 * loader/CachedResource.cpp: 67606 (WebCore::CachedResource::setResourceToRevalidate): 67607 67608 2009-08-20 Albert J. Wong <ajwong (a] chromium.org> 67609 67610 Reviewed by David Levin. 67611 67612 HTML5 media elements do not fire waiting events correctly 67613 https://bugs.webkit.org/show_bug.cgi?id=28335 67614 67615 Fire the waiting event before seeking, and fix a case where firing of 67616 the seeked event is missed when the ready state is changed during 67617 a seek. 67618 67619 Added video-waiting-seeking.html into manual tests because not 67620 all platforms allow seeking into non-buffered ranges. 67621 67622 * html/HTMLMediaElement.cpp: 67623 (WebCore::HTMLMediaElement::setReadyState): add support for 67624 waiting event when seeking. 67625 (WebCore::HTMLMediaElement::finishSeek): send seeked event 67626 whenever seeking finishes. 67627 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to 67628 new function. 67629 * html/HTMLMediaElement.h: 67630 * manual-tests/video-waiting-seeking.html: Added. 67631 67632 2009-08-20 Dan Bernstein <mitz (a] apple.com> 67633 67634 Reviewed by John Sullivan. 67635 67636 Fix more cases of 67637 <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in 67638 the console with certain content 67639 67640 If the border box is empty, simply avoid painting instead of trying to 67641 clip to the empty path. 67642 67643 * rendering/RenderBoxModelObject.cpp: 67644 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 67645 * rendering/RenderReplaced.cpp: 67646 (WebCore::RenderReplaced::paint): 67647 * rendering/RenderWidget.cpp: 67648 (WebCore::RenderWidget::paint): 67649 67650 2009-08-20 Jeremy Orlow <jorlow (a] chromium.org> 67651 67652 Build fix. Forgot a svn add for a patch I landed. :-( 67653 67654 * storage/SQLTransactionClient.cpp: Added. 67655 (WebCore::SQLTransactionClient::didCommitTransaction): 67656 (WebCore::SQLTransactionClient::didExecuteStatement): 67657 (WebCore::SQLTransactionClient::didExceedQuota): 67658 * storage/SQLTransactionClient.h: Added. 67659 67660 2009-08-20 Dumitru Daniliuc <dumi (a] chromium.org> 67661 67662 Reviewed by Dimitri Glazkov. 67663 67664 Added a client to SQLTransaction. In addition to being a place to 67665 get notifications about certain events in a transaction, it is 67666 also an abstraction layer that allows us to plug in different 67667 implementations for each port for how transactions interract with 67668 the main DB. For example, WebCore's default implementation will 67669 make direct calls to DatabaseTracker's methods. At the same time, 67670 Chromium's implementation will send IPCs to the browser process 67671 whenever a transaction needs something from the main DB. 67672 67673 All storage tests pass. 67674 67675 https://bugs.webkit.org/show_bug.cgi?id=27967 67676 67677 * GNUmakefile.am: 67678 * WebCore.gypi: 67679 * WebCore.pro: 67680 * WebCore.vcproj/WebCore.vcproj: 67681 * WebCore.xcodeproj/project.pbxproj: 67682 * WebCoreSources.bkl: 67683 * storage/Database.cpp: 67684 (WebCore::Database::transactionClient): 67685 * storage/Database.h: 67686 * storage/DatabaseThread.cpp: 67687 (WebCore::DatabaseThread::DatabaseThread): 67688 * storage/DatabaseThread.h: 67689 (WebCore::DatabaseThread::transactionClient): 67690 * storage/SQLTransaction.cpp: 67691 (WebCore::SQLTransaction::runCurrentStatement): 67692 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): 67693 (WebCore::SQLTransaction::postflightAndCommit): 67694 * storage/SQLTransactionClient.cpp: Added. 67695 * storage/SQLTransactionClient.h: Added. 67696 67697 2009-08-20 Brian Weinstein <bweinstein (a] apple.com> 67698 67699 Reviewed by Steve Falkenburg. 67700 67701 Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793> 67702 Auto scroll speed is faster than in IE, Firefox. 67703 67704 Changed pan scrolling speed to match Firefox's algorithm. 67705 67706 * rendering/RenderLayer.cpp: 67707 (WebCore::adjustedScrollDelta): 67708 (WebCore::RenderLayer::panScrollFromPoint): 67709 67710 2009-08-20 Stephen White <senorblanco (a] chromium.org> 67711 67712 Reviewed by Eric Seidel. 67713 67714 Fix for assert in Chromium page cycler: drawRect() was re-using 67715 an SkPaint, but not resetting it before calling 67716 PlatformGraphicsSkia::setupPaintForFilling() a second time. This 67717 CL fixes drawRect(), and re-enables the assert. 67718 http://bugs.webkit.org/show_bug.cgi?id=28172 67719 http://crbug.com/19797 67720 67721 Covered by Chromium page cycler tests. 67722 67723 * platform/graphics/skia/PlatformContextSkia.cpp: 67724 (PlatformContextSkia::drawRect): 67725 (PlatformContextSkia::setupPaintCommon): 67726 67727 2009-08-20 Anders Carlsson <andersca (a] apple.com> 67728 67729 Reviewed by Dan Bernstein. 67730 67731 <rdar://problem/7159016> Popup menus don't disappear when you click outside the window. 67732 67733 Revert r47535 which introduced this. 67734 67735 * platform/win/PopupMenuWin.cpp: 67736 (WebCore::PopupMenu::show): 67737 (WebCore::PopupWndProc): 67738 67739 2009-08-20 David Levin <levin (a] chromium.org> 67740 67741 Reviewed by Alexey Proskuryakov. 67742 67743 Crashes on sites with lots of images 67744 https://bugs.webkit.org/show_bug.cgi?id=28473 67745 67746 The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while 67747 CachedResource is still referring to it, so it may get deleted before 67748 Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate. 67749 67750 * loader/Cache.cpp: 67751 (WebCore::Cache::revalidateResource): Added assert to verify the resource 67752 being revalidated is physically in the cache. 67753 (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating 67754 resource to the revalidated resource. This allows for proper lifetime management of the 67755 revalidated resource. Added assert to verify that the revalidatingResource is in the cache. 67756 (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the 67757 process of being validated (or else they can get added twice: Once through the normal mechanism 67758 and then again during revalidateResource). 67759 67760 * loader/CachedResource.cpp: 67761 (WebCore::CachedResource::CachedResource): 67762 (WebCore::CachedResource::isSafeToMakePurgeable): 67763 Changed m_isBeingRevalidated to m_proxyResource to allow finding out 67764 who the validating resource (or proxy) is. 67765 67766 (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate 67767 being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts 67768 as well. 67769 (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource 67770 and added a comment about the assert. 67771 (WebCore::CachedResource::clearResourceToRevalidate): 67772 Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource. 67773 * loader/CachedResource.h: 67774 (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource 67775 is still being referred to by it and the code it robust to this being switched to a new proxy 67776 resource without it being cleared first. 67777 (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource. 67778 67779 2009-08-20 Xiaomei Ji <xji (a] chromium.org> 67780 67781 Reviewed by Eric Seidel. 67782 67783 Fix "Chromium RTL autocomplete popup is not layout correctly". 67784 https://bugs.webkit.org/show_bug.cgi?id=27889 67785 67786 The complete fix of the issue consists 2 parts: the patch in webkit 67787 and the patch in Chromium's own code. 67788 67789 This webkit patch only affects Chromium autofill. It 67790 1. introduces a new flag in WebCore::PopupContainerSettings to 67791 distinguish whether the width of the drop-down should be restricted 67792 or not. 67793 For autofill, the width of the drop-down is restricted to 67794 be the same as that of the input field (the new flag is set in 67795 Chromium's own code). But width is not restricted for <select> (same as before). 67796 2. introduce a new flag in WebCore::PopContainerSettings to 67797 indicate what heuristics to use when displaying text in drop-down menu. 67798 For autofill, use drop-down item's directionality to display drop-down items. 67799 Previously, drop-down item is displayed in the its first strong 67800 directional character's directionality. 67801 (drop-down item's directionality is set in Chromium's own code. 67802 It is set the same as the directionality of the element. 67803 For autofill, it is the same directionality as that of the input field.) 67804 For <select>, still use the text's first strong directional character's 67805 directionality to display the text. 67806 67807 67808 Since the patch only affects the chromium client, not webcore part or 67809 other clients. No automatic tests is possible. 67810 67811 * manual-tests/autofill-popup-width-and-item-direction.html: Added. 67812 * platform/chromium/PopupMenuChromium.cpp: 67813 (WebCore::): 67814 (WebCore::PopupListBox::paintRow): If list box width is restricted and 67815 an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses. 67816 (WebCore::PopupListBox::layout): Restrict width of list box if applicable. 67817 * platform/chromium/PopupMenuChromium.h: 67818 (WebCore::PopupItem::PopupItem): style change. 67819 (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 67820 distinguish whether to restrict width of list box and 67821 in what directionality to display the text in drop-down. 67822 67823 2009-08-20 Brian Weinstein <bweinstein (a] apple.com> 67824 67825 Reviewed by Adele Peterson. 67826 67827 Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 67828 Pan Scrolling can scroll while showing the middlePanScroll icon. 67829 67830 Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 67831 In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start 67832 of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would 67833 set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix 67834 the off by one error. 67835 67836 * rendering/RenderLayer.cpp: 67837 (WebCore::RenderLayer::panScrollFromPoint): 67838 67839 2009-08-20 David Hyatt <hyatt (a] apple.com> 67840 67841 Reviewed by Dan Bernstein. 67842 67843 Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method, 67844 layoutBlockChild. 67845 67846 * rendering/RenderBlock.cpp: 67847 (WebCore::RenderBlock::layoutBlockChildren): 67848 (WebCore::RenderBlock::layoutBlockChild): 67849 * rendering/RenderBlock.h: 67850 67851 2009-08-20 Brian Weinstein <bweinstein (a] apple.com> 67852 67853 Reviewed by Adam Roben. 67854 67855 Made subframeForHitTargetNode a public static method, so WebView can call it 67856 during hit testing. 67857 67858 * page/EventHandler.cpp: 67859 (WebCore::subframeForHitTestResult): 67860 (WebCore::EventHandler::subframeForTargetNode): 67861 * page/EventHandler.h: 67862 67863 2009-08-20 Brent Fulgham <bfulgham (a] webkit.org> 67864 67865 Rubberstamped by Kevin Ollivier. 67866 67867 Check for null bundle before attempting to use it. 67868 67869 * platform/network/curl/ResourceHandleManager.cpp: 67870 (WebCore::certificatePath): Add null check on return of 67871 CFBundleGetBundleWithIdentifier. 67872 67873 2009-08-20 David Hyatt <hyatt (a] apple.com> 67874 67875 Reviewed by Dan Bernstein. 67876 67877 https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line. 67878 67879 Added fast/repaint/inline-block-overflow.html and updated another test. 67880 67881 * rendering/InlineFlowBox.cpp: 67882 (WebCore::InlineFlowBox::placeBoxesHorizontally): 67883 (WebCore::InlineFlowBox::computeVerticalOverflow): 67884 Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the 67885 replaced element. Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the 67886 RenderBox has not been updated to the new values yet. 67887 67888 * rendering/RenderLineBoxList.cpp: 67889 (WebCore::RenderLineBoxList::paint): 67890 Don't use the root line box's overflow. Use the actual line box overflow values instead. In the case of an inline 67891 with a layer, our overflow didn't propagate to the root line, so we always need to use our values. 67892 67893 * rendering/RenderPartObject.cpp: 67894 (WebCore::RenderPartObject::layout): 67895 * rendering/RenderReplaced.cpp: 67896 (WebCore::RenderReplaced::layout): 67897 Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow 67898 value around if a box-shadow goes away. 67899 67900 2009-08-20 Dmitry Titov <dimich (a] chromium.org> 67901 67902 Another attempt to fix Chromium build. 67903 67904 * WebCore.gypi: now use the correct name of the image file. 67905 67906 2009-08-20 Dan Bernstein <mitz (a] apple.com> 67907 67908 Make the Windows build even fixeder 67909 67910 * platform/graphics/win/GraphicsContextCGWin.cpp: 67911 (WebCore::GraphicsContextPlatformPrivate::flush): 67912 67913 2009-08-20 Dmitry Titov <dimich (a] chromium.org> 67914 67915 Not reviewed, Chromium build fix. 67916 67917 * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png) 67918 67919 2009-08-20 Dan Bernstein <mitz (a] apple.com> 67920 67921 Windows build fix after the last change 67922 67923 * platform/graphics/win/GraphicsContextCGWin.cpp: 67924 (WebCore::GraphicsContext::GraphicsContext): 67925 (WebCore::GraphicsContext::releaseWindowsContext): 67926 (WebCore::GraphicsContext::drawWindowsBitmap): 67927 67928 2009-08-20 Dan Bernstein <mitz (a] apple.com> 67929 67930 Reviewed by Geoffrey Garen. 67931 67932 Replace many manually-released CFTypeRefs with RetainPtrs 67933 https://bugs.webkit.org/show_bug.cgi?id=28498 67934 67935 * platform/graphics/cg/ColorCG.cpp: 67936 (WebCore::createCGColor): 67937 * platform/graphics/cg/GradientCG.cpp: 67938 (WebCore::Gradient::platformGradient): 67939 * platform/graphics/cg/GraphicsContextCG.cpp: 67940 (WebCore::GraphicsContext::platformContext): 67941 (WebCore::GraphicsContext::applyStrokePattern): 67942 (WebCore::GraphicsContext::applyFillPattern): 67943 (WebCore::GraphicsContext::setPlatformShadow): 67944 (WebCore::GraphicsContext::setURLForRect): 67945 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 67946 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 67947 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): 67948 * platform/graphics/cg/ImageBufferCG.cpp: 67949 (WebCore::ImageBuffer::ImageBuffer): 67950 * platform/graphics/cg/ImageCG.cpp: 67951 (WebCore::BitmapImage::checkForSolidColor): 67952 (WebCore::Image::drawPattern): 67953 * platform/graphics/cg/ImageSourceCG.cpp: 67954 (WebCore::ImageSource::setData): 67955 (WebCore::ImageSource::isSizeAvailable): 67956 (WebCore::ImageSource::frameSizeAtIndex): 67957 (WebCore::ImageSource::repetitionCount): 67958 (WebCore::ImageSource::createFrameAtIndex): 67959 (WebCore::ImageSource::frameDurationAtIndex): 67960 * platform/graphics/cg/PDFDocumentImage.cpp: 67961 (WebCore::PDFDocumentImage::dataChanged): 67962 * platform/graphics/cg/PathCG.cpp: 67963 (WebCore::createScratchContext): 67964 (WebCore::Path::contains): 67965 * platform/graphics/mac/FontCustomPlatformData.cpp: 67966 (WebCore::createFontCustomPlatformData): 67967 * platform/graphics/mac/GraphicsContextMac.mm: 67968 (WebCore::GraphicsContext::drawFocusRing): 67969 * platform/graphics/mac/ImageMac.mm: 67970 (WebCore::BitmapImage::getTIFFRepresentation): 67971 * platform/mac/ClipboardMac.mm: 67972 (WebCore::cocoaTypeFromMIMEType): 67973 (WebCore::MIMETypeFromCocoaType): 67974 * platform/mac/WebCoreNSStringExtras.mm: 67975 (stringEncodingForResource): 67976 * platform/network/mac/FormDataStreamMac.mm: 67977 (WebCore::advanceCurrentStream): 67978 (WebCore::setHTTPBody): 67979 * platform/text/mac/TextCodecMac.cpp: 67980 (WebCore::TextCodecMac::encode): 67981 67982 2009-08-20 Shinichiro Hamaji <hamaji (a] chromium.org> 67983 67984 Reviewed by Eric Seidel. 67985 67986 Output actual values of counters in showTree 67987 https://bugs.webkit.org/show_bug.cgi?id=28481 67988 67989 No new tests because this patch just improves debugging outputs. 67990 67991 * rendering/CounterNode.cpp: 67992 (WebCore::showTreeAndMark): 67993 67994 2009-08-20 Eric Carlson <eric.carlson (a] apple.com> 67995 67996 Reviewed by NOBODY (build fix). 67997 67998 Add file missed in last check-in. 67999 68000 * html/HTMLAttributeNames.in: 68001 68002 2009-08-19 Timothy Hatcher <timothy (a] apple.com> 68003 68004 Adds new icons to the Web Inspector for Local Storage, 68005 Session Storage and Cookies. 68006 68007 https://bugs.webkit.org/show_bug.cgi?id=28470 68008 68009 Reviewed by Eric Seidel. 68010 68011 * inspector/front-end/DatabasesPanel.js: 68012 (WebInspector.DatabasesPanel.prototype.addDOMStorage): 68013 (WebInspector.DOMStorageSidebarTreeElement): 68014 * inspector/front-end/Images/cookie.png: 68015 * inspector/front-end/Images/domStorage.png: Removed. 68016 * inspector/front-end/Images/localStorage.png: Added. 68017 * inspector/front-end/Images/sessionStorage.png: Added. 68018 * inspector/front-end/inspector.css: 68019 68020 2009-08-20 Eric Carlson <eric.carlson (a] apple.com> 68021 68022 Reviewed by Anders Carlsson. 68023 68024 HTML5 media elements must fire 'loadend' progress event 68025 https://bugs.webkit.org/show_bug.cgi?id=28419 68026 68027 * dom/EventNames.h: 68028 Define loadend. 68029 68030 * html/HTMLMediaElement.cpp: 68031 (WebCore::HTMLMediaElement::parseMappedAttribute): 68032 Deal with onloadend. 68033 (WebCore::HTMLMediaElement::loadInternal): 68034 Post 'loadend' immediately after 'abort'. 68035 (WebCore::HTMLMediaElement::noneSupported): 68036 Post 'loadend' immediately after 'error'. 68037 (WebCore::HTMLMediaElement::mediaEngineError): 68038 Ditto. 68039 (WebCore::HTMLMediaElement::setNetworkState): 68040 Post 'loadend' immediately after 'load'. 68041 (WebCore::HTMLMediaElement::userCancelledLoad): 68042 Post 'loadend' immediately after 'abort'. 68043 68044 2009-08-20 Ryosuke Niwa <rniwa (a] webkit.org> 68045 68046 Reviewed by Darin Adler. 68047 68048 REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table 68049 https://bugs.webkit.org/show_bug.cgi?id=28474 68050 68051 This patch fixes a crash when indenting at right after a table. 68052 The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()); 68053 where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to 68054 enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode()); 68055 68056 Test: editing/execCommand/indent-right-after-table.html 68057 68058 * editing/IndentOutdentCommand.cpp: 68059 (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node() 68060 68061 2009-08-20 Andrew Scherkus <scherkus (a] chromium.org> 68062 68063 Reviewed by David Levin. 68064 68065 Render disabled mute button during an error or if no audio is present. 68066 68067 https://bugs.webkit.org/show_bug.cgi?id=28475 68068 68069 Covered by existing layout tests: 68070 media/video-controls-visible-audio-only.html 68071 media/video-no-audio.html 68072 68073 * rendering/RenderThemeChromiumSkia.cpp: 68074 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 68075 68076 2009-08-20 Dan Bernstein <mitz (a] apple.com> 68077 68078 Reviewed by Darin Adler. 68079 68080 <rdar://problem/7154605> Loading page with 1px wide <select> makes the 68081 toolbar go blank 68082 and 68083 <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in 68084 the console with certain content 68085 68086 * rendering/RenderThemeMac.mm: 68087 (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early 68088 if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to 68089 adjust the radii in case the sides of the rectangle are smaller than sum 68090 of the radii, so that the gradient background matches the border (which 68091 already uses getBorderRadiiForRect()). Check if bottomGradient is empty 68092 to avoid clipping to an empty path. 68093 (WebCore::RenderThemeMac::paintMenuListButton): Moved a 68094 GraphicContext::save() down to avoid a save/restore imbalance in the 68095 early return case. 68096 68097 * rendering/RenderThemeSafari.cpp: Made the same changes. 68098 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 68099 (WebCore::RenderThemeSafari::paintMenuListButton): 68100 68101 2009-08-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 68102 68103 Reviewed by Gustavo Noronha. 68104 68105 [Gtk][REGRESSION] XHR test failures after r45558 68106 https://bugs.webkit.org/show_bug.cgi?id=27143 68107 68108 Disable sniffing if it's explicitly requested. Updated patch 68109 originally by Gustavo Noronha. 68110 68111 * platform/network/soup/ResourceHandleSoup.cpp: 68112 (WebCore::statusWillBeHandledBySoup): 68113 (WebCore::gotHeadersCallback): 68114 (WebCore::contentSniffedCallback): 68115 (WebCore::gotChunkCallback): 68116 (WebCore::startHttp): 68117 68118 2009-08-20 Ariya Hidayat <ariya.hidayat (a] nokia.com> 68119 68120 Reviewed by Simon Hausmann. 68121 68122 [Qt] Swap the pixels since QImage expect ARGB while ImageData 68123 stores them as RGBA. 68124 68125 This fixes the fast/canvas/canvas-copyPixels.html test. 68126 68127 * platform/graphics/qt/ImageBufferQt.cpp: 68128 (WebCore::putImageData): 68129 68130 2009-08-20 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 68131 68132 Reviewed by David Levin. 68133 68134 [v8] Use atomic string caching for createElement 68135 Extend atomic string caching to createElement. Fix a bug in idl 68136 parser that caused incorrect parsing if a function argument 68137 attribute list contained a comma. 68138 https://bugs.webkit.org/show_bug.cgi?id=28449 68139 68140 * bindings/scripts/CodeGeneratorV8.pm: 68141 * bindings/scripts/IDLParser.pm: 68142 * bindings/v8/V8Binding.h: 68143 (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck): 68144 * dom/Document.idl: 68145 68146 2009-08-20 Ariya Hidayat <ariya.hidayat (a] nokia.com> 68147 68148 Not reviewed, build fix after r47515. 68149 68150 [Qt] There is no Phonon::MediaObject::hasAudio() function. 68151 68152 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 68153 (WebCore::MediaPlayerPrivate::hasAudio): Assume true. 68154 68155 2009-08-20 Darin Fisher <darin (a] chromium.org> 68156 68157 Reviewed by Eric Seidel. 68158 68159 https://bugs.webkit.org/show_bug.cgi?id=28483 68160 The V8 ScriptController's cleanupScriptObjectsForPlugin should take a 68161 Widget* instead of void* to avoid the need for manual casting to Widget* 68162 at the callsite. 68163 68164 * bindings/v8/ScriptController.cpp: 68165 (WebCore::ScriptController::cleanupScriptObjectsForPlugin): 68166 * bindings/v8/ScriptController.h: 68167 68168 2009-08-19 David Levin <levin (a] chromium.org> 68169 68170 Unreviewed speculative build fix for qt. 68171 68172 * page/OriginAccessEntry.cpp: 68173 68174 2009-08-19 Aaron Boodman <aa (a] chromium.org> 68175 68176 Reviewed by David Levin. 68177 68178 https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to 68179 specify a more granular policy for cross-origin XHR access. 68180 68181 Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html 68182 http/tests/xmlhttprequest/origin-whitelisting-exact-match.html 68183 http/tests/xmlhttprequest/origin-whitelisting-https.html 68184 http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html 68185 http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html 68186 http/tests/xmlhttprequest/origin-whitelisting-subdomains.html 68187 68188 * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable 68189 testing via layout tests. 68190 68191 * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.* 68192 * GNUmakefile.am: Ditto. 68193 * WebCore.gypi: Ditto. 68194 * WebCore.pro: Ditto. 68195 * WebCore.vcproj/WebCore.vcproj: Ditto. 68196 * WebCoreSources.blk: Ditto. 68197 68198 * page/SecurityOrigin.h: Implement origin access whitelists. 68199 (WebCore::originAccessMap): Static getter for access whitelists. 68200 (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists. 68201 (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist. 68202 (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists. 68203 68204 * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist. 68205 * page/OriginAccessEntry.cpp: Ditto. 68206 68207 2009-08-19 Kevin Ollivier <kevino (a] theolliviers.com> 68208 68209 Non-precomp headers build fix. 68210 68211 * platform/image-decoders/ImageDecoder.cpp: 68212 68213 2009-08-19 Jeremy Orlow <jorlow (a] chromium.org> 68214 68215 Reviewed by Darin Fisher. 68216 68217 Disable a bad SKIA assert 68218 https://bugs.webkit.org/show_bug.cgi?id=28482 68219 68220 In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 68221 When this was pulled into Chromium, it started breaking the page cycler. 68222 Disable it again until we can figure out what's going on. 68223 68224 * platform/graphics/skia/PlatformContextSkia.cpp: 68225 (PlatformContextSkia::setupPaintCommon): 68226 68227 2009-08-19 Ryosuke Niwa <rniwa (a] webkit.org> 68228 68229 Reviewed by Darin Adler. 68230 68231 queryCommandState('underline') returns false if the selected text is also bold and italic 68232 https://bugs.webkit.org/show_bug.cgi?id=11022 68233 68234 This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect 68235 instead of text-decoration. Because text-decoration only retrieves explicit styling at the node on which 68236 the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors 68237 and also u, s, and strike tags. 68238 68239 Test: editing/style/text-decoration-state.html 68240 68241 * editing/EditorCommand.cpp: 68242 (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration. 68243 (WebCore::stateUnderline): Ditto. 68244 68245 2009-08-19 Anders Carlsson <andersca (a] apple.com> 68246 68247 Reviewed by Darin Adler. 68248 68249 - Fix <rdar://problem/7155710> 68250 HTML selects on windows cause containing window to become inactive when opened. 68251 68252 * platform/win/PopupMenuWin.cpp: 68253 (WebCore::PopupMenu::show): 68254 Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass 68255 SW_SHOWNOACTIVATE to ShowWindow. 68256 68257 (WebCore::PopupWndProc): 68258 Prevent mouse activation from activating the window. 68259 68260 2009-08-19 Simon Fraser <simon.fraser (a] apple.com> 68261 68262 Reviewed by Darin Adler. 68263 68264 Images flash as you hover them on http://www.atebits.com/scribbles/ 68265 <rdar://problem/7143958> 68266 68267 Tag images with the device colorspace with the colorspace of the main display, rather than 68268 GenericRGB, so that composited images color-match those rendered via Core Graphics. 68269 68270 Covered by LayoutTests/compositing/color-matching/image-color-matching.html 68271 68272 * platform/graphics/mac/GraphicsLayerCA.mm: 68273 (WebCore::GraphicsLayerCA::setContentsToImage): 68274 68275 2009-08-19 Anders Carlsson <andersca (a] apple.com> 68276 68277 Reviewed by David Hyatt and Dan Bernstein. 68278 68279 - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working. 68280 68281 * page/FrameView.cpp: 68282 (WebCore::FrameView::FrameView): 68283 Initialize m_scrollCorner. 68284 68285 (WebCore::FrameView::~FrameView): 68286 Assert that m_scrollCorner is null. 68287 68288 (WebCore::FrameView::detachCustomScrollbars): 68289 Destroy m_scrollCorner. 68290 68291 (WebCore::FrameView::invalidateScrollCorner): 68292 Invalidate the scroll corner. 68293 68294 (WebCore::FrameView::updateScrollCorner): 68295 Create/destroy the scroll corner. 68296 68297 (WebCore::FrameView::paintScrollCorner): 68298 Paint the scroll corner. 68299 68300 * page/FrameView.h: 68301 (WebCore::FrameView::isFrameViewScrollCorner): 68302 Return whether a RenderScrollbarPart is the frame view scroll corner. 68303 68304 * platform/ScrollView.cpp: 68305 (WebCore::ScrollView::updateScrollbars): 68306 Go ahead and update the scroll corner. 68307 68308 (WebCore::ScrollView::setScrollbarsSuppressed): 68309 Pass the scroll corner rect to invalidateRect. 68310 68311 (WebCore::ScrollView::scrollCornerRect): 68312 Return the scroll corner rect. 68313 68314 * platform/ScrollView.h: 68315 * rendering/RenderScrollbarPart.cpp: 68316 (WebCore::RenderScrollbarPart::imageChanged): 68317 If this scrollbar part is the frame view scroll corner, invalidate it. 68318 68319 2009-08-19 Dirk Schulze <krit (a] webkit.org> 68320 68321 Reviewed by Oliver Hunt. 68322 68323 SVG feComponentTransfer needs to be implemented 68324 [https://bugs.webkit.org/show_bug.cgi?id=27768] 68325 68326 Implementation of SVG Filter feComponentTransfer. 68327 68328 There is already a test case 68329 Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg 68330 68331 * platform/graphics/filters/FEComponentTransfer.cpp: 68332 (WebCore::identity): 68333 (WebCore::table): 68334 (WebCore::discrete): 68335 (WebCore::linear): 68336 (WebCore::gamma): 68337 (WebCore::FEComponentTransfer::apply): 68338 68339 2009-08-19 Dan Bernstein <mitz (a] apple.com> 68340 68341 Reviewed by Dave Hyatt. 68342 68343 <rdar://problem/7141522> Incorrect layout of product table at henry.com 68344 68345 Test: fast/block/basic/quirk-percent-height-table-cell.html 68346 68347 * rendering/RenderBox.cpp: 68348 (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows 68349 percentage-height children of auto-height blocks to look for an ancestor 68350 with non-auto height and compute their height based on it. The change is 68351 that if that ancestor is a table cell, it is ignored and the percent 68352 height computes to zero (just like in strict mode). This matches Firefox 68353 and IE. 68354 68355 2009-08-19 Jungshik Shin <jshin (a] chromium.org> 68356 68357 Reviewed by Eric Seidel. 68358 68359 Add 'icu::' qualifier when refering to ICU C+names to the other 68360 file with this issue missed in the previous check-in. 68361 68362 https://bugs.webkit.org/show_bug.cgi?id=28410 68363 68364 No change in the test result. 68365 68366 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: 68367 (WebCore::): 68368 68369 2009-08-19 Peter Kasting <pkasting (a] google.com> 68370 68371 Unreviewed (build fix for Skia). 68372 68373 https://bugs.webkit.org/show_bug.cgi?id=28268 68374 68375 * platform/graphics/skia/GraphicsContextSkia.cpp: 68376 (WebCore::GraphicsContext::drawLine): 68377 68378 2009-08-19 Jan Michael Alonzo <jmalonzo (a] webkit.org> 68379 68380 Reviewed by Eric Seidel. 68381 68382 [CAIRO] Remove setFont indirection 68383 https://bugs.webkit.org/show_bug.cgi?id=28453 68384 68385 Remove the indirection and just set the font in Font::drawGlyphs. 68386 68387 * platform/graphics/SimpleFontData.h: 68388 * platform/graphics/cairo/FontCairo.cpp: 68389 (WebCore::Font::drawGlyphs): 68390 * platform/graphics/gtk/FontPlatformData.h: 68391 (WebCore::FontPlatformData::scaledFont): 68392 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 68393 (WebCore::FontPlatformData::~FontPlatformData): 68394 * platform/graphics/gtk/FontPlatformDataPango.cpp: 68395 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 68396 * platform/graphics/gtk/SimpleFontDataPango.cpp: 68397 * platform/graphics/win/FontPlatformData.h: 68398 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 68399 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 68400 68401 2009-08-19 Pavel Feldman <pfeldman (a] chromium.org> 68402 68403 Reviewed by Timothy Hatcher. 68404 68405 WebInspector: When adding style selector, generate default name based 68406 on id / class / type. 68407 68408 https://bugs.webkit.org/show_bug.cgi?id=28468 68409 68410 * inspector/front-end/StylesSidebarPane.js: 68411 (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): 68412 68413 2009-08-19 David Hyatt <hyatt (a] apple.com> 68414 68415 Reviewed by Dan Bernstein. 68416 68417 Rename combinedOverflow to visibleOverflow, since that's what it actually represents. 68418 68419 * rendering/InlineFlowBox.cpp: 68420 (WebCore::InlineFlowBox::nodeAtPoint): 68421 (WebCore::InlineFlowBox::paint): 68422 * rendering/InlineFlowBox.h: 68423 (WebCore::InlineFlowBox::topvisibleOverflow): 68424 (WebCore::InlineFlowBox::bottomvisibleOverflow): 68425 (WebCore::InlineFlowBox::leftvisibleOverflow): 68426 (WebCore::InlineFlowBox::rightvisibleOverflow): 68427 (WebCore::InlineFlowBox::visibleOverflowRect): 68428 * rendering/RenderBlock.cpp: 68429 (WebCore::RenderBlock::layoutBlock): 68430 (WebCore::RenderBlock::paint): 68431 (WebCore::RenderBlock::floatRect): 68432 (WebCore::RenderBlock::nodeAtPoint): 68433 * rendering/RenderBlock.h: 68434 * rendering/RenderBlockLineLayout.cpp: 68435 (WebCore::RenderBlock::layoutInlineChildren): 68436 (WebCore::RenderBlock::matchedEndLine): 68437 * rendering/RenderBox.cpp: 68438 (WebCore::RenderBox::clippedOverflowRectForRepaint): 68439 * rendering/RenderBox.h: 68440 (WebCore::RenderBox::visibleOverflowRect): 68441 (WebCore::RenderBox::topvisibleOverflow): 68442 (WebCore::RenderBox::bottomvisibleOverflow): 68443 (WebCore::RenderBox::leftvisibleOverflow): 68444 (WebCore::RenderBox::rightvisibleOverflow): 68445 * rendering/RenderLayer.cpp: 68446 (WebCore::RenderLayer::localBoundingBox): 68447 * rendering/RenderLineBoxList.cpp: 68448 (WebCore::RenderLineBoxList::paint): 68449 (WebCore::RenderLineBoxList::hitTest): 68450 * rendering/RenderOverflow.h: 68451 (WebCore::RenderOverflow::visibleOverflowRect): 68452 * rendering/RenderReplaced.cpp: 68453 (WebCore::RenderReplaced::shouldPaint): 68454 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 68455 * rendering/RenderTable.cpp: 68456 (WebCore::RenderTable::layout): 68457 (WebCore::RenderTable::paint): 68458 * rendering/RenderTableCell.cpp: 68459 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 68460 68461 2009-08-19 Eric Carlson <eric.carlson (a] apple.com> 68462 68463 Reviewed by Eric Seidel. 68464 68465 Sound button appears in controller with movies that have no audio 68466 https://bugs.webkit.org/show_bug.cgi?id=28464 68467 68468 Test: media/video-no-audio.html 68469 68470 * html/HTMLMediaElement.cpp: 68471 * html/HTMLMediaElement.h: 68472 (WebCore::HTMLMediaElement::hasAudio): 68473 Added hasAudio. 68474 68475 * platform/graphics/MediaPlayer.h: 68476 * platform/graphics/MediaPlayer.cpp: 68477 (WebCore::NullMediaPlayerPrivate::hasAudio): 68478 (WebCore::MediaPlayer::hasVideo): 68479 Make const. 68480 (WebCore::MediaPlayer::hasAudio): 68481 Added hasAudio. 68482 68483 * platform/graphics/MediaPlayerPrivate.h: 68484 Add hasAudio. 68485 68486 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 68487 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 68488 (WebCore::MediaPlayerPrivate::hasAudio): 68489 Ditto. 68490 68491 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 68492 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 68493 (WebCore::MediaPlayerPrivate::hasAudio): 68494 Ditto. 68495 68496 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 68497 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 68498 (WebCore::MediaPlayerPrivate::hasAudio): 68499 Ditto. 68500 68501 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 68502 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 68503 (WebCore::MediaPlayerPrivate::hasAudio): 68504 Ditto. 68505 68506 * platform/graphics/win/QTMovieWin.h: 68507 * platform/graphics/win/QTMovieWin.cpp: 68508 (QTMovieWin::hasAudio): 68509 Ditto. 68510 68511 * rendering/MediaControlElements.cpp: 68512 (WebCore::MediaControlMuteButtonElement::disabled): 68513 New, return true if media element doesn't have audio. 68514 (WebCore::MediaControlMuteButtonElement::rendererIsNeeded): 68515 Renderer is not needed if element has no audio. 68516 * rendering/MediaControlElements.h: 68517 (WebCore::MediaControlInputElement::disabled): 68518 68519 * rendering/RenderThemeMac.mm: 68520 (WebCore::getMediaUIPartStateFlags): 68521 Return MediaUIPartDisabledFlag if node is disabled. 68522 68523 68524 2009-08-19 Michelangelo De Simone <micdesim (a] gmail.com> 68525 68526 Reviewed by Darin Adler. 68527 68528 https://bugs.webkit.org/show_bug.cgi?id=27357 68529 Removed the two unnecessary overridden willValidate() methods introduced 68530 in r47444. 68531 68532 * html/HTMLKeygenElement.h: 68533 * html/HTMLObjectElement.h: 68534 68535 2009-08-19 Pavel Feldman <pfeldman (a] chromium.org> 68536 68537 Reviewed by Timothy Hatcher. 68538 68539 WebInspector: Allow dumping dangling nodes to the console. 68540 68541 https://bugs.webkit.org/show_bug.cgi?id=28458 68542 68543 * bindings/js/JSInspectorBackendCustom.cpp: 68544 * bindings/v8/custom/V8CustomBinding.h: 68545 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 68546 * inspector/InspectorBackend.cpp: 68547 * inspector/InspectorBackend.h: 68548 * inspector/InspectorBackend.idl: 68549 * inspector/InspectorController.cpp: 68550 (WebCore::InspectorController::clearConsoleMessages): 68551 * inspector/InspectorDOMAgent.cpp: 68552 (WebCore::InspectorDOMAgent::releaseDanglingNodes): 68553 (WebCore::InspectorDOMAgent::startListening): 68554 (WebCore::InspectorDOMAgent::stopListening): 68555 (WebCore::InspectorDOMAgent::handleEvent): 68556 (WebCore::InspectorDOMAgent::bind): 68557 (WebCore::InspectorDOMAgent::unbind): 68558 (WebCore::InspectorDOMAgent::pushDocumentToFrontend): 68559 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 68560 (WebCore::InspectorDOMAgent::discardBindings): 68561 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 68562 (WebCore::InspectorDOMAgent::buildObjectForNode): 68563 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): 68564 * inspector/InspectorDOMAgent.h: 68565 * inspector/InspectorFrontend.cpp: 68566 (WebCore::InspectorFrontend::setDetachedRoot): 68567 (WebCore::InspectorFrontend::childNodeCountUpdated): 68568 * inspector/InspectorFrontend.h: 68569 * inspector/front-end/ConsoleView.js: 68570 (WebInspector.ConsoleView.prototype._formatnode): 68571 * inspector/front-end/DOMAgent.js: 68572 (WebInspector.DOMAgent.prototype._setDetachedRoot): 68573 (WebInspector.DOMAgent.prototype._childNodeCountUpdated): 68574 (WebInspector.setDetachedRoot): 68575 (WebInspector.childNodeCountUpdated): 68576 (InspectorController.pushNodeToFrontend): 68577 * inspector/front-end/InjectedScript.js: 68578 (InjectedScript.pushNodeToFrontend): 68579 (InjectedScript.createProxyObject): 68580 68581 2009-08-19 Alexey Proskuryakov <ap (a] apple.com> 68582 68583 Reviewed by Anders Carlsson. 68584 68585 https://bugs.webkit.org/show_bug.cgi?id=27464 68586 Implement application cache online whitelist wildcard flag 68587 68588 Test: http/tests/appcache/whitelist-wildcard.html 68589 68590 A "*" in NETWORK section means that network loading needn't be blocked. 68591 68592 * loader/appcache/ApplicationCache.cpp: 68593 (WebCore::ApplicationCache::isURLInOnlineWhitelist): 68594 * loader/appcache/ApplicationCache.h: 68595 (WebCore::ApplicationCache::setAllowsAllNetworkRequests): 68596 (WebCore::ApplicationCache::allowsAllNetworkRequests): 68597 * loader/appcache/ApplicationCacheGroup.cpp: 68598 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 68599 * loader/appcache/ApplicationCacheStorage.cpp: 68600 (WebCore::ApplicationCacheStorage::openDatabase): 68601 (WebCore::ApplicationCacheStorage::store): 68602 (WebCore::ApplicationCacheStorage::loadCache): 68603 * loader/appcache/ManifestParser.cpp: 68604 (WebCore::parseManifest): 68605 * loader/appcache/ManifestParser.h: 68606 68607 2009-08-19 Brady Eidson <beidson (a] apple.com> 68608 68609 Reviewed by Kevin Decker. 68610 68611 <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download 68612 68613 Get rid of method swizzling entirely. This created problems when lower level 68614 Foundation code would call into our own swizzled method. 68615 68616 * platform/network/mac/ResourceHandleMac.mm: 68617 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 68618 * platform/network/mac/WebCoreURLResponse.h: 68619 * platform/network/mac/WebCoreURLResponse.mm: 68620 (-[NSURLResponse adjustMIMETypeIfNecessary]): 68621 68622 2009-08-19 Adam Roben <aroben (a] apple.com> 68623 68624 Fix linker warnings on Windows 68625 68626 Reviewed by Anders Carlsson. 68627 68628 Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on 68629 Windows about multiply-defined JSHTMLDataListElement symbols 68630 68631 * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp 68632 from the build (just like we do for the other generated bindings 68633 files) so that we don't get warnings about multiply-defined symbols in 68634 JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed 68635 duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS 68636 reorder a few files. 68637 68638 2009-08-19 Jungshik Shin <jshin (a] chromium.org> 68639 68640 Reviewed by Eric Seidel 68641 68642 Add 'icu::' qualifier when refering to ICU C+names. 68643 68644 https://bugs.webkit.org/show_bug.cgi?id=28410 68645 68646 No change in the test result. 68647 68648 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 68649 (WebCore::fontContainsCharacter): 68650 68651 2009-08-19 David Hyatt <hyatt (a] apple.com> 68652 68653 Reviewed by Dan Bernstein. 68654 68655 Cleanup from my patch thet rewrote overflow. Remove unused member variables from RenderTableSection and 68656 move the addition of overflow from children into a separate pass after the height of the section has been 68657 set. This prevents the RenderOverflow struct from being aggressively allocated for all table sections. 68658 (Not a a correctness issue, just a memory issue.) 68659 68660 * rendering/RenderTableSection.cpp: 68661 (WebCore::RenderTableSection::RenderTableSection): 68662 (WebCore::RenderTableSection::layoutRows): 68663 * rendering/RenderTableSection.h: 68664 68665 2009-08-19 Jan Michael Alonzo <jmalonzo (a] webkit.org> 68666 68667 Reviewed by Xan Lopez. 68668 68669 [Gtk] Remove bogus dependency rules for built sources that derive 68670 from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The 68671 header files should be generated regardless of whether the source 68672 file changed or not. We should only rely on the *.in files being 68673 changed. 68674 68675 * GNUmakefile.am: 68676 68677 2009-08-18 Maciej Stachowiak <mjs (a] apple.com> 68678 68679 Reviewed by Oliver Hunt. 68680 68681 convert FormatBlock candidate tag list from if chain to hash lookup 68682 https://bugs.webkit.org/show_bug.cgi?id=28448 68683 68684 No behavior change, just cleanup. 68685 68686 * editing/htmlediting.cpp: 68687 (WebCore::validBlockTag): 68688 * editing/htmlediting.h: 68689 68690 2009-08-19 Mike Fenton <mike.fenton (a] torchmobile.com> 68691 68692 Reviewed by Eric Seidel. 68693 68694 Update GraphicsContextSkia's version of drawLine to make use of the shared 68695 adjustLineToPixelBoundaries function and elimination overlapping code. 68696 68697 https://bugs.webkit.org/show_bug.cgi?id=28268 68698 68699 * platform/graphics/skia/GraphicsContextSkia.cpp: 68700 (WebCore::GraphicsContext::drawLine): 68701 68702 2009-08-18 Mike Fenton <mike.fenton (a] torchmobile.com> 68703 68704 Reviewed by Eric Seidel. 68705 68706 Style fixes based on cpp_style.py and WebKit Style guide for 68707 GraphicsContextSkia.cpp 68708 68709 https://bugs.webkit.org/show_bug.cgi?id=28268 68710 68711 * platform/graphics/skia/GraphicsContextSkia.cpp: 68712 (WebCore::GraphicsContext::addInnerRoundedRectClip): 68713 (WebCore::GraphicsContext::drawFocusRing): 68714 (WebCore::GraphicsContext::roundToDevicePixels): 68715 (WebCore::GraphicsContext::setLineDash): 68716 (WebCore::GraphicsContext::setPlatformShadow): 68717 68718 2009-08-18 Alexey Proskuryakov <ap (a] webkit.org> 68719 68720 Reviewed by Maciej Stachowiak. 68721 68722 https://bugs.webkit.org/show_bug.cgi?id=28446 68723 Custom request headers shouldn't be sent with cross-origin preflight request 68724 68725 Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html 68726 http/tests/xmlhttprequest/access-control-preflight-headers-sync.html 68727 68728 * loader/DocumentThreadableLoader.cpp: 68729 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): 68730 Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was 68731 that they shouldn't be sent, and Firefox doesn't send them. 68732 68733 2009-08-18 John Gregg <johnnyg (a] google.com> 68734 68735 Reviewed by Dimitri Glazkov. 68736 68737 V8 Bindings for Desktop Notifications feature. 68738 https://bugs.webkit.org/show_bug.cgi?id=28271 68739 68740 * WebCore.gypi: 68741 added notification files to build (all still behind a flag that's not on) 68742 * bindings/scripts/CodeGeneratorV8.pm: 68743 added special case in DOMWindow/AppCache style for named event handlers 68744 * bindings/v8/DOMObjectsInclude.h: 68745 * bindings/v8/DerivedSourcesAllInOne.cpp: 68746 * bindings/v8/V8DOMWrapper.cpp: 68747 (WebCore::V8DOMWrapper::getTemplate): 68748 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 68749 * bindings/v8/V8Index.cpp: 68750 * bindings/v8/V8Index.h: 68751 * bindings/v8/V8Proxy.h: 68752 * bindings/v8/WorkerContextExecutionProxy.cpp: 68753 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 68754 * bindings/v8/custom/V8CustomBinding.h: 68755 * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added. 68756 * notifications/Notification.h: 68757 made event handler routines public (as they are in DOMWindow, eg) for 68758 binding access. 68759 * notifications/NotificationCenter.idl: 68760 needed to make methods V8Custom to support different behaviors in 68761 worker/page context in chromium. 68762 * workers/WorkerThread.h: 68763 (WebCore::WorkerThread::getNotificationPresenter): 68764 (WebCore::WorkerThread::setNotificationPresenter): 68765 needed to make these methods public as well so chromium can inject 68766 the notification presenter into the worker thread. 68767 68768 2009-08-13 Maciej Stachowiak <mjs (a] apple.com> 68769 68770 Reviewed by Sam Weinig. 68771 68772 - Implement HTML5 nav element 68773 https://bugs.webkit.org/show_bug.cgi?id=27937 68774 68775 <nav> should behave essentially the same as <div> for parsing 68776 etc. This is implemented by the changes below. 68777 68778 Tests: fast/html/nav-element.html 68779 68780 * css/html.css: 68781 * editing/htmlediting.cpp: 68782 (WebCore::validBlockTag): 68783 * html/HTMLElement.cpp: 68784 (WebCore::HTMLElement::tagPriority): 68785 (WebCore::blockTagList): 68786 * html/HTMLParser.cpp: 68787 (WebCore::HTMLParser::getNode): 68788 * html/HTMLTagNames.in: 68789 68790 2009-08-18 Anders Carlsson <andersca (a] apple.com> 68791 68792 Reviewed by Adele Peterson, David Hyatt and Dan Bernstein. 68793 68794 - Fix <rdar://problem/7152727> 68795 68796 If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated. 68797 68798 * page/FrameView.cpp: 68799 (WebCore::FrameView::hasCustomScrollbars): 68800 Check if the frame view or any of its subviews have custom scroll bars. 68801 68802 (WebCore::FrameView::updateControlTints): 68803 Go ahead and update control tints if the frame view has custom scroll bars. 68804 68805 * page/FrameView.h: 68806 68807 2009-08-18 Mark Rowe <mrowe (a] apple.com> 68808 68809 Roll out r47477 as it introduced assertion failures and crashes on the build bots. 68810 68811 * GNUmakefile.am: 68812 * WebCore.gypi: 68813 * WebCore.pro: 68814 * WebCore.vcproj/WebCore.vcproj: 68815 * WebCore.xcodeproj/project.pbxproj: 68816 * WebCoreSources.bkl: 68817 * storage/Database.cpp: 68818 * storage/Database.h: 68819 * storage/DatabaseThread.cpp: 68820 (WebCore::DatabaseThread::DatabaseThread): 68821 * storage/DatabaseThread.h: 68822 * storage/SQLTransaction.cpp: 68823 (WebCore::SQLTransaction::runCurrentStatement): 68824 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): 68825 (WebCore::SQLTransaction::postflightAndCommit): 68826 * storage/SQLTransactionClient.cpp: Removed. 68827 * storage/SQLTransactionClient.h: Removed. 68828 68829 2009-08-18 Maxime Simon <simon.maxime (a] gmail.com> 68830 68831 Reviewed by Eric Seidel. 68832 68833 [Haiku] Adding the SharedTimer file for WebCore. 68834 https://bugs.webkit.org/show_bug.cgi?id=28126 68835 68836 * platform/haiku/SharedTimerHaiku.cpp: Added. 68837 (WebCore::): 68838 (WebCore::SharedTimerHaiku::SharedTimerHaiku): 68839 (WebCore::SharedTimerHaiku::~SharedTimerHaiku): 68840 (WebCore::SharedTimerHaiku::instance): 68841 (WebCore::SharedTimerHaiku::start): 68842 (WebCore::SharedTimerHaiku::stop): 68843 (WebCore::SharedTimerHaiku::Filter): 68844 (WebCore::setSharedTimerFiredFunction): 68845 (WebCore::setSharedTimerFireTime): 68846 (WebCore::stopSharedTimer): 68847 68848 2009-08-18 Mark Rowe <mrowe (a] apple.com> 68849 68850 Release build fix. 68851 68852 * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around. 68853 (WebCore::XMLHttpRequest::XMLHttpRequest): 68854 (WebCore::XMLHttpRequest::~XMLHttpRequest): 68855 68856 2009-08-18 Aaron Boodman <aa (a] chromium.org> 68857 68858 Reviewed by Maciej Stachowiak. 68859 68860 https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests. 68861 68862 No new tests: Already covered by existing tests. 68863 68864 * xml/XMLHttpRequest.cpp: 68865 (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak. 68866 (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto. 68867 (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also, 68868 restore a call to nonCacheRequestInFlight() that got lost in a recent refactor. 68869 68870 2009-08-18 Dumitru Daniliuc <dumi (a] chromium.org> 68871 68872 Reviewed by Dimitri Glazkov. 68873 68874 Added a client to SQLTransaction. In addition to being a place to 68875 get notifications about certain events in a transaction, it is 68876 also an abstraction layer that allows us to plug in different 68877 implementations for each port for how transactions interract with 68878 the main DB. For example, WebCore's default implementation will 68879 make direct calls to DatabaseTracker's methods. At the same time, 68880 Chromium's implementation will send IPCs to the browser process 68881 whenever a transaction needs something from the main DB. 68882 68883 All storage tests pass. 68884 68885 https://bugs.webkit.org/show_bug.cgi?id=27967 68886 68887 * GNUmakefile.am: 68888 * WebCore.gypi: 68889 * WebCore.pro: 68890 * WebCore.vcproj/WebCore.vcproj: 68891 * WebCore.xcodeproj/project.pbxproj: 68892 * WebCoreSources.bkl: 68893 * storage/Database.cpp: 68894 (WebCore::Database::transactionClient): 68895 * storage/Database.h: 68896 * storage/DatabaseThread.cpp: 68897 (WebCore::DatabaseThread::DatabaseThread): 68898 * storage/DatabaseThread.h: 68899 (WebCore::DatabaseThread::transactionClient): 68900 * storage/SQLTransaction.cpp: 68901 (WebCore::SQLTransaction::runCurrentStatement): 68902 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): 68903 (WebCore::SQLTransaction::postflightAndCommit): 68904 * storage/SQLTransactionClient.cpp: Added. 68905 * storage/SQLTransactionClient.h: Added. 68906 68907 2009-08-18 Julie Parent <jparent (a] chromium.org> 68908 68909 Not reviewed, build fix for Chromium. 68910 68911 Final change for v8 corresponding to http://trac.webkit.org/changeset/47469. 68912 68913 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment 68914 68915 2009-08-18 Julie Parent <jparent (a] chromium.org> 68916 68917 Not reviewed, build fix for Chromium. 68918 68919 More corresponding changes to V8 from http://trac.webkit.org/changeset/47469. 68920 68921 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 68922 (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function. 68923 68924 2009-08-18 Julie Parent <jparent (a] chromium.org> 68925 68926 Not reviewed, build fix for Chromium. 68927 68928 Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469. 68929 68930 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 68931 (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function. 68932 68933 2009-08-18 Dan Bernstein <mitz (a] apple.com> 68934 68935 Build fix. 68936 68937 * editing/ApplyStyleCommand.cpp: 68938 (WebCore::getIdentifierValue): 68939 68940 2009-08-18 Darin Adler <darin (a] apple.com> 68941 68942 Reviewed by Sam Weinig. 68943 68944 More work on making DOM classes start with reference count of 1 68945 https://bugs.webkit.org/show_bug.cgi?id=28068 68946 68947 Some related clean-up and preparation steps so the subsequent 68948 patches will be as small as possible. 68949 68950 * WebCore.base.exp: Sorted this file. 68951 68952 * accessibility/AccessibilityRenderObject.cpp: 68953 (WebCore::AccessibilityRenderObject::accessibilityDescription): 68954 Use nameAttr instead of the name function. 68955 68956 * bindings/js/JSHTMLFrameElementCustom.cpp: 68957 (WebCore::JSHTMLFrameElement::setSrc): 68958 Use srcAttr instead of the src function. 68959 68960 * bindings/js/JSHTMLIFrameElementCustom.cpp: 68961 (WebCore::JSHTMLIFrameElement::setSrc): 68962 Use srcAttr instead of the src function. 68963 68964 * bindings/objc/DOM.mm: Sorted includes. 68965 * dom/Document.cpp: Ditto. 68966 68967 * dom/StyledElement.cpp: Made invalidateStyleAttribute inline. 68968 * dom/StyledElement.h: Ditto. 68969 68970 * dom/make_names.pl: Changed default of createWithNew to 0. 68971 Eventually all elements will be created with create instead of new. 68972 68973 * html/HTMLTagNames.in: 68974 * svg/svgtags.in: 68975 * wml/WMLTagNames.in: 68976 Added createWithNew for every tag. We'll remove it as we convert 68977 element classes to use create. 68978 68979 * html/HTMLAppletElement.h: Removed unneeded forward declarations. 68980 * html/HTMLFrameElement.h: Ditto. 68981 68982 * html/HTMLEmbedElement.cpp: Removed many attribute get and 68983 set functions. 68984 * html/HTMLEmbedElement.h: Ditto. 68985 * html/HTMLIFrameElement.cpp: Ditto. 68986 * html/HTMLIFrameElement.h: Ditto. 68987 * html/HTMLObjectElement.cpp: Ditto. 68988 * html/HTMLObjectElement.h: Ditto. 68989 * html/HTMLPlugInElement.cpp: Ditto. 68990 * html/HTMLPlugInElement.h: Ditto. 68991 68992 * html/HTMLFrameElementBase.cpp: Removed many attribute get and 68993 set functions. 68994 (WebCore::HTMLFrameElementBase::location): Changed to use 68995 srcAttr instead of src. 68996 * html/HTMLFrameElementBase.h: Removed many attribute get and set 68997 functions. 68998 68999 * loader/MediaDocument.cpp: 69000 (WebCore::MediaDocument::replaceMediaElementTimerFired): 69001 Use srcAttr and typeAttr instead of setSrc and setType. 69002 * loader/PluginDocument.cpp: 69003 (WebCore::PluginTokenizer::createDocumentStructure): Ditto. 69004 69005 * rendering/RenderPartObject.cpp: 69006 (WebCore::RenderPartObject::updateWidget): Use nameAttr instead 69007 of name -- this avoids an extra AtomicString round trip and a little 69008 ref count churn too. 69009 69010 2009-08-18 Drew Wilson <atwilson (a] google.com> 69011 69012 Reviewed by David Levin. 69013 69014 SharedWorkers need to support loading. 69015 https://bugs.webkit.org/show_bug.cgi?id=28342 69016 69017 Added loader support to shared workers, and refactored worker tests to also test SharedWorkers 69018 69019 * workers/DefaultSharedWorkerRepository.cpp: 69020 (WebCore::SharedWorkerProxy::postTaskToLoader): 69021 Forwards load requests to an arbitrary document from the list of worker's documents. 69022 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext): 69023 Posts responses back to the shared worker thread. 69024 69025 2009-08-18 Ryosuke Niwa <rniwa (a] webkit.org> 69026 69027 Reviewed by Darin Adler. 69028 69029 StyleChange::init needs clean up before fixing the bug 23892 69030 https://bugs.webkit.org/show_bug.cgi?id=27749 69031 69032 This patch simplifies StyleChange::init by removing the iteration on CSS properties, 69033 and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style. 69034 69035 Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle, 69036 this patch simplifies the treatment in order to preserve the original behavior of WebKit. 69037 However, the current implementation is not best (adds redundant text-decorations) and we should fix it later. 69038 69039 No test is added since there is no change in behavior. 69040 69041 * editing/ApplyStyleCommand.cpp: 69042 (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties 69043 (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none" 69044 (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue 69045 (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property 69046 (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated 69047 69048 2009-08-18 Dumitru Daniliuc <dumi (a] chromium.org> 69049 69050 Reviewed by Dimitri Glazkov. 69051 69052 Fixing a DB file naming bug in Chromium. The origin should come 69053 before the DB name in the file name. 69054 69055 https://bugs.webkit.org/show_bug.cgi?id=28331 69056 69057 * storage/DatabaseTracker.cpp: 69058 (WebCore::DatabaseTracker::fullPathForDatabase): 69059 69060 2009-08-18 Maxime Simon <simon.maxime (a] gmail.com> 69061 69062 Reviewed by Eric Seidel. 69063 69064 [Haiku] Adding four image-specific files to WebCore: 69065 IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp 69066 https://bugs.webkit.org/show_bug.cgi?id=28130 69067 69068 * platform/graphics/Icon.h: 69069 * platform/graphics/haiku/IconHaiku.cpp: Added. 69070 (WebCore::Icon::~Icon): 69071 (WebCore::Icon::createIconForFile): 69072 (WebCore::Icon::createIconForFiles): 69073 (WebCore::Icon::paint): 69074 * platform/graphics/haiku/ImageBufferData.h: Added. 69075 * platform/graphics/haiku/ImageBufferHaiku.cpp: Added. 69076 (WebCore::ImageBufferData::ImageBufferData): 69077 (WebCore::ImageBuffer::ImageBuffer): 69078 (WebCore::ImageBuffer::~ImageBuffer): 69079 (WebCore::ImageBuffer::context): 69080 (WebCore::ImageBuffer::getUnmultipliedImageData): 69081 (WebCore::ImageBuffer::getPremultipliedImageData): 69082 (WebCore::ImageBuffer::putUnmultipliedImageData): 69083 (WebCore::ImageBuffer::putPremultipliedImageData): 69084 (WebCore::ImageBuffer::toDataURL): 69085 (WebCore::ImageBuffer::image): 69086 (WebCore::ImageBuffer::platformTransformColorSpace): 69087 * platform/graphics/haiku/ImageHaiku.cpp: Added. 69088 (WebCore::FrameData::clear): 69089 (WebCore::Image::loadPlatformResource): 69090 (WebCore::BitmapImage::initPlatformData): 69091 (WebCore::BitmapImage::invalidatePlatformData): 69092 (WebCore::BitmapImage::draw): 69093 (WebCore::Image::drawPattern): 69094 (WebCore::BitmapImage::checkForSolidColor): 69095 (WebCore::BitmapImage::getBBitmap): 69096 69097 2009-08-18 Beth Dakin <bdakin (a] apple.com> 69098 69099 Reviewed by Dan Bernstein. 69100 69101 Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 69102 Backgrounds and Borders] Drop the prefix from background-size 69103 69104 * css/CSSComputedStyleDeclaration.cpp: 69105 (WebCore::): 69106 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 69107 * css/CSSParser.cpp: 69108 (WebCore::CSSParser::parseValue): 69109 (WebCore::CSSParser::parseFillProperty): 69110 (WebCore::cssPropertyID): 69111 * css/CSSPropertyNames.in: 69112 * css/CSSStyleSelector.cpp: 69113 (WebCore::CSSStyleSelector::applyProperty): 69114 * page/animation/AnimationBase.cpp: 69115 (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): 69116 (WebCore::ensurePropertyMap): 69117 69118 2009-08-18 Drew Wilson <atwilson (a] google.com> 69119 69120 Reviewed by David Levin. 69121 69122 SharedWorkers need to forward exceptions to parent documents 69123 https://bugs.webkit.org/show_bug.cgi?id=28320 69124 69125 Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention). 69126 69127 Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents. 69128 69129 * bindings/js/JSSharedWorkerConstructor.cpp: 69130 Cleaned up bitrot - added missing include. 69131 * workers/DefaultSharedWorkerRepository.cpp: 69132 (WebCore::postExceptionTask): 69133 Callback used to deliver exceptions to a document. 69134 (WebCore::SharedWorkerProxy::postExceptionToWorkerObject): 69135 Forwards exceptions to all parent documents for presentation to the user. 69136 (WebCore::postConsoleMessageTask): 69137 (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): 69138 Forwards console messages to all parent documents for presentation to the user. 69139 (WebCore::SharedWorkerProxy::addToWorkerDocuments): 69140 Grabs the mutex before accessing workerDocuments. 69141 (WebCore::SharedWorkerProxy::documentDetached): 69142 Grabs the mutex before accessing workerDocuments. 69143 69144 2009-08-18 Anders Carlsson <andersca (a] apple.com> 69145 69146 Reviewed by Adele Peterson. 69147 69148 <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource 69149 69150 * html/HTMLMediaElement.cpp: 69151 (WebCore::HTMLMediaElement::isSafeToLoadURL): 69152 Call FrameLoaderClient::shouldLoadMediaElementURL. 69153 69154 * loader/FrameLoaderClient.h: 69155 (WebCore::FrameLoaderClient::shouldLoadMediaElementURL): 69156 Return true by default. 69157 69158 2009-08-18 Dumitru Daniliuc <dumi (a] chromium.org> 69159 69160 Reviewed by Dimitri Glazkov. 69161 69162 openDatabase() should not execute any SQL statement on the 69163 database it's trying to open, unless there are no other open 69164 handles to the same database. Otherwise, we might run into a 69165 deadlock. 69166 69167 Test: storage/open-database-while-transaction-in-progress.html 69168 69169 https://bugs.webkit.org/show_bug.cgi?id=28207 69170 69171 * storage/Database.cpp: 69172 (WebCore::Database::performOpenAndVerify): 69173 69174 2009-08-18 Dirk Schulze <krit (a] webkit.org> 69175 69176 Reviewed by Oliver Hunt. 69177 69178 SVG Filter feBlend implementation missing 69179 [https://bugs.webkit.org/show_bug.cgi?id=28133] 69180 69181 Implementation of SVG Filter feBlend. 69182 69183 FilterEffect.cp needed changes to optimize the rendering. With the old code 69184 we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray, 69185 cleared the drawing area, drew the next FilterEffect with drawImage and picked this 69186 PixelArray again. This was unefficient and slow. Now we calculate the requested area 69187 of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly, 69188 without any drawing operations on GraphicsContext. 69189 69190 There is already a test case 69191 Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg 69192 69193 * html/canvas/CanvasPixelArray.h: 69194 (WebCore::CanvasPixelArray::set): 69195 (WebCore::CanvasPixelArray::get): 69196 * platform/graphics/filters/FEBlend.cpp: 69197 (WebCore::unknown): 69198 (WebCore::normal): 69199 (WebCore::multiply): 69200 (WebCore::screen): 69201 (WebCore::darken): 69202 (WebCore::lighten): 69203 (WebCore::FEBlend::apply): 69204 * platform/graphics/filters/FEBlend.h: 69205 * platform/graphics/filters/FilterEffect.cpp: 69206 (WebCore::FilterEffect::calculateDrawingIntRect): 69207 * platform/graphics/filters/FilterEffect.h: 69208 69209 2009-08-18 Pavel Feldman <pfeldman (a] chromium.org> 69210 69211 Reviewed by Timothy Hatcher. 69212 69213 WebInspector: Fix array formatter followup: node formatter. 69214 69215 https://bugs.webkit.org/show_bug.cgi?id=28427 69216 69217 * inspector/front-end/ConsoleView.js: 69218 (WebInspector.ConsoleView.prototype._format): 69219 69220 2009-08-18 Pavel Feldman <pfeldman (a] chromium.org> 69221 69222 Reviewed by Timothy Hatcher. 69223 69224 WebInspector: Metrics sidebar broken 69225 69226 https://bugs.webkit.org/show_bug.cgi?id=28434 69227 69228 * inspector/front-end/MetricsSidebarPane.js: 69229 69230 2009-08-18 Alexey Proskuryakov <ap (a] apple.com> 69231 69232 Reviewed by Darin Adler. 69233 69234 https://bugs.webkit.org/show_bug.cgi?id=28432 69235 String::createCFString() returns a non-retained empty string 69236 69237 No known change in functionality, so no test. 69238 69239 * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result. 69240 69241 2009-08-18 Brian Weinstein <bweinstein (a] apple.com> 69242 69243 Reviewed by Oliver Hunt. 69244 69245 Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 69246 LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota. 69247 69248 Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when 69249 it doesn't have to. 69250 69251 * storage/DatabaseTracker.cpp: 69252 (WebCore::DatabaseTracker::deleteOrigin): 69253 69254 2009-08-18 Michelangelo De Simone <micdesim (a] gmail.com> 69255 69256 Reviewed by Adele Peterson. 69257 69258 https://bugs.webkit.org/show_bug.cgi?id=27357 69259 Support for :valid and :invalid CSS selectors, from HTML5 specs. 69260 http://www.whatwg.org/specs/web-apps/current-work/#selector-valid 69261 69262 Tests: fast/css/pseudo-invalid-001.html 69263 fast/css/pseudo-invalid-002.html 69264 fast/css/pseudo-valid-001.html 69265 fast/css/pseudo-valid-002.html 69266 fast/css/pseudo-valid-003.html 69267 fast/css/pseudo-valid-004.html 69268 fast/css/pseudo-valid-005.html 69269 fast/css/pseudo-valid-006.html 69270 fast/css/pseudo-valid-007.html 69271 69272 * css/CSSSelector.cpp: 69273 (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes 69274 * css/CSSSelector.h: 69275 (WebCore::CSSSelector::): 69276 * css/CSSStyleSelector.cpp: 69277 (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between 69278 form controls that have different validity states. 69279 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies 69280 style associated to new pseudo-classes 69281 * dom/Element.h: 69282 (WebCore::Element::willValidate): pushed up in hierarchy 69283 (WebCore::Element::isValidFormControlElement): checks for valid form 69284 control elements (wraps ValidityState::valid()) 69285 * html/HTMLFormControlElement.cpp: 69286 (WebCore::HTMLFormControlElement::willValidate): minor clean up 69287 (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto 69288 * html/HTMLFormControlElement.h: 69289 * html/HTMLKeygenElement.h: 69290 (WebCore::HTMLKeygenElement::willValidate): added 69291 * html/HTMLObjectElement.h: 69292 (WebCore::HTMLObjectElement::willValidate): added 69293 * html/HTMLObjectElement.idl: 69294 69295 2009-08-18 Pavel Feldman <pfeldman (a] chromium.org> 69296 69297 Reviewed by Timothy Hatcher. 69298 69299 WebInspector: Fix array formatter. 69300 69301 https://bugs.webkit.org/show_bug.cgi?id=28427 69302 69303 * inspector/front-end/ConsoleView.js: 69304 (WebInspector.ConsoleView.prototype._formatarray): 69305 69306 2009-08-17 Joe Mason <joe.mason (a] torchmobile.com> 69307 69308 Reviewed by George Staikos 69309 69310 Replace repeated string of PLATFORM(FOO) with a single define 69311 https://bugs.webkit.org/show_bug.cgi?id=27734 69312 69313 * loader/CachedFont.cpp: 69314 (WebCore::CachedFont::~CachedFont): 69315 (WebCore::CachedFont::ensureCustomFontData): 69316 (WebCore::CachedFont::platformDataFromCustomData): 69317 (WebCore::CachedFont::allClientsRemoved): 69318 69319 2009-08-16 David Hyatt <hyatt (a] apple.com> 69320 69321 Reviewed by Dan Bernstein. 69322 69323 https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly 69324 considered part of scrollable overflow. 69325 69326 This patch takes the engine's concept of overflow and splits it into two types: 69327 layout overflow and visual overflow. 69328 69329 Layout overflow is about other boxes that spill out of an enclosing box, For example, 69330 in the inline flow case a tall image could spill out of a line box. Examples of 69331 visual overflow are shadows, text stroke (and eventually outline and 69332 border-image). 69333 69334 Three objects tracked overflow before this patch: RenderBlock had 69335 m_overflowLeft/Top/Width/Height variables. RootInlineBox had an Overflow* 69336 that also had four overflow values. Finally RenderReplaced elements tracked shadow/reflection 69337 overflow using a map that cached four values. 69338 69339 This patch takes all of these different overflow models and unifies them into a single 69340 new class called RenderOverflow. This class is now a member variable in RenderBox and 69341 InlineFlowBoxes. It is only allocated if overflow actually exists. Instead of tracking 69342 four values, it tracks eight: left/top/right/bottom for layout overflow and 69343 left/top/right/bottom for visual overflow. 69344 69345 Overflow computation is now done after layout is finished rather than during layout 69346 (when child objects can be churning and moving around). A number of layout tests progressed 69347 by deferring overflow computation to a separate pass. 69348 69349 All inline flow boxes now track overflow (and not just the root line box). This allows 69350 repainting of line boxes to actually be tight and bail early if the overflow rect of a box 69351 doesn't intersect. The old code always visited all object on a line if the root line box 69352 intersected at all. 69353 69354 Line box overflow no longer propagates across self-painting layers. This fixes a number of 69355 issues with incorrect scrollbars appearing when relative positioned inlines were used in a page. 69356 69357 Layer bounds have been modified to exclude visual overflow. The width/height members only really 69358 have one reason for continued existence, and that is that they happen to be used in repaint() 69359 when an overflow clip object's height isn't accurate. In this case, the bounds should exclude 69360 visual overflow anyway, so this change tightens that repaint up. 69361 69362 Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have 69363 been changed to use these instead of relying on overflow (which was totally wrong). 69364 69365 Significant changes have been made to the "almost strict mode" line box quirk where objects with no 69366 text children have no effect on the height of a line. Instead of making the height() of the objects 69367 variable and dependent on overflow, the objects now have their full height and get placed on 69368 the baseline properly. They simply don't contribute to overflow above lineTop/Bottom. 69369 69370 Reflections are no longer considered overflow of any kind. Because reflections have their own layers, 69371 it is not necessary to treat them as visual or layout overflow in the RenderObject tree. The end result 69372 of not incorporating them into RenderOverflow is that they have no effect on scrolling. transparencyClipBox 69373 has been extended to support fully reflecting the entire clip box when a reflection exists. This fixes 69374 numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting 69375 sublayers. 69376 69377 * WebCore.xcodeproj/project.pbxproj: 69378 * dom/ContainerNode.cpp: 69379 (WebCore::ContainerNode::getUpperLeftCorner): 69380 * editing/visible_units.cpp: 69381 (WebCore::previousLinePosition): 69382 (WebCore::nextLinePosition): 69383 * page/FrameView.cpp: 69384 (WebCore::FrameView::adjustViewSize): 69385 (WebCore::FrameView::adjustPageHeight): 69386 * rendering/InlineBox.cpp: 69387 (WebCore::InlineBox::height): 69388 * rendering/InlineBox.h: 69389 * rendering/InlineFlowBox.cpp: 69390 (WebCore::InlineFlowBox::adjustPosition): 69391 (WebCore::InlineFlowBox::placeBoxesHorizontally): 69392 (WebCore::InlineFlowBox::placeBoxesVertically): 69393 (WebCore::InlineFlowBox::computeVerticalOverflow): 69394 (WebCore::InlineFlowBox::nodeAtPoint): 69395 (WebCore::InlineFlowBox::paint): 69396 * rendering/InlineFlowBox.h: 69397 (WebCore::InlineFlowBox::InlineFlowBox): 69398 (WebCore::InlineFlowBox::topCombinedOverflow): 69399 (WebCore::InlineFlowBox::bottomCombinedOverflow): 69400 (WebCore::InlineFlowBox::leftCombinedOverflow): 69401 (WebCore::InlineFlowBox::rightCombinedOverflow): 69402 (WebCore::InlineFlowBox::combinedOverflowRect): 69403 (WebCore::InlineFlowBox::topLayoutOverflow): 69404 (WebCore::InlineFlowBox::bottomLayoutOverflow): 69405 (WebCore::InlineFlowBox::leftLayoutOverflow): 69406 (WebCore::InlineFlowBox::rightLayoutOverflow): 69407 (WebCore::InlineFlowBox::layoutOverflowRect): 69408 (WebCore::InlineFlowBox::topVisualOverflow): 69409 (WebCore::InlineFlowBox::bottomVisualOverflow): 69410 (WebCore::InlineFlowBox::leftVisualOverflow): 69411 (WebCore::InlineFlowBox::rightVisualOverflow): 69412 (WebCore::InlineFlowBox::visualOverflowRect): 69413 (WebCore::InlineFlowBox::setHorizontalOverflowPositions): 69414 (WebCore::InlineFlowBox::setVerticalOverflowPositions): 69415 * rendering/InlineTextBox.cpp: 69416 (WebCore::InlineTextBox::paint): 69417 * rendering/RenderBlock.cpp: 69418 (WebCore::RenderBlock::RenderBlock): 69419 (WebCore::RenderBlock::layout): 69420 (WebCore::RenderBlock::layoutBlock): 69421 (WebCore::RenderBlock::addOverflowFromBlockChildren): 69422 (WebCore::RenderBlock::handleBottomOfBlock): 69423 (WebCore::RenderBlock::layoutBlockChildren): 69424 (WebCore::RenderBlock::paint): 69425 (WebCore::RenderBlock::fillInlineSelectionGaps): 69426 (WebCore::RenderBlock::floatRect): 69427 (WebCore::RenderBlock::lowestPosition): 69428 (WebCore::RenderBlock::rightmostPosition): 69429 (WebCore::RenderBlock::leftmostPosition): 69430 (WebCore::RenderBlock::addOverhangingFloats): 69431 (WebCore::RenderBlock::nodeAtPoint): 69432 (WebCore::RenderBlock::positionForPointWithInlineChildren): 69433 (WebCore::RenderBlock::layoutColumns): 69434 (WebCore::getHeightForLineCount): 69435 * rendering/RenderBlock.h: 69436 * rendering/RenderBlockLineLayout.cpp: 69437 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 69438 (WebCore::RenderBlock::computeVerticalPositionsForLine): 69439 (WebCore::RenderBlock::layoutInlineChildren): 69440 (WebCore::RenderBlock::matchedEndLine): 69441 (WebCore::RenderBlock::addOverflowFromInlineChildren): 69442 * rendering/RenderBox.cpp: 69443 (WebCore::RenderBox::destroy): 69444 (WebCore::RenderBox::clippedOverflowRectForRepaint): 69445 (WebCore::RenderBox::localCaretRect): 69446 (WebCore::RenderBox::addShadowAndReflectionOverflow): 69447 (WebCore::RenderBox::addOverflowFromChild): 69448 (WebCore::RenderBox::addLayoutOverflow): 69449 (WebCore::RenderBox::addVisualOverflow): 69450 (WebCore::RenderBox::clearLayoutOverflow): 69451 * rendering/RenderBox.h: 69452 (WebCore::RenderBox::combinedOverflowRect): 69453 (WebCore::RenderBox::topCombinedOverflow): 69454 (WebCore::RenderBox::bottomCombinedOverflow): 69455 (WebCore::RenderBox::leftCombinedOverflow): 69456 (WebCore::RenderBox::rightCombinedOverflow): 69457 (WebCore::RenderBox::layoutOverflowRect): 69458 (WebCore::RenderBox::topLayoutOverflow): 69459 (WebCore::RenderBox::bottomLayoutOverflow): 69460 (WebCore::RenderBox::leftLayoutOverflow): 69461 (WebCore::RenderBox::rightLayoutOverflow): 69462 (WebCore::RenderBox::visualOverflowRect): 69463 (WebCore::RenderBox::topVisualOverflow): 69464 (WebCore::RenderBox::bottomVisualOverflow): 69465 (WebCore::RenderBox::leftVisualOverflow): 69466 (WebCore::RenderBox::rightVisualOverflow): 69467 * rendering/RenderFlexibleBox.cpp: 69468 (WebCore::RenderFlexibleBox::layoutBlock): 69469 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 69470 (WebCore::RenderFlexibleBox::layoutVerticalBox): 69471 * rendering/RenderLayer.cpp: 69472 (WebCore::RenderLayer::updateLayerPosition): 69473 (WebCore::RenderLayer::localBoundingBox): 69474 * rendering/RenderLayerCompositor.cpp: 69475 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 69476 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 69477 * rendering/RenderLineBoxList.cpp: 69478 (WebCore::RenderLineBoxList::paint): 69479 (WebCore::RenderLineBoxList::hitTest): 69480 * rendering/RenderListItem.cpp: 69481 (WebCore::RenderListItem::positionListMarker): 69482 * rendering/RenderObject.cpp: 69483 (WebCore::RenderObject::RenderObject): 69484 * rendering/RenderObject.h: 69485 * rendering/RenderOverflow.h: Added. 69486 (WebCore::RenderOverflow::RenderOverflow): 69487 (WebCore::RenderOverflow::topLayoutOverflow): 69488 (WebCore::RenderOverflow::bottomLayoutOverflow): 69489 (WebCore::RenderOverflow::leftLayoutOverflow): 69490 (WebCore::RenderOverflow::rightLayoutOverflow): 69491 (WebCore::RenderOverflow::topVisualOverflow): 69492 (WebCore::RenderOverflow::bottomVisualOverflow): 69493 (WebCore::RenderOverflow::leftVisualOverflow): 69494 (WebCore::RenderOverflow::rightVisualOverflow): 69495 (WebCore::RenderOverflow::setTopLayoutOverflow): 69496 (WebCore::RenderOverflow::setBottomLayoutOverflow): 69497 (WebCore::RenderOverflow::setLeftLayoutOverflow): 69498 (WebCore::RenderOverflow::setRightLayoutOverflow): 69499 (WebCore::RenderOverflow::setTopVisualOverflow): 69500 (WebCore::RenderOverflow::setBottomVisualOverflow): 69501 (WebCore::RenderOverflow::setLeftVisualOverflow): 69502 (WebCore::RenderOverflow::setRightVisualOverflow): 69503 (WebCore::RenderOverflow::layoutOverflowRect): 69504 (WebCore::RenderOverflow::visualOverflowRect): 69505 (WebCore::RenderOverflow::combinedOverflowRect): 69506 (WebCore::RenderOverflow::move): 69507 (WebCore::RenderOverflow::addLayoutOverflow): 69508 (WebCore::RenderOverflow::addVisualOverflow): 69509 (WebCore::RenderOverflow::resetLayoutOverflow): 69510 * rendering/RenderPartObject.cpp: 69511 (WebCore::RenderPartObject::layout): 69512 * rendering/RenderReplaced.cpp: 69513 (WebCore::RenderReplaced::~RenderReplaced): 69514 (WebCore::RenderReplaced::layout): 69515 (WebCore::RenderReplaced::shouldPaint): 69516 (WebCore::RenderReplaced::positionForPoint): 69517 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 69518 * rendering/RenderReplaced.h: 69519 * rendering/RenderScrollbarPart.cpp: 69520 (WebCore::RenderScrollbarPart::layout): 69521 (WebCore::RenderScrollbarPart::paintIntoRect): 69522 * rendering/RenderSlider.cpp: 69523 (WebCore::RenderSlider::layout): 69524 * rendering/RenderTable.cpp: 69525 (WebCore::RenderTable::layout): 69526 (WebCore::RenderTable::paint): 69527 * rendering/RenderTableCell.cpp: 69528 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 69529 * rendering/RenderTableSection.cpp: 69530 (WebCore::RenderTableSection::layoutRows): 69531 * rendering/RenderTableSection.h: 69532 * rendering/RenderText.cpp: 69533 (WebCore::RenderText::positionForPoint): 69534 (WebCore::RenderText::localCaretRect): 69535 * rendering/RenderView.cpp: 69536 (WebCore::RenderView::layout): 69537 * rendering/RootInlineBox.cpp: 69538 (WebCore::RootInlineBox::addHighlightOverflow): 69539 (WebCore::RootInlineBox::adjustPosition): 69540 (WebCore::RootInlineBox::verticallyAlignBoxes): 69541 (WebCore::RootInlineBox::selectionTop): 69542 * rendering/RootInlineBox.h: 69543 (WebCore::RootInlineBox::RootInlineBox): 69544 (WebCore::RootInlineBox::nextRootBox): 69545 (WebCore::RootInlineBox::prevRootBox): 69546 (WebCore::RootInlineBox::lineTop): 69547 (WebCore::RootInlineBox::lineBottom): 69548 (WebCore::RootInlineBox::selectionBottom): 69549 (WebCore::RootInlineBox::selectionHeight): 69550 (WebCore::RootInlineBox::floats): 69551 (WebCore::RootInlineBox::floatsPtr): 69552 (WebCore::RootInlineBox::setLineTopBottomPositions): 69553 * rendering/SVGRootInlineBox.cpp: 69554 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 69555 69556 2009-08-18 Alexey Proskuryakov <ap (a] apple.com> 69557 69558 Reviewed by Darin Adler. 69559 69560 https://bugs.webkit.org/show_bug.cgi?id=28431 69561 <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication 69562 69563 Test: http/tests/appcache/auth.html 69564 69565 * loader/appcache/ApplicationCacheGroup.h: 69566 (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled, 69567 always allow it to use stored credentials (we can't ask WebKit client, and maybe we 69568 shouldn't ask it, because it's not a document that's loading these resources). 69569 69570 2009-08-18 Anders Carlsson <andersca (a] apple.com> 69571 69572 Reviewed by John Sullivan and David Hyatt. 69573 69574 Fix <rdar://problem/7147996> 69575 69576 * platform/ScrollView.cpp: 69577 (WebCore::ScrollView::setHasHorizontalScrollbar): 69578 (WebCore::ScrollView::setHasVerticalScrollbar): 69579 Update the style of the scroll bars. 69580 69581 * rendering/RenderScrollbar.cpp: 69582 (WebCore::RenderScrollbar::RenderScrollbar): 69583 Calculate the size of the scrollbar and set it as the frame size. 69584 69585 2009-08-18 Eric Carlson <eric.carlson (a] apple.com> 69586 69587 Reviewed by Simon Fraser. 69588 69589 HTMLMediaElement should fire 'progress' event before 'load' 69590 https://bugs.webkit.org/show_bug.cgi?id=28314 69591 69592 Test: media/progress-event-at-least-one.html 69593 69594 * html/HTMLMediaElement.cpp: 69595 (WebCore::HTMLMediaElement::setNetworkState): 69596 Schedule 'progress' event before 'load'. 69597 69598 2009-08-18 Peter Kasting <pkasting (a] google.com> 69599 69600 Reviewed by Eric Seidel. 69601 69602 https://bugs.webkit.org/show_bug.cgi?id=28415 69603 Set svn:eol-style CRLF on all .sln and .vcproj files that don't already 69604 have it. 69605 69606 * WebCore.vcproj/QTMovieWin.vcproj: 69607 * WebCore.vcproj/WebCoreGenerated.vcproj: 69608 69609 2009-08-18 Drew Wilson <atwilson (a] google.com> 69610 69611 Reviewed by Eric Seidel. 69612 69613 Need to extend DumpRenderTree to expose number of worker threads 69614 https://bugs.webkit.org/show_bug.cgi?id=28292 69615 69616 Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests. 69617 69618 Tests: fast/workers/shared-worker-lifecycle.html-disabled 69619 fast/workers/worker-lifecycle.html 69620 69621 * WebCore.base.exp: 69622 Exported WorkerThread::workerThreadCount(). 69623 * WebCore.xcodeproj/project.pbxproj: 69624 * workers/WorkerThread.cpp: 69625 Added tracking of the number of worker threads. 69626 (WebCore::threadCountMutex): 69627 (WebCore::WorkerThread::workerThreadCount): 69628 (WebCore::WorkerThread::WorkerThread): 69629 (WebCore::WorkerThread::~WorkerThread): 69630 * workers/WorkerThread.h: 69631 69632 2009-08-18 Ariya Hidayat <ariya.hidayat (a] nokia.com> 69633 69634 Unreviewed, build fix. 69635 69636 [Qt] Add new files I forgot to add in r47424. 69637 69638 2009-08-18 Markus Goetz <Markus.Goetz (a] nokia.com> 69639 69640 Reviewed by Ariya Hidayat. 69641 69642 [Qt] Implement prefetchDNS() function. 69643 69644 * WebCore.pro: 69645 * platform/qt/TemporaryLinkStubs.cpp: 69646 69647 2009-08-18 Kent Tamura <tkent (a] chromium.org> 69648 69649 Reviewed by Eric Seidel. 69650 69651 Support for parsing <datalist> element and generating HTMLDataListElement nodes. 69652 https://bugs.webkit.org/show_bug.cgi?id=26915 69653 69654 Tests: fast/forms/datalist-nonoption-child.html 69655 fast/forms/datalist.html 69656 69657 * WebCore.gypi: 69658 * WebCore.pro: 69659 * WebCore.vcproj/WebCore.vcproj: 69660 * WebCore.vcproj/WebCoreCommon.vsprops: 69661 * WebCore.vcproj/build-generated-files.sh: 69662 * WebCore.xcodeproj/project.pbxproj: 69663 * WebCoreSources.bkl: 69664 * css/html.css: 69665 * html/CollectionType.h: 69666 (WebCore::): 69667 * html/HTMLCollection.cpp: 69668 (WebCore::HTMLCollection::itemAfter): 69669 * html/HTMLDataListElement.cpp: Added. 69670 (WebCore::HTMLDataListElement::HTMLDataListElement): 69671 (WebCore::HTMLDataListElement::~HTMLDataListElement): 69672 (WebCore::HTMLDataListElement::checkDTD): 69673 (WebCore::HTMLDataListElement::options): 69674 * html/HTMLDataListElement.h: Added. 69675 * html/HTMLDataListElement.idl: Added. 69676 * html/HTMLElement.cpp: 69677 (WebCore::inlineTagList): 69678 * html/HTMLParser.cpp: 69679 (WebCore::HTMLParser::isAffectedByResidualStyle): 69680 * html/HTMLTagNames.in: 69681 69682 2009-08-17 Shinichiro Hamaji <hamaji (a] chromium.org> 69683 69684 Reviewed by Eric Seidel. 69685 69686 -webkit-box-orient:horizontal doesn't work on <button> tag 69687 https://bugs.webkit.org/show_bug.cgi?id=34445 69688 69689 Make a flexible button's anonymous child flexible and pass the 69690 parent's box-orient to the anonymous child. 69691 69692 Also, added a renderName for anonymous flexible boxes. 69693 69694 Test: fast/flexbox/box-orient-button.html 69695 69696 * rendering/RenderBlock.cpp: 69697 (WebCore::RenderBlock::createAnonymousBlock): 69698 * rendering/RenderBlock.h: 69699 * rendering/RenderButton.cpp: 69700 (WebCore::RenderButton::addChild): 69701 (WebCore::RenderButton::setupInnerStyle): 69702 * rendering/RenderFlexibleBox.cpp: 69703 (WebCore::RenderFlexibleBox::renderName): 69704 69705 2009-08-17 Simon Fraser <simon.fraser (a] apple.com> 69706 69707 Reviewed by Dave Hyatt. 69708 69709 Render -webkit-mask via compositing layers when possible 69710 https://bugs.webkit.org/show_bug.cgi?id=28414 69711 69712 Implement accelerated compositing of -webkit-mask, when combined 69713 with already-composited content. 69714 69715 RenderLayerBacking now creates an additional GraphicsLayer for the mask contents, 69716 and sets this as the mask on another GraphicsLayer via the setMaskLayer() method. 69717 GraphicsLayerCA then applies the mask using -[CALayer setMask:]. 69718 69719 The enum values for GraphicsLayerPaintingPhase were renamed to avoid the 69720 confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which 69721 indicates that just the mask is painting. 69722 69723 When painting the composited mask, we need to paint with the normal compositing 69724 mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult 69725 layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer 69726 need to make transparency layers. 69727 69728 We no longer have to throw video rendering into software because of masks. 69729 69730 When a masked element has composited descendants, that element needs to 69731 become composited so that the mask can be applied via compositing. 69732 69733 Tests: compositing/masks/masked-ancestor.html 69734 compositing/masks/simple-composited-mask.html 69735 69736 * platform/graphics/GraphicsLayer.cpp: 69737 (WebCore::GraphicsLayer::GraphicsLayer): 69738 * platform/graphics/GraphicsLayer.h: 69739 (WebCore::GraphicsLayer::maskLayer): 69740 (WebCore::GraphicsLayer::setMaskLayer): 69741 (WebCore::GraphicsLayer::paintingPhase): 69742 (WebCore::GraphicsLayer::setPaintingPhase): 69743 * platform/graphics/GraphicsLayerClient.h: 69744 (WebCore::): 69745 * platform/graphics/mac/GraphicsLayerCA.h: 69746 (WebCore::GraphicsLayerCA::): 69747 * platform/graphics/mac/GraphicsLayerCA.mm: 69748 (WebCore::GraphicsLayerCA::setMaskLayer): 69749 (WebCore::GraphicsLayerCA::recursiveCommitChanges): 69750 (WebCore::GraphicsLayerCA::commitLayerChanges): 69751 (WebCore::GraphicsLayerCA::updateMaskLayer): 69752 * rendering/InlineFlowBox.cpp: 69753 (WebCore::InlineFlowBox::paintMask): 69754 * rendering/RenderBox.cpp: 69755 (WebCore::RenderBox::paintMaskImages): 69756 * rendering/RenderLayer.cpp: 69757 (WebCore::RenderLayer::hasCompositedMask): 69758 * rendering/RenderLayer.h: 69759 (WebCore::RenderLayer::hasCompositedMask): 69760 * rendering/RenderLayerBacking.cpp: 69761 (WebCore::RenderLayerBacking::~RenderLayerBacking): 69762 (WebCore::RenderLayerBacking::destroyGraphicsLayer): 69763 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 69764 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 69765 (WebCore::RenderLayerBacking::updateForegroundLayer): 69766 (WebCore::RenderLayerBacking::updateMaskLayer): 69767 (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): 69768 (WebCore::RenderLayerBacking::setContentsNeedDisplay): 69769 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): 69770 (WebCore::RenderLayerBacking::paintIntoLayer): 69771 (WebCore::RenderLayerBacking::paintContents): 69772 * rendering/RenderLayerBacking.h: 69773 (WebCore::RenderLayerBacking::hasMaskLayer): 69774 * rendering/RenderLayerCompositor.cpp: 69775 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 69776 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): 69777 (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): 69778 * rendering/RenderLayerCompositor.h: 69779 69780 2009-08-17 Simon Fraser <simon.fraser (a] apple.com> 69781 69782 Reviewed by Dave Hyatt. 69783 69784 Layer content misplaced with compositing, z-index and overflow 69785 https://bugs.webkit.org/show_bug.cgi?id=28361 69786 69787 The foreground GraphicsLayer (used to render element foreground when the element has 69788 negative z-order children) was misplaced when there is a clipping layer (which clips 69789 children). The foreground layer is parented under the clipping layer so that the foreground 69790 depth-sorts with the layer's children, so its geometry needs to be computed relative to 69791 that clipping layer. 69792 69793 Also clarified some FIXME comments, and corrected a debug-only layer name. 69794 69795 Test: compositing/geometry/clipping-foreground.html 69796 69797 * platform/graphics/mac/GraphicsLayerCA.mm: 69798 (WebCore::GraphicsLayerCA::updateSublayerList): 69799 * rendering/RenderLayerBacking.cpp: 69800 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 69801 (WebCore::RenderLayerBacking::updateForegroundLayer): 69802 * rendering/RenderLayerCompositor.cpp: 69803 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 69804 69805 2009-08-17 Mark Rowe <mrowe (a] apple.com> 69806 69807 Reviewed by Sam Weinig. 69808 69809 Fix leaks of SVGElementInstance seen during regression tests. 69810 69811 r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly 69812 not updated to have a create method that adopted the initial reference. This lead to the instances 69813 of SVGElementInstance allocated by SVGUseElement being leaked. 69814 69815 * svg/SVGElementInstance.h: 69816 (WebCore::SVGElementInstance::create): 69817 * svg/SVGUseElement.cpp: 69818 (WebCore::SVGUseElement::buildPendingResource): 69819 (WebCore::SVGUseElement::buildInstanceTree): 69820 (WebCore::SVGUseElement::handleDeepUseReferencing): 69821 69822 2009-08-17 Brady Eidson <beidson (a] apple.com> 69823 69824 Reviewed by Sam Weinig. 69825 69826 Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631 69827 Page Cache should support pages with frames. 69828 69829 - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads 69830 are solely the responsibility of FrameLoader. 69831 - Enhance some page cache related Logging to help development. 69832 69833 * inspector/InspectorController.cpp: 69834 (WebCore::InspectorController::didCommitLoad): 69835 (WebCore::InspectorController::identifierForInitialRequest): 69836 69837 * loader/DocumentLoader.cpp: 69838 (WebCore::DocumentLoader::DocumentLoader): 69839 * loader/DocumentLoader.h: 69840 69841 * loader/FrameLoader.cpp: 69842 (WebCore::FrameLoader::FrameLoader): 69843 (WebCore::FrameLoader::commitProvisionalLoad): 69844 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 69845 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): 69846 * loader/FrameLoader.h: 69847 (WebCore::FrameLoader::isLoadingFromCachedPage): 69848 69849 2009-08-17 Roland Steiner <rolandsteiner (a] google.com> 69850 69851 Reviewed by Eric Seidel. 69852 69853 Moved implementation of isAfterContent to RenderObject 69854 (as inline method to avoid potential performance regressions). 69855 69856 BUG 28376 - [Cleanup] isAfterContent() implemented twice, should be member of RenderObject 69857 (https://bugs.webkit.org/show_bug.cgi?id=28376) 69858 69859 * rendering/RenderBox.cpp: 69860 * rendering/RenderBox.h: 69861 * rendering/RenderInline.cpp: 69862 * rendering/RenderObject.h: 69863 (WebCore::RenderObject::isAfterContent): 69864 69865 2009-08-17 Shinichiro Hamaji <hamaji (a] chromium.org> 69866 69867 Reviewed by Darin Adler. 69868 69869 Assertion failure in WebCore::RenderHTMLCanvas::layout 69870 https://bugs.webkit.org/show_bug.cgi?id=12052 69871 69872 Don't handle run-in if the element is not a block element. 69873 69874 Test: fast/runin/nonblock-runin.html 69875 69876 * rendering/RenderBlock.cpp: 69877 (WebCore::RenderBlock::handleRunInChild): 69878 69879 2009-08-17 Benjamin C Meyer <benjamin.meyer (a] torchmobile.com> 69880 69881 Reviewed by Darin Adler. 69882 69883 Fix createImageData to raise the NOT_SUPPORTED_ERR exception when 69884 either of the arguments are not finite. 69885 69886 According to 69887 http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation: 69888 "If any of the arguments to createImageData() or getImageData() are 69889 infinite or NaN, or if the createImageData() method is invoked with 69890 only one argument but that argument is null, the method must instead 69891 raise a NOT_SUPPORTED_ERR exception." 69892 69893 Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html 69894 69895 * html/canvas/CanvasRenderingContext2D.cpp: 69896 (WebCore::CanvasRenderingContext2D::createImageData): 69897 * html/canvas/CanvasRenderingContext2D.h: 69898 * html/canvas/CanvasRenderingContext2D.idl: 69899 69900 2009-08-17 Jeremy Orlow <jorlow (a] chromium.org> 69901 69902 Reviewed by Darin Fisher. 69903 69904 Add a way to release the storage lock 69905 https://bugs.webkit.org/show_bug.cgi?id=28411 69906 69907 Two scripts within the same origin that are accessing LocalStorage must not do 69908 it simultaneously, according to the spec. There are some cases, however, where 69909 a script might want to override this behavior. navigator.getStorageUpdates() 69910 was added for this reason: 69911 http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex 69912 69913 Add this function to navigator and hook it up to DOM Storage. 69914 69915 * page/Navigator.cpp: 69916 (WebCore::Navigator::getStorageUpdates): 69917 * page/Navigator.h: 69918 * page/Navigator.idl: 69919 * storage/StorageNamespace.h: 69920 * storage/StorageNamespaceImpl.cpp: 69921 (WebCore::StorageNamespaceImpl::unlock): 69922 * storage/StorageNamespaceImpl.h: 69923 69924 2009-08-17 Mark Rowe <mrowe (a] apple.com> 69925 69926 Build fix. 69927 69928 CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers. 69929 We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which 69930 results in the CFNetwork headers being included on Mac OS X. CoreServices.h doesn't include CFNetwork.h on 69931 Windows though so we explicitly include this header from the prefix header when on Windows. 69932 69933 * WebCorePrefix.h: 69934 * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed. 69935 69936 2009-08-17 Alexey Proskuryakov <ap (a] apple.com> 69937 69938 Trying a better build fix (the previous one broke Leopard bots, although it did build for me). 69939 69940 * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead. 69941 69942 2009-08-17 Alexey Proskuryakov <ap (a] apple.com> 69943 69944 Trying to fix Windows build. 69945 69946 * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h. 69947 69948 2009-08-17 Peter Kasting <pkasting (a] google.com> 69949 69950 Reviewed by Steve Falkenburg. 69951 69952 https://bugs.webkit.org/show_bug.cgi?id=27323 69953 Only add Cygwin to the path when it isn't already there. This avoids 69954 causing problems for people who purposefully have non-Cygwin versions of 69955 executables like svn in front of the Cygwin ones in their paths. 69956 69957 * WebCore.vcproj/QTMovieWin.vcproj: 69958 * WebCore.vcproj/WebCoreCommon.vsprops: 69959 * WebCore.vcproj/WebCoreGenerated.vcproj: 69960 69961 2009-08-17 Alexey Proskuryakov <ap (a] apple.com> 69962 69963 Reviewed by Geoff Garen. 69964 69965 https://bugs.webkit.org/show_bug.cgi?id=28401 69966 Add support for DNS prefetching with CFNetwork 69967 69968 This is just an optimization, no behavior change, so no tests. 69969 69970 * platform/network/cf/DNSCFNet.cpp: 69971 (WebCore::clientCallback): 69972 (WebCore::prefetchDNS): 69973 Use async CFHostStartInfoResolution() for implementation. 69974 69975 2009-08-17 Aaron Boodman <aa (a] chromium.org> 69976 69977 Reviewed by Alexey Proskuryakov. 69978 69979 https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and 69980 ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way. 69981 69982 Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented 69983 redirects access control, so we should never redirect across origins. But in two edge cases, we were: 69984 69985 * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control 69986 authorization headers) to a resource on origin A. 69987 * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control 69988 authorization headers) to another resource on origin B (this time sending access control authorization headers). 69989 69990 Test: http/tests/xmlhttprequest/access-control-and-redirects.html 69991 69992 * loader/DocumentThreadableLoader.cpp: 69993 (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location. 69994 (WebCore::DocumentThreadableLoader::loadRequest): Ditto. 69995 (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto. 69996 * loader/DocumentThreadableLoader.h: 69997 * loader/ThreadableLoader.h: 69998 (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy. 69999 * page/EventSource.cpp: 70000 (WebCore::EventSource::connect): Ditto. 70001 * workers/Worker.cpp: Ditto. 70002 (WebCore::Worker::Worker): Ditto. 70003 * workers/WorkerContext.cpp: Ditto. 70004 (WebCore::WorkerContext::importScripts): Ditto. 70005 * workers/WorkerScriptLoader.cpp: 70006 (WebCore::WorkerScriptLoader::loadSynchronously): Ditto. 70007 (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto. 70008 * workers/WorkerScriptLoader.h: 70009 * xml/XMLHttpRequest.cpp: 70010 (WebCore::XMLHttpRequest::createRequest): Ditto. 70011 70012 2009-08-17 Adam Langley <agl (a] google.com> 70013 70014 Reviewed by Dan Bernstein (relanding of r47157). 70015 70016 Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp 70017 70018 https://bugs.webkit.org/show_bug.cgi?id=28172 70019 70020 This was originally fixed in r47157, however it triggered a bug in 70021 Skia which caused Chromium Linux to fail layout tests in debug mode. 70022 It was reverted in r47189 while we sorted it out. 70023 70024 The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in 70025 Chromium's r23523. This is a reland of the original patch. 70026 70027 No new tests because it's a just typo fix. 70028 70029 [1] http://code.google.com/p/skia/source/detail?r=321 70030 70031 * platform/graphics/skia/PlatformContextSkia.cpp: 70032 (PlatformContextSkia::setupPaintCommon): 70033 70034 2009-08-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 70035 70036 Reviewed by Xan Lopez. 70037 70038 Protect ResourceHandle for g_file_query_info_async call, using the 70039 same technique we already use for HTTP requests that take the soup 70040 path. 70041 70042 * platform/network/soup/ResourceHandleSoup.cpp: 70043 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 70044 (WebCore::ResourceHandle::~ResourceHandle): 70045 (WebCore::finishedCallback): 70046 (WebCore::): 70047 70048 2009-08-17 Dan Bernstein <mitz (a] apple.com> 70049 70050 Reviewed by Darin Adler. 70051 70052 REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane 70053 appears below the main content 70054 https://bugs.webkit.org/show_bug.cgi?id=28350 70055 70056 A particular version of the MediaWiki software detects WebKit through 70057 user agent sniffing and imports a style sheet called KHTMLFixes.css, 70058 which contains a single rule that was meant to work around some KHTML 70059 bug, but currently has the sole effect of causing the float containing 70060 the main article content to extend all the way to the left and thus push 70061 down the left navigation pane. 70062 70063 * css/CSSImportRule.cpp: 70064 (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are 70065 enabled, check if the imported style sheet is the MediaWiki 70066 KHTMLFixes.css. If so, remove the offending rule. 70067 70068 2009-08-17 Brent Fulgham <bfulgham (a] webkit.org> 70069 70070 Reviewed by Kevin Ollivier. 70071 70072 Correct crash when processing local cancelled requests. 70073 70074 No new tests. Existing fast/images/favicon-as-image.html 70075 displays the problem. 70076 70077 * platform/network/curl/ResourceHandleManager.cpp: 70078 (WebCore::writeCallback): Add check for m_cancelled after 70079 performing local-file processing. 70080 (WebCore::ResourceHandleManager::downloadTimerCallback): Add 70081 check for m_cancelled after performing local-file processing. 70082 70083 2009-08-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 70084 70085 Unreviewed. Reverts 47371, since it breaks GTK+. 70086 70087 * platform/graphics/ImageSource.cpp: 70088 (WebCore::ImageSource::setData): 70089 * platform/image-decoders/ImageDecoder.cpp: Removed. 70090 * platform/image-decoders/ImageDecoder.h: 70091 (WebCore::ImageDecoder::ImageDecoder): 70092 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 70093 (WebCore::convertCMYKToRGBA): 70094 (WebCore::convertRGBToRGBA): 70095 (WebCore::JPEGImageDecoder::outputScanlines): 70096 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 70097 * platform/image-decoders/png/PNGImageDecoder.cpp: 70098 (WebCore::PNGImageDecoder::headerAvailable): 70099 (WebCore::PNGImageDecoder::rowAvailable): 70100 70101 2009-08-17 Yong Li <yong.li (a] torchmobile.com> 70102 70103 Reviewed by Adam Treat. 70104 70105 Allow image decoders to down-sample the image directly 70106 to scaled output buffer. This can be enabled/disabled by 70107 macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING). 70108 Only JPEG and PNG decoders are modified to support it now. 70109 https://bugs.webkit.org/show_bug.cgi?id=28308 70110 70111 * platform/graphics/ImageSource.cpp: 70112 (WebCore::ImageSource::setData): 70113 * platform/image-decoders/ImageDecoder.cpp: Added. 70114 * platform/image-decoders/ImageDecoder.h: 70115 (WebCore::ImageDecoder::ImageDecoder): 70116 (WebCore::ImageDecoder::setMaxNumPixels): 70117 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 70118 (WebCore::convertCMYKToRGBA): 70119 (WebCore::convertRGBToRGBA): 70120 (WebCore::JPEGImageDecoder::outputScanlines): 70121 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 70122 (WebCore::JPEGImageDecoder::setSize): 70123 * platform/image-decoders/png/PNGImageDecoder.cpp: 70124 (WebCore::PNGImageDecoder::headerAvailable): 70125 (WebCore::PNGImageDecoder::rowAvailable): 70126 70127 2009-08-17 Simon Fraser <simon.fraser (a] apple.com> 70128 70129 Build fix: fix float literals to avoid casting warnings. 70130 70131 * rendering/MediaControlElements.cpp: 70132 70133 2009-08-17 Simon Fraser <simon.fraser (a] apple.com> 70134 70135 Reviewed by Eric Seidel. 70136 70137 Use OwnPtrs for GraphicsLayers 70138 https://bugs.webkit.org/show_bug.cgi?id=28399 70139 70140 Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs 70141 for their references to GraphicsLayers. 70142 70143 * platform/graphics/GraphicsLayer.h: 70144 * platform/graphics/mac/GraphicsLayerCA.mm: 70145 (WebCore::GraphicsLayer::create): 70146 * rendering/RenderLayerBacking.cpp: 70147 (WebCore::RenderLayerBacking::RenderLayerBacking): 70148 (WebCore::RenderLayerBacking::createGraphicsLayer): 70149 (WebCore::RenderLayerBacking::destroyGraphicsLayer): 70150 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 70151 (WebCore::RenderLayerBacking::updateInternalHierarchy): 70152 (WebCore::RenderLayerBacking::updateClippingLayers): 70153 (WebCore::RenderLayerBacking::updateForegroundLayer): 70154 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): 70155 * rendering/RenderLayerBacking.h: 70156 (WebCore::RenderLayerBacking::graphicsLayer): 70157 (WebCore::RenderLayerBacking::clippingLayer): 70158 (WebCore::RenderLayerBacking::ancestorClippingLayer): 70159 (WebCore::RenderLayerBacking::foregroundLayer): 70160 (WebCore::RenderLayerBacking::parentForSublayers): 70161 (WebCore::RenderLayerBacking::childForSuperlayers): 70162 * rendering/RenderLayerCompositor.cpp: 70163 (WebCore::RenderLayerCompositor::~RenderLayerCompositor): 70164 (WebCore::RenderLayerCompositor::rootPlatformLayer): 70165 (WebCore::RenderLayerCompositor::didMoveOnscreen): 70166 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 70167 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): 70168 * rendering/RenderLayerCompositor.h: 70169 70170 2009-08-17 Pavel Feldman <pfeldman (a] chromium.org> 70171 70172 Reviewed by Timothy Hatcher. 70173 70174 WebInspector: Reset InjectedScript styles cache on document change. 70175 70176 https://bugs.webkit.org/show_bug.cgi?id=28390 70177 70178 * inspector/InspectorController.cpp: 70179 (WebCore::InspectorController::close): 70180 (WebCore::InspectorController::populateScriptObjects): 70181 (WebCore::InspectorController::didCommitLoad): 70182 (WebCore::InspectorController::resetInjectedScript): 70183 * inspector/InspectorController.h: 70184 * inspector/InspectorDOMAgent.cpp: 70185 (WebCore::InspectorDOMAgent::setDocument): 70186 * inspector/InspectorDOMAgent.h: 70187 * inspector/front-end/InjectedScript.js: 70188 (InjectedScript._reset): 70189 70190 2009-08-17 Darin Adler <darin (a] apple.com> 70191 70192 Reviewed by Sam Weinig. 70193 70194 * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h, 70195 resorted includes, renamed "doc" to "document" and fixed formatting. 70196 70197 2009-08-17 Darin Adler <darin (a] apple.com> 70198 70199 Reviewed by Sam Weinig. 70200 70201 Removed functions now unneeded due to use of Reflect to create 70202 language bindings. 70203 70204 * accessibility/AccessibilityRenderObject.cpp: 70205 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 70206 Get at usemap attribute directly. 70207 70208 * editing/DeleteButtonController.cpp: 70209 (WebCore::DeleteButtonController::createDeletionUI): 70210 Get at id attribute directly. 70211 * editing/EditorCommand.cpp: 70212 (WebCore::executeInsertHorizontalRule): Ditto. 70213 70214 * html/HTMLDocument.cpp: 70215 (WebCore::HTMLDocument::dir): Get at dir attribute of body directly. 70216 (WebCore::HTMLDocument::setDir): Ditto. 70217 70218 * html/HTMLElement.cpp: Deleted unused functions. 70219 * html/HTMLElement.h: Ditto. 70220 70221 * html/HTMLImageElement.cpp: Deleted unused functions. 70222 (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&. 70223 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to 70224 get at usemap attribute directly, but added a FIXME because although 70225 it is what the old code did, it looks to not be entirely correct. 70226 70227 * html/HTMLImageElement.h: Deleted unused functions. 70228 70229 * rendering/HitTestResult.cpp: 70230 (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly. 70231 70232 * rendering/RenderImage.cpp: 70233 (WebCore::RenderImage::imageMap): Get at usemap attribute directly. 70234 70235 * rendering/RenderLayerBacking.cpp: 70236 (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute 70237 directly. 70238 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed 70239 explicit HTMLNames namespace qualification. 70240 70241 2009-08-17 Darin Adler <darin (a] apple.com> 70242 70243 Reviewed by Sam Weinig. 70244 70245 * dom/Document.cpp: 70246 (WebCore::Document::setFocusedNode): Removed unneeded calls 70247 to RefPtr::get. 70248 70249 2009-08-17 Pavel Feldman <pfeldman (a] chromium.org> 70250 70251 Reviewed by Timothy Hatcher. 70252 70253 WebInspector: Discard DOM Node bindings on any document change. 70254 70255 https://bugs.webkit.org/show_bug.cgi?id=28389 70256 70257 * inspector/InspectorDOMAgent.cpp: 70258 (WebCore::InspectorDOMAgent::setDocument): 70259 70260 2009-08-13 Joseph Pecoraro <joepeck02 (a] gmail.com> 70261 70262 Reviewed by Timothy Hatcher. 70263 70264 Inspector: Improve Cookie DataGrid to Show Hidden Data 70265 https://bugs.webkit.org/show_bug.cgi?id=28269 70266 70267 * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ... 70268 * WebCore.gypi: added missing files 70269 70270 Implemented Bindings for InspectorController.deleteCookie(name) 70271 70272 * inspector/InspectorBackend.idl: 70273 * bindings/js/JSInspectorBackendCustom.cpp: 70274 (WebCore::JSInspectorBackend::cookies): 70275 (WebCore::JSInspectorBackend::deleteCookie): 70276 70277 v8 Bindings Stubs 70278 70279 * bindings/v8/custom/V8CustomBinding.h: 70280 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 70281 (WebCore::CALLBACK_FUNC_DECL): 70282 70283 Removed WebInspector.Cookie 70284 70285 * inspector/front-end/Cookie.js: Removed. 70286 * inspector/front-end/inspector.html: 70287 * inspector/front-end/WebKit.qrc: 70288 70289 Improved DataGrid and Kept Fallback Behavior for Platforms that don't 70290 yet provide access to raw cookies. 70291 70292 * inspector/front-end/CookieItemsView.js: 70293 (WebInspector.CookieItemsView): 70294 (WebInspector.CookieItemsView.prototype.get statusBarItems): 70295 (WebInspector.CookieItemsView.prototype.update): 70296 (WebInspector.CookieItemsView.prototype.buildCookies): 70297 (WebInspector.CookieItemsView.prototype.dataGridForCookies): 70298 (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback): 70299 (WebInspector.CookieItemsView.prototype.fallbackUpdate): 70300 (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString): 70301 (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies): 70302 (WebInspector.CookieItemsView.prototype._deleteButtonClicked): 70303 70304 Interaction with the page through Injected Script (for fallback behavior) 70305 70306 * inspector/front-end/DOMAgent.js: 70307 (InspectorController.getCookies): 70308 * inspector/front-end/InjectedScript.js: 70309 (InjectedScript.setStyleProperty): style fix 70310 (InjectedScript.getCookies): 70311 70312 Allow alignment of text inside DataGrids. 70313 70314 * inspector/front-end/DataGrid.js: 70315 (WebInspector.DataGrid): 70316 (WebInspector.DataGridNode.prototype.createCell): 70317 * inspector/front-end/DatabasesPanel.js: 70318 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): 70319 * inspector/front-end/inspector.css: 70320 70321 Added deleteCookie(., ., String name) 70322 Modified getRawCookies to return a bool to know if its implemented 70323 70324 * platform/CookieJar.h: 70325 70326 70327 Implemented deleteCookie for Macs 70328 70329 * platform/mac/CookieJar.mm: 70330 (WebCore::getRawCookies): 70331 (WebCore::deleteCookie): 70332 70333 Stub Implementations for Other Platforms 70334 70335 * platform/haiku/CookieJarHaiku.cpp: 70336 (WebCore::getRawCookies): 70337 (WebCore::deleteCookie): 70338 * platform/network/chromium/CookieJarChromium.cpp: 70339 (WebCore::getRawCookies): 70340 (WebCore::deleteCookie): 70341 * platform/network/curl/CookieJarCurl.cpp: 70342 (WebCore::getRawCookies): 70343 (WebCore::deleteCookie): 70344 * platform/network/soup/CookieJarSoup.cpp: 70345 (WebCore::getRawCookies): 70346 (WebCore::deleteCookie): 70347 * platform/network/win/CookieJarCFNetWin.cpp: 70348 (WebCore::getRawCookies): 70349 (WebCore::deleteCookie): 70350 * platform/network/win/CookieJarWin.cpp: 70351 (WebCore::getRawCookies): 70352 (WebCore::deleteCookie): 70353 * platform/qt/CookieJarQt.cpp: 70354 (WebCore::getRawCookies): 70355 (WebCore::deleteCookie): 70356 70357 2009-08-17 Adam Treat <adam.treat (a] torchmobile.com> 70358 70359 Blind build fix for Leopard. 70360 70361 * platform/graphics/GraphicsContext.cpp: 70362 (WebCore::GraphicsContext::adjustLineToPixelBoundaries): 70363 70364 2009-08-13 Mike Fenton <mike.fenton (a] torchmobile.com> 70365 70366 Reviewed by Adam Treat. 70367 70368 Style fixes based on cpp_style.py and WebKit Style guide for 70369 GraphicsContextCG.cpp 70370 70371 https://bugs.webkit.org/show_bug.cgi?id=28268 70372 70373 * platform/graphics/cg/GraphicsContextCG.cpp: 70374 (WebCore::GraphicsContext::drawLine): 70375 (WebCore::GraphicsContext::drawEllipse): 70376 (WebCore::GraphicsContext::strokeArc): 70377 (WebCore::GraphicsContext::drawConvexPolygon): 70378 (WebCore::GraphicsContext::applyStrokePattern): 70379 (WebCore::GraphicsContext::drawPath): 70380 (WebCore::GraphicsContext::clipOut): 70381 (WebCore::GraphicsContext::clipOutEllipseInRect): 70382 (WebCore::GraphicsContext::addInnerRoundedRectClip): 70383 (WebCore::GraphicsContext::clipToImageBuffer): 70384 (WebCore::GraphicsContext::setPlatformShadow): 70385 (WebCore::GraphicsContext::setLineCap): 70386 (WebCore::GraphicsContext::setLineJoin): 70387 (WebCore::GraphicsContext::roundToDevicePixels): 70388 (WebCore::GraphicsContext::drawLineForText): 70389 (WebCore::GraphicsContext::setURLForRect): 70390 (WebCore::GraphicsContext::setImageInterpolationQuality): 70391 (WebCore::GraphicsContext::imageInterpolationQuality): 70392 (WebCore::GraphicsContext::setPlatformTextDrawingMode): 70393 (WebCore::GraphicsContext::setCompositeOperation): 70394 70395 2009-08-13 Mike Fenton <mike.fenton (a] torchmobile.com> 70396 70397 Reviewed by Adam Treat. 70398 70399 Style fixes based on cpp_style.py and WebKit Style guide for 70400 GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp. 70401 70402 https://bugs.webkit.org/show_bug.cgi?id=28268 70403 70404 * platform/graphics/GraphicsContext.cpp: 70405 (WebCore::GraphicsContext::save): 70406 (WebCore::GraphicsContext::restore): 70407 (GraphicsContext::drawText): 70408 (GraphicsContext::initFocusRing): 70409 (GraphicsContext::focusRingBoundingRect): 70410 (GraphicsContext::drawImage): 70411 * platform/graphics/GraphicsContext.h: 70412 * platform/graphics/cairo/GraphicsContextCairo.cpp: 70413 (WebCore::GraphicsContext::drawLine): 70414 (WebCore::GraphicsContext::strokeArc): 70415 (WebCore::GraphicsContext::setLineCap): 70416 (WebCore::GraphicsContext::setLineJoin): 70417 (WebCore::toCairoOperator): 70418 * platform/graphics/qt/GraphicsContextQt.cpp: 70419 70420 2009-08-17 Darin Adler <darin (a] apple.com> 70421 70422 Reviewed by Dan Bernstein. 70423 70424 Change HTMLAreaElement to use OwnArrayPtr 70425 https://bugs.webkit.org/show_bug.cgi?id=28386 70426 70427 * html/HTMLAreaElement.cpp: 70428 (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer. 70429 (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call. 70430 (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function 70431 instead of deletion followed by assignment. 70432 * html/HTMLAreaElement.h: Use OwnArrayPtr. 70433 70434 2009-08-17 Darin Adler <darin (a] apple.com> 70435 70436 Fix Windows build. 70437 70438 * dom/make_names.pl: Add back cast to (void*) needed on Windows. 70439 70440 2009-08-17 Darin Adler <darin (a] apple.com> 70441 70442 Reviewed by Dan Bernstein. 70443 70444 Move noResize from HTMLFrameElementBase to HTMLFrameElement 70445 https://bugs.webkit.org/show_bug.cgi?id=28384 70446 70447 * html/HTMLFrameElement.cpp: 70448 (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize. 70449 (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true 70450 here if noresizeAttr is changed. This code was moved here from 70451 HTMLFrameElementBase, but I added some FIXME comments. 70452 (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on 70453 boolean argument. Moved here from HTMLFrameElementBase. 70454 70455 * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize 70456 here from HTMLFrameElementBase. 70457 70458 * html/HTMLFrameElementBase.cpp: 70459 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize. 70460 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse 70461 noresizeAttr. 70462 70463 * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize. 70464 70465 2009-08-17 Darin Adler <darin (a] apple.com> 70466 70467 Reviewed by Dan Bernstein. 70468 70469 Tweak HTMLFrameElementBase so that m_URL can be private 70470 https://bugs.webkit.org/show_bug.cgi?id=28385 70471 70472 * html/HTMLFrameElement.cpp: 70473 (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument. 70474 * html/HTMLFrameElementBase.cpp: 70475 (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of 70476 taking an argument. 70477 (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument. 70478 * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function. 70479 * html/HTMLIFrameElement.cpp: 70480 (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument. 70481 70482 2009-08-17 Darin Adler <darin (a] apple.com> 70483 70484 Reviewed by Dan Bernstein. 70485 70486 HTMLViewSourceDocument should use smart pointers 70487 https://bugs.webkit.org/show_bug.cgi?id=28378 70488 70489 * html/HTMLViewSourceDocument.cpp: 70490 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize 70491 pointers any more since RefPtr starts 0 by default. 70492 (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific 70493 types for local variables. 70494 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr, 70495 and use a RefPtr of a more specific type for a local variable. 70496 (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local 70497 variables, and use RefPtr as well. 70498 (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a 70499 RefPtr of a more specific type for a local variable. 70500 70501 * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and 70502 data member types to RefPtr. 70503 70504 2009-08-17 Darin Adler <darin (a] apple.com> 70505 70506 Reviewed by Sam Weinig. 70507 70508 DOM attribute getter/setter functions should use const AtomicString& type 70509 https://bugs.webkit.org/show_bug.cgi?id=25425 70510 70511 Convert 4 more classes. These are classes I am going to make other changes 70512 to soon, so it's good to have this use of Reflect in the IDL out of the way. 70513 70514 * html/HTMLEmbedElement.idl: Use Reflect for many attributes. 70515 * html/HTMLFrameElement.idl: Ditto. 70516 * html/HTMLIFrameElement.idl: Ditto. 70517 * html/HTMLObjectElement.idl: Ditto. 70518 70519 2009-08-17 Darin Adler <darin (a] apple.com> 70520 70521 Reviewed by Sam Weinig. 70522 70523 Script to create element factory needs changes to accommodate calling create 70524 https://bugs.webkit.org/show_bug.cgi?id=28379 70525 70526 * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes 70527 around names used inside {}. Added new createWithNew property for tags 70528 that makes the factory use a create function instead of calling new. 70529 Renamed functions with initialize in their name to have default in their 70530 name, since they return an array full of default values and don't themselves 70531 initialize anything. 70532 70533 2009-08-16 Darin Adler <darin (a] apple.com> 70534 70535 Reviewed by Dan Bernstein. 70536 70537 StyledElement should use ASCIICType instead of having its own toHex function 70538 https://bugs.webkit.org/show_bug.cgi?id=28377 70539 70540 * dom/StyledElement.cpp: 70541 (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue. 70542 70543 2009-08-16 Darin Adler <darin (a] apple.com> 70544 70545 Reviewed by Dan Bernstein. 70546 70547 execCommand("InsertHorizontalRule") inserts a broken <hr> element 70548 https://bugs.webkit.org/show_bug.cgi?id=28375 70549 70550 * editing/EditorCommand.cpp: 70551 (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement 70552 instead of just an HTMLElement. 70553 70554 2009-08-16 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 70555 70556 Reviewed by George Staikos. 70557 70558 [WML] <option> element & 'onpick' events - history navigation is broken 70559 https://bugs.webkit.org/show_bug.cgi?id=28371 70560 70561 After selecting an option element with an 'onpick' event associated with a 'go' task, 70562 the navigation is executed. When going back in history, the same 'onpick' event is fired 70563 again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug. 70564 70565 Test: wml/option-element-onpick-recursion.html 70566 70567 * wml/WMLOptionElement.cpp: 70568 (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded): 70569 * wml/WMLSelectElement.cpp: 70570 (WebCore::WMLSelectElement::WMLSelectElement): 70571 (WebCore::WMLSelectElement::selectInitialOptions): 70572 * wml/WMLSelectElement.h: 70573 (WebCore::WMLSelectElement::initialized): 70574 70575 2009-08-16 Anthony Ricaud <rik (a] webkit.org> 70576 70577 Reviewed by Timothy Hatcher. 70578 70579 Inspector Resource filtering: keyboard Navigation always uses ALL resources 70580 https://bugs.webkit.org/show_bug.cgi?id=28231 70581 70582 Determine if a resource is selectable on user action. 70583 70584 * inspector/front-end/ResourcesPanel.js: 70585 (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): 70586 70587 2009-08-16 David Kilzer <ddkilzer (a] apple.com> 70588 70589 <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates 70590 70591 Reviewed by Dan Bernstein. 70592 70593 * accessibility/mac/AccessibilityObjectWrapper.mm: 70594 (AXAttributeStringSetSpelling): Changed MIN() to min(). 70595 * platform/graphics/mac/FontMacATSUI.mm: 70596 (WebCore::Font::selectionRectForComplexText): Changed MAX() to 70597 max() and MIN() to min(). 70598 (WebCore::Font::floatWidthForComplexText): Ditto. 70599 * platform/graphics/mac/SimpleFontDataMac.mm: Added using 70600 std::max statement. 70601 (WebCore::SimpleFontData::platformInit): Changed MAX() to max(). 70602 * platform/text/mac/TextCodecMac.cpp: 70603 (WebCore::TextCodecMac::decode): Changed MIN() to min(). 70604 70605 2009-08-16 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 70606 70607 Reviewed by George Staikos. 70608 70609 [WML] Cleanup WMLIntrinsicEventHandling code 70610 https://bugs.webkit.org/show_bug.cgi?id=28358 70611 70612 Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge. 70613 70614 * wml/WMLAnchorElement.cpp: 70615 (WebCore::WMLAnchorElement::defaultEventHandler): 70616 * wml/WMLDoElement.cpp: 70617 (WebCore::WMLDoElement::defaultEventHandler): 70618 * wml/WMLGoElement.cpp: 70619 (WebCore::WMLGoElement::executeTask): 70620 * wml/WMLGoElement.h: 70621 * wml/WMLIntrinsicEventHandler.cpp: 70622 (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent): 70623 * wml/WMLPrevElement.cpp: 70624 (WebCore::WMLPrevElement::executeTask): 70625 * wml/WMLPrevElement.h: 70626 * wml/WMLRefreshElement.cpp: 70627 (WebCore::WMLRefreshElement::executeTask): 70628 * wml/WMLRefreshElement.h: 70629 * wml/WMLTaskElement.h: 70630 70631 2009-08-16 Pavel Feldman <pfeldman (a] chromium.org> 70632 70633 Reviewed by Timothy Hatcher. 70634 70635 WebInspector: A handful of DOMAgent-related fixes and cleanups. 70636 70637 - renamed elementId to nodeId in operations on nodes. 70638 - added load listeners to frame owners in InspectorDOMAgent. 70639 - removed InspectorController::inspectedWindowScriptObjectCleared event. 70640 - preserved isViaInspector flag for 'via inspector' marker to survive styles update. 70641 - removed contentDocument-related logic from ElementsPanel since it is handled in 70642 the InspectorDOMAgent. 70643 - removed DOM listeners unregistration and corresponding events from InspectorController. 70644 - made this.styles 'private' in ElementsPanel. 70645 - added TODO for the handleCopy processing. 70646 70647 https://bugs.webkit.org/show_bug.cgi?id=28356 70648 70649 * WebCore.order: 70650 * inspector/InspectorBackend.cpp: 70651 (WebCore::InspectorBackend::getChildNodes): 70652 (WebCore::InspectorBackend::setTextNodeValue): 70653 * inspector/InspectorBackend.h: 70654 * inspector/InspectorBackend.idl: 70655 * inspector/InspectorController.cpp: 70656 * inspector/InspectorController.h: 70657 * inspector/InspectorDOMAgent.cpp: 70658 (WebCore::InspectorDOMAgent::startListening): 70659 (WebCore::InspectorDOMAgent::stopListening): 70660 (WebCore::InspectorDOMAgent::handleEvent): 70661 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 70662 (WebCore::InspectorDOMAgent::getChildNodes): 70663 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 70664 (WebCore::InspectorDOMAgent::setTextNodeValue): 70665 (WebCore::InspectorDOMAgent::buildObjectForNode): 70666 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): 70667 (WebCore::InspectorDOMAgent::innerParentNode): 70668 * inspector/InspectorDOMAgent.h: 70669 * inspector/InspectorFrontend.cpp: 70670 * inspector/InspectorFrontend.h: 70671 * inspector/front-end/DOMAgent.js: 70672 (WebInspector.DOMDocument.prototype.addEventListener): 70673 (WebInspector.DOMDocument.prototype.removeEventListener): 70674 (WebInspector.DOMDocument.prototype._fireDomEvent): 70675 (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback): 70676 (WebInspector.DOMAgent.prototype.getChildNodesAsync): 70677 (WebInspector.DOMAgent.prototype._setChildNodes): 70678 (WebInspector.CSSStyleDeclaration.parseRule): 70679 (WebInspector.childNodeInserted): 70680 (WebInspector.childNodeRemoved): 70681 * inspector/front-end/ElementsPanel.js: 70682 (WebInspector.ElementsPanel): 70683 (WebInspector.ElementsPanel.prototype.reset): 70684 (WebInspector.ElementsPanel.prototype.addStyleChange): 70685 (WebInspector.ElementsPanel.prototype.removeStyleChange): 70686 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): 70687 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 70688 (WebInspector.ElementsPanel.prototype.handleCopyEvent): 70689 * inspector/front-end/ElementsTreeOutline.js: 70690 (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode): 70691 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): 70692 (WebInspector.ElementsTreeElement): 70693 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 70694 (WebInspector.ElementsTreeElement.prototype._updateChildren): 70695 (WebInspector.ElementsTreeElement.prototype.onexpand): 70696 * inspector/front-end/InjectedScript.js: 70697 (InjectedScript.addStyleSelector): 70698 (InjectedScript._serializeRule): 70699 * inspector/front-end/StylesSidebarPane.js: 70700 (WebInspector.StylePropertiesSection): 70701 * inspector/front-end/inspector.js: 70702 (WebInspector.set hoveredDOMNode): 70703 * inspector/front-end/treeoutline.js: 70704 (TreeOutline.prototype.findTreeElement): 70705 * inspector/front-end/utilities.js: 70706 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): 70707 (Node.prototype.enclosingNodeOrSelfWithClass): 70708 (isAncestorNode): 70709 (firstCommonNodeAncestor): 70710 (traverseNextNode): 70711 (traversePreviousNode): 70712 (): 70713 * loader/FrameLoader.cpp: 70714 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 70715 * page/android/InspectorControllerAndroid.cpp: 70716 70717 2009-08-15 Simon Fraser <simon.fraser (a] apple.com> 70718 70719 Reviewed by Dave Hyatt 70720 70721 Optimize updateFillImages() to not add/remove clients every time 70722 https://bugs.webkit.org/show_bug.cgi?id=28334 70723 70724 Optimize the case where old and new just have a single layer pointing to the same (or no) 70725 image. 70726 70727 * rendering/RenderObject.cpp: 70728 (WebCore::RenderObject::updateFillImages): 70729 70730 2009-08-15 Simon Fraser <simon.fraser (a] apple.com> 70731 70732 Reviewed by Anders Carlsson. 70733 70734 Implement animations of multiple text-shadows and -webkit-box-shadows. 70735 https://bugs.webkit.org/show_bug.cgi?id=28266 70736 70737 Test: transitions/multiple-shadow-transitions.html 70738 70739 * page/animation/AnimationBase.cpp: 70740 (WebCore::PropertyWrapperShadow::equals): 70741 (WebCore::PropertyWrapperShadow::blend): 70742 70743 2009-08-15 Simon Fraser <simon.fraser (a] apple.com> 70744 70745 Reviewed by Anders Carlsson. 70746 70747 Make transitions work for position and size of multiple backgrounds and masks. 70748 https://bugs.webkit.org/show_bug.cgi?id=28266 70749 70750 Make background-position, background-size, -webkit-mask-position and -webkit-mask-size 70751 properties animatable with multiple backgrounds, rather than just animating the first one. 70752 70753 Tests: transitions/multiple-background-size-transitions.html 70754 transitions/multiple-background-transitions.html 70755 transitions/multiple-mask-transitions.html 70756 70757 * page/animation/AnimationBase.cpp: 70758 (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase): 70759 (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase): 70760 (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter): 70761 (WebCore::FillLayerPropertyWrapperGetter::equals): 70762 (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper): 70763 (WebCore::FillLayerPropertyWrapper::blend): 70764 (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): 70765 (WebCore::FillLayersPropertyWrapper::equals): 70766 (WebCore::FillLayersPropertyWrapper::blend): 70767 (WebCore::ensurePropertyMap): 70768 * rendering/style/FillLayer.h: 70769 (WebCore::FillLayer::setXPosition): 70770 (WebCore::FillLayer::setYPosition): 70771 (WebCore::FillLayer::setSize): 70772 70773 2009-08-15 George Staikos <george.staikos (a] torchmobile.com> 70774 70775 Reviewed by Jan Alonzo. 70776 70777 Don't crash in fieldset code when WML is enabled. 70778 https://bugs.webkit.org/show_bug.cgi?id=28012 70779 70780 Test: fast/wml/html-fieldset-crash.html 70781 70782 * rendering/RenderFieldset.cpp: 70783 (WebCore::RenderFieldset::findLegend): ++brackets 70784 70785 2009-08-15 Sam Weinig <sam (a] webkit.org> 70786 70787 Try and enable EventSource on Windows. 70788 70789 * WebCore.vcproj/WebCoreCommon.vsprops: 70790 * WebCore.vcproj/build-generated-files.sh: 70791 70792 2009-08-15 Sam Weinig <sam (a] webkit.org> 70793 70794 Reviewed by Dan Bernstein. 70795 70796 Setting attribute event listeners to the body does not set them on the window 70797 https://bugs.webkit.org/show_bug.cgi?id=28343 70798 70799 Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html 70800 fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html 70801 70802 * html/HTMLBodyElement.cpp: 70803 (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener. 70804 (WebCore::HTMLBodyElement::setOnerror): Ditto. 70805 (WebCore::HTMLBodyElement::setOnfocus): Ditto. 70806 (WebCore::HTMLBodyElement::setOnload): Ditto. 70807 (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto. 70808 (WebCore::HTMLBodyElement::setOnmessage): Ditto. 70809 (WebCore::HTMLBodyElement::setOnoffline): Ditto. 70810 (WebCore::HTMLBodyElement::setOnonline): Ditto. 70811 (WebCore::HTMLBodyElement::setOnresize): Ditto. 70812 (WebCore::HTMLBodyElement::setOnstorage): Ditto. 70813 (WebCore::HTMLBodyElement::setOnunload): Ditto. 70814 * html/HTMLFrameSetElement.cpp: 70815 (WebCore::HTMLFrameSetElement::setOnblur): Ditto. 70816 (WebCore::HTMLFrameSetElement::setOnerror): Ditto. 70817 (WebCore::HTMLFrameSetElement::setOnfocus): Ditto. 70818 (WebCore::HTMLFrameSetElement::setOnload): Ditto. 70819 (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto. 70820 (WebCore::HTMLFrameSetElement::setOnmessage): Ditto. 70821 (WebCore::HTMLFrameSetElement::setOnoffline): Ditto. 70822 (WebCore::HTMLFrameSetElement::setOnonline): Ditto. 70823 (WebCore::HTMLFrameSetElement::setOnresize): Ditto. 70824 (WebCore::HTMLFrameSetElement::setOnstorage): Ditto. 70825 (WebCore::HTMLFrameSetElement::setOnunload): Ditto. 70826 70827 2009-08-15 Sam Weinig <sam (a] webkit.org> 70828 70829 Reviewed by Dan Bernstein. 70830 70831 Fix up some IDL comments. 70832 70833 * html/HTMLBodyElement.idl: 70834 * html/HTMLFrameSetElement.idl: 70835 70836 2009-08-15 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 70837 70838 Reviewed by Sam Weinig. 70839 70840 Added implementation of the EventSource object that enables 70841 server-sent events from HTML5. 70842 http://dev.w3.org/html5/eventsource/ 70843 https://bugs.webkit.org/show_bug.cgi?id=14997 70844 70845 Tests: fast/eventsource/eventsource-attribute-listeners.html 70846 fast/eventsource/eventsource-constructor.html 70847 http/tests/eventsource/eventsource-bad-mime-type.html 70848 http/tests/eventsource/eventsource-parse-event-stream.html 70849 http/tests/eventsource/eventsource-reconnect.html 70850 http/tests/eventsource/eventsource-status-code-states.html 70851 http/tests/eventsource/workers/eventsource-simple.html 70852 70853 * Configurations/FeatureDefines.xcconfig: 70854 * DerivedSources.cpp: 70855 * DerivedSources.make: 70856 * GNUmakefile.am: 70857 * WebCore.pro: 70858 * WebCore.vcproj/WebCore.vcproj: 70859 * WebCore.xcodeproj/project.pbxproj: 70860 * bindings/js/JSDOMWindowCustom.cpp: 70861 (WebCore::JSDOMWindow::eventSource): 70862 * bindings/js/JSEventSourceConstructor.cpp: Added. 70863 (WebCore::): 70864 (WebCore::JSEventSourceConstructor::JSEventSourceConstructor): 70865 (WebCore::constructEventSource): 70866 (WebCore::JSEventSourceConstructor::getConstructData): 70867 * bindings/js/JSEventSourceConstructor.h: Added. 70868 (WebCore::JSEventSourceConstructor::classInfo): 70869 * bindings/js/JSEventSourceCustom.cpp: Added. 70870 (WebCore::JSEventSource::markChildren): 70871 (WebCore::JSEventSource::addEventListener): 70872 (WebCore::JSEventSource::removeEventListener): 70873 * bindings/js/JSEventTarget.cpp: 70874 (WebCore::toJS): 70875 (WebCore::toEventTarget): 70876 * bindings/js/JSWorkerContextCustom.cpp: 70877 (WebCore::JSWorkerContext::eventSource): 70878 * dom/EventNames.h: 70879 * dom/EventTarget.cpp: 70880 (WebCore::EventTarget::toEventSource): 70881 * dom/EventTarget.h: 70882 * page/DOMWindow.idl: 70883 * page/EventSource.cpp: Added. 70884 (WebCore::EventSource::EventSource): 70885 (WebCore::EventSource::~EventSource): 70886 (WebCore::EventSource::connect): 70887 (WebCore::EventSource::endRequest): 70888 (WebCore::EventSource::scheduleReconnect): 70889 (WebCore::EventSource::reconnectTimerFired): 70890 (WebCore::EventSource::url): 70891 (WebCore::EventSource::readyState): 70892 (WebCore::EventSource::close): 70893 (WebCore::EventSource::scriptExecutionContext): 70894 (WebCore::EventSource::addEventListener): 70895 (WebCore::EventSource::removeEventListener): 70896 (WebCore::EventSource::dispatchEvent): 70897 (WebCore::EventSource::didReceiveResponse): 70898 (WebCore::EventSource::didReceiveData): 70899 (WebCore::EventSource::didFinishLoading): 70900 (WebCore::EventSource::didFail): 70901 (WebCore::EventSource::didFailRedirectCheck): 70902 (WebCore::EventSource::parseEventStream): 70903 (WebCore::EventSource::parseEventStreamLine): 70904 (WebCore::EventSource::dispatchGenericEvent): 70905 (WebCore::EventSource::dispatchMessageEvent): 70906 (WebCore::EventSource::stop): 70907 * page/EventSource.h: Added. 70908 (WebCore::EventSource::create): 70909 (WebCore::EventSource::): 70910 (WebCore::EventSource::setOnopen): 70911 (WebCore::EventSource::onopen): 70912 (WebCore::EventSource::setOnmessage): 70913 (WebCore::EventSource::onmessage): 70914 (WebCore::EventSource::setOnerror): 70915 (WebCore::EventSource::onerror): 70916 (WebCore::EventSource::toEventSource): 70917 (WebCore::EventSource::eventListeners): 70918 (WebCore::EventSource::refEventTarget): 70919 (WebCore::EventSource::derefEventTarget): 70920 * page/EventSource.idl: Added. 70921 * workers/WorkerContext.idl: 70922 70923 2009-08-15 Pavel Feldman <pfeldman (a] chromium.org> 70924 70925 Reviewed by Timothy Hatcher. 70926 70927 WebInspector: Minor DOMAgent bugfixes. 70928 70929 https://bugs.webkit.org/show_bug.cgi?id=28177 70930 70931 * inspector/InspectorDOMAgent.cpp: 70932 (WebCore::InspectorDOMAgent::nodeForId): 70933 * inspector/front-end/DOMAgent.js: 70934 (WebInspector.DOMAgent): 70935 * inspector/front-end/ElementsPanel.js: 70936 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 70937 70938 2009-08-15 Pavel Feldman <pfeldman (a] chromium.org> 70939 70940 Reviewed by Timothy Hatcher. 70941 70942 WebInspector: Evaluating objects while on a breakpoint dumps string 70943 representation instead of live object. 70944 70945 https://bugs.webkit.org/show_bug.cgi?id=28280 70946 70947 * inspector/front-end/ConsoleView.js: 70948 (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow): 70949 (WebInspector.ConsoleView.prototype.completions): 70950 (WebInspector.ConsoleView.prototype._reportCompletions): 70951 * inspector/front-end/ScriptsPanel.js: 70952 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation): 70953 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 70954 (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame): 70955 70956 2009-08-15 Maxime Simon <simon.maxime (a] gmail.com> 70957 70958 Reviewed by Eric Seidel. 70959 70960 [Haiku] Adding two new files to WebCore/platform/haiku: 70961 LocalizedStringsHaiku.cpp and LoggingHaiku.cpp 70962 https://bugs.webkit.org/show_bug.cgi?id=28129 70963 70964 * platform/haiku/LocalizedStringsHaiku.cpp: Added. 70965 (WebCore::submitButtonDefaultLabel): 70966 (WebCore::inputElementAltText): 70967 (WebCore::resetButtonDefaultLabel): 70968 (WebCore::defaultLanguage): 70969 (WebCore::searchableIndexIntroduction): 70970 (WebCore::fileButtonChooseFileLabel): 70971 (WebCore::fileButtonNoFileSelectedLabel): 70972 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 70973 (WebCore::contextMenuItemTagDownloadLinkToDisk): 70974 (WebCore::contextMenuItemTagCopyLinkToClipboard): 70975 (WebCore::contextMenuItemTagOpenImageInNewWindow): 70976 (WebCore::contextMenuItemTagDownloadImageToDisk): 70977 (WebCore::contextMenuItemTagCopyImageToClipboard): 70978 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 70979 (WebCore::contextMenuItemTagCopy): 70980 (WebCore::contextMenuItemTagGoBack): 70981 (WebCore::contextMenuItemTagGoForward): 70982 (WebCore::contextMenuItemTagStop): 70983 (WebCore::contextMenuItemTagReload): 70984 (WebCore::contextMenuItemTagCut): 70985 (WebCore::contextMenuItemTagPaste): 70986 (WebCore::contextMenuItemTagNoGuessesFound): 70987 (WebCore::contextMenuItemTagIgnoreSpelling): 70988 (WebCore::contextMenuItemTagLearnSpelling): 70989 (WebCore::contextMenuItemTagSearchWeb): 70990 (WebCore::contextMenuItemTagLookUpInDictionary): 70991 (WebCore::contextMenuItemTagOpenLink): 70992 (WebCore::contextMenuItemTagIgnoreGrammar): 70993 (WebCore::contextMenuItemTagSpellingMenu): 70994 (WebCore::contextMenuItemTagShowSpellingPanel): 70995 (WebCore::contextMenuItemTagCheckSpelling): 70996 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 70997 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 70998 (WebCore::contextMenuItemTagFontMenu): 70999 (WebCore::contextMenuItemTagBold): 71000 (WebCore::contextMenuItemTagItalic): 71001 (WebCore::contextMenuItemTagUnderline): 71002 (WebCore::contextMenuItemTagOutline): 71003 (WebCore::contextMenuItemTagWritingDirectionMenu): 71004 (WebCore::contextMenuItemTagDefaultDirection): 71005 (WebCore::contextMenuItemTagLeftToRight): 71006 (WebCore::contextMenuItemTagRightToLeft): 71007 (WebCore::contextMenuItemTagInspectElement): 71008 (WebCore::searchMenuNoRecentSearchesText): 71009 (WebCore::searchMenuRecentSearchesText): 71010 (WebCore::searchMenuClearRecentSearchesText): 71011 (WebCore::unknownFileSizeText): 71012 (WebCore::AXWebAreaText): 71013 (WebCore::AXLinkText): 71014 (WebCore::AXListMarkerText): 71015 (WebCore::AXImageMapText): 71016 (WebCore::AXHeadingText): 71017 (WebCore::imageTitle): 71018 (WebCore::contextMenuItemTagTextDirectionMenu): 71019 (WebCore::AXButtonActionVerb): 71020 (WebCore::AXTextFieldActionVerb): 71021 (WebCore::AXRadioButtonActionVerb): 71022 (WebCore::AXCheckedCheckBoxActionVerb): 71023 (WebCore::AXUncheckedCheckBoxActionVerb): 71024 (WebCore::AXLinkActionVerb): 71025 (WebCore::AXDefinitionListTermText): 71026 (WebCore::AXDefinitionListDefinitionText): 71027 * platform/haiku/LoggingHaiku.cpp: Added. 71028 (WebCore::InitializeLoggingChannelsIfNecessary): 71029 71030 2009-08-15 Darin Adler <darin (a] apple.com> 71031 71032 Fix GTK build. 71033 71034 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 71035 (fallbackObject): Pass 0 for document. Should be OK at least for now. 71036 71037 2009-08-15 Darin Adler <darin (a] apple.com> 71038 71039 Fix Qt build. 71040 71041 * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new 71042 directly to make CDATASection and Comment nodes. 71043 71044 2009-08-14 Darin Adler <darin (a] apple.com> 71045 71046 Reviewed by Sam Weinig. 71047 71048 Make DOM classes start with a reference count of 1, like all other RefCounted 71049 https://bugs.webkit.org/show_bug.cgi?id=28068 71050 71051 First half, everything except for element classes. 71052 71053 * GNUmakefile.am: Removed DocPtr.h. 71054 * WebCore.gypi: Ditto. 71055 * WebCore.vcproj/WebCore.vcproj: Ditto. 71056 * WebCore.xcodeproj/project.pbxproj: Ditto. 71057 71058 * dom/Attr.cpp: 71059 (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't 71060 have to call it explicitly. 71061 (WebCore::Attr::create): Added. 71062 (WebCore::Attr::setValue): Changed to take AtomicString. 71063 (WebCore::Attr::cloneNode): Use create. 71064 71065 * dom/Attr.h: Added a create function. Made the constructor private, 71066 and a lot of other functions private as well. 71067 71068 * dom/Attribute.cpp: 71069 (WebCore::Attribute::createAttrIfNeeded): Use Attr::create. 71070 71071 * dom/CDATASection.cpp: 71072 (WebCore::CDATASection::create): Added. 71073 (WebCore::CDATASection::cloneNode): Use create. 71074 (WebCore::CDATASection::virtualCreate): Ditto. 71075 71076 * dom/CDATASection.h: Added a create function. Made everything private. 71077 Removed unneeded destructor declaration. 71078 71079 * dom/CharacterData.cpp: 71080 (WebCore::CharacterData::CharacterData): Replaced the multiple constructors 71081 with a single one that takes ConstructionType. 71082 71083 * dom/CharacterData.h: Made more functions be protected and private. 71084 Made m_data be private. 71085 71086 * dom/Comment.cpp: 71087 (WebCore::Comment::Comment): Got rid of an extra constructor. 71088 (WebCore::Comment::create): Added. 71089 (WebCore::Comment::cloneNode): Call create. 71090 71091 * dom/Comment.h: Added a create function. Made everything private. 71092 71093 * dom/ContainerNode.cpp: 71094 (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr. 71095 (WebCore::dispatchChildRemovalEvents): Ditto. 71096 71097 * dom/ContainerNode.h: Made the constructor protected and passed 71098 ConstructionType instead of an isElement boolean. 71099 71100 * dom/DocPtr.h: Removed. 71101 71102 * dom/Document.cpp: 71103 (WebCore::Document::Document): Simplified the code that sets m_document 71104 since it's no longer a smart pointer. 71105 (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef 71106 and selfOnlyDeref instead of a DocPtr in here. 71107 (WebCore::Document::~Document): Simplified the code that sets m_document 71108 since it's no longer a smart pointer. 71109 (WebCore::Document::createDocumentFragment): Call create. 71110 (WebCore::Document::createTextNode): Ditto. 71111 (WebCore::Document::createComment): Ditto. 71112 (WebCore::Document::createCDATASection): Ditto. 71113 (WebCore::Document::createProcessingInstruction): Ditto. 71114 (WebCore::Document::createEntityReference): Ditto. 71115 (WebCore::Document::createEditingTextNode): Ditto. 71116 (WebCore::Document::importNode): Call Attr::create. 71117 (WebCore::Document::createAttributeNS): Ditto. 71118 71119 * dom/Document.h: Call adoptRef. Made a lot of functions private and 71120 protected and sorted them so public functions come first. 71121 71122 * dom/DocumentFragment.cpp: 71123 (WebCore::DocumentFragment::create): Added. 71124 (WebCore::DocumentFragment::cloneNode): Call create. 71125 * dom/DocumentFragment.h: Added create. 71126 71127 * dom/DocumentType.cpp: 71128 (WebCore::DocumentType::DocumentType): Pass type to Node constructor. 71129 (WebCore::DocumentType::cloneNode): Use create. 71130 * dom/DocumentType.h: 71131 (WebCore::DocumentType::create): Call adoptRef. 71132 71133 * dom/EditingText.cpp: 71134 (WebCore::EditingText::create): Added. 71135 * dom/EditingText.h: Added a create function. Made everything private. 71136 71137 * dom/Element.cpp: 71138 (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve 71139 the zero reference count behavior for classes derived from Element. 71140 71141 * dom/EntityReference.cpp: 71142 (WebCore::EntityReference::create): Added. 71143 (WebCore::EntityReference::cloneNode): Call create. 71144 * dom/EntityReference.h: Added create. Made everything private. 71145 71146 * dom/Node.cpp: 71147 (WebCore::Node::initialRefCount): Added. Inline helper function for 71148 the constructor. 71149 (WebCore::Node::isContainer): Ditto. 71150 (WebCore::Node::isElement): Ditto. 71151 (WebCore::Node::isText): Ditto. 71152 (WebCore::Node::Node): Changed to take a construction type argument. 71153 Since m_document is now a normal pointer, added a call to selfOnlyRef. 71154 (WebCore::Node::~Node): Ditto, but selfOnlyDeref. 71155 (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls. 71156 (WebCore::Node::appendTextContent): Use the data function instead of 71157 calling nodeValue functions, which do the same thing in a roundabout way. 71158 71159 * dom/Node.h: Made the constructor protected and replaced the multiple 71160 arguments iwth a single ConstructionType argument. Sorted the public 71161 things first. 71162 71163 * dom/Notation.h: Made most things private. 71164 * dom/Notation.cpp: Removed extra constructor. 71165 71166 * dom/ProcessingInstruction.cpp: 71167 (WebCore::ProcessingInstruction::create): Added. 71168 (WebCore::ProcessingInstruction::cloneNode): Call create. 71169 * dom/ProcessingInstruction.h: Added create function. Made many other 71170 members private. 71171 71172 * dom/Range.cpp: 71173 (WebCore::Range::processContents): Use DocumentFragment::create. 71174 71175 * dom/Text.cpp: 71176 (WebCore::Text::Text): Updated for base class change. 71177 (WebCore::Text::create): Added. 71178 (WebCore::Text::splitText): Changed to not require access to m_data. 71179 (WebCore::Text::cloneNode): Call create. 71180 (WebCore::Text::createRenderer): Call dataImpl. 71181 (WebCore::Text::attach): Call data. 71182 (WebCore::Text::recalcStyle): Call dataImpl. 71183 (WebCore::Text::virtualCreate): Call create. 71184 (WebCore::Text::createWithLengthLimit): Call create. 71185 (WebCore::Text::formatForDebugger): Call data. 71186 71187 * dom/Text.h: Added a create function. Made many other members private. 71188 Renamed createNew to virtualCreate. 71189 71190 * dom/XMLTokenizer.cpp: 71191 (WebCore::XMLTokenizer::enterText): Call Text::create. 71192 71193 * dom/XMLTokenizerLibxml2.cpp: 71194 (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create. 71195 (WebCore::XMLTokenizer::comment): Call Comment::create. 71196 71197 * editing/CompositeEditCommand.cpp: 71198 (WebCore::CompositeEditCommand::deleteInsignificantText): 71199 Call data instead of string. 71200 71201 * editing/CreateLinkCommand.cpp: 71202 (WebCore::CreateLinkCommand::doApply): Call Text::create. 71203 71204 * editing/EditorCommand.cpp: 71205 (WebCore::executeInsertNode): Call DocumentFragment::create. 71206 71207 * editing/SplitTextNodeCommand.cpp: 71208 (WebCore::SplitTextNodeCommand::doApply): Call Text::create. 71209 71210 * editing/markup.cpp: 71211 (WebCore::appendStartMarkup): Call data instead of nodeValue. 71212 71213 * html/HTMLDocument.h: 71214 (WebCore::HTMLDocument::create): Call adoptRef. 71215 71216 * html/HTMLElement.cpp: 71217 (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create. 71218 (WebCore::replaceChildrenWithFragment): Call data instead of string. 71219 (WebCore::replaceChildrenWithText): Call Text::create. 71220 (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and 71221 Text::create. 71222 (WebCore::HTMLElement::setOuterText): Call Text::create. 71223 71224 * html/HTMLKeygenElement.cpp: 71225 (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create. 71226 71227 * html/HTMLOptionElement.cpp: 71228 (WebCore::HTMLOptionElement::setText): Call Text::create. 71229 71230 * html/HTMLParser.cpp: 71231 (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create. 71232 (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create. 71233 (WebCore::HTMLParser::handleIsindex): Call Text::create. 71234 71235 * html/HTMLViewSourceDocument.cpp: 71236 (WebCore::HTMLViewSourceDocument::addText): Call Text::create. 71237 71238 * html/HTMLViewSourceDocument.h: 71239 (WebCore::HTMLViewSourceDocument::create): Call adoptRef. 71240 71241 * loader/FTPDirectoryDocument.cpp: 71242 (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create. 71243 (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create. 71244 71245 * loader/FTPDirectoryDocument.h: 71246 (WebCore::FTPDirectoryDocument::create): Call adoptRef. 71247 * loader/ImageDocument.h: 71248 (WebCore::ImageDocument::create): Ditto. 71249 * loader/MediaDocument.h: 71250 (WebCore::MediaDocument::create): Ditto. 71251 * loader/PlaceholderDocument.h: 71252 (WebCore::PlaceholderDocument::create): Ditto. 71253 * loader/PluginDocument.h: 71254 (WebCore::PluginDocument::create): Ditto. 71255 * loader/TextDocument.h: 71256 (WebCore::TextDocument::create): Ditto. 71257 71258 * loader/loader.cpp: 71259 (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr. 71260 (WebCore::Loader::Host::didFail): Ditto. 71261 71262 * platform/TreeShared.h: 71263 (WebCore::TreeShared::TreeShared): Added an initialRefCount argument, 71264 defaulting to 1. Node still sometimes initializes it to 0 instead for now. 71265 71266 * rendering/RenderText.cpp: 71267 (WebCore::RenderText::originalText): Use dataImpl instead of string. 71268 71269 * rendering/RenderTextFragment.cpp: 71270 (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string. 71271 (WebCore::RenderTextFragment::previousCharacter): Ditto. 71272 71273 * svg/SVGDocument.h: 71274 (WebCore::SVGDocument::create): Use adoptRef. 71275 71276 * svg/SVGElementInstance.cpp: 71277 (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a 71278 PassRefPtr. 71279 71280 * svg/SVGElementInstance.h: Made everything private. 71281 71282 * wml/WMLDocument.h: 71283 (WebCore::WMLDocument::create): Called adoptRef. 71284 71285 * xml/XPathNamespace.cpp: 71286 (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments. 71287 * xml/XPathNamespace.h: Made everything private. 71288 71289 * xml/XSLTProcessor.cpp: 71290 (WebCore::createFragmentFromSource): Use DocumentFragment::create and 71291 Text::create. 71292 71293 2009-08-13 Jon Honeycutt <jhoneycutt (a] apple.com> 71294 71295 Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit 71296 nightly (20866) 71297 71298 https://bugs.webkit.org/show_bug.cgi?id=20866 71299 71300 Reviewed by Oliver Hunt. 71301 71302 * accessibility/AXObjectCache.cpp: 71303 (WebCore::AXObjectCache::AXObjectCache): 71304 Changed to take a pointer to its owner document. This is used by 71305 AXObjectCache::handleFocusedUIElementChanged(). 71306 (WebCore::AXObjectCache::focusedUIElementForPage): 71307 Code moved from AccessibilityRenderObject::focusedUIElement(). Modified 71308 to be a static function and to take a pointer to a Page. 71309 (WebCore::AXObjectCache::platformGenerateAXID): 71310 Moved the code to generate the next AXID from getAXID() to here. Added 71311 a #if to make this non-WIN only, because Windows has its own 71312 implementation. 71313 (WebCore::AXObjectCache::getAXID): 71314 Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX. 71315 71316 * accessibility/AXObjectCache.h: 71317 Add a declaration for Document and Page. Removed the declaration of 71318 AccessibilityObject, because we include the header. Reordered the 71319 declaration of Node alphabetically. Moved the typedef for AXID to 71320 AccessibilityObject. Removed some trailing whitespace. Added a member 71321 variable to hold a pointer to the owner Document. 71322 (WebCore::AXObjectCache::AXObjectCache): 71323 Changed to take a pointer to its owner Document. 71324 (WebCore::AXObjectCache::focusedUIElementForPage): 71325 Added; code moved from AccessiblityRenderObject::focusedUIElement(). 71326 Returns the focused element with respect to accessibility. 71327 (WebCore::AXObjectCache::platformGenerateAXID): 71328 Declare a function to generate an AXID. 71329 (WebCore::AXObjectCache::objectFromAXID): 71330 Return the AccessibilityObject with the given AXID. 71331 71332 * accessibility/AccessibilityObject.h: 71333 Moved the typedef for AXID from AXObjectCache to here. Made the m_id 71334 member use the typedef. 71335 (WebCore::AccessibilityObject::axObjectID): 71336 Changed the return type to use the typedef. 71337 (WebCore::AccessibilityObject::setAXObjectID): 71338 Changed the argument type to use the typedef. 71339 71340 * accessibility/AccessibilityRenderObject.cpp: 71341 Removed some unneeded #includes. 71342 (WebCore::AccessibilityRenderObject::focusedUIElement): 71343 Moved the code to AXObjectCache::focusedUIElementForPage(), which we now 71344 call. 71345 71346 * accessibility/win/AXObjectCacheWin.cpp: 71347 (WebCore::AXObjectCache::platformGenerateAXID): 71348 Ensure that we generate an AXID that is in the range 1 to LONG_MAX. 71349 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 71350 If the Document has no Page, return. If the Page has not focused 71351 element (respecting accessibility), return. Assert that the 71352 accessibility of the focused element is not ignored, and that the 71353 object's AXID will be negative and fit into a LONG when negated. 71354 Broadcast a focus event for the object. 71355 71356 * dom/Document.cpp: 71357 (WebCore::Document::axObjectCache): 71358 Pass this when creating the AXObjectCache. 71359 (WebCore::Document::setFocusedNode): 71360 Call AXObjectCache::handleFocusedUIElementChanged() on Windows. 71361 71362 2009-08-14 Jiahua Huang <jhuangjiahua (a] gmail.com> 71363 71364 Reviewed by Jan Alonzo. 71365 71366 [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target. 71367 https://bugs.webkit.org/show_bug.cgi?id=27028 71368 71369 Remove the improper set of enum WebKitWebViewTargetInfo 71370 by grabbing the target infos via m_helper. 71371 71372 * manual-tests/gtk/copy-htmltext.html: Added. 71373 * platform/Pasteboard.h: 71374 * platform/gtk/PasteboardGtk.cpp: 71375 (WebCore::clipboard_get_contents_cb): 71376 * platform/gtk/PasteboardHelper.h: 71377 71378 2009-08-14 Simon Fraser <simon.fraser (a] apple.com> 71379 71380 Reviewed by Dave Hyatt. 71381 71382 Fix an assertion when bringing up the Inspector. 71383 https://bugs.webkit.org/show_bug.cgi?id=28318 71384 71385 The fix for bug 28295 assumed that image clients count the number of times 71386 addClient/removeClient is called. That was true for CachedResource clients, 71387 but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue. 71388 71389 Fix by making CSSImageGeneratorValue count the number of times a client is 71390 added/removed. 71391 71392 * css/CSSCanvasValue.cpp: 71393 (WebCore::CSSCanvasValue::canvasChanged): 71394 (WebCore::CSSCanvasValue::canvasResized): 71395 * css/CSSImageGeneratorValue.cpp: 71396 (WebCore::CSSImageGeneratorValue::addClient): 71397 (WebCore::CSSImageGeneratorValue::removeClient): 71398 (WebCore::CSSImageGeneratorValue::getImage): 71399 * css/CSSImageGeneratorValue.h: 71400 71401 2009-08-14 Brent Fulgham <bfulgham (a] webkit.org> 71402 71403 Reviewed by Kevin Ollivier. 71404 71405 Correct libcurl crash when downloading local files. 71406 https://bugs.webkit.org/show_bug.cgi?id=28312 71407 71408 No new tests. Test is covered by fast/encoding/char-encoding-mac.html. 71409 71410 * platform/network/curl/ResourceHandleManager.cpp: 71411 (WebCore::handleLocalReceiveResponse): New static function that 71412 performs the local setting of valid URL and firing didReceiveResponse. 71413 This code was moved from writeCallback. 71414 (WebCore::writeCallback): Move local file handling to static function 71415 (above) and use the function instead. 71416 (WebCore::readCallback): Add check 71417 for responseFired, and handle as a local file if it was not. 71418 71419 2009-08-14 Maxime Simon <simon.maxime (a] gmail.com> 71420 71421 Reviewed by Oliver Hunt. 71422 71423 [Haiku] Fix RenderThemeHaiku build. 71424 https://bugs.webkit.org/show_bug.cgi?id=28307 71425 71426 * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h 71427 instead of RenderTheme.h. 71428 (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual' 71429 before the function. 71430 (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual' 71431 before the function. 71432 * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions. 71433 71434 2009-08-14 Maxime Simon <simon.maxime (a] gmail.com> 71435 71436 Reviewed by Oliver Hunt. 71437 71438 [Haiku] Adding SharedBufferHaiku to WebCore. 71439 https://bugs.webkit.org/show_bug.cgi?id=28309 71440 71441 * platform/haiku/SharedBufferHaiku.cpp: Added. 71442 (WebCore::SharedBuffer::createWithContentsOfFile): 71443 * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers 71444 and functions. 71445 (WebCore::signedPublicKeyAndChallengeString): 71446 (WebCore::getSupportedKeySizes): 71447 71448 2009-08-14 Nate Chapin <japhet (a] chromium.org> 71449 71450 Reviewed by Dimitri Glazkov. 71451 71452 Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter. 71453 71454 https://bugs.webkit.org/show_bug.cgi?id=28311 71455 71456 This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html. 71457 71458 * bindings/v8/custom/V8DOMWindowCustom.cpp: 71459 (WebCore::ACCESSOR_GETTER): 71460 71461 2009-08-14 Aaron Boodman <aa (a] chromium.org> 71462 71463 Reviewed by Alexey Proskuryakov. 71464 71465 BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader. 71466 https://bugs.webkit.org/show_bug.cgi?id=28134 71467 71468 No new tests added since Access Control was already well tested and this is a pure refactor. 71469 71470 * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its 71471 basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async 71472 path. 71473 71474 (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags. 71475 (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct. 71476 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto. 71477 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR. 71478 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto. 71479 (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case. 71480 (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. 71481 (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto. 71482 (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto. 71483 (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling. 71484 (WebCore::DocumentThreadableLoader::preflightFailure): Ditto. 71485 (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync. 71486 * loader/DocumentThreadableLoader.h: Group enum params into an options struct. 71487 * loader/ThreadableLoader.cpp: Ditto. 71488 (WebCore::ThreadableLoader::create): Ditto. 71489 (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto. 71490 * loader/ThreadableLoader.h: Ditto. 71491 (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto. 71492 * loader/WorkerThreadableLoader.cpp: Ditto. 71493 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto. 71494 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto. 71495 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto. 71496 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto. 71497 * loader/WorkerThreadableLoader.h: Ditto. 71498 (WebCore::WorkerThreadableLoader::create): Ditto. 71499 * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads. 71500 (WebCore::): 71501 * workers/WorkerScriptLoader.cpp: More enum->struct grouping. 71502 (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping. 71503 (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping. 71504 * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state. 71505 (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto. 71506 (WebCore::XMLHttpRequest::createRequest): Ditto. 71507 (WebCore::XMLHttpRequest::didFinishLoading): Ditto. 71508 (WebCore::XMLHttpRequest::didReceiveResponse): Ditto. 71509 (WebCore::XMLHttpRequest::didReceiveData): Ditto. 71510 * xml/XMLHttpRequest.h: Ditto. 71511 71512 2009-08-14 Darin Adler <darin (a] apple.com> 71513 71514 Reviewed by Sam Weinig. 71515 71516 Rename the confusing isObject(<class>) to inherits(<class>). 71517 It still works on non-objects, returning false. 71518 71519 * bindings/js/JSEventTarget.cpp: 71520 (WebCore::toEventTarget): 71521 * bindings/js/JSGeolocationCustom.cpp: 71522 (WebCore::createPositionCallback): 71523 (WebCore::createPositionErrorCallback): 71524 * bindings/js/JSNodeFilterCustom.cpp: 71525 (WebCore::toNodeFilter): 71526 * bindings/js/JSXMLHttpRequestCustom.cpp: 71527 (WebCore::JSXMLHttpRequest::send): 71528 * bindings/js/JSXSLTProcessorCustom.cpp: 71529 (WebCore::JSXSLTProcessor::importStylesheet): 71530 (WebCore::JSXSLTProcessor::transformToFragment): 71531 (WebCore::JSXSLTProcessor::transformToDocument): 71532 * bindings/scripts/CodeGeneratorJS.pm: 71533 * bridge/objc/objc_runtime.mm: 71534 (JSC::Bindings::callObjCFallbackObject): 71535 * bridge/runtime_method.cpp: 71536 (JSC::callRuntimeMethod): 71537 Updated to new name, inherits, from old name, isObject. 71538 71539 2009-08-14 Yael Aharon <yael.aharon (a] nokia.com> 71540 71541 Reviewed by Simon Hausmann. 71542 71543 Allow Qt API to list and to remove URL schemes that were registered as 71544 local URL schemes. 71545 [Qt] Allow applications to register their own local URL scheme. 71546 https://bugs.webkit.org/show_bug.cgi?id=28240 71547 71548 * page/SecurityOrigin.cpp: 71549 (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal): 71550 (WebCore::SecurityOrigin::localURLSchemes): 71551 * page/SecurityOrigin.h: 71552 71553 2009-08-14 Pavel Feldman <pfeldman (a] chromium.org> 71554 71555 Reviewed by Timothy Hatcher. 71556 71557 WebInspector: Wrap console objects late (in the frontend) so that injected 71558 script was already in place. 71559 71560 https://bugs.webkit.org/show_bug.cgi?id=28297 71561 71562 * inspector/ConsoleMessage.cpp: 71563 (WebCore::ConsoleMessage::ConsoleMessage): 71564 * inspector/ConsoleMessage.h: 71565 * inspector/InspectorController.cpp: 71566 (WebCore::InspectorController::addMessageToConsole): 71567 (WebCore::InspectorController::startGroup): 71568 (WebCore::InspectorController::setFrontendProxyObject): 71569 * inspector/InspectorController.h: 71570 * inspector/InspectorFrontend.cpp: 71571 (WebCore::InspectorFrontend::InspectorFrontend): 71572 (WebCore::InspectorFrontend::addMessageToConsole): 71573 * inspector/InspectorFrontend.h: 71574 71575 2009-08-13 Simon Fraser <simon.fraser (a] apple.com> 71576 71577 Reviewed by Dan Bernstein. 71578 71579 Fix logic in RenderObject::updateFillImages() that led to incorrect client 71580 counts if an image was used twice in the background-image property. 71581 https://bugs.webkit.org/show_bug.cgi?id=28295 71582 71583 Test: fast/backgrounds/multiple-backgrounds-assert.html 71584 71585 * rendering/RenderObject.cpp: 71586 (WebCore::RenderObject::updateFillImages): 71587 Simplify the logic to call addClient()/removeClient() for every background 71588 image, but go through the new layers first to avoid removing all the 71589 clients of an image. 71590 71591 2009-08-13 Oliver Hunt <oliver (a] apple.com> 71592 71593 Reviewed by Maciej Stachowiak. 71594 71595 Devirtualise marking 71596 https://bugs.webkit.org/show_bug.cgi?id=28294 71597 71598 Make sure we override the JSObject createStructure method on those 71599 objects that have custom marking routines. 71600 71601 * bindings/scripts/CodeGeneratorJS.pm: 71602 71603 2009-08-13 Darin Adler <darin (a] apple.com> 71604 71605 Reviewed by Mark Rowe. 71606 71607 Follow-up to earlier work to remove dependencies on JavaScriptCore. 71608 71609 * ForwardingHeaders/parser/Parser.h: Removed. 71610 * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes 71611 of Parser.h. 71612 71613 2009-08-13 Dan Bernstein <mitz (a] apple.com> 71614 71615 Reviewed by Eric Seidel. 71616 71617 'box-orient: block-axis' behaves like 'box-orient: horizontal', causes 71618 an assertion failure in debug builds 71619 https://bugs.webkit.org/show_bug.cgi?id=28279 71620 71621 Test: fast/flexbox/block-axis.html 71622 71623 * css/CSSPrimitiveValueMappings.h: 71624 (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to 71625 vertical. 71626 71627 2009-08-13 Simon Fraser <simon.fraser (a] apple.com> 71628 71629 Reviewed by Dan Bernstein. 71630 71631 Fix crash when removing reflection on an absolutely-positioned image. 71632 https://bugs.webkit.org/show_bug.cgi?id=28289 71633 71634 Make sure we clean up the reflection layer when removing the reflection, 71635 so that the RenderLayer tree does not contain pointers to deleted layers. 71636 71637 Test: fast/reflections/reflected-img-crash.html 71638 71639 * rendering/RenderLayer.cpp: 71640 (WebCore::RenderLayer::~RenderLayer): 71641 (WebCore::RenderLayer::styleChanged): 71642 (WebCore::RenderLayer::removeReflection): 71643 * rendering/RenderLayer.h: 71644 71645 2009-08-13 Dan Bernstein <mitz (a] apple.com> 71646 71647 Reviewed by Simon Fraser. 71648 71649 misalignment because of float:left of <div> tag 71650 https://bugs.webkit.org/show_bug.cgi?id=15869 71651 71652 One section of http://edgar.sec.gov site draws to the right of the rest 71653 of the content 71654 <rdar://problem/7135951> 71655 71656 Tests: fast/block/float/avoidance-percent-width-compat.html 71657 fast/block/float/avoidance-percent-width-strict.html 71658 71659 * rendering/RenderBlock.cpp: 71660 (WebCore::RenderBlock::getClearDelta): Changed to apply the same float 71661 avoidance logic in strict mode and in compatibility mode, which 71662 matches Firefox and IE. Changed to compute and use the computed 71663 width of the child, instead of ignoring non-fixed widths. 71664 71665 2009-08-13 Steve Block <steveblock (a] google.com> 71666 71667 Reviewed by Darin Adler. 71668 71669 Geolocation PositionOptions does not use correct default values. 71670 https://bugs.webkit.org/show_bug.cgi?id=27254 71671 71672 Sets the correct default values for the properties of the PositionOptions object 71673 passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/. 71674 71675 Also adds checking to throw an exception if arguments of the incorrect type are 71676 passed to Geolocation methods. Adds a layout test to test this. This test should 71677 pass on all platforms where Geolocation is implemented. 71678 71679 Test: fast/dom/Geolocation/argument-types.html 71680 71681 * bindings/js/JSGeolocationCustom.cpp: 71682 (WebCore::createPositionCallback): Added. Creates the callback. 71683 (WebCore::createPositionErrorCallback): Added. Creates the calback. 71684 (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required. 71685 (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions. 71686 (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions. 71687 * page/Geolocation.cpp: 71688 (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present. 71689 (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set. 71690 * page/PositionOptions.h: 71691 (WebCore::PositionOptions::create): Modified. Creates object with default values. 71692 (WebCore::PositionOptions::timeout): Modified. Uses correct type. 71693 (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set. 71694 (WebCore::PositionOptions::setTimeout): Modified. Uses correct type. 71695 (WebCore::PositionOptions::maximumAge): Modified. Uses correct type. 71696 (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type. 71697 (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values. 71698 71699 2009-08-13 David Levin <levin (a] chromium.org> 71700 71701 Unreviewed chromium build fix. 71702 71703 [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted. 71704 71705 * bindings/scripts/CodeGeneratorV8.pm: 71706 71707 2009-08-13 Drew Wilson <atwilson (a] google.com> 71708 71709 Reviewed by David Levin. 71710 71711 Merge error in SharedWorker code 71712 https://bugs.webkit.org/show_bug.cgi?id=28277 71713 71714 Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled. 71715 No new tests needed. 71716 71717 * workers/DefaultSharedWorkerRepository.cpp: 71718 Removed duplicated functions. 71719 71720 2009-08-13 Kyle Prete <kylep (a] chromium.org> 71721 71722 Reviewed by Dave Levin. 71723 71724 Chromium: Show a "Playback Disabled" button on media error. 71725 https://bugs.webkit.org/show_bug.cgi?id=28196 71726 Use a disabled play button when the media file cannot be played. 71727 71728 No new tests needed. Covered by LayoutTests/media/video-empty-source.html 71729 71730 * rendering/RenderThemeChromiumSkia.cpp: 71731 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): 71732 71733 2009-08-13 Mark Rowe <mrowe (a] apple.com> 71734 71735 Try and fix the Qt build. 71736 71737 * bridge/qt/qt_runtime.cpp: 71738 71739 2009-08-13 Zan Dobersek <zandobersek (a] gmail.com> 71740 71741 Reviewed by Gustavo Noronha. 71742 71743 [GTK] Drag and drop support 71744 https://bugs.webkit.org/show_bug.cgi?id=23642 71745 71746 Utilizes functions that are being called upon drag and drop actions. 71747 Uses different GTK clipboards that hold different types 71748 of drag data - images, HTML markup, text, URL, URL label. 71749 Also clears each clipboard before setting new data to it. 71750 71751 No new tests - despite some implementations, no new functionality 71752 is added until implementations of the GTK drag and drop protocol 71753 in WebKit part. 71754 71755 * platform/gtk/ClipboardGtk.cpp: 71756 (WebCore::ClipboardGtk::ClipboardGtk): 71757 (WebCore::ClipboardGtk::~ClipboardGtk): 71758 (WebCore::getCachedImage): 71759 (WebCore::ClipboardGtk::declareAndWriteDragImage): 71760 (WebCore::ClipboardGtk::writeURL): 71761 (WebCore::ClipboardGtk::writeRange): 71762 * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk 71763 71764 2009-08-13 Darin Adler <darin (a] apple.com> 71765 71766 Reviewed by David Levin. 71767 71768 JavaScriptCore tweaks to get ready for the parser arena 71769 https://bugs.webkit.org/show_bug.cgi?id=28243 71770 71771 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed. 71772 71773 * WebCore.xcodeproj/project.pbxproj: Exposed a couple header 71774 files as Private that are now needed to compile Mac WebKit. 71775 71776 * bindings/js/JSAudioConstructor.cpp: 71777 * bindings/js/JSDOMBinding.cpp: 71778 * bindings/js/JSDOMBinding.h: 71779 * bindings/js/JSDOMWindowCustom.cpp: 71780 * bindings/js/JSHTMLInputElementCustom.cpp: 71781 * bindings/js/JSHistoryCustom.cpp: 71782 * bindings/js/JSImageConstructor.cpp: 71783 * bindings/js/JSLazyEventListener.cpp: 71784 * bindings/js/JSLocationCustom.cpp: 71785 * bindings/js/JSMessageChannelConstructor.cpp: 71786 * bindings/js/JSOptionConstructor.cpp: 71787 * bindings/js/JSWebSocketConstructor.cpp: 71788 * bindings/js/JSWebSocketCustom.cpp: 71789 * bindings/js/JSWorkerConstructor.cpp: 71790 * bindings/js/JSXMLHttpRequestConstructor.cpp: 71791 * bridge/jni/jni_jsobject.mm: 71792 Updated includes. 71793 71794 * inspector/JavaScriptDebugServer.cpp: 71795 (WebCore::JavaScriptDebugServer::sourceParsed): 71796 Change to not assert if this is called with no listeners. 71797 I don't think this was guaranteed before, and we now use 71798 this code path when recompiling. Slightly less efficient, 71799 but this is a one-time cost when turning on the debugger. 71800 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 71801 Change to call Debugger::recompileAllJSFunctions. 71802 71803 2009-08-13 Brady Eidson <beidson (a] apple.com> 71804 71805 Reviewed by Eric Seidel. 71806 71807 <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260 71808 onhashchange property cannot be set from javascript. 71809 71810 Test: fast/loader/onhashchange-attribute-listeners.html 71811 71812 * html/HTMLBodyElement.cpp: 71813 (WebCore::HTMLBodyElement::onhashchange): 71814 (WebCore::HTMLBodyElement::setOnhashchange): 71815 * html/HTMLBodyElement.h: 71816 * html/HTMLBodyElement.idl: 71817 71818 * html/HTMLFrameSetElement.cpp: 71819 (WebCore::HTMLFrameSetElement::onhashchange): 71820 (WebCore::HTMLFrameSetElement::setOnhashchange): 71821 * html/HTMLFrameSetElement.h: 71822 * html/HTMLFrameSetElement.idl: 71823 71824 * page/DOMWindow.cpp: 71825 (WebCore::DOMWindow::onhashchange): 71826 (WebCore::DOMWindow::setOnhashchange): 71827 * page/DOMWindow.h: 71828 * page/DOMWindow.idl: 71829 71830 2009-08-13 Mark Rowe <mrowe (a] apple.com> 71831 71832 Reviewed by Geoff Garen. 71833 71834 Fix leaks of RGBColor instances from below SVGColor::rgbColor. 71835 71836 * svg/SVGColor.cpp: 71837 (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated 71838 RGBColor is cleaned up by the caller. 71839 * svg/SVGColor.h: 71840 71841 2009-08-13 Pavel Feldman <pfeldman (a] chromium.org> 71842 71843 Reviewed by Timothy Hatcher. 71844 71845 WebInspector: Migrate to DOMAgent (serialized access to DOM). 71846 71847 https://bugs.webkit.org/show_bug.cgi?id=28177 71848 71849 * bindings/js/JSInspectorBackendCustom.cpp: 71850 (WebCore::JSInspectorBackend::highlightDOMNode): 71851 (WebCore::JSInspectorBackend::nodeForId): 71852 (WebCore::JSInspectorBackend::idForNode): 71853 (WebCore::JSInspectorBackend::wrapObject): 71854 (WebCore::JSInspectorBackend::unwrapObject): 71855 (WebCore::JSInspectorBackend::pushNodePathToFrontend): 71856 (WebCore::JSInspectorBackend::selectDatabase): 71857 (WebCore::JSInspectorBackend::selectDOMStorage): 71858 * bindings/js/ScriptObjectQuarantine.cpp: 71859 (WebCore::getQuarantinedScriptObject): 71860 * bindings/js/ScriptObjectQuarantine.h: 71861 * bindings/js/ScriptValue.cpp: 71862 (WebCore::ScriptValue::isObject): 71863 * bindings/js/ScriptValue.h: 71864 * bindings/v8/ScriptObjectQuarantine.cpp: 71865 (WebCore::getQuarantinedScriptObject): 71866 * bindings/v8/ScriptObjectQuarantine.h: 71867 * bindings/v8/ScriptValue.h: 71868 (WebCore::ScriptValue::isObject): 71869 * bindings/v8/custom/V8CustomBinding.h: 71870 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 71871 (WebCore::CALLBACK_FUNC_DECL): 71872 * inspector/ConsoleMessage.cpp: 71873 (WebCore::ConsoleMessage::ConsoleMessage): 71874 * inspector/ConsoleMessage.h: 71875 * inspector/InspectorBackend.cpp: 71876 (WebCore::InspectorBackend::clearMessages): 71877 (WebCore::InspectorBackend::loaded): 71878 (WebCore::InspectorBackend::highlight): 71879 (WebCore::InspectorBackend::nodeForId): 71880 (WebCore::InspectorBackend::idForNode): 71881 (WebCore::InspectorBackend::wrapObject): 71882 (WebCore::InspectorBackend::unwrapObject): 71883 (WebCore::InspectorBackend::pushNodePathToFrontend): 71884 (WebCore::InspectorBackend::addNodesToSearchResult): 71885 (WebCore::InspectorBackend::selectDatabase): 71886 (WebCore::InspectorBackend::selectDOMStorage): 71887 * inspector/InspectorBackend.h: 71888 * inspector/InspectorBackend.idl: 71889 * inspector/InspectorController.cpp: 71890 (WebCore::InspectorController::InspectorController): 71891 (WebCore::InspectorController::focusNode): 71892 (WebCore::InspectorController::addMessageToConsole): 71893 (WebCore::InspectorController::clearConsoleMessages): 71894 (WebCore::InspectorController::startGroup): 71895 (WebCore::InspectorController::scriptObjectReady): 71896 (WebCore::InspectorController::setFrontendProxyObject): 71897 (WebCore::InspectorController::close): 71898 (WebCore::InspectorController::didCommitLoad): 71899 (WebCore::InspectorController::wrapObject): 71900 (WebCore::InspectorController::unwrapObject): 71901 * inspector/InspectorController.h: 71902 * inspector/InspectorDOMAgent.cpp: 71903 (WebCore::InspectorDOMAgent::setDocument): 71904 (WebCore::InspectorDOMAgent::handleEvent): 71905 (WebCore::InspectorDOMAgent::pushDocumentToFrontend): 71906 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 71907 (WebCore::InspectorDOMAgent::nodeForId): 71908 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 71909 (WebCore::InspectorDOMAgent::buildObjectForNode): 71910 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): 71911 (WebCore::InspectorDOMAgent::innerParentElement): 71912 * inspector/InspectorDOMAgent.h: 71913 * inspector/InspectorDOMStorageResource.cpp: 71914 (WebCore::InspectorDOMStorageResource::bind): 71915 * inspector/InspectorFrontend.cpp: 71916 (WebCore::InspectorFrontend::clearConsoleMessages): 71917 (WebCore::InspectorFrontend::updateFocusedNode): 71918 (WebCore::InspectorFrontend::setDocument): 71919 (WebCore::InspectorFrontend::selectDatabase): 71920 (WebCore::InspectorFrontend::selectDOMStorage): 71921 (WebCore::InspectorFrontend::addNodesToSearchResult): 71922 * inspector/InspectorFrontend.h: 71923 * inspector/front-end/ConsoleView.js: 71924 (WebInspector.ConsoleView.prototype.clearMessages): 71925 (WebInspector.ConsoleView.prototype.completions): 71926 (WebInspector.ConsoleView.prototype._reportCompletions): 71927 (WebInspector.ConsoleView.prototype._messagesClicked): 71928 (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback): 71929 (WebInspector.ConsoleView.prototype.doEvalInWindow): 71930 (WebInspector.ConsoleView.prototype._format): 71931 (WebInspector.ConsoleView.prototype._formatfunction): 71932 (WebInspector.ConsoleView.prototype._formatdate): 71933 (WebInspector.ConsoleView.prototype._formatregexp): 71934 (WebInspector.ConsoleView.prototype._formatnode): 71935 (WebInspector.ConsoleView.prototype._formatobject): 71936 * inspector/front-end/DOMAgent.js: 71937 (WebInspector.DOMNode): 71938 (WebInspector.DOMNode.prototype._renumber): 71939 (WebInspector.DOMDocument): 71940 (WebInspector.DOMAgent): 71941 (WebInspector.DOMAgent.prototype.getChildNodesAsync): 71942 (WebInspector.DOMAgent.prototype.setAttributeAsync): 71943 (WebInspector.DOMAgent.prototype.removeAttributeAsync): 71944 (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): 71945 (WebInspector.DOMAgent.prototype.nodeForId): 71946 (WebInspector.DOMAgent.prototype._setDocument): 71947 (WebInspector.DOMAgent.prototype._setChildNodes): 71948 (WebInspector.DOMAgent.prototype._bindNodes): 71949 (WebInspector.DOMAgent.prototype._childNodeInserted): 71950 (WebInspector.CSSStyleDeclaration): 71951 (WebInspector.CSSStyleDeclaration.parseRule): 71952 (WebInspector.setDocument): 71953 (InspectorController.getStyles): 71954 (InspectorController.getComputedStyle): 71955 (InspectorController.getInlineStyle): 71956 (InspectorController.applyStyleText): 71957 (InspectorController.setStyleText): 71958 (InspectorController.toggleStyleEnabled): 71959 (InspectorController.applyStyleRuleText): 71960 (InspectorController.addStyleSelector): 71961 (InspectorController.setStyleProperty): 71962 (InspectorController.getPrototypes): 71963 (InspectorController.getProperties): 71964 (InspectorController.setPropertyValue): 71965 (InspectorController.evaluate): 71966 (InspectorController.addInspectedNode): 71967 (InspectorController.performSearch): 71968 (InspectorController.searchCanceled): 71969 * inspector/front-end/ElementsPanel.js: 71970 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 71971 (WebInspector.ElementsPanel.prototype.searchCanceled): 71972 (WebInspector.ElementsPanel.prototype.performSearch): 71973 (WebInspector.ElementsPanel.prototype._updateMatchesCount): 71974 (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon): 71975 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): 71976 * inspector/front-end/ElementsTreeOutline.js: 71977 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode): 71978 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): 71979 (WebInspector.ElementsTreeElement.prototype.updateChildren): 71980 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 71981 * inspector/front-end/InjectedScript.js: 71982 (InjectedScript.applyStyleRuleText): 71983 (InjectedScript.addStyleSelector): 71984 (InjectedScript._doesSelectorAffectNode): 71985 (InjectedScript._serializeRule): 71986 (InjectedScript._serializeStyle): 71987 (InjectedScript.getProperties): 71988 (InjectedScript.evaluate): 71989 (InjectedScript.addInspectedNode): 71990 (InjectedScript.performSearch.addNodesToResults): 71991 (InjectedScript.performSearch.matchExactItems): 71992 (InjectedScript.performSearch.matchExactId.addNodesToResults.call): 71993 (InjectedScript.performSearch.matchExactId): 71994 (InjectedScript.performSearch): 71995 (InjectedScript.performSearch.matchExactTagNames): 71996 (InjectedScript.performSearch.matchExactAttributeNames): 71997 (InjectedScript.performSearch.matchPartialTagNames): 71998 (InjectedScript.performSearch.matchStartOfTagNames): 71999 (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues): 72000 (InjectedScript.performSearch.matchPartialAttributeValues): 72001 (InjectedScript.performSearch.matchStyleSelector): 72002 (InjectedScript.performSearch.matchPlainText): 72003 (InjectedScript.performSearch.matchXPathQuery): 72004 (InjectedScript.performSearch.finishedSearching): 72005 (InjectedScript.performSearch.processChunk): 72006 (InjectedScript.searchCanceled): 72007 (InjectedScript._ensureCommandLineAPIInstalled.inspectObject): 72008 (InjectedScript._ensureCommandLineAPIInstalled): 72009 (InjectedScript._resolveObject): 72010 (InjectedScript._nodeForId): 72011 (InjectedScript._objectForId): 72012 (InjectedScript._createProxyObject): 72013 * inspector/front-end/ObjectPropertiesSection.js: 72014 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 72015 (WebInspector.ObjectPropertyTreeElement.prototype.update): 72016 * inspector/front-end/ObjectProxy.js: 72017 (WebInspector.ObjectProxy): 72018 (WebInspector.ObjectPropertyProxy): 72019 * inspector/front-end/PropertiesSidebarPane.js: 72020 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 72021 (WebInspector.PropertiesSidebarPane.prototype.update): 72022 * inspector/front-end/StylesSidebarPane.js: 72023 (WebInspector.StylesSidebarPane.prototype.update.callback): 72024 (WebInspector.StylesSidebarPane.prototype.update): 72025 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 72026 (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): 72027 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback): 72028 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted): 72029 (WebInspector.StylePropertyTreeElement.prototype): 72030 * inspector/front-end/inspector.js: 72031 (WebInspector._updateHoverHighlight): 72032 (WebInspector.loaded): 72033 (WebInspector.clearConsoleMessages): 72034 (WebInspector.selectDatabase): 72035 (WebInspector.selectDOMStorage): 72036 (WebInspector.updateFocusedNode): 72037 (WebInspector.addNodesToSearchResult): 72038 * inspector/front-end/utilities.js: 72039 (Object.proxyType): 72040 * storage/Storage.h: 72041 (WebCore::Storage::frame): 72042 72043 2009-08-13 Mark Rowe <mrowe (a] apple.com> 72044 72045 Reviewed by Geoff Garen. 72046 72047 Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue. 72048 72049 * css/CSSPrimitiveValue.cpp: 72050 (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the 72051 newly-allocated RGBColor is cleaned up by the caller. 72052 * css/CSSPrimitiveValue.h: 72053 72054 2009-08-13 Eric Seidel <eric (a] webkit.org> 72055 72056 Reviewed by David Hyatt. 72057 72058 wrong font size when css font-family includes monospace 72059 https://bugs.webkit.org/show_bug.cgi?id=19161 72060 72061 Firefox only uses fixed-width default size for exactly "font-family: monospace;". 72062 WebKit has historically used fixed-width default size any time a 72063 font-family includes monospace in the fallback list. 72064 72065 This patch corrects WebKit's behavior to match Firefox. 72066 I also had to fix a bug in WebKit's font-family fallback behavior where 72067 child elements would inherit parts of their parents fallback lists. 72068 72069 This patch is mostly just replacing all cases where we used to check for: 72070 fontDescription.genericFontFamily() == MonospaceFamily 72071 with: 72072 fontDescription.useFixedDefaultSize() 72073 72074 Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html 72075 fast/css/getComputedStyle/font-family-fallback-reset.html 72076 72077 * css/CSSStyleSelector.cpp: 72078 (WebCore::CSSStyleSelector::applyProperty): 72079 Deploy useFixedDefaultSize(). Also fix the bug where child 72080 FontDescriptions would carry part of the parent font-family fallback list. 72081 (WebCore::CSSStyleSelector::checkForGenericFamilyChange): 72082 It's no longer alright to just check genericFontFamily(), 72083 we have to check to make sure the changed style has a matching useFixedDefaultSize(). 72084 * platform/graphics/FontDescription.h: 72085 (WebCore::FontDescription::useFixedDefaultSize): 72086 Only use the fixed default size if we have one font family and it is "monospace". 72087 "-webkit-monospace" is the internal representation of the CSS identifier "monospace". 72088 72089 2009-08-13 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 72090 72091 Reviewed by Dimitri Glazkov. 72092 72093 [v8] Fix atomic string externalization crash. 72094 Atomic string externalization assumes that all non-empty strings 72095 can be externalized which is untrue on 64-bit. This change fixed 72096 that. 72097 72098 https://bugs.webkit.org/show_bug.cgi?id=28215 72099 72100 This bug causes loads of test crashes, no need to add new tests 72101 specifically for this. 72102 72103 * bindings/v8/V8Binding.cpp: 72104 (WebCore::v8StringToAtomicWebCoreString): 72105 72106 2009-08-13 George Staikos <george.staikos (a] torchmobile.com> 72107 72108 Rubberstamped by Darin Adler. 72109 72110 Use ASSERT_UNUSED instead of UNUSED_PARAM 72111 72112 * wml/WMLAnchorElement.cpp: 72113 (WebCore::WMLAnchorElement::deregisterTask): 72114 * wml/WMLDoElement.cpp: 72115 (WebCore::WMLDoElement::deregisterTask): 72116 72117 2009-08-13 Steve Block <steveblock (a] google.com> 72118 72119 Reviewed by Darin Adler. 72120 72121 Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier. 72122 https://bugs.webkit.org/show_bug.cgi?id=28262 72123 72124 No new tests possible. 72125 72126 * page/SecurityOrigin.cpp: 72127 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): 72128 72129 2009-08-13 Dirk Schulze <krit (a] webkit.org> 72130 72131 Reviewed by Eric Seidel. 72132 72133 [CAIRO] getImageData fails on a given rect bigger than the image rect 72134 72135 The destination image and the source image was mixed up on creating the 72136 imageData. 72137 72138 This is just a clean up and doesn't affect the current behavior. It's not 72139 possible to test this failure in a LayoutTest. Only canvas uses getImageData 72140 at the moment and returns before calling getImageData, if the image rect does 72141 not contain the requested rect. 72142 72143 * platform/graphics/cairo/ImageBufferCairo.cpp: 72144 (WebCore::getImageData): 72145 72146 2009-08-13 Maxime Simon <simon.maxime (a] gmail.com> 72147 72148 Reviewed by Eric Seidel. 72149 72150 [Haiku] Adding RenderTheme to WebCore. 72151 https://bugs.webkit.org/show_bug.cgi?id=28258 72152 72153 * platform/haiku/RenderThemeHaiku.cpp: Added. 72154 (WebCore::RenderThemeHaiku::create): 72155 (WebCore::RenderTheme::themeForPage): 72156 (WebCore::RenderThemeHaiku::RenderThemeHaiku): 72157 (WebCore::RenderThemeHaiku::~RenderThemeHaiku): 72158 (WebCore::supportsFocus): 72159 (WebCore::RenderThemeHaiku::supportsFocusRing): 72160 (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor): 72161 (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor): 72162 (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor): 72163 (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor): 72164 (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor): 72165 (WebCore::RenderThemeHaiku::systemFont): 72166 (WebCore::RenderThemeHaiku::paintCheckbox): 72167 (WebCore::RenderThemeHaiku::setCheckboxSize): 72168 (WebCore::RenderThemeHaiku::paintRadio): 72169 (WebCore::RenderThemeHaiku::setRadioSize): 72170 (WebCore::RenderThemeHaiku::adjustMenuListStyle): 72171 (WebCore::RenderThemeHaiku::paintMenuList): 72172 * platform/haiku/RenderThemeHaiku.h: Added. 72173 (WebCore::RenderThemeHaiku::supportsHover): 72174 72175 2009-08-13 Maxime Simon <simon.maxime (a] gmail.com> 72176 72177 Reviewed by Eric Seidel. 72178 72179 [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp 72180 https://bugs.webkit.org/show_bug.cgi?id=28256 72181 72182 * platform/haiku/ContextMenuHaiku.cpp: 72183 (WebCore::ContextMenuReceiver::ContextMenuReceiver): 72184 (WebCore::ContextMenu::ContextMenu): 72185 (WebCore::ContextMenu::appendItem): 72186 (WebCore::ContextMenu::insertItem): 72187 72188 2009-08-13 Joseph Pecoraro <joepeck02 (a] gmail.com> 72189 72190 Reviewed by Darin Adler. 72191 72192 Inspector: Show Hidden Cookie Data 72193 https://bugs.webkit.org/show_bug.cgi?id=28185 72194 72195 Added new file Cookie.h to the WebCore XCode 72196 72197 * WebCore.xcodeproj/project.pbxproj: 72198 72199 InspectorController.cookies() binding 72200 72201 * bindings/js/JSInspectorBackendCustom.cpp: 72202 (WebCore::JSInspectorBackend::cookies): 72203 * inspector/InspectorBackend.idl: 72204 72205 Struct for static Cookie information 72206 (name, value, path, domain, expires, httpOnly, secure, session) 72207 72208 * platform/Cookie.h: Added. 72209 (WebCore::Cookie::Cookie): 72210 72211 Getter for the a list of raw Cookies 72212 getRawCookies(., ., out Vector<Cookie>) 72213 72214 * platform/CookieJar.h: 72215 72216 Implementation of getRawCookies for the mac platform. 72217 72218 * platform/mac/CookieJar.mm: 72219 (WebCore::getRawCookies): 72220 72221 Stub other CookieJar implementations to satisfy the interface. 72222 72223 * platform/haiku/CookieJarHaiku.cpp: 72224 (WebCore::getRawCookies): 72225 * platform/network/chromium/CookieJarChromium.cpp: 72226 (WebCore::getRawCookies): 72227 * platform/network/curl/CookieJarCurl.cpp: 72228 (WebCore::getRawCookies): 72229 * platform/network/soup/CookieJarSoup.cpp: 72230 (WebCore::getRawCookies): 72231 * platform/network/win/CookieJarCFNetWin.cpp: 72232 (WebCore::getRawCookies): 72233 * platform/network/win/CookieJarWin.cpp: 72234 (WebCore::getRawCookies): 72235 * platform/qt/CookieJarQt.cpp: 72236 (WebCore::getRawCookies): 72237 72238 2009-08-13 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 72239 72240 Reviewed by Timothy Hatcher. 72241 72242 Add a new gesture in Web Inspector to remove breakpoints 72243 https://bugs.webkit.org/show_bug.cgi?id=19131 72244 72245 * inspector/front-end/SourceFrame.js: 72246 (WebInspector.SourceFrame.prototype._documentMouseDown): 72247 72248 2009-08-13 Norbert Leser <norbert.leser (a] nokia.com> 72249 72250 Reviewed by Simon Hausmann. 72251 72252 Symbian target components (library and executable files) 72253 require Unique Identifiers (i.e., UID3). 72254 These identifiers are defined in the respective project 72255 file, conditionally for "symbian" platform. 72256 72257 * WebCore.pro: 72258 72259 2009-08-13 Shinichiro Hamaji <hamaji (a] chromium.org> 72260 72261 Reviewed by Eric Seidel. 72262 72263 wrong calculation of overflow size for flexbox and table 72264 https://bugs.webkit.org/show_bug.cgi?id=28064 72265 72266 RenderFlexibleBox and RenderTable were using the width of overflow 72267 to update height of overflow, so height became wrong value and 72268 width was not updated. As the corresponding code of RenderBlock 72269 was sane, I factored it out and used from RenderFlexibleBox and 72270 RenderTable. 72271 72272 * rendering/RenderBlock.cpp: 72273 (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock 72274 (WebCore::RenderBlock::layoutBlock): 72275 * rendering/RenderBlock.h: 72276 * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection 72277 (WebCore::RenderFlexibleBox::layoutBlock): 72278 * rendering/RenderTable.cpp: 72279 (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection 72280 72281 2009-08-13 Mark Rowe <mrowe (a] apple.com> 72282 72283 Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the 72284 Windows build in a non-obvious manner. 72285 72286 * WebCore.xcodeproj/project.pbxproj: 72287 * bindings/js/JSInspectorBackendCustom.cpp: 72288 * inspector/InspectorBackend.idl: 72289 * platform/Cookie.h: Removed. 72290 * platform/CookieJar.h: 72291 * platform/haiku/CookieJarHaiku.cpp: 72292 (WebCore::setCookies): 72293 (WebCore::cookies): 72294 * platform/mac/CookieJar.mm: 72295 * platform/network/chromium/CookieJarChromium.cpp: 72296 * platform/network/curl/CookieJarCurl.cpp: 72297 * platform/network/soup/CookieJarSoup.cpp: 72298 * platform/network/win/CookieJarCFNetWin.cpp: 72299 * platform/network/win/CookieJarWin.cpp: 72300 * platform/qt/CookieJarQt.cpp: 72301 72302 2009-08-13 Ariya Hidayat <ariya.hidayat (a] nokia.com> 72303 72304 Not reviewed: build fix (for r47192), adding new file from 72305 https://bugs.webkit.org/show_bug.cgi?id=28174 72306 72307 * inspector/front-end/StatusBarButton.js: Added. 72308 72309 2009-08-13 Mikhail Naganov <mnaganov (a] chromium.org> 72310 72311 Reviewed by Timothy Hatcher. 72312 72313 Introduced StatusBarButton class that encapsulates glyphs support. 72314 Views updated accordingly. 72315 72316 https://bugs.webkit.org/show_bug.cgi?id=28174 72317 72318 * WebCore.gypi: 72319 * WebCore.vcproj/WebCore.vcproj: 72320 * inspector/front-end/CookieItemsView.js: 72321 (WebInspector.CookieItemsView): 72322 (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.) 72323 (WebInspector.CookieItemsView.prototype.hide): 72324 (WebInspector.CookieItemsView.prototype.update): 72325 * inspector/front-end/DOMStorageItemsView.js: 72326 (WebInspector.DOMStorageItemsView): 72327 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems): 72328 (WebInspector.DOMStorageItemsView.prototype.hide): 72329 (WebInspector.DOMStorageItemsView.prototype.update): 72330 * inspector/front-end/ElementsPanel.js: 72331 (WebInspector.ElementsPanel): 72332 (WebInspector.ElementsPanel.prototype.get statusBarItems): 72333 (WebInspector.ElementsPanel.prototype.hide): 72334 (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked): 72335 * inspector/front-end/Panel.js: 72336 * inspector/front-end/ProfileView.js: 72337 (WebInspector.ProfileView): 72338 (WebInspector.ProfileView.prototype.get statusBarItems): 72339 (WebInspector.ProfileView.prototype._updatePercentButton): 72340 (WebInspector.ProfileView.prototype._focusClicked): 72341 (WebInspector.ProfileView.prototype._excludeClicked): 72342 (WebInspector.ProfileView.prototype._resetClicked): 72343 * inspector/front-end/ProfilesPanel.js: 72344 (WebInspector.ProfilesPanel): 72345 (WebInspector.ProfilesPanel.prototype.get statusBarItems): 72346 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): 72347 (WebInspector.ProfilesPanel.prototype._updateInterface): 72348 * inspector/front-end/ResourcesPanel.js: 72349 (WebInspector.ResourcesPanel.prototype.get statusBarItems): 72350 (WebInspector.ResourcesPanel.prototype.reset): 72351 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): 72352 * inspector/front-end/ScriptsPanel.js: 72353 (WebInspector.ScriptsPanel): 72354 (WebInspector.ScriptsPanel.prototype.get statusBarItems): 72355 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): 72356 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): 72357 * inspector/front-end/StatusBarButton.js: Added. 72358 (WebInspector.StatusBarButton): 72359 (WebInspector.StatusBarButton.prototype._clicked): 72360 (WebInspector.StatusBarButton.prototype.get disabled): 72361 (WebInspector.StatusBarButton.prototype.set disabled): 72362 (WebInspector.StatusBarButton.prototype.get title): 72363 (WebInspector.StatusBarButton.prototype.set title): 72364 (WebInspector.StatusBarButton.prototype.get toggled): 72365 (WebInspector.StatusBarButton.prototype.set toggled): 72366 (WebInspector.StatusBarButton.prototype.get visible): 72367 (WebInspector.StatusBarButton.prototype.set visible): 72368 * inspector/front-end/WebKit.qrc: 72369 * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs. 72370 * inspector/front-end/inspector.html: 72371 72372 2009-08-12 Ariya Hidayat <ariya.hidayat (a] nokia.com> 72373 72374 Reviewed by Simon Hausmann. 72375 72376 [Qt] Add shadow support in GraphicsContext::fillRect(). 72377 72378 * platform/graphics/qt/GraphicsContextQt.cpp: 72379 (WebCore::GraphicsContext::fillRect): Paint shadow if necessary. 72380 (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset. 72381 72382 2009-08-13 David Levin <levin (a] chromium.org> 72383 72384 Unreviewed build fix for Chromium Linux. 72385 72386 Rollback r47157 as this broke debug tests of Chromium Linux. 72387 72388 * platform/graphics/skia/PlatformContextSkia.cpp: 72389 (PlatformContextSkia::setupPaintCommon): 72390 72391 2009-08-13 David Levin <levin (a] chromium.org> 72392 72393 Unreviewed build fix for chromium. 72394 72395 The chromium build broke due to r47185 which added 72396 a cookies array to inspector/InspectorBackend.idl. 72397 72398 * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback. 72399 * bindings/v8/custom/V8InspectorBackendCustom.cpp: 72400 (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation 72401 for the cookies callback. 72402 72403 2009-08-12 Joseph Pecoraro <joepeck02 (a] gmail.com> 72404 72405 Reviewed by Timothy Hatcher. 72406 72407 Inspector: Show Hidden Cookie Data 72408 https://bugs.webkit.org/show_bug.cgi?id=28185 72409 72410 Added new file Cookie.h to the WebCore XCode 72411 72412 * WebCore.xcodeproj/project.pbxproj: 72413 72414 InspectorController.cookies() binding 72415 72416 * bindings/js/JSInspectorBackendCustom.cpp: 72417 (WebCore::JSInspectorBackend::cookies): 72418 * inspector/InspectorBackend.idl: 72419 72420 Struct for static Cookie information 72421 (name, value, path, domain, expires, httpOnly, secure, session) 72422 72423 * platform/Cookie.h: Added. 72424 (WebCore::Cookie::Cookie): 72425 72426 Getter for the a list of raw Cookies 72427 getRawCookies(., ., out Vector<Cookie>) 72428 72429 * platform/CookieJar.h: 72430 72431 Implementation of getRawCookies for the mac platform. 72432 72433 * platform/mac/CookieJar.mm: 72434 (WebCore::getRawCookies): 72435 72436 Stub other CookieJar implementations to satisfy the interface. 72437 72438 * platform/haiku/CookieJarHaiku.cpp: 72439 (WebCore::getRawCookies): 72440 * platform/network/chromium/CookieJarChromium.cpp: 72441 (WebCore::getRawCookies): 72442 * platform/network/curl/CookieJarCurl.cpp: 72443 (WebCore::getRawCookies): 72444 * platform/network/soup/CookieJarSoup.cpp: 72445 (WebCore::getRawCookies): 72446 * platform/network/win/CookieJarCFNetWin.cpp: 72447 (WebCore::getRawCookies): 72448 * platform/network/win/CookieJarWin.cpp: 72449 (WebCore::getRawCookies): 72450 * platform/qt/CookieJarQt.cpp: 72451 (WebCore::getRawCookies): 72452 72453 2009-08-08 Joseph Pecoraro <joepeck02 (a] gmail.com> 72454 72455 Reviewed by Timothy Hatcher. 72456 72457 Inspector: Cookies in Storage Panel 72458 https://bugs.webkit.org/show_bug.cgi?id=27202 72459 72460 Data Structure for a Cookie. Just Key/Value for Now: 72461 72462 * inspector/front-end/Cookie.js: Added. 72463 (WebInspector.Cookie): 72464 (WebInspector.Cookie.prototype.get key): 72465 (WebInspector.Cookie.prototype.set key): 72466 (WebInspector.Cookie.prototype.get value): 72467 (WebInspector.Cookie.prototype.set value): 72468 72469 A Storage View for Cookies. Allows for Refresh/Delete: 72470 72471 * inspector/front-end/CookieItemsView.js: Added. 72472 (WebInspector.CookieItemsView): 72473 (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons 72474 (WebInspector.CookieItemsView.prototype.show): 72475 (WebInspector.CookieItemsView.prototype.hide): 72476 (WebInspector.CookieItemsView.prototype.update): 72477 (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string 72478 (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies 72479 (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless) 72480 (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid 72481 72482 Include a SidebarSection Section in the Databases Panel: 72483 72484 * inspector/front-end/DatabasesPanel.js: 72485 (WebInspector.DatabasesPanel): 72486 (WebInspector.DatabasesPanel.prototype.show): calls populateInterface 72487 (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist 72488 (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts 72489 (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element 72490 (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView 72491 (WebInspector.CookieSidebarTreeElement): 72492 (WebInspector.CookieSidebarTreeElement.prototype.onselect): 72493 (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment 72494 (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle): 72495 (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet 72496 (WebInspector.CookieSidebarTreeElement.prototype.set subtitle): 72497 72498 New "Cookies" Image for the Sidebar: 72499 72500 * inspector/front-end/Images/cookie.png: Added. 72501 * inspector/front-end/inspector.css: 72502 72503 Include the Added Files where appropriate: 72504 72505 * inspector/front-end/WebKit.qrc: 72506 * inspector/front-end/inspector.html: 72507 72508 2009-08-12 George Wright <george.wright (a] torchmobile.com> 72509 72510 Reviewed by George Staikos. 72511 72512 Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro. 72513 72514 https://bugs.webkit.org/show_bug.cgi?id=28246 72515 72516 * WebCore.pro: 72517 72518 2009-08-12 George Staikos <george.staikos (a] torchmobile.com> 72519 72520 Reviewed by Adam Treat. 72521 72522 Mark unused variables to avoid compile failures in -Werror. 72523 72524 * wml/WMLAnchorElement.cpp: 72525 (WebCore::WMLAnchorElement::deregisterTask): 72526 * wml/WMLDoElement.cpp: 72527 (WebCore::WMLDoElement::deregisterTask): 72528 72529 2009-08-12 Charles Wei <charles.wei (a] torchmobile.com.cn> 72530 72531 Reviewed by Niko Zimmermann. 72532 72533 This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 72534 It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx" 72535 Minor fixes by Eric Seidel and George Staikos. 72536 https://bugs.webkit.org/show_bug.cgi?id=23727 72537 72538 No new tests, the tests have already been landed at LayoutTests/fast/wcss/ 72539 72540 * WebCore.pro: 72541 * css/CSSParser.cpp: 72542 (WebCore::CSSParser::parseValue): 72543 * css/CSSPrimitiveValueMappings.h: 72544 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 72545 * css/CSSStyleSelector.cpp: 72546 (WebCore::CSSStyleSelector::applyProperty): 72547 * css/CSSValueKeywords.in: 72548 * css/WCSSPropertyNames.in: Added. 72549 * css/WCSSValueKeywords.in: Added. 72550 * rendering/RenderMarquee.cpp: 72551 (WebCore::RenderMarquee::start): 72552 * rendering/RenderObject.cpp: 72553 (WebCore::RenderObject::createObject): 72554 * rendering/style/RenderStyleConstants.h: 72555 (WebCore::): 72556 72557 2009-08-12 George Wright <george.wright (a] torchmobile.com> 72558 72559 Reviewed by David Hyatt. 72560 72561 Update the canvas renderer's intrinsic size with the zoomed 72562 lengths and ensure the intrinsic size is correct when setting 72563 an initial style. 72564 72565 https://bugs.webkit.org/show_bug.cgi?id=26908 72566 72567 Test: fast/canvas/canvas-zoom.html 72568 72569 * rendering/RenderHTMLCanvas.cpp: 72570 (WebCore::RenderHTMLCanvas::canvasSizeChanged): 72571 * rendering/RenderReplaced.cpp: 72572 (WebCore::RenderReplaced::styleDidChange): 72573 72574 2009-08-12 Alpha Lam <hclam (a] chromium.org> 72575 72576 Reviewed by Simon Fraser. 72577 72578 Fix regression for dragging the media controller thumb. 72579 https://bugs.webkit.org/show_bug.cgi?id=28211 72580 72581 Modified the conditions for rejecting events on the media controller 72582 to only rejecting mouse events not from the left button. 72583 72584 Test: media/controls-drag-timebar.html 72585 72586 * rendering/MediaControlElements.cpp: 72587 (WebCore::MediaControlTimelineElement::defaultEventHandler): 72588 72589 2009-08-12 Dumitru Daniliuc <dumi (a] chromium.org> 72590 72591 Reviewed by Eric Seidel. 72592 72593 Fixing a deadlock caused by two transactions that run on two 72594 different database handles for the same DB. Adding a per-DB thread 72595 transaction coordinator that allows the DB thread to run only one 72596 transaction per DB file at any given time. 72597 72598 Adding a regression test for this bug. 72599 72600 Test: storage/multiple-transactions-on-different-handles.html 72601 72602 https://bugs.webkit.org/show_bug.cgi?id=27966 72603 72604 * GNUmakefile.am: 72605 * WebCore.gypi: 72606 * WebCore.vcproj/WebCore.vcproj: 72607 * WebCore.xcodeproj/project.pbxproj: 72608 * storage/Database.cpp: 72609 (WebCore::Database::transactionCoordinator): 72610 * storage/Database.h: 72611 * storage/DatabaseThread.cpp: 72612 (WebCore::DatabaseThread::DatabaseThread): 72613 * storage/DatabaseThread.h: 72614 (WebCore::DatabaseThread::transactionCoordinator): 72615 * storage/SQLTransaction.cpp: 72616 (WebCore::SQLTransaction::SQLTransaction): 72617 (WebCore::SQLTransaction::debugStepName): 72618 (WebCore::SQLTransaction::performNextStep): 72619 (WebCore::SQLTransaction::aquireLock): 72620 (WebCore::SQLTransaction::lockAquired): 72621 (WebCore::SQLTransaction::cleanupAfterSuccessCallback): 72622 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): 72623 * storage/SQLTransaction.h: 72624 * storage/SQLTransactionCoordinator.cpp: Added. 72625 * storage/SQLTransactionCoordinator.h: Added. 72626 72627 2009-08-12 Darin Adler <darin (a] apple.com> 72628 72629 Reviewed by Geoff Garen. 72630 72631 Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test) 72632 https://bugs.webkit.org/show_bug.cgi?id=28194 72633 72634 * GNUmakefile.am: Added the two new source files. 72635 * WebCore.gypi: Ditto. 72636 * WebCore.pro: Ditto. 72637 * WebCore.vcproj/WebCore.vcproj: Ditto. 72638 * WebCore.xcodeproj/project.pbxproj: Ditto. 72639 * WebCoreSources.bkl: Ditto. 72640 72641 * bindings/js/JSCSSRuleListCustom.cpp: Added. 72642 (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper 72643 on rules in the list. 72644 72645 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 72646 (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call 72647 markDOMObjectWrapper on the CSSValue objects that are owned by the 72648 declaration as values of the properties. 72649 72650 * bindings/js/JSDOMBinding.cpp: 72651 (WebCore::isObservableThroughDOM): Added code to handle some 72652 cases where nodes are observable because they own objects that 72653 in turn have custom properties. 72654 72655 * bindings/js/JSDOMBinding.h: Fix a typo in the header. 72656 72657 * bindings/js/JSDocumentCustom.cpp: 72658 (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper 72659 for implementation and styleSheets. 72660 72661 * bindings/js/JSElementCustom.cpp: 72662 (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper 72663 for attributes and style. 72664 72665 * bindings/js/JSHTMLCanvasElementCustom.cpp: Added. 72666 (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper 72667 on the rendering context. 72668 72669 * bindings/js/JSStyleSheetCustom.cpp: 72670 (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on 72671 items in the stylesheet. 72672 72673 * bindings/js/JSStyleSheetListCustom.cpp: 72674 (WebCore::JSStyleSheetList::markChildren): Added. Calls 72675 markDOMObjectWrapper on stylesheets in the list. 72676 72677 * css/CSSRuleList.idl: Added CustomMarkFunction. 72678 * css/CSSStyleDeclaration.idl: Ditto. 72679 * css/StyleSheetList.idl: Ditto. 72680 * dom/Element.idl: Ditto. 72681 * html/HTMLCanvasElement.idl: Ditto. 72682 72683 * dom/Element.h: Made everything private that could be. 72684 Added access to the attributeMap that does returns 72685 the existing map without doing any of the lazy-updating work. This 72686 is needed to get at the existing attributes during garbage collection 72687 without having side effects. 72688 72689 * html/HTMLCanvasElement.h: Cleaned up the header a bit, making 72690 members private. Added renderingContext2D function for use in 72691 JSHTMLCanvasElement::markChildren. 72692 72693 2009-08-12 Brian Weinstein <bweinstein (a] apple.com> 72694 72695 Reviewed by Eric Seidel. 72696 72697 Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 72698 work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area. 72699 https://bugs.webkit.org/show_bug.cgi?id=28023 72700 https://bugs.webkit.org/show_bug.cgi?id=24794 72701 72702 Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to 72703 scroll, and use that for pan scrolling. 72704 72705 Test: platform/win/fast/events/panScroll-nested-divs.html 72706 72707 * page/EventHandler.cpp: 72708 (WebCore::EventHandler::handleMouseDraggedEvent): 72709 (WebCore::EventHandler::updateAutoscrollRenderer): 72710 (WebCore::EventHandler::handleMousePressEvent): 72711 * rendering/RenderBox.cpp: 72712 (WebCore::RenderBox::canBeScrolledAndHasScrollableArea): 72713 * rendering/RenderBox.h: 72714 * rendering/RenderLayer.cpp: 72715 (WebCore::RenderLayer::scrollByRecursively): 72716 72717 2009-08-12 Brian Weinstein <bweinstein (a] apple.com> 72718 72719 Reviewed by Adam Roben. 72720 72721 Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 72722 list detaches drop down. 72723 72724 Added a function for Windows PopupMenu's to return their class name. 72725 72726 * platform/PopupMenu.h: 72727 * platform/win/PopupMenuWin.cpp: 72728 (WebCore::PopupMenu::popupClassName): 72729 72730 2009-08-12 Shinichiro Hamaji <hamaji (a] chromium.org> 72731 72732 Reviewed by Dan Bernstein. 72733 72734 WINCE PORT: Color and Gradient 72735 https://bugs.webkit.org/show_bug.cgi?id=27511 72736 72737 * platform/graphics/wince/ColorWince.cpp: Added. 72738 * platform/graphics/wince/GradientWince.cpp: Added. 72739 72740 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 72741 72742 Reviewed by Eric Seidel. 72743 72744 fix a typo in platform/graphics/skia/PlatformContextSkia.cpp 72745 https://bugs.webkit.org/show_bug.cgi?id=28172 72746 72747 No new tests because it's a just typo fix. 72748 72749 * platform/graphics/skia/PlatformContextSkia.cpp: 72750 (PlatformContextSkia::setupPaintCommon): 72751 72752 2009-08-12 Michelangelo De Simone <micdesim (a] gmail.com> 72753 72754 Reviewed by Darin Adler. 72755 72756 https://bugs.webkit.org/show_bug.cgi?id=27458 72757 Support for the :default CSS pseudoclass, as per HTML5 spec. 72758 http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default 72759 72760 Tests: fast/css/pseudo-default-001.html 72761 fast/css/pseudo-default-002.html 72762 fast/css/pseudo-default-003.html 72763 fast/css/pseudo-default-004.html 72764 72765 * css/CSSSelector.cpp: 72766 (WebCore::CSSSelector::extractPseudoType): pseudoDefault 72767 * css/CSSSelector.h: 72768 (WebCore::CSSSelector::): 72769 * css/CSSStyleSelector.cpp: 72770 (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is 72771 aware that only one default button can be present in a form 72772 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies 72773 the :default CSS pseudoclass 72774 * dom/Element.h: 72775 (WebCore::Element::isDefaultButtonForForm): new method to determine 72776 whether a FormControl is a default button for a given form 72777 * html/HTMLFormControlElement.cpp: 72778 (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto 72779 * html/HTMLFormControlElement.h: 72780 * html/HTMLFormElement.cpp: 72781 (WebCore::HTMLFormElement::defaultButton): extracts the default button 72782 from the form 72783 * html/HTMLFormElement.h: 72784 72785 2009-08-12 David Levin <levin (a] chromium.org> 72786 72787 No review, rolling out r47106. 72788 https://bugs.webkit.org/show_bug.cgi?id=28215 72789 72790 This patch relied on a new version of v8 which is not available 72791 in chromium yet. 72792 72793 * bindings/v8/V8Binding.cpp: 72794 (WebCore::v8StringToAtomicWebCoreString): 72795 72796 2009-08-12 Steve Block <steveblock (a] google.com> 72797 72798 Reviewed by Eric Seidel. 72799 72800 Bug 26993 : Geolocation::requestPermission() 72801 https://bugs.webkit.org/show_bug.cgi?id=26993 72802 72803 Second patch to allow the Geolocation permission request to chrome to be asynchronous 72804 or synchronous. Fixes a bug where callbacks were called twice when permissions 72805 are granted synchronously. 72806 72807 No new tests required. 72808 72809 * page/Geolocation.cpp: 72810 (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged(). 72811 (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously. 72812 (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks. 72813 * page/Geolocation.h: Modified. Adds makeSuccessCallbacks(). 72814 72815 2009-08-12 Anders Carlsson <andersca (a] apple.com> 72816 72817 Reviewed by Sam Weinig. 72818 72819 <rdar://problem/6952336> 72820 CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore WebCore::SecurityOrigin::canAccess const 27 72821 72822 Make sure to set the security origin before calling dispatchWindowObjectAvailable. 72823 72824 * loader/FrameLoader.cpp: 72825 (WebCore::FrameLoader::begin): 72826 72827 2009-08-12 Xiaomei Ji <xji (a] chromium.org> 72828 72829 Reviewed by Eric Seidel. 72830 72831 Fix [Chromium] drop down menu letter selection, skip selections 72832 https://bugs.webkit.org/show_bug.cgi?id=28205 72833 72834 Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 72835 event to the popup, which is not possible (eventSender sends the key 72836 events through webview, we want to go through the webwidget). 72837 72838 * manual-tests/keyboard_select_elements_with_same_beginning.html: Added. 72839 * platform/chromium/PopupMenuChromium.cpp: 72840 (WebCore::isCharacterTypeEvent): style change. 72841 (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is 72842 a character type event to avoid calling twice for English. 72843 (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition. 72844 72845 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 72846 72847 Reviewed by Eric Seidel. 72848 72849 [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku. 72850 https://bugs.webkit.org/show_bug.cgi?id=28130 72851 72852 * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added. 72853 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 72854 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): 72855 (WebCore::GraphicsContext::GraphicsContext): 72856 (WebCore::GraphicsContext::~GraphicsContext): 72857 (WebCore::GraphicsContext::platformContext): 72858 (WebCore::GraphicsContext::savePlatformState): 72859 (WebCore::GraphicsContext::restorePlatformState): 72860 (WebCore::GraphicsContext::drawRect): 72861 (WebCore::GraphicsContext::drawLine): 72862 (WebCore::GraphicsContext::drawEllipse): 72863 (WebCore::GraphicsContext::strokeArc): 72864 (WebCore::GraphicsContext::strokePath): 72865 (WebCore::GraphicsContext::drawConvexPolygon): 72866 (WebCore::GraphicsContext::fillRect): 72867 (WebCore::GraphicsContext::fillRoundedRect): 72868 (WebCore::GraphicsContext::fillPath): 72869 (WebCore::GraphicsContext::beginPath): 72870 (WebCore::GraphicsContext::addPath): 72871 (WebCore::GraphicsContext::clip): 72872 (WebCore::GraphicsContext::drawFocusRing): 72873 (WebCore::GraphicsContext::drawLineForText): 72874 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 72875 (WebCore::GraphicsContext::roundToDevicePixels): 72876 (WebCore::GraphicsContext::beginTransparencyLayer): 72877 (WebCore::GraphicsContext::endTransparencyLayer): 72878 (WebCore::GraphicsContext::clearRect): 72879 (WebCore::GraphicsContext::strokeRect): 72880 (WebCore::GraphicsContext::setLineCap): 72881 (WebCore::GraphicsContext::setLineJoin): 72882 (WebCore::GraphicsContext::setMiterLimit): 72883 (WebCore::GraphicsContext::setAlpha): 72884 (WebCore::GraphicsContext::setCompositeOperation): 72885 (WebCore::GraphicsContext::clipOut): 72886 (WebCore::GraphicsContext::clipToImageBuffer): 72887 (WebCore::GraphicsContext::getCTM): 72888 (WebCore::GraphicsContext::translate): 72889 (WebCore::GraphicsContext::origin): 72890 (WebCore::GraphicsContext::rotate): 72891 (WebCore::GraphicsContext::scale): 72892 (WebCore::GraphicsContext::clipOutEllipseInRect): 72893 (WebCore::GraphicsContext::addInnerRoundedRectClip): 72894 (WebCore::GraphicsContext::concatCTM): 72895 (WebCore::GraphicsContext::setPlatformShouldAntialias): 72896 (WebCore::GraphicsContext::setImageInterpolationQuality): 72897 (WebCore::GraphicsContext::setURLForRect): 72898 (WebCore::GraphicsContext::setPlatformFont): 72899 (WebCore::GraphicsContext::setPlatformStrokeColor): 72900 (WebCore::GraphicsContext::getHaikuStrokeStyle): 72901 (WebCore::GraphicsContext::setPlatformStrokeStyle): 72902 (WebCore::GraphicsContext::setPlatformStrokeThickness): 72903 (WebCore::GraphicsContext::setPlatformFillColor): 72904 (WebCore::GraphicsContext::clearPlatformShadow): 72905 (WebCore::GraphicsContext::setPlatformShadow): 72906 72907 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 72908 72909 Reviewed by Eric Seidel. 72910 72911 [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port. 72912 https://bugs.webkit.org/show_bug.cgi?id=28128 72913 72914 * platform/graphics/BitmapImage.h: Adding getBBitmap() function. 72915 * platform/graphics/Color.h: rgb_color is the Color struct in Haiku. 72916 * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku. 72917 * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku. 72918 * platform/graphics/GraphicsContext.cpp: 72919 * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext 72920 class for Haiku. Adding getHaikuStrokeStyle() function. 72921 * platform/graphics/Icon.h: Adding an empty Icon() constructor because 72922 this class isn't implemented for the moment. 72923 * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 72924 for Haiku. 72925 * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku. 72926 * platform/graphics/IntRect.h: BRect is the Rect class in Haiku. 72927 * platform/graphics/IntSize.h: BSize is the Size class in Haiku. 72928 * platform/graphics/Path.h: BRegion is the Path class in Haiku. 72929 * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 72930 native pattern type. 72931 * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header. 72932 72933 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 72934 72935 Reviewed by Eric Seidel. 72936 72937 [Haiku] Adding modification to the WebCore/platform/ files to allow 72938 the Haiku port. 72939 https://bugs.webkit.org/show_bug.cgi?id=28128 72940 72941 * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription 72942 class of Haiku. 72943 * platform/Cursor.h: BCursor is the Cursor class of Haiku. 72944 * platform/DragData.h: Use a BMessage as DragDataRef. 72945 * platform/DragImage.h: Use a BBitmap as DragImageRef. 72946 * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle. 72947 * platform/PlatformMenuDescription.h: BMenu is the 72948 PlatformMenuDescription class of Haiku. 72949 * platform/PlatformMouseEvent.h: Use BMessage as event vehicle. 72950 * platform/PlatformWheelEvent.h: Use BMessage as event vehicle. 72951 * platform/PopupMenu.h: Adding a m_menu attribute for Haiku. 72952 * platform/Widget.h: BView is the PlatformWidget class of Haiku. 72953 72954 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 72955 72956 Reviewed by Eric Seidel. 72957 72958 [Haiku] Tiny modifications on WebCore files to allow Haiku port. 72959 https://bugs.webkit.org/show_bug.cgi?id=28128 72960 72961 * bindings/js/ScriptControllerHaiku.cpp: Style cleanup. 72962 * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium, 72963 so many PLATFORM(HAIKU) were added to these functions. 72964 (WebCore::CachedFont::~CachedFont): 72965 (WebCore::CachedFont::ensureCustomFontData): 72966 (WebCore::CachedFont::platformDataFromCustomData): 72967 (WebCore::CachedFont::allClientsRemoved): 72968 * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the 72969 invertSenseOfTabsToLinks() function. 72970 * page/haiku/DragControllerHaiku.cpp: Style cleanup. 72971 * platform/image-decoders/ImageDecoder.h: For image decoding Haiku 72972 behaves like Cairo or Wx, (not like Skia). 72973 (WebCore::RGBA32Buffer::getAddr): 72974 * platform/text/PlatformString.h: Adding the String(BString&) and BString() 72975 methods specific to Haiku. 72976 * platform/text/UnicodeRange.h: Haiku needs to include stdint.h. 72977 * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: 72978 (WebCore::currentSearchLocaleID): Missing function. 72979 72980 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 72981 72982 Reviewed by Eric Seidel. 72983 72984 [Haiku] Adding the ScrollbarTheme files. 72985 https://bugs.webkit.org/show_bug.cgi?id=28125 72986 72987 * platform/haiku/ScrollbarThemeHaiku.cpp: Added. 72988 (buttonWidth): 72989 (WebCore::ScrollbarTheme::nativeTheme): 72990 (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku): 72991 (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku): 72992 (WebCore::ScrollbarThemeHaiku::scrollbarThickness): 72993 (WebCore::ScrollbarThemeHaiku::hasButtons): 72994 (WebCore::ScrollbarThemeHaiku::hasThumb): 72995 (WebCore::ScrollbarThemeHaiku::backButtonRect): 72996 (WebCore::ScrollbarThemeHaiku::forwardButtonRect): 72997 (WebCore::ScrollbarThemeHaiku::trackRect): 72998 (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground): 72999 (WebCore::ScrollbarThemeHaiku::paintButton): 73000 (WebCore::ScrollbarThemeHaiku::paintThumb): 73001 * platform/haiku/ScrollbarThemeHaiku.h: Added. 73002 73003 2009-08-12 Maxime Simon <simon.maxime (a] gmail.com> 73004 73005 Reviewed by Eric Seidel. 73006 73007 [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku. 73008 https://bugs.webkit.org/show_bug.cgi?id=28122 73009 73010 * platform/graphics/haiku/ColorHaiku.cpp: Added. 73011 (WebCore::Color::Color): 73012 (WebCore::Color::operator rgb_color): 73013 (WebCore::focusRingColor): 73014 * platform/graphics/haiku/FloatPointHaiku.cpp: Added. 73015 (WebCore::FloatPoint::FloatPoint): 73016 (WebCore::FloatPoint::operator BPoint): 73017 * platform/graphics/haiku/FloatRectHaiku.cpp: Added. 73018 (WebCore::FloatRect::FloatRect): 73019 (WebCore::FloatRect::operator BRect): 73020 * platform/graphics/haiku/GradientHaiku.cpp: Added. 73021 (WebCore::Gradient::platformDestroy): 73022 (WebCore::Gradient::platformGradient): 73023 (WebCore::Gradient::fill): 73024 * platform/graphics/haiku/IntPointHaiku.cpp: Added. 73025 (WebCore::IntPoint::IntPoint): 73026 (WebCore::IntPoint::operator BPoint): 73027 * platform/graphics/haiku/IntRectHaiku.cpp: Added. 73028 (WebCore::IntRect::IntRect): 73029 (WebCore::IntRect::operator BRect): 73030 * platform/graphics/haiku/IntSizeHaiku.cpp: Added. 73031 (WebCore::IntSize::IntSize): 73032 (WebCore::IntSize::operator BSize): 73033 * platform/graphics/haiku/PathHaiku.cpp: Added. 73034 (WebCore::Path::Path): 73035 (WebCore::Path::~Path): 73036 (WebCore::Path::operator=): 73037 (WebCore::Path::hasCurrentPoint): 73038 (WebCore::Path::contains): 73039 (WebCore::Path::translate): 73040 (WebCore::Path::boundingRect): 73041 (WebCore::Path::moveTo): 73042 (WebCore::Path::addLineTo): 73043 (WebCore::Path::addQuadCurveTo): 73044 (WebCore::Path::addBezierCurveTo): 73045 (WebCore::Path::addArcTo): 73046 (WebCore::Path::closeSubpath): 73047 (WebCore::Path::addArc): 73048 (WebCore::Path::addRect): 73049 (WebCore::Path::addEllipse): 73050 (WebCore::Path::clear): 73051 (WebCore::Path::isEmpty): 73052 (WebCore::Path::debugString): 73053 (WebCore::Path::apply): 73054 (WebCore::Path::transform): 73055 (WebCore::Path::strokeBoundingRect): 73056 73057 2009-08-12 Lyon Chen <lyon.chen (a] torchmobile.com> 73058 73059 Reviewed by George Staikos. 73060 73061 WINCE PORT: Implement Keygen for WINCE 73062 https://bugs.webkit.org/show_bug.cgi?id=27543 73063 73064 * platform/wince/KeygenWince.cpp: Added. 73065 73066 2009-08-12 Brent Fulgham <bfulgham (a] webkit.org> 73067 73068 Rubber-stamped by Kevin Ollivier. 73069 73070 Handle crash in wx due to null value passed to strlen in 73071 the CString constructor. 73072 73073 * platform/network/curl/ResourceHandleManager.cpp: 73074 (WebCore::certificatePath): Check for null return from getenv 73075 and use default CString constructor instead. 73076 73077 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 73078 73079 Reviewed by Eric Seidel. 73080 73081 WINCE PORT: simple stubs to make it build for WINCE 73082 https://bugs.webkit.org/show_bug.cgi?id=27543 73083 73084 * platform/wince/DragDataWince.cpp: Added. 73085 * platform/wince/DragImageWince.cpp: Added. 73086 * platform/wince/EditorWince.cpp: Added. 73087 * platform/wince/KURLWince.cpp: Added. 73088 73089 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 73090 73091 Reviewed by George Staikos. 73092 73093 WINCEPORT: FileSystem and FileChooser 73094 https://bugs.webkit.org/show_bug.cgi?id=27543 73095 73096 * platform/wince/FileChooserWince.cpp: Added. 73097 * platform/wince/FileSystemWince.cpp: Added. 73098 73099 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 73100 73101 Reviewed by Eric Seidel. 73102 73103 WINCE PORT: implement Cursor for WINCE. There's no real cursor on most 73104 WinMob devices. We pass the cursor info to application, which so that 73105 can determine what to do. 73106 https://bugs.webkit.org/show_bug.cgi?id=27543 73107 73108 * platform/wince/CursorWince.cpp: Added. 73109 73110 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 73111 73112 Reviewed by George Staikos. 73113 73114 WINCE PORT: MIMETypeRegistry 73115 https://bugs.webkit.org/show_bug.cgi?id=27543 73116 73117 * platform/wince/MIMETypeRegistryWince.cpp: Added. 73118 73119 2009-08-12 Joe Mason <joe.mason (a] torchmobile.com> 73120 73121 Reviewed by George Staikos. 73122 73123 WINCE PORT: Pasteboard and SearchPopupMenu 73124 https://bugs.webkit.org/show_bug.cgi?id=27543 73125 73126 * platform/wince/PasteboardWince.cpp: Added. 73127 * platform/wince/SearchPopupMenuWince.cpp: Added. 73128 73129 2009-08-12 Yong Li <yong.li (a] torchmobile.com> 73130 73131 Reviewed by George Staikos. 73132 73133 WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp 73134 https://bugs.webkit.org/show_bug.cgi?id=27543 73135 73136 * platform/wince/SharedTimerWince.cpp: Added. 73137 * platform/wince/SystemTimeWince.cpp: Added. 73138 73139 2009-08-12 Mark Mentovai <mark (a] chromium.org> 73140 73141 Reviewed by Darin Adler. 73142 73143 https://bugs.webkit.org/show_bug.cgi?id=28204 73144 Allow C+exceptions to be disabled in WebCore's V8 Mac build. 73145 73146 * WebCorePrefix.h: 73147 Only undefine |try| and |catch| when building Objective-C[++], 73148 leaving the C+library definitions intact for C++. 73149 73150 2009-08-12 Nate Chapin <japhet (a] chromium.org> 73151 73152 Reviewed by Adam Barth. 73153 73154 Add a Custom Setter for DOMWindowEvent in the V8 bindings. 73155 https://bugs.webkit.org/show_bug.cgi?id=27719 73156 73157 Tests: fast/events/set-event-in-another-frame.html 73158 fast/events/set-event-to-null.html 73159 73160 * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 73161 as it currently doesn't support a custom getter 73162 and a v8-specific custom setter simultaneously. 73163 * bindings/v8/custom/V8CustomBinding.h: 73164 * bindings/v8/custom/V8DOMWindowCustom.cpp: 73165 (WebCore::ACCESSOR_SETTER): 73166 * page/DOMWindow.idl: 73167 73168 2009-08-12 Peter Kasting <pkasting (a] google.com> 73169 73170 Reviewed by Adam Treat. 73171 73172 https://bugs.webkit.org/show_bug.cgi?id=27965 73173 Merge wx/ImageSourceWx.cpp into ImageSource.cpp. No changes to 73174 ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp. 73175 73176 * WebCore.gypi: 73177 * WebCoreSources.bkl: 73178 * platform/graphics/wx/ImageSourceWx.cpp: Removed. 73179 * webcore-wx.bkl: 73180 73181 2009-08-12 Peter Kasting <pkasting (a] google.com> 73182 73183 Reviewed by Dave Levin. 73184 73185 https://bugs.webkit.org/show_bug.cgi?id=27933 73186 Build fix after r47099. 73187 73188 * platform/graphics/skia/ImageBufferSkia.cpp: 73189 (WebCore::getImageData): 73190 (WebCore::putImageData): 73191 73192 2009-08-08 Yong Li <yong.li (a] torchmobile.com> 73193 73194 Reviewed by Adam Treat. 73195 73196 WINCE PORT: Implement Path for WINCE. Most code can be 73197 reused for other ports that don't have native path support 73198 https://bugs.webkit.org/show_bug.cgi?id=28188 73199 73200 Written also by George Staikos (including quadCurve() and bezier()) 73201 73202 * platform/graphics/wince/PathWince.cpp: Added. 73203 * platform/graphics/wince/PlatformPathWince.cpp: Added. 73204 * platform/graphics/wince/PlatformPathWince.h: Added. 73205 * platform/graphics/wince/WinceGraphicsExtras.h: Added. 73206 73207 2009-08-12 Joseph Pecoraro <joepeck02 (a] gmail.com> 73208 73209 "Double-click to add" new style button does not always show up [quick fix] 73210 https://bugs.webkit.org/show_bug.cgi?id=28187 73211 73212 * inspector/front-end/StylesSidebarPane.js: 73213 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 73214 73215 2009-08-12 Crystal Zhang <crystal.zhang (a] torchmobile.com> 73216 73217 Reviewed by George Staikos. 73218 73219 WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate 73220 https://bugs.webkit.org/show_bug.cgi?id=28178 73221 73222 * platform/graphics/wince/MediaPlayerPrivateWince.h: Added. 73223 * platform/graphics/wince/MediaPlayerProxy.cpp: Added. 73224 * platform/graphics/wince/MediaPlayerProxy.h: Added. 73225 73226 2009-08-12 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 73227 73228 Reviewed by Eric Seidel. 73229 73230 HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit 73231 https://bugs.webkit.org/show_bug.cgi?id=28175 73232 73233 Call QDir::toNativeSeparators() before the path is passed to the OS. 73234 73235 Based on work by David Leong. 73236 73237 * platform/qt/FileSystemQt.cpp: 73238 (WebCore::pathByAppendingComponent): 73239 73240 2009-08-12 Dirk Schulze <krit (a] webkit.org> 73241 73242 Reviewed by Ariya Hidayat. 73243 73244 Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead 73245 of getImageData. This changed since r47099. 73246 73247 * platform/graphics/filters/FEColorMatrix.cpp: 73248 (WebCore::FEColorMatrix::apply): 73249 73250 2009-08-12 Viet-Trung Luu <viettrungluu (a] gmail.com> 73251 73252 Reviewed by Dimitri Glazkov. 73253 73254 Explicitly set control tints for Chromium/Mac, since the controls' 73255 NSCell(s) lack an NSView and hence their tint isn't updated 73256 automatically when the application is activated/deactivated. 73257 https://bugs.webkit.org/show_bug.cgi?id=28108 73258 http://crbug.com/18199 73259 73260 * rendering/RenderThemeChromiumMac.mm: 73261 (WebCore::updateNSCellControlTint): 73262 (WebCore::RenderThemeChromiumMac::paintCheckbox): 73263 (WebCore::RenderThemeChromiumMac::paintRadio): 73264 (WebCore::RenderThemeChromiumMac::paintButton): 73265 (WebCore::RenderThemeChromiumMac::paintMenuList): 73266 (WebCore::RenderThemeChromiumMac::paintSliderThumb): 73267 (WebCore::RenderThemeChromiumMac::paintSearchField): 73268 (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton): 73269 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration): 73270 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton): 73271 73272 2009-08-12 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 73273 73274 Reviewed by Dimitri Glazkov. 73275 73276 [V8] Fix atomic string externalization crash. 73277 Atomic string externalization assumes that all non-empty strings 73278 can be externalized which is untrue on 64-bit. This change fixed 73279 that. 73280 73281 https://bugs.webkit.org/show_bug.cgi?id=28215 73282 73283 This bug causes loads of test crashes, no need to add new tests 73284 specifically for this. 73285 73286 * bindings/v8/V8Binding.cpp: 73287 (WebCore::v8StringToAtomicWebCoreString): 73288 73289 2009-08-12 Ariya Hidayat <ariya.hidayat (a] nokia.com> 73290 73291 Reviewed by Holger Freyther. 73292 73293 [Qt] Fix box-shadow painting in r47103. The edge should not be blurry. 73294 Also optimize by not having to save and restore painter state. 73295 73296 * platform/graphics/qt/GraphicsContextQt.cpp: 73297 (WebCore::GraphicsContext::drawRect): 73298 (WebCore::GraphicsContext::fillRect): 73299 73300 2009-08-12 Ariya Hidayat <ariya.hidayat (a] nokia.com> 73301 73302 Reviewed by Adam Treat. 73303 73304 [Qt] Fix coding style in GraphicsContextQt.cpp 73305 73306 * platform/graphics/qt/GraphicsContextQt.cpp: 73307 (WebCore::toQtCompositionMode): 73308 (WebCore::toQtLineCap): 73309 (WebCore::toQtLineJoin): 73310 (WebCore::GraphicsContextPlatformPrivate::p): 73311 (WebCore::GraphicsContext::drawLine): 73312 (WebCore::GraphicsContext::strokeArc): 73313 (WebCore::GraphicsContext::drawConvexPolygon): 73314 (WebCore::GraphicsContext::pen): 73315 (WebCore::GraphicsContext::fillPath): 73316 (WebCore::GraphicsContext::strokePath): 73317 (WebCore::GraphicsContext::fillRect): 73318 (WebCore::GraphicsContext::clipPath): 73319 (WebCore::GraphicsContext::drawFocusRing): 73320 (WebCore::GraphicsContext::beginTransparencyLayer): 73321 (WebCore::GraphicsContext::endTransparencyLayer): 73322 (WebCore::GraphicsContext::clearRect): 73323 (WebCore::GraphicsContext::setLineCap): 73324 (WebCore::GraphicsContext::setLineJoin): 73325 (WebCore::GraphicsContext::setMiterLimit): 73326 (WebCore::GraphicsContext::setAlpha): 73327 (WebCore::GraphicsContext::clipOut): 73328 (WebCore::GraphicsContext::clipOutEllipseInRect): 73329 (WebCore::GraphicsContext::addInnerRoundedRectClip): 73330 (WebCore::GraphicsContext::setPlatformStrokeColor): 73331 (WebCore::GraphicsContext::setPlatformStrokeStyle): 73332 (WebCore::GraphicsContext::setPlatformStrokeThickness): 73333 73334 2009-08-12 Szabo Carol <carol.szabo (a] nokia.com> 73335 73336 Reviewed by Simon Hausmann and Ariya Hidayat. 73337 73338 https://bugs.webkit.org/show_bug.cgi?id=23291 73339 73340 [Qt] Partial support for -webkit-box-shadow. Blur is not support and 73341 the shadow still does not go well with border radius. 73342 73343 * platform/graphics/qt/GraphicsContextQt.cpp: 73344 (WebCore::GraphicsContext::drawRect): 73345 (WebCore::GraphicsContext::fillRect): 73346 73347 2009-08-12 Xan Lopez <xlopez (a] igalia.com> 73348 73349 Reviewed by Jan Alonzo. 73350 73351 Use AM_V_GEN in a few more places, for less noisy builds. 73352 73353 * GNUmakefile.am: 73354 73355 2009-08-12 Dirk Schulze <krit (a] webkit.org> 73356 73357 Reviewed by Oliver Hunt. 73358 73359 SVG Filter premultiplied color support for getImageDate/putImageData 73360 [https://bugs.webkit.org/show_bug.cgi?id=27933] 73361 73362 Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData 73363 and putImageData of ImageBuffer need support for premultiplied colors. 73364 73365 * html/CanvasRenderingContext2D.cpp: 73366 (WebCore::CanvasRenderingContext2D::getImageData): 73367 (WebCore::CanvasRenderingContext2D::putImageData): 73368 * platform/graphics/ImageBuffer.h: 73369 (WebCore::): 73370 * platform/graphics/cairo/ImageBufferCairo.cpp: 73371 (WebCore::getImageData): 73372 (WebCore::ImageBuffer::getUnmultipliedImageData): 73373 (WebCore::ImageBuffer::getPremultipliedImageData): 73374 (WebCore::putImageData): 73375 (WebCore::ImageBuffer::putUnmultipliedImageData): 73376 (WebCore::ImageBuffer::putPremultipliedImageData): 73377 * platform/graphics/cg/ImageBufferCG.cpp: 73378 (WebCore::getImageData): 73379 (WebCore::ImageBuffer::getUnmultipliedImageData): 73380 (WebCore::ImageBuffer::getPremultipliedImageData): 73381 (WebCore::putImageData): 73382 (WebCore::ImageBuffer::putUnmultipliedImageData): 73383 (WebCore::ImageBuffer::putPremultipliedImageData): 73384 * platform/graphics/qt/ImageBufferQt.cpp: 73385 (WebCore::getImageData): 73386 (WebCore::ImageBuffer::getUnmultipliedImageData): 73387 (WebCore::ImageBuffer::getPremultipliedImageData): 73388 (WebCore::putImageData): 73389 (WebCore::ImageBuffer::putUnmultipliedImageData): 73390 (WebCore::ImageBuffer::putPremultipliedImageData): 73391 * platform/graphics/skia/ImageBufferSkia.cpp: 73392 (WebCore::getImageData): 73393 (WebCore::ImageBuffer::getUnmultipliedImageData): 73394 (WebCore::ImageBuffer::getPremultipliedImageData): 73395 (WebCore::putImageData): 73396 (WebCore::ImageBuffer::putUnmultipliedImageData): 73397 (WebCore::ImageBuffer::putPremultipliedImageData): 73398 * platform/graphics/wx/ImageBufferWx.cpp: 73399 (WebCore::ImageBuffer::getUnmultipliedImageData): 73400 (WebCore::ImageBuffer::getPremultipliedImageData): 73401 (WebCore::ImageBuffer::putUnmultipliedImageData): 73402 (WebCore::ImageBuffer::putPremultipliedImageData): 73403 * svg/graphics/SVGResourceMasker.cpp: 73404 (WebCore::SVGResourceMasker::applyMask): 73405 73406 2009-08-12 Mikhail Naganov <mnaganov (a] chromium.org> 73407 73408 Reviewed by Timothy Hatcher. 73409 73410 Changed Number.bytesToString to support low-resolution output. 73411 73412 https://bugs.webkit.org/show_bug.cgi?id=28146 73413 73414 * inspector/front-end/utilities.js: 73415 (Number.bytesToString): 73416 73417 2009-08-12 Prasanth Ullattil <prasanth.ullattil (a] nokia.com> 73418 73419 Reviewed by Simon Hausmann. 73420 73421 Add support for hooking BeginPaint/EndPaint on 64Bit Windows 73422 73423 Webkit uses the runtime patching trick explained by "Feng Yuan" for 73424 hooking these paint functions. It currently supports only 32bit assembly 73425 code. This patch adds support for 64Bit version. Since inline-assemblies 73426 are not supported for 64Bit, we have use a seperate .asm file. 73427 73428 * WebCore.pro: 73429 * plugins/win/PaintHooks.asm: Added. 73430 * plugins/win/PluginViewWin.cpp: 73431 (WebCore::PluginView::hookedBeginPaint): 73432 (WebCore::PluginView::hookedEndPaint): 73433 (WebCore::hook): 73434 73435 2009-08-11 Oliver Hunt <oliver (a] apple.com> 73436 73437 Reviewed by Gavin Barraclough. 73438 73439 Make it harder to misuse try* allocation routines 73440 https://bugs.webkit.org/show_bug.cgi?id=27469 73441 73442 Add forwarding header for PossiblyNull type, and add missing null check 73443 to ImageBuffer creation. 73444 73445 * ForwardingHeaders/wtf/PossiblyNull.h: Added. 73446 * platform/graphics/cg/ImageBufferCG.cpp: 73447 (WebCore::ImageBuffer::ImageBuffer): 73448 73449 2009-08-11 Gavin Barraclough <barraclough (a] apple.com> 73450 73451 Reviewed by Oliver Hunt. 73452 73453 Restrict use of FuncDeclNode & FuncExprNode to the parser. 73454 https://bugs.webkit.org/show_bug.cgi?id=28209 73455 73456 * inspector/JavaScriptDebugServer.cpp: 73457 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 73458 Function signature change. 73459 73460 2009-08-11 Peter Kasting <pkasting (a] google.com> 73461 73462 Reviewed by Adam Treat. 73463 73464 https://bugs.webkit.org/show_bug.cgi?id=27965 73465 Merge skia/ImageSourceSkia.cpp into ImageSource.cpp. 73466 73467 * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back. 73468 * platform/graphics/ImageSource.cpp: 73469 (WebCore::ImageSource::setData): Use slightly shorter syntax. 73470 (WebCore::ImageSource::filenameExtension): Use shorter syntax. 73471 (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images. 73472 (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax. 73473 * platform/graphics/skia/ImageSourceSkia.cpp: Removed. 73474 73475 2009-08-11 Drew Wilson <atwilson (a] google.com> 73476 73477 Reviewed by David Levin. 73478 73479 SharedWorkers do not exit when the last parent document exits 73480 https://bugs.webkit.org/show_bug.cgi?id=28170 73481 73482 Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers. 73483 73484 Added vector cache instead of nested hash tables for SharedWorker repository. 73485 73486 Added SharedWorkerRepository::documentDetached API. 73487 73488 * dom/Document.cpp: 73489 (WebCore::Document::detach): 73490 Notifies SharedWorkerRepository when the document is closing. 73491 * loader/FrameLoader.cpp: 73492 Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down). 73493 (WebCore::FrameLoader::canCachePageContainingThisFrame): 73494 (WebCore::FrameLoader::logCanCacheFrameDecision): 73495 * workers/DefaultSharedWorkerRepository.cpp: 73496 (WebCore::SharedWorkerProxy::create): 73497 (WebCore::SharedWorkerProxy::isClosing): 73498 Renamed from closing(). 73499 (WebCore::SharedWorkerProxy::matches): 73500 Added manual equality function to replace old hash lookup. 73501 (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments): 73502 Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable. 73503 (WebCore::SharedWorkerProxy::SharedWorkerProxy): 73504 (WebCore::SharedWorkerProxy::addToWorkerDocuments): 73505 Added tracking of the worker's list of documents for lifecycle purposes. 73506 (WebCore::SharedWorkerProxy::documentDetached): 73507 Shuts down the proxy when the last associated document is detached. 73508 (WebCore::SharedWorkerProxy::close): 73509 Marks the proxy as closed so it is no longer shared with new instances. 73510 (WebCore::SharedWorkerProxy::workerContextDestroyed): 73511 Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed. 73512 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 73513 closing()->isClosing() 73514 (WebCore::SharedWorkerRepository::documentDetached): 73515 (WebCore::SharedWorkerRepository::hasSharedWorkers): 73516 Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached. 73517 (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers): 73518 (WebCore::DefaultSharedWorkerRepository::removeProxy): 73519 Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository. 73520 (WebCore::DefaultSharedWorkerRepository::documentDetached): 73521 (WebCore::DefaultSharedWorkerRepository::connectToWorker): 73522 (WebCore::DefaultSharedWorkerRepository::getProxy): 73523 * workers/DefaultSharedWorkerRepository.h: 73524 * workers/SharedWorkerRepository.h: 73525 73526 2009-08-11 Chris Fleizach <cfleizach (a] apple.com> 73527 73528 Reviewed by Darin Adler. 73529 73530 Bug 28200 - ListMarker should be included as part of the text value to parse 73531 https://bugs.webkit.org/show_bug.cgi?id=28200 73532 73533 When returning text through the marker range attributes, the list marker text should 73534 also be included. It isn't included by default because a TextIterator is used which 73535 only looks at Nodes for text. A list marker does not have a corresponding node, 73536 so its text is not returned through accessibility. That is, until now. 73537 73538 Test: platform/mac/accessibility/string-range-contains-listmarker.html 73539 73540 * accessibility/AccessibilityObject.cpp: 73541 (WebCore::AccessibilityObject::listMarkerTextForRange): 73542 (WebCore::AccessibilityObject::stringForVisiblePositionRange): 73543 * accessibility/AccessibilityObject.h: 73544 * accessibility/mac/AccessibilityObjectWrapper.mm: 73545 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): 73546 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 73547 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 73548 * rendering/RenderListItem.h: 73549 73550 Make markerText() public so that accessibility code can access it. 73551 73552 2009-08-11 Peter Kasting <pkasting (a] google.com> 73553 73554 Reviewed by Adam Treat. 73555 73556 https://bugs.webkit.org/show_bug.cgi?id=27965 73557 Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for 73558 merging most of the other ImageSource*.cpp files with it. 73559 73560 * GNUmakefile.am: 73561 * WebCore.gypi: 73562 * WebCore.vcproj/WebCore.vcproj: 73563 * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp. 73564 * platform/graphics/cairo/ImageSourceCairo.cpp: Removed. 73565 73566 2009-08-10 Brent Fulgham <bfulgham (a] webkit.org> 73567 73568 Reviewed by Adam Roben. 73569 73570 Cairo-based Windows port does not handle the https protocol. 73571 https://bugs.webkit.org/show_bug.cgi?id=28171. 73572 73573 No new tests needed. Existing https tests show this failure 73574 for WinCairo builds. 73575 73576 * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor 73577 definitions for SSL support in cURL. 73578 * platform/network/curl/ResourceHandleManager.h: Add new 73579 certificate path member variable. 73580 * platform/network/curl/ResourceHandleManager.cpp: 73581 (WebCore::certificateBundlePath): New method to retrieve the 73582 proper certificate resource bundle path. 73583 (WebCore::ResourceHandleManager::initializeHandle): Check for 73584 the resource bundle and use if available to activate SSL 73585 support. 73586 73587 2009-08-11 Maxime Simon <simon.maxime (a] gmail.com> 73588 73589 Reviewed by Eric Seidel. 73590 73591 [Haiku] Use Clipboard::create() instead of the constructor of Clipboard. 73592 https://bugs.webkit.org/show_bug.cgi?id=28127 73593 73594 * editing/haiku/EditorHaiku.cpp: 73595 (WebCore::Editor::newGeneralClipboard): 73596 * page/haiku/EventHandlerHaiku.cpp: 73597 (WebCore::EventHandler::passWheelEventToWidget): 73598 (WebCore::EventHandler::createDraggingClipboard): 73599 * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines. 73600 (WebCore::ClipboardHaiku::ClipboardHaiku): 73601 (WebCore::ClipboardHaiku::clearAllData): 73602 (WebCore::ClipboardHaiku::getData): 73603 (WebCore::ClipboardHaiku::setData): 73604 (WebCore::ClipboardHaiku::types): 73605 (WebCore::ClipboardHaiku::dragLocation): 73606 (WebCore::ClipboardHaiku::dragImage): 73607 (WebCore::ClipboardHaiku::setDragImage): 73608 (WebCore::ClipboardHaiku::dragImageElement): 73609 (WebCore::ClipboardHaiku::createDragImage): 73610 (WebCore::ClipboardHaiku::declareAndWriteDragImage): 73611 (WebCore::ClipboardHaiku::writeURL): 73612 (WebCore::ClipboardHaiku::writeRange): 73613 (WebCore::ClipboardHaiku::hasData): 73614 * platform/haiku/DragDataHaiku.cpp: 73615 (WebCore::DragData::createClipboard): 73616 73617 2009-08-11 Drew Wilson <atwilson (a] google.com> 73618 73619 Reviewed by NOBODY (build break). 73620 73621 Speculative GTK build fix 73622 73623 * GNUmakefile.am: 73624 Added missing .idl file, and added notifications directory to IDL_PATH. 73625 73626 2009-08-11 Drew Wilson <atwilson (a] google.com> 73627 73628 Reviewed by NOBODY (build break). 73629 73630 Speculative Windows build fix 73631 73632 * WebCore.vcproj/WebCore.vcproj: 73633 Added missing build steps for non-debug targets. 73634 73635 2009-08-11 Drew Wilson <atwilson (a] google.com> 73636 73637 Reviewed by NOBODY (build break) 73638 73639 Speculative build fix for Qt build. 73640 73641 * WebCore.pro: Added /notifications to include path 73642 73643 2009-08-11 John Gregg <johnnyg (a] google.com> 73644 73645 Reviewed by Maciej Stachowiak. 73646 73647 Desktop Notifications API 73648 https://bugs.webkit.org/show_bug.cgi?id=25463 73649 73650 Adds an implementation of desktop notifications, behind the compile-time 73651 flag ENABLE(NOTIFICATIONS). This code simply relays calls on the JavaScript 73652 API through a NotificationProvider interface, which must provide the services 73653 to actually notify the user and manage the desktop. This provider is injected 73654 into WebKit through the ChromeClient for normal page contexts and through the 73655 WorkerThread for worker contexts. 73656 73657 A permissions API is defined on a per-origin basis, which allows a web page 73658 to check if its origin is allowed to show desktop notifications, and to request 73659 permission for its origin. 73660 73661 * Configurations/FeatureDefines.xcconfig: 73662 * DerivedSources.cpp: 73663 * DerivedSources.make: 73664 * GNUmakefile.am: 73665 * WebCore.vcproj/WebCore.vcproj: 73666 * WebCore.vcproj/WebCoreCommon.vsprops: 73667 * WebCore.xcodeproj/project.pbxproj: 73668 * bindings/js/JSDOMWindowCustom.cpp: 73669 * bindings/js/JSDesktopNotificationsCustom.cpp: Added. 73670 (WebCore::JSNotificationCenter::requestPermission): 73671 (WebCore::JSNotification::addEventListener): 73672 (WebCore::JSNotification::removeEventListener): 73673 * bindings/js/JSEventTarget.cpp: 73674 (WebCore::toJS): 73675 (WebCore::toEventTarget): 73676 * dom/EventTarget.cpp: 73677 (WebCore::EventTarget::toNotification): 73678 * dom/EventTarget.h: 73679 * loader/EmptyClients.h: 73680 (WebCore::EmptyChromeClient::notificationPresenter): 73681 * notifications: Added. 73682 * notifications/Notification.cpp: Added. 73683 (WebCore::Notification::Notification): 73684 (WebCore::Notification::~Notification): 73685 (WebCore::Notification::show): 73686 (WebCore::Notification::cancel): 73687 (WebCore::Notification::ondisplay): 73688 (WebCore::Notification::setOndisplay): 73689 (WebCore::Notification::onerror): 73690 (WebCore::Notification::setOnerror): 73691 (WebCore::Notification::onclose): 73692 (WebCore::Notification::setOnclose): 73693 (WebCore::Notification::getAttributeEventListener): 73694 (WebCore::Notification::setAttributeEventListener): 73695 (WebCore::Notification::clearAttributeEventListener): 73696 (WebCore::Notification::dispatchDisplayEvent): 73697 (WebCore::Notification::dispatchErrorEvent): 73698 (WebCore::Notification::dispatchCloseEvent): 73699 (WebCore::Notification::addEventListener): 73700 (WebCore::Notification::removeEventListener): 73701 (WebCore::Notification::handleEvent): 73702 (WebCore::Notification::dispatchEvent): 73703 * notifications/Notification.h: Added. 73704 (WebCore::Notification::create): 73705 (WebCore::Notification::isHTML): 73706 (WebCore::Notification::url): 73707 (WebCore::Notification::contents): 73708 (WebCore::Notification::scriptExecutionContext): 73709 (WebCore::Notification::toNotification): 73710 (WebCore::Notification::refEventTarget): 73711 (WebCore::Notification::derefEventTarget): 73712 * notifications/Notification.idl: Added. 73713 * notifications/NotificationCenter.cpp: Added. 73714 (WebCore::NotificationCenter::NotificationCenter): 73715 (WebCore::NotificationCenter::checkPermission): 73716 (WebCore::NotificationCenter::requestPermission): 73717 * notifications/NotificationCenter.h: Added. 73718 (WebCore::NotificationCenter::create): 73719 (WebCore::NotificationCenter::createHTMLNotification): 73720 (WebCore::NotificationCenter::createNotification): 73721 (WebCore::NotificationCenter::context): 73722 (WebCore::NotificationCenter::presenter): 73723 * notifications/NotificationCenter.idl: Added. 73724 * notifications/NotificationContents.h: Added. 73725 (WebCore::NotificationContents::NotificationContents): 73726 (WebCore::NotificationContents::icon): 73727 (WebCore::NotificationContents::title): 73728 (WebCore::NotificationContents::body): 73729 * notifications/NotificationPresenter.h: Added. 73730 (WebCore::NotificationPresenter::): 73731 (WebCore::NotificationPresenter::~NotificationPresenter): 73732 * page/Chrome.cpp: 73733 (WebCore::Chrome::notificationPresenter): 73734 * page/Chrome.h: 73735 * page/ChromeClient.h: 73736 * page/DOMWindow.cpp: 73737 (WebCore::DOMWindow::clear): 73738 (WebCore::DOMWindow::webkitNotifications): 73739 * page/DOMWindow.h: 73740 * page/DOMWindow.idl: 73741 * page/Page.h: 73742 * workers/WorkerContext.cpp: 73743 (WebCore::WorkerContext::~WorkerContext): 73744 (WebCore::WorkerContext::webkitNotifications): 73745 * workers/WorkerContext.h: 73746 * workers/WorkerContext.idl: 73747 * workers/WorkerThread.h: 73748 (WebCore::WorkerThread::getNotificationPresenter): 73749 (WebCore::WorkerThread::setNotificationPresenter): 73750 73751 2009-08-11 Joseph Pecoraro <joepeck02 (a] gmail.com> 73752 73753 Reviewed by Timothy Hatcher. 73754 73755 Inspector: Console Drawer is Toggling instead of Staying Open 73756 https://bugs.webkit.org/show_bug.cgi?id=28115 73757 73758 * inspector/front-end/Drawer.js: 73759 (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view 73760 * inspector/front-end/inspector.js: 73761 (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open 73762 (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open 73763 73764 2009-08-11 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 73765 73766 Reviewed by George Staikos. 73767 73768 [WML] WMLPageState is not allowed to store the active card, it needs to be done per document 73769 https://bugs.webkit.org/show_bug.cgi?id=28180 73770 73771 Don't store the active WMLCardElement in WMLPageState, but in WMLDocument. 73772 Otherwhise this may lead to crashes related to intrinsic event exeuction. 73773 73774 Unfortunately select elements aren't testable by the layout tests, so adding 73775 a new manual test reproducing the crash. 73776 73777 * manual-tests/wml/select-onpick-event-crash.wml: Added. 73778 * wml/WMLCardElement.cpp: 73779 (WebCore::WMLCardElement::determineActiveCard): 73780 * wml/WMLDoElement.cpp: 73781 (WebCore::WMLDoElement::defaultEventHandler): 73782 * wml/WMLDocument.cpp: 73783 (WebCore::WMLDocument::finishedParsing): 73784 * wml/WMLDocument.h: 73785 (WebCore::WMLDocument::activeCard): 73786 * wml/WMLGoElement.cpp: 73787 (WebCore::WMLGoElement::executeTask): 73788 * wml/WMLPageState.cpp: 73789 (WebCore::WMLPageState::WMLPageState): 73790 * wml/WMLPageState.h: 73791 * wml/WMLPrevElement.cpp: 73792 (WebCore::WMLPrevElement::executeTask): 73793 * wml/WMLRefreshElement.cpp: 73794 (WebCore::WMLRefreshElement::executeTask): 73795 73796 2009-08-07 Peter Kasting <pkasting (a] google.com> 73797 73798 Reviewed by Eric Seidel. 73799 73800 https://bugs.webkit.org/show_bug.cgi?id=28073 73801 Treat icons with no bit count and no color count as 256-color for 73802 purposes of quality ranking. Also fix a couple cases of a style 73803 violation. 73804 73805 Test: fast/images/icon-0colors.html 73806 73807 * platform/image-decoders/ico/ICOImageDecoder.cpp: 73808 (WebCore::ICOImageDecoder::processDirectory): 73809 (WebCore::ICOImageDecoder::readDirectoryEntry): 73810 73811 2009-08-11 Drew Wilson <atwilson (a] google.com> 73812 73813 Reviewed by David Levin. 73814 73815 Need to refactor WorkerObjectProxy. 73816 https://bugs.webkit.org/show_bug.cgi?id=28136 73817 73818 Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent. 73819 73820 Existing tests are sufficient, as this is only a refactoring. 73821 73822 * GNUmakefile.am: 73823 Added WorkerReportingProxy.h to build. 73824 * WebCore.gypi: 73825 Added WorkerReportingProxy.h to build. 73826 * WebCore.vcproj/WebCore.vcproj: 73827 Added WorkerReportingProxy.h to build. 73828 * WebCore.xcodeproj/project.pbxproj: 73829 Added WorkerReportingProxy.h to build. 73830 * workers/DedicatedWorkerContext.cpp: 73831 * workers/DedicatedWorkerContext.h: 73832 Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy. 73833 * workers/DedicatedWorkerThread.cpp: 73834 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread): 73835 Changed constructor to pass WorkerReportingProxy to base class. 73836 * workers/DefaultSharedWorkerRepository.cpp: 73837 Updated SharedWorkerProxy to implement WorkerReportingProxy interface. 73838 (WebCore::SharedWorkerProxy::postExceptionToWorkerObject): 73839 (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): 73840 (WebCore::SharedWorkerProxy::workerContextClosed): 73841 (WebCore::SharedWorkerProxy::workerContextDestroyed): 73842 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 73843 Now passes in WorkerReportingProxy when creating SharedWorkerThread. 73844 * workers/SharedWorkerContext.cpp: 73845 * workers/SharedWorkerContext.h: 73846 Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy. 73847 * workers/SharedWorkerThread.cpp: 73848 (WebCore::SharedWorkerThread::create): 73849 (WebCore::SharedWorkerThread::SharedWorkerThread): 73850 Passes WorkerReportingProxy to base class constructor. 73851 * workers/SharedWorkerThread.h: 73852 Constructor now takes a WorkerReportingProxy. 73853 * workers/WorkerContext.cpp: 73854 (WebCore::WorkerContext::~WorkerContext): 73855 Moved code that calls workerContextDestroyed() into base class so shared workers share this functionality. 73856 (WebCore::WorkerContext::close): 73857 Now notifies WorkerReportingProxy when the thread is closing. 73858 (WebCore::WorkerContext::reportException): 73859 Reports exceptions via WorkerReportingProxy. 73860 (WebCore::WorkerContext::addMessage): 73861 Reports console messages via WorkerReportingProxy. 73862 * workers/WorkerContext.h: 73863 * workers/WorkerObjectProxy.h: 73864 (WebCore::WorkerObjectProxy::workerContextClosed): 73865 Default empty implementation for dedicated workers. 73866 * workers/WorkerReportingProxy.h: Added. 73867 Base interface that contains APIs moved from WorkerObjectProxy. 73868 (WebCore::WorkerReportingProxy::~WorkerReportingProxy): 73869 * workers/WorkerThread.cpp: 73870 (WebCore::WorkerThread::WorkerThread): 73871 Updated constructor to accept a WorkerReportingProxy. 73872 * workers/WorkerThread.h: 73873 (WebCore::WorkerThread::workerReportingProxy): 73874 73875 2009-08-11 Simon Hausmann <simon.hausmann (a] nokia.com> 73876 73877 Reviewed by NOBODY (build fix). 73878 73879 Fix the Qt build after r47022. 73880 73881 Use the new markChildren() pattern for marking aggregate/child objects. 73882 73883 * bridge/qt/qt_instance.cpp: 73884 (JSC::Bindings::QtRuntimeObjectImp::markChildren): 73885 (JSC::Bindings::QtInstance::markAggregate): 73886 * bridge/qt/qt_instance.h: 73887 * bridge/qt/qt_runtime.cpp: 73888 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 73889 * bridge/qt/qt_runtime.h: 73890 73891 2009-08-11 Simon Hausmann <simon.hausmann (a] nokia.com> 73892 73893 Reviewed by Holger Freyther. 73894 73895 Fix the build on the Qt build bot by making the generated JS bindings 73896 files depend on the code generator itself. 73897 73898 * WebCore.pro: 73899 73900 2009-08-07 Oliver Hunt <oliver (a] apple.com> 73901 73902 Reviewed by Sam Weinig 73903 73904 Stack overflow crash in JavaScript garbage collector mark pass 73905 https://bugs.webkit.org/show_bug.cgi?id=12216 73906 73907 Make WebCore use the new iterative marking logic. 73908 73909 Tests: fast/js/nested-object-gc.html 73910 73911 * bindings/js/JSAbstractWorkerCustom.cpp: 73912 (WebCore::JSAbstractWorker::markChildren): 73913 * bindings/js/JSDOMApplicationCacheCustom.cpp: 73914 (WebCore::JSDOMApplicationCache::markChildren): 73915 * bindings/js/JSDOMBinding.cpp: 73916 (WebCore::markDOMNodesForDocument): 73917 (WebCore::markActiveObjectsForContext): 73918 (WebCore::markDOMObjectWrapper): 73919 * bindings/js/JSDOMBinding.h: 73920 (WebCore::DOMObjectWithGlobalPointer::markChildren): 73921 * bindings/js/JSDOMGlobalObject.cpp: 73922 (WebCore::JSDOMGlobalObject::markChildren): 73923 * bindings/js/JSDOMGlobalObject.h: 73924 * bindings/js/JSDOMWindowCustom.cpp: 73925 (WebCore::JSDOMWindow::markChildren): 73926 * bindings/js/JSDOMWindowShell.cpp: 73927 (WebCore::JSDOMWindowShell::markChildren): 73928 * bindings/js/JSDOMWindowShell.h: 73929 * bindings/js/JSDedicatedWorkerContextCustom.cpp: 73930 (WebCore::JSDedicatedWorkerContext::markChildren): 73931 * bindings/js/JSDocumentCustom.cpp: 73932 (WebCore::JSDocument::markChildren): 73933 * bindings/js/JSEventListener.cpp: 73934 (WebCore::JSEventListener::markJSFunction): 73935 * bindings/js/JSEventListener.h: 73936 * bindings/js/JSMessageChannelCustom.cpp: 73937 (WebCore::JSMessageChannel::markChildren): 73938 * bindings/js/JSMessagePortCustom.cpp: 73939 (WebCore::JSMessagePort::markChildren): 73940 * bindings/js/JSNavigatorCustom.cpp: 73941 (WebCore::JSNavigator::markChildren): 73942 * bindings/js/JSNodeCustom.cpp: 73943 (WebCore::JSNode::markChildren): 73944 * bindings/js/JSNodeFilterCondition.cpp: 73945 (WebCore::JSNodeFilterCondition::markAggregate): 73946 * bindings/js/JSNodeFilterCondition.h: 73947 * bindings/js/JSNodeFilterCustom.cpp: 73948 (WebCore::JSNodeFilter::markChildren): 73949 * bindings/js/JSNodeIteratorCustom.cpp: 73950 (WebCore::JSNodeIterator::markChildren): 73951 * bindings/js/JSQuarantinedObjectWrapper.cpp: 73952 (WebCore::JSQuarantinedObjectWrapper::markChildren): 73953 * bindings/js/JSQuarantinedObjectWrapper.h: 73954 * bindings/js/JSSVGElementInstanceCustom.cpp: 73955 (WebCore::JSSVGElementInstance::markChildren): 73956 * bindings/js/JSSharedWorkerCustom.cpp: 73957 (WebCore::JSSharedWorker::markChildren): 73958 * bindings/js/JSStyleSheetCustom.cpp: 73959 (WebCore::JSStyleSheet::markChildren): 73960 * bindings/js/JSTreeWalkerCustom.cpp: 73961 (WebCore::JSTreeWalker::markChildren): 73962 * bindings/js/JSWebSocketCustom.cpp: 73963 (WebCore::JSWebSocket::markChildren): 73964 * bindings/js/JSWorkerContextCustom.cpp: 73965 (WebCore::JSWorkerContext::markChildren): 73966 * bindings/js/JSWorkerCustom.cpp: 73967 (WebCore::JSWorker::markChildren): 73968 * bindings/js/JSXMLHttpRequestCustom.cpp: 73969 (WebCore::JSXMLHttpRequest::markChildren): 73970 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 73971 (WebCore::JSXMLHttpRequestUpload::markChildren): 73972 * bindings/scripts/CodeGeneratorJS.pm: 73973 * dom/EventListener.h: 73974 (WebCore::EventListener::markJSFunction): 73975 (WebCore::markIfNotNull): 73976 * dom/NodeFilter.h: 73977 (WebCore::NodeFilter::markAggregate): 73978 * dom/NodeFilterCondition.h: 73979 (WebCore::NodeFilterCondition::markAggregate): 73980 * dom/RegisteredEventListener.h: 73981 (WebCore::markEventListeners): 73982 * page/DOMWindow.h: 73983 * workers/WorkerContext.h: 73984 73985 2009-08-10 Jeremy Orlow <jorlow (a] chromium.org> 73986 73987 Reviewed by Eric Seidel. 73988 73989 Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private". 73990 https://bugs.webkit.org/show_bug.cgi?id=28089 73991 73992 Rename all the NPN_foo functions to _NPN_foo so that they can't directly be 73993 called by mistake. This roughly matches the way JSC does it, which is an 73994 additional advantage. 73995 73996 * bindings/v8/NPV8Object.cpp: 73997 (npCreateV8ScriptObject): 73998 (_NPN_Invoke): 73999 (_NPN_InvokeDefault): 74000 (_NPN_Evaluate): 74001 (_NPN_EvaluateHelper): 74002 (_NPN_GetProperty): 74003 (_NPN_SetProperty): 74004 (_NPN_RemoveProperty): 74005 (_NPN_HasProperty): 74006 (_NPN_HasMethod): 74007 (_NPN_SetException): 74008 (_NPN_Enumerate): 74009 (_NPN_Construct): 74010 * bindings/v8/ScriptController.cpp: 74011 (WebCore::ScriptController::clearScriptObjects): 74012 (WebCore::ScriptController::createScriptInstanceForWidget): 74013 (WebCore::ScriptController::cleanupScriptObjectsForPlugin): 74014 * bindings/v8/V8NPObject.cpp: 74015 (npObjectInvokeImpl): 74016 (npObjectGetProperty): 74017 (npObjectIndexedPropertyGetter): 74018 (npObjectGetIndexedProperty): 74019 (npObjectSetProperty): 74020 (npObjectIndexedPropertySetter): 74021 (npObjectSetIndexedProperty): 74022 (weakNPObjectCallback): 74023 (createV8ObjectForNPObject): 74024 (forgetV8ObjectForNPObject): 74025 * bindings/v8/V8NPUtils.cpp: 74026 (getStringIdentifier): 74027 * bindings/v8/npruntime.cpp: 74028 * bindings/v8/npruntime_impl.h: 74029 74030 2009-08-10 Jeremy Orlow <jorlow (a] chromium.org> 74031 74032 Reviewed by Brady Eidson. 74033 74034 Change ___Storage.key() to match current spec behavior. 74035 https://bugs.webkit.org/show_bug.cgi?id=28112 74036 74037 The current WebStorage spec says that ___Storage.key() should return null when 74038 the index is out of bounds, rather than an exception. A bunch of logic can be 74039 simplified after this change. 74040 74041 * bindings/js/JSStorageCustom.cpp: 74042 (WebCore::JSStorage::getPropertyNames): 74043 * bindings/v8/custom/V8StorageCustom.cpp: 74044 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 74045 * storage/Storage.cpp: 74046 (WebCore::Storage::key): 74047 * storage/Storage.h: 74048 * storage/Storage.idl: 74049 * storage/StorageArea.h: 74050 * storage/StorageAreaImpl.cpp: 74051 (WebCore::StorageAreaImpl::key): 74052 * storage/StorageAreaImpl.h: 74053 * storage/StorageMap.cpp: 74054 (WebCore::StorageMap::key): 74055 * storage/StorageMap.h: 74056 74057 2009-08-07 Michael Nordman <michaeln (a] google.com> 74058 74059 Reviewed by Darin Fisher. 74060 74061 https://bugs.webkit.org/show_bug.cgi?id=28087 74062 74063 Mods for a chrome specific impl of ApplicationCacheHost. 74064 74065 * The public section of the interface is the same, but we use 74066 PLATFORM(CHROMIUM) to identify which parts of the private 74067 section are shared. The chrome specific internals are encapsulated 74068 in a seperate ApplicationCacheHostInternal class. WebCore common 74069 code only contains a forward reference to this class. 74070 74071 * Cleanup a couple of stale comments. 74072 74073 * Have window.applicationCache return null to script when the 74074 feature is disabled in the preferences. 74075 74076 No new tests. 74077 74078 * loader/appcache/ApplicationCacheHost.cpp: 74079 * loader/appcache/ApplicationCacheHost.h: 74080 (WebCore::ApplicationCacheHost::documentLoader): 74081 * page/DOMWindow.cpp: 74082 (WebCore::DOMWindow::applicationCache): 74083 74084 2009-08-10 Crystal Zhang <crystal.zhang (a] torchmobile.com> 74085 74086 Reviewed by George Staikos. 74087 74088 Implement GraphicsContext::fillRoundRect() for WINCE port 74089 https://bugs.webkit.org/show_bug.cgi?id=27842 74090 74091 * platform/graphics/GraphicsContext.h: 74092 * platform/graphics/wince/GraphicsContextWince.cpp: 74093 (WebCore::rectCenterPoint): 74094 (WebCore::GraphicsContext::fillRoundedRect): 74095 (WebCore::GraphicsContext::drawRoundCorner): 74096 74097 2009-08-10 Anthony Ricaud <rik (a] webkit.org> 74098 74099 Reviewed by Timothy Hatcher. 74100 74101 Inspector Resources / Graphs should support filtering 74102 https://bugs.webkit.org/show_bug.cgi?id=20629 74103 74104 Introduces a filter bar for resources. 74105 74106 Thanks to Matt Lilek for the CSS scope bar. 74107 74108 * English.lproj/localizedStrings.js: 74109 * inspector/front-end/ResourcesPanel.js: 74110 (WebInspector.ResourcesPanel.createFilterElement): 74111 (WebInspector.ResourcesPanel): 74112 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter): 74113 (WebInspector.ResourcesPanel.prototype._updateFilter): 74114 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): 74115 * inspector/front-end/inspector.css: 74116 * inspector/front-end/inspector.js: 74117 (WebInspector.loaded): 74118 74119 2009-08-10 Brent Fulgham <bfulgham (a] webkit.org> 74120 74121 Unreviewed build correction after http://trac.webkit.org/changeset/46978 74122 74123 * platform/network/curl/ResourceHandleManager.cpp: 74124 (WebCore::ResourceHandleManager::initializeHandle): Correct 74125 deprecated removeRef to new removeFragmentIdentifier. 74126 74127 2009-08-07 Ryosuke Niwa <rniwa (a] webkit.org> 74128 74129 Reviewed by Justin Garcia. 74130 74131 Background color formatting lost on enter 74132 https://bugs.webkit.org/show_bug.cgi?id=20348 74133 74134 This patch makes background color be preserved during editing. 74135 In particular, editingStyleAtPosition would include the background color when obtaining styles. 74136 74137 * editing/ApplyStyleCommand.cpp: 74138 (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties 74139 74140 2009-08-10 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 74141 74142 Reviewed by Simon Hausmann. 74143 74144 Stop sending QEvent::CursorChange to Qt for mouse move. 74145 74146 Verify if the cursor didn't change in WidgetQt::setCursor, 74147 just like the mac port does. 74148 74149 Thanks to Adriano Rezendo for spotting and debugging the 74150 issue. 74151 74152 * platform/qt/WidgetQt.cpp: 74153 (WebCore::Widget::setCursor): 74154 74155 2009-08-10 Alexey Proskuryakov <ap (a] apple.com> 74156 74157 Reviewed by Brady Eidson. 74158 74159 https://bugs.webkit.org/show_bug.cgi?id=28165 74160 Application cache maximum size cannot be set before the database is opened 74161 74162 * loader/appcache/ApplicationCacheStorage.cpp: 74163 (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't 74164 open yet. 74165 74166 2009-08-10 Vitaly Repeshko <vitalyr (a] quad.spb.corp.google.com> 74167 74168 Reviewed by Dimitri Glazkov. 74169 74170 [V8] Fix memory leak in node event listeners. See http://crbug.com/17400. 74171 https://bugs.webkit.org/show_bug.cgi?id=28156 74172 74173 * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants. 74174 * bindings/v8/V8AbstractEventListener.h: 74175 (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects. 74176 * bindings/v8/V8DOMWrapper.cpp: 74177 (WebCore::V8DOMWrapper::getTemplate): 74178 * bindings/v8/V8ObjectEventListener.cpp: 74179 * bindings/v8/V8ObjectEventListener.h: 74180 (WebCore::V8ObjectEventListener::isObjectListener): 74181 * bindings/v8/V8Utilities.cpp: 74182 (WebCore::removeHiddenDependency): 74183 * bindings/v8/custom/V8CustomBinding.h: 74184 * bindings/v8/custom/V8ElementCustom.cpp: 74185 * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp. 74186 (WebCore::toEventType): 74187 (WebCore::getEventListener): 74188 (WebCore::ACCESSOR_SETTER): 74189 (WebCore::ACCESSOR_GETTER): 74190 (WebCore::CALLBACK_FUNC_DECL): 74191 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 74192 (WebCore::getEventListener): Made static. 74193 74194 2009-08-10 Jeremy Orlow <jorlow (a] chromium.org> 74195 74196 Reviewed by Darin Fisher. 74197 74198 Cleanup DOM Storage namespace shutdown code usage of security origin. 74199 https://bugs.webkit.org/show_bug.cgi?id=28094 74200 74201 If a storage namespace is not explicitly closed, be sure to do so on 74202 destruction of the object. In addition, the close call should wait 74203 on the background thread finishing its syncing. (Not doing so is actually 74204 a regression from the original LocalStorage code.) 74205 74206 There's no point to passing in the SecurityOrigin when copying a storage 74207 area since what was passed in is exactly what is stored within each 74208 storage area. In addition, the non-copy constructor should take in a 74209 PassRefPtr rather than a pointer since that pointer was only passed into 74210 the constuctor for RefPtr's anyway. 74211 74212 * storage/StorageAreaImpl.cpp: 74213 (WebCore::StorageAreaImpl::StorageAreaImpl): 74214 (WebCore::StorageAreaImpl::copy): 74215 * storage/StorageAreaImpl.h: 74216 * storage/StorageNamespaceImpl.cpp: 74217 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 74218 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): 74219 (WebCore::StorageNamespaceImpl::copy): 74220 (WebCore::StorageNamespaceImpl::close): 74221 * storage/StorageNamespaceImpl.h: 74222 74223 2009-08-10 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74224 74225 Not reviewed, build fix. 74226 74227 Rename ref() to fragmentIdentifier() in the wml/ subdirectory. 74228 74229 * wml/WMLCardElement.cpp: 74230 (WebCore::WMLCardElement::determineActiveCard): 74231 * wml/WMLGoElement.cpp: 74232 (WebCore::WMLGoElement::executeTask): 74233 * wml/WMLPageState.cpp: 74234 (WebCore::WMLPageState::canAccessDeck): 74235 74236 2009-08-10 Steve Falkenburg <sfalken (a] apple.com> 74237 74238 Windows build fix. 74239 74240 Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp. 74241 Fixes linker warnings. 74242 74243 Corrected spelling of JSInspectorBackend.cpp. 74244 74245 Other changes related to actually using a Visual Studio to open/save the vcproj file. 74246 74247 * WebCore.vcproj/WebCore.vcproj: 74248 74249 2009-08-10 Sam Weinig <sam (a] webkit.org> 74250 74251 Reviewed by Anders Carlsson. 74252 74253 Remove a dead #define. 74254 74255 * bindings/js/JSDOMBinding.cpp: 74256 74257 2009-08-10 Dimitri Glazkov <dglazkov (a] chromium.org> 74258 74259 Unreviewed, build fix. 74260 74261 [Chromium] Update KURLGoogle for ref* method renames in 74262 http://trac.webkit.org/changeset/46978. 74263 https://bugs.webkit.org/show_bug.cgi?id=28084 74264 74265 * bindings/v8/custom/V8LocationCustom.cpp: 74266 (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and 74267 setFragmentIdentifier, respectively. 74268 * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names. 74269 74270 2009-08-10 Jan Michael Alonzo <jmalonzo (a] webkit.org> 74271 74272 [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144 74273 for r46989. 74274 74275 * platform/network/soup/ResourceHandleSoup.cpp: 74276 (WebCore::finishedCallback): 74277 74278 2009-08-10 John Kjellberg <john.kjellberg (a] power.alstom.com> 74279 74280 Reviewed by Darin Adler. 74281 74282 Memory leak in error handling code for SOUP interface 74283 https://bugs.webkit.org/show_bug.cgi?id=28144 74284 74285 Freed memory leaked in error handling code for soup requests. 74286 74287 * platform/network/soup/ResourceHandleSoup.cpp: 74288 (WebCore::finishedCallback): 74289 (WebCore::): 74290 74291 2009-08-10 Dimitri Glazkov <dglazkov (a] chromium.org> 74292 74293 Reviewed by Darin Adler. 74294 74295 Provide graceful handling of the situation when an embedder invokes 74296 visited link update methods before a Page constructor has been called. 74297 https://bugs.webkit.org/show_bug.cgi?id=28149 74298 74299 * page/Page.cpp: 74300 (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages. 74301 (WebCore::Page::visitedStateChanged): Ditto. 74302 74303 2009-08-10 Xan Lopez <xlopez (a] igalia.com> 74304 74305 Fix GTKbuild. 74306 74307 * platform/network/soup/ResourceHandleSoup.cpp: 74308 (WebCore::): 74309 74310 2009-08-10 Dan Bernstein <mitz (a] apple.com> 74311 74312 Reviewed by Anders Carlsson. 74313 74314 Remove the redundant, Windows CE-only GlyphBuffer::advnaceData() 74315 74316 * platform/graphics/GlyphBuffer.h: Removed advanceData(). 74317 * platform/graphics/wince/GraphicsContextWince.cpp: 74318 (WebCore::GraphicsContext::drawText): Changed to use advances(from) 74319 instead of advanceData() from. 74320 74321 2009-08-10 Xan Lopez <xlopez (a] igalia.com> 74322 74323 Reviewed by Gustavo Noronha. 74324 74325 Remove workaround for older libsoup versions. 74326 74327 * platform/network/soup/ResourceHandleSoup.cpp: 74328 (WebCore::fillResponseFromMessage): 74329 74330 2009-08-10 Xan Lopez <xlopez (a] igalia.com> 74331 74332 Reviewed by Gustavo Noronha. 74333 74334 Let startHttp validate the URI instead of doing it, with potential 74335 crashes, in ::start. 74336 74337 * platform/network/soup/ResourceHandleSoup.cpp: 74338 (WebCore::startHttp): 74339 74340 2009-08-10 Darin Adler <darin (a] apple.com> 74341 74342 Reviewed by Dan Bernstein. 74343 74344 When empty <input> is focused, getSelection() exposes shadow tree nodes 74345 https://bugs.webkit.org/show_bug.cgi?id=15903 74346 74347 Test: fast/forms/shadow-tree-exposure.html 74348 74349 * page/DOMSelection.cpp: 74350 (WebCore::selectionShadowAncestor): Added. 74351 (WebCore::DOMSelection::anchorNode): Return the parent of the shadow 74352 ancestor if the selection is in a shadow tree. Matches Firefox. 74353 (WebCore::DOMSelection::anchorOffset): Return the index of the shadow 74354 ancestor if the selection is in a shadow tree. Matches Firefox. 74355 (WebCore::DOMSelection::focusNode): Ditto. 74356 (WebCore::DOMSelection::focusOffset): Ditto. 74357 (WebCore::DOMSelection::baseNode): More of the same, but since this 74358 is a WebKit-invented property, it does not match Firefox. 74359 (WebCore::DOMSelection::baseOffset): Ditto. 74360 (WebCore::DOMSelection::extentNode): Ditto. 74361 (WebCore::DOMSelection::extentOffset): Ditto. 74362 (WebCore::DOMSelection::isCollapsed): Return true even when the 74363 selection is a range, if the selection is in the shadow tree. 74364 Matches Firefox. Also changed behavior when called and the frame 74365 is gone to return true instead of false which makes more sense. 74366 (WebCore::DOMSelection::empty): Use clear() just like the other 74367 selection-clearing function in this file does. 74368 (WebCore::DOMSelection::getRangeAt): Return a range that starts 74369 and ends before the shadow ancestor. Matches Firefox. 74370 74371 2009-08-10 Pavel Feldman <pfeldman (a] chromium.org> 74372 74373 Reviewed by Timothy Hatcher. 74374 74375 Web Inspector: Make all status bar button images glyph-based. 74376 74377 https://bugs.webkit.org/show_bug.cgi?id=28124 74378 74379 * inspector/front-end/ElementsPanel.js: 74380 (WebInspector.ElementsPanel): 74381 * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added. 74382 * inspector/front-end/Images/clearConsoleButtons.png: Removed. 74383 * inspector/front-end/Images/consoleButtonGlyph.png: Added. 74384 * inspector/front-end/Images/consoleButtons.png: Removed. 74385 * inspector/front-end/Images/dockButtonGlyph.png: Added. 74386 * inspector/front-end/Images/dockButtons.png: Removed. 74387 * inspector/front-end/Images/enableButtons.png: Removed. 74388 * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added. 74389 * inspector/front-end/Images/enableSolidButtonGlyph.png: Added. 74390 * inspector/front-end/Images/excludeButtonGlyph.png: Added. 74391 * inspector/front-end/Images/excludeButtons.png: Removed. 74392 * inspector/front-end/Images/focusButtonGlyph.png: Added. 74393 * inspector/front-end/Images/focusButtons.png: Removed. 74394 * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added. 74395 * inspector/front-end/Images/largerResourcesButtons.png: Removed. 74396 * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added. 74397 * inspector/front-end/Images/nodeSearchButtons.png: Removed. 74398 * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added. 74399 * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed. 74400 * inspector/front-end/Images/percentButtonGlyph.png: Added. 74401 * inspector/front-end/Images/percentButtons.png: Removed. 74402 * inspector/front-end/Images/recordButtonGlyph.png: Added. 74403 * inspector/front-end/Images/recordButtons.png: Removed. 74404 * inspector/front-end/Images/recordToggledButtonGlyph.png: Added. 74405 * inspector/front-end/Images/reloadButtonGlyph.png: Added. 74406 * inspector/front-end/Images/reloadButtons.png: Removed. 74407 * inspector/front-end/Images/undockButtonGlyph.png: Added. 74408 * inspector/front-end/Panel.js: 74409 (WebInspector.Panel.prototype.createStatusBarButton): 74410 * inspector/front-end/ProfilesPanel.js: 74411 (WebInspector.ProfilesPanel): 74412 * inspector/front-end/ResourcesPanel.js: 74413 (WebInspector.ResourcesPanel): 74414 * inspector/front-end/ScriptsPanel.js: 74415 (WebInspector.ScriptsPanel): 74416 * inspector/front-end/WebKit.qrc: 74417 * inspector/front-end/inspector.css: 74418 * inspector/front-end/inspector.html: 74419 74420 2009-08-07 Brady Eidson <beidson (a] apple.com> 74421 74422 Reviewed by Darin Adler. 74423 74424 KURL ref() methods should be fragmentIdentifier() methods 74425 https://bugs.webkit.org/show_bug.cgi?id=28084 74426 74427 In addition to the renames, also took the chance to replace all use of: 74428 setRef(String()); 74429 with: 74430 removeFragmentIdentifier(); 74431 74432 * platform/KURL.cpp: 74433 (WebCore::KURL::fragmentIdentifier): 74434 (WebCore::KURL::hasFragmentIdentifier): 74435 (WebCore::KURL::setFragmentIdentifier): 74436 (WebCore::KURL::removeFragmentIdentifier): 74437 (WebCore::KURL::prettyURL): 74438 (WebCore::equalIgnoringFragmentIdentifier): 74439 * platform/KURL.h: 74440 74441 * bindings/js/JSLocationCustom.cpp: 74442 (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method. 74443 74444 * accessibility/AccessibilityRenderObject.cpp: 74445 (WebCore::AccessibilityRenderObject::internalLinkElement): 74446 * css/CSSCursorImageValue.cpp: 74447 (WebCore::isSVGCursorIdentifier): 74448 * history/HistoryItem.cpp: 74449 (WebCore::HistoryItem::isCurrentDocument): 74450 * html/HTMLAnchorElement.cpp: 74451 (WebCore::HTMLAnchorElement::hash): 74452 * html/HTMLFrameElementBase.cpp: 74453 (WebCore::HTMLFrameElementBase::isURLAllowed): 74454 * loader/FrameLoader.cpp: 74455 (WebCore::FrameLoader::begin): 74456 (WebCore::FrameLoader::gotoAnchor): 74457 (WebCore::FrameLoader::scheduleLocationChange): 74458 (WebCore::FrameLoader::scrollToAnchor): 74459 (WebCore::FrameLoader::shouldReload): 74460 (WebCore::FrameLoader::urlsMatchItem): 74461 * loader/appcache/ApplicationCache.cpp: 74462 (WebCore::ApplicationCache::resourceForURL): 74463 (WebCore::ApplicationCache::resourceForRequest): 74464 * loader/appcache/ApplicationCacheGroup.cpp: 74465 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 74466 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): 74467 (WebCore::ApplicationCacheGroup::selectCache): 74468 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 74469 (WebCore::ApplicationCacheGroup::didReceiveResponse): 74470 (WebCore::ApplicationCacheGroup::didFail): 74471 (WebCore::ApplicationCacheGroup::addEntry): 74472 * loader/appcache/ApplicationCacheResource.h: 74473 (WebCore::ApplicationCacheResource::create): 74474 * loader/appcache/ApplicationCacheStorage.cpp: 74475 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 74476 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 74477 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 74478 * loader/appcache/ManifestParser.cpp: 74479 (WebCore::parseManifest): 74480 * page/Location.cpp: 74481 (WebCore::Location::hash): 74482 * page/Page.cpp: 74483 (WebCore::Page::goToItem): 74484 * rendering/RenderPartObject.cpp: 74485 (WebCore::isURLAllowed): 74486 * workers/WorkerLocation.cpp: 74487 (WebCore::WorkerLocation::hash): 74488 74489 2009-08-10 Andy Shaw <andy.shaw (a] nokia.com> 74490 74491 Reviewed by Simon Hausmann. 74492 74493 Fix endless loop when the application is quit by a secondary thread during a sync xml http request. 74494 74495 Replace the m_finished state variable and the call to QCoreApplication::processEvents() with 74496 a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well 74497 as from Qt through its knowledge of globally registered eventloops. 74498 74499 There is no unit test for this bug as it would require exporting additional symbols and 74500 introduce the synchronous loader as global variable just for the test. 74501 74502 * platform/network/qt/ResourceHandleQt.cpp: 74503 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 74504 (WebCore::WebCoreSynchronousLoader::didFail): 74505 (WebCore::WebCoreSynchronousLoader::waitForCompletion): 74506 74507 2009-08-10 Pavel Feldman <pfeldman (a] chromium.org> 74508 74509 Reviewed by Timothy Hatcher. 74510 74511 WebInspector: Make properties inspection serialized. 74512 74513 https://bugs.webkit.org/show_bug.cgi?id=28078 74514 74515 * inspector/front-end/DOMAgent.js: 74516 (InspectorController.getPrototypes): 74517 (InspectorController.getProperties): 74518 * inspector/front-end/InjectedScript.js: 74519 (InjectedScript.getPrototypes): 74520 (InjectedScript.getProperties): 74521 (InjectedScript.setPropertyValue): 74522 * inspector/front-end/ObjectPropertiesSection.js: 74523 (WebInspector.ObjectRef): 74524 (WebInspector.ObjectPropertyRef): 74525 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): 74526 (WebInspector.ObjectPropertiesSection.prototype.update.callback): 74527 (WebInspector.ObjectPropertiesSection.prototype.update): 74528 (WebInspector.ObjectPropertiesSection.prototype._update): 74529 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback): 74530 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 74531 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): 74532 (WebInspector.ObjectPropertyTreeElement.prototype.update): 74533 * inspector/front-end/PropertiesSidebarPane.js: 74534 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 74535 (WebInspector.PropertiesSidebarPane.prototype.update): 74536 74537 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74538 74539 Reviewed by George Staikos. 74540 74541 [WML] wml.css lacks <pre> support 74542 https://bugs.webkit.org/show_bug.cgi?id=28135 74543 74544 Add <pre> support for WML. 74545 Extended fast/wml/text-emphasis.wml to cover <pre> support. 74546 74547 * css/wml.css: <pre> section copied from html.css 74548 74549 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74550 74551 Reviewed by Oliver Hunt. 74552 74553 Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'. 74554 74555 * loader/FrameLoader.cpp: 74556 (WebCore::isBackForwardLoadType): 74557 (WebCore::FrameLoader::restoreDocumentState): 74558 (WebCore::FrameLoader::transitionToCommitted): 74559 (WebCore::FrameLoader::loadItem): 74560 74561 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74562 74563 Reviewed by George Staikos. 74564 74565 [WML] Deck access control is completly broken 74566 https://bugs.webkit.org/show_bug.cgi?id=27721 74567 74568 Rewrite WML deck access control, actually works now standalone and within LayoutTests. 74569 Added several new layout tests covering local & remote access support. 74570 74571 In order to detect WML task execution failures from within the WML layout tests a new 74572 method Console::lastWMLErrorMessage() has been added, returning the last recorded WML 74573 error message. Change WML log messages to dump to InspectorClient, just like it's done 74574 for HTML - we used to behave like JSMessageSource, which is wrong. 74575 74576 Tests: http/tests/wml/access-target-domain-deny.html 74577 http/tests/wml/access-target-path-deny.html 74578 http/tests/wml/access-target.html 74579 wml/access-target-deny.html 74580 wml/access-target.html 74581 74582 * inspector/ConsoleMessage.h: 74583 (WebCore::ConsoleMessage::source): Added public method to fetch the message source type. 74584 (WebCore::ConsoleMessage::message): Added public method to access the error message. 74585 * inspector/InspectorController.h: 74586 (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages. 74587 * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML). 74588 (WebCore::isBackForwardLoadType): 74589 (WebCore::FrameLoader::restoreDocumentState): 74590 (WebCore::FrameLoader::transitionToCommitted): 74591 (WebCore::FrameLoader::loadItem): 74592 * loader/FrameLoaderTypes.h: 74593 (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information. 74594 * page/Console.cpp: 74595 (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController. 74596 (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present. 74597 * page/Console.h: 74598 * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()". 74599 * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument(). 74600 (WebCore::WMLAccessElement::parseMappedAttribute): 74601 (WebCore::WMLAccessElement::insertedIntoDocument): 74602 * wml/WMLAccessElement.h: 74603 * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck. 74604 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 74605 * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState. 74606 (WebCore::WMLDocument::finishedParsing): 74607 (WebCore::WMLDocument::initialize): 74608 * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state. 74609 (WebCore::reportWMLError): 74610 * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests. 74611 (WebCore::WMLPageState::WMLPageState): 74612 (WebCore::normalizedHostName): 74613 (WebCore::hostFromURL): 74614 (WebCore::urlForHistoryItem): 74615 (WebCore::tryAccessHistoryURLs): 74616 (WebCore::WMLPageState::processAccessControlData): 74617 (WebCore::WMLPageState::resetAccessControlData): 74618 (WebCore::WMLPageState::canAccessDeck): 74619 (WebCore::WMLPageState::hostIsAllowedToAccess): 74620 (WebCore::WMLPageState::pathIsAllowedToAccess): 74621 * wml/WMLPageState.h: 74622 74623 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74624 74625 Reviewed by Maciej Stachowiak. 74626 74627 FrameLoadType / WebFrameLoadType enums are out of sync 74628 https://bugs.webkit.org/show_bug.cgi?id=28132 74629 74630 Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl. 74631 The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between 74632 'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload 2'. 74633 74634 Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl. 74635 74636 * loader/FrameLoaderTypes.h: 74637 (WebCore::): 74638 74639 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74640 74641 Reviewed by George Staikos. 74642 74643 [WML] manual-tests/wml/onevent-prev.wml crashes 74644 https://bugs.webkit.org/show_bug.cgi?id=27722 74645 74646 Fix intrinsic event execution, leading to crashes. 74647 First finish parsing the document, then execute the events. Not the other way round. 74648 -> exposes bugs all over the WML layout tests, which relied on that quirk. 74649 74650 Fixes manual-tests/wml/onevent-prev.wml. 74651 74652 * wml/WMLDocument.cpp: 74653 (WebCore::WMLDocument::WMLDocument): 74654 (WebCore::WMLDocument::finishedParsing): 74655 (WebCore::WMLDocument::initialize): 74656 * wml/WMLDocument.h: 74657 74658 2009-08-08 Dimitri Glazkov <dglazkov (a] chromium.org> 74659 74660 Unreviewed, build fix. 74661 74662 [Chromium] Update WebCore.gyp to add ImageBuffer.cpp, 74663 introduced by http://trac.webkit.org/changeset/46956. 74664 https://bugs.webkit.org/show_bug.cgi?id=27844 74665 74666 * WebCore.gypi: Added ImageBuffer.cpp. 74667 74668 2009-08-08 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 74669 74670 Rubber-stamped by Jan Michael Alonzo. 74671 74672 Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure 74673 fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled. 74674 74675 * dom/Document.idl: 74676 74677 2009-08-08 Dirk Schulze <krit (a] webkit.org> 74678 74679 Reviewed by Eric Seidel. 74680 74681 SVG Filter need feColorMatrix implementation 74682 [https://bugs.webkit.org/show_bug.cgi?id=27711] 74683 74684 Adds the filter effect feColorMatrix to SVG filters. 74685 74686 There is already a test in the w3c directory. 74687 Test: svg/W3C-SVG-1.1/filters-color-01-b.svg 74688 74689 * platform/graphics/filters/FEColorMatrix.cpp: 74690 (WebCore::matrix): 74691 (WebCore::saturate): 74692 (WebCore::huerotate): 74693 (WebCore::luminance): 74694 (WebCore::FEColorMatrix::apply): 74695 74696 2009-08-08 Dirk Schulze <krit (a] webkit.org> 74697 74698 Reviewed by Oliver Hunt. 74699 74700 Build fix for Tiger. 74701 https://bugs.webkit.org/show_bug.cgi?id=27844 74702 74703 * platform/graphics/cg/ImageBufferCG.cpp: 74704 (WebCore::ImageBuffer::ImageBuffer): 74705 74706 2009-08-08 Dirk Schulze <krit (a] webkit.org> 74707 74708 Reviewed by Oliver Hunt. 74709 74710 This is an initial implementation for linearRGB and sRGB support for all 74711 platforms. Some platforms like Cg support different color spaces 74712 natively, others like Qt, Cairo and Skia do not. This patch uses the 74713 native implementation of platforms if possible and offers a common version 74714 if not. 74715 74716 Different color spaces are used in SVG Filters. Nearly every Filter test 74717 case is a test for this patch and will be enabled, once Filters are enabled. 74718 https://bugs.webkit.org/show_bug.cgi?id=27844 74719 74720 * GNUmakefile.am: 74721 * WebCore.pro: 74722 * html/canvas/CanvasRenderingContext2D.cpp: 74723 (WebCore::CanvasRenderingContext2D::drawTextInternal): 74724 * html/HTMLCanvasElement.cpp: 74725 (WebCore::HTMLCanvasElement::createImageBuffer): 74726 * platform/graphics/GeneratedImage.cpp: 74727 (WebCore::GeneratedImage::drawPattern): 74728 * platform/graphics/ImageBuffer.cpp: Added. 74729 (WebCore::ImageBuffer::transformColorSpace): 74730 * platform/graphics/ImageBuffer.h: 74731 (WebCore::): 74732 (WebCore::ImageBuffer::create): 74733 * platform/graphics/cairo/ImageBufferCairo.cpp: 74734 (WebCore::ImageBuffer::ImageBuffer): 74735 (WebCore::ImageBuffer::platformTransformColorSpace): 74736 * platform/graphics/cairo/ImageCairo.cpp: 74737 (WebCore::Image::drawPattern): 74738 * platform/graphics/cg/ImageBufferCG.cpp: 74739 (WebCore::ImageBuffer::ImageBuffer): 74740 * platform/graphics/chromium/TransparencyWin.cpp: 74741 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): 74742 * platform/graphics/filters/FilterEffect.cpp: 74743 (WebCore::FilterEffect::getEffectContext): 74744 * platform/graphics/qt/ImageBufferQt.cpp: 74745 (WebCore::ImageBuffer::ImageBuffer): 74746 (WebCore::ImageBuffer::platformTransformColorSpace): 74747 * platform/graphics/qt/PathQt.cpp: 74748 (WebCore::Path::strokeContains): 74749 (WebCore::Path::strokeBoundingRect): 74750 * platform/graphics/skia/ImageBufferSkia.cpp: 74751 (WebCore::ImageBuffer::ImageBuffer): 74752 (WebCore::ImageBuffer::platformTransformColorSpace): 74753 * platform/graphics/skia/SkiaUtils.cpp: 74754 (WebCore::scratchContext): 74755 * platform/graphics/wx/ImageBufferWx.cpp: 74756 (WebCore::ImageBuffer::ImageBuffer): 74757 * platform/mac/ScrollbarThemeMac.mm: 74758 (WebCore::ScrollbarThemeMac::paint): 74759 * rendering/RenderBoxModelObject.cpp: 74760 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 74761 * svg/SVGMaskElement.cpp: 74762 (WebCore::SVGMaskElement::drawMaskerContent): 74763 * svg/SVGPatternElement.cpp: 74764 (WebCore::SVGPatternElement::buildPattern): 74765 * svg/graphics/SVGImage.cpp: 74766 (WebCore::SVGImage::nativeImageForCurrentFrame): 74767 * svg/graphics/SVGPaintServerGradient.cpp: 74768 (WebCore::createMaskAndSwapContextForTextGradient): 74769 * svg/graphics/SVGPaintServerPattern.cpp: 74770 (WebCore::SVGPaintServerPattern::setup): 74771 * svg/graphics/SVGResourceFilter.cpp: 74772 (WebCore::SVGResourceFilter::prepareFilter): 74773 (WebCore::SVGResourceFilter::applyFilter): 74774 * svg/graphics/SVGResourceMasker.cpp: 74775 (WebCore::SVGResourceMasker::applyMask): 74776 * svg/graphics/filters/SVGFETile.cpp: 74777 (WebCore::FETile::apply): 74778 74779 2009-08-08 Xan Lopez <xlopez (a] igalia.com> 74780 74781 Roll out r46928, since it wasn't done in accordance with the 74782 agreed naming. 74783 74784 * bindings/gdom/GdomDOMObject.cpp: Removed. 74785 74786 2009-08-08 Jan Michael Alonzo <jmalonzo (a] webkit.org> 74787 74788 Reviewed by Xan Lopez. 74789 74790 [Gtk] Enable accessibility in Gtk DRT 74791 https://bugs.webkit.org/show_bug.cgi?id=25989 74792 74793 Add SPI to get the focused accessible element to be used by DRT. 74794 74795 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 74796 (webkit_accessible_get_focused_element): 74797 * accessibility/gtk/AccessibilityObjectWrapperAtk.h: 74798 74799 2009-08-07 Jan Michael Alonzo <jmalonzo (a] webkit.org> 74800 74801 Gtk build fix - add html/canvas to the binding generator's include path 74802 74803 * GNUmakefile.am: 74804 74805 2009-08-07 Oliver Hunt <oliver (a] apple.com> 74806 74807 Another attempt to fix windows. 74808 74809 * WebCore.vcproj/WebCore.vcproj: 74810 * WebCore.vcproj/WebCoreCommon.vsprops: 74811 74812 2009-08-07 Oliver Hunt <oliver (a] apple.com> 74813 74814 Windows build fix 74815 74816 * WebCore.vcproj/WebCore.vcproj: 74817 74818 2009-08-07 Jan Michael Alonzo <jmalonzo (a] webkit.org> 74819 74820 Gtk build fix - add html/canvas to the include path. 74821 74822 * GNUmakefile.am: 74823 74824 2009-08-07 Adam Treat <adam.treat (a] torchmobile.com> 74825 74826 Prospective build fix for Qt following r46937. 74827 74828 * WebCore.pro: 74829 74830 2009-08-07 Yong Li <yong.li (a] torchmobile.com> 74831 74832 WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices 74833 https://bugs.webkit.org/show_bug.cgi?id=27734 74834 74835 * platform/graphics/GlyphBuffer.h: 74836 (WebCore::GlyphBuffer::advanceAt): 74837 (WebCore::GlyphBuffer::advanceData): 74838 (WebCore::GlyphBuffer::add): 74839 74840 2009-08-07 Yong Li <yong.li (a] torchmobile.com> 74841 74842 Reviewed by Eric Seidel. 74843 74844 WINCE PORT: pass unrecognized glyphs to GDI to handle 74845 https://bugs.webkit.org/show_bug.cgi?id=27734 74846 74847 * platform/graphics/FontFastPath.cpp: 74848 (WebCore::Font::glyphDataForCharacter): 74849 74850 2009-08-07 Chris Marrin <cmarrin (a] apple.com> 74851 74852 Reviewed by Oliver Hunt. 74853 74854 Move Canvas related file to a subdirectories 74855 https://bugs.webkit.org/show_bug.cgi?id=28026 74856 74857 * DerivedSources.make: 74858 * GNUmakefile.am: 74859 * WebCore.gypi: 74860 * WebCore.pro: 74861 * WebCore.vcproj/WebCore.vcproj: 74862 * WebCore.xcodeproj/project.pbxproj: 74863 * WebCoreSources.bkl: 74864 * html/CanvasGradient.cpp: Removed. 74865 * html/CanvasGradient.h: Removed. 74866 * html/CanvasGradient.idl: Removed. 74867 * html/CanvasPattern.cpp: Removed. 74868 * html/CanvasPattern.h: Removed. 74869 * html/CanvasPattern.idl: Removed. 74870 * html/CanvasPixelArray.cpp: Removed. 74871 * html/CanvasPixelArray.h: Removed. 74872 * html/CanvasPixelArray.idl: Removed. 74873 * html/CanvasRenderingContext2D.cpp: Removed. 74874 * html/CanvasRenderingContext2D.h: Removed. 74875 * html/CanvasRenderingContext2D.idl: Removed. 74876 * html/CanvasStyle.cpp: Removed. 74877 * html/CanvasStyle.h: Removed. 74878 * html/canvas: Added. 74879 * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp. 74880 * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h. 74881 * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl. 74882 * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp. 74883 * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h. 74884 * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl. 74885 * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp. 74886 * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h. 74887 * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl. 74888 * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp. 74889 * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h. 74890 * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl. 74891 * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp. 74892 * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h. 74893 74894 2009-08-07 Szabo Carol <carol.szabo (a] nokia.com> 74895 74896 Reviewed by David Hyatt. 74897 74898 QtWebkit ignores letter-spacing and word-spacing styles. 74899 QtWebkit handles custom letter-spacing and word-spacing in the native QFont 74900 class, but the values for these options are not not passed on from 74901 the platform independent part of the Font class. 74902 Fixed QtWebkit behavior by applying the options to QFont when it is 74903 returned via Font::font() 74904 74905 http://bugs.webkit.org/show_bug.cgi?id=27988 74906 74907 LayoutTests: 74908 fast/css/word-space-extra.html 74909 css2.1/t1604-c542-letter-sp-00-b-a.html 74910 css2.1/t1604-c541-word-sp-01-b-a.html 74911 css1/text_properties/word_spacing.html 74912 74913 * platform/graphics/qt/FontQt.cpp: 74914 (WebCore::Font::font): 74915 74916 2009-08-07 Nicolas Weber <thakis (a] chromium.org> 74917 74918 Reviewed by Darin Adler. 74919 74920 Use correct highlight color for listboxes and completion popups. 74921 74922 https://bugs.webkit.org/show_bug.cgi?id=28090 74923 74924 * rendering/RenderThemeChromiumMac.h: 74925 * rendering/RenderThemeChromiumMac.mm: 74926 Rename activeListBoxSelectionBackgroundColor to 74927 platformActiveListBoxSelectionBackgroundColor, so that it actually 74928 overrides a virtual method. 74929 74930 2009-08-07 Maxime Simon <simon.maxime (a] gmail.com> 74931 74932 Reviewed by Eric Seidel. 74933 74934 Added a fourth bunch of Haiku-specific files for WebCore. 74935 https://bugs.webkit.org/show_bug.cgi?id=26988 74936 74937 * platform/haiku/PasteboardHaiku.cpp: Added. 74938 (WebCore::Pasteboard::Pasteboard): 74939 (WebCore::Pasteboard::generalPasteboard): 74940 (WebCore::Pasteboard::writeSelection): 74941 (WebCore::Pasteboard::canSmartReplace): 74942 (WebCore::Pasteboard::plainText): 74943 (WebCore::Pasteboard::documentFragment): 74944 (WebCore::Pasteboard::writeURL): 74945 (WebCore::Pasteboard::writeImage): 74946 (WebCore::Pasteboard::clear): 74947 * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added. 74948 (WebCore::keyIdentifierForHaikuKeyCode): 74949 (WebCore::windowsKeyCodeForKeyEvent): 74950 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 74951 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 74952 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 74953 * platform/haiku/PlatformMouseEventHaiku.cpp: Added. 74954 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 74955 * platform/haiku/PlatformWheelEventHaiku.cpp: Added. 74956 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 74957 74958 2009-08-07 Nicolas Weber <thakis (a] chromium.org> 74959 74960 Teach WebKit how to decode jpegs in cmyk and ycck color spaces. 74961 Heavily inspired by Firefox's take on this issue. 74962 74963 https://bugs.webkit.org/show_bug.cgi?id=27909 74964 74965 Reviewed by Eric Seidel. 74966 74967 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 74968 (WebCore::JPEGImageReader::decode): 74969 Tell jpeglib to convert ycck to cmyk and keep cmyk. 74970 (WebCore::convertCMYKToRGBA): 74971 Added function to convert cmyk to rgb. 74972 (WebCore::convertRGBToRGBA): 74973 Extracted existing conversion logic into its own function. 74974 (WebCore::JPEGImageDecoder::outputScanlines): 74975 Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb 74976 images. 74977 74978 2009-08-07 Drew Wilson <atwilson (a] google.com> 74979 74980 Reviewed by David Levin. 74981 74982 SharedWorkers should be shared 74983 https://bugs.webkit.org/show_bug.cgi?id=28058 74984 74985 Added tracking of shared workers to the SharedWorkerRepository. 74986 74987 * workers/DefaultSharedWorkerRepository.cpp: 74988 (WebCore::SharedWorkerProxy::create): 74989 Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading). 74990 (WebCore::SharedWorkerProxy::thread): 74991 (WebCore::SharedWorkerProxy::closing): 74992 Added flag used to determine whether the worker has closed itself while loading. 74993 (WebCore::SharedWorkerProxy::url): 74994 (WebCore::SharedWorkerProxy::name): 74995 Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec. 74996 (WebCore::SharedWorkerProxy::SharedWorkerProxy): 74997 (WebCore::SharedWorkerProxy::addToDocumentSet): 74998 Added API to track the document set for a worker to allow worker shutdown. Currently does nothing. 74999 (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader): 75000 Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity. 75001 (WebCore::SharedWorkerScriptLoader::load): 75002 (WebCore::SharedWorkerScriptLoader::notifyFinished): 75003 (WebCore::DefaultSharedWorkerRepository::instance): 75004 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 75005 Now handles "worker already loaded" case. 75006 (WebCore::SharedWorkerRepository::connect): 75007 Delegates to DefaultSharedWorkerRepository::connectToWorker 75008 (WebCore::DefaultSharedWorkerRepository::connectToWorker): 75009 Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case. 75010 (WebCore::DefaultSharedWorkerRepository::getProxy): 75011 Atomic get-or-create operation on the internal tracking HashMap. 75012 * workers/DefaultSharedWorkerRepository.h: 75013 * workers/SharedWorker.cpp: 75014 (WebCore::SharedWorker::SharedWorker): 75015 * workers/SharedWorkerRepository.h: 75016 Removed instance() API and made constructor private to prevent instantiation. 75017 (WebCore::SharedWorkerRepository::SharedWorkerRepository): 75018 75019 2009-08-07 Maxime Simon <simon.maxime (a] gmail.com> 75020 75021 Reviewed by Eric Seidel. 75022 75023 Added four Haiku-specific files for WebCore: 75024 PopupMenuHaiku.cpp, ScreenHaiku.cpp, 75025 SearchPopupMenuHaiku.cpp and SoundHaiku.cpp 75026 https://bugs.webkit.org/show_bug.cgi?id=28080 75027 75028 * platform/haiku/PopupMenuHaiku.cpp: Added. 75029 (WebCore::PopupMenu::PopupMenu): 75030 (WebCore::PopupMenu::~PopupMenu): 75031 (WebCore::PopupMenu::show): 75032 (WebCore::PopupMenu::hide): 75033 (WebCore::PopupMenu::updateFromElement): 75034 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 75035 * platform/haiku/ScreenHaiku.cpp: Added. 75036 (WebCore::screenRect): 75037 (WebCore::screenAvailableRect): 75038 (WebCore::screenDepth): 75039 (WebCore::screenDepthPerComponent): 75040 (WebCore::screenIsMonochrome): 75041 * platform/haiku/SearchPopupMenuHaiku.cpp: Added. 75042 (WebCore::SearchPopupMenu::SearchPopupMenu): 75043 (WebCore::SearchPopupMenu::saveRecentSearches): 75044 (WebCore::SearchPopupMenu::loadRecentSearches): 75045 (WebCore::SearchPopupMenu::enabled): 75046 * platform/haiku/SoundHaiku.cpp: Added. 75047 (WebCore::systemBeep): 75048 75049 2009-08-07 Maxime Simon <simon.maxime (a] gmail.com> 75050 75051 Reviewed by Eric Seidel. 75052 75053 Added two Haiku-specific files to WebCore: 75054 TemporaryLinkStubs.cpp and WidgetHaiku.cpp 75055 https://bugs.webkit.org/show_bug.cgi?id=28080 75056 75057 * platform/haiku/TemporaryLinkStubs.cpp: Added. 75058 (loadResourceIntoArray): 75059 (WebCore::historyContains): 75060 (WebCore::supportedKeySizes): 75061 (WebCore::signedPublicKeyAndChallengeString): 75062 (WebCore::userIdleTime): 75063 (WebCore::callOnMainThread): 75064 (WebCore::SharedBuffer::createWithContentsOfFile): 75065 (WebCore::KURL::fileSystemPath): 75066 (WebCore::getSupportedKeySizes): 75067 * platform/haiku/WidgetHaiku.cpp: Added. 75068 (WebCore::Widget::Widget): 75069 (WebCore::Widget::~Widget): 75070 (WebCore::Widget::frameRect): 75071 (WebCore::Widget::setFrameRect): 75072 (WebCore::Widget::setFocus): 75073 (WebCore::Widget::setCursor): 75074 (WebCore::Widget::show): 75075 (WebCore::Widget::hide): 75076 (WebCore::Widget::paint): 75077 (WebCore::Widget::setIsSelected): 75078 75079 2009-08-07 Jian Li <jianli (a] chromium.org> 75080 75081 Reviewed by Dimitri Glazkov. 75082 75083 [V8] Fix the problem that isAttribute is set to false for onerror and 75084 onmessage in worker custom code. 75085 https://bugs.webkit.org/show_bug.cgi?id=28083 75086 75087 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 75088 (WebCore::getEventListener): 75089 (WebCore::ACCESSOR_SETTER): 75090 (WebCore::CALLBACK_FUNC_DECL): 75091 * bindings/v8/custom/V8WorkerContextCustom.cpp: 75092 (WebCore::ACCESSOR_SETTER): 75093 * bindings/v8/custom/V8WorkerCustom.cpp: 75094 (WebCore::getEventListener): 75095 (WebCore::ACCESSOR_SETTER): 75096 75097 2009-08-07 Vitaly Repeshko <vitalyr (a] quad.spb.corp.google.com> 75098 75099 Reviewed by Dimitri Glazkov. 75100 75101 V8 bindings: speed up lookupDOMWrapper by using new V8 API function. 75102 75103 https://bugs.webkit.org/show_bug.cgi?id=28071 75104 75105 * bindings/v8/V8DOMWrapper.cpp: 75106 * bindings/v8/V8DOMWrapper.h: 75107 (WebCore::V8DOMWrapper::lookupDOMWrapper): 75108 75109 2009-08-07 Ryosuke Niwa <rniwa (a] webkit.org> 75110 75111 Reviewed by Justin Garcia. 75112 75113 selectionHasStyle doesn't handle text-specific properties properly 75114 https://bugs.webkit.org/show_bug.cgi?id=27858 75115 75116 This patch modifies selectionHasStyle so that it returns TrueTriState when text styles 75117 (text-decoration, font-style, font-weight, & color) are present in all text nodes, 75118 regardless of whether the style is also present in their ancestor nodes or not. 75119 e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style. 75120 75121 WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on 75122 at least one text node, rather than at the beginning of selection except on Mac. 75123 On Mac, WebKit applies the text style if the style was not present at the beginning of style. 75124 75125 Test: editing/execCommand/toggle-compound-styles.html 75126 75127 * editing/ApplyStyleCommand.cpp: 75128 (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style. 75129 * editing/Editor.cpp: 75130 (WebCore::): 75131 (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles 75132 (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes 75133 * editing/EditorCommand.cpp: 75134 (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle 75135 75136 2009-08-07 Jian Li <jianli (a] chromium.org> 75137 75138 Reviewed by Dimitri Glazkov. 75139 75140 [V8] Do not register V8 error message listener in WorkerContextExecutionProxy. 75141 https://bugs.webkit.org/show_bug.cgi?id=28082 75142 75143 * bindings/v8/WorkerContextExecutionProxy.cpp: 75144 (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): 75145 75146 2009-08-07 Kwang Yul Seo <skyul (a] company100.net> 75147 75148 Reviewed by Eric Seidel. 75149 75150 Cairo-based Windows port does not handle cookies properly 75151 https://bugs.webkit.org/show_bug.cgi?id=27414 75152 75153 curl handles cookies by itself, so using WinINet functions 75154 to get and set cookies is wrong. 75155 75156 Replace CookieJarWin.cpp with CookieJarCurl.cpp so that 75157 cookies can be implemented later once curl provides an API to 75158 get and set cookies. 75159 75160 * WebCore.vcproj/WebCore.vcproj: 75161 75162 2009-08-07 Michael Nordman <michaeln (a] google.com> 75163 75164 Reviewed by Dimitri Glazkov. 75165 75166 https://bugs.webkit.org/show_bug.cgi?id=28074 75167 75168 V8 bindings for the window.applicationCache attribute. 75169 75170 * WebCore.gypi: 75171 * bindings/scripts/CodeGeneratorV8.pm: 75172 * bindings/v8/DOMObjectsInclude.h: 75173 * bindings/v8/DerivedSourcesAllInOne.cpp: 75174 * bindings/v8/V8DOMWrapper.cpp: 75175 (WebCore::V8DOMWrapper::getTemplate): 75176 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 75177 * bindings/v8/V8Index.cpp: 75178 * bindings/v8/V8Index.h: 75179 * bindings/v8/custom/V8CustomBinding.h: 75180 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added. 75181 75182 2009-08-07 Alpha Lam <hclam (a] chromium.org> 75183 75184 Reviewed by Eric Seidel. 75185 75186 Right click on timeline of media controls panel cause seek 75187 https://bugs.webkit.org/show_bug.cgi?id=27920 75188 75189 Add a test simulate the behavior of seeking by right clicking 75190 on the time bar of media controls while playing. 75191 75192 * media/controls-right-click-on-timebar-expected.txt: Added. 75193 * media/controls-right-click-on-timebar.html: Added. 75194 75195 2009-08-07 Ryosuke Niwa <rniwa (a] webkit.org> 75196 75197 Reviewed by Justin Garcia. 75198 75199 deprecatedCopyInheritableProperties must be replaced by two different functions 75200 https://bugs.webkit.org/show_bug.cgi?id=28057 75201 75202 This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition 75203 or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch, 75204 which consists of all CSS properties need to be preserved under editing operations. 75205 75206 No test is added since this patch does not change any behavior. 75207 75208 * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties 75209 * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties 75210 * editing/ApplyStyleCommand.cpp: 75211 (WebCore::): 75212 (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position 75213 (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position 75214 (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node 75215 * editing/ApplyStyleCommand.h: 75216 (WebCore::): 75217 * editing/CompositeEditCommand.cpp: 75218 (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition 75219 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition 75220 * editing/DeleteSelectionCommand.cpp: 75221 (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode 75222 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition 75223 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt 75224 * editing/EditCommand.cpp: 75225 * editing/EditCommand.h: 75226 * editing/InsertParagraphSeparatorCommand.cpp: 75227 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition 75228 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt 75229 * editing/RemoveFormatCommand.cpp: 75230 (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition 75231 * editing/ReplaceSelectionCommand.cpp: 75232 (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition 75233 (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt 75234 (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt 75235 * editing/markup.cpp: 75236 (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode 75237 (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt 75238 (WebCore::createMarkup): Uses editingStyleAtPosition 75239 75240 2009-08-07 Steve Block <steveblock (a] google.com> 75241 75242 Reviewed by Darin Adler. 75243 75244 Bug 27250: Geolocation callback function IDL files are superfluous 75245 https://bugs.webkit.org/show_bug.cgi?id=27250 75246 75247 The objects for the Geolocation success and error callbacks are created 'manually' in 75248 WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 75249 marked 'NoInterfaceObject' in the W3C spec, so the prototype should not 75250 appear on the window object. Hence IDL files for these callbacks are not required. 75251 75252 See http://www.w3.org/TR/geolocation-API/#geolocation_interface and 75253 http://www.w3.org/TR/WebIDL/#NoInterfaceObject. 75254 75255 No new tests required. 75256 75257 * DerivedSources.make: Modified. Removed reference to IDL files. 75258 * WebCore.gypi: Modified. Removed reference to IDL files. 75259 * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files. 75260 * page/PositionCallback.idl: Removed. 75261 * page/PositionErrorCallback.idl: Removed. 75262 75263 2009-08-07 Adam Treat <adam.treat (a] torchmobile.com> 75264 75265 Reviewed by David Levin. 75266 75267 Build fix for Qt when ENABLE_VIDEO = 0. This was necessitated by r46890 which 75268 put the idl files back into play regardless of compile time defines. 75269 75270 * html/TimeRanges.idl: 75271 75272 2009-08-07 Mike Fenton <mike.fenton (a] torchmobile.com> 75273 75274 Reviewed by George Staikos. 75275 75276 Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py. 75277 75278 https://bugs.webkit.org/show_bug.cgi?id=28050 75279 75280 * platform/qt/RenderThemeQt.cpp: 75281 (WebCore::RenderThemeQt::baselinePosition): 75282 (WebCore::inflateButtonRect): 75283 (WebCore::RenderThemeQt::supportsFocus): 75284 (WebCore::RenderThemeQt::applyTheme): 75285 75286 2009-08-07 Mike Fenton <mike.fenton (a] torchmobile.com> 75287 75288 Reviewed by Eric Seidel. 75289 75290 Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton 75291 from discarding style colour. 75292 75293 Add tests and remove tests from platform/qt/Skipped that now pass. 75294 75295 https://bugs.webkit.org/show_bug.cgi?id=28050 75296 75297 Tests: fast/forms/menulist-style-color.html 75298 fast/forms/text-style-color.html 75299 75300 * platform/qt/RenderThemeQt.cpp: 75301 (WebCore::RenderThemeQt::adjustTextFieldStyle): 75302 (WebCore::RenderThemeQt::adjustMenuListStyle): 75303 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 75304 75305 2009-08-07 Dimitri Glazkov <dglazkov (a] chromium.org> 75306 75307 Unreviewed, build fix. 75308 75309 https://bugs.webkit.org/show_bug.cgi?id=22495 75310 [V8] Re-land http://trac.webkit.org/changeset/46821, now that 75311 http://trac.webkit.org/changeset/46874 re-landed 75312 75313 * bindings/v8/DOMObjectsInclude.h: 75314 * bindings/v8/DerivedSourcesAllInOne.cpp: 75315 * bindings/v8/V8Index.cpp: 75316 * bindings/v8/V8Index.h: 75317 75318 2009-08-07 Adam Treat <adam.treat (a] torchmobile.com> 75319 75320 Reviewed by Darin Adler and George Staikos. 75321 75322 Add rectToRect convenience function which returns the TransformationMatrix 75323 which maps the 'from' rectangle to the 'to' rectangle. 75324 75325 https://bugs.webkit.org/show_bug.cgi?id=28067 75326 75327 No tests as this would require binding the method to js and since it is static 75328 that doesn't seem possible. Please check the math. 75329 75330 * platform/graphics/transforms/TransformationMatrix.cpp: 75331 (WebCore::TransformationMatrix::rectToRect): 75332 * platform/graphics/transforms/TransformationMatrix.h: 75333 75334 2009-08-07 Brady Eidson <beidson (a] apple.com> 75335 75336 Reviewed by Darin Adler. 75337 75338 Implement the HTML5 hashchange event. 75339 https://bugs.webkit.org/show_bug.cgi?id=21605 75340 75341 Test: fast/loader/hashchange-event.html 75342 75343 * dom/EventNames.h: Add "hashchange" 75344 * html/HTMLAttributeNames.in: Add "onhashchange" 75345 75346 * loader/FrameLoader.cpp: 75347 (WebCore::HashChangeEventTask::create): 75348 (WebCore::HashChangeEventTask::performTask): 75349 (WebCore::HashChangeEventTask::HashChangeEventTask): 75350 (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the 75351 new fragment identifier is different from the old one, queue a hash change event 75352 on the Document. 75353 75354 Add a window event listener for the hashchange event if onhashchange is encountered: 75355 * html/HTMLBodyElement.cpp: 75356 (WebCore::HTMLBodyElement::parseMappedAttribute): 75357 * html/HTMLFrameSetElement.cpp: 75358 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 75359 75360 Add a new string utility method that gives "null and empty are equivalent" behavior: 75361 * platform/text/PlatformString.h: 75362 (WebCore::equalIgnoringNullity): 75363 * platform/text/StringImpl.cpp: 75364 (WebCore::equalIgnoringNullity): 75365 * platform/text/StringImpl.h: 75366 75367 2009-08-07 Jessie Berlin <jberlin (a] apple.com> 75368 75369 Reviewed by Timothy Hatcher. 75370 75371 Add the initial implementation of the ability to resize the columns in 75372 a DataGrid in the Web Inspector. Enables that functionality in both the 75373 Profile View and in the Local Storage View. 75374 75375 https://bugs.webkit.org/show_bug.cgi?id=26182 75376 75377 In this version, resizing a column can change the width of at most two 75378 columns (the columns to the left and right of the resizer being dragged). 75379 75380 Possible changes in future patches: 75381 75382 1) Be able to specify the minimum size of a column and the maximum size 75383 of a column. If the minimum size is equal to the maximum size, the 75384 column can't be resized. 75385 2) Make the behavior more in line with the following description: 75386 75387 Everything before the column that is resized stays fixed size. The 75388 resized column changes sizes. The other columns except the last stay 75389 the same size. And the last column adjusts to fit with a minimum size. 75390 If the last column is already the minimum, the next to last column 75391 shrinks, etc. 75392 75393 3) Make it possible to scale the column sizes appropriately when the 75394 Web Inspector window gets resized. 75395 75396 * inspector/front-end/DOMStorageItemsView.js: 75397 (WebInspector.DOMStorageItemsView.prototype.update): 75398 Once the DataGrid is added to the DOM, update the widths of the 75399 DataGrid in order to put the resizers in place. 75400 (WebInspector.DOMStorageItemsView.prototype.resize): 75401 Update the widths of the DataGrid in order to correctly adjust the 75402 positions of the resizers. 75403 75404 * inspector/front-end/DataGrid.js: 75405 (WebInspector.DataGrid): 75406 Store column groups whose widths can later be changed when the columns 75407 are resized by the user. 75408 Also, keep track of whether the widths of the columns have been 75409 initialized. 75410 (WebInspector.DataGrid.prototype.updateWidths): 75411 Create the resizers for the columns. 75412 (WebInspector.DataGrid.prototype._clickInDataTable): 75413 Didn't actually change anything in this method, just added a comma to 75414 the end of the function. 75415 (WebInspector.DataGrid.prototype._startResizerDragging): 75416 Store the resizer that is currently dragging. 75417 (WebInspector.DataGrid.prototype._resizerDragging): 75418 Constrain the area that the resizer can be dragged to the column to 75419 it's left and right, with some padding added to make sure that the 75420 neighboring columns don't disappear. 75421 (WebInspector.DataGrid.prototype._endResizerDragging): 75422 75423 * inspector/front-end/DatabasesPanel.js: 75424 (WebInspector.DatabasesPanel.prototype.resize): 75425 Resize the view. 75426 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): 75427 ditto. 75428 75429 * inspector/front-end/ProfileView.js: 75430 (WebInspector.ProfileView.prototype.show): 75431 Now that the DataGrid is actually attached to the DOM, update the 75432 widths of the DataGrid in order to put the resizers in place. 75433 (WebInspector.ProfileView.prototype.resize): 75434 Update the widths of the DataGrid in order to correctly adjust the 75435 positions of the resizers. 75436 75437 * inspector/front-end/ProfilesPanel.js: 75438 (WebInspector.ProfilesPanel.prototype.resize): 75439 Resize the view. 75440 (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): 75441 ditto. 75442 75443 * inspector/front-end/inspector.css: 75444 Add in a style rule for a resizer in the Data Grid. 75445 75446 2009-08-07 Simon Hausmann <simon.hausmann (a] nokia.com> 75447 75448 Reviewed by Tor Arne Vestb. 75449 75450 Back out r46847 and fix the Qt build system to always generate 75451 all the JS binding files from IDL files. The generated files 75452 have #if feature guards, so the #ifs are not needed in the 75453 files using them. 75454 75455 * WebCore.pro: 75456 * bindings/js/JSEventTarget.cpp: 75457 * bindings/js/JSWorkerContextBase.cpp: 75458 * bindings/js/WorkerScriptController.cpp: 75459 75460 2009-08-07 Shinichiro Hamaji <hamaji (a] chromium.org> 75461 75462 Reviewed by Adele Peterson. 75463 75464 Cannot scroll for box-reflect:right 75465 https://bugs.webkit.org/show_bug.cgi?id=27979 75466 75467 Update m_overflowLeft an m_overflowWidth for reflection just like 75468 m_overflowTop and m_overflowHeight. 75469 75470 Test: fast/reflections/reflection-overflow-scroll.html 75471 75472 * rendering/RenderBlock.cpp: 75473 (WebCore::RenderBlock::layoutBlock): 75474 75475 2009-08-06 Shinichiro Hamaji <hamaji (a] chromium.org> 75476 75477 Reviewed by Adam Barth. 75478 75479 box-shadow's spread is ignored with <table> 75480 https://bugs.webkit.org/show_bug.cgi?id=28017 75481 75482 Use RenderStyle::getBoxShadowExtent just like RenderBlock. 75483 75484 Test: fast/box-shadow/box-shadow-overflow-scroll.html 75485 75486 * rendering/RenderTable.cpp: 75487 (WebCore::RenderTable::layout): 75488 75489 2009-08-06 Joseph Pecoraro <joepeck02 (a] gmail.com> 75490 75491 Reviewed by Timothy Hatcher. 75492 75493 Inspector: NodeLists Don't Display Well in the Console 75494 https://bugs.webkit.org/show_bug.cgi?id=28061 75495 75496 * inspector/front-end/ConsoleView.js: 75497 (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array" 75498 75499 2009-08-06 Yusuke Sato <yusukes (a] chromium.org> 75500 75501 Reviewed by David Levin. 75502 75503 Chromium Linux: add support for @font-face 75504 https://bugs.webkit.org/show_bug.cgi?id=28015 75505 75506 * loader/CachedFont.cpp: 75507 (WebCore::CachedFont::~CachedFont): 75508 (WebCore::CachedFont::ensureCustomFontData): 75509 (WebCore::CachedFont::platformDataFromCustomData): 75510 (WebCore::CachedFont::allClientsRemoved): 75511 75512 Modified #ifdefs so that chromium linux can load remote fonts. 75513 75514 * platform/graphics/chromium/FontCustomPlatformData.cpp: 75515 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 75516 (WebCore::FontCustomPlatformData::fontPlatformData): 75517 (WebCore::createFontCustomPlatformData): 75518 75519 Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function. 75520 75521 (WebCore::RemoteFontStream::RemoteFontStream): 75522 (WebCore::RemoteFontStream::~RemoteFontStream): 75523 (WebCore::RemoteFontStream::rewind): 75524 (WebCore::RemoteFontStream::read): 75525 75526 New class that implements SkStream interface and wraps wtf's SharedBuffer. 75527 75528 * platform/graphics/chromium/FontCustomPlatformData.h: 75529 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 75530 75531 Added member variables for Linux. 75532 75533 2009-08-06 Yong Li <yong.li (a] torchmobile.com> 75534 75535 Reviewed by Eric Seidel. 75536 75537 Fix JPEGImageDecoder.cpp compile error on WinCE 75538 https://bugs.webkit.org/show_bug.cgi?id=28051 75539 75540 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 75541 75542 2009-08-06 Kevin Ollivier <kevino (a] theolliviers.com> 75543 75544 Reviewed by Eric Seidel. 75545 75546 Adding WebCore support for the waf build system for wx. 75547 75548 https://bugs.webkit.org/show_bug.cgi?id=27619 75549 75550 * wscript: Added. 75551 75552 2009-08-06 Adam Barth <abarth (a] webkit.org> 75553 75554 Unreviewed revert. 75555 75556 http://bugs.webkit.org/show_bug.cgi?id=27879 75557 75558 Revert 46877 because it broke GTK. 75559 75560 * platform/graphics/wince/GraphicsContextWince.cpp: 75561 75562 2009-08-06 Chris Fleizach <cfleizach (a] apple.com> 75563 75564 Reviewed by Eric Seidel. 75565 75566 Bug 27956 - AX: roleValue should be cached for performance 75567 https://bugs.webkit.org/show_bug.cgi?id=27956 75568 75569 Caches the role value of an accessibility object instead of calculating it everytime. 75570 The changes gained a 5% speedup using VoiceOver to navigate a webpage. 75571 75572 * accessibility/AXObjectCache.cpp: 75573 (WebCore::AXObjectCache::handleAriaRoleChanged): 75574 75575 Use generic role setter instead of specific ARIA role setter. 75576 75577 * accessibility/AccessibilityObject.cpp: 75578 (WebCore::AccessibilityObject::AccessibilityObject): 75579 * accessibility/AccessibilityObject.h: 75580 (WebCore::AccessibilityObject::headingLevel): 75581 75582 Make headingLevel into instance method so that it can *safely* be called in the constructor. 75583 75584 (WebCore::AccessibilityObject::setRoleValue): 75585 (WebCore::AccessibilityObject::roleValue): 75586 * accessibility/AccessibilityRenderObject.cpp: 75587 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 75588 (WebCore::AccessibilityRenderObject::headingLevel): 75589 (WebCore::AccessibilityRenderObject::intValue): 75590 (WebCore::AccessibilityRenderObject::updateAccessibilityRole): 75591 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 75592 * accessibility/AccessibilityRenderObject.h: 75593 * accessibility/mac/AccessibilityObjectWrapper.mm: 75594 (AXAttributeStringSetHeadingLevel): 75595 75596 2009-08-06 Zoltan Horvath <hzoltan (a] inf.u-szeged.hu> 75597 75598 Reviewed by Adam Barth. 75599 75600 Change Noncopyable inheriting to public 75601 http://bugs.webkit.org/show_bug.cgi?id=27879 75602 75603 Since Noncopyable is inherited from FastAllocBase, Noncopyable's 75604 inheriting has been changed to public. 75605 75606 * platform/graphics/wince/GraphicsContextWince.cpp: 75607 75608 2009-08-06 Mark Rowe <mrowe (a] apple.com> 75609 75610 Rubber-stamped by Sam Weinig. 75611 75612 Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed. 75613 75614 * WebCore.xcodeproj/project.pbxproj: 75615 75616 2009-08-05 Simon Fraser <simon.fraser (a] apple.com> 75617 75618 Reviewed by Darin Adler. 75619 75620 Implement the matchMedium method on the Media interface described in the CSSOM View Module. 75621 https://bugs.webkit.org/show_bug.cgi?id=22495 75622 75623 Add a new Media interface, obtainable via the AbstractView, that can 75624 evaluate queries via its matchesMedium() method. 75625 75626 Test: fast/media/matchmedium-query-api.html 75627 75628 * DerivedSources.cpp: 75629 * DerivedSources.make: 75630 * GNUmakefile.am: 75631 * WebCore.gypi: 75632 * WebCore.pro: 75633 * WebCore.vcproj/WebCore.vcproj: 75634 * WebCore.xcodeproj/project.pbxproj: 75635 * WebCoreSources.bkl: 75636 Add Media.* files to the build. 75637 75638 * css/Media.cpp: Added. 75639 (WebCore::Media::Media): 75640 (WebCore::Media::type): 75641 (WebCore::Media::matchMedium): 75642 * css/Media.h: Added. 75643 (WebCore::Media::create): 75644 (WebCore::Media::document): 75645 * css/Media.idl: Added. 75646 Media::matchMedium() uses a MediaQueryEvaluator() to test the query. 75647 75648 * page/AbstractView.idl: 75649 * page/DOMWindow.cpp: 75650 (WebCore::DOMWindow::media): 75651 * page/DOMWindow.h: 75652 * page/DOMWindow.idl: 75653 Add a readonly attribute for Media. 75654 75655 2009-08-06 Michelangelo De Simone <micdesim (a] gmail.com> 75656 75657 Reviewed by Darin Adler. 75658 75659 https://bugs.webkit.org/show_bug.cgi?id=27455 75660 Support for a custom validation message in ValidityState and related 75661 form controls. 75662 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity 75663 75664 Tests: fast/forms/ValidityState-customError-001.html 75665 fast/forms/ValidityState-customError-002.html 75666 fast/forms/ValidityState-customError-003.html 75667 fast/forms/ValidityState-customError-004.html 75668 75669 * html/HTMLButtonElement.idl: setCustomValidity DOM method 75670 * html/HTMLFieldSetElement.idl: ditto 75671 * html/HTMLFormControlElement.cpp: 75672 (WebCore::HTMLFormControlElement::setCustomValidity): ditto 75673 * html/HTMLFormControlElement.h: 75674 (WebCore::HTMLFormControlElement::valueMissing): moved down 75675 * html/HTMLInputElement.idl: ditto 75676 * html/HTMLSelectElement.idl: ditto 75677 * html/HTMLTextAreaElement.idl: 75678 * html/ValidityState.h: 75679 (WebCore::ValidityState::setCustomErrorMessage): method to set custom 75680 validation message 75681 (WebCore::ValidityState::customError): validation flag 75682 75683 2009-08-06 Mark Rowe <mrowe (a] apple.com> 75684 75685 Bring a little order to our otherwise out of control lives. 75686 75687 * WebCore.xcodeproj/project.pbxproj: 75688 75689 2009-08-06 Mark Rowe <mrowe (a] apple.com> 75690 75691 Stop copying .idl files in to the framework resources directory. 75692 75693 * WebCore.xcodeproj/project.pbxproj: 75694 75695 2009-08-06 Mark Rowe <mrowe (a] apple.com> 75696 75697 Fix the build some more. 75698 75699 Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related 75700 files and groups in to the appropriate locations. 75701 75702 * WebCore.xcodeproj/project.pbxproj: 75703 75704 2009-08-06 Fumitoshi Ukai <ukai (a] chromium.org> 75705 75706 Reviewed by Alexey Proskuryakov. 75707 75708 Add WebSocket.idl 75709 https://bugs.webkit.org/show_bug.cgi?id=27209 75710 75711 Add WebSocket.idl in WebCore/websockets/. 75712 Add build systems only for GNUmakefile.am and WebCore.xcodeproj now. 75713 Other build systems will be updated once the code is functional. 75714 75715 * DerivedSources.make: 75716 * GNUmakefile.am: 75717 * WebCore.xcodeproj/project.pbxproj: 75718 * bindings/js/JSWebSocketConstructor.cpp: Added. 75719 * bindings/js/JSWebSocketConstructor.h: Added. 75720 * bindings/js/JSWebSocketCustom.cpp: Added. 75721 * websockets/WebSocket.cpp: Added. 75722 * websockets/WebSocket.h: Added. 75723 * websockets/WebSocket.idl: Added. 75724 75725 2009-08-06 Jian Li <jianli (a] chromium.org> 75726 75727 Reviewed by Dimitri Glazkov. 75728 75729 [V8] Style cleaning for WorkerContextExecutionProxy. 75730 https://bugs.webkit.org/show_bug.cgi?id=27997 75731 75732 Cleanup WorkerContextExecutioonProxy related files to follow 75733 WebKit coding styles after all V8 binding codes are upstreamed. 75734 1) Lower-case the first letter of remaining functins in class 75735 WorkerContextExecutionProxy. Update the V8 code generator 75736 and all other references accordingly. 75737 2) Integrate getConstructor from WorkerContextExecutionProxy 75738 to V8DOMWrapper. 75739 3) Other misc changes, like removing trailing whitespaces and 75740 sorting the include files. 75741 75742 * bindings/scripts/CodeGeneratorV8.pm: 75743 * bindings/v8/ScheduledAction.cpp: 75744 (WebCore::ScheduledAction::execute): 75745 * bindings/v8/V8DOMWrapper.cpp: 75746 (WebCore::V8DOMWrapper::getConstructorForContext): 75747 (WebCore::V8DOMWrapper::convertToV8Object): 75748 * bindings/v8/V8DOMWrapper.h: 75749 * bindings/v8/V8WorkerContextEventListener.cpp: 75750 (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener): 75751 (WebCore::V8WorkerContextEventListener::handleEvent): 75752 (WebCore::V8WorkerContextEventListener::reportError): 75753 (WebCore::V8WorkerContextEventListener::getReceiverObject): 75754 * bindings/v8/V8WorkerContextObjectEventListener.cpp: 75755 (WebCore::weakObjectEventListenerCallback): 75756 * bindings/v8/WorkerContextExecutionProxy.cpp: 75757 (WebCore::handleConsoleMessage): 75758 (WebCore::WorkerContextExecutionProxy::dispose): 75759 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 75760 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 75761 (WebCore::WorkerContextExecutionProxy::convertEventToV8Object): 75762 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 75763 (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object): 75764 (WebCore::WorkerContextExecutionProxy::toV8): 75765 (WebCore::WorkerContextExecutionProxy::forgetV8EventObject): 75766 (WebCore::WorkerContextExecutionProxy::removeEventListener): 75767 * bindings/v8/WorkerContextExecutionProxy.h: 75768 (WebCore::WorkerContextExecutionProxy::context): 75769 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 75770 * bindings/v8/custom/V8WorkerContextCustom.cpp: 75771 (WebCore::ACCESSOR_GETTER): 75772 (WebCore::CALLBACK_FUNC_DECL): 75773 75774 2009-08-06 Darin Adler <darin (a] apple.com> 75775 75776 Fix Mac Leopard debug build. 75777 75778 * platform/text/StringImpl.cpp: 75779 (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned 75780 is always >= 0 and checking causes a warning in the newer versions of gcc. 75781 75782 2009-08-06 Adam Barth <abarth (a] webkit.org> 75783 75784 Unreview rollout. 75785 75786 Revert 46840 because it broke the reliability tests. 75787 75788 * bindings/v8/ScheduledAction.cpp: 75789 (WebCore::ScheduledAction::ScheduledAction): 75790 (WebCore::ScheduledAction::execute): 75791 * bindings/v8/ScheduledAction.h: 75792 (WebCore::ScheduledAction::ScheduledAction): 75793 * bindings/v8/custom/V8DOMWindowCustom.cpp: 75794 (WebCore::V8Custom::WindowSetTimeoutImpl): 75795 * bindings/v8/custom/V8WorkerContextCustom.cpp: 75796 (WebCore::SetTimeoutOrInterval): 75797 75798 2009-08-06 Adam Barth <abarth (a] webkit.org> 75799 75800 Unreviewed rollout. 75801 75802 Revert 46840 in preparation to revert 46838, which broke the reliability tests. 75803 75804 * bindings/v8/V8Proxy.cpp: 75805 (WebCore::V8Proxy::updateDocumentWrapperCache): 75806 (WebCore::V8Proxy::initContextIfNeeded): 75807 (WebCore::V8Proxy::mainWorldContext): 75808 * bindings/v8/V8Proxy.h: 75809 (WebCore::V8Proxy::context): 75810 75811 2009-08-06 Pavel Feldman <pfeldman (a] chromium.org> 75812 75813 Reviewed by Timothy Hatcher. 75814 75815 WebInspector: move style-related utilities into InjectedScript. 75816 75817 http://bugs.webkit.org/show_bug.cgi?id=27939 75818 75819 * inspector/front-end/DOMAgent.js: 75820 (WebInspector.CSSStyleDeclaration): 75821 (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit): 75822 (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): 75823 (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties): 75824 (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority): 75825 * inspector/front-end/InjectedScript.js: 75826 (InjectedScript.applyStyleText): 75827 (InjectedScript.toggleStyleEnabled): 75828 (InjectedScript._serializeStyle): 75829 (InjectedScript._getUniqueStyleProperties): 75830 (InjectedScript._getLonghandProperties): 75831 (InjectedScript._getShorthandPriority): 75832 * inspector/front-end/StylesSidebarPane.js: 75833 (WebInspector.StylesSidebarPane.prototype._update): 75834 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 75835 (WebInspector.StylePropertiesSection.prototype.onpopulate): 75836 (WebInspector.StylePropertyTreeElement.prototype.get priority): 75837 (WebInspector.StylePropertyTreeElement.prototype.get value): 75838 (WebInspector.StylePropertyTreeElement.prototype): 75839 * inspector/front-end/utilities.js: 75840 75841 2009-08-06 Simon Hausmann <simon.hausmann (a] nokia.com> 75842 75843 Unreviewed build fix, add #ifdef guards around 75844 inclusions of shared worker specific files. 75845 75846 * bindings/js/JSEventTarget.cpp: 75847 * bindings/js/JSWorkerContextBase.cpp: 75848 * bindings/js/WorkerScriptController.cpp: 75849 75850 2009-08-06 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 75851 75852 Reviewed by Darin Adler. 75853 75854 cssgrammar.cpp fails to compile with RVCT compiler 75855 https://bugs.webkit.org/show_bug.cgi?id=27952 75856 75857 * css/CSSGrammar.y: Do not convert to String to get rid of the stray 75858 memory allocation 75859 75860 * platform/text/StringImpl.cpp: 75861 (WebCore::equalIgnoringCase): 75862 * platform/text/StringImpl.h: 75863 (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase 75864 function that works with a character pointer and length 75865 75866 2009-08-06 Drew Wilson <atwilson (a] google.com> 75867 75868 Reviewed by David Levin. 75869 75870 Created first working implementation of SharedWorkers (execution only, no sharing). 75871 https://bugs.webkit.org/show_bug.cgi?id=27927 75872 75873 Added initial implementations of SharedWorkerThread and SharedWorkerContext. 75874 No v8 bindings yet. 75875 75876 * DerivedSources.cpp: 75877 Added shared worker files. 75878 * DerivedSources.make: 75879 Added shared worker files. 75880 * GNUmakefile.am: 75881 Added shared worker files. 75882 * WebCore.gypi: 75883 Added shared worker files. 75884 * WebCore.pro: 75885 Added shared worker files. 75886 * WebCore.vcproj/WebCore.vcproj: 75887 Added shared worker files. 75888 * WebCore.xcodeproj/project.pbxproj: 75889 Added shared worker files. 75890 * bindings/js/JSEventTarget.cpp: 75891 (WebCore::toJS): 75892 Added code to convert from EventTarget to correct JS class. 75893 (WebCore::toEventTarget): 75894 Added code to cast from JS object to appropriate EventTarget impl class. 75895 * bindings/js/JSSharedWorkerConstructor.cpp: 75896 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 75897 (WebCore::constructSharedWorker): 75898 Tweaked the constructor code to pass in the lexical global object like normal workers. 75899 * bindings/js/JSSharedWorkerContextCustom.cpp: Added. 75900 (WebCore::JSSharedWorkerContext::mark): 75901 Custom marking of the onconnect handler. 75902 * bindings/js/JSWorkerContextBase.cpp: 75903 (WebCore::toJSSharedWorkerContext): 75904 (WebCore::toJSWorkerContext): 75905 Added proper conversion to the correct WorkerContext derived class. 75906 * bindings/js/JSWorkerContextBase.h: 75907 * bindings/js/WorkerScriptController.cpp: 75908 (WebCore::WorkerScriptController::initScript): 75909 Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext) 75910 * bindings/scripts/CodeGeneratorV8.pm: 75911 Added support for SharedWorkerContext. 75912 * bindings/v8/DOMObjectsInclude.h: 75913 Added shared worker bindings files. 75914 * dom/EventNames.h: 75915 Added connect event. 75916 * dom/EventTarget.cpp: 75917 (WebCore::EventTarget::toSharedWorkerContext): 75918 Added API for casting to new derived class (SharedWorkerContext). 75919 * dom/EventTarget.h: 75920 * workers/AbstractWorker.cpp: 75921 (WebCore::AbstractWorker::resolveURL): 75922 Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers. 75923 * workers/AbstractWorker.h: 75924 * workers/DedicatedWorkerContext.cpp: 75925 (WebCore::DedicatedWorkerContext::logException): 75926 Refactored exception handling code - moved onerror handling to base class. 75927 * workers/DedicatedWorkerContext.h: 75928 (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext): 75929 * workers/SharedWorker.cpp: 75930 (WebCore::SharedWorker::SharedWorker): 75931 Changed constructor to fire up worker thread. 75932 * workers/SharedWorker.h: 75933 * workers/SharedWorkerContext.cpp: Added. 75934 (WebCore::SharedWorkerContext::SharedWorkerContext): 75935 (WebCore::SharedWorkerContext::~SharedWorkerContext): 75936 (WebCore::SharedWorkerContext::logException): 75937 (WebCore::SharedWorkerContext::addMessage): 75938 Placeholder methods until we add support for sending exceptions/messages to console. 75939 (WebCore::SharedWorkerContext::dispatchConnect): 75940 (WebCore::SharedWorkerContext::thread): 75941 * workers/SharedWorkerContext.h: Added. 75942 (WebCore::SharedWorkerContext::create): 75943 (WebCore::SharedWorkerContext::isSharedWorkerContext): 75944 (WebCore::SharedWorkerContext::toSharedWorkerContext): 75945 (WebCore::SharedWorkerContext::setOnconnect): 75946 (WebCore::SharedWorkerContext::onconnect): 75947 (WebCore::SharedWorkerContext::name): 75948 * workers/SharedWorkerContext.idl: Added. 75949 * workers/SharedWorkerRepository.h: Added. 75950 (WebCore::SharedWorkerRepository::~SharedWorkerRepository): 75951 * workers/DefaultSharedWorkerRepository.cpp: Added. 75952 Implementation of core singleton class that will be used to implement sharing. 75953 (WebCore::SharedWorkerProxy::setThread): 75954 Proxy object used to handle resource loading for a given shared worker. 75955 (WebCore::SharedWorkerProxy::postTaskToLoader): 75956 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext): 75957 Placeholder routines until we implement loading. 75958 (WebCore::SharedWorkerConnectTask::create): 75959 Creates a task to fire off a connect event on the worker thread. 75960 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask): 75961 (WebCore::SharedWorkerConnectTask::performTask): 75962 (WebCore::SharedWorkerLoader::SharedWorkerLoader): 75963 Added helper object to load the initial script for the worker. 75964 (WebCore::SharedWorkerLoader::load): 75965 (WebCore::SharedWorkerLoader::notifyFinished): 75966 (WebCore::SharedWorkerRepository::instance): 75967 (WebCore::DefaultSharedWorkerRepository::instance): 75968 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 75969 Fires off the worker thread once the script is loaded. 75970 (WebCore::SharedWorkerRepository::connect): 75971 (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository): 75972 (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository): 75973 * workers/DefaultSharedWorkerRepository.h: Added. 75974 * workers/SharedWorkerThread.cpp: Added. 75975 (WebCore::SharedWorkerThread::create): 75976 (WebCore::SharedWorkerThread::SharedWorkerThread): 75977 (WebCore::SharedWorkerThread::~SharedWorkerThread): 75978 (WebCore::SharedWorkerThread::createWorkerContext): 75979 * workers/SharedWorkerThread.h: Added. 75980 * workers/Worker.cpp: 75981 (WebCore::Worker::Worker): 75982 * workers/WorkerContext.cpp: 75983 (WebCore::WorkerContext::reportException): 75984 * workers/WorkerContext.h: 75985 (WebCore::WorkerContext::isSharedWorkerContext): 75986 (WebCore::WorkerContext::isDedicatedWorkerContext): 75987 Added APIs to determine the type of a given context. 75988 75989 2009-08-06 Chris Marrin <cmarrin (a] apple.com> 75990 75991 Reviewed by David Hyatt. 75992 75993 Added ENABLE_3D_CANVAS flag to build, default to off 75994 75995 * Configurations/FeatureDefines.xcconfig: 75996 75997 2009-08-06 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 75998 75999 Reviewed by Simon Hausmann. 76000 76001 [Qt] windowsKeyCodeForKeyEvent fix 76002 76003 Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad. 76004 76005 * platform/qt/PlatformKeyboardEventQt.cpp: 76006 (WebCore::windowsKeyCodeForKeyEvent): 76007 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76008 76009 2009-08-06 George Staikos <george.staikos (a] torchmobile.com> 76010 76011 Rubber-stamped by Ariya Hidayat. 76012 76013 Remove the dead wince/ directory that should never have gone in. 76014 76015 * svg/graphics/wince: Removed. 76016 * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed. 76017 76018 2009-08-06 Pavel Feldman <pfeldman (a] chromium.org> 76019 76020 Reviewed by Timothy Hatcher. 76021 76022 WebInspector: Extract style editing into a separate file that is 76023 going to be loaded in page context. 76024 76025 https://bugs.webkit.org/show_bug.cgi?id=27939 76026 76027 * inspector/front-end/InjectedScript.js: Added. 76028 (InjectedScript.applyStyleText): 76029 (InjectedScript.setStyleText): 76030 (InjectedScript.toggleStyleEnabled): 76031 (InjectedScript.setStyleRule): 76032 * inspector/front-end/StylesSidebarPane.js: 76033 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback): 76034 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 76035 (WebInspector.StylePropertyTreeElement.prototype.): 76036 (WebInspector.StylePropertyTreeElement.prototype): 76037 * inspector/front-end/WebKit.qrc: 76038 * inspector/front-end/inspector.html: 76039 76040 2009-08-06 Adam Barth <abarth (a] webkit.org> 76041 76042 Reviewed by David Levin. 76043 76044 [V8] Remove bug-bait V8Proxy::context() 76045 https://bugs.webkit.org/show_bug.cgi?id=27826 76046 76047 * bindings/v8/V8Proxy.cpp: 76048 (WebCore::V8Proxy::updateDocumentWrapperCache): 76049 (WebCore::V8Proxy::initContextIfNeeded): 76050 (WebCore::V8Proxy::mainWorldContext): 76051 * bindings/v8/V8Proxy.h: 76052 76053 2009-08-06 Adam Barth <abarth (a] webkit.org> 76054 76055 Unreviewed attempt to fix the Chromium Linux build. This function is 76056 not used. 76057 76058 * bindings/v8/OwnHandle.h: 76059 76060 2009-08-06 Adam Barth <abarth (a] webkit.org> 76061 76062 Reviewed by Eric Seidel. 76063 76064 [V8] Teach ScheduledAction::execute about isolated worlds 76065 https://bugs.webkit.org/show_bug.cgi?id=27703 76066 76067 We now save a weak handle to the original context. We use that handle 76068 to call the timeout in the right context / world. 76069 76070 Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html 76071 http/tests/security/isolatedWorld/window-setTimeout-string.html 76072 76073 * bindings/v8/ScheduledAction.cpp: 76074 (WebCore::ScheduledAction::ScheduledAction): 76075 (WebCore::ScheduledAction::execute): 76076 * bindings/v8/ScheduledAction.h: 76077 (WebCore::ScheduledAction::ScheduledAction): 76078 * bindings/v8/custom/V8DOMWindowCustom.cpp: 76079 (WebCore::V8Custom::WindowSetTimeoutImpl): 76080 * bindings/v8/custom/V8WorkerContextCustom.cpp: 76081 (WebCore::SetTimeoutOrInterval): 76082 76083 2009-08-05 Dimitri Glazkov <dglazkov (a] chromium.org> 76084 76085 Unreviewed, build fix. 76086 76087 [V8] Revert http://trac.webkit.org/changeset/46821, which was 76088 landed to supplement http://trac.webkit.org/changeset/46816, but 76089 now that the latter is reverted, the former needs the same. 76090 76091 * bindings/v8/DOMObjectsInclude.h: 76092 * bindings/v8/DerivedSourcesAllInOne.cpp: 76093 * bindings/v8/V8Index.cpp: 76094 * bindings/v8/V8Index.h: 76095 76096 2009-08-05 Joseph Pecoraro <joepeck02 (a] gmail.com> 76097 76098 Reviewed by Timothy Hatcher. 76099 76100 Color is only reported in rgb() format; should toggle between rgb() and hex 76101 https://bugs.webkit.org/show_bug.cgi?id=13516 76102 76103 New Class to Parse and Change Between Color Representations: 76104 76105 * inspector/front-end/Color.js: Added. 76106 (WebInspector.Color): 76107 76108 Representations of Colors in Raw Form. (May be Lazy Loaded): 76109 76110 (WebInspector.Color.prototype.get shorthex): 76111 (WebInspector.Color.prototype.get hex): 76112 (WebInspector.Color.prototype.set hex): 76113 (WebInspector.Color.prototype.get rgb): 76114 (WebInspector.Color.prototype.set rgb): 76115 (WebInspector.Color.prototype.get hsl): 76116 (WebInspector.Color.prototype.set hsl): 76117 (WebInspector.Color.prototype.get nickname): 76118 (WebInspector.Color.prototype.set nickname): 76119 (WebInspector.Color.prototype.get rgba): 76120 (WebInspector.Color.prototype.set rgba): 76121 (WebInspector.Color.prototype.get hsla): 76122 (WebInspector.Color.prototype.set hsla): 76123 76124 Helpers and Standard String Representations: 76125 76126 (WebInspector.Color.prototype.hasShortHex): 76127 (WebInspector.Color.prototype.toRgb): 76128 (WebInspector.Color.prototype.toHsl): 76129 (WebInspector.Color.prototype.toShortHex): 76130 (WebInspector.Color.prototype.toHex): 76131 (WebInspector.Color.prototype.toRgba): 76132 (WebInspector.Color.prototype.toHsla): 76133 (WebInspector.Color.prototype.toNickname): 76134 76135 Conversion Functions to Determine Other Representations: 76136 My Sources for all algorithms and sample data: 76137 Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space 76138 CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color 76139 76140 (WebInspector.Color.prototype.rgbToHex): 76141 (WebInspector.Color.prototype.hexToRgb): 76142 (WebInspector.Color.prototype.rgbToHsl): 76143 (WebInspector.Color.prototype.hslToRgb.hueToRgb): 76144 (WebInspector.Color.prototype.hslToRgb): 76145 (WebInspector.Color.prototype.rgbaToHsla): 76146 (WebInspector.Color.prototype.hslaToRgba): 76147 76148 Called from the constructor, attempts to parse and will throw an error 76149 if it cannot parse. If simple then the "hex" value is guarenteed. 76150 If advanced then both the "rgba" and "hsla" are guarenteed. If it is 76151 a nickname in any way (e.g. "transparent", "black") then this is 76152 guarenteed to be set as well. 76153 76154 (WebInspector.Color.prototype.parse): 76155 76156 Clicking on the swatch will rotate through Color Representations. 76157 Simple: rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around) 76158 Advanced: rgba -> hsla -> nickname? -> (loop around) 76159 76160 * inspector/front-end/StylesSidebarPane.js: 76161 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.): 76162 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 76163 76164 Load Color.js: 76165 76166 * inspector/front-end/inspector.html: 76167 76168 2009-08-05 John Abd-El-Malek <jam (a] chromium.org> 76169 76170 Reviewed by Dimitri Glazkov. 76171 76172 Support setting event listeners for message ports in the worker process. 76173 76174 https://bugs.webkit.org/show_bug.cgi?id=28004 76175 76176 * bindings/v8/WorkerContextExecutionProxy.cpp: 76177 (WebCore::WorkerContextExecutionProxy::retrieve): 76178 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): 76179 * bindings/v8/WorkerContextExecutionProxy.h: 76180 * bindings/v8/custom/V8MessagePortCustom.cpp: 76181 (WebCore::getEventListener): 76182 (WebCore::ACCESSOR_SETTER): 76183 (WebCore::CALLBACK_FUNC_DECL): 76184 76185 2009-08-05 Stephen White <senorblanco (a] chromium.org> 76186 76187 Reviewed by Dimitri Glazkov. 76188 76189 http://bugs.webkit.org/show_bug.cgi?id=28022 76190 76191 Minor fix for media code on chromium/skia. 76192 76193 * rendering/RenderThemeChromiumSkia.cpp: 76194 (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): 76195 76196 2009-08-05 Darin Adler <darin (a] apple.com> 76197 76198 Reviewed by Dan Bernstein. 76199 76200 Client side image maps did not handle zoom correctly. 76201 Client side image maps did not handle border and padding correctly. 76202 76203 Test: fast/images/image-map-zoom.html 76204 76205 * rendering/RenderImage.cpp: 76206 (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map 76207 element using the content box and the effective zoom. 76208 76209 2009-08-05 Alexey Proskuryakov <ap (a] apple.com> 76210 76211 Reviewed by Oliver Hunt. 76212 76213 https://bugs.webkit.org/show_bug.cgi?id=28027 76214 <rdar://7064428> Files with accents in names are submitted incorrectly due to use of 76215 precomposed Unicode 76216 76217 * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from 76218 FileSystem.h instead of custom code for getting file size. This adds path normalization 76219 necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem 76220 important anyway. 76221 76222 2009-08-05 Dimitri Glazkov <dglazkov (a] chromium.org> 76223 76224 Unreviewed, build fix. 76225 76226 [V8] Include Media into V8 bindings. 76227 76228 * bindings/v8/DOMObjectsInclude.h: Added Media include. 76229 * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include. 76230 * bindings/v8/V8Index.cpp: Added decl for V8Media. 76231 * bindings/v8/V8Index.h: Added V8Media include. 76232 76233 2009-08-04 Jon Honeycutt <jhoneycutt (a] apple.com> 76234 76235 Fix Windows layout test crashes. 76236 76237 PluginView::removeFromUnstartedListIfNecessary() would try to remove 76238 any unstarted PluginView from the Page's set of unstarted plug-ins, 76239 regardless of why the PluginView wasn't started. If we tried to start a 76240 plug-in, but it failed to start, we would hit an assertion in 76241 Page::removeUnstartedPlugin() that asserts that we would only modify the 76242 unstarted plug-ins set if we were not currently starting plug-ins. 76243 76244 Fix this by having PluginView track whether it's waiting to be started, 76245 and to check this before trying to remove itself from the Page's 76246 unstarted plug-ins set. 76247 76248 Reviewed by Darin Adler. 76249 76250 * page/Page.cpp: 76251 (WebCore::Page::removeUnstartedPlugin): 76252 Assert that the passed PluginView is in the unstarted set. 76253 76254 * plugins/PluginView.cpp: 76255 (WebCore::PluginView::start): 76256 Set that we are not waiting to be started. 76257 (WebCore::PluginView::startOrAddtoUnstartedList): 76258 Set that we are waiting to be started. 76259 (WebCore::PluginView::removeFromUnstartedListIfNecessary): 76260 Check not whether we are started, but whether we are waiting to be 76261 started. 76262 (WebCore::PluginView::PluginView): 76263 76264 * plugins/PluginView.h: 76265 76266 2009-08-05 Jeremy Orlow <jorlow (a] chromium.org> 76267 76268 Fix DOM Storage memory leak 76269 https://bugs.webkit.org/show_bug.cgi?id=28029 76270 76271 Forgot to use adoptRef in one place. This caused the = operator to 76272 increment the ref count when it shouldn't have, so StorageAreaImpl's were 76273 never freed. 76274 76275 * storage/StorageNamespaceImpl.cpp: 76276 (WebCore::StorageNamespaceImpl::storageArea): 76277 76278 2009-08-05 Dimitri Glazkov <dglazkov (a] chromium.org> 76279 76280 Unreviewed, build fix. 76281 76282 [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted. 76283 76284 * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType. 76285 76286 2009-08-05 Darin Adler <darin (a] apple.com> 76287 76288 Reviewed by David Levin. 76289 76290 Use checked casts for render tree 76291 https://bugs.webkit.org/show_bug.cgi?id=23522 76292 76293 Last patch. Makes all the casts of RenderObject use checked 76294 casts instead of using static_cast directly. 76295 76296 * accessibility/AccessibilityListBox.cpp: 76297 (WebCore::AccessibilityListBox::visibleChildren): 76298 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 76299 * accessibility/AccessibilityListBoxOption.cpp: 76300 (WebCore::AccessibilityListBoxOption::elementRect): 76301 * accessibility/AccessibilityRenderObject.cpp: 76302 (WebCore::AccessibilityRenderObject::textUnderElement): 76303 (WebCore::AccessibilityRenderObject::stringValue): 76304 (WebCore::AccessibilityRenderObject::titleUIElement): 76305 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 76306 * accessibility/AccessibilitySlider.cpp: 76307 (WebCore::AccessibilitySliderThumb::elementRect): 76308 * dom/InputElement.cpp: 76309 (WebCore::InputElement::updatePlaceholderVisibility): 76310 * dom/SelectElement.cpp: 76311 (WebCore::SelectElement::scrollToSelection): 76312 (WebCore::SelectElement::recalcStyle): 76313 (WebCore::SelectElement::setRecalcListItems): 76314 (WebCore::SelectElement::menuListDefaultEventHandler): 76315 (WebCore::SelectElement::listBoxDefaultEventHandler): 76316 * editing/BreakBlockquoteCommand.cpp: 76317 (WebCore::BreakBlockquoteCommand::doApply): 76318 * html/HTMLAppletElement.cpp: 76319 (WebCore::HTMLAppletElement::renderWidgetForJSBindings): 76320 * html/HTMLCanvasElement.cpp: 76321 (WebCore::HTMLCanvasElement::reset): 76322 * html/HTMLEmbedElement.cpp: 76323 (WebCore::HTMLEmbedElement::updateWidget): 76324 * html/HTMLFrameElementBase.cpp: 76325 (WebCore::HTMLFrameElementBase::attach): 76326 * html/HTMLFrameSetElement.cpp: 76327 (WebCore::HTMLFrameSetElement::defaultEventHandler): 76328 * html/HTMLIFrameElement.cpp: 76329 (WebCore::HTMLIFrameElement::attach): 76330 * html/HTMLInputElement.cpp: 76331 (WebCore::HTMLInputElement::defaultEventHandler): 76332 (WebCore::HTMLInputElement::addSearchResult): 76333 (WebCore::HTMLInputElement::onSearch): 76334 * html/HTMLLIElement.cpp: 76335 (WebCore::HTMLLIElement::parseMappedAttribute): 76336 (WebCore::HTMLLIElement::attach): 76337 * html/HTMLMediaElement.cpp: 76338 (WebCore::HTMLMediaElement::setReadyState): 76339 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): 76340 (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): 76341 (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated): 76342 (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer): 76343 (WebCore::HTMLMediaElement::defaultEventHandler): 76344 (WebCore::HTMLMediaElement::finishParsingChildren): 76345 * html/HTMLOListElement.cpp: 76346 (WebCore::HTMLOListElement::parseMappedAttribute): 76347 * html/HTMLObjectElement.cpp: 76348 (WebCore::HTMLObjectElement::updateWidget): 76349 * html/HTMLTextAreaElement.cpp: 76350 (WebCore::HTMLTextAreaElement::defaultEventHandler): 76351 * page/DragController.cpp: 76352 (WebCore::DragController::concludeEditDrag): 76353 * page/EventHandler.cpp: 76354 (WebCore::EventHandler::selectCursor): 76355 (WebCore::EventHandler::capsLockStateMayHaveChanged): 76356 * page/Frame.cpp: 76357 (WebCore::Frame::ownerRenderer): 76358 * page/FrameView.cpp: 76359 (WebCore::FrameView::detachCustomScrollbars): 76360 * page/wince/FrameWince.cpp: 76361 (WebCore::computePageRectsForFrame): 76362 * rendering/InlineFlowBox.cpp: 76363 (WebCore::InlineFlowBox::placeBoxesHorizontally): 76364 * rendering/MediaControlElements.cpp: 76365 (WebCore::MediaControlTimelineElement::defaultEventHandler): 76366 * rendering/RenderBlockLineLayout.cpp: 76367 (WebCore::RenderBlock::findNextLineBreak): 76368 * rendering/RenderCounter.cpp: 76369 (WebCore::planCounter): 76370 * rendering/RenderFrameSet.cpp: 76371 (WebCore::RenderFrameSet::computeEdgeInfo): 76372 (WebCore::RenderFrameSet::setIsResizing): 76373 * rendering/RenderLayerBacking.cpp: 76374 (WebCore::RenderLayerBacking::contentsBox): 76375 * rendering/RenderLayerCompositor.cpp: 76376 (WebCore::RenderLayerCompositor::updateBacking): 76377 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 76378 * rendering/RenderListItem.cpp: 76379 (WebCore::previousListItem): 76380 (WebCore::RenderListItem::explicitValueChanged): 76381 * rendering/RenderObject.cpp: 76382 (WebCore::updateListMarkerNumbers): 76383 * rendering/RenderObjectChildList.cpp: 76384 (WebCore::updateListMarkerNumbers): 76385 (WebCore::invalidateCountersInContainer): 76386 * rendering/RenderScrollbarTheme.cpp: 76387 (WebCore::RenderScrollbarTheme::minimumThumbLength): 76388 (WebCore::RenderScrollbarTheme::backButtonRect): 76389 (WebCore::RenderScrollbarTheme::forwardButtonRect): 76390 (WebCore::RenderScrollbarTheme::trackRect): 76391 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): 76392 (WebCore::RenderScrollbarTheme::paintScrollbarBackground): 76393 (WebCore::RenderScrollbarTheme::paintTrackBackground): 76394 (WebCore::RenderScrollbarTheme::paintTrackPiece): 76395 (WebCore::RenderScrollbarTheme::paintButton): 76396 (WebCore::RenderScrollbarTheme::paintThumb): 76397 * rendering/RenderSlider.cpp: 76398 (WebCore::SliderThumbElement::defaultEventHandler): 76399 * rendering/RenderThemeChromiumMac.mm: 76400 (WebCore::RenderThemeChromiumMac::paintSliderThumb): 76401 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 76402 * rendering/RenderThemeChromiumWin.cpp: 76403 (WebCore::RenderThemeChromiumWin::determineSliderThumbState): 76404 * rendering/RenderThemeMac.mm: 76405 (WebCore::RenderThemeMac::paintSliderThumb): 76406 * rendering/RenderThemeSafari.cpp: 76407 (WebCore::RenderThemeSafari::paintSliderThumb): 76408 * rendering/RenderThemeWin.cpp: 76409 (WebCore::RenderThemeWin::determineSliderThumbState): 76410 * rendering/SVGCharacterLayoutInfo.cpp: 76411 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 76412 * rendering/SVGRootInlineBox.cpp: 76413 (WebCore::findSVGRootObject): 76414 * rendering/TextControlInnerElements.cpp: 76415 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): 76416 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): 76417 * svg/SVGImageElement.cpp: 76418 (WebCore::SVGImageElement::attach): 76419 * svg/SVGMarkerElement.cpp: 76420 (WebCore::SVGMarkerElement::canvasResource): 76421 * svg/SVGTextContentElement.cpp: 76422 (WebCore::rootInlineBoxForTextContentElement): 76423 * wml/WMLInputElement.cpp: 76424 (WebCore::WMLInputElement::defaultEventHandler): 76425 Use checked casts. 76426 76427 * rendering/RenderApplet.h: 76428 * rendering/RenderCounter.h: 76429 * rendering/RenderFieldset.h: 76430 * rendering/RenderFileUploadControl.h: 76431 * rendering/RenderFrame.h: 76432 * rendering/RenderFrameSet.h: 76433 * rendering/RenderHTMLCanvas.h: 76434 * rendering/RenderListBox.h: 76435 * rendering/RenderListItem.h: 76436 * rendering/RenderListMarker.h: 76437 * rendering/RenderMedia.h: 76438 * rendering/RenderMenuList.h: 76439 * rendering/RenderPart.h: 76440 * rendering/RenderPartObject.h: 76441 * rendering/RenderPath.h: 76442 * rendering/RenderSVGContainer.h: 76443 * rendering/RenderSVGRoot.h: 76444 * rendering/RenderSVGTextPath.h: 76445 * rendering/RenderSVGViewportContainer.h: 76446 * rendering/RenderScrollbar.h: 76447 * rendering/RenderSlider.h: 76448 * rendering/RenderTextControlMultiLine.h: 76449 * rendering/RenderTextControlSingleLine.h: 76450 * rendering/RenderVideo.h: 76451 Added a checked cast. Also made most members protected or private. 76452 76453 * rendering/RenderBlock.h: 76454 * rendering/RenderInline.h: 76455 * rendering/RenderReplaced.h: 76456 * rendering/RenderSVGBlock.h: 76457 * rendering/RenderSVGImage.h: 76458 * rendering/RenderSVGInlineText.h: 76459 * rendering/RenderSVGText.h: 76460 * rendering/RenderTextControl.h: 76461 Made most members protected or private. 76462 76463 * rendering/RenderInline.cpp: 76464 * rendering/RenderSVGContainer.cpp: 76465 * rendering/RenderSVGHiddenContainer.cpp: 76466 * rendering/RenderSVGImage.cpp: 76467 * rendering/RenderSVGRoot.cpp: 76468 Removed unneeded destructor. 76469 76470 * rendering/RenderSVGHiddenContainer.h: 76471 Removed unneeded virtual function overrides that did the same as 76472 the default and base class. 76473 76474 * rendering/RenderSVGViewportContainer.cpp: 76475 (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport 76476 directly instead of using a function call. 76477 (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto. 76478 (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto. 76479 (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto. 76480 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto. 76481 76482 * rendering/RenderScrollbar.cpp: 76483 (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for 76484 all values instead of using a default case. 76485 76486 * rendering/RenderTreeAsText.cpp: 76487 (WebCore::operator<<): Removed dependency on casting to types that don't 76488 have any public members we need to get at. Instead, use function names to 76489 identify the type rather than doing so much overloading. Changed to use 76490 checked casts. 76491 (WebCore::write): Ditto. 76492 76493 * rendering/SVGRenderSupport.cpp: 76494 (WebCore::renderSubtreeToImage): Changed to use a checked cast and also 76495 added a comment about the fact that the code does not do sufficient type 76496 checking before doing the cast. 76497 76498 * rendering/SVGRenderTreeAsText.cpp: 76499 (WebCore::writeRenderSVGTextBox): Renamed this from operator<<. 76500 (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText. 76501 (WebCore::writeSVGText): Renamed this from write. 76502 (WebCore::writeSVGInlineText): Ditto. 76503 (WebCore::writeSVGImage): Ditto. 76504 * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed 76505 unneeded default arguments. 76506 76507 2009-08-05 Peter Kasting <pkasting (a] google.com> 76508 76509 Reviewed by Sam Weinig. 76510 76511 https://bugs.webkit.org/show_bug.cgi?id=27851 76512 Fix a pair of compiler warnings on the GTK Linux buildbot. 76513 76514 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 76515 (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable. 76516 * platform/image-decoders/ico/ICOImageDecoder.cpp: 76517 (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned. 76518 76519 2009-08-05 Peter Kasting <pkasting (a] google.com> 76520 76521 Reviewed by Eric Seidel. 76522 76523 https://bugs.webkit.org/show_bug.cgi?id=26460 76524 Return multiple icon entries from the ICO decoder as separate frames, 76525 sorted by decreasing quality (much like the CG ICO decoder does). 76526 76527 As a result of this change, we can eliminate the Skia-specific setData() 76528 hack that the Chromium port used to select the desired icon size -- now 76529 callers can just enumerate the frames and ask for the data from the one 76530 they like. 76531 76532 Under the hood, the ICO decoder now keeps vectors for a number of things 76533 (including directory entries and image decoders) where it used to have 76534 single members. However, callers (that I have seen) will only request 76535 one frame from the icon, so practically there aren't going to be lots of 76536 instantiated image decoders. 76537 76538 * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it. 76539 * platform/graphics/cairo/ImageSourceCairo.cpp: 76540 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 76541 * platform/graphics/skia/ImageSourceSkia.cpp: 76542 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 76543 (WebCore::ImageSource::setData): Remove function to ask for a particular icon size. 76544 * platform/graphics/skia/ImageSourceSkia.h: Removed. 76545 * platform/graphics/wx/ImageSourceWx.cpp: 76546 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 76547 * platform/image-decoders/ico/ICOImageDecoder.cpp: 76548 (WebCore::ICOImageDecoder::ICOImageDecoder): 76549 (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders. 76550 (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders. 76551 (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames. 76552 (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling. Otherwise, use size from icon directory instead of PNG decoder (if applicable). 76553 (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement. 76554 (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling. 76555 (WebCore::ICOImageDecoder::frameCount): Implement. 76556 (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames. 76557 (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries. 76558 (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder. 76559 (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces. 76560 (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode(). 76561 (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested. 76562 (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents. 76563 (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality. 76564 (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member. 76565 * platform/image-decoders/ico/ICOImageDecoder.h: 76566 76567 2009-08-05 Szabo Carol <carol.szabo (a] nokia.com> 76568 76569 Reviewed by Darin Adler. 76570 76571 https://bugs.webkit.org/show_bug.cgi?id=27942 76572 76573 Test: fast/forms/select-reset-multiple-selections-4-single-selection.html 76574 76575 * dom/SelectElement.cpp: 76576 (WebCore::SelectElement::reset): 76577 Added HTML 4.01 compliant handling of broken webpages that 76578 specify more than one selected option for single selection SELECT 76579 element, in a manner that emulates Firefox and is similar to IE 7 76580 76581 76582 2009-08-05 Andras Becsi <becsi.andras (a] stud.u-szeged.hu> 76583 76584 Reviewed by Simon Hausmann. 76585 76586 WebCore.pro bugfix 76587 76588 Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer. 76589 76590 * WebCore.pro: 76591 76592 2009-08-05 Chris Fleizach <cfleizach (a] apple.com> 76593 76594 Fix Tiger build breakage. 76595 76596 * accessibility/mac/AccessibilityObjectWrapper.mm: 76597 76598 2009-08-04 Simon Hausmann <hausmann (a] webkit.org> 76599 76600 Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp 76601 to both source files, HTMLTagNames.in and HTMLAttributeNames.in 76602 76603 * WebCore.pro: 76604 76605 2009-08-04 Brian Weinstein <bweinstein (a] apple.com> 76606 76607 Reviewed by Adele Peterson. 76608 76609 Keypress should exit from pan scrolling mode. 76610 https://bugs.webkit.org/show_bug.cgi?id=28005 76611 76612 Change the logic from only exiting pan scrolling on escape to exiting on any key press, 76613 making it easier for users to back out of an accidental pan scroll. 76614 76615 * page/EventHandler.cpp: 76616 (WebCore::EventHandler::keyEvent): 76617 76618 2009-08-04 Eric Seidel <eric (a] webkit.org> 76619 76620 Reviewed by Simon Fraser. 76621 76622 REGRESSION (r45064): Drop caret remains in text control after the mouse exits 76623 https://bugs.webkit.org/show_bug.cgi?id=26787 76624 76625 Add back missing dragController()->clear() call. 76626 76627 * manual-tests/drag-caret.html: Added. 76628 * page/DragController.cpp: 76629 (WebCore::DragController::tryDocumentDrag): 76630 76631 2009-08-04 Chris Fleizach <cfleizach (a] apple.com> 76632 76633 Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented 76634 https://bugs.webkit.org/show_bug.cgi?id=27994 76635 76636 Forgot to commit attribute names. 76637 76638 * html/HTMLAttributeNames.in: 76639 76640 2009-08-04 Chris Fleizach <cfleizach (a] apple.com> 76641 76642 Reviewed by Darin Adler. 76643 76644 Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented 76645 https://bugs.webkit.org/show_bug.cgi?id=27994 76646 76647 Test: platform/mac/accessibility/aria-valuetext.html 76648 76649 * accessibility/AccessibilityObject.h: 76650 (WebCore::AccessibilityObject::valueDescription): 76651 * accessibility/AccessibilityRenderObject.cpp: 76652 (WebCore::AccessibilityRenderObject::valueDescription): 76653 * accessibility/AccessibilityRenderObject.h: 76654 * accessibility/mac/AccessibilityObjectWrapper.mm: 76655 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 76656 * html/HTMLAttributeNames.in: 76657 76658 2009-08-04 Michael Nordman <michaeln (a] google.com> 76659 76660 Reviewed by Alexey Proskuryakov. 76661 76662 https://bugs.webkit.org/show_bug.cgi?id=27821 76663 76664 No new features, no new tests. Existing layout tests pass. 76665 76666 * WebCore.base.exp: 76667 76668 Export AppliationCacheGroup::storeCopyOfCache 76669 76670 * WebCore.xcodeproj/project.pbxproj: 76671 76672 Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers 76673 instead of 'private' headers since they're no longer in the DocumentLoader.h 76674 include graph. 76675 76676 * html/HTMLHtmlElement.cpp: 76677 (WebCore::HTMLHtmlElement::insertedIntoDocument): 76678 76679 Reinstate the test for manifest.isNull instead of .isEmtpty(). 76680 Added a FIXME to revisit once the spec gets clarified. 76681 76682 * loader/DocumentLoader.cpp: 76683 (WebCore::DocumentLoader::DocumentLoader): 76684 (WebCore::DocumentLoader::mainReceivedError): 76685 (WebCore::DocumentLoader::detachFromFrame): 76686 * loader/DocumentLoader.h: 76687 (WebCore::DocumentLoader::applicationCacheHost): 76688 76689 ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done 76690 for compile time friendliness, it results in a smaller include graph for files 76691 dependent on DocumentLoader.h. 76692 76693 * loader/FrameLoader.cpp: 76694 * loader/MainResourceLoader.cpp: 76695 * loader/ResourceLoader.cpp: 76696 76697 Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards. 76698 This was done for readability at the include site. The included files contain appropriate guards, 76699 so they're not needed at the include site. 76700 76701 * loader/appcache/ApplicationCacheGroup.cpp: 76702 (WebCore::ApplicationCacheGroup::selectCache): 76703 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 76704 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 76705 (WebCore::ApplicationCacheGroup::update): 76706 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 76707 (WebCore::ApplicationCacheGroup::manifestNotFound): 76708 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 76709 (WebCore::ApplicationCacheGroup::startLoadingEntry): 76710 (WebCore::CallCacheListenerTask::create): 76711 (WebCore::CallCacheListenerTask::performTask): 76712 (WebCore::CallCacheListenerTask::CallCacheListenerTask): 76713 (WebCore::ApplicationCacheGroup::postListenerTask): 76714 * loader/appcache/ApplicationCacheGroup.h: 76715 76716 Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache. 76717 76718 * loader/appcache/ApplicationCacheHost.cpp: 76719 (WebCore::ApplicationCacheHost::ApplicationCacheHost): 76720 (WebCore::ApplicationCacheHost::setDOMApplicationCache): 76721 (WebCore::ApplicationCacheHost::notifyEventListener): 76722 (WebCore::ApplicationCacheHost::status): 76723 * loader/appcache/ApplicationCacheHost.h: 76724 (WebCore::ApplicationCacheHost::): 76725 * loader/appcache/ApplicationCacheStorage.cpp: 76726 (WebCore::ApplicationCacheStorage::storeCopyOfCache): 76727 * loader/appcache/ApplicationCacheStorage.h: 76728 76729 Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods. 76730 76731 * loader/appcache/DOMApplicationCache.cpp: 76732 (WebCore::DOMApplicationCache::status): 76733 (WebCore::DOMApplicationCache::addEventListener): 76734 (WebCore::DOMApplicationCache::removeEventListener): 76735 (WebCore::DOMApplicationCache::callListener): 76736 (WebCore::DOMApplicationCache::toEventType): 76737 (WebCore::DOMApplicationCache::toEventID): 76738 * loader/appcache/DOMApplicationCache.h: 76739 (WebCore::DOMApplicationCache::setAttributeEventListener): 76740 (WebCore::DOMApplicationCache::getAttributeEventListener): 76741 (WebCore::DOMApplicationCache::clearAttributeEventListener): 76742 (WebCore::DOMApplicationCache::callEventListener): 76743 (WebCore::DOMApplicationCache::setOnchecking): 76744 (WebCore::DOMApplicationCache::onchecking): 76745 (WebCore::DOMApplicationCache::setOnerror): 76746 (WebCore::DOMApplicationCache::onerror): 76747 (WebCore::DOMApplicationCache::setOnnoupdate): 76748 (WebCore::DOMApplicationCache::onnoupdate): 76749 (WebCore::DOMApplicationCache::setOndownloading): 76750 (WebCore::DOMApplicationCache::ondownloading): 76751 (WebCore::DOMApplicationCache::setOnprogress): 76752 (WebCore::DOMApplicationCache::onprogress): 76753 (WebCore::DOMApplicationCache::setOnupdateready): 76754 (WebCore::DOMApplicationCache::onupdateready): 76755 (WebCore::DOMApplicationCache::setOncached): 76756 (WebCore::DOMApplicationCache::oncached): 76757 (WebCore::DOMApplicationCache::setOnobsolete): 76758 (WebCore::DOMApplicationCache::onobsolete): 76759 76760 Use ApplicationCachHost defined constants for Status and EventIDs. 76761 76762 2009-08-04 Nate Chapin <japhet (a] chromium.org> 76763 76764 Reviewed by Dimitri Glazkov. 76765 76766 Revert r46421 and r46769, which appear to have totally hosed the v8 bindings. 76767 76768 https://bugs.webkit.org/show_bug.cgi?id=27719 76769 76770 * bindings/v8/V8AbstractEventListener.cpp: Revert r46421. 76771 (WebCore::V8AbstractEventListener::invokeEventHandler): 76772 * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769. 76773 (WebCore::ACCESSOR_GETTER): 76774 76775 2009-08-04 Chris Fleizach <cfleizach (a] apple.com> 76776 76777 Reviewed by Darin Adler. 76778 76779 Bug 27993 - AXSliders are missing required attributes and actions 76780 https://bugs.webkit.org/show_bug.cgi?id=27993 76781 76782 Expose appropriate actions and attributes for sliders. 76783 76784 Test: platform/mac/accessibility/slider-supports-actions.html 76785 76786 * accessibility/AccessibilityObject.cpp: 76787 (WebCore::AccessibilityObject::orientation): 76788 * accessibility/AccessibilityObject.h: 76789 (WebCore::): 76790 * accessibility/AccessibilitySlider.cpp: 76791 (WebCore::AccessibilitySlider::orientation): 76792 * accessibility/AccessibilitySlider.h: 76793 * accessibility/mac/AccessibilityObjectWrapper.mm: 76794 (-[AccessibilityObjectWrapper accessibilityActionNames]): 76795 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 76796 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 76797 76798 2009-08-04 Jian Li <jianli (a] chromium.org> 76799 76800 Reviewed by David Levin. 76801 76802 [V8] Fix an assert in WebCoreStringResource that causes worker script 76803 evaluation failed. 76804 https://bugs.webkit.org/show_bug.cgi?id=27996 76805 76806 The fix is to check for the same thread, instead of the main thread. 76807 This is because Chromium's workers use v8 in a single thread that is 76808 not the main thread. 76809 76810 * bindings/v8/V8Binding.cpp: 76811 (WebCore::WebCoreStringResource::WebCoreStringResource): 76812 (WebCore::WebCoreStringResource::~WebCoreStringResource): 76813 (WebCore::WebCoreStringResource::atomicString): 76814 76815 2009-08-04 Simon Fraser <simon.fraser (a] apple.com> 76816 76817 Reviewed by Dave Hyatt. 76818 76819 Add support for transitions/animations of text-indent. 76820 76821 Test: transitions/text-indent-transition.html 76822 76823 * page/animation/AnimationBase.cpp: 76824 (WebCore::ensurePropertyMap): 76825 76826 2009-08-04 Simon Fraser <simon.fraser (a] apple.com> 76827 76828 Reviewed by Dave Hyatt. 76829 76830 Add support for transitions of min- and max-width, and min- and max-height. 76831 https://bugs.webkit.org/show_bug.cgi?id=27990 76832 76833 Test: transitions/min-max-width-height-transitions.html 76834 76835 * page/animation/AnimationBase.cpp: 76836 (WebCore::ensurePropertyMap): 76837 76838 2009-08-04 Chris Fleizach <cfleizach (a] apple.com> 76839 76840 Reviewed by Darin Adler. 76841 76842 Bug 27964 - WAI-ARIA: radio button does not determine its label from text content 76843 https://bugs.webkit.org/show_bug.cgi?id=27964 76844 76845 ARIA radio buttons also need to use the text inside of them, like buttons and other roles. 76846 Also fixed an issue where an extra space was being appended to some ARIA labels. 76847 76848 Test: platform/mac/accessibility/aria-radiobutton-text.html 76849 76850 * accessibility/AccessibilityObject.h: 76851 (WebCore::AccessibilityObject::ariaAccessibilityName): 76852 * accessibility/AccessibilityRenderObject.cpp: 76853 (WebCore::AccessibilityRenderObject::ariaAccessibilityName): 76854 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): 76855 (WebCore::AccessibilityRenderObject::title): 76856 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): 76857 * accessibility/AccessibilityRenderObject.h: 76858 76859 2009-08-04 Nate Chapin <japhet (a] chromium.org> 76860 76861 Reviewed by Dimitri Glazkov. 76862 76863 Missed a place that expects window.event to be hidden when it shouldn't be. 76864 76865 https://bugs.webkit.org/show_bug.cgi?id=27719 76866 76867 * bindings/v8/custom/V8DOMWindowCustom.cpp: 76868 (WebCore::ACCESSOR_GETTER): window.event is no longer hidden. 76869 76870 2009-08-03 Chris Fleizach <cfleizach (a] apple.com> 76871 76872 Reviewed by Jon Honeycutt. 76873 76874 Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute. 76875 https://bugs.webkit.org/show_bug.cgi?id=27958 76876 76877 Test: platform/mac/accessibility/aria-required.html 76878 76879 * accessibility/AccessibilityObject.h: 76880 (WebCore::AccessibilityObject::isRequired): 76881 * accessibility/AccessibilityRenderObject.cpp: 76882 (WebCore::AccessibilityRenderObject::isRequired): 76883 * accessibility/AccessibilityRenderObject.h: 76884 * accessibility/mac/AccessibilityObjectWrapper.mm: 76885 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 76886 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 76887 * html/HTMLAttributeNames.in: 76888 76889 2009-08-04 Jakub Wieczorek <faw217 (a] gmail.com> 76890 76891 Reviewed by Simon Hausmann. 76892 76893 Add QWebPluginDatabase API to the Qt API. 76894 76895 https://bugs.webkit.org/show_bug.cgi?id=27651 76896 76897 * WebCore.pro: 76898 76899 2009-08-04 Ariya Hidayat <ariya.hidayat (a] nokia.com> 76900 76901 Reviewed by Adam Treat. 76902 76903 [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken 76904 (as it is the closest match) instead of CompositionMode_SourceOver. 76905 76906 * platform/graphics/qt/GraphicsContextQt.cpp: 76907 (WebCore::toQtCompositionMode): 76908 76909 2009-08-04 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 76910 76911 Reviewed by Adam Barth. 76912 76913 [v8] Fix crash when converting empty v8 string to atomic webkit string. 76914 https://bugs.webkit.org/show_bug.cgi?id=27975 76915 76916 collection-null-like-arguments.html tests for this. 76917 76918 * bindings/v8/V8Binding.cpp: 76919 (WebCore::v8StringToAtomicWebCoreString): 76920 76921 2009-08-04 Ryosuke Niwa <rniwa (a] webkit.org> 76922 76923 Reviewed by Eric Seidel. 76924 76925 selectionHasStyle needs clean up to fix Bug 27858 76926 https://bugs.webkit.org/show_bug.cgi?id=27865 76927 76928 This patch cleans up selectionStartHasStyle and selectionHasStyle. 76929 No test is added because the patch does not change any behavior. 76930 76931 * editing/ApplyStyleCommand.cpp: 76932 (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well 76933 * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle 76934 * editing/Editor.cpp: 76935 (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style. 76936 (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle 76937 (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState 76938 76939 2009-08-03 John Abd-El-Malek <jam (a] chromium.org> 76940 76941 Reviewed by David Levin. 76942 76943 Fix MessagePort construction in worker process. Also make the other object constructions match this. 76944 76945 https://bugs.webkit.org/show_bug.cgi?id=27906 76946 76947 * bindings/v8/V8DOMWrapper.cpp: 76948 (WebCore::V8DOMWrapper::convertToV8Object): 76949 * bindings/v8/V8Proxy.cpp: 76950 (WebCore::V8Proxy::setDOMException): 76951 * bindings/v8/WorkerContextExecutionProxy.cpp: 76952 (WebCore::WorkerContextExecutionProxy::ToV8Object): 76953 76954 2009-08-03 Christian Plesner Hansen <christian.plesner.hansen (a] gmail.com> 76955 76956 Reviewed by David Levin. 76957 76958 [V8] Cache atomic strings in externalized v8 strings 76959 https://bugs.webkit.org/show_bug.cgi?id=27762 76960 76961 * bindings/scripts/CodeGeneratorV8.pm: 76962 * bindings/v8/V8Binding.cpp: 76963 (WebCore::WebCoreStringResource::WebCoreStringResource): 76964 (WebCore::WebCoreStringResource::~WebCoreStringResource): 76965 (WebCore::WebCoreStringResource::data): 76966 (WebCore::WebCoreStringResource::length): 76967 (WebCore::WebCoreStringResource::webcoreString): 76968 (WebCore::WebCoreStringResource::atomicString): 76969 (WebCore::WebCoreStringResource::toStringResource): 76970 (WebCore::v8StringToWebCoreString): 76971 (WebCore::v8StringToAtomicWebCoreString): 76972 (WebCore::v8ValueToWebCoreString): 76973 (WebCore::v8ValueToAtomicWebCoreString): 76974 * bindings/v8/V8Binding.h: 76975 (WebCore::): 76976 * dom/Document.idl: 76977 76978 2009-08-03 Joseph Pecoraro <joepeck02 (a] gmail.com> 76979 76980 Reviewed by Timothy Hatcher. 76981 76982 Inspector: DOM Storage Live Updating Should Not Affect Tabbing 76983 https://bugs.webkit.org/show_bug.cgi?id=27957 76984 76985 * inspector/front-end/DOMStorageDataGrid.js: 76986 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener 76987 (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener 76988 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener 76989 * inspector/front-end/DatabasesPanel.js: 76990 (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener 76991 76992 2009-08-03 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 76993 76994 Reviewed by Eric Seidel. 76995 76996 [Qt] Consolidate common gcc flags to WebKit.pri 76997 https://bugs.webkit.org/show_bug.cgi?id=27934 76998 76999 * WebCore.pro: 77000 77001 2009-08-03 Jeremy Orlow <jorlow (a] chromium.org> 77002 77003 Reviewed by Darin Fisher. 77004 77005 Chromium code sometimes isn't sandboxed and needs to access the FS. 77006 https://bugs.webkit.org/show_bug.cgi?id=27954 77007 77008 These changes are the WebKit side of http://codereview.chromium.org/159778 which 77009 aims to make LocalStorage persistent. 77010 77011 This change runs all FileSystem routines through the ChromiumBridge so that 77012 WebKitClients can handle them if they choose to. For now, the only such client 77013 will be the one running in the browser process. 77014 77015 It also adds a method called sandboxEnabled to the Chromium bridge so that the 77016 SQLite file system code can shift its behavior depending on whether we're 77017 inside a sandbox or not. 77018 77019 * platform/chromium/ChromiumBridge.h: 77020 * platform/chromium/FileSystemChromium.cpp: 77021 (WebCore::deleteFile): 77022 (WebCore::deleteEmptyDirectory): 77023 (WebCore::getFileModificationTime): 77024 (WebCore::directoryName): 77025 (WebCore::pathByAppendingComponent): 77026 (WebCore::makeAllDirectories): 77027 (WebCore::fileExists): 77028 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 77029 (WebCore::SQLiteFileSystem::openDatabase): 77030 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 77031 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 77032 77033 2009-08-03 Alpha Lam <hclam (a] chromium.org> 77034 77035 Reviewed by David Levin. 77036 77037 [chromium] Implement media slider for chromium 77038 https://bugs.webkit.org/show_bug.cgi?id=27859 77039 77040 Implemented the media slider for chromium port. The implementation 77041 is using Skia for drawing the thumb and buffered region instead of 77042 using any native system controls so different platforms would have 77043 the same look and feel. 77044 77045 No new tests because this is covered by existing tests. 77046 77047 * css/mediaControlsChromium.css: 77048 * rendering/RenderThemeChromiumSkia.cpp: 77049 * rendering/RenderThemeChromiumSkia.h: 77050 * rendering/RenderThemeChromiumWin.cpp: 77051 77052 2009-07-27 Peter Kasting <pkasting (a] google.com> 77053 77054 Reviewed by Eric Seidel. 77055 77056 https://bugs.webkit.org/show_bug.cgi?id=26460 77057 Plumbing and cleanup in advance of returning multiple frames from the 77058 ICOImageDecoder: 77059 * Make ImageDecoder::frameCount() return a size_t like 77060 ImageSource::frameCount() and BitmapImage::frameCount() already do. 77061 * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the 77062 size of a particular frame. Hook all the 77063 ImageSource::frameSizeAtIndex() implementations to this. No 77064 ImageDecoder implements this yet; that will come in my next change. 77065 77066 * platform/graphics/cairo/ImageSourceCairo.cpp: 77067 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 77068 * platform/graphics/qt/ImageDecoderQt.cpp: 77069 (WebCore::ImageDecoderQt::frameCount): returns size_t. 77070 * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t. 77071 * platform/graphics/qt/ImageSourceQt.cpp: 77072 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 77073 * platform/graphics/skia/ImageSourceSkia.cpp: 77074 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 77075 * platform/graphics/win/ImageCGWin.cpp: 77076 (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t. 77077 * platform/graphics/win/ImageCairoWin.cpp: 77078 (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t. 77079 * platform/graphics/wx/ImageSourceWx.cpp: 77080 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 77081 * platform/image-decoders/ImageDecoder.h: 77082 (WebCore::ImageDecoder::size): Clarify comment. 77083 (WebCore::ImageDecoder::frameSizeAtIndex): Add. 77084 (WebCore::ImageDecoder::frameCount): returns size_t. 77085 (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name. 77086 * platform/image-decoders/gif/GIFImageDecoder.cpp: 77087 (WebCore::GIFImageDecoder::frameCount): returns size_t. 77088 (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t. 77089 * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t. 77090 77091 2009-08-03 Dumitru Daniliuc <dumi (a] chromium.org> 77092 77093 Reviewed by Darin Adler. 77094 77095 Fix a bug that could cause an ASSERT to fail incorrectly, leading 77096 to a renderer crash in Chromium. 77097 77098 https://bugs.webkit.org/show_bug.cgi?id=27947 77099 77100 All tests in storage/ pass. 77101 77102 * platform/sql/SQLiteTransaction.cpp: 77103 (WebCore::SQLiteTransaction::~SQLiteTransaction): 77104 (WebCore::SQLiteTransaction::begin): 77105 77106 2009-08-03 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 77107 77108 Reviewed by Simon Hausmann. 77109 77110 Based on work by Yael Aharon. 77111 77112 Implement keyboard event forwarding for windowless plugins 77113 for the Qt port. 77114 77115 * plugins/qt/PluginViewQt.cpp: 77116 (WebCore::PluginView::dispatchNPEvent): 77117 (WebCore::setSharedXEventFields): 77118 (WebCore::setXKeyEventSpecificFields): 77119 (WebCore::PluginView::handleKeyboardEvent): 77120 (WebCore::PluginView::handleMouseEvent): 77121 77122 2009-08-03 Joseph Pecoraro <joepeck02 (a] gmail.com> 77123 77124 Reviewed by Timothy Hatcher. 77125 77126 Inspector: Make Bottom "Drawer" More Extensible To Support Other Views 77127 https://bugs.webkit.org/show_bug.cgi?id=27928 77128 77129 * English.lproj/localizedStrings.js: 77130 77131 "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes" 77132 77133 * inspector/front-end/ChangesView.js: Added. 77134 (WebInspector.ChangesView): 77135 (WebInspector.ChangesView.prototype._clearButtonClicked): 77136 (WebInspector.ChangesView.prototype._toggleChangesButtonClicked): 77137 (WebInspector.ChangesView.prototype.attach): 77138 (WebInspector.ChangesView.prototype.show): 77139 (WebInspector.ChangesView.prototype.hide): 77140 77141 To be a new view to show Changes made via the inspector. DOM, CSS, or otherwise. 77142 77143 * inspector/front-end/Console.js: Removed. 77144 77145 Sliding View aspect moved to Drawer.js. The "console" itself has moved to ConsoleView.js 77146 77147 * inspector/front-end/ConsoleView.js: Added. 77148 77149 Little has changed from its move from Console.js other then support for working with the Drawer. 77150 77151 * inspector/front-end/Drawer.js: Added. 77152 (WebInspector.Drawer): 77153 (WebInspector.Drawer.prototype.get visibleView): 77154 (WebInspector.Drawer.prototype.set visibleView): 77155 (WebInspector.Drawer.prototype.show.animationFinished): 77156 (WebInspector.Drawer.prototype.show): 77157 (WebInspector.Drawer.prototype.hide.animationFinished): 77158 (WebInspector.Drawer.prototype.hide): 77159 (WebInspector.Drawer.prototype._safelyRemoveChildren): 77160 (WebInspector.Drawer.prototype._startStatusBarDragging): 77161 (WebInspector.Drawer.prototype._statusBarDragging): 77162 (WebInspector.Drawer.prototype._endStatusBarDragging): 77163 77164 Allow for multiple views inside the Sliding Drawer. 77165 77166 * inspector/front-end/ElementsPanel.js: 77167 (WebInspector.ElementsPanel): 77168 (WebInspector.ElementsPanel.prototype.renameSelector): 77169 (WebInspector.ElementsPanel.prototype.addStyleChange): 77170 (WebInspector.ElementsPanel.prototype.removeStyleChange): 77171 (WebInspector.ElementsPanel.prototype.generateStylesheet): 77172 77173 Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector. 77174 77175 * inspector/front-end/Images/styleIcon.png: Added. 77176 77177 * inspector/front-end/StylesSidebarPane.js: 77178 (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet): 77179 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 77180 (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): 77181 (WebInspector.StylePropertyTreeElement.prototype): 77182 77183 Interface with ElementsPanel for generating a Stylesheet of Changes. 77184 77185 * inspector/front-end/WebKit.qrc: 77186 * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer. 77187 * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer. 77188 77189 * inspector/front-end/inspector.js: 77190 (WebInspector.get styleChanges): 77191 (WebInspector.set styleChanges): 77192 (WebInspector._updateChangesCount): 77193 (WebInspector.loaded): 77194 (WebInspector.documentKeyDown): 77195 (WebInspector.showConsole): 77196 (WebInspector.showChanges): 77197 77198 Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons. 77199 77200 2009-08-03 Dean McNamee <deanm (a] chromium.org> 77201 77202 Reviewed by Adam Barth. 77203 77204 Correct an assert on a PassRefPtr in the v8 svg bindings. 77205 https://bugs.webkit.org/show_bug.cgi?id=27951 77206 77207 * bindings/v8/V8SVGPODTypeWrapper.h: 77208 (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper): 77209 77210 2009-08-03 Dirk Pranke <dpranke (a] chromium.org> 77211 77212 Reviewed by Sam Weinig. 77213 77214 Fix for https://bugs.webkit.org/show_bug.cgi?id=27748 77215 crash w/ stack overflow when same CSS file loaded repeatedly 77216 77217 Fix crash caused by a stack overflow when repeatedly loading very large 77218 CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 77219 recursively rather than iteratively. 77220 77221 Test: fast/css/large-list-of-rules-crash.html 77222 77223 * css/CSSStyleSelector.h: 77224 (WebCore::CSSRuleData::~CSSRuleData): 77225 (WebCore::CSSRuleDataList::~CSSRuleDataList): 77226 77227 2009-08-03 Simon Fraser <simon.fraser (a] apple.com> 77228 77229 Reviewed by Dan Bernstein. 77230 77231 Make the DRT APIs to pause transitions and animations work for accelerated animations 77232 <https://bugs.webkit.org/show_bug.cgi?id=27627> 77233 <rdar://problem/6442932> 77234 77235 Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs 77236 available to LayoutTests to work with accelerated animations and transitions. Done by sending 77237 the pause time down to the GraphicsLayer, and using it to stop time on the layer. 77238 77239 I also added an assertion to check that the animation has actually started when we 77240 try to pause it, to check that the pause time we compute is valid. This revealed a number 77241 of tests that tried to pause before animations started, required some amount of test fixing. 77242 77243 * page/animation/AnimationBase.cpp: 77244 (WebCore::AnimationBase::freezeAtTime): 77245 * page/animation/AnimationBase.h: 77246 * page/animation/CompositeAnimation.cpp: 77247 (WebCore::CompositeAnimation::pauseAnimationAtTime): 77248 (WebCore::CompositeAnimation::pauseTransitionAtTime): 77249 * platform/graphics/GraphicsLayer.cpp: 77250 (WebCore::GraphicsLayer::suspendAnimations): 77251 * platform/graphics/GraphicsLayer.h: 77252 * platform/graphics/mac/GraphicsLayerCA.h: 77253 * platform/graphics/mac/GraphicsLayerCA.mm: 77254 (WebCore::GraphicsLayerCA::suspendAnimations): 77255 * rendering/RenderLayerBacking.cpp: 77256 (WebCore::RenderLayerBacking::suspendAnimations): 77257 * rendering/RenderLayerBacking.h: 77258 77259 2009-08-03 Tony Chang <tony (a] chromium.org> 77260 77261 Reviewed by Darin Adler. 77262 77263 Fix Chromium build by removing PluginView.h from Page.cpp. 77264 Chromium doesn't use PluginView and the pointer is never 77265 dereferenced so the header doesn't need to be included. 77266 https://bugs.webkit.org/show_bug.cgi?id=27946 77267 77268 No new tests because this is a build fix. 77269 77270 * page/Page.cpp: 77271 77272 2009-08-03 Eric Carlson <eric.carlson (a] apple.com> 77273 77274 One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720. 77275 77276 Unreviewed. 77277 77278 * WebCoreSources.bkl: 77279 77280 2009-08-03 Eric Carlson <eric.carlson (a] apple.com> 77281 77282 Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720. 77283 77284 Unreviewed. 77285 77286 * GNUmakefile.am: 77287 * WebCore.gypi: 77288 * WebCore.pro: 77289 * WebCore.vcproj/WebCore.vcproj: 77290 77291 2009-08-03 Chris Fleizach <cfleizach (a] apple.com> 77292 77293 Reviewed by Darin Adler. 77294 77295 Bug 27943: Need to implement ARIA role="radiogroup" 77296 https://bugs.webkit.org/show_bug.cgi?id=27943 77297 77298 Test: platform/mac/accessibility/aria-radiogroup.html 77299 77300 * accessibility/AccessibilityObject.h: 77301 (WebCore::AccessibilityObject::isRadioGroup): 77302 (WebCore::AccessibilityObject::selectedRadioButton): 77303 * accessibility/AccessibilityRenderObject.cpp: 77304 (WebCore::AccessibilityRenderObject::selectedRadioButton): 77305 (WebCore::RoleEntry::): 77306 * accessibility/AccessibilityRenderObject.h: 77307 * accessibility/mac/AccessibilityObjectWrapper.mm: 77308 (-[AccessibilityObjectWrapper roleDescription]): 77309 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 77310 77311 2009-08-03 Eric Carlson <eric.carlson (a] apple.com> 77312 77313 Reviewed by Eric Seidel. 77314 77315 HTMLInputElement is not controllable by assistive technologies 77316 https://bugs.webkit.org/show_bug.cgi?id=27941 77317 77318 Test: accessibility/input-slider.html 77319 77320 * WebCore.xcodeproj/project.pbxproj: 77321 Add AccessibilitySlider.cpp/.h 77322 77323 * accessibility/AXObjectCache.cpp: 77324 (WebCore::AXObjectCache::getOrCreate): 77325 Create AccessibilitySlider and AccessibilitySliderThumb. 77326 77327 * accessibility/AccessibilityObject.h: 77328 (WebCore::AccessibilityObject::increment): 77329 (WebCore::AccessibilityObject::decrement): 77330 Add default, do nothing, base class methods. 77331 77332 * accessibility/AccessibilityRenderObject.cpp: 77333 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 77334 Correct typo. 77335 77336 * accessibility/AccessibilitySlider.cpp: Added. 77337 (WebCore::AccessibilitySlider::AccessibilitySlider): 77338 (WebCore::AccessibilitySlider::create): 77339 (WebCore::AccessibilitySlider::children): 77340 (WebCore::AccessibilitySlider::addChildren): 77341 (WebCore::AccessibilitySlider::getAttribute): 77342 (WebCore::AccessibilitySlider::valueForRange): 77343 (WebCore::AccessibilitySlider::maxValueForRange): 77344 (WebCore::AccessibilitySlider::minValueForRange): 77345 (WebCore::AccessibilitySlider::changeValue): 77346 (WebCore::AccessibilitySlider::setValue): 77347 (WebCore::AccessibilitySlider::increment): 77348 (WebCore::AccessibilitySlider::decrement): 77349 (WebCore::AccessibilitySlider::element): 77350 (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb): 77351 (WebCore::AccessibilitySliderThumb::create): 77352 (WebCore::AccessibilitySliderThumb::elementRect): 77353 (WebCore::AccessibilitySliderThumb::size): 77354 * accessibility/AccessibilitySlider.h: Added. 77355 (WebCore::AccessibilitySlider::~AccessibilitySlider): 77356 (WebCore::AccessibilitySlider::roleValue): 77357 (WebCore::AccessibilitySlider::accessibilityIsIgnored): 77358 (WebCore::AccessibilitySlider::isSlider): 77359 (WebCore::AccessibilitySlider::canSetValueAttribute): 77360 (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb): 77361 (WebCore::AccessibilitySliderThumb::roleValue): 77362 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): 77363 (WebCore::AccessibilitySliderThumb::setParentObject): 77364 (WebCore::AccessibilitySliderThumb::parentObject): 77365 77366 * accessibility/mac/AccessibilityObjectWrapper.mm: 77367 (RoleEntry::): 77368 SliderThumbRole -> NSAccessibilityValueIndicatorRole 77369 (-[AccessibilityObjectWrapper roleDescription]): 77370 Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole. 77371 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 77372 Minor coding style correction. 77373 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): 77374 If attachement view handles press action, don't also call object wrapper. 77375 (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]): 77376 New, call object's increment() method. 77377 (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]): 77378 New, call object's decrement() method. 77379 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 77380 Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction. 77381 77382 * rendering/RenderSlider.cpp: 77383 (WebCore::RenderSlider::thumbRect): 77384 Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size. 77385 (WebCore::RenderSlider::layout): 77386 Move code to thumbRect(). 77387 * rendering/RenderSlider.h: 77388 77389 2009-08-03 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 77390 77391 Reviewed by Eric Seidel. 77392 77393 Build fix if Netscape plugin support is turned off 77394 https://bugs.webkit.org/show_bug.cgi?id=27940 77395 77396 * plugins/PluginView.cpp: 77397 (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is 77398 disabled 77399 * plugins/PluginViewNone.cpp: 77400 (WebCore::PluginView::platformStart): Empty stub. 77401 77402 2009-07-31 Joe Mason <joe.mason (a] torchmobile.com> 77403 77404 Reviewed by George Staikos. 77405 77406 WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE 77407 https://bugs.webkit.org/show_bug.cgi?id=27917 77408 77409 * plugins/win/PluginPackageWin.cpp: 77410 (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx 77411 77412 2009-08-02 Adam Barth <abarth (a] webkit.org> 77413 Reviewed by Darin Adler. 77414 77415 SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext() 77416 77417 https://bugs.webkit.org/show_bug.cgi?id=27932 77418 77419 There's no reason to pay for a virtual function call in this case. We 77420 can just call document() directly because we know that element is a 77421 Node*. 77422 77423 * svg/SVGElementInstance.cpp: 77424 (WebCore::SVGElementInstance::scriptExecutionContext): 77425 77426 2009-08-02 Adam Barth <abarth (a] webkit.org> 77427 77428 Reviewed by Darin Adler. 77429 77430 JSNodeCustom should call document() instead of scriptExecutionContext() 77431 https://bugs.webkit.org/show_bug.cgi?id=27931 77432 77433 We want to call document() because it's in inline function, instead of 77434 scriptExecutionContext() because it's a virtual function. If we have a 77435 Node*, then we know that the virtual function will always return the 77436 document anyway. 77437 77438 There are more instance of this bug, but I'd like to start with a small 77439 patch and work up. 77440 77441 * bindings/js/JSDOMGlobalObject.cpp: 77442 (WebCore::toJSDOMGlobalObject): 77443 * bindings/js/JSDOMGlobalObject.h: 77444 * bindings/js/JSNodeCustom.cpp: 77445 (WebCore::JSNode::addEventListener): 77446 (WebCore::JSNode::removeEventListener): 77447 77448 2009-08-02 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 77449 77450 Reviewed by Anders Carlsson. 77451 77452 Share implementation of PluginView::userAgent() and userAgentStatic() 77453 77454 https://bugs.webkit.org/show_bug.cgi?id=27706 77455 77456 Differences to the original implementation are as follows: 77457 77458 - The Win port used to return 0 for userAgentStatic, but now 77459 returns the quirk mode MozillaUserAgent as the other ports. 77460 77461 * plugins/PluginView.cpp: 77462 (WebCore::PluginView::userAgent): 77463 (WebCore::PluginView::userAgentStatic): 77464 * plugins/PluginViewNone.cpp: 77465 * plugins/gtk/PluginViewGtk.cpp: 77466 * plugins/mac/PluginViewMac.cpp: 77467 * plugins/qt/PluginViewQt.cpp: 77468 * plugins/win/PluginViewWin.cpp: 77469 77470 2009-07-27 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 77471 77472 Reviewed by Anders Carlsson. 77473 77474 Unregister plugin from PluginMainThreadScheduler if NPP_New fails 77475 77476 https://bugs.webkit.org/show_bug.cgi?id=27706 77477 77478 Since the plugin has not been started yet (m_isStarted is not set), 77479 calling stop() will not have any affect, so we manually unregister 77480 in start() before returning. 77481 77482 * plugins/PluginView.cpp: 77483 (WebCore::PluginView::start): 77484 77485 2009-07-27 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 77486 77487 Reviewed by Anders Carlsson. 77488 77489 Join the various versions of PluginView::stop() into one shared implementation 77490 77491 https://bugs.webkit.org/show_bug.cgi?id=27706 77492 77493 The platform-dependent bits are now ifdef'ed in the shared implementation, 77494 using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h 77495 77496 Differences to the original implementation are as follows: 77497 77498 - The Qt port unregistered the plugin before calling NP_SetWindow 77499 with a 0 window handle. Now it's done after (similar to Win) 77500 77501 - The GTK and Qt ports unregistered the plugin before clearing 77502 the m_npWindow.ws_info struct. Now it's done after. 77503 77504 - The Win port constructed the DropAllLocks after unsubclassing 77505 the window. Now it's done before. 77506 77507 - The Mac, Qt, and GTK ports did not pass a NPSavedData struct 77508 to NP_Destroy (like the Win port). Now all ports do. 77509 77510 - The Win port did not call PluginView::setCurrentPluginView() 77511 before calling to NP-functions. Now it does. 77512 77513 * plugins/PluginView.cpp: 77514 * plugins/PluginViewNone.cpp: 77515 * plugins/gtk/PluginViewGtk.cpp: 77516 * plugins/mac/PluginViewMac.cpp: 77517 * plugins/qt/PluginViewQt.cpp: 77518 * plugins/win/PluginViewWin.cpp: 77519 77520 2009-07-30 Joseph Pecoraro <joepeck02 (a] gmail.com> 77521 77522 Reviewed by Timothy Hatcher. 77523 77524 Inspector: let me *edit* css styles in the web inspector. 77525 https://bugs.webkit.org/show_bug.cgi?id=27124 77526 77527 * English.lproj/localizedStrings.js: 77528 * inspector/front-end/ElementsPanel.js: 77529 (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed 77530 * inspector/front-end/StylesSidebarPane.js: 77531 (WebInspector.StylesSidebarPane.prototype.update): handle blank sections 77532 (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position 77533 (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node 77534 (WebInspector.StylePropertiesSection): 77535 (WebInspector.StylePropertiesSection.prototype.expand): 77536 (WebInspector.StylePropertiesSection.prototype.isPropertyInherited): 77537 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 77538 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): 77539 (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties 77540 (WebInspector.StylePropertiesSection.prototype._dblclickSelector): 77541 (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors 77542 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 77543 (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): 77544 (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node 77545 (WebInspector.BlankStylePropertiesSection.prototype._dblclick): 77546 (WebInspector.BlankStylePropertiesSection.prototype.startEditing): 77547 (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled): 77548 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted): 77549 (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection 77550 (WebInspector.StylePropertyTreeElement.prototype): 77551 (WebInspector.StylePropertyTreeElement.prototype.): 77552 * inspector/front-end/inspector.css: 77553 77554 2009-07-31 Anton Muhin <antonm (a] chromium.org> 77555 77556 Reviewed by Adam Barth. 77557 77558 [v8] check if proxy is present before invoking a handler 77559 https://bugs.webkit.org/show_bug.cgi?id=27883 77560 77561 Do not invoke handler function if proxy is null pointer (that would lead to access violation 77562 anyway) 77563 77564 * bindings/v8/custom/V8CustomEventListener.cpp: 77565 (WebCore::V8EventListener::callListenerFunction): 77566 77567 2009-08-01 Pavel Feldman <pfeldman (a] chromium.org> 77568 77569 Reviewed by Timothy Hatcher. 77570 77571 Web Inspector: Reimplement Elements Panel so that its 77572 interaction with DOM is serialized. 77573 77574 This is a first cut wuth read support for DOM elements 77575 tree as well as some limited editing. No properties, no 77576 styles, no search capabilities are implemented yet. 77577 Set Preferences.useDOMAgent to true in order to try it 77578 out, otherwise disabled by default. 77579 77580 https://bugs.webkit.org/show_bug.cgi?id=27771 77581 77582 * GNUmakefile.am: 77583 * WebCore.gypi: 77584 * WebCore.pro: 77585 * WebCore.vcproj/WebCore.vcproj: 77586 * WebCore.xcodeproj/project.pbxproj: 77587 * WebCoreSources.bkl: 77588 * inspector/InspectorBackend.cpp: 77589 (WebCore::InspectorBackend::getChildNodes): 77590 (WebCore::InspectorBackend::setAttribute): 77591 (WebCore::InspectorBackend::removeAttribute): 77592 (WebCore::InspectorBackend::setTextNodeValue): 77593 * inspector/InspectorBackend.h: 77594 * inspector/InspectorBackend.idl: 77595 * inspector/InspectorController.cpp: 77596 (WebCore::InspectorController::windowScriptObjectAvailable): 77597 (WebCore::InspectorController::setFrontendProxyObject): 77598 (WebCore::InspectorController::close): 77599 (WebCore::InspectorController::populateScriptObjects): 77600 (WebCore::InspectorController::didCommitLoad): 77601 * inspector/InspectorController.h: 77602 (WebCore::InspectorController::domAgent): 77603 * inspector/InspectorDOMAgent.cpp: Added. 77604 * inspector/InspectorDOMAgent.h: Added. 77605 * inspector/InspectorFrontend.cpp: 77606 * inspector/InspectorFrontend.h: 77607 * inspector/front-end/Callback.js: Added. 77608 * inspector/front-end/DOMAgent.js: Added. 77609 * inspector/front-end/ElementsPanel.js: 77610 * inspector/front-end/WebKit.qrc: 77611 * inspector/front-end/inspector.html: 77612 * inspector/front-end/inspector.js: 77613 (WebInspector.loaded): 77614 77615 2009-08-01 Ryosuke Niwa <rniwa (a] webkit.org> 77616 77617 Reviewed by Adele Peterson. 77618 77619 isContentEditable function in htmlediting.* must be removed 77620 https://bugs.webkit.org/show_bug.cgi?id=27870 77621 77622 This patch removes isContentEditable function in htmlediting.cpp and 77623 replaces all usage by calling Node::isContentEditable or its derivatives. 77624 77625 * editing/AppendNodeCommand.cpp: ditto 77626 (WebCore::AppendNodeCommand::AppendNodeCommand): ditto 77627 * editing/IndentOutdentCommand.cpp: ditto 77628 (WebCore::IndentOutdentCommand::outdentParagraph): ditto 77629 * editing/InsertNodeBeforeCommand.cpp: ditto 77630 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto 77631 * editing/htmlediting.cpp: ditto 77632 (WebCore::enclosingNodeWithTag): ditto 77633 (WebCore::enclosingNodeOfType): ditto 77634 (WebCore::canMergeLists): ditto 77635 * editing/htmlediting.h: Updated prototype 77636 77637 2009-08-01 John Abd-El-Malek <jam (a] chromium.org> 77638 77639 Reviewed by Adam Barth. 77640 77641 Fix a message port handle always getting marked as reachable once it gets entangled. 77642 77643 https://bugs.webkit.org/show_bug.cgi?id=27824 77644 77645 No tests since this only arises with the Chromium multi-process message port implementation 77646 which isn't in this repostiory. 77647 77648 * bindings/v8/V8GCController.cpp: 77649 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 77650 77651 2009-07-31 Yong Li <yong.li (a] torchmobile.com> 77652 77653 Reviewed by Adam Barth. 77654 77655 Fix Geolocation permission problem 77656 https://bugs.webkit.org/show_bug.cgi?id=26993 77657 77658 * page/Geolocation.cpp: 77659 (WebCore::Geolocation::requestPermission): 77660 77661 2009-07-31 Norbert Leser <norbert.leser (a] nokia.com> 77662 77663 Reviewed by Eric Seidel. 77664 77665 Added project properties as needed by symbian platform 77666 77667 * WebCore.pro: 77668 77669 2009-07-31 Xan Lopez <xlopez (a] igalia.com> 77670 77671 Reviewed by Holger Freyther. 77672 77673 Fix compiler warning. 77674 77675 Initialize member variables in the correct order. 77676 77677 * plugins/PluginView.cpp: 77678 (WebCore::PluginView::PluginView): 77679 77680 2009-07-31 Jon Honeycutt <jhoneycutt (a] apple.com> 77681 77682 Windows build fix! 77683 77684 Unreviewed. 77685 77686 * page/win/PageWin.cpp: 77687 77688 2009-07-31 Jon Honeycutt <jhoneycutt (a] apple.com> 77689 77690 Mac build fix. 77691 77692 Unreviewed. 77693 77694 * page/Page.cpp: 77695 Move setCanStartPlugins() from here... 77696 * page/win/PageWin.cpp: 77697 (WebCore::Page::setCanStartPlugins): 77698 ... to here. 77699 77700 2009-07-29 Jon Honeycutt <jhoneycutt (a] apple.com> 77701 77702 <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in 77703 background tabs (make Win consistent with Mac) 77704 77705 https://bugs.webkit.org/show_bug.cgi?id=27855 77706 77707 Reviewed by Anders Carlsson. 77708 77709 * loader/FrameLoaderClient.h: 77710 (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin): 77711 Declare a new function to dispatch failures to start plug-ins. 77712 77713 * page/Page.cpp: 77714 (WebCore::Page::Page): 77715 Initialize new member variable. 77716 (WebCore::Page::addUnstartedPlugin): 77717 Add the PluginView to the set of unstarted plug-ins. 77718 (WebCore::Page::removeUnstartedPlugin): 77719 Remove the PluginView from the set of unstarted plug-ins. 77720 (WebCore::Page::setCanStartPlugins): 77721 If we can now start plug-ins, iterate the set of unstarted plug-ins, 77722 starting them. If a plug-in fails to start, dispatch a failed-to-start- 77723 plug-in error. Clear the list of unstarted plug-ins. 77724 77725 * page/Page.h: 77726 Added m_canStartPlugins to track whether we can currently start 77727 plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the 77728 page that are waiting to be started. 77729 (WebCore::Page::canStartPlugins): 77730 77731 * plugins/PluginView.cpp: 77732 (WebCore::PluginView::start): 77733 m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New() 77734 fails, set m_status to reflect this; this used to be set by init(), but 77735 start() will not be called by init() if we are delaying start(). 77736 If NPP_New() succeeds, set m_status to reflect this, and call 77737 platformStart(). 77738 (WebCore::PluginView::startOrAddToUnstartedList): 77739 If we cannot start plug-ins, add this view to the Page's list of 77740 unstarted plug-ins and return true. Otherwise, call start() and return 77741 the result. 77742 (WebCore::PluginView::removeFromUnstartedListIfNecessary): 77743 If we've been started or we don't have a Page, return early. Remove 77744 ourselves from the Page's list of unstarted plug-ins. 77745 (WebCore::PluginView::bindingInstance): 77746 If we haven't been started yet, return 0. This matches the Mac 77747 behavior. 77748 (WebCore::PluginView::setParameters): 77749 If we find the "plug-ins page" parameter, record it; it may be used if 77750 we fail to start the plug-in. 77751 (WebCore::PluginView::PluginView): 77752 Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType 77753 with mimeType directly; m_mimeType is now a WebCore::String. 77754 77755 * plugins/PluginView.h: 77756 Made start() public, so Page can call it when we start unstarted 77757 plug-ins. Changed m_mimeType from CString to String and added 77758 m_pluginsPage; these are needed by dispatchDidFailToStartPlugin(). 77759 (WebCore::PluginView::pluginsPage): 77760 Added for dispatchDidFailToStartPlugin(). 77761 (WebCore::PluginView::mimeType): 77762 Ditto. 77763 (WebCore::PluginView::url): 77764 Ditto. 77765 77766 * plugins/gtk/PluginViewGtk.cpp: 77767 (WebCore::PluginView::platformStart): 77768 Stubbed. 77769 77770 * plugins/mac/PluginViewMac.cpp: 77771 (WebCore::PluginView::platformStart): 77772 Stubbed. 77773 77774 * plugins/qt/PluginViewQt.cpp: 77775 (WebCore::PluginView::platformStart): 77776 Stubbed. 77777 77778 * plugins/win/PluginViewWin.cpp: 77779 (WebCore::PluginView::updatePluginWidget): 77780 Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow() 77781 and SetWindowRgn() to position the plug-in and set its clip rect if an 77782 earlier call to updatePluginWidget() was made before 77783 setPlatformPluginWidget() was called to set the plug-in's HWND. 77784 (WebCore::PluginView::~PluginView): 77785 Call removeFromUnstartedListIfNecessary() to remove the plug-in from 77786 the unstarted list if the plug-in is destroyed before it is started. 77787 (WebCore::PluginView::init): 77788 Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins 77789 cannot be started, to add it to the list of plug-ins waiting to be 77790 started. Set m_status to indicate success; this is also set by start(), 77791 but that may be delayed, and we don't want the loader to dispatch a 77792 failed-to-start-plug-in error when we return from init(). 77793 (WebCore::PluginView::platformStart): 77794 Added; code moved from init(). This is now called by start() to perform 77795 any platform-specific tasks that need to take place after the plug-in 77796 has started. Added a call to updatePluginWidget() to ensure we position 77797 the plug-in and set its clip rect after the plug-in has started. 77798 Removed the setting of m_status; start() does this before calling this 77799 function (and we assert this at the head of the function). 77800 77801 2009-07-30 Darin Adler <darin (a] apple.com> 77802 77803 Reviewed by David Levin. 77804 77805 Use checked casts for render tree 77806 https://bugs.webkit.org/show_bug.cgi?id=23522 77807 77808 Next step: Add casts for all the RenderTable classes and use them everywhere. 77809 77810 Also added a few uses in places that were still using static_cast. 77811 Also made some virtual member functions private. 77812 Also changed RenderTable::m_tableLayout to use OwnPtr. 77813 77814 * accessibility/AccessibilityTable.cpp: 77815 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 77816 (WebCore::AccessibilityTable::addChildren): 77817 (WebCore::AccessibilityTable::cellForColumnAndRow): 77818 * accessibility/AccessibilityTableCell.cpp: 77819 (WebCore::AccessibilityTableCell::parentTable): 77820 (WebCore::AccessibilityTableCell::rowIndexRange): 77821 (WebCore::AccessibilityTableCell::columnIndexRange): 77822 (WebCore::AccessibilityTableCell::titleUIElement): 77823 * accessibility/AccessibilityTableColumn.cpp: 77824 (WebCore::AccessibilityTableColumn::headerObject): 77825 * accessibility/AccessibilityTableRow.cpp: 77826 (WebCore::AccessibilityTableRow::parentTable): 77827 * editing/DeleteSelectionCommand.cpp: 77828 (WebCore::DeleteSelectionCommand::removeNode): 77829 * editing/TextIterator.cpp: 77830 (WebCore::shouldEmitTabBeforeNode): 77831 (WebCore::shouldEmitNewlinesBeforeAndAfterNode): 77832 * html/HTMLTableCellElement.cpp: 77833 (WebCore::HTMLTableCellElement::parseMappedAttribute): 77834 * html/HTMLTableColElement.cpp: 77835 (WebCore::HTMLTableColElement::parseMappedAttribute): 77836 * page/Frame.cpp: 77837 (WebCore::Frame::searchForLabelsAboveCell): 77838 * page/mac/FrameMac.mm: 77839 (WebCore::Frame::searchForNSLabelsAboveCell): 77840 * rendering/AutoTableLayout.cpp: 77841 (WebCore::AutoTableLayout::recalcColumn): 77842 (WebCore::AutoTableLayout::fullRecalc): 77843 (WebCore::shouldScaleColumns): 77844 * rendering/FixedTableLayout.cpp: 77845 (WebCore::FixedTableLayout::calcWidthArray): 77846 * rendering/RenderBlock.cpp: 77847 (WebCore::RenderBlock::calcPrefWidths): 77848 * rendering/RenderBox.cpp: 77849 (WebCore::RenderBox::calcPercentageHeight): 77850 * rendering/RenderObject.cpp: 77851 (WebCore::RenderObject::addChild): 77852 (WebCore::RenderObject::containingBlock): 77853 * rendering/RenderTableCell.cpp: 77854 (WebCore::RenderTableCell::collapsedBottomBorder): 77855 * rendering/RenderTableCol.cpp: 77856 (WebCore::RenderTableCol::table): 77857 * rendering/RenderTableRow.cpp: 77858 (WebCore::RenderTableRow::addChild): 77859 (WebCore::RenderTableRow::layout): 77860 (WebCore::RenderTableRow::paint): 77861 * rendering/RenderTableSection.cpp: 77862 (WebCore::RenderTableSection::addChild): 77863 (WebCore::RenderTableSection::layoutRows): 77864 (WebCore::RenderTableSection::lowestPosition): 77865 (WebCore::RenderTableSection::rightmostPosition): 77866 (WebCore::RenderTableSection::leftmostPosition): 77867 (WebCore::RenderTableSection::paintObject): 77868 (WebCore::RenderTableSection::recalcCells): 77869 * rendering/RenderTreeAsText.cpp: 77870 (WebCore::operator<<): 77871 (WebCore::writeTextRun): 77872 Use checked casts. 77873 77874 * rendering/RenderTable.cpp: 77875 (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr. 77876 (WebCore::RenderTable::addChild): Use checked cast. 77877 (WebCore::RenderTable::layout): Ditto. 77878 (WebCore::RenderTable::setCellWidths): Ditto. 77879 (WebCore::RenderTable::paintObject): Ditto. 77880 (WebCore::RenderTable::splitColumn): Ditto. 77881 (WebCore::RenderTable::appendColumn): Ditto. 77882 (WebCore::RenderTable::colElement): Ditto. 77883 (WebCore::RenderTable::recalcSections): Ditto. 77884 (WebCore::RenderTable::outerBorderBottom): Ditto. 77885 (WebCore::RenderTable::outerBorderLeft): Ditto. 77886 (WebCore::RenderTable::outerBorderRight): Ditto. 77887 (WebCore::RenderTable::sectionAbove): Ditto. 77888 (WebCore::RenderTable::sectionBelow): Ditto. 77889 77890 * rendering/RenderTable.h: Added checked cast. Made virtual 77891 functions private. Changed m_tableLayout to be a OwnPtr. 77892 77893 * rendering/RenderTableCell.h: Added checked cast. 77894 * rendering/RenderTableCol.h: Ditto. Made virtual functions private. 77895 * rendering/RenderTableRow.h: Ditto. 77896 * rendering/RenderTableSection.h: Ditto. 77897 77898 2009-07-31 Brady Eidson <beidson (a] apple.com> 77899 77900 Reviewed by John Sullivan. 77901 77902 <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896 77903 Favicons are still loaded when automatic image loading is disabled. 77904 77905 People who want to avoid loading images generally want to avoid loading all images. 77906 77907 Test: http/tests/misc/favicon-loads-with-images-disabled.html 77908 77909 * loader/FrameLoader.cpp: 77910 (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 77911 perform the load if images shouldn't be loading. 77912 77913 2009-07-31 Simon Fraser <simon.fraser (a] apple.com> 77914 77915 Reviewed by Anders Carlsson. 77916 77917 Accelerated animations stutter on pages with lots of animations and 3d transforms 77918 https://bugs.webkit.org/show_bug.cgi?id=27884 77919 77920 This patch changes the strategy for synchronizing painting view the view, 77921 and compositing layer updates. Previously the strategy was to disable screen 77922 updates between the time we updated the layer tree, and painted the view. That 77923 left screen updates disabled for too long (hundreds of milliseconds) in some 77924 cases, causing animation stutter. 77925 77926 The new strategy is to batch up changes to the CA layer tree, and commit them 77927 all at once just before painting happens (referred to as a "sync" in the code). 77928 GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates 77929 the values stored in GraphicsLayer into the CA layer tree at commit time. 77930 77931 Compositing layers are then synced in FrameView::paintContents(). However, not 77932 all style/layout changes will result in painting; to deal with style changes that 77933 touch only compositing properties, we set up a runloop observer that takes care 77934 of comitting layer changes when no painting happens. 77935 77936 * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive() 77937 77938 * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive() 77939 * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive() 77940 77941 * page/FrameView.h: 77942 * page/FrameView.cpp: 77943 (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the 77944 view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not 77945 sync and returns false, since we only want to sync when layout is done. 77946 77947 (WebCore::FrameView::paintContents): syncCompositingState() before painting. 77948 77949 * page/animation/KeyframeAnimation.cpp: 77950 (WebCore::KeyframeAnimation::endAnimation): 77951 Call animationPaused() to notify the graphics layers about animation pausing. 77952 77953 * platform/graphics/FloatPoint3D.h: 77954 (WebCore::operator==): 77955 (WebCore::operator!=): 77956 Add missing comparison operators. 77957 77958 * platform/graphics/GraphicsLayer.cpp: 77959 (WebCore::GraphicsLayer::setOpacity): 77960 (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info. 77961 77962 (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client. 77963 77964 * platform/graphics/GraphicsLayer.h: 77965 (WebCore::AnimationValue:): 77966 (WebCore::TransformAnimationValue:): 77967 (WebCore::KeyframeValueList:): 77968 (WebCore::KeyframeValueList::insert): 77969 Cleaned up versions of FloatValue and TransformValue, used to store information 77970 about keyframes values. 77971 77972 (WebCore::GraphicsLayer::contentsRect): 77973 (WebCore::GraphicsLayer::setContentsRect): 77974 ContentsRect is now a simple setter. 77975 77976 (WebCore::GraphicsLayer::addAnimation): 77977 (WebCore::GraphicsLayer::removeAnimationsForProperty): 77978 (WebCore::GraphicsLayer::removeAnimationsForKeyframes): 77979 (WebCore::GraphicsLayer::pauseAnimation): 77980 Simplified animation api. 77981 77982 (WebCore::GraphicsLayer::setGeometryOrientation): 77983 (WebCore::GraphicsLayer::geometryOrientation): 77984 setGeometryOrientation is now just a normal member variable. 77985 77986 (WebCore::GraphicsLayer::contentsOrientation): add a getter. 77987 (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code. 77988 77989 * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive) 77990 77991 * platform/graphics/mac/GraphicsLayerCA.h: 77992 * platform/graphics/mac/GraphicsLayerCA.mm: 77993 Lots of cleanup and refactoring. Main points: 77994 - Layer changes are all batched, and only committed to the CA layer on syncCompositingState(). 77995 - Bitmask is used to store which properties have changed. More efficient than before. 77996 - Simpler animation interface; simple setters are no longer confounded with animations. 77997 - Refactored code that creates CA animations, and stores which animations are running. 77998 77999 * platform/graphics/transforms/TransformOperations.h: 78000 (WebCore::TransformOperations::size): 78001 (WebCore::TransformOperations::at): Useful accessors for size and indexed access. 78002 78003 * rendering/RenderLayerBacking.h: 78004 * rendering/RenderLayerBacking.cpp: 78005 Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's 78006 contentsLayer. 78007 Adapt to GraphicsLayer's simpler animation API. 78008 Pass animation pausing through to the graphics layers. 78009 contentsBox() is no longer a callback via GraphicsLayerClient. 78010 78011 * rendering/RenderLayerCompositor.h: 78012 * rendering/RenderLayerCompositor.cpp: 78013 (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild): 78014 (WebCore::RenderLayerCompositor::scheduleSync): 78015 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 78016 scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync" 78017 notifications, which travel up to WebKit and set up a runloop observer. 78018 78019 2009-07-30 Jeremy Orlow <jorlow (a] chromium.org> 78020 78021 Reviewed by David Levin. 78022 78023 Guard needs //'s between #endif and ENABLE(DATAGRID) 78024 https://bugs.webkit.org/show_bug.cgi?id=27862 78025 78026 Compiling this file causes a build break without this change. 78027 78028 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 78029 78030 2009-07-31 Greg Bolsinga <bolsinga (a] apple.com> 78031 78032 Reviewed by Eric Seidel. 78033 78034 Geolocation clean up when no longer updating 78035 https://bugs.webkit.org/show_bug.cgi?id=27888 78036 78037 When Geolocation::disconnectFrame() is called, need to call 78038 Document::setUsingGeolocation(false) to mirror the true call 78039 when it is set up. 78040 78041 When handling an error, and there are no more listeners, call 78042 GeolocationService::stopUpdating(). 78043 78044 * page/Geolocation.cpp: 78045 (WebCore::Geolocation::disconnectFrame): 78046 (WebCore::Geolocation::handleError): 78047 78048 2009-07-31 Greg Bolsinga <bolsinga (a] apple.com> 78049 78050 Reviewed by George Staikos. 78051 78052 Consolidate GeoLocation code to send positions and errors 78053 https://bugs.webkit.org/show_bug.cgi?id=27863 78054 78055 Create helper methods that will send positions and errors to either 78056 one shots or watchers. 78057 78058 * page/Geolocation.cpp: 78059 (WebCore::Geolocation::sendError): 78060 (WebCore::Geolocation::sendErrorToOneShots): 78061 (WebCore::Geolocation::sendErrorToWatchers): 78062 (WebCore::Geolocation::sendPosition): 78063 (WebCore::Geolocation::sendPositionToOneShots): 78064 (WebCore::Geolocation::sendPositionToWatchers): 78065 * page/Geolocation.h: 78066 78067 2009-07-31 Xan Lopez <xlopez (a] igalia.com> 78068 78069 Roll out previous change as it might be causing some weirdness in 78070 the bots. 78071 78072 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 78073 (WebCore::BMPImageDecoder::processFileHeader): 78074 78075 2009-07-31 Xan Lopez <xlopez (a] igalia.com> 78076 78077 Reviewed by Mark Rowe. 78078 78079 Fix compiler warning. 78080 https://bugs.webkit.org/show_bug.cgi?id=27851 78081 78082 GCC does not like multi-character character constants, so use the 78083 explicit numerical value of 'BM' in the enum. 78084 78085 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 78086 (WebCore::BMPImageDecoder::processFileHeader): 78087 78088 2009-07-30 Brady Eidson <beidson (a] apple.com> 78089 78090 Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions. 78091 78092 <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868 78093 http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others. 78094 78095 Test: http/tests/misc/meta-refresh-stray-single-quote.html 78096 78097 * platform/network/HTTPParsers.cpp: 78098 (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string. 78099 78100 2009-07-30 Mark Rowe <mrowe (a] apple.com> 78101 78102 Reviewed by Adele Peterson and Jon Honeycutt. 78103 78104 Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac. 78105 Bug 27828: Title attribute is not respected on option elements 78106 78107 No tests added as it is not clear how to test a tool tip from DumpRenderTree. 78108 78109 * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item. 78110 * platform/mac/PopupMenuMac.mm: 78111 (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item. 78112 * rendering/RenderMenuList.cpp: 78113 (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip. 78114 * rendering/RenderMenuList.h: 78115 * rendering/RenderTextControlSingleLine.h: 78116 (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for 78117 the popup menu in RenderTextControlSingleLine. 78118 78119 2009-07-30 Xiaomei Ji <xji (a] chromium.org> 78120 78121 Reviewed by Dan Bernstein. 78122 78123 Remove ChromeClientChromium::setToolTip(). 78124 https://bugs.webkit.org/show_bug.cgi?id=27861 78125 78126 This patch is just to remove a temporarily introduced overloaded empty 78127 virtual function. No test is needed. 78128 78129 * page/chromium/ChromeClientChromium.h: 78130 78131 2009-07-30 Michael Nordman <michaeln (a] google.com> 78132 78133 Reviewed by Darin Fisher. 78134 78135 https://bugs.webkit.org/show_bug.cgi?id=27821 78136 78137 ApplicationCacheHost refactoring. 78138 78139 1) Better encapsulate the interfaces between webcore common code 78140 and the appcache system within a new class ApplicationCacheHost. 78141 78142 2) Use that interface throughout the loader system, replacing inline appcache logic. 78143 78144 3) Implement the interface in terms of webcore's appcache system. 78145 78146 4) Add the new files to various makefiles. 78147 78148 5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp 78149 78150 No new features, no new tests. The existing layout tests all pass. 78151 78152 * GNUmakefile.am: 78153 * WebCore.base.exp: 78154 * WebCore.gypi: 78155 * WebCore.pro: 78156 * WebCore.vcproj/WebCore.vcproj: 78157 * WebCore.xcodeproj/project.pbxproj: 78158 * WebCoreSources.bkl: 78159 * html/HTMLHtmlElement.cpp: 78160 (WebCore::HTMLHtmlElement::insertedIntoDocument): 78161 * loader/DocumentLoader.cpp: 78162 (WebCore::DocumentLoader::DocumentLoader): 78163 (WebCore::DocumentLoader::~DocumentLoader): 78164 (WebCore::DocumentLoader::mainReceivedError): 78165 (WebCore::DocumentLoader::detachFromFrame): 78166 (WebCore::DocumentLoader::setPrimaryLoadComplete): 78167 * loader/DocumentLoader.h: 78168 (WebCore::DocumentLoader::applicationCacheHost): 78169 * loader/FrameLoader.cpp: 78170 (WebCore::FrameLoader::canCachePageContainingThisFrame): 78171 (WebCore::FrameLoader::logCanCacheFrameDecision): 78172 (WebCore::FrameLoader::loadResourceSynchronously): 78173 * loader/MainResourceLoader.cpp: 78174 (WebCore::MainResourceLoader::didReceiveResponse): 78175 (WebCore::MainResourceLoader::didReceiveData): 78176 (WebCore::MainResourceLoader::didFinishLoading): 78177 (WebCore::MainResourceLoader::didFail): 78178 (WebCore::MainResourceLoader::load): 78179 * loader/MainResourceLoader.h: 78180 * loader/ResourceLoader.cpp: 78181 (WebCore::ResourceLoader::load): 78182 (WebCore::ResourceLoader::willSendRequest): 78183 (WebCore::ResourceLoader::didReceiveResponse): 78184 (WebCore::ResourceLoader::didFail): 78185 * loader/ResourceLoader.h: 78186 * loader/appcache/ApplicationCacheGroup.cpp: 78187 (WebCore::ApplicationCacheGroup::selectCache): 78188 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 78189 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 78190 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 78191 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): 78192 (WebCore::ApplicationCacheGroup::update): 78193 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 78194 (WebCore::ApplicationCacheGroup::manifestNotFound): 78195 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 78196 (WebCore::ApplicationCacheGroup::startLoadingEntry): 78197 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): 78198 (WebCore::CallCacheListenerTask::create): 78199 (WebCore::CallCacheListenerTask::performTask): 78200 (WebCore::CallCacheListenerTask::CallCacheListenerTask): 78201 (WebCore::ApplicationCacheGroup::postListenerTask): 78202 * loader/appcache/ApplicationCacheGroup.h: 78203 * loader/appcache/ApplicationCacheHost.cpp: Added. 78204 * loader/appcache/ApplicationCacheHost.h: Added. 78205 * loader/appcache/ApplicationCacheStorage.cpp: 78206 (WebCore::ApplicationCacheStorage::transferApplicationCache): 78207 * loader/appcache/ApplicationCacheStorage.h: 78208 * loader/appcache/DOMApplicationCache.cpp: 78209 (WebCore::DOMApplicationCache::DOMApplicationCache): 78210 (WebCore::DOMApplicationCache::disconnectFrame): 78211 (WebCore::DOMApplicationCache::applicationCacheHost): 78212 (WebCore::DOMApplicationCache::status): 78213 (WebCore::DOMApplicationCache::update): 78214 (WebCore::DOMApplicationCache::swapCache): 78215 (WebCore::DOMApplicationCache::addEventListener): 78216 (WebCore::DOMApplicationCache::removeEventListener): 78217 (WebCore::DOMApplicationCache::dispatchEvent): 78218 (WebCore::DOMApplicationCache::callListener): 78219 (WebCore::DOMApplicationCache::toEventName): 78220 (WebCore::DOMApplicationCache::toEventType): 78221 * loader/appcache/DOMApplicationCache.h: 78222 (WebCore::DOMApplicationCache::): 78223 (WebCore::DOMApplicationCache::setAttributeEventListener): 78224 (WebCore::DOMApplicationCache::getAttributeEventListener): 78225 (WebCore::DOMApplicationCache::clearAttributeEventListener): 78226 (WebCore::DOMApplicationCache::callEventListener): 78227 (WebCore::DOMApplicationCache::setOnchecking): 78228 (WebCore::DOMApplicationCache::onchecking): 78229 (WebCore::DOMApplicationCache::setOnerror): 78230 (WebCore::DOMApplicationCache::onerror): 78231 (WebCore::DOMApplicationCache::setOnnoupdate): 78232 (WebCore::DOMApplicationCache::onnoupdate): 78233 (WebCore::DOMApplicationCache::setOndownloading): 78234 (WebCore::DOMApplicationCache::ondownloading): 78235 (WebCore::DOMApplicationCache::setOnprogress): 78236 (WebCore::DOMApplicationCache::onprogress): 78237 (WebCore::DOMApplicationCache::setOnupdateready): 78238 (WebCore::DOMApplicationCache::onupdateready): 78239 (WebCore::DOMApplicationCache::setOncached): 78240 (WebCore::DOMApplicationCache::oncached): 78241 (WebCore::DOMApplicationCache::setOnobsolete): 78242 (WebCore::DOMApplicationCache::onobsolete): 78243 (WebCore::DOMApplicationCache::~DOMApplicationCache): 78244 * platform/KURLGoogle.cpp: 78245 (WebCore::protocolHostAndPortAreEqual): 78246 78247 2009-07-30 Chris Fleizach <cfleizach (a] apple.com> 78248 78249 Reviewed by Darin Adler. 78250 78251 Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired 78252 https://bugs.webkit.org/show_bug.cgi?id=27854 78253 78254 AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise 78255 they can disappear and then lead to crashes. 78256 78257 * accessibility/AXObjectCache.cpp: 78258 (WebCore::AXObjectCache::notificationPostTimerFired): 78259 (WebCore::AXObjectCache::postNotification): 78260 * accessibility/AXObjectCache.h: 78261 78262 2009-07-30 Simon Fraser <simon.fraser (a] apple.com> 78263 78264 Minor change to earlier commit suggested by Darin Adler. 78265 Use the variable rather than dereferencing 'it' again. 78266 78267 * css/CSSStyleSelector.cpp: 78268 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 78269 78270 2009-07-30 Simon Fraser <simon.fraser (a] apple.com> 78271 78272 Reviewed by Dan Bernstein. 78273 78274 Animation with a timing function property in a keyframe eats CPU 78275 https://bugs.webkit.org/show_bug.cgi?id=27856 78276 <rdar://problem/7104476> Animation demo uses lots of CPU 78277 78278 Don't include animation-timing-function in the list of properties to 78279 animate in a keyframe animation, because this property is not animated; 78280 instead, it describes the timing function to apply to this keyframe. 78281 78282 This prevents the animation code from thinking that there's a property 78283 that it has to software-animate, and thus firing the animation timer frequently. 78284 78285 Not testable because there is no visible impact. 78286 78287 * css/CSSStyleSelector.cpp: 78288 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add 78289 CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate. 78290 78291 * page/animation/KeyframeAnimation.cpp 78292 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment 78293 78294 2009-07-30 Mike Fenton <mike.fenton (a] torchmobile.com> 78295 78296 Reviewed by Adam Treat. 78297 78298 Apply colour style to buttons that use Theme settings in Qt. 78299 78300 https://bugs.webkit.org/show_bug.cgi?id=27814 78301 78302 * platform/qt/RenderThemeQt.cpp: 78303 (WebCore::RenderThemeQt::adjustButtonStyle): 78304 78305 2009-05-11 Geoffrey Garen <ggaren (a] apple.com> 78306 78307 Reviewed by Sam Weinig. 78308 78309 Make WebCore compile with the new JS number representation. 78310 78311 * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added. 78312 * ForwardingHeaders/runtime/JSNumberCell.h: Removed. 78313 * bindings/js/ScriptEventListener.cpp: 78314 * bindings/scripts/CodeGeneratorJS.pm: 78315 * bridge/c/c_instance.cpp: 78316 78317 2009-07-30 Dean McNamee <deanm (a] chromium.org> 78318 78319 Reviewed by Dimitri Glazkov. 78320 78321 Don't try to hash member function pointers, instead use a precomputed value based on the field. 78322 https://bugs.webkit.org/show_bug.cgi?id=27843 78323 78324 * bindings/scripts/CodeGeneratorV8.pm: 78325 * bindings/v8/V8SVGPODTypeWrapper.h: 78326 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo): 78327 (WebCore::PODTypeWrapperCacheInfo::operator==): 78328 (WebCore::PODTypeWrapperCacheInfoHash::hash): 78329 (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 78330 78331 2009-07-30 Xan Lopez <xlopez (a] igalia.com> 78332 78333 Reviewed by Simon Fraser. 78334 78335 Fix compiler warning. 78336 78337 * dom/SelectElement.cpp: 78338 (WebCore::SelectElement::menuListDefaultEventHandler): 78339 78340 2009-07-29 Matt Perry <mpcomplete (a] chromium.org> 78341 78342 Reviewed by Adam Barth. 78343 78344 Add a way to register V8 extensions for Isolated Worlds only. 78345 https://bugs.webkit.org/show_bug.cgi?id=27785 78346 78347 * bindings/v8/ScriptController.cpp: 78348 (WebCore::ScriptController::evaluateInNewWorld): 78349 (WebCore::ScriptController::evaluateInNewContext): 78350 * bindings/v8/ScriptController.h: 78351 * bindings/v8/V8IsolatedWorld.cpp: 78352 (WebCore::V8IsolatedWorld::evaluate): 78353 * bindings/v8/V8IsolatedWorld.h: 78354 * bindings/v8/V8Proxy.cpp: 78355 (WebCore::V8Proxy::evaluateInNewWorld): 78356 (WebCore::V8Proxy::evaluateInNewContext): 78357 (WebCore::V8Proxy::createNewContext): 78358 (WebCore::V8Proxy::initContextIfNeeded): 78359 (WebCore::V8Proxy::registerExtensionWithV8): 78360 (WebCore::V8Proxy::registerExtension): 78361 * bindings/v8/V8Proxy.h: 78362 78363 2009-07-30 Mike Fenton <mike.fenton (a] torchmobile.com> 78364 78365 Reviewed by Adam Treat. 78366 78367 Add previously defined out support to PopupMenuQt for marking entries as 78368 disabled and for selecting the desired item. 78369 78370 https://bugs.webkit.org/show_bug.cgi?id=27772 78371 78372 * platform/qt/PopupMenuQt.cpp: 78373 (WebCore::PopupMenu::populate): 78374 78375 2009-07-30 Darin Adler <darin (a] apple.com> 78376 78377 Reviewed by David Levin. 78378 78379 Use checked casts for render tree 78380 https://bugs.webkit.org/show_bug.cgi?id=23522 78381 78382 Next step: Add new toRenderWidget cast and use it everywhere. 78383 78384 Use checked casts in all the places that were using static_cast 78385 but there is a checked cast available. 78386 78387 * accessibility/AccessibilityRenderObject.cpp: 78388 (WebCore::AccessibilityRenderObject::stringValue): 78389 (WebCore::AccessibilityRenderObject::widget): 78390 (WebCore::AccessibilityRenderObject::widgetForAttachmentView): 78391 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 78392 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 78393 (getPangoLayoutForAtk): 78394 * dom/Document.cpp: 78395 (WebCore::widgetForNode): 78396 (WebCore::Document::setFocusedNode): 78397 * html/HTMLEmbedElement.cpp: 78398 (WebCore::findWidgetRenderer): 78399 * html/HTMLMediaElement.cpp: 78400 (WebCore::HTMLMediaElement::defaultEventHandler): 78401 * html/HTMLObjectElement.cpp: 78402 (WebCore::HTMLObjectElement::renderWidgetForJSBindings): 78403 * html/HTMLPlugInElement.cpp: 78404 (WebCore::HTMLPlugInElement::defaultEventHandler): 78405 * loader/FrameLoader.cpp: 78406 (WebCore::FrameLoader::loadSubframe): 78407 * loader/PluginDocument.cpp: 78408 (WebCore::PluginTokenizer::writeRawData): 78409 * page/EventHandler.cpp: 78410 (WebCore::EventHandler::hitTestResultAtPoint): 78411 (WebCore::subframeForTargetNode): 78412 (WebCore::EventHandler::handleWheelEvent): 78413 * page/Frame.cpp: 78414 (WebCore::isFrameElement): 78415 * page/PrintContext.cpp: 78416 (WebCore::PrintContext::computePageRects): 78417 * page/android/EventHandlerAndroid.cpp: 78418 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78419 * page/chromium/EventHandlerChromium.cpp: 78420 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78421 * page/chromium/FrameChromium.cpp: 78422 (WebCore::computePageRectsForFrame): 78423 * page/gtk/EventHandlerGtk.cpp: 78424 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78425 * page/haiku/EventHandlerHaiku.cpp: 78426 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78427 * page/mac/EventHandlerMac.mm: 78428 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78429 (WebCore::EventHandler::passSubframeEventToSubframe): 78430 * page/win/FrameWin.cpp: 78431 (WebCore::computePageRectsForFrame): 78432 * page/wx/EventHandlerWx.cpp: 78433 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 78434 * platform/chromium/ClipboardChromium.cpp: 78435 (WebCore::getCachedImage): 78436 * platform/chromium/PasteboardChromium.cpp: 78437 (WebCore::Pasteboard::writeImage): 78438 * platform/gtk/PasteboardGtk.cpp: 78439 (WebCore::Pasteboard::writeImage): 78440 * platform/mac/PasteboardMac.mm: 78441 (WebCore::Pasteboard::writeImage): 78442 * platform/qt/ClipboardQt.cpp: 78443 (WebCore::getCachedImage): 78444 * platform/qt/PasteboardQt.cpp: 78445 (WebCore::Pasteboard::writeImage): 78446 * platform/win/ClipboardWin.cpp: 78447 (WebCore::getCachedImage): 78448 * platform/win/PasteboardWin.cpp: 78449 (WebCore::Pasteboard::writeImage): 78450 * rendering/InlineBox.h: 78451 (WebCore::InlineBox::boxModelObject): 78452 * rendering/RenderInline.cpp: 78453 (WebCore::RenderInline::splitInlines): 78454 (WebCore::RenderInline::addChildToContinuation): 78455 * rendering/RenderLayerBacking.cpp: 78456 (WebCore::RenderLayerBacking::updateImageContents): 78457 * rendering/TextControlInnerElements.cpp: 78458 (WebCore::RenderTextControlInnerBlock::positionForPoint): 78459 Use checked cast instead of static_cast. 78460 78461 * rendering/RenderWidget.h: Added toRenderWidget. 78462 78463 2009-07-30 Yong Li <yong.li (a] torchmobile.com> 78464 78465 Reviewed by George Staikos. 78466 78467 WINCE PORT: some files modified to build for WINCE 78468 https://bugs.webkit.org/show_bug.cgi?id=27816 78469 78470 * accessibility/AccessibilityObject.h: 78471 * page/win/EventHandlerWin.cpp: 78472 (WebCore::EventHandler::createDraggingClipboard): 78473 * platform/win/PlatformMouseEventWin.cpp: 78474 (WebCore::messageToEventType): 78475 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 78476 * platform/win/PlatformScreenWin.cpp: 78477 (WebCore::deviceInfoForWidget): 78478 (WebCore::screenIsMonochrome): 78479 * platform/win/PopupMenuWin.cpp: 78480 (WebCore::PopupMenu::show): 78481 (WebCore::PopupMenu::paint): 78482 (WebCore::registerPopup): 78483 (WebCore::PopupWndProc): 78484 78485 2009-07-30 Yong Li <yong.li (a] torchmobile.com> 78486 78487 Reviewed by George Staikos. 78488 78489 WINCE PORT: modified graphics files 78490 https://bugs.webkit.org/show_bug.cgi?id=27779 78491 78492 * platform/graphics/BitmapImage.h: 78493 (WebCore::BitmapImage::mayFillWithSolidColor): 78494 * platform/graphics/Gradient.h: 78495 * platform/graphics/GraphicsContext.cpp: 78496 * platform/graphics/GraphicsContext.h: 78497 * platform/graphics/ImageSource.h: 78498 * platform/graphics/MediaPlayer.cpp: 78499 * platform/graphics/Path.h: 78500 * platform/graphics/Pattern.h: 78501 * platform/graphics/transforms/Matrix3DTransformOperation.cpp: 78502 (WebCore::Matrix3DTransformOperation::blend): 78503 * platform/graphics/transforms/MatrixTransformOperation.cpp: 78504 (WebCore::MatrixTransformOperation::blend): 78505 * platform/graphics/transforms/TransformationMatrix.h: 78506 (WebCore::TransformationMatrix::operator*): 78507 * platform/graphics/win/IconWin.cpp: 78508 (WebCore::Icon::createIconForFile): 78509 (WebCore::Icon::createIconForFiles): 78510 (WebCore::Icon::paint): 78511 78512 2009-07-30 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 78513 78514 Reviewed by Ariya Hidayat. 78515 78516 Improve efficiency by rewriting code doing three hash table 78517 lookups, which can be replaced by just one as pointed out 78518 by Darin Adler. 78519 78520 Though being slightly less clear, this should be considerable 78521 faster. 78522 78523 * plugins/PluginDatabase.cpp: 78524 (WebCore::PluginDatabase::remove): 78525 78526 2009-07-30 Antonio Gomes <antonio.gomes (a] openbossa.org> 78527 78528 Reviewed by Gustavo Noronha. 78529 78530 [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2) 78531 https://bugs.webkit.org/show_bug.cgi?id=27651 78532 78533 Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead. 78534 78535 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 78536 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 78537 78538 2009-07-30 Antonio Gomes <antonio.gomes (a] openbossa.org> 78539 78540 Reviewed by Gustavo Noronha. 78541 78542 [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1) 78543 https://bugs.webkit.org/show_bug.cgi?id=27651 78544 78545 Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py 78546 No functionality change at all. 78547 78548 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 78549 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 78550 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 78551 * platform/graphics/gtk/VideoSinkGStreamer.h: 78552 78553 2009-07-30 Jakub Wieczorek <faw217 (a] gmail.com> 78554 78555 Reviewed by Simon Hausmann. 78556 78557 Allow to explicitly choose a preferred plugin for a mimetype. 78558 78559 https://bugs.webkit.org/show_bug.cgi?id=27651 78560 78561 When the preferred plugin is set for a specific MIME type, it will be 78562 always picked up, regardless of its version, quirks etc. 78563 78564 Client applications may want to use that API to resolve mimetype 78565 ambiguity in a custom way, rather than in the default way that is 78566 currently used in WebKit. 78567 78568 * plugins/PluginDatabase.cpp: 78569 (WebCore::PluginDatabase::pluginForMIMEType): 78570 (WebCore::PluginDatabase::MIMETypeForExtension): 78571 (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added. 78572 (WebCore::PluginDatabase::remove): 78573 (WebCore::PluginDatabase::clear): 78574 * plugins/PluginDatabase.h: 78575 78576 2009-07-30 Jakub Wieczorek <faw217 (a] gmail.com> 78577 78578 [Qt] Fix build with Qt 4.4 after r46535. 78579 78580 * platform/network/qt/ResourceHandleQt.cpp: 78581 78582 2009-07-30 Eric Carlson <eric.carlson (a] apple.com> 78583 78584 Reviewed by Simon Fraser. 78585 78586 Video elements fires another "load" event when attached to DOM 78587 https://bugs.webkit.org/show_bug.cgi?id=27623 78588 78589 Test: media/media-load-event.html 78590 78591 * html/HTMLMediaElement.cpp: 78592 (WebCore::HTMLMediaElement::insertedIntoDocument): 78593 Only schedule load when element's network state is NETWORK_EMPTY. 78594 78595 2009-07-30 Anton Muhin <antonm (a] chromium.org> 78596 78597 Reviewed by David Levin. 78598 78599 Cache v8 strings when converting from WebCore::String to v8 string. 78600 https://bugs.webkit.org/show_bug.cgi?id=27655 78601 78602 * bindings/v8/V8Binding.cpp: 78603 (WebCore::v8String): now just immediately calls v8ExternalString 78604 (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to 78605 v8::String 78606 (WebCore::makeExternalString): utilty function to create external v8::String out of 78607 WebCore::String 78608 (WebCore::getStringCache): static function to access string cache 78609 (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the 78610 cache 78611 (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for 78612 the given WebCore::StringImpl. If present, returns it, otherwise creates a new v8 external 78613 string. 78614 * bindings/v8/V8Binding.h: 78615 78616 2009-07-30 Xan Lopez <xlopez (a] igalia.com> 78617 78618 Reviewed by Maciej Stachowiak. 78619 78620 https://bugs.webkit.org/show_bug.cgi?id=25535 78621 [GTK] object:state-changed:checked events missing for radio buttons and checkboxes 78622 78623 Implement state-changed:checked for radio buttons and checkboxes. 78624 78625 * accessibility/gtk/AXObjectCacheAtk.cpp: 78626 (WebCore::AXObjectCache::postPlatformNotification): 78627 * html/HTMLInputElement.cpp: 78628 (WebCore::HTMLInputElement::setChecked): 78629 78630 2009-07-30 Xan Lopez <xlopez (a] igalia.com> 78631 78632 Forgot the 'break'. 78633 78634 * platform/ContextMenu.cpp: 78635 (WebCore::ContextMenu::checkOrEnableIfNeeded): 78636 78637 2009-07-30 Xan Lopez <xlopez (a] igalia.com> 78638 78639 Try to fix Mac build. 78640 78641 * platform/ContextMenu.cpp: 78642 (WebCore::ContextMenu::checkOrEnableIfNeeded): 78643 78644 2009-07-29 Xan Lopez <xlopez (a] igalia.com> 78645 78646 Reviewed by Adam Barth. 78647 78648 Add missing enumeration value to switch. 78649 78650 * platform/ContextMenu.cpp: 78651 (WebCore::ContextMenu::checkOrEnableIfNeeded): 78652 78653 2009-07-29 Jian Li <jianli (a] chromium.org> 78654 78655 Reviewed by Darin Adler. 78656 78657 Workers need to throw an exception when presented with invalid URLs. 78658 https://bugs.webkit.org/show_bug.cgi?id=27770 78659 78660 Tests covered by worker-constructor.html and worker-redirect.html. 78661 78662 * bindings/js/JSWorkerConstructor.cpp: 78663 (WebCore::constructWorker): 78664 * bindings/v8/custom/V8WorkerCustom.cpp: 78665 (WebCore::CALLBACK_FUNC_DECL): 78666 * workers/Worker.cpp: 78667 (WebCore::Worker::Worker): 78668 * workers/Worker.h: 78669 (WebCore::Worker::create): 78670 * workers/WorkerContext.cpp: 78671 (WebCore::WorkerContext::importScripts): 78672 * workers/WorkerScriptLoader.cpp: 78673 (WebCore::WorkerScriptLoader::loadSynchronously): 78674 (WebCore::WorkerScriptLoader::loadAsynchronously): 78675 (WebCore::WorkerScriptLoader::createResourceRequest): 78676 * workers/WorkerScriptLoader.h: 78677 78678 2009-07-29 Brady Eidson <beidson (a] apple.com> 78679 78680 Reviewed by Darin Adler. 78681 78682 (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts 78683 https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659> 78684 78685 * loader/loader.cpp: 78686 (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 78687 only limiting connections while parsing and still trying to figure out stylesheet urls. 78688 78689 2009-07-29 Yong Li <yong.li (a] torchmobile.com> 78690 78691 Reviewed by George Staikos. 78692 78693 WINCE PORT: Add WebCore/page/wince/FrameWince.cpp 78694 https://bugs.webkit.org/show_bug.cgi?id=27729 78695 78696 * page/wince/FrameWince.cpp: Added. 78697 78698 2009-07-29 Ryosuke Niwa <rniwa (a] webkit.org> 78699 78700 Reviewed by Justin Garcia. 78701 78702 REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails 78703 https://bugs.webkit.org/show_bug.cgi?id=27809 78704 78705 The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle. 78706 To determine that a particular text decoration is present, currentlyHasStyle should refer to 78707 -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS. 78708 We also need to update layout to accommodate the changes made within ApplyStyleCommand. 78709 78710 * editing/ApplyStyleCommand.cpp: ditto 78711 (WebCore::StyleChange::currentlyHasStyle): ditto 78712 78713 2009-07-29 Yong Li <yong.li (a] torchmobile.com> 78714 78715 Reviewed by George Staikos. 78716 78717 WINCE PORT: changes to platform/text files 78718 https://bugs.webkit.org/show_bug.cgi?id=27715 78719 78720 * platform/text/String.cpp: 78721 (WebCore::String::format): 78722 * platform/text/TextEncoding.cpp: 78723 (WebCore::TextEncoding::encode): 78724 * platform/text/TextEncodingRegistry.cpp: 78725 (WebCore::buildBaseTextCodecMaps): 78726 (WebCore::extendTextCodecMaps): 78727 78728 2009-07-29 Yong Li <yong.li (a] torchmobile.com> 78729 78730 Reviewed by Adam Roben. 78731 78732 FIX: HDC leaks in PopupMenuWin.cpp 78733 https://bugs.webkit.org/show_bug.cgi?id=27817 78734 78735 * platform/win/PopupMenuWin.cpp: 78736 (WebCore::PopupMenu::~PopupMenu): 78737 (WebCore::PopupMenu::paint): 78738 78739 2009-07-29 Darin Adler <darin (a] apple.com> 78740 78741 Reviewed by Dan Bernstein. 78742 78743 Illegal values for <ol start> cause list numbering start at 0 (should start at 1) 78744 https://bugs.webkit.org/show_bug.cgi?id=27810 78745 78746 Test: fast/lists/ol-start-parsing.html 78747 78748 * html/HTMLOListElement.cpp: 78749 (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt 78750 and use the value 1 if it failed to parse. Before we were getting toInt's default 78751 behavior, which is to return 0. 78752 78753 2009-07-29 Kevin McCullough <kmccullough (a] apple.com> 78754 78755 Reviewed by Darin Adler. 78756 78757 Added foundation work to allow a testing infrastructure for the Web 78758 Inspector. 78759 78760 * inspector/InspectorClient.h: 78761 * inspector/InspectorController.cpp: 78762 (WebCore::InspectorController::scriptObjectReady): Tell the testing 78763 harness that the window object is ready. 78764 * loader/EmptyClients.h: Empty class support for SVG. 78765 (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared): 78766 78767 2009-07-29 Chris Fleizach <cfleizach (a] apple.com> 78768 78769 Build fix for windows after landing 78770 Bug 27807 - AX: move re-usable code into more common areas for other platforms 78771 78772 Apparently bzero doesn't exist on windows. 78773 78774 * accessibility/AXObjectCache.cpp: 78775 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 78776 78777 2009-07-29 Chris Fleizach <cfleizach (a] apple.com> 78778 78779 Reviewed by Justin Garcia. 78780 78781 Bug 27807 - AX: move re-usable code into more common areas for other platforms 78782 https://bugs.webkit.org/show_bug.cgi?id=27807 78783 78784 Moves some accessibility code that was in the Mac file to a more common place so 78785 it can be used by other platforms. 78786 This includes: 78787 Making TextMarkerData from a VisiblePosition. 78788 Making a VisiblePosition from TextMarkerData. 78789 Finding the anchor accessibility object for an arbitrary Node. 78790 78791 * accessibility/AXObjectCache.cpp: 78792 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 78793 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 78794 * accessibility/AXObjectCache.h: 78795 * accessibility/AccessibilityObject.cpp: 78796 (WebCore::AccessibilityObject::anchorElementForNode): 78797 * accessibility/AccessibilityObject.h: 78798 (WebCore::AccessibilityObject::visiblePositionForIndex): 78799 * accessibility/mac/AccessibilityObjectWrapper.mm: 78800 (textMarkerForVisiblePosition): 78801 (visiblePositionForTextMarker): 78802 (AXAttributedStringAppendText): 78803 78804 2009-07-29 Dan Bernstein <mitz (a] apple.com> 78805 78806 Reviewed by Simon Fraser. 78807 78808 Inset box shadows are incorrectly accounted for in visual overflow 78809 computations 78810 https://bugs.webkit.org/show_bug.cgi?id=27811 78811 78812 * rendering/InlineFlowBox.cpp: 78813 (WebCore::InlineFlowBox::placeBoxesHorizontally): Use 78814 getBoxShadowHorizontalExtent(). 78815 (WebCore::InlineFlowBox::placeBoxesVertically): Use 78816 getBoxShadowVerticalExtent(). Removed duplicate code to get the 78817 text-shadow overflow. 78818 (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent(). 78819 * rendering/RenderBlock.cpp: 78820 (WebCore::RenderBlock::overflowHeight): Use 78821 getBoxShadowVerticalExtent(). 78822 (WebCore::RenderBlock::overflowWidth): Use 78823 getBoxShadowHorizontalExtent(). 78824 (WebCore::RenderBlock::overflowLeft): Ditto. 78825 (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent(). 78826 (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent(). 78827 (WebCore::RenderBlock::layoutBlock): Ditto. 78828 * rendering/RenderFlexibleBox.cpp: 78829 (WebCore::RenderFlexibleBox::layoutBlock): Ditto. 78830 * rendering/RenderLayer.cpp: 78831 (WebCore::RenderLayer::calculateRects): Exclude inset shadows. 78832 * rendering/RenderObject.cpp: 78833 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use 78834 getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent(). 78835 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset 78836 shadows. 78837 * rendering/RenderReplaced.cpp: 78838 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. 78839 * rendering/style/RenderStyle.cpp: 78840 (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are 78841 not inset. 78842 (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset 78843 shadows. 78844 (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto. 78845 (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto. 78846 * rendering/style/RenderStyle.h: 78847 78848 2009-07-29 Simon Fraser <simon.fraser (a] apple.com> 78849 78850 Reviewed by Dan Bernstein. 78851 78852 Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform) 78853 https://bugs.webkit.org/show_bug.cgi?id=27796 78854 78855 Avoid repainting when a layer becomes composited if the renderer is not parented 78856 yet, because it makes no sense to do so. 78857 78858 If the table row is a repaint container, default to the RenderBox implementation 78859 of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect 78860 computation to something that is above the repaint container. 78861 78862 Test: fast/table/table-row-compositing-repaint-crash.html 78863 78864 * rendering/RenderLayerCompositor.cpp: 78865 (WebCore::RenderLayerCompositor::repaintOnCompositingChange): 78866 * rendering/RenderTableRow.cpp: 78867 (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 78868 78869 2009-07-29 Brady Eidson <beidson (a] apple.com> 78870 78871 Reviewed by Sam Weinig. 78872 78873 https://bugs.webkit.org/show_bug.cgi?id=27791 78874 307 redirects of POSTs should use POST, not GET 78875 78876 Test: http/tests/loading/redirect-methods.html 78877 78878 * platform/network/cf/ResourceHandleCFNet.cpp: 78879 (WebCore::willSendRequest): 78880 78881 * platform/network/mac/ResourceHandleMac.mm: 78882 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 78883 78884 2009-07-29 Chris Marrin <cmarrin (a] apple.com> 78885 78886 Reviewed by Simon Fraser. 78887 78888 Adding -webkit-animation-play-state back in 78889 https://bugs.webkit.org/show_bug.cgi?id=26867 78890 78891 We've decided to keep -webkit-animation-play-state. So this 78892 just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907. 78893 78894 Test: animations/play-state.html 78895 78896 * css/CSSComputedStyleDeclaration.cpp: 78897 (WebCore::): 78898 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 78899 * css/CSSParser.cpp: 78900 (WebCore::CSSParser::parseValue): 78901 (WebCore::CSSParser::parseAnimationPlayState): 78902 (WebCore::CSSParser::parseAnimationProperty): 78903 * css/CSSParser.h: 78904 * css/CSSPropertyNames.in: 78905 * css/CSSStyleSelector.cpp: 78906 (WebCore::CSSStyleSelector::applyProperty): 78907 (WebCore::CSSStyleSelector::mapAnimationPlayState): 78908 * css/CSSStyleSelector.h: 78909 * platform/animation/Animation.h: 78910 * rendering/style/RenderStyleConstants.h: 78911 (WebCore::): 78912 78913 2009-07-29 Jakub Wieczorek <faw217 (a] gmail.com> 78914 78915 Reviewed by Simon Hausmann. 78916 78917 Expose the default plugin directories and the current directory set of 78918 the plugin database as public API. 78919 78920 https://bugs.webkit.org/show_bug.cgi?id=27651 78921 78922 * plugins/PluginDatabase.h: 78923 (WebCore::PluginDatabase::pluginDirectories): 78924 78925 2009-07-29 Alpha Lam <hclam (a] chromium.org> 78926 78927 Reviewed by David Levin. 78928 78929 [chromium] Font size for current time display in media controls panel 78930 is affected by body font size. 78931 https://bugs.webkit.org/show_bug.cgi?id=27799 78932 78933 Fixing the problem of rendering by explicitly setting the font size 78934 for the time displays. 78935 78936 No new tests since this is covered by existing media tests. 78937 78938 * css/mediaControlsChromium.css: 78939 78940 2009-07-29 Mike Fenton <mike.fenton (a] torchmobile.com> 78941 78942 Reviewed by David Levin. 78943 78944 Update WebCore/page/ContextMenuController.cpp to conform to WebKit 78945 Style Guidelines as identified by cpp_style.py. 78946 https://bugs.webkit.org/show_bug.cgi?id=27613 78947 78948 * page/ContextMenuController.cpp: 78949 (WebCore::openNewWindow): 78950 (WebCore::ContextMenuController::contextMenuItemSelected): 78951 78952 2009-07-29 Dean McNamee <deanm (a] chromium.org> 78953 78954 Reviewed by Dimitri Glazkov. 78955 78956 Removed unused wrapCPointer/extractCPointer from the v8 bindings. 78957 https://bugs.webkit.org/show_bug.cgi?id=27805 78958 78959 * bindings/v8/V8DOMWrapper.h: 78960 78961 2009-07-29 Jakub Wieczorek <faw217 (a] gmail.com> 78962 78963 Reviewed by Simon Hausmann. 78964 78965 Expose the PluginDatabase::pluginForMIMEType() function as public API. 78966 https://bugs.webkit.org/show_bug.cgi?id=27651 78967 78968 It can be used to determine the appropriate plugin for a mime type, 78969 without guessing the mimetype from the extension. 78970 78971 * plugins/PluginDatabase.h: 78972 78973 2009-07-29 Jakub Wieczorek <faw217 (a] gmail.com> 78974 78975 Reviewed by Adam Treat. 78976 78977 Allow to enable/disable particular plugin packages. 78978 https://bugs.webkit.org/show_bug.cgi?id=27651 78979 78980 Disabled plugins will not be picked up when looking for a plugin 78981 supporting the requested mimetypes. 78982 78983 Client applications may want to use that API to disable specific 78984 plugins. 78985 78986 * plugins/PluginDatabase.cpp: 78987 (WebCore::PluginDatabase::pluginForMIMEType): 78988 (WebCore::PluginDatabase::MIMETypeForExtension): 78989 * plugins/PluginPackage.cpp: 78990 (WebCore::PluginPackage::PluginPackage): 78991 (WebCore::PluginPackage::setEnabled): 78992 * plugins/PluginPackage.h: 78993 (WebCore::PluginPackage::isEnabled): 78994 78995 2009-07-29 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 78996 78997 Reviewed by Adam Treat. 78998 78999 [WML] Running WML tests in random order multiple times exposes subtle bugs 79000 https://bugs.webkit.org/show_bug.cgi?id=27801 79001 79002 Remove superflous assertions regarding the parent node. Under certain circumstances 79003 these can even fire (related to garbage collection while destructing). Fixes random order 79004 WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random) 79005 79006 The wml/enter-first-card-with-events.html test relied on a bug in our implementation of 79007 WMLPageState::reset() - the history stack should still contain the current card afterwards. 79008 Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory(). 79009 79010 * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec. 79011 (WebCore::BackForwardList::clearWMLPageHistory): 79012 * wml/WMLDoElement.cpp: 79013 (WebCore::WMLDoElement::insertedIntoDocument): 79014 (WebCore::WMLDoElement::removedFromDocument): 79015 * wml/WMLNoopElement.cpp: 79016 (WebCore::WMLNoopElement::insertedIntoDocument): 79017 * wml/WMLOnEventElement.cpp: 79018 (WebCore::eventHandlingParent): 79019 * wml/WMLPostfieldElement.cpp: 79020 (WebCore::WMLPostfieldElement::insertedIntoDocument): 79021 (WebCore::WMLPostfieldElement::removedFromDocument): 79022 * wml/WMLSetvarElement.cpp: 79023 (WebCore::WMLSetvarElement::insertedIntoDocument): 79024 (WebCore::WMLSetvarElement::removedFromDocument): 79025 * wml/WMLTaskElement.cpp: 79026 (WebCore::WMLTaskElement::insertedIntoDocument): 79027 (WebCore::WMLTaskElement::removedFromDocument): 79028 * wml/WMLTimerElement.cpp: 79029 (WebCore::WMLTimerElement::insertedIntoDocument): 79030 (WebCore::WMLTimerElement::removedFromDocument): 79031 79032 2009-07-29 Yongjun Zhang <yongjun.zhang (a] nokia.com> 79033 79034 Reviewed by Simon Hausmann. 79035 79036 https://bugs.webkit.org/show_bug.cgi?id=26848 79037 [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit. 79038 79039 * loader/FrameLoader.cpp: 79040 (WebCore::FrameLoader::loadItem): 79041 * platform/network/ResourceHandle.h: 79042 * platform/network/cf/ResourceHandleCFNet.cpp: 79043 (WebCore::ResourceHandle::willLoadFromCache): 79044 * platform/network/curl/ResourceHandleCurl.cpp: 79045 (WebCore::ResourceHandle::willLoadFromCache): 79046 * platform/network/mac/ResourceHandleMac.mm: 79047 (WebCore::ResourceHandle::willLoadFromCache): 79048 * platform/network/qt/ResourceHandleQt.cpp: 79049 (WebCore::ResourceHandle::willLoadFromCache): 79050 * platform/network/soup/ResourceHandleSoup.cpp: 79051 (WebCore::): 79052 79053 2009-07-29 Alpha Lam <hclam (a] chromium.org> 79054 79055 Reviewed by David Levin. 79056 79057 Media control panel for <video> in MediaDocument is mis-placed 79058 https://bugs.webkit.org/show_bug.cgi?id=27798 79059 79060 Fixing a rendering problem: When <video> is displayed in MediaDocument, 79061 the media control panel overlaps with the video by 16 pixels. 79062 79063 No new tests as this is covered by existing media tests. 79064 79065 * css/mediaControlsChromium.css: 79066 79067 2009-07-29 Adam Barth <abarth (a] webkit.org> 79068 79069 Unreviewed build fix for Chromium. Those last two patches weren't 79070 independent despite the clean merge. 79071 79072 * bindings/v8/V8AbstractEventListener.cpp: 79073 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 79074 79075 2009-07-29 Avi Drissman <avi (a] chromium.org> 79076 79077 Reviewed by Darin Adler. 79078 79079 ImageSourceCG makes bad data refs (race condition causes blank images) 79080 https://bugs.webkit.org/show_bug.cgi?id=27777 79081 79082 Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that 79083 backs the CFDataRef will be long enough. 79084 79085 No new tests, as this fixes a bug with a race condition that is 79086 difficult to trigger. 79087 79088 * platform/graphics/cg/ImageSourceCG.cpp: 79089 (WebCore::ImageSource::setData): 79090 79091 2009-07-29 Keishi Hattori <casey.hattori (a] gmail.com> 79092 79093 Reviewed by Timothy Hatcher. 79094 79095 Inspector: Console should show completions for the command line APIs 79096 https://bugs.webkit.org/show_bug.cgi?id=27696 79097 79098 * inspector/front-end/Console.js: 79099 (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 79100 completions when available. 79101 * inspector/front-end/utilities.js: 79102 (Object.properties): Added. 79103 (Object.sortedProperties): 79104 79105 2009-07-29 Shinichiro Hamaji <hamaji (a] chromium.org> 79106 79107 Reviewed by Eric Seidel. 79108 79109 Refactor the first step of layout in RenderFlexibleBox.cpp 79110 https://bugs.webkit.org/show_bug.cgi?id=27704 79111 79112 No new tests as this change is just a refactoring. 79113 79114 * rendering/RenderFlexibleBox.cpp: 79115 (WebCore::gatherFlexChildrenInfo): 79116 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 79117 (WebCore::RenderFlexibleBox::layoutVerticalBox): 79118 79119 2009-07-29 Kent Tamura <tkent (a] chromium.org> 79120 79121 Reviewed by Nikolas Zimmermann. 79122 79123 Fix a bug that HTMLOptionElement::value() returns an incorrect 79124 value in a case that the element has a label attribute and no 79125 value attribute. 79126 https://bugs.webkit.org/show_bug.cgi?id=27760 79127 79128 Test: fast/forms/option-value-and-label.html 79129 79130 * dom/OptionElement.cpp: 79131 (WebCore::OptionElement::collectOptionLabelOrText): 79132 (WebCore::OptionElement::collectOptionInnerText): 79133 (WebCore::OptionElement::normalizeText): 79134 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel): 79135 (WebCore::OptionElement::collectOptionValue): 79136 * dom/OptionElement.h: 79137 * html/HTMLOptionElement.cpp: 79138 (WebCore::HTMLOptionElement::text): 79139 * wml/WMLOptionElement.cpp: 79140 (WebCore::WMLOptionElement::text): 79141 79142 2009-07-29 Adam Barth <abarth (a] webkit.org> 79143 79144 Reviewed by Dimitri Glazkov. 79145 79146 [V8] Fix isolated world wrappers for event handlers 79147 https://bugs.webkit.org/show_bug.cgi?id=27533 79148 79149 Instead of getting the context from the frame, we cache the context 79150 when the listener is created so that we get the context for the right 79151 world. 79152 79153 Test: http/tests/security/isolatedWorld/click-event.html 79154 79155 * WebCore.gypi: 79156 * bindings/v8/OwnHandle.h: Added. 79157 (WebCore::OwnHandle::OwnHandle): 79158 (WebCore::OwnHandle::~OwnHandle): 79159 (WebCore::OwnHandle::get): 79160 (WebCore::OwnHandle::set): 79161 (WebCore::OwnHandle::release): 79162 (WebCore::OwnHandle::adopt): 79163 (WebCore::OwnHandle::swap): 79164 (WebCore::OwnHandle::clear): 79165 (WebCore::OwnHandle::makeWeak): 79166 (WebCore::OwnHandle::weakCallback): 79167 * bindings/v8/V8AbstractEventListener.cpp: 79168 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 79169 (WebCore::V8AbstractEventListener::handleEvent): 79170 * bindings/v8/V8AbstractEventListener.h: 79171 * bindings/v8/V8DOMWrapper.h: 79172 79173 2009-07-29 Adam Barth <abarth (a] webkit.org> 79174 79175 Reviewed by Dimitri Glazkov. 79176 79177 [V8] Teach V8Proxy::context about isolated worlds 79178 https://bugs.webkit.org/show_bug.cgi?id=27701 79179 79180 Change V8Proxy::context(Frame*) to understand isolated worlds. Audit 79181 all callers of this method to make sure they want isolated worlds. In 79182 cases where we really want the main world, I've changed the call to 79183 V8Proxy::mainWorldContext(Frame*). 79184 79185 The main visible change is to the document.open method when called with 79186 more than two arguments. This design seems more likely to lead to 79187 future correct code. 79188 79189 Test: http/tests/security/isolatedWorld/document-open.html 79190 79191 * bindings/v8/ScriptController.cpp: 79192 (WebCore::ScriptController::processingUserGesture): 79193 (WebCore::ScriptController::evaluate): 79194 (WebCore::ScriptController::bindToWindowObject): 79195 (WebCore::ScriptController::collectGarbage): 79196 (WebCore::createScriptObject): 79197 (WebCore::ScriptController::createScriptObjectForPluginElement): 79198 * bindings/v8/ScriptObjectQuarantine.cpp: 79199 (WebCore::getQuarantinedScriptObject): 79200 * bindings/v8/V8AbstractEventListener.cpp: 79201 (WebCore::V8AbstractEventListener::handleEvent): 79202 * bindings/v8/V8DOMWrapper.cpp: 79203 (WebCore::V8DOMWrapper::getConstructor): 79204 (WebCore::V8DOMWrapper::setHiddenWindowReference): 79205 (WebCore::V8DOMWrapper::convertNodeToV8Object): 79206 (WebCore::V8DOMWrapper::convertWindowToV8Object): 79207 * bindings/v8/V8Helpers.cpp: 79208 (WebCore::toV8Context): 79209 * bindings/v8/V8LazyEventListener.cpp: 79210 (WebCore::V8LazyEventListener::getListenerFunction): 79211 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 79212 * bindings/v8/V8Proxy.cpp: 79213 (WebCore::V8Proxy::context): 79214 (WebCore::V8Proxy::mainWorldContext): 79215 (WebCore::V8Proxy::bindJsObjectToWindow): 79216 * bindings/v8/V8Proxy.h: 79217 79218 2009-07-29 Balazs Kelemen <kelemen.balazs.3 (a] stud.u-szeged.hu> 79219 79220 Reviewed by Simon Hausmann. 79221 79222 Fix the Qt build, add missing file. 79223 79224 * WebCore.pro: 79225 79226 2009-07-28 Jon Honeycutt <jhoneycutt (a] apple.com> 79227 79228 Speculative fix for <rdar://problem/7005077> WER: Crash in 79229 WebCore::PluginStream::destroyStream+279 (1310510882) 79230 79231 Reviewed by Oliver Hunt. 79232 79233 * plugins/PluginStream.cpp: 79234 (WebCore::PluginStream::destroyStream): 79235 Move the "protector" RefPtr out of the block that dispatches 79236 notifications and into the function level; if NPN_DestroyStream were 79237 called from NPP_NewStream as the comment warns, we would be deleted at 79238 the end of the block. 79239 79240 2009-07-28 Joseph Pecoraro <joepeck02 (a] gmail.com> 79241 79242 Inspector: Tab Through the DOM Storage DataGrid when Editing 79243 79244 https://bugs.webkit.org/show_bug.cgi?id=27746 79245 79246 Reviewed by Timothy Hatcher. 79247 79248 * inspector/front-end/DOMStorageDataGrid.js: 79249 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column 79250 (WebInspector.DOMStorageDataGrid.prototype._startEditing): 79251 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit 79252 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately 79253 79254 2009-07-28 Joseph Pecoraro <joepeck02 (a] gmail.com> 79255 79256 Inspector: Create New DOM Storage Items via DataGrid 79257 79258 https://bugs.webkit.org/show_bug.cgi?id=27322 79259 79260 Reviewed by Timothy Hatcher. 79261 79262 * inspector/front-end/DOMStorageDataGrid.js: 79263 (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode 79264 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals 79265 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case 79266 * inspector/front-end/DataGrid.js: 79267 (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode 79268 (WebInspector.CreationDataGridNode): new type of node 79269 (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node 79270 * inspector/front-end/DatabasesPanel.js: 79271 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData 79272 79273 2009-07-28 Joseph Pecoraro <joepeck02 (a] gmail.com> 79274 79275 Inspector: Automatically Refresh DOM Storage Grids on "storage" event 79276 79277 https://bugs.webkit.org/show_bug.cgi?id=27400 79278 79279 Reviewed by Timothy Hatcher. 79280 79281 * inspector/front-end/DatabasesPanel.js: 79282 (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener 79283 (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener 79284 (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window 79285 (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window 79286 (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event 79287 79288 2009-07-28 Keishi Hattori <casey.hattori (a] gmail.com> 79289 79290 Inspector should support inspect() in the command line. 79291 79292 https://bugs.webkit.org/show_bug.cgi?id=19874 79293 rdar://problem/6070225 79294 79295 Reviewed by Timothy Hatcher. 79296 79297 * inspector/front-end/Console.js: 79298 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject): 79299 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 79300 * inspector/front-end/DatabasesPanel.js: 79301 (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added. 79302 (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added. 79303 (WebInspector.DatabasesPanel.prototype.showDatabase): 79304 79305 2009-07-28 Keishi Hattori <casey.hattori (a] gmail.com> 79306 79307 The rest of: Web Inspector: Add inspected node using public console API. 79308 79309 https://bugs.webkit.org/show_bug.cgi?id=27758 79310 79311 Reviewed by Timothy Hatcher. 79312 79313 * inspector/front-end/Console.js: 79314 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode. 79315 (WebInspector.Console.prototype.addInspectedNode): Added. 79316 79317 2009-07-28 Pavel Feldman <pfeldman (a] chromium.org> 79318 79319 Reviewed by Timothy Hatcher. 79320 79321 WebInspector: Accept autocomplete on 'End' key pressed. 79322 79323 https://bugs.webkit.org/show_bug.cgi?id=27447. 79324 79325 * inspector/front-end/TextPrompt.js: 79326 (WebInspector.TextPrompt.prototype.handleKeyEvent): 79327 79328 2009-07-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 79329 79330 Reviewed by David Levin. 79331 79332 [Qt] Build fix after r46502 79333 https://bugs.webkit.org/show_bug.cgi?id=27789 79334 79335 * WebCore.pro: Remove StorageArea.cpp 79336 79337 2009-07-28 Mark Rowe <mrowe (a] apple.com> 79338 79339 Reviewed by Darin Adler. 79340 79341 Follow-on fix to r35582. Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread 79342 in -dealloc overrides in DOMObject subclasses. 79343 79344 * bindings/scripts/CodeGeneratorObjC.pm: 79345 79346 2009-07-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 79347 79348 Reviewed by Adam Treat. 79349 79350 [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument() 79351 https://bugs.webkit.org/show_bug.cgi?id=27786 79352 79353 WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument(). 79354 The only case where this is relevant in WML is error handling. The parsed WML 79355 tree fragment is inserted in an XHTML compound error document. This requires 79356 removedFromDocument() to be correctly implemented otherwhise we run into 79357 trouble (visible when using run-webkit-tests fast/wml --random). 79358 79359 * wml/WMLAnchorElement.cpp: 79360 (WebCore::WMLAnchorElement::registerTask): 79361 (WebCore::WMLAnchorElement::deregisterTask): 79362 * wml/WMLAnchorElement.h: 79363 * wml/WMLDoElement.cpp: 79364 (WebCore::WMLDoElement::removedFromDocument): 79365 (WebCore::WMLDoElement::registerTask): 79366 (WebCore::WMLDoElement::deregisterTask): 79367 * wml/WMLDoElement.h: 79368 * wml/WMLEventHandlingElement.cpp: 79369 (WebCore::WMLEventHandlingElement::registerDoElement): 79370 (WebCore::WMLEventHandlingElement::deregisterDoElement): 79371 * wml/WMLEventHandlingElement.h: 79372 * wml/WMLFieldSetElement.cpp: 79373 (WebCore::WMLFieldSetElement::removedFromDocument): 79374 * wml/WMLGoElement.cpp: 79375 (WebCore::WMLGoElement::registerPostfieldElement): 79376 (WebCore::WMLGoElement::deregisterPostfieldElement): 79377 * wml/WMLGoElement.h: 79378 * wml/WMLIntrinsicEventHandler.cpp: 79379 (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent): 79380 * wml/WMLIntrinsicEventHandler.h: 79381 * wml/WMLOnEventElement.cpp: 79382 (WebCore::eventHandlingParent): 79383 (WebCore::WMLOnEventElement::registerTask): 79384 (WebCore::WMLOnEventElement::deregisterTask): 79385 * wml/WMLOnEventElement.h: 79386 * wml/WMLPostfieldElement.cpp: 79387 (WebCore::WMLPostfieldElement::removedFromDocument): 79388 * wml/WMLPostfieldElement.h: 79389 * wml/WMLSetvarElement.cpp: 79390 (WebCore::WMLSetvarElement::removedFromDocument): 79391 * wml/WMLSetvarElement.h: 79392 * wml/WMLTaskElement.cpp: 79393 (WebCore::WMLTaskElement::removedFromDocument): 79394 (WebCore::WMLTaskElement::registerVariableSetter): 79395 (WebCore::WMLTaskElement::deregisterVariableSetter): 79396 (WebCore::WMLTaskElement::storeVariableState): 79397 * wml/WMLTaskElement.h: 79398 * wml/WMLTimerElement.cpp: 79399 (WebCore::WMLTimerElement::removedFromDocument): 79400 * wml/WMLTimerElement.h: 79401 79402 2009-07-28 David Levin <levin (a] chromium.org> 79403 79404 Suggested by Drew Wilson. 79405 79406 Speculative gtk build fix, follow up to: 79407 https://bugs.webkit.org/show_bug.cgi?id=27697 79408 79409 * GNUmakefile.am: 79410 79411 2009-07-28 Dan Bernstein <mitz (a] apple.com> 79412 79413 Reviewed by Simon Fraser. 79414 79415 [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius 79416 properties 79417 https://bugs.webkit.org/show_bug.cgi?id=27578 79418 79419 [CSS3 Backgrounds and Borders] Handle the / and 4 values in 79420 border-radius 79421 https://bugs.webkit.org/show_bug.cgi?id=27584 79422 79423 Test: fast/borders/border-radius-parsing.html 79424 79425 Dropped the -webkit- prefix from the individual corner border-radius 79426 properties. Added border-radius with the / and 4-value syntax, and 79427 maintained -webkit-border-radius with legacy 2-value syntax. 79428 79429 * css/CSSComputedStyleDeclaration.cpp: 79430 (computedProperties): Removed Webkit prefix. 79431 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto. 79432 * css/CSSParser.cpp: 79433 (WebCore::CSSParser::parseValue): Removed Webkit prefix from the 79434 single-corner properties. Call out to parseBorderRadius() to parse 79435 border-radius and -webkit-border-radius. 79436 (WebCore::completeBorderRadii): Added this helper function that 79437 completes the values for all four corners when fewer than four are 79438 specified. 79439 (WebCore::CSSParser::parseBorderRadius): Added. 79440 (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the 79441 unprefixed property. 79442 * css/CSSParser.h: 79443 * css/CSSPropertyLonghand.cpp: 79444 (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry 79445 for border-radius. Kept the entry for -webkit-border-radius. 79446 * css/CSSPropertyNames.in: Removed the -webkit- prefix from the 79447 single-corenr properties. Added border-radius. Kept 79448 -webkit-border-radius because of its conflicting syntax. 79449 * css/CSSStyleSelector.cpp: 79450 (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix. 79451 * page/animation/AnimationBase.cpp: 79452 (WebCore::ensurePropertyMap): Ditto. 79453 79454 2009-07-28 Drew Wilson <atwilson (a] google.com> 79455 79456 Reviewed by David Levin. 79457 79458 Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class. 79459 79460 WorkerThread needs to be refactored to separate out dedicated-worker functionality. 79461 https://bugs.webkit.org/show_bug.cgi?id=27697 79462 79463 This is just a refactoring, so existing tests suffice. 79464 79465 * GNUmakefile.am: 79466 Added DedicatedWorkerThread.h/.cpp 79467 * WebCore.gypi: 79468 Added DedicatedWorkerThread.h/.cpp 79469 * WebCore.pro: 79470 Added DedicatedWorkerThread.h/.cpp 79471 * WebCore.vcproj/WebCore.vcproj: 79472 Added DedicatedWorkerThread.h/.cpp 79473 * WebCore.xcodeproj/project.pbxproj: 79474 Added DedicatedWorkerThread.h/.cpp 79475 * bindings/js/WorkerScriptController.cpp: 79476 (WebCore::WorkerScriptController::evaluate): 79477 Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now. 79478 * bindings/v8/WorkerScriptController.cpp: 79479 (WebCore::WorkerScriptController::evaluate): 79480 Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now. 79481 * workers/DedicatedWorkerContext.cpp: 79482 (WebCore::DedicatedWorkerContext::DedicatedWorkerContext): 79483 (WebCore::DedicatedWorkerContext::addMessage): 79484 Forwards console messages to parent document. 79485 (WebCore::DedicatedWorkerContext::importScripts): 79486 Now sends the updated pending activity status after importing scripts. 79487 (WebCore::DedicatedWorkerContext::thread): 79488 Helper routine that casts WorkerThread to DedicatedWorkerThread. 79489 * workers/DedicatedWorkerContext.h: 79490 (WebCore::DedicatedWorkerContext::create): 79491 * workers/DedicatedWorkerThread.cpp: Added. 79492 (WebCore::DedicatedWorkerThread::create): 79493 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread): 79494 (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread): 79495 (WebCore::DedicatedWorkerThread::createWorkerContext): 79496 Implementation of the base class factory method to create the appropriate worker context. 79497 (WebCore::DedicatedWorkerThread::runEventLoop): 79498 Reports pending activity before running the event loop. 79499 * workers/DedicatedWorkerThread.h: Added. 79500 (WebCore::DedicatedWorkerThread::workerObjectProxy): 79501 Moved from base class. 79502 * workers/WorkerContext.cpp: 79503 * workers/WorkerContext.h: 79504 * workers/WorkerMessagingProxy.cpp: 79505 (WebCore::WorkerMessagingProxy::startWorkerContext): 79506 Now creates DedicatedWorkerThread. 79507 (WebCore::WorkerMessagingProxy::workerThreadCreated): 79508 Now is passed a DedicatedWorkerThread. 79509 * workers/WorkerMessagingProxy.h: 79510 * workers/WorkerThread.cpp: 79511 (WebCore::WorkerThread::WorkerThread): 79512 Moved workerObjectProxy param into derived class constructor. 79513 (WebCore::WorkerThread::workerThread): 79514 (WebCore::WorkerThread::runEventLoop): 79515 Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first. 79516 * workers/WorkerThread.h: 79517 (WebCore::WorkerThread::workerContext): 79518 79519 2009-07-28 Nate Chapin <japhet (a] chromium.org> 79520 79521 Reviewed by Darin Fisher. 79522 79523 Fix V8NPUtils' handling of UTF8 identifiers. 79524 79525 https://bugs.webkit.org/show_bug.cgi?id=27782 79526 79527 * bindings/v8/V8NPUtils.cpp: 79528 (getStringIdentifier): Treat the input string as UTF8 instead of ASCII, 79529 since NPN_GetStringIdentifier() is expecting UTF8. 79530 79531 2009-07-28 Jeremy Orlow <jorlow (a] chromium.org> 79532 79533 Reviewed by Eric Seidel. 79534 79535 Misc cleanup in DOM Storage. 79536 https://bugs.webkit.org/show_bug.cgi?id=27517 79537 79538 The StorageAreaImpl changes are all for Chromium. Because the DOM Storage implementation 79539 runs in a different process from where the Frame object lives, Chromium passes in NULL 79540 for the sourceFrame. This affects events and handling privateBrowsing. Chromium's 79541 incognito mode does not use the private browsing setting, so that's not a concern. As for 79542 events, I've decided to simply disable them for now. 79543 79544 The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread- 79545 safety) and to add an assert that .copy is only ever called on a SessionStorage namespace. 79546 79547 Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp 79548 79549 * storage/StorageArea.cpp: Removed. (It was empty anyway.) 79550 * storage/StorageAreaImpl.cpp: 79551 (WebCore::privateBrowsingEnabled): Factored out the check. 79552 (WebCore::StorageAreaImpl::setItem): Make frame optional. 79553 (WebCore::StorageAreaImpl::removeItem): ditto 79554 (WebCore::StorageAreaImpl::clear): ditto 79555 (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now. 79556 * storage/StorageNamespaceImpl.cpp: 79557 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment. 79558 (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage. 79559 79560 2009-07-28 Alpha Lam <hclam (a] google.com> 79561 79562 Reviewed by David Levin. 79563 79564 [chromium] Default UI controls for <video> has rendering problems 79565 https://bugs.webkit.org/show_bug.cgi?id=27669 79566 79567 Fixes the bug that <video> in MediaDocument is 1 pixel tall if 79568 it is playing an audio file by changing the style to be 32px 79569 tall. 79570 79571 Also fixes a problem of default styled audio tag that hides the 79572 all the time digits by expanding the width to 300px. 79573 79574 Changed the size and position of the current time and remaining 79575 display to give enough space for the hour digit to be shown. 79576 79577 There are no new tests provided because this is already covered 79578 by existing tests. 79579 79580 * css/mediaControlsChromium.css: 79581 79582 2009-07-28 Jakub Wieczorek <faw217 (a] gmail.com> 79583 79584 Reviewed by Eric Seidel. 79585 79586 Fix style in PluginPackage and PluginDatabase. 79587 Part of https://bugs.webkit.org/show_bug.cgi?id=27651 79588 79589 * plugins/PluginDatabase.cpp: 79590 (WebCore::PluginDatabase::refresh): 79591 (WebCore::PluginDatabase::findPlugin): 79592 * plugins/PluginDatabase.h: 79593 * plugins/PluginPackage.cpp: 79594 (WebCore::PluginPackage::~PluginPackage): 79595 (WebCore::PluginPackage::freeLibrarySoon): 79596 (WebCore::PluginPackage::freeLibraryTimerFired): 79597 (WebCore::PluginPackage::unloadWithoutShutdown): 79598 (WebCore::PluginPackage::initializeBrowserFuncs): 79599 * plugins/PluginPackage.h: 79600 79601 2009-07-28 Anantanarayanan Iyengar <ananta (a] chromium.org> 79602 79603 Reviewed by Dimitri Glazkov. 79604 79605 https://bugs.webkit.org/show_bug.cgi?id=27769 79606 The V8 bindings function V8Proxy::createNewContext can be 79607 called during frame shutdown where the activeDocumentLoader 79608 function in FrameLoader can return NULL. Added a check for the 79609 same. 79610 79611 No new tests added as this is an edge case where the V8 79612 bindings code is reentered via NPAPI during shutdown. It is 79613 difficult to write a consistently reproducible test for this. 79614 79615 * bindings/v8/V8Proxy.cpp: 79616 (WebCore::V8Proxy::createNewContext): 79617 79618 2009-07-28 Ivan Posva <iposva (a] chromium.org> 79619 79620 Reviewed by Dimitri Glazkov. 79621 79622 Associate the CanvasPixelData backing store with the 79623 indexed properties of the wrapper object. 79624 79625 https://bugs.webkit.org/show_bug.cgi?id=27773 79626 79627 No new tests: Relying on existing Canvas tests. 79628 79629 * bindings/v8/V8DOMWrapper.cpp: 79630 (WebCore::V8DOMWrapper::getTemplate): 79631 (WebCore::V8DOMWrapper::convertToV8Object): 79632 79633 2009-07-28 Xan Lopez <xlopez (a] igalia.com> 79634 79635 Reviewed by Gustavo Noronha. 79636 79637 Nuke all references to JSWorkerContextBase.lut.h, it was removed 79638 back in April. 79639 79640 * GNUmakefile.am: 79641 79642 2009-07-28 Robert Agoston <Agoston.Robert (a] stud.u-szeged.hu> 79643 79644 Reviewed by Simon Hausmann. 79645 79646 Fixed references to script generate-webkitversion.pl, and 79647 removed duplicated generate-webkitversion.pl 79648 79649 https://bugs.webkit.org/show_bug.cgi?id=27158 79650 79651 * WebCore.pro: 79652 * platform/generate-webkitversion.pl: Removed. 79653 79654 2009-07-28 Pavel Feldman <pfeldman (a] chromium.org> 79655 79656 Reviewed by Dmitry Glazkov. 79657 79658 Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of 79659 InspectorJSONObject. 79660 79661 https://bugs.webkit.org/show_bug.cgi?id=27766 79662 79663 * GNUmakefile.am: 79664 * WebCore.gypi: 79665 * WebCore.pro: 79666 * WebCore.vcproj/WebCore.vcproj: 79667 * WebCore.xcodeproj/project.pbxproj: 79668 * WebCoreSources.bkl: 79669 * bindings/js/ScriptArray.cpp: 79670 (WebCore::ScriptArray::ScriptArray): 79671 (WebCore::ScriptArray::set): 79672 (WebCore::ScriptArray::length): 79673 (WebCore::ScriptArray::createNew): 79674 * bindings/js/ScriptArray.h: 79675 * bindings/js/ScriptFunctionCall.cpp: 79676 (WebCore::ScriptFunctionCall::construct): 79677 * bindings/js/ScriptObject.cpp: 79678 (WebCore::ScriptObject::ScriptObject): 79679 (WebCore::ScriptObject::set): 79680 (WebCore::ScriptObject::createNew): 79681 (WebCore::ScriptGlobalObject::get): 79682 * bindings/js/ScriptObject.h: 79683 * bindings/js/ScriptObjectQuarantine.cpp: 79684 (WebCore::getQuarantinedScriptObject): 79685 * bindings/v8/ScriptArray.cpp: 79686 (WebCore::ScriptArray::ScriptArray): 79687 (WebCore::ScriptArray::set): 79688 (WebCore::ScriptArray::length): 79689 (WebCore::ScriptArray::createNew): 79690 * bindings/v8/ScriptArray.h: 79691 * bindings/v8/ScriptFunctionCall.cpp: 79692 (WebCore::ScriptFunctionCall::construct): 79693 * bindings/v8/ScriptObject.cpp: 79694 (WebCore::ScriptObject::ScriptObject): 79695 (WebCore::ScriptObject::set): 79696 (WebCore::ScriptObject::createNew): 79697 (WebCore::ScriptGlobalObject::get): 79698 * bindings/v8/ScriptObject.h: 79699 (WebCore::ScriptObject::ScriptObject): 79700 * bindings/v8/ScriptObjectQuarantine.cpp: 79701 (WebCore::getQuarantinedScriptObject): 79702 * inspector/ConsoleMessage.cpp: 79703 (WebCore::ConsoleMessage::addToConsole): 79704 * inspector/InspectorDOMStorageResource.cpp: 79705 (WebCore::InspectorDOMStorageResource::bind): 79706 * inspector/InspectorDatabaseResource.cpp: 79707 (WebCore::InspectorDatabaseResource::bind): 79708 * inspector/InspectorFrontend.cpp: 79709 (WebCore::InspectorFrontend::newScriptArray): 79710 (WebCore::InspectorFrontend::newScriptObject): 79711 (WebCore::InspectorFrontend::addMessageToConsole): 79712 (WebCore::InspectorFrontend::addResource): 79713 (WebCore::InspectorFrontend::updateResource): 79714 (WebCore::InspectorFrontend::addDatabase): 79715 (WebCore::InspectorFrontend::addDOMStorage): 79716 * inspector/InspectorFrontend.h: 79717 * inspector/InspectorJSONObject.cpp: Removed. 79718 * inspector/InspectorJSONObject.h: Removed. 79719 * inspector/InspectorResource.cpp: 79720 (WebCore::populateHeadersObject): 79721 (WebCore::InspectorResource::createScriptObject): 79722 (WebCore::InspectorResource::updateScriptObject): 79723 79724 2009-07-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 79725 79726 Reviewed by George Staikos. 79727 79728 [WML] Variable substitution recursion seems to have bugs 79729 https://bugs.webkit.org/show_bug.cgi?id=27726 79730 79731 Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements. 79732 Required by the specification - assure it only works in linear order. A setvar element may 79733 not depend on the variable state of a following setvar element, only the previous ones. 79734 79735 Extend wml/variable-reference-valid.html layout test to cover these cases. 79736 79737 * wml/WMLTaskElement.cpp: 79738 (WebCore::WMLTaskElement::storeVariableState): 79739 79740 2009-07-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 79741 79742 Reviewed by George Staikos. 79743 79744 [WML] Page title doesn't update after variable substitution, if it contained variables 79745 https://bugs.webkit.org/show_bug.cgi?id=27725 79746 79747 Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition 79748 too much, leading to a bug with 1-char variable names, which were not detected properly. 79749 79750 Extend wml/variable-reference-valid.html layout test to cover 1-char variable names. 79751 Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names. 79752 79753 * wml/WMLVariables.cpp: 79754 (WebCore::containsVariableReference): 79755 79756 2009-07-28 Robert Hogan <robert (a] roberthogan.net> 79757 79758 Reviewed by Simon Hausmann. 79759 79760 Add WebKit version API to Qt. 79761 79762 Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig 79763 at compile time and make it available to webkit ports through WebKitVersion.h. 79764 79765 https://bugs.webkit.org/show_bug.cgi?id=27158 79766 79767 * WebCore.pro: Call generate-webkitversion.pl 79768 79769 2009-07-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 79770 79771 Unreviewed make dist build fix. 79772 79773 * GNUmakefile.am: 79774 79775 2009-07-28 Mike Fenton <mike.fenton (a] torchmobile.com> 79776 79777 Reviewed by Adam Treat. 79778 79779 Replace hardcoded separator text with proper separator. 79780 Also adjusts include order as per style guidelines. 79781 79782 https://bugs.webkit.org/show_bug.cgi?id=27763 79783 79784 * platform/qt/PopupMenuQt.cpp: 79785 (WebCore::PopupMenu::populate): 79786 79787 2009-07-28 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 79788 79789 Reviewed by Steve Falkenburg. 79790 79791 Add output directory for VS pre-build steps to enable out-of-tree builds 79792 79793 https://bugs.webkit.org/show_bug.cgi?id=27700 79794 79795 The tmp.obj file is now placed in the intermediate build directory. 79796 79797 * WebCore.vcproj/WebCoreCommon.vsprops: 79798 79799 2009-07-28 Pavel Feldman <pfeldman (a] chromium.org> 79800 79801 Reviewed by Timothy Hatcher. 79802 79803 Web Inspector: Add inspected node using public console API. 79804 79805 https://bugs.webkit.org/show_bug.cgi?id=27758 79806 79807 * inspector/front-end/Console.js: 79808 (WebInspector.Console.prototype.addInspectedNode): 79809 * inspector/front-end/ElementsPanel.js: 79810 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 79811 (WebInspector.ElementsPanel): 79812 79813 2009-07-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 79814 79815 Reviewed by George Staikos. 79816 79817 [WML] <do> elements with a <noop> task shouldn't be exposed to the user 79818 https://bugs.webkit.org/show_bug.cgi?id=27724 79819 79820 Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec. 79821 Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml. 79822 79823 * manual-tests/wml/task-noop-in-do.wml: Removed. 79824 * wml/WMLNoopElement.cpp: 79825 (WebCore::WMLNoopElement::insertedIntoDocument): 79826 79827 2009-07-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 79828 79829 Reviewed by Simon Hausmann. 79830 79831 [Qt] Disable some compiler warnings for the win build 79832 https://bugs.webkit.org/show_bug.cgi?id=27709 79833 79834 * WebCore.pro: Move the msvc options to WebKit.pri 79835 79836 2009-07-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 79837 79838 Reviewed by Tor Arne Vestb 79839 79840 Make equality checks for logging channel names ignore casing. 79841 79842 * platform/Logging.cpp: 79843 (WebCore::getChannelFromName): 79844 79845 2009-07-28 Jan Michael Alonzo <jmalonzo (a] webkit.org> 79846 79847 Reviewed by Xan Lopez. 79848 79849 [Gtk] Refactor ResourceHandleSoup - make start* functions static 79850 https://bugs.webkit.org/show_bug.cgi?id=27687 79851 79852 * platform/network/ResourceHandle.h: 79853 * platform/network/soup/ResourceHandleSoup.cpp: 79854 (WebCore::startData): 79855 (WebCore::startHttp): 79856 (WebCore::): 79857 79858 2009-07-28 Xan Lopez <xlopez (a] igalia.com> 79859 79860 Reviewed by Gustavo Noronha. 79861 79862 https://bugs.webkit.org/show_bug.cgi?id=25415 79863 [GTK][ATK] Please implement support for get_text_at_offset 79864 79865 Do not cache the pango layout in the object, since the layout of 79866 the page can change between calls. 79867 79868 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 79869 79870 2009-07-23 Anton Muhin <antonm (a] chromium.org> 79871 79872 Reviewed by Adam Barth. 79873 79874 Simplify management of Nodes in weak handles callbacks. 79875 https://bugs.webkit.org/show_bug.cgi?id=27628 79876 79877 * bindings/v8/V8DOMMap.cpp: 79878 (WebCore::weakNodeCallback): 79879 79880 2009-07-28 Brian Weinstein <bweinstein (a] apple.com> 79881 79882 Rubber-stamped by David Levin. 79883 79884 Fix error handling of GetIconInfo (returns a bool). 79885 79886 * platform/win/DragImageWin.cpp: 79887 (WebCore::createDragImageIconForCachedImage): 79888 79889 2009-07-27 Brian Weinstein <bweinstein (a] apple.com> 79890 79891 Reviewed by Jon Honeycutt. 79892 79893 Fix of <rdar://5015949> Drag Icon is not produced for over sized images. 79894 79895 Implemented the createDragImageIconForCachedImage function by using the Windows 79896 SHFILEINFO structure. 79897 79898 * platform/win/DragImageWin.cpp: 79899 (WebCore::createDragImageIconForCachedImage): 79900 79901 2009-07-25 Adam Barth <abarth (a] webkit.org> 79902 79903 Reviewed by David Levin. 79904 79905 [V8] Split up V8DOMMap.cpp by class 79906 https://bugs.webkit.org/show_bug.cgi?id=27685 79907 79908 No behavior change. Just copy-and-paste. 79909 79910 * WebCore.gypi: 79911 * bindings/v8/ChildThreadDOMData.cpp: Added. 79912 (WebCore::ChildThreadDOMData::ChildThreadDOMData): 79913 (WebCore::ChildThreadDOMData::getStore): 79914 * bindings/v8/ChildThreadDOMData.h: Added. 79915 * bindings/v8/DOMData.cpp: Added. 79916 (WebCore::DOMData::DOMData): 79917 (WebCore::DOMData::getCurrent): 79918 (WebCore::DOMData::getCurrentMainThread): 79919 (WebCore::DOMData::handleWeakObject): 79920 (WebCore::DOMData::ensureDeref): 79921 (WebCore::DOMData::derefObject): 79922 (WebCore::DOMData::derefDelayedObjects): 79923 (WebCore::DOMData::derefDelayedObjectsInCurrentThread): 79924 (WebCore::DOMData::removeObjectsFromWrapperMap): 79925 * bindings/v8/DOMData.h: Added. 79926 (WebCore::): 79927 * bindings/v8/DOMDataStore.cpp: Added. 79928 (WebCore::DOMDataStore::DOMDataStore): 79929 (WebCore::DOMDataStore::~DOMDataStore): 79930 (WebCore::DOMDataStore::allStores): 79931 (WebCore::DOMDataStore::allStoresMutex): 79932 (WebCore::DOMDataStore::getDOMWrapperMap): 79933 (WebCore::forget): 79934 (WebCore::DOMDataStore::weakDOMObjectCallback): 79935 (WebCore::DOMDataStore::weakActiveDOMObjectCallback): 79936 (WebCore::DOMDataStore::weakNodeCallback): 79937 (WebCore::DOMDataStore::weakSVGElementInstanceCallback): 79938 (WebCore::DOMDataStore::weakSVGObjectWithContextCallback): 79939 * bindings/v8/DOMDataStore.h: Added. 79940 (WebCore::DOMDataStore::): 79941 (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): 79942 (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly): 79943 (WebCore::DOMDataStore::domData): 79944 (WebCore::DOMDataStore::domNodeMap): 79945 (WebCore::DOMDataStore::domObjectMap): 79946 (WebCore::DOMDataStore::activeDomObjectMap): 79947 (WebCore::DOMDataStore::domSvgElementInstanceMap): 79948 (WebCore::DOMDataStore::domSvgObjectWithContextMap): 79949 * bindings/v8/MainThreadDOMData.cpp: Added. 79950 (WebCore::MainThreadDOMData::MainThreadDOMData): 79951 (WebCore::MainThreadDOMData::getStore): 79952 * bindings/v8/MainThreadDOMData.h: Added. 79953 * bindings/v8/ScopedDOMDataStore.cpp: Added. 79954 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): 79955 (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): 79956 * bindings/v8/ScopedDOMDataStore.h: Added. 79957 * bindings/v8/StaticDOMDataStore.cpp: Added. 79958 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 79959 * bindings/v8/StaticDOMDataStore.h: Added. 79960 * bindings/v8/V8DOMMap.cpp: 79961 79962 2009-07-27 Mark Rowe <mrowe (a] apple.com> 79963 79964 Reviewed by Darin Adler. 79965 79966 <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread 79967 79968 Add a method for detecting if we're being used within Microsoft Messenger. 79969 79970 * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries. 79971 * platform/mac/RuntimeApplicationChecks.h: 79972 * platform/mac/RuntimeApplicationChecks.mm: 79973 (WebCore::applicationIsMicrosoftMessenger): 79974 79975 2009-07-27 Jian Li <jianli (a] chromium.org> 79976 79977 Reviewed by David Levin. 79978 79979 [V8] Implement EventListener::reportError for V8 event listeners in worker context. 79980 https://bugs.webkit.org/show_bug.cgi?id=27731 79981 79982 * bindings/v8/V8WorkerContextEventListener.cpp: 79983 (WebCore::V8WorkerContextEventListener::reportError): 79984 * bindings/v8/V8WorkerContextEventListener.h: 79985 79986 2009-07-27 Stephen White <senorblanco (a] chromium.org> 79987 79988 Reviewed by Eric Seidel and David Levin. 79989 79990 Re-apply chromium/skia border fix (originally landed in r46157, 79991 reverted in r46363), since it was not the cause of the reliability 79992 failures in Chromium. 79993 79994 http://bugs.webkit.org/show_bug.cgi?id=27388 79995 79996 * platform/graphics/skia/GraphicsContextSkia.cpp: 79997 (WebCore::GraphicsContext::drawLine): 79998 * platform/graphics/skia/PlatformContextSkia.cpp: 79999 (PlatformContextSkia::setupPaintForStroking): 80000 80001 2009-07-27 Ryosuke Niwa <rniwa (a] webkit.org> 80002 80003 Reviewed by Justin Garcia. 80004 80005 createMarkup does not handle CSS properly 80006 https://bugs.webkit.org/show_bug.cgi?id=27660 80007 80008 This patch isolates code that creates markup for styles in addStyleMarkup 80009 It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup 80010 so that we can assume no text decoration style is passed to addStyleMarkup. 80011 80012 * editing/markup.cpp: 80013 (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration 80014 (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags 80015 (WebCore::addStyleMarkup): Adds markup for style span and div 80016 (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup 80017 80018 2009-07-27 Eric Seidel <eric (a] webkit.org> 80019 80020 Reviewed by Adam Barth. 80021 80022 fix more obvious global object lookups 80023 https://bugs.webkit.org/show_bug.cgi?id=27745 80024 80025 No new tests for these changes. I believe in many cases 80026 testing to be impossible. Lack of testing justification next to 80027 each change below. The remaining pieces of bug 27634 will all 80028 need tests. 80029 80030 * bindings/js/JSDOMWindowBase.cpp: 80031 (WebCore::JSDOMWindowBase::updateDocument): not testable. 80032 * bindings/js/JSDataGridColumnListCustom.cpp: 80033 (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature. 80034 * bindings/js/JSEventListener.cpp: 80035 (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame 80036 * bindings/js/JSEventTarget.cpp: 80037 (WebCore::toJS): covered by other tests, always correct to pass the globalObject through. 80038 * bindings/js/JSHTMLElementCustom.cpp: 80039 (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered. 80040 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 80041 (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with. 80042 * bindings/js/JSLazyEventListener.cpp: 80043 (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event. 80044 * bindings/js/ScriptController.cpp: 80045 (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test. 80046 * bindings/js/ScriptEventListener.cpp: 80047 (WebCore::createAttributeEventListener): unclear how to test. 80048 * bindings/js/ScriptObject.cpp: 80049 (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only. 80050 * bindings/js/ScriptObjectQuarantine.cpp: 80051 (WebCore::getQuarantinedScriptObject): unclear how to test. 80052 * bindings/objc/DOMInternal.mm: 80053 (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test. 80054 80055 2009-07-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80056 80057 Reviewed by George Staikos. 80058 80059 [WML] 'title' attribute handling not correct for <a> / <anchor> elements 80060 https://bugs.webkit.org/show_bug.cgi?id=27720 80061 80062 Unify title() implementation in WMLElement instead of several copies of the same logic. 80063 We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the 80064 WML manual-test suite. 80065 80066 * wml/WMLCardElement.cpp: 80067 * wml/WMLCardElement.h: 80068 * wml/WMLElement.cpp: 80069 (WebCore::WMLElement::title): 80070 * wml/WMLElement.h: 80071 * wml/WMLOptGroupElement.cpp: 80072 * wml/WMLOptGroupElement.h: 80073 * wml/WMLSelectElement.cpp: 80074 * wml/WMLSelectElement.h: 80075 80076 2009-07-27 Adam Treat <adam.treat (a] torchmobile.com> 80077 80078 Speculative build fix for Windows and WinCE. 80079 80080 * plugins/win/PluginPackageWin.cpp: 80081 (WebCore::PluginPackage::load): 80082 80083 2009-07-27 Ojan Vafai <ojan (a] chromium.org> 80084 80085 Reviewed by Darin Adler. 80086 80087 https://bugs.webkit.org/show_bug.cgi?id=27474 80088 Fixes crashes due to renderer getting destroyed in updateLayout. 80089 We need to call updateLayout before we call into the renderer. 80090 Removed the updateLayout call from RenderTextControl and moved it 80091 into the calling sites. 80092 80093 Also changes updateLayout to updateLayoutIgnorePendingStylesheets so 80094 this works with pending stylesheets. Unfortunately, this seems to be 80095 untestable. Loading an external stylesheet and then having an inline 80096 script hit this code did not result in an pending stylesheets. 80097 80098 The are other cases of this bug in the rendering code. I'll file a 80099 followup bug to audit the calls to updateLayout. 80100 80101 Test: fast/dom/text-control-crash-on-select.html 80102 80103 * dom/Document.h: 80104 (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance 80105 and setSelectionRange could deal with cases of reentrancy into updateLayout 80106 calls. This happens in a couple layout tests. 80107 * dom/InputElement.cpp: 80108 (WebCore::InputElement::updateSelectionRange): 80109 * html/HTMLInputElement.cpp: 80110 (WebCore::isTextFieldWithRendererAfterUpdateLayout): 80111 (WebCore::HTMLInputElement::setSelectionStart): 80112 (WebCore::HTMLInputElement::setSelectionEnd): 80113 (WebCore::HTMLInputElement::select): 80114 * html/HTMLTextAreaElement.cpp: 80115 (WebCore::rendererAfterUpdateLayout): 80116 (WebCore::HTMLTextAreaElement::setSelectionStart): 80117 (WebCore::HTMLTextAreaElement::setSelectionEnd): 80118 (WebCore::HTMLTextAreaElement::select): 80119 (WebCore::HTMLTextAreaElement::setSelectionRange): 80120 (WebCore::HTMLTextAreaElement::updateFocusAppearance): 80121 * rendering/RenderTextControl.cpp: 80122 (WebCore::RenderTextControl::setSelectionRange): 80123 80124 2009-07-27 Dimitri Glazkov <dglazkov (a] chromium.org> 80125 80126 Reviewed by Dave Levin. 80127 80128 [V8] Remove parameterless frame/window retrieval methods from V8Proxy. 80129 https://bugs.webkit.org/show_bug.cgi?id=27737 80130 80131 Refactoring, no new behavior, covered by existing tests. 80132 80133 * bindings/v8/ScriptCallStack.cpp: 80134 (WebCore::ScriptCallStack::ScriptCallStack): 80135 * bindings/v8/V8NPUtils.cpp: 80136 (convertV8ObjectToNPVariant): Ditto. 80137 * bindings/v8/V8Proxy.cpp: 80138 (WebCore::V8Proxy::retrieve): Ditto. 80139 (WebCore::V8Proxy::canAccessPrivate): Ditto. 80140 * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls. 80141 * bindings/v8/custom/V8DatabaseCustom.cpp: 80142 (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext(). 80143 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 80144 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80145 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 80146 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80147 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 80148 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80149 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 80150 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80151 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 80152 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80153 * bindings/v8/custom/V8WorkerCustom.cpp: 80154 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80155 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 80156 (WebCore::CALLBACK_FUNC_DECL): Ditto. 80157 80158 2009-07-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80159 80160 Reviewed by George Staikos. 80161 80162 [WML] 'onpick' intrinsic event handling missing 80163 https://bugs.webkit.org/show_bug.cgi?id=27723 80164 80165 Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState(). 80166 All was in place, just forgot to enable the relevant code. 80167 80168 Fixes manual-tests/wml/select-onpick-event.wml 80169 Test: wml/option-element-onpick.html 80170 80171 * wml/WMLOptionElement.cpp: 80172 (WebCore::WMLOptionElement::setSelectedState): 80173 80174 2009-07-27 Alexey Proskuryakov <ap (a] webkit.org> 80175 80176 Reviewed by Darin Adler. 80177 80178 https://bugs.webkit.org/show_bug.cgi?id=27735 80179 Give a helpful name to JSLock constructor argument 80180 80181 * bindings/js/GCController.cpp: 80182 (WebCore::collect): 80183 (WebCore::GCController::gcTimerFired): 80184 (WebCore::GCController::garbageCollectNow): 80185 * bindings/js/JSCustomPositionCallback.cpp: 80186 (WebCore::JSCustomPositionCallback::handleEvent): 80187 * bindings/js/JSCustomPositionErrorCallback.cpp: 80188 (WebCore::JSCustomPositionErrorCallback::handleEvent): 80189 * bindings/js/JSCustomSQLStatementCallback.cpp: 80190 (WebCore::JSCustomSQLStatementCallback::handleEvent): 80191 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 80192 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 80193 * bindings/js/JSCustomSQLTransactionCallback.cpp: 80194 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 80195 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 80196 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 80197 * bindings/js/JSCustomVoidCallback.cpp: 80198 (WebCore::JSCustomVoidCallback::handleEvent): 80199 * bindings/js/JSCustomXPathNSResolver.cpp: 80200 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 80201 * bindings/js/JSEventCustom.cpp: 80202 (WebCore::toJS): 80203 * bindings/js/JSEventListener.cpp: 80204 (WebCore::JSEventListener::handleEvent): 80205 * bindings/js/JSInspectorBackendCustom.cpp: 80206 (WebCore::JSInspectorBackend::currentCallFrame): 80207 (WebCore::JSInspectorBackend::profiles): 80208 * bindings/js/JSNodeFilterCondition.cpp: 80209 (WebCore::JSNodeFilterCondition::acceptNode): 80210 * bindings/js/ScheduledAction.cpp: 80211 (WebCore::ScheduledAction::executeFunctionInContext): 80212 * bindings/js/ScriptArray.cpp: 80213 (WebCore::ScriptArray::set): 80214 (WebCore::ScriptArray::createNew): 80215 * bindings/js/ScriptCachedFrameData.cpp: 80216 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 80217 (WebCore::ScriptCachedFrameData::restore): 80218 (WebCore::ScriptCachedFrameData::clear): 80219 * bindings/js/ScriptController.cpp: 80220 (WebCore::ScriptController::evaluate): 80221 (WebCore::ScriptController::clearWindowShell): 80222 (WebCore::ScriptController::initScript): 80223 (WebCore::ScriptController::updateDocument): 80224 (WebCore::ScriptController::bindingRootObject): 80225 (WebCore::ScriptController::windowScriptNPObject): 80226 (WebCore::ScriptController::jsObjectForPluginElement): 80227 (WebCore::ScriptController::clearScriptObjects): 80228 * bindings/js/ScriptControllerMac.mm: 80229 (WebCore::ScriptController::windowScriptObject): 80230 * bindings/js/ScriptEventListener.cpp: 80231 (WebCore::createAttributeEventListener): 80232 * bindings/js/ScriptFunctionCall.cpp: 80233 (WebCore::ScriptFunctionCall::appendArgument): 80234 (WebCore::ScriptFunctionCall::call): 80235 (WebCore::ScriptFunctionCall::construct): 80236 * bindings/js/ScriptObject.cpp: 80237 (WebCore::ScriptObject::set): 80238 (WebCore::ScriptObject::createNew): 80239 (WebCore::ScriptGlobalObject::set): 80240 (WebCore::ScriptGlobalObject::get): 80241 (WebCore::ScriptGlobalObject::remove): 80242 * bindings/js/ScriptObjectQuarantine.cpp: 80243 (WebCore::quarantineValue): 80244 (WebCore::getQuarantinedScriptObject): 80245 * bindings/js/ScriptValue.cpp: 80246 (WebCore::ScriptValue::getString): 80247 * bindings/js/WorkerScriptController.cpp: 80248 (WebCore::WorkerScriptController::initScript): 80249 (WebCore::WorkerScriptController::evaluate): 80250 * bindings/objc/WebScriptObject.mm: 80251 (-[WebScriptObject callWebScriptMethod:withArguments:]): 80252 (-[WebScriptObject evaluateWebScript:]): 80253 (-[WebScriptObject setValue:forKey:]): 80254 (-[WebScriptObject valueForKey:]): 80255 (-[WebScriptObject removeWebScriptKey:]): 80256 (-[WebScriptObject stringRepresentation]): 80257 (-[WebScriptObject webScriptValueAtIndex:]): 80258 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 80259 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 80260 * bridge/NP_jsobject.cpp: 80261 (_NPN_InvokeDefault): 80262 (_NPN_Invoke): 80263 (_NPN_Evaluate): 80264 (_NPN_GetProperty): 80265 (_NPN_SetProperty): 80266 (_NPN_RemoveProperty): 80267 (_NPN_HasProperty): 80268 (_NPN_HasMethod): 80269 (_NPN_Enumerate): 80270 (_NPN_Construct): 80271 * bridge/c/c_class.cpp: 80272 (JSC::Bindings::CClass::~CClass): 80273 (JSC::Bindings::CClass::methodsNamed): 80274 (JSC::Bindings::CClass::fieldNamed): 80275 * bridge/c/c_instance.cpp: 80276 (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): 80277 (JSC::Bindings::CInstance::invokeMethod): 80278 (JSC::Bindings::CInstance::invokeDefaultMethod): 80279 (JSC::Bindings::CInstance::invokeConstruct): 80280 (JSC::Bindings::CInstance::getPropertyNames): 80281 * bridge/c/c_runtime.cpp: 80282 (JSC::Bindings::CField::valueFromInstance): 80283 (JSC::Bindings::CField::setValueToInstance): 80284 * bridge/c/c_utility.cpp: 80285 (JSC::Bindings::convertValueToNPVariant): 80286 (JSC::Bindings::convertNPVariantToValue): 80287 * bridge/jni/jni_class.cpp: 80288 (JavaClass::JavaClass): 80289 (JavaClass::~JavaClass): 80290 * bridge/jni/jni_instance.cpp: 80291 (JavaInstance::stringValue): 80292 * bridge/jni/jni_jsobject.mm: 80293 (JavaJSObject::call): 80294 (JavaJSObject::eval): 80295 (JavaJSObject::getMember): 80296 (JavaJSObject::setMember): 80297 (JavaJSObject::removeMember): 80298 (JavaJSObject::getSlot): 80299 (JavaJSObject::setSlot): 80300 (JavaJSObject::toString): 80301 (JavaJSObject::convertValueToJObject): 80302 (JavaJSObject::convertJObjectToValue): 80303 * bridge/jni/jni_objc.mm: 80304 (JSC::Bindings::dispatchJNICall): 80305 * bridge/jni/jni_runtime.cpp: 80306 (JavaMethod::signature): 80307 * bridge/jni/jni_runtime.h: 80308 (JSC::Bindings::JavaString::JavaString): 80309 (JSC::Bindings::JavaString::_commonInit): 80310 (JSC::Bindings::JavaString::~JavaString): 80311 (JSC::Bindings::JavaString::UTF8String): 80312 * bridge/jni/jni_utility.cpp: 80313 (JSC::Bindings::convertValueToJValue): 80314 * bridge/objc/objc_instance.mm: 80315 (ObjcInstance::moveGlobalExceptionToExecState): 80316 (ObjcInstance::invokeMethod): 80317 (ObjcInstance::invokeDefaultMethod): 80318 (ObjcInstance::setValueOfUndefinedField): 80319 (ObjcInstance::getValueOfUndefinedField): 80320 * bridge/objc/objc_runtime.mm: 80321 (JSC::Bindings::ObjcField::valueFromInstance): 80322 (JSC::Bindings::ObjcField::setValueToInstance): 80323 * bridge/objc/objc_utility.mm: 80324 (JSC::Bindings::convertValueToObjcValue): 80325 (JSC::Bindings::convertNSStringToString): 80326 (JSC::Bindings::convertObjcValueToValue): 80327 * bridge/qt/qt_instance.cpp: 80328 (JSC::Bindings::QtRuntimeObjectImp::removeFromCache): 80329 (JSC::Bindings::QtInstance::~QtInstance): 80330 (JSC::Bindings::QtInstance::getQtInstance): 80331 (JSC::Bindings::QtInstance::createRuntimeObject): 80332 * bridge/qt/qt_runtime.cpp: 80333 (JSC::Bindings::convertValueToQVariant): 80334 (JSC::Bindings::convertQVariantToValue): 80335 (JSC::Bindings::QtRuntimeMetaMethod::call): 80336 (JSC::Bindings::QtRuntimeConnectionMethod::call): 80337 (JSC::Bindings::QtConnectionObject::execute): 80338 * bridge/runtime.cpp: 80339 (JSC::Bindings::Instance::createRuntimeObject): 80340 * inspector/InspectorController.cpp: 80341 (WebCore::InspectorController::addScriptProfile): 80342 * inspector/JavaScriptCallFrame.cpp: 80343 (WebCore::JavaScriptCallFrame::evaluate): 80344 * inspector/JavaScriptDebugServer.cpp: 80345 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 80346 * inspector/JavaScriptProfileNode.cpp: 80347 (WebCore::getTotalTime): 80348 (WebCore::getSelfTime): 80349 (WebCore::getTotalPercent): 80350 (WebCore::getSelfPercent): 80351 (WebCore::getNumberOfCalls): 80352 (WebCore::getChildren): 80353 (WebCore::getParent): 80354 (WebCore::getHead): 80355 (WebCore::getVisible): 80356 (WebCore::getCallUID): 80357 * plugins/PluginView.cpp: 80358 (WebCore::PluginView::start): 80359 (WebCore::getString): 80360 (WebCore::PluginView::performRequest): 80361 (WebCore::PluginView::bindingInstance): 80362 * plugins/gtk/PluginViewGtk.cpp: 80363 (WebCore::PluginView::dispatchNPEvent): 80364 (WebCore::PluginView::handleKeyboardEvent): 80365 (WebCore::PluginView::handleMouseEvent): 80366 (WebCore::PluginView::setNPWindowIfNeeded): 80367 (WebCore::PluginView::stop): 80368 (WebCore::PluginView::init): 80369 * plugins/mac/PluginViewMac.cpp: 80370 (WebCore::PluginView::stop): 80371 (WebCore::PluginView::setNPWindowIfNeeded): 80372 (WebCore::PluginView::dispatchNPEvent): 80373 * plugins/qt/PluginViewQt.cpp: 80374 (WebCore::PluginView::setNPWindowIfNeeded): 80375 (WebCore::PluginView::stop): 80376 (WebCore::PluginView::init): 80377 * plugins/win/PluginViewWin.cpp: 80378 (WebCore::PluginView::dispatchNPEvent): 80379 (WebCore::PluginView::handleKeyboardEvent): 80380 (WebCore::PluginView::handleMouseEvent): 80381 (WebCore::PluginView::setNPWindowRect): 80382 (WebCore::PluginView::stop): 80383 80384 2009-07-27 Yong Li <yong.li (a] torchmobile.com> 80385 80386 Reviewed by George Staikos. 80387 80388 WINCE PORT: Make plugin work for WINCE 80389 https://bugs.webkit.org/show_bug.cgi?id=27713 80390 80391 * plugins/win/PluginDatabaseWin.cpp: 80392 (SHGetValue): 80393 (PathRemoveFileSpec): 80394 (WebCore::addWindowsMediaPlayerPluginDirectory): 80395 (WebCore::addMacromediaPluginDirectories): 80396 * plugins/win/PluginPackageWin.cpp: 80397 (WebCore::PluginPackage::load): 80398 * plugins/win/PluginViewWin.cpp: 80399 (WebCore::registerPluginView): 80400 (WebCore::PluginView::wndProc): 80401 (WebCore::PluginView::updatePluginWidget): 80402 (WebCore::PluginView::paintWindowedPluginIntoContext): 80403 (WebCore::PluginView::paint): 80404 (WebCore::PluginView::handleMouseEvent): 80405 (WebCore::PluginView::setParent): 80406 (WebCore::PluginView::setNPWindowRect): 80407 (WebCore::PluginView::stop): 80408 (WebCore::PluginView::init): 80409 80410 2009-07-27 Joseph Pecoraro <joepeck02 (a] gmail.com> 80411 80412 Inspector: Tab Through Element Attributes and CSS Properties When Editing 80413 80414 https://bugs.webkit.org/show_bug.cgi?id=27673 80415 80416 Reviewed by Timothy Hatcher. 80417 80418 * inspector/front-end/ElementsTreeOutline.js: 80419 (WebInspector.ElementsTreeElement): 80420 (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter 80421 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess 80422 (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it 80423 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes 80424 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 80425 * inspector/front-end/StylesSidebarPane.js: 80426 (WebInspector.StylePropertiesSection.prototype.onpopulate): 80427 (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name 80428 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties 80429 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements 80430 (WebInspector.StylePropertyTreeElement.prototype.): 80431 (WebInspector.StylePropertyTreeElement.prototype): 80432 * inspector/front-end/inspector.js: 80433 (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback 80434 (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction 80435 (WebInspector.startEditing): 80436 80437 2009-07-27 Mike Fenton <mike.fenton (a] torchmobile.com> 80438 80439 Reviewed by Adam Treat. 80440 80441 Add mapping FontWeight to QFont::Weight values as requested via FIXME. 80442 https://bugs.webkit.org/show_bug.cgi?id=27663 80443 80444 * platform/graphics/qt/FontCacheQt.cpp: 80445 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 80446 * platform/graphics/qt/FontPlatformData.h: 80447 (WebCore::FontPlatformData::toQFontWeight): 80448 * platform/graphics/qt/FontPlatformDataQt.cpp: 80449 (WebCore::FontPlatformData::FontPlatformData): 80450 80451 2009-07-27 Jakub Wieczorek <faw217 (a] gmail.com> 80452 80453 Reviewed by Adam Treat. 80454 80455 When clearing the plugin database, clear also the timestamp map. 80456 80457 https://bugs.webkit.org/show_bug.cgi?id=27651 80458 80459 Currently, if we clear the database, it will still think that it is up 80460 to date with the plugin directories so refreshing the database again 80461 after changing the search paths may not work. 80462 80463 * plugins/PluginDatabase.cpp: 80464 (WebCore::PluginDatabase::clear): 80465 80466 2009-07-27 Albert J. Wong <ajwong (a] chromium.org> 80467 80468 Reviewed by David Levin. 80469 80470 Add in trivial implementation of FontPlatformData::description() for 80471 linux to fix build bustage in chromium. 80472 80473 Fix chromium linux build by adding missing function implementation. 80474 https://bugs.webkit.org/show_bug.cgi?id=27732 80475 80476 Tested with a build of chromium on linux. 80477 80478 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 80479 (WebCore::FontPlatformData::description): 80480 * platform/graphics/chromium/FontPlatformDataLinux.h: 80481 80482 2009-07-27 Brent Fulgham <bfulgham (a] webkit.org> 80483 80484 Build correct, no review. 80485 80486 Final correction for WinCairo builds. 80487 CoreServices only exists in Apple builds, but 80488 some of its internal includes (e.g., <windows.h>) are needed 80489 for other Windows targets. 80490 80491 * WebCorePrefix.h: When building for WinCairo, make sure 80492 to include <windows.h>, <stdio.h>, and <ConditionalMacros.h> 80493 80494 2009-07-27 Michelangelo De Simone <micdesim (a] gmail.com> 80495 80496 Reviewed by Darin Adler. 80497 80498 https://bugs.webkit.org/show_bug.cgi?id=25552 80499 Added new "pattern" attribute to HTMLInputElement and validation code 80500 (validity.patternMismatch) as per HTML5 specs. 80501 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern 80502 80503 Tests: fast/forms/ValidityState-002.html 80504 fast/forms/ValidityState-patternMismatch-001.html 80505 fast/forms/ValidityState-patternMismatch-002.html 80506 fast/forms/ValidityState-patternMismatch-003.html 80507 fast/forms/ValidityState-patternMismatch-004.html 80508 fast/forms/ValidityState-patternMismatch-005.html 80509 fast/forms/ValidityState-patternMismatch-006.html 80510 fast/forms/ValidityState-patternMismatch-007.html 80511 fast/forms/pattern-attribute-001.html 80512 fast/forms/pattern-attribute-002.html 80513 fast/forms/pattern-attribute-003.html 80514 80515 * html/HTMLAttributeNames.in: pattern attribute 80516 * html/HTMLFormControlElement.h: 80517 (WebCore::HTMLFormControlElement::patternMismatch): method definition 80518 * html/HTMLInputElement.cpp: 80519 (WebCore::HTMLInputElement::patternMismatch): validation method 80520 * html/HTMLInputElement.h: 80521 * html/HTMLInputElement.idl: 80522 * html/ValidityState.h: 80523 (WebCore::ValidityState::patternMismatch): validation flag 80524 80525 2009-07-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80526 80527 Reviewed by George Staikos. 80528 80529 [WML] Manual WML tests aren't properly working 80530 https://bugs.webkit.org/show_bug.cgi?id=27718 80531 80532 Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests). 80533 Add missing resources directory and test image. Reformat all testcases to a common style. 80534 Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests. 80535 80536 Filing bugs soon for all tests exposing bugs (7 in total). 80537 80538 * manual-tests/wml/StartTests.wml: Added. 80539 * manual-tests/wml/a-br-element.wml: 80540 * manual-tests/wml/a-element.wml: 80541 * manual-tests/wml/a-img-element.wml: 80542 * manual-tests/wml/access-target.wml: 80543 * manual-tests/wml/anchor-br-element.wml: 80544 * manual-tests/wml/anchor-element.wml: 80545 * manual-tests/wml/anchor-img-element.wml: 80546 * manual-tests/wml/card-newcontext-attr.wml: 80547 * manual-tests/wml/card-onenterbackward.wml: 80548 * manual-tests/wml/card-onenterforward.wml: 80549 * manual-tests/wml/card-ontimer.wml: 80550 * manual-tests/wml/card-title-attr.wml: Removed. 80551 * manual-tests/wml/deck-access-control.wml: 80552 * manual-tests/wml/go-element.wml: Removed. 80553 * manual-tests/wml/input-emptyok.wml: Removed. 80554 * manual-tests/wml/input-format.wml: 80555 * manual-tests/wml/onevent-go.wml: 80556 * manual-tests/wml/onevent-noop.wml: 80557 * manual-tests/wml/onevent-prev.wml: 80558 * manual-tests/wml/onevent-refresh.wml: 80559 * manual-tests/wml/onevent-shadow.wml: 80560 * manual-tests/wml/postfield-get.wml: Removed. 80561 * manual-tests/wml/postfield-post.wml: Removed. 80562 * manual-tests/wml/resources: Added. 80563 * manual-tests/wml/resources/smiley.png: Added. 80564 * manual-tests/wml/select-element.wml: 80565 * manual-tests/wml/select-onpick-event.wml: 80566 * manual-tests/wml/setvar-element.wml: 80567 * manual-tests/wml/targetdeck.wml: 80568 * manual-tests/wml/task-go-in-anchor.wml: 80569 * manual-tests/wml/task-noop-in-do.wml: 80570 * manual-tests/wml/task-noop-in-onevent.wml: Removed. 80571 * manual-tests/wml/task-prev-in-anchor.wml: 80572 * manual-tests/wml/task-refresh-in-anchor.wml: 80573 * manual-tests/wml/template-go.wml: 80574 * manual-tests/wml/template-onevent.wml: Removed. 80575 * manual-tests/wml/template-ontimer.wml: 80576 * manual-tests/wml/timer.wml: 80577 * manual-tests/wml/variable-substitution.wml: 80578 80579 2009-07-27 Nate Chapin <japhet (a] chromium.org> 80580 80581 Reviewed by Dimitri Glazkov. 80582 80583 Fix a regression introduced in r42671, which caused the js event 80584 object to be hidden (some websites depend on being able to access it). 80585 80586 https://bugs.webkit.org/show_bug.cgi?id=27719 80587 80588 * bindings/v8/V8AbstractEventListener.cpp: 80589 (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden. 80590 80591 2009-07-27 Dumitru Daniliuc <dumi (a] chromium.org> 80592 80593 Reviewed by Dimitri Glazkov. 80594 80595 Removing a no-op block of code in DatabaseTracker.cpp that 80596 should've been removed in the patch for bug 26054. 80597 80598 https://bugs.webkit.org/show_bug.cgi?id=27666 80599 80600 All tests in WebCore/storage pass. 80601 80602 * storage/DatabaseTracker.cpp: 80603 (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op 80604 block of code that was moved to SQLiteFileSystem.cpp and should 80605 have been removed from DatabaseTracker.cpp 80606 80607 2009-07-27 Jian Li <jianli (a] chromium.org> 80608 80609 Reviewed by David Levin. 80610 80611 Fix error handling in dedicated worker and worker context. 80612 https://bugs.webkit.org/show_bug.cgi?id=27525 80613 80614 The following problems have been fixed: 80615 1) The uncaught runtime script error is not reported using the 80616 WorkerGlobalScope object's onerror attribute. 80617 2) If the error is still not handled afterwards (onerror attribute 80618 is not defined as a function or it returns true), the error should 80619 be reported back to the associated Worker object by firing an 80620 ErrorEvent. 80621 3) If the error is still not handled by the associated Worker 80622 object, the error should be reported to the user. 80623 80624 Test: fast/workers/worker-script-error.html 80625 80626 * bindings/js/JSEventListener.cpp: 80627 (WebCore::JSEventListener::reportError): 80628 * bindings/js/JSEventListener.h: 80629 * dom/EventListener.h: 80630 (WebCore::EventListener::reportError): adds a function to call 80631 EventListener as a function with 3 arguments to report an error. 80632 * workers/AbstractWorker.cpp: 80633 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 80634 * workers/AbstractWorker.h: 80635 * workers/DedicatedWorkerContext.cpp: 80636 (WebCore::DedicatedWorkerContext::reportException): 80637 * workers/WorkerContext.cpp: 80638 (WebCore::WorkerContext::reportException): 80639 * workers/WorkerContext.h: 80640 * workers/WorkerMessagingProxy.cpp: 80641 (WebCore::WorkerExceptionTask::performTask): 80642 * workers/WorkerMessagingProxy.h: 80643 80644 2009-07-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80645 80646 Reviewed by George Staikos. 80647 80648 [WML] History handling / page cache / loading is buggy and depends on several hacks 80649 https://bugs.webkit.org/show_bug.cgi?id=27707 80650 80651 Redesign WML history/loading handling. In detail: 80652 80653 - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour 80654 by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect 80655 WML content itself. 80656 80657 WML content is usually a standalone WML document (isWMLDocument()=true) or as special case 80658 an XHTML document which embeds a WML document (that's the way the WML layout tests work). 80659 Force WML loading behaviour even for XHTML document which embed WML documents. This only 80660 applies to our layout tests, not for any real world site. Though it gives us a perfect 80661 way to test the WML loading code even when we're not operating on a standalone WML document. 80662 80663 Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted 80664 in a standalone WML document or wheter the main frame document is different. If it differs 80665 the main frame documents' "containsWMLContent" property is set to true. 80666 80667 -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which 80668 checks if the associated frame document is a WML document or wheter it contains WML content. 80669 80670 - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll' 80671 detection. WML documents (or those containing WML content) always want new loads even for in-page 80672 navigation. No "scroll to anchor" mechanism should apply. 80673 80674 - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent(). 80675 WML pages should never be cached, potential security problem due the use of variables (per spec). 80676 80677 Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling 80678 and history navigation (<prev/> task). 80679 80680 Tests: wml/enter-card-with-events.html 80681 wml/enter-first-card-with-events.html 80682 80683 * dom/Document.cpp: Initialize new 'm_containsWMLContent' property. 80684 (WebCore::Document::Document): 80685 * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above). 80686 (WebCore::Document::setContainsWMLContent): 80687 (WebCore::Document::containsWMLContent): 80688 * history/BackForwardList.cpp: 80689 (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup. 80690 * history/BackForwardList.h: 80691 * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above). 80692 (WebCore::FrameLoader::FrameLoader): 80693 (WebCore::frameContainsWMLContent): 80694 (WebCore::FrameLoader::canCachePageContainingThisFrame): 80695 (WebCore::FrameLoader::shouldReload): 80696 (WebCore::FrameLoader::loadItem): 80697 * loader/FrameLoader.h: 80698 * wml/WMLCardElement.cpp: 80699 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length. 80700 (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document. 80701 * wml/WMLGoElement.cpp: 80702 (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck() 80703 * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own. 80704 (WebCore::WMLPageState::WMLPageState): 80705 (WebCore::WMLPageState::dump): 80706 (WebCore::WMLPageState::reset): 80707 * wml/WMLPageState.h: 80708 80709 2009-07-27 Pavel Feldman <pfeldman (a] chromium.org> 80710 80711 Reviewed by Adam Roben. 80712 80713 Fix Chromium build breakage introduced in 46388. 80714 80715 https://bugs.webkit.org/show_bug.cgi?id=27705 80716 80717 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 80718 (WebCore::FontPlatformData::description): 80719 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 80720 80721 2009-07-27 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 80722 80723 Reviewed by Simon Hausmann. 80724 80725 Add some more debug logging to PluginViewMac. 80726 80727 * plugins/mac/PluginViewMac.cpp: 80728 80729 2009-07-27 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 80730 80731 Reviewed by Jan Michael Alonzo. 80732 80733 Remove dead code from the GTK NPAPI implementation. 80734 80735 * plugins/gtk/PluginViewGtk.cpp: 80736 80737 2009-07-27 Csaba Osztrogonac <oszi (a] inf.u-szeged.hu> 80738 80739 Reviewed by Simon Hausmann. 80740 80741 [Qt] Buildfix on Windows. 80742 https://bugs.webkit.org/show_bug.cgi?id=27702 80743 80744 * plugins/win/PluginViewWin.cpp: 80745 (WebCore::PluginView::hookedEndPaint): 80746 Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 80747 assembly, because with "g" constraint, wrong assembly code generated. 80748 80749 2009-07-27 Pavel Feldman <pfeldman (a] chromium.org> 80750 80751 Reviewed by Timothy Hatcher. 80752 80753 WebCore bindings: Implement ScriptArray bindings. 80754 80755 https://bugs.webkit.org/show_bug.cgi?id=27691 80756 80757 * GNUmakefile.am: 80758 * WebCore.gypi: 80759 * WebCore.pro: 80760 * WebCore.vcproj/WebCore.vcproj: 80761 * WebCore.xcodeproj/project.pbxproj: 80762 * bindings/js/ScriptArray.cpp: Added. 80763 (WebCore::ScriptArray::ScriptArray): 80764 (WebCore::handleException): 80765 (WebCore::ScriptArray::set): 80766 (WebCore::length): 80767 (WebCore::ScriptArray::createNew): 80768 * bindings/js/ScriptArray.h: Added. 80769 (WebCore::ScriptArray::ScriptArray): 80770 (WebCore::ScriptArray::jsArray): 80771 * bindings/v8/ScriptArray.cpp: Added. 80772 (WebCore::ScriptArray::ScriptArray): 80773 (WebCore::ScriptArray::set): 80774 (WebCore::ScriptArray::length): 80775 (WebCore::ScriptArray::createNew): 80776 * bindings/v8/ScriptArray.h: Added. 80777 (WebCore::ScriptArray::ScriptArray): 80778 (WebCore::ScriptArray::~ScriptArray): 80779 80780 2009-07-27 Brent Fulgham <bfulgham (a] webkit.org> 80781 80782 Build correct, no review. 80783 80784 Change in r46407 broke Apple Windows build. 80785 Switch to WinCairo-only test, to avoid any 80786 other platform break. 80787 80788 * WebCorePrefix.h: 80789 80790 2009-07-26 Brent Fulgham <bfulgham (a] webkit.org> 80791 80792 Build correct, no review. 80793 80794 Change in r46407 broke Apple Windows build. 80795 80796 * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if 80797 CoreServices.h should be included. 80798 80799 2009-07-26 Brent Fulgham <bfulgham (a] webkit.org> 80800 80801 Build correction, no review. 80802 80803 Change in r46195 broke WinCairo build. 80804 80805 * WebCorePrefix.h: CoreServices should be ignored 80806 for non-Apple build. 80807 80808 2009-07-26 Pavel Feldman <pfeldman (a] chromium.org> 80809 80810 Reviewed by Timothy Hatcher. 80811 80812 Web Inspector: Implement the breakpoints sidebar pane. 80813 This change adds simple UI support into the existing 80814 BreakpointSidebarPane. 80815 80816 https://bugs.webkit.org/show_bug.cgi?id=11175 80817 80818 * inspector/front-end/Breakpoint.js: 80819 (WebInspector.Breakpoint.prototype.set enabled): 80820 (WebInspector.Breakpoint.prototype.get label): 80821 (WebInspector.Breakpoint.prototype.get id): 80822 * inspector/front-end/BreakpointsSidebarPane.js: 80823 (WebInspector.BreakpointsSidebarPane): 80824 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 80825 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): 80826 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked): 80827 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 80828 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 80829 * inspector/front-end/ScriptsPanel.js: 80830 (WebInspector.ScriptsPanel): 80831 (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID): 80832 * inspector/front-end/inspector.css: 80833 80834 2009-07-16 Shinichiro Hamaji <hamaji (a] chromium.org> 80835 80836 Reviewed by Oliver Hunt. 80837 80838 Canvas: rotation of 'no-repeat' pattern still has small error 80839 https://bugs.webkit.org/show_bug.cgi?id=26749 80840 80841 Use 1<<22 as steps of no-repeat pattern to make the error less 80842 than 0.5. The previous value may cause 1 pixel errors. 80843 80844 Add another test to show this bug clearly. 80845 Also add png expected image which was missing in the previous patch. 80846 80847 Test: fast/canvas/image-pattern-rotate.html 80848 80849 * platform/graphics/cg/PatternCG.cpp: 80850 (WebCore::Pattern::createPlatformPattern): 80851 80852 2009-07-25 Kwang Yul Seo <skyul (a] company100.net> 80853 80854 Reviewed by Darin Adler. 80855 80856 Windows build break due to warning C4819 80857 https://bugs.webkit.org/show_bug.cgi?id=27416 80858 80859 Disable C4819 warning to fix build. 80860 80861 * WebCore.vcproj/QTMovieWin.vcproj: 80862 * WebCore.vcproj/WebCore.vcproj: 80863 80864 2009-07-25 Joseph Pecoraro <joepeck02 (a] gmail.com> 80865 80866 Reviewed by Kevin McCullough. 80867 80868 Inspector: Keyboard Shortcuts to Switch Panels 80869 https://bugs.webkit.org/show_bug.cgi?id=27286 80870 80871 * inspector/front-end/inspector.js: 80872 (WebInspector.loaded): save a list of the order of the panels 80873 (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels 80874 80875 2009-07-25 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 80876 80877 Reviewed by George Staikos. 80878 80879 [Qt] Fix build break after r46369 80880 https://bugs.webkit.org/show_bug.cgi?id=27680 80881 80882 * WebCore.pro: 80883 80884 2009-07-25 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80885 80886 Reviewed by George Staikos. 80887 80888 [WML] Variable substitution is buggy 80889 https://bugs.webkit.org/show_bug.cgi?id=27677 80890 80891 Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution 80892 won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html. 80893 80894 * dom/Text.cpp: 80895 (WebCore::Text::attach): 80896 * dom/Text.h: 80897 80898 2009-07-25 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 80899 80900 Reviewed by George Staikos. 80901 80902 [WML] WMLDoElement doesn't update its RenderButton object upon attach() 80903 https://bugs.webkit.org/show_bug.cgi?id=27676 80904 80905 WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton. 80906 Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml. 80907 80908 * wml/WMLDoElement.cpp: 80909 (WebCore::WMLDoElement::attach): 80910 * wml/WMLDoElement.h: 80911 80912 2009-07-25 Pavel Feldman <pfeldman (a] chromium.org> 80913 80914 Fix Windows build breakage introduced in 46390. 80915 80916 * WebCore.vcproj/WebCore.vcproj: 80917 80918 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 80919 80920 Reviewed by Oliver Hunt. 80921 80922 Inspector: Properties Should be Sorted more Naturally 80923 https://bugs.webkit.org/show_bug.cgi?id=27329 80924 80925 * inspector/front-end/ObjectPropertiesSection.js: 80926 (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties 80927 (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort 80928 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties 80929 * inspector/front-end/utilities.js: 80930 (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties 80931 80932 2009-07-24 Pavel Feldman <pfeldman (a] chromium.org> 80933 80934 Reviewed by Timothy Hatcher. 80935 80936 Web Inspector: Split InspectorController into InspectorController 80937 and InspectorBackend. Everything frontend needs from InspectorController 80938 will slowly migrate into the InspectorBackend. 80939 80940 https://bugs.webkit.org/show_bug.cgi?id=27541 80941 80942 * DerivedSources.make: 80943 * GNUmakefile.am: 80944 * WebCore.gypi: 80945 * WebCore.pro: 80946 * WebCore.xcodeproj/project.pbxproj: 80947 * WebCoreSources.bkl: 80948 * bindings/js/JSInspectorBackendCustom.cpp: Added. 80949 (WebCore::JSInspectorBackend::highlightDOMNode): 80950 (WebCore::JSInspectorBackend::search): 80951 (WebCore::JSInspectorBackend::databaseTableNames): 80952 (WebCore::JSInspectorBackend::inspectedWindow): 80953 (WebCore::JSInspectorBackend::setting): 80954 (WebCore::JSInspectorBackend::setSetting): 80955 (WebCore::JSInspectorBackend::wrapCallback): 80956 (WebCore::JSInspectorBackend::currentCallFrame): 80957 (WebCore::JSInspectorBackend::profiles): 80958 * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added. 80959 (WebCore::CALLBACK_FUNC_DECL): 80960 * bindings/js/JSInspectorControllerCustom.cpp: Removed. 80961 * bindings/js/ScriptObject.cpp: 80962 (WebCore::ScriptGlobalObject::set): 80963 * bindings/js/ScriptObject.h: 80964 * bindings/v8/DOMObjectsInclude.h: 80965 * bindings/v8/DerivedSourcesAllInOne.cpp: 80966 * bindings/v8/ScriptObject.cpp: 80967 (WebCore::ScriptGlobalObject::set): 80968 * bindings/v8/ScriptObject.h: 80969 * bindings/v8/V8Index.cpp: 80970 * bindings/v8/V8Index.h: 80971 * bindings/v8/custom/V8CustomBinding.h: 80972 * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed. 80973 * inspector/InspectorController.cpp: 80974 (WebCore::InspectorController::InspectorController): 80975 (WebCore::InspectorController::windowScriptObjectAvailable): 80976 * inspector/InspectorController.h: 80977 (WebCore::InspectorController::inspectorBackend): 80978 * inspector/InspectorBackend.cpp: Added. 80979 * inspector/InspectorBackend.h: Added. 80980 (WebCore::InspectorBackend::create): 80981 (WebCore::InspectorBackend::inspectorController): 80982 * inspector/InspectorBackend.idl: Added. 80983 * inspector/InspectorController.idl: Removed. 80984 * inspector/front-end/Resource.js: 80985 * page/Page.cpp: 80986 (WebCore::Page::Page): 80987 * page/Page.h: 80988 80989 2009-07-25 Mike Fenton <mike.fenton (a] torchmobile.com> 80990 80991 Reviewed by George Staikos. 80992 80993 Update WebCore/page/Frame.cpp/h to conform to WebKit 80994 Style Guidelines as identified by cpplint.py. 80995 https://bugs.webkit.org/show_bug.cgi?id=27654 80996 80997 * page/Frame.cpp: 80998 (WebCore::Frame::Frame): 80999 (WebCore::Frame::~Frame): 81000 (WebCore::Frame::setDocument): 81001 (WebCore::Frame::firstRectForRange): 81002 (WebCore::createRegExpForLabels): 81003 (WebCore::Frame::searchForLabelsBeforeElement): 81004 (WebCore::Frame::matchLabelsAgainstElement): 81005 (WebCore::Frame::selectionLayoutChanged): 81006 (WebCore::Frame::setZoomFactor): 81007 (WebCore::Frame::reapplyStyles): 81008 (WebCore::Frame::isContentEditable): 81009 (WebCore::Frame::computeAndSetTypingStyle): 81010 (WebCore::Frame::selectionStartStylePropertyValue): 81011 (WebCore::Frame::selectionComputedStyle): 81012 (WebCore::Frame::applyEditingStyleToBodyElement): 81013 (WebCore::Frame::removeEditingStyleFromBodyElement): 81014 (WebCore::Frame::applyEditingStyleToElement): 81015 (WebCore::Frame::selectionBounds): 81016 (WebCore::Frame::currentForm): 81017 (WebCore::Frame::revealSelection): 81018 (WebCore::Frame::styleForSelectionStart): 81019 (WebCore::Frame::setSelectionFromNone): 81020 (WebCore::Frame::findString): 81021 (WebCore::Frame::markAllMatchesForText): 81022 (WebCore::Frame::setMarkedTextMatchesAreHighlighted): 81023 (WebCore::Frame::clearFormerDOMWindow): 81024 (WebCore::Frame::unfocusWindow): 81025 (WebCore::Frame::respondToChangedSelection): 81026 (WebCore::Frame::documentAtPoint): 81027 * page/Frame.h: 81028 (WebCore::Frame::create): 81029 (WebCore::Frame::displayStringModifiedByEncoding): 81030 (WebCore::Frame::pageZoomFactor): 81031 (WebCore::Frame::textZoomFactor): 81032 81033 2009-07-24 Dan Bernstein <mitz (a] apple.com> 81034 81035 Reviewed by Darin Adler. 81036 81037 Add functions to print the glyph page trees for debugging 81038 https://bugs.webkit.org/show_bug.cgi?id=27671 81039 81040 * platform/graphics/FontData.h: Defined a description() method. 81041 81042 * platform/graphics/GlyphPageTreeNode.cpp: 81043 (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and 81044 its descendants. 81045 (showGlyphPageTrees): Added. Prints all glyph page trees. 81046 (showGlyphPageTree): Added. Prints the glyph page tree for a given page. 81047 * platform/graphics/GlyphPageTreeNode.h: 81048 81049 * platform/graphics/SegmentedFontData.cpp: 81050 (WebCore::SegmentedFontData::description): Added. 81051 81052 * platform/graphics/SegmentedFontData.h: 81053 * platform/graphics/SimpleFontData.cpp: 81054 (WebCore::SimpleFontData::description): Added. Uses the platform data 81055 as the description for non-svg, non-custom fonts. 81056 * platform/graphics/SimpleFontData.h: 81057 81058 * platform/graphics/gtk/FontPlatformData.h: 81059 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 81060 (WebCore::FontPlatformData::description): Added. Returns a null string. 81061 * platform/graphics/gtk/FontPlatformDataPango.cpp: 81062 (WebCore::FontPlatformData::description): Added. Returns a null string. 81063 81064 * platform/graphics/mac/FontPlatformData.h: 81065 * platform/graphics/mac/FontPlatformDataMac.mm: 81066 (WebCore::FontPlatformData::description): Added. Returns the 81067 description of the CGFont, the size and the synthetic style flags, 81068 if set. 81069 81070 * platform/graphics/qt/FontPlatformData.h: 81071 * platform/graphics/qt/FontPlatformDataQt.cpp: 81072 (WebCore::FontPlatformData::description): Added. Returns a null string. 81073 81074 * platform/graphics/win/FontPlatformData.h: 81075 * platform/graphics/win/FontPlatformDataWin.cpp: 81076 (WebCore::FontPlatformData::description): Added. Returns a null string. 81077 81078 * platform/graphics/wince/FontPlatformData.cpp: 81079 (WebCore::FontPlatformData::description): Added. Returns a null string. 81080 * platform/graphics/wince/FontPlatformData.h: 81081 81082 * platform/graphics/wx/FontPlatformData.h: 81083 * platform/graphics/wx/FontPlatformDataWx.cpp: 81084 (WebCore::FontPlatformData::description): Added. Returns a null string. 81085 81086 2009-07-24 Mads Ager <ager (a] chromium.org> 81087 81088 Reviewed by Adam Barth. 81089 81090 SVG and XPath memory leaks in V8 bindings 81091 https://bugs.webkit.org/show_bug.cgi?id=27488 81092 81093 Add proper 'create' methods to SVGPodTypeWrappers and 81094 XPathNSResolvers in the V8 bindings to avoid memory leaks. 81095 81096 Introduce convertToV8Object methods that accept PassRefPtrs and 81097 clean up the use of get() and release() on RefPtrs. 81098 81099 * bindings/scripts/CodeGeneratorV8.pm: 81100 * bindings/v8/V8DOMWrapper.h: 81101 (WebCore::V8DOMWrapper::convertNodeToV8Object): 81102 (WebCore::V8DOMWrapper::convertEventToV8Object): 81103 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 81104 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 81105 * bindings/v8/V8SVGPODTypeWrapper.h: 81106 (WebCore::V8SVGPODTypeWrapperCreatorForList::create): 81107 (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList): 81108 (WebCore::V8SVGStaticPODTypeWrapper::create): 81109 (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper): 81110 (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create): 81111 (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent): 81112 (WebCore::V8SVGStaticPODTypeWrapperWithParent::create): 81113 (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent): 81114 (WebCore::V8SVGDynamicPODTypeWrapper::create): 81115 (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper): 81116 (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 81117 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 81118 (WebCore::CALLBACK_FUNC_DECL): 81119 * bindings/v8/custom/V8ClientRectListCustom.cpp: 81120 (WebCore::INDEXED_PROPERTY_GETTER): 81121 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 81122 (WebCore::V8CustomXPathNSResolver::create): 81123 * bindings/v8/custom/V8CustomXPathNSResolver.h: 81124 * bindings/v8/custom/V8DOMWindowCustom.cpp: 81125 (WebCore::NAMED_PROPERTY_GETTER): 81126 * bindings/v8/custom/V8DocumentCustom.cpp: 81127 (WebCore::CALLBACK_FUNC_DECL): 81128 * bindings/v8/custom/V8ElementCustom.cpp: 81129 (WebCore::CALLBACK_FUNC_DECL): 81130 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 81131 (WebCore::getNamedItems): 81132 (WebCore::getItem): 81133 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 81134 (WebCore::NAMED_PROPERTY_GETTER): 81135 (WebCore::ACCESSOR_GETTER): 81136 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 81137 (WebCore::INDEXED_PROPERTY_GETTER): 81138 (WebCore::NAMED_PROPERTY_GETTER): 81139 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 81140 (WebCore::INDEXED_PROPERTY_GETTER): 81141 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 81142 (WebCore::NAMED_PROPERTY_GETTER): 81143 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 81144 (WebCore::CALLBACK_FUNC_DECL): 81145 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 81146 (WebCore::INDEXED_PROPERTY_GETTER): 81147 (WebCore::NAMED_PROPERTY_GETTER): 81148 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 81149 (WebCore::toV8): 81150 * bindings/v8/custom/V8NodeListCustom.cpp: 81151 (WebCore::NAMED_PROPERTY_GETTER): 81152 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 81153 (WebCore::CALLBACK_FUNC_DECL): 81154 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 81155 (WebCore::toV8): 81156 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 81157 (WebCore::CALLBACK_FUNC_DECL): 81158 81159 2009-07-24 Brian Weinstein <bweinstein (a] apple.com> 81160 81161 Reviewed by Jon Honeycutt. 81162 81163 Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging 81164 https://bugs.webkit.org/show_bug.cgi?id=21794 81165 81166 Create two new booleans to determine whether we have done a springloaded pan scroll, and update 81167 the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function 81168 does. 81169 81170 * page/EventHandler.cpp: 81171 (WebCore::EventHandler::EventHandler): Initialized two new booleans. 81172 (WebCore::EventHandler::autoscrollTimerFired): 81173 (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor. 81174 (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag. 81175 (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag. 81176 * page/EventHandler.h: 81177 81178 2009-07-24 Yong Li <yong.li (a] torchmobile.com> 81179 81180 Reviewed by George Staikos. 81181 81182 https://bugs.webkit.org/show_bug.cgi?id=27657 81183 Add more wince port files to WebCore 81184 81185 Written by Yong Li <yong.li (a] torchmobile.com> and Lyon Chen <lyon.chen (a] torchmobile.com> 81186 81187 * loader/icon/wince/IconDatabaseWince.cpp: Added. 81188 * rendering/RenderThemeWince.cpp: Added. 81189 * rendering/RenderThemeWince.h: Added. 81190 * storage/wince/DatabaseThreadWince.cpp: Added. 81191 * storage/wince/DatabaseThreadWince.h: Added. 81192 * storage/wince/LocalStorageThreadWince.cpp: Added. 81193 * storage/wince/LocalStorageThreadWince.h: Added. 81194 * svg/graphics/wince/SVGResourceFilterWince.cpp: Added. 81195 81196 2009-07-24 Ryosuke Niwa <rniwa (a] webkit.org> 81197 81198 Reviewed by Justin Garcia. 81199 81200 execCommand('underline') can modify DOM outside of the contentEditable area 81201 https://bugs.webkit.org/show_bug.cgi?id=24333 81202 81203 highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied 81204 outside of it, we don't accidently modify the style attribute. 81205 81206 Tests: editing/style/textdecoration-outside-of-rooteditable.html 81207 editing/style/textdecoration-outside-of-unsplittable-element.html 81208 81209 * editing/ApplyStyleCommand.cpp: 81210 (WebCore::StyleChange::init): 81211 (WebCore::highestAncestorWithTextDecoration): 81212 81213 2009-07-24 Daniel Bates <dbates (a] intudata.com> 81214 81215 Reviewed by Adam Barth. 81216 81217 https://bugs.webkit.org/show_bug.cgi?id=27639 81218 81219 Fixes false positives when evaluating certain strings that only contain 81220 non-canonical characters. 81221 81222 Test: http/tests/security/xssAuditor/script-tag-safe.html 81223 81224 * page/XSSAuditor.cpp: 81225 (WebCore::isNonCanonicalCharacter): 81226 (WebCore::XSSAuditor::findInRequest): 81227 81228 2009-07-24 Drew Wilson <atwilson (a] google.com> 81229 81230 Reviewed by David Levin. 81231 81232 Changed WorkerContext destructor to not access possibly-freed WorkerThread. 81233 81234 Failed assertion in WorkerContext::~WorkerContext(). 81235 https://bugs.webkit.org/show_bug.cgi?id=27665 81236 81237 * workers/DedicatedWorkerContext.cpp: 81238 (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): 81239 * workers/WorkerContext.cpp: 81240 (WebCore::WorkerContext::~WorkerContext): 81241 Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor). 81242 81243 2009-07-24 Drew Wilson <atwilson (a] google.com> 81244 81245 Reviewed by Adam Barth. 81246 81247 Updated code generator to properly generate bindings for WorkerContext exposed functions. 81248 81249 Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError 81250 https://bugs.webkit.org/show_bug.cgi?id=27419 81251 81252 Test: fast/workers/worker-call.html 81253 81254 * bindings/js/JSWorkerContextBase.cpp: 81255 (WebCore::toJSDedicatedWorkerContext): 81256 (WebCore::toJSWorkerContext): 81257 Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object. 81258 * bindings/js/JSWorkerContextBase.h: 81259 Added toJS*WorkerContext APIs. 81260 * bindings/scripts/CodeGeneratorJS.pm: 81261 Added code to appropriately check the passed-in this object when invoking functions at global scope. 81262 81263 2009-07-24 Drew Wilson <atwilson (a] google.com> 81264 81265 Reviewed by Adam Barth. 81266 81267 Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext 81268 https://bugs.webkit.org/show_bug.cgi?id=27420 81269 81270 No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality). 81271 81272 * DerivedSources.cpp: 81273 Added JSDerivedWorkerContext.cpp 81274 * DerivedSources.make: 81275 Added DerivedWorkerContext files 81276 * GNUmakefile.am: 81277 Added DerivedWorkerContext files 81278 * WebCore.gypi: 81279 Added DerivedWorkerContext files 81280 * WebCore.pro: 81281 Added DerivedWorkerContext files 81282 * WebCore.vcproj/WebCore.vcproj: 81283 Added DerivedWorkerContext files 81284 * WebCore.xcodeproj/project.pbxproj: 81285 Added DerivedWorkerContext files 81286 * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added. 81287 (WebCore::JSDedicatedWorkerContext::mark): 81288 Custom mark function for onmessage event handler. 81289 * bindings/js/JSEventTarget.cpp: 81290 (WebCore::toJS): 81291 Supports conversion to JSDedicatedWorkerContext. 81292 (WebCore::toEventTarget): 81293 * bindings/js/JSWorkerContextCustom.cpp: 81294 (WebCore::JSWorkerContext::mark): 81295 Moved onmessage mark handling into DedicatedWorkerContext. 81296 * bindings/js/WorkerScriptController.cpp: 81297 Added appropriate casts to DedicatedWorkerContext for postMessage(). 81298 (WebCore::WorkerScriptController::initScript): 81299 Manually sets up the prototype chain for the worker context. 81300 * bindings/scripts/CodeGeneratorJS.pm: 81301 Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute. 81302 * bindings/scripts/CodeGeneratorV8.pm: 81303 Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext. 81304 * bindings/v8/DOMObjectsInclude.h: 81305 Added DedicatedWorkerContext.h 81306 * bindings/v8/DerivedSourcesAllInOne.cpp: 81307 Added V8DedicatedWorkerContext.cpp 81308 * bindings/v8/V8DOMWrapper.cpp: 81309 (WebCore::V8DOMWrapper::getTemplate): 81310 Added code to reserve extra fields for V8DedicatedWorkerContext. 81311 * bindings/v8/V8Index.cpp: 81312 Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h 81313 * bindings/v8/V8Index.h: 81314 Added DedicatedWorkerContext as a non-node wrapper type. 81315 Removed WORKERCONTEXT as a valid template type. 81316 * bindings/v8/WorkerContextExecutionProxy.cpp: 81317 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 81318 Creates DedicatedWorkerContext instead of WorkerContext. 81319 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): 81320 Returns DedicatedWorkerContext instead of WorkerContext. 81321 (WebCore::WorkerContextExecutionProxy::retrieve): 81322 Refactored to deal with DedicatedWorkerContext. 81323 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 81324 * bindings/v8/custom/V8CustomBinding.h: 81325 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added. 81326 Moved onmessage code from V8WorkerContextCustom.cpp 81327 (WebCore::ACCESSOR_GETTER): 81328 (WebCore::ACCESSOR_SETTER): 81329 * bindings/v8/custom/V8WorkerContextCustom.cpp: 81330 Moved onmessage code to V8DedicatedWorkerContextCustom.cpp 81331 * dom/EventTarget.cpp: 81332 (WebCore::EventTarget::toDedicatedWorkerContext): 81333 * dom/EventTarget.h: 81334 * workers/DedicatedWorkerContext.cpp: Added. 81335 Moved DedicatedWorker-only APIs from WorkerContext. 81336 (WebCore::DedicatedWorkerContext::DedicatedWorkerContext): 81337 (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): 81338 (WebCore::DedicatedWorkerContext::reportException): 81339 (WebCore::DedicatedWorkerContext::postMessage): 81340 (WebCore::DedicatedWorkerContext::dispatchMessage): 81341 * workers/DedicatedWorkerContext.h: Added. 81342 Moved DedicatedWorker-only APIs from WorkerContext. 81343 (WebCore::DedicatedWorkerContext::create): 81344 (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext): 81345 (WebCore::DedicatedWorkerContext::setOnmessage): 81346 (WebCore::DedicatedWorkerContext::onmessage): 81347 * workers/DedicatedWorkerContext.idl: Added. 81348 * workers/WorkerContext.cpp: 81349 (WebCore::WorkerContext::~WorkerContext): 81350 Moved code that notifies parent that worker is closing down into DedicatedWorkerContext. 81351 * workers/WorkerContext.h: 81352 (WebCore::WorkerContext::isClosing): 81353 Exposed closing flag as an API so derived classes can access it. 81354 * workers/WorkerContext.idl: 81355 * workers/WorkerMessagingProxy.cpp: 81356 (WebCore::MessageWorkerContextTask::performTask): 81357 Calls into DedicatedWorkerContext to handle message. 81358 * workers/WorkerThread.cpp: 81359 (WebCore::WorkerThread::workerThread): 81360 Creates a DedicatedWorkerContext when the thread starts up. 81361 81362 2009-07-24 Eric Seidel <eric (a] webkit.org> 81363 81364 Reviewed by Adam Barth. 81365 81366 Move more callers to using 3 argument toJS 81367 https://bugs.webkit.org/show_bug.cgi?id=27661 81368 81369 No functional changes, thus no tests. 81370 These are all the places where we can't yet pass the 81371 correct globalObject because we don't have or don't know the right one. 81372 81373 * bindings/js/JSCustomPositionCallback.cpp: 81374 (WebCore::JSCustomPositionCallback::handleEvent): 81375 * bindings/js/JSCustomPositionErrorCallback.cpp: 81376 (WebCore::JSCustomPositionErrorCallback::handleEvent): 81377 * bindings/js/JSCustomSQLStatementCallback.cpp: 81378 (WebCore::JSCustomSQLStatementCallback::handleEvent): 81379 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 81380 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 81381 * bindings/js/JSCustomSQLTransactionCallback.cpp: 81382 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 81383 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 81384 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 81385 * bindings/js/JSNodeFilterCondition.cpp: 81386 (WebCore::JSNodeFilterCondition::acceptNode): 81387 81388 2009-07-24 Eric Seidel <eric (a] webkit.org> 81389 81390 Reviewed by Adam Barth. 81391 81392 Fix the last of the x-frame constructor calls to have the right prototype chains 81393 https://bugs.webkit.org/show_bug.cgi?id=27645 81394 81395 Fix the last few constructors to use their stored globalObject pointer when 81396 constructing objects instead of the lexicalGlobalObject(). 81397 81398 * bindings/js/JSAudioConstructor.cpp: 81399 (WebCore::constructAudio): 81400 * bindings/js/JSImageConstructor.cpp: 81401 (WebCore::constructImage): 81402 * bindings/js/JSMessageChannelConstructor.cpp: 81403 (WebCore::JSMessageChannelConstructor::construct): 81404 * bindings/js/JSOptionConstructor.cpp: 81405 (WebCore::constructHTMLOptionElement): 81406 * bindings/js/JSWebKitPointConstructor.cpp: 81407 (WebCore::constructWebKitPoint): 81408 * bindings/js/JSWorkerConstructor.cpp: 81409 (WebCore::constructWorker): 81410 81411 2009-07-24 Jian Li <jianli (a] chromium.org> 81412 81413 Reviewed by Adam Barth. 81414 81415 [V8] Cleanup exception handling in worker evaluation code. 81416 https://bugs.webkit.org/show_bug.cgi?id=27282 81417 81418 * bindings/v8/WorkerContextExecutionProxy.cpp: 81419 (WebCore::WorkerContextExecutionProxy::evaluate): 81420 * bindings/v8/WorkerContextExecutionProxy.h: 81421 (WebCore::WorkerContextExecutionState::WorkerContextExecutionState): 81422 * bindings/v8/WorkerScriptController.cpp: 81423 (WebCore::WorkerScriptController::evaluate): 81424 (WebCore::WorkerScriptController::setException): 81425 81426 2009-07-24 Stephen White <senorblanco (a] chromium.org> 81427 81428 Reviewed by David Levin. 81429 81430 Reverting r46157, since it may be causing problems with Chromium 81431 reliability (see http://crbug.com/17569). 81432 81433 https://bugs.webkit.org/show_bug.cgi?id=27388 81434 81435 * platform/graphics/skia/GraphicsContextSkia.cpp: 81436 (WebCore::GraphicsContext::drawLine): 81437 * platform/graphics/skia/PlatformContextSkia.cpp: 81438 (PlatformContextSkia::setupPaintForStroking): 81439 81440 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81441 81442 Reviewed by Timothy Hatcher. 81443 81444 REGRESSION: inspector seems broken in ToT WebKit 81445 https://bugs.webkit.org/show_bug.cgi?id=27646 81446 81447 * inspector/front-end/Console.js: 81448 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 81449 81450 2009-07-24 Dan Bernstein <mitz (a] apple.com> 81451 81452 Reviewed by Anders Carlsson. 81453 81454 Add the shadow style member to the ShadowData constructor and == 81455 operator 81456 81457 * rendering/style/ShadowData.cpp: 81458 (WebCore::ShadowData::ShadowData): 81459 (WebCore::ShadowData::operator==): 81460 81461 2009-07-24 Jian Li <jianli (a] chromium.org> 81462 81463 Reviewed by Eric Seidel. 81464 81465 [V8] More V8 bindings changes to use ErrorEvent. 81466 https://bugs.webkit.org/show_bug.cgi?id=27630 81467 81468 * bindings/v8/DOMObjectsInclude.h: 81469 * bindings/v8/DerivedSourcesAllInOne.cpp: 81470 * bindings/v8/V8DOMWrapper.cpp: 81471 (WebCore::V8DOMWrapper::convertEventToV8Object): 81472 * bindings/v8/V8Index.cpp: 81473 * bindings/v8/V8Index.h: 81474 81475 2009-07-24 Brent Fulgham <bfulgham (a] webkit.org> 81476 81477 Reviewed by Dave Hyatt. 81478 81479 Clean up dependencies on Apple support libraries for non-Apple build. 81480 http://bugs.webkit.org/show_bug.cgi?id=27532. 81481 81482 * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references 81483 to ApplicationServices.h and WebKitSystemInterface.h 81484 81485 2009-07-24 Dan Bernstein <mitz (a] apple.com> 81486 81487 Another attempted build fix 81488 81489 * bindings/js/JSAbstractWorkerCustom.cpp: 81490 81491 2009-07-24 Dan Bernstein <mitz (a] apple.com> 81492 81493 Attempted build fix 81494 81495 * bindings/js/JSAbstractWorkerCustom.cpp: 81496 (WebCore::toJS): 81497 81498 2009-07-24 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 81499 81500 Build fix for 64 bit Linux. 81501 81502 int64_t is long on Linux 64 bit and not long long, thus 81503 getFileSize with a int64_t out value fails to build. 81504 81505 Use a temporary to work around the problem. 81506 81507 * loader/appcache/ApplicationCacheStorage.cpp: 81508 (WebCore::ApplicationCacheStorage::spaceNeeded): 81509 81510 2009-07-24 Eric Seidel <eric (a] webkit.org> 81511 81512 Reviewed by Adam Barth. 81513 81514 Update all CREATE_DOM_*_WRAPPER callers to pass globalObject 81515 https://bugs.webkit.org/show_bug.cgi?id=27644 81516 81517 This is another attempt at making the change for bug 27634 smaller. 81518 I included the changes to make_names.pl as well as any file which 81519 used CREATE_DOM_*_WRAPPER macros. 81520 81521 The changes to the construct* functions are what fix the cases in 81522 fast/dom/constructed-objects-prototypes.html 81523 81524 The changes to passing globalObject through CREATE_* are what fix 81525 fast/dom/prototype-inheritance-2.html 81526 81527 * bindings/js/JSCDATASectionCustom.cpp: 81528 (WebCore::toJSNewlyCreated): pass globalObject. 81529 * bindings/js/JSCSSRuleCustom.cpp: 81530 (WebCore::toJS): pass globalObject. 81531 * bindings/js/JSCSSValueCustom.cpp: 81532 (WebCore::toJS): pass globalObject. 81533 * bindings/js/JSDOMBinding.h: updated macros to pass globalObject. 81534 * bindings/js/JSDocumentCustom.cpp: 81535 (WebCore::toJS): pass globalObject. 81536 * bindings/js/JSElementCustom.cpp: 81537 (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value. 81538 (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value. 81539 (WebCore::toJSNewlyCreated): pass globalObject. 81540 * bindings/js/JSEventCustom.cpp: 81541 (WebCore::JSEvent::clipboardData): pass globalObject. 81542 (WebCore::toJS): pass globalObject. 81543 * bindings/js/JSHTMLCollectionCustom.cpp: 81544 (WebCore::getNamedItems): use globalObject() for wrapping returned collection items. 81545 (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items. 81546 (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items. 81547 (WebCore::toJS): pass globalObject. 81548 * bindings/js/JSImageDataCustom.cpp: 81549 (WebCore::toJS): pass globalObject. 81550 * bindings/js/JSNodeCustom.cpp: 81551 (WebCore::createWrapper): pass globalObject. 81552 * bindings/js/JSSVGPathSegCustom.cpp: 81553 (WebCore::toJS): pass globalObject. 81554 * bindings/js/JSStyleSheetCustom.cpp: 81555 (WebCore::toJS): pass globalObject. 81556 * bindings/js/JSTextCustom.cpp: 81557 (WebCore::toJSNewlyCreated): pass globalObject. 81558 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 81559 (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing 81560 * bindings/js/JSXMLHttpRequestConstructor.cpp: 81561 (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing 81562 * bindings/js/JSXSLTProcessorConstructor.cpp: 81563 (WebCore::constructXSLTProcessor): use constructors globalObject when constructing 81564 * dom/make_names.pl: 81565 Pass globalObject through CREATE_* macros and various support functions. 81566 81567 2009-07-24 Eric Seidel <eric (a] webkit.org> 81568 81569 Reviewed by Adam Barth. 81570 81571 Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls 81572 https://bugs.webkit.org/show_bug.cgi?id=27643 81573 81574 This is an attempt to make this change as small as possible. 81575 I started by including all changes to CodeGeneratorJS.pm from bug 27634, 81576 and then made the minimal amount of other changes needed to support that change. 81577 81578 Most toJS implementations ignore their passed JSDOMGlobalObject. 81579 There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling. 81580 All places where it is not clear what we should pass as the global object 81581 (or where the global object is simply not available, like for some SVG bindings) 81582 we pass deprecatedGlobalObjectForPrototype instead. 81583 81584 * bindings/js/JSCDATASectionCustom.cpp: 81585 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 81586 * bindings/js/JSCSSRuleCustom.cpp: 81587 (WebCore::toJS): add ignored JSDOMGlobalObject* 81588 * bindings/js/JSCSSValueCustom.cpp: 81589 (WebCore::toJS): add ignored JSDOMGlobalObject* 81590 * bindings/js/JSDOMBinding.cpp: 81591 (WebCore::setDOMException): pass the wrong globalObject for now 81592 * bindings/js/JSDOMBinding.h: 81593 Pass the wrong global object to the CREATE_ macros for now. 81594 In the next change we'll come back and pass the correct one. 81595 That will require changes to make_names.pl. 81596 (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): 81597 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 81598 (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer): 81599 (WebCore::createDOMObjectWrapper): 81600 (WebCore::getDOMObjectWrapper): 81601 (WebCore::createDOMNodeWrapper): 81602 (WebCore::getDOMNodeWrapper): 81603 (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change. 81604 (WebCore::toJSNewlyCreated): 81605 * bindings/js/JSDOMWindowBase.cpp: 81606 (WebCore::toJS): DOMWindow always uses its own prototype chain. 81607 * bindings/js/JSDOMWindowBase.h: 81608 * bindings/js/JSDocumentCustom.cpp: 81609 (WebCore::toJS): add ignored JSDOMGlobalObject* 81610 * bindings/js/JSElementCustom.cpp: 81611 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 81612 * bindings/js/JSEventCustom.cpp: 81613 (WebCore::toJS): add ignored JSDOMGlobalObject* 81614 * bindings/js/JSEventTarget.cpp: 81615 (WebCore::toJS): add ignored JSDOMGlobalObject* 81616 * bindings/js/JSEventTarget.h: 81617 * bindings/js/JSHTMLCollectionCustom.cpp: 81618 (WebCore::toJS): add ignored JSDOMGlobalObject* 81619 * bindings/js/JSImageDataCustom.cpp: 81620 (WebCore::toJS): add ignored JSDOMGlobalObject* 81621 * bindings/js/JSNodeCustom.cpp: 81622 (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion 81623 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 81624 (WebCore::toJS): add ignored JSDOMGlobalObject* 81625 * bindings/js/JSSVGElementInstanceCustom.cpp: 81626 (WebCore::toJS): pass globalObject along 81627 * bindings/js/JSSVGMatrixCustom.cpp: 81628 (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now. 81629 (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now. 81630 * bindings/js/JSSVGPathSegCustom.cpp: 81631 (WebCore::toJS): 81632 * bindings/js/JSSVGPathSegListCustom.cpp: 81633 All of these methods need a globalObject, but most SVG binding don't have 81634 space for one, so we just pass the lexicalGlobalObject for now. 81635 (WebCore::JSSVGPathSegList::initialize): 81636 (WebCore::JSSVGPathSegList::getItem): 81637 (WebCore::JSSVGPathSegList::insertItemBefore): 81638 (WebCore::JSSVGPathSegList::replaceItem): 81639 (WebCore::JSSVGPathSegList::removeItem): 81640 (WebCore::JSSVGPathSegList::appendItem): 81641 * bindings/js/JSSVGPointListCustom.cpp: 81642 (WebCore::finishGetter): pass wrong globalObject for now. 81643 (WebCore::finishSetter): 81644 (WebCore::finishSetterReadOnlyResult): 81645 * bindings/js/JSSVGTransformListCustom.cpp: 81646 (WebCore::finishGetter): pass wrong globalObject for now. 81647 (WebCore::finishSetter): 81648 (WebCore::finishSetterReadOnlyResult): 81649 * bindings/js/JSStyleSheetCustom.cpp: 81650 (WebCore::toJS): add ignored JSDOMGlobalObject* 81651 * bindings/js/JSTextCustom.cpp: 81652 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 81653 * bindings/js/JSWorkerContextBase.cpp: 81654 (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass. 81655 * bindings/js/JSWorkerContextBase.h: 81656 * bindings/scripts/CodeGeneratorJS.pm: 81657 All generated toJS calls now pass a globalObject. 81658 All generated toJS implementations now expect a globalObject. 81659 Simplified all the slot casts by using a "castedThis" local. 81660 SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead. 81661 Simplified printing of constructor objects using a $constructorClassName variable. 81662 All generated constructor functions follow the construct$className form to match the custom constructors. 81663 81664 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81665 81666 Reviewed by Timothy Hatcher. 81667 81668 typing "document.__proto__" in inspector throws exception 81669 https://bugs.webkit.org/show_bug.cgi?id=27169 81670 81671 * inspector/front-end/utilities.js: 81672 (Object.type): 81673 81674 2009-07-24 Andrei Popescu <andreip (a] google.com> 81675 81676 Reviewed by Anders Carlsson. 81677 81678 ApplicationCache should have size limit 81679 https://bugs.webkit.org/show_bug.cgi?id=22700 81680 81681 https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html 81682 81683 This change implements a mechanism for limiting the maximum size of 81684 the application cache file. When this size is reached, a ChromeClient 81685 callback is invoked asynchronously and the saving of the last (failed) 81686 cache is retried automatically. 81687 81688 This change also extends the ApplicationCacheStorage API by allowing 81689 a client to query or modify the application cache without having to 81690 load any resources into memory. 81691 81692 Test: http/tests/appcache/max-size.html 81693 81694 * WebCore.base.exp: 81695 Exports the symbols required by the DumpRenderTree test application. 81696 * loader/EmptyClients.h: 81697 Adds empty implementation of the new ChromeClient methods. 81698 * loader/appcache/ApplicationCache.cpp: 81699 * loader/appcache/ApplicationCache.h: 81700 Adds the ability to calculate the approximate size of an ApplicationCache object. 81701 * loader/appcache/ApplicationCacheGroup.cpp: 81702 * loader/appcache/ApplicationCacheGroup.h: 81703 Invokes the ChromeClient callback when the storage layer runs out of space. 81704 After the callback is invoked, we re-attempt to store the newest cache, 81705 in case the ChromeClient has freed some space. 81706 * loader/appcache/ApplicationCacheResource.cpp: 81707 * loader/appcache/ApplicationCacheResource.h: 81708 Adds the ability to calculate the approximate size of an ApplicationCacheResource object. 81709 * loader/appcache/ApplicationCacheStorage.cpp: 81710 * loader/appcache/ApplicationCacheStorage.h: 81711 Enforces a maximum size for the application cache file. 81712 * page/ChromeClient.h: 81713 Adds a new callback, invoked when the ApplicationCacheStorage reports that it has 81714 reached the maximum size for its database file. 81715 * platform/sql/SQLiteDatabase.cpp: 81716 * platform/sql/SQLiteDatabase.h: 81717 Adds a new method that allows querying for the amount of unused space inside the 81718 application cache database file. 81719 81720 2009-07-24 Xan Lopez <xlopez (a] igalia.com> 81721 81722 Reviewed by Jan Alonzo. 81723 81724 https://bugs.webkit.org/show_bug.cgi?id=25415 81725 [GTK][ATK] Please implement support for get_text_at_offset 81726 81727 Use TextEncoding facilities to convert between UTF16 and UTF8 81728 instead of rolling our own solution. 81729 81730 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 81731 (convertUniCharToUTF8): 81732 81733 2009-07-24 Xan Lopez <xlopez (a] igalia.com> 81734 81735 Reviewed by Jan Alonzo. 81736 81737 https://bugs.webkit.org/show_bug.cgi?id=25415 81738 [GTK][ATK] Please implement support for get_text_at_offset 81739 81740 Fix confusion in g_substr between length in bytes and length in 81741 characters. Was causing crashes in some situations when dealing 81742 with non-ASCII text encoded as UTF8. 81743 81744 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 81745 (g_substr): 81746 81747 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81748 81749 Reviewed by Timothy Hatcher. 81750 81751 Inspector: Impossible to add an attribute to a node without attributes 81752 https://bugs.webkit.org/show_bug.cgi?id=21108 81753 81754 * inspector/front-end/ElementsTreeOutline.js: 81755 (WebInspector.ElementsTreeElement): 81756 (WebInspector.ElementsTreeElement.prototype.set hovered): 81757 (WebInspector.ElementsTreeElement.prototype.toggleNewButton): 81758 (WebInspector.ElementsTreeElement.prototype.ondblclick): 81759 (WebInspector.ElementsTreeElement.prototype._startEditing): 81760 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): 81761 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 81762 * inspector/front-end/inspector.css: 81763 81764 2009-07-24 Keishi Hattori <casey.hattori (a] gmail.com> 81765 81766 Reviewed by Timothy Hatcher. 81767 81768 Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node 81769 https://bugs.webkit.org/show_bug.cgi?id=17907 81770 81771 * inspector/front-end/Console.js: 81772 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{ 81773 _inspectedNodes, _addInspectedNode, $0, $1, $n} 81774 * inspector/front-end/ElementsPanel.js: 81775 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history 81776 in _inspectorCommandLineAPI._inspectedNodes 81777 (WebInspector.ElementsPanel): 81778 81779 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81780 81781 Reviewed by Timothy Hatcher. 81782 81783 Dragging a resource in the sidebar should drag it's URL 81784 https://bugs.webkit.org/show_bug.cgi?id=14410 81785 81786 * inspector/front-end/ResourcesPanel.js: 81787 (WebInspector.ResourceSidebarTreeElement.prototype.onattach): 81788 81789 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81790 81791 Reviewed by Timothy Hatcher. 81792 81793 Double click on a resource in the sidebar should open that resource in Safari 81794 https://bugs.webkit.org/show_bug.cgi?id=14409 81795 81796 * inspector/front-end/ResourcesPanel.js: 81797 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url 81798 81799 2009-07-24 Jan Michael Alonzo <jmalonzo (a] webkit.org> 81800 81801 Reviewed by Xan Lopez. 81802 81803 Bump pango version requirement to 1.12 and remove unnecessary #ifdefs. 81804 81805 * platform/graphics/gtk/FontGtk.cpp: 81806 (WebCore::getDefaultPangoLayout): 81807 * platform/graphics/gtk/FontPlatformDataPango.cpp: 81808 (WebCore::FontPlatformData::FontPlatformData): 81809 * platform/gtk/Language.cpp: 81810 81811 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81812 81813 Reviewed by Timothy Hatcher. 81814 81815 Inspector: Missing UIString and other localizedString.js fixes 81816 https://bugs.webkit.org/show_bug.cgi?id=27288 81817 81818 * English.lproj/localizedStrings.js: 81819 81820 2009-07-24 Joseph Pecoraro <joepeck02 (a] gmail.com> 81821 81822 Reviewed by Timothy Hatcher. 81823 81824 Inspector: Should Syntax Highlight JSON 81825 https://bugs.webkit.org/show_bug.cgi?id=27503 81826 81827 * inspector/front-end/SourceView.js: 81828 (WebInspector.SourceView.prototype._contentLoaded): 81829 81830 2009-07-24 Mike Fenton <mike.fenton (a] torchmobile.com> 81831 81832 Reviewed by Eric Seidel. 81833 81834 Update WebCore/page/DOMTimer.cpp/h to conform to WebKit 81835 Style Guidelines as identified by cpplint.py. 81836 https://bugs.webkit.org/show_bug.cgi?id=27624 81837 81838 * page/DragController.cpp: 81839 (WebCore::DragController::~DragController): 81840 (WebCore::documentFragmentFromDragData): 81841 (WebCore::DragController::dragEnded): 81842 (WebCore::DragController::dragEntered): 81843 (WebCore::DragController::dragExited): 81844 (WebCore::DragController::dragUpdated): 81845 (WebCore::DragController::performDrag): 81846 (WebCore::asFileInput): 81847 (WebCore::DragController::tryDocumentDrag): 81848 (WebCore::DragController::delegateDragSourceAction): 81849 (WebCore::DragController::concludeEditDrag): 81850 (WebCore::DragController::canProcessDrag): 81851 (WebCore::DragController::tryDHTMLDrag): 81852 (WebCore::DragController::mayStartDragAtEventLocation): 81853 (WebCore::getCachedImage): 81854 (WebCore::getImage): 81855 (WebCore::prepareClipboardForImageDrag): 81856 (WebCore::dragLocForDHTMLDrag): 81857 (WebCore::DragController::startDrag): 81858 (WebCore::DragController::doImageDrag): 81859 (WebCore::DragController::doSystemDrag): 81860 (WebCore::DragController::placeDragCaret): 81861 81862 2009-07-24 Mike Fenton <mike.fenton (a] torchmobile.com> 81863 81864 Reviewed by Eric Seidel. 81865 81866 Update WebCore/page/Chrome.cpp to conform to WebKit 81867 Style Guidelines as identified by cpplint.py. 81868 https://bugs.webkit.org/show_bug.cgi?id=27608 81869 81870 * page/Chrome.cpp: 81871 (WebCore::Chrome::runBeforeUnloadConfirmPanel): 81872 (WebCore::Chrome::runJavaScriptAlert): 81873 (WebCore::Chrome::runJavaScriptConfirm): 81874 (WebCore::Chrome::runJavaScriptPrompt): 81875 (WebCore::Chrome::shouldInterruptJavaScript): 81876 (WebCore::Chrome::setToolTip): 81877 (WebCore::Chrome::requestGeolocationPermissionForFrame): 81878 (WebCore::ChromeClient::generateReplacementFile): 81879 (WebCore::ChromeClient::paintCustomScrollbar): 81880 81881 2009-07-24 Mike Fenton <mike.fenton (a] torchmobile.com> 81882 81883 Reviewed by Eric Seidel. 81884 81885 Update WebCore/page/Coordinates.cpp to conform to WebKit 81886 Style Guidelines as identified by cpplint.py. 81887 https://bugs.webkit.org/show_bug.cgi?id=27614 81888 81889 * page/Coordinates.cpp: 81890 (WebCore::Coordinates::toString): 81891 81892 2009-07-24 Mike Fenton <mike.fenton (a] torchmobile.com> 81893 81894 Reviewed by Eric Seidel. 81895 81896 Update WebCore/page/DOMSelection.cpp/h to conform to WebKit 81897 Style Guidelines as identified by cpplint.py. 81898 https://bugs.webkit.org/show_bug.cgi?id=27614 81899 81900 * page/DOMSelection.cpp: 81901 (WebCore::DOMSelection::setBaseAndExtent): 81902 (WebCore::DOMSelection::modify): 81903 (WebCore::DOMSelection::addRange): 81904 (WebCore::DOMSelection::deleteFromDocument): 81905 * page/DOMSelection.h: 81906 81907 2009-07-24 Mike Fenton <mike.fenton (a] torchmobile.com> 81908 81909 Reviewed by Eric Seidel. 81910 81911 Update WebCore/page/DOMTimer.cpp/h to conform to WebKit 81912 Style Guidelines as identified by cpplint.py. 81913 https://bugs.webkit.org/show_bug.cgi?id=27618 81914 81915 * page/DOMTimer.cpp: 81916 (WebCore::DOMTimer::DOMTimer): 81917 (WebCore::DOMTimer::~DOMTimer): 81918 (WebCore::DOMTimer::fired): 81919 (WebCore::DOMTimer::suspend): 81920 (WebCore::DOMTimer::resume): 81921 (WebCore::DOMTimer::canSuspend): 81922 * page/DOMTimer.h: 81923 (WebCore::DOMTimer::minTimerInterval): 81924 (WebCore::DOMTimer::setMinTimerInterval): 81925 81926 2009-07-24 Eric Seidel <eric (a] webkit.org> 81927 81928 Reviewed by Adam Barth. 81929 81930 Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead 81931 https://bugs.webkit.org/show_bug.cgi?id=27641 81932 81933 Nothing uses globalObject() yet, but this was causing crashes 81934 in the patch for bug 27634. This is covered by fast/dom/gc-6.html. 81935 81936 I decided to change these to Base:: instead of DOMObjectWithGlobal:: 81937 for future-proofing. All autogenerated classes use a typedef Base 81938 to avoid bugs like these. Sadly C+does not have a built-in super:: we could use. 81939 81940 * WebCore.xcodeproj/project.pbxproj: 81941 * bindings/js/JSAbstractWorkerCustom.cpp: 81942 (WebCore::JSAbstractWorker::mark): 81943 * bindings/js/JSDOMApplicationCacheCustom.cpp: 81944 (WebCore::JSDOMApplicationCache::mark): 81945 * bindings/js/JSMessageChannelCustom.cpp: 81946 (WebCore::JSMessageChannel::mark): 81947 * bindings/js/JSMessagePortCustom.cpp: 81948 (WebCore::JSMessagePort::mark): 81949 * bindings/js/JSNamedNodesCollection.cpp: 81950 (WebCore::JSNamedNodesCollection::getOwnPropertySlot): 81951 * bindings/js/JSNodeCustom.cpp: 81952 (WebCore::JSNode::mark): 81953 * bindings/js/JSNodeFilterCustom.cpp: 81954 (WebCore::JSNodeFilter::mark): 81955 * bindings/js/JSNodeIteratorCustom.cpp: 81956 (WebCore::JSNodeIterator::mark): 81957 * bindings/js/JSSVGElementInstanceCustom.cpp: 81958 (WebCore::JSSVGElementInstance::mark): 81959 * bindings/js/JSTreeWalkerCustom.cpp: 81960 (WebCore::JSTreeWalker::mark): 81961 81962 2009-07-22 Eric Seidel <eric (a] webkit.org> 81963 81964 Reviewed by Adam Barth. 81965 81966 Make most DOMObjects hold onto a JSDOMGlobalObject* 81967 https://bugs.webkit.org/show_bug.cgi?id=27588 81968 81969 This change is almost entirely plumbing. Only one functional 81970 change as part of this all (window.document.constructor has the correct prototype) 81971 Changes are detailed below. 81972 81973 inner.document.constructor is fixed because all properties on the window 81974 object are created with the correct globalObject (instead of the lexical one). 81975 Since all objects now carry a globalObject pointer, when document creates 81976 HTMLDocumentConstructor it now has the right globalObject to use. 81977 81978 Tests: 81979 fast/dom/prototype-inheritance.html 81980 fast/dom/prototype-inheritance-2.html 81981 81982 * bindings/js/DOMObjectWithSVGContext.h: 81983 (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): 81984 Update the comment and add an ignored globalObject argument. 81985 * bindings/js/JSDOMBinding.h: 81986 Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object. 81987 Once toJS is passed a globalObject it will be the right one. 81988 (WebCore::createDOMObjectWrapper): 81989 (WebCore::createDOMNodeWrapper): 81990 * bindings/js/JSDOMGlobalObject.h: 81991 (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier. 81992 * bindings/js/JSDOMWindowCustom.cpp: 81993 (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it. 81994 (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. 81995 * bindings/js/JSDocumentCustom.cpp: 81996 (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. 81997 * bindings/js/JSHTMLAllCollection.h: 81998 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 81999 * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor. 82000 (WebCore::getNamedItems): 82001 (WebCore::callHTMLCollection): 82002 (WebCore::JSHTMLCollection::canGetItemsForName): 82003 (WebCore::JSHTMLCollection::nameGetter): 82004 (WebCore::JSHTMLCollection::item): 82005 (WebCore::JSHTMLCollection::namedItem): 82006 * bindings/js/JSHTMLFormElementCustom.cpp: 82007 (WebCore::JSHTMLFormElement::nameGetter): 82008 * bindings/js/JSNamedNodesCollection.cpp: 82009 Now passed globalObject. This is tested by inner.document.forms.testForm. 82010 The passed globalObject is still wrong until toJS is fixed. 82011 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 82012 * bindings/js/JSNamedNodesCollection.h: 82013 * bindings/js/JSSharedWorkerConstructor.cpp: 82014 Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938 82015 This class is not compiled by default, so not testable. 82016 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 82017 * bindings/js/JSSharedWorkerConstructor.h: 82018 * bindings/scripts/CodeGeneratorJS.pm: 82019 Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer. 82020 SVG bindings which need a context() pointer do not have enough space for globalObject() too. 82021 WorkerContext does not need a globalObject (it is one), so special case it. 82022 Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor. 82023 Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors 82024 override createStructure anyway, there is no functional change here. Just completing work started in r45938. 82025 82026 2009-07-23 Brady Eidson <beidson (a] apple.com> 82027 82028 Reviewed by Geoff Garen. 82029 82030 WebCore has a few places that don't gracefully handle a null request returned from willSendRequest. 82031 https://bugs.webkit.org/show_bug.cgi?id=27595 82032 82033 Test: http/tests/misc/will-send-request-returns-null-on-redirect.html 82034 82035 * inspector/InspectorController.cpp: 82036 (WebCore::InspectorController::removeResource): Null-check the request URL. 82037 82038 * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one. 82039 (WebCore::willSendRequest): 82040 82041 2009-07-23 Chris Fleizach <cfleizach (a] apple.com> 82042 82043 Reviewed by Darin Adler. 82044 82045 Bug 27633 - AXLoadComplete can be fired off to frequently 82046 https://bugs.webkit.org/show_bug.cgi?id=27633 82047 82048 An integration issue left out some curly braces. 82049 82050 * dom/Document.cpp: 82051 (WebCore::Document::implicitClose): 82052 82053 2009-07-23 Darin Adler <darin (a] apple.com> 82054 82055 Reviewed by Brady Eidson. 82056 82057 URL appears in back/forward button menu instead of title for items with custom representation 82058 https://bugs.webkit.org/show_bug.cgi?id=27586 82059 rdar://problem/5060337 82060 82061 * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit. 82062 * loader/FrameLoader.cpp: 82063 (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document 82064 loader is the correct one; previously this would never happen because we'd 82065 commit the load before any title changes could be registered, but now we can 82066 encounter a case where we get a title during a provisional load. 82067 82068 2009-07-23 Dan Bernstein <mitz (a] apple.com> 82069 82070 Reviewed by Dave Hyatt. 82071 82072 [CSS3 Backgrounds and Borders] Add support for inset box shadows 82073 https://bugs.webkit.org/show_bug.cgi?id=27582 82074 82075 Test: fast/box-shadow/inset.html 82076 82077 * css/CSSComputedStyleDeclaration.cpp: 82078 (WebCore::valueForShadow): Set the ShadowValues shadow style to 'inset' 82079 as needed. 82080 82081 * css/CSSParser.cpp: 82082 (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle 82083 members. Initialize the allowStyle member. 82084 (WebCore::ShadowParseContext::commitValue): Pass the style value to the 82085 ShadowValue constructor. Reset allowStyle. 82086 (WebCore::ShadowParseContext::commitLength): Update allowStyle. 82087 (WebCore::ShadowParseContext::commitColor): Ditto. 82088 (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and 82089 updates the state. 82090 (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword. 82091 82092 * css/CSSStyleSelector.cpp: 82093 (WebCore::CSSStyleSelector::applyProperty): Get the style value from the 82094 shadow value and pass it to the ShadowData constructor. 82095 82096 * css/ShadowValue.cpp: 82097 (WebCore::ShadowValue::ShadowValue): Added style. 82098 (WebCore::ShadowValue::cssText): Added style. 82099 82100 * css/ShadowValue.h: 82101 (WebCore::ShadowValue::create): Added style. 82102 82103 * page/animation/AnimationBase.cpp: 82104 (WebCore::blendFunc): Added a blend function for shadow styles. When blending 82105 between normal and inset shadows, all intermediate values map to normal. 82106 (WebCore::PropertyWrapperShadow::blend): Added normal style to the default 82107 shadow. 82108 82109 * rendering/InlineFlowBox.cpp: 82110 (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter, 82111 which is passed through to RenderBoxModelObject::paintBoxShadow(). 82112 82113 (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of 82114 the background. 82115 82116 * rendering/InlineFlowBox.h: 82117 82118 * rendering/RenderBox.cpp: 82119 (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the 82120 background. 82121 82122 * rendering/RenderBoxModelObject.cpp: 82123 (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style 82124 parameter, and code to paint inset shadows. 82125 82126 * rendering/RenderBoxModelObject.h: 82127 82128 * rendering/RenderFieldset.cpp: 82129 (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of 82130 the background. 82131 82132 * rendering/RenderTable.cpp: 82133 (WebCore::RenderTable::paintBoxDecorations): Ditto. 82134 82135 * rendering/RenderTableCell.cpp: 82136 (WebCore::RenderTableCell::paintBoxDecorations): Ditto. 82137 82138 * rendering/style/ShadowData.h: 82139 Added a ShadowStyle enum. 82140 (WebCore::ShadowData::ShadowData): Add and initialize a style member. 82141 82142 2009-07-23 Simon Fraser <simon.fraser (a] apple.com> 82143 82144 Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined. 82145 82146 * css/MediaQueryEvaluator.cpp: 82147 (WebCore::transform_3dMediaFeatureEval): 82148 82149 2009-07-23 Simon Fraser <simon.fraser (a] apple.com> 82150 82151 Reviewed by Adele Peterson. 82152 82153 3d-transforms media query needs to look check that accelerated compositing is enabled 82154 https://bugs.webkit.org/show_bug.cgi?id=27621 82155 82156 When evaluating a media query with '-webkit-transform-3d', we need to check the 82157 runtime switch that toggles accererated compositing, and therefore 3D. 82158 82159 No test because we can't disable the pref dynamically in DRT. 82160 82161 * css/MediaQueryEvaluator.cpp: 82162 (WebCore::transform_3dMediaFeatureEval): 82163 82164 2009-07-22 Ryosuke Niwa <rniwa (a] webkit.org> 82165 82166 Reviewed by Eric Seidel. 82167 82168 execCommand('underline') can't remove <U> underlines 82169 https://bugs.webkit.org/show_bug.cgi?id=20215 82170 82171 This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that 82172 WebKit can remove those presentational tags when necessary. 82173 It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless 82174 (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style. 82175 82176 * css/CSSValueList.cpp: 82177 (WebCore::CSSValueList::hasValue): True if the property contains the specified value 82178 * css/CSSValueList.h: Updated prototype 82179 * editing/ApplyStyleCommand.cpp: 82180 (WebCore::StyleChange::init): No longer adds "text-decoration: none" 82181 (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements 82182 82183 2009-07-23 Jessie Berlin <jberlin (a] apple.com> 82184 82185 Reviewed by Dan Bernstein. 82186 82187 https://bugs.webkit.org/show_bug.cgi?id=27554 82188 Expose the value of text-overflow in getComputedStyle. 82189 82190 Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html 82191 82192 * css/CSSComputedStyleDeclaration.cpp: 82193 (WebCore::): 82194 Add text-overflow to the list of computedProperties. 82195 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 82196 Return the value of the text-overflow property. 82197 82198 2009-07-23 Yongjun Zhang <yongjun.zhang (a] nokia.com> 82199 82200 Reviewed by Simon Hausmann. 82201 82202 https://bugs.webkit.org/show_bug.cgi?id=27510 82203 82204 [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project 82205 file for linking. This is a temporary workaround for qmake bug in Symbian port, should 82206 be reverted after qmake is fixed. 82207 82208 * WebCore.pro: 82209 82210 2009-07-23 Jian Li <jianli (a] chromium.org> 82211 82212 Reviewed by David Levin. 82213 82214 [V8] Fix an assert in running workers in Chrome. 82215 https://bugs.webkit.org/show_bug.cgi?id=27620 82216 82217 The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper 82218 to do not call removeObjectsFromWrapperMap for certain types of DOM 82219 objects that exist only in main thread. 82220 82221 * bindings/v8/V8DOMMap.cpp: 82222 (WebCore::removeAllDOMObjectsInCurrentThreadHelper): 82223 82224 2009-07-23 David Hyatt <hyatt (a] apple.com> 82225 82226 Reviewed by Dan Bernstein. 82227 82228 https://bugs.webkit.org/show_bug.cgi?id=27572 82229 Implement support for background-attachment:local. 82230 82231 Added new test fast/overflow/overflow-with-local-attachment.html. 82232 82233 * css/CSSComputedStyleDeclaration.cpp: 82234 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 82235 * css/CSSParser.cpp: 82236 (WebCore::CSSParser::parseFillProperty): 82237 * css/CSSPrimitiveValueMappings.h: 82238 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 82239 (WebCore::CSSPrimitiveValue::operator EFillAttachment): 82240 * css/CSSStyleSelector.cpp: 82241 (WebCore::CSSStyleSelector::mapFillAttachment): 82242 * css/CSSValueKeywords.in: 82243 * rendering/RenderBoxModelObject.cpp: 82244 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 82245 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 82246 * rendering/style/FillLayer.h: 82247 (WebCore::FillLayer::attachment): 82248 (WebCore::FillLayer::setAttachment): 82249 (WebCore::FillLayer::hasFixedImage): 82250 (WebCore::FillLayer::initialFillAttachment): 82251 * rendering/style/RenderStyle.h: 82252 (WebCore::InheritedFlags::backgroundAttachment): 82253 (WebCore::InheritedFlags::maskAttachment): 82254 * rendering/style/RenderStyleConstants.h: 82255 (WebCore::): 82256 82257 2009-07-23 Ryosuke Niwa <rniwa (a] webkit.org> 82258 82259 Reviewed by Eric Seidel. 82260 82261 copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated 82262 https://bugs.webkit.org/show_bug.cgi?id=27325 82263 82264 This patch deprecates copyInheritableProperties because it has been used for two different purposes: 82265 1. Calculating the typing style. 82266 2. Moving HTML subtrees and seeking to remove redundant styles. 82267 These tasks should be broken out into two separate functions. New code should not use this function. 82268 82269 It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere. 82270 82271 There is no test since the patch does not change any behavior. 82272 82273 * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed 82274 (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties 82275 * css/CSSComputedStyleDeclaration.h: ditto 82276 * editing/DeleteSelectionCommand.cpp: ditto 82277 (WebCore::removeEnclosingAnchorStyle): ditto 82278 (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto 82279 * editing/EditCommand.cpp: ditto 82280 (WebCore::EditCommand::styleAtPosition): ditto 82281 * editing/RemoveFormatCommand.cpp: ditto 82282 (WebCore::RemoveFormatCommand::doApply): ditto 82283 * editing/ReplaceSelectionCommand.cpp: ditto 82284 (WebCore::handleStyleSpansBeforeInsertion): ditto 82285 (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto 82286 * editing/markup.cpp: ditto 82287 (WebCore::removeEnclosingMailBlockquoteStyle): ditto 82288 (WebCore::removeDefaultStyles): ditto 82289 (WebCore::createMarkup): ditto 82290 82291 2009-07-22 Pierre d'Herbemont <pdherbemont (a] apple.com> 82292 82293 Reviewed by Simon Fraser. 82294 82295 Audio element at default width shouldn't have time field. 82296 https://bugs.webkit.org/show_bug.cgi?id=27589 82297 82298 * rendering/MediaControlElements.cpp: 82299 (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't 82300 forget to remember the visibility if there is no renderer. 82301 82302 2009-07-23 Beth Dakin <bdakin (a] apple.com> 82303 82304 Reviewed by Darin Adler. 82305 82306 Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 82307 AccessibilityObject class 82308 82309 Mostly this is just moving empty stubs into the header rather than 82310 muddying the cpp file with them. A few functions were made pure 82311 virtual. 82312 82313 * accessibility/AccessibilityObject.cpp: 82314 (WebCore::AccessibilityObject::isARIAControl): 82315 (WebCore::AccessibilityObject::clickPoint): 82316 (WebCore::AccessibilityObject::documentFrameView): 82317 (WebCore::AccessibilityObject::actionVerb): 82318 * accessibility/AccessibilityObject.h: 82319 (WebCore::AccessibilityObject::intValue): 82320 (WebCore::AccessibilityObject::layoutCount): 82321 (WebCore::AccessibilityObject::doAccessibilityHitTest): 82322 (WebCore::AccessibilityObject::focusedUIElement): 82323 (WebCore::AccessibilityObject::firstChild): 82324 (WebCore::AccessibilityObject::lastChild): 82325 (WebCore::AccessibilityObject::previousSibling): 82326 (WebCore::AccessibilityObject::nextSibling): 82327 (WebCore::AccessibilityObject::parentObjectIfExists): 82328 (WebCore::AccessibilityObject::observableObject): 82329 (WebCore::AccessibilityObject::linkedUIElements): 82330 (WebCore::AccessibilityObject::titleUIElement): 82331 (WebCore::AccessibilityObject::ariaRoleAttribute): 82332 (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole): 82333 (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren): 82334 (WebCore::AccessibilityObject::roleValue): 82335 (WebCore::AccessibilityObject::ariaAccessiblityName): 82336 (WebCore::AccessibilityObject::ariaLabeledByAttribute): 82337 (WebCore::AccessibilityObject::ariaDescribedByAttribute): 82338 (WebCore::AccessibilityObject::accessibilityDescription): 82339 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange): 82340 (WebCore::AccessibilityObject::axObjectCache): 82341 (WebCore::AccessibilityObject::axObjectID): 82342 (WebCore::AccessibilityObject::setAXObjectID): 82343 (WebCore::AccessibilityObject::anchorElement): 82344 (WebCore::AccessibilityObject::actionElement): 82345 (WebCore::AccessibilityObject::boundingBoxRect): 82346 (WebCore::AccessibilityObject::selectedTextRange): 82347 (WebCore::AccessibilityObject::selectionStart): 82348 (WebCore::AccessibilityObject::selectionEnd): 82349 (WebCore::AccessibilityObject::url): 82350 (WebCore::AccessibilityObject::selection): 82351 (WebCore::AccessibilityObject::stringValue): 82352 (WebCore::AccessibilityObject::title): 82353 (WebCore::AccessibilityObject::helpText): 82354 (WebCore::AccessibilityObject::textUnderElement): 82355 (WebCore::AccessibilityObject::text): 82356 (WebCore::AccessibilityObject::textLength): 82357 (WebCore::AccessibilityObject::selectedText): 82358 (WebCore::AccessibilityObject::accessKey): 82359 (WebCore::AccessibilityObject::widget): 82360 (WebCore::AccessibilityObject::widgetForAttachmentView): 82361 (WebCore::AccessibilityObject::setFocused): 82362 (WebCore::AccessibilityObject::setSelectedText): 82363 (WebCore::AccessibilityObject::setSelectedTextRange): 82364 (WebCore::AccessibilityObject::setValue): 82365 (WebCore::AccessibilityObject::setSelected): 82366 (WebCore::AccessibilityObject::makeRangeVisible): 82367 (WebCore::AccessibilityObject::childrenChanged): 82368 (WebCore::AccessibilityObject::addChildren): 82369 (WebCore::AccessibilityObject::hasChildren): 82370 (WebCore::AccessibilityObject::selectedChildren): 82371 (WebCore::AccessibilityObject::visibleChildren): 82372 (WebCore::AccessibilityObject::visiblePositionRange): 82373 (WebCore::AccessibilityObject::visiblePositionRangeForLine): 82374 (WebCore::AccessibilityObject::boundsForVisiblePositionRange): 82375 (WebCore::AccessibilityObject::setSelectedVisiblePositionRange): 82376 (WebCore::AccessibilityObject::visiblePositionForPoint): 82377 (WebCore::AccessibilityObject::nextVisiblePosition): 82378 (WebCore::AccessibilityObject::previousVisiblePosition): 82379 (WebCore::AccessibilityObject::visiblePositionForIndex): 82380 (WebCore::AccessibilityObject::indexForVisiblePosition): 82381 (WebCore::AccessibilityObject::index): 82382 (WebCore::AccessibilityObject::doAXRangeForLine): 82383 (WebCore::AccessibilityObject::doAXRangeForIndex): 82384 (WebCore::AccessibilityObject::doAXStringForRange): 82385 (WebCore::AccessibilityObject::doAXBoundsForRange): 82386 (WebCore::AccessibilityObject::updateBackingStore): 82387 82388 2009-07-23 Brian Weinstein <bweinstein (a] apple.com> 82389 82390 Reviewed by David Hyatt. 82391 82392 Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll. 82393 82394 * page/EventHandler.cpp: 82395 (WebCore::EventHandler::handleMousePressEvent): 82396 * platform/ScrollView.cpp: 82397 (WebCore::ScrollView::wheelEvent): 82398 * platform/ScrollView.h: 82399 82400 2009-07-23 David Hyatt <hyatt (a] apple.com> 82401 82402 Reviewed by Dan Bernstein. 82403 82404 https://bugs.webkit.org/show_bug.cgi?id=27581 82405 Drop the prefix from the box-shadow property. 82406 82407 * css/CSSComputedStyleDeclaration.cpp: 82408 (WebCore::): 82409 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 82410 * css/CSSParser.cpp: 82411 (WebCore::CSSParser::parseValue): 82412 (WebCore::ShadowParseContext::commitLength): 82413 (WebCore::cssPropertyID): 82414 * css/CSSPropertyNames.in: 82415 * css/CSSStyleSelector.cpp: 82416 (WebCore::CSSStyleSelector::applyProperty): 82417 * page/animation/AnimationBase.cpp: 82418 (WebCore::ensurePropertyMap): 82419 82420 2009-07-22 Viet-Trung Luu <viettrungluu (a] gmail.com> 82421 82422 Reviewed by David Hyatt. 82423 82424 https://bugs.webkit.org/show_bug.cgi?id=27289 82425 When a mouse click occurs on a scrollbar without a preceding mouse move 82426 onto it, the release isn't handled correctly (since 82427 EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but 82428 only on mouse move). (Side comment: That scrollbar-handling code 82429 in EventHandler is ugly. It should be fixed properly.) 82430 82431 Tests: scrollbars/scrollbar-miss-mousemove.html 82432 scrollbars/scrollbar-miss-mousemove-disabled.html 82433 82434 * page/EventHandler.cpp: 82435 (WebCore::EventHandler::handleMousePressEvent): 82436 (WebCore::EventHandler::handleMouseMoveEvent): 82437 (WebCore::EventHandler::updateLastScrollbarUnderMouse): 82438 * page/EventHandler.h: 82439 82440 2009-07-23 Mike Fenton <mike.fenton (a] torchmobile.com> 82441 82442 Reviewed by David Levin. 82443 82444 Update WebCore/page/BarInfo.cpp to conform to WebKit 82445 Style Guidelines as identified by cpplint.py. 82446 https://bugs.webkit.org/show_bug.cgi?id=27606 82447 82448 * page/BarInfo.cpp: 82449 (WebCore::BarInfo::visible): 82450 82451 2009-07-23 Mike Fenton <mike.fenton (a] torchmobile.com> 82452 82453 Reviewed by David Levin. 82454 82455 Update WebCore/page/Console.cpp to conform to WebKit 82456 Style Guidelines as identified by cpplint.py. 82457 https://bugs.webkit.org/show_bug.cgi?id=27606 82458 82459 * page/Console.cpp: 82460 (WebCore::printMessageSourceAndLevelPrefix): 82461 (WebCore::Console::profile): 82462 (WebCore::Console::time): 82463 82464 2009-07-23 Simon Hausmann <simon.hausmann (a] nokia.com> 82465 82466 Reviewed by Holger Freyther. 82467 82468 Fix crashes with the QObject bindings after garbage collection. 82469 82470 There is one QtInstance per wrapped QObject, and that QtInstance keeps 82471 references to cached JSObjects for slots. When those objects get 82472 deleted due to GC, then they becoming dangling pointers. 82473 82474 When a cached member dies, it is now removed from the QtInstance's 82475 cache. 82476 82477 As we cannot track the lifetime of the children, we have to remove 82478 them from QtInstance alltogether. They are not cached and were 82479 only used for mark(), but we _want_ them to be subject to gc. 82480 82481 * bridge/qt/qt_instance.cpp: 82482 (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup, 82483 use qDeleteAll(). 82484 (JSC::Bindings::QtInstance::removeCachedMethod): New function, to 82485 clean m_methods and m_defaultMethod. 82486 (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects. 82487 (JSC::Bindings::QtField::valueFromInstance): Don't save children for 82488 marking. 82489 * bridge/qt/qt_instance.h: Declare removeCachedMethod. 82490 * bridge/qt/qt_runtime.cpp: 82491 (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod 82492 with this on the instance. 82493 82494 2009-07-23 Xan Lopez <xlopez (a] igalia.com> 82495 82496 Reviewed by Mark Rowe. 82497 82498 https://bugs.webkit.org/show_bug.cgi?id=27599 82499 'const unsigned' in return value 82500 82501 Remove const modifier from unsigned return value, as it does not 82502 make sense. 82503 82504 * dom/ErrorEvent.h: 82505 82506 2009-07-22 Jens Alfke <snej (a] chromium.org> 82507 82508 Reviewed by David Levin. 82509 82510 Bug 22784: Improve keyboard navigation of Select elements. 82511 Home/End and PageUp/PageDn buttons do not do anything in drop down lists, 82512 on non-Mac platforms. 82513 https://bugs.webkit.org/show_bug.cgi?id=22784 82514 http://code.google.com/p/chromium/issues/detail?id=4576 82515 82516 New test: LayoutTests/fast/forms/select-popup-pagekeys.html 82517 82518 * dom/SelectElement.cpp: 82519 (WebCore::nextValidIndex): 82520 New utility fn for traversing items of a select's list. 82521 (WebCore::SelectElement::menuListDefaultEventHandler): 82522 Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false. 82523 82524 2009-07-23 Xan Lopez <xlopez (a] igalia.com> 82525 82526 Reviewed by Mark Rowe. 82527 82528 Fix a couple of compiler warnings. 82529 82530 * platform/graphics/cairo/ImageBufferCairo.cpp: 82531 (copySurface): 82532 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 82533 (WebCore::SimpleFontData::containsCharacters): 82534 82535 2009-07-22 Simon Hausmann <simon.hausmann (a] nokia.com> 82536 82537 Rubber-stamped by David Levin. 82538 82539 Enable HTML5 Datagrid defines for the Qt build. 82540 82541 * WebCore.pro: 82542 82543 2009-07-22 Adam Barth <abarth (a] webkit.org> 82544 82545 Reviewed by David Levin. 82546 82547 [V8] Make Node wrappers go fast 82548 https://bugs.webkit.org/show_bug.cgi?id=27597 82549 82550 Profiles indicate we're spending a lot of time asking whether we're on 82551 the main thread when looking up DOM wrappers for Nodes, but there isn't 82552 much point in doing that work because Nodes only exist on the main 82553 thread. I've also added an assert to keep us honest in this regard. 82554 82555 * bindings/v8/V8DOMMap.cpp: 82556 (WebCore::): 82557 (WebCore::getDOMNodeMap): 82558 (WebCore::DOMData::getCurrent): 82559 (WebCore::DOMData::getCurrentMainThread): 82560 82561 2009-07-22 Adam Barth <abarth (a] webkit.org> 82562 82563 Reviewed by Alexey Proskuryakov. 82564 82565 Remove unneeded virtual destructor from ScriptSourceProvider 82566 https://bugs.webkit.org/show_bug.cgi?id=27563 82567 82568 * bindings/js/ScriptSourceProvider.h: 82569 82570 2009-07-22 Ryosuke Niwa <rniwa (a] webkit.org> 82571 82572 Reviewed by Eric Seidel. 82573 82574 execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration 82575 https://bugs.webkit.org/show_bug.cgi?id=27476 82576 82577 executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none". 82578 This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value. 82579 It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations, 82580 and adds removeAll member function to CSSValueList. 82581 82582 Tests: editing/execCommand/toggle-text-decorations.html 82583 fast/css/getComputedStyle/getComputedStyle-text-decoration.html 82584 82585 * css/CSSComputedStyleDeclaration.cpp: 82586 (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList 82587 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue 82588 * css/CSSParser.cpp: 82589 (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated 82590 * css/CSSValueList.cpp: 82591 (WebCore::CSSValueList::removeAll): Removes all values that match the specified value 82592 * css/CSSValueList.h: 82593 * editing/EditorCommand.cpp: 82594 (WebCore::applyCommandToFrame): Apply style to a frame using specified command 82595 (WebCore::executeApplyStyle): Uses applyCommandToFrame 82596 (WebCore::executeToggleStyleInList): Uses applyCommandToFrame 82597 (WebCore::executeToggleStyle): Toggles a style in CSSValueList 82598 (WebCore::executeStrikethrough): Uses executeToggleStyleInList 82599 (WebCore::executeUnderline): Uses executeToggleStyleInList 82600 82601 2009-07-22 Daniel Bates <dbates (a] intudata.com> 82602 82603 Reviewed by Adam Barth. 82604 82605 https://bugs.webkit.org/show_bug.cgi?id=27174 82606 And 82607 https://bugs.webkit.org/show_bug.cgi?id=26938 82608 82609 Code cleanup. Implements support for detecting attacks transformed by 82610 PHP Magic Quotes/PHP addslashes(). 82611 82612 Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html 82613 http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html 82614 http/tests/security/xssAuditor/script-tag-addslashes-null-char.html 82615 http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html 82616 82617 * page/XSSAuditor.cpp: 82618 (WebCore::isInvalidCharacter): 82619 (WebCore::XSSAuditor::canEvaluate): 82620 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 82621 (WebCore::XSSAuditor::canLoadObject): 82622 (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes, 82623 and removes control characters that could otherwise cause a discrepancy between 82624 the source code of a script and the outgoing HTTP parameters. 82625 (WebCore::XSSAuditor::decodeURL): 82626 (WebCore::XSSAuditor::decodeHTMLEntities): 82627 (WebCore::XSSAuditor::findInRequest): 82628 * page/XSSAuditor.h: 82629 82630 2009-07-22 Oliver Hunt <oliver (a] apple.com> 82631 82632 Reviewed by Adele Peterson. 82633 82634 Null deref in JSObject::mark due to null xhr wrapper 82635 https://bugs.webkit.org/show_bug.cgi?id=27565 82636 82637 Make event target binding for appcache and xhr behave in the same way as 82638 it does for all other events. 82639 82640 No test as I couldn't make a testcase which was remotely reliable. 82641 82642 * bindings/js/JSEventTarget.cpp: 82643 (WebCore::toJS): 82644 82645 2009-07-22 Mads Ager <ager (a] chromium.org> 82646 82647 Reviewed by David Levin. 82648 82649 Inform V8 of the amount of WebCore string memory it is keeping alive. 82650 https://bugs.webkit.org/show_bug.cgi?id=27537 82651 82652 V8 uses external strings that are backed by WebCore strings. Since 82653 the external strings themselves are small, V8 has no way of 82654 knowing how much memory it is actually holding on to. With this 82655 change, we inform V8 of the amount of WebCore string data it is 82656 holding on to with external strings. 82657 82658 * bindings/v8/V8Binding.cpp: 82659 (WebCore::WebCoreStringResource::WebCoreStringResource): 82660 (WebCore::WebCoreStringResource::~WebCoreStringResource): 82661 82662 2009-07-22 David Hyatt <hyatt (a] apple.com> 82663 82664 Reviewed by Beth Dakin. 82665 82666 https://bugs.webkit.org/show_bug.cgi?id=27562 82667 Add the finalized versions of background-clip and background-origin. Remove background-clip from 82668 the background shorthand and have it be auto-set based off background-origin's value. 82669 82670 Three new tests added in fast/backgrounds/size 82671 82672 * css/CSSComputedStyleDeclaration.cpp: 82673 (WebCore::): 82674 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 82675 * css/CSSMutableStyleDeclaration.cpp: 82676 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 82677 * css/CSSParser.cpp: 82678 (WebCore::CSSParser::parseValue): 82679 (WebCore::CSSParser::parseFillShorthand): 82680 (WebCore::CSSParser::parseFillProperty): 82681 * css/CSSPropertyLonghand.cpp: 82682 (WebCore::initShorthandMap): 82683 * css/CSSPropertyNames.in: 82684 * css/CSSStyleSelector.cpp: 82685 (WebCore::CSSStyleSelector::applyProperty): 82686 * css/CSSValueKeywords.in: 82687 82688 2009-07-22 Jens Alfke <snej (a] chromium.org> 82689 82690 Reviewed by Darin Fisher. 82691 82692 Hook up V8 bindings for DataGrid elements. 82693 https://bugs.webkit.org/show_bug.cgi?id=27383 82694 http://code.google.com/p/chromium/issues/detail?id=16730 82695 82696 Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* 82697 to handle exceptions, check appropriate JS prototypes, and 82698 test column-list's item() method as well as array-indexing. 82699 82700 * WebCore.gypi: Added new source files. 82701 * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. 82702 * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. 82703 * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. 82704 (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. 82705 * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) 82706 (WebCore::V8DataGridDataSource::V8DataGridDataSource): 82707 (WebCore::V8DataGridDataSource::~V8DataGridDataSource): 82708 * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) 82709 (WebCore::V8DataGridDataSource::create): 82710 (WebCore::V8DataGridDataSource::isJSDataGridDataSource): 82711 (WebCore::V8DataGridDataSource::jsDataSource): 82712 (WebCore::asV8DataGridDataSource): 82713 * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". 82714 * bindings/v8/V8Index.h: Conditionalize datagrid stuff. 82715 * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. 82716 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added. 82717 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. 82718 (WebCore::ACCESSOR_GETTER): 82719 (WebCore::ACCESSOR_SETTER): 82720 82721 2009-07-22 Ryosuke Niwa <rniwa (a] webkit.org> 82722 82723 Reviewed by Eric Seidel. 82724 82725 pushDownTextDecorationStyleAroundNode needs clean up 82726 https://bugs.webkit.org/show_bug.cgi?id=27556 82727 82728 Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode 82729 While traversing, it will apply the specified style to all nodes but targetNode. 82730 i.e. the style is applies to all ancestor nodes and their siblings of targetNode. 82731 82732 * editing/ApplyStyleCommand.cpp: 82733 (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments 82734 * editing/ApplyStyleCommand.h: Updated prototype 82735 82736 2009-07-22 Peter Kasting <pkasting (a] google.com> 82737 82738 Reviewed by David Kilzer. 82739 82740 https://bugs.webkit.org/show_bug.cgi?id=27323 82741 Handle any type of line endings in WebCore/css/*CSSPropertyNames.in. 82742 82743 * DerivedSources.make: 82744 * css/makeprop.pl: 82745 * css/makevalues.pl: 82746 82747 2009-07-22 Paul Godavari <paul (a] chromium.org> 82748 82749 Reviewed by Darin Fisher. 82750 82751 Chromium has a build break after removal of JSRGBColor bindings 82752 https://bugs.webkit.org/show_bug.cgi?id=27548 82753 82754 Fix a build break in Chromium V8 after the JSRGBColor bindings change: 82755 https://bugs.webkit.org/show_bug.cgi?id=27242 82756 82757 * bindings/scripts/CodeGeneratorV8.pm: 82758 82759 2009-07-22 Adam Langley <agl (a] google.com> 82760 82761 Reviewed by Darin Fisher. 82762 82763 Chromium Linux: add static functions to FontPlatformData which allow 82764 for setting the global font rendering preferences. 82765 82766 https://bugs.webkit.org/show_bug.cgi?id=27513 82767 http://code.google.com/p/chromium/issues/detail?id=12179 82768 82769 This should not affect any layout tests. 82770 82771 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 82772 (WebCore::FontPlatformData::setHinting): 82773 (WebCore::FontPlatformData::setAntiAlias): 82774 (WebCore::FontPlatformData::setSubpixelGlyphs): 82775 (WebCore::FontPlatformData::setupPaint): 82776 * platform/graphics/chromium/FontPlatformDataLinux.h: 82777 82778 2009-07-22 Mikhail Naganov <mnaganov (a] chromium.org> 82779 82780 Reviewed by Timothy Hatcher. 82781 82782 Move Inspector panels creation into a function to make possible introducing 82783 custom panels. 82784 82785 * inspector/front-end/inspector.js: 82786 (WebInspector._createPanels): 82787 (WebInspector.loaded): 82788 82789 2009-07-22 Pavel Feldman <pfeldman (a] chromium.org> 82790 82791 Reviewed by Timothy Hatcher. 82792 82793 WebInspector: Print console command message upon evaluate 82794 selection request; Handle errors in evaluation request 82795 properly. 82796 82797 https://bugs.webkit.org/show_bug.cgi?id=27535 82798 82799 * inspector/front-end/ScriptsPanel.js: 82800 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 82801 * inspector/front-end/SourceFrame.js: 82802 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 82803 82804 2009-07-22 Xan Lopez <xlopez (a] igalia.com> 82805 82806 Attempt to fix the GTKbuild. 82807 82808 * GNUmakefile.am: 82809 82810 2009-07-21 Simon Hausmann <simon.hausmann (a] nokia.com> 82811 82812 Fix the Qt build. 82813 82814 * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor. 82815 82816 2009-07-21 Daniel Bates <dbates (a] intudata.com> 82817 82818 Reviewed by Adam Barth. 82819 82820 https://bugs.webkit.org/show_bug.cgi?id=27494 82821 82822 Fixes an issue that can cause a crash or unexpected behavior when calling 82823 WebCore::ScriptSourceCode::source on a cached script. 82824 82825 * GNUmakefile.am: 82826 * WebCore.gypi: 82827 * WebCore.pro: 82828 * WebCore.vcproj/WebCore.vcproj: 82829 * WebCore.xcodeproj/project.pbxproj: 82830 * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 82831 WebCore::ScriptSourceCode. 82832 (WebCore::CachedScriptSourceProvider::source): 82833 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 82834 * bindings/js/ScriptSourceCode.h: 82835 (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and 82836 rewrote to use WebCore::ScriptSourceProvider. 82837 (WebCore::ScriptSourceCode::source): 82838 * bindings/js/ScriptSourceProvider.h: Added. 82839 (WebCore::ScriptSourceProvider::ScriptSourceProvider): 82840 (WebCore::ScriptSourceProvider::~ScriptSourceProvider): 82841 * bindings/js/StringSourceProvider.h: Modified to inherit from 82842 WebCore::ScriptSourceCode. 82843 (WebCore::StringSourceProvider::StringSourceProvider): 82844 82845 2009-07-21 Sam Weinig <sam (a] webkit.org> 82846 82847 Another attempt to fix the Windows build. 82848 82849 * WebCore.vcproj/WebCore.vcproj: 82850 82851 2009-07-21 Sam Weinig <sam (a] webkit.org> 82852 82853 Attempt to fix the Windows build. 82854 82855 * DerivedSources.cpp: 82856 82857 2009-07-21 Sam Weinig <sam (a] webkit.org> 82858 82859 Attempt to fix the GTK build. 82860 82861 * GNUmakefile.am: 82862 82863 2009-07-21 Sam Weinig <sam (a] webkit.org> 82864 82865 Reviewed by Dan Bernstein. 82866 82867 Autogenerate Objective-C binding implementation for RGBColor. 82868 82869 No functionality change. 82870 82871 * WebCore.xcodeproj/project.pbxproj: 82872 * bindings/objc/DOMRGBColor.mm: Removed. 82873 * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from 82874 WebCore::Color to NSColor*. 82875 * css/RGBColor.idl: 82876 82877 2009-07-21 Sam Weinig <sam (a] webkit.org> 82878 82879 Reviewed by Dan Bernstein. 82880 82881 Fix for https://bugs.webkit.org/show_bug.cgi?id=27242 82882 JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor 82883 82884 Move the JSC and Objective-C bindings onto using the RGBColor object instead 82885 of just an unsigned int. The JSC bindings are now completely autogenerated for 82886 this class. (Also removes the last lut from WebCore). 82887 82888 * DerivedSources.make: 82889 * GNUmakefile.am: 82890 * WebCore.pro: 82891 * WebCore.vcproj/WebCore.vcproj: 82892 * WebCore.xcodeproj/project.pbxproj: 82893 * WebCoreSources.bkl: 82894 * bindings/js/JSRGBColor.cpp: Removed. 82895 * bindings/js/JSRGBColor.h: Removed. 82896 * bindings/objc/DOM.mm: 82897 (-[DOMRGBColor _color]): 82898 * bindings/objc/DOMRGBColor.mm: 82899 (-[DOMRGBColor dealloc]): 82900 (-[DOMRGBColor finalize]): 82901 (-[DOMRGBColor red]): 82902 (-[DOMRGBColor green]): 82903 (-[DOMRGBColor blue]): 82904 (-[DOMRGBColor alpha]): 82905 (-[DOMRGBColor color]): 82906 * bindings/scripts/CodeGenerator.pm: 82907 * bindings/scripts/CodeGeneratorJS.pm: 82908 * bindings/scripts/CodeGeneratorObjC.pm: 82909 * css/CSSParser.cpp: 82910 (WebCore::CSSParser::parseColor): 82911 * css/CSSPrimitiveValue.cpp: 82912 (WebCore::CSSPrimitiveValue::getRGBColorValue): 82913 * css/CSSPrimitiveValue.h: 82914 (WebCore::CSSPrimitiveValue::getRGBA32Value): 82915 * css/CSSStyleSelector.cpp: 82916 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 82917 * css/RGBColor.cpp: 82918 (WebCore::RGBColor::alpha): 82919 * css/RGBColor.h: 82920 (WebCore::RGBColor::color): 82921 (WebCore::RGBColor::RGBColor): 82922 * css/RGBColor.idl: 82923 * page/DOMWindow.idl: 82924 * svg/SVGColor.cpp: 82925 (WebCore::SVGColor::rgbColor): 82926 * svg/SVGColor.h: 82927 82928 2009-07-21 Jian Li <jianli (a] chromium.org> 82929 82930 Reviewed by David Levin. 82931 82932 Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent. 82933 https://bugs.webkit.org/show_bug.cgi?id=27515 82934 82935 * workers/AbstractWorker.cpp: 82936 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 82937 82938 2009-07-21 Eric Seidel <eric (a] webkit.org> 82939 82940 Reviewed by Adam Barth. 82941 82942 Move m_context out of generator into a superclass 82943 https://bugs.webkit.org/show_bug.cgi?id=27521 82944 82945 Mostly this is removing code from CodeGeneratorJS 82946 and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h. 82947 82948 DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to 82949 know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason). 82950 82951 I also removed context pointer from SVGZoomEvent since it was never used. 82952 82953 * WebCore.gypi: 82954 * WebCore.pro: 82955 * WebCore.vcproj/WebCore.vcproj: 82956 * WebCore.xcodeproj/project.pbxproj: 82957 * bindings/js/DOMObjectWithSVGContext.h: Added. 82958 (WebCore::DOMObjectWithSVGContext::context): 82959 (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): 82960 * bindings/js/JSDOMBinding.h: 82961 * bindings/js/JSEventCustom.cpp: 82962 (WebCore::toJS): 82963 * bindings/scripts/CodeGeneratorJS.pm: 82964 82965 2009-07-21 Ryosuke Niwa <rniwa (a] webkit.org> 82966 82967 Reviewed by Eric Seidel. 82968 82969 REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build 82970 https://bugs.webkit.org/show_bug.cgi?id=27480 82971 82972 Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value. 82973 We made m_anchorType unsigned so that anchorType() returns the correct value. 82974 82975 * dom/Position.h: 82976 (WebCore::Position::anchorType): statically cast to AnchorType 82977 82978 2009-07-21 Jian Li <jianli (a] chromium.org> 82979 82980 Reviewed by David Levin. 82981 82982 [V8] Add V8 bindings for onerror in WorkerContext. 82983 https://bugs.webkit.org/show_bug.cgi?id=27518 82984 82985 * bindings/v8/custom/V8CustomBinding.h: 82986 * bindings/v8/custom/V8WorkerContextCustom.cpp: 82987 (WebCore::ACCESSOR_GETTER): 82988 (WebCore::ACCESSOR_SETTER): 82989 82990 2009-07-21 Jian Li <jianli (a] chromium.org> 82991 82992 Fix the incorrect patch being landed for bug 27516 that has already been reviewed. 82993 https://bugs.webkit.org/show_bug.cgi?id=27516 82994 82995 * workers/WorkerContext.h: 82996 (WebCore::WorkerContext::setOnerror): 82997 (WebCore::WorkerContext::onerror): 82998 * workers/WorkerContext.idl: 82999 83000 2009-07-21 Jian Li <jianli (a] chromium.org> 83001 83002 Reviewed by David Levin. 83003 83004 Add onerror to WorkerContext. 83005 https://bugs.webkit.org/show_bug.cgi?id=27516 83006 83007 * bindings/js/JSWorkerContextCustom.cpp: 83008 (WebCore::JSWorkerContext::mark): 83009 * workers/WorkerContext.h: 83010 (WebCore::WorkerContext::setOnerror): 83011 (WebCore::WorkerContext::onerror): 83012 * workers/WorkerContext.idl: 83013 83014 2009-07-21 Yong Li <yong.li (a] torchmobile.com> 83015 83016 Reviewed by George Staikos. 83017 83018 https://bugs.webkit.org/show_bug.cgi?id=27509 83019 Add font-related files for the WinCE port. 83020 83021 Written by Yong Li <yong.li (a] torchmobile.com> 83022 83023 * platform/graphics/wince/FontCacheWince.cpp: Added. 83024 * platform/graphics/wince/FontCustomPlatformData.cpp: Added. 83025 * platform/graphics/wince/FontCustomPlatformData.h: Added. 83026 * platform/graphics/wince/FontPlatformData.cpp: Added. 83027 * platform/graphics/wince/FontPlatformData.h: Added. 83028 * platform/graphics/wince/FontWince.cpp: Added. 83029 * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added. 83030 * platform/graphics/wince/SimpleFontDataWince.cpp: Added. 83031 83032 2009-07-21 Kevin Ollivier <kevino (a] theolliviers.com> 83033 83034 Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too. 83035 83036 * WebCorePrefix.h: 83037 83038 2009-07-21 Kevin Ollivier <kevino (a] theolliviers.com> 83039 83040 WebCorePrefix.h build fixes for non-Mac and wx / CURL builds. 83041 83042 * WebCorePrefix.h: 83043 83044 2009-07-21 Eric Seidel <eric (a] webkit.org> 83045 83046 Reviewed by Adam Barth. 83047 83048 All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject 83049 https://bugs.webkit.org/show_bug.cgi?id=27478 83050 83051 This is just moving code. 83052 I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument. 83053 83054 DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject. 83055 (It's a baseclass because eventually all DOMObjects will have a global pointer, but 83056 I'll be moving them onto DOMObjectWithGlobalPointer in stages.) 83057 83058 DOMConstructorWithDocument is a new baseclass for the 3 constructor objects 83059 which require a backpointer to the Document to function. I made this a subclass of 83060 DOMConstructorObject to make clear that most constructors can hold no-such assumptions 83061 about having a back-pointer to the Document (since many constructors can be used from Workers). 83062 83063 * bindings/js/JSAudioConstructor.cpp: 83064 (WebCore::JSAudioConstructor::JSAudioConstructor): 83065 * bindings/js/JSAudioConstructor.h: 83066 * bindings/js/JSDOMBinding.h: 83067 (WebCore::DOMObjectWithGlobalPointer::globalObject): 83068 (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): 83069 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 83070 (WebCore::DOMObjectWithGlobalPointer::mark): 83071 (WebCore::DOMConstructorObject::DOMConstructorObject): 83072 (WebCore::DOMConstructorWithDocument::document): 83073 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): 83074 * bindings/js/JSImageConstructor.cpp: 83075 (WebCore::JSImageConstructor::JSImageConstructor): 83076 * bindings/js/JSImageConstructor.h: 83077 * bindings/js/JSMessageChannelConstructor.cpp: 83078 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 83079 * bindings/js/JSMessageChannelConstructor.h: 83080 * bindings/js/JSOptionConstructor.cpp: 83081 (WebCore::JSOptionConstructor::JSOptionConstructor): 83082 * bindings/js/JSOptionConstructor.h: 83083 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 83084 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 83085 * bindings/js/JSWebKitPointConstructor.cpp: 83086 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 83087 * bindings/js/JSWorkerConstructor.cpp: 83088 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 83089 * bindings/js/JSXMLHttpRequestConstructor.cpp: 83090 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 83091 * bindings/js/JSXMLHttpRequestConstructor.h: 83092 * bindings/js/JSXSLTProcessorConstructor.cpp: 83093 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 83094 83095 2009-07-21 James Hawkins <jhawkins (a] google.com> 83096 83097 Reviewed by David Hyatt. 83098 83099 https://bugs.webkit.org/show_bug.cgi?id=27453 83100 Initialize isInt when creating a CSSParserValue for a function. 83101 83102 No change in behavior, so no tests. 83103 83104 * css/CSSFunctionValue.cpp: 83105 (WebCore::CSSFunctionValue::parserValue): 83106 83107 2009-07-20 Jens Alfke <snej (a] google.com> 83108 83109 Reviewed by David Levin. 83110 83111 Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu. 83112 Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when 83113 an arrow key is pressed. 83114 https://bugs.webkit.org/show_bug.cgi?id=27448 83115 83116 No new tests; affects only control response to user input. 83117 83118 * dom/SelectElement.cpp: 83119 Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium, 83120 so it will behave compatibly with Mac HI guidelines on pop-up menus. 83121 It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium. 83122 83123 2009-07-21 Paul Godavari <paul (a] chromium.org> 83124 83125 Reviewed by Eric Seidel. 83126 83127 [Chromium] popup menus can crash when the selected index is -1 83128 https://bugs.webkit.org/show_bug.cgi?id=27275 83129 83130 Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem 83131 is passed an index of less than 0 (which is possible under certain circumstances). This 83132 change prevents such a value from causing a crash by enforcing valid index values passed 83133 by all callers of isSelectableItem. isSelectableItem is now a private method of 83134 PopupListBox, as there are no external callers. 83135 83136 Also cleaned up a small amount of code for style and grammar errors. 83137 83138 No automatic test is provided since we cannot send events to the child window used by 83139 the popup menu. 83140 83141 * platform/chromium/PopupMenuChromium.cpp: 83142 (WebCore::PopupListBox::acceptIndex): 83143 (WebCore::PopupListBox::selectIndex): 83144 (WebCore::PopupListBox::isSelectableItem): 83145 (WebCore::PopupListBox::selectPreviousRow): 83146 83147 2009-07-21 Kevin Ollivier <kevino (a] theolliviers.com> 83148 83149 wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock. 83150 83151 * platform/network/curl/ResourceHandleManager.h: 83152 83153 2009-07-21 Adam Roben <aroben (a] apple.com> 83154 83155 Roll out r46153, r46154, and r46155 83156 83157 These changes were causing build failures and assertion failures on 83158 Windows. 83159 83160 * ForwardingHeaders/wtf/PossiblyNull.h: Removed. 83161 * platform/graphics/cg/ImageBufferCG.cpp: 83162 83163 2009-07-21 Jian Li <jianli (a] chromium.org> 83164 83165 Reviewed by Eric Seidel. 83166 83167 Implement ErrorEvent API. 83168 https://bugs.webkit.org/show_bug.cgi?id=27387 83169 83170 * DerivedSources.cpp: 83171 * DerivedSources.make: 83172 * GNUmakefile.am: 83173 * WebCore.gypi: 83174 * WebCore.pro: 83175 * WebCore.vcproj/WebCore.vcproj: 83176 * WebCore.xcodeproj/project.pbxproj: 83177 * WebCoreSources.bkl: 83178 * bindings/js/JSEventCustom.cpp: 83179 (WebCore::toJS): 83180 * dom/ErrorEvent.cpp: Added. 83181 * dom/ErrorEvent.h: Added. 83182 * dom/ErrorEvent.idl: Added. 83183 * dom/Event.cpp: 83184 (WebCore::Event::isErrorEvent): 83185 * dom/Event.h: 83186 83187 2009-07-21 Priit Laes <plaes (a] plaes.org> 83188 83189 Reviewed by Gustavo Noronha. 83190 83191 [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word 83192 https://bugs.webkit.org/show_bug.cgi?id=24602 83193 83194 Remove workaround required for <=libsoup-2.26.1 83195 83196 * platform/network/soup/ResourceHandleSoup.cpp: 83197 (WebCore::restartedCallback): 83198 83199 2009-07-21 Adam Barth <abarth (a] webkit.org> 83200 83201 Reviewed by David Levin. 83202 83203 V8IsolatedWorld keeps a handle to a disposed context 83204 https://bugs.webkit.org/show_bug.cgi?id=27397 83205 83206 Make a copy of the context handle before making it weak. We don't want 83207 to make the original handle weak because we want it to survive for the 83208 length of the V8IsolatedWorld::evaluate method. 83209 83210 * bindings/v8/V8IsolatedWorld.cpp: 83211 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 83212 83213 2009-07-21 Pavel Feldman <pfeldman (a] chromium.org> 83214 83215 Reviewed by Timothy Hatcher. 83216 83217 Web Inspector: Add ability to evaluate selection while on break point. 83218 83219 https://bugs.webkit.org/show_bug.cgi?id=27502 83220 83221 * inspector/front-end/SourceFrame.js: 83222 (WebInspector.SourceFrame.prototype._loaded): 83223 (WebInspector.SourceFrame.prototype._documentKeyDown): 83224 83225 2009-07-21 Pavel Feldman <pfeldman (a] chromium.org> 83226 83227 Reviewed by Timothy Hatcher. 83228 83229 WebInspector: Special case ConsolePanel opening since 83230 it is a 'fast view'. 83231 83232 https://bugs.webkit.org/show_bug.cgi?id=27493 83233 83234 * inspector/InspectorController.cpp: 83235 (WebCore::InspectorController::setWindowVisible): 83236 83237 2009-07-20 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 83238 83239 Reviewed by Eric Seidel. 83240 83241 Fix Qt code to follow the WebKit Coding Style. 83242 83243 * platform/graphics/qt/FontQt.cpp: 83244 (WebCore::qstring): 83245 (WebCore::fixSpacing): 83246 * platform/graphics/qt/FontQt43.cpp: 83247 (WebCore::generateComponents): 83248 (WebCore::Font::offsetForPositionForComplexText): 83249 (WebCore::cursorToX): 83250 * platform/graphics/qt/GradientQt.cpp: 83251 (WebCore::Gradient::platformGradient): 83252 * platform/graphics/qt/GraphicsContextQt.cpp: 83253 (WebCore::toQtFillRule): 83254 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 83255 (WebCore::GraphicsContext::~GraphicsContext): 83256 (WebCore::GraphicsContext::getCTM): 83257 (WebCore::GraphicsContext::concatCTM): 83258 (WebCore::GraphicsContext::getWindowsContext): 83259 * platform/graphics/qt/IconQt.cpp: 83260 (WebCore::Icon::paint): 83261 * platform/graphics/qt/ImageDecoderQt.cpp: 83262 (WebCore::ImageDecoderQt::ReadContext::read): 83263 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 83264 (WebCore::ImageDecoderQt::setData): 83265 * platform/graphics/qt/ImageQt.cpp: 83266 (WebCore::Image::drawPattern): 83267 (WebCore::BitmapImage::draw): 83268 * platform/graphics/qt/ImageSourceQt.cpp: 83269 (WebCore::ImageSource::frameDurationAtIndex): 83270 (WebCore::ImageSource::frameHasAlphaAtIndex): 83271 (WebCore::ImageSource::frameIsCompleteAtIndex): 83272 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 83273 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 83274 (WebCore::MediaPlayerPrivate::create): 83275 (WebCore::MediaPlayerPrivate::bytesLoaded): 83276 (WebCore::MediaPlayerPrivate::updateStates): 83277 * platform/graphics/qt/PathQt.cpp: 83278 (WebCore::Path::addArcTo): 83279 (WebCore::Path::isEmpty): 83280 * platform/graphics/qt/TransformationMatrixQt.cpp: 83281 (WebCore::TransformationMatrix::operator QTransform): 83282 * platform/qt/ClipboardQt.cpp: 83283 (WebCore::ClipboardQt::ClipboardQt): 83284 (WebCore::ClipboardQt::clearData): 83285 (WebCore::ClipboardQt::clearAllData): 83286 (WebCore::ClipboardQt::getData): 83287 (WebCore::ClipboardQt::setData): 83288 (WebCore::ClipboardQt::setDragImage): 83289 (WebCore::getCachedImage): 83290 (WebCore::ClipboardQt::declareAndWriteDragImage): 83291 (WebCore::ClipboardQt::writeURL): 83292 (WebCore::ClipboardQt::writeRange): 83293 (WebCore::ClipboardQt::hasData): 83294 * platform/qt/ClipboardQt.h: 83295 * platform/qt/ContextMenuItemQt.cpp: 83296 (WebCore::ContextMenuItem::action): 83297 (WebCore::ContextMenuItem::title): 83298 * platform/qt/CursorQt.cpp: 83299 (WebCore::westPanningCursor): 83300 (WebCore::notAllowedCursor): 83301 * platform/qt/DragDataQt.cpp: 83302 (WebCore::DragData::containsFiles): 83303 (WebCore::DragData::asFilenames): 83304 (WebCore::DragData::asPlainText): 83305 (WebCore::DragData::asFragment): 83306 * platform/qt/DragImageQt.cpp: 83307 (WebCore::createDragImageIconForCachedImage): 83308 * platform/qt/FileSystemQt.cpp: 83309 (WebCore::getFileSize): 83310 (WebCore::unloadModule): 83311 * platform/qt/Localizations.cpp: 83312 (WebCore::contextMenuItemTagShowSpellingPanel): 83313 * platform/qt/MIMETypeRegistryQt.cpp: 83314 (WebCore::): 83315 * platform/qt/PasteboardQt.cpp: 83316 (WebCore::Pasteboard::Pasteboard): 83317 (WebCore::Pasteboard::writeSelection): 83318 (WebCore::Pasteboard::plainText): 83319 * platform/qt/PlatformKeyboardEventQt.cpp: 83320 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 83321 * platform/qt/PlatformMouseEventQt.cpp: 83322 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 83323 * platform/qt/PopupMenuQt.cpp: 83324 (WebCore::PopupMenu::populate): 83325 * platform/qt/RenderThemeQt.cpp: 83326 (WebCore::RenderThemeQt::fallbackStyle): 83327 (WebCore::inflateButtonRect): 83328 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 83329 (WebCore::RenderThemeQt::paintButton): 83330 (WebCore::RenderThemeQt::paintMenuList): 83331 (WebCore::RenderThemeQt::applyTheme): 83332 (WebCore::WorldMatrixTransformer::WorldMatrixTransformer): 83333 (WebCore::RenderThemeQt::paintMediaBackground): 83334 (WebCore::RenderThemeQt::paintMediaFullscreenButton): 83335 * platform/qt/RenderThemeQt.h: 83336 * platform/qt/ScreenQt.cpp: 83337 (WebCore::screenRect): 83338 (WebCore::usableScreenRect): 83339 * platform/qt/ScrollbarQt.cpp: 83340 (WebCore::Scrollbar::contextMenu): 83341 * platform/qt/ScrollbarThemeQt.cpp: 83342 (WebCore::scPart): 83343 (WebCore::scrollbarPart): 83344 * platform/qt/ScrollbarThemeQt.h: 83345 * platform/qt/SharedBufferQt.cpp: 83346 (WebCore::SharedBuffer::createWithContentsOfFile): 83347 * platform/qt/TemporaryLinkStubs.cpp: 83348 (PluginDatabase::defaultPluginDirectories): 83349 (PluginDatabase::getPluginPathsInDirectories): 83350 (PluginDatabase::isPreferredPluginDirectory): 83351 (WebCore::getSupportedKeySizes): 83352 (WebCore::signedPublicKeyAndChallengeString): 83353 (WebCore::userIdleTime): 83354 (WebCore::prefetchDNS): 83355 * platform/text/qt/StringQt.cpp: 83356 (WebCore::String::String): 83357 * platform/text/qt/TextBoundaries.cpp: 83358 * platform/text/qt/TextBreakIteratorQt.cpp: 83359 (WebCore::TextBreakIterator::following): 83360 (WebCore::TextBreakIterator::preceding): 83361 (WebCore::WordBreakIteratorQt::first): 83362 (WebCore::WordBreakIteratorQt::next): 83363 (WebCore::WordBreakIteratorQt::previous): 83364 (WebCore::CharBreakIteratorQt::first): 83365 (WebCore::CharBreakIteratorQt::next): 83366 (WebCore::CharBreakIteratorQt::previous): 83367 (WebCore::characterBreakIterator): 83368 * plugins/qt/PluginPackageQt.cpp: 83369 (WebCore::PluginPackage::fetchInfo): 83370 * plugins/qt/PluginViewQt.cpp: 83371 (WebCore::PluginView::userAgentStatic): 83372 (WebCore::PluginView::handlePostReadFile): 83373 (WebCore::PluginView::init): 83374 83375 2009-07-21 Maxime Simon <simon.maxime (a] gmail.com> 83376 83377 Reviewed by David Levin. 83378 83379 Added a first bunch of Haiku-specific files for WebCore. 83380 https://bugs.webkit.org/show_bug.cgi?id=26988 83381 83382 * platform/haiku/ClipboardHaiku.cpp: Added. 83383 (WebCore::ClipboardHaiku::ClipboardHaiku): 83384 (WebCore::ClipboardHaiku::clearData): 83385 (WebCore::ClipboardHaiku::clearAllData): 83386 (WebCore::ClipboardHaiku::getData): 83387 (WebCore::ClipboardHaiku::setData): 83388 (WebCore::ClipboardHaiku::types): 83389 (WebCore::ClipboardHaiku::files): 83390 (WebCore::ClipboardHaiku::dragLocation): 83391 (WebCore::ClipboardHaiku::dragImage): 83392 (WebCore::ClipboardHaiku::setDragImage): 83393 (WebCore::ClipboardHaiku::dragImageElement): 83394 (WebCore::ClipboardHaiku::setDragImageElement): 83395 (WebCore::ClipboardHaiku::createDragImage): 83396 (WebCore::ClipboardHaiku::declareAndWriteDragImage): 83397 (WebCore::ClipboardHaiku::writeURL): 83398 (WebCore::ClipboardHaiku::writeRange): 83399 (WebCore::ClipboardHaiku::hasData): 83400 * platform/haiku/ClipboardHaiku.h: Added. 83401 (WebCore::ClipboardHaiku::create): 83402 (WebCore::ClipboardHaiku::~ClipboardHaiku): 83403 * platform/haiku/CookieJarHaiku.cpp: Added. 83404 (WebCore::setCookies): 83405 (WebCore::cookies): 83406 (WebCore::cookiesEnabled): 83407 * platform/haiku/CursorHaiku.cpp: Added. 83408 (WebCore::Cursor::Cursor): 83409 (WebCore::Cursor::~Cursor): 83410 (WebCore::Cursor::operator=): 83411 (WebCore::pointerCursor): 83412 (WebCore::moveCursor): 83413 (WebCore::crossCursor): 83414 (WebCore::handCursor): 83415 (WebCore::iBeamCursor): 83416 (WebCore::waitCursor): 83417 (WebCore::helpCursor): 83418 (WebCore::eastResizeCursor): 83419 (WebCore::northResizeCursor): 83420 (WebCore::northEastResizeCursor): 83421 (WebCore::northWestResizeCursor): 83422 (WebCore::southResizeCursor): 83423 (WebCore::southEastResizeCursor): 83424 (WebCore::southWestResizeCursor): 83425 (WebCore::westResizeCursor): 83426 (WebCore::northSouthResizeCursor): 83427 (WebCore::eastWestResizeCursor): 83428 (WebCore::northEastSouthWestResizeCursor): 83429 (WebCore::northWestSouthEastResizeCursor): 83430 (WebCore::columnResizeCursor): 83431 (WebCore::rowResizeCursor): 83432 (WebCore::verticalTextCursor): 83433 (WebCore::cellCursor): 83434 (WebCore::contextMenuCursor): 83435 (WebCore::noDropCursor): 83436 (WebCore::copyCursor): 83437 (WebCore::progressCursor): 83438 (WebCore::aliasCursor): 83439 (WebCore::noneCursor): 83440 (WebCore::notAllowedCursor): 83441 (WebCore::zoomInCursor): 83442 (WebCore::zoomOutCursor): 83443 (WebCore::grabCursor): 83444 (WebCore::grabbingCursor): 83445 83446 2009-07-21 Albert Astals Cid <aacid (a] kde.org> 83447 83448 Reviewed by Tor Arne Vestb. 83449 83450 Change #error line not to have a ' (single quote) 83451 83452 * DerivedSources.cpp: 83453 83454 2009-07-21 Roland Steiner <rolandsteiner (a] google.com> 83455 83456 Reviewed by David Levin. 83457 83458 Add ENABLE_RUBY to list of build options 83459 https://bugs.webkit.org/show_bug.cgi?id=27324 83460 83461 Added flag ENABLE_RUBY: 83462 83463 * Configurations/FeatureDefines.xcconfig: 83464 * DerivedSources.make: 83465 * GNUmakefile.am: 83466 * WebCore.pro: 83467 * WebCore.vcproj/WebCoreCommon.vsprops: 83468 * WebCore.vcproj/build-generated-files.sh: 83469 83470 2009-07-21 James Hawkins <jhawkins (a] google.com> 83471 83472 Reviewed by Eric Seidel. 83473 83474 https://bugs.webkit.org/show_bug.cgi?id=27467 83475 Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates 83476 if matrix.invert() fails. This prevents the use of an uninitialized 83477 value in inverseMatrix. 83478 83479 No new tests added. Run 83480 LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html 83481 under valgrind and notice there are no errors. 83482 83483 * platform/graphics/skia/PlatformContextSkia.cpp: 83484 (PlatformContextSkia::currentPathInLocalCoordinates): 83485 83486 2009-07-21 Stephen White <senorblanco (a] chromium.org> 83487 83488 Reviewed by Eric Seidel. 83489 83490 https://bugs.webkit.org/show_bug.cgi?id=27388 83491 83492 Fix dotted and dashed borders on Chromium/skia. This follows 83493 the logic in the Cg path, so results are much closer to Safari now 83494 (some tests won't be exactly the same due to font layout differences). 83495 83496 * platform/graphics/skia/GraphicsContextSkia.cpp: 83497 (WebCore::GraphicsContext::drawLine): 83498 * platform/graphics/skia/PlatformContextSkia.cpp: 83499 (PlatformContextSkia::setupPaintForStroking): 83500 83501 2009-07-20 Oliver Hunt <oliver (a] apple.com> 83502 83503 Reviewed by Gavin Barraclough. 83504 83505 Make it harder to misuse try* allocation routines 83506 https://bugs.webkit.org/show_bug.cgi?id=27469 83507 83508 Add forwarding header for PossiblyNull type, and add missing null check 83509 to ImageBuffer creation. 83510 83511 * ForwardingHeaders/wtf/PossiblyNull.h: Added. 83512 * platform/graphics/cg/ImageBufferCG.cpp: 83513 (WebCore::ImageBuffer::ImageBuffer): 83514 83515 2009-07-20 Adam Langley <agl (a] google.com> 83516 83517 Reviewed by Eric Seidel. 83518 83519 Guard access to installedMediaEngines()[0]. 83520 83521 https://bugs.webkit.org/show_bug.cgi?id=27479 83522 http://code.google.com/p/chromium/issues/detail?id=16541 83523 83524 Else where in the file, installedMediaEngines is always checked for 83525 being empty because access. This patch adds a case which missed that 83526 check. 83527 83528 This triggered a crash in Chromium: 83529 http://www.yakeze.com/chat/example-chromium-crash/ 83530 83531 * platform/graphics/MediaPlayer.cpp: 83532 (WebCore::MediaPlayer::load): 83533 83534 2009-07-20 Adam Langley <agl (a] google.com> 83535 83536 Reviewed by Eric Seidel. 83537 83538 Allow search entries to render with a CSS border if the RenderTheme 83539 doesn't paint them. 83540 83541 https://bugs.webkit.org/show_bug.cgi?id=27466 83542 http://code.google.com/p/chromium/issues/detail?id=16958 83543 83544 <input type="search"> is very much like a text entry except that, 83545 currently, if the RenderTheme doesn't deal with it, nothing is 83546 rendered. With this patch, the default CSS border is rendered if the 83547 RenderTheme requests it. 83548 83549 This will affect many layout tests, but only for Chromium Linux and 83550 those results are not currently in the WebKit tree. 83551 83552 * rendering/RenderTheme.cpp: 83553 (WebCore::RenderTheme::paintBorderOnly): 83554 83555 2009-07-17 Anton Muhin <antonm (a] chromium.org> 83556 83557 Reviewed by Adam Barth. 83558 83559 Switch to faster methods to access internal fields. 83560 https://bugs.webkit.org/show_bug.cgi?id=27372 83561 83562 Minor refactoring. 83563 83564 * bindings/scripts/CodeGeneratorV8.pm: 83565 * bindings/v8/V8DOMWrapper.cpp: 83566 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 83567 (WebCore::V8DOMWrapper::setDOMWrapper): 83568 * bindings/v8/V8DOMWrapper.h: 83569 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 83570 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 83571 (WebCore::V8DOMWrapper::convertToNativeObject): 83572 (WebCore::V8DOMWrapper::convertToNativeEvent): 83573 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 83574 (WebCore::CALLBACK_FUNC_DECL): 83575 * bindings/v8/custom/V8ClipboardCustom.cpp: 83576 (WebCore::CALLBACK_FUNC_DECL): 83577 * bindings/v8/custom/V8DocumentCustom.cpp: 83578 (WebCore::CALLBACK_FUNC_DECL): 83579 * bindings/v8/custom/V8ElementCustom.cpp: 83580 (WebCore::CALLBACK_FUNC_DECL): 83581 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 83582 (WebCore::CALLBACK_FUNC_DECL): 83583 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 83584 (WebCore::CALLBACK_FUNC_DECL): 83585 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 83586 (WebCore::removeElement): 83587 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 83588 (WebCore::CALLBACK_FUNC_DECL): 83589 * bindings/v8/custom/V8NodeCustom.cpp: 83590 (WebCore::CALLBACK_FUNC_DECL): 83591 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 83592 (WebCore::CALLBACK_FUNC_DECL): 83593 83594 2009-07-20 Adam Langley <agl (a] google.com> 83595 83596 Reviewed by Eric Seidel. 83597 83598 Chromium Linux: cache Harfbuzz faces. 83599 83600 https://bugs.webkit.org/show_bug.cgi?id=27473 83601 83602 Previously, we recreated the Harfbuzz face for each script-run. With 83603 this patch, we keep the Harfbuzz face in the FontPlatformData (created 83604 as needed) and so they will persist for the duration of the 83605 FontPlatformData. 83606 83607 Shouldn't affect any layout tests. Results in a significant win on the 83608 intl2 page cycler time. 83609 83610 * platform/graphics/chromium/FontLinux.cpp: 83611 (WebCore::TextRunWalker::~TextRunWalker): 83612 (WebCore::TextRunWalker::setupFontForScriptRun): 83613 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 83614 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace): 83615 (WebCore::FontPlatformData::FontPlatformData): 83616 (WebCore::FontPlatformData::harfbuzzFace): 83617 * platform/graphics/chromium/FontPlatformDataLinux.h: 83618 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create): 83619 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face): 83620 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace): 83621 * platform/graphics/chromium/HarfbuzzSkia.h: Added. 83622 83623 2009-07-20 Ryosuke Niwa <rniwa (a] webkit.org> 83624 83625 Reviewed by Simon Fraser. 83626 83627 REGRESSION (r46142): Need to remove showTreeThisForThis 83628 https://bugs.webkit.org/show_bug.cgi?id=27475 83629 83630 Removes showTreeThisForThis 83631 83632 * editing/IndentOutdentCommand.cpp: 83633 (WebCore::IndentOutdentCommand::appendParagraphIntoNode): 83634 83635 2009-07-19 Ryosuke Niwa <rniwa (a] webkit.org> 83636 83637 Reviewed by Eric Seidel. 83638 83639 Refactoring of indentRegion to fix bugs 26816 and 25317 83640 https://bugs.webkit.org/show_bug.cgi?id=26816 83641 https://bugs.webkit.org/show_bug.cgi?id=25317 83642 https://bugs.webkit.org/show_bug.cgi?id=23995 (partially) 83643 83644 This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph 83645 and replaces all calls inside indentRegion. The following is the new behavior of indentRegion. 83646 83647 1. We try to indent as many wrapping nodes as possible. 83648 e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well. 83649 2. We do not delete any wrapping elements 83650 With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote. 83651 This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation. 83652 With appendParagraphIntoNode, we can preserve all wrapping nodes. 83653 3. We only split the tree until the closest block node instead of until the root editable node. 83654 This behavioral change fixes the bug 25317. 83655 4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection. 83656 e.g. when a list is a child node of a div, and the entire div is intended, 83657 we enclose the div by a single blockquote. 83658 83659 Note that new behavior is more consistent with that of Internet Explorer and Firefox. 83660 To demonstrate this, the following tests are added. 83661 83662 Tests: editing/execCommand/indent-div-inside-list.html 83663 editing/execCommand/indent-nested-blockquotes.html 83664 editing/execCommand/indent-nested-div.html 83665 editing/execCommand/indent-second-paragraph-in-blockquote.html 83666 83667 * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed 83668 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now 83669 (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now 83670 (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node 83671 (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position 83672 (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior 83673 * editing/IndentOutdentCommand.h: updated prototype 83674 83675 2009-07-20 Dan Bernstein <mitz (a] apple.com> 83676 83677 Try to fix release builds after r46136 83678 83679 * dom/Element.cpp: 83680 83681 2009-07-17 Pierre d'Herbemont <pdherbemont (a] apple.com> 83682 83683 Reviewed by Eric Seidel. 83684 83685 Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off. 83686 https://bugs.webkit.org/show_bug.cgi?id=27380 83687 83688 Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls. 83689 83690 * css/mediaControlsQT.css: 83691 83692 2009-07-20 Peter Kasting <pkasting (a] google.com> 83693 83694 Reviewed by Mark Rowe. 83695 83696 https://bugs.webkit.org/show_bug.cgi?id=27468 83697 Back out r46060, which caused problems for some Apple developers. 83698 83699 * WebCore.vcproj/QTMovieWin.vcproj: 83700 * WebCore.vcproj/WebCoreCommon.vsprops: 83701 * WebCore.vcproj/WebCoreGenerated.vcproj: 83702 83703 2009-07-20 Dan Bernstein <mitz (a] apple.com> 83704 83705 Reviewed by Anders Carlsson. 83706 83707 When loading a custom view into a frame, the old document is still 83708 around 83709 <rdar://problem/5145841> 83710 83711 Safari fires onload before PDF is loaded into the browser 83712 <rdar://problem/6618869> 83713 83714 Test: fast/loader/non-html-load-event.html 83715 83716 * GNUmakefile.am: Added PlaceholderDocument.{cpp,h} 83717 * WebCore.gypi: Ditto. 83718 * WebCore.pro: Ditto. 83719 * WebCore.vcproj/WebCore.vcproj: Ditto. 83720 * WebCore.xcodeproj/project.pbxproj: Ditto. 83721 * WebCoreSources.bkl: Ditto. 83722 * dom/Document.h: 83723 (WebCore::Document::setStyleSelector): Added this protected accessor for 83724 PlaceholderDocument to use. 83725 * dom/Element.cpp: 83726 (WebCore::Element::clientWidth): Check whether the document has a 83727 renderer. 83728 (WebCore::Element::clientHeight): Ditto. 83729 * loader/FrameLoader.cpp: 83730 (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames 83731 that do not use an HTML view. Do not nullify the content size in 83732 that case. 83733 (WebCore::FrameLoader::transitionToCommitted): For frames that do not 83734 use an HTML view, call receivedFirstData(), which sets up the 83735 frame with a new PlaceHolderDocument. 83736 * loader/PlaceholderDocument.cpp: Added. 83737 (WebCore::PlaceholderDocument::attach): Sets up the style selector but 83738 does not create a RenderView. 83739 * loader/PlaceholderDocument.h: Added. 83740 (WebCore::PlaceholderDocument::create): 83741 (WebCore::PlaceholderDocument::PlaceholderDocument): 83742 83743 2009-07-20 Chris Marrin <cmarrin (a] apple.com> 83744 83745 Reviewed by Simon Fraser. 83746 83747 Handle opacity and opacity animations on transform layers in Leopard 83748 https://bugs.webkit.org/show_bug.cgi?id=27398 83749 83750 This makes two changes, and only for Leopard. 83751 83752 First, whenever opacity is changed on a layer I propagate the 83753 change into the content layer and all the children if the layer 83754 on which opacity is set is a transform layer (preserve3D is true). 83755 The opacity set is the accumulated opacity from this layer 83756 and all its direct ancestor transform layers. Second, I turn off all 83757 hardware opacity animation. 83758 83759 * platform/graphics/GraphicsLayer.cpp: 83760 (WebCore::GraphicsLayer::accumulatedOpacity): 83761 (WebCore::GraphicsLayer::distributeOpacity): 83762 * platform/graphics/GraphicsLayer.h: 83763 (WebCore::GraphicsLayer::setOpacityInternal): 83764 * platform/graphics/mac/GraphicsLayerCA.h: 83765 * platform/graphics/mac/GraphicsLayerCA.mm: 83766 (WebCore::GraphicsLayerCA::setPreserves3D): 83767 (WebCore::GraphicsLayerCA::setOpacity): 83768 (WebCore::GraphicsLayerCA::animateFloat): 83769 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 83770 (WebCore::GraphicsLayerCA::setOpacityInternal): 83771 (WebCore::GraphicsLayerCA::updateOpacityOnLayer): 83772 83773 2009-07-20 Yong Li <yong.li (a] torchmobile.com> 83774 83775 Reviewed by Adam Roben. 83776 83777 https://bugs.webkit.org/show_bug.cgi?id=27349 83778 Add GraphicsContext implementation for the WinCE port. 83779 83780 Written by Yong Li <yong.li (a] torchmobile.com>, George Staikos <george.staikos (a] torchmobile.com> and Lyon Chen <lyon.chen (a] torchmobile.com> 83781 with trivial style fixes by Adam Treat <adam.treat (a] torchmobile.com> 83782 83783 * platform/graphics/wince/GraphicsContextWince.cpp: Added. 83784 83785 2009-07-20 Dumitru Daniliuc <dumi (a] chromium.org> 83786 83787 Reviewed by Dimitri Glazkov. 83788 83789 Adding the Win SQLite VFS implementation for Chromium, and stubs 83790 for the Mac and Linux VFSs. 83791 83792 https://bugs.webkit.org/show_bug.cgi?id=26940 83793 83794 * WebCore.gypi: 83795 * platform/chromium/ChromiumBridge.h: 83796 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. 83797 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added. 83798 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added. 83799 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. 83800 83801 2009-07-20 Xan Lopez <xlopez (a] igalia.com> 83802 83803 Reviewed by Gustavo Noronha. 83804 83805 https://bugs.webkit.org/show_bug.cgi?id=27097 83806 [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi 83807 83808 Check that an object is a RenderObject before trying to access its 83809 renderer and related node. 83810 83811 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 83812 (webkit_accessible_get_role): 83813 83814 2009-07-20 Balazs Kelemen <kelemen.balazs.3 (a] stud.u-szeged.hu> 83815 83816 Reviewed by Simon Hausmann. 83817 83818 [Qt] font cache reworking 83819 https://bugs.webkit.org/show_bug.cgi?id=27265 83820 83821 Reimplemented Qt's FontCache in a way that follows the shared one. 83822 Now we can release its elements when those became inactive. 83823 FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache. 83824 83825 No change in behavior, so no tests. 83826 83827 * platform/graphics/qt/FontCacheQt.cpp: 83828 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 83829 (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): 83830 (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects. 83831 It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent 83832 with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same 83833 FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa. 83834 (WebCore::FontPlatformDataCacheKey::operator==): 83835 (WebCore::FontPlatformDataCacheKey::hash): 83836 (WebCore::FontPlatformDataCacheKey::computeHash): 83837 (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): 83838 (WebCore::FontPlatformDataCacheKeyHash::hash): 83839 (WebCore::FontPlatformDataCacheKeyHash::equal): 83840 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 83841 (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): 83842 (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): 83843 (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData. 83844 (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData. 83845 (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData. 83846 (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements. 83847 (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument) 83848 * platform/graphics/qt/FontFallbackListQt.cpp: 83849 (WebCore::FontFallbackList::releaseFontData): 83850 (WebCore::FontFallbackList::fontDataAt): 83851 * platform/graphics/qt/FontPlatformData.h: 83852 (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey. 83853 (WebCore::FontPlatformData::bold): Ditto. 83854 (WebCore::FontPlatformData::italic): Ditto. 83855 (WebCore::FontPlatformData::smallCaps): Ditto. 83856 (WebCore::FontPlatformData::pixelSize): Ditto. 83857 * platform/graphics/qt/FontPlatformDataQt.cpp: 83858 (WebCore::FontPlatformData::FontPlatformData): Set m_bold. 83859 83860 2009-07-20 Xan Lopez <xlopez (a] igalia.com> 83861 83862 Reviewed by Holger Freyther. 83863 83864 https://bugs.webkit.org/show_bug.cgi?id=26716 83865 [Gtk] Each XMLHttpRequest leaks memory. 83866 83867 Free the SoupURI we create to check the URI. Fix suggested by John 83868 Kjellberg. 83869 83870 * platform/network/soup/ResourceHandleSoup.cpp: 83871 (WebCore::): 83872 83873 2009-07-20 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 83874 83875 Reviewed by Holger Freyther. 83876 83877 [Qt] On Symbian link against system sqlite3 83878 https://bugs.webkit.org/show_bug.cgi?id=27368 83879 83880 Add an option to force linking against system sqlite3 83881 by adding system-sqlite to the CONFIG variable. 83882 83883 The Symbian specific part of this patch is contributed by 83884 Norbert Leser. 83885 83886 * WebCore.pro: 83887 83888 2009-07-20 Xan Lopez <xlopez (a] igalia.com> 83889 83890 Reviewed by Gustavo Noronha. 83891 83892 Change the glib version check to check for the first unstable 83893 release with g_mapped_file_unref. Otherwise this would be useless 83894 until 2.22 is released, a few months from now. 83895 83896 * platform/network/soup/ResourceHandleSoup.cpp: 83897 (WebCore::ResourceHandle::startHttp): 83898 83899 2009-07-20 Simon Hausmann <simon.hausmann (a] nokia.com> 83900 83901 Reviewed by and done with Tor Arne Vestb. 83902 83903 Fix fast/css/pseudo-required-optional-*.html in the Qt build 83904 after r46062. 83905 83906 These tests triggered a bug in RenderThemeQt where we did not fall back 83907 to the unstyled painting of text areas and input fields when they have 83908 a styled background. 83909 83910 Our re-implementation of isControlStyled incorrectly only checked the 83911 border for determining whether to style or not. The base-implementation 83912 performs the same check, but also includes the background. Removing 83913 our implementation fixes the appearance. 83914 83915 * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation. 83916 * platform/qt/RenderThemeQt.h: Ditto. 83917 83918 2009-07-20 Simon Hausmann <simon.hausmann (a] nokia.com> 83919 83920 Rubber-stamped by Tor Arne Vestb. 83921 83922 Add missing (sorted) header files to the HEADERS variable in the qmake 83923 .pro file for improved completion in IDEs. 83924 83925 * WebCore.pro: 83926 83927 2009-07-19 Adam Barth <abarth (a] webkit.org> 83928 83929 Reviewed by David Levin. 83930 83931 [V8] Factor V8ConsoleMessage out of V8Proxy 83932 https://bugs.webkit.org/show_bug.cgi?id=27421 83933 83934 No behavior change. 83935 83936 * WebCore.gypi: 83937 * bindings/v8/V8ConsoleMessage.cpp: Added. 83938 (WebCore::V8ConsoleMessage::V8ConsoleMessage): 83939 (WebCore::V8ConsoleMessage::dispatchNow): 83940 (WebCore::V8ConsoleMessage::dispatchLater): 83941 (WebCore::V8ConsoleMessage::processDelayed): 83942 (WebCore::V8ConsoleMessage::handler): 83943 * bindings/v8/V8ConsoleMessage.h: Added. 83944 (WebCore::V8ConsoleMessage::Scope::Scope): 83945 (WebCore::V8ConsoleMessage::Scope::~Scope): 83946 * bindings/v8/V8Proxy.cpp: 83947 (WebCore::logInfo): 83948 (WebCore::reportUnsafeAccessTo): 83949 (WebCore::V8Proxy::runScript): 83950 (WebCore::V8Proxy::callFunction): 83951 (WebCore::V8Proxy::newInstance): 83952 (WebCore::V8Proxy::initContextIfNeeded): 83953 (WebCore::V8Proxy::processConsoleMessages): 83954 83955 2009-07-19 Rob Buis <rwlbuis (a] gmail.com> 83956 83957 Reviewed by Adam Barth. 83958 83959 Remove unused member variable. 83960 83961 * svg/SVGPolyElement.h: 83962 83963 2009-07-19 Eric Carlson <eric.carlson (a] apple.com> 83964 83965 Reviewed by Dan Bernstein. 83966 83967 HTMLAudioElement: constructor should set "autobuffer" attribute 83968 https://bugs.webkit.org/show_bug.cgi?id=27422 83969 83970 Test: media/audio-constructor-autobuffer.html 83971 83972 * bindings/js/JSAudioConstructor.cpp: 83973 (WebCore::constructAudio): 83974 Set 'autobuffer' attribute. 83975 83976 2009-07-19 Thierry Bastian <thierry.bastian (a] nokia.com> 83977 83978 Reviewed by Simon Hausmann. 83979 83980 Fix the Qt build with mingw. 83981 83982 * WebCore.pro: Don't use MSVC commandline options to disable warnings 83983 with mingw. 83984 83985 2009-07-19 Adam Barth <abarth (a] webkit.org> 83986 83987 Reviewed by David Levin. 83988 83989 [V8] Phase 2: Remove event listener methods from V8Proxy 83990 https://bugs.webkit.org/show_bug.cgi?id=27415 83991 83992 No behavior change. 83993 83994 * bindings/v8/V8ObjectEventListener.cpp: 83995 (WebCore::weakObjectEventListenerCallback): 83996 (WebCore::V8ObjectEventListener::~V8ObjectEventListener): 83997 * bindings/v8/V8Proxy.cpp: 83998 (WebCore::V8Proxy::disconnectEventListeners): 83999 * bindings/v8/V8Proxy.h: 84000 (WebCore::V8Proxy::eventListeners): 84001 (WebCore::V8Proxy::objectListeners): 84002 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 84003 (WebCore::getEventListener): 84004 * bindings/v8/custom/V8CustomEventListener.cpp: 84005 (WebCore::V8EventListener::~V8EventListener): 84006 * bindings/v8/custom/V8DOMWindowCustom.cpp: 84007 (WebCore::CALLBACK_FUNC_DECL): 84008 (WebCore::ACCESSOR_SETTER): 84009 * bindings/v8/custom/V8ElementCustom.cpp: 84010 (WebCore::ACCESSOR_SETTER): 84011 * bindings/v8/custom/V8MessagePortCustom.cpp: 84012 (WebCore::ACCESSOR_SETTER): 84013 (WebCore::CALLBACK_FUNC_DECL): 84014 * bindings/v8/custom/V8NodeCustom.cpp: 84015 (WebCore::CALLBACK_FUNC_DECL): 84016 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 84017 (WebCore::CALLBACK_FUNC_DECL): 84018 * bindings/v8/custom/V8WorkerCustom.cpp: 84019 (WebCore::getEventListener): 84020 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 84021 (WebCore::getEventListener): 84022 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 84023 (WebCore::ACCESSOR_SETTER): 84024 (WebCore::CALLBACK_FUNC_DECL): 84025 84026 2009-07-18 Jan Michael Alonzo <jmalonzo (a] webkit.org> 84027 84028 Reviewed by Gustavo Noronha. 84029 84030 [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope 84031 https://bugs.webkit.org/show_bug.cgi?id=27230 84032 84033 Use g_mapped_file_unref for GLIB version 2.22 onwards. 84034 84035 * platform/network/soup/ResourceHandleSoup.cpp: 84036 (WebCore::ResourceHandle::startHttp): 84037 84038 2009-07-18 Dan Bernstein <mitz (a] apple.com> 84039 84040 Reviewed by Anders Carlsson. 84041 84042 Add spread radius support to -webkit-box-shadow 84043 https://bugs.webkit.org/show_bug.cgi?id=27417 84044 rdar://problem/7072267 84045 84046 Test: fast/box-shadow/spread.html 84047 84048 * css/CSSComputedStyleDeclaration.cpp: 84049 (WebCore::valueForShadow): Added a property ID parameter and used it to 84050 include the spread length for box-shadow but not for text-shadow. 84051 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 84052 Pass the property ID to valueForShadow(). 84053 84054 * css/CSSParser.cpp: 84055 (WebCore::ShadowParseContext::ShadowParseContext): Added property, 84056 spread, and allowSpread members. Added a property ID parameter to 84057 the constructor. Initialize the property and allowSpread members. 84058 (WebCore::ShadowParseContext::allowLength): Added allowSpread. 84059 (WebCore::ShadowParseContext::commitValue): Pass the spread value to 84060 the ShadowValue constructor. Reset allowSpread. 84061 (WebCore::ShadowParseContext::commitLength): Allow spread after blur 84062 for the box-shadow property. 84063 (WebCore::ShadowParseContext::commitColor): Reset allowSpread. 84064 (WebCore::CSSParser::parseShadow): Pass the property ID to 84065 ShadowParseContext(). 84066 84067 * css/CSSStyleSelector.cpp: 84068 (WebCore::CSSStyleSelector::applyProperty): Get the spread value from 84069 the shadow value and pass it to the ShadowData constructor. 84070 84071 * css/ShadowValue.cpp: 84072 (WebCore::ShadowValue::ShadowValue): Added spread. 84073 (WebCore::ShadowValue::cssText): Added spread. 84074 84075 * css/ShadowValue.h: 84076 (WebCore::ShadowValue::create): Added spread. 84077 84078 * page/animation/AnimationBase.cpp: 84079 (WebCore::blendFunc): Blend the spread value. 84080 (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default 84081 shadow. 84082 84083 * rendering/InlineFlowBox.cpp: 84084 (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in 84085 the visual overflow calculations. 84086 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. 84087 (WebCore::InlineFlowBox::paint): Ditto. 84088 84089 * rendering/RenderBlock.cpp: 84090 (WebCore::RenderBlock::overflowHeight): Ditto. 84091 (WebCore::RenderBlock::overflowWidth): Ditto. 84092 (WebCore::RenderBlock::overflowLeft): Ditto. 84093 (WebCore::RenderBlock::overflowTop): Ditto. 84094 (WebCore::RenderBlock::overflowRect): Ditto. 84095 (WebCore::RenderBlock::layoutBlock): Ditto. 84096 84097 * rendering/RenderBoxModelObject.cpp: 84098 (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow- 84099 casting rect by the shadow spread value. Adjust border radii if 84100 necessary. 84101 84102 * rendering/RenderFlexibleBox.cpp: 84103 (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the 84104 visual overflow calculations. 84105 * rendering/RenderLayer.cpp: 84106 (WebCore::RenderLayer::calculateRects): Ditto. 84107 84108 * rendering/RenderObject.cpp: 84109 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread. 84110 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto. 84111 84112 * rendering/RenderReplaced.cpp: 84113 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. 84114 84115 * rendering/style/RenderStyle.cpp: 84116 (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not 84117 have spread. 84118 84119 * rendering/style/ShadowData.cpp: 84120 (WebCore::ShadowData::ShadowData): Added spread. 84121 (WebCore::ShadowData::operator==): Compare spread. 84122 * rendering/style/ShadowData.h: 84123 (WebCore::ShadowData::ShadowData): Added spread. 84124 84125 2009-07-18 Adam Barth <abarth (a] webkit.org> 84126 84127 Reviewed by Jan Alonzo. 84128 84129 Minor FrameLoader.cpp cleanup 84130 https://bugs.webkit.org/show_bug.cgi?id=27406 84131 84132 No behavior change. 84133 84134 * loader/FrameLoader.cpp: 84135 (WebCore::FrameLoader::executeIfJavaScriptURL): 84136 84137 2009-07-18 Adam Barth <abarth (a] webkit.org> 84138 84139 Reviewed by Darin Fisher. 84140 84141 [V8] Move event listener methods from V8Proxy to V8EventListenerList 84142 https://bugs.webkit.org/show_bug.cgi?id=27408 84143 84144 Move some event listener code out of V8Proxy and into the event 84145 listener list. 84146 84147 I'd like to remove these methods from V8Proxy entirely and just expose 84148 getters for the lists themselves, but I'll do that in a follow up 84149 patch. 84150 84151 * bindings/v8/V8EventListenerList.cpp: 84152 (WebCore::V8EventListenerList::findWrapper): 84153 * bindings/v8/V8EventListenerList.h: 84154 (WebCore::V8EventListenerList::findOrCreateWrapper): 84155 * bindings/v8/V8ObjectEventListener.cpp: 84156 * bindings/v8/V8Proxy.cpp: 84157 (WebCore::V8Proxy::findV8EventListener): 84158 (WebCore::V8Proxy::findOrCreateV8EventListener): 84159 (WebCore::V8Proxy::removeV8EventListener): 84160 (WebCore::V8Proxy::findObjectEventListener): 84161 (WebCore::V8Proxy::findOrCreateObjectEventListener): 84162 (WebCore::V8Proxy::removeObjectEventListener): 84163 * bindings/v8/V8Proxy.h: 84164 84165 2009-07-18 Jeremy Orlow <jorlow (a] chromium.org> 84166 84167 Rubber stamped by Adam Barth. 84168 84169 Revert https://bugs.webkit.org/show_bug.cgi?id=27383 84170 https://bugs.webkit.org/show_bug.cgi?id=27407 84171 84172 Revert Jens' patch. I believe he forgot to include a file. 84173 84174 * WebCore.gypi: 84175 * bindings/scripts/CodeGeneratorV8.pm: 84176 * bindings/v8/DOMObjectsInclude.h: 84177 * bindings/v8/V8DOMWrapper.cpp: 84178 (WebCore::V8DOMWrapper::getTemplate): 84179 * bindings/v8/V8DataGridDataSource.cpp: Removed. 84180 * bindings/v8/V8DataGridDataSource.h: Removed. 84181 * bindings/v8/V8GCController.h: 84182 * bindings/v8/V8Index.h: 84183 * bindings/v8/custom/V8CustomBinding.h: 84184 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: 84185 (WebCore::ACCESSOR_GETTER): 84186 (WebCore::ACCESSOR_SETTER): 84187 84188 2009-07-17 Daniel Bates <dbates (a] intudata.com> 84189 84190 Reviewed by Adam Barth. 84191 84192 https://bugs.webkit.org/show_bug.cgi?id=27405 84193 84194 Fixes an issue when decoding HTML entities with an unknown named entity that 84195 caused null-characters to be inserted into the decoded result. 84196 84197 Test: http/tests/security/xssAuditor/link-onclick-ampersand.html 84198 http/tests/security/xssAuditor/javascript-link-ampersand.html 84199 84200 * page/XSSAuditor.cpp: 84201 (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that 84202 non-zero entity values are not inserted during decoding process. 84203 84204 2009-07-17 Jan Michael Alonzo <jmalonzo (a] webkit.org> 84205 84206 <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space 84207 84208 Reviewed by Holger Freyther. 84209 84210 Add Gtk to platforms that want to open the menulist using the 84211 spacebar. 84212 84213 * dom/SelectElement.cpp: 84214 (WebCore::SelectElement::menuListDefaultEventHandler): 84215 84216 2009-07-17 Mario Sanchez Prada <msanchez (a] igalia.com> 84217 84218 Reviewed by Jan Alonzo. 84219 84220 https://bugs.webkit.org/show_bug.cgi?id=25523 84221 [GTK] The text displayed by push buttons is not exposed to assistive technologies 84222 84223 Add new public method text() to RenderButton and use it from 84224 AccessibilityRenderObject::stringValue(). 84225 84226 * accessibility/AccessibilityRenderObject.cpp: 84227 (WebCore::AccessibilityRenderObject::stringValue): 84228 * rendering/RenderButton.cpp: 84229 (WebCore::RenderButton::text): 84230 * rendering/RenderButton.h: 84231 84232 2009-07-17 Anton Muhin <antonm (a] chromium.org> 84233 84234 Reviewed by Dimitri Glazkov. 84235 84236 Restore proxy retrieval 84237 https://bugs.webkit.org/show_bug.cgi?id=27369 84238 84239 No new tests are needed. 84240 84241 * bindings/v8/V8DOMWrapper.cpp: 84242 (WebCore::V8DOMWrapper::instantiateV8Object): 84243 84244 2009-07-17 Yael Aharon <yael.aharon (a] nokia.com> 84245 84246 Reviewed by George Staikos. 84247 84248 https://bugs.webkit.org/show_bug.cgi?id=27351 84249 Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM 84250 Use uname to find the correct platform for Linux. 84251 84252 * page/NavigatorBase.cpp: 84253 (WebCore::NavigatorBase::platform): 84254 84255 2009-07-17 Jens Alfke <snej (a] chromium.org> 84256 84257 Reviewed by Dimitri Glazkov. 84258 84259 Hook up V8 bindings for DataGrid elements. 84260 https://bugs.webkit.org/show_bug.cgi?id=27383 84261 http://code.google.com/p/chromium/issues/detail?id=16730 84262 84263 Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* 84264 to handle exceptions, check appropriate JS prototypes, and 84265 test column-list's item() method as well as array-indexing. 84266 84267 * WebCore.gypi: Added new source files. 84268 * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. 84269 * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. 84270 * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. 84271 (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. 84272 * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) 84273 (WebCore::V8DataGridDataSource::V8DataGridDataSource): 84274 (WebCore::V8DataGridDataSource::~V8DataGridDataSource): 84275 * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) 84276 (WebCore::V8DataGridDataSource::create): 84277 (WebCore::V8DataGridDataSource::isJSDataGridDataSource): 84278 (WebCore::V8DataGridDataSource::jsDataSource): 84279 (WebCore::asV8DataGridDataSource): 84280 * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". 84281 * bindings/v8/V8Index.h: Conditionalize datagrid stuff. 84282 * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. 84283 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. 84284 (WebCore::ACCESSOR_GETTER): 84285 (WebCore::ACCESSOR_SETTER): 84286 84287 2009-07-17 Jeremy Orlow <jorlow (a] chromium.org> 84288 84289 Reviewed by Darin Fisher. 84290 84291 StorageArea should only contain methods we intend to proxy. 84292 https://bugs.webkit.org/show_bug.cgi?id=27181 84293 84294 Right now, StorageAreaSync takes in a StorageArea* and calls methods 84295 like importItem. Really, StorageAreaSync should be operating directly 84296 on StorageAreaImpl* and those methods should be removed from StorageArea 84297 since StorageAreaSync should never be attached to anything other than a 84298 StorageAreaImpl. 84299 84300 This was pointed out in the review for 84301 https://bugs.webkit.org/show_bug.cgi?id=27072 84302 84303 Also clean up StorageNamespaceImpl to operate directly on 84304 StorageAreaImpl. Also, get rid of the factory for StorageArea 84305 since nothing should ever create a StorageArea directly. 84306 84307 * GNUmakefile.am: 84308 * WebCore.vcproj/WebCore.vcproj: 84309 * WebCore.xcodeproj/project.pbxproj: 84310 * WebCoreSources.bkl: 84311 * storage/StorageArea.cpp: Removed. 84312 * storage/StorageArea.h: 84313 (WebCore::StorageArea::~StorageArea): 84314 * storage/StorageAreaImpl.cpp: 84315 (WebCore::StorageAreaImpl::copy): 84316 * storage/StorageAreaImpl.h: 84317 * storage/StorageAreaSync.cpp: 84318 (WebCore::StorageAreaSync::create): 84319 (WebCore::StorageAreaSync::StorageAreaSync): 84320 * storage/StorageAreaSync.h: 84321 * storage/StorageNamespaceImpl.cpp: 84322 (WebCore::StorageNamespaceImpl::copy): 84323 (WebCore::StorageNamespaceImpl::storageArea): 84324 * storage/StorageNamespaceImpl.h: 84325 84326 2009-07-17 Jeremy Orlow <jorlow (a] chromium.org> 84327 84328 Reviewed by Dimitri Glazkov. 84329 84330 Add v8 implementation for DOM Storage ScriptObjectQuarantine. 84331 https://bugs.webkit.org/show_bug.cgi?id=27327 84332 84333 Wrap the storage object with a generic object as is done elsewhere in 84334 the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not 84335 enabled. 84336 84337 * bindings/v8/ScriptObjectQuarantine.cpp: 84338 (WebCore::getQuarantinedScriptObject): 84339 84340 2009-07-17 Mads Ager <ager (a] chromium.org> 84341 84342 Reviewed by Dimitri Glazkov. 84343 84344 https://bugs.webkit.org/show_bug.cgi?id=27394 84345 Fix access to global object wrappers after navigation of their 84346 frame in the V8 bindings. This fixes selenium test failures. 84347 84348 * bindings/v8/V8Proxy.cpp: 84349 (WebCore::V8Proxy::updateDocument): 84350 84351 2009-07-17 Mark Rowe <mrowe (a] apple.com> 84352 84353 Fix the 32-bit build by removing implicit float <-> double conversions. 84354 84355 * inspector/InspectorController.cpp: 84356 (WebCore::constrainedAttachedWindowHeight): 84357 84358 2009-07-17 Brian Weinstein <bweinstein (a] apple.com> 84359 84360 Reviewed by Adam Roben. 84361 84362 Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272) 84363 https://bugs.webkit.org/show_bug.cgi?id=14272 84364 84365 Moved preference setting for attached inspector height and inspector height calculation from 84366 WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable 84367 Windows resizing of attached inspector. 84368 84369 * inspector/InspectorController.cpp: 84370 * inspector/InspectorController.h: 84371 84372 2009-07-17 Dan Bernstein <mitz (a] apple.com> 84373 84374 Another attempt at fixing the build after r46063 84375 84376 * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private 84377 header, because it is now included from htmlediting.h, which is 84378 a private header. 84379 84380 2009-07-17 Alexey Proskuryakov <ap (a] webkit.org> 84381 84382 Reviewed by Dan Bernstein. 84383 84384 https://bugs.webkit.org/show_bug.cgi?id=27396 84385 Moving cursor in Thai text sometimes jumps over two characters 84386 84387 Test: editing/text-iterator/thai-cursor-movement.html 84388 84389 * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special 84390 case for five Thai characters, matching ICU/CLDR changes. 84391 84392 2009-07-14 Eric Seidel <eric (a] webkit.org> 84393 84394 Reviewed by Adam Barth. 84395 84396 Some constructor objects exposed on Window have the wrong prototype chain 84397 https://bugs.webkit.org/show_bug.cgi?id=27276 84398 84399 Several Constructor classes were already being passed a global object 84400 during construction, but they were ignoring it for prototype lookup. 84401 I've fixed those to use the passed global object instead. 84402 84403 Most of these Constructor classes should just be auto-generated, but I 84404 refrained from changing them over to auto-gen in this patch. 84405 84406 Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when 84407 available, otherwise default to deprecatedGlobalObjectForPrototype(exec) 84408 to match existing behavior. 84409 84410 Test: fast/dom/prototype-inheritance.html 84411 84412 * bindings/js/JSAudioConstructor.cpp: 84413 (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup 84414 * bindings/js/JSDOMBinding.h: 84415 (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used. 84416 (WebCore::deprecatedGetDOMStructure): 84417 * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject* 84418 * bindings/js/JSDOMWindowCustom.cpp: 84419 (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object. 84420 (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object. 84421 (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object. 84422 (WebCore::JSDOMWindow::worker): pass "this" for the global object. 84423 * bindings/js/JSImageConstructor.cpp: 84424 (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup 84425 * bindings/js/JSMessageChannelConstructor.cpp: 84426 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup 84427 * bindings/js/JSOptionConstructor.cpp: 84428 (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup 84429 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 84430 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it 84431 * bindings/js/JSWebKitCSSMatrixConstructor.h: 84432 * bindings/js/JSWebKitPointConstructor.cpp: 84433 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it 84434 * bindings/js/JSWebKitPointConstructor.h: 84435 * bindings/js/JSWorkerConstructor.cpp: 84436 (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it 84437 * bindings/js/JSWorkerConstructor.h: 84438 * bindings/js/JSXMLHttpRequestConstructor.cpp: 84439 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup 84440 -- XMLHttpRequest constructor was also missing a length. Added one. 84441 * bindings/js/JSXSLTProcessorConstructor.cpp: 84442 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 84443 * bindings/js/JSXSLTProcessorConstructor.h: 84444 * bindings/scripts/CodeGeneratorJS.pm: 84445 84446 2009-07-17 Dan Bernstein <mitz (a] apple.com> 84447 84448 Build fix 84449 84450 * editing/htmlediting.cpp: 84451 (WebCore::visiblePositionBeforeNode): 84452 (WebCore::visiblePositionAfterNode): 84453 84454 2009-07-17 Jan Michael Alonzo <jmalonzo (a] webkit.org> 84455 84456 Gtk build fix for symbol lookup error. 84457 84458 Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now 84459 Changed in http://trac.webkit.org/changeset/46048 84460 84461 * GNUmakefile.am: 84462 84463 2009-07-17 Ryosuke Niwa <ryosuke.niwa (a] gmail.com> 84464 84465 Reviewed by Eric Seidel. 84466 84467 htmlediting.cpp needs more utility functions to fix the bug 26816 84468 https://bugs.webkit.org/show_bug.cgi?id=27038 84469 84470 In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp 84471 84472 No tests because functions haven't been used anywhere yet. 84473 84474 * dom/Range.cpp: 84475 (WebCore::Range::create): 84476 (WebCore::Range::comparePoint): added const qualifier 84477 (WebCore::Range::compareNode): added const qualifier 84478 * dom/Range.h: 84479 * editing/htmlediting.cpp: 84480 (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell) 84481 (WebCore::positionBeforeNode): added ASSERT(node) 84482 (WebCore::positionAfterNode): added ASSERT(node) 84483 (WebCore::visiblePositionBeforeNode): 84484 (WebCore::visiblePositionAfterNode): 84485 (WebCore::createRange): create a range object from two visible positions 84486 (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries 84487 (WebCore::canMergeLists): typo 84488 (WebCore::indexForVisiblePosition): added const qualifier 84489 (WebCore::isVisiblyAdjacent): typo 84490 (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range 84491 * editing/htmlediting.h: 84492 84493 2009-07-17 Michelangelo De Simone <micdesim (a] gmail.com> 84494 84495 Reviewed by Darin Adler. 84496 84497 https://bugs.webkit.org/show_bug.cgi?id=25551 84498 Added support for the "required" attribute, the valueMissing flag 84499 to the ValidityState object and :required/:optional CSS pseudoclasses. 84500 Part of HTML5 sec. Forms specs. 84501 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required 84502 84503 Tests: fast/css/pseudo-required-optional-001.html 84504 fast/css/pseudo-required-optional-002.html 84505 fast/css/pseudo-required-optional-003.html 84506 fast/css/pseudo-required-optional-004.html 84507 fast/css/pseudo-required-optional-005.html 84508 fast/css/pseudo-required-optional-006.html 84509 fast/forms/ValidityState-valueMissing-001.html 84510 fast/forms/ValidityState-valueMissing-002.html 84511 fast/forms/ValidityState-valueMissing-003.html 84512 fast/forms/ValidityState-valueMissing-004.html 84513 fast/forms/ValidityState-valueMissing-005.html 84514 fast/forms/ValidityState-valueMissing-006.html 84515 fast/forms/ValidityState-valueMissing-007.html 84516 fast/forms/ValidityState-valueMissing-008.html 84517 fast/forms/ValidityState-valueMissing-009.html 84518 fast/forms/required-attribute-001.html 84519 fast/forms/required-attribute-002.html 84520 84521 * css/CSSSelector.cpp: 84522 (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional 84523 * css/CSSSelector.h: 84524 (WebCore::CSSSelector::): ditto 84525 * css/CSSStyleSelector.cpp: 84526 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto 84527 * dom/Element.h: 84528 (WebCore::Element::isOptionalFormControl): check for optional controls 84529 (WebCore::Element::isRequiredFormControl): check for required controls 84530 * html/HTMLAttributeNames.in: required attribute 84531 * html/HTMLButtonElement.h: 84532 (WebCore::HTMLButtonElement::isOptionalFormControl): ditto 84533 * html/HTMLFormControlElement.cpp: 84534 (WebCore::HTMLFormControlElement::required): requiredAttr getter 84535 (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter 84536 * html/HTMLFormControlElement.h: 84537 (WebCore::HTMLFormControlElement::valueMissing): method definition 84538 * html/HTMLInputElement.cpp: 84539 (WebCore::HTMLInputElement::valueMissing): validation code 84540 (WebCore::HTMLInputElement::isRequiredFormControl): ditto 84541 * html/HTMLInputElement.h: 84542 (WebCore::HTMLInputElement::isOptionalFormControl): ditto 84543 * html/HTMLInputElement.idl: required DOM attribute 84544 * html/HTMLSelectElement.h: 84545 (WebCore::HTMLSelectElement::isOptionalFormControl): ditto 84546 * html/HTMLTextAreaElement.h: 84547 (WebCore::HTMLTextAreaElement::valueMissing): validation code 84548 (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto 84549 (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto 84550 * html/HTMLTextAreaElement.idl: required DOM attribute 84551 * html/ValidityState.cpp: 84552 * html/ValidityState.h: 84553 (WebCore::ValidityState::valueMissing): validation flag 84554 84555 2009-07-17 Beth Dakin <bdakin (a] apple.com> 84556 84557 Reviewed by Darin Adler. 84558 84559 Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 84560 cursor hotspots should work in quirks mode 84561 - and corresponding <rdar://problem/6554340> 84562 84563 Enable hotspots in quirks mode. 84564 * css/CSSParser.cpp: 84565 (WebCore::CSSParser::parseValue): 84566 84567 Update this manual test to reflect the fact that hotspots are now 84568 expected to work in quirks mode. 84569 * manual-tests/css3-cursor-fallback-quirks.html: 84570 84571 2009-07-17 Peter Kasting <pkasting (a] google.com> 84572 84573 Reviewed by Steve Falkenburg. 84574 84575 https://bugs.webkit.org/show_bug.cgi?id=27323 84576 Only add Cygwin to the path when it isn't already there. This avoids 84577 causing problems for people who purposefully have non-Cygwin versions of 84578 executables like svn in front of the Cygwin ones in their paths. 84579 84580 * WebCore.vcproj/QTMovieWin.vcproj: 84581 * WebCore.vcproj/WebCoreCommon.vsprops: 84582 * WebCore.vcproj/WebCoreGenerated.vcproj: 84583 84584 2009-07-17 Alexey Proskuryakov <ap (a] webkit.org> 84585 84586 Reviewed by David Levin. 84587 84588 https://bugs.webkit.org/show_bug.cgi?id=27384 84589 Random crashes in appcache/update-cache.html test 84590 84591 * loader/appcache/ApplicationCacheGroup.cpp: 84592 (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle 84593 after canceling it. 84594 84595 2009-07-17 Drew Wilson <atwilson (a] google.com> 84596 84597 Reviewed by David Levin. 84598 84599 Need to refactor Worker to derive from AbstractWorker 84600 https://bugs.webkit.org/show_bug.cgi?id=26948 84601 84602 Changed Worker to derive from AbstractWorker, which involved moving 84603 AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to 84604 ENABLE_WORKERS. 84605 84606 Removed obsolete functionality from the JS/V8 bindings that is now 84607 inherited from AbstractWorker. 84608 84609 * WebCore.pro: 84610 Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS. 84611 * bindings/js/JSAbstractWorkerCustom.cpp: 84612 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 84613 * bindings/js/JSWorkerCustom.cpp: 84614 Removed obsolete event listener code (now in base class) 84615 (WebCore::JSWorker::mark): 84616 No longer need to explicitly mark event listeners (handled by base class). 84617 * bindings/v8/V8Index.h: 84618 Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. 84619 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 84620 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 84621 * bindings/v8/custom/V8CustomBinding.h: 84622 Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. 84623 * bindings/v8/custom/V8WorkerCustom.cpp: 84624 Removed obsolete event listener code that now lives in the base class. 84625 (WebCore::V8WorkerConstructor): Cleaned up legacy style nits. 84626 * workers/AbstractWorker.cpp: 84627 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 84628 * workers/AbstractWorker.h: 84629 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 84630 * workers/Worker.cpp: 84631 Removed event listener code (now in base class). 84632 (WebCore::Worker::Worker): Now derives from AbstractWorker. 84633 (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class. 84634 * workers/Worker.h: 84635 Removed APIs that now live in the base class. 84636 * workers/Worker.idl: 84637 Now derives from AbstractWorker. 84638 Removed APIs that live in the base class, and added a GenerateToJS flag. 84639 84640 2009-07-17 David Hyatt <hyatt (a] apple.com> 84641 84642 Reviewed by Dan Bernstein. 84643 84644 https://bugs.webkit.org/show_bug.cgi?id=27379 84645 Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include 84646 the vertical scrollbar width for overflow:scroll elements. 84647 84648 Added fast/css/positioned-overflow-scroll.html 84649 84650 * rendering/RenderBlock.cpp: 84651 (WebCore::RenderBlock::calcPrefWidths): 84652 * rendering/RenderFlexibleBox.cpp: 84653 (WebCore::RenderFlexibleBox::calcPrefWidths): 84654 84655 2009-07-17 Jeremy Orlow <jorlow (a] chromium.org> 84656 84657 Reviewed by Dimitri Glazkov. 84658 84659 Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp 84660 https://bugs.webkit.org/show_bug.cgi?id=27375 84661 84662 In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp 84663 and StorageEvent.cpp. Unfortunately, until later this afternoon, 84664 DOM_STORAGE is not turned on by default in Chromium, and so these two 84665 files are never generated. This breaks the compile. 84666 84667 There are no other instances of guards in the file, which puzzles me... 84668 but I think adding guards is the right way to go about this. 84669 84670 * bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard. 84671 84672 2009-07-17 Brady Eidson <beidson (a] apple.com> 84673 84674 Reviewed by Darin Adler. 84675 84676 https://bugs.webkit.org/show_bug.cgi?id=26496 84677 84678 Let WebCore always enforce the connection-per-host limit itself. 84679 84680 * loader/loader.cpp: 84681 (WebCore::Loader::Host::servePendingRequests): 84682 84683 2009-07-17 Chris Marrin <cmarrin (a] apple.com> 84684 84685 Reviewed by David Hyatt. 84686 84687 Some transitions don't work correctly on Leopard 84688 https://bugs.webkit.org/show_bug.cgi?id=27356 84689 84690 We only have code to do component animation using valueFunction. 84691 So on Leopard we always need to do matrix animation in hardware. 84692 This fix ensures that. 84693 84694 This is currently not testable because it appears only in the 84695 hardware animation and we can't yet do pixel tests while 84696 hardware animating. 84697 84698 * platform/graphics/mac/GraphicsLayerCA.mm: 84699 (WebCore::GraphicsLayerCA::animateTransform): 84700 84701 2009-07-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 84702 84703 Reviewed by Gustavo Noronha. 84704 84705 [GTK+] Crash in screenAvailable due a null Widget* 84706 84707 JSDOMWindow::open called screenAvailableRect(0). The other 84708 Screen methods can be called with a null widget as well, fix the 84709 crashing test by checking for null. 84710 84711 In screenRect and screenAvailableRect it is not tried to use 84712 a default screen as the existing implementation didn't try either 84713 in case of not having a toplevel widget. 84714 84715 LayoutTests/fast/frames/crash-removed-iframe.html caused a crash. 84716 84717 * platform/gtk/PlatformScreenGtk.cpp: 84718 (WebCore::getVisual): New method to get a visual or return zero. 84719 (WebCore::screenDepth): Use getVisual. 84720 (WebCore::screenDepthPerComponent): Use getVisual. 84721 (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking 84722 (WebCore::screenRect): Check for !widget. 84723 (WebCore::screenAvailableRect): Check for !widget. 84724 84725 2009-07-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 84726 84727 Reviewed by Simon Hausmann. 84728 84729 [Qt] Fix the include path for the Symbian port 84730 https://bugs.webkit.org/show_bug.cgi?id=27358 84731 84732 * WebCore.pro: 84733 84734 2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 84735 84736 Reviewed by Simon Hausmann. 84737 84738 Make it possible to set the plugin directories from the DRT. 84739 Part of https://bugs.webkit.org/show_bug.cgi?id=27215 84740 84741 * plugins/PluginDatabase.cpp: 84742 (WebCore::PluginDatabase::installedPlugins): Now optionally takes 84743 a populate argument, so we can avoid loading system plugins from the 84744 DRT and thus avoid their strerr errors that can make tests fail. 84745 (WebCore::PluginDatabase::clear): Make it possible to clear the 84746 database. Called from setPluginDirectories. 84747 * plugins/PluginDatabase.h: 84748 (WebCore::PluginDatabase::setPluginDirectories): Make public 84749 84750 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84751 84752 Reviewed by Simon Hausmann. 84753 84754 PluginViewMac: Stop the plugin when loading fails 84755 84756 Also, prevent event propagation when in the stopped state 84757 84758 * plugins/mac/PluginViewMac.cpp: 84759 84760 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84761 84762 Reviewed by Simon Hausmann. 84763 84764 PluginViewMac: Allow query and set of drawing and event models 84765 84766 We now support querying and setting of the drawing and event model, 84767 but we still only support the CoreGraphics drawing model, and the 84768 Carbon event model. 84769 84770 If unsupported drawing or event models are detected we show the 84771 missing-plugin icon. 84772 84773 * plugins/PluginView.cpp: 84774 * plugins/PluginView.h: 84775 * plugins/mac/PluginViewMac.cpp: 84776 84777 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84778 84779 Reviewed by Simon Hausmann. 84780 84781 Initialize two PluginView members using memset 84782 84783 m_npWindow is used on all platforms, not just for XP_UNIX, 84784 so always initialize it. m_npCgContext on the other hand 84785 is only used for XP_MACOSX. 84786 84787 * plugins/PluginView.cpp: 84788 84789 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84790 84791 Reviewed by Simon Hausmann. 84792 84793 Add more debug logging in PluginView 84794 84795 * plugins/PluginView.cpp: Add debug for setValue 84796 * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue 84797 * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more 84798 * plugins/qt/PluginViewQt.cpp: Add debug for getValue 84799 * plugins/win/PluginViewWin.cpp: Add debug for getValue 84800 84801 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84802 84803 Reviewed by Holger Freyther. 84804 84805 Use same license in PluginDebug.cpp as in the original PluginDebug.h 84806 84807 * plugins/PluginDebug.cpp: Use license from PluginDebug.h 84808 84809 2009-07-17 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 84810 84811 Reviewed by Simon Hausmann. 84812 84813 Add more debugging functionality for the WebCore NPAPI layer 84814 84815 * GNUmakefile.am: Add PluginDebug.cpp 84816 * WebCore.gypi: Add PluginDebug.cpp 84817 * WebCore.pro: Add PluginDebug.cpp 84818 * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp 84819 * WebCoreSources.bkl: Add PluginDebug.cpp 84820 * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp 84821 * plugins/PluginDebug.cpp: New file 84822 84823 2009-07-17 Jeremy Orlow <jorlow (a] chromium.org> 84824 84825 Reviewed by David Levin. 84826 84827 Fix Chromium build with DOM_STORAGE enabled. 84828 https://bugs.webkit.org/show_bug.cgi?id=27360 84829 84830 2 minor changes as noted below: 84831 84832 * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files. 84833 * storage/StorageAreaImpl.cpp: #include "DOMWindow.h" 84834 84835 2009-07-16 Fumitoshi Ukai <ukai (a] chromium.org> 84836 84837 Reviewed by David Levin. 84838 84839 Add --web-sockets flag and ENABLE_WEB_SOCKETS define. 84840 https://bugs.webkit.org/show_bug.cgi?id=27206 84841 84842 Add ENABLE_WEB_SOCKETS 84843 84844 * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS 84845 * GNUmakefile.am: add ENABLE_WEB_SOCKETS 84846 * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS 84847 * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS 84848 84849 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 84850 84851 Reviewed by Oliver Hunt. 84852 84853 Added a third bunch of Haiku-specific files for WebCore. 84854 https://bugs.webkit.org/show_bug.cgi?id=26952 84855 84856 Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp, 84857 FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp 84858 84859 * platform/haiku/EventLoopHaiku.cpp: Added. 84860 (WebCore::EventLoop::cycle): 84861 * platform/haiku/FileChooserHaiku.cpp: Added. 84862 (WebCore::FileChooser::FileChooser): 84863 (WebCore::FileChooser::basenameForWidth): 84864 * platform/haiku/FileSystemHaiku.cpp: Added. 84865 (WebCore::fileSystemRepresentation): 84866 (WebCore::homeDirectoryPath): 84867 (WebCore::openTemporaryFile): 84868 (WebCore::closeFile): 84869 (WebCore::writeToFile): 84870 (WebCore::unloadModule): 84871 (WebCore::listDirectory): 84872 * platform/haiku/KeyboardCodes.h: Added. 84873 * platform/haiku/MIMETypeRegistryHaiku.cpp: Added. 84874 (WebCore::): 84875 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 84876 84877 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 84878 84879 Reviewed by Oliver Hunt. 84880 84881 Added a second bunch of Haiku-specific files for WebCore. 84882 https://bugs.webkit.org/show_bug.cgi?id=26952 84883 84884 Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp, 84885 DragDataHaiku.cpp and DragImageHaiku.cpp 84886 84887 * platform/haiku/ContextMenuHaiku.cpp: Added. 84888 (WebCore::ContextMenuReceiver::ContextMenuReceiver): 84889 (WebCore::ContextMenuReceiver::HandleMessage): 84890 (WebCore::ContextMenuReceiver::Result): 84891 (WebCore::ContextMenu::ContextMenu): 84892 (WebCore::ContextMenu::~ContextMenu): 84893 (WebCore::ContextMenu::appendItem): 84894 (WebCore::ContextMenu::itemCount): 84895 (WebCore::ContextMenu::insertItem): 84896 (WebCore::ContextMenu::platformDescription): 84897 (WebCore::ContextMenu::setPlatformDescription): 84898 * platform/haiku/ContextMenuItemHaiku.cpp: Added. 84899 (ContextMenuItem::ContextMenuItem): 84900 (ContextMenuItem::~ContextMenuItem): 84901 (ContextMenuItem::releasePlatformDescription): 84902 (ContextMenuItem::type): 84903 (ContextMenuItem::setType): 84904 (ContextMenuItem::action): 84905 (ContextMenuItem::setAction): 84906 (ContextMenuItem::title): 84907 (ContextMenuItem::setTitle): 84908 (ContextMenuItem::platformSubMenu): 84909 (ContextMenuItem::setSubMenu): 84910 (ContextMenuItem::setChecked): 84911 (ContextMenuItem::setEnabled): 84912 (ContextMenuItem::enabled): 84913 * platform/haiku/DragDataHaiku.cpp: Added. 84914 (WebCore::DragData::canSmartReplace): 84915 (WebCore::DragData::containsColor): 84916 (WebCore::DragData::containsFiles): 84917 (WebCore::DragData::asFilenames): 84918 (WebCore::DragData::containsPlainText): 84919 (WebCore::DragData::asPlainText): 84920 (WebCore::DragData::asColor): 84921 (WebCore::DragData::createClipboard): 84922 (WebCore::DragData::containsCompatibleContent): 84923 (WebCore::DragData::containsURL): 84924 (WebCore::DragData::asURL): 84925 (WebCore::DragData::asFragment): 84926 * platform/haiku/DragImageHaiku.cpp: Added. 84927 (WebCore::dragImageSize): 84928 (WebCore::deleteDragImage): 84929 (WebCore::scaleDragImage): 84930 (WebCore::dissolveDragImageToFraction): 84931 (WebCore::createDragImageFromImage): 84932 (WebCore::createDragImageIconForCachedImage): 84933 84934 2009-07-16 Stephen White <senorblanco (a] chromium.org> 84935 84936 Reviewed by Darin Fisher and Brett Wilson. 84937 84938 Refactor Skia implementation of gradients and patterns. 84939 84940 http://bugs.webkit.org/show_bug.cgi?id=26618 84941 84942 The following layout tests were breaking on Chromium/Linux: 84943 84944 LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG) 84945 LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg 84946 LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG) 84947 LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg 84948 84949 I could've fixed these the easy way, by copying the same 5 84950 lines of code we use everywhere we need patterns or gradients, but 84951 I decided to fix it the hard way: by refactoring the code so that 84952 PlatformContextSkia::setupPaintForFilling() and 84953 PlatformContextSkia::setupPaintForStroking() do the right thing, 84954 and also handle gradients and patterns. 84955 84956 This required pushing the gradients and patterns set in 84957 (generic) GraphicsContext::setFillPattern() and friends down into 84958 PlatformContextSkia. For this, I followed the setPlatformXXX() 84959 pattern used elsewhere in GraphicsContext, and stubbed them out on 84960 the other platforms with #if !PLATFORM(SKIA). This also required 84961 pushing changes to the gradientSpaceTransform from the Gradient into 84962 GradientSkia. 84963 84964 Since it's a Skia context, I decided to cache the values as 84965 SkShaders. There were existing m_pattern and m_gradient SkShaders, 84966 but they were unused, and whose use was ambiguous, so I 84967 replaced them with one SkShader each for filling and stroking. 84968 84969 * platform/graphics/Gradient.cpp: 84970 (WebCore::Gradient::setGradientSpaceTransform): 84971 (WebCore::Gradient::setPlatformGradientSpaceTransform): 84972 * platform/graphics/Gradient.h: 84973 * platform/graphics/GraphicsContext.cpp: 84974 (WebCore::GraphicsContext::setStrokePattern): 84975 (WebCore::GraphicsContext::setFillPattern): 84976 (WebCore::GraphicsContext::setStrokeGradient): 84977 (WebCore::GraphicsContext::setFillGradient): 84978 (WebCore::GraphicsContext::setPlatformFillGradient): 84979 (WebCore::GraphicsContext::setPlatformFillPattern): 84980 (WebCore::GraphicsContext::setPlatformStrokeGradient): 84981 (WebCore::GraphicsContext::setPlatformStrokePattern): 84982 * platform/graphics/GraphicsContext.h: 84983 * platform/graphics/skia/GradientSkia.cpp: 84984 (WebCore::Gradient::setPlatformGradientSpaceTransform): 84985 * platform/graphics/skia/GraphicsContextSkia.cpp: 84986 (WebCore::GraphicsContext::fillPath): 84987 (WebCore::GraphicsContext::fillRect): 84988 (WebCore::GraphicsContext::setPlatformFillGradient): 84989 (WebCore::GraphicsContext::setPlatformFillPattern): 84990 (WebCore::GraphicsContext::setPlatformStrokeGradient): 84991 (WebCore::GraphicsContext::setPlatformStrokePattern): 84992 (WebCore::GraphicsContext::strokePath): 84993 (WebCore::GraphicsContext::strokeRect): 84994 * platform/graphics/skia/PlatformContextSkia.cpp: 84995 (PlatformContextSkia::State::State): 84996 (PlatformContextSkia::State::~State): 84997 (PlatformContextSkia::drawRect): 84998 (PlatformContextSkia::setupPaintCommon): 84999 (PlatformContextSkia::setupPaintForFilling): 85000 (PlatformContextSkia::setupPaintForStroking): 85001 (PlatformContextSkia::setFillColor): 85002 (PlatformContextSkia::setStrokeColor): 85003 (PlatformContextSkia::setStrokeShader): 85004 (PlatformContextSkia::setFillShader): 85005 * platform/graphics/skia/PlatformContextSkia.h: 85006 * platform/graphics/skia/SkiaFontWin.cpp: 85007 (WebCore::skiaDrawText): 85008 (WebCore::paintSkiaText): 85009 * svg/graphics/SVGPaintServer.cpp: 85010 (WebCore::SVGPaintServer::teardown): 85011 85012 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 85013 85014 Reviewed by Oliver Hunt. 85015 85016 Added Haiku-specific files for WebCore/platform/image-decoders/. 85017 https://bugs.webkit.org/show_bug.cgi?id=26949 85018 85019 Adding a new file, ImageDecoderHaiku.cpp. 85020 85021 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added. 85022 (WebCore::RGBA32Buffer::RGBA32Buffer): 85023 (WebCore::RGBA32Buffer::clear): 85024 (WebCore::RGBA32Buffer::zeroFill): 85025 (WebCore::RGBA32Buffer::copyBitmapData): 85026 (WebCore::RGBA32Buffer::setSize): 85027 (WebCore::RGBA32Buffer::asNewNativeImage): 85028 (WebCore::RGBA32Buffer::hasAlpha): 85029 (WebCore::RGBA32Buffer::setHasAlpha): 85030 (WebCore::RGBA32Buffer::setStatus): 85031 (WebCore::RGBA32Buffer::operator=): 85032 (WebCore::RGBA32Buffer::width): 85033 (WebCore::RGBA32Buffer::height): 85034 85035 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 85036 85037 Reviewed by Eric Seidel. 85038 85039 Added Haiku-specific files for WebCore/page/. 85040 https://bugs.webkit.org/show_bug.cgi?id=26949 85041 85042 Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp 85043 and FrameHaiku.cpp 85044 85045 * page/haiku/DragControllerHaiku.cpp: Added. 85046 (WebCore::DragController::isCopyKeyDown): 85047 (WebCore::DragController::dragOperation): 85048 (WebCore::DragController::maxDragImageSize): 85049 (WebCore::DragController::cleanupAfterSystemDrag): 85050 * page/haiku/EventHandlerHaiku.cpp: Added. 85051 (WebCore::isKeyboardOptionTab): 85052 (WebCore::EventHandler::invertSenseOfTabsToLinks): 85053 (WebCore::EventHandler::tabsToAllControls): 85054 (WebCore::EventHandler::focusDocumentView): 85055 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 85056 (WebCore::EventHandler::passMouseDownEventToWidget): 85057 (WebCore::EventHandler::eventActivatedView): 85058 (WebCore::EventHandler::passSubframeEventToSubframe): 85059 (WebCore::EventHandler::passWheelEventToWidget): 85060 (WebCore::EventHandler::createDraggingClipboard): 85061 (WebCore::EventHandler::passMousePressEventToSubframe): 85062 (WebCore::EventHandler::passMouseMoveEventToSubframe): 85063 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 85064 (WebCore::EventHandler::accessKeyModifiers): 85065 * page/haiku/FrameHaiku.cpp: Added. 85066 (WebCore::Frame::dragImageForSelection): 85067 85068 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 85069 85070 Reviewed by Eric Seidel. 85071 85072 Added Haiku-specific files for WebCore/editing/. 85073 https://bugs.webkit.org/show_bug.cgi?id=26949 85074 85075 Adding one new file, EditorHaiku.cpp 85076 85077 * editing/haiku/EditorHaiku.cpp: Added. 85078 (WebCore::Editor::newGeneralClipboard): 85079 85080 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 85081 85082 Reviewed by Eric Seidel. 85083 85084 Added Haiku-specific files for WebCore/bindings/js/. 85085 https://bugs.webkit.org/show_bug.cgi?id=26949 85086 85087 Adding a new file, ScriptControllerHaiku.cpp 85088 85089 * bindings/js/ScriptControllerHaiku.cpp: Added. 85090 (WebCore::ScriptController::createScriptInstanceForWidget): 85091 85092 2009-07-16 Maxime Simon <simon.maxime (a] gmail.com> 85093 85094 Reviewed by Eric Seidel. 85095 85096 Added Haiku-specific files for WebCore/platform/text/. 85097 https://bugs.webkit.org/show_bug.cgi?id=26949 85098 85099 Adding two new files, StringHaiku.cpp 85100 and TextBreakIteratorInternalICUHaiku.cpp 85101 85102 * platform/text/haiku/StringHaiku.cpp: Added. 85103 (WebCore::String::String): 85104 (WebCore::String::operator BString): 85105 * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added. 85106 (WebCore::currentTextBreakLocaleID): 85107 85108 2009-07-16 Kent Tamura <tkent (a] chromium.org> 85109 85110 Reviewed by Eric Seidel. 85111 85112 Sends the basename of a selected file for non-multipart form submission. 85113 <https://bugs.webkit.org/show_bug.cgi?id=26505> 85114 85115 Test: fast/forms/get-file-upload.html 85116 85117 * html/HTMLInputElement.cpp: 85118 (WebCore::HTMLInputElement::appendFormData): 85119 85120 2009-07-16 Adam Barth <abarth (a] webkit.org> 85121 85122 Reviewed by David Levin. 85123 85124 [V8] Centralize hidden property names 85125 https://bugs.webkit.org/show_bug.cgi?id=27359 85126 85127 No behavior change. Just moving these names to a central location. 85128 I'll move the rest of our hidden property names as I sweep though the 85129 bindings. 85130 85131 * WebCore.gypi: 85132 * bindings/v8/V8HiddenPropertyName.cpp: Added. 85133 (WebCore::V8HiddenPropertyName::objectPrototype): 85134 (WebCore::V8HiddenPropertyName::isolatedWorld): 85135 * bindings/v8/V8HiddenPropertyName.h: Added. 85136 * bindings/v8/V8IsolatedWorld.cpp: 85137 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 85138 (WebCore::V8IsolatedWorld::getEntered): 85139 * bindings/v8/V8Proxy.cpp: 85140 (WebCore::V8Proxy::getHiddenObjectPrototype): 85141 (WebCore::V8Proxy::installHiddenObjectPrototype): 85142 85143 2009-07-16 Dan Bernstein <mitz (a] apple.com> 85144 85145 Reviewed by Simon Fraser. 85146 85147 REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image 85148 https://bugs.webkit.org/show_bug.cgi?id=26747 85149 rdar://problem/7009243 85150 85151 Test: fast/repaint/background-misaligned.html 85152 85153 * platform/graphics/Image.cpp: 85154 (WebCore::Image::drawTiled): Moved a variable definition closer to where 85155 it is used. 85156 * platform/graphics/cg/ImageCG.cpp: 85157 (WebCore::BitmapImage::draw): In the subimage code path, compute a 85158 pixel-aligned source rect, because the subiamge is always pixel-aligned 85159 in source space, and adjust the destination rect to preserve the 85160 source -> destination mapping. Clip to the (original) destination rect 85161 to prevent bleeding out. 85162 85163 2009-07-16 Jeremy Orlow <jorlow (a] chromium.org> 85164 85165 Reviewed by Adam Barth. 85166 85167 Add a sessionStorageEnabled setting to the settings class. 85168 https://bugs.webkit.org/show_bug.cgi?id=27318 85169 85170 Allow LocalStorage to be enabled without enabling SessionStorage at 85171 runtime. There is a settings class setting for localStorage, but not 85172 for sessionStorage. We want to be able to test one of these features 85173 without necessarily enabling the other. 85174 85175 SessionStorage defaults to true so as to not change behavior and 85176 because there really aren't any security concerns around SessionStorage 85177 (unlike LocalsStorage). The flag is needed in Chromium only because 85178 we want to enable the compile time flag in the default build, but don't 85179 want it on by default until it's been thoroughly tested. 85180 85181 * page/DOMWindow.cpp: 85182 (WebCore::DOMWindow::sessionStorage): Check the new flag 85183 (WebCore::DOMWindow::localStorage): A bit of cleanup 85184 * page/Settings.cpp: 85185 (WebCore::Settings::Settings): Default the flag to true 85186 (WebCore::Settings::setSessionStorageEnabled): Add the new flag 85187 * page/Settings.h: 85188 (WebCore::Settings::sessionStorageEnabled): Get the new flag 85189 85190 2009-07-16 Adam Barth <abarth (a] webkit.org> 85191 85192 Unreviewed. 85193 85194 Revert 45987. Tests did not pass on Windows. 85195 85196 * html/HTMLInputElement.cpp: 85197 (WebCore::HTMLInputElement::appendFormData): 85198 85199 2009-07-16 Drew Wilson <atwilson (a] google.com> 85200 85201 Reviewed by David Levin. 85202 85203 Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files. 85204 Added missing V8 bindings to the AllInOne file 85205 85206 https://bugs.webkit.org/show_bug.cgi?id=27321 85207 85208 * WebCore.vcproj/WebCore.vcproj: 85209 Added missing files to build. 85210 * bindings/v8/DerivedSourcesAllInOne.cpp: 85211 Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp) 85212 * DerivedSources.cpp 85213 Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp) 85214 85215 2009-07-16 John Abd-El-Malek <jam (a] chromium.org> 85216 85217 Reviewed by David Levin. 85218 85219 Add a getter in MessagePortChannel for the PlatformMessagePortChannel. 85220 85221 https://bugs.webkit.org/show_bug.cgi?id=27337 85222 85223 * dom/MessagePortChannel.h: 85224 (WebCore::MessagePortChannel::channel): 85225 85226 2009-07-16 Xiaomei Ji <xji (a] chromium.org> 85227 85228 Reviewed by Darin Adler. 85229 85230 Fix tooltip does not get its directionality from its element's directionality. 85231 https://bugs.webkit.org/show_bug.cgi?id=24187 85232 85233 Per mitz's suggestion in comment #6, while getting the plain-text 85234 title, we also get the directionality of the title. How to handle 85235 the directionality is up to clients. Clients could ignore it, 85236 or use attribute or unicode control characters to display the title 85237 as what they want. 85238 85239 WARNING: NO TEST CASES ADDED OR CHANGED 85240 85241 * WebCore.base.exp: Replace 2 names due to signature change. 85242 * loader/EmptyClients.h: 85243 (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter. 85244 * page/Chrome.cpp: 85245 (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip. 85246 * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip(). 85247 * page/chromium/ChromeClientChromium.h: 85248 (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 85249 temprarily to make chromium compile after pick up this webkit patch. 85250 * rendering/HitTestResult.cpp: 85251 (WebCore::HitTestResult::spellingToolTip): Besides getting the 85252 spelling tooltip, get its directionality as well. 85253 (WebCore::HitTestResult::title): Besides getting the title, 85254 get its directionality as well. 85255 * rendering/HitTestResult.h: Add 2 more methods. 85256 85257 2009-07-16 Shinichiro Hamaji <hamaji (a] chromium.org> 85258 85259 Reviewed by Oliver Hunt. 85260 85261 [CAIRO] pattern of a canvas-element changes after modifications on canvas-element 85262 https://bugs.webkit.org/show_bug.cgi?id=20578 85263 85264 Copy pixel image in ImageBuffer::image() just like CG and Skia glue. 85265 85266 Test: fast/canvas/canvas-pattern-modify.html 85267 85268 * platform/graphics/cairo/ImageBufferCairo.cpp: 85269 (copySurface): 85270 (WebCore::ImageBuffer::image): 85271 85272 2009-07-16 David Hyatt <hyatt (a] apple.com> 85273 85274 Reviewed by Beth Dakin. 85275 85276 https://bugs.webkit.org/show_bug.cgi?id=27353 85277 Images mispositioned because of bug in percentage-based relative positioning. 85278 85279 Added fast/css/nested-floating-relative-position-percentages.html 85280 85281 * rendering/RenderBoxModelObject.cpp: 85282 (WebCore::RenderBoxModelObject::relativePositionOffsetX): 85283 85284 2009-07-16 Kent Tamura <tkent (a] chromium.org> 85285 85286 Reviewed by Eric Seidel. 85287 85288 Sends the basename of a selected file for non-multipart form submission. 85289 <https://bugs.webkit.org/show_bug.cgi?id=26505> 85290 85291 Test: fast/forms/get-file-upload.html 85292 85293 * html/HTMLInputElement.cpp: 85294 (WebCore::HTMLInputElement::appendFormData): 85295 85296 2009-07-16 Simon Fraser <simon.fraser (a] apple.com> 85297 85298 Reviewed by Darin Adler. 85299 85300 Video size sometimes jumps just after the video starts loading 85301 https://bugs.webkit.org/show_bug.cgi?id=27352 85302 85303 Ensure that the media player is at or after the 'HaveMetadata' state so that 85304 the instrinsic size is known before we create the layer for video. This avoids 85305 a flash caused by computing the video rect using the default intrinsic size, and then 85306 re-computing it when that size changes. 85307 85308 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 85309 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 85310 (WebCore::MediaPlayerPrivate::isReadyForRendering): 85311 (WebCore::MediaPlayerPrivate::updateStates): 85312 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 85313 85314 2009-07-16 Brady Eidson <beidson (a] apple.com> 85315 85316 Reviewed by Antti Koivisto. 85317 Patch by Brady Eidson and Alexey Proskuryakov. 85318 85319 https://bugs.webkit.org/show_bug.cgi?id=26496 85320 <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation 85321 85322 After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption 85323 from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads. 85324 85325 * loader/loader.cpp: 85326 (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit. 85327 85328 2009-07-16 Adam Barth <abarth (a] webkit.org> 85329 85330 Reviewed by Dimitri Glazkov. 85331 85332 [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext 85333 https://bugs.webkit.org/show_bug.cgi?id=27335 85334 85335 evaluateInNewContext makes this delegate call. evaluateInNewWorld 85336 needs to make the same call. This does not appear to be testable with 85337 our current technology. 85338 85339 * bindings/v8/V8IsolatedWorld.cpp: 85340 (WebCore::V8IsolatedWorld::evaluate): 85341 85342 2009-07-15 Jakub Wieczorek <faw217 (a] gmail.com> 85343 85344 Reviewed by Simon Hausmann. 85345 85346 Fix a typo: application/atom=xml -> application/atom+xml. 85347 85348 * dom/ProcessingInstruction.cpp: 85349 (WebCore::ProcessingInstruction::checkStyleSheet): 85350 85351 2009-07-16 Dean McNamee <deanm (a] chromium.org> 85352 85353 Reviewed by Oliver Hunt. 85354 85355 https://bugs.webkit.org/show_bug.cgi?id=27292 85356 Improve handling of <canvas> path operations on an empty path. 85357 Implement Skia's Path::hasCurrentPoint(). 85358 85359 * html/CanvasRenderingContext2D.cpp: 85360 (WebCore::CanvasRenderingContext2D::lineTo): 85361 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 85362 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 85363 * platform/graphics/skia/PathSkia.cpp: 85364 (WebCore::Path::hasCurrentPoint): 85365 85366 2009-07-15 Shinichiro Hamaji <hamaji (a] chromium.org> 85367 85368 Reviewed by Eric Seidel. 85369 85370 Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute 85371 https://bugs.webkit.org/show_bug.cgi?id=26254 85372 85373 Make it so that setting white-space and word-wrap via CSS 85374 overrides the wrap attribute. 85375 85376 This involves having the shadow div in the textarea inherit 85377 the CSS from its parent instead of hard-coding it in 85378 RenderTextControlMultiline. 85379 85380 Committer note: Earlier I reverted this change because I did it incorrectly 85381 by leaving out css/html.css. In the patch, the filename was the old name 85382 css/html4.css and that led to my error. 85383 85384 * css/html.css: 85385 * html/HTMLTextAreaElement.cpp: 85386 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 85387 * rendering/RenderTextControlMultiLine.cpp: 85388 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 85389 85390 2009-07-15 James Hawkins <jhawkins (a] google.com> 85391 85392 Reviewed by Adam Barth. 85393 85394 [V8] Remove a local variable that is shadowing a function parameter. 85395 https://bugs.webkit.org/show_bug.cgi?id=27309 85396 85397 No test required as this modification does not change the current behavior. 85398 85399 * bindings/v8/V8DOMWrapper.cpp: 85400 (WebCore::V8DOMWrapper::instantiateV8Object): 85401 85402 2009-07-15 Adam Langley <agl (a] google.com> 85403 85404 No review: reverting previous change. 85405 85406 Revert r45959: 85407 85408 2009-07-15 Dumitru Daniliuc <dumi (a] chromium.org> 85409 Reviewed by Dimitri Glazkov. 85410 85411 Adding the Win SQLite VFS implementation for Chromium. 85412 85413 https://bugs.webkit.org/show_bug.cgi?id=26940 85414 85415 85416 The Chromium side of this patch was landed in 20839, but broke the build. It 85417 was reverted in r20840. Thus, I'm reverting this side of the patch too. 85418 85419 * WebCore.gypi: 85420 * platform/chromium/ChromiumBridge.h: 85421 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed. 85422 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed. 85423 85424 2009-07-15 David Levin <levin (a] chromium.org> 85425 85426 Layout test fix, reverting previous change. 85427 85428 Reverting r45962 as it caused several layout test failures. 85429 85430 * html/HTMLTextAreaElement.cpp: 85431 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 85432 * rendering/RenderTextControlMultiLine.cpp: 85433 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 85434 85435 2009-06-08 Shinichiro Hamaji <hamaji (a] chromium.org> 85436 85437 Reviewed by Eric Seidel. 85438 85439 Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute 85440 https://bugs.webkit.org/show_bug.cgi?id=26254 85441 85442 Make it so that setting white-space and word-wrap via CSS 85443 overrides the wrap attribute. 85444 85445 This involves having the shadow div in the textarea inherit 85446 the CSS from its parent instead of hard-coding it in 85447 RenderTextControlMultiline. 85448 85449 * css/html4.css: 85450 * html/HTMLTextAreaElement.cpp: 85451 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 85452 * rendering/RenderTextControlMultiLine.cpp: 85453 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 85454 85455 2009-07-15 Dumitru Daniliuc <dumi (a] chromium.org> 85456 85457 Reviewed by Dimitri Glazkov. 85458 85459 Adding the Win SQLite VFS implementation for Chromium. 85460 85461 https://bugs.webkit.org/show_bug.cgi?id=26940 85462 85463 * platform/chromium/ChromiumBridge.h: 85464 * platform/sql/chromium: Added. 85465 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. 85466 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. 85467 85468 2009-07-15 Jian Li <jianli (a] chromium.org> 85469 85470 Reviewed by David Levin. 85471 85472 Bug 25151 - workers that fail to load scripts not firing error event. 85473 https://bugs.webkit.org/show_bug.cgi?id=25151 85474 85475 This fixes the problem that an error event is not fired when the worker 85476 script fails to load. Some reasons this may occur are an invalid URL for 85477 the worker script or a cross-origin redirect. 85478 85479 We also moves the code to complete the URL and check its origin from 85480 Worker constructor to WorkerScriptLoader loading functions in order to 85481 move the exception throwing logic out of the scope of Worker constructor. 85482 Due to this change, we also remove the output ExceptionCode parameter 85483 in the worker constructor. Corresponding JS/V8 binding codes have been 85484 updated to reflect this change. 85485 85486 * bindings/js/JSWorkerConstructor.cpp: 85487 (WebCore::constructWorker): 85488 * bindings/v8/custom/V8WorkerCustom.cpp: 85489 (WebCore::CALLBACK_FUNC_DECL): 85490 * workers/Worker.cpp: 85491 (WebCore::Worker::Worker): 85492 (WebCore::Worker::notifyFinished): 85493 * workers/Worker.h: 85494 (WebCore::Worker::create): 85495 * workers/WorkerContext.cpp: 85496 (WebCore::WorkerContext::importScripts): 85497 * workers/WorkerScriptLoader.cpp: 85498 (WebCore::toCrossOriginRedirectPolicy): 85499 (WebCore::WorkerScriptLoader::loadSynchronously): 85500 (WebCore::WorkerScriptLoader::loadAsynchronously): 85501 (WebCore::notifyLoadErrorTask): 85502 (WebCore::WorkerScriptLoader::createResourceRequest): 85503 (WebCore::WorkerScriptLoader::didFail): 85504 (WebCore::WorkerScriptLoader::didFailRedirectCheck): 85505 (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): 85506 (WebCore::WorkerScriptLoader::notifyError): 85507 * workers/WorkerScriptLoader.h: 85508 (WebCore::): 85509 (WebCore::WorkerScriptLoader::url): 85510 85511 2009-07-15 Dan Bernstein <mitz (a] apple.com> 85512 85513 Reviewed by Dave Hyatt. 85514 85515 text-shadow is not drawn for text with transparent colour 85516 https://bugs.webkit.org/show_bug.cgi?id=21374 85517 85518 Test: fast/text/shadow-translucent-fill.html 85519 85520 * rendering/InlineTextBox.cpp: 85521 (WebCore::paintTextWithShadows): If the text fill color is not opaque, 85522 paint all shadows separately from the text, by casting them from 85523 clipped-out opaque text. 85524 85525 2009-07-15 Adam Treat <adam.treat (a] torchmobile.com> 85526 85527 Fix the Qt build. 85528 85529 * html/HTMLAreaElement.cpp: 85530 85531 2009-07-15 Jeremy Orlow <jorlow (a] chromium.org> 85532 85533 Reviewed by Darin Fisher. 85534 85535 Cleanup DOM Storage dependencies. 85536 https://bugs.webkit.org/show_bug.cgi?id=27180 85537 85538 DOM Storage had several unnecessary (and probably unintended) 85539 dependencies. This patch replaces many includes of header files with 85540 forward declaration of classes, making some destructors explicit, and 85541 taking some factories out of the header files. 85542 85543 This will allow things like StorageAreaSync to take a StorageAreaImpl* 85544 (as it should) rather than a StorageArea* which previously weren't 85545 possible because the dependencies were such a tangled mess. 85546 85547 * storage/LocalStorageTask.cpp: 85548 (WebCore::LocalStorageTask::~LocalStorageTask): 85549 * storage/LocalStorageTask.h: 85550 * storage/Storage.cpp: 85551 (WebCore::Storage::~Storage): 85552 * storage/Storage.h: 85553 * storage/StorageArea.cpp: 85554 * storage/StorageArea.h: 85555 * storage/StorageAreaImpl.cpp: 85556 * storage/StorageAreaImpl.h: 85557 * storage/StorageAreaSync.cpp: 85558 (WebCore::StorageAreaSync::~StorageAreaSync): 85559 * storage/StorageAreaSync.h: 85560 * storage/StorageEvent.cpp: 85561 (WebCore::StorageEvent::create): 85562 (WebCore::StorageEvent::StorageEvent): 85563 * storage/StorageEvent.h: 85564 * storage/StorageNamespace.h: 85565 * storage/StorageNamespaceImpl.cpp: 85566 * storage/StorageNamespaceImpl.h: 85567 * storage/StorageSyncManager.cpp: 85568 (WebCore::StorageSyncManager::~StorageSyncManager): 85569 * storage/StorageSyncManager.h: 85570 85571 2009-07-15 Chris Marrin <cmarrin (a] apple.com> 85572 85573 Reviewed by Simon Fraser. 85574 85575 Incorrect animation when trying to duplicate effect of transform-origin 85576 https://bugs.webkit.org/show_bug.cgi?id=27310 85577 85578 The bug is that matrix animation is being used when animating 85579 a list of transform functions that match in the from and to states. 85580 This sometimes works. But because of the way CA does matrix animation 85581 function lists like the one shown in the testcase animate incorrectly. 85582 85583 This fixes the bug by always doing component animation 85584 as long as the function lists match. This allows CA 85585 to animate the components and then recompose the result 85586 into the correct matrix. 85587 85588 Test: animations/transform-origin-vs-functions.html 85589 85590 * platform/graphics/mac/GraphicsLayerCA.mm: 85591 (WebCore::GraphicsLayerCA::animateTransform): 85592 85593 2009-07-15 Albert J. Wong <ajwong (a] chromium.org> 85594 85595 Reviewed by David Levin. 85596 85597 Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi. 85598 85599 Add upstreamed V8 bindings files into WebCore.gypi so they can be seen 85600 downstream 85601 https://bugs.webkit.org/show_bug.cgi?id=27274 85602 85603 Changes the build file for chromium. Test built the chromium tree 85604 to verify. 85605 85606 * WebCore.gypi: 85607 85608 2009-07-15 Mark Rowe <mrowe (a] apple.com> 85609 85610 I like it when the code compiles. 85611 85612 * WebCore.base.exp: 85613 85614 2009-07-15 Darin Adler <darin (a] apple.com> 85615 85616 Reviewed by Sam Weinig. 85617 85618 Renamed parseURL to deprecatedParseURL. 85619 85620 * bindings/js/JSAttrCustom.cpp: 85621 (WebCore::JSAttr::setValue): Renamed. 85622 * bindings/js/JSElementCustom.cpp: 85623 (WebCore::allowSettingSrcToJavascriptURL): Renamed. 85624 * bindings/js/JSHTMLFrameElementCustom.cpp: 85625 (WebCore::allowSettingJavascriptURL): Renamed. 85626 * bindings/js/JSHTMLIFrameElementCustom.cpp: 85627 (WebCore::JSHTMLIFrameElement::setSrc): Renamed. 85628 * bindings/objc/DOM.mm: 85629 (-[DOMElement _getURLAttribute:]): Renamed. 85630 * bindings/objc/DOMHTML.mm: 85631 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed. 85632 * bindings/v8/custom/V8CustomBinding.cpp: 85633 (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed. 85634 * css/CSSHelper.cpp: 85635 (WebCore::deprecatedParseURL): Renamed. 85636 * css/CSSHelper.h: Renamed and updated comment. 85637 * html/HTMLAnchorElement.cpp: 85638 (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed. 85639 (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed. 85640 * html/HTMLBaseElement.cpp: 85641 (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed. 85642 * html/HTMLBodyElement.cpp: 85643 (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed. 85644 * html/HTMLEmbedElement.cpp: 85645 (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed. 85646 * html/HTMLFormElement.cpp: 85647 (WebCore::HTMLFormElement::parseMappedAttribute): Renamed. 85648 * html/HTMLFrameElementBase.cpp: 85649 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed. 85650 * html/HTMLImageElement.cpp: 85651 (WebCore::HTMLImageElement::parseMappedAttribute): Renamed. 85652 * html/HTMLImageLoader.cpp: 85653 (WebCore::HTMLImageLoader::sourceURI): Renamed. 85654 * html/HTMLLinkElement.cpp: 85655 (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed. 85656 * html/HTMLObjectElement.cpp: 85657 (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed. 85658 * html/HTMLTableElement.cpp: 85659 (WebCore::HTMLTableElement::parseMappedAttribute): Renamed. 85660 * html/HTMLTablePartElement.cpp: 85661 (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed. 85662 * html/HTMLTokenizer.cpp: 85663 (WebCore::HTMLTokenizer::parseTag): Renamed. 85664 * html/PreloadScanner.cpp: 85665 (WebCore::PreloadScanner::processAttribute): Renamed. 85666 (WebCore::PreloadScanner::emitCSSRule): Renamed. 85667 * platform/chromium/ClipboardChromium.cpp: 85668 (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed. 85669 * platform/chromium/PasteboardChromium.cpp: 85670 (WebCore::Pasteboard::writeImage): Renamed. 85671 * platform/qt/ClipboardQt.cpp: 85672 (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed. 85673 * platform/win/ClipboardWin.cpp: 85674 (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed. 85675 * rendering/HitTestResult.cpp: 85676 (WebCore::HitTestResult::absoluteImageURL): Renamed. 85677 (WebCore::HitTestResult::absoluteMediaURL): Renamed. 85678 (WebCore::HitTestResult::absoluteLinkURL): Renamed. 85679 * svg/SVGAElement.cpp: 85680 (WebCore::SVGAElement::defaultEventHandler): Renamed. 85681 * svg/SVGImageLoader.cpp: 85682 (WebCore::SVGImageLoader::sourceURI): Renamed. 85683 * wml/WMLAElement.cpp: 85684 (WebCore::WMLAElement::defaultEventHandler): Renamed. 85685 * wml/WMLImageLoader.cpp: 85686 (WebCore::WMLImageLoader::sourceURI): Renamed. 85687 85688 2009-07-15 Darin Adler <darin (a] apple.com> 85689 85690 Reviewed by Dan Bernstein. 85691 85692 CSSHelper.h's parseURL is a function that no one should ever call 85693 Part 1: Eliminate callers in the CSS parser. 85694 https://bugs.webkit.org/show_bug.cgi?id=26599 85695 85696 Test: fast/css/uri-token-parsing.html 85697 85698 * css/CSSHelper.h: Added a comment explaining why nobody should ever call this 85699 function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL. 85700 85701 * css/CSSParser.cpp: 85702 (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL; 85703 CSSParser::text already takes care of parsing the URI token syntax, and the 85704 parseURL function does no good. 85705 (WebCore::CSSParser::parseContent): Ditto. 85706 (WebCore::CSSParser::parseFillImage): Ditto. 85707 (WebCore::CSSParser::parseFontFaceSrc): Ditto. 85708 (WebCore::CSSParser::parseBorderImage): Ditto. 85709 (WebCore::isCSSWhitespace): Added. Helper function that makes the text function 85710 easier to read. 85711 (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace 85712 are both trimmed before removing the quote marks. Changed to use the 85713 isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity. 85714 85715 * css/CSSParser.h: Removed stray "public:" in this header. 85716 85717 * platform/text/StringImpl.cpp: 85718 (WebCore::StringImpl::substring): Optimized the case where the substring covers 85719 the entire string, so we just share the StringImpl instead of making a new one. 85720 This case came up in earlier versions of the CSS parser changes above. 85721 (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it 85722 not call substring any more. Before, this was relying on the substring function 85723 always making a copy of any non-empty substring. 85724 85725 2009-07-15 Darin Adler <darin (a] apple.com> 85726 85727 Reviewed by John Sullivan. 85728 85729 After double-clicking a word, using Shift-arrow to select behaves unpredictably 85730 https://bugs.webkit.org/show_bug.cgi?id=27177 85731 rdar://problem/7034324 85732 85733 Test: editing/selection/extend-selection-after-double-click.html 85734 85735 The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not 85736 being cleared in many cases where it should have been. 85737 85738 * editing/SelectionController.cpp: 85739 (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension 85740 to false. This catches all sorts of cases that don't flow through the modify function. 85741 Before, the flag would reflect the last call to the modify function, which was not 85742 necessarily the last selection change. 85743 (WebCore::SelectionController::willBeModified): Rearrange function for clarity. 85744 Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 85745 (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after 85746 setSelection when setting up a trial selection controller, since setSelection now 85747 clears that flag. Also changed both trial selection controller cases to set the flag, 85748 although it's not strictly necessary in both cases. Added code to set 85749 m_lastChangeWasHorizontalExtension when extending the selection, which used to be 85750 handled in willBeModified. Now we need to do it after the selection change. 85751 85752 2009-07-15 Jeremy Orlow <jorlow (a] chromium.org> 85753 85754 Reviewed by Dimitri Glazkov. 85755 85756 Need to update DOM Storage files in GYPI file. 85757 https://bugs.webkit.org/show_bug.cgi?id=27317 85758 85759 Need to update DOM Storage files in the GYPI file. They're pretty out 85760 of date and we're on the path towards enabling them for everyone! 85761 85762 * WebCore.gypi: 85763 85764 2009-07-15 Kwang Yul Seo <skyul (a] company100.net> 85765 85766 Reviewed by Eric Seidel. 85767 85768 https://bugs.webkit.org/show_bug.cgi?id=26794 85769 Make Yacc-generated parsers to use fastMalloc/fastFree. 85770 85771 Define YYMALLOC and YYFREE to fastMalloc and fastFree 85772 respectively. 85773 85774 * css/CSSGrammar.y: 85775 * xml/XPathGrammar.y: 85776 85777 2009-07-15 David Hyatt <hyatt (a] apple.com> 85778 85779 Reviewed by Adam Roben. 85780 85781 https://bugs.webkit.org/show_bug.cgi?id=27193 85782 Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in 85783 is effectively broken as a result. 85784 85785 No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior. 85786 85787 * rendering/RenderBlock.cpp: 85788 (WebCore::RenderBlock::handleRunInChild): 85789 85790 2009-07-15 Yuzo Fujishima <yuzo (a] google.com> 85791 85792 Reviewed by Darin Adler. 85793 85794 Test: fast/js/instanceof-operator.html 85795 85796 Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest 85797 https://bugs.webkit.org/show_bug.cgi?id=25205 85798 85799 In addition to for XMLHttpRequest, this also fixes for: 85800 - Audio 85801 - Image 85802 - MessageChannel 85803 - Option 85804 - WebKitCSSMatrix 85805 - WebKitPoint 85806 - Worker 85807 - XSLTProcessor 85808 85809 * bindings/js/JSAudioConstructor.cpp: 85810 (WebCore::JSAudioConstructor::JSAudioConstructor): 85811 * bindings/js/JSAudioConstructor.h: 85812 * bindings/js/JSDOMBinding.h: 85813 (WebCore::DOMConstructorObject::createStructure): 85814 (WebCore::DOMConstructorObject::DOMConstructorObject): 85815 * bindings/js/JSImageConstructor.cpp: 85816 (WebCore::JSImageConstructor::JSImageConstructor): 85817 * bindings/js/JSImageConstructor.h: 85818 * bindings/js/JSMessageChannelConstructor.cpp: 85819 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 85820 * bindings/js/JSMessageChannelConstructor.h: 85821 * bindings/js/JSOptionConstructor.cpp: 85822 (WebCore::JSOptionConstructor::JSOptionConstructor): 85823 * bindings/js/JSOptionConstructor.h: 85824 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 85825 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 85826 * bindings/js/JSWebKitCSSMatrixConstructor.h: 85827 * bindings/js/JSWebKitPointConstructor.cpp: 85828 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 85829 * bindings/js/JSWebKitPointConstructor.h: 85830 * bindings/js/JSWorkerConstructor.cpp: 85831 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 85832 * bindings/js/JSWorkerConstructor.h: 85833 * bindings/js/JSXMLHttpRequestConstructor.cpp: 85834 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 85835 * bindings/js/JSXMLHttpRequestConstructor.h: 85836 * bindings/js/JSXSLTProcessorConstructor.cpp: 85837 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 85838 * bindings/js/JSXSLTProcessorConstructor.h: 85839 85840 2009-07-15 Kai Brning <kai (a] granus.net> 85841 85842 Reviewed by Dave Hyatt. 85843 85844 CSS21 attribute selectors not dynamic for xml. 85845 https://bugs.webkit.org/show_bug.cgi?id=25072 85846 85847 Moved the relevant test in StyledElement::attributeChanged() 85848 to a new function Element::recalcStyleIfNeededAfterAttributeChanged() 85849 so it can be called from both StyledElement::attributeChanged() 85850 and Element::attributeChanged(). 85851 Refactored Element::attributeChanged() into 85852 Element::updateAfterAttributeChanged() and 85853 Element::recalcStyleIfNeededAfterAttributeChanged(), which are called 85854 separately from StyledElement::attributeChanged(). 85855 85856 Test: fast/css/attribute-selector-dynamic.xml 85857 85858 * dom/Element.cpp: 85859 (WebCore::Element::attributeChanged): 85860 (WebCore::Element::updateAfterAttributeChanged): 85861 (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged): 85862 * dom/Element.h: 85863 * dom/StyledElement.cpp: 85864 (WebCore::StyledElement::attributeChanged): 85865 85866 2009-07-15 Alpha Lam <hclam (a] chromium.org> 85867 85868 Reviewed by David Levin. 85869 85870 [V8] Layout test failures for drawImage in Canvas 85871 https://bugs.webkit.org/show_bug.cgi?id=27311 85872 85873 Fixing several canvas layout tests failures due to a 85874 missing return statement in CanvasRenderingContext2DDrawImage() which 85875 was accidentally removed in r45929. 85876 85877 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 85878 85879 2009-07-15 Robert Hogan <robert (a] roberthogan.net> 85880 85881 Reviewed by Eric Seidel. 85882 85883 https://bugs.webkit.org/show_bug.cgi?id=26969 85884 85885 If the httpMethod() of the request passed to SubresourceLoader::create is not 85886 supported by the client we must expect to call didFail() while m_loader is still null. 85887 85888 * loader/DocumentThreadableLoader.cpp: 85889 (DocumentThreadableLoader::didFail):Changed. 85890 85891 2009-07-15 Mark Rowe <mrowe (a] apple.com> 85892 85893 Fix the Mac build. 85894 85895 * WebCore.base.exp: 85896 * css/MediaQueryEvaluator.cpp: 85897 * rendering/SVGRenderTreeAsText.cpp: 85898 * rendering/style/SVGRenderStyle.cpp: 85899 * svg/graphics/SVGPaintServer.cpp: 85900 85901 2009-07-07 Alpha Lam <hclam (a] chromium.org> 85902 85903 Reviewed by Dimitri Glazkov. 85904 85905 [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument 85906 https://bugs.webkit.org/show_bug.cgi?id=27170 85907 85908 Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement 85909 as a parameter of drawImage() for HTMLCanvasElement. 85910 85911 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 85912 85913 2009-07-15 Adam Barth <abarth (a] webkit.org> 85914 85915 Reviewed by Dimitri Glazkov. 85916 85917 [V8] Fix isolated world constructors 85918 https://bugs.webkit.org/show_bug.cgi?id=27287 85919 85920 Don't enter V8Proxy::m_context before creating DOM constructors. 85921 Instead, use getWrapperContext to get the right context. 85922 85923 After this patch, all my tests pass. I'll enable the feature 85924 downstream and land the tests. 85925 85926 * bindings/scripts/CodeGeneratorV8.pm: 85927 * bindings/v8/V8DOMWrapper.cpp: 85928 (WebCore::V8DOMWrapper::getConstructor): 85929 (WebCore::V8DOMWrapper::lookupDOMWrapper): 85930 * bindings/v8/V8DOMWrapper.h: 85931 * bindings/v8/V8IsolatedWorld.cpp: 85932 (WebCore::V8IsolatedWorld::evaluate): 85933 * bindings/v8/V8Proxy.cpp: 85934 (WebCore::V8Proxy::createWrapperFromCache): 85935 (WebCore::V8Proxy::isContextInitialized): 85936 (WebCore::V8Proxy::disposeContextHandles): 85937 (WebCore::V8Proxy::installDOMWindow): 85938 (WebCore::V8Proxy::initContextIfNeeded): 85939 (WebCore::V8Proxy::getHiddenObjectPrototype): 85940 (WebCore::V8Proxy::installHiddenObjectPrototype): 85941 * bindings/v8/V8Proxy.h: 85942 85943 2009-07-15 Antonio Gomes <antonio.gomes (a] openbossa.org> 85944 85945 Reviewed by Darin Adler. 85946 85947 useless null-check statement in visible_units.cpp@logicalStartOfLine 85948 https://bugs.webkit.org/show_bug.cgi?id=27154 85949 85950 Simple fix. 85951 85952 * editing/visible_units.cpp: 85953 (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed. 85954 85955 2009-07-15 Brady Eidson <beidson (a] apple.com> 85956 85957 Reviewed by Dan Bernstein. 85958 85959 https://bugs.webkit.org/show_bug.cgi?id=27304 85960 WebKit should provide usage and eligibility information about the page cache. 85961 85962 * WebCore.base.exp: 85963 85964 * history/CachedFrame.cpp: 85965 (WebCore::CachedFrame::childFrameCount): 85966 * history/CachedFrame.h: 85967 85968 * history/PageCache.cpp: 85969 (WebCore::PageCache::frameCount): 85970 (WebCore::PageCache::autoreleasedPageCount): 85971 * history/PageCache.h: 85972 (WebCore::PageCache::pageCount): 85973 85974 2009-07-15 Shinichiro Hamaji <hamaji (a] chromium.org> 85975 85976 Reviewed by David Levin. 85977 85978 Chromium's canvas forgets its context after fillText again 85979 https://bugs.webkit.org/show_bug.cgi?id=27293 85980 85981 No new tests because the test for this was already added in 85982 https://bugs.webkit.org/show_bug.cgi?id=26436 85983 85984 * platform/graphics/chromium/TransparencyWin.cpp: 85985 (WebCore::TransparencyWin::compositeTextComposite): 85986 85987 2009-07-14 David Hyatt <hyatt (a] apple.com> 85988 85989 Reviewed by Simon Fraser. 85990 85991 https://bugs.webkit.org/show_bug.cgi?id=27283 85992 85993 Implement the new 'rem' unit from CSS3. 85994 85995 Added some rem-* tests in fast/css. 85996 85997 * css/CSSGrammar.y: 85998 * css/CSSParser.cpp: 85999 (WebCore::CSSParser::validUnit): 86000 (WebCore::unitFromString): 86001 (WebCore::CSSParser::parseValue): 86002 (WebCore::CSSParser::lex): 86003 * css/CSSParserValues.cpp: 86004 (WebCore::CSSParserValue::createCSSValue): 86005 * css/CSSPrimitiveValue.cpp: 86006 (WebCore::CSSPrimitiveValue::computeLengthInt): 86007 (WebCore::CSSPrimitiveValue::computeLengthIntForLength): 86008 (WebCore::CSSPrimitiveValue::computeLengthShort): 86009 (WebCore::CSSPrimitiveValue::computeLengthFloat): 86010 (WebCore::CSSPrimitiveValue::computeLengthDouble): 86011 (WebCore::CSSPrimitiveValue::cssText): 86012 (WebCore::CSSPrimitiveValue::parserValue): 86013 * css/CSSPrimitiveValue.h: 86014 (WebCore::CSSPrimitiveValue::): 86015 (WebCore::CSSPrimitiveValue::isUnitTypeLength): 86016 * css/CSSStyleSelector.cpp: 86017 (WebCore::CSSStyleSelector::initForStyleResolve): 86018 (WebCore::convertToLength): 86019 (WebCore::CSSStyleSelector::applyProperty): 86020 (WebCore::CSSStyleSelector::mapFillSize): 86021 (WebCore::CSSStyleSelector::mapFillXPosition): 86022 (WebCore::CSSStyleSelector::mapFillYPosition): 86023 (WebCore::CSSStyleSelector::createTransformOperations): 86024 * css/CSSStyleSelector.h: 86025 * css/MediaQueryEvaluator.cpp: 86026 (WebCore::device_heightMediaFeatureEval): 86027 (WebCore::device_widthMediaFeatureEval): 86028 (WebCore::heightMediaFeatureEval): 86029 (WebCore::widthMediaFeatureEval): 86030 * css/WebKitCSSMatrix.cpp: 86031 (WebCore::WebKitCSSMatrix::setMatrixValue): 86032 * css/tokenizer.flex: 86033 * dom/Document.cpp: 86034 (WebCore::Document::Document): 86035 * dom/Document.h: 86036 (WebCore::Document::usesRemUnits): 86037 (WebCore::Document::setUsesRemUnits): 86038 * dom/Element.cpp: 86039 (WebCore::Element::recalcStyle): 86040 * rendering/SVGRenderTreeAsText.cpp: 86041 (WebCore::writeStyle): 86042 * rendering/style/SVGRenderStyle.cpp: 86043 (WebCore::SVGRenderStyle::cssPrimitiveToLength): 86044 * svg/graphics/SVGPaintServer.cpp: 86045 (WebCore::applyStrokeStyleToContext): 86046 (WebCore::dashArrayFromRenderingStyle): 86047 * svg/graphics/SVGPaintServer.h: 86048 86049 2009-07-15 Dimitri Glazkov <dglazkov (a] chromium.org> 86050 86051 Unreviewed, build fix. 86052 86053 Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884. 86054 86055 * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier. 86056 86057 2009-07-15 Dimitri Glazkov <dglazkov (a] chromium.org> 86058 86059 Reviewed by Darin Fisher. 86060 86061 [V8] Update bindings for ValiditeState patch. 86062 https://bugs.webkit.org/show_bug.cgi?id=19562 86063 86064 * bindings/v8/DOMObjectsInclude.h: 86065 * bindings/v8/DerivedSourcesAllInOne.cpp: 86066 * bindings/v8/V8Index.cpp: 86067 * bindings/v8/V8Index.h: 86068 86069 2009-07-15 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 86070 86071 Reviewed by Simon Hausmann. 86072 86073 [Qt] Cleanup - Remove obsolete code from the make system 86074 https://bugs.webkit.org/show_bug.cgi?id=27299 86075 86076 * WebCore.pro: 86077 86078 2009-07-15 Simon Hausmann <simon.hausmann (a] nokia.com> 86079 86080 Reviewed by Ariya Hidayat. 86081 86082 Fix the build without media elements. 86083 86084 * rendering/HitTestResult.cpp: 86085 (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO) 86086 markers around the body of the method. 86087 86088 2009-07-14 Pavel Feldman <pfeldman (a] chromium.org> 86089 86090 Reviewed by Timothy Hatcher. 86091 86092 WebInspector: Move storeLastActivePanel out of the 86093 ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL; 86094 Add default panel for the first opening of the 86095 WebInspector. 86096 86097 https://bugs.webkit.org/show_bug.cgi?id=27263 86098 86099 * inspector/InspectorController.cpp: 86100 (InspectorController::setWindowVisible): 86101 * inspector/InspectorController.idl: 86102 86103 2009-07-14 Darin Adler <darin (a] apple.com> 86104 86105 Try to fix Windows build. 86106 86107 * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support. 86108 86109 2009-07-14 Pierre d'Herbemont <pdherbemont (a] apple.com> 86110 86111 Reviewed by Oliver Hunt. 86112 86113 HTMLMediaElement::supportsFullscreen() should return false 86114 https://bugs.webkit.org/show_bug.cgi?id=27284 86115 86116 (Reverting a part of 45875) 86117 86118 HTMLVideoElement::supportsFullscreen() will properly do the 86119 job, and check if the backend supports fullscreen. 86120 86121 HTMLVideoElement is the only subclass to support fullscreen 86122 (conditionnaly). HTMLAudioElement fullscreen is not supported 86123 and is a different kind of fullscreen, if it comes to be wanted. 86124 86125 No test can be done currently given that none of the media 86126 backends support fullscreen. 86127 86128 * html/HTMLMediaElement.cpp: 86129 * html/HTMLMediaElement.h: 86130 (WebCore::HTMLMediaElement::supportsFullscreen): 86131 86132 2009-07-14 Darin Adler <darin (a] apple.com> 86133 86134 Reviewed by Dimitri Glazkov. 86135 86136 Next step in making DOM attribute getter/setters consistently use AtomicString 86137 https://bugs.webkit.org/show_bug.cgi?id=25425 86138 86139 This covers eight DOM classes, and for each one of the classes: 86140 86141 - Changes the IDL to use the Reflect syntax for all simple cases. 86142 - Removes unused functions in the classes, mainly newly unused ones that were 86143 used for reflection before. 86144 - Removes unneeded explicitly defined destructors. 86145 - Explicitly declares destructors as virtual. 86146 - Removes unneeded includes. 86147 - Makes members protected or private rather than public where possible. 86148 - Renames "doc" to "document". 86149 - Tweaks formatting to match our latest style in a few places. 86150 - Improves some FIXME comments. 86151 86152 Over time we'll want to do this for all HTML DOM classes. 86153 86154 * html/HTMLAnchorElement.cpp: 86155 (WebCore::HTMLAnchorElement::HTMLAnchorElement): 86156 * html/HTMLAnchorElement.h: 86157 (WebCore::HTMLAnchorElement::endTagRequirement): 86158 (WebCore::HTMLAnchorElement::tagPriority): 86159 * html/HTMLAnchorElement.idl: 86160 * html/HTMLAppletElement.cpp: 86161 * html/HTMLAppletElement.h: 86162 * html/HTMLAppletElement.idl: 86163 * html/HTMLAreaElement.cpp: 86164 (WebCore::HTMLAreaElement::parseMappedAttribute): 86165 * html/HTMLAreaElement.h: 86166 (WebCore::HTMLAreaElement::endTagRequirement): 86167 (WebCore::HTMLAreaElement::tagPriority): 86168 * html/HTMLAreaElement.idl: 86169 * html/HTMLBRElement.cpp: 86170 (WebCore::HTMLBRElement::parseMappedAttribute): 86171 * html/HTMLBRElement.h: 86172 * html/HTMLBRElement.idl: 86173 * html/HTMLBaseElement.cpp: 86174 (WebCore::HTMLBaseElement::HTMLBaseElement): 86175 (WebCore::HTMLBaseElement::removedFromDocument): 86176 (WebCore::HTMLBaseElement::process): 86177 * html/HTMLBaseElement.h: 86178 * html/HTMLBaseElement.idl: 86179 * html/HTMLBaseFontElement.cpp: 86180 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement): 86181 * html/HTMLBaseFontElement.h: 86182 (WebCore::HTMLBaseFontElement::endTagRequirement): 86183 (WebCore::HTMLBaseFontElement::tagPriority): 86184 * html/HTMLBaseFontElement.idl: 86185 * html/HTMLBlockquoteElement.cpp: 86186 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement): 86187 * html/HTMLBlockquoteElement.h: 86188 (WebCore::HTMLBlockquoteElement::tagPriority): 86189 * html/HTMLBlockquoteElement.idl: 86190 * html/HTMLBodyElement.cpp: 86191 (WebCore::HTMLBodyElement::HTMLBodyElement): 86192 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): 86193 * html/HTMLBodyElement.h: 86194 (WebCore::HTMLBodyElement::endTagRequirement): 86195 (WebCore::HTMLBodyElement::tagPriority): 86196 * html/HTMLBodyElement.idl: 86197 Made changes as described above. 86198 86199 * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h. 86200 86201 2009-07-14 Steve Falkenburg <sfalken (a] apple.com> 86202 86203 Reorganize JavaScriptCore headers into: 86204 API: include/JavaScriptCore/ 86205 Private: include/private/JavaScriptCore/ 86206 86207 Reviewed by Darin Adler. 86208 86209 * WebCore.vcproj/QTMovieWin.vcproj: 86210 * WebCore.vcproj/WebCoreCommon.vsprops: 86211 * WebCore.vcproj/build-generated-files.sh: 86212 86213 2009-07-14 Zoltan Horvath <hzoltan (a] inf.u-szeged.hu> 86214 86215 Reviewed by Darin Adler. 86216 86217 Change all Noncopyable inheriting visibility to public. 86218 https://bugs.webkit.org/show_bug.cgi?id=27225 86219 86220 Change all Noncopyable inheriting visibility to public because 86221 it is needed to the custom allocation framework (bug #20422). 86222 86223 * bindings/js/GCController.h: 86224 * bindings/js/WorkerScriptController.h: 86225 * bindings/v8/V8DOMMap.cpp: 86226 (WebCore::): 86227 * bridge/runtime.h: 86228 * css/CSSSelector.h: 86229 * css/CSSSelectorList.h: 86230 * css/CSSStyleSelector.h: 86231 * dom/ClassNames.h: 86232 * dom/MessagePortChannel.h: 86233 * dom/XMLTokenizerLibxml2.cpp: 86234 * dom/XMLTokenizerScope.h: 86235 * editing/ReplaceSelectionCommand.cpp: 86236 * editing/SelectionController.h: 86237 * editing/TextIterator.cpp: 86238 * history/PageCache.h: 86239 * html/CanvasRenderingContext2D.h: 86240 * html/HTMLParser.h: 86241 * html/HTMLParserQuirks.h: 86242 * html/PreloadScanner.h: 86243 * loader/Cache.h: 86244 * loader/CrossOriginPreflightResultCache.h: 86245 * loader/FrameLoader.h: 86246 * loader/ProgressTracker.h: 86247 * loader/ThreadableLoader.h: 86248 * loader/appcache/ApplicationCacheGroup.h: 86249 * loader/archive/ArchiveResourceCollection.h: 86250 * loader/icon/IconDatabase.h: 86251 * loader/icon/IconLoader.h: 86252 * loader/icon/PageURLRecord.h: 86253 * loader/loader.h: 86254 * page/ContextMenuController.h: 86255 * page/EventHandler.h: 86256 * page/FrameTree.h: 86257 * page/Page.h: 86258 * page/PageGroup.h: 86259 * page/PageGroupLoadDeferrer.h: 86260 * page/mac/EventHandlerMac.mm: 86261 * platform/AutodrainedPool.h: 86262 * platform/ContextMenu.h: 86263 * platform/EventLoop.h: 86264 * platform/HostWindow.h: 86265 * platform/Pasteboard.h: 86266 * platform/PurgeableBuffer.h: 86267 * platform/RunLoopTimer.h: 86268 * platform/ThreadGlobalData.h: 86269 * platform/ThreadTimers.h: 86270 * platform/Timer.h: 86271 * platform/TreeShared.h: 86272 * platform/graphics/FontData.h: 86273 * platform/graphics/GlyphWidthMap.h: 86274 * platform/graphics/GraphicsContext.h: 86275 * platform/graphics/ImageBuffer.h: 86276 * platform/graphics/ImageSource.h: 86277 * platform/graphics/MediaPlayer.h: 86278 * platform/graphics/skia/GraphicsContextPlatformPrivate.h: 86279 * platform/graphics/skia/PlatformContextSkia.h: 86280 * platform/graphics/win/QTMovieWin.cpp: 86281 * platform/mac/LocalCurrentGraphicsContext.h: 86282 * platform/network/FormDataBuilder.h: 86283 * platform/network/ResourceHandleInternal.h: 86284 * platform/network/soup/ResourceHandleSoup.cpp: 86285 * platform/text/StringBuffer.h: 86286 * platform/text/TextCodec.h: 86287 * platform/win/WindowMessageBroadcaster.h: 86288 * rendering/CounterNode.h: 86289 * rendering/LayoutState.h: 86290 * rendering/RenderFrameSet.h: 86291 * rendering/RenderView.h: 86292 * rendering/TransformState.h: 86293 * svg/SVGAnimatedProperty.h: 86294 * svg/SynchronizableTypeWrapper.h: 86295 * workers/WorkerMessagingProxy.h: 86296 * workers/WorkerRunLoop.cpp: 86297 * xml/XPathExpressionNode.h: 86298 * xml/XPathParser.h: 86299 * xml/XPathPredicate.h: 86300 * xml/XPathStep.h: 86301 86302 2009-07-14 Darin Fisher <darin (a] chromium.org> 86303 86304 Reviewed by Darin Adler. 86305 86306 Fails to save document state when navigating away from a page with a 86307 reference fragment. 86308 https://bugs.webkit.org/show_bug.cgi?id=27281 86309 86310 Test: fast/history/saves-state-after-fragment-nav.html 86311 86312 * history/HistoryItem.cpp: 86313 (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef 86314 to compare URLs. 86315 86316 2009-07-14 Joseph Pecoraro <joepeck02 (a] gmail.com> 86317 86318 Reviewed by Sam Weinig. 86319 86320 Inspector: Remove Unintended Global Variables 86321 https://bugs.webkit.org/show_bug.cgi?id=27203 86322 86323 * inspector/front-end/Console.js: 86324 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 86325 * inspector/front-end/DatabasesPanel.js: 86326 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): 86327 * inspector/front-end/ObjectPropertiesSection.js: 86328 (WebInspector.ObjectPropertyTreeElement.prototype.update): 86329 * inspector/front-end/inspector.js: 86330 (WebInspector.animateStyle): 86331 86332 2009-07-14 Michelangelo De Simone <micdesim (a] gmail.com> 86333 86334 Reviewed by Adele Peterson. 86335 86336 https://bugs.webkit.org/show_bug.cgi?id=19562 86337 Added build stuff and stub for the ValidityState class, part of HTML5 86338 section Forms: 86339 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate 86340 86341 Test: fast/forms/ValidityState-001.html 86342 86343 * DerivedSources.cpp: Inclusion of ValidityState files 86344 * DerivedSources.make: ditto 86345 * GNUmakefile.am: ditto 86346 * WebCore.gypi: ditto 86347 * WebCore.pro: ditto 86348 * WebCore.vcproj/WebCore.vcproj: ditto 86349 * WebCore.xcodeproj/project.pbxproj: ditto 86350 * WebCoreSources.bkl: ditto 86351 * html/HTMLButtonElement.idl: validity attribute 86352 * html/HTMLFieldSetElement.idl: ditto 86353 * html/HTMLFormControlElement.cpp: 86354 (WebCore::HTMLFormControlElement::validity): ValidityState getter 86355 * html/HTMLFormControlElement.h: ditto 86356 * html/HTMLInputElement.idl: validity attribute 86357 * html/HTMLSelectElement.idl: ditto 86358 * html/HTMLTextAreaElement.idl: ditto 86359 * html/ValidityState.cpp: Added. 86360 (WebCore::ValidityState::ValidityState): 86361 (WebCore::ValidityState::valid): validation flag 86362 * html/ValidityState.h: Added. 86363 (WebCore::ValidityState::create): validation flag 86364 (WebCore::ValidityState::control): ditto 86365 (WebCore::ValidityState::valueMissing): ditto 86366 (WebCore::ValidityState::typeMismatch): ditto 86367 (WebCore::ValidityState::patternMismatch): ditto 86368 (WebCore::ValidityState::tooLong): ditto 86369 (WebCore::ValidityState::rangeUnderflow): ditto 86370 (WebCore::ValidityState::rangeOverflow): ditto 86371 (WebCore::ValidityState::stepMismatch): ditto 86372 (WebCore::ValidityState::customError): ditto 86373 * html/ValidityState.idl: Added. 86374 86375 2009-07-14 Ryosuke Niwa <rniwa (a] google.com> 86376 86377 Reviewed by Eric Seidel. 86378 86379 Outdenting a line inside a blockquote tag does nothing 86380 https://bugs.webkit.org/show_bug.cgi?id=25316 86381 86382 The bug was caused by the code checking whether the blockquote is created by WebKit or not. 86383 We simply remove this code to be consistent with Firefox and Internet Explorer. 86384 Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert 86385 the placeholder before the enclosingNode because there could be contents before the current paragraph. 86386 Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation. 86387 It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315 86388 86389 Test: editing/execCommand/outdent-regular-blockquote.html 86390 86391 * editing/IndentOutdentCommand.cpp: 86392 (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not. 86393 (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode 86394 86395 2009-07-14 Adam Barth <abarth (a] webkit.org> 86396 86397 Reviewed by Dimitri Glazkov. 86398 86399 [V8] Fix isolated world wrappers for Node prototypes 86400 https://bugs.webkit.org/show_bug.cgi?id=27277 86401 86402 This change does two things: 86403 86404 1) We bypass the wrapper cache in the isolated world. This is because 86405 the wrapper template cache has prototypes that lead to the main 86406 world. We can add a template cache for the isolated world if 86407 performance warrants. 86408 86409 2) We introduce a smarter way to grab the wrapper context for a frame 86410 that is aware that proxy <-> context do not stand in one-to-one 86411 correspondence. This generalizes our solution for the node wrapper 86412 case to prototypes. 86413 86414 The net result is that Node wrappers get the right prototypes. As 86415 before, tests to follow. 86416 86417 * bindings/v8/V8DOMWrapper.cpp: 86418 (WebCore::V8DOMWrapper::setHiddenWindowReference): 86419 (WebCore::V8DOMWrapper::instantiateV8Object): 86420 (WebCore::V8DOMWrapper::convertNodeToV8Object): 86421 (WebCore::V8DOMWrapper::convertWindowToV8Object): 86422 (WebCore::V8DOMWrapper::getWrapperContext): 86423 * bindings/v8/V8DOMWrapper.h: 86424 86425 2009-07-14 Adam Barth <abarth (a] webkit.org> 86426 86427 Reviewed by Dimitri Glazkov. 86428 86429 [V8] Fix isolated world wrappers for Nodes 86430 https://bugs.webkit.org/show_bug.cgi?id=27271 86431 86432 Previously, we keepy a pointer to the DOMMap on V8Proxy, but this 86433 caused us to miss the branch in V8DOMMap.cpp for isolated worlds. 86434 86435 I have tests, but I can't land them until I get this feature under 86436 control. 86437 86438 * bindings/v8/V8DOMWrapper.cpp: 86439 (WebCore::V8DOMWrapper::convertNodeToV8Object): 86440 * bindings/v8/V8Proxy.h: 86441 (WebCore::V8Proxy::V8Proxy): 86442 86443 2009-07-14 Adam Barth <abarth (a] webkit.org> 86444 86445 Reviewed by Dimitri Glazkov. 86446 86447 [V8] Fix isolated world crash on getting window.location 86448 https://bugs.webkit.org/show_bug.cgi?id=27268 86449 86450 I have a test for this locally, but it requires a compile-time hack to 86451 run. Once I get the feature's stability under control, we can turn the 86452 feature on and add the tests. 86453 86454 * bindings/v8/V8DOMWrapper.cpp: 86455 (WebCore::V8DOMWrapper::setHiddenWindowReference): 86456 * bindings/v8/V8IsolatedWorld.h: 86457 (WebCore::V8IsolatedWorld::context): 86458 86459 2009-07-14 Brent Fulgham <bfulgham (a] webkit.org> 86460 86461 Correct failing tests after r45875. The original patch did not 86462 test the m_player member for null, causing crashes. This will 86463 happen fairly frequently in real use. Was this original patch 86464 ever tested? 86465 https://bugs.webkit.org/show_bug.cgi?id=27246 86466 86467 Test via existing media tests. 86468 86469 * html/HTMLMediaElement.cpp: 86470 (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer. 86471 (WebCore::HTMLMediaElement::supportsSave): Check for null pointer. 86472 86473 2009-07-14 Avi Drissman <avi (a] chromium.org> 86474 86475 Reviewed by Darin Fisher. 86476 86477 Explicitly mark the HTML generated for the Mac as being UTF-8 encoded. 86478 The Windows clipboard format is explicitly documented as being UTF-8, 86479 and all Linux apps assume UTF-8. On the Mac, though, unless otherwise 86480 indicated, Windows-1252 is assumed, which is wrong. 86481 86482 Bug: https://bugs.webkit.org/show_bug.cgi?id=27262 86483 86484 No new tests. 86485 86486 * platform/chromium/ClipboardChromium.cpp: 86487 (WebCore::ClipboardChromium::writeRange): 86488 * platform/chromium/PasteboardChromium.cpp: 86489 (WebCore::Pasteboard::writeSelection): 86490 86491 2009-07-14 Albert J. Wong <ajwong (a] chromium.org> 86492 86493 Reviewed by Dimitri Glazkov. 86494 86495 Upstream V8NPObject.h and V8NPObject.cpp. 86496 https://bugs.webkit.org/show_bug.cgi?id=27103 86497 86498 This just upstreams the files from the chromium code base. Only 86499 minor changes to formatting and similar were done, so no testing 86500 is required because nothing really changed. Code verified to compile. 86501 86502 * bindings/v8/ScriptController.cpp: 86503 (WebCore::ScriptController::bindToWindowObject): 86504 (WebCore::ScriptController::createScriptInstanceForWidget): 86505 * bindings/v8/V8NPObject.cpp: Added. 86506 (npObjectInvokeImpl): 86507 (npObjectMethodHandler): 86508 (npObjectInvokeDefaultHandler): 86509 (weakTemplateCallback): 86510 (npObjectGetProperty): 86511 (npObjectNamedPropertyGetter): 86512 (npObjectIndexedPropertyGetter): 86513 (npObjectGetNamedProperty): 86514 (npObjectGetIndexedProperty): 86515 (npObjectSetProperty): 86516 (npObjectNamedPropertySetter): 86517 (npObjectIndexedPropertySetter): 86518 (npObjectSetNamedProperty): 86519 (npObjectSetIndexedProperty): 86520 (weakNPObjectCallback): 86521 (createV8ObjectForNPObject): 86522 (forgetV8ObjectForNPObject): 86523 * bindings/v8/V8NPObject.h: Added. 86524 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 86525 (WebCore::NAMED_PROPERTY_GETTER): 86526 (WebCore::NAMED_PROPERTY_SETTER): 86527 (WebCore::CALLBACK_FUNC_DECL): 86528 (WebCore::INDEXED_PROPERTY_GETTER): 86529 (WebCore::INDEXED_PROPERTY_SETTER): 86530 86531 86532 2009-07-14 Albert J. Wong <ajwong (a] chromium.org> 86533 86534 Reviewed by Darin Adler. 86535 86536 Add HTMLMediaElement::supportSave() and a 86537 HitTestResult::absoluteMediaURL() functions 86538 https://bugs.webkit.org/show_bug.cgi?id=27246 86539 86540 Added an implementation of supportsSave() into HTMLMediaElement 86541 that delegates to MediaPlayerPrivateImpl so that the media engine 86542 is able to signal whether or not a media source supports saving. 86543 86544 Also added a function to HitTestResult that allows for retrieval 86545 of the currentSrc associated with the "hit" media element. 86546 86547 These functions are just pipeing with no visible UI change so there 86548 are no related layout test changes. 86549 86550 * html/HTMLMediaElement.cpp: 86551 (WebCore::HTMLMediaElement::supportsFullscreen): 86552 (WebCore::HTMLMediaElement::supportsSave): 86553 * html/HTMLMediaElement.h: 86554 * platform/graphics/MediaPlayer.cpp: 86555 (WebCore::MediaPlayer::supportsSave): 86556 * platform/graphics/MediaPlayer.h: 86557 * platform/graphics/MediaPlayerPrivate.h: 86558 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): 86559 (WebCore::MediaPlayerPrivateInterface::supportsSave): 86560 * rendering/HitTestResult.cpp: 86561 (WebCore::HitTestResult::altDisplayString): 86562 (WebCore::HitTestResult::absoluteMediaURL): 86563 * rendering/HitTestResult.h: 86564 86565 2009-07-14 Dimitri Glazkov <dglazkov (a] chromium.org> 86566 86567 Reviewed by Adam Barth. 86568 86569 [V8] Implement Reflect and ReflectURL attribute support. 86570 https://bugs.webkit.org/show_bug.cgi?id=27273 86571 86572 * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes. 86573 86574 2009-07-14 Dmitry Titov <dimich (a] chromium.org> 86575 86576 Reviewed by Darin Adler. 86577 86578 https://bugs.webkit.org/show_bug.cgi?id=27266 86579 Add hasCurrentPoint() to WebCore::Path. 86580 This fixes Skia-based Chromium regression caused by the fix for 86581 https://bugs.webkit.org/show_bug.cgi?id=27187. 86582 For Skia, the new method always returns 'true', pending actual implementation. 86583 This means Chromium still will differ from Gecko behavior, but at least its Canvas 86584 will not be completely broken. 86585 86586 Existing Canvas Layout Tests should pass in Chromium after this change. 86587 86588 * html/CanvasRenderingContext2D.cpp: 86589 (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint(). 86590 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto. 86591 (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto. 86592 86593 * platform/graphics/Path.h: 86594 * platform/graphics/cairo/PathCairo.cpp: 86595 (WebCore::Path::hasCurrentPoint): 86596 * platform/graphics/cg/PathCG.cpp: 86597 (WebCore::Path::isEmpty): 86598 (WebCore::Path::hasCurrentPoint): 86599 * platform/graphics/qt/PathQt.cpp: 86600 (WebCore::Path::hasCurrentPoint): 86601 * platform/graphics/skia/PathSkia.cpp: 86602 (WebCore::Path::hasCurrentPoint): 86603 * platform/graphics/wx/PathWx.cpp: 86604 (WebCore::Path::hasCurrentPoint): 86605 All these files add a Path::hasCurrentPoint() for various platforms. 86606 86607 2009-07-14 Nate Chapin <japhet (a] chromium.org> 86608 86609 Reviewed by Sam Weinig. 86610 86611 Upstream RGBColor from src.chromium.org. 86612 86613 https://bugs.webkit.org/show_bug.cgi?id=27133 86614 86615 * WebCore.gypi: Add RGBColor 86616 * css/RGBColor.cpp: Added. 86617 (WebCore::RGBColor::create): 86618 (WebCore::RGBColor::red): 86619 (WebCore::RGBColor::green): 86620 (WebCore::RGBColor::blue): 86621 * css/RGBColor.h: Added. 86622 (WebCore::RGBColor::RGBColor): 86623 86624 2009-07-10 Matt Perry <mpcomplete (a] chromium.org> 86625 86626 Reviewed by Darin Fisher. 86627 86628 [V8] Rename the didCreate/DestroyScriptContext calls to make it 86629 clear that that those refer to the frame's contxt. Add another 86630 similar call for when creating contexts via evaluateInNewContext. 86631 https://bugs.webkit.org/show_bug.cgi?id=27104 86632 86633 * bindings/v8/V8Proxy.cpp: 86634 (WebCore::V8Proxy::evaluateInNewContext): 86635 (WebCore::V8Proxy::disposeContextHandles): 86636 (WebCore::V8Proxy::initContextIfNeeded): 86637 * loader/EmptyClients.h: 86638 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame): 86639 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame): 86640 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext): 86641 * loader/FrameLoaderClient.h: 86642 86643 2009-07-14 Brent Fulgham <bfulgham (a] webkit.org> 86644 86645 Revert http://trac.webkit.org/changeset/45864 after 86646 breaking of Windows build. 86647 86648 * storage/LocalStorageTask.cpp: 86649 * storage/LocalStorageTask.h: 86650 * storage/Storage.cpp: 86651 * storage/Storage.h: 86652 * storage/StorageArea.cpp: 86653 * storage/StorageArea.h: 86654 * storage/StorageAreaImpl.cpp: 86655 * storage/StorageAreaImpl.h: 86656 * storage/StorageAreaSync.cpp: 86657 * storage/StorageAreaSync.h: 86658 * storage/StorageEvent.cpp: 86659 * storage/StorageEvent.h: 86660 (WebCore::StorageEvent::create): 86661 (WebCore::StorageEvent::StorageEvent): 86662 * storage/StorageNamespace.h: 86663 * storage/StorageNamespaceImpl.cpp: 86664 * storage/StorageNamespaceImpl.h: 86665 * storage/StorageSyncManager.cpp: 86666 * storage/StorageSyncManager.h: 86667 86668 2009-07-11 Jeremy Orlow <jorlow (a] chromium.org> 86669 86670 Reviewed by Darin Adler. 86671 86672 Cleanup DOM Storage dependencies. 86673 https://bugs.webkit.org/show_bug.cgi?id=27180 86674 86675 DOM Storage had several unnecessary (and probably unintended) 86676 dependencies. This patch replaces many includes of header files with 86677 forward declaration of classes, making some destructors explicit, and 86678 taking some factories out of the header files. 86679 86680 This will allow things like StorageAreaSync to take a StorageAreaImpl* 86681 (as it should) rather than a StorageArea* which previously weren't 86682 possible because the dependencies were such a tangled mess. 86683 86684 * storage/LocalStorageTask.cpp: 86685 (WebCore::LocalStorageTask::~LocalStorageTask): 86686 * storage/LocalStorageTask.h: 86687 * storage/Storage.cpp: 86688 (WebCore::Storage::~Storage): 86689 * storage/Storage.h: 86690 * storage/StorageArea.cpp: 86691 * storage/StorageArea.h: 86692 * storage/StorageAreaImpl.cpp: 86693 * storage/StorageAreaImpl.h: 86694 * storage/StorageAreaSync.cpp: 86695 (WebCore::StorageAreaSync::~StorageAreaSync): 86696 * storage/StorageAreaSync.h: 86697 * storage/StorageEvent.cpp: 86698 (WebCore::StorageEvent::create): 86699 (WebCore::StorageEvent::StorageEvent): 86700 * storage/StorageEvent.h: 86701 * storage/StorageNamespace.h: 86702 * storage/StorageNamespaceImpl.cpp: 86703 * storage/StorageNamespaceImpl.h: 86704 * storage/StorageSyncManager.cpp: 86705 (WebCore::StorageSyncManager::~StorageSyncManager): 86706 * storage/StorageSyncManager.h: 86707 86708 86709 2009-07-14 Adam Treat <adam.treat (a] torchmobile.com> 86710 86711 Reviewed by David Hyatt. 86712 86713 https://bugs.webkit.org/show_bug.cgi?id=26983 86714 86715 Check to make sure the view is attached to a frame() in the visibleContentsResized() 86716 method as it can be triggered before the view is attached by Frame::createView(...) 86717 setting various values such as setScrollBarModes(...) for example. An ASSERT is 86718 triggered when a view is layout before being attached to a frame(). 86719 86720 * page/FrameView.cpp: 86721 (WebCore::FrameView::visibleContentsResized): 86722 * page/FrameView.h: 86723 86724 2009-07-14 Pavel Feldman <pfeldman (a] chromium.org> 86725 86726 Reviewed by Timothy Hatcher. 86727 86728 WebInspector: show last opened panel when invoking inspector. 86729 86730 https://bugs.webkit.org/show_bug.cgi?id=27263 86731 86732 * inspector/InspectorController.cpp: 86733 (WebCore::InspectorController::InspectorController): 86734 (WebCore::InspectorController::setWindowVisible): 86735 (WebCore::InspectorController::storeLastActivePanel): 86736 (WebCore::InspectorController::specialPanelForJSName): 86737 * inspector/InspectorController.h: 86738 (WebCore::InspectorController::Setting::Setting): 86739 * inspector/InspectorController.idl: 86740 * inspector/front-end/inspector.js: 86741 (WebInspector.set currentPanel): 86742 (WebInspector.loaded): 86743 86744 2009-07-14 Anton Muhin <antonm (a] chromium.org> 86745 86746 Reviewed by Dimitri Glazkov. 86747 86748 Speed up access to NodeList length. 86749 https://bugs.webkit.org/show_bug.cgi?id=27264 86750 86751 That's a minimal alternation of the code. 86752 86753 * bindings/v8/custom/V8NodeListCustom.cpp: 86754 (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use 86755 v8::Integer::New instead of v8::Number::New. 86756 86757 2009-07-14 Anton Muhin <antonm (a] chromium.org> 86758 86759 Reviewed by Dimitri Glazkov. 86760 86761 Do not do unnecessary conversions from v8::Handle<v8::Value> to 86762 v8::Handle<v8::Object> and accompanying changes. 86763 https://bugs.webkit.org/show_bug.cgi?id=26953 86764 86765 Three things: 86766 86767 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap, 86768 but are not free (they check for emptiness of handle); 86769 2) inline conversion from wrapper to node; 86770 3) simplify case to an ASSERT. 86771 86772 This is just a refactoring, so no new tests are needed. 86773 86774 * bindings/scripts/CodeGeneratorV8.pm: 86775 * bindings/v8/V8Proxy.cpp: 86776 (WebCore::V8Proxy::evaluateInNewContext): 86777 (WebCore::V8Proxy::convertToSVGPODTypeImpl): 86778 * bindings/v8/V8Proxy.h: 86779 (WebCore::V8Proxy::convertDOMWrapperToNative): 86780 (WebCore::V8Proxy::convertToNativeObject): 86781 (WebCore::V8Proxy::convertToNativeEvent): 86782 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 86783 (WebCore::toCanvasStyle): 86784 (WebCore::CALLBACK_FUNC_DECL): 86785 * bindings/v8/custom/V8CustomBinding.cpp: 86786 (WebCore::V8Custom::GetTargetFrame): 86787 * bindings/v8/custom/V8DOMWindowCustom.cpp: 86788 (WebCore::CALLBACK_FUNC_DECL): 86789 (WebCore::V8Custom::ClearTimeoutImpl): 86790 (WebCore::NAMED_ACCESS_CHECK): 86791 (WebCore::INDEXED_ACCESS_CHECK): 86792 * bindings/v8/custom/V8DocumentCustom.cpp: 86793 (WebCore::CALLBACK_FUNC_DECL): 86794 * bindings/v8/custom/V8LocationCustom.cpp: 86795 (WebCore::CALLBACK_FUNC_DECL): 86796 86797 2009-07-14 Darin Adler <darin (a] apple.com> 86798 86799 Reviewed by Dan Bernstein. 86800 86801 Straight quotes should match fancy quotes in in-page search 86802 https://bugs.webkit.org/show_bug.cgi?id=27217 86803 86804 Tests: fast/text/find-quotes.html 86805 86806 * editing/TextIterator.cpp: 86807 (WebCore::foldQuoteMark): Added. 86808 (WebCore::foldQuoteMarks): Added. 86809 (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string. 86810 (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are 86811 added to the search buffer. 86812 86813 * platform/text/CharacterNames.h: Added more quotation mark character names. 86814 Sorted character names with the sort tool. 86815 86816 2009-07-13 Pavel Feldman <pfeldman (a] chromium.org> 86817 86818 Reviewed by Timothy Hatcher. 86819 86820 WebInspector: handle debugger shortcuts while on source frame or on 86821 script file selector. 86822 86823 https://bugs.webkit.org/show_bug.cgi?id=27224 86824 86825 * inspector/front-end/ScriptsPanel.js: 86826 (WebInspector.ScriptsPanel): 86827 * inspector/front-end/SourceFrame.js: 86828 (WebInspector.SourceFrame.prototype._loaded): 86829 86830 2009-07-13 Sam Weinig <sam (a] webkit.org> 86831 86832 Reviewed by Darin Adler. 86833 86834 Use standard HashCountedSet instead of a hand rolled one 86835 in HTMLDocument. 86836 86837 * html/HTMLDocument.cpp: 86838 (WebCore::addItemToMap): 86839 (WebCore::removeItemFromMap): 86840 * html/HTMLDocument.h: 86841 86842 2009-07-13 Erik Arvidsson <arv (a] chromium.org> 86843 86844 Reviewed by Darin Adler and Maciej Stachowiak. 86845 86846 Implement HTML5 draggable 86847 https://bugs.webkit.org/show_bug.cgi?id=26262 86848 86849 This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property 86850 to the CSS properties -webkit-user-drag and -webkit-user-select respectively. 86851 86852 Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute 86853 86854 Test: fast/html/draggable.html 86855 86856 * css/html.css: 86857 * html/HTMLAnchorElement.cpp: 86858 (WebCore::HTMLAnchorElement::draggable): 86859 * html/HTMLAnchorElement.h: 86860 * html/HTMLAttributeNames.in: 86861 * html/HTMLElement.cpp: 86862 (WebCore::HTMLElement::draggable): 86863 (WebCore::HTMLElement::setDraggable): 86864 * html/HTMLElement.h: 86865 * html/HTMLElement.idl: 86866 * html/HTMLImageElement.cpp: 86867 (WebCore::HTMLImageElement::draggable): 86868 * html/HTMLImageElement.h: 86869 86870 2009-07-13 Simon Fraser <simon.fraser (a] apple.com> 86871 86872 Reviewed by Dan Bernstein. 86873 86874 Image rendered as layer contents looks different from image rendered via CG. 86875 <rdar://problem/7048830> 86876 86877 Fix a visible color profile difference between between images rendered via Core Graphics 86878 and those rendered via a compositing layer, by assigning the GenericRGB profile to 86879 untagged images (which come through as having the DeviceRGB profile) when they are set 86880 as layer contents. 86881 86882 Test: compositing/color-matching/image-color-matching.html 86883 86884 * platform/graphics/mac/GraphicsLayerCA.mm: 86885 (WebCore::GraphicsLayerCA::setContentsToImage): 86886 86887 2009-07-13 Darin Adler <darin (a] apple.com> 86888 86889 Reviewed by Oliver Hunt. 86890 86891 https://bugs.webkit.org/show_bug.cgi?id=27220 86892 Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING) 86893 86894 * editing/TextIterator.cpp: 86895 (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code 86896 in the assertion. Affects only the assertion. 86897 86898 2009-07-13 Alexey Proskuryakov <ap (a] webkit.org> 86899 86900 Reviewed by Darin Adler. 86901 86902 https://bugs.webkit.org/show_bug.cgi?id=26925 86903 <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads 86904 86905 Test: http/tests/appcache/main-resource-hash.html 86906 86907 * loader/appcache/ApplicationCache.cpp: 86908 (WebCore::ApplicationCache::resourceForURL): 86909 (WebCore::ApplicationCache::resourceForRequest): 86910 * loader/appcache/ApplicationCacheGroup.cpp: 86911 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 86912 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): 86913 (WebCore::ApplicationCacheGroup::selectCache): 86914 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 86915 (WebCore::ApplicationCacheGroup::didReceiveResponse): 86916 (WebCore::ApplicationCacheGroup::didFail): 86917 (WebCore::ApplicationCacheGroup::addEntry): 86918 Remove URL fragment at appcache code borders. 86919 86920 * loader/appcache/ApplicationCacheResource.h: 86921 (WebCore::ApplicationCacheResource::create): 86922 * loader/appcache/ApplicationCacheStorage.cpp: 86923 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 86924 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 86925 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 86926 Assert that there is no URL fragment in URL at key points in appcache code. 86927 86928 2009-07-13 Darin Adler <darin (a] apple.com> 86929 86930 Reviewed by Dan Bernstein. 86931 86932 https://bugs.webkit.org/show_bug.cgi?id=27166 86933 rdar://problem/7015857 86934 Find for strings composed entirely of spaces doesn't work 86935 86936 Test: fast/text/find-spaces.html 86937 86938 * editing/TextIterator.cpp: 86939 (WebCore::findPlainText): Removed unneeded special case. 86940 The empty string case already works correctly. 86941 86942 2009-07-13 Anders Carlsson <andersca (a] apple.com> 86943 86944 Reviewed by Kevin Decker. 86945 86946 Remove NPPVpluginPrivateModeBool, it was removed from the spec. 86947 86948 * bridge/npapi.h: 86949 86950 2009-07-13 Feng Qian <feng (a] chromium.org> 86951 86952 Reviewed by Dimitri Glazkov. 86953 86954 Fix for https://bugs.webkit.org/show_bug.cgi?id=27237 86955 86956 Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor. 86957 86958 * bindings/v8/V8DOMMap.h: 86959 (WebCore::WeakReferenceMap::WeakReferenceMap): 86960 (WebCore::WeakReferenceMap::~WeakReferenceMap): 86961 86962 2009-07-13 Dimitri Glazkov <dglazkov (a] chromium.org> 86963 86964 Reviewed by Darin Fisher. 86965 86966 Remove an accidental add of bidi.(cpp|h) to WebCore.gypi. 86967 86968 * WebCore.gypi: Removed bidi.cpp and bidi.h 86969 86970 2009-07-13 Dimitri Glazkov <dglazkov (a] chromium.org> 86971 86972 Reviewed by Darin Fisher. 86973 86974 Update WebCore.gyp in preparation to hooking it up. 86975 86976 * WebCore.gypi: Added files that were mid-stream while switching over. 86977 86978 2009-07-13 Dmitry Titov <dimich (a] chromium.org> 86979 86980 Not reviewed, another small fix for Chromium build. 86981 86982 * bindings/v8/ScriptController.cpp: 86983 (WebCore::ScriptController::evaluate): 86984 86985 2009-07-13 Dmitry Titov <dimich (a] chromium.org> 86986 86987 Not reviewed, fix Chromium build bustage. 86988 86989 * bindings/v8/ScriptController.cpp: 86990 (WebCore::ScriptController::evaluate): 86991 * bindings/v8/V8Proxy.cpp: 86992 (WebCore::JavaScriptConsoleMessage::addToPage): 86993 * bindings/v8/WorkerContextExecutionProxy.cpp: 86994 (WebCore::handleConsoleMessage): 86995 86996 2009-07-13 Sam Weinig <sam (a] webkit.org> 86997 86998 Reviewed by Darin Adler. 86999 87000 Fix for https://bugs.webkit.org/show_bug.cgi?id=27234 87001 <rdar://problem/7054356> 87002 87003 Add null page check in HTMLDocument::hasFocus. 87004 87005 Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html 87006 87007 * html/HTMLDocument.cpp: 87008 (WebCore::HTMLDocument::hasFocus): Add page null check. 87009 (WebCore::HTMLDocument::createTokenizer): Cleanup page null check. 87010 87011 2009-07-13 Dan Bernstein <mitz (a] apple.com> 87012 87013 Reviewed by Darin Adler. 87014 87015 Disable continuous spell checking in the inspector 87016 https://bugs.webkit.org/show_bug.cgi?id=27131 87017 87018 * inspector/front-end/inspector.html: Added spellcheck="false" to the 87019 main-panels and console-prompt containers. 87020 87021 2009-07-13 Adam Langley <agl (a] google.com> 87022 87023 Reviewed by Eric Seidel. 87024 87025 Chromium Linux: fix assertion when rendering google.com.kh 87026 87027 https://bugs.webkit.org/show_bug.cgi?id=26924 87028 87029 Some shapers (i.e. Khmer) will produce cluster logs which report that 87030 /no/ code points contributed to certain glyphs. Because of this, we 87031 take any code point which contributed to the glyph in question, or any 87032 subsequent glyph. If we run off the end, then we take the last code 87033 point. 87034 87035 Added LayoutTests/fast/text/international/khmar-selection.html 87036 87037 * platform/graphics/chromium/FontLinux.cpp: 87038 (WebCore::Font::offsetForPositionForComplexText): 87039 87040 2009-07-13 Dan Bernstein <mitz (a] apple.com> 87041 87042 Reviewed by Darin Adler. 87043 87044 spellcheck="false" is ignored 87045 <rdar://problem/7054177> 87046 87047 * editing/Editor.cpp: 87048 (WebCore::markMisspellingsOrBadGrammar): Moved code to check the 87049 spellcheck attribute from here... 87050 (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here. 87051 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out 87052 if spell chcking is disabled by the spellcheck attribute. 87053 * editing/Editor.h: 87054 87055 2009-07-13 Brent Fulgham <bfulgham (a] webkit.org> 87056 87057 Reviewed by Adam Roben. 87058 87059 Add new configuration flag for redistributable Windows build. 87060 https://bugs.webkit.org/show_bug.cgi=27087 87061 87062 * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to 87063 Debug_Cairo and Release_Cairo builds. 87064 * config.h: Check for presence of WIN_CAIRO and select appropriate 87065 configuration. Defaults to standard Apple build. 87066 87067 2009-07-13 Peter Kasting <pkasting (a] google.com> 87068 87069 https://bugs.webkit.org/show_bug.cgi?id=19562 87070 Back out previous patch for this bug (too many problems). 87071 87072 * DerivedSources.cpp: 87073 * DerivedSources.make: 87074 * GNUmakefile.am: 87075 * WebCore.gypi: 87076 * WebCore.pro: 87077 * WebCore.vcproj/WebCore.vcproj: 87078 * WebCore.xcodeproj/project.pbxproj: 87079 * WebCoreSources.bkl: 87080 * html/HTMLButtonElement.idl: 87081 * html/HTMLFieldSetElement.idl: 87082 * html/HTMLFormControlElement.cpp: 87083 * html/HTMLFormControlElement.h: 87084 (WebCore::HTMLFormControlElement::form): 87085 * html/HTMLInputElement.idl: 87086 * html/HTMLSelectElement.idl: 87087 * html/HTMLTextAreaElement.idl: 87088 * html/ValidityState.cpp: Removed. 87089 * html/ValidityState.h: Removed. 87090 * html/ValidityState.idl: Removed. 87091 87092 2009-07-13 Nate Chapin <japhet (a] chromium.org> 87093 87094 Reviewed by Dimitri Glazkov. 87095 87096 Add HTMLAllCollection to WebCore.gypi. 87097 87098 https://bugs.webkit.org/show_bug.cgi?id=27223 87099 87100 * WebCore.gypi: Add HTMLAllCollection. 87101 87102 2009-07-13 Dimitri Glazkov <dglazkov (a] chromium.org> 87103 87104 Reviewed by Darin Fisher. 87105 87106 [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor. 87107 https://bugs.webkit.org/show_bug.cgi?id=27218 87108 87109 Test: fast/css/matrix-as-function-crash.html 87110 87111 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 87112 (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call. 87113 87114 2009-07-13 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 87115 87116 Unreviewed make dist build fix. 87117 87118 * GNUmakefile.am: 87119 87120 2009-07-13 Cdric Luthi <cedric.luthi (a] gmail.com> 87121 87122 Reviewed by Tor Arne Vestb. 87123 87124 Fix NPWindow clip rect in PluginViewMac 87125 87126 The rect should be in window-coordinates. This bug can be observed 87127 with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/ 87128 87129 * plugins/mac/PluginViewMac.cpp: 87130 87131 2009-07-13 Simon Hausmann <hausmann (a] webkit.org> 87132 87133 Reviewed by Ariya Hidayat. 87134 87135 Fix Qt implementation of WebCore::directoryName to return the absolute 87136 directory name instead of the base file name. 87137 87138 * platform/qt/FileSystemQt.cpp: 87139 (WebCore::directoryName): 87140 87141 2009-07-13 Simon Hausmann <hausmann (a] webkit.org> 87142 87143 Reviewed by Ariya Hidayat. 87144 87145 Fix WebCore::Path::isEmpty() for the Qt port to return true 87146 if there is no element in the path. 87147 87148 QPainterPath::isEmpty() returns also true if there is one single 87149 MoveTo element inside, which makes sense but doesn't patch Webcore's 87150 is-empty definition. 87151 87152 * platform/graphics/qt/PathQt.cpp: 87153 (WebCore::Path::isEmpty): Use elementCount() == 0. 87154 87155 2009-07-13 Albert J. Wong <ajwong (a] chromium.org> 87156 87157 Reviewed by Dimitri Glazkov. 87158 87159 Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass. 87160 https://bugs.webkit.org/show_bug.cgi?id=27127 87161 87162 There were a number of bugs introduced during the last upstreaming 87163 effort that broke around 30 layout tests. This fixes those bugs. 87164 It also has compile fixes to match the recent cutting apart of 87165 V8Proxy. 87166 87167 * bindings/v8/NPV8Object.cpp: 87168 (freeV8NPObject): 87169 (npCreateV8ScriptObject): 87170 (NPN_Invoke): 87171 (NPN_InvokeDefault): 87172 (NPN_EvaluateHelper): 87173 (NPN_SetException): 87174 (NPN_Construct): 87175 87176 2009-07-13 Mads Ager <ager (a] chromium.org> 87177 87178 Reviewed by Adam Barth. 87179 87180 Fix memory leak in the V8 binding layer. 87181 https://bugs.webkit.org/show_bug.cgi?id=27163 87182 87183 Reinitializing the context is not necessary when clearing the proxy for navigation 87184 and it will lead us to hold on to an empty context for each frame. 87185 87186 Test for empty context instead of empty global object handle when 87187 updating the document for a context. 87188 87189 * bindings/v8/V8Proxy.cpp: 87190 (WebCore::V8Proxy::clearForNavigation): 87191 (WebCore::V8Proxy::updateDocument): 87192 87193 2009-07-13 John Gregg <johnnyg (a] google.com> 87194 87195 Reviewed by David Levin. 87196 87197 Correct the logic to determine if a V8 callback returns a value. 87198 https://bugs.webkit.org/show_bug.cgi?id=27155 87199 87200 * bindings/v8/custom/V8CustomVoidCallback.cpp: 87201 (WebCore::invokeCallback): 87202 - Don't crash if result.IsEmpty(). 87203 87204 2009-07-13 Drew Wilson <atwilson (a] google.com> 87205 87206 Reviewed by David Levin. 87207 87208 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs 87209 https://bugs.webkit.org/show_bug.cgi?id=26932 87210 87211 Initial IDL definition and bindings for SharedWorkers. 87212 87213 * Configurations/FeatureDefines.xcconfig: 87214 Added new files for SharedWorker support. 87215 * DerivedSources.make: 87216 Added new files for SharedWorker support. 87217 * GNUmakefile.am: 87218 Added new files for SharedWorker support. 87219 * WebCore.gypi: 87220 Added new files for SharedWorker support. 87221 * WebCore.pro: 87222 Added new files for SharedWorker support. 87223 * WebCore.xcodeproj/project.pbxproj: 87224 Added new files for SharedWorker support. 87225 * bindings/js/JSAbstractWorkerCustom.cpp: Added. 87226 (WebCore::JSAbstractWorker::mark): 87227 Custom mark handler that marks the event listeners. 87228 (WebCore::JSAbstractWorker::addEventListener): 87229 (WebCore::JSAbstractWorker::removeEventListener): 87230 (WebCore::JSAbstractWorker::toJS): 87231 Custom toJS handler which differentiates between various subclasses. 87232 * bindings/js/JSDOMWindowCustom.cpp: 87233 (WebCore::JSDOMWindow::sharedWorker): 87234 SharedWorker constructor (only enabled when SHARED_WORKERS is 87235 enabled). 87236 * bindings/js/JSEventTarget.cpp: 87237 (WebCore::toJS): 87238 (WebCore::toEventTarget): 87239 Added support for converting to/from SharedWorkers. 87240 * bindings/js/JSSharedWorkerConstructor.cpp: Added. 87241 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 87242 (WebCore::constructSharedWorker): 87243 (WebCore::JSSharedWorkerConstructor::getConstructData): 87244 * bindings/js/JSSharedWorkerConstructor.h: Added. 87245 (WebCore::JSSharedWorkerConstructor::classInfo): 87246 * bindings/js/JSSharedWorkerCustom.cpp: Added. 87247 (WebCore::JSSharedWorker::mark): 87248 Custom mark function that marks the internal MessagePort. 87249 * bindings/v8/DOMObjectsInclude.h: 87250 Updated to include new header files. 87251 * bindings/v8/V8Index.cpp: 87252 * bindings/v8/V8Index.h: 87253 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added. 87254 (WebCore::getEventListener): 87255 (WebCore::ACCESSOR_GETTER): 87256 (WebCore::ACCESSOR_SETTER): 87257 (WebCore::CALLBACK_FUNC_DECL): 87258 V8 handlers for add/removeEventListener(). 87259 * bindings/v8/custom/V8CustomBinding.h: 87260 * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added. 87261 (WebCore::CALLBACK_FUNC_DECL): 87262 Custom constructor for SharedWorker. 87263 * dom/EventTarget.cpp: 87264 (WebCore::EventTarget::toSharedWorker): 87265 * dom/EventTarget.h: 87266 * page/DOMWindow.idl: 87267 * workers/AbstractWorker.cpp: Added. 87268 (WebCore::AbstractWorker::AbstractWorker): 87269 Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp. 87270 This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing. 87271 (WebCore::AbstractWorker::~AbstractWorker): 87272 (WebCore::AbstractWorker::addEventListener): 87273 (WebCore::AbstractWorker::removeEventListener): 87274 (WebCore::AbstractWorker::dispatchEvent): 87275 (WebCore::AbstractWorker::dispatchLoadErrorEvent): 87276 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 87277 * workers/AbstractWorker.h: Added. 87278 Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker. 87279 (WebCore::AbstractWorker::scriptExecutionContext): 87280 (WebCore::AbstractWorker::setOnerror): 87281 (WebCore::AbstractWorker::onerror): 87282 (WebCore::AbstractWorker::eventListeners): 87283 (WebCore::AbstractWorker::refEventTarget): 87284 (WebCore::AbstractWorker::derefEventTarget): 87285 * workers/AbstractWorker.idl: Added. 87286 * workers/SharedWorker.cpp: Added. 87287 (WebCore::SharedWorker::SharedWorker): 87288 (WebCore::SharedWorker::~SharedWorker): 87289 * workers/SharedWorker.h: Added. 87290 (WebCore::SharedWorker::create): 87291 (WebCore::SharedWorker::port): 87292 (WebCore::SharedWorker::toSharedWorker): 87293 * workers/SharedWorker.idl: Added. 87294 87295 2009-07-13 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 87296 87297 Reviewed by Simon Hausmann. 87298 87299 [Qt] Cleanup - Remove prf install target 87300 https://bugs.webkit.org/show_bug.cgi?id=27191 87301 87302 qtwebkit.prf has been removed; this cleans up the related 87303 install target as well. 87304 87305 * WebCore.pro: Remove prf install target 87306 87307 2009-07-12 Adam Barth <abarth (a] webkit.org> 87308 87309 Reviewed by Oliver Hunt. 87310 87311 Facebook Chat is broken due to XSS auditor 87312 https://bugs.webkit.org/show_bug.cgi?id=27179 87313 87314 Instead of just using the script's URL as to detect an XSS attack, we 87315 now use a bit of context before the URL. In particular, we use the 87316 bytes from the beginning of the attribute name to the end of the 87317 attribute value. In virtually all injection attacks, the attacker 87318 would need to supply the attribute name as well as the attribute value. 87319 However, in the Facebook false positive, the attribute name is not 87320 present in the URL. 87321 87322 Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html 87323 http/tests/security/xssAuditor/script-tag-with-source-double-quote.html 87324 http/tests/security/xssAuditor/script-tag-with-source-no-quote.html 87325 87326 * html/HTMLTokenizer.cpp: 87327 (WebCore::HTMLTokenizer::parseTag): 87328 * html/HTMLTokenizer.h: 87329 * page/XSSAuditor.cpp: 87330 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 87331 * page/XSSAuditor.h: 87332 87333 2009-07-12 Keishi Hattori <casey.hattori (a] gmail.com> 87334 87335 Reviewed by Timothy Hatcher. 87336 87337 Refactor ConsoleMessage to add MessageType attribute. 87338 https://bugs.webkit.org/show_bug.cgi?id=20625 87339 87340 * bindings/js/JSCustomXPathNSResolver.cpp: 87341 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 87342 * bindings/js/JSDOMWindowBase.cpp: 87343 (WebCore::JSDOMWindowBase::printErrorMessage): 87344 * dom/Document.cpp: 87345 (WebCore::Document::reportException): 87346 (WebCore::Document::addMessage): 87347 * dom/Document.h: 87348 * dom/ScriptExecutionContext.h: 87349 * html/HTMLParser.cpp: 87350 (WebCore::HTMLParser::reportErrorToConsole): 87351 * inspector/ConsoleMessage.cpp: 87352 (WebCore::ConsoleMessage::ConsoleMessage): 87353 (WebCore::ConsoleMessage::addToConsole): 87354 (WebCore::ConsoleMessage::isEqual): 87355 * inspector/ConsoleMessage.h: 87356 * inspector/InspectorController.cpp: 87357 (WebCore::InspectorController::addMessageToConsole): 87358 (WebCore::InspectorController::startGroup): 87359 (WebCore::InspectorController::endGroup): 87360 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 87361 (WebCore::InspectorController::addStartProfilingMessageToConsole): 87362 (WebCore::InspectorController::count): 87363 * inspector/InspectorController.h: 87364 * inspector/front-end/Console.js: 87365 (WebInspector.Console.prototype.addMessage): 87366 (WebInspector.ConsoleMessage): Added type property. 87367 (WebInspector.ConsoleMessage.prototype.toMessageElement): 87368 (WebInspector.ConsoleMessage.prototype.toString): 87369 (WebInspector.ConsoleMessage.prototype.isEqual): 87370 (WebInspector.ConsoleCommandResult): 87371 (WebInspector.ConsoleGroup.prototype.addMessage): 87372 (WebInspector.ConsoleGroup.prototype._titleClicked): 87373 * inspector/front-end/Resource.js: 87374 (WebInspector.Resource.prototype._addTip): 87375 (WebInspector.Resource.prototype._checkWarning): 87376 * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title" 87377 * inspector/front-end/inspector.js: 87378 (WebInspector.addMessageToConsole): 87379 * loader/DocLoader.cpp: 87380 (WebCore::DocLoader::printAccessDeniedMessage): 87381 * loader/EmptyClients.h: 87382 (WebCore::EmptyChromeClient::addMessageToConsole): 87383 * loader/FrameLoader.cpp: 87384 (WebCore::FrameLoader::reportLocalLoadFailed): 87385 (WebCore::FrameLoader::shouldAllowNavigation): 87386 * page/ChromeClient.h: 87387 * page/Console.cpp: 87388 (WebCore::printMessageSourceAndLevelPrefix): 87389 (WebCore::Console::addMessage): 87390 (WebCore::Console::error): 87391 (WebCore::Console::log): 87392 (WebCore::Console::dir): 87393 (WebCore::Console::trace): 87394 (WebCore::Console::assertCondition): 87395 (WebCore::Console::timeEnd): 87396 (WebCore::Console::warn): 87397 * page/Console.h: Added MessageType enum. 87398 (WebCore::): 87399 * page/DOMWindow.cpp: 87400 (WebCore::DOMWindow::postMessageTimerFired): 87401 * page/XSSAuditor.cpp: 87402 (WebCore::XSSAuditor::canEvaluate): 87403 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 87404 (WebCore::XSSAuditor::canLoadObject): 87405 * svg/SVGDocumentExtensions.cpp: 87406 (WebCore::SVGDocumentExtensions::reportWarning): 87407 (WebCore::SVGDocumentExtensions::reportError): 87408 * wml/WMLErrorHandling.cpp: 87409 (WebCore::reportWMLError): 87410 * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument. 87411 (WebCore::GenericWorkerTask8::create): 87412 (WebCore::GenericWorkerTask8::GenericWorkerTask8): 87413 (WebCore::GenericWorkerTask8::performTask): 87414 (WebCore::createCallbackTask): 87415 * workers/WorkerContext.cpp: 87416 (WebCore::WorkerContext::addMessage): 87417 (WebCore::WorkerContext::importScripts): 87418 * workers/WorkerContext.h: 87419 * workers/WorkerMessagingProxy.cpp: 87420 (WebCore::postConsoleMessageTask): 87421 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): 87422 * workers/WorkerMessagingProxy.h: 87423 * workers/WorkerObjectProxy.h: 87424 * xml/XMLHttpRequest.cpp: 87425 (WebCore::reportUnsafeUsage): 87426 (WebCore::XMLHttpRequest::didFinishLoading): 87427 * xml/XSLTProcessor.cpp: 87428 (WebCore::XSLTProcessor::parseErrorFunc): 87429 87430 2009-07-12 Nate Chapin <japhet (a] chromium.org> 87431 87432 Reviewed by Dimitri Glazkov. 87433 87434 Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl. 87435 87436 https://bugs.webkit.org/show_bug.cgi?id=27132 87437 87438 * bindings/scripts/CodeGeneratorV8.pm: 87439 * bindings/v8/DOMObjectsInclude.h: 87440 * bindings/v8/DerivedSourcesAllInOne.cpp: 87441 * bindings/v8/V8DOMWrapper.cpp: 87442 (WebCore::V8DOMWrapper::getTemplate): 87443 (WebCore::V8DOMWrapper::instantiateV8Object): 87444 * bindings/v8/V8Index.cpp: 87445 * bindings/v8/V8Index.h: 87446 * dom/HTMLAllCollection.idl: Added. 87447 87448 2009-07-12 Joseph Pecoraro <joepeck02 (a] gmail.com> 87449 87450 Reviewed by Maciej Stachowiak. 87451 87452 Inspector: Duplicate Computation in Autocompletion 87453 https://bugs.webkit.org/show_bug.cgi?id=26778 87454 87455 * inspector/front-end/TextPrompt.js: 87456 (WebInspector.TextPrompt.prototype._completionsReady): 87457 87458 2009-07-12 Dan Bernstein <mitz (a] apple.com> 87459 87460 Reviewed by Maciej Stachowiak. 87461 87462 https://bugs.webkit.org/show_bug.cgi?id=27196 87463 Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h 87464 87465 * GNUmakefile.am: Updated. 87466 * WebCore.gypi: Updated. 87467 * WebCore.pro: Updated. 87468 * WebCore.vcproj/WebCore.vcproj: Updated. 87469 * WebCore.xcodeproj/project.pbxproj: Updated. 87470 * WebCoreSources.bkl: Updated. 87471 * rendering/RenderBlock.h: Removed unnecessary forward declaration and 87472 updated comments. 87473 * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp. 87474 Removed unnecessary #include statements. 87475 (WebCore::BidiRun::BidiRun): Moved here from bidi.h. 87476 (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment. 87477 * rendering/bidi.cpp: Removed. 87478 * rendering/bidi.h: Removed. 87479 87480 2009-07-12 Dan Bernstein <mitz (a] apple.com> 87481 87482 - Windows build fix 87483 87484 * platform/graphics/cg/PDFDocumentImage.cpp: 87485 (WebCore::PDFDocumentImage::dataChanged): 87486 87487 2009-07-12 Dan Bernstein <mitz (a] apple.com> 87488 87489 Reviewed by Sam Weinig. 87490 87491 - Image cleanup 87492 87493 * platform/graphics/BitmapImage.cpp: 87494 (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor 87495 instead of the m_data member. 87496 (WebCore::BitmapImage::dataChanged): Ditto. 87497 * platform/graphics/Image.h: Re-ordered #includes and class 87498 declarations. Removed the drawPatternCallback() declaration. Made member 87499 variables private. 87500 * platform/graphics/cg/ImageCG.cpp: 87501 (WebCore::drawPatternCallback): Changed this from a member function to a 87502 static function. 87503 * platform/graphics/cg/PDFDocumentImage.cpp: 87504 (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor 87505 instead of the m_data member. 87506 * svg/graphics/SVGImage.cpp: 87507 (WebCore::SVGImage::dataChanged): Ditto. 87508 87509 2009-07-12 Daniel Bates <dbates (a] intudata.com> 87510 87511 Reviewed by Darin Adler. 87512 87513 https://bugs.webkit.org/show_bug.cgi?id=27189 87514 87515 Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 87516 XSSAuditor to incorrectly block HTML Base elements whose base path coincided 87517 with the URL of the page. 87518 87519 Test: http/tests/security/xssAuditor/base-href-safe3.html 87520 87521 * page/XSSAuditor.cpp: 87522 (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 87523 XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 87524 in the base element URL. 87525 87526 2009-07-12 Darin Adler <darin (a] apple.com> 87527 87528 Reviewed by Dan Bernstein. 87529 87530 Text searching with ICU should take the user's default locale into account 87531 https://bugs.webkit.org/show_bug.cgi?id=27184 87532 rdar://problem/6812121 87533 87534 No simple way to test this since it's dependent on user locale. 87535 After this, the user's default locale is used only on Mac. 87536 87537 * editing/TextIterator.cpp: 87538 (WebCore::createSearcher): Pass result of the currentSearchLocaleID 87539 function as the locale. 87540 87541 * platform/text/TextBreakIteratorInternalICU.h: Added declaration of 87542 currentSearchLocaleID function. 87543 87544 * platform/text/android/TextBreakIteratorInternalICU.cpp: 87545 (WebCore::currentSearchLocaleID): Added. Returns the empty string. 87546 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: 87547 (WebCore::currentSearchLocaleID): Ditto. 87548 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: 87549 (WebCore::currentSearchLocaleID): Ditto. 87550 87551 * platform/text/mac/TextBreakIteratorInternalICUMac.mm: 87552 (WebCore::textBreakLocalePreference): Added. Returns the value of 87553 the AppleTextBreakLocale preference. 87554 (WebCore::topLanguagePreference): Added. Returns the value of the 87555 first item in the AppleLanguages preference. 87556 (WebCore::canonicalLanguageIdentifier): Added. Cover for the 87557 CFLocaleCreateCanonicalLanguageIdentifierFromString function. 87558 (WebCore::getLocale): Added. Transfers the locale from a CFStringRef 87559 into a buffer. 87560 (WebCore::getSearchLocale): Added. Calls topLanguagePreference, 87561 canonicalLanguageIdentifier, and getLocale. 87562 (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once. 87563 (WebCore::getTextBreakLocale): Changed to call 87564 textBreakLocalePreference, topLanguagePreference, 87565 canonicalLanguageIdentifier, and getLocale. 87566 87567 * platform/text/win/TextBreakIteratorInternalICUWin.cpp: 87568 (WebCore::currentSearchLocaleID): Added. Returns the empty string. 87569 * platform/wx/TemporaryLinkStubs.cpp: 87570 (WebCore::currentSearchLocaleID): Ditto. 87571 87572 2009-07-12 Xan Lopez <xlopez (a] igalia.com> 87573 87574 Reviewed by Gustavo Noronha. 87575 87576 https://bugs.webkit.org/show_bug.cgi?id=25415 87577 [GTK][ATK] Please implement support for get_text_at_offset 87578 87579 Create a PangoLayout that properly represents the visual 87580 appearance of the text in the web page so that the line boundary 87581 modes of getText{At,Before,After}Offset work correctly. 87582 87583 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 87584 (UTF16ToUTF8): 87585 (g_substr): 87586 (convertUniCharToUTF8): 87587 (getPangoLayoutForAtk): 87588 87589 2009-07-11 Oliver Hunt <oliver (a] apple.com> 87590 87591 Reviewed by Simon Fraser. 87592 87593 Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path 87594 <https://bugs.webkit.org/show_bug.cgi?id=27187> 87595 87596 Simple API change, check for the empty path and add appropriate point if necessary. 87597 87598 Test: fast/canvas/canvas-modify-emptyPath.html 87599 87600 * Info.plist: 87601 * WebCore.xcodeproj/project.pbxproj: 87602 * html/CanvasRenderingContext2D.cpp: 87603 (WebCore::CanvasRenderingContext2D::lineTo): 87604 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 87605 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 87606 87607 2009-07-11 Eric Carlson <eric.carlson (a] apple.com> 87608 87609 Reviewed by Antti Koivisto. 87610 87611 HTMLMediaElement.canPlayType "maybe" and "probably" reversed 87612 https://bugs.webkit.org/show_bug.cgi?id=27186 87613 87614 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 87615 (WebCore::MediaPlayerPrivate::supportsType): 87616 Return "probably" if type has codecs parameter. 87617 87618 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 87619 (WebCore::MediaPlayerPrivate::supportsType): 87620 Ditto. 87621 87622 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 87623 (WebCore::MediaPlayerPrivate::supportsType): 87624 Ditto. 87625 87626 2009-07-11 Brady Eidson <beidson (a] apple.com> 87627 87628 Reviewed by Mark Rowe. 87629 87630 A worker-thread inspired follow-up for: 87631 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> 87632 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading 87633 87634 * xml/XMLHttpRequest.cpp: 87635 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR 87636 is running on a worker thread. Accessing the global Cache data structures from a non-main thread is 87637 not currently supported. 87638 87639 2009-07-11 Simon Fraser <simon.fraser (a] apple.com> 87640 87641 Enable support for accelerated compositing and 3d transforms on Leopard. 87642 <https://bugs.webkit.org/show_bug.cgi?id=20166> 87643 <rdar://problem/6120614> 87644 87645 Reviewed by Oliver Hunt. 87646 87647 * Configurations/FeatureDefines.xcconfig: 87648 87649 2009-07-11 Simon Hausmann <hausmann (a] webkit.org> 87650 87651 Fix the Qt build after r45724. 87652 87653 * bridge/qt/qt_instance.cpp: 87654 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): 87655 * bridge/qt/qt_runtime.cpp: 87656 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): 87657 87658 2009-07-10 Daniel Bates <dbates (a] intudata.com> 87659 87660 Reviewed by Adam Barth. 87661 87662 https://bugs.webkit.org/show_bug.cgi?id=26921 87663 87664 Implements support for HTML entities, so XSSAuditor can protect against attacks 87665 encoded with HTML entities. 87666 87667 Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html 87668 http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html 87669 http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html 87670 http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html 87671 http/tests/security/xssAuditor/javascript-link-HTML-entities.html 87672 http/tests/security/xssAuditor/link-onclick-entities.html 87673 http/tests/security/xssAuditor/script-tag-entities.html 87674 http/tests/security/xssAuditor/script-tag-with-source-entities.html 87675 87676 * page/XSSAuditor.cpp: 87677 (WebCore::XSSAuditor::canEvaluate): 87678 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 87679 (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities 87680 to decode HTML entities. 87681 (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities. 87682 (WebCore::XSSAuditor::findInRequest): 87683 * page/XSSAuditor.h: 87684 87685 2009-07-10 David Kilzer <ddkilzer (a] apple.com> 87686 87687 Bug 27007: Build fixes when ICONDATABASE is disabled 87688 87689 <https://bugs.webkit.org/show_bug.cgi?id=27007> 87690 87691 Reviewed by Sam Weinig. 87692 87693 * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp 87694 to the project. 87695 * loader/icon/IconDatabase.cpp: Added 87696 #if ENABLE(ICONDATABASE)/#endif macro guard. 87697 * loader/icon/IconDatabase.h: Removed three public methods from 87698 #if ENABLE(ICONDATABASE)/#endif macro so that they may be 87699 stubbed out in IconDatabaseNone.cpp. 87700 * loader/icon/IconDatabaseNone.cpp: Added 87701 #if !ENABLE(ICONDATABASE)/#endif macro guard. 87702 (WebCore::IconDatabase::importIconURLForPageURL): Added. 87703 (WebCore::IconDatabase::importIconDataForIconURL): Added. 87704 (WebCore::IconDatabase::shouldStopThreadActivity): Added. 87705 87706 2009-07-10 Daniel Bates <dbates (a] intudata.com> 87707 87708 Reviewed by Adam Barth. 87709 87710 https://bugs.webkit.org/show_bug.cgi?id=27151 87711 87712 Fixes issue where JavaScript URLs that contain null- and non-null control characters can 87713 bypass XSSAuditor. 87714 87715 Tests: http/tests/security/xssAuditor/javascript-link-control-char.html 87716 http/tests/security/xssAuditor/javascript-link-null-char.html 87717 http/tests/security/xssAuditor/javascript-link.html 87718 87719 * bindings/js/ScriptController.cpp: 87720 (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 87721 inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL. 87722 * bindings/v8/ScriptController.cpp: 87723 (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in 87724 bindings/js/ScriptController.cpp. 87725 * page/XSSAuditor.cpp: 87726 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs 87727 into its own method. 87728 * page/XSSAuditor.h: 87729 87730 2009-07-10 Shinichiro Hamaji <hamaji (a] chromium.org> 87731 87732 Reviewed by David Kilzer. 87733 87734 WebKit needs a style linting tool 87735 https://bugs.webkit.org/show_bug.cgi?id=25884 87736 87737 Fix bunch of style issues by autofix of cpplint. 87738 This patch is created to demonstrate the autofix of cpplint.py. 87739 87740 No new testcases because it's a style fix 87741 87742 * css/CSSParser.cpp: 87743 (WebCore::CSSParser::parseMediaQuery): 87744 (WebCore::CSSParser::validUnit): 87745 (WebCore::CSSParser::parseValue): 87746 (WebCore::skipCommaInDashboardRegion): 87747 (WebCore::CSSParser::parseDashboardRegions): 87748 (WebCore::ShadowParseContext::commitValue): 87749 (WebCore::ShadowParseContext::commitLength): 87750 (WebCore::ShadowParseContext::commitColor): 87751 (WebCore::BorderImageParseContext::commitNumber): 87752 (WebCore::BorderImageParseContext::commitWidth): 87753 (WebCore::BorderImageParseContext::commitRule): 87754 (WebCore::BorderImageParseContext::commitBorderImage): 87755 (WebCore::CSSParser::lex): 87756 (WebCore::CSSParser::text): 87757 * css/CSSStyleSelector.cpp: 87758 (WebCore::CSSStyleSelector::applyProperty): 87759 * css/MediaList.cpp: 87760 (WebCore::MediaList::deleteMedium): 87761 * css/MediaQuery.h: 87762 * css/MediaQueryEvaluator.cpp: 87763 (WebCore::parseAspectRatio): 87764 * css/MediaQueryEvaluator.h: 87765 * css/MediaQueryExp.h: 87766 (WebCore::MediaQueryExp::operator==): 87767 * css/WebKitCSSMatrix.h: 87768 * dom/Comment.h: 87769 * dom/Document.cpp: 87770 (WebCore::Document::setFocusedNode): 87771 * dom/Document.h: 87772 (WebCore::Document::setHasDashboardRegions): 87773 * dom/DocumentFragment.cpp: 87774 (WebCore::DocumentFragment::nodeName): 87775 * dom/DocumentFragment.h: 87776 * dom/DynamicNodeList.h: 87777 * dom/EditingText.h: 87778 * dom/Element.cpp: 87779 (WebCore::Element::dispatchAttrAdditionEvent): 87780 * dom/NamedAttrMap.cpp: 87781 (WebCore::NamedNodeMap::item): 87782 * dom/Node.cpp: 87783 (WebCore::Node::nodeValue): 87784 (WebCore::Node::nodeIndex): 87785 * dom/NodeRareData.h: 87786 (WebCore::NodeListsNodeData::create): 87787 * dom/Notation.h: 87788 * dom/ProcessingInstruction.h: 87789 * dom/Range.cpp: 87790 (WebCore::Range::processContents): 87791 * dom/StyledElement.cpp: 87792 (WebCore::toHex): 87793 * dom/XMLTokenizerLibxml2.cpp: 87794 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback): 87795 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): 87796 (WebCore::PendingCallbacks::): 87797 (WebCore::OffsetBuffer::readOutBytes): 87798 (WebCore::handleElementNamespaces): 87799 (WebCore::handleElementAttributes): 87800 (WebCore::attributesStartElementNsHandler): 87801 * dom/XMLTokenizerQt.cpp: 87802 (WebCore::attributesStartElementNsHandler): 87803 (WebCore::XMLTokenizer::parseStartElement): 87804 * editing/ApplyStyleCommand.cpp: 87805 (WebCore::ApplyStyleCommand::applyInlineStyle): 87806 * editing/DeleteSelectionCommand.cpp: 87807 (WebCore::DeleteSelectionCommand::removeNode): 87808 * editing/Editor.cpp: 87809 (WebCore::Editor::pasteAsPlainText): 87810 * editing/SelectionController.cpp: 87811 (WebCore::SelectionController::directionOfEnclosingBlock): 87812 * editing/SmartReplaceICU.cpp: 87813 (WebCore::addAllCodePoints): 87814 * history/HistoryItem.cpp: 87815 (WebCore::HistoryItem::icon): 87816 (WebCore::HistoryItem::adoptVisitCounts): 87817 * html/CanvasStyle.cpp: 87818 (WebCore::CanvasStyle::applyFillColor): 87819 * html/HTMLAnchorElement.cpp: 87820 (WebCore::HTMLAnchorElement::setActive): 87821 (WebCore::HTMLAnchorElement::isLiveLink): 87822 * html/HTMLAppletElement.h: 87823 * html/HTMLAudioElement.h: 87824 * html/HTMLBRElement.h: 87825 * html/HTMLBaseElement.h: 87826 * html/HTMLBaseFontElement.h: 87827 * html/HTMLDListElement.h: 87828 * html/HTMLDirectoryElement.h: 87829 * html/HTMLFieldSetElement.cpp: 87830 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): 87831 * html/HTMLFormElement.cpp: 87832 (WebCore::HTMLFormElement::reset): 87833 * html/HTMLHRElement.cpp: 87834 (WebCore::HTMLHRElement::parseMappedAttribute): 87835 * html/HTMLHeadElement.h: 87836 * html/HTMLHtmlElement.h: 87837 * html/HTMLImageElement.h: 87838 (WebCore::HTMLImageElement::setLoadManually): 87839 * html/HTMLInputElement.cpp: 87840 (WebCore::HTMLInputElement::selection): 87841 * html/HTMLIsIndexElement.h: 87842 * html/HTMLMarqueeElement.cpp: 87843 * html/HTMLMediaElement.h: 87844 (WebCore::HTMLMediaElement::): 87845 * html/HTMLMenuElement.h: 87846 * html/HTMLMetaElement.h: 87847 * html/HTMLModElement.h: 87848 * html/HTMLOListElement.h: 87849 * html/HTMLOptionElement.cpp: 87850 (WebCore::HTMLOptionElement::childrenChanged): 87851 * html/HTMLParamElement.h: 87852 * html/HTMLQuoteElement.h: 87853 * html/HTMLStyleElement.h: 87854 * html/HTMLTableCaptionElement.h: 87855 * html/HTMLTableCellElement.h: 87856 * html/HTMLTableColElement.h: 87857 * html/HTMLTableSectionElement.cpp: 87858 (WebCore::HTMLTableSectionElement::deleteRow): 87859 * html/HTMLTitleElement.h: 87860 * html/HTMLTokenizer.cpp: 87861 (WebCore::HTMLTokenizer::parseNonHTMLText): 87862 (WebCore::HTMLTokenizer::parseEntity): 87863 (WebCore::HTMLTokenizer::parseTag): 87864 (WebCore::HTMLTokenizer::write): 87865 * html/HTMLUListElement.h: 87866 * html/HTMLVideoElement.h: 87867 * html/TimeRanges.h: 87868 (WebCore::TimeRanges::Range::Range): 87869 * inspector/InspectorController.cpp: 87870 (WebCore::InspectorController::enableResourceTracking): 87871 (WebCore::InspectorController::disableResourceTracking): 87872 * inspector/InspectorFrontend.cpp: 87873 (WebCore::InspectorFrontend::newInspectorJSONObject): 87874 * page/Console.cpp: 87875 (WebCore::Console::addMessage): 87876 * page/EventHandler.cpp: 87877 (WebCore::EventHandler::handleMousePressEvent): 87878 (WebCore::EventHandler::selectCursor): 87879 (WebCore::EventHandler::defaultKeyboardEventHandler): 87880 * page/Frame.cpp: 87881 (WebCore::Frame::jsDefaultStatusBarText): 87882 * page/android/DragControllerAndroid.cpp: 87883 (WebCore::DragController::dragOperation): 87884 * page/android/EventHandlerAndroid.cpp: 87885 (WebCore::EventHandler::tabsToAllControls): 87886 (WebCore::EventHandler::eventActivatedView): 87887 * page/animation/AnimationController.cpp: 87888 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 87889 * page/gtk/DragControllerGtk.cpp: 87890 (WebCore::DragController::dragOperation): 87891 * page/qt/DragControllerQt.cpp: 87892 * page/win/DragControllerWin.cpp: 87893 (WebCore::DragController::isCopyKeyDown): 87894 * page/win/FrameWin.h: 87895 * rendering/RenderSlider.cpp: 87896 (WebCore::RenderSlider::mouseEventOffsetToThumb): 87897 * rendering/style/RenderStyle.h: 87898 (WebCore::InheritedFlags::setVerticalAlignLength): 87899 (WebCore::InheritedFlags::setUnicodeBidi): 87900 (WebCore::InheritedFlags::setCursor): 87901 * rendering/style/RenderStyleConstants.h: 87902 (WebCore::): 87903 * rendering/style/SVGRenderStyleDefs.h: 87904 * rendering/style/StyleInheritedData.h: 87905 (WebCore::StyleInheritedData::operator!=): 87906 * storage/DatabaseTask.h: 87907 * svg/GradientAttributes.h: 87908 * svg/LinearGradientAttributes.h: 87909 * svg/PatternAttributes.h: 87910 * svg/RadialGradientAttributes.h: 87911 * svg/SVGAnimatedPathData.h: 87912 * svg/SVGAnimatedPoints.h: 87913 * svg/SVGAnimationElement.h: 87914 * svg/SVGClipPathElement.h: 87915 * svg/SVGElementInstance.h: 87916 * svg/SVGFEBlendElement.cpp: 87917 (WebCore::SVGFEBlendElement::build): 87918 * svg/SVGFEBlendElement.h: 87919 * svg/SVGFEColorMatrixElement.cpp: 87920 (WebCore::SVGFEColorMatrixElement::build): 87921 * svg/SVGFEComponentTransferElement.cpp: 87922 (WebCore::SVGFEComponentTransferElement::build): 87923 * svg/SVGFECompositeElement.cpp: 87924 (WebCore::SVGFECompositeElement::build): 87925 * svg/SVGFEDiffuseLightingElement.cpp: 87926 (WebCore::SVGFEDiffuseLightingElement::build): 87927 * svg/SVGFEDisplacementMapElement.cpp: 87928 (WebCore::SVGFEDisplacementMapElement::build): 87929 * svg/SVGFEDistantLightElement.h: 87930 * svg/SVGFEFloodElement.cpp: 87931 (WebCore::SVGFEFloodElement::build): 87932 * svg/SVGFEFloodElement.h: 87933 * svg/SVGFEFuncAElement.h: 87934 * svg/SVGFEFuncBElement.h: 87935 * svg/SVGFEFuncGElement.h: 87936 * svg/SVGFEFuncRElement.h: 87937 * svg/SVGFEGaussianBlurElement.cpp: 87938 (WebCore::SVGFEGaussianBlurElement::build): 87939 * svg/SVGFEImageElement.cpp: 87940 (WebCore::SVGFEImageElement::build): 87941 * svg/SVGFEMergeElement.cpp: 87942 (WebCore::SVGFEMergeElement::build): 87943 * svg/SVGFEOffsetElement.cpp: 87944 (WebCore::SVGFEOffsetElement::build): 87945 * svg/SVGFEPointLightElement.h: 87946 * svg/SVGFESpecularLightingElement.cpp: 87947 (WebCore::SVGFESpecularLightingElement::build): 87948 * svg/SVGFESpotLightElement.h: 87949 * svg/SVGFETileElement.cpp: 87950 (WebCore::SVGFETileElement::build): 87951 * svg/SVGLineElement.cpp: 87952 (WebCore::SVGLineElement::parseMappedAttribute): 87953 * svg/SVGList.h: 87954 * svg/SVGListTraits.h: 87955 (WebCore::): 87956 * svg/SVGMPathElement.h: 87957 * svg/SVGMetadataElement.h: 87958 * svg/SVGParserUtilities.cpp: 87959 (WebCore::SVGPathParser::parseSVG): 87960 (WebCore::SVGPathParser::calculateArc): 87961 * svg/SVGPathElement.h: 87962 * svg/SVGPathSegClosePath.h: 87963 * svg/SVGSVGElement.h: 87964 * svg/SVGSetElement.h: 87965 * svg/SVGSwitchElement.h: 87966 * svg/SVGTextPathElement.cpp: 87967 (WebCore::SVGTextPathElement::parseMappedAttribute): 87968 * svg/SVGTextPathElement.h: 87969 * svg/SVGTitleElement.h: 87970 * svg/SVGTransformable.cpp: 87971 (WebCore::): 87972 * svg/SVGViewSpec.cpp: 87973 (WebCore::): 87974 * svg/animation/SMILTime.cpp: 87975 (WebCore::operator+): 87976 (WebCore::operator-): 87977 (WebCore::operator*): 87978 * svg/animation/SVGSMILElement.h: 87979 * svg/graphics/SVGResource.cpp: 87980 (WebCore::clientMap): 87981 * wml/WMLPostfieldElement.cpp: 87982 (WebCore::WMLPostfieldElement::value): 87983 * wml/WMLSetvarElement.cpp: 87984 (WebCore::WMLSetvarElement::value): 87985 * workers/WorkerRunLoop.cpp: 87986 * xml/XMLHttpRequest.cpp: 87987 (WebCore::XMLHttpRequest::dropProtection): 87988 * xml/XPathPath.h: 87989 87990 2009-07-10 Eric Carlson <eric.carlson (a] apple.com> 87991 87992 Reviewed by Simon Fraser. 87993 87994 <rdar://problem/7049066>. 87995 Update SnowLeopard media controller layout. 87996 87997 * css/mediaControlsQT.css: 87998 Update for new layout. 87999 * html/HTMLMediaElement.cpp: 88000 (WebCore::HTMLMediaElement::movieLoadType): 88001 Added to replace isStreaming. 88002 * html/HTMLMediaElement.h: 88003 Declare movieLoadType, remove isStreaming. 88004 88005 * rendering/MediaControlElements.cpp: 88006 (WebCore::MediaControlStatusDisplayElement::update): 88007 Use movieLoadType instead of isStreaming. 88008 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): 88009 MediaControlElement is the base class, not HTMLInputElement. 88010 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): 88011 Ditto. 88012 (WebCore::MediaControlRewindButtonElement::rendererIsNeeded): 88013 Don't display rewind button for live streams. 88014 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): 88015 MediaControlInputElement is the base class, not HTMLInputElement. 88016 * rendering/MediaControlElements.h: 88017 88018 * rendering/RenderThemeMac.h: 88019 * rendering/RenderThemeMac.mm: 88020 (WebCore::getMediaUIPartStateFlags): 88021 New, return wkDrawMediaUIPart flags. 88022 (WebCore::RenderThemeMac::paintMediaFullscreenButton): 88023 (WebCore::RenderThemeMac::paintMediaMuteButton): 88024 (WebCore::RenderThemeMac::paintMediaPlayButton): 88025 (WebCore::RenderThemeMac::paintMediaSeekBackButton): 88026 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): 88027 (WebCore::RenderThemeMac::paintMediaSliderTrack): 88028 (WebCore::RenderThemeMac::paintMediaSliderThumb): 88029 (WebCore::RenderThemeMac::paintMediaRewindButton): 88030 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): 88031 (WebCore::RenderThemeMac::paintMediaControlsBackground): 88032 (WebCore::RenderThemeMac::paintMediaCurrentTime): 88033 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 88034 Use getMediaUIPartStateFlags. 88035 88036 2009-07-10 Michelangelo De Simone <micdesim (a] gmail.com> 88037 88038 Reviewed by Adele Peterson. 88039 88040 https://bugs.webkit.org/show_bug.cgi?id=19562 88041 Added build stuff and stub for the ValidityState class, part of HTML5 88042 section Forms: 88043 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate 88044 88045 Test: fast/forms/ValidityState-001.html 88046 88047 * DerivedSources.cpp: Fix aimed to include ValidityState files 88048 * DerivedSources.make: ditto 88049 * GNUmakefile.am: ditto 88050 * WebCore.gypi: ditto 88051 * WebCore.pro: ditto 88052 * WebCore.vcproj/WebCore.vcproj: ditto 88053 * WebCore.xcodeproj/project.pbxproj: ditto 88054 * WebCoreSources.bkl: ditto 88055 * html/HTMLButtonElement.idl: "validity" attribute 88056 * html/HTMLFieldSetElement.idl: ditto 88057 * html/HTMLFormControlElement.cpp: object getter 88058 (WebCore::HTMLFormControlElement::validity): 88059 * html/HTMLFormControlElement.h: ditto 88060 * html/HTMLInputElement.idl: "validity" attribute 88061 * html/HTMLSelectElement.idl: ditto 88062 * html/HTMLTextAreaElement.idl: ditto 88063 * html/ValidityState.cpp: Added. 88064 (WebCore::ValidityState::ValidityState): 88065 (WebCore::ValidityState::valid): validation flag 88066 * html/ValidityState.h: Added. 88067 (WebCore::ValidityState::create): creation routine 88068 (WebCore::ValidityState::control): ValidityState's parent getter 88069 (WebCore::ValidityState::valueMissing): validation flag 88070 (WebCore::ValidityState::typeMismatch): ditto 88071 (WebCore::ValidityState::patternMismatch): ditto 88072 (WebCore::ValidityState::tooLong): ditto 88073 (WebCore::ValidityState::rangeUnderflow): ditto 88074 (WebCore::ValidityState::rangeOverflow): ditto 88075 (WebCore::ValidityState::stepMismatch): ditto 88076 (WebCore::ValidityState::customError): ditto 88077 * html/ValidityState.idl: Added. 88078 88079 2009-07-10 Brady Eidson <beidson (a] apple.com> 88080 88081 Style cleanup over my last patch. 88082 88083 * xml/XMLHttpRequest.cpp: 88084 (WebCore::XMLHttpRequest::~XMLHttpRequest): 88085 88086 2009-07-10 Kevin McCullough <kmccullough (a] apple.com> 88087 88088 Reviewed by Geoffrey Garen. 88089 88090 * inspector/JavaScriptCallFrame.cpp: 88091 (WebCore::JavaScriptCallFrame::dynamicGlobalObject): 88092 * inspector/JavaScriptCallFrame.h: New helper method, used below. 88093 88094 * inspector/JavaScriptDebugServer.cpp: 88095 (WebCore::JavaScriptDebugServer::detach): In the special case 88096 where we detach from a window currently executing JavaScript, 88097 manually tear down our representation of the JavaScript 88098 call stack, since we won't get any more callbacks from JavaScriptCore 88099 to automatically tear it down. It's too bad that WebCore is 88100 responsible for this kind of tracking -- in the future, it would 88101 be nice if more of the breakpoint handling was inside of JavaScriptCore. 88102 88103 2009-07-10 Brady Eidson <beidson (a] apple.com> 88104 88105 Reviewed by Antti Koivisto. 88106 88107 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> 88108 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading 88109 88110 With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected. 88111 When that happened, the first request that was over the limit ended up in a bizarre state where it 88112 wasn't fully serviced until after the long running XHR was complete. 88113 88114 Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache 88115 resources - such as XHR - could still end up causing this limit to be exceeded. 88116 88117 This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will 88118 handle this at the resource handle level. 88119 88120 * loader/loader.cpp: 88121 (WebCore::Loader::nonCacheRequestInFlight): 88122 (WebCore::Loader::nonCacheRequestComplete): 88123 (WebCore::Loader::Host::Host): 88124 (WebCore::Loader::Host::nonCacheRequestInFlight): 88125 (WebCore::Loader::Host::nonCacheRequestComplete): 88126 (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account. 88127 * loader/loader.h: 88128 (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account. 88129 88130 * xml/XMLHttpRequest.cpp: 88131 (WebCore::XMLHttpRequest::XMLHttpRequest): 88132 (WebCore::XMLHttpRequest::~XMLHttpRequest): 88133 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count. 88134 (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified. 88135 (WebCore::XMLHttpRequest::didFinishLoading): Ditto. 88136 88137 2009-07-10 Antti Koivisto <antti (a] apple.com> 88138 88139 Try to unbreak non-Mac build. 88140 88141 * page/ChromeClient.h: 88142 (WebCore::ChromeClient::formDidFocus): 88143 (WebCore::ChromeClient::formDidBlur): 88144 88145 2009-07-10 Beth Dakin <bdakin (a] apple.com> 88146 88147 Reviewed by Anders Carlsson. 88148 88149 The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 88150 In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 88151 clicking To Do's close box 88152 88153 Make the Widget* in passMouseDownEventToWidget() a RefPtr. 88154 88155 * page/mac/EventHandlerMac.mm: 88156 (WebCore::EventHandler::passMouseDownEventToWidget): 88157 88158 2009-07-10 Eric Seidel <eric (a] webkit.org> 88159 88160 Reviewed by Adam Barth. 88161 88162 rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure 88163 https://bugs.webkit.org/show_bug.cgi?id=27157 88164 88165 This is the first step to fixing 88166 https://bugs.webkit.org/show_bug.cgi?id=27088 88167 88168 * WebCore.xcodeproj/project.pbxproj: 88169 * bindings/js/JSDOMBinding.h: 88170 (WebCore::deprecatedGetDOMStructure): 88171 (WebCore::createDOMObjectWrapper): 88172 (WebCore::createDOMNodeWrapper): 88173 * bindings/js/JSNamedNodesCollection.cpp: 88174 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 88175 * bindings/js/JSRGBColor.cpp: 88176 (WebCore::JSRGBColor::JSRGBColor): 88177 * bridge/objc/objc_runtime.mm: 88178 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): 88179 * bridge/runtime_array.cpp: 88180 (JSC::RuntimeArray::RuntimeArray): 88181 * bridge/runtime_method.cpp: 88182 (JSC::RuntimeMethod::RuntimeMethod): 88183 * bridge/runtime_object.cpp: 88184 (JSC::RuntimeObjectImp::RuntimeObjectImp): 88185 88186 2009-07-10 Greg Bolsinga <bolsinga (a] apple.com> 88187 88188 Reviewed by Antti Koivisto. 88189 88190 Add delegate methods about focus and blur and state change 88191 https://bugs.webkit.org/show_bug.cgi?id=27153 88192 88193 Call the appropriate new ChromeClient methods for focus and blur. 88194 88195 * html/HTMLFormControlElement.cpp: 88196 (WebCore::HTMLFormControlElement::dispatchFocusEvent): 88197 (WebCore::HTMLFormControlElement::dispatchBlurEvent): 88198 * html/HTMLFormControlElement.h: 88199 * loader/EmptyClients.h: 88200 (WebCore::EmptyChromeClient::formDidFocus): 88201 (WebCore::EmptyChromeClient::formDidBlur): 88202 * page/ChromeClient.h: 88203 88204 2009-07-10 Steve Falkenburg <sfalken (a] apple.com> 88205 88206 <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave 88207 88208 Use altered search path while loading plug-ins. This modifies the DLL search order 88209 to look in the directory containing the plug-in even if a call to SetDllDirectory 88210 was previously made. Use of SetDllDirectory removes the current directory from the search path, 88211 breaking the previous strategy for locating any dependent DLLs of the plug-in. 88212 88213 Reviewed by Jon Honeycutt. 88214 88215 * plugins/win/PluginPackageWin.cpp: 88216 (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH 88217 88218 2009-07-10 Adam Roben <aroben (a] apple.com> 88219 88220 Sort all our Xcode projects 88221 88222 Accomplished using sort-Xcode-project-file. 88223 88224 Requested by Dave Kilzer. 88225 88226 * WebCore.xcodeproj/project.pbxproj: 88227 88228 2009-07-10 Adam Langley <agl (a] google.com> 88229 88230 Reviewed by Darin Fisher. 88231 88232 Chromium Linux: use disabled images for disabled widgets. 88233 88234 https://bugs.webkit.org/show_bug.cgi?id=27106 88235 88236 Previously, checkboxes and radio controls rendered the same even if disabled. 88237 The Chromium side of this change is r20224. 88238 88239 * rendering/RenderThemeChromiumSkia.cpp: 88240 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 88241 (WebCore::RenderThemeChromiumSkia::paintRadio): 88242 88243 2009-07-10 Simon Fraser <simon.fraser (a] apple.com> 88244 88245 Reviewed by John Sullivan. 88246 88247 Fix crash when changing the zoom level in http://iphone.akamai.com/ 88248 <rdar://problem/7029077> 88249 88250 RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(), 88251 which could potentially destroy that compositing layer, causing a crash. 88252 Prevent this from happening by not doing a compositing update from paintIntoLayer(). 88253 88254 The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(), 88255 and still does the compositing update. The new updateLayerListsIfNeeded() does not touch 88256 compositing layers, and is still called from paintIntoLayer(). 88257 88258 * rendering/RenderLayer.cpp: 88259 (WebCore::RenderLayer::paintLayer): 88260 (WebCore::RenderLayer::hitTestLayer): 88261 (WebCore::RenderLayer::updateLayerListsIfNeeded): 88262 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): 88263 * rendering/RenderLayer.h: 88264 88265 2009-07-10 Drew Wilson <atwilson (a] google.com> 88266 88267 Reviewed by Darin Adler. 88268 88269 Need to remove UsesManualToJSImplementation() in favor of CustomToJS. 88270 https://bugs.webkit.org/show_bug.cgi?id=27010 88271 88272 Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation(). 88273 88274 This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch. 88275 88276 * bindings/scripts/CodeGeneratorJS.pm: 88277 Removed UsesManualToJSImplementation(), added support for CustomToJS attribute. 88278 * css/CSSRule.idl: 88279 * css/CSSValue.idl: 88280 * css/StyleSheet.idl: 88281 * dom/Document.idl: 88282 * dom/Event.idl: 88283 * dom/Node.idl: 88284 * html/ImageData.idl: 88285 * svg/SVGElementInstance.idl: 88286 * svg/SVGPathSeg.idl: 88287 Added CustomToJS attribute to all the above IDL files. 88288 88289 2009-07-10 Dan Bernstein <mitz (a] apple.com> 88290 88291 - fix the build by reverting the ill-advised r45711 88292 88293 * page/FrameView.cpp: 88294 (WebCore::FrameView::scrollToAnchor): 88295 88296 2009-07-09 Brian Weinstein <bweinstein (a] apple.com> 88297 88298 Reviewed by Tim Hatcher. 88299 88300 Updated WebCore.base.exp to add some needed functions. 88301 88302 * WebCore.base.exp: 88303 88304 2009-07-10 Dan Bernstein <mitz (a] apple.com> 88305 88306 - address a review comment from Simon Fraser which I forgot to include 88307 in the last check-in 88308 88309 * page/FrameView.cpp: 88310 (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for 88311 maximum transform friendliness! 88312 88313 2009-07-10 Dan Bernstein <mitz (a] apple.com> 88314 88315 Reviewed by Simon Fraser. 88316 88317 - fix https://bugs.webkit.org/show_bug.cgi?id=27137 88318 <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due 88319 to infinite recursion into FrameLoader::gotoAnchor() -> 88320 FrameView::layout() 88321 88322 Test: fast/loader/goto-anchor-infinite-layout.html 88323 88324 * loader/FrameLoader.cpp: 88325 (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout, 88326 find the renderer to scroll to, and scroll from here to methods on 88327 FrameView, and replaced it with a call to 88328 FrameView::maintainScrollPositionAtAnchor(). 88329 (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor() 88330 instead of setLockedToAnchor(). 88331 88332 * page/FrameView.cpp: 88333 (WebCore::FrameView::FrameView): Removed initialization of 88334 m_lockedToAnchor. 88335 (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead 88336 of m_lockedToAnchor. 88337 (WebCore::FrameView::layout): Removed the code related to scrolling to 88338 the anchor from here, because scrolling can trigger events which 88339 invalidate the layout, and as such, belongs with the post-layout tasks. 88340 (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called 88341 with a node scrolls the view to the top of that node and maintains it 88342 scrolled to the top of the node during subsequent layouts, until 88343 this function is called with 0 or other things trigger scrolling. 88344 (WebCore::FrameView::scrollRectIntoViewRecursively): Reset 88345 m_maintainScrollPositionAnchor. 88346 (WebCore::FrameView::setScrollPosition): Ditto. 88347 (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of 88348 m_maintainScrollPositionAnchor, if it is set. 88349 (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor(). 88350 (WebCore::FrameView::setWasScrolledByUser): Reset 88351 m_maintainScrollPositionAnchor. 88352 88353 * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(), 88354 and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and 88355 m_maintainScrollPositionAnchor. 88356 88357 2009-07-04 Sriram Yadavalli <sriram.yadavalli (a] nokia.com> 88358 88359 Reviewed by Simon Hausmann. 88360 88361 https://bugs.webkit.org/show_bug.cgi?id=26439 88362 88363 QtWebKit fails in loading www.nytimes.com in Windows/Linux 88364 88365 QNetworkReplyHandler is ignoring content associated with 401 error. 88366 This causes the XHR response handling to fail. 88367 88368 Simon: Added also ProxyAuthenticationRequiredError, to handle the same 88369 case when going through proxies, as suggested by Prasanth. 88370 88371 * platform/network/qt/QNetworkReplyHandler.cpp: 88372 (WebCore::QNetworkReplyHandler::finish): 88373 88374 2009-07-10 Simon Hausmann <simon.hausmann (a] nokia.com> 88375 88376 Reviewed by Holger Freyther. 88377 88378 Enable HTML 5 Messaging to fix message channel Qt DRT failures in 88379 fast/events. 88380 88381 * WebCore.pro: 88382 88383 2009-07-09 Roland Steiner <rolandsteiner (a] google.com> 88384 88385 Reviewed by Maciej Stachowiak. 88386 88387 added InlineBox::isLeaf() 88388 firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore. 88389 firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree. 88390 Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox() 88391 Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes 88392 88393 Currently, these methods are called on RootInlineBox objects only, so above changes should not have 88394 any observable effect (only the removal of the square performance behavior could apply, 88395 but the conditions for that are probably of a rather theoretical nature). 88396 88397 * rendering/InlineBox.cpp: 88398 (WebCore::InlineBox::nextLeafChild): 88399 (WebCore::InlineBox::prevLeafChild): 88400 * rendering/InlineBox.h: 88401 (WebCore::InlineBox::isLeaf): 88402 * rendering/InlineFlowBox.cpp: 88403 (WebCore::InlineFlowBox::firstLeafChild): 88404 (WebCore::InlineFlowBox::lastLeafChild): 88405 * rendering/InlineFlowBox.h: 88406 (WebCore::InlineFlowBox::firstChild): 88407 (WebCore::InlineFlowBox::lastChild): 88408 (WebCore::InlineFlowBox::isLeaf): 88409 * rendering/RootInlineBox.cpp: 88410 (WebCore::RootInlineBox::closestLeafChildForXPos): 88411 88412 2009-07-09 Roland Steiner <rolandsteiner (a] google.com> 88413 88414 Reviewed by Maciej Stachowiak. 88415 88416 Added InlineBox::baselinePosition() and lineHeight() methods 88417 (adapted remaining code accordingly to use those methods) 88418 88419 No change in functionality. 88420 88421 * rendering/InlineBox.h: 88422 (WebCore::InlineBox::baselinePosition): 88423 (WebCore::InlineBox::lineHeight): 88424 * rendering/InlineFlowBox.cpp: 88425 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): 88426 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 88427 (WebCore::InlineFlowBox::placeBoxesVertically): 88428 88429 2009-07-09 Oliver Hunt <oliver (a] apple.com> 88430 88431 Reviewed by Maciej Stachowiak. 88432 88433 Bug 27142 - canPlayType() should return empty string for unsupported content 88434 <https://bugs.webkit.org/show_bug.cgi?id=27142> 88435 88436 Return "" instead of "no" for unsupport media types. 88437 88438 * html/HTMLMediaElement.cpp: 88439 (WebCore::HTMLMediaElement::canPlayType): 88440 88441 2009-07-09 Roland Steiner <rolandsteiner (a] google.com> 88442 88443 Reviewed by Maciej Stachowiak. 88444 88445 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags 88446 in that their end tags are optional if followed by <rp>/<rt>. 88447 88448 Also specify a new accessibility role "annotation" for <rp> and <rt>. 88449 88450 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing 88451 is not affected by whether ruby is rendered properly or not (in fact, it may 88452 be more profound without ruby layouting, since the contents of <rp> are not hidden). 88453 88454 Test: fast/ruby/parse-rp.html 88455 88456 * accessibility/AccessibilityObject.h: 88457 (WebCore::): 88458 * accessibility/AccessibilityRenderObject.cpp: 88459 (WebCore::AccessibilityRenderObject::roleValue): 88460 * html/HTMLElement.cpp: 88461 (WebCore::HTMLElement::endTagRequirement): 88462 (WebCore::HTMLElement::tagPriority): 88463 (WebCore::inlineTagList): 88464 * html/HTMLParser.cpp: 88465 (WebCore::HTMLParser::rpCreateErrorCheck): 88466 (WebCore::HTMLParser::rtCreateErrorCheck): 88467 (WebCore::HTMLParser::getNode): 88468 * html/HTMLParser.h: 88469 * html/HTMLTagNames.in: 88470 88471 2009-07-09 Dmitry Titov <dimich (a] chromium.org> 88472 88473 Not reviewed, fix for previous commit. 88474 88475 The change http://trac.webkit.org/changeset/45695 did not correctly 88476 enabled GTL and QT build flags. This caused layout tests failure. 88477 This is speculative fix for those failures. 88478 88479 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag. 88480 * WebCore.pro: ditto. 88481 * page/DOMWindow.idl: touched to cause recompile. 88482 * workers/WorkerContext.idl: ditto. 88483 88484 2009-07-09 Drew Wilson <atwilson (a] google.com> 88485 88486 Reviewed by Alexey Proskuryakov. 88487 88488 https://bugs.webkit.org/show_bug.cgi?id=26903 88489 88490 Turned on CHANNEL_MESSAGING by default because the MessageChannel API 88491 is now implemented for Web Workers and is reasonably stable. 88492 88493 Tests: fast/events/message-channel-gc-2.html 88494 fast/events/message-channel-gc-3.html 88495 fast/events/message-channel-gc-4.html 88496 fast/events/message-channel-gc.html 88497 fast/events/message-channel-listener-circular-ownership.html 88498 fast/events/message-port-clone.html 88499 fast/events/message-port-constructor-for-deleted-document.html 88500 fast/events/message-port-deleted-document.html 88501 fast/events/message-port-deleted-frame.html 88502 fast/events/message-port-inactive-document.html 88503 fast/events/message-port-no-wrapper.html 88504 fast/events/message-port.html 88505 fast/workers/worker-cloneport.html 88506 fast/workers/worker-messageport-gc.html 88507 fast/workers/worker-messageport.html 88508 88509 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING. 88510 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto. 88511 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto. 88512 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers. 88513 * WebCore/workers/WorkerContext.idl: ditto. 88514 88515 88516 2009-07-09 Pierre d'Herbemont <pdherbemont (a] apple.com> 88517 88518 Reviewed by Simon Fraser. 88519 88520 Full page zoom breaks remaining and elapsed time display in the <video> controller. 88521 https://bugs.webkit.org/show_bug.cgi?id=27123 88522 88523 We are changing the size of the time remaining and time elapsed field, to 88524 automatically hide them, when the controller is too short. 88525 88526 Because we toggle the size between 0 and the previous value of the 88527 controller, we miss any width change that may occur during full page zoom, 88528 and we fail to restore a correct width. 88529 88530 This change fixes that problem by using a cloned style on which we 88531 set the width to 0, and restoring the previous style when going back to 88532 the normal width. 88533 88534 We take care about properly using the cloned style or the pseudo style, 88535 by overriding styleForElement(). 88536 88537 * rendering/MediaControlElements.cpp: 88538 (WebCore::MediaControlElement::styleForElement): 88539 (WebCore::MediaControlElement::attach): 88540 (WebCore::MediaControlElement::updateStyle): 88541 (WebCore::MediaControlInputElement::styleForElement): 88542 (WebCore::MediaControlInputElement::attach): 88543 (WebCore::MediaControlInputElement::updateStyle): 88544 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 88545 (WebCore::MediaControlTimeDisplayElement::styleForElement): 88546 (WebCore::MediaControlTimeDisplayElement::setVisible): 88547 * rendering/MediaControlElements.h: 88548 * rendering/RenderMedia.cpp: 88549 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure 88550 we take in account the zoom level when deciding if we should hide the 88551 ellapsed and remaining time. 88552 88553 2009-07-09 Michael Nordman <michaeln (a] google.com> 88554 88555 Reviewed by Darin Adler. 88556 88557 Fix chromium build bustage due to Widget being a RefCounted class. 88558 https://bugs.webkit.org/show_bug.cgi?id=27139 88559 88560 * platform/chromium/PopupMenuChromium.cpp: 88561 * platform/chromium/PopupMenuChromium.h: 88562 88563 2009-07-09 Chris Fleizach <cfleizach (a] apple.com> 88564 88565 Reviewed by Darin Adler. 88566 88567 Bug 27130 - Need to implement ARIA role="toolbar" 88568 https://bugs.webkit.org/show_bug.cgi?id=27130 88569 88570 Test: platform/mac/accessibility/aria-toolbar.html 88571 88572 * accessibility/AccessibilityRenderObject.cpp: 88573 (WebCore::RoleEntry::): 88574 * accessibility/mac/AccessibilityObjectWrapper.mm: 88575 (-[AccessibilityObjectWrapper roleDescription]): 88576 88577 2009-07-09 Dimitri Glazkov <dglazkov (a] chromium.org> 88578 88579 Reviewed by Darin Fisher. 88580 88581 [Chromium] Upstream WebCore.gypi, the project file for Chromium build. 88582 https://bugs.webkit.org/show_bug.cgi?id=27135 88583 88584 * WebCore.gypi: Added. 88585 88586 2009-07-09 Jon Honeycutt <jhoneycutt (a] apple.com> 88587 88588 A more robust fix for <rdar://problem/6930280> Reproducible crash at 88589 USA Today photo gallery 88590 88591 Reviewed by Steve Falkenburg. 88592 88593 * plugins/win/PluginMessageThrottlerWin.cpp: 88594 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): 88595 Protect the PluginView from destruction before calling its window proc. 88596 88597 2009-07-09 Jon Honeycutt <jhoneycutt (a] apple.com> 88598 88599 <rdar://problem/6978804> WER #16: Repro Access Violation in 88600 WebCore::PluginView::bindingInstance (1310178023) 88601 88602 Reviewed by Darin Adler. 88603 88604 * plugins/PluginView.cpp: 88605 (WebCore::PluginView::bindingInstance): 88606 Protect the PluginView from destruction before calling NPN_GetValue. If 88607 the renderer for the PluginView was destroyed during the call, and the 88608 PluginView's ref count is now 1, return null. 88609 88610 2009-07-09 Jon Honeycutt <jhoneycutt (a] apple.com> 88611 88612 Speculative fix for <rdar://problem/6991251> WER #13: Crash in 88613 WebKit!WebCore::PluginView::performRequest+203 (1311461169) 88614 88615 Reviewed by Darin Adler. 88616 88617 * plugins/PluginView.cpp: 88618 (WebCore::PluginView::performRequest): 88619 Protect the PluginView from destruction before performing a load. 88620 Removed some trailing whitespace. 88621 88622 2009-07-09 Jon Honeycutt <jhoneycutt (a] apple.com> 88623 88624 Build fix. 88625 88626 * inspector/JavaScriptDebugServer.cpp: 88627 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 88628 88629 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin (a] apple.com> 88630 88631 Reviewed by Dave Hyatt. 88632 88633 Make Widget RefCounted to fix or make fixable: 88634 88635 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 88636 at WebCore::Widget::afterMouseDown() after clicking To Do's close 88637 box 88638 <rdar://problem/6978804> WER #16: Repro Access Violation in 88639 WebCore::PluginView::bindingInstance (1310178023) 88640 -and- 88641 <rdar://problem/6991251> WER #13: Crash in WebKit! 88642 WebCore::PluginView::performRequest+203 (1311461169) 88643 88644 * loader/EmptyClients.h: 88645 (WebCore::EmptyFrameLoaderClient::createPlugin): 88646 Changed to return PassRefPtr 88647 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): 88648 Ditto. 88649 88650 * loader/FrameLoader.cpp: 88651 (WebCore::FrameLoader::loadSubframe): 88652 (WebCore::FrameLoader::loadPlugin): 88653 Make the widget variable a RefPtr. Use .get() when passing it to 88654 RenderPart::setWidget(). 88655 (WebCore::FrameLoader::createJavaAppletWidget): 88656 Make the widget variable a RefPtr. 88657 88658 * loader/FrameLoader.h: 88659 Changed the return type of createJavaAppletWidget(). 88660 88661 * loader/FrameLoaderClient.h: 88662 Change the return types of createPlugin() and 88663 createJavaAppletWidget(). 88664 88665 * page/Frame.cpp: 88666 (WebCore::Frame::createView): 88667 No need to call .get() since setWidget() takes a RefPtr. 88668 88669 * page/FrameView.cpp: 88670 (WebCore::FrameView::layoutIfNeededRecursive): 88671 children() now returns a HashSet of RefPtrs. 88672 88673 * page/FrameView.h: 88674 Remove inheritance from RefCounted; we pick this up from ScrollView 88675 through Widget. 88676 88677 * platform/ScrollView.cpp: 88678 (WebCore::ScrollView::addChild): 88679 addChild() now takes a PassRefPtr and m_children now keeps a 88680 HashSet of RefPtrs. 88681 88682 * platform/ScrollView.h: 88683 ScrollView constructor is now protected. 88684 (WebCore::ScrollView::children): 88685 m_children is now a HashSet of RefPtrs. 88686 88687 * platform/Scrollbar.h: 88688 Remove inheritance from RefCounted; we pick this up from ScrollView 88689 through Widget. 88690 88691 * platform/Widget.h: 88692 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 88693 a RefPtr. 88694 88695 * plugins/PluginView.cpp: 88696 (WebCore::PluginView::create): 88697 Adopt the PluginView when returning it. 88698 88699 * plugins/PluginView.h: 88700 Changed create() to return a PassRefPtr. 88701 88702 * rendering/RenderApplet.cpp: 88703 Receive result in a RefPtr when calling createJavaAppletWidget(). 88704 88705 * rendering/RenderPart.cpp: 88706 (WebCore::RenderPart::setWidget): 88707 setWidget() now takes a PassRefPtr. Also removed the manual ref of 88708 FrameViews. This is handled by having m_widget be a RefPtr. Removed 88709 deleteWidget(). 88710 88711 * rendering/RenderPart.h: 88712 Removed override of deleteWidget(). 88713 88714 * rendering/RenderWidget.cpp: 88715 (WebCore::RenderWidget::destroy): 88716 (WebCore::RenderWidget::setWidget): 88717 (WebCore::RenderWidget::paint): 88718 (WebCore::RenderWidget::setOverlapTestResult): 88719 (WebCore::RenderWidget::updateWidgetPosition): 88720 Use .get(). 88721 (WebCore::RenderWidget::clearWidget): 88722 Don't call deleteWidget(). It was removed. 88723 88724 * rendering/RenderWidget.h: 88725 Removed deleteWidget(). Made m_widget a RefPtr. 88726 (WebCore::RenderWidget::widget): 88727 Use .get(). 88728 88729 2009-07-09 Chris Fleizach <cfleizach (a] apple.com> 88730 88731 Reviewed by Darin Adler. 88732 88733 Bug 27129 - AX: possible assertion for a non-native image in accessibility 88734 https://bugs.webkit.org/show_bug.cgi?id=27129 88735 88736 It's possible for an image that is not really an image to assert, because its renderer 88737 is turned into a RenderImage. 88738 88739 Test: accessibility/non-native-image-crash.html 88740 88741 * accessibility/AccessibilityRenderObject.cpp: 88742 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 88743 (WebCore::RoleEntry::): 88744 * accessibility/mac/AccessibilityObjectWrapper.mm: 88745 (-[AccessibilityObjectWrapper roleDescription]): 88746 88747 2009-07-09 Simon Fraser <simon.fraser (a] apple.com> 88748 88749 Build fix for SnowLeopard. 88750 88751 Avoid using the contentsTransform methods if not on Leopard, because 88752 we don't need to call them. 88753 88754 * platform/graphics/mac/GraphicsLayerCA.mm: 88755 (WebCore::GraphicsLayerCA::updateContentsTransform): 88756 * platform/graphics/mac/WebLayer.mm: 88757 (-[WebLayer setNeedsDisplayInRect:]): 88758 * platform/graphics/mac/WebTiledLayer.mm: 88759 (-[WebTiledLayer setNeedsDisplayInRect:]): 88760 88761 2009-07-09 Simon Fraser <simon.fraser (a] apple.com> 88762 88763 Reviewed by Dave Hyatt 88764 88765 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped] 88766 is not available. 88767 <rdar://problem/6120614> 88768 88769 * platform/graphics/GraphicsLayer.h: 88770 (WebCore::GraphicsLayer::setContentsOrientation): 88771 (WebCore::GraphicsLayer::contentsOrientation): 88772 * platform/graphics/GraphicsLayer.cpp: 88773 (WebCore::GraphicsLayer::GraphicsLayer): 88774 Add a m_contentsOrientation member and getter/setter to control whether 88775 the contents of this layer have a transform applied to them before display. 88776 88777 * platform/graphics/mac/GraphicsLayerCA.h: 88778 New method to return the default contents orientation. 88779 88780 * platform/graphics/mac/GraphicsLayerCA.mm: 88781 (WebCore::flipTransform): 88782 Convenience method to return a transform with a Y flip. 88783 88784 (WebCore::GraphicsLayerCA::GraphicsLayerCA): 88785 (WebCore::GraphicsLayerCA::setSize): 88786 After the size changes we have to update the contentsTransform. 88787 88788 (WebCore::GraphicsLayerCA::setGeometryOrientation): 88789 (WebCore::GraphicsLayerCA::geometryOrientation): 88790 If -setGeometryFlipped: is not available, use a children transform. 88791 88792 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 88793 Tiled layers have issues with flipped contentsTransform, so just use 88794 top-down drawing for them. Call updateContentsTransform() to set the 88795 new contents transform after swapping layers. 88796 88797 (WebCore::GraphicsLayerCA::defaultContentsOrientation): 88798 Use bottom-up when -geometryFlipped is not available, otherwise top-down. 88799 88800 (WebCore::GraphicsLayerCA::updateContentsTransform): 88801 Set the layer contents transform based on contentsOrientation(). 88802 88803 (WebCore::GraphicsLayerCA::setContentsLayer): 88804 We have to manually flip contents layers if we're not using -geometryFlipped. 88805 88806 * platform/graphics/mac/WebLayer.h: 88807 * platform/graphics/mac/WebLayer.mm: 88808 Do early return if layerContents is nil. Flip the CTM if the layer has 88809 bottom-up coordinates, so that CG sees a CTM with no flip. 88810 Do the CGContextRestoreGState() after drawing the debug indicator. 88811 88812 (-[WebLayer setNeedsDisplayInRect:]): 88813 * platform/graphics/mac/WebTiledLayer.mm: 88814 (-[WebTiledLayer setNeedsDisplayInRect:]): 88815 Need to map the dirty rect through the contentsTransform. 88816 88817 2009-07-09 Alexey Proskuryakov <ap (a] webkit.org> 88818 88819 Reviewed by Geoff Garen. 88820 88821 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects. 88822 88823 Can't test this functionality with layout tests. 88824 88825 * WebCore.base.exp: 88826 * history/HistoryItem.cpp: 88827 (WebCore::HistoryItem::recordVisitAtTime): 88828 (WebCore::HistoryItem::visited): 88829 * history/HistoryItem.h: 88830 Only increase visit count if explicitly told to. Now, some visits change last access time, 88831 but do not increase visit count. 88832 88833 2009-07-09 Eric Carlson <eric.carlson (a] apple.com> 88834 88835 Reviewed by Simon Fraser. 88836 88837 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3 88838 88839 Require QuickTime 7.6.3 or higher to enable the new media controller UI. 88840 88841 * rendering/RenderThemeMac.mm: 88842 (WebCore::mediaControllerTheme): 88843 88844 2009-07-09 Sam Weinig <sam (a] webkit.org> 88845 88846 Reviewed by Beth Dakin. 88847 88848 Remove incorrect comment. 88849 88850 * page/MouseEventWithHitTestResults.h: 88851 88852 2009-07-09 Mads Ager <ager (a] chromium.org> 88853 88854 Reviewed by Dimitri Glazkov. 88855 88856 Update the V8 bindings codegenerator to use the RGBColor::create 88857 method to handle refcounts for RGBColor objects correctly. 88858 88859 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects. 88860 88861 2009-07-09 Eric Carlson <eric.carlson (a] apple.com> 88862 88863 Reviewed by Adele Peterson. 88864 88865 Crash in RenderMedia::styleDidChange. 88866 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 88867 media element (RenderMedia::styleDidChange 115) 88868 88869 Speculative fix for crash in styleDidChange. Null check controller elements before tell 88870 them to update style. 88871 88872 * rendering/RenderMedia.cpp: 88873 (WebCore::RenderMedia::styleDidChange): 88874 88875 2009-07-09 Adam Barth <abarth (a] webkit.org> 88876 88877 Reviewed by Dimitri Glazkov. 88878 88879 [V8] Move V8DOMWrapper to its own file 88880 https://bugs.webkit.org/show_bug.cgi?id=27121 88881 88882 * bindings/v8/V8DOMWrapper.cpp: Added. 88883 (WebCore::GetToStringName): 88884 (WebCore::ConstructorToString): 88885 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): 88886 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 88887 (WebCore::V8DOMWrapper::domObjectHasJSWrapper): 88888 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): 88889 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): 88890 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): 88891 (WebCore::V8DOMWrapper::getTemplate): 88892 (WebCore::V8DOMWrapper::convertToV8Object): 88893 (WebCore::V8DOMWrapper::setHiddenWindowReference): 88894 (WebCore::V8DOMWrapper::domWrapperType): 88895 (WebCore::V8DOMWrapper::convertToNativeObjectImpl): 88896 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 88897 (WebCore::V8DOMWrapper::lookupDOMWrapper): 88898 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): 88899 (WebCore::V8DOMWrapper::wrapNativeNodeFilter): 88900 (WebCore::V8DOMWrapper::instantiateV8Object): 88901 (WebCore::V8DOMWrapper::setDOMWrapper): 88902 (WebCore::V8DOMWrapper::maybeDOMWrapper): 88903 (WebCore::V8DOMWrapper::isDOMEventWrapper): 88904 (WebCore::V8DOMWrapper::isWrapperOfType): 88905 (WebCore::V8DOMWrapper::htmlElementType): 88906 (WebCore::V8DOMWrapper::svgElementType): 88907 (WebCore::V8DOMWrapper::convertEventToV8Object): 88908 (WebCore::): 88909 (WebCore::V8DOMWrapper::convertNodeToV8Object): 88910 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 88911 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 88912 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): 88913 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): 88914 (WebCore::V8DOMWrapper::convertCSSValueToV8Object): 88915 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): 88916 (WebCore::V8DOMWrapper::convertWindowToV8Object): 88917 * bindings/v8/V8DOMWrapper.h: Added. 88918 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 88919 (WebCore::V8DOMWrapper::wrapCPointer): 88920 (WebCore::V8DOMWrapper::extractCPointer): 88921 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 88922 (WebCore::V8DOMWrapper::convertToV8Object): 88923 (WebCore::V8DOMWrapper::convertToNativeObject): 88924 (WebCore::V8DOMWrapper::convertToNativeEvent): 88925 (WebCore::V8DOMWrapper::extractCPointerImpl): 88926 (WebCore::V8DOMWrapper::instantiateV8Object): 88927 * bindings/v8/V8Proxy.cpp: 88928 * bindings/v8/V8Proxy.h: 88929 88930 2009-07-09 David Hyatt <hyatt (a] apple.com> 88931 88932 Reviewed by Adele Peterson. 88933 88934 Crash in setFocusedFrame. 88935 <rdar://7032869> Crashing in setFocusedFrame on blogger.com. 88936 88937 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire 88938 the events only after the local member has been updated. 88939 88940 * page/FocusController.cpp: 88941 (WebCore::FocusController::setFocusedFrame): 88942 88943 2009-07-09 Eric Carlson <eric.carlson (a] apple.com> 88944 88945 Reviewed by Adele Peterson. 88946 88947 Possible crashes when mouse clicks not dispatched because range input destroyed while 88948 thumb is being dragged (e.g. scrub to end of movie) 88949 <rdar://problem/7037494> 88950 https://bugs.webkit.org/show_bug.cgi?id=27101 88951 88952 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 88953 get mouse events even when the mouse is moved outside of the node. This is done by putting 88954 EventHandler into a mode where it sends all mouse events to the node regardless of the 88955 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the 88956 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues 88957 to try to send events to the deleted node. This sometimes results in a crash, and sometimes 88958 in a page that doesn't respond to click events. 88959 88960 Tests: fast/forms/search-delete-while-cancel-button-clicked.html 88961 fast/forms/slider-delete-while-dragging-thumb.html 88962 media/audio-delete-while-slider-thumb-clicked.html 88963 media/audio-delete-while-step-button-clicked.html 88964 88965 * rendering/MediaControlElements.cpp: 88966 (WebCore::MediaControlSeekButtonElement::detach): 88967 New, call setCapturingMouseEventsNode if capturing mouse events. 88968 * rendering/MediaControlElements.h: 88969 Declare detach(). 88970 88971 * rendering/RenderSlider.cpp: 88972 (WebCore::SliderThumbElement::detach): 88973 New, call setCapturingMouseEventsNode if capturing mouse events. 88974 88975 * rendering/TextControlInnerElements.cpp: 88976 (WebCore::SearchFieldCancelButtonElement::detach): 88977 New, call setCapturingMouseEventsNode if capturing mouse events. 88978 * rendering/TextControlInnerElements.h: 88979 Declare detach(). 88980 88981 2009-07-09 Yury Semikhatsky <yurys (a] chromium.org> 88982 88983 Reviewed by Dimitri Glazkov. 88984 88985 Enter the Frame's context before creating new objects in setContextDebugId. 88986 88987 https://bugs.webkit.org/show_bug.cgi?id=27112 88988 88989 * bindings/v8/V8Proxy.cpp: 88990 (WebCore::V8Proxy::setContextDebugId): 88991 88992 2009-07-09 Simon Hausmann <hausmann (a] webkit.org> 88993 88994 Fix the Qt build. 88995 88996 * WebCore.pro: Add new storage impl files to the build. 88997 88998 2009-07-08 Adam Barth <abarth (a] webkit.org> 88999 89000 Rubber stamped by Eric Seidel. 89001 89002 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper 89003 https://bugs.webkit.org/show_bug.cgi?id=27107 89004 89005 This patch is just renaming. Code motion will occur next. 89006 89007 * bindings/scripts/CodeGeneratorV8.pm: 89008 * bindings/v8/ScriptController.cpp: 89009 (WebCore::ScriptController::processingUserGesture): 89010 (WebCore::createScriptObject): 89011 (WebCore::ScriptController::createScriptObjectForPluginElement): 89012 * bindings/v8/ScriptObject.cpp: 89013 (WebCore::ScriptGlobalObject::set): 89014 * bindings/v8/ScriptObjectQuarantine.cpp: 89015 (WebCore::getQuarantinedScriptObject): 89016 * bindings/v8/V8AbstractEventListener.cpp: 89017 (WebCore::V8AbstractEventListener::handleEvent): 89018 (WebCore::V8AbstractEventListener::getReceiverObject): 89019 * bindings/v8/V8Collection.cpp: 89020 (WebCore::toOptionsCollectionSetter): 89021 * bindings/v8/V8Collection.h: 89022 (WebCore::getV8Object): 89023 (WebCore::getNamedPropertyOfCollection): 89024 (WebCore::nodeCollectionNamedPropertyGetter): 89025 (WebCore::getIndexedPropertyOfCollection): 89026 (WebCore::nodeCollectionIndexedPropertyGetter): 89027 (WebCore::nodeCollectionIndexedPropertyEnumerator): 89028 (WebCore::collectionIndexedPropertyEnumerator): 89029 (WebCore::collectionStringOrNullIndexedPropertyGetter): 89030 * bindings/v8/V8DOMMap.cpp: 89031 (WebCore::DOMData::handleWeakObject): 89032 (WebCore::DOMData::removeObjectsFromWrapperMap): 89033 * bindings/v8/V8GCController.cpp: 89034 (WebCore::enumerateDOMObjectMap): 89035 (WebCore::DOMObjectVisitor::visitDOMWrapper): 89036 (WebCore::GCPrologueVisitor::visitDOMWrapper): 89037 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 89038 * bindings/v8/V8Helpers.cpp: 89039 (WebCore::wrapNPObject): 89040 * bindings/v8/V8NodeFilterCondition.cpp: 89041 (WebCore::V8NodeFilterCondition::acceptNode): 89042 * bindings/v8/V8Proxy.cpp: 89043 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): 89044 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 89045 (WebCore::V8DOMWrapper::domObjectHasJSWrapper): 89046 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): 89047 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): 89048 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): 89049 (WebCore::V8Proxy::evaluateInNewContext): 89050 (WebCore::V8Proxy::getConstructor): 89051 (WebCore::V8DOMWrapper::getTemplate): 89052 (WebCore::V8Proxy::retrieveWindow): 89053 (WebCore::V8Proxy::updateDocumentWrapperCache): 89054 (WebCore::V8Proxy::clearForNavigation): 89055 (WebCore::V8Proxy::installDOMWindow): 89056 (WebCore::setDOMExceptionHelper): 89057 (WebCore::V8DOMWrapper::convertToV8Object): 89058 (WebCore::V8DOMWrapper::setHiddenWindowReference): 89059 (WebCore::V8DOMWrapper::domWrapperType): 89060 (WebCore::V8DOMWrapper::convertToNativeObjectImpl): 89061 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 89062 (WebCore::V8DOMWrapper::lookupDOMWrapper): 89063 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): 89064 (WebCore::V8DOMWrapper::wrapNativeNodeFilter): 89065 (WebCore::V8DOMWrapper::instantiateV8Object): 89066 (WebCore::V8DOMWrapper::setDOMWrapper): 89067 (WebCore::V8DOMWrapper::maybeDOMWrapper): 89068 (WebCore::V8DOMWrapper::isDOMEventWrapper): 89069 (WebCore::V8DOMWrapper::isWrapperOfType): 89070 (WebCore::V8DOMWrapper::htmlElementType): 89071 (WebCore::V8DOMWrapper::svgElementType): 89072 (WebCore::V8DOMWrapper::convertEventToV8Object): 89073 (WebCore::V8DOMWrapper::convertNodeToV8Object): 89074 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 89075 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 89076 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): 89077 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): 89078 (WebCore::V8DOMWrapper::convertCSSValueToV8Object): 89079 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): 89080 (WebCore::V8DOMWrapper::convertWindowToV8Object): 89081 (WebCore::V8Proxy::bindJsObjectToWindow): 89082 * bindings/v8/V8Proxy.h: 89083 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 89084 (WebCore::V8DOMWrapper::wrapCPointer): 89085 (WebCore::V8DOMWrapper::extractCPointer): 89086 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 89087 (WebCore::V8DOMWrapper::convertToV8Object): 89088 (WebCore::V8DOMWrapper::convertToNativeObject): 89089 (WebCore::V8DOMWrapper::convertToNativeEvent): 89090 (WebCore::V8DOMWrapper::extractCPointerImpl): 89091 (WebCore::V8DOMWrapper::instantiateV8Object): 89092 (WebCore::V8Proxy::constructDOMObject): 89093 (WebCore::toV8): 89094 * bindings/v8/V8SVGPODTypeWrapper.h: 89095 (WebCore::V8SVGPODTypeUtil::toSVGPODType): 89096 * bindings/v8/WorkerContextExecutionProxy.cpp: 89097 (WebCore::WorkerContextExecutionProxy::retrieve): 89098 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 89099 (WebCore::WorkerContextExecutionProxy::GetConstructor): 89100 (WebCore::WorkerContextExecutionProxy::ToV8Object): 89101 (WebCore::WorkerContextExecutionProxy::EventToV8Object): 89102 (WebCore::WorkerContextExecutionProxy::toV8): 89103 * bindings/v8/custom/V8AttrCustom.cpp: 89104 (WebCore::ACCESSOR_SETTER): 89105 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 89106 (WebCore::NAMED_PROPERTY_GETTER): 89107 (WebCore::NAMED_PROPERTY_SETTER): 89108 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: 89109 (WebCore::INDEXED_PROPERTY_GETTER): 89110 (WebCore::INDEXED_PROPERTY_SETTER): 89111 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 89112 (WebCore::toV8): 89113 (WebCore::toCanvasStyle): 89114 (WebCore::ACCESSOR_GETTER): 89115 (WebCore::ACCESSOR_SETTER): 89116 (WebCore::CALLBACK_FUNC_DECL): 89117 * bindings/v8/custom/V8ClientRectListCustom.cpp: 89118 (WebCore::INDEXED_PROPERTY_GETTER): 89119 * bindings/v8/custom/V8ClipboardCustom.cpp: 89120 (WebCore::ACCESSOR_GETTER): 89121 (WebCore::CALLBACK_FUNC_DECL): 89122 * bindings/v8/custom/V8CustomBinding.cpp: 89123 (WebCore::ACCESSOR_GETTER): 89124 (WebCore::INDEXED_ACCESS_CHECK): 89125 (WebCore::NAMED_ACCESS_CHECK): 89126 (WebCore::V8Custom::GetTargetFrame): 89127 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 89128 (WebCore::V8CustomSQLStatementCallback::handleEvent): 89129 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 89130 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 89131 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 89132 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 89133 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 89134 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 89135 * bindings/v8/custom/V8DOMWindowCustom.cpp: 89136 (WebCore::V8Custom::WindowSetTimeoutImpl): 89137 (WebCore::ACCESSOR_SETTER): 89138 (WebCore::CALLBACK_FUNC_DECL): 89139 (WebCore::ACCESSOR_GETTER): 89140 (WebCore::INDEXED_PROPERTY_GETTER): 89141 (WebCore::NAMED_PROPERTY_GETTER): 89142 (WebCore::V8Custom::ClearTimeoutImpl): 89143 (WebCore::NAMED_ACCESS_CHECK): 89144 (WebCore::INDEXED_ACCESS_CHECK): 89145 * bindings/v8/custom/V8DatabaseCustom.cpp: 89146 (WebCore::CALLBACK_FUNC_DECL): 89147 * bindings/v8/custom/V8DocumentCustom.cpp: 89148 (WebCore::CALLBACK_FUNC_DECL): 89149 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 89150 (WebCore::ACCESSOR_GETTER): 89151 (WebCore::ACCESSOR_SETTER): 89152 * bindings/v8/custom/V8ElementCustom.cpp: 89153 (WebCore::CALLBACK_FUNC_DECL): 89154 (WebCore::ACCESSOR_SETTER): 89155 (WebCore::ACCESSOR_GETTER): 89156 * bindings/v8/custom/V8EventCustom.cpp: 89157 (WebCore::ACCESSOR_SETTER): 89158 (WebCore::ACCESSOR_GETTER): 89159 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 89160 (WebCore::CALLBACK_FUNC_DECL): 89161 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 89162 (WebCore::CALLBACK_FUNC_DECL): 89163 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 89164 (WebCore::getNamedItems): 89165 (WebCore::getItem): 89166 (WebCore::NAMED_PROPERTY_GETTER): 89167 (WebCore::CALLBACK_FUNC_DECL): 89168 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 89169 (WebCore::NAMED_PROPERTY_GETTER): 89170 (WebCore::CALLBACK_FUNC_DECL): 89171 (WebCore::ACCESSOR_GETTER): 89172 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 89173 (WebCore::INDEXED_PROPERTY_GETTER): 89174 (WebCore::NAMED_PROPERTY_GETTER): 89175 (WebCore::CALLBACK_FUNC_DECL): 89176 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 89177 (WebCore::ACCESSOR_SETTER): 89178 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 89179 (WebCore::NAMED_PROPERTY_GETTER): 89180 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 89181 (WebCore::ACCESSOR_SETTER): 89182 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 89183 (WebCore::CALLBACK_FUNC_DECL): 89184 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 89185 (WebCore::ACCESSOR_GETTER): 89186 (WebCore::ACCESSOR_SETTER): 89187 (WebCore::CALLBACK_FUNC_DECL): 89188 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 89189 (WebCore::CALLBACK_FUNC_DECL): 89190 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 89191 (WebCore::CALLBACK_FUNC_DECL): 89192 (WebCore::ACCESSOR_GETTER): 89193 (WebCore::ACCESSOR_SETTER): 89194 (WebCore::INDEXED_PROPERTY_GETTER): 89195 (WebCore::INDEXED_PROPERTY_SETTER): 89196 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 89197 (WebCore::NAMED_PROPERTY_GETTER): 89198 (WebCore::NAMED_PROPERTY_SETTER): 89199 (WebCore::INDEXED_PROPERTY_GETTER): 89200 (WebCore::INDEXED_PROPERTY_SETTER): 89201 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 89202 (WebCore::NAMED_PROPERTY_GETTER): 89203 (WebCore::INDEXED_PROPERTY_SETTER): 89204 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 89205 (WebCore::CALLBACK_FUNC_DECL): 89206 (WebCore::removeElement): 89207 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 89208 (WebCore::CALLBACK_FUNC_DECL): 89209 * bindings/v8/custom/V8LocationCustom.cpp: 89210 (WebCore::ACCESSOR_SETTER): 89211 (WebCore::ACCESSOR_GETTER): 89212 (WebCore::CALLBACK_FUNC_DECL): 89213 (WebCore::INDEXED_ACCESS_CHECK): 89214 (WebCore::NAMED_ACCESS_CHECK): 89215 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 89216 (WebCore::CALLBACK_FUNC_DECL): 89217 * bindings/v8/custom/V8MessagePortCustom.cpp: 89218 (WebCore::ACCESSOR_GETTER): 89219 (WebCore::ACCESSOR_SETTER): 89220 (WebCore::CALLBACK_FUNC_DECL): 89221 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 89222 (WebCore::INDEXED_PROPERTY_GETTER): 89223 (WebCore::NAMED_PROPERTY_GETTER): 89224 * bindings/v8/custom/V8NavigatorCustom.cpp: 89225 (WebCore::ACCESSOR_GETTER): 89226 * bindings/v8/custom/V8NodeCustom.cpp: 89227 (WebCore::CALLBACK_FUNC_DECL): 89228 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 89229 (WebCore::toV8): 89230 (WebCore::CALLBACK_FUNC_DECL): 89231 * bindings/v8/custom/V8NodeListCustom.cpp: 89232 (WebCore::NAMED_PROPERTY_GETTER): 89233 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 89234 (WebCore::CALLBACK_FUNC_DECL): 89235 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 89236 (WebCore::CALLBACK_FUNC_DECL): 89237 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 89238 (WebCore::CALLBACK_FUNC_DECL): 89239 * bindings/v8/custom/V8SVGLengthCustom.cpp: 89240 (WebCore::ACCESSOR_GETTER): 89241 (WebCore::CALLBACK_FUNC_DECL): 89242 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 89243 (WebCore::CALLBACK_FUNC_DECL): 89244 * bindings/v8/custom/V8StorageCustom.cpp: 89245 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 89246 (WebCore::storageGetter): 89247 (WebCore::storageSetter): 89248 (WebCore::storageDeleter): 89249 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 89250 (WebCore::NAMED_PROPERTY_GETTER): 89251 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 89252 (WebCore::toV8): 89253 (WebCore::CALLBACK_FUNC_DECL): 89254 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 89255 (WebCore::CALLBACK_FUNC_DECL): 89256 * bindings/v8/custom/V8WorkerContextCustom.cpp: 89257 (WebCore::ACCESSOR_GETTER): 89258 (WebCore::ACCESSOR_SETTER): 89259 (WebCore::SetTimeoutOrInterval): 89260 (WebCore::CALLBACK_FUNC_DECL): 89261 * bindings/v8/custom/V8WorkerCustom.cpp: 89262 (WebCore::CALLBACK_FUNC_DECL): 89263 (WebCore::ACCESSOR_GETTER): 89264 (WebCore::ACCESSOR_SETTER): 89265 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 89266 (WebCore::CALLBACK_FUNC_DECL): 89267 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 89268 (WebCore::ACCESSOR_GETTER): 89269 (WebCore::ACCESSOR_SETTER): 89270 (WebCore::CALLBACK_FUNC_DECL): 89271 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 89272 (WebCore::ACCESSOR_GETTER): 89273 (WebCore::ACCESSOR_SETTER): 89274 (WebCore::CALLBACK_FUNC_DECL): 89275 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 89276 (WebCore::CALLBACK_FUNC_DECL): 89277 89278 2009-07-08 Pierre d'Herbemont <pdherbemont (a] apple.com> 89279 89280 Reviewed by Simon Fraser. 89281 89282 Make sure we can click outside the slider thumb and start dragging. 89283 https://bugs.webkit.org/show_bug.cgi?id=26229 89284 89285 Previously we were assuming that if the thumb hasn't been clicked, we 89286 wouldn't issue any value change upon dragging. 89287 89288 We need to handle the two different cases: 89289 - Clicked in the thumb, we need to make sure the cursor is always pointing 89290 the same slider thumb point. 89291 - Clicked outside, the cursor should always be pointing to the center of 89292 the thumb. 89293 89294 For simplicity, we don't remember the original point of the mouse down, 89295 but a vector between that point and the thumb. 89296 89297 * rendering/RenderSlider.cpp: 89298 (WebCore::SliderThumbElement::SliderThumbElement): 89299 (WebCore::SliderThumbElement::defaultEventHandler): 89300 (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function. 89301 * rendering/RenderSlider.h: 89302 89303 2009-07-08 Pierre d'Herbemont <pdherbemont (a] apple.com> 89304 89305 Reviewed by Simon Fraser. 89306 89307 https://bugs.webkit.org/show_bug.cgi?id=27100 89308 <rdar://problem/7042621> 89309 89310 Don't display "loading" in the <video> controller when 89311 there is no src specified. 89312 89313 * rendering/MediaControlElements.cpp: 89314 (WebCore::MediaControlStatusDisplayElement::update): The only 89315 way to find out if we have an element is currentSrc(). networkState() 89316 will always report LOADING according to the spec. 89317 89318 2009-07-08 Adam Barth <abarth (a] webkit.org> 89319 89320 Reviewed by Eric Seidel. 89321 89322 [V8] Move V8GCController functions to their own file 89323 https://bugs.webkit.org/show_bug.cgi?id=27102 89324 89325 * bindings/v8/V8GCController.cpp: Added. 89326 * bindings/v8/V8GCController.h: Added. 89327 * bindings/v8/V8Proxy.cpp: 89328 * bindings/v8/V8Proxy.h: 89329 89330 2009-07-08 Jeremy Orlow <jorlow (a] chromium.org> 89331 89332 Reviewed by Darin Fisher. 89333 89334 Split StorageArea and StorageNamespace into an interface and implementation. 89335 https://bugs.webkit.org/show_bug.cgi?id=27072 89336 89337 I need to split StorageNamespace and StorageArea into an interface and 89338 implementation. In a later patch, I'll implement a proxy interface 89339 that'll run inside the Chromium renderer process. 89340 89341 Additionally, fix the alphabetical ordering of files I recently added 89342 in the project files. 89343 89344 This is a continuation of other refactoring work: 89345 https://bugs.webkit.org/show_bug.cgi?id=25376 89346 89347 * GNUmakefile.am: 89348 * WebCore.vcproj/WebCore.vcproj: 89349 * WebCore.xcodeproj/project.pbxproj: 89350 * WebCoreSources.bkl: 89351 * storage/StorageArea.cpp: 89352 (WebCore::StorageArea::create): 89353 * storage/StorageArea.h: 89354 (WebCore::StorageArea::~StorageArea): 89355 * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp. 89356 (WebCore::StorageAreaImpl::create): 89357 (WebCore::StorageAreaImpl::~StorageAreaImpl): 89358 (WebCore::StorageAreaImpl::StorageAreaImpl): 89359 (WebCore::StorageAreaImpl::copy): 89360 (WebCore::StorageAreaImpl::length): 89361 (WebCore::StorageAreaImpl::key): 89362 (WebCore::StorageAreaImpl::getItem): 89363 (WebCore::StorageAreaImpl::setItem): 89364 (WebCore::StorageAreaImpl::removeItem): 89365 (WebCore::StorageAreaImpl::clear): 89366 (WebCore::StorageAreaImpl::contains): 89367 (WebCore::StorageAreaImpl::importItem): 89368 (WebCore::StorageAreaImpl::securityOrigin): 89369 (WebCore::StorageAreaImpl::close): 89370 (WebCore::StorageAreaImpl::blockUntilImportComplete): 89371 (WebCore::StorageAreaImpl::dispatchStorageEvent): 89372 * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h. 89373 * storage/StorageAreaSync.h: 89374 * storage/StorageNamespace.cpp: 89375 (WebCore::StorageNamespace::localStorageNamespace): 89376 (WebCore::StorageNamespace::sessionStorageNamespace): 89377 * storage/StorageNamespace.h: 89378 (WebCore::StorageNamespace::~StorageNamespace): 89379 * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp. 89380 (WebCore::StorageNamespaceImpl::localStorageNamespace): 89381 (WebCore::StorageNamespaceImpl::sessionStorageNamespace): 89382 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 89383 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): 89384 (WebCore::StorageNamespaceImpl::copy): 89385 (WebCore::StorageNamespaceImpl::storageArea): 89386 (WebCore::StorageNamespaceImpl::close): 89387 * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h. 89388 89389 2009-07-08 Adam Barth <abarth (a] webkit.org> 89390 89391 Reviewed by Eric Seidel. 89392 89393 [V8] Move garbage collector related functions from V8Proxy to V8GCController 89394 https://bugs.webkit.org/show_bug.cgi?id=26967 89395 89396 This patch just moves the functions around in V8Proxy. We'll actually 89397 move them to a separate file in another patch. 89398 89399 * bindings/v8/NPV8Object.cpp: 89400 (freeV8NPObject): 89401 * bindings/v8/ScheduledAction.cpp: 89402 (WebCore::ScheduledAction::ScheduledAction): 89403 (WebCore::ScheduledAction::~ScheduledAction): 89404 * bindings/v8/ScriptController.cpp: 89405 (WebCore::ScriptController::gcProtectJSWrapper): 89406 (WebCore::ScriptController::gcUnprotectJSWrapper): 89407 * bindings/v8/ScriptInstance.cpp: 89408 (WebCore::V8ScriptInstance::clear): 89409 (WebCore::V8ScriptInstance::set): 89410 * bindings/v8/ScriptValue.h: 89411 (WebCore::ScriptValue::ScriptValue): 89412 (WebCore::ScriptValue::operator=): 89413 (WebCore::ScriptValue::clear): 89414 * bindings/v8/V8AbstractEventListener.cpp: 89415 (WebCore::V8AbstractEventListener::disposeListenerObject): 89416 * bindings/v8/V8LazyEventListener.cpp: 89417 (WebCore::V8LazyEventListener::~V8LazyEventListener): 89418 (WebCore::V8LazyEventListener::getListenerFunction): 89419 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 89420 * bindings/v8/V8NodeFilterCondition.cpp: 89421 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): 89422 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): 89423 * bindings/v8/V8Proxy.cpp: 89424 (WebCore::V8GCController::registerGlobalHandle): 89425 (WebCore::V8GCController::unregisterGlobalHandle): 89426 (WebCore::V8GCController::gcProtect): 89427 (WebCore::V8GCController::gcUnprotect): 89428 (WebCore::V8Proxy::destroyGlobal): 89429 (WebCore::V8Proxy::updateDocumentWrapper): 89430 (WebCore::V8Proxy::clearDocumentWrapper): 89431 (WebCore::V8Proxy::disposeContextHandles): 89432 (WebCore::V8Proxy::initContextIfNeeded): 89433 * bindings/v8/V8Proxy.h: 89434 (WebCore::): 89435 (WebCore::GlobalHandleInfo::GlobalHandleInfo): 89436 * bindings/v8/custom/V8CustomEventListener.cpp: 89437 (WebCore::V8EventListener::V8EventListener): 89438 89439 2009-07-08 Daniel Bates <dbates (a] intudata.com> 89440 89441 Reviewed by Adam Barth. 89442 89443 https://bugs.webkit.org/show_bug.cgi?id=26918 89444 89445 Prevents injection of HTML Base tag. 89446 89447 Tests: http/tests/security/xssAuditor/base-href-control-char.html 89448 http/tests/security/xssAuditor/base-href-null-char.html 89449 http/tests/security/xssAuditor/base-href-safe.html 89450 http/tests/security/xssAuditor/base-href-safe2.html 89451 http/tests/security/xssAuditor/base-href-scheme-relative.html 89452 http/tests/security/xssAuditor/base-href.html 89453 89454 * html/HTMLBaseElement.cpp: 89455 (WebCore::HTMLBaseElement::parseMappedAttribute): 89456 (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL 89457 to determine if it is safe to use base element URL. 89458 * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL. 89459 * page/XSSAuditor.cpp: 89460 (WebCore::XSSAuditor::canSetBaseElementURL): 89461 * page/XSSAuditor.h: 89462 89463 2009-07-08 Nate Chapin <japhet (a] chromium.org> 89464 89465 Reviewed by Dimitri Glazkov. 89466 89467 Upstream V8 npruntime bindings. 89468 89469 https://bugs.webkit.org/show_bug.cgi?id=27094 89470 89471 * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org. 89472 (StringKey::operator==): 89473 (StringKey::StringKeyHash::hash): 89474 (StringKey::StringKeyHash::equal): 89475 (StringKeyHashTraits::constructDeletedValue): 89476 (StringKeyHashTraits::isDeletedValue): 89477 (getStringIdentifierMap): 89478 (getIntIdentifierMap): 89479 * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org. 89480 * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org. 89481 * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org. 89482 89483 2009-07-08 Dumitru Daniliuc <dumi (a] chromium.org> 89484 89485 Reviewed by Darin Fisher. 89486 89487 Extending the PlatformFileHandle definition from PLATFORM(WIN) to 89488 PLATFORM(WIN_OS) 89489 89490 https://bugs.webkit.org/show_bug.cgi?id=27013 89491 89492 * platform/FileSystem.h: 89493 89494 2009-07-08 Daniel Bates <dbates (a] intudata.com> 89495 89496 Reviewed by Adam Barth. 89497 89498 https://bugs.webkit.org/show_bug.cgi?id=27071 89499 89500 Resolves issue when HTTP parameters contain null- and non-null-control- characters. 89501 89502 Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html 89503 http/tests/security/xssAuditor/embed-tag-control-char.html 89504 http/tests/security/xssAuditor/embed-tag-null-char.html 89505 http/tests/security/xssAuditor/embed-tag.html 89506 http/tests/security/xssAuditor/link-onclick-control-char.html 89507 http/tests/security/xssAuditor/link-onclick-null-char.html 89508 http/tests/security/xssAuditor/object-embed-tag-control-char.html 89509 http/tests/security/xssAuditor/object-embed-tag-null-char.html 89510 http/tests/security/xssAuditor/object-embed-tag.html 89511 http/tests/security/xssAuditor/object-tag.html 89512 http/tests/security/xssAuditor/script-tag-post-control-char.html 89513 http/tests/security/xssAuditor/script-tag-post-null-char.html 89514 http/tests/security/xssAuditor/script-tag-with-source-control-char.html 89515 http/tests/security/xssAuditor/script-tag-with-source-null-char.html 89516 89517 * page/XSSAuditor.cpp: 89518 (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL. 89519 (WebCore::XSSAuditor::canEvaluate): 89520 (WebCore::XSSAuditor::canCreateInlineEventListener): 89521 (WebCore::XSSAuditor::canLoadObject): 89522 (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters, 89523 and matchNonNullControlCharacters. 89524 (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters, 89525 and matchNonNullControlCharacters. 89526 * page/XSSAuditor.h: 89527 89528 2009-07-08 Marc-Antoine Ruel <maruel (a] chromium.org> 89529 89530 Reviewed by Dimitri Glazkov. 89531 89532 Add DerivesSourcesAllInOne.cpp to help with release windows compilation. 89533 https://bugs.webkit.org/show_bug.cgi?id=27093 89534 89535 This is specific for v8, no change in behavior. 89536 89537 * bindings/v8/DerivedSourcesAllInOne.cpp: Added. 89538 89539 2009-07-08 Pierre d'Herbemont <pdherbemont (a] apple.com> 89540 89541 Reviewed by Simon Fraser. 89542 89543 https://bugs.webkit.org/show_bug.cgi?id=27086 89544 89545 Make sure the Media controller doesn't fade in for no reason. 89546 This is happening because a update() call to the controller 89547 panel may reset the opacity to 1.0, given that it reloads the 89548 style. 89549 89550 We also add a different fade in and fade out time to soften 89551 the fade out effect. 89552 89553 No test case because this depends on how the movie is loaded. 89554 89555 * rendering/RenderMedia.cpp: 89556 (WebCore::RenderMedia::RenderMedia): 89557 (WebCore::RenderMedia::updateControls): 89558 (WebCore::RenderMedia::updateControlVisibility): Simplify 89559 , and make sure we stop the timer if there is no animation 89560 to do. 89561 (WebCore::RenderMedia::opacityAnimationTimerFired): 89562 * rendering/RenderMedia.h: 89563 89564 2009-07-08 David Kilzer <ddkilzer (a] apple.com> 89565 89566 Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER) 89567 89568 <https://bugs.webkit.org/show_bug.cgi?id=27081> 89569 89570 Reviewed by Timothy Hatcher. 89571 89572 * platform/cf/RunLoopTimerCF.cpp: This code is only used on 89573 Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code 89574 in that macro as well. 89575 89576 2009-07-08 Greg Bolsinga <bolsinga (a] apple.com> 89577 89578 Reviewed by Darin Adler. 89579 89580 Add -[WebView _isProcessingUserGesture] 89581 https://bugs.webkit.org/show_bug.cgi?id=27084 89582 89583 Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture() 89584 for clarity. 89585 89586 * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture() 89587 * html/HTMLMediaElement.cpp: 89588 (WebCore::HTMLMediaElement::processingUserGesture): 89589 * loader/FrameLoader.cpp: 89590 (WebCore::FrameLoader::requestFrame): 89591 (WebCore::FrameLoader::isProcessingUserGesture): 89592 * loader/FrameLoader.h: 89593 89594 2009-07-08 Alexey Proskuryakov <ap (a] webkit.org> 89595 89596 Reviewed (an earlier version) by Geoff Garen. 89597 89598 https://bugs.webkit.org/show_bug.cgi?id=27090 89599 Remove lockBackForwardList argument from HTMLFormElement::submit() 89600 89601 No change in behavior, so no tests. 89602 89603 * bindings/js/JSHTMLFormElementCustom.cpp: 89604 (WebCore::JSHTMLFormElement::submit): 89605 * html/HTMLFormElement.cpp: 89606 (WebCore::HTMLFormElement::submit): 89607 * html/HTMLFormElement.h: 89608 * loader/FrameLoader.cpp: 89609 (WebCore::FrameLoader::submitForm): 89610 (WebCore::FrameLoader::scheduleFormSubmission): 89611 * loader/FrameLoader.h: 89612 Don't pass lockBackForwardList around when it's known to be false. 89613 89614 2009-07-08 Marc-Antoine Ruel <maruel (a] chromium.org> 89615 89616 Reviewed by Adam Barth. 89617 89618 Fix V8 idl codegen to use unique constant names 89619 <https://bugs.webkit.org/show_bug.cgi?id=27089> 89620 89621 Embed the interface name in the global constant names so coagulating all 89622 the .cc files into one compile unit works with V8 bindings. 89623 89624 Nothing added; Still compiles and pass tests. 89625 89626 * bindings/scripts/CodeGeneratorV8.pm: 89627 89628 2009-07-08 Brent Fulgham <bfulgham (a] webkit.org> 89629 89630 Build fix: Add missing #includes for Windows (cURL) build. 89631 The <winsock2.h> and <windows.h> headers were not being 89632 included in Windows cURL builds. 89633 89634 * platform/network/ResourceHandleInternal.h: 89635 * platform/network/curl/ResourceHandleManager.h: 89636 89637 2009-07-08 Shinichiro Hamaji <hamaji (a] chromium.org> 89638 89639 Reviewed by David Kilzer. 89640 89641 WebKit needs a style linting tool 89642 https://bugs.webkit.org/show_bug.cgi?id=25884 89643 89644 Fix bunch of style issues in WebCore/rendering. 89645 This patch is created to demonstrate cpplint.py. 89646 89647 No testcase because it's just a style fixes. 89648 89649 * rendering/AutoTableLayout.cpp: 89650 (WebCore::AutoTableLayout::recalcColumn): 89651 (WebCore::AutoTableLayout::layout): 89652 * rendering/InlineFlowBox.cpp: 89653 (WebCore::InlineFlowBox::placeEllipsisBox): 89654 * rendering/InlineTextBox.cpp: 89655 (WebCore::InlineTextBox::paintTextMatchMarker): 89656 * rendering/MediaControlElements.cpp: 89657 (WebCore::MediaControlTimelineElement::defaultEventHandler): 89658 * rendering/MediaControlElements.h: 89659 * rendering/RenderArena.cpp: 89660 * rendering/RenderBlock.cpp: 89661 (WebCore::RenderBlock::startDelayUpdateScrollInfo): 89662 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 89663 (WebCore::RenderBlock::updateScrollInfoAfterLayout): 89664 (WebCore::RenderBlock::positionNewFloats): 89665 (WebCore::RenderBlock::newLine): 89666 (WebCore::RenderBlock::floatBottom): 89667 (WebCore::RenderBlock::leftBottom): 89668 (WebCore::RenderBlock::rightBottom): 89669 * rendering/RenderBox.cpp: 89670 (WebCore::RenderBox::calcReplacedWidthUsing): 89671 * rendering/RenderFieldset.cpp: 89672 (WebCore::RenderFieldset::layoutLegend): 89673 * rendering/RenderFlexibleBox.cpp: 89674 (WebCore::FlexBoxIterator::FlexBoxIterator): 89675 (WebCore::FlexBoxIterator::reset): 89676 (WebCore::FlexBoxIterator::first): 89677 (WebCore::FlexBoxIterator::next): 89678 (WebCore::RenderFlexibleBox::layoutVerticalBox): 89679 * rendering/RenderFrameSet.cpp: 89680 (WebCore::borderStartEdgeColor): 89681 * rendering/RenderFrameSet.h: 89682 * rendering/RenderImage.cpp: 89683 * rendering/RenderLayer.cpp: 89684 (WebCore::RenderLayer::updateVisibilityStatus): 89685 (WebCore::RenderLayer::calculateClipRects): 89686 (WebCore::RenderLayer::calculateRects): 89687 * rendering/RenderListBox.cpp: 89688 (WebCore::RenderListBox::panScroll): 89689 * rendering/RenderMarquee.cpp: 89690 (WebCore::RenderMarquee::updateMarqueeStyle): 89691 * rendering/RenderMedia.cpp: 89692 (WebCore::RenderMedia::updateControls): 89693 * rendering/RenderObject.cpp: 89694 (WebCore::RenderObject::drawLineForBoxSide): 89695 (WebCore::RenderObject::localCaretRect): 89696 * rendering/RenderSVGImage.cpp: 89697 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 89698 * rendering/RenderSlider.h: 89699 * rendering/RenderTable.cpp: 89700 (WebCore::RenderTable::outerBorderBottom): 89701 * rendering/RenderTableCol.h: 89702 * rendering/RenderTextControlSingleLine.cpp: 89703 (WebCore::RenderTextControlSingleLine::itemIsSeparator): 89704 * rendering/RenderThemeChromiumSkia.cpp: 89705 (WebCore::RenderThemeChromiumSkia::supportsHover): 89706 * rendering/RenderThemeChromiumWin.cpp: 89707 (WebCore::RenderThemeChromiumWin::supportsFocusRing): 89708 * rendering/SVGCharacterLayoutInfo.cpp: 89709 (WebCore::SVGCharacterLayoutInfo::addStackContent): 89710 * rendering/SVGCharacterLayoutInfo.h: 89711 * rendering/TextControlInnerElements.h: 89712 * rendering/bidi.cpp: 89713 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 89714 89715 2009-07-07 Oliver Hunt <oliver (a] apple.com> 89716 89717 Reviewed by Maciej Stachowiak. 89718 89719 Reduce complexity of lifetime management in DynamicNodeList caches 89720 <https://bugs.webkit.org/show_bug.cgi?id=27068> 89721 89722 Switch the Cache object used by DynamicNodeList into a normal 89723 refcounted object rather than having a weird flag controlled 89724 refcounting system, where positive refcount did not automatically 89725 imply the cache object would actually still be live. 89726 89727 * dom/DynamicNodeList.cpp: 89728 (WebCore::DynamicNodeList::DynamicNodeList): 89729 (WebCore::DynamicNodeList::~DynamicNodeList): 89730 (WebCore::DynamicNodeList::Caches::Caches): 89731 (WebCore::DynamicNodeList::Caches::create): 89732 * dom/DynamicNodeList.h: 89733 * dom/Node.cpp: 89734 (WebCore::Node::childNodes): 89735 (WebCore::Node::getElementsByTagNameNS): 89736 (WebCore::Node::getElementsByName): 89737 (WebCore::Node::getElementsByClassName): 89738 (WebCore::NodeListsNodeData::invalidateCaches): 89739 (WebCore::NodeListsNodeData::isEmpty): 89740 * dom/NodeRareData.h: 89741 (WebCore::NodeListsNodeData::NodeListsNodeData): 89742 89743 2009-07-07 Simon Fraser <simon.fraser (a] apple.com> 89744 89745 Reviewed by Dan Bernstein. 89746 89747 -webkit-perspective should be a Length 89748 https://bugs.webkit.org/show_bug.cgi?id=27066 89749 89750 -webkit-perspective should not take a magic valueless number, but should 89751 be a normal Length value which responds to zooming. Treat valueless numbers 89752 as pixels for backward compatibility. 89753 89754 Test: transforms/3d/general/perspective-units.html 89755 89756 * css/CSSParser.cpp: 89757 (WebCore::CSSParser::parseValue): 89758 * css/CSSStyleSelector.cpp: 89759 (WebCore::CSSStyleSelector::applyProperty): 89760 89761 2009-07-07 Pierre d'Herbemont <pdherbemont (a] apple.com> 89762 89763 Reviewed by Simon Fraser. 89764 89765 https://bugs.webkit.org/show_bug.cgi?id=27047 89766 89767 We need to make sure that when we reattach, we also reattach 89768 the children in every MediaControlElement. Else we may end up 89769 having no remaining or elapsed time. 89770 89771 We have to handle that, because we are using a special shadow 89772 tree in the DOM, and that we are ourselves handling 89773 attaching/detaching the renderer. 89774 89775 The strategy here is to try to implement ::attach(), and try 89776 to reuse as much code as we can from the super class, including 89777 children attachement. 89778 89779 Test: media/controls-after-reload.html 89780 89781 * rendering/MediaControlElements.cpp: 89782 (WebCore::MediaControlElement::styleForElement): Code factoring. 89783 (WebCore::MediaControlElement::rendererIsNeeded): Code factoring. 89784 (WebCore::MediaControlElement::attach): Implement attach 89785 and call super class so that children are also attached. 89786 (WebCore::MediaControlElement::updateStyle): Use attach() 89787 (WebCore::MediaControlInputElement::styleForElement): Code factoring. 89788 (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring. 89789 (WebCore::MediaControlInputElement::attach): See above. 89790 (WebCore::MediaControlInputElement::updateStyle): Use attach() 89791 * rendering/MediaControlElements.h: 89792 * rendering/RenderMedia.cpp: 89793 (WebCore::RenderMedia::updateControls): Directly run attach() on 89794 the m_panel, which is a root node for our shadow tree. 89795 89796 2009-07-07 Simon Fraser <simon.fraser (a] apple.com> 89797 89798 Reviewed by Dan Bernstein. 89799 89800 Repaint issue after layer drops out of composited mode. 89801 <https://bugs.webkit.org/show_bug.cgi?id=27022> 89802 89803 RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox, 89804 and expect these to stay valid from one style change to the next. These rects 89805 are relative to the repaint container, so if a layer stops being composited, 89806 we need to recompute them. 89807 89808 Test: compositing/repaint/layer-repaint-rects.html 89809 89810 * rendering/RenderLayer.cpp: 89811 (WebCore::RenderLayer::computeRepaintRects): 89812 * rendering/RenderLayer.h: 89813 * rendering/RenderLayerCompositor.cpp: 89814 (WebCore::RenderLayerCompositor::updateBacking): 89815 89816 2009-07-07 Dan Bernstein <mitz (a] apple.com> 89817 89818 Reviewed by Dave Hyatt and Darin Adler. 89819 89820 - fix https://bugs.webkit.org/show_bug.cgi?id=26963 89821 <rdar://problem/7030998> Reproducible crash at 89822 FontCache::getFontData() when a custom font is used in a pseudo-style 89823 89824 Test: fast/css/pseudo-cache-stale.html 89825 89826 * dom/Element.cpp: 89827 (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old 89828 style and the new style, goes over cached pseudo-styles in the old 89829 style and re-resolves the same style types off the new style. If any of 89830 the new pseudo-styles is different from the currently cached 89831 corresponding style, returns true. Otherwise, returns false. 89832 (WebCore::Element::recalcStyle): Validate the pseudo-style cache before 89833 deciding to keep the existing style. 89834 * dom/Element.h: 89835 * rendering/RenderObject.cpp: 89836 (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that 89837 returns an uncached first-line style based off the given style. 89838 (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle' 89839 parameter. 89840 * rendering/RenderObject.h: 89841 * rendering/style/RenderStyle.cpp: 89842 (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached 89843 pseudo-styles in the passed-in vector. 89844 * rendering/style/RenderStyle.h: 89845 89846 2009-07-07 Dan Bernstein <mitz (a] apple.com> 89847 89848 Reviewed by Simon Fraser. 89849 89850 - fix https://bugs.webkit.org/show_bug.cgi?id=27042 89851 <rdar://problem/7010981> Incomplete painting of newly created floats 89852 89853 Tests: fast/repaint/float-in-new-block-with-layout-delta.html 89854 fast/repaint/float-new-in-block.html 89855 89856 * rendering/RenderBlock.cpp: 89857 (WebCore::RenderBlock::layoutBlockChildren): If the child has never been 89858 laid out before, paint its overhanging floats in addition to itself. 89859 * rendering/RenderBlock.h: 89860 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and 89861 initialized a boolean everHadLayout member. 89862 * rendering/bidi.cpp: 89863 (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have 89864 never been laid out before and did not move from (0, 0). 89865 89866 2009-07-07 Brady Eidson <beidson (a] apple.com> 89867 89868 Contributions from both Darin Adler and Brady Eidson. 89869 Reviewed by Darin Adler. 89870 89871 <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com 89872 89873 In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame 89874 navigation was still in progress. 89875 89876 This patch makes things even better than it used to be by: 89877 - Locking back/forward history at the time the navigation is scheduled, not after the load has committed. 89878 - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame. 89879 89880 Test: fast/loader/subframe-navigate-during-main-frame-load.html 89881 89882 * loader/FrameLoader.cpp: 89883 (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be 89884 used from multiple sites. 89885 (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading. 89886 (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in 89887 lockBackForwardList flag. 89888 (WebCore::FrameLoader::scheduleFormSubmission): Ditto. 89889 89890 2009-07-07 Nate Chapin <japhet (a] chromium.org> 89891 89892 Reviewed by Darin Fisher. 89893 89894 Upstream DOMObjectsInclude.h from src.chromium.org. 89895 89896 https://bugs.webkit.org/show_bug.cgi?id=27035 89897 89898 * bindings/v8/DOMObjectsInclude.h: Added. 89899 89900 2009-07-07 Nate Chapin <japhet (a] chromium.org> 89901 89902 Reviewed by David Levin. 89903 89904 Relanding r45559, which was rolled back at r45574. 89905 89906 https://bugs.webkit.org/show_bug.cgi?id=26857 89907 89908 * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings. 89909 * bindings/v8/V8Binding.cpp: Moved from src.chromium.org. 89910 * bindings/v8/V8Binding.h: Contents moved from src.chromium.org. 89911 * bindings/v8/V8LazyEventListener.cpp: 89912 (WebCore::V8LazyEventListener::getListenerFunction): 89913 * bindings/v8/V8Proxy.cpp: 89914 (WebCore::handleConsoleMessage): 89915 (WebCore::V8Proxy::compileScript): 89916 (WebCore::V8Proxy::sourceName): 89917 * bindings/v8/WorkerContextExecutionProxy.cpp: 89918 (WebCore::handleConsoleMessage): 89919 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 89920 (WebCore::NAMED_PROPERTY_SETTER): 89921 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 89922 (WebCore::CALLBACK_FUNC_DECL): 89923 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 89924 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 89925 * bindings/v8/custom/V8DOMWindowCustom.cpp: 89926 (WebCore::CALLBACK_FUNC_DECL): 89927 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 89928 (WebCore::CALLBACK_FUNC_DECL): 89929 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 89930 (WebCore::ACCESSOR_SETTER): 89931 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 89932 (WebCore::CALLBACK_FUNC_DECL): 89933 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 89934 (WebCore::removeElement): 89935 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 89936 (WebCore::CALLBACK_FUNC_DECL): 89937 * bindings/v8/custom/V8WorkerContextCustom.cpp: 89938 (WebCore::SetTimeoutOrInterval): 89939 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 89940 (WebCore::CALLBACK_FUNC_DECL): 89941 89942 2009-07-07 Gregory Hughes <gfhughesVO+webkit (a] gmail.com> 89943 89944 Reviewed by Darin Adler. 89945 89946 AX: Some webpages do not send AXLoadComplete 89947 https://bugs.webkit.org/show_bug.cgi?id=26995 89948 89949 When sending the AXLayoutComplete notification it is possible 89950 that the AXObjectCache was cleared, resulting in no valid 89951 object to send the notification to. This fix ensures that an 89952 AX object is created and cached if one does not already exist. 89953 89954 Not able to add a test because notifications get sent after the layout test is completed. 89955 89956 * dom/Document.cpp: 89957 (WebCore::Document::implicitClose): 89958 89959 2009-07-06 Pierre d'Herbemont <pdherbemont (a] apple.com> 89960 89961 Reviewed by Simon Fraser. 89962 89963 https://bugs.webkit.org/show_bug.cgi?id=27015 89964 89965 Make sure that the CSS properties letter-spacing, word-spacing, 89966 line-height, text-transform, text-indent, text-shadow, 89967 text-decoration and color do not affect the media element controls, 89968 that display text. 89969 89970 Controls that display text are only present in when the theme 89971 MediaControllerThemeQT is being used. 89972 89973 Test: media/controls-styling.html 89974 89975 * css/mediaControlsQT.css: 89976 * rendering/MediaControlElements.cpp: 89977 (WebCore::MediaControlElement::updateStyle): Special case for 89978 text-decoration. text-decoration can't be overriden from CSS, because 89979 text-decoration is additive for historical reasons. 89980 89981 2009-07-07 Albert Wong <ajwong (a] chromium.org> 89982 89983 Not reviewed, Chromium build fix. 89984 89985 Add in missing header fix syntax issue that crept into last patch. 89986 https://bugs.webkit.org/show_bug.cgi?id=27027 89987 89988 * rendering/RenderThemeChromiumMac.mm: 89989 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 89990 89991 2009-07-07 Simon Fraser <simon.fraser (a] apple.com> 89992 89993 Reviewed by Dave Hyatt. 89994 89995 Make use of geometry information to decide which layers become composited. 89996 89997 <rdar://problem/7011947> 89998 <https://bugs.webkit.org/show_bug.cgi?id=27021> 89999 90000 In addition to looking at painting order, also, optionally, take layer 90001 overlap into account when deciding which RenderLayers need to be composited. 90002 90003 No testcase because DRT doesn't dump which layers are composited. 90004 90005 * page/FrameView.h: 90006 * page/FrameView.cpp: 90007 (WebCore::FrameView::updateCompositingLayers): 90008 Removed the unused CompositingUpdate parameter, and just do an early return 90009 when there is no view. 90010 90011 * rendering/RenderLayer.h: 90012 * rendering/RenderLayer.cpp: 90013 (WebCore::RenderLayer::rendererContentChanged): 90014 (WebCore::RenderLayer::dirtyZOrderLists): 90015 (WebCore::RenderLayer::dirtyNormalFlowList): 90016 (WebCore::RenderLayer::styleChanged): 90017 (WebCore::RenderLayer::mustOverlapCompositedLayers): 90018 (WebCore::RenderLayer::setMustOverlapCompositedLayers): 90019 Change "overlay" to "overlap" for consistency with the use of "overlap" 90020 elsewhere. 90021 90022 * rendering/RenderLayerBacking.cpp: 90023 (WebCore::RenderLayerBacking::updateAfterLayout): 90024 compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild(). 90025 90026 (WebCore::RenderLayerBacking::startAnimation): 90027 (WebCore::RenderLayerBacking::startTransition): 90028 Tell the compositor that we started an accelerated animation or transition. 90029 90030 * rendering/RenderLayerCompositor.h: 90031 (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild): 90032 Renamed, since it's explicitly about changes in hierarchy now. 90033 90034 (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap): 90035 (WebCore::RenderLayerCompositor::compositingConsultsOverlap): 90036 New getter and setter for whether compositing should take overlap into account. 90037 90038 * rendering/RenderLayerCompositor.cpp: 90039 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 90040 Add m_compositingConsultsOverlap, re-order some member variables. 90041 90042 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): 90043 Whitespace cleanup and method rename. 90044 90045 (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild): 90046 Method and variable renaming. 90047 90048 (WebCore::RenderLayerCompositor::updateCompositingLayers): 90049 Now we have to run through the layer hierarchy every time if looking 90050 at overlap, because changes in layout can now alter compositing behavior. 90051 We minimize work by tracking whether we actually need to change the layer 90052 hierarchy via needLayerRebuild. 90053 90054 (WebCore::RenderLayerCompositor::updateBacking): 90055 3D transforms turn off overlap mode. 90056 90057 (WebCore::RenderLayerCompositor::layerWasAdded): 90058 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 90059 Method rename. 90060 90061 (WebCore::RenderLayerCompositor::addToOverlapMap): 90062 (WebCore::RenderLayerCompositor::overlapsCompositedLayers): 90063 Utility methods to add a layer to the overlapMap (computing the absolute 90064 bounding box only if we haven't already done so), and testing the map 90065 entries. 90066 90067 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 90068 If a layer would composite only because it comes after other compositing 90069 layers in the painting order, then consult the overlap map to determine whether 90070 it overlaps, and thus actually needs to composite. 90071 90072 Add layers to the map when they must be composited. 90073 90074 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 90075 Only do re-parenting work if the updateHierarchy flag is set. 90076 90077 (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): 90078 When we start an accelerated transition or animation, we stop looking at 90079 overlap because we can no longer guarantee correct front-to-back ordering while the 90080 accelerated animation is running. 90081 90082 (WebCore::RenderLayerCompositor::needsToBeComposited): 90083 Method renames. 90084 90085 * rendering/RenderView.cpp: 90086 (WebCore::RenderView::setMaximalOutlineSize): 90087 Add comment indicating that this could be optimized. 90088 90089 2009-07-14 Anton Muhin <antonm (a] chromium.org> 90090 90091 Reviewed by Darin Fisher. 90092 90093 Speed up creation of V8 wrappers for DOM nodes. 90094 90095 https://bugs.webkit.org/show_bug.cgi?id=26882 90096 90097 This patch doesn't require new tests as it a set of refactorings 90098 to speed up wrapper creation. 90099 90100 * bindings/v8/V8Proxy.cpp: 90101 * bindings/v8/V8Proxy.h: 90102 90103 2009-07-07 Jan Michael Alonzo <jmalonzo (a] webkit.org> 90104 90105 Reviewed by Gustavo Noronha. 90106 90107 [GTK] textarea height property works only if other property are defined 90108 https://bugs.webkit.org/show_bug.cgi?id=18984 90109 90110 Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk. 90111 90112 Test: fast/forms/textarea-metrics.html 90113 90114 * platform/gtk/RenderThemeGtk.cpp: 90115 * platform/gtk/RenderThemeGtk.h: 90116 90117 2009-07-07 Ben Murdoch <benm (a] google.com> 90118 90119 Reviewed by Antti Koivisto. 90120 90121 HTML5 Database becomes locked if a transaction is in progress when the page is refreshed. 90122 https://bugs.webkit.org/show_bug.cgi?id=25711 90123 90124 Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web 90125 storage databases could become locked until the browser is shut 90126 down if the page is refreshed whilst a transaction is in progress. 90127 90128 Test: storage/database-lock-after-reload.html 90129 90130 * storage/Database.cpp: 90131 (WebCore::Database::Database): 90132 (WebCore::Database::close): add code to inform the database thread we've closed the database. 90133 (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database. 90134 * storage/Database.h: 90135 (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed. 90136 * storage/DatabaseThread.cpp: 90137 (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread. 90138 (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread. 90139 (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases. 90140 * storage/DatabaseThread.h: 90141 (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread. 90142 90143 2009-07-07 Jiahua Huang <jhuangjiahua (a] gmail.com> 90144 90145 Reviewed by Jan Alonzo. 90146 90147 [Gtk] Paste of rich text from firefox results garbled markup 90148 https://bugs.webkit.org/show_bug.cgi?id=26791 90149 90150 Fix problem with UTF-16 clipboard pasted. 90151 90152 * manual-tests/gtk/paste-richtext-from-firefox.html: Added. 90153 * platform/gtk/PasteboardGtk.cpp: 90154 (WebCore::Pasteboard::documentFragment): 90155 90156 2009-07-07 Yury Semikhatsky <yurys (a] chromium.org> 90157 90158 Reviewed by Timothy Hatcher. 90159 90160 Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug. 90161 90162 https://bugs.webkit.org/show_bug.cgi?id=23849 90163 90164 * inspector/front-end/ScriptsPanel.js: 90165 (WebInspector.ScriptsPanel): 90166 90167 2009-07-06 Albert J. Wong <ajwong (a] chromium.org> 90168 90169 Reviewed by Maciej Stachowiak. 90170 90171 Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API 90172 change. 90173 90174 Fix compile RenderThemeChromiumMac.mm due to API changes from r45572 90175 https://bugs.webkit.org/show_bug.cgi?id=27018 90176 90177 This is mainly an API change update to fix the chromium compile. It 90178 also has a small fix of a typo in RenderThemeMac.mm. 90179 90180 Compilation against the head of chromium trunk passed. Since this is 90181 a compile fix, that should be sufficient. 90182 90183 * rendering/RenderThemeChromiumMac.mm: 90184 (WebCore::): 90185 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 90186 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): 90187 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): 90188 (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): 90189 (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): 90190 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 90191 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 90192 * rendering/RenderThemeMac.mm: 90193 (WebCore::): 90194 90195 2009-07-06 David Kilzer <ddkilzer (a] apple.com> 90196 90197 Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter 90198 90199 <https://bugs.webkit.org/show_bug.cgi?id=27002> 90200 90201 Reviewed by Geoff Garen. 90202 90203 * html/CanvasRenderingContext2D.cpp: 90204 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): 90205 Mark gradient as an unused parameter when DASHBOARD_SUPPORT is 90206 disabled. 90207 90208 2009-07-06 David Kilzer <ddkilzer (a] apple.com> 90209 90210 Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node> 90211 90212 <https://bugs.webkit.org/show_bug.cgi?id=27001> 90213 90214 Reviewed by Geoff Garen. 90215 90216 PassRefPtr<> should only be used for arguments to functions that 90217 take ownership of the object, or as return values from functions 90218 that relinquish ownership of the object. 90219 90220 * editing/Editor.cpp: 90221 (WebCore::Editor::increaseSelectionListLevelOrdered): Changed 90222 stack-allocated PassRefPtr<Node> to RefPtr<Node> and call 90223 release() on returned object. 90224 (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. 90225 90226 2009-07-06 Eric Carlson <eric.carlson (a] apple.com> 90227 90228 Reviewed by Simon Fraser. 90229 90230 <rdar://problem/7035474> Make new media controller UI default on SnowLeopard 90231 90232 * rendering/RenderThemeMac.mm: 90233 (WebCore::mediaControllerTheme): 90234 New media controller UI is enabled by default on SnowLeopard. 90235 90236 2009-07-06 Nate Chapin <japhet (a] chromium.org> 90237 90238 Unreviewed, build fix. 90239 90240 Roll out r45559 to fix Chromium canary. 90241 90242 https://bugs.webkit.org/show_bug.cgi?id=26857 90243 90244 * bindings/scripts/CodeGeneratorV8.pm: 90245 * bindings/v8/V8Binding.cpp: Removed. 90246 * bindings/v8/V8Binding.h: 90247 (WebCore::toInt32): 90248 (WebCore::toWebCoreString): 90249 (WebCore::fromWebCoreString): 90250 (WebCore::toWebCoreStringWithNullCheck): 90251 (WebCore::isUndefinedOrNull): 90252 (WebCore::v8Boolean): 90253 * bindings/v8/V8LazyEventListener.cpp: 90254 (WebCore::V8LazyEventListener::getListenerFunction): 90255 * bindings/v8/V8Proxy.cpp: 90256 (WebCore::handleConsoleMessage): 90257 (WebCore::V8Proxy::compileScript): 90258 (WebCore::V8Proxy::sourceName): 90259 * bindings/v8/WorkerContextExecutionProxy.cpp: 90260 (WebCore::handleConsoleMessage): 90261 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 90262 (WebCore::NAMED_PROPERTY_SETTER): 90263 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 90264 (WebCore::CALLBACK_FUNC_DECL): 90265 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 90266 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 90267 * bindings/v8/custom/V8DOMWindowCustom.cpp: 90268 (WebCore::CALLBACK_FUNC_DECL): 90269 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 90270 (WebCore::CALLBACK_FUNC_DECL): 90271 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 90272 (WebCore::ACCESSOR_SETTER): 90273 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 90274 (WebCore::CALLBACK_FUNC_DECL): 90275 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 90276 (WebCore::removeElement): 90277 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 90278 (WebCore::CALLBACK_FUNC_DECL): 90279 * bindings/v8/custom/V8WorkerContextCustom.cpp: 90280 (WebCore::SetTimeoutOrInterval): 90281 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 90282 (WebCore::CALLBACK_FUNC_DECL): 90283 90284 2009-07-06 Eric Carlson <eric.carlson (a] apple.com> 90285 90286 Reviewed by Darin Adler. 90287 90288 <rdar://problem/7008093> Media controller cant be used to scrub when movie is 90289 narrow track is too narrow 90290 90291 Do not show media controller time display elements when the a movie is too narrow. 90292 90293 * platform/mac/WebCoreSystemInterface.h: 90294 * platform/mac/WebCoreSystemInterface.mm: 90295 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. 90296 90297 * rendering/MediaControlElements.cpp: 90298 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 90299 Give current time and time remaining controls a common base class. 90300 (WebCore::MediaControlTimeDisplayElement::setVisible): 90301 New method, hide and show the element. 90302 * rendering/MediaControlElements.h: 90303 90304 * rendering/RenderMedia.cpp: 90305 (WebCore::RenderMedia::RenderMedia): 90306 Initialize m_previousVisible. 90307 (WebCore::RenderMedia::layout): 90308 Show/hide the time display elements as the movie width changes. 90309 (WebCore::RenderMedia::createCurrentTimeDisplay): 90310 (WebCore::RenderMedia::createTimeRemainingDisplay): 90311 Base class is now MediaControlTimeDisplayElement, not MediaControlElement. 90312 (WebCore::RenderMedia::shouldShowTimeDisplayControls): 90313 New, decide if time display elements should be visible or not. 90314 * rendering/RenderMedia.h: 90315 90316 * rendering/RenderThemeMac.mm: 90317 (WebCore::): 90318 (WebCore::RenderThemeMac::paintMediaFullscreenButton): 90319 (WebCore::RenderThemeMac::paintMediaMuteButton): 90320 (WebCore::RenderThemeMac::paintMediaPlayButton): 90321 (WebCore::RenderThemeMac::paintMediaSeekBackButton): 90322 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): 90323 (WebCore::RenderThemeMac::paintMediaSliderTrack): 90324 (WebCore::RenderThemeMac::paintMediaSliderThumb): 90325 (WebCore::RenderThemeMac::paintMediaRewindButton): 90326 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): 90327 (WebCore::RenderThemeMac::paintMediaControlsBackground): 90328 (WebCore::RenderThemeMac::paintMediaCurrentTime): 90329 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 90330 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. 90331 90332 2009-07-06 David Kilzer <ddkilzer (a] apple.com> 90333 90334 Bug 27000: Minor clean up to runtime_root.{cpp|h} 90335 90336 <https://bugs.webkit.org/show_bug.cgi?id=27000> 90337 90338 Reviewed by Geoff Garen. 90339 90340 * bridge/runtime_root.cpp: Added blank line between license and 90341 the first #include statement. 90342 * bridge/runtime_root.h: Added comment to #endif. 90343 90344 2009-07-06 Roland Steiner <rolandsteiner (a] google.com> 90345 90346 Reviewed by Maciej Stachowiak. 90347 90348 generalize the special height treatment for SVG (to be re-used for ruby): 90349 renamed InlineBox::m_isSVG to m_hasVirtualHeight 90350 renamed InlineBox::isSVG() to hasVirtualHeight() 90351 renamed InlineBox::setIsSVG() to setHasVirtualHeight() 90352 90353 * rendering/InlineBox.cpp: 90354 (WebCore::InlineBox::height): 90355 * rendering/InlineBox.h: 90356 (WebCore::InlineBox::InlineBox): 90357 (WebCore::InlineBox::isText): 90358 (WebCore::InlineBox::setIsText): 90359 (WebCore::InlineBox::isSVGRootInlineBox): 90360 (WebCore::InlineBox::hasVirtualHeight): 90361 (WebCore::InlineBox::setHasVirtualHeight): 90362 (WebCore::InlineBox::virtualHeight): 90363 * rendering/RenderSVGInline.cpp: 90364 (WebCore::RenderSVGInline::createFlowBox): 90365 * rendering/RenderSVGInlineText.cpp: 90366 (WebCore::RenderSVGInlineText::createTextBox): 90367 * rendering/RenderSVGText.cpp: 90368 (WebCore::RenderSVGText::createRootBox): 90369 * rendering/SVGInlineFlowBox.h: 90370 (WebCore::SVGInlineFlowBox::virtualHeight): 90371 * rendering/SVGInlineTextBox.h: 90372 (WebCore::SVGInlineTextBox::virtualHeight): 90373 * rendering/SVGRootInlineBox.h: 90374 (WebCore::SVGRootInlineBox::virtualHeight): 90375 90376 2009-07-06 Alice Liu <alice.liu (a] apple.com> 90377 90378 Reviewed by Darin Adler. 90379 90380 REGRESSION(r45285): focus rings are black on windows safari 90381 https://bugs.webkit.org/show_bug.cgi?id=26821 90382 <rdar://problem/7018252> 90383 90384 Add a mechanism for setting a custom focus ring color, and relocate the 90385 determination of focus ring color to base class RenderTheme. 90386 90387 No new tests. Already-existing tests run in pixel mode would have caught this regression 90388 90389 * css/CSSStyleSelector.cpp: 90390 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility 90391 of determining focus color to base class RenderTheme. 90392 * rendering/RenderTheme.cpp: 90393 (WebCore::customFocusRingColor): Added static local. 90394 (WebCore::RenderTheme::setCustomFocusRingColor): Added 90395 (WebCore::RenderTheme::focusRingColor): Use custom color over platform color. 90396 * rendering/RenderTheme.h: 90397 (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color 90398 * rendering/RenderThemeSafari.cpp: 90399 (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin 90400 are the same under which we want to use the focus ring color from SafariTheme. 90401 (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor 90402 * rendering/RenderThemeSafari.h: 90403 90404 Renaming focusRingColor to platformFocusRingColor in these files: 90405 * rendering/RenderThemeChromiumMac.h: 90406 * rendering/RenderThemeChromiumMac.mm: 90407 (WebCore::RenderThemeChromiumMac::platformFocusRingColor): 90408 * rendering/RenderThemeChromiumSkia.cpp: 90409 (WebCore::RenderThemeChromiumSkia::platformFocusRingColor): 90410 * rendering/RenderThemeChromiumSkia.h: 90411 * rendering/RenderThemeMac.h: 90412 * rendering/RenderThemeMac.mm: 90413 (WebCore::RenderThemeMac::platformFocusRingColor): 90414 90415 Cleanup leftover from removal of WebCore::Color in r45285 in these files: 90416 * WebCore.order: 90417 * platform/graphics/Color.h: 90418 90419 2009-07-06 Shinichiro Hamaji <hamaji (a] chromium.org> 90420 90421 Reviewed by David Hyatt. 90422 90423 Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's 90424 contents makes its container scroll to the top 90425 https://bugs.webkit.org/show_bug.cgi?id=15135 90426 90427 Delay updateing scroll bar of descendants of flexbox until their 90428 positions are determined. In this way we can prevent descendants 90429 of flexible boxes from changing positions of their scrollbars 90430 using tentative positions. 90431 90432 Test: fast/flexbox/repaint-scrollbar.html 90433 90434 * rendering/RenderBlock.cpp: 90435 (WebCore::RenderBlock::startDelayUpdateScrollInfo): 90436 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 90437 (WebCore::RenderBlock::updateScrollInfoAfterLayout): 90438 (WebCore::RenderBlock::layoutBlock): 90439 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 90440 * rendering/RenderBlock.h: 90441 * rendering/RenderFlexibleBox.cpp: 90442 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 90443 (WebCore::RenderFlexibleBox::layoutVerticalBox): 90444 90445 2009-07-06 Hironori Bono <hbono (a] chromium.org> 90446 90447 Reviewed by Maciej Stachowiak. 90448 90449 Make unconfirmed IME text affect textarea's value. 90450 This matches input and contentEditable elements as well 90451 IE and Firefox. 90452 90453 This fixes https://bugs.webkit.org/show_bug.cgi?id=25061. 90454 90455 Input elements would go down this code path because it 90456 would always get a null compositionNode from frame->editor(). 90457 Special casing compositionNodes is wrong because we explicitly 90458 want unconfirmed IME input in the textarea's value (assuming we 90459 want to match IE and Firefox here). 90460 90461 This change is originally created by Ojan Vafai <ojan (a] chromium.org> and 90462 I just changed its manual tests with an automated test on his behalf. 90463 90464 Test: platform/mac/editing/input/text-control-ime-input.html 90465 90466 * rendering/RenderTextControl.cpp: 90467 (WebCore::RenderTextControl::text): 90468 (WebCore::RenderTextControl::textWithHardLineBreaks): 90469 90470 2009-07-06 Anders Carlsson <andersca (a] apple.com> 90471 90472 Reviewed by Adele Peterson. 90473 90474 Add the ability for wheel events to latch to a node. 90475 90476 * WebCore.base.exp: 90477 * page/EventHandler.cpp: 90478 (WebCore::EventHandler::EventHandler): 90479 (WebCore::EventHandler::clear): 90480 (WebCore::EventHandler::handleWheelEvent): 90481 * page/EventHandler.h: 90482 * page/mac/EventHandlerMac.mm: 90483 (WebCore::EventHandler::wheelEvent): 90484 * platform/mac/WebCoreSystemInterface.h: 90485 * platform/mac/WebCoreSystemInterface.mm: 90486 90487 2009-07-06 Nate Chapin <japhet (a] chromium.org> 90488 90489 Reviewed by Dimitri Glazkov. 90490 90491 Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL. 90492 90493 https://bugs.webkit.org/show_bug.cgi?id=26997 90494 90495 * bindings/v8/V8Binding.cpp: 90496 (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL. 90497 90498 2009-07-06 Pavel Feldman <pfeldman (a] chromium.org> 90499 90500 Reviewed by Timothy Hatcher. 90501 90502 WebInspector: suggest global properties based on async evaluation. 90503 90504 https://bugs.webkit.org/show_bug.cgi?id=26976 90505 90506 Before this change, empty string was evaluated to the global object 90507 (or scope chain object) synchronously. This is now fixed and global 90508 object is evaluated using the same control flow. 90509 90510 * inspector/front-end/Console.js: 90511 (WebInspector.Console.prototype.completions): 90512 (WebInspector.Console.prototype._evalInInspectedWindow): 90513 * inspector/front-end/ScriptsPanel.js: 90514 (WebInspector.ScriptsPanel.prototype._variablesInScope): 90515 90516 2009-07-06 Ojan Vafai <ojan (a] chromium.org> 90517 90518 Reviewed by Eric Seidel. 90519 90520 Fix crash when indenting in an empty table cell. 90521 https://bugs.webkit.org/show_bug.cgi?id=26872 90522 90523 The crash is that we would call splitTreeToNode where the node 90524 and the nodeToSplitTo were the same node. 90525 90526 Test: editing/execCommand/indent-empty-table-cell.html 90527 90528 * editing/CompositeEditCommand.cpp: 90529 (WebCore::CompositeEditCommand::splitTreeToNode): 90530 Added an assert in that node and nodeToSplitTo 90531 are different nodes to make this assumption explicit. 90532 90533 * editing/IndentOutdentCommand.cpp: 90534 (WebCore::IndentOutdentCommand::isAtUnsplittableElement): 90535 (WebCore::IndentOutdentCommand::indentRegion): 90536 * editing/IndentOutdentCommand.h: 90537 90538 2009-07-06 Nate Chapin <japhet (a] chromium.org> 90539 90540 Reviewed by David Levin. 90541 90542 Upstream V8Binding and update some function names. 90543 90544 https://bugs.webkit.org/show_bug.cgi?id=26857 90545 90546 * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files. 90547 * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org. 90548 * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org. 90549 * bindings/v8/V8LazyEventListener.cpp: 90550 (WebCore::V8LazyEventListener::getListenerFunction): 90551 * bindings/v8/V8Proxy.cpp: 90552 (WebCore::handleConsoleMessage): 90553 (WebCore::V8Proxy::compileScript): 90554 (WebCore::V8Proxy::sourceName): 90555 * bindings/v8/WorkerContextExecutionProxy.cpp: 90556 (WebCore::handleConsoleMessage): 90557 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 90558 (WebCore::NAMED_PROPERTY_SETTER): 90559 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 90560 (WebCore::CALLBACK_FUNC_DECL): 90561 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 90562 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 90563 * bindings/v8/custom/V8DOMWindowCustom.cpp: 90564 (WebCore::CALLBACK_FUNC_DECL): 90565 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 90566 (WebCore::CALLBACK_FUNC_DECL): 90567 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 90568 (WebCore::ACCESSOR_SETTER): 90569 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 90570 (WebCore::CALLBACK_FUNC_DECL): 90571 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 90572 (WebCore::removeElement): 90573 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 90574 (WebCore::CALLBACK_FUNC_DECL): 90575 * bindings/v8/custom/V8WorkerContextCustom.cpp: 90576 (WebCore::SetTimeoutOrInterval): 90577 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 90578 (WebCore::CALLBACK_FUNC_DECL): 90579 90580 2009-07-06 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 90581 90582 Reviewed by Jan Alonzo. 90583 90584 Use soup's content sniffing 90585 https://bugs.webkit.org/show_bug.cgi?id=26982 90586 90587 Drop our hackish content sniffing code, and use the new libsoup 90588 feature to do that job for us. 90589 90590 Testing this is in a cross-platform way is not obvious or possible 90591 while we are using platform-specific code for sniffing. 90592 90593 * platform/network/ResourceHandleInternal.h: 90594 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 90595 * platform/network/soup/ResourceHandleSoup.cpp: 90596 (WebCore::gotHeadersCallback): 90597 (WebCore::contentSniffedCallback): 90598 (WebCore::gotChunkCallback): 90599 (WebCore::ResourceHandle::startHttp): 90600 90601 2009-07-05 Antonio Gomes <antonio.gomes (a] openbossa.org> 90602 90603 Reviewed by Darin Adler. 90604 90605 REGRESSION (r40499): fast/dom/cssTarget-crash.html fails 90606 https://bugs.webkit.org/show_bug.cgi?id=20342 90607 90608 Re-added code removed by commit r40499. 90609 Without this, both Qt and Mac were crashing while running the test. 90610 90611 Note that this does not entirely fix the bug. It fixes the WebCore 90612 crash, but the test no longer seems to work due to loader changes. 90613 So this patch does not reenable the test. The test probably has to 90614 be rewritten. 90615 90616 * dom/ContainerNode.cpp: 90617 (WebCore::ContainerNode::removedFromDocument): Re-added code to 90618 set the CSS target of the document to 0. 90619 90620 2009-07-05 Chris Marrin <cmarrin (a] apple.com> 90621 90622 Reviewed by Simon Fraser. 90623 90624 https://bugs.webkit.org/show_bug.cgi?id=26943 90625 90626 When one transition finishes slightly before another the longer 90627 one will fire a second time. This is because the second 90628 ImplicitAnmation object is culled too early, before its final 90629 RenderStyle is in place. This is done by cleanupFinishedAnimations() 90630 so I got rid of that method completely and now cleanup each 90631 transition or animation at the point where I am setting the final 90632 style, or when I detect that the transition or animation has been 90633 terminated early (which happens when you remove it from the style). 90634 90635 Test: transitions/extra-transition.html 90636 90637 * page/animation/AnimationController.cpp: 90638 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 90639 * page/animation/CompositeAnimation.cpp: 90640 (WebCore::CompositeAnimation::updateTransitions): 90641 (WebCore::CompositeAnimation::updateKeyframeAnimations): 90642 (WebCore::CompositeAnimation::animate): 90643 * page/animation/CompositeAnimation.h: 90644 90645 * page/animation/AnimationBase.cpp: 90646 (WebCore::AnimationBase::getTimeToNextEvent): 90647 Avoid a divide by zero if m_animation->duration() is zero, which can happen 90648 if the duration is changed to zero while the animation is running. 90649 90650 2009-07-05 Simon Fraser <simon.fraser (a] apple.com> 90651 90652 Revert the previous commit because it broke the 90653 animations/transition-and-animation-1.html 90654 testcase. 90655 90656 * page/animation/AnimationBase.cpp: 90657 (WebCore::AnimationBase::getTimeToNextEvent): 90658 * page/animation/AnimationController.cpp: 90659 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 90660 * page/animation/CompositeAnimation.cpp: 90661 (WebCore::CompositeAnimation::updateTransitions): 90662 (WebCore::CompositeAnimation::updateKeyframeAnimations): 90663 (WebCore::CompositeAnimation::animate): 90664 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 90665 * page/animation/CompositeAnimation.h: 90666 90667 2009-07-05 Chris Marrin <cmarrin (a] apple.com> 90668 90669 Reviewed by Simon Fraser. 90670 90671 https://bugs.webkit.org/show_bug.cgi?id=26943 90672 90673 When one transition finishes slightly before another the longer 90674 one will fire a second time. This is because the second 90675 ImplicitAnmation object is culled too early, before its final 90676 RenderStyle is in place. This is done by cleanupFinishedAnimations() 90677 so I got rid of that method completely and now cleanup each 90678 transition or animation at the point where I am setting the final 90679 style, or when I detect that the transition or animation has been 90680 terminated early (which happens when you remove it from the style). 90681 90682 Test: transitions/extra-transition.html 90683 90684 * page/animation/AnimationController.cpp: 90685 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 90686 * page/animation/CompositeAnimation.cpp: 90687 (WebCore::CompositeAnimation::updateTransitions): 90688 (WebCore::CompositeAnimation::updateKeyframeAnimations): 90689 (WebCore::CompositeAnimation::animate): 90690 * page/animation/CompositeAnimation.h: 90691 90692 * page/animation/AnimationBase.cpp: 90693 (WebCore::AnimationBase::getTimeToNextEvent): 90694 Avoid a divide by zero if m_animation->duration() is zero, which can happen 90695 if the duration is changed to zero while the animation is running. 90696 90697 2009-07-05 Lars Knoll <lars.knoll (a] nokia.com> 90698 90699 Reviewed by Maciej Stachowiak. 90700 90701 https://bugs.webkit.org/show_bug.cgi?id=26843 90702 90703 Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian. 90704 90705 The Metrowerks compiler on the Symbian platform moves the globally 90706 defined Hashtables into read-only memory, despite one of the members 90707 being mutable. This causes crashes at run-time due to write access to 90708 read-only memory. 90709 90710 Avoid the use of const with this compiler by introducing the 90711 JSC_CONST_HASHTABLE macro. 90712 90713 Based on idea by Norbert Leser. 90714 90715 * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables 90716 define in the bindings. 90717 90718 2009-07-05 Rob Buis <rwlbuis (a] gmail.com> 90719 90720 Reviewed by Maciej Stachowiak. 90721 90722 Bug 26897 - Dynamic SVG images do not display correctly 90723 https://bugs.webkit.org/show_bug.cgi?id=26897 90724 90725 Use repaint() to fix a rendering problem with a SVG image embedded in xhtml. 90726 90727 Test: svg/custom/createImageElement2.xhtml 90728 90729 * rendering/RenderSVGImage.cpp: 90730 (WebCore::RenderSVGImage::imageChanged): 90731 90732 2009-07-05 Xan Lopez <xlopez (a] igalia.com> 90733 90734 Reviewed by Jan Alonzo. 90735 90736 https://bugs.webkit.org/show_bug.cgi?id=26960 90737 [Gtk] caret offset not updated when selecting text 90738 90739 Report the caret offset from the end of the selection so it works 90740 correctly for multi-char selections too (ie, anything that is not 90741 the zero width caret). 90742 90743 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 90744 (webkit_accessible_text_get_caret_offset): 90745 90746 2009-07-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 90747 90748 Unreviewed link fix for Qt. 90749 90750 Fix Qt link error by adding two new localized strings 90751 90752 In r45474 two new strings got added to LocalizedStrings.h add 90753 the definition of them to Qt. 90754 90755 * platform/qt/Localizations.cpp: 90756 (WebCore::mediaElementLoadingStateText): 90757 (WebCore::mediaElementLiveBroadcastStateText): 90758 90759 2009-07-03 Darin Adler <darin (a] apple.com> 90760 90761 Reviewed by Adele Peterson. 90762 90763 REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com 90764 https://bugs.webkit.org/show_bug.cgi?id=26959 90765 rdar://problem/7029882 90766 90767 The code to handle iteration boundaries was malfunctioning when the boundary was 90768 at the edge of a shadow tree. This happens all the time with <input> elements. 90769 90770 It's not immediately obvious how to make a regression test for this since the 90771 symptom was a performance problem, not incorrect behavior. I'll add a test if I 90772 figure out a way to make one. 90773 90774 * editing/TextIterator.cpp: 90775 (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent. 90776 (WebCore::depthCrossingShadowBoundaries): Updated for name change. 90777 (WebCore::nextInPreOrderCrossingShadowBoundaries): Added. 90778 (WebCore::previousInPostOrderCrossingShadowBoundaries): Added. 90779 (WebCore::setUpFullyClippedStack): Updated for name change. 90780 (WebCore::TextIterator::TextIterator): Updated for name change. Use 90781 nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug. 90782 (WebCore::TextIterator::advance): Updated for name change. 90783 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 90784 Tweaked formatting. 90785 (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that 90786 initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries. 90787 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting. 90788 (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto. 90789 90790 2009-07-03 Simon Fraser <simon.fraser (a] apple.com> 90791 90792 Reviewed by Sam Weinig. 90793 90794 Background audio stops playing when JS GC runs 90795 https://bugs.webkit.org/show_bug.cgi?id=26956 90796 90797 Ensure we keep the Audio object around while it is playing, so that it 90798 doesn't get collected. 90799 90800 Not testable because there's no way to know whether the audio keeps 90801 playing without holding a reference to it. 90802 90803 * bindings/js/JSDOMBinding.cpp: 90804 (WebCore::isObservableThroughDOM): 90805 90806 2009-07-02 Xan Lopez <xlopez (a] igalia.com> 90807 90808 Reviewed by Jan Alonzo. 90809 90810 https://bugs.webkit.org/show_bug.cgi?id=26814 90811 [Gtk] Caret-moved events are not issued for the correct offset 90812 when text is selected forward 90813 90814 Report the caret offset from the end of the selection, otherwise 90815 we'll report the same offset when moving the caret while 90816 modififying the selection (eg, with Shift Right). 90817 90818 * editing/gtk/SelectionControllerGtk.cpp: 90819 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 90820 90821 2009-07-02 Xan Lopez <xlopez (a] igalia.com> 90822 90823 Reviewed by Jan Alonzo. 90824 90825 https://bugs.webkit.org/show_bug.cgi?id=26815 90826 [Gtk] text-selection-changed events are not issued for the correct 90827 object when the selection spans multiple objects 90828 90829 Get the focused node from the end of the selection, not the start, 90830 so we can detect when we cross object boundaries. 90831 90832 * editing/gtk/SelectionControllerGtk.cpp: 90833 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 90834 90835 2009-07-02 Pierre d'Herbemont <pdherbemont (a] apple.com> 90836 90837 Reviewed by Simon Fraser. 90838 90839 https://bugs.webkit.org/show_bug.cgi?id=26947 90840 90841 Fix the media controls hit tests. They may lose click events. 90842 90843 Test cases already covered in the video-controls-zoomed tests. 90844 90845 Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough. 90846 90847 * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart. 90848 * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart. 90849 90850 2009-07-02 Roland Steiner <rolandsteiner (a] google.com> 90851 90852 Reviewed by Eric Seidel. 90853 90854 RenderBlock and RenderInline have confusingly named object creation methods: 90855 RenderBlock::createRootBox/createRootInlineBox 90856 RenderInline::createFlowBox/createInlineFlowBox 90857 where the 2nd method in both cases just calls the first and then appends the created object. 90858 I therefore renamed those methods to something IMHO more informative: 90859 90860 createRootBox() -> createRootInlineBox() 90861 createRootInlineBox() -> createAndAppendRootInlineBox(); 90862 createFlowBox() -> createInlineFlowBox(); 90863 createInlineFlowBox() -> createAndAppendInlineFlowBox(); 90864 90865 https://bugs.webkit.org/show_bug.cgi?id=26828 90866 90867 * rendering/RenderBlock.cpp: 90868 (WebCore::RenderBlock::createRootInlineBox): 90869 (WebCore::RenderBlock::createAndAppendRootInlineBox): 90870 * rendering/RenderBlock.h: 90871 * rendering/RenderInline.cpp: 90872 (WebCore::RenderInline::createInlineFlowBox): 90873 (WebCore::RenderInline::createAndAppendInlineFlowBox): 90874 * rendering/RenderInline.h: 90875 * rendering/RenderSVGInline.cpp: 90876 (WebCore::RenderSVGInline::createInlineFlowBox): 90877 * rendering/RenderSVGInline.h: 90878 * rendering/RenderSVGText.cpp: 90879 (WebCore::RenderSVGText::createRootInlineBox): 90880 * rendering/RenderSVGText.h: 90881 * rendering/bidi.cpp: 90882 (WebCore::createInlineBoxForRenderer): 90883 90884 2009-07-02 Pavel Feldman <pfeldman (a] chromium.org> 90885 90886 Reviewed by Timothy Hatcher. 90887 90888 WebInspector: Fix typo in the resource panel enabler caption. 90889 90890 https://bugs.webkit.org/show_bug.cgi?id=26753 90891 90892 * English.lproj/localizedStrings.js: 90893 * inspector/front-end/ResourcesPanel.js: 90894 (WebInspector.ResourcesPanel): 90895 90896 2009-07-02 Erik Arvidsson <arv (a] chromium.org> 90897 90898 Reviewed by Adam Roben. 90899 90900 [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc 90901 https://bugs.webkit.org/show_bug.cgi?id=26699 90902 90903 * manual-tests/drag-escape.html: Added. 90904 * page/EventHandler.cpp: 90905 (WebCore::EventHandler::dragSourceEndedAt): 90906 90907 2009-07-02 Pierre d'Herbemont <pdherbemont (a] apple.com> 90908 90909 Reviewed by Simon Fraser. 90910 90911 https://bugs.webkit.org/show_bug.cgi?id=26944 90912 90913 Make sure we support full page zoom in video controls. 90914 90915 This is tracked by a the video-controls-zoom test case. 90916 90917 * css/mediaControlsQT.css: Make sure we don't have any inherited margin. 90918 * rendering/MediaControlElements.cpp: 90919 (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext. 90920 * rendering/RenderThemeMac.mm: Adjust the painting rect. 90921 (WebCore::getUnzoomedRectAndAdjustCurrentContext): 90922 (WebCore::RenderThemeMac::paintMediaSliderTrack): 90923 (WebCore::RenderThemeMac::paintMediaCurrentTime): 90924 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 90925 90926 2009-07-02 Pierre d'Herbemont <pdherbemont (a] apple.com> 90927 90928 Fix the Gtk build after r45474. The localized strings should 90929 have been added there. 90930 90931 * platform/gtk/LocalizedStringsGtk.cpp: 90932 (WebCore::mediaElementLoadingStateText): 90933 (WebCore::mediaElementLiveBroadcastStateText): 90934 90935 2009-07-02 Pierre d'Herbemont <pdherbemont (a] apple.com> 90936 90937 Reviewed by Simon Fraser. 90938 90939 https://bugs.webkit.org/show_bug.cgi?id=26939 90940 90941 Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html 90942 90943 We fix two things: 90944 - We use px instead of em, because px is used everywhere else 90945 and because 0.09em hit the font size limit. 90946 - We use -webkit-box instead of inline-block because in strict mode 90947 inline-block has a different behavior. 90948 90949 Test: media/controls-strict.html 90950 90951 * css/mediaControlsQT.css: 90952 90953 2009-07-02 David Hyatt <hyatt (a] apple.com> 90954 90955 Reviewed by Dan Bernstein. 90956 90957 TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style. 90958 https://bugs.webkit.org/show_bug.cgi?id=26942 90959 90960 * editing/TextIterator.cpp: 90961 (WebCore::fullyClipsContents): 90962 90963 2009-07-02 Sam Weinig <sam (a] webkit.org> 90964 90965 Reviewed by Dave Hyatt. 90966 90967 Fix for <rdar://problem/5230700> 90968 Remove local .xhtml file workaround 90969 90970 * platform/network/mac/ResourceResponseMac.mm: 90971 (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary. 90972 90973 2009-07-02 Anders Carlsson <andersca (a] apple.com> 90974 90975 Reviewed by Dan Bernstein. 90976 90977 Sort, add functions used by WebKit. 90978 90979 * WebCore.base.exp: 90980 90981 2009-07-02 Brady Eidson <beidson (a] apple.com> 90982 90983 Rubberstamped by Sam Weinig. 90984 90985 More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. 90986 90987 * platform/network/mac/WebCoreURLResponse.mm: 90988 (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery. 90989 90990 2009-07-02 Adam Langley <agl (a] google.com> 90991 90992 Reviewed by Eric Seidel. 90993 90994 Chromium Linux: fix complex text rendering with line break characters. 90995 90996 https://bugs.webkit.org/show_bug.cgi?id=26935 90997 90998 If the CSS white-space property is inhibiting line breaking, we might 90999 find end-of-line characters rendered via the complex text path. Fonts 91000 don't provide glyphs for these code points so, if we find one, we 91001 simulate the space glyph being interposed in this case. Because the 91002 input is variable-length per code point, we walk the input in step 91003 with the output. 91004 91005 Covered by: 91006 LayoutTests/fast/text/international/bidi-linebreak-002.html 91007 LayoutTests/fast/text/international/bidi-linebreak-003.html 91008 LayoutTests/fast/text/international/hindi-whitespace.html 91009 91010 * platform/graphics/chromium/HarfbuzzSkia.cpp: 91011 (WebCore::stringToGlyphs): 91012 91013 2009-07-02 Victor Wang <victorw (a] chromium.org> 91014 91015 Reviewed by Darin Fisher. 91016 91017 https://bugs.webkit.org/show_bug.cgi?id=26521 91018 Expose file size to chromium. 91019 91020 Implement getFileSize() for Chromium. 91021 91022 * platform/chromium/ChromiumBridge.h: 91023 * platform/chromium/FileSystemChromium.cpp: 91024 (WebCore::getFileSize): 91025 91026 2009-07-02 Nate Chapin <japhet (a] chromium.org> 91027 91028 Unreviewed, build fix. 91029 91030 * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list. 91031 91032 2009-07-02 Simon Fraser <simon.fraser (a] apple.com> 91033 91034 Build fix: add missing #include. 91035 91036 * platform/mac/ThemeMac.mm: 91037 91038 2009-07-02 Simon Fraser <simon.fraser (a] apple.com> 91039 91040 Reviewed by Dave Hyatt. 91041 91042 <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed 91043 91044 Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code 91045 that can possibly throw Objective-C exceptions when drawing Mac form controls. 91046 91047 * platform/mac/ThemeMac.mm: 91048 (WebCore::paintCheckbox): 91049 (WebCore::paintRadio): 91050 (WebCore::paintButton): 91051 (WebCore::ThemeMac::inflateControlPaintRect): 91052 91053 2009-07-02 Nate Chapin <japhet (a] chromium.org> 91054 91055 Reviewed by David Levin. 91056 91057 Upstream V8SVGPODTypeWrapper. 91058 91059 https://bugs.webkit.org/show_bug.cgi?id=26907 91060 91061 * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h. 91062 * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org. 91063 91064 2009-07-02 Dumitru Daniliuc <dumi (a] chromium.org> 91065 91066 Reviewed by Dimitri Glazkov. 91067 91068 Adds an abstraction layer between the DB classes and the file 91069 system, which allows us to add our own logic for storing, opening, 91070 deleting, etc. databases. 91071 91072 The patch was tested using the tests in WebCore/storage. 91073 91074 https://bugs.webkit.org/show_bug.cgi?id=26054 91075 91076 * GNUmakefile.am: 91077 * WebCore.pro: 91078 * WebCore.vcproj/WebCore.vcproj: 91079 * WebCore.xcodeproj/project.pbxproj: 91080 * platform/sql/SQLiteDatabase.cpp: 91081 (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs. 91082 * platform/sql/SQLiteFileSystem.cpp: Added. 91083 * platform/sql/SQLiteFileSystem.h: Added. 91084 * platform/win/FileSystemWin.cpp: 91085 (WebCore::directoryName): Implemented. 91086 * storage/Database.cpp: 91087 (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem. 91088 * storage/DatabaseTracker.cpp: 91089 (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS. 91090 (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem. 91091 (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem. 91092 (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem. 91093 (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem. 91094 (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem. 91095 (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem. 91096 (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem. 91097 * storage/OriginUsageRecord.cpp: 91098 (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem. 91099 91100 2009-07-02 David Hyatt <hyatt (a] apple.com> 91101 91102 Reviewed by Simon Fraser. 91103 91104 Always clip replaced elements to border radii. 91105 https://bugs.webkit.org/show_bug.cgi?id=26933 91106 91107 Make sure to always clip replaced elements to border radii, even when overflow is visible. 91108 Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer 91109 necessary. 91110 91111 Covered by existing tests (since the UA default changing keeps the behavior exactly the same). 91112 91113 * css/html.css: 91114 * rendering/RenderReplaced.cpp: 91115 (WebCore::RenderReplaced::paint): 91116 * rendering/RenderWidget.cpp: 91117 (WebCore::RenderWidget::paint): 91118 91119 2009-07-02 Jeremy Orlow <jorlow (a] chromium.org> 91120 91121 Reviewed by Simon Fraser. 91122 91123 convertFromScrollbarToContainingView and friends should be in ScrollView 91124 https://bugs.webkit.org/show_bug.cgi?id=26929 91125 91126 This is breaking Chromium's build because PopupMenuChromium inherits 91127 from ScrollView, but these functions are pure virtual in it. I could 91128 put it directly in PopupMenuChromium, but that seems a bit silly since 91129 the functions are fairly generic. 91130 91131 Passes existing layout tests. 91132 91133 * page/FrameView.cpp: Remove the 4 functions Hyatt just added 91134 (IntRect WebCore::FrameView::convertFromScrollbarToContainingView): 91135 (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar): 91136 (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView): 91137 (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar): 91138 * page/FrameView.h: ditto 91139 * platform/ScrollView.cpp: Move the 4 functions from FrameView here 91140 (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView): 91141 (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar): 91142 (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView): 91143 (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar): 91144 * platform/ScrollView.h: ditto 91145 91146 2009-07-02 Dirk Pranke <dpranke (a] chromium.org> 91147 91148 Reviewed by Darin Fisher. 91149 91150 Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 91151 doesn't handle errors well at all; revise it to fail silently 91152 (drawing nothing), and bulletproof FontChromiumWin to handle the 91153 failure accordingly. 91154 91155 Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html 91156 fast/text/text-letter-spacing.html 91157 91158 * platform/graphics/chromium/FontChromiumWin.cpp: 91159 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 91160 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 91161 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): 91162 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): 91163 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 91164 (WebCore::Font::drawGlyphs): 91165 (WebCore::Font::drawComplexText): 91166 * platform/graphics/chromium/TransparencyWin.cpp: 91167 (WebCore::TransparencyWin::TransparencyWin): 91168 (WebCore::TransparencyWin::setupLayerForNoLayer): 91169 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): 91170 (WebCore::TransparencyWin::setupLayerForWhiteLayer): 91171 (WebCore::TransparencyWin::setupTransformForKeepTransform): 91172 (WebCore::TransparencyWin::setupTransformForScaleTransform): 91173 (WebCore::TransparencyWin::initializeNewContext): 91174 (WebCore::TransparencyWin::compositeOpaqueComposite): 91175 (WebCore::TransparencyWin::compositeTextComposite): 91176 (WebCore::TransparencyWin::makeLayerOpaque): 91177 * platform/graphics/chromium/TransparencyWin.h: 91178 (WebCore::TransparencyWin::platformContext): 91179 91180 2009-07-02 Eric Carlson <eric.carlson (a] apple.com> 91181 91182 Change #import to #include to fix non-ObjC builds. 91183 91184 * rendering/MediaControlElements.cpp: 91185 91186 2009-07-02 Anders Carlsson <andersca (a] apple.com> 91187 91188 Build fix. 91189 91190 * platform/network/mac/WebCoreURLResponse.mm: 91191 (mimeTypeFromUTITree): 91192 91193 2009-07-02 David Hyatt <hyatt (a] apple.com> 91194 91195 Reviewed by Simon Fraser. 91196 91197 Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new 91198 conversion methods for going across parent/child widget boundaries that can be implemented 91199 by the FrameView and ScrollbarClient to be transform-aware. 91200 91201 Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow. 91202 91203 * WebCore.base.exp: 91204 * page/EventHandler.cpp: 91205 (WebCore::EventHandler::handleMouseMoveEvent): 91206 * page/FrameView.cpp: 91207 (WebCore::FrameView::convertFromScrollbarToContainingView): 91208 (WebCore::FrameView::convertFromContainingViewToScrollbar): 91209 (WebCore::FrameView::convertFromRenderer): 91210 (WebCore::FrameView::convertToRenderer): 91211 (WebCore::FrameView::convertToContainingView): 91212 (WebCore::FrameView::convertFromContainingView): 91213 * page/FrameView.h: 91214 * platform/ScrollView.h: 91215 * platform/Scrollbar.cpp: 91216 (WebCore::Scrollbar::convertToContainingView): 91217 (WebCore::Scrollbar::convertFromContainingView): 91218 * platform/Scrollbar.h: 91219 * platform/ScrollbarClient.h: 91220 (WebCore::ScrollbarClient::convertFromScrollbarToContainingView): 91221 (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar): 91222 * platform/Widget.cpp: 91223 (WebCore::Widget::convertFromContainingWindow): 91224 (WebCore::Widget::convertToContainingWindow): 91225 (WebCore::Widget::convertFromRootToContainingWindow): 91226 (WebCore::Widget::convertFromContainingWindowToRoot): 91227 (WebCore::Widget::convertToContainingView): 91228 (WebCore::Widget::convertFromContainingView): 91229 * platform/Widget.h: 91230 * platform/graphics/IntPoint.h: 91231 (WebCore::IntPoint::move): 91232 * platform/mac/WidgetMac.mm: 91233 (WebCore::Widget::convertFromRootToContainingWindow): 91234 (WebCore::Widget::convertFromContainingWindowToRoot): 91235 * rendering/RenderBlock.cpp: 91236 (WebCore::RenderBlock::isPointInOverflowControl): 91237 * rendering/RenderDataGrid.cpp: 91238 (WebCore::RenderDataGrid::convertFromScrollbarToContainingView): 91239 (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar): 91240 * rendering/RenderDataGrid.h: 91241 * rendering/RenderLayer.cpp: 91242 (WebCore::RenderLayer::convertFromScrollbarToContainingView): 91243 (WebCore::RenderLayer::convertFromContainingViewToScrollbar): 91244 (WebCore::RenderLayer::scrollbarOffset): 91245 (WebCore::RenderLayer::hitTestOverflowControls): 91246 * rendering/RenderLayer.h: 91247 * rendering/RenderListBox.cpp: 91248 (WebCore::RenderListBox::isPointInOverflowControl): 91249 (WebCore::RenderListBox::convertFromScrollbarToContainingView): 91250 (WebCore::RenderListBox::convertFromContainingViewToScrollbar): 91251 * rendering/RenderListBox.h: 91252 91253 2009-07-02 Dan Bernstein <mitz (a] apple.com> 91254 91255 Reviewed by Dave Hyatt and Simon Fraser. 91256 91257 - fix <rdar://problem/6933052> SPOD playing video in a div with a box 91258 shadow 91259 91260 Test: fast/box-shadow/transform-fringing.html 91261 91262 * rendering/RenderBoxModelObject.cpp: 91263 (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the 91264 box even if it has an opaque background, but in that case, inset the 91265 clip path by 1 pixel, to avoid antialiasing artifacts. 91266 Do not inset the clip rect by 1 pixel if the CTM is purely a 91267 translation. 91268 Move the shadow-casting path away in the non-rounded-rect case (it 91269 was already being done in the rounded-rect case), to avoid a black 91270 fringe when the CTM is not purely a translation. 91271 91272 2009-07-02 Brady Eidson <beidson (a] apple.com> 91273 91274 Reviewed by Sam Weinig. 91275 91276 <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. 91277 91278 Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found. 91279 91280 For many types of text files (such as source code files) this ends up being text/plain. 91281 91282 * platform/network/mac/ResourceHandleMac.mm: 91283 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output. 91284 91285 * platform/network/mac/WebCoreURLResponse.h: 91286 * platform/network/mac/WebCoreURLResponse.mm: 91287 (mimeTypeFromUTITree): 91288 (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension. 91289 (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us. 91290 91291 2009-07-02 Pierre d'Herbemont <pdherbemont (a] apple.com> 91292 91293 Reviewed by Simon Fraser. 91294 91295 <rdar://problem/6518119> 91296 91297 Add a rewind button and hide the timeline for live broadcasts when 91298 in MediaUI mode. 91299 91300 * css/CSSPrimitiveValueMappings.h: 91301 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element. 91302 91303 * css/CSSSelector.cpp: 91304 (WebCore::CSSSelector::extractPseudoType): Ditto. 91305 * css/CSSSelector.h: 91306 91307 * css/CSSStyleSelector.cpp: 91308 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. 91309 91310 * css/CSSValueKeywords.in: Ditto. 91311 * css/mediaControls.css: Ditto. 91312 * css/mediaControlsQT.css: Ditto. 91313 91314 * html/HTMLMediaElement.cpp: 91315 (WebCore::HTMLMediaElement::rewind): New. 91316 (WebCore::HTMLMediaElement::returnToRealTime): New. 91317 (WebCore::HTMLMediaElement::isStreaming): New. 91318 * html/HTMLMediaElement.h: 91319 91320 * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText. 91321 91322 * platform/LocalizedStrings.h: Add localized media state messages. 91323 91324 * platform/ThemeTypes.h: Add the new pseudo element. 91325 91326 * platform/mac/LocalizedStringsMac.mm: 91327 (WebCore::mediaElementLoadingStateText): Add localized media state. 91328 (WebCore::mediaElementLiveBroadcastStateText): Ditto. 91329 91330 * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support 91331 multiple states. 91332 * platform/mac/WebCoreSystemInterface.mm: Ditto. 91333 91334 * rendering/MediaControlElements.cpp: 91335 (WebCore::MediaControlElement::MediaControlElement): Deal with new elements. 91336 (WebCore::MediaControlElement::attachToParent): Ditto. 91337 (WebCore::MediaControlElement::update): Ditto. 91338 (WebCore::MediaControlElement::updateStyle): Ditto. 91339 (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto. 91340 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto. 91341 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto. 91342 (WebCore::MediaControlStatusDisplayElement::update): Ditto. 91343 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto. 91344 (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto. 91345 (WebCore::MediaControlInputElement::attachToParent): Ditto. 91346 (WebCore::MediaControlInputElement::updateStyle): Ditto. 91347 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto. 91348 (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto. 91349 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto. 91350 (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto. 91351 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto. 91352 (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto. 91353 (WebCore::MediaControlTimelineElement::update): Ditto. 91354 (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto. 91355 * rendering/MediaControlElements.h: Ditto. 91356 91357 * rendering/RenderMedia.cpp: 91358 (WebCore::RenderMedia::styleDidChange): Deal with the new elements. 91359 (WebCore::RenderMedia::createPanel): Ditto. 91360 (WebCore::RenderMedia::createRewindButton): Ditto. 91361 (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto. 91362 (WebCore::RenderMedia::createStatusDisplay): Ditto. 91363 (WebCore::RenderMedia::createTimelineContainer): Ditto. 91364 (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto. 91365 (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto. 91366 (WebCore::RenderMedia::updateControls): Ditto. 91367 (WebCore::RenderMedia::forwardEvent): Ditto. 91368 * rendering/RenderMedia.h: 91369 91370 * rendering/RenderTheme.cpp: 91371 (WebCore::RenderTheme::paint): Deal with the new elements. 91372 91373 * rendering/RenderTheme.h: 91374 (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements. 91375 (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto. 91376 (WebCore::RenderTheme::paintMediaControlsBackground): Ditto. 91377 91378 * rendering/RenderThemeMac.h: 91379 * rendering/RenderThemeMac.mm: 91380 (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements. 91381 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto. 91382 (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto. 91383 91384 * rendering/style/RenderStyleConstants.h: Add constants for the new elements. 91385 91386 2009-07-01 John Abd-El-Malek <jam (a] chromium.org> 91387 91388 Reviewed by Darin Fisher. 91389 91390 Small refactoring of MessagePortChannel so that PlatformMessagePortChannel 91391 may be defined at the WebKit layer. 91392 91393 https://bugs.webkit.org/show_bug.cgi?id=26905 91394 91395 * dom/MessageChannel.cpp: 91396 (WebCore::MessageChannel::MessageChannel): 91397 * dom/MessagePortChannel.cpp: 91398 * dom/MessagePortChannel.h: 91399 * dom/default/PlatformMessagePortChannel.cpp: 91400 (WebCore::MessagePortChannel::createChannel): 91401 (WebCore::MessagePortChannel::create): 91402 (WebCore::MessagePortChannel::MessagePortChannel): 91403 (WebCore::MessagePortChannel::~MessagePortChannel): 91404 91405 2009-07-01 Simon Fraser <simon.fraser (a] apple.com> 91406 91407 Reviewed by Dan Bernstein. 91408 91409 <video> fails to show on http://camendesign.com/code/video_for_everybody 91410 <rdar://problem/7026010> 91411 https://bugs.webkit.org/show_bug.cgi?id=26919 91412 91413 Fix an issue introduced in r44961. In that revision we changed to only update 91414 compositing layer geometry when all siblings had been laid out (i.e. we pushed 91415 the updates one level down). However, that left out the root layer, so this 91416 fix ensures that the root layer geometry gets updated at the end. 91417 91418 Test: compositing/geometry/root-layer-update.html 91419 91420 * rendering/RenderLayerBacking.cpp: 91421 (WebCore::RenderLayerBacking::updateAfterLayout): 91422 91423 2009-07-01 Simon Fraser <simon.fraser (a] apple.com> 91424 91425 Reviewed by Dan Bernstein 91426 91427 <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody 91428 91429 First part of fix: when outline width changes, don't to a synchronous 91430 layer update right away, but just set the flag to say that compositing 91431 layers need updating. The synchronous layer update left the layer geometries 91432 out of whack when it happened in the middle of layout (e.g. when inside ::first-letter). 91433 91434 Test: compositing/geometry/outline-change.html 91435 91436 * rendering/RenderView.cpp: 91437 (WebCore::RenderView::setMaximalOutlineSize): 91438 91439 2009-07-01 Kwang Yul Seo <skyul (a] company100.net> 91440 91441 Reviewed by Eric Seidel. 91442 91443 https://bugs.webkit.org/show_bug.cgi?id=26842 91444 Build fix when ENABLE_DATABASE is off 91445 91446 Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE 91447 off does not break builds. 91448 91449 * bindings/js/ScriptObjectQuarantine.cpp: 91450 91451 2009-07-01 Daniel Bates <dbates (a] intudata.com> 91452 91453 Reviewed by Adam Barth. 91454 91455 https://bugs.webkit.org/show_bug.cgi?id=26899 91456 91457 Modified XSSAuditor::decodeURL to only remove null characters so that 91458 it is consistent with the behavior of HTMLTokenizer and prevents 91459 injected scripts that contain control characters. 91460 91461 Tests: http/tests/security/xssAuditor/script-tag-control-char.html 91462 http/tests/security/xssAuditor/script-tag-null-char.html 91463 91464 * page/XSSAuditor.cpp: 91465 (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 91466 * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL 91467 from allowControlCharacters back to allowNullCharacters. 91468 * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003. 91469 (WebCore::isControlCharacter): 91470 * platform/network/ResourceResponseBase.h: Reverted back to rev #45003. 91471 91472 2009-07-01 Yury Semikhatsky <yurys (a] chromium.org> 91473 91474 Reviewed by Timothy Hatcher. 91475 91476 - supported keyboard shortcuts compatible with Firebug in Scripts Debugger: 91477 F5, Ctrl+/ (win,lin), Command+/ (mac) - continue 91478 F10, Ctrl+' (win, lin), Command+' (mac) - step over 91479 F11, Ctrl+; (win, lin), Command+; (mac) - step into 91480 Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out 91481 91482 - added call stack navigation shortcuts: 91483 Ctrl+. - next call frame 91484 Ctrl+, - previouse call frame 91485 91486 https://bugs.webkit.org/show_bug.cgi?id=23849 91487 91488 * inspector/front-end/CallStackSidebarPane.js: 91489 (WebInspector.CallStackSidebarPane): 91490 (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent): 91491 (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack): 91492 (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack): 91493 (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex): 91494 (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex): 91495 * inspector/front-end/KeyboardShortcut.js: Added. 91496 (WebInspector.KeyboardShortcut): 91497 (WebInspector.KeyboardShortcut.makeKey): 91498 (WebInspector.KeyboardShortcut.makeKeyFromEvent): 91499 (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_): 91500 * inspector/front-end/ScriptsPanel.js: 91501 (WebInspector.ScriptsPanel): 91502 (WebInspector.ScriptsPanel.prototype.handleKeyEvent): 91503 * inspector/front-end/WebKit.qrc: 91504 * inspector/front-end/inspector.html: 91505 91506 2009-07-01 Daniel Erat <derat (a] google.com> 91507 91508 Reviewed by David Levin. 91509 91510 Chromium Linux: Move the scrollbar thumb on middle-click. 91511 91512 https://bugs.webkit.org/show_bug.cgi?id=26910 91513 http://code.google.com/p/chromium/issues/detail?id=11976 91514 91515 Tested by building Chrome and checking that the scrollbar moves as expected. 91516 91517 * platform/chromium/ScrollbarThemeChromium.cpp: 91518 * platform/chromium/ScrollbarThemeChromium.h: 91519 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 91520 * platform/chromium/ScrollbarThemeChromiumLinux.h: 91521 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 91522 * platform/chromium/ScrollbarThemeChromiumWin.h: 91523 91524 2009-07-01 Brady Eidson <beidson (a] apple.com> 91525 91526 Reviewed by Sam Weinig. 91527 91528 Add a preference/setting to toggle whether content sniffing is enabled for file URLs. 91529 91530 * WebCore.base.exp: 91531 91532 * page/Settings.cpp: 91533 (WebCore::Settings::setLocalFileContentSniffingEnabled): 91534 * page/Settings.h: 91535 (WebCore::Settings::localFileContentSniffingEnabled): 91536 91537 * platform/network/mac/ResourceHandleMac.mm: 91538 (WebCore::ResourceHandle::start): 91539 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 91540 91541 2009-07-01 Chris Fleizach <cfleizach (a] apple.com> 91542 91543 Reviewed by Oliver Hunt. 91544 91545 Bug 26909: aria-label needs to be supported 91546 https://bugs.webkit.org/show_bug.cgi?id=26909 91547 91548 Test: accessibility/aria-label.html 91549 91550 * accessibility/AccessibilityRenderObject.cpp: 91551 (WebCore::AccessibilityRenderObject::accessibilityDescription): 91552 * html/HTMLAttributeNames.in: 91553 91554 2009-07-01 David Hyatt <hyatt (a] apple.com> 91555 91556 Reviewed by Oliver Hunt. 91557 91558 More datagrid columns work. Make sure columns cache both a style for the column header as well 91559 as a style for the column background (behind the cells). 91560 91561 Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and 91562 unimplemented). 91563 91564 * css/CSSStyleSelector.cpp: 91565 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn): 91566 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader): 91567 * css/CSSStyleSelector.h: 91568 * html/DataGridColumn.h: 91569 (WebCore::DataGridColumn::setColumnList): 91570 (WebCore::DataGridColumn::columnStyle): 91571 (WebCore::DataGridColumn::setColumnStyle): 91572 (WebCore::DataGridColumn::headerStyle): 91573 (WebCore::DataGridColumn::setHeaderStyle): 91574 * rendering/RenderDataGrid.cpp: 91575 (WebCore::RenderDataGrid::recalcStyleForColumn): 91576 (WebCore::RenderDataGrid::columnStyle): 91577 (WebCore::RenderDataGrid::headerStyle): 91578 (WebCore::RenderDataGrid::paintColumnHeaders): 91579 * rendering/RenderDataGrid.h: 91580 91581 2009-07-01 Eric Carlson <eric.carlson (a] apple.com> 91582 91583 Reviewed by Oliver Hunt. 91584 91585 <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 91586 back to Play button 91587 91588 Grab onto the current time when QTKit "ended" notification fires and use it as 91589 duration from that point on as QuickTime sometimes refuses to play all the way to 91590 the time it reports for duration and buffered. HTMLMediaElement assumes that there 91591 more to play in this situation and tries to restart playback, endlessly. 91592 91593 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 91594 Rename m_duration to m_reportedDuration. Declare m_cachedDuration. 91595 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 91596 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 91597 Rename m_duration to m_reportedDuration. Initialize m_cachedDuration. 91598 (WebCore::MediaPlayerPrivate::duration): 91599 Return m_cachedDuration once it has been set. 91600 (WebCore::MediaPlayerPrivate::updateStates): 91601 Rename m_duration to m_reportedDuration. 91602 (WebCore::MediaPlayerPrivate::didEnd): 91603 Set m_cachedDuration to currentTime(). 91604 91605 2009-07-01 Chris Fleizach <cfleizach (a] apple.com> 91606 91607 Reviewed by Beth Dakin. 91608 91609 Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions 91610 https://bugs.webkit.org/show_bug.cgi?id=26900 91611 91612 Editable web areas should have a clickpoint that uses where the selection is. 91613 91614 Test: accessibility/editable-webarea-context-menu-point.html 91615 91616 * accessibility/AccessibilityObject.h: 91617 * accessibility/AccessibilityRenderObject.cpp: 91618 (WebCore::AccessibilityRenderObject::clickPoint): 91619 * accessibility/AccessibilityRenderObject.h: 91620 * accessibility/mac/AccessibilityObjectWrapper.mm: 91621 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 91622 91623 2009-07-01 David Levin <levin (a] chromium.org> 91624 91625 Reviewed by Eric Seidel. 91626 91627 Remove unused code in SVGTransformList and SVGTransformDistance 91628 <https://bugs.webkit.org/show_bug.cgi?id=26891> 91629 91630 * svg/SVGTransformDistance.cpp: 91631 (WebCore::SVGTransformDistance::SVGTransformDistance): 91632 * svg/SVGTransformList.cpp: 91633 * svg/SVGTransformList.h: 91634 91635 2009-07-01 David Hyatt <hyatt (a] apple.com> 91636 91637 Reviewed by Anders Carlsson. 91638 91639 Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough 91640 is implemented for this to do much of anything yet, but it should help keep patch sizes down. :) 91641 91642 * html/DataGridColumn.cpp: 91643 (WebCore::DataGridColumn::columnChanged): 91644 * html/DataGridColumn.h: 91645 (WebCore::DataGridColumn::setId): 91646 (WebCore::DataGridColumn::setLabel): 91647 (WebCore::DataGridColumn::setType): 91648 (WebCore::DataGridColumn::setSortable): 91649 (WebCore::DataGridColumn::setSortDirection): 91650 (WebCore::DataGridColumn::setColumnList): 91651 (WebCore::DataGridColumn::style): 91652 (WebCore::DataGridColumn::setStyle): 91653 (WebCore::DataGridColumn::rect): 91654 (WebCore::DataGridColumn::setRect): 91655 * html/DataGridColumnList.cpp: 91656 (WebCore::DataGridColumnList::DataGridColumnList): 91657 (WebCore::DataGridColumnList::setDataGridNeedsLayout): 91658 (WebCore::DataGridColumnList::add): 91659 (WebCore::DataGridColumnList::remove): 91660 (WebCore::DataGridColumnList::move): 91661 (WebCore::DataGridColumnList::clear): 91662 (WebCore::DataGridColumnList::primaryColumnChanged): 91663 * html/DataGridColumnList.h: 91664 (WebCore::DataGridColumnList::create): 91665 (WebCore::DataGridColumnList::dataGrid): 91666 (WebCore::DataGridColumnList::clearDataGrid): 91667 * html/HTMLDataGridColElement.cpp: 91668 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 91669 (WebCore::HTMLDataGridColElement::findDataGridAncestor): 91670 (WebCore::HTMLDataGridColElement::insertedIntoTree): 91671 (WebCore::HTMLDataGridColElement::removedFromTree): 91672 * html/HTMLDataGridColElement.h: 91673 (WebCore::HTMLDataGridColElement::dataGrid): 91674 * html/HTMLDataGridElement.cpp: 91675 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 91676 (WebCore::HTMLDataGridElement::~HTMLDataGridElement): 91677 * rendering/RenderDataGrid.cpp: 91678 (WebCore::RenderDataGrid::styleDidChange): 91679 (WebCore::RenderDataGrid::recalcStyleForColumns): 91680 (WebCore::RenderDataGrid::recalcStyleForColumn): 91681 (WebCore::RenderDataGrid::styleForColumn): 91682 (WebCore::RenderDataGrid::layout): 91683 (WebCore::RenderDataGrid::layoutColumns): 91684 (WebCore::RenderDataGrid::paintColumnHeaders): 91685 (WebCore::RenderDataGrid::paintColumnHeader): 91686 * rendering/RenderDataGrid.h: 91687 (WebCore::RenderDataGrid::renderName): 91688 (WebCore::RenderDataGrid::canHaveChildren): 91689 91690 2009-07-01 Daniel Bates <dbates (a] intudata.com> 91691 91692 Reviewed by Adam Barth. 91693 91694 https://bugs.webkit.org/show_bug.cgi?id=26807 91695 91696 Fixes this address by checking whether frame->document()->decoder() is null. 91697 91698 * page/XSSAuditor.cpp: 91699 (WebCore::XSSAuditor::findInRequest): 91700 91701 2009-07-01 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 91702 91703 Reviewed by George Staikos. 91704 91705 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885 91706 91707 Correctly reset history length to '0', not '1'. Old relict from early WML days. 91708 Add some new WML testcases covering the use of history length (by onenterforward event handling) 91709 91710 Tests: wml/onenterforward-event.html 91711 wml/onenterforward-inline-event.html 91712 wml/ontimer-event.html 91713 91714 * wml/WMLPageState.cpp: 91715 (WebCore::WMLPageState::reset): 91716 91717 2009-07-01 David Hyatt <hyatt (a] apple.com> 91718 91719 Reviewed by Simon Fraser. 91720 91721 Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object. 91722 91723 Added new test in fast/dom/HTMLDataGridElement. 91724 91725 * html/HTMLDataGridColElement.cpp: 91726 (WebCore::HTMLDataGridColElement::parseMappedAttribute): 91727 * html/HTMLDataGridColElement.h: 91728 91729 2009-07-01 David Hyatt <hyatt (a] apple.com> 91730 91731 Reviewed by Tim Hatcher. 91732 91733 <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused, 91734 even though the field is not actually focused for keyboard input 91735 91736 Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the 91737 focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't 91738 actually happen to have focus at that time. 91739 91740 * WebCore.base.exp: 91741 * page/FocusController.cpp: 91742 (WebCore::FocusController::FocusController): 91743 (WebCore::FocusController::setFocusedFrame): 91744 (WebCore::FocusController::setFocused): 91745 (WebCore::FocusController::setActive): 91746 * page/FocusController.h: 91747 (WebCore::FocusController::isFocused): 91748 91749 2009-07-01 Jakub Wieczorek <faw217 (a] gmail.com> 91750 91751 Reviewed by Simon Hausmann. 91752 91753 [Qt] Move some API headers from WebCore.pro to headers.pri so that they 91754 get installed when running make install from the build directory. 91755 91756 * WebCore.pro: 91757 91758 2009-07-01 Simon Hausmann <simon.hausmann (a] nokia.com> 91759 91760 Rubber-stamped by Ariya Hidayat. 91761 91762 Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the 91763 qrc file with new png files from the web inspector. 91764 91765 * inspector/front-end/WebKit.qrc: 91766 91767 2009-06-30 Mark Rowe <mrowe (a] apple.com> 91768 91769 Land some code that has a hope of compiling. 91770 91771 * platform/graphics/cg/ImageSourceCG.cpp: 91772 (WebCore::imageSourceOptions): 91773 91774 2009-06-30 Stephanie Lewis <slewis (a] apple.com> 91775 91776 Reviewed by Simon Fraser. 91777 91778 Flip back on block caching. Throwing away block data, while 91779 a perceived memory win, is a performance hit in cases where we 91780 are repainting large images (i.e. backgrounds) frequently 91781 (i.e. a flash video playing on top). 91782 <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 91783 decoded on drawing, slowing down painting of sites that frequently 91784 repaint e.g. because of Flash (pandora.com, Starcraft 2) 91785 91786 * platform/graphics/cg/ImageSourceCG.cpp: 91787 (WebCore::imageSourceOptions): 91788 91789 2009-06-30 Maciej Stachowiak <mjs (a] apple.com> 91790 91791 Reviewed by Sam Weinig. 91792 91793 - Rename html4.css to html.css, since we target HTML5 now 91794 https://bugs.webkit.org/show_bug.cgi?id=26873 91795 91796 * DerivedSources.make: 91797 * GNUmakefile.am: 91798 * WebCore.pro: 91799 * WebCore.vcproj/WebCore.vcproj: 91800 * WebCore.xcodeproj/project.pbxproj: 91801 * css/CSSStyleSelector.cpp: 91802 (WebCore::loadFullDefaultStyle): 91803 * css/html.css: Copied from css/html4.css. 91804 * css/html4.css: Removed. 91805 * css/themeWin.css: 91806 * platform/Theme.h: 91807 * platform/qt/RenderThemeQt.cpp: 91808 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 91809 * rendering/RenderTheme.h: 91810 91811 2009-06-30 Zan Dobersek <zandobersek (a] gmail.com> 91812 91813 Reviewed by Gustavo Noronha. 91814 91815 [GTK] Drag and drop support 91816 https://bugs.webkit.org/show_bug.cgi?id=23642 91817 91818 Define DragImageRef as GdkPixbuf and implement essential 91819 functions which manipulate drag images. 91820 91821 * platform/DragImage.h: 91822 * platform/gtk/DragImageGtk.cpp: 91823 (WebCore::dragImageSize): 91824 (WebCore::deleteDragImage): 91825 (WebCore::scaleDragImage): 91826 (WebCore::createDragImageFromImage): 91827 91828 2009-06-30 Maxime Simon <simon.maxime (a] gmail.com> 91829 91830 Reviewed by Eric Seidel. 91831 91832 StorageNamespace.cpp build issue 91833 https://bugs.webkit.org/show_bug.cgi?id=26859 91834 91835 Moved #endif //ENABLE(DOM_STORAGE) position 91836 so that the build doesn't fail. 91837 The namespace WebCore was started after the #if ENABLE(DOM_STORAGE) 91838 but closed after the #endif. 91839 91840 * storage/StorageNamespace.cpp: 91841 91842 2009-06-30 Eric Carlson <eric.carlson (a] apple.com> 91843 91844 Reviewed by Oliver Hunt. 91845 91846 <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 91847 buffered time ranges 91848 91849 * html/HTMLMediaElement.cpp: 91850 Don't ASSERT if the network state goes to Idle when when the ready state is 91851 HaveEnoughData or higher, it is perfectly legal. 91852 (WebCore::HTMLMediaElement::setReadyState): 91853 Don't clear m_seeking after posting a 'seeking' event. 91854 91855 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 91856 (WebCore::MediaPlayerPrivate::seek): 91857 Do nothing when asked to seek to the same time we are already seeking to. Check requested 91858 seek time against maxTimeSeekable, not maxTimeLoaded. 91859 (WebCore::MediaPlayerPrivate::doSeek): 91860 Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable. 91861 (WebCore::MediaPlayerPrivate::seekTimerFired): 91862 Check requested seek time against maxTimeSeekable, not maxTimeLoaded. 91863 (WebCore::MediaPlayerPrivate::updateStates): 91864 A streaming movie has as much data as it needs once it reaches "playable", so 91865 set the ready state to HaveFutureData. A movie with metadata doesn't drop back 91866 to "have nothing" when seeking. A streaming movie doesn't use the network when paused. 91867 (WebCore::MediaPlayerPrivate::timeChanged): 91868 It may not be possible to seek to a specific time in a streamed movie but when seeking 91869 in a streaming movie QuickTime sets the time to closest time possible and posts a 91870 timechanged notification, so update m_seekTo so we can detect when the seek completes. 91871 91872 2009-06-30 Steve Falkenburg <sfalken (a] apple.com> 91873 91874 https://bugs.webkit.org/show_bug.cgi?id=26860 91875 91876 Reviewed by Sam Weinig. 91877 91878 Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6. 91879 Earlier versions cause corruption crashes. 91880 91881 * plugins/win/PluginPackageWin.cpp: 91882 (WebCore::PluginPackage::isPluginBlacklisted): 91883 91884 2009-06-30 Dean Jackson <dino (a] apple.com> 91885 91886 Reviewed by Simon Fraser. 91887 91888 <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING 91889 91890 Fix drawImage of video in CanvasRenderingContext2D when 91891 accelerated compositing is enabled. This is done by 91892 adding a new paint method to HTMLVideoElement that 91893 is only called from canvas, which will create the software 91894 renderer if necessary, but otherwise calls the regular 91895 paint method. Meanwhile, add logic to the software video 91896 renderer so that it can be created without calling repaint 91897 every time it sees a new frame. 91898 91899 * html/CanvasRenderingContext2D.cpp: 91900 (WebCore::CanvasRenderingContext2D::drawImage): 91901 * html/HTMLVideoElement.cpp: 91902 (WebCore::HTMLVideoElement::paintCurrentFrameInContext): 91903 * html/HTMLVideoElement.h: 91904 * platform/graphics/MediaPlayer.cpp: 91905 (WebCore::MediaPlayer::paintCurrentFrameInContext): 91906 * platform/graphics/MediaPlayer.h: 91907 * platform/graphics/MediaPlayerPrivate.h: 91908 (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext): 91909 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 91910 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 91911 (WebCore::MediaPlayerPrivate::createQTMovie): 91912 (WebCore::MediaPlayerPrivate::createQTVideoRenderer): 91913 (WebCore::MediaPlayerPrivate::currentRenderingMode): 91914 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 91915 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 91916 (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext): 91917 91918 2009-06-30 David Hyatt <hyatt (a] apple.com> 91919 91920 Reviewed by Beth Dakin. 91921 91922 https://bugs.webkit.org/show_bug.cgi?id=26858 91923 91924 Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed 91925 properly. (Attribute changes are still not caught. That is coming in a separate patch.) 91926 91927 Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html 91928 91929 * html/DataGridColumn.h: 91930 (WebCore::DataGridColumn::create): 91931 (WebCore::DataGridColumn::setColumnList): 91932 (WebCore::DataGridColumn::DataGridColumn): 91933 * html/DataGridColumnList.cpp: 91934 (WebCore::DataGridColumnList::add): 91935 (WebCore::DataGridColumnList::remove): 91936 (WebCore::DataGridColumnList::clear): 91937 * html/DataGridColumnList.h: 91938 * html/HTMLDataGridColElement.cpp: 91939 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 91940 (WebCore::HTMLDataGridColElement::findDatagridAncestor): 91941 (WebCore::HTMLDataGridColElement::ensureColumn): 91942 (WebCore::HTMLDataGridColElement::insertedIntoTree): 91943 (WebCore::HTMLDataGridColElement::removedFromTree): 91944 (WebCore::HTMLDataGridColElement::sortable): 91945 (WebCore::HTMLDataGridColElement::setSortable): 91946 * html/HTMLDataGridColElement.h: 91947 (WebCore::HTMLDataGridColElement::column): 91948 (WebCore::HTMLDataGridColElement::setColumn): 91949 (WebCore::HTMLDataGridColElement::datagrid): 91950 * html/HTMLDataGridElement.cpp: 91951 (WebCore::HTMLDataGridElement::setDataSource): 91952 (WebCore::HTMLDataGridElement::dataSource): 91953 91954 2009-06-30 Jeremy Orlow (jorlow (a] chromium.org) 91955 91956 Reviewed by David Levin. 91957 91958 https://bugs.webkit.org/show_bug.cgi?id=26852 91959 91960 Fix some minor build issues in the v8 bindings. 91961 91962 * bindings/v8/custom/V8StorageCustom.cpp: 91963 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 91964 (WebCore::storageGetter): 91965 (WebCore::storageSetter): 91966 (WebCore::storageDeleter): 91967 * storage/StorageArea.cpp: 91968 91969 2009-06-30 Adam Langley <agl (a] google.com> 91970 91971 Reviewed by Eric Seidel. 91972 91973 Chromium Linux: use different fonts for each script run. 91974 91975 https://bugs.webkit.org/show_bug.cgi?id=26853 91976 91977 Previously, when rendering complex text, we picked a single font which 91978 could render all the glyphs needed for the run. However, this meant 91979 that sometimes lines were rendered with, for example, [LATIN, THAI, 91980 LATIN] and we could end up with a different font for the Latin parts 91981 than for lines without Thai in them. 91982 91983 With this patch, we pick a font for each script run. 91984 91985 This change is covered by existing layout tests. 91986 91987 * platform/graphics/chromium/FontLinux.cpp: 91988 (WebCore::Font::drawGlyphs): 91989 (WebCore::TextRunWalker::TextRunWalker): 91990 (WebCore::TextRunWalker::~TextRunWalker): 91991 (WebCore::TextRunWalker::nextScriptRun): 91992 (WebCore::TextRunWalker::fontPlatformDataForScriptRun): 91993 (WebCore::TextRunWalker::setupFontForScriptRun): 91994 (WebCore::TextRunWalker::allocHarfbuzzFont): 91995 (WebCore::setupForTextPainting): 91996 (WebCore::Font::drawComplexText): 91997 (WebCore::Font::floatWidthForComplexText): 91998 (WebCore::Font::offsetForPositionForComplexText): 91999 (WebCore::Font::selectionRectForComplexText): 92000 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 92001 (WebCore::FontPlatformData::setupPaint): 92002 92003 2009-06-30 Simon Fraser <simon.fraser (a] apple.com> 92004 92005 Reviewed by Dave Hyatt, Dan Bernstein. 92006 92007 <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing 92008 92009 There are two parts to this fix. First, if a compositing layer has overflow clipping 92010 or a mask, then the compositing layer does not need to be sized to encompass all 92011 non-composited children. 92012 92013 Second, when scrolling, we have to back up to the compositing ancestor and have 92014 it reposition descendant compositing layers, because overflow doesn't follow 92015 the z-order tree. 92016 92017 Test: compositing/overflow/overflow-scroll.html 92018 92019 * page/FrameView.cpp: 92020 (WebCore::FrameView::layout): 92021 Pass the UpdateCompositingLayers flag when updating layers after layout, so that 92022 we can reposition compositing layers if we're not about to do a layer rebuild. 92023 92024 * rendering/RenderLayer.cpp: 92025 (WebCore::RenderLayer::updateLayerPositions): 92026 Only update compositing layers if the flag is set. 92027 92028 (WebCore::RenderLayer::scrollToOffset): 92029 Do compositing layer updates from the compositing ancestor in one fell swoop. 92030 92031 * rendering/RenderLayer.h: 92032 Replace the unused FullUpdate flag with one that allows us to specify whether 92033 compositing layers should be updated. 92034 92035 * rendering/RenderLayerBacking.cpp: 92036 (WebCore::RenderLayerBacking::updateAfterLayout): 92037 * rendering/RenderLayerBacking.h: 92038 New param that we can pass to updateCompositingDescendantGeometry to control 92039 whether the update goes deep. 92040 92041 * rendering/RenderLayerCompositor.cpp: 92042 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 92043 We can return earlier if this is not a self-painting layer. 92044 If the layer has overflow clip or a mask, then the composited bounds are just the 92045 local bounds, excluding descendants. 92046 92047 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): 92048 * rendering/RenderLayerCompositor.h: 92049 Renamed from updateCompositingChildrenGeometry, and added a flag that allows 92050 us to do a deep update. 92051 92052 2009-06-30 Alexey Proskuryakov <ap (a] webkit.org> 92053 92054 Reviewed by Dan Bernstein. 92055 92056 https://bugs.webkit.org/show_bug.cgi?id=26764 92057 Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file 92058 92059 Test: fast/parser/empty-text-resource.html 92060 92061 * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it 92062 hasn't been created yet. 92063 92064 2009-06-30 Brian Weinstein <bweinstein (a] apple.com> 92065 92066 Reviewed by Adam Roben. 92067 92068 Renamed scrollbarUnderPoint to scrollbarAtPoint. 92069 92070 * page/EventHandler.cpp: 92071 (WebCore::EventHandler::hitTestResultAtPoint): 92072 (WebCore::EventHandler::handleMousePressEvent): 92073 (WebCore::EventHandler::handleMouseMoveEvent): 92074 * platform/ScrollView.cpp: 92075 (WebCore::ScrollView::scrollbarAtPoint): 92076 * platform/ScrollView.h: 92077 * platform/chromium/PopupMenuChromium.cpp: 92078 (WebCore::PopupListBox::handleMouseDownEvent): 92079 (WebCore::PopupListBox::handleMouseMoveEvent): 92080 92081 2009-06-30 Oliver Hunt <oliver (a] apple.com> 92082 92083 Reviewed by Geoff Garen. 92084 92085 <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const 62 92086 92087 <select> elements and other elements the produce popups can keep their popups 92088 live across a page load. If this occurs and the <select> element has an 92089 onchange handler it is possible to get into a state where we try to execute 92090 JS on a page that no longer has an execution context. 92091 92092 * bindings/js/JSLazyEventListener.cpp: 92093 (WebCore::JSLazyEventListener::parseCode): 92094 Be paranoid and add a null check, but assert as well because we shouldn't 92095 actually get to this point. 92096 * rendering/RenderMenuList.cpp: 92097 (WebCore::RenderMenuList::valueChanged): 92098 92099 2009-06-30 Drew Wilson <atwilson (a] google.com> 92100 92101 Reviewed by David Levin. 92102 92103 <https://bugs.webkit.org/show_bug.cgi?id=25435> 92104 92105 Added support for sending MessagePorts to/from Workers via postMessage(). 92106 92107 * bindings/js/JSWorkerContextCustom.cpp: 92108 (WebCore::JSWorkerContext::messageChannel): 92109 Exposes MessageChannel constructor WorkerContext. 92110 * bindings/js/JSWorkerCustom.cpp: 92111 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 92112 (WebCore::CALLBACK_FUNC_DECL): 92113 Now correctly handles being instantiated from within a Worker. 92114 * platform/CrossThreadCopier.h: 92115 (WebCore::GenericWorkerTaskTraits<PassOwnPtr>): 92116 Added support for passing PassOwnPtr as argument to GenericWorkerTask 92117 * workers/GenericWorkerTask.h: 92118 (WebCore::): 92119 * workers/Worker.cpp: 92120 (WebCore::Worker::postMessage): 92121 Now handles disentangling/entangling MessagePorts sent to/from via postMessage. 92122 (WebCore::Worker::dispatchMessage): 92123 * workers/Worker.h: 92124 * workers/Worker.idl: 92125 Added an optional MessagePort argument to postMessage() 92126 * workers/WorkerContext.cpp: 92127 (WebCore::WorkerContext::hasPendingActivity): 92128 Workers now report pending activity whenever there are remotely entangled ports. 92129 (WebCore::WorkerContext::postMessage): 92130 Now handles disentangling/entangling MessagePorts sent to/from via postMessage. 92131 (WebCore::WorkerContext::dispatchMessage): 92132 * workers/WorkerContext.h: 92133 * workers/WorkerContext.idl: 92134 Added an optional MessagePort argument to postMessage() 92135 * workers/WorkerContextProxy.h: 92136 * workers/WorkerMessagingProxy.cpp: 92137 Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel. 92138 (WebCore::MessageWorkerContextTask::create): 92139 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): 92140 (WebCore::MessageWorkerContextTask::performTask): 92141 (WebCore::MessageWorkerTask::create): 92142 (WebCore::MessageWorkerTask::MessageWorkerTask): 92143 (WebCore::MessageWorkerTask::performTask): 92144 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): 92145 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 92146 * workers/WorkerMessagingProxy.h: 92147 Added additional postMessage() API that accepts a MessagePort 92148 * workers/WorkerObjectProxy.h: 92149 Added additional postMessage() API that accepts a MessagePort 92150 92151 2009-06-30 Adam Langley <agl (a] google.com> 92152 92153 Reviewed by Eric Seidel. 92154 92155 Chromium: Add complex text support on Linux. 92156 92157 https://bugs.webkit.org/show_bug.cgi?id=25068 92158 92159 This patch adds complex text support on Linux using Harfbuzz. It's not 92160 the fastest code possible: some caching of font tables will certainly 92161 be required. However, it's probably the simplest code that works. 92162 92163 This will require checking in new baselines in the Chromium tree for 92164 those layout tests which now pass. 92165 92166 * platform/graphics/chromium/FontLinux.cpp: 92167 (WebCore::Font::drawGlyphs): 92168 (WebCore::truncateFixedPointToInteger): 92169 (WebCore::TextRunWalker::TextRunWalker): 92170 (WebCore::TextRunWalker::~TextRunWalker): 92171 (WebCore::TextRunWalker::reset): 92172 (WebCore::TextRunWalker::setXOffsetToZero): 92173 (WebCore::TextRunWalker::rtl): 92174 (WebCore::TextRunWalker::setBackwardsIteration): 92175 (WebCore::TextRunWalker::nextScriptRun): 92176 (WebCore::TextRunWalker::glyphs): 92177 (WebCore::TextRunWalker::length): 92178 (WebCore::TextRunWalker::xPositions): 92179 (WebCore::TextRunWalker::advances): 92180 (WebCore::TextRunWalker::width): 92181 (WebCore::TextRunWalker::logClusters): 92182 (WebCore::TextRunWalker::numCodePoints): 92183 (WebCore::TextRunWalker::widthOfFullRun): 92184 (WebCore::TextRunWalker::allocHarfbuzzFont): 92185 (WebCore::TextRunWalker::deleteGlyphArrays): 92186 (WebCore::TextRunWalker::createGlyphArrays): 92187 (WebCore::TextRunWalker::expandGlyphArrays): 92188 (WebCore::TextRunWalker::shapeGlyphs): 92189 (WebCore::TextRunWalker::setGlyphXPositions): 92190 (WebCore::setupForTextPainting): 92191 (WebCore::fontPlatformDataForTextRun): 92192 (WebCore::Font::drawComplexText): 92193 (WebCore::Font::floatWidthForComplexText): 92194 (WebCore::glyphIndexForXPositionInScriptRun): 92195 (WebCore::Font::offsetForPositionForComplexText): 92196 (WebCore::Font::selectionRectForComplexText): 92197 * platform/graphics/chromium/HarfbuzzSkia.cpp: Added. 92198 (WebCore::SkiaScalarToHarfbuzzFixed): 92199 (WebCore::stringToGlyphs): 92200 (WebCore::glyphsToAdvances): 92201 (WebCore::canRender): 92202 (WebCore::getOutlinePoint): 92203 (WebCore::getGlyphMetrics): 92204 (WebCore::getFontMetric): 92205 (WebCore::harfbuzzSkiaGetTable): 92206 92207 2009-06-30 Eric Carlson <eric.carlson (a] apple.com> 92208 92209 Reviewed by Simon Fraser. 92210 92211 <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily 92212 92213 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 92214 (WebCore::MediaPlayerPrivate::updateStates): 92215 Always fall back to a plug-in if m_hasUnsupportedTracks is set. 92216 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 92217 Set m_hasUnsupportedTracks if we disable a track. 92218 92219 2009-06-30 Nate Chapin <japhet (a] chromium.org> 92220 92221 Reviewed by Dimitri Glazkov. 92222 92223 Fix inverted if/else that's causing a layout test in src.chromium.org to fail. 92224 92225 https://bugs.webkit.org/show_bug.cgi?id=26820 92226 92227 * bindings/v8/V8Proxy.cpp: 92228 (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2). 92229 92230 2009-06-30 Dan Bernstein <mitz (a] apple.com> 92231 92232 Reviewed by Dave Hyatt. 92233 92234 - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap 92235 to Grid" window is clipping 92236 92237 Added an app-specific quirk to revert the behavior of <link> elements 92238 to the way it was before r30673, namely that if the rel attribute 92239 is not "stylesheet" but the type attribute contains "text/css", the 92240 link behaves as a stylesheet link. 92241 92242 * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet(). 92243 * html/HTMLLinkElement.cpp: 92244 (WebCore::HTMLLinkElement::process): Check 92245 Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a 92246 style sheet link if the type contains "text/css". 92247 * page/Settings.cpp: 92248 (WebCore::Settings::Settings): 92249 Initialize m_treatsAnyTextCSSLinkAsStylesheet. 92250 (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added. 92251 * page/Settings.h: 92252 (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added. 92253 92254 2009-06-30 Adrien Nader <camaradetux (a] gmail.com> 92255 92256 Reviewed by Xan Lopez. 92257 92258 Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore. 92259 92260 * GNUmakefile.am: 92261 92262 2009-06-30 Jan Michael Alonzo <jmalonzo (a] webkit.org> 92263 92264 Reviewed by Xan Lopez. 92265 92266 [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests. 92267 92268 * GNUmakefile.am: 92269 92270 2009-06-30 Raju Kunnath <raju.kunnath (a] nokia.com> 92271 92272 Reviewed by Simon Hausmann. 92273 92274 <https://bugs.webkit.org/show_bug.cgi?id=26752> 92275 92276 [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 92277 92278 * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008. 92279 92280 2009-06-30 Xan Lopez <xlopez (a] igalia.com> 92281 92282 Reviewed by Jan Alonzo. 92283 92284 Initialize member variables in the right order. Fixes compiler 92285 warning. 92286 92287 * platform/image-decoders/bmp/BMPImageReader.cpp: 92288 (WebCore::BMPImageReader::BMPImageReader): 92289 92290 2009-06-29 Xan Lopez <xlopez (a] igalia.com> 92291 92292 Reviewed by David Levin. 92293 92294 https://bugs.webkit.org/show_bug.cgi?id=26831 92295 Fix compiler warning in WorkerLoaderProxy.h 92296 92297 Forward declaration of a class within a class is not allowed, 92298 since the compiler can't know if the declaration is legal at that 92299 point. This gives the following compiler warning: 92300 92301 ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration 92302 "class WebCore::ScriptExecutionContext::Task" does not declare 92303 anything 92304 92305 Include the full ScriptExecutionHeader header instead. 92306 92307 * workers/WorkerLoaderProxy.h: 92308 92309 2009-06-29 Xan Lopez <xlopez (a] igalia.com> 92310 92311 Reviewed by Jan Alonzo. 92312 92313 Remove unused function. 92314 92315 * plugins/gtk/PluginPackageGtk.cpp: 92316 92317 2009-06-29 Simon Fraser <simon.fraser (a] apple.com> 92318 92319 Reviewed by Dan Bernstein. 92320 92321 Change RenderLayer::updateLayerPositions() to use a bitmask instead of two 92322 boolean arguments. FullUpdate is unused at present, but will be used soon. 92323 92324 * page/FrameView.cpp: 92325 (WebCore::FrameView::layout): 92326 * rendering/RenderLayer.cpp: 92327 (WebCore::RenderLayer::updateLayerPositions): 92328 (WebCore::RenderLayer::scrollToOffset): 92329 * rendering/RenderLayer.h: 92330 (WebCore::RenderLayer::): 92331 92332 2009-06-29 Nate Chapin <japhet (a] chromium.org> 92333 92334 Reviewed by Dimitri Glazkov. 92335 92336 Fix one more bad merge in V8Proxy. 92337 92338 https://bugs.webkit.org/show_bug.cgi?id=26819 92339 92340 * bindings/v8/V8Proxy.cpp: 92341 (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object(). 92342 92343 2009-06-29 Sam Weinig <sam (a] webkit.org> 92344 92345 Reviewed by Mark Rowe. 92346 92347 Remove more unused scons support. 92348 92349 * SConstruct: Removed. 92350 92351 2009-06-29 Sam Weinig <sam (a] webkit.org> 92352 92353 Reviewed by Dave Hyatt. 92354 92355 Fix some incorrect create functions. 92356 92357 * html/DataGridColumn.h: 92358 (WebCore::DataGridColumn::create): 92359 * html/DataGridColumnList.h: 92360 (WebCore::DataGridColumnList::create): 92361 92362 2009-06-29 Sam Weinig <sam (a] webkit.org> 92363 92364 Reviewed by Dave Hyatt. 92365 92366 Remove initialize method from DataGridDataSource and add 92367 DOMDataGridDataSource. 92368 92369 * GNUmakefile.am: 92370 * WebCore.pro: 92371 * WebCore.vcproj/WebCore.vcproj: 92372 * WebCore.xcodeproj/project.pbxproj: 92373 * WebCoreSources.bkl: 92374 * bindings/js/JSDataGridDataSource.cpp: 92375 * bindings/js/JSDataGridDataSource.h: 92376 * bindings/js/JSHTMLDataGridElementCustom.cpp: 92377 (WebCore::JSHTMLDataGridElement::setDataSource): 92378 * html/DOMDataGridDataSource.cpp: Added. 92379 (WebCore::DOMDataGridDataSource::DOMDataGridDataSource): 92380 (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource): 92381 * html/DOMDataGridDataSource.h: Added. 92382 (WebCore::DOMDataGridDataSource::create): 92383 (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource): 92384 (WebCore::asDOMDataGridDataSource): 92385 * html/DataGridDataSource.h: 92386 (WebCore::DataGridDataSource::isDOMDataGridDataSource): 92387 (WebCore::DataGridDataSource::isJSDataGridDataSource): 92388 * html/HTMLDataGridElement.cpp: 92389 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 92390 (WebCore::HTMLDataGridElement::setDataSource): 92391 (WebCore::HTMLDataGridElement::dataSource): 92392 * html/HTMLDataGridElement.h: 92393 92394 2009-06-29 Nate Chapin <japhet (a] chromium.org> 92395 92396 Reviewed by Dimitri Glazkov. 92397 92398 Fix a couple of bad merge items from my previous V8Proxy patch. 92399 92400 https://bugs.webkit.org/show_bug.cgi?id=26813 92401 92402 * bindings/v8/V8Collection.h: 92403 (WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through. 92404 * bindings/v8/V8Proxy.cpp: 92405 (WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in. 92406 92407 2009-06-29 Chris Marrin <cmarrin (a] apple.com> 92408 92409 Reviewed by Simon Fraser <simon.fraser (a] apple.com>. 92410 92411 https://bugs.webkit.org/show_bug.cgi?id=26706 92412 92413 Fixed crash due to dereference of m_toStyle 92414 92415 * page/animation/ImplicitAnimation.cpp: 92416 (WebCore::ImplicitAnimation::isTargetPropertyEqual): 92417 92418 2009-06-29 Eric Carlson <eric.carlson (a] apple.com> 92419 92420 Reviewed by Simon Fraser. 92421 92422 <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded. 92423 92424 * WebCore.base.exp: 92425 Export _wkQTMovieGetType 92426 92427 * platform/graphics/MediaPlayer.cpp: 92428 (WebCore::MediaPlayer::hasSingleSecurityOrigin): 92429 Move to keep with other non-callback functions. 92430 (WebCore::MediaPlayer::movieLoadType): 92431 New, returns the movie type. 92432 * platform/graphics/MediaPlayer.h: 92433 Declare MovieLoadType enum and movieLoadType method. 92434 92435 * platform/graphics/MediaPlayerPrivate.h: 92436 (WebCore::MediaPlayerPrivateInterface::movieLoadType): 92437 Default implementation of movieLoadType 92438 92439 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 92440 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 92441 (WebCore::MediaPlayerPrivate::createQTMovie): 92442 Don't base m_isStreaming on protocol, there are other types of streaming movies. 92443 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 92444 Don't assume all streams are unbuffered. 92445 (WebCore::MediaPlayerPrivate::updateStates): 92446 Update m_isStreaming once we have metadata. 92447 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 92448 Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount. 92449 (WebCore::MediaPlayerPrivate::movieLoadType): 92450 New, return movie type. 92451 92452 * platform/mac/WebCoreSystemInterface.h: 92453 * platform/mac/WebCoreSystemInterface.mm: 92454 Add wkQTMovieGetType. 92455 92456 2009-06-29 Alice Liu <alice.liu (a] apple.com> 92457 92458 Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery 92459 92460 Reviewed by Anders Carlsson. 92461 92462 No test added because the crash requires a flash plugin 92463 92464 * plugins/win/PluginMessageThrottlerWin.cpp: 92465 Rely on the hWnd of the plugin to tell us whether the PluginView has 92466 been deleted during execution of its wndProc. 92467 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): 92468 92469 2009-06-29 Dmitry Titov <dimich (a] chromium.org> 92470 92471 Reviewed by David Levin. 92472 92473 https://bugs.webkit.org/show_bug.cgi?id=26811 92474 [Chromium] Remove a flag and functions used to enable workers in runtime. 92475 92476 * bindings/v8/WorkerContextExecutionProxy.cpp: 92477 * bindings/v8/WorkerContextExecutionProxy.h: 92478 92479 2009-06-29 Simon Fraser <simon.fraser (a] apple.com> 92480 92481 Reviewed by Dave Hyatt. 92482 92483 <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers. 92484 92485 Improve the appearance of text in compositing layers by making use of 92486 CA's layer geometry flipping, rather that doing it ourselves with a flip 92487 transform. This allows CG to use font autohinting in the layer text. 92488 92489 * platform/graphics/GraphicsLayer.h: 92490 (WebCore::GraphicsLayer::setGeometryOrientation): 92491 (WebCore::GraphicsLayer::geometryOrientation): 92492 New methods to set whether this layer uses flipped geometry. 92493 92494 * platform/graphics/mac/GraphicsLayerCA.h: 92495 * platform/graphics/mac/GraphicsLayerCA.mm: 92496 (WebCore::GraphicsLayerCA::setGeometryOrientation): 92497 (WebCore::GraphicsLayerCA::geometryOrientation): 92498 Subclass in order to call into CA 92499 92500 (WebCore::GraphicsLayerCA::setContentsLayer): 92501 Now that CA is doing the geometry flipping, we no longer need to flip the content 92502 layers for image and video manually 92503 92504 * rendering/RenderLayerCompositor.cpp: 92505 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 92506 Turn on flipping on the root layer. 92507 92508 2009-06-29 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 92509 92510 Reviewed by Adam Treat. 92511 92512 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246 92513 92514 Implement most WML specific <select> element features. 92515 Add 'iname' / 'ivalue' support and support variable references. 92516 92517 Add two tests covering most select/variable related functionality. 92518 Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick). 92519 92520 Tests: http/tests/wml/post-data-to-server.html 92521 wml/select-element-variables.html 92522 92523 * dom/SelectElement.cpp: 92524 (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML. 92525 * dom/SelectElement.h: 92526 * html/HTMLSelectElement.cpp: 92527 (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML). 92528 * wml/WMLCardElement.cpp: 92529 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization. 92530 * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing. 92531 (WebCore::WMLSelectElement::title): 92532 (WebCore::WMLSelectElement::formControlName): 92533 (WebCore::WMLSelectElement::defaultEventHandler): 92534 (WebCore::WMLSelectElement::selectInitialOptions): 92535 (WebCore::WMLSelectElement::calculateDefaultOptionIndices): 92536 (WebCore::WMLSelectElement::selectDefaultOptions): 92537 (WebCore::WMLSelectElement::initializeVariables): 92538 (WebCore::WMLSelectElement::updateVariables): 92539 (WebCore::WMLSelectElement::parseIndexValueString): 92540 (WebCore::WMLSelectElement::valueStringToOptionIndices): 92541 (WebCore::WMLSelectElement::optionIndicesToValueString): 92542 (WebCore::WMLSelectElement::optionIndicesToString): 92543 (WebCore::WMLSelectElement::name): 92544 (WebCore::WMLSelectElement::value): 92545 (WebCore::WMLSelectElement::iname): 92546 (WebCore::WMLSelectElement::ivalue): 92547 * wml/WMLSelectElement.h: 92548 92549 2009-06-29 David Hyatt <hyatt (a] apple.com> 92550 92551 Reviewed by Adam Roben. 92552 92553 Put <datagrid> behind an ifdef. 92554 92555 * Configurations/FeatureDefines.xcconfig: 92556 * bindings/js/JSDataGridColumnListCustom.cpp: 92557 * bindings/js/JSDataGridDataSource.cpp: 92558 * bindings/js/JSDataGridDataSource.h: 92559 * bindings/js/JSHTMLDataGridElementCustom.cpp: 92560 * html/DataGridColumn.cpp: 92561 * html/DataGridColumn.h: 92562 * html/DataGridColumn.idl: 92563 * html/DataGridColumnList.cpp: 92564 * html/DataGridColumnList.h: 92565 * html/DataGridColumnList.idl: 92566 * html/DataGridDataSource.h: 92567 * html/HTMLDataGridCellElement.cpp: 92568 * html/HTMLDataGridCellElement.h: 92569 * html/HTMLDataGridCellElement.idl: 92570 * html/HTMLDataGridColElement.cpp: 92571 * html/HTMLDataGridColElement.h: 92572 * html/HTMLDataGridColElement.idl: 92573 * html/HTMLDataGridElement.cpp: 92574 * html/HTMLDataGridElement.h: 92575 * html/HTMLDataGridElement.idl: 92576 * html/HTMLDataGridRowElement.cpp: 92577 * html/HTMLDataGridRowElement.h: 92578 * html/HTMLDataGridRowElement.idl: 92579 * html/HTMLTagNames.in: 92580 * page/DOMWindow.idl: 92581 * rendering/RenderDataGrid.cpp: 92582 * rendering/RenderDataGrid.h: 92583 92584 2009-06-29 Simon Hausmann <simon.hausmann (a] nokia.com> 92585 92586 Reviewed by Ariya Hidayat and Adam Roben. 92587 92588 Fix compilation with MINGW. Ported MSVC inline assembly to 92589 GNU inline assembly. Also fixed casting errors where gcc 92590 refused to cast a pointer-to-function to a pointer-to-object, 92591 without an intermediate cast to a non-pointer type. 92592 92593 * plugins/win/PluginViewWin.cpp: 92594 (WebCore::PluginView::hookedBeginPaint): 92595 (WebCore::PluginView::hookedEndPaint): 92596 (WebCore::hook): 92597 (WebCore::setUpOffscreenPaintingHooks): 92598 92599 2009-06-26 John Sullivan <sullivan (a] apple.com> 92600 92601 Added Speech submenu to context menu on Mac when there's a non-editable selection 92602 (it was already present when there's an editable selection). 92603 Also added support for disabling "Stop Speaking" when there is no speaking to stop. 92604 92605 Reviewed by Tim Hatcher. 92606 92607 * loader/EmptyClients.h: 92608 (WebCore::EmptyContextMenuClient::isSpeaking): 92609 implemented this new virtual function to return false 92610 92611 * page/ContextMenuClient.h: 92612 declared this new pure virtual function 92613 92614 * platform/ContextMenu.cpp: 92615 (WebCore::ContextMenu::populate): 92616 insert Speech item (after a separator) on Mac when there's selected non-editable text 92617 (WebCore::ContextMenu::checkOrEnableIfNeeded): 92618 enable Stop Speaking item only if the context menu client returns true for isSpeaking() 92619 92620 2009-06-28 Dan Bernstein <mitz (a] apple.com> 92621 92622 Reviewed by Simon Fraser. 92623 92624 - fix https://bugs.webkit.org/show_bug.cgi?id=26783 92625 <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed 92626 in MobileMe iDisk Web App 92627 92628 Test: added a case to fast/dom/Element/scrollWidth.html 92629 92630 Ensure that scroll{Width, Height} is greater or equal to 92631 client{Width, Height}. 92632 92633 * rendering/RenderBox.cpp: 92634 (WebCore::RenderBox::scrollWidth): 92635 (WebCore::RenderBox::scrollHeight): 92636 92637 2009-06-27 Simon Fraser <simon.fraser (a] apple.com> 92638 92639 Reviewed by Eric Seidel. 92640 92641 https://bugs.webkit.org/show_bug.cgi?id=26780 92642 92643 Do not make compositing layers for non-self-painting RenderLayers, 92644 since these exist only to push a clip onto the clipping stack. If such 92645 a layer gets compositied for some other reason, it should not paint. 92646 92647 Also ensure that we update composited layer positions correctly 92648 inside overflow:scroll layers. We can't assume that the contents 92649 are child layers, so we have to go up to the compositing ancestor, 92650 and tell it to update all its child layer positions as we do 92651 after layout. 92652 92653 Tests: compositing/layers-inside-overflow-scroll.html 92654 compositing/self-painting-layers.html 92655 92656 * rendering/RenderLayer.cpp: 92657 (WebCore::RenderLayer::scrollToOffset): 92658 * rendering/RenderLayerBacking.cpp: 92659 (WebCore::RenderLayerBacking::paintIntoLayer): 92660 * rendering/RenderLayerCompositor.cpp: 92661 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 92662 (WebCore::RenderLayerCompositor::needsToBeComposited): 92663 92664 2009-06-28 Luke Kenneth Casson Leighton <lkcl (a] lkcl.net> 92665 92666 Reviewed by Eric Seidel. 92667 92668 PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build 92669 https://bugs.webkit.org/show_bug.cgi?id=23057 92670 92671 Define these functions for Gtk as well. 92672 92673 * platform/PurgeableBuffer.h: 92674 92675 2009-06-28 Nate Chapin <japhet (a] chromium.org> 92676 92677 Reviewed by Dimitri Glazkov. 92678 92679 Update CodeGeneratorV8.pm to match the new api for V8Proxy. 92680 92681 https://bugs.webkit.org/show_bug.cgi?id=26765 92682 92683 * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy. 92684 92685 2009-06-28 Nicolas Sylvain <nsylvain (a] chromium.org> 92686 92687 Reviewed by Dimitri Glazkov. 92688 92689 If loading a font fails because of the sandbox, we ask the browser process to 92690 try to load it by calling ensureFontLoaded. If it still fails after 92691 ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 92692 92693 This case happens once in a while during browser shutdown. The browser will 92694 queue a message to the renderer to shutdown, and will then stop answering sync 92695 messages from the renderer. If the renderer is still loading a page during this 92696 time, it might try to call the browser process to ask to load a font. The 92697 browser process will ignore the request, and the font will fail to load, even 92698 after the second try. 92699 92700 This is unfortunate, but there is no real risk here, since the renderer will be 92701 going away as soon as it processes another message. 92702 92703 This can't be layout tested as it depends on the sandbox. 92704 92705 https://bugs.webkit.org/show_bug.cgi?id=26743 92706 92707 * platform/graphics/chromium/FontChromiumWin.cpp: 92708 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 92709 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 92710 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 92711 92712 2009-06-28 John Abd-El-Malek <jam (a] chromium.org> 92713 92714 Reviewed by Eric Seidel. 92715 92716 https://bugs.webkit.org/show_bug.cgi?id=15457 92717 92718 Test: plugins/netscape-plugin-map-data-to-src.html 92719 92720 Fix problems with Real or WMP plugins not displaying because "data" was set 92721 on the OBJECT tag instead of "src". This is based on what Firefox does, see 92722 http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045 92723 92724 * rendering/RenderPartObject.cpp: 92725 (WebCore::mapDataParamToSrc): 92726 (WebCore::RenderPartObject::updateWidget): 92727 92728 2009-06-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 92729 92730 Reviewed by Jan Alonzo. 92731 92732 [Qt] Build fix after r45290 92733 https://bugs.webkit.org/show_bug.cgi?id=26769 92734 92735 * WebCore.pro: 92736 92737 2009-06-27 Emilio Pozuelo Monfort <pochu27 (a] gmail.com> 92738 92739 Reviewed by Jan Alonzo. 92740 92741 [GTK] Don't use deprecated GTKsymbols. 92742 https://bugs.webkit.org/show_bug.cgi?id=26583 92743 92744 * plugins/gtk/gtk2xtbin.c: 92745 (gtk_xtbin_class_init): 92746 (gtk_xtbin_new): 92747 (gtk_xtbin_destroy): 92748 92749 2009-06-27 Simon Fraser <simon.fraser (a] apple.com> 92750 92751 Reviewed by Dan Bernstein. 92752 92753 https://bugs.webkit.org/show_bug.cgi?id=26780 92754 92755 Fix up previous change. When computeCompositingRequirements() determines 92756 that the current layer is composited, it needs to inform its parent 92757 by setting compositingState.m_subtreeIsCompositing() to true. That didn't 92758 always happen after the previous patch. Clarified the logic here. 92759 92760 * rendering/RenderLayerCompositor.cpp: 92761 (WebCore::CompositingState::CompositingState): 92762 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 92763 92764 2009-06-27 Simon Fraser <simon.fraser (a] apple.com> 92765 92766 Reviewed by Dan Bernstein. 92767 92768 https://bugs.webkit.org/show_bug.cgi?id=26780 92769 92770 First part: fix the RenderLayer::hasCompositingDescendant() flag to be set 92771 correctly. 92772 92773 * rendering/RenderLayerCompositor.cpp: 92774 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 92775 Do not unconditionally set compositingState.m_subtreeIsCompositing, because 92776 that can clobber the value from an earlier sibling. Add some more comments. 92777 92778 Remove a final use of Vector iterators. 92779 92780 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): 92781 Move the normalFlowList() processing outside the test for isStackingContext(). 92782 92783 2009-06-27 Dan Bernstein <mitz (a] apple.com> 92784 92785 Reviewed by Simon Fraser and Antti Koivisto. 92786 92787 - make paintFillLayerExtended() non-virtual and remove its clipY and 92788 clipH parameters 92789 92790 These parameters were computed and passed along to 92791 paintFillLayerExtended in order to vertically constrain the rect fill to 92792 the damage rect, because Qt cannot paint tall rectangles (see 92793 <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect 92794 is passed along in the PaintInfo, the extra parameters are redundant, 92795 and the intersection can just take place in paintFillLayerExtended(). 92796 92797 * rendering/InlineFlowBox.cpp: 92798 (WebCore::InlineFlowBox::paintFillLayers): 92799 (WebCore::InlineFlowBox::paintFillLayer): 92800 (WebCore::InlineFlowBox::paintBoxDecorations): 92801 (WebCore::InlineFlowBox::paintMask): 92802 * rendering/InlineFlowBox.h: 92803 * rendering/RenderBox.cpp: 92804 (WebCore::RenderBox::paintRootBoxDecorations): 92805 (WebCore::RenderBox::paintBoxDecorations): 92806 (WebCore::RenderBox::paintMask): 92807 (WebCore::RenderBox::paintMaskImages): 92808 (WebCore::RenderBox::paintFillLayers): 92809 (WebCore::RenderBox::paintFillLayer): 92810 * rendering/RenderBox.h: 92811 * rendering/RenderBoxModelObject.cpp: 92812 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 92813 * rendering/RenderBoxModelObject.h: 92814 * rendering/RenderFieldset.cpp: 92815 (WebCore::RenderFieldset::paintBoxDecorations): 92816 (WebCore::RenderFieldset::paintMask): 92817 * rendering/RenderTable.cpp: 92818 (WebCore::RenderTable::paintBoxDecorations): 92819 (WebCore::RenderTable::paintMask): 92820 * rendering/RenderTableCell.cpp: 92821 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 92822 (WebCore::RenderTableCell::paintMask): 92823 92824 2009-06-27 Ryosuke Niwa <rniwa (a] google.com> 92825 92826 Reviewed by Eric Seidel. 92827 92828 https://bugs.webkit.org/show_bug.cgi?id=26762 92829 92830 Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712. 92831 https://bugs.webkit.org/show_bug.cgi?id=21712 92832 92833 Added few utility functions to htmlediting.h/cpp 92834 92835 isVisibilyAdjacent checks whether the first position is visibly next to the second position. 92836 i.e. there is no visible node between the first and second positions 92837 92838 canMergeLists checks whether two lists can be merged. 92839 It checks the type of list, the editing boundary, and adjacency of the lists. 92840 92841 Tests: editing/execCommand/indent-nested-lists-1.html 92842 editing/execCommand/indent-nested-lists-2.html 92843 editing/execCommand/indent-nested-lists-3.html 92844 editing/execCommand/indent-nested-lists-4.html 92845 editing/execCommand/indent-nested-lists-5.html 92846 editing/execCommand/indent-nested-lists-6.html 92847 editing/execCommand/indent-nested-lists-7.html 92848 editing/execCommand/outdent-nested-lists-1.html 92849 editing/execCommand/outdent-nested-lists-2.html 92850 editing/execCommand/outdent-nested-lists-3.html 92851 editing/execCommand/outdent-nested-lists-4.html 92852 92853 * editing/IndentOutdentCommand.cpp: 92854 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): 92855 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): 92856 (WebCore::IndentOutdentCommand::indentIntoBlockquote): 92857 (WebCore::IndentOutdentCommand::indentRegion): 92858 * editing/IndentOutdentCommand.h: 92859 * editing/htmlediting.cpp: 92860 (WebCore::enclosingListChild): 92861 (WebCore::canMergeLists): 92862 (WebCore::isVisibilyAdjacent): 92863 * editing/htmlediting.h: 92864 92865 2009-06-27 Pavel Feldman <pfeldman (a] chromium.org> 92866 92867 Reviewed by Timothy Hatcher. 92868 92869 WebInspector: Fix completion when iterating options using Tab. 92870 92871 https://bugs.webkit.org/show_bug.cgi?id=26722 92872 92873 * inspector/front-end/TextPrompt.js: 92874 (WebInspector.TextPrompt.prototype._completionsReady): 92875 92876 2009-06-27 Gustavo Noronha Silva <gns (a] gnome.org> 92877 92878 Reviewed by Holger Freyther. 92879 92880 https://bugs.webkit.org/show_bug.cgi?id=25889 92881 [GTK] scrollbar policy for main frame is not implementable 92882 92883 Override visibleContentRect to handle GTK+'s case, in which 92884 scrollbars or equivalent decoration are painted by the parent 92885 widget. 92886 92887 * platform/ScrollView.cpp: 92888 * platform/gtk/ScrollViewGtk.cpp: 92889 (WebCore::ScrollView::visibleContentRect): 92890 92891 2009-06-27 Daniel Bates <dbates (a] intudata.com> 92892 92893 Reviewed by Adam Barth. 92894 92895 https://bugs.webkit.org/show_bug.cgi?id=26708 92896 92897 Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs, 92898 and UTF-7 encoded payloads. 92899 92900 Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html 92901 http/tests/security/xssAuditor/iframe-javascript-url.html 92902 http/tests/security/xssAuditor/script-tag-utf-7-encoded.html 92903 http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html 92904 92905 * html/HTMLTokenizer.cpp: 92906 (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag. 92907 (WebCore::HTMLTokenizer::parseTag): 92908 * loader/FrameLoader.cpp: 92909 (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so 92910 as to compare against iFrame javascript URL. 92911 * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method 92912 isControlCharacter in ResourceResponseBase.cpp. 92913 (WebCore::XSSAuditor::XSSAuditor): 92914 (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder. 92915 (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution 92916 of iFrame javascript URL. 92917 * page/XSSAuditor.h: Added field m_parentFrame. 92918 * platform/network/ResourceResponseBase.cpp: 92919 (WebCore::isControlCharacter): 92920 * platform/network/ResourceResponseBase.h: 92921 92922 2009-06-27 Oliver Hunt <oliver (a] apple.com> 92923 92924 Reviewed by Maciej Stachowiak. 92925 92926 Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements 92927 92928 The drawImage(<video>) logic naively assumes that it just needs 92929 to check the src attribute of the video element when in fact it 92930 needs to look at the url that is being played instead. Failure 92931 to do this means that video provided through source elements 92932 taints the canvas. 92933 92934 Test: media/video-canvas-source.html 92935 92936 * html/CanvasRenderingContext2D.cpp: 92937 (WebCore::CanvasRenderingContext2D::checkOrigin): 92938 (WebCore::CanvasRenderingContext2D::drawImage): 92939 * html/CanvasRenderingContext2D.h: 92940 92941 2009-06-26 Brian Weinstein <bweinstein (a] apple.com> 92942 92943 Reviewed by Simon Fraser. 92944 92945 https://bugs.webkit.org/show_bug.cgi?id=26695 92946 92947 Added the ability to do scrollbar hit testing in EventHandler, changed the 92948 signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse 92949 to scrollbarUnderPoint, and updated all calls to that function. 92950 92951 * page/EventHandler.cpp: 92952 (WebCore::EventHandler::hitTestResultAtPoint): 92953 (WebCore::EventHandler::handleMousePressEvent): 92954 (WebCore::EventHandler::handleMouseMoveEvent): 92955 * page/EventHandler.h: 92956 (WebCore::): 92957 * platform/PlatformWheelEvent.h: 92958 * platform/ScrollView.cpp: 92959 (WebCore::ScrollView::scrollbarUnderPoint): 92960 * platform/ScrollView.h: 92961 * platform/chromium/PopupMenuChromium.cpp: 92962 (WebCore::PopupListBox::handleMouseDownEvent): 92963 (WebCore::PopupListBox::handleMouseMoveEvent): 92964 * platform/win/WheelEventWin.cpp: 92965 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 92966 92967 92968 2009-06-26 Simon Fraser <simon.fraser (a] apple.com> 92969 92970 Reviewed by Dan Bernstein. 92971 92972 <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode 92973 92974 Don't go into compositing mode just for opacity transitions, but they will be 92975 hardware acclerated if we're already compositing. 92976 92977 * rendering/RenderLayerCompositor.cpp: 92978 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 92979 (WebCore::RenderLayerCompositor::requiresCompositingForTransform): 92980 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): 92981 * rendering/RenderLayerCompositor.h: 92982 92983 2009-06-26 Simon Fraser <simon.fraser (a] apple.com> 92984 92985 Rubber-stamped by Dave Levin 92986 92987 Rename ioCompState to compositingState to better match WebCore coding style. 92988 92989 * rendering/RenderLayerCompositor.cpp: 92990 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 92991 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 92992 92993 2009-06-26 Dan Bernstein <mitz (a] apple.com> 92994 92995 Reviewed by Mark Rowe. 92996 92997 - revert unintentional project changes from r45277 92998 92999 * WebCore.xcodeproj/project.pbxproj: 93000 93001 2009-06-26 Mark Rowe <mrowe (a] apple.com> 93002 93003 Fix the Windows build. 93004 93005 * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as 93006 the file was deleted from SVN. 93007 93008 2009-06-26 Simon Fraser <simon.fraser (a] apple.com> 93009 93010 Reviewed by Dan Bernstein. 93011 93012 https://bugs.webkit.org/show_bug.cgi?id=26766 93013 93014 Change to use array indexing rather than Vector enumerators; the former 93015 are preferred style. 93016 93017 * rendering/RenderLayerBacking.cpp: 93018 (WebCore::RenderLayerBacking::hasNonCompositingContent): 93019 * rendering/RenderLayerCompositor.cpp: 93020 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 93021 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 93022 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 93023 (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry): 93024 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): 93025 (WebCore::RenderLayerCompositor::layerHas3DContent): 93026 93027 2009-06-26 Dan Bernstein <mitz (a] apple.com> 93028 93029 Reviewed by Oliver Hunt. 93030 93031 - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported 93032 as 1 px 93033 93034 Test: fast/dom/Element/scrollWidth.html 93035 93036 Changed scrollWidth and scrollHeight to use the same logic for 93037 visible overflow boxes that is used for clipped overflow boxes. In 93038 particular, borders are not included and 93039 {leftmost,rightmost,lowest}Position() are used. This logic matches IE8. 93040 93041 * rendering/RenderBox.cpp: 93042 (WebCore::RenderBox::scrollWidth): 93043 (WebCore::RenderBox::scrollHeight): 93044 93045 2009-06-26 Chris Fleizach <cfleizach (a] apple.com> 93046 93047 Reviewed by Oliver Hunt. 93048 93049 Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented 93050 https://bugs.webkit.org/show_bug.cgi?id=26725 93051 93052 Tests: accessibility/aria-disabled.html 93053 accessibility/aria-hidden.html 93054 accessibility/aria-readonly.html 93055 93056 * accessibility/AccessibilityRenderObject.cpp: 93057 (WebCore::AccessibilityRenderObject::ariaIsHidden): 93058 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 93059 (WebCore::AccessibilityRenderObject::isEnabled): 93060 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 93061 * accessibility/AccessibilityRenderObject.h: 93062 * html/HTMLAttributeNames.in: 93063 93064 2009-06-26 Brett Wilson <brettw (a] chromium.org> 93065 93066 Reviewed by David Levin. 93067 93068 https://bugs.webkit.org/show_bug.cgi?id=26759 93069 93070 GIFImageDecoder is broken. 93071 93072 Make the GIFImageDecoder.repetitionCount function const to match the 93073 base class. The mismatched definitions were causing the function to not 93074 get called. 93075 93076 * platform/image-decoders/gif/GIFImageDecoder.cpp: 93077 (WebCore::GIFImageDecoder::repetitionCount): 93078 * platform/image-decoders/gif/GIFImageDecoder.h: 93079 93080 2009-06-26 Chris Marrin <cmarrin (a] apple.com> 93081 93082 Reviewed by Simon Fraser <simon.fraser (a] apple.com>. 93083 93084 Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651 93085 93086 The flag should always default to true to avoid it getting set 93087 to false in a build with accelerated compositing turned off 93088 and then disabling accelerated compositing when subsequently 93089 running a build with it turned on. 93090 93091 * page/Settings.cpp: 93092 (WebCore::Settings::Settings): 93093 93094 2009-06-26 Brady Eidson <beidson (a] apple.com> 93095 93096 Reviewed by Sam Weinig. 93097 93098 Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails 93099 93100 Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too! 93101 93102 * platform/network/mac/ResourceHandleMac.mm: 93103 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 93104 * platform/network/mac/WebCoreURLResponse.h: 93105 93106 2009-06-26 Jeremy Orlow <jorlow (a] chromium.org> 93107 93108 Reviewed by Darin Fisher. 93109 93110 https://bugs.webkit.org/show_bug.cgi?id=26732 93111 93112 For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376, 93113 combine LocalStorage and SessionStorage into StorageNamespace. The 93114 synching code (for LocalStorage) has already been removed, so these 93115 classes are now very similar. All they do is essentially contain a 93116 logical grouping of origins that are attached to specific contexts 93117 (be it PageGroups for LocalStorage and Page for SessionStorage). 93118 93119 * GNUmakefile.am: 93120 * WebCore.vcproj/WebCore.vcproj: 93121 * WebCore.xcodeproj/project.pbxproj: 93122 * WebCoreSources.bkl: 93123 * page/Chrome.cpp: 93124 (WebCore::Chrome::createWindow): 93125 * page/DOMWindow.cpp: 93126 (WebCore::DOMWindow::localStorage): 93127 * page/DOMWindow.h: 93128 * page/Page.cpp: 93129 (WebCore::Page::sessionStorage): 93130 (WebCore::Page::setSessionStorage): 93131 * page/Page.h: 93132 * page/PageGroup.cpp: 93133 (WebCore::PageGroup::localStorage): 93134 * page/PageGroup.h: 93135 * storage/LocalStorage.cpp: Removed. 93136 * storage/LocalStorage.h: Removed. 93137 * storage/LocalStorageTask.cpp: 93138 * storage/LocalStorageThread.cpp: 93139 * storage/SessionStorage.cpp: Removed. 93140 * storage/SessionStorage.h: Removed. 93141 * storage/StorageArea.cpp: 93142 (WebCore::StorageArea::create): 93143 (WebCore::StorageArea::StorageArea): 93144 (WebCore::StorageArea::copy): 93145 (WebCore::StorageArea::length): 93146 (WebCore::StorageArea::key): 93147 (WebCore::StorageArea::getItem): 93148 (WebCore::StorageArea::setItem): 93149 (WebCore::StorageArea::removeItem): 93150 (WebCore::StorageArea::clear): 93151 (WebCore::StorageArea::contains): 93152 (WebCore::StorageArea::importItem): 93153 (WebCore::StorageArea::close): 93154 (WebCore::StorageArea::dispatchStorageEvent): 93155 * storage/StorageArea.h: 93156 (WebCore::): 93157 * storage/StorageAreaSync.cpp: 93158 (WebCore::StorageAreaSync::scheduleFinalSync): 93159 * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp. 93160 (WebCore::localStorageNamespaceMap): 93161 (WebCore::StorageNamespace::localStorageNamespace): 93162 (WebCore::StorageNamespace::sessionStorageNamespace): 93163 (WebCore::StorageNamespace::StorageNamespace): 93164 (WebCore::StorageNamespace::~StorageNamespace): 93165 (WebCore::StorageNamespace::copy): 93166 (WebCore::StorageNamespace::storageArea): 93167 (WebCore::StorageNamespace::close): 93168 * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h. 93169 93170 2009-06-26 Nate Chapin <japhet (a] chromium.org> 93171 93172 Reviewed by David Levin. 93173 93174 Upstream V8Proxy. This involved updating a lot of function and variable names to match WebKit style, hence the large size. 93175 93176 https://bugs.webkit.org/show_bug.cgi?id=26623 93177 93178 * bindings/v8/ScheduledAction.cpp: 93179 (WebCore::ScheduledAction::ScheduledAction): 93180 (WebCore::ScheduledAction::~ScheduledAction): 93181 (WebCore::ScheduledAction::execute): 93182 * bindings/v8/ScriptCallStack.cpp: 93183 (WebCore::ScriptCallStack::ScriptCallStack): 93184 * bindings/v8/ScriptController.cpp: 93185 (WebCore::ScriptController::isSafeScript): 93186 (WebCore::ScriptController::gcProtectJSWrapper): 93187 (WebCore::ScriptController::gcUnprotectJSWrapper): 93188 (WebCore::ScriptController::processingUserGesture): 93189 (WebCore::ScriptController::evaluate): 93190 (WebCore::ScriptController::setEventHandlerLineNumber): 93191 (WebCore::ScriptController::bindToWindowObject): 93192 (WebCore::ScriptController::collectGarbage): 93193 (WebCore::ScriptController::haveInterpreter): 93194 (WebCore::createScriptObject): 93195 (WebCore::ScriptController::createScriptObjectForPluginElement): 93196 * bindings/v8/ScriptInstance.cpp: 93197 (WebCore::V8ScriptInstance::clear): 93198 (WebCore::V8ScriptInstance::set): 93199 * bindings/v8/ScriptObject.cpp: 93200 (WebCore::ScriptGlobalObject::set): 93201 * bindings/v8/ScriptObjectQuarantine.cpp: 93202 (WebCore::getQuarantinedScriptObject): 93203 * bindings/v8/ScriptScope.cpp: 93204 (WebCore::ScriptScope::ScriptScope): 93205 * bindings/v8/ScriptValue.h: 93206 (WebCore::ScriptValue::ScriptValue): 93207 (WebCore::ScriptValue::operator=): 93208 (WebCore::ScriptValue::clear): 93209 * bindings/v8/V8AbstractEventListener.cpp: 93210 (WebCore::V8AbstractEventListener::invokeEventHandler): 93211 (WebCore::V8AbstractEventListener::handleEvent): 93212 (WebCore::V8AbstractEventListener::disposeListenerObject): 93213 (WebCore::V8AbstractEventListener::getReceiverObject): 93214 * bindings/v8/V8Collection.cpp: 93215 (WebCore::toOptionsCollectionSetter): 93216 * bindings/v8/V8Collection.h: 93217 (WebCore::getV8Object): 93218 (WebCore::getNamedPropertyOfCollection): 93219 (WebCore::nodeCollectionNamedPropertyGetter): 93220 (WebCore::getIndexedPropertyOfCollection): 93221 (WebCore::nodeCollectionIndexedPropertyGetter): 93222 (WebCore::nodeCollectionIndexedPropertyEnumerator): 93223 (WebCore::collectionIndexedPropertyEnumerator): 93224 (WebCore::collectionStringOrNullIndexedPropertyGetter): 93225 * bindings/v8/V8DOMMap.cpp: 93226 (WebCore::weakDOMObjectCallback): 93227 (WebCore::DOMData::removeObjectsFromWrapperMap): 93228 * bindings/v8/V8Helpers.cpp: 93229 (WebCore::wrapNPObject): 93230 (WebCore::toV8Context): 93231 * bindings/v8/V8LazyEventListener.cpp: 93232 (WebCore::V8LazyEventListener::~V8LazyEventListener): 93233 (WebCore::V8LazyEventListener::getListenerFunction): 93234 (WebCore::V8LazyEventListener::callListenerFunction): 93235 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 93236 * bindings/v8/V8NodeFilterCondition.cpp: 93237 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): 93238 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): 93239 (WebCore::V8NodeFilterCondition::acceptNode): 93240 * bindings/v8/V8ObjectEventListener.cpp: 93241 (WebCore::weakObjectEventListenerCallback): 93242 (WebCore::V8ObjectEventListener::~V8ObjectEventListener): 93243 * bindings/v8/V8Proxy.cpp: Added. 93244 * bindings/v8/V8Proxy.h: 93245 (WebCore::): 93246 (WebCore::GlobalHandleInfo::GlobalHandleInfo): 93247 (WebCore::V8Proxy::): 93248 (WebCore::V8Proxy::V8Proxy): 93249 (WebCore::V8Proxy::frame): 93250 (WebCore::V8Proxy::inlineCode): 93251 (WebCore::V8Proxy::setInlineCode): 93252 (WebCore::V8Proxy::timerCallback): 93253 (WebCore::V8Proxy::setTimerCallback): 93254 (WebCore::V8Proxy::setEventHandlerLineNumber): 93255 (WebCore::V8Proxy::finishedWithEvent): 93256 (WebCore::V8Proxy::wrapCPointer): 93257 (WebCore::V8Proxy::extractCPointer): 93258 (WebCore::V8Proxy::convertDOMWrapperToNative): 93259 (WebCore::V8Proxy::convertDOMWrapperToNode): 93260 (WebCore::V8Proxy::convertToV8Object): 93261 (WebCore::V8Proxy::convertToNativeObject): 93262 (WebCore::V8Proxy::convertToNativeEvent): 93263 (WebCore::V8Proxy::context): 93264 (WebCore::V8Proxy::extractCPointerImpl): 93265 (WebCore::V8Proxy::utilityContext): 93266 (WebCore::V8Proxy::constructDOMObject): 93267 (WebCore::throwError): 93268 (WebCore::toV8): 93269 * bindings/v8/V8Utilities.h: 93270 * bindings/v8/WorkerContextExecutionProxy.cpp: 93271 (WebCore::WorkerContextExecutionProxy::retrieve): 93272 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 93273 (WebCore::WorkerContextExecutionProxy::GetConstructor): 93274 (WebCore::WorkerContextExecutionProxy::ToV8Object): 93275 (WebCore::WorkerContextExecutionProxy::EventToV8Object): 93276 (WebCore::WorkerContextExecutionProxy::toV8): 93277 (WebCore::WorkerContextExecutionProxy::forgetV8EventObject): 93278 (WebCore::WorkerContextExecutionProxy::evaluate): 93279 (WebCore::WorkerContextExecutionProxy::runScript): 93280 * bindings/v8/custom/V8AttrCustom.cpp: 93281 (WebCore::ACCESSOR_SETTER): 93282 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 93283 (WebCore::NAMED_PROPERTY_GETTER): 93284 (WebCore::NAMED_PROPERTY_SETTER): 93285 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: 93286 (WebCore::INDEXED_PROPERTY_GETTER): 93287 (WebCore::INDEXED_PROPERTY_SETTER): 93288 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 93289 (WebCore::toV8): 93290 (WebCore::toCanvasStyle): 93291 (WebCore::ACCESSOR_GETTER): 93292 (WebCore::ACCESSOR_SETTER): 93293 (WebCore::CALLBACK_FUNC_DECL): 93294 * bindings/v8/custom/V8ClientRectListCustom.cpp: 93295 (WebCore::INDEXED_PROPERTY_GETTER): 93296 * bindings/v8/custom/V8ClipboardCustom.cpp: 93297 (WebCore::ACCESSOR_GETTER): 93298 (WebCore::CALLBACK_FUNC_DECL): 93299 * bindings/v8/custom/V8CustomBinding.cpp: 93300 (WebCore::allowSettingFrameSrcToJavascriptUrl): 93301 (WebCore::ACCESSOR_GETTER): 93302 (WebCore::INDEXED_ACCESS_CHECK): 93303 (WebCore::NAMED_ACCESS_CHECK): 93304 (WebCore::V8Custom::GetTargetFrame): 93305 * bindings/v8/custom/V8CustomEventListener.cpp: 93306 (WebCore::V8EventListener::V8EventListener): 93307 (WebCore::V8EventListener::~V8EventListener): 93308 (WebCore::V8EventListener::callListenerFunction): 93309 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 93310 (WebCore::V8CustomSQLStatementCallback::handleEvent): 93311 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 93312 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 93313 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 93314 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 93315 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 93316 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 93317 * bindings/v8/custom/V8CustomVoidCallback.cpp: 93318 (WebCore::V8CustomVoidCallback::handleEvent): 93319 (WebCore::invokeCallback): 93320 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 93321 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 93322 * bindings/v8/custom/V8DOMParserConstructor.cpp: 93323 (WebCore::CALLBACK_FUNC_DECL): 93324 * bindings/v8/custom/V8DOMWindowCustom.cpp: 93325 (WebCore::V8Custom::WindowSetTimeoutImpl): 93326 (WebCore::convertBase64): 93327 (WebCore::ACCESSOR_SETTER): 93328 (WebCore::CALLBACK_FUNC_DECL): 93329 (WebCore::ACCESSOR_GETTER): 93330 (WebCore::createWindow): 93331 (WebCore::INDEXED_PROPERTY_GETTER): 93332 (WebCore::NAMED_PROPERTY_GETTER): 93333 (WebCore::V8Custom::ClearTimeoutImpl): 93334 (WebCore::NAMED_ACCESS_CHECK): 93335 (WebCore::INDEXED_ACCESS_CHECK): 93336 * bindings/v8/custom/V8DatabaseCustom.cpp: 93337 (WebCore::CALLBACK_FUNC_DECL): 93338 * bindings/v8/custom/V8DocumentCustom.cpp: 93339 (WebCore::CALLBACK_FUNC_DECL): 93340 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 93341 (WebCore::ACCESSOR_GETTER): 93342 (WebCore::ACCESSOR_SETTER): 93343 * bindings/v8/custom/V8ElementCustom.cpp: 93344 (WebCore::CALLBACK_FUNC_DECL): 93345 (WebCore::ACCESSOR_SETTER): 93346 (WebCore::ACCESSOR_GETTER): 93347 * bindings/v8/custom/V8EventCustom.cpp: 93348 (WebCore::ACCESSOR_SETTER): 93349 (WebCore::ACCESSOR_GETTER): 93350 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 93351 (WebCore::CALLBACK_FUNC_DECL): 93352 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 93353 (WebCore::getNamedItems): 93354 (WebCore::getItem): 93355 (WebCore::NAMED_PROPERTY_GETTER): 93356 (WebCore::CALLBACK_FUNC_DECL): 93357 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 93358 (WebCore::NAMED_PROPERTY_GETTER): 93359 (WebCore::CALLBACK_FUNC_DECL): 93360 (WebCore::ACCESSOR_GETTER): 93361 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 93362 (WebCore::INDEXED_PROPERTY_GETTER): 93363 (WebCore::NAMED_PROPERTY_GETTER): 93364 (WebCore::CALLBACK_FUNC_DECL): 93365 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 93366 (WebCore::ACCESSOR_SETTER): 93367 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 93368 (WebCore::NAMED_PROPERTY_GETTER): 93369 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 93370 (WebCore::ACCESSOR_SETTER): 93371 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 93372 (WebCore::CALLBACK_FUNC_DECL): 93373 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 93374 (WebCore::ACCESSOR_GETTER): 93375 (WebCore::ACCESSOR_SETTER): 93376 (WebCore::CALLBACK_FUNC_DECL): 93377 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 93378 (WebCore::CALLBACK_FUNC_DECL): 93379 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 93380 (WebCore::CALLBACK_FUNC_DECL): 93381 (WebCore::ACCESSOR_GETTER): 93382 (WebCore::ACCESSOR_SETTER): 93383 (WebCore::INDEXED_PROPERTY_GETTER): 93384 (WebCore::INDEXED_PROPERTY_SETTER): 93385 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 93386 (WebCore::NAMED_PROPERTY_GETTER): 93387 (WebCore::NAMED_PROPERTY_SETTER): 93388 (WebCore::INDEXED_PROPERTY_GETTER): 93389 (WebCore::INDEXED_PROPERTY_SETTER): 93390 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 93391 (WebCore::NAMED_PROPERTY_GETTER): 93392 (WebCore::INDEXED_PROPERTY_SETTER): 93393 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 93394 (WebCore::CALLBACK_FUNC_DECL): 93395 (WebCore::removeElement): 93396 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 93397 (WebCore::CALLBACK_FUNC_DECL): 93398 * bindings/v8/custom/V8LocationCustom.cpp: 93399 (WebCore::ACCESSOR_SETTER): 93400 (WebCore::ACCESSOR_GETTER): 93401 (WebCore::CALLBACK_FUNC_DECL): 93402 (WebCore::INDEXED_ACCESS_CHECK): 93403 (WebCore::NAMED_ACCESS_CHECK): 93404 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 93405 (WebCore::CALLBACK_FUNC_DECL): 93406 * bindings/v8/custom/V8MessagePortCustom.cpp: 93407 (WebCore::ACCESSOR_GETTER): 93408 (WebCore::ACCESSOR_SETTER): 93409 (WebCore::CALLBACK_FUNC_DECL): 93410 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 93411 (WebCore::INDEXED_PROPERTY_GETTER): 93412 (WebCore::NAMED_PROPERTY_GETTER): 93413 * bindings/v8/custom/V8NavigatorCustom.cpp: 93414 (WebCore::ACCESSOR_GETTER): 93415 * bindings/v8/custom/V8NodeCustom.cpp: 93416 (WebCore::CALLBACK_FUNC_DECL): 93417 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 93418 (WebCore::toV8): 93419 (WebCore::CALLBACK_FUNC_DECL): 93420 * bindings/v8/custom/V8NodeListCustom.cpp: 93421 (WebCore::NAMED_PROPERTY_GETTER): 93422 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 93423 (WebCore::CALLBACK_FUNC_DECL): 93424 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 93425 (WebCore::CALLBACK_FUNC_DECL): 93426 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 93427 (WebCore::CALLBACK_FUNC_DECL): 93428 * bindings/v8/custom/V8SVGLengthCustom.cpp: 93429 (WebCore::ACCESSOR_GETTER): 93430 (WebCore::CALLBACK_FUNC_DECL): 93431 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 93432 (WebCore::CALLBACK_FUNC_DECL): 93433 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 93434 (WebCore::NAMED_PROPERTY_GETTER): 93435 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 93436 (WebCore::toV8): 93437 (WebCore::CALLBACK_FUNC_DECL): 93438 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 93439 (WebCore::CALLBACK_FUNC_DECL): 93440 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 93441 (WebCore::CALLBACK_FUNC_DECL): 93442 * bindings/v8/custom/V8WorkerContextCustom.cpp: 93443 (WebCore::ACCESSOR_GETTER): 93444 (WebCore::ACCESSOR_SETTER): 93445 (WebCore::SetTimeoutOrInterval): 93446 (WebCore::CALLBACK_FUNC_DECL): 93447 * bindings/v8/custom/V8WorkerCustom.cpp: 93448 (WebCore::CALLBACK_FUNC_DECL): 93449 (WebCore::getEventListener): 93450 (WebCore::ACCESSOR_GETTER): 93451 (WebCore::ACCESSOR_SETTER): 93452 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 93453 (WebCore::CALLBACK_FUNC_DECL): 93454 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 93455 (WebCore::getEventListener): 93456 (WebCore::ACCESSOR_GETTER): 93457 (WebCore::ACCESSOR_SETTER): 93458 (WebCore::CALLBACK_FUNC_DECL): 93459 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 93460 (WebCore::ACCESSOR_GETTER): 93461 (WebCore::ACCESSOR_SETTER): 93462 (WebCore::CALLBACK_FUNC_DECL): 93463 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: 93464 (WebCore::CALLBACK_FUNC_DECL): 93465 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: 93466 (WebCore::CALLBACK_FUNC_DECL): 93467 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 93468 (WebCore::CALLBACK_FUNC_DECL): 93469 93470 2009-06-26 Kevin McCullough <kmccullough (a] apple.com> 93471 93472 Reviewed by Tim Hatcher. 93473 93474 <rdar://problem/7011047> Profiler shows the record button 'on' even 93475 though it's finished 93476 93477 I consolidated the creation of the user initiated profile name into 93478 its own function and then called it from console::profile instead of 93479 calling startUserInitiatedProfiling(). This way we don't call 93480 toggleRecordButton() which turns on the record button. 93481 93482 * inspector/InspectorController.cpp: 93483 (WebCore::InspectorController::didCommitLoad): 93484 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 93485 (WebCore::InspectorController::startUserInitiatedProfiling): 93486 (WebCore::InspectorController::stopUserInitiatedProfiling): 93487 * inspector/InspectorController.h: 93488 * page/Console.cpp: 93489 (WebCore::Console::profile): 93490 (WebCore::Console::profileEnd): 93491 93492 2009-06-26 Jeremy Moskovich <jeremy (a] chromium.org> 93493 93494 Reviewed by Eric Seidel. 93495 93496 https://bugs.webkit.org/show_bug.cgi?id=26691 93497 93498 Cleanup: Move focusRingColor to RenderTheme. 93499 93500 Most of this CL involves deleting files and removing dead code. 93501 93502 focusRingColor() is now defined in RenderTheme rather than in 93503 misc. places on each port. The default color is specified as 93504 black in renderTheme and ports can override it in their own 93505 custom renderThemes. 93506 93507 Behavior should be identical except for the following cases, 93508 this lists platform and what the focus ring color used to be 93509 before this cl and the file where it used to be defined: 93510 93511 Android - red 93512 WebCore/platform/android/TemporaryLinkStubs.cpp 93513 93514 Cairo - aqua focus ring color - 0xFF7DADD9 93515 WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp 93516 93517 wx - red 93518 WebCore/platform/wx/TemporaryLinkStubs.cpp 93519 93520 QT - black 93521 WebCore/platform/graphics/qt/GraphicsContextQt.cpp 93522 93523 Manual test: manual-tests/focusringcolor-change-on-theme-change.html 93524 93525 * css/CSSStyleSelector.cpp: 93526 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 93527 * manual-tests/focusringcolor-change-on-theme-change.html: Added. 93528 * platform/android/TemporaryLinkStubs.cpp: 93529 * platform/graphics/cairo/GraphicsContextCairo.cpp: 93530 * platform/graphics/chromium/ColorChromium.cpp: Removed. 93531 * platform/graphics/chromium/ColorChromiumMac.mm: Removed. 93532 * platform/graphics/mac/ColorMac.h: 93533 * platform/graphics/mac/ColorMac.mm: 93534 (WebCore::oldAquaFocusRingColor): 93535 (WebCore::setUsesTestModeFocusRingColor): 93536 (WebCore::usesTestModeFocusRingColor): 93537 * platform/graphics/qt/GraphicsContextQt.cpp: 93538 * platform/graphics/skia/GraphicsContextSkia.cpp: 93539 (WebCore::GraphicsContext::drawFocusRing): 93540 * platform/graphics/win/ColorSafari.cpp: Removed. 93541 * platform/wx/TemporaryLinkStubs.cpp: 93542 * rendering/RenderTheme.cpp: 93543 (WebCore::RenderTheme::focusRingColor): 93544 * rendering/RenderTheme.h: 93545 * rendering/RenderThemeChromiumMac.h: 93546 * rendering/RenderThemeChromiumMac.mm: 93547 (WebCore::RenderThemeChromiumMac::focusRingColor): 93548 (WebCore::RenderThemeChromiumMac::systemColor): 93549 * rendering/RenderThemeChromiumSkia.cpp: 93550 (WebCore::RenderThemeChromiumSkia::focusRingColor): 93551 * rendering/RenderThemeChromiumSkia.h: 93552 * rendering/RenderThemeMac.h: 93553 * rendering/RenderThemeMac.mm: 93554 (WebCore::RenderThemeMac::focusRingColor): 93555 (WebCore::RenderThemeMac::systemColor): 93556 * rendering/RenderThemeSafari.cpp: 93557 (WebCore::makeRGBAFromCGColor): 93558 (WebCore::RenderThemeSafari::focusRingColor): 93559 * rendering/RenderThemeSafari.h: 93560 93561 2009-06-26 Dmitry Titov <dimich (a] chromium.org> 93562 93563 Reviewed by David Levin. 93564 93565 https://bugs.webkit.org/show_bug.cgi?id=26761 93566 [Chromium] Enable Dedicated Workers in Chromium. 93567 93568 * bindings/v8/custom/V8WorkerCustom.cpp: 93569 (WebCore::CALLBACK_FUNC_DECL): 93570 Remove the check that prevented workers from being created w/o a command-line switch. 93571 The flag itself and methods will be removed in a subsequent patch, after 93572 corresponding change in Chromium. 93573 93574 2009-06-26 Jessie Berlin <jberlin (a] apple.com> 93575 93576 Reviewed by Mark Rowe. 93577 93578 Fix: https://bugs.webkit.org/show_bug.cgi?id=26723 93579 Where the m_mouseDown event was never being set on windows, so the 93580 client X and Y coordinates were always being reported as zero in a 93581 dragstart handler. 93582 93583 Test: editing/selection/drag-start-event-client-x-y.html 93584 93585 * page/EventHandler.cpp: 93586 (WebCore::EventHandler::handleMousePressEvent): 93587 Set the m_mouseDown event when the mouse press is handled. 93588 * page/mac/EventHandlerMac.mm: 93589 (WebCore::EventHandler::mouseDown): 93590 Removed now redundant setting of m_mouseDown. 93591 93592 2009-06-26 Brady Eidson <beidson (a] apple.com> 93593 93594 Tiger build fix 93595 93596 * WebCore.xcodeproj/project.pbxproj: 93597 * platform/network/mac/WebCoreURLResponse.mm: 93598 (swizzleMIMETypeMethodIfNecessary): 93599 93600 2009-06-26 Alexey Proskuryakov <ap (a] webkit.org> 93601 93602 Reviewed by Sam Weinig. 93603 93604 https://bugs.webkit.org/show_bug.cgi?id=26681 93605 Problem updating applicationCache when server returns 304 93606 93607 Improve the fix, make the test pass on Tiger. 93608 93609 * loader/appcache/ApplicationCacheGroup.cpp: 93610 (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the 93611 current item from list. 93612 93613 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger, 93614 conditional requests that cannot be cached by network layer cause errors with default cache 93615 policy. 93616 93617 2009-06-26 Brady Eidson <beidson (a] apple.com> 93618 93619 Reviewed by Sam Weinig 93620 93621 <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails 93622 93623 When we disabled content sniffing for file urls we lost knowledge of many file extensions that we 93624 didn't intend to lose. Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper 93625 knew about. 93626 93627 By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME 93628 type mappings that are missing in CoreType's database. 93629 93630 Test: platform/mac/fast/loader/file-url-mimetypes.html 93631 93632 * platform/network/mac/ResourceHandleMac.mm: 93633 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to 93634 WebCoreURLResponse. 93635 93636 * platform/network/mac/ResourceResponseMac.mm: 93637 (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place 93638 where we do all MIMEType correction. 93639 93640 * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled 93641 implementation of MIMEType. 93642 * platform/network/mac/WebCoreURLResponse.mm: 93643 (createBinaryExtensionsSet): 93644 (createExtensionToMIMETypeMap): 93645 (swizzleMIMETypeMethodIfNecessary): 93646 (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 93647 extension -> MIME type map before turning to the default MIME type. Also roll in what was previously 93648 implemented in _webcore_MIMEType. 93649 93650 * svg/graphics/SVGImage.cpp: 93651 (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client. 93652 93653 2009-06-25 Pierre d'Herbemont <pdherbemont (a] apple.com> 93654 93655 Reviewed by Simon Fraser. 93656 93657 Show the fullscreen button only if the backend has support for it. 93658 93659 https://bugs.webkit.org/show_bug.cgi?id=26661 93660 93661 No test since this is not reachable via the DOM. 93662 93663 * html/HTMLMediaElement.h: 93664 (WebCore::HTMLMediaElement::supportsFullscreen): new 93665 * html/HTMLVideoElement.h: 93666 (WebCore::HTMLVideoElement::supportsFullscreen): new 93667 * platform/graphics/MediaPlayer.cpp: 93668 (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new 93669 (WebCore::MediaPlayer::supportsFullscreen): new 93670 * platform/graphics/MediaPlayer.h: new 93671 * platform/graphics/MediaPlayerPrivate.h: new 93672 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new 93673 * rendering/MediaControlElements.cpp: 93674 (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new 93675 * rendering/MediaControlElements.h: 93676 93677 2009-06-25 Pierre d'Herbemont <pdherbemont (a] apple.com> 93678 93679 Reviewed by Simon Fraser. 93680 93681 <rdar://problem/7007776> Controller doesn't automatically update counters when file 93682 is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 ) 93683 93684 Update the time display when the movie time changes. 93685 93686 * rendering/RenderMedia.cpp: 93687 (WebCore::RenderMedia::updateControls): 93688 93689 2009-06-25 Pierre d'Herbemont <pdherbemont (a] apple.com> 93690 93691 Reviewed by Simon Fraser. 93692 93693 https://bugs.webkit.org/show_bug.cgi?id=26659 93694 93695 Support hidding a control bar element from the Media element controller. 93696 93697 Update layout tests since the fullscreen button no longer has a renderer. 93698 93699 * rendering/MediaControlElements.cpp: 93700 (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything 93701 is updated properly. 93702 (WebCore::MediaControlInputElement::MediaControlInputElement): 93703 (WebCore::MediaControlInputElement::update): call updateStyle() 93704 (WebCore::MediaControlInputElement::updateStyle): create the renderer properly 93705 or not depending on what rendererIsNeeded() return. 93706 * rendering/MediaControlElements.h: 93707 93708 2009-06-26 Kevin McCullough <kmccullough (a] apple.com> 93709 93710 Reviewed by Oliver Hunt. 93711 93712 <rdar://problem/6968137> Profiler title numbers increment even after a 93713 reload. 93714 93715 - Now the numbers are reset when the profiles are. 93716 93717 * inspector/InspectorController.cpp: 93718 (WebCore::InspectorController::didCommitLoad): 93719 93720 2009-06-26 Adele Peterson <adele (a] apple.com> 93721 93722 Reviewed by Darin Adler. 93723 93724 Fix for <rdar://problem/7000796> 93725 REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages 93726 93727 Test: editing/inserting/break-blockquote-after-delete.html 93728 93729 Keep track of whether the typing style should be preserved after the TypingCommand is applied. When adding onto an open 93730 typing command, keep that flag up to date. 93731 93732 In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 93733 was following an open Delete command, which does preserve the typing style. So we were applying the original 93734 typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote. 93735 93736 * editing/TypingCommand.cpp: 93737 (WebCore::TypingCommand::TypingCommand): 93738 (WebCore::TypingCommand::typingAddedToOpenCommand): 93739 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 93740 (WebCore::TypingCommand::insertLineBreak): 93741 (WebCore::TypingCommand::insertParagraphSeparator): 93742 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): 93743 (WebCore::TypingCommand::deleteKeyPressed): 93744 (WebCore::TypingCommand::forwardDeleteKeyPressed): 93745 (WebCore::TypingCommand::deleteSelection): 93746 (WebCore::TypingCommand::updatePreservesTypingStyle): 93747 * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle): 93748 93749 2009-06-26 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 93750 93751 Reviewed by Simon Hausmann. 93752 93753 Add support for saving and loading of QWebHistory to and from a QByteArray. 93754 93755 This includes streaming operators for QWebHistory. for convenience. 93756 93757 New autotests that test QWebHistory and QWebHistoryItem serialization. 93758 93759 * WebCore.pro: 93760 * history/HistoryItem.h: 93761 (WebCore::HistoryItem::dailyVisitCounts): 93762 (WebCore::HistoryItem::weeklyVisitCounts): 93763 * history/qt/HistoryItemQt.cpp: Added. 93764 (WebCore::HistoryItem::restoreState): 93765 (WebCore::HistoryItem::saveState): 93766 93767 2009-06-26 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 93768 93769 Reviewed by Simon Hausmann. 93770 93771 Add support for QDataStream operators to String and IntPoint. 93772 93773 * platform/graphics/IntPoint.h: 93774 (WebCore::operator<<): 93775 (WebCore::operator>>): 93776 * platform/text/PlatformString.h: 93777 * platform/text/qt/StringQt.cpp: 93778 (WebCore::operator<<): 93779 (WebCore::operator>>): 93780 93781 2009-06-26 Ben Murdoch <benm (a] google.com> 93782 93783 Reviewed by Darin Fisher. 93784 93785 Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage. 93786 https://bugs.webkit.org/show_bug.cgi?id=26757 93787 93788 * bindings/v8/custom/V8StorageCustom.cpp 93789 93790 2009-06-26 Yongjun Zhang <yongjun.zhang (a] nokia.com> 93791 93792 Reviewed by Eric Seidel. 93793 93794 Test: platform/qt/fast/events/event-sender-keydown-frame.html 93795 93796 Bug 20303: [Qt] Key events are not working in frames. 93797 93798 Merge scrolling handling code in qt and win port, move it to 93799 EventHandler. 93800 93801 * page/EventHandler.cpp: 93802 (WebCore::EventHandler::scrollRecursively): 93803 * page/EventHandler.h: 93804 93805 2009-06-26 Rob Buis <rwlbuis (a] gmail.com> 93806 93807 Reviewed by Eric Seidel. 93808 93809 https://bugs.webkit.org/show_bug.cgi?id=26682 93810 Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript) 93811 93812 Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace. 93813 93814 Test: svg/custom/createImageElement.svg 93815 93816 * svg/SVGAnimatedProperty.h: 93817 (WebCore::synchronizeProperty): 93818 93819 2009-06-26 Takeshi Yoshino <tyoshino (a] google.com> 93820 93821 Reviewed by Timothy Hatcher. 93822 93823 Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument 93824 https://bugs.webkit.org/show_bug.cgi?id=26156 93825 93826 When in view-source mode, render the contents using HTMLViewSourceDocument 93827 regardless it's applicable for any plugin or not. 93828 93829 Chromium tells WebCore to render the contents of specified URL when 93830 view-source: prefix is added to the URL. But currently, DOMImplementation 93831 ignores inViewSourceMode() when the MIME type is indicating that the contents 93832 are neither texts nor HTML family documents. 93833 93834 For example, we can check the contents of asf file without launching media 93835 player. Rendering contents for view-source:-specified input is not what user 93836 expects. 93837 93838 http://code.google.com/p/chromium/issues/detail?id=10545 93839 93840 I want to fix this issue by this patch. IMHO, regardless of this Chromium 93841 specific issue, I think we should force use of HTMLViewSourceDocument when 93842 inViewSourceMode() is specified. 93843 93844 Test: fast/frames/viewsource-on-image-file.html 93845 93846 * dom/DOMImplementation.cpp: 93847 (WebCore::DOMImplementation::createDocument): 93848 * html/HTMLViewSourceDocument.cpp: 93849 (WebCore::HTMLViewSourceDocument::createTokenizer): 93850 * html/HTMLViewSourceDocument.h: 93851 93852 2009-06-26 Xan Lopez <xlopez (a] igalia.com> 93853 93854 Reviewed by Jan Alonzo. 93855 93856 https://bugs.webkit.org/show_bug.cgi?id=25529 93857 [Gtk] Expected states not exposed to assistive technologies 93858 93859 Add support for VISIBLE, EDITABLE and SENSITIVE states. 93860 93861 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 93862 (setAtkStateSetFromCoreObject): 93863 93864 2009-06-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 93865 93866 Reviewed by Darin Adler. 93867 93868 "Pointer to incomplete class type is not allowed" error with RVCT 93869 https://bugs.webkit.org/show_bug.cgi?id=26721 93870 93871 Based on Norbert Leser's work. 93872 93873 * dom/Document.cpp: 93874 (WebCore::Document::setFocusedNode): 93875 * dom/Node.cpp: 93876 (WebCore::Node::dispatchMouseEvent): 93877 * dom/Node.h: Remove the default value for PassRefPtr<Event> args, 93878 to eliminate dependency on the Event class definition 93879 93880 2009-06-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 93881 93882 Reviewed by Maciej Stachowiak. 93883 93884 [Qt] Build fix after r45183 93885 https://bugs.webkit.org/show_bug.cgi?id=26748 93886 93887 * WebCore.pro: 93888 93889 2009-06-25 Alexey Proskuryakov <ap (a] webkit.org> 93890 93891 Reviewed by Darin Adler. 93892 93893 https://bugs.webkit.org/show_bug.cgi?id=26681 93894 <rdar://problem/7003461> Problem updating applicationCache when server returns 304 93895 93896 Test: http/tests/appcache/update-cache.html 93897 93898 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): 93899 We're already done with the resource, don't try to load it again. 93900 93901 2009-06-25 Simon Fraser <simon.fraser (a] apple.com> 93902 93903 Reviewed by Oliver Hunt. 93904 93905 <rdar://problem/6990481> 93906 93907 Handle perspective computation on non-layer objects. 93908 93909 Test: transforms/3d/general/perspective-non-layer.html 93910 93911 * rendering/RenderObject.cpp: 93912 (WebCore::RenderObject::getTransformFromContainer): 93913 93914 2009-06-25 Pierre d'Herbemont <pdherbemont (a] apple.com> 93915 93916 Reviewed by Eric Seidel. 93917 93918 https://bugs.webkit.org/show_bug.cgi?id=26653 93919 93920 Use flex box in the mediaControls.css style, to nicely scale if a button gets 93921 dynamically added or removed. 93922 93923 Media tests results are affected by this changes. 93924 93925 * css/mediaControls.css: 93926 * css/mediaControlsQT.css: 93927 93928 2009-06-25 Albert J. Wong <ajwong (a] chromium.org> 93929 93930 Reviewed by Darin Fisher. 93931 93932 https://bugs.webkit.org/show_bug.cgi?id=26724 93933 93934 Move relavent part of setDefaultFontSize from RenderThemeChromiumWin 93935 up into RenderThemeChromiumSkia. 93936 93937 * rendering/RenderThemeChromiumSkia.cpp: 93938 (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): 93939 * rendering/RenderThemeChromiumSkia.h: 93940 * rendering/RenderThemeChromiumWin.cpp: 93941 (WebCore::RenderThemeChromiumWin::setDefaultFontSize): 93942 * rendering/RenderThemeChromiumWin.h: 93943 93944 2009-06-25 Matt Perry <mpcomplete (a] chromium.org> 93945 93946 Reviewed by Darin Fisher. 93947 93948 https://bugs.webkit.org/show_bug.cgi?id=26733 93949 93950 Add V8-only methods to FrameLoaderClient that V8 can use to send 93951 out notifications when it creates/destroys a script context. 93952 93953 * loader/EmptyClients.h: 93954 (WebCore::EmptyFrameLoaderClient::didCreateScriptContext): 93955 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext): 93956 * loader/FrameLoaderClient.h: 93957 (WebCore::FrameLoaderClient::didCreateScriptContext): 93958 (WebCore::FrameLoaderClient::didDestroyScriptContext): 93959 93960 2009-06-25 Dimitri Glazkov <dglazkov (a] chromium.org> 93961 93962 Reviewed by David Levin. 93963 93964 Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm 93965 to match WebKit style. 93966 93967 * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos. 93968 93969 2009-06-25 Adam Langley <agl (a] google.com> 93970 93971 TBRed: fix for Chromium tree. 93972 93973 Add missing include for r45199. 93974 93975 https://bugs.webkit.org/show_bug.cgi?id=26736 93976 93977 r45199 added a reference to throwError without including V8Proxy.h 93978 93979 * bindings/v8/WorkerScriptController.cpp: 93980 93981 2009-06-25 Adam Langley <agl (a] google.com> 93982 93983 TBRed: fix for Chromium tree. 93984 93985 https://bugs.webkit.org/show_bug.cgi?id=26735 93986 93987 Fix V8IsolatedWorld to point to the correct include file. 93988 93989 The deprecated v8_index.h was removed from the Chromium tree in r19291 93990 and upstreamed into WebKit with r45193. However V8IsolatedWorld 93991 slipped in between the cracks and broke the build. 93992 93993 * bindings/v8/V8IsolatedWorld.h: update with new header location. 93994 93995 2009-06-25 Chris Marrin <cmarrin (a] apple.com> 93996 93997 Reviewed by Simon Fraser <simon.fraser (a] apple.com>. 93998 93999 https://bugs.webkit.org/show_bug.cgi?id=26651 94000 94001 Preference is named "WebKitAcceleratedCompositingEnabled" 94002 and is a boolean value. When false, prevents compositing layers from 94003 being created, which prevents hardware animation from running. 94004 Also forces video to do software rendering. Added a cache for 94005 the flag in RenderLayerCompositing and made it all work 94006 on-the-fly when the flag is changed while a page is loaded. 94007 94008 * WebCore.base.exp: 94009 * page/FrameView.cpp: 94010 (WebCore::FrameView::updateCompositingLayers): 94011 * page/Settings.cpp: 94012 (WebCore::setNeedsReapplyStylesInAllFrames): 94013 (WebCore::Settings::Settings): 94014 (WebCore::Settings::setAcceleratedCompositingEnabled): 94015 * page/Settings.h: 94016 (WebCore::Settings::acceleratedCompositingEnabled): 94017 * rendering/RenderLayer.cpp: 94018 (WebCore::RenderLayer::hasAcceleratedCompositing): 94019 (WebCore::RenderLayer::updateTransform): 94020 (WebCore::RenderLayer::currentTransform): 94021 * rendering/RenderLayer.h: 94022 * rendering/RenderLayerBacking.cpp: 94023 (WebCore::RenderLayerBacking::updateLayerTransform): 94024 * rendering/RenderLayerCompositor.cpp: 94025 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 94026 (WebCore::RenderLayerCompositor::enableCompositingMode): 94027 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): 94028 (WebCore::RenderLayerCompositor::updateCompositingLayers): 94029 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): 94030 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 94031 (WebCore::RenderLayerCompositor::needsToBeComposited): 94032 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): 94033 * rendering/RenderLayerCompositor.h: 94034 (WebCore::RenderLayerCompositor::hasAcceleratedCompositing): 94035 * rendering/RenderObject.h: 94036 (WebCore::makeMatrixRenderable): 94037 94038 2009-06-25 Jian Li <jianli (a] chromium.org> 94039 94040 Reviewed by Dimitri Glazkov. 94041 94042 Bug 26701: Implement the missing code for "FIXME: Need to return an 94043 exception" in WorkerScriptController::evaluate for v8 bindings. 94044 https://bugs.webkit.org/show_bug.cgi?id=26701 94045 94046 * bindings/v8/WorkerScriptController.cpp: 94047 (WebCore::WorkerScriptController::evaluate): 94048 94049 2009-06-25 Nate Chapin <japhet (a] chromium.org> 94050 94051 Reviewed by Dimitri Glazkov. 94052 94053 Upstream V8Index. 94054 94055 https://bugs.webkit.org/show_bug.cgi?id=26495 94056 94057 * bindings/v8/V8Index.cpp: Added. 94058 (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org. 94059 (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org. 94060 * bindings/v8/V8Index.h: 94061 (WebCore::V8ClassIndex::): Moved from src.chromium.org. 94062 (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org. 94063 (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org. 94064 94065 2009-06-25 Adam Langley <agl (a] google.com> 94066 94067 Reviewed by Darin Fisher. 94068 94069 https://bugs.webkit.org/show_bug.cgi?id=26529 94070 94071 This is hopefully the last step before our renderers can run 94072 cleanly in a chroot. 94073 94074 WebKit needs to be able to ask for the correct font to use in 94075 the case that the current font doesn't include glyphs for 94076 certain code points. Currently we make a fontconfig call in our 94077 WebKit port to handle this. 94078 94079 This patch changes this so that the call is sent our via 94080 ChromiumBridge. 94081 94082 http://codereview.chromium.org/132007 94083 94084 This should not affect any layout tests. 94085 94086 * platform/chromium/ChromiumBridge.h: 94087 * platform/graphics/chromium/FontCacheLinux.cpp: 94088 (WebCore::FontCache::getFontDataForCharacters): 94089 94090 2009-06-25 Albert J. Wong <ajwong (a] chromium.org> 94091 94092 Reviewed by David Levin. 94093 94094 https://bugs.webkit.org/show_bug.cgi?id=26566 94095 Upstream these files from the chromium v8 code. No tests were 94096 affected because this is essentially a code move. 94097 94098 * bindings/v8/NPV8Object.cpp: Added. 94099 (allocV8NPObject): 94100 (freeV8NPObject): 94101 (listFromVariantArgs): 94102 (npIdentifierToV8Identifier): 94103 (npCreateV8ScriptObject): 94104 (NPN_Invoke): 94105 (NPN_InvokeDefault): 94106 (NPN_Evaluate): 94107 (NPN_EvaluateHelper): 94108 (NPN_GetProperty): 94109 (NPN_SetProperty): 94110 (NPN_RemoveProperty): 94111 (NPN_HasProperty): 94112 (NPN_HasMethod): 94113 (NPN_SetException): 94114 (NPN_Enumerate): 94115 (NPN_Construct): 94116 * bindings/v8/NPV8Object.h: Added. 94117 (PrivateIdentifier::): 94118 * bindings/v8/V8NPUtils.cpp: Added. 94119 (convertV8ObjectToNPVariant): 94120 (convertNPVariantToV8Object): 94121 (getStringIdentifier): 94122 * bindings/v8/V8NPUtils.h: Added. 94123 94124 2009-06-25 Shinichiro Hamaji <hamaji (a] chromium.org> 94125 94126 Reviewed by Dimitri Glazkov. 94127 94128 https://bugs.webkit.org/show_bug.cgi?id=26436 94129 94130 Windows Chromium bug fix: save context of destination canvas in 94131 TransparencyWin::compositeTextComposite() before the function 94132 modifies the context. 94133 94134 Test: fast/canvas/translate-text.html 94135 94136 * platform/graphics/chromium/TransparencyWin.cpp: 94137 (WebCore::TransparencyWin::compositeTextComposite): 94138 94139 2009-06-25 Patrick Mueller <Patrick_Mueller (a] us.ibm.com> 94140 94141 Reviewed by Timothy Hatcher. 94142 94143 Show the filename and first line for "(program)" in the Profiler/Debugger 94144 https://bugs.webkit.org/show_bug.cgi?id=25475 94145 94146 Add support to associate a sourceURL with an eval()'d string 94147 via a @sourceURL comment. Currently the sourceURL is only available 94148 in the script debugger, not in the console or profiler, but it's 94149 most needed in the script debugger. 94150 94151 * English.lproj/localizedStrings.js: added new "(program): %s" string 94152 * inspector/front-end/Script.js: 94153 (WebInspector.Script): if no sourceURL is available for the Script, 94154 search for a comment of the form //@ sourceURL=(url) to use 94155 as the sourceURL instead. 94156 * manual-tests/inspector/named-evals.html: Added. 94157 94158 2009-06-25 John Gregg <johnnyg (a] google.com> 94159 94160 Reviewed by Sam Weinig. 94161 94162 Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange 94163 https://bugs.webkit.org/show_bug.cgi?id=23721 94164 94165 onchange events fire when a SELECT element has 94166 focus and the selectedIndex is updated by script in some way--either 94167 during another onchange, onkeypress, onfocus, or timer--and then 94168 focus is lost. 94169 94170 Fixed by making a separate method for user-driven selectedIndex 94171 changes, leaving scripts to use one which doesn't cause onchange to 94172 be queued. 94173 94174 Test: fast/forms/select-script-onchange.html 94175 94176 * dom/SelectElement.cpp: check if the pending change is user driven 94177 before calling onchange 94178 (WebCore::SelectElement::menuListOnChange): 94179 (WebCore::SelectElement::setSelectedIndex): 94180 * dom/SelectElement.h: store whether the pending change is user driven 94181 (WebCore::SelectElementData::userDrivenChange): 94182 (WebCore::SelectElementData::setUserDrivenChange): 94183 * html/HTMLSelectElement.cpp: split into two methods -- script version 94184 [non-user-driven] corresponds to IDL defined property name 94185 (WebCore::HTMLSelectElement::setSelectedIndex): 94186 (WebCore::HTMLSelectElement::setSelectedIndexByUser): 94187 * html/HTMLSelectElement.h: 94188 * rendering/RenderMenuList.cpp: use ByUser method when coming through 94189 the renderer 94190 (WebCore::RenderMenuList::valueChanged): 94191 94192 2009-06-25 Jeremy Orlow <jorlow (a] chromium.org> 94193 94194 Reviewed by Darin Fisher. 94195 94196 https://bugs.webkit.org/show_bug.cgi?id=26698 94197 94198 Combined LocalStorageArea and SessionStorageArea into StorageArea since 94199 (after my other refactorings) there are no longer substantial 94200 differences between the two. 94201 94202 * GNUmakefile.am: 94203 * WebCore.vcproj/WebCore.vcproj: 94204 * WebCore.xcodeproj/project.pbxproj: 94205 * WebCoreSources.bkl: 94206 * storage/LocalStorage.cpp: 94207 (WebCore::LocalStorage::storageArea): 94208 * storage/LocalStorage.h: 94209 * storage/LocalStorageArea.cpp: Removed. 94210 * storage/LocalStorageArea.h: Removed. 94211 * storage/SessionStorage.cpp: 94212 (WebCore::SessionStorage::copy): 94213 (WebCore::SessionStorage::storageArea): 94214 * storage/SessionStorage.h: 94215 * storage/SessionStorageArea.cpp: Removed. 94216 * storage/SessionStorageArea.h: Removed. 94217 * storage/StorageArea.cpp: 94218 (WebCore::StorageArea::createLocalStorage): 94219 (WebCore::StorageArea::StorageArea): 94220 (WebCore::StorageArea::createSessionStorage): 94221 (WebCore::StorageArea::copy): 94222 (WebCore::StorageArea::setItem): 94223 (WebCore::StorageArea::removeItem): 94224 (WebCore::StorageArea::clear): 94225 (WebCore::StorageArea::scheduleFinalSync): 94226 (WebCore::StorageArea::blockUntilImportComplete): 94227 (WebCore::StorageArea::dispatchStorageEvent): 94228 * storage/StorageArea.h: 94229 * storage/StorageAreaSync.cpp: 94230 (WebCore::StorageAreaSync::StorageAreaSync): 94231 (WebCore::StorageAreaSync::scheduleFinalSync): 94232 (WebCore::StorageAreaSync::syncTimerFired): 94233 (WebCore::StorageAreaSync::performImport): 94234 * storage/StorageAreaSync.h: 94235 * storage/StorageSyncManager.h: 94236 94237 2009-06-25 Dan Bernstein <mitz (a] apple.com> 94238 94239 Reviewed by Darin Adler. 94240 94241 - fix https://bugs.webkit.org/show_bug.cgi?id=26671 94242 <rdar://problem/7001880> Safari 4.0 crashes in 94243 WebCore::DOMTimer::fired() 94244 94245 Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html 94246 94247 When a "style sheet candidate" element is removed from a document, 94248 call Document::removeStyleSheetCandidateNode() regardless of whether 94249 the document is rendered. Otherwise, the document's style sheet 94250 candidate set can end up containing stale references. 94251 94252 * dom/ProcessingInstruction.cpp: 94253 (WebCore::ProcessingInstruction::removedFromDocument): 94254 * html/HTMLLinkElement.cpp: 94255 (WebCore::HTMLLinkElement::removedFromDocument): 94256 * html/HTMLStyleElement.cpp: 94257 (WebCore::HTMLStyleElement::removedFromDocument): 94258 94259 2009-06-25 Dimitri Glazkov <dglazkov (a] chromium.org> 94260 94261 Reviewed by Darin Fisher. 94262 94263 Update CodeGeneratorV8.pm to sync up with the changes downstream. 94264 94265 * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check, 94266 FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion. 94267 94268 2009-06-25 Dimitri Glazkov <dglazkov (a] chromium.org> 94269 94270 Unreviewed, build fix. 94271 94272 Add FileList.h include to fix Chromium build. 94273 94274 * platform/chromium/ClipboardChromium.cpp: Added FileList.h include. 94275 94276 2009-06-25 Joseph Pecoraro <joepeck02 (a] gmail.com> 94277 94278 Reviewed by Jan Alonzo. 94279 94280 Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message 94281 https://bugs.webkit.org/show_bug.cgi?id=26489 94282 94283 Fixed a Typo in a Web Inspector error message. 94284 94285 * English.lproj/localizedStrings.js: 94286 * inspector/front-end/DatabaseQueryView.js: 94287 (WebInspector.DatabaseQueryView.prototype._queryError): 94288 94289 2009-06-25 Simon Hausmann <simon.hausmann (a] nokia.com> 94290 94291 Fix the Qt build, add missing StorageAreaSync files to the build. 94292 94293 * WebCore.pro: 94294 94295 2009-06-25 Simon Hausmann <simon.hausmann (a] nokia.com> 94296 94297 Reviewed by and done with Tor Arne Vestb. 94298 94299 Fix shortcut keyboard handling with plugins on the Qt/Mac build. 94300 94301 When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is 94302 empty. If we're asked to disambiguate the event into a Char keyboard event, 94303 we try to detect this situation and still set the text, to ensure that the 94304 general event handling sends a key press event after this disambiguation. 94305 94306 * platform/qt/PlatformKeyboardEventQt.cpp: 94307 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 94308 94309 2009-06-25 Eric Seidel <eric (a] webkit.org> 94310 94311 Build fix only, no review. 94312 94313 Add FileList.h and NotImplemented.h includes in an attempt to fix bots. 94314 94315 * platform/gtk/ClipboardGtk.cpp: 94316 * platform/qt/ClipboardQt.cpp: 94317 * platform/win/ClipboardWin.cpp: 94318 * platform/wx/ClipboardWx.cpp: 94319 94320 2009-05-21 Eric Seidel <eric (a] webkit.org> 94321 94322 Reviewed by Maciej Stachowiak. 94323 94324 Expose files in the clipboard in ondrop events 94325 https://bugs.webkit.org/show_bug.cgi?id=25916 94326 94327 Make it possible for applications like gmail to implement 94328 drag and drop of attachments onto email messages. 94329 94330 This patch exposes an event.dataTransfer.files accessor 94331 on the drop event. No information is exposed during dragover. 94332 This follows the HTML 5 drag and drop security model: 94333 http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model 94334 The test http/tests/security/clipboard/clipboard-file-access.html 94335 verifies this behavior. 94336 94337 Internet Explorer shows historical documentation of supporting 94338 getData('File') as a way of exposing files on the pasteboard. The current version of their docs: 94339 http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx 94340 has removed this reference (as far as I can tell IE never implemented it) 94341 I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE. 94342 IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover. 94343 94344 I choose not to use IE's getData('File') and instead added .files 94345 so that the accessor could have a type, matching WebKit's existing 94346 .files accessor on HTMLInputElement. 94347 94348 Mozilla has equivalent file access: 94349 event.dataTransfer.mozGetDataAt("application/x-moz-file", 0); 94350 which also does not return a typed value. 94351 https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files 94352 94353 This is only implemented for Mac WebKit. All other platforms (including Apple's Win WebKit) 94354 have incomplete Clipboard implementations and will require experts from those platforms 94355 to add this functionality. Right now they all have Clipboard*::files() methods which call notImplemented(); 94356 94357 Test: http/tests/security/clipboard/clipboard-file-access.html 94358 94359 * dom/Clipboard.h: 94360 * dom/Clipboard.idl: 94361 * platform/chromium/ClipboardChromium.cpp: 94362 (WebCore::ClipboardChromium::files): 94363 * platform/chromium/ClipboardChromium.h: 94364 * platform/gtk/ClipboardGtk.cpp: 94365 (WebCore::ClipboardGtk::files): 94366 * platform/gtk/ClipboardGtk.h: 94367 * platform/mac/ClipboardMac.h: 94368 * platform/mac/ClipboardMac.mm: 94369 (WebCore::absoluteURLsFromPasteboardFilenames): 94370 (WebCore::absoluteURLsFromPasteboard): 94371 (WebCore::ClipboardMac::files): 94372 * platform/qt/ClipboardQt.cpp: 94373 (WebCore::ClipboardQt::files): 94374 * platform/qt/ClipboardQt.h: 94375 * platform/win/ClipboardWin.cpp: 94376 (WebCore::ClipboardWin::files): 94377 * platform/win/ClipboardWin.h: 94378 * platform/wx/ClipboardWx.cpp: 94379 (WebCore::ClipboardWx::files): 94380 * platform/wx/ClipboardWx.h: 94381 94382 2009-06-25 Eric Seidel <eric (a] webkit.org> 94383 94384 No review, only completing revert of r45144. 94385 94386 Add back files deleted by r45144. 94387 94388 * storage/LocalStorageArea.cpp: Added. 94389 (WebCore::LocalStorageArea::create): 94390 (WebCore::LocalStorageArea::LocalStorageArea): 94391 (WebCore::LocalStorageArea::scheduleFinalSync): 94392 (WebCore::LocalStorageArea::itemChanged): 94393 (WebCore::LocalStorageArea::itemRemoved): 94394 (WebCore::LocalStorageArea::areaCleared): 94395 (WebCore::LocalStorageArea::blockUntilImportComplete): 94396 (WebCore::LocalStorageArea::dispatchStorageEvent): 94397 * storage/LocalStorageArea.h: Added. 94398 * storage/SessionStorageArea.cpp: Added. 94399 (WebCore::SessionStorageArea::copy): 94400 (WebCore::SessionStorageArea::SessionStorageArea): 94401 (WebCore::SessionStorageArea::itemChanged): 94402 (WebCore::SessionStorageArea::itemRemoved): 94403 (WebCore::SessionStorageArea::areaCleared): 94404 (WebCore::SessionStorageArea::blockUntilImportComplete): 94405 (WebCore::SessionStorageArea::dispatchStorageEvent): 94406 * storage/SessionStorageArea.h: Added. 94407 (WebCore::SessionStorageArea::create): 94408 94409 2009-06-25 Eric Seidel <eric (a] webkit.org> 94410 94411 No review, reverting r45144 only. 94412 94413 Roll out r45144 after 18 test failures appeared on the bots. 94414 https://bugs.webkit.org/show_bug.cgi?id=26698 94415 94416 * GNUmakefile.am: 94417 * WebCore.vcproj/WebCore.vcproj: 94418 * WebCore.xcodeproj/project.pbxproj: 94419 * WebCoreSources.bkl: 94420 * storage/LocalStorage.cpp: 94421 (WebCore::LocalStorage::storageArea): 94422 * storage/LocalStorage.h: 94423 * storage/SessionStorage.cpp: 94424 (WebCore::SessionStorage::copy): 94425 (WebCore::SessionStorage::storageArea): 94426 * storage/SessionStorage.h: 94427 * storage/StorageArea.cpp: 94428 (WebCore::StorageArea::StorageArea): 94429 (WebCore::StorageArea::~StorageArea): 94430 (WebCore::StorageArea::setItem): 94431 (WebCore::StorageArea::removeItem): 94432 (WebCore::StorageArea::clear): 94433 * storage/StorageArea.h: 94434 * storage/StorageAreaSync.cpp: 94435 (WebCore::StorageAreaSync::StorageAreaSync): 94436 (WebCore::StorageAreaSync::scheduleFinalSync): 94437 (WebCore::StorageAreaSync::syncTimerFired): 94438 (WebCore::StorageAreaSync::performImport): 94439 * storage/StorageAreaSync.h: 94440 * storage/StorageSyncManager.h: 94441 94442 2009-06-24 Jeremy Orlow <jorlow (a] chromium.org> 94443 94444 Reviewed by Darin Fisher. 94445 94446 https://bugs.webkit.org/show_bug.cgi?id=26698 94447 94448 Combined LocalStorageArea and SessionStorageArea into StorageArea since 94449 (after my other refactorings) there are no longer substantial 94450 differences between the two. 94451 94452 * GNUmakefile.am: 94453 * WebCore.vcproj/WebCore.vcproj: 94454 * WebCore.xcodeproj/project.pbxproj: 94455 * WebCoreSources.bkl: 94456 * storage/LocalStorage.cpp: 94457 (WebCore::LocalStorage::storageArea): 94458 * storage/LocalStorage.h: 94459 * storage/LocalStorageArea.cpp: Removed. 94460 * storage/LocalStorageArea.h: Removed. 94461 * storage/SessionStorage.cpp: 94462 (WebCore::SessionStorage::copy): 94463 (WebCore::SessionStorage::storageArea): 94464 * storage/SessionStorage.h: 94465 * storage/SessionStorageArea.cpp: Removed. 94466 * storage/SessionStorageArea.h: Removed. 94467 * storage/StorageArea.cpp: 94468 (WebCore::StorageArea::createLocalStorage): 94469 (WebCore::StorageArea::StorageArea): 94470 (WebCore::StorageArea::createSessionStorage): 94471 (WebCore::StorageArea::copy): 94472 (WebCore::StorageArea::setItem): 94473 (WebCore::StorageArea::removeItem): 94474 (WebCore::StorageArea::clear): 94475 (WebCore::StorageArea::scheduleFinalSync): 94476 (WebCore::StorageArea::blockUntilImportComplete): 94477 (WebCore::StorageArea::dispatchStorageEvent): 94478 * storage/StorageArea.h: 94479 * storage/StorageAreaSync.cpp: 94480 (WebCore::StorageAreaSync::StorageAreaSync): 94481 (WebCore::StorageAreaSync::scheduleFinalSync): 94482 (WebCore::StorageAreaSync::syncTimerFired): 94483 (WebCore::StorageAreaSync::performImport): 94484 * storage/StorageAreaSync.h: 94485 * storage/StorageSyncManager.h: 94486 94487 2009-06-24 Dan Bernstein <mitz (a] apple.com> 94488 94489 Reviewed by Simon Fraser. 94490 94491 - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track 94492 at UCSC Genome Browser doesn't work because image map prevents img 94493 from hit-testing 94494 94495 Test: fast/replaced/image-map-2.html 94496 94497 * rendering/RenderImage.cpp: 94498 (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if 94499 the image map failed the hit test. 94500 94501 2009-06-22 Adam Barth <abarth (a] webkit.org> 94502 94503 Reviewed by Dimitri Glazkov. 94504 94505 https://bugs.webkit.org/show_bug.cgi?id=26366 94506 94507 Refactor V8DOMMap to support isolated worlds. 94508 94509 * bindings/v8/ScriptController.cpp: 94510 (WebCore::ScriptController::evaluateInNewWorld): 94511 * bindings/v8/ScriptController.h: 94512 * bindings/v8/V8DOMMap.cpp: 94513 (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): 94514 (WebCore::DOMDataStore::allStores): 94515 (WebCore::DOMDataStore::allStoresMutex): 94516 (WebCore::DOMDataStore::domData): 94517 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): 94518 (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): 94519 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 94520 (WebCore::): 94521 (WebCore::MainThreadDOMData::MainThreadDOMData): 94522 (WebCore::MainThreadDOMData::getStore): 94523 (WebCore::ChildThreadDOMData::ChildThreadDOMData): 94524 (WebCore::ChildThreadDOMData::getStore): 94525 (WebCore::DOMDataStore::DOMDataStore): 94526 (WebCore::DOMDataStore::~DOMDataStore): 94527 (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): 94528 (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle): 94529 (WebCore::forget): 94530 (WebCore::getDOMNodeMap): 94531 (WebCore::getDOMObjectMap): 94532 (WebCore::getActiveDOMObjectMap): 94533 (WebCore::getDOMSVGElementInstanceMap): 94534 (WebCore::getDOMSVGObjectWithContextMap): 94535 (WebCore::DOMData::getCurrent): 94536 (WebCore::DOMData::handleWeakObject): 94537 (WebCore::DOMData::ensureDeref): 94538 (WebCore::weakDOMObjectCallback): 94539 (WebCore::weakActiveDOMObjectCallback): 94540 (WebCore::weakNodeCallback): 94541 (WebCore::weakSVGElementInstanceCallback): 94542 (WebCore::weakSVGObjectWithContextCallback): 94543 (WebCore::DOMData::derefObject): 94544 (WebCore::DOMData::derefDelayedObjects): 94545 (WebCore::DOMData::derefDelayedObjectsInCurrentThread): 94546 (WebCore::DOMData::removeObjectsFromWrapperMap): 94547 (WebCore::removeAllDOMObjectsInCurrentThreadHelper): 94548 (WebCore::visitDOMNodesInCurrentThread): 94549 (WebCore::visitDOMObjectsInCurrentThread): 94550 (WebCore::visitActiveDOMObjectsInCurrentThread): 94551 (WebCore::visitDOMSVGElementInstancesInCurrentThread): 94552 (WebCore::visitSVGObjectsInCurrentThread): 94553 * bindings/v8/V8DOMMap.h: 94554 (WebCore::DOMDataStoreHandle::getStore): 94555 * bindings/v8/V8IsolatedWorld.cpp: Added. 94556 (WebCore::getIsolatedWorldKey): 94557 (WebCore::contextWeakReferenceCallback): 94558 (WebCore::V8IsolatedWorld::evaluate): 94559 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 94560 (WebCore::V8IsolatedWorld::~V8IsolatedWorld): 94561 (WebCore::V8IsolatedWorld::getEntered): 94562 * bindings/v8/V8IsolatedWorld.h: Added. 94563 (WebCore::V8IsolatedWorld::getDOMDataStore): 94564 94565 2009-06-24 Mikhail Naganov <mnaganov (a] chromium.org> 94566 94567 Reviewed by Timothy Hatcher. 94568 94569 Bug 26604: Search doesn't work in Web Inspector Profiler 94570 https://bugs.webkit.org/show_bug.cgi?id=26604 94571 94572 Seems like search was damaged in revision 42808. 94573 94574 * inspector/front-end/ProfileView.js: 94575 (WebInspector.ProfileView.prototype.refresh): 94576 Here and in other functions: nodes we're searching in are profile data grid 94577 nodes, so there is no more need for '_dataGridNode' references. 94578 (WebInspector.ProfileView.prototype.searchCanceled): 94579 (WebInspector.ProfileView.prototype.performSearch.matchesQuery): 94580 Fixed accidental semicolon that caused 'matchesQuery' always return true. 94581 (WebInspector.ProfileView.prototype.performSearch): 94582 To perform search correctly in the case of bottom up tree, we need to populate 94583 the tree, because there's no 1-to-1 correspondence between profile nodes and 94584 data grid nodes in this case. 94585 (WebInspector.ProfileView.prototype._jumpToSearchResult): 94586 94587 2009-06-24 Simon Fraser <simon.fraser (a] apple.com> 94588 94589 Reviewed by Darin Adler. 94590 94591 <rdar://problem/6450239&6574516> 94592 94593 Fix flashing issues caused by compositing layers rendering content before 94594 a deferred layout has happened. Because the -viewWillDraw machinery doesn't 94595 work for composited layers, we need to use scheduleViewUpdate() to queue 94596 up a layout via the run loop observer in WebKit, whenever we know we 94597 are going to be painting soon. 94598 94599 * rendering/RenderLayerBacking.cpp: 94600 (WebCore::RenderLayerBacking::setContentsNeedDisplay): 94601 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): 94602 94603 2009-06-24 David Levin <levin (a] chromium.org> 94604 94605 Fix all builds. 94606 94607 * ForwardingHeaders/wtf/FastAllocBase.h: Added. 94608 94609 2009-06-24 Jeremy Orlow <jorlow (a] chromium.org> 94610 94611 Reviewed by Darin Fisher. 94612 94613 https://bugs.webkit.org/show_bug.cgi?id=26658 94614 94615 Split the syncing portions of LocalStorageArea into StorageAreaSync. 94616 This name will make more sense in the next patch (in this set) when 94617 LocalStorageArea and SessionStorageArea are merged to become simply 94618 StorageArea. (Thus the synching portion of StorageArea is in 94619 StorageAreaSync.) 94620 94621 This looks like a big patch, but really all it's doing is splitting 94622 code and patching split-related things up. 94623 94624 * GNUmakefile.am: 94625 * WebCore.vcproj/WebCore.vcproj: 94626 * WebCore.xcodeproj/project.pbxproj: 94627 * WebCoreSources.bkl: 94628 * storage/LocalStorageArea.cpp: 94629 (WebCore::LocalStorageArea::create): 94630 (WebCore::LocalStorageArea::LocalStorageArea): 94631 (WebCore::LocalStorageArea::scheduleFinalSync): 94632 (WebCore::LocalStorageArea::itemChanged): 94633 (WebCore::LocalStorageArea::itemRemoved): 94634 (WebCore::LocalStorageArea::areaCleared): 94635 (WebCore::LocalStorageArea::blockUntilImportComplete): 94636 * storage/LocalStorageArea.h: 94637 * storage/LocalStorageTask.cpp: 94638 (WebCore::LocalStorageTask::LocalStorageTask): 94639 * storage/LocalStorageTask.h: 94640 (WebCore::LocalStorageTask::createImport): 94641 (WebCore::LocalStorageTask::createSync): 94642 * storage/LocalStorageThread.cpp: 94643 (WebCore::LocalStorageThread::scheduleImport): 94644 (WebCore::LocalStorageThread::scheduleSync): 94645 * storage/LocalStorageThread.h: 94646 * storage/SessionStorageArea.cpp: 94647 (WebCore::SessionStorageArea::blockUntilImportComplete): 94648 * storage/SessionStorageArea.h: 94649 * storage/StorageArea.h: 94650 * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp. 94651 * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h. 94652 * storage/StorageSyncManager.cpp: 94653 (WebCore::StorageSyncManager::scheduleImport): 94654 (WebCore::StorageSyncManager::scheduleSync): 94655 * storage/StorageSyncManager.h: 94656 94657 2009-06-24 Adam Treat <adam.treat (a] torchmobile.com> 94658 94659 Fix Qt build. 94660 94661 * WebCore.pro: 94662 94663 2009-06-24 David Levin <levin (a] chromium.org> 94664 94665 Reviewed by David Hyatt. 94666 94667 Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr. 94668 https://bugs.webkit.org/show_bug.cgi?id=26696 94669 94670 * html/DataGridColumnList.cpp: 94671 (WebCore::DataGridColumnList::itemWithName): 94672 (WebCore::DataGridColumnList::add): 94673 * html/DataGridColumnList.h: 94674 (WebCore::DataGridColumnList::item): 94675 (WebCore::DataGridColumnList::primaryColumn): 94676 (WebCore::DataGridColumnList::sortColumn): 94677 94678 2009-06-24 Sam Weinig <sam (a] webkit.org> 94679 94680 Reviewed by Dave "Messy" Hyatt. 94681 94682 Little bit of style cleanup. 94683 94684 * html/DataGridColumn.cpp: 94685 * html/DataGridColumn.h: 94686 * html/DataGridColumn.idl: 94687 * html/DataGridColumnList.cpp: 94688 * html/DataGridColumnList.h: 94689 * html/DataGridColumnList.idl: 94690 * html/HTMLDataGridCellElement.cpp: 94691 * html/HTMLDataGridCellElement.h: 94692 * html/HTMLDataGridCellElement.idl: 94693 * html/HTMLDataGridColElement.cpp: 94694 * html/HTMLDataGridColElement.h: 94695 * html/HTMLDataGridColElement.idl: 94696 * html/HTMLDataGridElement.h: 94697 * html/HTMLDataGridElement.idl: 94698 * html/HTMLDataGridRowElement.cpp: 94699 * html/HTMLDataGridRowElement.h: 94700 * html/HTMLDataGridRowElement.idl: 94701 94702 2009-06-24 Chris Fleizach <cfleizach (a] apple.com> 94703 94704 Reviewed by Oliver Hunt. 94705 94706 Bug 26668: AX: need a way to retrieve the language for an element 94707 94708 Provides a way to retrieve the language associated with a specific accessibility element. 94709 94710 Test: accessibility/language-attribute.html 94711 94712 * accessibility/AccessibilityObject.cpp: 94713 (WebCore::AccessibilityObject::language): 94714 * accessibility/AccessibilityObject.h: 94715 * accessibility/AccessibilityRenderObject.cpp: 94716 (WebCore::AccessibilityRenderObject::language): 94717 * accessibility/AccessibilityRenderObject.h: 94718 * accessibility/mac/AccessibilityObjectWrapper.mm: 94719 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 94720 94721 2009-06-24 Brady Eidson <beidson (a] apple.com> 94722 94723 Reviewed by Dan Bernstein. 94724 94725 <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text. 94726 94727 * platform/network/mac/WebCoreURLResponse.mm: 94728 (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions. 94729 94730 2009-06-24 Nicolas Weber <thakis (a] chromium.org> 94731 94732 Reviewed by Eric Seidel. 94733 94734 https://bugs.webkit.org/show_bug.cgi?id=26685 94735 Accomodate for backwards-incompatible skia api changes. 94736 94737 * platform/graphics/skia/GraphicsContextSkia.cpp: 94738 (WebCore::GraphicsContext::clearRect): 94739 (WebCore::GraphicsContext::setCompositeOperation): 94740 * platform/graphics/skia/ImageBufferSkia.cpp: 94741 (WebCore::ImageBuffer::ImageBuffer): 94742 * platform/graphics/skia/ImageSkia.cpp: 94743 (WebCore::paintSkBitmap): 94744 (WebCore::Image::drawPattern): 94745 * platform/graphics/skia/PlatformContextSkia.cpp: 94746 (PlatformContextSkia::State::State): 94747 (PlatformContextSkia::setupPaintCommon): 94748 (PlatformContextSkia::setXfermodeMode): 94749 (PlatformContextSkia::applyClipFromImage): 94750 * platform/graphics/skia/PlatformContextSkia.h: 94751 * platform/graphics/skia/SkiaUtils.cpp: 94752 (WebCore::): 94753 (WebCore::WebCoreCompositeToSkiaComposite): 94754 * platform/graphics/skia/SkiaUtils.h: 94755 94756 2009-06-24 Jan Michael Alonzo <jmalonzo (a] webkit.org> 94757 94758 Gtk build fix. Add files that were added in r45093 and r45096 94759 94760 * GNUmakefile.am: 94761 94762 2009-06-24 Brady Eidson <beidson (a] apple.com> 94763 94764 Fix 64-bit SnowLeopard build. 94765 94766 * html/DataGridColumnList.cpp: 94767 (WebCore::DataGridColumnList::remove): 94768 (WebCore::DataGridColumnList::move): 94769 94770 2009-06-24 Rob Buis <rwlbuis (a] gmail.com> 94771 94772 Reviewed by Eric Seidel. 94773 94774 https://bugs.webkit.org/show_bug.cgi?id=26392 94775 Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work. 94776 https://bugs.webkit.org/show_bug.cgi?id=26328 94777 Bug 26328: changing href attribute of svg images does not work when changing display attribute as well 94778 94779 React to href updates even when there is no renderer, i.e. display=none. 94780 94781 Tests: svg/custom/js-update-image-and-display.svg 94782 svg/custom/js-update-image-and-display2.svg 94783 svg/custom/js-update-image-and-display3.svg 94784 94785 * svg/SVGImageElement.cpp: 94786 (WebCore::SVGImageElement::svgAttributeChanged): 94787 94788 2009-06-24 David Hyatt <hyatt (a] apple.com> 94789 94790 Reviewed by Sam Weinig. 94791 94792 https://bugs.webkit.org/show_bug.cgi?id=26687 94793 94794 Add basic back-end column support to datagrid. 94795 94796 Added fast/dom/HTMLDataGridElement/ column tests. 94797 94798 * DerivedSources.cpp: 94799 * DerivedSources.make: 94800 * WebCore.pro: 94801 * WebCore.vcproj/WebCore.vcproj: 94802 * WebCore.xcodeproj/project.pbxproj: 94803 * WebCoreSources.bkl: 94804 * html/DataGridColumn.cpp: Added. 94805 (WebCore::DataGridColumn::setPrimary): 94806 * html/DataGridColumn.h: Added. 94807 (WebCore::DataGridColumn::create): 94808 (WebCore::DataGridColumn::id): 94809 (WebCore::DataGridColumn::setId): 94810 (WebCore::DataGridColumn::label): 94811 (WebCore::DataGridColumn::setLabel): 94812 (WebCore::DataGridColumn::type): 94813 (WebCore::DataGridColumn::setType): 94814 (WebCore::DataGridColumn::sortable): 94815 (WebCore::DataGridColumn::setSortable): 94816 (WebCore::DataGridColumn::sortDirection): 94817 (WebCore::DataGridColumn::setSortDirection): 94818 (WebCore::DataGridColumn::primary): 94819 (WebCore::DataGridColumn::detachFromColumnList): 94820 (WebCore::DataGridColumn::DataGridColumn): 94821 * html/DataGridColumn.idl: Added. 94822 * html/DataGridColumnList.cpp: Added. 94823 (WebCore::DataGridColumnList::~DataGridColumnList): 94824 (WebCore::DataGridColumnList::itemWithName): 94825 (WebCore::DataGridColumnList::add): 94826 (WebCore::DataGridColumnList::remove): 94827 (WebCore::DataGridColumnList::move): 94828 (WebCore::DataGridColumnList::clear): 94829 (WebCore::DataGridColumnList::primaryColumnChanged): 94830 * html/DataGridColumnList.h: Added. 94831 (WebCore::DataGridColumnList::create): 94832 (WebCore::DataGridColumnList::length): 94833 (WebCore::DataGridColumnList::item): 94834 (WebCore::DataGridColumnList::primaryColumn): 94835 (WebCore::DataGridColumnList::sortColumn): 94836 * html/DataGridColumnList.idl: Added. 94837 * html/HTMLDataGridColElement.cpp: 94838 (WebCore::HTMLDataGridColElement::sortable): 94839 (WebCore::HTMLDataGridColElement::setSortable): 94840 (WebCore::HTMLDataGridColElement::sortDirection): 94841 (WebCore::HTMLDataGridColElement::setSortDirection): 94842 * html/HTMLDataGridColElement.h: 94843 * html/HTMLDataGridColElement.idl: 94844 * html/HTMLDataGridElement.cpp: 94845 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 94846 * html/HTMLDataGridElement.h: 94847 (WebCore::HTMLDataGridElement::columns): 94848 * html/HTMLDataGridElement.idl: 94849 * rendering/RenderDataGrid.cpp: 94850 (WebCore::RenderDataGrid::paintObject): 94851 (WebCore::RenderDataGrid::paintColumnHeaders): 94852 (WebCore::RenderDataGrid::rebuildColumns): 94853 * rendering/RenderDataGrid.h: 94854 (WebCore::RenderDataGrid::gridElement): 94855 94856 2009-06-24 Jessie Berlin <jberlin (a] apple.com> 94857 94858 Reviewed by Adam Roben. 94859 94860 Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735 94861 (<rdar://problem/5015942>) 94862 Where on windows it was not possible to set an element as the drag 94863 image using setDragImage on the dataTransfer object. 94864 94865 Does not "fix" the case of dragging a link where the default link image 94866 is still used, even when the -webkit-user-drag is set to "element". This 94867 is the same behavior as is found on OS X. 94868 94869 Added a manual test because it is not possible to check that what is 94870 contained in the image snapshot is indeed the requested element. 94871 94872 * dom/Clipboard.h: 94873 (WebCore::Clipboard::dragImageElement): 94874 Made getting the raw pointer from the RefPtr a const operation. 94875 * manual-tests/drag-with-div-or-image-as-data-image.html: Added. 94876 * platform/win/ClipboardWin.cpp: 94877 (WebCore::ClipboardWin::createDragImage): 94878 Get an image of the rendered element and its subtree. 94879 94880 2009-06-24 Darin Fisher <darin (a] chromium.org> 94881 94882 Reviewed by David Levin. 94883 94884 https://bugs.webkit.org/show_bug.cgi?id=26683 94885 Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource 94886 94887 This change just adds a stub implementation for now to help fix the build. 94888 94889 * bindings/v8/custom/V8CustomBinding.h: 94890 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added. 94891 94892 2009-06-24 David Kilzer <ddkilzer (a] apple.com> 94893 94894 Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO) 94895 94896 Reviewed by Adam Roben. 94897 94898 * html/HTMLMediaElement.cpp: 94899 (WebCore::HTMLMediaElement::deliverNotification): Removed 94900 ExceptionCode parameter from togglePlayState(). 94901 (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL 94902 object to a String when assigning to a KURL variable. 94903 94904 2009-06-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 94905 94906 Reviewed by Adam Treat. 94907 94908 Save memory by not storing attribute values in member variables, if not absolutely needed. 94909 Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element). 94910 94911 * wml/WMLDoElement.cpp: 94912 (WebCore::WMLDoElement::parseMappedAttribute): 94913 (WebCore::WMLDoElement::label): 94914 * wml/WMLDoElement.h: 94915 * wml/WMLFieldSetElement.cpp: 94916 (WebCore::WMLFieldSetElement::insertedIntoDocument): 94917 * wml/WMLFieldSetElement.h: 94918 * wml/WMLOptGroupElement.cpp: 94919 (WebCore::WMLOptGroupElement::title): 94920 (WebCore::WMLOptGroupElement::parseMappedAttribute): 94921 (WebCore::WMLOptGroupElement::groupLabelText): 94922 * wml/WMLOptGroupElement.h: 94923 * wml/WMLPostfieldElement.cpp: 94924 (WebCore::WMLPostfieldElement::name): 94925 (WebCore::WMLPostfieldElement::value): 94926 (WebCore::WMLPostfieldElement::encodeData): 94927 * wml/WMLPostfieldElement.h: 94928 * wml/WMLSetvarElement.cpp: 94929 (WebCore::WMLSetvarElement::parseMappedAttribute): 94930 (WebCore::WMLSetvarElement::name): 94931 (WebCore::WMLSetvarElement::value): 94932 * wml/WMLSetvarElement.h: 94933 * wml/WMLTimerElement.cpp: 94934 (WebCore::WMLTimerElement::parseMappedAttribute): 94935 (WebCore::WMLTimerElement::insertedIntoDocument): 94936 (WebCore::WMLTimerElement::timerFired): 94937 (WebCore::WMLTimerElement::start): 94938 (WebCore::WMLTimerElement::value): 94939 * wml/WMLTimerElement.h: 94940 94941 2009-06-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 94942 94943 Reviewed by Adam Roben. 94944 94945 Forgot to initialize m_task member variable. Results in crashes sometimes. 94946 94947 * wml/WMLAnchorElement.cpp: 94948 (WebCore::WMLAnchorElement::WMLAnchorElement): 94949 94950 2009-06-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 94951 94952 Not reviewed. Forgot to include within last patch. 94953 94954 * manual-tests/wml/card-title-attr.wml: Added. 94955 94956 2009-06-24 Wajahat Siddiqui <wajahatmeister (a] gmail.com> 94957 94958 Reviewed by Nikolas Zimmermann. 94959 94960 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474 94961 Adding WML <card> title attribute handling. 94962 94963 * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const 94964 * wml/WMLElement.cpp: 94965 * wml/WMLCardElement.h: 94966 (WebCore::WMLCardElement::title): 94967 * wml/WMLCardElement.cpp: 94968 * wml/manual-test/card-title-attr.wml: Manual test 94969 94970 2009-06-24 Simon Hausmann <simon.hausmann (a] nokia.com> 94971 94972 Reviewed by Tor Arne Vestb. 94973 94974 Fix the build without ENABLE_VIDEO. 94975 94976 * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards. 94977 * html/CanvasRenderingContext2D.h: Ditto. 94978 94979 2009-06-24 Siddhartha Chattopadhyay <sidchat (a] google.com> 94980 94981 Reviewed by Eric Seidel. 94982 94983 Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had 94984 the smartReplace set TRUE initially, which was wrong since the purpose of this call is 94985 to just replace the selection, and place the caret at the end of the selection it replaced. 94986 94987 * editing/Editor.cpp: 94988 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 94989 * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added. 94990 94991 2009-06-24 Kevin Watters <kevinwatters (a] gmail.com> 94992 94993 Reviewed by Kevin Ollivier. 94994 94995 Don't use an unsigned int for intervalInMS because we sometimes initialize 94996 it with a negative value. 94997 94998 * platform/wx/SharedTimerWx.cpp: 94999 (WebCore::setSharedTimerFireTime): 95000 95001 2009-06-24 Eric Seidel <eric (a] webkit.org> 95002 95003 No review, build fix only. 95004 95005 The previous checkin had an improper merge. This fixes the build. 95006 95007 * page/DragController.cpp: 95008 (WebCore::DragController::tryDocumentDrag): 95009 95010 2009-06-05 Eric Seidel <eric (a] webkit.org> 95011 95012 Reviewed by Oliver Hunt. 95013 95014 https://bugs.webkit.org/show_bug.cgi?id=25922 95015 JS setting dropEffect = "none" causes tryDHTMLDrag 95016 to return DragOperationNone. Which is also the value 95017 tryDHTMLDrag previously used to indicate JS did not 95018 want to handle the drag. 95019 95020 Make it possible for the DragController::try* methods 95021 to return a bool to indicate if javascript accepted 95022 or rejected the drag event, separate from the DragOperation. 95023 95024 Tests: 95025 - fast/events/drag-to-navigate.html 95026 - fast/events/prevent-drag-to-navigate.html 95027 95028 * page/DragController.cpp: 95029 (WebCore::DragController::dragEnteredOrUpdated): 95030 (WebCore::DragController::tryDocumentDrag): 95031 (WebCore::defaultOperationForDrag): 95032 (WebCore::DragController::tryDHTMLDrag): 95033 * page/DragController.h: 95034 95035 2009-06-23 Oliver Hunt <oliver (a] apple.com> and Eric Carlson <eric.carlson (a] apple.com> 95036 95037 Reviewed by Sam Weinig and Dave Hyatt. 95038 95039 <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames 95040 <https://bugs.webkit.org/show_bug.cgi?id=25920> 95041 95042 Add support for drawing the contents of the video element to the canvas 95043 in accordance with the current HTML5 draft. 95044 95045 Test: media/video-canvas.html 95046 95047 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 95048 (WebCore::JSCanvasRenderingContext2D::drawImage): 95049 Standard custom bindings stuff we need to do for all canvas methods. 95050 * html/CanvasRenderingContext2D.cpp: 95051 (WebCore::size): Helper function for finding the size of a video element 95052 (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file. 95053 (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>) 95054 * html/CanvasRenderingContext2D.h: 95055 * html/HTMLMediaElement.h: 95056 (WebCore::HTMLMediaElement::hasSingleSecurityOrigin): 95057 hasSingleSecurityOrigin is needed for security, currently all implementations are trivial 95058 as we force QT to maintain a single origin. 95059 * html/HTMLVideoElement.cpp: 95060 (WebCore::HTMLVideoElement::paint): 95061 Paint routine on video so we don't have to look at MediaPlayer directly 95062 * html/HTMLVideoElement.h: 95063 * platform/graphics/MediaPlayer.cpp: 95064 (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin): 95065 (WebCore::MediaPlayer::hasSingleSecurityOrigin): 95066 Default implementations of hasSingleSecurityOrigin 95067 * platform/graphics/MediaPlayer.h: 95068 * platform/graphics/MediaPlayerPrivate.h: 95069 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 95070 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 95071 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 95072 A video may need a player now even if it is not visible. 95073 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 95074 Always return true due to restrictions we've placed on QT. 95075 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 95076 (WebCore::MediaPlayerPrivate::paint): 95077 Jump through some hoops to allow windows QT to draw to an intermediate buffer. 95078 In the long term we'd like to cache the HDC, but this will do for now. 95079 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 95080 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 95081 As for Mac we force QT to only allow same origin loads. 95082 95083 2009-06-23 Adam Langley <agl (a] google.com> 95084 95085 Reviewed by Eric Seidel. 95086 95087 Chromium: Fix crash with inherited font-size in <option> 95088 95089 https://bugs.webkit.org/show_bug.cgi?id=26656 95090 http://code.google.com/p/chromium/issues/detail?id=14853 95091 95092 In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed 95093 the <select> handing for Chromium to fix a rendering bug. However, 95094 although the font-size is correctly ignored, getRowHeight wasn't 95095 updated and so was calculating the height of the rows in an 95096 inconsistent manner. This can lead to a crash. 95097 95098 * manual-tests/optgroup-empty-and-nested.html: adding test case for crash 95099 * platform/chromium/PopupMenuChromium.cpp: 95100 (WebCore::PopupListBox::getRowHeight): 95101 95102 2009-06-23 Brady Eidson <beidson (a] apple.com> 95103 95104 Patch by Antti Koivisto. 95105 Reviewed by Brady Eidson. 95106 95107 <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK 95108 95109 A latent bug that cache revalidation uncovered. When a CachedResource failed to load, 95110 it should always be revalidated upon reload. 95111 95112 * loader/CachedResource.cpp: 95113 (WebCore::CachedResource::canUseCacheValidator): 95114 (WebCore::CachedResource::mustRevalidate): 95115 95116 2009-06-23 Dan Bernstein <mitz (a] apple.com> 95117 95118 Reviewed by Darin Adler. 95119 95120 - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath 95121 EventHandler::passMouseDownEventToWidget() 95122 95123 * page/mac/EventHandlerMac.mm: 95124 (WebCore::EventHandler::passMouseDownEventToWidget): Surround the 95125 -mouseDown: call with calls to Widget::beforeMouseDown() and 95126 Widget::afterMouseDown(), which prevent the widget's view hierarchy from 95127 being removed from its parent view while the scroller is tracking the 95128 mouse. 95129 95130 2009-06-23 Sam Weinig <sam (a] webkit.org> 95131 95132 Reviewed by Dave Hyatt. 95133 95134 Fix for https://bugs.webkit.org/show_bug.cgi?id=26516 95135 Add initial implementation of DataGridDataSource 95136 95137 - Initial implementation only supports the initialize callback function. 95138 95139 Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html 95140 95141 * WebCore.xcodeproj/project.pbxproj: 95142 * GNUmakefile.am: 95143 * WebCore.pro: 95144 * WebCore.vcproj/WebCore.vcproj: 95145 * WebCore.xcodeproj/project.pbxproj: 95146 * WebCoreSources.bkl: 95147 * bindings/js/JSDataGridDataSource.cpp: Added. 95148 (WebCore::JSDataGridDataSource::JSDataGridDataSource): 95149 (WebCore::JSDataGridDataSource::~JSDataGridDataSource): 95150 (WebCore::JSDataGridDataSource::initialize): 95151 * bindings/js/JSDataGridDataSource.h: Added. 95152 (WebCore::JSDataGridDataSource::create): 95153 (WebCore::JSDataGridDataSource::isJSDataGridDataSource): 95154 (WebCore::JSDataGridDataSource::jsDataSource): 95155 (WebCore::asJSDataGridDataSource): 95156 * bindings/js/JSHTMLDataGridElementCustom.cpp: Added. 95157 (WebCore::JSHTMLDataGridElement::listener): 95158 (WebCore::JSHTMLDataGridElement::setListener): 95159 * html/DataGridDataSource.h: Added. 95160 (WebCore::DataGridDataSource::~DataGridDataSource): 95161 (WebCore::DataGridDataSource::isJSDataGridDataSource): 95162 * html/HTMLDataGridElement.cpp: 95163 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 95164 (WebCore::HTMLDataGridElement::setDataSource): 95165 (WebCore::HTMLDataGridElement::initializationTimerFired): 95166 * html/HTMLDataGridElement.h: 95167 (WebCore::HTMLDataGridElement::dataSource): 95168 * html/HTMLDataGridElement.idl: 95169 95170 2009-06-23 Ryosuke Niwa <rniwa (a] google.com> 95171 95172 Reviewed by Justin Garcia. 95173 95174 Undo the changeset 21212 to fix the regression bug 14062. 95175 The changeset 21212 attempted to fix rdar://problem/5002441. 95176 The changeset 21212 modified InsertTextCommand::input so as to convert 95177 all spaces in text to non-breaking spaces for rdar://problem/5002441. 95178 However, the bug was originally caused by rebalanceWhitespaceAt 95179 and this workaround introduced a regression bug 14062. 95180 Because rebalanceWhitespaceAt appears to behave correctly now, 95181 the workaround introduced in 21212 is no longer needed. 95182 95183 Test: editing/inserting/space-after-removeformat.html 95184 95185 * editing/InsertTextCommand.cpp: 95186 (WebCore::InsertTextCommand::input): 95187 95188 2009-06-23 Beth Dakin <bdakin (a] apple.com> 95189 95190 Reviewed by Dave Hyatt. 95191 95192 Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 95193 elements width can't be changed with javascript 95194 95195 This patch both fixes setting the width attribute directly in 95196 JavaScript, and setting the width on the style attribute. 95197 95198 * html/HTMLTableColElement.cpp: 95199 (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 95200 new width, call setNeedsLayoutAndPrefWidthsRecalc() 95201 95202 Call calcPrefWidths() on the table cols. 95203 * rendering/AutoTableLayout.cpp: 95204 (WebCore::AutoTableLayout::recalcColumn): 95205 * rendering/FixedTableLayout.cpp: 95206 (WebCore::FixedTableLayout::calcWidthArray): 95207 95208 Call layoutIfNeeded on the table cols. 95209 * rendering/RenderTable.cpp: 95210 (WebCore::RenderTable::layout): 95211 95212 * rendering/RenderTableCol.cpp: 95213 (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 95214 table() convenience function. 95215 (WebCore::RenderTableCol::calcPrefWidths): Just call 95216 setPrefWidthsDirty(false) on ourself and our children. 95217 (WebCore::RenderTableCol::table): 95218 * rendering/RenderTableCol.h: 95219 95220 2009-06-23 Ojan Vafai <ojan (a] chromium.org> 95221 95222 Reviewed by Dan Bernstein. 95223 95224 Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 95225 keyword values. When diff is called on a CSSStyleDeclaration, we check 95226 the keywordSize to see if font-size matches a keyword value. 95227 95228 This ensures that when we diff a CSSMutableStyleDeclaration returned from 95229 copyInheritableProperties on a CSSComputedStyleDeclaration that we 95230 correctly identify matching font-sizes. 95231 95232 https://bugs.webkit.org/show_bug.cgi?id=26279 95233 95234 Test: editing/inserting/font-size-clears-from-typing-style.html 95235 95236 * css/CSSComputedStyleDeclaration.cpp: 95237 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches): 95238 * css/CSSComputedStyleDeclaration.h: 95239 * css/CSSStyleDeclaration.cpp: 95240 (WebCore::CSSStyleDeclaration::cssPropertyMatches): 95241 (WebCore::CSSStyleDeclaration::diff): 95242 * css/CSSStyleDeclaration.h: 95243 95244 2009-06-23 Kevin McCullough <kmccullough (a] apple.com> 95245 95246 Reviewed by Darin Adler. 95247 95248 <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to 95249 add a blank line to pasted Facebook content (under 95250 CompositeEditCommand::positionAvoidingSpecialElementBoundary) 95251 95252 - Just added null checks and I will create a new bug to prevent the 95253 bad behavior. 95254 95255 * editing/CompositeEditCommand.cpp: 95256 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 95257 95258 2009-06-23 Simon Fraser <simon.fraser (a] apple.com> 95259 95260 Build fix. 95261 95262 Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 95263 ACCELERATED_COMPOSITING is not defined. 95264 95265 * rendering/RenderLayer.cpp: 95266 95267 2009-06-23 Simon Fraser <simon.fraser (a] apple.com> 95268 95269 Reviewed by Dave Hyatt. 95270 95271 https://bugs.webkit.org/show_bug.cgi?id=24863 95272 95273 Fix reflection painting on elements with compositing layers. 95274 95275 Test: compositing/reflections/reflection-on-composited.html 95276 95277 * rendering/RenderLayer.h: 95278 Add a new PaintLayerPaintingReflection flag which is set while painting inside 95279 reflections. 95280 (WebCore::RenderLayer::setPaintingInsideReflection): 95281 Add a setter so that RenderLayerBacking can call it. 95282 95283 * rendering/RenderLayer.cpp: 95284 (WebCore::shouldDoSoftwarePaint): 95285 Utility to clarify the logic of when a composited layer should do a software paint. 95286 95287 (WebCore::RenderLayer::paintLayer): 95288 Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer. 95289 Remove transform-related tests from the reflection-painting if test because they appear 95290 to be unnecessary. 95291 95292 * rendering/RenderLayerBacking.cpp: 95293 (WebCore::RenderLayerBacking::paintIntoLayer): 95294 Add the code to paint reflections to the composited layer painting method. 95295 95296 * rendering/RenderReplica.cpp: 95297 (WebCore::RenderReplica::paint): 95298 Set the PaintLayerPaintingReflection flag. 95299 95300 2009-06-23 Antti Koivisto <antti (a] apple.com> 95301 95302 Reviewed by Darin Adler. 95303 95304 https://bugs.webkit.org/show_bug.cgi?id=26643 95305 Memory cache should respect Cache-Control: no-store 95306 95307 Make resources with Cache-Control: no-store uncacheable in the memory cache. 95308 They get evicted immediately when all clients are gone and are always 95309 reloaded from the server. 95310 95311 Conforms to RFC2616 14.9.2 and seems also match Firefox behavior. 95312 95313 * loader/CachedResource.cpp: 95314 (WebCore::CachedResource::removeClient): 95315 (WebCore::CachedResource::canUseCacheValidator): 95316 (WebCore::CachedResource::mustRevalidate): 95317 * platform/network/ResourceResponseBase.cpp: 95318 (WebCore::ResourceResponseBase::ResourceResponseBase): 95319 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 95320 (WebCore::ResourceResponseBase::cacheControlContainsNoStore): 95321 * platform/network/ResourceResponseBase.h: 95322 95323 2009-06-23 Brady Eidson <beidson (a] apple.com> 95324 95325 Windows build fix. 95326 95327 * platform/graphics/win/QTMovieWin.cpp: 95328 (QTMovieWin::play): 95329 (QTMovieWin::pause): 95330 (QTMovieWin::setRate): 95331 (QTMovieWin::setCurrentTime): 95332 95333 2009-06-23 Kevin McCullough <kmccullough (a] apple.com> 95334 95335 Reviewed by Adele Peterson. 95336 95337 <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect 95338 after manually quoting blank line then hitting return 95339 95340 If the insertion point is both the begining and ending visible position 95341 then we need to insert at the end instead of the begining, which is what 95342 would normally happen if the insertion point was as the begining. 95343 95344 * editing/BreakBlockquoteCommand.cpp: 95345 (WebCore::BreakBlockquoteCommand::doApply): 95346 95347 2009-06-23 Brady Eidson <beidson (a] apple.com> 95348 95349 Reviewed by Sam Weinig, and looked over by Eric Carlson. 95350 95351 <rdar://problem/6980466> Media elements should provide option for changing pitch correction 95352 95353 Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this. 95354 95355 * html/HTMLMediaElement.cpp: 95356 (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 95357 property (Quicktime on Mac and Win) have had it on by default, so continue that default for now. 95358 (WebCore::HTMLMediaElement::loadResource): 95359 (WebCore::HTMLMediaElement::webkitPreservesPitch): 95360 (WebCore::HTMLMediaElement::setWebkitPreservesPitch): 95361 * html/HTMLMediaElement.h: 95362 * html/HTMLMediaElement.idl: 95363 95364 * platform/graphics/MediaPlayer.cpp: 95365 (WebCore::NullMediaPlayerPrivate::setPreservesPitch): 95366 (WebCore::MediaPlayer::MediaPlayer): 95367 (WebCore::MediaPlayer::preservesPitch): 95368 (WebCore::MediaPlayer::setPreservesPitch): 95369 * platform/graphics/MediaPlayer.h: 95370 * platform/graphics/MediaPlayerPrivate.h: 95371 (WebCore::MediaPlayerPrivateInterface::setPreservesPitch): 95372 95373 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 95374 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 95375 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 95376 (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the 95377 exact same attributes as before, with pitch preservation being the difference. 95378 (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes. 95379 (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie. 95380 (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it 95381 has been effectively overwritten. 95382 95383 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 95384 (WebCore::MediaPlayerPrivate::load): 95385 (WebCore::MediaPlayerPrivate::setPreservesPitch): 95386 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 95387 * platform/graphics/win/QTMovieWin.cpp: 95388 (QTMovieWinPrivate::QTMovieWinPrivate): 95389 (QTMovieWinPrivate::~QTMovieWinPrivate): 95390 (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie. 95391 (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it. 95392 (QTMovieWin::pause): Ditto. 95393 (QTMovieWin::setRate): Ditto. 95394 (QTMovieWin::setCurrentTime): Ditto. 95395 (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes. 95396 (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 95397 but changing the pitch preservation flag. 95398 * platform/graphics/win/QTMovieWin.h: 95399 95400 2009-06-23 Eric Carlson <eric.carlson (a] apple.com> 95401 95402 Reviewed by Simon Fraser. 95403 95404 <rdar://problem/6998286> Crash after leaving page with <video> 95405 95406 Don't try to post events after going into the page cache. 95407 95408 * html/HTMLMediaElement.cpp: 95409 (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop 95410 event timers so we won't try to post events after going into the cache. 95411 95412 2009-06-23 Jeremy Orlow <jorlow (a] chromium.org> 95413 95414 Reviewed by Brady Eidson. 95415 95416 Simplify the interaction between LocalStorageArea/SessionStorageArea 95417 and StorageArea by creating a "blockUntilImportComplete()" function 95418 rather than bouncing back and forth between the child and parent 95419 classes in a somewhat unintuitive manner. 95420 95421 This patch also paves the way for LocalStorageArea and 95422 SessionStorageArea being merged into one. It's part of several in a 95423 set which are separating syncing (to disk) code from the rest of the 95424 implementation so that local storage and session storage's code can be 95425 unified. 95426 95427 https://bugs.webkit.org/show_bug.cgi?id=25376 95428 95429 * storage/LocalStorageArea.cpp: 95430 (WebCore::LocalStorageArea::blockUntilImportComplete): 95431 * storage/LocalStorageArea.h: 95432 * storage/StorageArea.cpp: 95433 (WebCore::StorageArea::length): 95434 (WebCore::StorageArea::key): 95435 (WebCore::StorageArea::getItem): 95436 (WebCore::StorageArea::setItem): 95437 (WebCore::StorageArea::removeItem): 95438 (WebCore::StorageArea::clear): 95439 (WebCore::StorageArea::contains): 95440 * storage/StorageArea.h: 95441 (WebCore::StorageArea::blockUntilImportComplete): 95442 95443 2009-06-23 Simon Fraser <simon.fraser (a] apple.com> 95444 95445 Reviewed by Dave Hyatt 95446 95447 First part of https://bugs.webkit.org/show_bug.cgi?id=26652 95448 95449 * rendering/RenderLayer.cpp: 95450 (WebCore::RenderLayer::paint): 95451 (WebCore::RenderLayer::paintLayer): 95452 * rendering/RenderLayer.h: 95453 (WebCore::RenderLayer::): 95454 * rendering/RenderReplica.cpp: 95455 (WebCore::RenderReplica::paint): 95456 Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability. 95457 95458 * rendering/RenderLayerBacking.cpp: 95459 (WebCore::RenderLayerBacking::paintIntoLayer): 95460 (WebCore::RenderLayerBacking::paintContents): 95461 * rendering/RenderLayerBacking.h: 95462 Remove the unused 'haveTransparency' param to paintIntoLayer(). 95463 95464 2009-06-23 Simon Fraser <simon.fraser (a] apple.com> 95465 95466 Reviewed by Darin Adler. 95467 95468 <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration 95469 95470 The updatingControlTints() painting pass goes through compositing layer boundaries, 95471 so we need to ensure we don't cache clip rects computed with the wrong root by 95472 setting temporaryClipRects to true. 95473 95474 * rendering/RenderLayer.cpp: 95475 (WebCore::RenderLayer::paintLayer): 95476 95477 * rendering/RenderLayerBacking.cpp: 95478 (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): 95479 Remove a printf that I left in by mistake. 95480 95481 2009-06-23 Anders Carlsson <andersca (a] apple.com> 95482 95483 Reviewed by Darin Adler. 95484 95485 WebCore side of <rdar://problem/6946094>. 95486 95487 * platform/win/ClipboardWin.cpp: 95488 (WebCore::ClipboardWin::setExternalDataObject): 95489 * platform/win/ClipboardWin.h: 95490 95491 2009-06-23 Darin Fisher <darin (a] chromium.org> 95492 95493 Reviewed by Darin Adler. 95494 95495 https://bugs.webkit.org/show_bug.cgi?id=26650 95496 95497 Add setFormContentType and setFormData since it is awkward for Chromium 95498 to use setFormInfoFromRequest to set the underlying members. Also, add 95499 a clearChildren method that Chromium needs. These methods are used as 95500 part of the Chromium code that serializes a HistoryItem for storing in 95501 the browser's session history. 95502 95503 * history/HistoryItem.cpp: 95504 * history/HistoryItem.h: 95505 95506 2009-06-23 Eric Carlson <eric.carlson (a] apple.com> 95507 95508 Reviewed by Darin Adler. 95509 95510 <rdar://problem/6978938> Need HTML 5 event attributes for media elements 95511 95512 Test: media/event-attributes.html 95513 95514 * html/HTMLAttributeNames.in: Add media event attribute names. 95515 * html/HTMLMediaElement.cpp: 95516 (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes. 95517 95518 2009-06-23 Thiago Macieira <thiago.macieira (a] nokia.com> 95519 95520 Reviewed by Simon Hausmann. 95521 95522 Fix Qt build with Phonon. 95523 95524 The #include <phonon> header no longer exists. And the <Phonon> or 95525 <Phonon/Phonon> headers have never existed (neither for us nor for the 95526 Phonon sources). You have to select each and every header that you do 95527 want now. 95528 95529 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 95530 95531 2009-06-23 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 95532 95533 Reviewed by Simon Hausmann. 95534 95535 Remove duplicated code in Qt & GTK logging initialization 95536 95537 We now share the getChannelFromName() function in Logging.cpp 95538 95539 * platform/gtk/LoggingGtk.cpp: 95540 * platform/qt/LoggingQt.cpp: 95541 95542 2009-06-23 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 95543 95544 Reviewed by Simon Hausmann. 95545 95546 Rename the plugin logging channel to plural form 'Plugins' 95547 95548 This matches both the other logging channel names, as well as the 95549 WebKit logging channel used by Safari/Mac for plugins. 95550 95551 * platform/Logging.cpp: 95552 * platform/Logging.h: 95553 * platform/gtk/LoggingGtk.cpp: 95554 * platform/mac/LoggingMac.mm: 95555 * platform/qt/LoggingQt.cpp: 95556 * platform/win/LoggingWin.cpp: 95557 * plugins/PluginDebug.h: 95558 * plugins/gtk/PluginPackageGtk.cpp: 95559 * plugins/mac/PluginPackageMac.cpp: 95560 * plugins/mac/PluginViewMac.cpp: 95561 * plugins/qt/PluginPackageQt.cpp: 95562 95563 2009-06-23 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 95564 95565 Reviewed by Simon Hausmann. 95566 95567 Fix NPAPI mouse translation issues on Mac 95568 95569 The WindowRef we pass to the plugin refers to the the top level window, 95570 so the x and y positions have to be relative to this position, but we 95571 have to manually compensate for title bar decorations and other parents 95572 of the QWebView since contentsToWindow() only traverses to the QWebView. 95573 95574 Previously we did this compensation when passing on mouse coordinates to 95575 the plugin, which caused various issues with translations such as not 95576 being able to close the Flash settings dialog, or the hand cursor not 95577 appearing over links. 95578 95579 We now do the compensation as part of the call to NPP_SetWindow, and 95580 then pass mouse coordinates in global context without any compensation, 95581 similar to how both Safari and Mozilla does it. 95582 95583 * plugins/mac/PluginViewMac.cpp: 95584 (WebCore::PluginView::updatePluginWidget): 95585 (WebCore::PluginView::globalMousePosForPlugin): 95586 95587 2009-06-23 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 95588 95589 Rubber-stamped by Simon Hausmann. 95590 95591 [Qt] Resolve absolute path to library install_name manually 95592 95593 Since our target.path is set to the Qt directory (to be able 95594 to do 'make install') the 'absolute_library_soname' option 95595 to QMake did not do the right thing. 95596 95597 We now compute the absolute path manually using DESTDIR. 95598 95599 * WebCore.pro: 95600 95601 2009-06-22 Simon Fraser <simon.fraser (a] apple.com> 95602 95603 Reviewed by Oliver Hunt. 95604 95605 <rdar://problem/6991146> Scrollbars in hardware layers don't change to the 95606 inactive look in background windows 95607 95608 * rendering/RenderLayer.cpp: 95609 (WebCore::RenderLayer::paintLayer): 95610 Don't short-circuit the "painting" pass that is used to udpate control tints. 95611 95612 2009-06-22 Dimitri Glazkov <dglazkov (a] chromium.org> 95613 95614 Reviewed by Sam Weinig. 95615 95616 https://bugs.webkit.org/show_bug.cgi?id=26567 95617 Upstream V8 bindings code generator. With this change, also added interface ancestor 95618 traversal to IDL parser, which is necessary for V8 bindings. The traversal is used 95619 to determine whether an interface is a Node to facilitate proper casting and storage 95620 in V8DOMMap. 95621 95622 * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed 95623 by V8 bindings. 95624 * bindings/scripts/CodeGeneratorV8.pm: Added. 95625 * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for 95626 parent traversal cases. 95627 95628 2009-06-22 Sam Weinig <sam (a] webkit.org> 95629 95630 Reviewed by Gavin Barraclough. 95631 95632 Add event handler attribute getter/setters to HTMLFrameSetElement 95633 as specified in HTML 5. These match the ones on HTMLBodyElement. 95634 95635 * dom/Node.h: 95636 * html/HTMLFrameSetElement.cpp: 95637 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 95638 (WebCore::HTMLFrameSetElement::onblur): 95639 (WebCore::HTMLFrameSetElement::setOnblur): 95640 (WebCore::HTMLFrameSetElement::onerror): 95641 (WebCore::HTMLFrameSetElement::setOnerror): 95642 (WebCore::HTMLFrameSetElement::onfocus): 95643 (WebCore::HTMLFrameSetElement::setOnfocus): 95644 (WebCore::HTMLFrameSetElement::onload): 95645 (WebCore::HTMLFrameSetElement::setOnload): 95646 (WebCore::HTMLFrameSetElement::onbeforeunload): 95647 (WebCore::HTMLFrameSetElement::setOnbeforeunload): 95648 (WebCore::HTMLFrameSetElement::onmessage): 95649 (WebCore::HTMLFrameSetElement::setOnmessage): 95650 (WebCore::HTMLFrameSetElement::onoffline): 95651 (WebCore::HTMLFrameSetElement::setOnoffline): 95652 (WebCore::HTMLFrameSetElement::ononline): 95653 (WebCore::HTMLFrameSetElement::setOnonline): 95654 (WebCore::HTMLFrameSetElement::onresize): 95655 (WebCore::HTMLFrameSetElement::setOnresize): 95656 (WebCore::HTMLFrameSetElement::onstorage): 95657 (WebCore::HTMLFrameSetElement::setOnstorage): 95658 (WebCore::HTMLFrameSetElement::onunload): 95659 (WebCore::HTMLFrameSetElement::setOnunload): 95660 * html/HTMLFrameSetElement.h: 95661 * html/HTMLFrameSetElement.idl: 95662 95663 2009-06-22 Darin Adler <darin (a] apple.com> 95664 95665 Reviewed by Sam Weinig. 95666 95667 Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type 95668 https://bugs.webkit.org/show_bug.cgi?id=25425 95669 95670 * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL. 95671 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 95672 95673 * dom/Element.cpp: 95674 (WebCore::Element::getURLAttribute): Added. For use implementing getters 95675 for ReflectURL. 95676 * dom/Element.h: Added getURLAttribute. 95677 95678 * html/HTMLImageElement.idl: Use Reflect and ReflectURL. 95679 95680 2009-06-22 Jian Li <jianli (a] chromium.org> 95681 95682 Reviewed by Dimitri Glazkov. 95683 95684 Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception 95685 objects. 95686 https://bugs.webkit.org/show_bug.cgi?id=26626 95687 95688 * bindings/v8/WorkerContextExecutionProxy.cpp: 95689 (WebCore::WorkerContextExecutionProxy::ToV8Object): 95690 95691 2009-06-22 David Hyatt <hyatt (a] apple.com> 95692 95693 Reviewed by Sam Weinig. 95694 95695 Add RenderDataGrid to the build. Give it some basic default styling (that more or less matches a listbox). It has a default size 95696 of 300x150. 95697 95698 * GNUmakefile.am: 95699 * WebCore.pro: 95700 * WebCore.vcproj/WebCore.vcproj: 95701 * WebCore.xcodeproj/project.pbxproj: 95702 * WebCoreSources.bkl: 95703 * css/html4.css: 95704 * html/HTMLDataGridElement.cpp: 95705 (WebCore::HTMLDataGridElement::createRenderer): 95706 * html/HTMLDataGridElement.h: 95707 * html/HTMLDataGridElement.idl: 95708 * rendering/RenderDataGrid.cpp: Added. 95709 (WebCore::RenderDataGrid::RenderDataGrid): 95710 (WebCore::RenderDataGrid::~RenderDataGrid): 95711 (WebCore::RenderDataGrid::calcPrefWidths): 95712 (WebCore::RenderDataGrid::paintObject): 95713 (WebCore::RenderDataGrid::valueChanged): 95714 (WebCore::RenderDataGrid::invalidateScrollbarRect): 95715 (WebCore::RenderDataGrid::isActive): 95716 * rendering/RenderDataGrid.h: Added. 95717 (WebCore::RenderDataGrid::renderName): 95718 (WebCore::RenderDataGrid::canHaveChildren): 95719 (WebCore::RenderDataGrid::scrollbarCornerPresent): 95720 95721 2009-06-22 Simon Fraser <simon.fraser (a] apple.com> 95722 95723 Reviewed by Dave Hyatt. 95724 95725 https://bugs.webkit.org/show_bug.cgi?id=26430 95726 <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo) 95727 <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds() 95728 during window resize when using hardware layers 95729 95730 Fix an ordering dependency which caused the compositing position of a layer 95731 to be affected by some later sibling, which affected the compositing ancestor's 95732 composited bounds. 95733 95734 The fix is to only update the compositing positions of layers in some subtree 95735 when updateAfterLayout() has been called on all the layers in that subtree, 95736 from the ancestor down. 95737 95738 Also cache the composited bounds of a RenderLayerBacking, now that we can 95739 guarantee that those bounds are accurate. 95740 95741 Test: compositing/sibling-positioning.html 95742 95743 * rendering/RenderLayer.cpp: 95744 (WebCore::RenderLayer::updateLayerPositions): 95745 (WebCore::RenderLayer::hitTestLayer): 95746 * rendering/RenderLayerBacking.cpp: 95747 (WebCore::RenderLayerBacking::RenderLayerBacking): 95748 (WebCore::RenderLayerBacking::updateAfterLayout): 95749 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 95750 (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): 95751 (WebCore::RenderLayerBacking::paintContents): 95752 (WebCore::RenderLayerBacking::compositedBounds): 95753 (WebCore::RenderLayerBacking::setCompositedBounds): 95754 * rendering/RenderLayerBacking.h: 95755 * rendering/RenderLayerCompositor.cpp: 95756 (WebCore::RenderLayerCompositor::updateBacking): 95757 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 95758 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 95759 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 95760 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 95761 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 95762 (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry): 95763 * rendering/RenderLayerCompositor.h: 95764 95765 2009-06-22 Jeremy Orlow <jorlow (a] chromium.org> 95766 95767 Reviewed by Darin Fisher. 95768 95769 First step in https://bugs.webkit.org/show_bug.cgi?id=25376 95770 95771 Add StorageSyncManager.cpp/h 95772 95773 * GNUmakefile.am: 95774 * WebCore.pro: 95775 * WebCore.vcproj/WebCore.vcproj: 95776 * WebCore.xcodeproj/project.pbxproj: 95777 * WebCoreSources.bkl: 95778 95779 In preparation for combining SessionStorage and LocalStorage into a 95780 single StorageManager, move the syncing bits out of LocalStorage and 95781 into its own class. 95782 95783 The next step is to combine LocalStorageArea and SessionStorageArea 95784 into one. Then SessionStorage and LocalStorage can be combined. 95785 95786 Note that combining them will cut down on code paths that must be 95787 proxied, eliminate virtual dispatch, and allow Chromium to (eventually) 95788 write historical sessionStorage to disk when memory is getting tight. 95789 95790 Also remove a couple bits of cruft including code for quotas which is 95791 unnecessary (since a meta-data db is unnecessary since you can just 95792 count bytes as you read the local storage databases into memory). 95793 95794 * storage/LocalStorage.cpp: 95795 (WebCore::LocalStorage::LocalStorage): 95796 (WebCore::LocalStorage::storageArea): 95797 (WebCore::LocalStorage::close): 95798 * storage/LocalStorage.h: 95799 * storage/LocalStorageArea.cpp: 95800 (WebCore::LocalStorageArea::LocalStorageArea): 95801 (WebCore::LocalStorageArea::scheduleFinalSync): 95802 (WebCore::LocalStorageArea::syncTimerFired): 95803 (WebCore::LocalStorageArea::performImport): 95804 * storage/LocalStorageArea.h: 95805 (WebCore::LocalStorageArea::create): 95806 * storage/LocalStorageTask.cpp: 95807 (WebCore::LocalStorageTask::performTask): 95808 * storage/LocalStorageTask.h: 95809 (WebCore::LocalStorageTask::): 95810 (WebCore::LocalStorageTask::createImport): 95811 * storage/LocalStorageThread.cpp: 95812 * storage/LocalStorageThread.h: 95813 * storage/SessionStorage.h: 95814 * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp. 95815 (WebCore::StorageSyncManager::create): 95816 (WebCore::StorageSyncManager::StorageSyncManager): 95817 (WebCore::StorageSyncManager::fullDatabaseFilename): 95818 (WebCore::StorageSyncManager::close): 95819 (WebCore::StorageSyncManager::scheduleImport): 95820 (WebCore::StorageSyncManager::scheduleSync): 95821 * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h. 95822 (WebCore::): 95823 95824 2009-06-22 Darin Fisher <darin (a] chromium.org> 95825 95826 Reviewed by Dimitri Glazkov. 95827 95828 https://bugs.webkit.org/show_bug.cgi?id=26622 95829 Add ChromiumDataObject::copy() 95830 95831 * platform/chromium/ChromiumDataObject.cpp: 95832 * platform/chromium/ChromiumDataObject.h: 95833 95834 2009-06-22 Timothy Hatcher <timothy (a] apple.com> 95835 95836 Add a silhouette image for the enable view of the Resource panel. 95837 95838 Reviewed by Kevin McCullough. 95839 95840 * inspector/front-end/Images/resourcesSilhouette.png: Added. 95841 * inspector/front-end/inspector.css: 95842 95843 2009-06-22 Kyle Prete <kylep (a] chromium.org> 95844 95845 Reviewed by Dimitri Glazkov. 95846 95847 https://bugs.webkit.org/show_bug.cgi?id=26552 95848 Add V8 JS bindings for Audio Constructor. 95849 95850 * bindings/v8/custom/V8CustomBinding.h: 95851 Added a callback declaration for audio ctor to macro. 95852 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 95853 Added the whole file. 95854 95855 2009-06-22 Alexey Proskuryakov <ap (a] webkit.org> 95856 95857 Reviewed by David Levin. 95858 95859 https://bugs.webkit.org/show_bug.cgi?id=26600 95860 StringImpl::copy() no longer copies empty string correctly 95861 95862 * platform/text/StringImpl.cpp: 95863 (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a 95864 static method. 95865 (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem. 95866 95867 2009-06-22 Xiaomei Ji <xji (a] chromium.org> 95868 95869 Reviewed by Eric Seidel 95870 95871 Not auto-testable since it involves sending a keyboard event to 95872 the popup, which is not possible (eventSender sends the key 95873 events through webview, we want to go through the webwidget). 95874 95875 This patch is one part of the fix for issue "keyboard selection in 95876 Hebrew select element does not work in Windows". The other part of the 95877 fix is in chromium's webkit/glue layer. 95878 https://bugs.webkit.org/show_bug.cgi?id=25899 95879 95880 * manual-tests/keyboard_select_non_english.html: Added. 95881 * platform/chromium/PopupMenuChromium.cpp: 95882 (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 95883 character type event. "Char" in Windows or "KeyDown" in Mac is character 95884 type event. 95885 (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to 95886 indicate whether user types multiple characters continuely as a search 95887 prefix or not, it should be only assigned when the event is character 95888 type event. 95889 95890 2009-06-22 Kevin McCullough <kmccullough (a] apple.com> 95891 95892 Reviewed by Darin Adler. 95893 95894 <rdar://problem/6115819> Notify of profile start in console 95895 95896 Put a message in the console that announces that a profile has started, 95897 similar to how a console message announces that a profile has finished. 95898 95899 * inspector/InspectorController.cpp: 95900 (WebCore::InspectorController::addProfile): Use renamed function. 95901 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 95902 Renamed. 95903 (WebCore::InspectorController::addStartProfilingMessageToConsole): 95904 New function that logs the message about the profile starting. 95905 (WebCore::InspectorController::startUserInitiatedProfiling): Ditto 95906 * inspector/InspectorController.h: 95907 * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's 95908 title if there are multiple profiles, and take into account the fact 95909 that titles are displayed twice as much now. 95910 (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink): 95911 * page/Console.cpp: 95912 (WebCore::Console::profile): Call new function. 95913 95914 2009-06-22 David Hyatt <hyatt (a] apple.com> 95915 95916 Reviewed by Sam Weinig. 95917 95918 https://bugs.webkit.org/show_bug.cgi?id=26615 95919 95920 Add IDL interface for datagrid cell elements. Add a few more properties to the datagrid itself that 95921 correspond to ones you find on <select> elements. 95922 95923 Add an expanded property to row elements. 95924 95925 * DerivedSources.cpp: 95926 * DerivedSources.make: 95927 * GNUmakefile.am: 95928 * WebCore.pro: 95929 * WebCore.vcproj/WebCore.vcproj: 95930 * WebCore.xcodeproj/project.pbxproj: 95931 * WebCoreSources.bkl: 95932 * html/HTMLAttributeNames.in: 95933 * html/HTMLDataGridCellElement.cpp: Added. 95934 (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement): 95935 (WebCore::HTMLDataGridCellElement::label): 95936 (WebCore::HTMLDataGridCellElement::setLabel): 95937 (WebCore::HTMLDataGridCellElement::focused): 95938 (WebCore::HTMLDataGridCellElement::setFocused): 95939 (WebCore::HTMLDataGridCellElement::checked): 95940 (WebCore::HTMLDataGridCellElement::setChecked): 95941 (WebCore::HTMLDataGridCellElement::indeterminate): 95942 (WebCore::HTMLDataGridCellElement::setIndeterminate): 95943 (WebCore::HTMLDataGridCellElement::progress): 95944 (WebCore::HTMLDataGridCellElement::setProgress): 95945 * html/HTMLDataGridCellElement.h: Added. 95946 (WebCore::HTMLDataGridCellElement::endTagRequirement): 95947 (WebCore::HTMLDataGridCellElement::tagPriority): 95948 * html/HTMLDataGridCellElement.idl: Added. 95949 * html/HTMLDataGridElement.cpp: 95950 (WebCore::HTMLDataGridElement::autofocus): 95951 (WebCore::HTMLDataGridElement::setAutofocus): 95952 (WebCore::HTMLDataGridElement::disabled): 95953 (WebCore::HTMLDataGridElement::setDisabled): 95954 (WebCore::HTMLDataGridElement::size): 95955 (WebCore::HTMLDataGridElement::setSize): 95956 * html/HTMLDataGridElement.h: 95957 * html/HTMLDataGridElement.idl: 95958 * html/HTMLDataGridRowElement.cpp: 95959 (WebCore::HTMLDataGridRowElement::checkDTD): 95960 (WebCore::HTMLDataGridRowElement::expanded): 95961 (WebCore::HTMLDataGridRowElement::setExpanded): 95962 * html/HTMLDataGridRowElement.h: 95963 * html/HTMLDataGridRowElement.idl: 95964 * html/HTMLElementsAllInOne.cpp: 95965 * html/HTMLTagNames.in: 95966 95967 2009-06-22 Sam Weinig <sam (a] webkit.org> 95968 95969 Reviewed by Mark Rowe. 95970 95971 Add event handler attribute getter/setters to HTMLBodyElement 95972 as specified in HTML 5. 95973 95974 - Removes erroneous inclusion of the onresize and onunload event 95975 handler attributes in Element and Document. 95976 95977 * dom/Document.cpp: 95978 (WebCore::Document::getWindowAttributeEventListener): 95979 * dom/Document.h: 95980 * dom/Document.idl: 95981 * dom/Element.idl: 95982 * dom/Node.cpp: 95983 * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared 95984 virtual, since their behavior for HTMLBodyElement differs from the base 95985 implementation. 95986 * html/HTMLBodyElement.cpp: 95987 (WebCore::HTMLBodyElement::onblur): 95988 (WebCore::HTMLBodyElement::setOnblur): 95989 (WebCore::HTMLBodyElement::onerror): 95990 (WebCore::HTMLBodyElement::setOnerror): 95991 (WebCore::HTMLBodyElement::onfocus): 95992 (WebCore::HTMLBodyElement::setOnfocus): 95993 (WebCore::HTMLBodyElement::onload): 95994 (WebCore::HTMLBodyElement::setOnload): 95995 (WebCore::HTMLBodyElement::onbeforeunload): 95996 (WebCore::HTMLBodyElement::setOnbeforeunload): 95997 (WebCore::HTMLBodyElement::onmessage): 95998 (WebCore::HTMLBodyElement::setOnmessage): 95999 (WebCore::HTMLBodyElement::onoffline): 96000 (WebCore::HTMLBodyElement::setOnoffline): 96001 (WebCore::HTMLBodyElement::ononline): 96002 (WebCore::HTMLBodyElement::setOnonline): 96003 (WebCore::HTMLBodyElement::onresize): 96004 (WebCore::HTMLBodyElement::setOnresize): 96005 (WebCore::HTMLBodyElement::onstorage): 96006 (WebCore::HTMLBodyElement::setOnstorage): 96007 (WebCore::HTMLBodyElement::onunload): 96008 (WebCore::HTMLBodyElement::setOnunload): 96009 * html/HTMLBodyElement.h: 96010 * html/HTMLBodyElement.idl: 96011 96012 2009-06-22 Alexey Proskuryakov <ap (a] webkit.org> 96013 96014 Reviewed by Darin Adler. 96015 96016 https://bugs.webkit.org/show_bug.cgi?id=26601 96017 Remove disabled code for appcache dynamic entries 96018 96019 This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet. 96020 96021 * DerivedSources.cpp: 96022 * DerivedSources.make: 96023 * GNUmakefile.am: 96024 * WebCore.pro: 96025 * WebCore.vcproj/WebCore.vcproj: 96026 * WebCore.xcodeproj/project.pbxproj: 96027 * WebCoreSources.bkl: 96028 * bindings/js/JSDOMStringListCustom.cpp: Removed. 96029 * bindings/v8/custom/V8CustomBinding.h: 96030 * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed. 96031 * dom/DOMStringList.cpp: Removed. 96032 * dom/DOMStringList.h: Removed. 96033 * dom/DOMStringList.idl: Removed. 96034 * dom/StaticStringList.cpp: Removed. 96035 * dom/StaticStringList.h: Removed. 96036 * loader/DocumentLoader.cpp: 96037 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 96038 * loader/appcache/ApplicationCache.cpp: 96039 (WebCore::ApplicationCache::addResource): 96040 * loader/appcache/ApplicationCache.h: 96041 * loader/appcache/ApplicationCacheGroup.cpp: 96042 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 96043 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 96044 * loader/appcache/ApplicationCacheResource.cpp: 96045 (WebCore::ApplicationCacheResource::dumpType): 96046 * loader/appcache/ApplicationCacheResource.h: 96047 (WebCore::ApplicationCacheResource::): 96048 * loader/appcache/ApplicationCacheStorage.cpp: 96049 (WebCore::ApplicationCacheStorage::storeUpdatedType): 96050 * loader/appcache/DOMApplicationCache.cpp: 96051 * loader/appcache/DOMApplicationCache.h: 96052 * loader/appcache/DOMApplicationCache.idl: 96053 * page/DOMWindow.idl: 96054 96055 2009-06-22 Steve Falkenburg <sfalken (a] apple.com> 96056 96057 Windows build fix. 96058 96059 * DerivedSources.cpp: 96060 * html/HTMLElementsAllInOne.cpp: 96061 96062 2009-06-22 Alexey Proskuryakov <ap (a] webkit.org> 96063 96064 Reviewed by John Sullivan. 96065 96066 <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input, 96067 Japanese can't be input. 96068 96069 WebKit uses a per-frame input context for most editable fields, and application's global 96070 context for password fields, manually controlling secure input state and the list of available 96071 input sources. 96072 96073 We were setting TSMDocument property to disable non-Roman input methods after focus changed 96074 to a password field, but before selection was updated. This resulted in the property being 96075 applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input 96076 context cached by +[NSApplication updateWindows], we change context based on selection, 96077 not on focus. 96078 96079 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one 96080 context that we use for password fields - the global one - there is no need to get the active 96081 one. 96082 96083 2009-06-22 David Levin <levin (a] chromium.org> 96084 96085 Reviewed by David Hyatt and Eric Seidel. 96086 96087 REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction. 96088 https://bugs.webkit.org/show_bug.cgi?id=26326 96089 96090 Test: scrollbars/scrollbar-crash-on-refresh.html 96091 96092 * dom/Document.cpp: 96093 (WebCore::Document::detach): 96094 Gives the FrameView a change to do any necessary cleanup on 96095 Document::detach() which is where the renderArena gets detroyed. 96096 * page/FrameView.cpp: 96097 (WebCore::FrameView::detachCustomScrollbars): 96098 Gets rid of any custom scrollbars (if the docment supplied them). 96099 * page/FrameView.h: 96100 * platform/Scrollbar.h: 96101 (WebCore::Scrollbar::isCustomScrollbar): 96102 * rendering/RenderObject.cpp: 96103 (WebCore::RenderObject::destroy): 96104 Removed the check for document()->frame(). If frame() is 0 in this code, 96105 then the call to animation() is also incorrect (since it does document()->frame()->animation()). 96106 * rendering/RenderScrollbar.h: 96107 (WebCore::RenderScrollbar::isCustomScrollbar): 96108 96109 2009-06-22 Dan Bernstein <mitz (a] apple.com> 96110 96111 Reviewed by Simon Fraser. 96112 96113 - fix https://bugs.webkit.org/show_bug.cgi?id=23606 96114 <rdar://problem/6537777> CSS gradient not repainted when image load 96115 completes 96116 96117 Test: fast/repaint/background-generated.html 96118 96119 * rendering/RenderObject.cpp: 96120 (WebCore::mustRepaintFillLayers): Return true if the layer does not 96121 specify a size and the image uses the container size. 96122 96123 2009-06-22 David Hyatt <hyatt (a] apple.com> 96124 96125 Reviewed by Sam Weinig. 96126 96127 https://bugs.webkit.org/show_bug.cgi?id=26607 96128 96129 Add IDL for HTMLDataGridRowElement. 96130 96131 * DerivedSources.make: 96132 * GNUmakefile.am: 96133 * WebCore.pro: 96134 * WebCore.vcproj/WebCore.vcproj: 96135 * WebCore.xcodeproj/project.pbxproj: 96136 * WebCoreSources.bkl: 96137 * html/HTMLAttributeNames.in: 96138 * html/HTMLDataGridColElement.cpp: 96139 (WebCore::HTMLDataGridColElement::primary): 96140 (WebCore::HTMLDataGridColElement::setPrimary): 96141 * html/HTMLDataGridColElement.h: 96142 * html/HTMLDataGridColElement.idl: 96143 * html/HTMLDataGridElement.cpp: 96144 (WebCore::HTMLDataGridElement::checkDTD): 96145 (WebCore::HTMLDataGridElement::multiple): 96146 (WebCore::HTMLDataGridElement::setMultiple): 96147 * html/HTMLDataGridElement.h: 96148 * html/HTMLDataGridElement.idl: 96149 * html/HTMLDataGridRowElement.cpp: Added. 96150 (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement): 96151 (WebCore::HTMLDataGridRowElement::selected): 96152 (WebCore::HTMLDataGridRowElement::setSelected): 96153 (WebCore::HTMLDataGridRowElement::focused): 96154 (WebCore::HTMLDataGridRowElement::setFocused): 96155 * html/HTMLDataGridRowElement.h: Added. 96156 (WebCore::HTMLDataGridRowElement::tagPriority): 96157 * html/HTMLDataGridRowElement.idl: Added. 96158 * html/HTMLTagNames.in: 96159 96160 2009-06-19 Yael Aharon <yael.aharon (a] nokia.com> 96161 96162 Reviewed by Holger Freyther. 96163 96164 https://bugs.webkit.org/show_bug.cgi?id=26556 96165 96166 Fix a crash in case that the QNetworkReply::readReady signal is 96167 "stuck" in deferred mode due to JavaScript alert, and in the meantime, 96168 QNetworkreply::finished signal is received and processed before 96169 QNetworkReply::readReady is processed. 96170 96171 * manual-tests/qt/unload-alert.html: Added. 96172 * platform/network/qt/QNetworkReplyHandler.cpp: 96173 (WebCore::QNetworkReplyHandler::setLoadMode): 96174 (WebCore::QNetworkReplyHandler::finish): 96175 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 96176 (WebCore::QNetworkReplyHandler::forwardData): 96177 (WebCore::QNetworkReplyHandler::start): 96178 (WebCore::QNetworkReplyHandler::sendQueuedItems): 96179 * platform/network/qt/QNetworkReplyHandler.h: 96180 (WebCore::QNetworkReplyHandler::): 96181 96182 2009-06-22 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 96183 96184 Fix the Qt build. 96185 96186 * WebCore.pro: 96187 96188 2009-06-21 Darin Adler <darin (a] apple.com> 96189 96190 Reviewed by Sam Weinig. 96191 96192 Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type 96193 https://bugs.webkit.org/show_bug.cgi?id=25425 96194 96195 * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit 96196 more consistent and to make SVGElement.h be included in the header rather than in 96197 every implementation file that includes the header. Added code to use getAttribute 96198 and setAttribute directly when the [Reflect] extended attribute is used. 96199 96200 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 96201 96202 * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that 96203 reflect content attributes. Restricting this to one class for now to keep the 96204 patch small and start out slowly. 96205 96206 2009-06-21 Sam Weinig <sam (a] webkit.org> 96207 96208 Reviewed by Oliver Hunt. 96209 96210 Fix for https://bugs.webkit.org/show_bug.cgi?id=26596 96211 Only expose event handler attributes to elements and documents. 96212 96213 Test: fast/dom/event-attribute-availability.html 96214 96215 * dom/Document.idl: 96216 * dom/Element.idl: 96217 * dom/Node.cpp: 96218 * dom/Node.h: 96219 * dom/Node.idl: 96220 96221 2009-06-21 Daniel Bates <dbates (a] intudata.com> 96222 96223 Reviewed by Adam Barth. 96224 96225 https://bugs.webkit.org/show_bug.cgi?id=26580 96226 96227 Fix to enable XSSAuditor on child windows. 96228 96229 Test: http/tests/security/xssAuditor/link-opens-new-window.html 96230 96231 * page/XSSAuditor.cpp: 96232 (WebCore::XSSAuditor::XSSAuditor): 96233 (WebCore::XSSAuditor::isEnabled): 96234 (WebCore::XSSAuditor::canEvaluate): 96235 (WebCore::XSSAuditor::canCreateInlineEventListener): 96236 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 96237 (WebCore::XSSAuditor::canLoadObject): 96238 * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled. 96239 Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation 96240 to query Settings. 96241 96242 2009-06-21 David Levin <levin (a] chromium.org> 96243 96244 Reviewed by NOBODY. 96245 96246 Speculative windows build fix (idea by Mark Rowe). 96247 96248 * WebCore.vcproj/WebCore.vcproj: 96249 96250 2009-06-21 David Levin <levin (a] chromium.org> 96251 96252 Reviewed by NOBODY (Speculative gtk build fix). 96253 96254 * GNUmakefile.am: 96255 96256 2009-06-21 David Levin <levin (a] chromium.org> 96257 96258 Reviewed by NOBODY. 96259 96260 Speculative tiger build fix and a windows build fix. 96261 More fixes may still be in order. 96262 96263 * WebCore.vcproj/WebCoreCommon.vsprops: 96264 * dom/default/PlatformMessagePortChannel.h: 96265 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): 96266 96267 2009-06-21 David Levin <levin (a] chromium.org> 96268 96269 Reviewed by NOBODY (Speculative tiger build fix). 96270 96271 * dom/default/PlatformMessagePortChannel.h: 96272 (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue): 96273 96274 2009-06-21 Drew Wilson <atwilson (a] google.com> 96275 96276 Reviewed by David Levin. 96277 96278 <https://bugs.webkit.org/show_bug.cgi?id=26448> 96279 96280 Added optimized GC for MessagePorts when the entangled port is run by the same thread. 96281 Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port. 96282 96283 * bindings/js/JSDOMBinding.cpp: 96284 (WebCore::markActiveObjectsForContext): 96285 Now marks remotely entangled ports as in-use, in addition to those with pending activity. 96286 * bindings/js/JSMessagePortCustom.cpp: 96287 (WebCore::JSMessagePort::mark): 96288 Now checks if the entangled port is local (run by same thread) and if so mark()s it. 96289 * dom/MessagePort.cpp: 96290 (WebCore::MessagePort::postMessage): 96291 (WebCore::MessagePort::disentangle): 96292 Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports. 96293 (WebCore::MessagePort::start): 96294 (WebCore::MessagePort::locallyEntangledPort): 96295 Added API for fetching the entangled port if it is run by the same thread 96296 * dom/MessagePort.h: 96297 * dom/MessagePortProxyWrapper.h: 96298 * dom/default/MessagePortProxy.cpp: 96299 (WebCore::MessagePortProxyWrapper::locallyEntangledPort): 96300 Added API for fetching the entangled port if it is run by the same thread 96301 (WebCore::MessagePortProxy::hasPendingActivity): 96302 Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages. 96303 (WebCore::MessagePortProxy::locallyEntangledPort): 96304 * dom/default/MessagePortProxy.h: 96305 96306 2009-06-21 Drew Wilson <atwilson (a] google.com> 96307 96308 Reviewed by David Levin. 96309 96310 <https://bugs.webkit.org/show_bug.cgi?id=25043> 96311 Removed obsolete MessagePort.startConversation(), active and onclose APIs. 96312 96313 Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel 96314 implementation. Modified APIs to simplify cross-process implementations by moving the messaging code 96315 entirely into the platform-dependent proxy. 96316 96317 Created a thread-safe default PlatformMessagePortChannel implementation. 96318 96319 Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how 96320 cross-thread MessagePorts work. 96321 96322 * GNUMakefile.am: 96323 * WebCore.vcproj/WebCore.vcproj: 96324 * WebCore.xcodeproj/project.pbxproj: 96325 Added MessagePortChannel/PlatformMessagePortChannel files. 96326 * bindings/js/JSMessagePortCustom.cpp: 96327 (WebCore::JSMessagePort::mark): 96328 Changed ports to not mark their entangled pair as reachable, per the spec. 96329 * bindings/v8/custom/V8MessagePortCustom.cpp: 96330 * dom/MessageChannel.cpp: 96331 (WebCore::MessageChannel::MessageChannel): 96332 Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports. 96333 * dom/MessagePort.cpp: 96334 (WebCore::MessagePort::MessagePort): 96335 (WebCore::MessagePort::~MessagePort): 96336 (WebCore::MessagePort::postMessage): 96337 (WebCore::MessagePort::disentangle): 96338 (WebCore::MessagePort::messageAvailable): 96339 (WebCore::MessagePort::start): 96340 (WebCore::MessagePort::close): 96341 (WebCore::MessagePort::entangle): 96342 (WebCore::MessagePort::contextDestroyed): 96343 (WebCore::MessagePort::dispatchMessages): 96344 (WebCore::MessagePort::setOnmessage): 96345 (WebCore::MessagePort::hasPendingActivity): 96346 Changed these APIs to delegate to new PlatformMessagePortChannel APIs. 96347 * dom/MessagePort.h: 96348 Renamed isQueueOpen() to started(). 96349 * dom/MessagePort.idl: 96350 Removed startConversation and onclose. 96351 * dom/MessagePortProxy.h: Removed. 96352 * dom/MessagePortChannel.cpp: Added. 96353 (WebCore::MessagePortChannel::EventData::create): 96354 (WebCore::MessagePortChannel::EventData::EventData): 96355 (WebCore::MessagePortChannel::~MessagePortChannel): 96356 * dom/MessagePortChannel.h: Added. 96357 (WebCore::MessagePortChannel::EventData::message): 96358 (WebCore::MessagePortChannel::EventData::channel): 96359 Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging. 96360 (WebCore::MessagePortChannel::MessagePortChannel): 96361 (WebCore::MessagePortChannel::create): 96362 * dom/ScriptExecutionContext.cpp: 96363 (WebCore:ScriptExecutionContext::dispatchMessagePortEvents): 96364 Renamed isQueueOpen() to started(). 96365 * dom/default/PlatformMessagePortChannel.cpp: Added. 96366 (WebCore::MessagePortChannel::entangleIfOpen): 96367 (WebCore::MessagePortChannel::disentangle): 96368 (WebCore::MessagePortChannel::postMessageToRemote): 96369 (WebCore::MessagePortChannel::tryGetMessageFromRemote): 96370 (WebCore::MessagePortChannel::close): 96371 (WebCore::MessagePortChannel::isConnectedTo): 96372 (WebCore::MessagePortChannel::hasPendingActivity): 96373 (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel): 96374 (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel): 96375 (WebCore::PlatformMessagePortChannel::createChannel): 96376 (WebCore::PlatformMessagePortChannel::entangleIfOpen): 96377 (WebCore::PlatformMessagePortChannel::disentangle): 96378 (WebCore::PlatformMessagePortChannel::setRemotePort): 96379 (WebCore::PlatformMessagePortChannel::remotePort): 96380 (WebCore::PlatformMessagePortChannel::entangledChannel): 96381 (WebCore::PlatformMessagePortChannel::setEntangledChannel): 96382 (WebCore::PlatformMessagePortChannel::postMessageToRemote): 96383 (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote): 96384 (WebCore::PlatformMessagePortChannel::isConnectedTo): 96385 (WebCore::PlatformMessagePortChannel::close): 96386 (WebCore::PlatformMessagePortChannel::closeInternal): 96387 (WebCore::PlatformMessagePortChannel::hasPendingActivity): 96388 * dom/default/PlatformMessagePortChannel.h: Added. 96389 (WebCore::PlatformMessagePortChannel::MessagePortQueue::create): 96390 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): 96391 (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty): 96392 (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty): 96393 (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue): 96394 * page/DOMWindow.cpp: 96395 (WebCore::PostMessageTimer::PostMessageTimer): 96396 Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work. 96397 (WebCore::PostMessageTimer::event): 96398 (WebCore::DOMWindow::postMessage): 96399 (WebCore::DOMWindow::postMessageTimerFired): 96400 96401 2009-06-21 Dan Bernstein <mitz (a] apple.com> 96402 96403 Reviewed by Sam Weinig. 96404 96405 - fix https://bugs.webkit.org/show_bug.cgi?id=15383 96406 <rdar://problem/5682745> resize: vertical does not restrict to vertical 96407 resize 96408 96409 Test: fast/css/resize-single-axis.html 96410 96411 * rendering/RenderLayer.cpp: 96412 (WebCore::RenderLayer::resize): Ignore movement along the non-resizing 96413 axis. 96414 96415 2009-06-21 Sam Weinig <sam (a] webkit.org> 96416 96417 Reviewed by Eric Seidel 96418 96419 Fix for https://bugs.webkit.org/show_bug.cgi?id=26578 96420 event.currentTarget for listener registered on window should point to the window object like in Firefox 96421 96422 Test: fast/events/event-trace.html 96423 96424 * dom/Node.cpp: 96425 (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched 96426 to it. We previously used the document because DOMWindow was not yet an EventTarget. 96427 96428 2009-06-21 Dan Bernstein <mitz (a] apple.com> 96429 96430 Reviewed by Sam Weinig. 96431 96432 - fix https://bugs.webkit.org/show_bug.cgi?id=9694 96433 resize value not compared 96434 96435 Test: fast/css/resize-value-compared.html 96436 96437 * rendering/style/StyleRareInheritedData.cpp: 96438 (WebCore::StyleRareInheritedData::operator==): Compare the resize 96439 member. 96440 96441 2009-06-19 Alice Liu <alice.liu (a] apple.com> 96442 96443 Fix https://bugs.webkit.org/show_bug.cgi?id=26568 96444 Repro crash animating GIF if previously used in a closed window's back/forward list 96445 Also filed as <rdar://problem/6978362> 96446 96447 Reviewed by Maciej Stachowiak. 96448 96449 Can't test this bug with an automated layout test since it requires b/f caching 96450 * manual-tests/animated-gif-bfcache-crash.html: Added. 96451 * manual-tests/resources/containsAnimatedGif.html: Added. 96452 96453 Adding checks for hostWindow() since there is no guarantee that the Page is alive 96454 * platform/ScrollView.cpp: 96455 (WebCore::ScrollView::scrollRectIntoViewRecursively): 96456 (WebCore::ScrollView::contentsToScreen): 96457 (WebCore::ScrollView::screenToContents): 96458 (WebCore::ScrollView::wheelEvent): 96459 96460 2009-06-20 Sam Weinig <sam (a] webkit.org> 96461 96462 Reviewed by Adam Barth. 96463 96464 Fix for https://bugs.webkit.org/show_bug.cgi?id=26554 96465 Shadowing of top and parent 96466 96467 * page/DOMWindow.idl: 96468 96469 2009-06-20 Mark Rowe <mrowe (a] apple.com> 96470 96471 Reviewed by Dan Bernstein. 96472 96473 Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>. 96474 Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none 96475 96476 We allow selections to begin within an element that has -webkit-user-select: none set, 96477 unless the element is draggable as dragging should take priority over starting a selection. 96478 96479 Test: editing/selection/user-drag-element-and-user-select-none.html 96480 96481 * dom/Node.cpp: 96482 (WebCore::Node::canStartSelection): 96483 96484 2009-06-20 Darin Adler <darin (a] apple.com> 96485 96486 Reviewed by Dan Bernstein. 96487 96488 Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com 96489 https://bugs.webkit.org/show_bug.cgi?id=26528 96490 rdar://problem/6985329 96491 96492 * editing/TextIterator.cpp: 96493 (WebCore::TextIterator::handleReplacedElement): When entering a text control, 96494 start at the top of the shadow tree (by calling shadowTreeRootNode). Also 96495 remove assumption that innerTextElement will never be 0 since RenderTextControl 96496 doesn't really guarantee this. 96497 96498 2009-06-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 96499 96500 Reviewed by NOBODY. 96501 96502 Speculative Qt build fix - add HTMLDataGridColElement to the build script. 96503 96504 * WebCore.pro: 96505 96506 2009-06-19 Adam Barth <abarth (a] webkit.org> 96507 96508 Reviewed by Darin Adler. 96509 96510 https://bugs.webkit.org/show_bug.cgi?id=26561 96511 96512 Remove a memcpy by retrieving the already existing copy of a string 96513 instead of making a new one. 96514 96515 * bindings/js/ScriptSourceCode.h: 96516 (WebCore::ScriptSourceCode::ScriptSourceCode): 96517 (WebCore::ScriptSourceCode::source): 96518 * bindings/js/StringSourceProvider.h: 96519 (WebCore::StringSourceProvider::source): 96520 96521 2009-06-19 Brian Weinstein <bweinstein (a] apple.com> 96522 96523 Reviewed by Steve Falkenburg. 96524 96525 https://bugs.webkit.org/show_bug.cgi?id=26488 96526 No Support for Single Finger or Two Finger Panning in Windows 7 96527 96528 The code in WebCore allows us to interpret a Pan gesture as 96529 a mousewheel event, and we are able to reuse the scrolling code. 96530 Another constructor was created in WheelEventWin which takes data 96531 better suited to the pan guesture than what was currently there. 96532 96533 Unable to add tests to simulate touch behavior/gestures. 96534 96535 * platform/PlatformWheelEvent.h: 96536 * platform/win/WheelEventWin.cpp: 96537 96538 2009-06-19 Chris Marrin <cmarrin (a] apple.com> 96539 96540 Fixed a build error, which only shows up in the i386 compile 96541 96542 * platform/graphics/mac/GraphicsLayerCA.mm: 96543 (WebCore::GraphicsLayerCA::animateTransform): 96544 96545 2009-06-19 Simon Fraser <simon.fraser (a] apple.com> 96546 96547 Reviewed by Oliver Hunt. 96548 96549 <rdar://problem/6988385> REGRESSION: In full page video player, movie's 96550 video track becomes detached from its controller. 96551 96552 When in the media document, the MediaPlayer should not report that it 96553 is capable of hardware acceleration, because it renders via a QTMovieView 96554 which is already accelerated. 96555 96556 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 96557 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 96558 96559 2009-06-19 Kevin Ollivier <kevino (a] theolliviers.com> 96560 96561 Adding XSSAuditor.cpp to the wx build. 96562 96563 * WebCoreSources.bkl: 96564 96565 2009-06-19 Chris Marrin <cmarrin (a] apple.com> 96566 96567 Reviewed by Simon Fraser <simon.fraser (a] apple.com>. 96568 96569 https://bugs.webkit.org/show_bug.cgi?id=26544 96570 96571 If I am doing a Matrix hardware animation and any matrix is singular, I revert to software. 96572 This is not really testable, since we can't see what the hardware animation is doing. 96573 96574 * platform/graphics/mac/GraphicsLayerCA.mm: 96575 (WebCore::GraphicsLayerCA::animateTransform): 96576 96577 2009-06-19 Geoffrey Garen <ggaren (a] apple.com> 96578 96579 Reviewed by Maciej Stachowiak. 96580 96581 An additional fix for Bug 26532: Native functions do not correctly unlink 96582 from optimised callsites when they're collected 96583 <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385> 96584 96585 Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame 96586 accessors, so the type of object you get to wrap a function is the same, 96587 regardless of whether the access to the function is cross-frame. 96588 96589 This is faster and more idiomatic than what we had before. It also would 96590 have avoided Bug 26532 because it would have prevented a conflicting 96591 PrototypeFunction from being allocated to wrap postMessage, where a 96592 NativeFunctionWrapper had been allocated previously. 96593 96594 * bindings/js/JSDOMBinding.cpp: 96595 (WebCore::objectToStringFunctionGetter): 96596 * bindings/js/JSDOMWindowCustom.cpp: 96597 (WebCore::nonCachingStaticFunctionGetter): 96598 * bindings/js/JSHistoryCustom.cpp: 96599 (WebCore::nonCachingStaticBackFunctionGetter): 96600 (WebCore::nonCachingStaticForwardFunctionGetter): 96601 (WebCore::nonCachingStaticGoFunctionGetter): 96602 * bindings/js/JSLocationCustom.cpp: 96603 (WebCore::nonCachingStaticReplaceFunctionGetter): 96604 (WebCore::nonCachingStaticReloadFunctionGetter): 96605 (WebCore::nonCachingStaticAssignFunctionGetter): 96606 96607 2009-06-19 Simon Fraser <simon.fraser (a] apple.com> 96608 96609 Reviewed by John Sullivan 96610 96611 <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent 96612 96613 Fix a crash that could occur in complex content due to timing issues 96614 when doing a partial layer tree rebuild which is required when painting; 96615 setCompositingParent() could be called with a parent which has not been made 96616 compositing yet. 96617 96618 2009-06-19 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 96619 96620 Build fix. Adding missing HTMLDataGrid* files to the build. 96621 96622 * GNUmakefile.am: 96623 96624 2009-06-19 Peter Kasting <pkasting (a] google.com> 96625 96626 Reviewed by Eric Seidel. 96627 96628 https://bugs.webkit.org/show_bug.cgi?id=26460 part three 96629 Make BMPImageReader a standalone class that is used by ICOImageDecoder 96630 and BMPImageDecoder to decode individual BMPs within a file. These 96631 decoders now inherit directly from ImageDecoder. 96632 96633 This also makes these decoders decode on-demand in isSizeAvailable() and 96634 frameBufferAtIndex(), like the other decoders, instead of when setData() 96635 is called, like before. This should provide a speedup on pages 96636 containing BMPs that aren't immediately onscreen. 96637 96638 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 96639 (WebCore::BMPImageDecoder::BMPImageDecoder): 96640 (WebCore::BMPImageDecoder::setData): 96641 (WebCore::BMPImageDecoder::isSizeAvailable): 96642 (WebCore::BMPImageDecoder::frameBufferAtIndex): 96643 (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded): 96644 (WebCore::BMPImageDecoder::decode): 96645 (WebCore::BMPImageDecoder::processFileHeader): 96646 * platform/image-decoders/bmp/BMPImageDecoder.h: 96647 (WebCore::BMPImageDecoder::readUint32): 96648 * platform/image-decoders/bmp/BMPImageReader.cpp: 96649 (WebCore::BMPImageReader::BMPImageReader): 96650 (WebCore::BMPImageReader::decodeBMP): 96651 (WebCore::BMPImageReader::readInfoHeaderSize): 96652 (WebCore::BMPImageReader::processInfoHeader): 96653 (WebCore::BMPImageReader::readInfoHeader): 96654 (WebCore::BMPImageReader::processBitmasks): 96655 (WebCore::BMPImageReader::processColorTable): 96656 (WebCore::BMPImageReader::processRLEData): 96657 (WebCore::BMPImageReader::processNonRLEData): 96658 (WebCore::BMPImageReader::setFailed): 96659 * platform/image-decoders/bmp/BMPImageReader.h: 96660 (WebCore::BMPImageReader::readUint16): 96661 (WebCore::BMPImageReader::readUint32): 96662 (WebCore::BMPImageReader::setBuffer): 96663 (WebCore::BMPImageReader::setData): 96664 (WebCore::BMPImageReader::): 96665 (WebCore::BMPImageReader::pastEndOfImage): 96666 (WebCore::BMPImageReader::readCurrentPixel): 96667 (WebCore::BMPImageReader::setRGBA): 96668 * platform/image-decoders/ico/ICOImageDecoder.cpp: 96669 (WebCore::ICOImageDecoder::ICOImageDecoder): 96670 (WebCore::ICOImageDecoder::setData): 96671 (WebCore::ICOImageDecoder::isSizeAvailable): 96672 (WebCore::ICOImageDecoder::size): 96673 (WebCore::ICOImageDecoder::frameBufferAtIndex): 96674 (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): 96675 (WebCore::ICOImageDecoder::decode): 96676 (WebCore::ICOImageDecoder::processDirectory): 96677 (WebCore::ICOImageDecoder::processDirectoryEntries): 96678 (WebCore::ICOImageDecoder::readDirectoryEntry): 96679 (WebCore::ICOImageDecoder::processImageType): 96680 * platform/image-decoders/ico/ICOImageDecoder.h: 96681 (WebCore::ICOImageDecoder::readUint16): 96682 (WebCore::ICOImageDecoder::readUint32): 96683 96684 2009-06-19 Adam Barth <abarth (a] webkit.org> 96685 96686 Reviewed by Dimitri Glazkov. 96687 96688 https://bugs.webkit.org/show_bug.cgi?id=26555 96689 96690 Fix the Chromium canary bot. Turns out ScriptSourceCode doesn't have 96691 the same API in V8 and JSC. 96692 96693 * WebCore/bindings/js/ScriptController.cpp: 96694 * WebCore/bindings/js/ScriptSourceCode.h: 96695 * WebCore/bindings/v8/ScriptController.cpp: 96696 * WebCore/page/XSSAuditor.cpp: 96697 * WebCore/page/XSSAuditor.h: 96698 96699 2009-06-19 David Hyatt <hyatt (a] apple.com> 96700 96701 Reviewed by Anders Carlsson. 96702 96703 https://bugs.webkit.org/show_bug.cgi?id=26547 96704 96705 Implement the IDL interface for HTMLDataGridColElement. 96706 96707 * DerivedSources.cpp: 96708 * DerivedSources.make: 96709 * GNUmakefile.am: 96710 * WebCore.pro: 96711 * WebCore.vcproj/WebCore.vcproj: 96712 * WebCore.xcodeproj/project.pbxproj: 96713 * WebCoreSources.bkl: 96714 * html/HTMLAttributeNames.in: 96715 * html/HTMLDataGridColElement.cpp: Added. 96716 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 96717 (WebCore::HTMLDataGridColElement::label): 96718 (WebCore::HTMLDataGridColElement::setLabel): 96719 (WebCore::HTMLDataGridColElement::type): 96720 (WebCore::HTMLDataGridColElement::setType): 96721 (WebCore::HTMLDataGridColElement::sortable): 96722 (WebCore::HTMLDataGridColElement::setSortable): 96723 (WebCore::HTMLDataGridColElement::sortDirection): 96724 (WebCore::HTMLDataGridColElement::setSortDirection): 96725 (WebCore::HTMLDataGridColElement::selected): 96726 (WebCore::HTMLDataGridColElement::setSelected): 96727 * html/HTMLDataGridColElement.h: Added. 96728 (WebCore::HTMLDataGridColElement::endTagRequirement): 96729 (WebCore::HTMLDataGridColElement::tagPriority): 96730 * html/HTMLDataGridColElement.idl: Added. 96731 * html/HTMLDataGridElement.h: 96732 * html/HTMLElementsAllInOne.cpp: 96733 * html/HTMLTagNames.in: 96734 * page/DOMWindow.idl: 96735 96736 2009-06-19 Chris Evans <scarybeasts (a] gmail.com> 96737 96738 Reviewed by Eric Seidel. 96739 96740 There is no new test because this cannot be tested deterministically. 96741 I've not been able to cause a crash at all in the test framework, but 96742 I have verified that this is happening in the wild and that the patch 96743 fixes the likely cause in the debugger. 96744 96745 * loader/TextResourceDecoder.cpp: careful not to iterate off the end 96746 of our input buffer looking for the end of the comment. 96747 96748 2009-06-19 Adam Barth <abarth (a] webkit.org> 96749 96750 Reviewed by Dimitri Glazkov. 96751 96752 https://bugs.webkit.org/show_bug.cgi?id=26536 96753 96754 Fix external-script-URL-location.html and 96755 write-external-script-open.html LayoutTests. 96756 96757 implicitOpen is called from several places. We need to setXSSAuditor 96758 each time, so I moved the call inside implicitOpen. 96759 96760 * dom/Document.cpp: 96761 (WebCore::Document::open): 96762 (WebCore::Document::implicitOpen): 96763 * loader/FrameLoader.cpp: 96764 (WebCore::FrameLoader::begin): 96765 96766 2009-06-19 Kent Tamura <tkent (a] chromium.org> 96767 96768 Reviewed by David Levin. 96769 96770 Use WebCore::multipleFileUploadText() in Chromium to fix a problem 96771 that Chromium shows only the first filename even if a user selects 96772 multiple files for <input type=file multiple>. 96773 <https://bugs.webkit.org/show_bug.cgi?id=26502> 96774 96775 * platform/chromium/FileChooserChromium.cpp: 96776 (WebCore::FileChooser::basenameForWidth): 96777 96778 2009-06-19 Dan Bernstein <mitz (a] apple.com> 96779 96780 Reviewed by Dave Hyatt. 96781 96782 - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried 96783 to look up a word in Dictionary using command-control-d 96784 96785 Test: editing/selection/move-by-line-005.html 96786 96787 The root cause of this bug was searchAheadForBetterMatch() continuing 96788 past the first rendered text object after the given object. While we 96789 want to skip non-rendered text and empty containers, when we encounter 96790 rendered text object, we must return a text box for that object. 96791 96792 * dom/Position.cpp: 96793 (WebCore::searchAheadForBetterMatch): 96794 96795 2009-06-19 Jungshik Shin <jshin (a] chromium.org> 96796 96797 Reviewed by David Levin 96798 96799 https://bugs.webkit.org/show_bug.cgi?id=25657 96800 96801 Chromium Linux port does not handle non-BMP characters properly. 96802 It's fixed with a 'UTF-16 iterator macro' to extract Unicode 96803 codepoints out of a UTF-16 input string. 96804 96805 A manual test is added for non-BMP character rendering, 96806 which we can use until a small freely-distributable font 96807 covering non-BMP is added to the Webkit source tree. 96808 96809 96810 * platform/graphics/chromium/FontCacheLinux.cpp: 96811 (WebCore::FontCache::getFontDataForCharacters): 96812 * manual-tests/non-bmp.html: Added. 96813 96814 2009-06-19 Pavel Feldman <pfeldman (a] chromium.org> 96815 96816 Reviewed by Dimitri Glazkov. 96817 96818 V8 Bindings: return proper state from the script stack. 96819 96820 https://bugs.webkit.org/show_bug.cgi?id=26512 96821 96822 * bindings/v8/ScriptCallStack.cpp: 96823 (WebCore::ScriptCallStack::ScriptCallStack): 96824 * bindings/v8/ScriptCallStack.h: 96825 (WebCore::ScriptCallStack::state): 96826 96827 2009-06-19 Jessie Berlin <jberlin (a] apple.com> 96828 96829 Reviewed by Simon Fraser. 96830 96831 Windows build fix. 96832 96833 * platform/graphics/cg/PatternCG.cpp: 96834 (WebCore::Pattern::createPlatformPattern): 96835 96836 2009-06-19 Yael Aharon <yael.aharon (a] nokia.com> 96837 96838 Reviewed by Simon Hausmann. 96839 Build fix after 44825. 96840 96841 * platform/graphics/qt/ImageDecoderQt.cpp: 96842 (WebCore::ImageDecoderQt::isSizeAvailable): 96843 * platform/graphics/qt/ImageDecoderQt.h: 96844 96845 2009-06-18 Shinichiro Hamaji <hamaji (a] chromium.org> 96846 96847 Reviewed by Oliver Hunt. 96848 96849 Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird 96850 <https://bugs.webkit.org/show_bug.cgi?id=26426> 96851 96852 Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f. 96853 The original number cannot be represented by mantissa of float 96854 (23bit) so that it caused some error. 96855 96856 Test: fast/canvas/image-object-in-canvas.html: 96857 96858 * platform/graphics/cg/PatternCG.cpp: 96859 (WebCore::Pattern::createPlatformPattern): 96860 96861 2009-06-19 Adam Barth <abarth (a] webkit.org> 96862 96863 Unreviewed attempt to fix the Chromium build. 96864 96865 * bindings/v8/ScriptController.cpp: 96866 (WebCore::ScriptController::ScriptController): 96867 (WebCore::ScriptController::evaluate): 96868 * bindings/v8/ScriptController.h: 96869 (WebCore::ScriptController::xssAuditor): 96870 * bindings/v8/ScriptEventListener.cpp: 96871 (WebCore::createAttributeEventListener): 96872 96873 2009-06-18 Adam Barth <abarth (a] webkit.org> 96874 96875 Reviewed by Sam Weinig. 96876 96877 https://bugs.webkit.org/show_bug.cgi?id=26199 96878 96879 Added an experimental reflective XSS filter. The filter is disabled by 96880 default. 96881 96882 Test: http/tests/security/xssAuditor/script-tag.html 96883 96884 * GNUmakefile.am: 96885 * WebCore.base.exp: 96886 * WebCore.pro: 96887 * WebCore.vcproj/WebCore.vcproj: 96888 * WebCore.xcodeproj/project.pbxproj: 96889 * bindings/js/ScriptController.cpp: 96890 (WebCore::ScriptController::ScriptController): 96891 (WebCore::ScriptController::evaluate): 96892 * bindings/js/ScriptController.h: 96893 (WebCore::ScriptController::xssAuditor): 96894 * bindings/js/ScriptEventListener.cpp: 96895 (WebCore::createAttributeEventListener): 96896 * dom/Tokenizer.h: 96897 (WebCore::Tokenizer::xssAuditor): 96898 (WebCore::Tokenizer::setXSSAuditor): 96899 (WebCore::Tokenizer::Tokenizer): 96900 * html/HTMLTokenizer.cpp: 96901 (WebCore::HTMLTokenizer::scriptHandler): 96902 * loader/FrameLoader.cpp: 96903 (WebCore::FrameLoader::begin): 96904 (WebCore::FrameLoader::requestObject): 96905 * page/Settings.cpp: 96906 (WebCore::Settings::Settings): 96907 (WebCore::Settings::setXSSAuditorEnabled): 96908 * page/Settings.h: 96909 (WebCore::Settings::xssAuditorEnabled): 96910 * page/XSSAuditor.cpp: Added. 96911 (WebCore::isControlCharacter): 96912 (WebCore::XSSAuditor::XSSAuditor): 96913 (WebCore::XSSAuditor::~XSSAuditor): 96914 (WebCore::XSSAuditor::canEvaluate): 96915 (WebCore::XSSAuditor::canCreateInlineEventListener): 96916 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 96917 (WebCore::XSSAuditor::canLoadObject): 96918 (WebCore::XSSAuditor::decodeURL): 96919 (WebCore::XSSAuditor::findInRequest): 96920 * page/XSSAuditor.h: Added. 96921 (WebCore::XSSAuditor::isEnabled): 96922 (WebCore::XSSAuditor::setXSSAuditorEnabled): 96923 96924 2009-06-18 Dirk Schulze <krit (a] webkit.org> 96925 96926 Reviewed by Oliver Hunt. 96927 96928 feOffset and objectBoundingBox 96929 [https://bugs.webkit.org/show_bug.cgi?id=26441] 96930 96931 If we use objectBoundingBox for primitiveUnits, the fractions given 96932 to dx or dy of feOffset must be multiplied with the referenced objects 96933 objectBoundingBox size. 96934 96935 Test: svg/filters/feOffset.svg 96936 96937 * svg/graphics/filters/SVGFEOffset.cpp: 96938 (WebCore::FEOffset::apply): 96939 96940 2009-06-18 Dirk Schulze <krit (a] webkit.org> 96941 96942 Reviewed by Oliver Hunt. 96943 96944 feTile implementation missing 96945 [https://bugs.webkit.org/show_bug.cgi?id=26419] 96946 96947 Implementation of feTile, a pattern effect for SVG filters. It was 96948 necessary to modify FilterEffect since source inputs need a secial 96949 logic and we have to identify if an effect is a source input. 96950 96951 Tests: svg/batik/filters/feTile.svg 96952 svg/filters/feTile.svg 96953 96954 * platform/graphics/filters/FilterEffect.h: 96955 (WebCore::FilterEffect::isSourceInput): 96956 * platform/graphics/filters/SourceAlpha.h: 96957 (WebCore::SourceAlpha::isSourceInput): 96958 * platform/graphics/filters/SourceGraphic.h: 96959 (WebCore::SourceGraphic::isSourceInput): 96960 * svg/graphics/filters/SVGFETile.cpp: 96961 (WebCore::FETile::apply): 96962 96963 2009-06-18 Dirk Schulze <krit (a] webkit.org> 96964 96965 Reviewed by Oliver Hunt. 96966 96967 feMerge implementation 96968 [https://bugs.webkit.org/show_bug.cgi?id=26480] 96969 96970 Added feMerge to the SVG Filter system. 96971 96972 Test: svg/filters/feMerge.svg 96973 96974 * svg/graphics/filters/SVGFEMerge.cpp: 96975 (WebCore::FEMerge::uniteChildEffectSubregions): 96976 (WebCore::FEMerge::apply): 96977 * svg/graphics/filters/SVGFEMerge.h: 96978 96979 2009-06-18 Mark Rowe <mrowe (a] apple.com> 96980 96981 Speculative Windows build fix. 96982 96983 * page/win/FrameCGWin.cpp: Add missing #include. 96984 96985 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 96986 96987 Reviewed by Dave Levin. 96988 96989 https://bugs.webkit.org/show_bug.cgi?id=26425 96990 Final refactorings, picking up a few places where BitmapInfo 96991 could be used. 96992 96993 * page/win/FrameCGWin.cpp: 96994 (WebCore::imageFromRect): 96995 * platform/win/CursorWin.cpp: 96996 (WebCore::Cursor::Cursor): 96997 * platform/win/PopupMenuWin.cpp: 96998 (WebCore::PopupMenu::paint): 96999 97000 2009-06-18 Chris Fleizach <cfleizach (a] apple.com> 97001 97002 Reviewed by Darin Adler. 97003 97004 Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely 97005 https://bugs.webkit.org/show_bug.cgi?id=26522 97006 97007 Test: accessibility/non-data-table-cell-title-ui-element.html 97008 97009 * accessibility/AccessibilityTableCell.cpp: 97010 (WebCore::AccessibilityTableCell::titleUIElement): 97011 97012 2009-06-18 Kevin Ollivier <kevino (a] theolliviers.com> 97013 97014 wx build fix after recent RenderTheme changes. 97015 97016 * platform/wx/RenderThemeWx.cpp: 97017 (WebCore::RenderThemeWx::~RenderThemeWx): 97018 (WebCore::RenderTheme::themeForPage): 97019 97020 2009-06-18 Peter Kasting <pkasting (a] google.com> 97021 97022 Reviewed by Eric Seidel. 97023 97024 https://bugs.webkit.org/show_bug.cgi?id=26460 part two 97025 Attempt to minimize diff of following functional change by first landing 97026 non-functional change to: 97027 * Make readUintX() public and static (since they will need to be once 97028 BMPImageReader is included in *ImageDecoder via composition rather 97029 than inheritance). Add wrappers in each class so callers can be 97030 simpler. In the next patch, these wrappers will be beefed up slightly 97031 and the callers will get even simpler. 97032 * Change direct setting of m_failed to use setFailed(), since in the 97033 next patch much of this code won't even have direct access to m_failed 97034 * Add a helper function in ICOImageDecoder to determine the image type 97035 instead of simply doing it inline 97036 * Rewrap lines that used to be <=80 cols and slipped over it during the 97037 original landing of these decoders 97038 * Other misc. changes, e.g. adding constructor definitions, reordering 97039 functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no 97040 functional effect but minimize the subsequent diff for readability 97041 97042 97043 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 97044 (WebCore::BMPImageDecoder::BMPImageDecoder): 97045 (WebCore::BMPImageDecoder::processFileHeader): 97046 * platform/image-decoders/bmp/BMPImageDecoder.h: 97047 (WebCore::BMPImageDecoder::readUint32): 97048 * platform/image-decoders/bmp/BMPImageReader.cpp: 97049 (WebCore::BMPImageReader::decodeBMP): 97050 (WebCore::BMPImageReader::getInfoHeaderSize): 97051 (WebCore::BMPImageReader::processInfoHeader): 97052 (WebCore::BMPImageReader::readInfoHeader): 97053 (WebCore::BMPImageReader::processBitmasks): 97054 (WebCore::BMPImageReader::processColorTable): 97055 (WebCore::BMPImageReader::processRLEData): 97056 (WebCore::BMPImageReader::processNonRLEData): 97057 * platform/image-decoders/bmp/BMPImageReader.h: 97058 (WebCore::BMPImageReader::readUint16Helper): 97059 (WebCore::BMPImageReader::readUint32Helper): 97060 (WebCore::BMPImageReader::): 97061 (WebCore::BMPImageReader::readUint16): 97062 (WebCore::BMPImageReader::readUint32): 97063 (WebCore::BMPImageReader::readCurrentPixel): 97064 (WebCore::BMPImageReader::getComponent): 97065 (WebCore::BMPImageReader::setI): 97066 (WebCore::BMPImageReader::setRGBA): 97067 (WebCore::BMPImageReader::fillRGBA): 97068 * platform/image-decoders/ico/ICOImageDecoder.cpp: 97069 (WebCore::ICOImageDecoder::ICOImageDecoder): 97070 (WebCore::ICOImageDecoder::isSizeAvailable): 97071 (WebCore::ICOImageDecoder::size): 97072 (WebCore::ICOImageDecoder::decodeImage): 97073 (WebCore::ICOImageDecoder::processDirectory): 97074 (WebCore::ICOImageDecoder::processDirectoryEntries): 97075 (WebCore::ICOImageDecoder::isBetterEntry): 97076 (WebCore::ICOImageDecoder::processImageType): 97077 * platform/image-decoders/ico/ICOImageDecoder.h: 97078 (WebCore::ICOImageDecoder::readUint16): 97079 (WebCore::ICOImageDecoder::readUint32): 97080 97081 2009-06-18 Peter Kasting <pkasting (a] google.com> 97082 97083 Fix build bustage. 97084 97085 * platform/image-decoders/gif/GIFImageDecoder.h: 97086 97087 2009-06-18 Kevin McCullough <kmccullough (a] apple.com> 97088 97089 Reviewed by Oliver Hunt. 97090 97091 <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit 97092 97093 Convert intptr_t to Strings so that we don't loose bits in the 97094 conversion to JS. Previously they were being put into 32bit ints. 97095 97096 * inspector/InspectorController.cpp: Convert the String back to an 97097 intptr_t. 97098 (WebCore::InspectorController::addBreakpoint): 97099 (WebCore::InspectorController::removeBreakpoint): 97100 * inspector/InspectorController.h: 97101 * inspector/InspectorController.idl: Use strings in JS to avoid 32bit 97102 truncation. 97103 * inspector/InspectorFrontend.cpp: Make the intptr_t into a String. 97104 (WebCore::InspectorFrontend::parsedScriptSource): 97105 * platform/text/PlatformString.h: Implemented the necessary conversion 97106 functions to be able to convert to and from an intptr_t. 97107 * platform/text/String.cpp: Ditto. 97108 (WebCore::String::toIntPtrStrict): 97109 (WebCore::String::toIntPtr): 97110 (WebCore::charactersToIntPtrStrict): 97111 (WebCore::charactersToIntPtr): 97112 * platform/text/StringImpl.cpp: Ditto. 97113 (WebCore::StringImpl::toIntPtrStrict): 97114 (WebCore::StringImpl::toIntPtr): 97115 * platform/text/StringImpl.h: Ditto. 97116 97117 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97118 97119 Reviewed by Eric Seidel. 97120 97121 Final cleanups in this refactoring: 97122 (1) Move WindowsBitmap implementation from CG-specific file to 97123 the platform-common GraphicsContextWin.cpp, since it is 97124 equally useful on both platforms. 97125 (2) Revise the TransformationMatrix logic as suggested by 97126 Adam Roben in his review comments to Part #2 of this 97127 refactoring. 97128 97129 * platform/graphics/win/GraphicsContextCGWin.cpp: 97130 * platform/graphics/win/GraphicsContextWin.cpp: 97131 (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): 97132 (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap): 97133 (WebCore::GraphicsContext::createWindowsBitmap): 97134 (WebCore::GraphicsContext::getWindowsContext): 97135 (WebCore::GraphicsContextPlatformPrivate::scale): 97136 (WebCore::GraphicsContextPlatformPrivate::rotate): 97137 (WebCore::GraphicsContextPlatformPrivate::translate): 97138 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 97139 97140 2009-06-18 Peter Kasting <pkasting (a] google.com> 97141 97142 Reviewed by Eric Seidel. 97143 97144 https://bugs.webkit.org/show_bug.cgi?id=26460 part one 97145 Make isSizeAvailable non-const, since it's not logically const (it 97146 triggers lazy decoding), and simplify all the implementations (without 97147 changing behavior; just make less verbose). Remove some other 97148 inappropriate consts, which enables the removal of all the mutable 97149 declarations in the decoders. 97150 97151 * platform/image-decoders/ImageDecoder.h: 97152 (WebCore::ImageDecoder::isSizeAvailable): 97153 (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this. 97154 * platform/image-decoders/gif/GIFImageDecoder.cpp: 97155 (WebCore::GIFImageDecoder::isSizeAvailable): 97156 (WebCore::GIFImageDecoder::repetitionCount): 97157 (WebCore::GIFImageDecoder::decode): 97158 * platform/image-decoders/gif/GIFImageDecoder.h: 97159 * platform/image-decoders/ico/ICOImageDecoder.cpp: 97160 (WebCore::ICOImageDecoder::isSizeAvailable): 97161 * platform/image-decoders/ico/ICOImageDecoder.h: 97162 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 97163 (WebCore::JPEGImageDecoder::isSizeAvailable): 97164 (WebCore::JPEGImageDecoder::decode): 97165 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 97166 * platform/image-decoders/png/PNGImageDecoder.cpp: 97167 (WebCore::PNGImageDecoder::isSizeAvailable): 97168 (WebCore::PNGImageDecoder::decode): 97169 * platform/image-decoders/png/PNGImageDecoder.h: 97170 * platform/image-decoders/xbm/XBMImageDecoder.cpp: 97171 (WebCore::XBMImageDecoder::isSizeAvailable): 97172 (WebCore::XBMImageDecoder::frameBufferAtIndex): 97173 (WebCore::XBMImageDecoder::decode): 97174 * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders. 97175 97176 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97177 97178 Reviewed by Eric Seidel. 97179 97180 Move some common functions out of platform files and into 97181 the common implementation. 97182 97183 https://bugs.webkit.org/show_bug.cgi?id=26425. 97184 Add a new platform context method (flush) so that the 97185 getWindowsContext method can be consolidated into the common 97186 GraphicsContextWin.cpp file. 97187 97188 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 97189 (WebCore::GraphicsContextPlatformPrivate::flush): 97190 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 97191 (WebCore::GraphicsContextPlatformPrivate::flush): 97192 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove 97193 getWindowContext method. 97194 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove 97195 getWindowContext method and fillWithClearColor methods. 97196 * platform/graphics/win/GraphicsContextWin.cpp: 97197 (WebCore::fillWithClearColor): Moved from *CairoWin.cpp 97198 (WebCore::GraphicsContext::getWindowsContext): Moved 97199 from *CairoWin.cpp 97200 97201 2009-06-18 Ojan Vafai <ojan (a] chromium.org> 97202 97203 Reviewed by Oliver Hunt. 97204 97205 Remove code that I accidentally committed in r44811. 97206 97207 * editing/markup.cpp: 97208 (WebCore::createMarkup): 97209 97210 2009-06-18 Simon Fraser <simon.fraser (a] apple.com> 97211 97212 Reviewed by Dan Bernstein. 97213 97214 <rdar://problem/6983207> Non-layer content is not re-rendered when transition 97215 starts sometimes (with hardware acceleration). 97216 97217 When deciding which RenderLayers should be composited, when a layer goes into 97218 compositing mode we repaint the old location. However, we did that before 97219 we'd looked at all the factors that may force a layer to composite, so missed 97220 some cases. Fix by doing the repaint once we really know whether it's going 97221 to composite. 97222 97223 Test: compositing/repaint/become-overlay-composited-layer.html 97224 97225 * rendering/RenderLayerCompositor.cpp: 97226 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 97227 97228 2009-06-18 Simon Fraser <simon.fraser (a] apple.com> 97229 97230 Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and 97231 the Tiger build where QTMovieLayer does not exist. 97232 97233 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 97234 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 97235 (WebCore::MediaPlayerPrivate::createQTMovieLayer): 97236 (WebCore::MediaPlayerPrivate::destroyQTMovieLayer): 97237 (WebCore::MediaPlayerPrivate::currentRenderingMode): 97238 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 97239 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 97240 (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): 97241 97242 2009-06-18 Simon Fraser <simon.fraser (a] apple.com> 97243 97244 Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined. 97245 97246 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 97247 (WebCore::MediaPlayerPrivate::currentRenderingMode): 97248 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 97249 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 97250 97251 2009-06-17 Erik Arvidsson <arv (a] chromium.org> 97252 97253 Reviewed by Adele Peterson. 97254 97255 https://bugs.webkit.org/show_bug.cgi?id=15189 97256 Adds the HTML5 input event support for textarea. 97257 97258 Also, moves the oninput attribute parse handling to HTMLElement so that 97259 it can be set on any HTML element so that bubbling events can be handled 97260 using HTML attribute handlers. 97261 97262 Test: fast/forms/textarea-input-event.html 97263 97264 * html/HTMLElement.cpp: 97265 (WebCore::HTMLElement::parseMappedAttribute): 97266 * html/HTMLInputElement.cpp: 97267 (WebCore::HTMLInputElement::parseMappedAttribute): 97268 * rendering/RenderTextControlMultiLine.cpp: 97269 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 97270 97271 2009-06-18 Dirk Schulze <krit (a] webkit.org> 97272 97273 Reviewed by Oliver Hunt. 97274 97275 Share code between filterEffects 97276 [https://bugs.webkit.org/show_bug.cgi?id=26479] 97277 97278 Share more code of filter effects. The imageBuffer creation can move to 97279 FilterEffect ant every effect asks for the GraphicsContext. Move the 97280 drawingRect calculation to FilterEffect. 97281 97282 * platform/graphics/filters/FilterEffect.cpp: 97283 (WebCore::FilterEffect::calculateDrawingRect): 97284 (WebCore::FilterEffect::getEffectContext): 97285 * platform/graphics/filters/FilterEffect.h: 97286 * platform/graphics/filters/SourceGraphic.cpp: 97287 (WebCore::SourceGraphic::apply): 97288 * svg/graphics/filters/SVGFEFlood.cpp: 97289 (WebCore::FEFlood::apply): 97290 * svg/graphics/filters/SVGFEOffset.cpp: 97291 (WebCore::FEOffset::apply): 97292 97293 2009-06-18 Simon Fraser <simon.fraser (a] apple.com> 97294 97295 Reviewed by Dave Hyatt. 97296 97297 https://bugs.webkit.org/show_bug.cgi?id=26499 97298 97299 Support hardware-accelerationed rendering of video elements. 97300 97301 * html/HTMLMediaElement.cpp: 97302 (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): 97303 (WebCore::HTMLMediaElement::mediaPlayerRepaint): 97304 Just move these methods to group the render-related methods together. 97305 97306 (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated): 97307 Call out method to ask the RenderLayerCompositor if presentation of this video 97308 can be acclerated. It might say no, if, for example, the video has a reflection. 97309 97310 (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer): 97311 Fetch the GraphicsLayer from the RenderVideo that will host the movie layer. 97312 97313 * html/HTMLMediaElement.h: 97314 Reordered the rendering-related methods, and added two methods related to video 97315 acceleration. 97316 97317 * platform/graphics/MediaPlayer.cpp: 97318 (WebCore::MediaPlayer::acceleratedRenderingStateChanged): 97319 Called by the rendering system when it determines that the video must go into, or 97320 fall off of the hardware-accelerated path. 97321 97322 (WebCore::MediaPlayer::supportsAcceleratedRendering): 97323 Method to say whether the media engine supports accelerated rendering. 97324 97325 * platform/graphics/MediaPlayer.h: 97326 (WebCore::MediaPlayerClient::mediaPlayerRepaint): 97327 (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): 97328 Moved. 97329 97330 (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated): 97331 (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer): 97332 New methods to ask the client if the rendering system can support accelerated 97333 rendering, and to get a GraphicsLayer to plug the movie layer into. 97334 97335 * platform/graphics/MediaPlayerPrivate.h: 97336 (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering): 97337 (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged): 97338 Forwarding methods from MediaPlayer. 97339 97340 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 97341 Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic. 97342 97343 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 97344 (WebCore::MediaPlayerPrivate::createQTMovieLayer): 97345 (WebCore::MediaPlayerPrivate::destroyQTMovieLayer): 97346 Methods to create and destroy the QTMovieLayer. 97347 97348 (WebCore::MediaPlayerPrivate::currentRenderingMode): 97349 (WebCore::MediaPlayerPrivate::preferredRenderingMode): 97350 Methods to clarify the code that decides which of the 3 rendering modes to use. 97351 97352 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 97353 Changed to use the new rendering mode methods. 97354 97355 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 97356 Destroy the layer if we have one. 97357 97358 (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): 97359 Small utility method. 97360 97361 (WebCore::MediaPlayerPrivate::updateStates): 97362 Move the call to setUpVideoRendering() to before we send out the state notifications, 97363 so that we will have created the rendering objects already. 97364 97365 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 97366 Return true if we have QTMovieLayer. 97367 97368 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): 97369 We've been told that we went into or out of accelerated mode; maybe reset 97370 the renderer, and set the layer if we have to. 97371 97372 * rendering/RenderLayer.cpp: 97373 (WebCore::RenderLayer::rendererContentChanged): 97374 We may need to udpate compositing layers if the video went into accelerated mode. 97375 97376 * rendering/RenderLayerBacking.cpp: 97377 (WebCore::RenderLayerBacking::canUseDirectCompositing): 97378 Add smarts to deal with video, which allows us to avoid extra backing store. 97379 97380 (WebCore::RenderLayerBacking::contentsBox): 97381 Use the videoBox to use the content layer for video layers. 97382 97383 * rendering/RenderLayerCompositor.cpp: 97384 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 97385 Poke the RenderVideo if the state changed. 97386 97387 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 97388 Handle an edge case when the video element itself is a stacking context 97389 because of opacity or transform. 97390 97391 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): 97392 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 97393 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 97394 Allow video to throw us into compositing mode if the media engine supports it. 97395 97396 * rendering/RenderLayerCompositor.h: 97397 New methods related to video. 97398 97399 * rendering/RenderVideo.h: 97400 * rendering/RenderVideo.cpp: 97401 (WebCore::RenderVideo::updatePlayer): 97402 Call rendererContentChanged() to give the compositor a change to throw the video into 97403 compositing mode. 97404 97405 (WebCore::RenderVideo::supportsAcceleratedRendering): 97406 (WebCore::RenderVideo::acceleratedRenderingStateChanged): 97407 (WebCore::RenderVideo::videoGraphicsLayer): 97408 Methods to allow the MediaPlayer to do rendering-related stuff via the media element. 97409 97410 2009-06-18 Rob Buis <rwlbuis (a] gmail.com> 97411 97412 Reviewed by Niko. 97413 97414 https://bugs.webkit.org/show_bug.cgi?id=26385 97415 Root SVG element is not checked on requiredFeatures, requiredExtension like other elements 97416 97417 Also do the isValid check for outer <svg>. 97418 97419 Test: svg/custom/outer-svg-unknown-feature.svg 97420 97421 * svg/SVGDocument.cpp: 97422 (WebCore::SVGDocument::childShouldCreateRenderer): 97423 * svg/SVGDocument.h: 97424 97425 2009-06-18 Dan Bernstein <mitz (a] apple.com> 97426 97427 Reviewed by Darin Adler. 97428 97429 - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on 97430 apple.com cuts entered text 97431 97432 Test: fast/forms/search-vertical-alignment.html 97433 97434 * rendering/RenderTextControlSingleLine.cpp: 97435 (WebCore::RenderTextControlSingleLine::layout): Vertically center the 97436 the search field's inner block. 97437 97438 2009-06-18 Janne Koskinen <janne.p.koskinen (a] digia.com> 97439 97440 Reviewed by Simon Hausmann. 97441 97442 Fix compilation with Symbian WINSCW compiler, which produced 97443 multiple definitions of the CSSPrimitiveValue conversion operators. 97444 97445 It turns out that they are defined inline but not declared inline. 97446 97447 Adding the inline keyword to the declaration fixes the build. 97448 97449 * css/CSSPrimitiveValue.h: 97450 97451 2009-06-18 Markus Goetz <Markus.Goetz (a] nokia.com> 97452 97453 Reviewed by Simon Hausman. 97454 97455 Clarify in docs how to compile with debug information. 97456 97457 * WebCore.pro: 97458 97459 2009-06-18 Jakub Wieczorek <faw217 (a] gmail.com> 97460 97461 Reviewed by Simon Hausmann. 97462 97463 [Qt] When writing an URL to the clipboard, save the corresponding title 97464 in the mime data as well. 97465 97466 * platform/qt/ClipboardQt.cpp: 97467 (WebCore::ClipboardQt::writeURL): 97468 97469 2009-06-18 Jakub Wieczorek <faw217 (a] gmail.com> 97470 97471 [Qt] Fix build. Add HTMLDataGridElement. 97472 97473 * WebCore.pro: 97474 97475 2009-06-18 Jan Michael Alonzo <jmalonzo (a] webkit.org> 97476 97477 Gtk build fix. 97478 97479 Add HTMLDataGridElement header and IDL to the build script. 97480 97481 * GNUmakefile.am: 97482 97483 2009-06-18 Chris Evans <scarybeasts (a] gmail.com> 97484 97485 Reviewed by Adam Barth. 97486 97487 Fix 8-digit long hex entities. Fixes bug 26454 97488 https://bugs.webkit.org/show_bug.cgi?id=26454 97489 97490 Test: fast/parser/eightdigithexentity.html 97491 97492 * html/HTMLTokenizer.cpp: fix off-by-ones. 97493 97494 2009-06-18 David Levin <levin (a] chromium.org> 97495 97496 Fix chromium linux build. 97497 97498 Fixes a mistake that happened during the complicated merge for 97499 landing r44775, r44776, r44777. 97500 97501 * rendering/RenderThemeChromiumLinux.cpp: 97502 (WebCore::RenderThemeChromiumLinux::create): 97503 97504 2009-06-17 Simon Fraser <simon.fraser (a] apple.com> 97505 97506 Reviewed by Darin Adler. 97507 97508 https://bugs.webkit.org/show_bug.cgi?id=26499 97509 97510 First step to making video rendering be hardware-accelerated: 97511 make <video> elements get self-painting RenderLayers, and add 97512 an isVideo() virtual method to RenderObject. 97513 97514 * html/HTMLMediaElement.cpp: 97515 (WebCore::HTMLMediaElement::setReadyState): 97516 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): 97517 (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): 97518 * rendering/RenderLayer.cpp: 97519 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 97520 (WebCore::RenderLayer::isSelfPaintingLayer): 97521 * rendering/RenderObject.h: 97522 (WebCore::RenderObject::isVideo): 97523 * rendering/RenderVideo.h: 97524 (WebCore::RenderVideo::requiresLayer): 97525 (WebCore::RenderVideo::isVideo): 97526 97527 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97528 97529 Reviewed by Adam Roben. 97530 97531 Refactor a few common routines in the various Windows ports 97532 and reduce some duplicated code. 97533 97534 (1) Create TransformationMatrix XFORM casting operator, and 97535 switch various XFORM structure uses to utilize it. 97536 (2) Push concatCTM call to GraphicsContextWin now that the 97537 TransformationMatrix can directly create XFORM (rather 97538 than converting to CGAffineTransform/cairo_matrix_t first.) 97539 97540 * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure. 97541 * platform/graphics/transforms/TransformationMatrix.h: 97542 * platform/graphics/win/GraphicsContextCGWin.cpp: 97543 * platform/graphics/win/GraphicsContextCairoWin.cpp: 97544 * platform/graphics/win/GraphicsContextWin.cpp: 97545 (WebCore::GraphicsContextPlatformPrivate::scale): 97546 (WebCore::GraphicsContextPlatformPrivate::rotate): 97547 (WebCore::GraphicsContextPlatformPrivate::translate): 97548 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 97549 * platform/graphics/win/TransformationMatrixWin.cpp: Added. 97550 (WebCore::TransformationMatrix::operator XFORM): New operator 97551 97552 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97553 97554 Non-CG Windows build fix after @r44758. 97555 97556 * rendering/RenderThemeWin.cpp: 97557 (WebCore::RenderTheme::themeForPage): 97558 97559 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97560 97561 Reviewed by Adam Roben. 97562 97563 Refactor a few common routines in the various Windows ports 97564 and reduce some duplicated code. 97565 https://bugs.webkit.org/show_bug.cgi?id=26425. 97566 97567 Refactor use of BITMAPINFO for the new BitmapInfo structure. 97568 97569 * WebCore.vcproj/WebCore.vcproj: 97570 * platform/win/BitmapInfo.cpp: Added. 97571 (WebCore::bitmapInfoForSize): 97572 (WebCore::BitmapInfo::create): 97573 (WebCore::BitmapInfo::createBottomUp): 97574 * platform/win/BitmapInfo.h: Added. 97575 * platform/graphics/win/GraphicsContextCairoWin.cpp: 97576 * platform/graphics/win/GraphicsContextCGWin.cpp: 97577 * platform/graphics/win/TransformationMatrixWin.cpp: Added. 97578 (WebCore::TransformationMatrix::operator XFORM): New operator 97579 * platform/win/DragImageCGWin.cpp: 97580 (WebCore::allocImage): 97581 * platform/win/DragImageCairoWin.cpp: 97582 (WebCore::allocImage): 97583 * platform/win/PasteboardWin.cpp: 97584 (WebCore::Pasteboard::writeImage): 97585 * platform/win/PopupMenuWin.cpp: 97586 (WebCore::PopupMenu::paint): 97587 97588 2009-06-17 Adam Roben <aroben (a] apple.com> 97589 97590 Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL 97591 97592 Reviewed by Mark Rowe. 97593 97594 * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and 97595 an unnecessary parameter name. 97596 * platform/win/SoftLinking.h: Removed the unused 6th parameter. 97597 97598 2009-06-17 Adam Roben <aroben (a] apple.com> 97599 97600 Make Settings::shouldPaintNativeControls default to true 97601 97602 This matches the default up in WebKit (that was changed in r43318). 97603 97604 Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style 97605 form controls 97606 <https://bugs.webkit.org/show_bug.cgi?id=26493> 97607 97608 Reviewed by Darin Adler and Dave Hyatt. 97609 97610 No test possible since DRT always uses Mac-style form controls. 97611 97612 * page/Settings.cpp: Changed the initial value of 97613 gShouldPaintNativeControls to true. 97614 97615 * rendering/RenderThemeSafari.cpp: 97616 (WebCore::RenderTheme::themeForPage): Added a FIXME about the design 97617 flaw here involving querying Settings before it's been initialized. 97618 97619 2009-06-17 David Levin <levin (a] chromium.org> 97620 97621 Fix chromium windows build. 97622 97623 A mistake that happened during the complicated merge for 97624 landing r44775, r44776, r44777. 97625 97626 * rendering/RenderThemeChromiumWin.h: 97627 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 97628 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 97629 97630 2009-06-17 Eric Carlson <eric.carlson (a] apple.com> 97631 97632 Reviewed by Simon Fraser. 97633 97634 <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent 97635 97636 * rendering/MediaControlElements.cpp: 97637 (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer. 97638 (WebCore::MediaControlInputElement::attachToParent): Ditto. 97639 97640 2009-06-17 David Hyatt <hyatt (a] apple.com> 97641 97642 Fix Windows build. There's no HTMLDataGridElement.cpp file yet. 97643 97644 * html/HTMLElementsAllInOne.cpp: 97645 97646 2009-06-17 David Hyatt <hyatt (a] apple.com> 97647 97648 Reviewed by Adam Roben and Anders Carlsson. 97649 97650 Stub out the HTMLDataGridElement. 97651 97652 * DerivedSources.make: 97653 * WebCore.vcproj/WebCore.vcproj: 97654 * WebCore.xcodeproj/project.pbxproj: 97655 * WebCoreSources.bkl: 97656 * css/CSSStyleSelector.cpp: 97657 (WebCore::CSSStyleSelector::adjustRenderStyle): 97658 * editing/htmlediting.cpp: 97659 (WebCore::canHaveChildrenForEditing): 97660 * html/HTMLDataGridElement.h: Added. 97661 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 97662 (WebCore::HTMLDataGridElement::tagPriority): 97663 * html/HTMLDataGridElement.idl: Added. 97664 * html/HTMLElement.cpp: 97665 (WebCore::inlineTagList): 97666 * html/HTMLParser.cpp: 97667 (WebCore::HTMLParser::isAffectedByResidualStyle): 97668 * html/HTMLTagNames.in: 97669 97670 2009-06-17 David Levin <levin (a] chromium.org> 97671 97672 Reviewed by NOBODY (chromium build fix). 97673 97674 Fix typo in previous changes. 97675 97676 * rendering/RenderThemeChromiumSkia.cpp: 97677 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 97678 97679 2009-06-17 Albert J. Wong <ajwong (a] chromium.org> 97680 97681 Reviewed by Eric Seidel. 97682 97683 https://bugs.webkit.org/show_bug.cgi?id=26148 97684 Remove common code from RenderThemeChromiumWin that is shared with 97685 RenderThemeChromiumSkia. 97686 97687 Also move supportsControlTints to RenderThemeChromiumLinux since it 97688 is linux specific. 97689 97690 There are no tests changed because this just removes functions with 97691 duplicate implementations between the base and derived classes. 97692 97693 * rendering/RenderThemeChromiumLinux.cpp: 97694 (WebCore::RenderThemeChromiumLinux::supportsControlTints): 97695 * rendering/RenderThemeChromiumLinux.h: 97696 * rendering/RenderThemeChromiumSkia.cpp: 97697 * rendering/RenderThemeChromiumSkia.h: 97698 * rendering/RenderThemeChromiumWin.cpp: 97699 (WebCore::): 97700 (WebCore::getNonClientMetrics): 97701 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 97702 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 97703 (WebCore::RenderThemeChromiumWin::systemFont): 97704 (WebCore::RenderThemeChromiumWin::paintCheckbox): 97705 (WebCore::RenderThemeChromiumWin::paintRadio): 97706 (WebCore::RenderThemeChromiumWin::paintSliderThumb): 97707 (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal): 97708 * rendering/RenderThemeChromiumWin.h: 97709 97710 2009-06-17 Albert J. Wong <ajwong (a] chromium.org> 97711 97712 Reviewed by Eric Seidel. 97713 97714 https://bugs.webkit.org/show_bug.cgi?id=26148 97715 Move RenderThemeChromiumSkia into its own file. This is purely a code move. 97716 97717 * rendering/RenderThemeChromiumLinux.cpp: 97718 * rendering/RenderThemeChromiumLinux.h: 97719 * rendering/RenderThemeChromiumSkia.cpp: 97720 (WebCore::): 97721 (WebCore::setSizeIfAuto): 97722 (WebCore::mediaElementParent): 97723 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 97724 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): 97725 (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia): 97726 (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): 97727 (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet): 97728 (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet): 97729 (WebCore::RenderThemeChromiumSkia::supportsHover): 97730 (WebCore::RenderThemeChromiumSkia::supportsFocusRing): 97731 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor): 97732 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor): 97733 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor): 97734 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor): 97735 (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor): 97736 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 97737 (WebCore::RenderThemeChromiumSkia::systemFont): 97738 (WebCore::RenderThemeChromiumSkia::minimumMenuListSize): 97739 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 97740 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 97741 (WebCore::RenderThemeChromiumSkia::paintRadio): 97742 (WebCore::RenderThemeChromiumSkia::setRadioSize): 97743 (WebCore::brightenColor): 97744 (WebCore::paintButtonLike): 97745 (WebCore::RenderThemeChromiumSkia::paintButton): 97746 (WebCore::RenderThemeChromiumSkia::paintTextField): 97747 (WebCore::RenderThemeChromiumSkia::paintTextArea): 97748 (WebCore::RenderThemeChromiumSkia::paintSearchField): 97749 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle): 97750 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): 97751 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle): 97752 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle): 97753 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): 97754 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle): 97755 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): 97756 (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal): 97757 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): 97758 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 97759 (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle): 97760 (WebCore::RenderThemeChromiumSkia::paintMenuList): 97761 (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle): 97762 (WebCore::RenderThemeChromiumSkia::paintMenuListButton): 97763 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft): 97764 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight): 97765 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop): 97766 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom): 97767 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft): 97768 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight): 97769 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop): 97770 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom): 97771 (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal): 97772 (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): 97773 * rendering/RenderThemeChromiumSkia.h: 97774 (WebCore::RenderThemeChromiumSkia::supportsControlTints): 97775 97776 2009-06-17 Albert J. Wong <ajwong (a] chromium.org> 97777 97778 Reviewed by Eric Seidel. 97779 97780 https://bugs.webkit.org/show_bug.cgi?id=26148 97781 Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux. This 97782 is mostly a code shuffle. The non-suffle changes are: 97783 1) Creation of a caretBlinkIntervalInternal. 97784 2) Moving of some inline functions into the implementation files. 97785 3) Changing of defaultGUIFont into a static class constant from a 97786 static function. Also the type is changed to String. 97787 4) Changing of defaultFontSize into a static class constant from a 97788 static variable in the file scope. 97789 5) The static supportsFocus function was collapsed into 97790 supportsFocusRing. 97791 6) Split the extraDefaultStyleSheet into Skia and Linux versions. 97792 97793 * rendering/RenderThemeChromiumLinux.cpp: 97794 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 97795 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): 97796 (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia): 97797 (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): 97798 (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet): 97799 (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet): 97800 (WebCore::RenderThemeChromiumSkia::supportsHover): 97801 (WebCore::RenderThemeChromiumSkia::supportsFocusRing): 97802 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor): 97803 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor): 97804 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor): 97805 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor): 97806 (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor): 97807 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 97808 (WebCore::RenderThemeChromiumSkia::systemFont): 97809 (WebCore::RenderThemeChromiumSkia::minimumMenuListSize): 97810 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 97811 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 97812 (WebCore::RenderThemeChromiumSkia::paintRadio): 97813 (WebCore::RenderThemeChromiumSkia::setRadioSize): 97814 (WebCore::RenderThemeChromiumSkia::paintButton): 97815 (WebCore::RenderThemeChromiumSkia::paintTextField): 97816 (WebCore::RenderThemeChromiumSkia::paintTextArea): 97817 (WebCore::RenderThemeChromiumSkia::paintSearchField): 97818 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle): 97819 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): 97820 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle): 97821 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle): 97822 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): 97823 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle): 97824 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): 97825 (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal): 97826 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): 97827 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 97828 (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle): 97829 (WebCore::RenderThemeChromiumSkia::paintMenuList): 97830 (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle): 97831 (WebCore::RenderThemeChromiumSkia::paintMenuListButton): 97832 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft): 97833 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight): 97834 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop): 97835 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom): 97836 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft): 97837 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight): 97838 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop): 97839 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom): 97840 (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal): 97841 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux): 97842 (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux): 97843 (WebCore::RenderThemeChromiumLinux::systemColor): 97844 (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet): 97845 (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): 97846 * rendering/RenderThemeChromiumLinux.h: 97847 97848 2009-06-17 Adam Roben <aroben (a] apple.com> 97849 97850 Add a SOFT_LINK_OPTIONAL macro 97851 97852 This macro is useful when soft-linking functions that are present in 97853 only some versions of a particular library (e.g., APIs added in 97854 Windows Vista that aren't available on Windows XP). 97855 97856 Reviewed by Ada Chan. 97857 97858 * platform/graphics/win/ColorSafari.cpp: 97859 (WebCore::focusRingColor): 97860 Use the SoftLinking.h macros instead of doing the soft-link ourselves. 97861 Also removed an unused call to focusRingColor.isValid(). 97862 97863 * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL. 97864 97865 2009-06-17 Brent Fulgham <bfulgham (a] webkit.org> 97866 97867 Reviewed by Gustavo Noronha. 97868 97869 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470. 97870 The use of zero-width or zero-height rectangles in generating 97871 gradients caused Windows Cairo to crash, and webkitgtk to 97872 produce invalid images. 97873 97874 We now test for NaN in the phase argument, which is calculated 97875 using fmodf and can blow up when the width/height values passed 97876 are zero. 97877 97878 Test: fast/gradients/border-image-gradient-sides-and-corners.html 97879 97880 * platform/graphics/cairo/ImageCairo.cpp: 97881 (WebCore::Image::drawPattern): 97882 97883 2009-06-17 Ojan Vafai <ojan (a] chromium.org> 97884 97885 Reviewed by Dimitri Glazkov. 97886 97887 If loading a font fails because of the sandbox, we ask the browser process to 97888 try to load it by calling ensureFontLoaded. If it still fails after 97889 ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 97890 97891 This case happens once in a while during browser shutdown. The browser will 97892 queue a message to the renderer to shutdown, and will then stop answering sync 97893 messages from the renderer. If the renderer is still loading a page during this 97894 time, it might try to call the browser process to ask to load a font. The 97895 browser process will ignore the request, and the font will fail to load, even 97896 after the second try. 97897 97898 This is unfortunate, but there is no real risk here, since the renderer will be 97899 going away as soon as it processes another message. 97900 97901 This can't be layout tested as it depends on the sandbox. 97902 97903 https://bugs.webkit.org/show_bug.cgi?id=26484 97904 97905 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 97906 (WebCore::fontContainsCharacter): 97907 97908 2009-06-17 Eric Carlson <eric.carlson (a] apple.com> 97909 97910 Reviewed by Dan Bernstein. 97911 97912 https://bugs.webkit.org/show_bug.cgi?id=26482 97913 <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 97914 playing (doesn't resume later) 97915 97916 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 97917 (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused". 97918 97919 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 97920 (WebCore::MediaPlayerPrivate::setRate): Ditto. 97921 97922 2009-06-17 Adam Roben <aroben (a] apple.com> 97923 97924 Add all the generated JS*.cpp files back to WebCore.vcproj 97925 97926 They are not compiled by the vcproj directly. Instead they are 97927 compiled as part of DerivedSources.cpp. Having them listed in the 97928 vcproj makes them be included in Project Find, etc. 97929 97930 Rubber-stamped in advance by Steve Falkenburg. 97931 97932 * WebCore.vcproj/WebCore.vcproj: 97933 97934 2009-06-17 Kent Tamura <tkent (a] chromium.org> 97935 97936 Reviewed by Darin Fisher. 97937 97938 Don't fire redundant 'change' events for a file upload form. 97939 https://bugs.webkit.org/show_bug.cgi?id=26471 97940 97941 * platform/FileChooser.cpp: 97942 (WebCore::FileChooser::chooseFiles): Suppress change event if the 97943 existing selected files and the incoming selected files are equal. 97944 (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected 97945 files. 97946 97947 2009-06-17 Adam Treat <adam.treat (a] torchmobile.com> 97948 97949 Reviewed by George Staikos. 97950 97951 https://bugs.webkit.org/show_bug.cgi?id=23155 97952 Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks. 97953 97954 * platform/KeyboardCodes.h: 97955 97956 2009-06-17 George Staikos <george.staikos (a] torchmobile.com> 97957 97958 Reviewed by Adam Treat. 97959 97960 https://bugs.webkit.org/show_bug.cgi?id=23155 97961 Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks. 97962 97963 * platform/graphics/qt/GraphicsContextQt.cpp: 97964 (WebCore::GraphicsContext::getWindowsContext): 97965 * platform/win/SystemTimeWin.cpp: 97966 (WebCore::userIdleTime): 97967 97968 2009-06-17 Adam Roben <aroben (a] apple.com> 97969 97970 Speculative Mac build fix 97971 97972 * page/Page.h: Forward-declare RenderTheme instead of including 97973 RenderTheme.h so that we don't need to make RenderTheme.h a private 97974 header for WebKit's benefit. 97975 97976 * editing/SelectionController.cpp: 97977 * rendering/InlineTextBox.cpp: 97978 * rendering/RenderObject.cpp: 97979 Added #includes of RenderTheme.h. 97980 97981 2009-06-17 Adam Roben <aroben (a] apple.com> 97982 97983 Speculative Mac build fix 97984 97985 * rendering/RenderThemeMac.mm: 97986 (WebCore::RenderTheme::create): Added. 97987 97988 2009-06-17 Adam Roben <aroben (a] apple.com> 97989 97990 Speculative Mac build fix 97991 97992 * rendering/RenderThemeMac.mm: 97993 (WebCore::RenderTheme::themeForPage): Remove the name of an unused 97994 parameter. 97995 97996 2009-06-17 Adam Roben <aroben (a] apple.com> 97997 97998 Speculative Mac build fix 97999 98000 * page/Page.cpp: 98001 (WebCore::Page::Page): Change the initializer order to match the 98002 declaration order. 98003 98004 2009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 98005 98006 Reviewed by Simon Hausmann. 98007 98008 Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278 98009 Patch that make WebCore have a RenderTheme per page 98010 98011 Make the Qt implementation of RenderTheme create a theme per page, 98012 and use the QStyle associated with the view of each page, in order 98013 to make the QWidget setStyle() method work as advertised. 98014 98015 * platform/qt/RenderThemeQt.cpp: 98016 (WebCore::RenderThemeQt::RenderThemeQt): 98017 (WebCore::RenderThemeQt::qStyle): 98018 (WebCore::findFrameLineWidth): 98019 (WebCore::inflateButtonRect): 98020 (WebCore::RenderThemeQt::adjustRepaintRect): 98021 (WebCore::RenderThemeQt::isControlStyled): 98022 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 98023 (WebCore::RenderThemeQt::setButtonPadding): 98024 (WebCore::RenderThemeQt::paintButton): 98025 (WebCore::RenderThemeQt::paintTextField): 98026 (WebCore::RenderThemeQt::setPopupPadding): 98027 * platform/qt/RenderThemeQt.h: 98028 98029 2009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 98030 98031 Reviewed by Dave Hyatt and Adam Roben. 98032 98033 https://bugs.webkit.org/show_bug.cgi?id=26278 98034 Patch that make WebCore have a RenderTheme per page 98035 98036 98037 Create a different RenderTheme per page, so that RenderTheme has 98038 access to page specific theming. This is needed for the Qt port, as Qt 98039 supports setting the theme (style) per widget. 98040 98041 This change was suggested and discussed with Dave Hyatt. 98042 98043 More detailed: 98044 98045 1) Create a theme per page or one global one, depending on the needs 98046 of the platform. 98047 2) Add an accesser to the theme from RenderObject. 98048 3) Change all uses of the theming to access the theme through 98049 RenderObject, using the global default theme as fallback, when the 98050 document of RenderObject has no page. 98051 When we don't have access to a RenderObject, use the default theme. 98052 4) Modify all RenderTheme platform implementations to work with the 98053 above changes, still creating only one global theme. 98054 98055 98056 * accessibility/AccessibilityRenderObject.cpp: 98057 (WebCore::AccessibilityRenderObject::boundingBoxRect): 98058 * css/CSSStyleSelector.cpp: 98059 (WebCore::loadFullDefaultStyle): 98060 (WebCore::CSSStyleSelector::styleForElement): 98061 (WebCore::CSSStyleSelector::adjustRenderStyle): 98062 (WebCore::CSSStyleSelector::applyProperty): 98063 * dom/ContainerNode.cpp: 98064 (WebCore::ContainerNode::setActive): 98065 (WebCore::ContainerNode::setHovered): 98066 * editing/SelectionController.cpp: 98067 (WebCore::SelectionController::focusedOrActiveStateChanged): 98068 * html/HTMLFormControlElement.cpp: 98069 (WebCore::HTMLFormControlElement::parseMappedAttribute): 98070 * html/HTMLInputElement.cpp: 98071 (WebCore::HTMLInputElement::setChecked): 98072 (WebCore::HTMLInputElement::setIndeterminate): 98073 * page/Frame.cpp: 98074 (WebCore::Frame::selectionLayoutChanged): 98075 * page/FrameView.cpp: 98076 (WebCore::FrameView::updateControlTints): 98077 * page/Page.cpp: 98078 (WebCore::Page::Page): 98079 * page/Page.h: 98080 (WebCore::Page::theme): 98081 * platform/chromium/PopupMenuChromium.cpp: 98082 (WebCore::PopupListBox::paintRow): 98083 * platform/gtk/RenderThemeGtk.cpp: 98084 (WebCore::RenderThemeGtk::create): 98085 (WebCore::RenderTheme::themeForPage): 98086 (WebCore::RenderThemeGtk::RenderThemeGtk): 98087 (WebCore::RenderThemeGtk::~RenderThemeGtk): 98088 (WebCore::RenderThemeGtk::gtkEntry): 98089 (WebCore::RenderThemeGtk::gtkTreeView): 98090 * platform/gtk/RenderThemeGtk.h: 98091 * platform/qt/RenderThemeQt.cpp: 98092 (WebCore::RenderThemeQt::create): 98093 (WebCore::RenderTheme::themeForPage): 98094 * platform/qt/RenderThemeQt.h: 98095 * platform/win/PopupMenuWin.cpp: 98096 (WebCore::PopupMenu::paint): 98097 * rendering/RenderMediaControls.cpp: 98098 (WebCore::determineState): 98099 * platform/wx/RenderThemeWx.cpp: 98100 (WebCore::RenderThemeWx::create): 98101 (WebCore::RenderTheme::themeForPage): 98102 * rendering/InlineTextBox.cpp: 98103 (WebCore::InlineTextBox::paintTextMatchMarker): 98104 * rendering/MediaControlElements.cpp: 98105 (WebCore::MediaControlInputElement::hitTest): 98106 * rendering/RenderObject.cpp: 98107 (WebCore::RenderObject::theme): 98108 * rendering/RenderObject.h: 98109 * rendering/RenderTheme.cpp: 98110 (WebCore::RenderTheme::adjustStyle): 98111 * rendering/RenderTheme.h: 98112 (WebCore::RenderTheme::defaultTheme): 98113 * rendering/RenderThemeChromiumLinux.cpp: 98114 (WebCore::RenderThemeChromiumLinux::create): 98115 (WebCore::RenderTheme::themeForPage): 98116 * rendering/RenderThemeChromiumLinux.h: 98117 (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux): 98118 * rendering/RenderThemeChromiumMac.h: 98119 * rendering/RenderThemeChromiumMac.mm: 98120 (WebCore::RenderThemeChromiumMac::create): 98121 (WebCore::RenderTheme::themeForPage): 98122 * rendering/RenderThemeChromiumWin.cpp: 98123 (WebCore::RenderThemeChromiumWin::create): 98124 (WebCore::RenderTheme::themeForPage): 98125 * rendering/RenderThemeChromiumWin.h: 98126 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 98127 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 98128 * rendering/RenderThemeMac.h: 98129 * rendering/RenderThemeMac.mm: 98130 (WebCore::RenderTheme::themeForPage): 98131 * rendering/RenderThemeSafari.cpp: 98132 (WebCore::RenderThemeSafari::create): 98133 (WebCore::RenderTheme::themeForPage): 98134 * rendering/RenderThemeSafari.h: 98135 * rendering/RenderThemeWin.cpp: 98136 (WebCore::RenderThemeWin::create): 98137 (WebCore::RenderTheme::themeForPage): 98138 * rendering/RenderThemeWin.h: 98139 98140 2009-06-17 Gavin Barraclough <barraclough (a] apple.com> 98141 98142 Reviewed by Oliver Hunt. 98143 98144 <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com 98145 98146 JSDOMWindowCustom was using PropertySlot::putValue, however this interface 98147 appears to be fundaementally incorrect - PropertySlots are only used to get 98148 values, all puts use PutPropertySlot. However PutPropertySlot cannot be 98149 used in the fashion desired here - it only reports the caching type of a 98150 write that has been performed. 98151 98152 (This caused a bug where the put should have triggered a transition, and 98153 failed to do so.) 98154 98155 Removing the faulty case from the optimization leads to a ~0.5% progression 98156 on in-browser SunSpider (presumably the very first case was not being hit 98157 often, and the simplification here is beneficial). 98158 98159 * bindings/js/JSDOMWindowCustom.cpp: 98160 (WebCore::JSDOMWindow::put): 98161 98162 2009-06-17 David Levin <levin (a] chromium.org> 98163 98164 Reviewed by NOBODY, layout tests fix. 98165 98166 https://bugs.webkit.org/show_bug.cgi?id=26326 98167 This reverts commit r44751. 98168 98169 Once that change was checked scrollbars/scrollbar-orientation.html started 98170 crashing on Windows. 98171 98172 * dom/Document.cpp: 98173 (WebCore::Document::detach): 98174 * page/FrameView.cpp: 98175 * page/FrameView.h: 98176 * platform/Scrollbar.h: 98177 * rendering/RenderObject.cpp: 98178 (WebCore::RenderObject::destroy): 98179 * rendering/RenderScrollbar.h: 98180 98181 2009-06-16 Kevin Watters <kevinwatters (a] gmail.com> 98182 98183 Reviewed by Kevin Ollivier. 98184 98185 In ImageSource::setData, delete the old m_encoder before replacing it with a new one. 98186 98187 https://bugs.webkit.org/show_bug.cgi?id=26458 98188 98189 * platform/graphics/wx/ImageSourceWx.cpp: 98190 (WebCore::ImageSource::setData): 98191 98192 2009-06-16 David Levin <levin (a] chromium.org> 98193 98194 Reviewed by David Hyatt. 98195 98196 REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction. 98197 https://bugs.webkit.org/show_bug.cgi?id=26326 98198 98199 Test: scrollbars/scrollbar-crash-on-refresh.html 98200 98201 * dom/Document.cpp: 98202 (WebCore::Document::detach): 98203 Gives the FrameView a change to do any necessary cleanup on 98204 Document::detach() which is where the renderArena gets detroyed. 98205 * page/FrameView.cpp: 98206 (WebCore::FrameView::detachCustomScrollbars): 98207 Gets rid of any custom scrollbars (if the docment supplied them). 98208 * page/FrameView.h: 98209 * platform/Scrollbar.h: 98210 (WebCore::Scrollbar::isCustomScrollbar): 98211 * rendering/RenderObject.cpp: 98212 (WebCore::RenderObject::destroy): 98213 Removed the check for document()->frame(). If frame() is 0 in this code, 98214 then the call to animation() is also incorrect (since it does document()->frame()->animation()). 98215 * rendering/RenderScrollbar.h: 98216 (WebCore::RenderScrollbar::isCustomScrollbar): 98217 98218 2009-06-16 Brian Weinstein <bweinstein (a] apple.com> 98219 98220 Reviewed by Adele Peterson. 98221 98222 Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari. 98223 This patch kept the way events were firing as they were before, and Windows events are 98224 consistent with Mac. 98225 98226 * editing/Editor.cpp: 98227 (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard 98228 (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard 98229 98230 2009-06-16 Antti Koivisto <antti (a] apple.com> 98231 98232 Reviewed by Brady Eidson. 98233 98234 <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore WebCore::CachedCSSStyleSheet::addClient 53 98235 98236 When revalidating a resource, calling addClient() on one client might cause another to get removed. 98237 98238 - made CachedResource::addClient() non-virtual and added virtual didAddClient() 98239 - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first 98240 - check if the client is still in the set before invoking didAddClient() for it 98241 98242 No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that 98243 reference each other via @imports and reloading. 98244 98245 * WebCore.base.exp: 98246 * loader/CachedCSSStyleSheet.cpp: 98247 (WebCore::CachedCSSStyleSheet::didAddClient): 98248 * loader/CachedCSSStyleSheet.h: 98249 * loader/CachedFont.cpp: 98250 (WebCore::CachedFont::didAddClient): 98251 * loader/CachedFont.h: 98252 * loader/CachedImage.cpp: 98253 (WebCore::CachedImage::didAddClient): 98254 * loader/CachedImage.h: 98255 * loader/CachedResource.cpp: 98256 (WebCore::CachedResource::addClient): 98257 (WebCore::CachedResource::addClientToSet): 98258 (WebCore::CachedResource::switchClientsToRevalidatedResource): 98259 * loader/CachedResource.h: 98260 * loader/CachedScript.cpp: 98261 (WebCore::CachedScript::didAddClient): 98262 * loader/CachedScript.h: 98263 * loader/CachedXSLStyleSheet.cpp: 98264 (WebCore::CachedXSLStyleSheet::didAddClient): 98265 * loader/CachedXSLStyleSheet.h: 98266 98267 2009-06-16 Simon Fraser <simon.fraser (a] apple.com> 98268 98269 No Review 98270 98271 Fix code inside an #ifdef that draws the video framerate. 98272 98273 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 98274 (WebCore::MediaPlayerPrivate::paint): 98275 98276 2009-06-16 Jian Li <jianli (a] chromium.org> 98277 98278 Reviewed by Dimitri Glazkov. 98279 98280 Bug 26456: Hook up V8 bindings for Worker's importScripts functionality. 98281 https://bugs.webkit.org/show_bug.cgi?id=26456 98282 98283 * bindings/v8/custom/V8WorkerContextCustom.cpp: 98284 (WebCore::CALLBACK_FUNC_DECL): 98285 * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code 98286 handling in Worker constructor for V8 bindings. 98287 (WebCore::CALLBACK_FUNC_DECL): 98288 98289 2009-06-16 Brent Fulgham <bfulgham (a] webkit.org> 98290 98291 Reviewed by Maciej Stachowiak. 98292 98293 Update of https://bugs.webkit.org/show_bug.cgi?id=26353. 98294 Provide an assignment operator to avoid improper reference 98295 counts on the Cairo font objects. This brings the Windows 98296 Cairo port in line with the GTKport. 98297 98298 * platform/graphics/win/FontPlatformData.h: 98299 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 98300 (WebCore::FontPlatformData::FontPlatformData): 98301 (WebCore::FontPlatformData::operator=): 98302 98303 2009-06-16 Eric Carlson <eric.carlson (a] apple.com> 98304 98305 Reviewed by Simon Fraser. 98306 98307 Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 98308 the MediaControlInputElement, rather than computing it again 98309 98310 * html/HTMLMediaElement.cpp: 98311 (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation. 98312 * html/HTMLMediaElement.h: 98313 98314 * rendering/MediaControlElements.h: 98315 (WebCore::MediaControlInputElement::displayType): New, return m_displayType. 98316 98317 * rendering/RenderMediaControls.cpp: 98318 (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button 98319 state from the button itself and get movie state from HTMLMediaElement. 98320 98321 * rendering/RenderThemeMac.mm: 98322 (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer. 98323 (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto. 98324 98325 2009-06-16 Jian Li <jianli (a] chromium.org> 98326 98327 Reviewed by David Levin. 98328 98329 Bug 26450: Rename values of enum RedirectOriginCheck to make them 98330 clearer. 98331 https://bugs.webkit.org/show_bug.cgi?id=26450 98332 98333 * loader/DocumentThreadableLoader.cpp: 98334 (WebCore::DocumentThreadableLoader::create): 98335 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 98336 (WebCore::DocumentThreadableLoader::willSendRequest): 98337 * loader/DocumentThreadableLoader.h: 98338 * loader/ThreadableLoader.cpp: 98339 (WebCore::ThreadableLoader::create): 98340 (WebCore::ThreadableLoader::loadResourceSynchronously): 98341 * loader/ThreadableLoader.h: 98342 * workers/Worker.cpp: 98343 (WebCore::Worker::Worker): 98344 * workers/WorkerContext.cpp: 98345 (WebCore::WorkerContext::importScripts): 98346 * loader/WorkerThreadableLoader.cpp: 98347 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 98348 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 98349 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 98350 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 98351 * loader/WorkerThreadableLoader.h: 98352 (WebCore::WorkerThreadableLoader::create): 98353 * workers/WorkerScriptLoader.cpp: 98354 (WebCore::WorkerScriptLoader::loadSynchronously): 98355 (WebCore::WorkerScriptLoader::loadAsynchronously): 98356 * workers/WorkerScriptLoader.h: 98357 (WebCore::WorkerContext::importScripts): 98358 * xml/XMLHttpRequest.cpp: 98359 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 98360 98361 2009-06-16 Tony Chang <tony (a] chromium.org> 98362 98363 Reviewed by Darin Fisher. 98364 98365 Fix a UMR in WebCore::BitStack by initializing new memory to 0. 98366 https://bugs.webkit.org/show_bug.cgi?id=26449 98367 No new tests, covered by purify. 98368 98369 * editing/TextIterator.cpp: 98370 (WebCore::BitStack::push): 98371 98372 2009-06-16 Brent Fulgham <bfulgham (a] webkit.org> 98373 98374 Reviewed by Xan Lopez. 98375 98376 Test: fast/multicol/columns-shorthand-parsing.html 98377 98378 Fixes https://bugs.webkit.org/show_bug.cgi?id=26453. 98379 Null Cairo contextwill crash Windows Cairo build. 98380 98381 * platform/graphics/win/GraphicsContextCairoWin.cpp: 98382 (WebCore::GraphicsContextPlatformPrivate::syncContext): 98383 Add a check for null context before attempting to 98384 retrieve the Cairo surface. 98385 98386 2009-06-16 Peter Kasting <pkasting (a] google.com> 98387 98388 Reviewed by Xan Lopez. 98389 98390 https://bugs.webkit.org/show_bug.cgi?id=26447 98391 Fix animated GIF breakage in Cairo/wx ports. 98392 98393 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 98394 (WebCore::RGBA32Buffer::copyBitmapData): 98395 (WebCore::RGBA32Buffer::operator=): 98396 * platform/image-decoders/wx/ImageDecoderWx.cpp: 98397 (WebCore::RGBA32Buffer::copyBitmapData): 98398 (WebCore::RGBA32Buffer::operator=): 98399 98400 2009-06-16 Pierre d'Herbemont <pdherbemont (a] apple.com> 98401 98402 Reviewed by John Sullivan 98403 98404 <rdar://problem/6937882> 98405 98406 Tweak "time remaining" and "time elapsed" fields in the overlay video controller. 98407 98408 * css/mediaControlsQT.css: 98409 98410 2009-06-16 Jian Li <jianli (a] chromium.org> 98411 98412 Reviewed by Adam Barth and David Levin. 98413 98414 Bug 26146: Change to use ThreadableLoader to load the worker script 98415 in order to check URL origin for redirection. 98416 https://bugs.webkit.org/show_bug.cgi?id=26146 98417 98418 Test: http/tests/workers/worker-redirect.html 98419 98420 * GNUmakefile.am: 98421 * WebCore.pro: 98422 * WebCore.vcproj/WebCore.vcproj: 98423 * WebCore.xcodeproj/project.pbxproj: 98424 * workers/Worker.cpp: 98425 (WebCore::Worker::Worker): 98426 (WebCore::Worker::notifyFinished): 98427 * workers/Worker.h: 98428 * workers/WorkerContext.cpp: 98429 (WebCore::WorkerContext::importScripts): 98430 * workers/WorkerImportScriptsClient.cpp: Removed. 98431 * workers/WorkerImportScriptsClient.h: Removed. 98432 * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp. 98433 This to make it more generic so worker script loading could use it. 98434 (WebCore::WorkerScriptLoader::loadSynchronously): 98435 (WebCore::WorkerScriptLoader::loadAsynchronously): 98436 (WebCore::WorkerScriptLoader::didFinishLoading): 98437 (WebCore::WorkerScriptLoader::didFail): 98438 (WebCore::WorkerScriptLoader::didFailRedirectCheck): 98439 (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): 98440 (WebCore::WorkerScriptLoader::notifyFinished): 98441 * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h. 98442 This to make it more generic so worker script loading could use it. 98443 * workers/WorkerScriptLoaderClient.h: Added. 98444 98445 2009-06-16 Brent Fulgham <bfulgham (a] gmail.com> 98446 98447 Reviewed by Darin Adler. 98448 98449 Use consistent GUID comparison functions. 98450 https://bugs.webkit.org/show_bug.cgi?id=26427 98451 98452 * platform/win/WCDataObject.cpp: 98453 (WebCore::WCDataObject::QueryInterface): 98454 98455 2009-06-16 Xan Lopez <xlopez (a] igalia.com> 98456 98457 Reviewed by Gustavo Noronha. 98458 98459 Fix compiler warning. 98460 98461 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 98462 (webkit_accessible_class_init): 98463 98464 2009-08-07 Luke Kenneth Casson Leighton <lkcl (a] lkcl.net> 98465 98466 Reviewed by Eric Seidel. 98467 98468 https://bugs.webkit.org/show_bug.cgi?id=27424 98469 98470 * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added. 98471 (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 98472 98473 2009-06-16 Xan Lopez <xlopez (a] igalia.com> 98474 98475 Reviewed by Gustavo Noronha. 98476 98477 Remove dummy AtkStreamableContent implementation. 98478 98479 It's completely empty, we'll add it back (and conditionally 98480 instead of unconditionally) when it does something. 98481 98482 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 98483 (GetAtkInterfaceTypeFromWAIType): 98484 (getInterfaceMaskFromObject): 98485 98486 == Rolled over to ChangeLog-2009-06-16 == 98487