12009-08-11 Simon Hausmann <simon.hausmann@nokia.com> 2 3 Reviewed by Holger Freyther. 4 5 Fix the build on the Qt build bot by making the generated JS bindings 6 files depend on the code generator itself. 7 8 * WebCore.pro: 9 102009-08-07 Oliver Hunt <oliver@apple.com> 11 12 Reviewed by Sam Weinig 13 14 Stack overflow crash in JavaScript garbage collector mark pass 15 https://bugs.webkit.org/show_bug.cgi?id=12216 16 17 Make WebCore use the new iterative marking logic. 18 19 Tests: fast/js/nested-object-gc.html 20 21 * bindings/js/JSAbstractWorkerCustom.cpp: 22 (WebCore::JSAbstractWorker::markChildren): 23 * bindings/js/JSDOMApplicationCacheCustom.cpp: 24 (WebCore::JSDOMApplicationCache::markChildren): 25 * bindings/js/JSDOMBinding.cpp: 26 (WebCore::markDOMNodesForDocument): 27 (WebCore::markActiveObjectsForContext): 28 (WebCore::markDOMObjectWrapper): 29 * bindings/js/JSDOMBinding.h: 30 (WebCore::DOMObjectWithGlobalPointer::markChildren): 31 * bindings/js/JSDOMGlobalObject.cpp: 32 (WebCore::JSDOMGlobalObject::markChildren): 33 * bindings/js/JSDOMGlobalObject.h: 34 * bindings/js/JSDOMWindowCustom.cpp: 35 (WebCore::JSDOMWindow::markChildren): 36 * bindings/js/JSDOMWindowShell.cpp: 37 (WebCore::JSDOMWindowShell::markChildren): 38 * bindings/js/JSDOMWindowShell.h: 39 * bindings/js/JSDedicatedWorkerContextCustom.cpp: 40 (WebCore::JSDedicatedWorkerContext::markChildren): 41 * bindings/js/JSDocumentCustom.cpp: 42 (WebCore::JSDocument::markChildren): 43 * bindings/js/JSEventListener.cpp: 44 (WebCore::JSEventListener::markJSFunction): 45 * bindings/js/JSEventListener.h: 46 * bindings/js/JSMessageChannelCustom.cpp: 47 (WebCore::JSMessageChannel::markChildren): 48 * bindings/js/JSMessagePortCustom.cpp: 49 (WebCore::JSMessagePort::markChildren): 50 * bindings/js/JSNavigatorCustom.cpp: 51 (WebCore::JSNavigator::markChildren): 52 * bindings/js/JSNodeCustom.cpp: 53 (WebCore::JSNode::markChildren): 54 * bindings/js/JSNodeFilterCondition.cpp: 55 (WebCore::JSNodeFilterCondition::markAggregate): 56 * bindings/js/JSNodeFilterCondition.h: 57 * bindings/js/JSNodeFilterCustom.cpp: 58 (WebCore::JSNodeFilter::markChildren): 59 * bindings/js/JSNodeIteratorCustom.cpp: 60 (WebCore::JSNodeIterator::markChildren): 61 * bindings/js/JSQuarantinedObjectWrapper.cpp: 62 (WebCore::JSQuarantinedObjectWrapper::markChildren): 63 * bindings/js/JSQuarantinedObjectWrapper.h: 64 * bindings/js/JSSVGElementInstanceCustom.cpp: 65 (WebCore::JSSVGElementInstance::markChildren): 66 * bindings/js/JSSharedWorkerCustom.cpp: 67 (WebCore::JSSharedWorker::markChildren): 68 * bindings/js/JSStyleSheetCustom.cpp: 69 (WebCore::JSStyleSheet::markChildren): 70 * bindings/js/JSTreeWalkerCustom.cpp: 71 (WebCore::JSTreeWalker::markChildren): 72 * bindings/js/JSWebSocketCustom.cpp: 73 (WebCore::JSWebSocket::markChildren): 74 * bindings/js/JSWorkerContextCustom.cpp: 75 (WebCore::JSWorkerContext::markChildren): 76 * bindings/js/JSWorkerCustom.cpp: 77 (WebCore::JSWorker::markChildren): 78 * bindings/js/JSXMLHttpRequestCustom.cpp: 79 (WebCore::JSXMLHttpRequest::markChildren): 80 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 81 (WebCore::JSXMLHttpRequestUpload::markChildren): 82 * bindings/scripts/CodeGeneratorJS.pm: 83 * dom/EventListener.h: 84 (WebCore::EventListener::markJSFunction): 85 (WebCore::markIfNotNull): 86 * dom/NodeFilter.h: 87 (WebCore::NodeFilter::markAggregate): 88 * dom/NodeFilterCondition.h: 89 (WebCore::NodeFilterCondition::markAggregate): 90 * dom/RegisteredEventListener.h: 91 (WebCore::markEventListeners): 92 * page/DOMWindow.h: 93 * workers/WorkerContext.h: 94 952009-08-10 Jeremy Orlow <jorlow@chromium.org> 96 97 Reviewed by Eric Seidel. 98 99 Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private". 100 https://bugs.webkit.org/show_bug.cgi?id=28089 101 102 Rename all the NPN_foo functions to _NPN_foo so that they can't directly be 103 called by mistake. This roughly matches the way JSC does it, which is an 104 additional advantage. 105 106 * bindings/v8/NPV8Object.cpp: 107 (npCreateV8ScriptObject): 108 (_NPN_Invoke): 109 (_NPN_InvokeDefault): 110 (_NPN_Evaluate): 111 (_NPN_EvaluateHelper): 112 (_NPN_GetProperty): 113 (_NPN_SetProperty): 114 (_NPN_RemoveProperty): 115 (_NPN_HasProperty): 116 (_NPN_HasMethod): 117 (_NPN_SetException): 118 (_NPN_Enumerate): 119 (_NPN_Construct): 120 * bindings/v8/ScriptController.cpp: 121 (WebCore::ScriptController::clearScriptObjects): 122 (WebCore::ScriptController::createScriptInstanceForWidget): 123 (WebCore::ScriptController::cleanupScriptObjectsForPlugin): 124 * bindings/v8/V8NPObject.cpp: 125 (npObjectInvokeImpl): 126 (npObjectGetProperty): 127 (npObjectIndexedPropertyGetter): 128 (npObjectGetIndexedProperty): 129 (npObjectSetProperty): 130 (npObjectIndexedPropertySetter): 131 (npObjectSetIndexedProperty): 132 (weakNPObjectCallback): 133 (createV8ObjectForNPObject): 134 (forgetV8ObjectForNPObject): 135 * bindings/v8/V8NPUtils.cpp: 136 (getStringIdentifier): 137 * bindings/v8/npruntime.cpp: 138 * bindings/v8/npruntime_impl.h: 139 1402009-08-10 Jeremy Orlow <jorlow@chromium.org> 141 142 Reviewed by Brady Eidson. 143 144 Change ___Storage.key() to match current spec behavior. 145 https://bugs.webkit.org/show_bug.cgi?id=28112 146 147 The current WebStorage spec says that ___Storage.key() should return null when 148 the index is out of bounds, rather than an exception. A bunch of logic can be 149 simplified after this change. 150 151 * bindings/js/JSStorageCustom.cpp: 152 (WebCore::JSStorage::getPropertyNames): 153 * bindings/v8/custom/V8StorageCustom.cpp: 154 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 155 * storage/Storage.cpp: 156 (WebCore::Storage::key): 157 * storage/Storage.h: 158 * storage/Storage.idl: 159 * storage/StorageArea.h: 160 * storage/StorageAreaImpl.cpp: 161 (WebCore::StorageAreaImpl::key): 162 * storage/StorageAreaImpl.h: 163 * storage/StorageMap.cpp: 164 (WebCore::StorageMap::key): 165 * storage/StorageMap.h: 166 1672009-08-07 Michael Nordman <michaeln@google.com> 168 169 Reviewed by Darin Fisher. 170 171 https://bugs.webkit.org/show_bug.cgi?id=28087 172 173 Mods for a chrome specific impl of ApplicationCacheHost. 174 175 * The public section of the interface is the same, but we use 176 PLATFORM(CHROMIUM) to identify which parts of the private 177 section are shared. The chrome specific internals are encapsulated 178 in a seperate ApplicationCacheHostInternal class. WebCore common 179 code only contains a forward reference to this class. 180 181 * Cleanup a couple of stale comments. 182 183 * Have window.applicationCache return null to script when the 184 feature is disabled in the preferences. 185 186 No new tests. 187 188 * loader/appcache/ApplicationCacheHost.cpp: 189 * loader/appcache/ApplicationCacheHost.h: 190 (WebCore::ApplicationCacheHost::documentLoader): 191 * page/DOMWindow.cpp: 192 (WebCore::DOMWindow::applicationCache): 193 1942009-08-10 Crystal Zhang <crystal.zhang@staikos.net> 195 196 Reviewed by George Staikos. 197 198 Implement GraphicsContext::fillRoundRect() for WINCE port 199 https://bugs.webkit.org/show_bug.cgi?id=27842 200 201 * platform/graphics/GraphicsContext.h: 202 * platform/graphics/wince/GraphicsContextWince.cpp: 203 (WebCore::rectCenterPoint): 204 (WebCore::GraphicsContext::fillRoundedRect): 205 (WebCore::GraphicsContext::drawRoundCorner): 206 2072009-08-10 Anthony Ricaud <rik@webkit.org> 208 209 Reviewed by Timothy Hatcher. 210 211 Inspector Resources / Graphs should support filtering 212 https://bugs.webkit.org/show_bug.cgi?id=20629 213 214 Introduces a filter bar for resources. 215 216 Thanks to Matt Lilek for the CSS scope bar. 217 218 * English.lproj/localizedStrings.js: 219 * inspector/front-end/ResourcesPanel.js: 220 (WebInspector.ResourcesPanel.createFilterElement): 221 (WebInspector.ResourcesPanel): 222 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter): 223 (WebInspector.ResourcesPanel.prototype._updateFilter): 224 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): 225 * inspector/front-end/inspector.css: 226 * inspector/front-end/inspector.js: 227 (WebInspector.loaded): 228 2292009-08-10 Brent Fulgham <bfulgham@webkit.org> 230 231 Unreviewed build correction after http://trac.webkit.org/changeset/46978 232 233 * platform/network/curl/ResourceHandleManager.cpp: 234 (WebCore::ResourceHandleManager::initializeHandle): Correct 235 deprecated removeRef to new removeFragmentIdentifier. 236 2372009-08-07 Ryosuke Niwa <rniwa@webkit.org> 238 239 Reviewed by Justin Garcia. 240 241 Background color formatting lost on enter 242 https://bugs.webkit.org/show_bug.cgi?id=20348 243 244 This patch makes background color be preserved during editing. 245 In particular, editingStyleAtPosition would include the background color when obtaining styles. 246 247 * editing/ApplyStyleCommand.cpp: 248 (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties 249 2502009-08-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 251 252 Reviewed by Simon Hausmann. 253 254 Stop sending QEvent::CursorChange to Qt for mouse move. 255 256 Verify if the cursor didn't change in WidgetQt::setCursor, 257 just like the mac port does. 258 259 Thanks to Adriano Rezendo for spotting and debugging the 260 issue. 261 262 * platform/qt/WidgetQt.cpp: 263 (WebCore::Widget::setCursor): 264 2652009-08-10 Alexey Proskuryakov <ap@apple.com> 266 267 Reviewed by Brady Eidson. 268 269 https://bugs.webkit.org/show_bug.cgi?id=28165 270 Application cache maximum size cannot be set before the database is opened 271 272 * loader/appcache/ApplicationCacheStorage.cpp: 273 (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't 274 open yet. 275 2762009-08-10 Vitaly Repeshko <vitalyr@quad.spb.corp.google.com> 277 278 Reviewed by Dimitri Glazkov. 279 280 [V8] Fix memory leak in node event listeners. See http://crbug.com/17400. 281 https://bugs.webkit.org/show_bug.cgi?id=28156 282 283 * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants. 284 * bindings/v8/V8AbstractEventListener.h: 285 (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects. 286 * bindings/v8/V8DOMWrapper.cpp: 287 (WebCore::V8DOMWrapper::getTemplate): 288 * bindings/v8/V8ObjectEventListener.cpp: 289 * bindings/v8/V8ObjectEventListener.h: 290 (WebCore::V8ObjectEventListener::isObjectListener): 291 * bindings/v8/V8Utilities.cpp: 292 (WebCore::removeHiddenDependency): 293 * bindings/v8/custom/V8CustomBinding.h: 294 * bindings/v8/custom/V8ElementCustom.cpp: 295 * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp. 296 (WebCore::toEventType): 297 (WebCore::getEventListener): 298 (WebCore::ACCESSOR_SETTER): 299 (WebCore::ACCESSOR_GETTER): 300 (WebCore::CALLBACK_FUNC_DECL): 301 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 302 (WebCore::getEventListener): Made static. 303 3042009-08-10 Jeremy Orlow <jorlow@chromium.org> 305 306 Reviewed by Darin Fisher. 307 308 Cleanup DOM Storage namespace shutdown code + usage of security origin. 309 https://bugs.webkit.org/show_bug.cgi?id=28094 310 311 If a storage namespace is not explicitly closed, be sure to do so on 312 destruction of the object. In addition, the close call should wait 313 on the background thread finishing its syncing. (Not doing so is actually 314 a regression from the original LocalStorage code.) 315 316 There's no point to passing in the SecurityOrigin when copying a storage 317 area since what was passed in is exactly what is stored within each 318 storage area. In addition, the non-copy constructor should take in a 319 PassRefPtr rather than a pointer since that pointer was only passed into 320 the constuctor for RefPtr's anyway. 321 322 * storage/StorageAreaImpl.cpp: 323 (WebCore::StorageAreaImpl::StorageAreaImpl): 324 (WebCore::StorageAreaImpl::copy): 325 * storage/StorageAreaImpl.h: 326 * storage/StorageNamespaceImpl.cpp: 327 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 328 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): 329 (WebCore::StorageNamespaceImpl::copy): 330 (WebCore::StorageNamespaceImpl::close): 331 * storage/StorageNamespaceImpl.h: 332 3332009-08-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 334 335 Not reviewed, build fix. 336 337 Rename ref() to fragmentIdentifier() in the wml/ subdirectory. 338 339 * wml/WMLCardElement.cpp: 340 (WebCore::WMLCardElement::determineActiveCard): 341 * wml/WMLGoElement.cpp: 342 (WebCore::WMLGoElement::executeTask): 343 * wml/WMLPageState.cpp: 344 (WebCore::WMLPageState::canAccessDeck): 345 3462009-08-10 Steve Falkenburg <sfalken@apple.com> 347 348 Windows build fix. 349 350 Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp. 351 Fixes linker warnings. 352 353 Corrected spelling of JSInspectorBackend.cpp. 354 355 Other changes related to actually using a Visual Studio to open/save the vcproj file. 356 357 * WebCore.vcproj/WebCore.vcproj: 358 3592009-08-10 Sam Weinig <sam@webkit.org> 360 361 Reviewed by Anders Carlsson. 362 363 Remove a dead #define. 364 365 * bindings/js/JSDOMBinding.cpp: 366 3672009-08-10 Dimitri Glazkov <dglazkov@chromium.org> 368 369 Unreviewed, build fix. 370 371 [Chromium] Update KURLGoogle for ref* method renames in 372 http://trac.webkit.org/changeset/46978. 373 https://bugs.webkit.org/show_bug.cgi?id=28084 374 375 * bindings/v8/custom/V8LocationCustom.cpp: 376 (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and 377 setFragmentIdentifier, respectively. 378 * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names. 379 3802009-08-10 Jan Michael Alonzo <jmalonzo@webkit.org> 381 382 [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144 383 for r46989. 384 385 * platform/network/soup/ResourceHandleSoup.cpp: 386 (WebCore::finishedCallback): 387 3882009-08-10 John Kjellberg <john.kjellberg@power.alstom.com> 389 390 Reviewed by Darin Adler. 391 392 Memory leak in error handling code for SOUP interface 393 https://bugs.webkit.org/show_bug.cgi?id=28144 394 395 Freed memory leaked in error handling code for soup requests. 396 397 * platform/network/soup/ResourceHandleSoup.cpp: 398 (WebCore::finishedCallback): 399 (WebCore::): 400 4012009-08-10 Dimitri Glazkov <dglazkov@chromium.org> 402 403 Reviewed by Darin Adler. 404 405 Provide graceful handling of the situation when an embedder invokes 406 visited link update methods before a Page constructor has been called. 407 https://bugs.webkit.org/show_bug.cgi?id=28149 408 409 * page/Page.cpp: 410 (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages. 411 (WebCore::Page::visitedStateChanged): Ditto. 412 4132009-08-10 Xan Lopez <xlopez@igalia.com> 414 415 Fix GTK+ build. 416 417 * platform/network/soup/ResourceHandleSoup.cpp: 418 (WebCore::): 419 4202009-08-10 Dan Bernstein <mitz@apple.com> 421 422 Reviewed by Anders Carlsson. 423 424 Remove the redundant, Windows CE-only GlyphBuffer::advnaceData() 425 426 * platform/graphics/GlyphBuffer.h: Removed advanceData(). 427 * platform/graphics/wince/GraphicsContextWince.cpp: 428 (WebCore::GraphicsContext::drawText): Changed to use advances(from) 429 instead of advanceData() + from. 430 4312009-08-10 Xan Lopez <xlopez@igalia.com> 432 433 Reviewed by Gustavo Noronha. 434 435 Remove workaround for older libsoup versions. 436 437 * platform/network/soup/ResourceHandleSoup.cpp: 438 (WebCore::fillResponseFromMessage): 439 4402009-08-10 Xan Lopez <xlopez@igalia.com> 441 442 Reviewed by Gustavo Noronha. 443 444 Let startHttp validate the URI instead of doing it, with potential 445 crashes, in ::start. 446 447 * platform/network/soup/ResourceHandleSoup.cpp: 448 (WebCore::startHttp): 449 4502009-08-10 Darin Adler <darin@apple.com> 451 452 Reviewed by Dan Bernstein. 453 454 When empty <input> is focused, getSelection() exposes shadow tree nodes 455 https://bugs.webkit.org/show_bug.cgi?id=15903 456 457 Test: fast/forms/shadow-tree-exposure.html 458 459 * page/DOMSelection.cpp: 460 (WebCore::selectionShadowAncestor): Added. 461 (WebCore::DOMSelection::anchorNode): Return the parent of the shadow 462 ancestor if the selection is in a shadow tree. Matches Firefox. 463 (WebCore::DOMSelection::anchorOffset): Return the index of the shadow 464 ancestor if the selection is in a shadow tree. Matches Firefox. 465 (WebCore::DOMSelection::focusNode): Ditto. 466 (WebCore::DOMSelection::focusOffset): Ditto. 467 (WebCore::DOMSelection::baseNode): More of the same, but since this 468 is a WebKit-invented property, it does not match Firefox. 469 (WebCore::DOMSelection::baseOffset): Ditto. 470 (WebCore::DOMSelection::extentNode): Ditto. 471 (WebCore::DOMSelection::extentOffset): Ditto. 472 (WebCore::DOMSelection::isCollapsed): Return true even when the 473 selection is a range, if the selection is in the shadow tree. 474 Matches Firefox. Also changed behavior when called and the frame 475 is gone to return true instead of false which makes more sense. 476 (WebCore::DOMSelection::empty): Use clear() just like the other 477 selection-clearing function in this file does. 478 (WebCore::DOMSelection::getRangeAt): Return a range that starts 479 and ends before the shadow ancestor. Matches Firefox. 480 4812009-08-10 Pavel Feldman <pfeldman@chromium.org> 482 483 Reviewed by Timothy Hatcher. 484 485 Web Inspector: Make all status bar button images glyph-based. 486 487 https://bugs.webkit.org/show_bug.cgi?id=28124 488 489 * inspector/front-end/ElementsPanel.js: 490 (WebInspector.ElementsPanel): 491 * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added. 492 * inspector/front-end/Images/clearConsoleButtons.png: Removed. 493 * inspector/front-end/Images/consoleButtonGlyph.png: Added. 494 * inspector/front-end/Images/consoleButtons.png: Removed. 495 * inspector/front-end/Images/dockButtonGlyph.png: Added. 496 * inspector/front-end/Images/dockButtons.png: Removed. 497 * inspector/front-end/Images/enableButtons.png: Removed. 498 * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added. 499 * inspector/front-end/Images/enableSolidButtonGlyph.png: Added. 500 * inspector/front-end/Images/excludeButtonGlyph.png: Added. 501 * inspector/front-end/Images/excludeButtons.png: Removed. 502 * inspector/front-end/Images/focusButtonGlyph.png: Added. 503 * inspector/front-end/Images/focusButtons.png: Removed. 504 * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added. 505 * inspector/front-end/Images/largerResourcesButtons.png: Removed. 506 * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added. 507 * inspector/front-end/Images/nodeSearchButtons.png: Removed. 508 * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added. 509 * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed. 510 * inspector/front-end/Images/percentButtonGlyph.png: Added. 511 * inspector/front-end/Images/percentButtons.png: Removed. 512 * inspector/front-end/Images/recordButtonGlyph.png: Added. 513 * inspector/front-end/Images/recordButtons.png: Removed. 514 * inspector/front-end/Images/recordToggledButtonGlyph.png: Added. 515 * inspector/front-end/Images/reloadButtonGlyph.png: Added. 516 * inspector/front-end/Images/reloadButtons.png: Removed. 517 * inspector/front-end/Images/undockButtonGlyph.png: Added. 518 * inspector/front-end/Panel.js: 519 (WebInspector.Panel.prototype.createStatusBarButton): 520 * inspector/front-end/ProfilesPanel.js: 521 (WebInspector.ProfilesPanel): 522 * inspector/front-end/ResourcesPanel.js: 523 (WebInspector.ResourcesPanel): 524 * inspector/front-end/ScriptsPanel.js: 525 (WebInspector.ScriptsPanel): 526 * inspector/front-end/WebKit.qrc: 527 * inspector/front-end/inspector.css: 528 * inspector/front-end/inspector.html: 529 5302009-08-07 Brady Eidson <beidson@apple.com> 531 532 Reviewed by Darin Adler. 533 534 KURL ref() methods should be fragmentIdentifier() methods 535 https://bugs.webkit.org/show_bug.cgi?id=28084 536 537 In addition to the renames, also took the chance to replace all use of: 538 setRef(String()); 539 with: 540 removeFragmentIdentifier(); 541 542 * platform/KURL.cpp: 543 (WebCore::KURL::fragmentIdentifier): 544 (WebCore::KURL::hasFragmentIdentifier): 545 (WebCore::KURL::setFragmentIdentifier): 546 (WebCore::KURL::removeFragmentIdentifier): 547 (WebCore::KURL::prettyURL): 548 (WebCore::equalIgnoringFragmentIdentifier): 549 * platform/KURL.h: 550 551 * bindings/js/JSLocationCustom.cpp: 552 (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method. 553 554 * accessibility/AccessibilityRenderObject.cpp: 555 (WebCore::AccessibilityRenderObject::internalLinkElement): 556 * css/CSSCursorImageValue.cpp: 557 (WebCore::isSVGCursorIdentifier): 558 * history/HistoryItem.cpp: 559 (WebCore::HistoryItem::isCurrentDocument): 560 * html/HTMLAnchorElement.cpp: 561 (WebCore::HTMLAnchorElement::hash): 562 * html/HTMLFrameElementBase.cpp: 563 (WebCore::HTMLFrameElementBase::isURLAllowed): 564 * loader/FrameLoader.cpp: 565 (WebCore::FrameLoader::begin): 566 (WebCore::FrameLoader::gotoAnchor): 567 (WebCore::FrameLoader::scheduleLocationChange): 568 (WebCore::FrameLoader::scrollToAnchor): 569 (WebCore::FrameLoader::shouldReload): 570 (WebCore::FrameLoader::urlsMatchItem): 571 * loader/appcache/ApplicationCache.cpp: 572 (WebCore::ApplicationCache::resourceForURL): 573 (WebCore::ApplicationCache::resourceForRequest): 574 * loader/appcache/ApplicationCacheGroup.cpp: 575 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 576 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): 577 (WebCore::ApplicationCacheGroup::selectCache): 578 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 579 (WebCore::ApplicationCacheGroup::didReceiveResponse): 580 (WebCore::ApplicationCacheGroup::didFail): 581 (WebCore::ApplicationCacheGroup::addEntry): 582 * loader/appcache/ApplicationCacheResource.h: 583 (WebCore::ApplicationCacheResource::create): 584 * loader/appcache/ApplicationCacheStorage.cpp: 585 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 586 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 587 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 588 * loader/appcache/ManifestParser.cpp: 589 (WebCore::parseManifest): 590 * page/Location.cpp: 591 (WebCore::Location::hash): 592 * page/Page.cpp: 593 (WebCore::Page::goToItem): 594 * rendering/RenderPartObject.cpp: 595 (WebCore::isURLAllowed): 596 * workers/WorkerLocation.cpp: 597 (WebCore::WorkerLocation::hash): 598 5992009-08-10 Andy Shaw <andy.shaw@nokia.com> 600 601 Reviewed by Simon Hausmann. 602 603 Fix endless loop when the application is quit by a secondary thread during a sync xml http request. 604 605 Replace the m_finished state variable and the call to QCoreApplication::processEvents() with 606 a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well 607 as from Qt through its knowledge of globally registered eventloops. 608 609 There is no unit test for this bug as it would require exporting additional symbols and 610 introduce the synchronous loader as global variable just for the test. 611 612 * platform/network/qt/ResourceHandleQt.cpp: 613 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 614 (WebCore::WebCoreSynchronousLoader::didFail): 615 (WebCore::WebCoreSynchronousLoader::waitForCompletion): 616 6172009-08-10 Pavel Feldman <pfeldman@chromium.org> 618 619 Reviewed by Timothy Hatcher. 620 621 WebInspector: Make properties inspection serialized. 622 623 https://bugs.webkit.org/show_bug.cgi?id=28078 624 625 * inspector/front-end/DOMAgent.js: 626 (InspectorController.getPrototypes): 627 (InspectorController.getProperties): 628 * inspector/front-end/InjectedScript.js: 629 (InjectedScript.getPrototypes): 630 (InjectedScript.getProperties): 631 (InjectedScript.setPropertyValue): 632 * inspector/front-end/ObjectPropertiesSection.js: 633 (WebInspector.ObjectRef): 634 (WebInspector.ObjectPropertyRef): 635 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): 636 (WebInspector.ObjectPropertiesSection.prototype.update.callback): 637 (WebInspector.ObjectPropertiesSection.prototype.update): 638 (WebInspector.ObjectPropertiesSection.prototype._update): 639 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback): 640 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 641 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): 642 (WebInspector.ObjectPropertyTreeElement.prototype.update): 643 * inspector/front-end/PropertiesSidebarPane.js: 644 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 645 (WebInspector.PropertiesSidebarPane.prototype.update): 646 6472009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 648 649 Reviewed by George Staikos. 650 651 [WML] wml.css lacks <pre> support 652 https://bugs.webkit.org/show_bug.cgi?id=28135 653 654 Add <pre> support for WML. 655 Extended fast/wml/text-emphasis.wml to cover <pre> support. 656 657 * css/wml.css: <pre> section copied from html.css 658 6592009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 660 661 Reviewed by Oliver Hunt. 662 663 Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'. 664 665 * loader/FrameLoader.cpp: 666 (WebCore::isBackForwardLoadType): 667 (WebCore::FrameLoader::restoreDocumentState): 668 (WebCore::FrameLoader::transitionToCommitted): 669 (WebCore::FrameLoader::loadItem): 670 6712009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 672 673 Reviewed by George Staikos. 674 675 [WML] Deck access control is completly broken 676 https://bugs.webkit.org/show_bug.cgi?id=27721 677 678 Rewrite WML deck access control, actually works now standalone and within LayoutTests. 679 Added several new layout tests covering local & remote access support. 680 681 In order to detect WML task execution failures from within the WML layout tests a new 682 method Console::lastWMLErrorMessage() has been added, returning the last recorded WML 683 error message. Change WML log messages to dump to InspectorClient, just like it's done 684 for HTML - we used to behave like JSMessageSource, which is wrong. 685 686 Tests: http/tests/wml/access-target-domain-deny.html 687 http/tests/wml/access-target-path-deny.html 688 http/tests/wml/access-target.html 689 wml/access-target-deny.html 690 wml/access-target.html 691 692 * inspector/ConsoleMessage.h: 693 (WebCore::ConsoleMessage::source): Added public method to fetch the message source type. 694 (WebCore::ConsoleMessage::message): Added public method to access the error message. 695 * inspector/InspectorController.h: 696 (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages. 697 * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML). 698 (WebCore::isBackForwardLoadType): 699 (WebCore::FrameLoader::restoreDocumentState): 700 (WebCore::FrameLoader::transitionToCommitted): 701 (WebCore::FrameLoader::loadItem): 702 * loader/FrameLoaderTypes.h: 703 (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information. 704 * page/Console.cpp: 705 (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController. 706 (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present. 707 * page/Console.h: 708 * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()". 709 * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument(). 710 (WebCore::WMLAccessElement::parseMappedAttribute): 711 (WebCore::WMLAccessElement::insertedIntoDocument): 712 * wml/WMLAccessElement.h: 713 * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck. 714 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 715 * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState. 716 (WebCore::WMLDocument::finishedParsing): 717 (WebCore::WMLDocument::initialize): 718 * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state. 719 (WebCore::reportWMLError): 720 * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests. 721 (WebCore::WMLPageState::WMLPageState): 722 (WebCore::normalizedHostName): 723 (WebCore::hostFromURL): 724 (WebCore::urlForHistoryItem): 725 (WebCore::tryAccessHistoryURLs): 726 (WebCore::WMLPageState::processAccessControlData): 727 (WebCore::WMLPageState::resetAccessControlData): 728 (WebCore::WMLPageState::canAccessDeck): 729 (WebCore::WMLPageState::hostIsAllowedToAccess): 730 (WebCore::WMLPageState::pathIsAllowedToAccess): 731 * wml/WMLPageState.h: 732 7332009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 734 735 Reviewed by Maciej Stachowiak. 736 737 FrameLoadType / WebFrameLoadType enums are out of sync 738 https://bugs.webkit.org/show_bug.cgi?id=28132 739 740 Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl. 741 The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between 742 'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'. 743 744 Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl. 745 746 * loader/FrameLoaderTypes.h: 747 (WebCore::): 748 7492009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 750 751 Reviewed by George Staikos. 752 753 [WML] manual-tests/wml/onevent-prev.wml crashes 754 https://bugs.webkit.org/show_bug.cgi?id=27722 755 756 Fix intrinsic event execution, leading to crashes. 757 First finish parsing the document, then execute the events. Not the other way round. 758 -> exposes bugs all over the WML layout tests, which relied on that quirk. 759 760 Fixes manual-tests/wml/onevent-prev.wml. 761 762 * wml/WMLDocument.cpp: 763 (WebCore::WMLDocument::WMLDocument): 764 (WebCore::WMLDocument::finishedParsing): 765 (WebCore::WMLDocument::initialize): 766 * wml/WMLDocument.h: 767 7682009-08-08 Dimitri Glazkov <dglazkov@chromium.org> 769 770 Unreviewed, build fix. 771 772 [Chromium] Update WebCore.gyp to add ImageBuffer.cpp, 773 introduced by http://trac.webkit.org/changeset/46956. 774 https://bugs.webkit.org/show_bug.cgi?id=27844 775 776 * WebCore.gypi: Added ImageBuffer.cpp. 777 7782009-08-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 779 780 Rubber-stamped by Jan Michael Alonzo. 781 782 Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure 783 fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled. 784 785 * dom/Document.idl: 786 7872009-08-08 Dirk Schulze <krit@webkit.org> 788 789 Reviewed by Eric Seidel. 790 791 SVG Filter need feColorMatrix implementation 792 [https://bugs.webkit.org/show_bug.cgi?id=27711] 793 794 Adds the filter effect feColorMatrix to SVG filters. 795 796 There is already a test in the w3c directory. 797 Test: svg/W3C-SVG-1.1/filters-color-01-b.svg 798 799 * platform/graphics/filters/FEColorMatrix.cpp: 800 (WebCore::matrix): 801 (WebCore::saturate): 802 (WebCore::huerotate): 803 (WebCore::luminance): 804 (WebCore::FEColorMatrix::apply): 805 8062009-08-08 Dirk Schulze <krit@webkit.org> 807 808 Reviewed by Oliver Hunt. 809 810 Build fix for Tiger. 811 https://bugs.webkit.org/show_bug.cgi?id=27844 812 813 * platform/graphics/cg/ImageBufferCG.cpp: 814 (WebCore::ImageBuffer::ImageBuffer): 815 8162009-08-08 Dirk Schulze <krit@webkit.org> 817 818 Reviewed by Oliver Hunt. 819 820 This is an initial implementation for linearRGB and sRGB support for all 821 platforms. Some platforms like Cg support different color spaces 822 natively, others like Qt, Cairo and Skia do not. This patch uses the 823 native implementation of platforms if possible and offers a common version 824 if not. 825 826 Different color spaces are used in SVG Filters. Nearly every Filter test 827 case is a test for this patch and will be enabled, once Filters are enabled. 828 https://bugs.webkit.org/show_bug.cgi?id=27844 829 830 * GNUmakefile.am: 831 * WebCore.pro: 832 * html/canvas/CanvasRenderingContext2D.cpp: 833 (WebCore::CanvasRenderingContext2D::drawTextInternal): 834 * html/HTMLCanvasElement.cpp: 835 (WebCore::HTMLCanvasElement::createImageBuffer): 836 * platform/graphics/GeneratedImage.cpp: 837 (WebCore::GeneratedImage::drawPattern): 838 * platform/graphics/ImageBuffer.cpp: Added. 839 (WebCore::ImageBuffer::transformColorSpace): 840 * platform/graphics/ImageBuffer.h: 841 (WebCore::): 842 (WebCore::ImageBuffer::create): 843 * platform/graphics/cairo/ImageBufferCairo.cpp: 844 (WebCore::ImageBuffer::ImageBuffer): 845 (WebCore::ImageBuffer::platformTransformColorSpace): 846 * platform/graphics/cairo/ImageCairo.cpp: 847 (WebCore::Image::drawPattern): 848 * platform/graphics/cg/ImageBufferCG.cpp: 849 (WebCore::ImageBuffer::ImageBuffer): 850 * platform/graphics/chromium/TransparencyWin.cpp: 851 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): 852 * platform/graphics/filters/FilterEffect.cpp: 853 (WebCore::FilterEffect::getEffectContext): 854 * platform/graphics/qt/ImageBufferQt.cpp: 855 (WebCore::ImageBuffer::ImageBuffer): 856 (WebCore::ImageBuffer::platformTransformColorSpace): 857 * platform/graphics/qt/PathQt.cpp: 858 (WebCore::Path::strokeContains): 859 (WebCore::Path::strokeBoundingRect): 860 * platform/graphics/skia/ImageBufferSkia.cpp: 861 (WebCore::ImageBuffer::ImageBuffer): 862 (WebCore::ImageBuffer::platformTransformColorSpace): 863 * platform/graphics/skia/SkiaUtils.cpp: 864 (WebCore::scratchContext): 865 * platform/graphics/wx/ImageBufferWx.cpp: 866 (WebCore::ImageBuffer::ImageBuffer): 867 * platform/mac/ScrollbarThemeMac.mm: 868 (WebCore::ScrollbarThemeMac::paint): 869 * rendering/RenderBoxModelObject.cpp: 870 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 871 * svg/SVGMaskElement.cpp: 872 (WebCore::SVGMaskElement::drawMaskerContent): 873 * svg/SVGPatternElement.cpp: 874 (WebCore::SVGPatternElement::buildPattern): 875 * svg/graphics/SVGImage.cpp: 876 (WebCore::SVGImage::nativeImageForCurrentFrame): 877 * svg/graphics/SVGPaintServerGradient.cpp: 878 (WebCore::createMaskAndSwapContextForTextGradient): 879 * svg/graphics/SVGPaintServerPattern.cpp: 880 (WebCore::SVGPaintServerPattern::setup): 881 * svg/graphics/SVGResourceFilter.cpp: 882 (WebCore::SVGResourceFilter::prepareFilter): 883 (WebCore::SVGResourceFilter::applyFilter): 884 * svg/graphics/SVGResourceMasker.cpp: 885 (WebCore::SVGResourceMasker::applyMask): 886 * svg/graphics/filters/SVGFETile.cpp: 887 (WebCore::FETile::apply): 888 8892009-08-08 Xan Lopez <xlopez@igalia.com> 890 891 Roll out r46928, since it wasn't done in accordance with the 892 agreed naming. 893 894 * bindings/gdom/GdomDOMObject.cpp: Removed. 895 8962009-08-08 Jan Michael Alonzo <jmalonzo@webkit.org> 897 898 Reviewed by Xan Lopez. 899 900 [Gtk] Enable accessibility in Gtk DRT 901 https://bugs.webkit.org/show_bug.cgi?id=25989 902 903 Add SPI to get the focused accessible element to be used by DRT. 904 905 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 906 (webkit_accessible_get_focused_element): 907 * accessibility/gtk/AccessibilityObjectWrapperAtk.h: 908 9092009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org> 910 911 Gtk build fix - add html/canvas to the binding generator's include path 912 913 * GNUmakefile.am: 914 9152009-08-07 Oliver Hunt <oliver@apple.com> 916 917 Another attempt to fix windows. 918 919 * WebCore.vcproj/WebCore.vcproj: 920 * WebCore.vcproj/WebCoreCommon.vsprops: 921 9222009-08-07 Oliver Hunt <oliver@apple.com> 923 924 Windows build fix 925 926 * WebCore.vcproj/WebCore.vcproj: 927 9282009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org> 929 930 Gtk build fix - add html/canvas to the include path. 931 932 * GNUmakefile.am: 933 9342009-08-07 Adam Treat <adam.treat@torchmobile.com> 935 936 Prospective build fix for Qt following r46937. 937 938 * WebCore.pro: 939 9402009-08-07 Yong Li <yong.li@torchmobile.com> 941 942 WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices 943 https://bugs.webkit.org/show_bug.cgi?id=27734 944 945 * platform/graphics/GlyphBuffer.h: 946 (WebCore::GlyphBuffer::advanceAt): 947 (WebCore::GlyphBuffer::advanceData): 948 (WebCore::GlyphBuffer::add): 949 9502009-08-07 Yong Li <yong.li@torchmobile.com> 951 952 Reviewed by Eric Seidel. 953 954 WINCE PORT: pass unrecognized glyphs to GDI to handle 955 https://bugs.webkit.org/show_bug.cgi?id=27734 956 957 * platform/graphics/FontFastPath.cpp: 958 (WebCore::Font::glyphDataForCharacter): 959 9602009-08-07 Chris Marrin <cmarrin@apple.com> 961 962 Reviewed by Oliver Hunt. 963 964 Move Canvas related file to a subdirectories 965 https://bugs.webkit.org/show_bug.cgi?id=28026 966 967 * DerivedSources.make: 968 * GNUmakefile.am: 969 * WebCore.gypi: 970 * WebCore.pro: 971 * WebCore.vcproj/WebCore.vcproj: 972 * WebCore.xcodeproj/project.pbxproj: 973 * WebCoreSources.bkl: 974 * html/CanvasGradient.cpp: Removed. 975 * html/CanvasGradient.h: Removed. 976 * html/CanvasGradient.idl: Removed. 977 * html/CanvasPattern.cpp: Removed. 978 * html/CanvasPattern.h: Removed. 979 * html/CanvasPattern.idl: Removed. 980 * html/CanvasPixelArray.cpp: Removed. 981 * html/CanvasPixelArray.h: Removed. 982 * html/CanvasPixelArray.idl: Removed. 983 * html/CanvasRenderingContext2D.cpp: Removed. 984 * html/CanvasRenderingContext2D.h: Removed. 985 * html/CanvasRenderingContext2D.idl: Removed. 986 * html/CanvasStyle.cpp: Removed. 987 * html/CanvasStyle.h: Removed. 988 * html/canvas: Added. 989 * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp. 990 * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h. 991 * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl. 992 * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp. 993 * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h. 994 * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl. 995 * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp. 996 * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h. 997 * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl. 998 * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp. 999 * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h. 1000 * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl. 1001 * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp. 1002 * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h. 1003 10042009-08-07 Szabo Carol <carol.szabo@nokia.com> 1005 1006 Reviewed by David Hyatt. 1007 1008 QtWebkit ignores letter-spacing and word-spacing styles. 1009 QtWebkit handles custom letter-spacing and word-spacing in the native QFont 1010 class, but the values for these options are not not passed on from 1011 the platform independent part of the Font class. 1012 Fixed QtWebkit behavior by applying the options to QFont when it is 1013 returned via Font::font() 1014 1015 http://bugs.webkit.org/show_bug.cgi?id=27988 1016 1017 LayoutTests: 1018 fast/css/word-space-extra.html 1019 css2.1/t1604-c542-letter-sp-00-b-a.html 1020 css2.1/t1604-c541-word-sp-01-b-a.html 1021 css1/text_properties/word_spacing.html 1022 1023 * platform/graphics/qt/FontQt.cpp: 1024 (WebCore::Font::font): 1025 10262009-08-07 Nicolas Weber <thakis@chromium.org> 1027 1028 Reviewed by Darin Adler. 1029 1030 Use correct highlight color for listboxes and completion popups. 1031 1032 https://bugs.webkit.org/show_bug.cgi?id=28090 1033 1034 * rendering/RenderThemeChromiumMac.h: 1035 * rendering/RenderThemeChromiumMac.mm: 1036 Rename activeListBoxSelectionBackgroundColor to 1037 platformActiveListBoxSelectionBackgroundColor, so that it actually 1038 overrides a virtual method. 1039 10402009-08-07 Maxime Simon <simon.maxime@gmail.com> 1041 1042 Reviewed by Eric Seidel. 1043 1044 Added a fourth bunch of Haiku-specific files for WebCore. 1045 https://bugs.webkit.org/show_bug.cgi?id=26988 1046 1047 * platform/haiku/PasteboardHaiku.cpp: Added. 1048 (WebCore::Pasteboard::Pasteboard): 1049 (WebCore::Pasteboard::generalPasteboard): 1050 (WebCore::Pasteboard::writeSelection): 1051 (WebCore::Pasteboard::canSmartReplace): 1052 (WebCore::Pasteboard::plainText): 1053 (WebCore::Pasteboard::documentFragment): 1054 (WebCore::Pasteboard::writeURL): 1055 (WebCore::Pasteboard::writeImage): 1056 (WebCore::Pasteboard::clear): 1057 * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added. 1058 (WebCore::keyIdentifierForHaikuKeyCode): 1059 (WebCore::windowsKeyCodeForKeyEvent): 1060 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 1061 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 1062 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 1063 * platform/haiku/PlatformMouseEventHaiku.cpp: Added. 1064 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 1065 * platform/haiku/PlatformWheelEventHaiku.cpp: Added. 1066 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 1067 10682009-08-07 Nicolas Weber <thakis@chromium.org> 1069 1070 Teach WebKit how to decode jpegs in cmyk and ycck color spaces. 1071 Heavily inspired by Firefox's take on this issue. 1072 1073 https://bugs.webkit.org/show_bug.cgi?id=27909 1074 1075 Reviewed by Eric Seidel. 1076 1077 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1078 (WebCore::JPEGImageReader::decode): 1079 Tell jpeglib to convert ycck to cmyk and keep cmyk. 1080 (WebCore::convertCMYKToRGBA): 1081 Added function to convert cmyk to rgb. 1082 (WebCore::convertRGBToRGBA): 1083 Extracted existing conversion logic into its own function. 1084 (WebCore::JPEGImageDecoder::outputScanlines): 1085 Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb 1086 images. 1087 10882009-08-07 Drew Wilson <atwilson@google.com> 1089 1090 Reviewed by David Levin. 1091 1092 SharedWorkers should be shared 1093 https://bugs.webkit.org/show_bug.cgi?id=28058 1094 1095 Added tracking of shared workers to the SharedWorkerRepository. 1096 1097 * workers/DefaultSharedWorkerRepository.cpp: 1098 (WebCore::SharedWorkerProxy::create): 1099 Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading). 1100 (WebCore::SharedWorkerProxy::thread): 1101 (WebCore::SharedWorkerProxy::closing): 1102 Added flag used to determine whether the worker has closed itself while loading. 1103 (WebCore::SharedWorkerProxy::url): 1104 (WebCore::SharedWorkerProxy::name): 1105 Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec. 1106 (WebCore::SharedWorkerProxy::SharedWorkerProxy): 1107 (WebCore::SharedWorkerProxy::addToDocumentSet): 1108 Added API to track the document set for a worker to allow worker shutdown. Currently does nothing. 1109 (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader): 1110 Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity. 1111 (WebCore::SharedWorkerScriptLoader::load): 1112 (WebCore::SharedWorkerScriptLoader::notifyFinished): 1113 (WebCore::DefaultSharedWorkerRepository::instance): 1114 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 1115 Now handles "worker already loaded" case. 1116 (WebCore::SharedWorkerRepository::connect): 1117 Delegates to DefaultSharedWorkerRepository::connectToWorker 1118 (WebCore::DefaultSharedWorkerRepository::connectToWorker): 1119 Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case. 1120 (WebCore::DefaultSharedWorkerRepository::getProxy): 1121 Atomic get-or-create operation on the internal tracking HashMap. 1122 * workers/DefaultSharedWorkerRepository.h: 1123 * workers/SharedWorker.cpp: 1124 (WebCore::SharedWorker::SharedWorker): 1125 * workers/SharedWorkerRepository.h: 1126 Removed instance() API and made constructor private to prevent instantiation. 1127 (WebCore::SharedWorkerRepository::SharedWorkerRepository): 1128 11292009-08-07 Maxime Simon <simon.maxime@gmail.com> 1130 1131 Reviewed by Eric Seidel. 1132 1133 Added four Haiku-specific files for WebCore: 1134 PopupMenuHaiku.cpp, ScreenHaiku.cpp, 1135 SearchPopupMenuHaiku.cpp and SoundHaiku.cpp 1136 https://bugs.webkit.org/show_bug.cgi?id=28080 1137 1138 * platform/haiku/PopupMenuHaiku.cpp: Added. 1139 (WebCore::PopupMenu::PopupMenu): 1140 (WebCore::PopupMenu::~PopupMenu): 1141 (WebCore::PopupMenu::show): 1142 (WebCore::PopupMenu::hide): 1143 (WebCore::PopupMenu::updateFromElement): 1144 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 1145 * platform/haiku/ScreenHaiku.cpp: Added. 1146 (WebCore::screenRect): 1147 (WebCore::screenAvailableRect): 1148 (WebCore::screenDepth): 1149 (WebCore::screenDepthPerComponent): 1150 (WebCore::screenIsMonochrome): 1151 * platform/haiku/SearchPopupMenuHaiku.cpp: Added. 1152 (WebCore::SearchPopupMenu::SearchPopupMenu): 1153 (WebCore::SearchPopupMenu::saveRecentSearches): 1154 (WebCore::SearchPopupMenu::loadRecentSearches): 1155 (WebCore::SearchPopupMenu::enabled): 1156 * platform/haiku/SoundHaiku.cpp: Added. 1157 (WebCore::systemBeep): 1158 11592009-08-07 Maxime Simon <simon.maxime@gmail.com> 1160 1161 Reviewed by Eric Seidel. 1162 1163 Added two Haiku-specific files to WebCore: 1164 TemporaryLinkStubs.cpp and WidgetHaiku.cpp 1165 https://bugs.webkit.org/show_bug.cgi?id=28080 1166 1167 * platform/haiku/TemporaryLinkStubs.cpp: Added. 1168 (loadResourceIntoArray): 1169 (WebCore::historyContains): 1170 (WebCore::supportedKeySizes): 1171 (WebCore::signedPublicKeyAndChallengeString): 1172 (WebCore::userIdleTime): 1173 (WebCore::callOnMainThread): 1174 (WebCore::SharedBuffer::createWithContentsOfFile): 1175 (WebCore::KURL::fileSystemPath): 1176 (WebCore::getSupportedKeySizes): 1177 * platform/haiku/WidgetHaiku.cpp: Added. 1178 (WebCore::Widget::Widget): 1179 (WebCore::Widget::~Widget): 1180 (WebCore::Widget::frameRect): 1181 (WebCore::Widget::setFrameRect): 1182 (WebCore::Widget::setFocus): 1183 (WebCore::Widget::setCursor): 1184 (WebCore::Widget::show): 1185 (WebCore::Widget::hide): 1186 (WebCore::Widget::paint): 1187 (WebCore::Widget::setIsSelected): 1188 11892009-08-07 Jian Li <jianli@chromium.org> 1190 1191 Reviewed by Dimitri Glazkov. 1192 1193 [V8] Fix the problem that isAttribute is set to false for onerror and 1194 onmessage in worker custom code. 1195 https://bugs.webkit.org/show_bug.cgi?id=28083 1196 1197 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 1198 (WebCore::getEventListener): 1199 (WebCore::ACCESSOR_SETTER): 1200 (WebCore::CALLBACK_FUNC_DECL): 1201 * bindings/v8/custom/V8WorkerContextCustom.cpp: 1202 (WebCore::ACCESSOR_SETTER): 1203 * bindings/v8/custom/V8WorkerCustom.cpp: 1204 (WebCore::getEventListener): 1205 (WebCore::ACCESSOR_SETTER): 1206 12072009-08-07 Vitaly Repeshko <vitalyr@quad.spb.corp.google.com> 1208 1209 Reviewed by Dimitri Glazkov. 1210 1211 V8 bindings: speed up lookupDOMWrapper by using new V8 API function. 1212 1213 https://bugs.webkit.org/show_bug.cgi?id=28071 1214 1215 * bindings/v8/V8DOMWrapper.cpp: 1216 * bindings/v8/V8DOMWrapper.h: 1217 (WebCore::V8DOMWrapper::lookupDOMWrapper): 1218 12192009-08-07 Ryosuke Niwa <rniwa@webkit.org> 1220 1221 Reviewed by Justin Garcia. 1222 1223 selectionHasStyle doesn't handle text-specific properties properly 1224 https://bugs.webkit.org/show_bug.cgi?id=27858 1225 1226 This patch modifies selectionHasStyle so that it returns TrueTriState when text styles 1227 (text-decoration, font-style, font-weight, & color) are present in all text nodes, 1228 regardless of whether the style is also present in their ancestor nodes or not. 1229 e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style. 1230 1231 WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on 1232 at least one text node, rather than at the beginning of selection except on Mac. 1233 On Mac, WebKit applies the text style if the style was not present at the beginning of style. 1234 1235 Test: editing/execCommand/toggle-compound-styles.html 1236 1237 * editing/ApplyStyleCommand.cpp: 1238 (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style. 1239 * editing/Editor.cpp: 1240 (WebCore::): 1241 (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles 1242 (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes 1243 * editing/EditorCommand.cpp: 1244 (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle 1245 12462009-08-07 Jian Li <jianli@chromium.org> 1247 1248 Reviewed by Dimitri Glazkov. 1249 1250 [V8] Do not register V8 error message listener in WorkerContextExecutionProxy. 1251 https://bugs.webkit.org/show_bug.cgi?id=28082 1252 1253 * bindings/v8/WorkerContextExecutionProxy.cpp: 1254 (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): 1255 12562009-08-07 Kwang Yul Seo <skyul@company100.net> 1257 1258 Reviewed by Eric Seidel. 1259 1260 Cairo-based Windows port does not handle cookies properly 1261 https://bugs.webkit.org/show_bug.cgi?id=27414 1262 1263 curl handles cookies by itself, so using WinINet functions 1264 to get and set cookies is wrong. 1265 1266 Replace CookieJarWin.cpp with CookieJarCurl.cpp so that 1267 cookies can be implemented later once curl provides an API to 1268 get and set cookies. 1269 1270 * WebCore.vcproj/WebCore.vcproj: 1271 12722009-08-07 Michael Nordman <michaeln@google.com> 1273 1274 Reviewed by Dimitri Glazkov. 1275 1276 https://bugs.webkit.org/show_bug.cgi?id=28074 1277 1278 V8 bindings for the window.applicationCache attribute. 1279 1280 * WebCore.gypi: 1281 * bindings/scripts/CodeGeneratorV8.pm: 1282 * bindings/v8/DOMObjectsInclude.h: 1283 * bindings/v8/DerivedSourcesAllInOne.cpp: 1284 * bindings/v8/V8DOMWrapper.cpp: 1285 (WebCore::V8DOMWrapper::getTemplate): 1286 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 1287 * bindings/v8/V8Index.cpp: 1288 * bindings/v8/V8Index.h: 1289 * bindings/v8/custom/V8CustomBinding.h: 1290 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added. 1291 12922009-08-07 Alpha Lam <hclam@chromium.org> 1293 1294 Reviewed by Eric Seidel. 1295 1296 Right click on timeline of media controls panel cause seek 1297 https://bugs.webkit.org/show_bug.cgi?id=27920 1298 1299 Add a test simulate the behavior of seeking by right clicking 1300 on the time bar of media controls while playing. 1301 1302 * media/controls-right-click-on-timebar-expected.txt: Added. 1303 * media/controls-right-click-on-timebar.html: Added. 1304 13052009-08-07 Ryosuke Niwa <rniwa@webkit.org> 1306 1307 Reviewed by Justin Garcia. 1308 1309 deprecatedCopyInheritableProperties must be replaced by two different functions 1310 https://bugs.webkit.org/show_bug.cgi?id=28057 1311 1312 This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition 1313 or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch, 1314 which consists of all CSS properties need to be preserved under editing operations. 1315 1316 No test is added since this patch does not change any behavior. 1317 1318 * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties 1319 * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties 1320 * editing/ApplyStyleCommand.cpp: 1321 (WebCore::): 1322 (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position 1323 (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position 1324 (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node 1325 * editing/ApplyStyleCommand.h: 1326 (WebCore::): 1327 * editing/CompositeEditCommand.cpp: 1328 (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition 1329 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition 1330 * editing/DeleteSelectionCommand.cpp: 1331 (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode 1332 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition 1333 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt 1334 * editing/EditCommand.cpp: 1335 * editing/EditCommand.h: 1336 * editing/InsertParagraphSeparatorCommand.cpp: 1337 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition 1338 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt 1339 * editing/RemoveFormatCommand.cpp: 1340 (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition 1341 * editing/ReplaceSelectionCommand.cpp: 1342 (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition 1343 (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt 1344 (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt 1345 * editing/markup.cpp: 1346 (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode 1347 (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt 1348 (WebCore::createMarkup): Uses editingStyleAtPosition 1349 13502009-08-07 Steve Block <steveblock@google.com> 1351 1352 Reviewed by Darin Adler. 1353 1354 Bug 27250: Geolocation callback function IDL files are superfluous 1355 https://bugs.webkit.org/show_bug.cgi?id=27250 1356 1357 The objects for the Geolocation success and error callbacks are created 'manually' in 1358 WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 1359 marked 'NoInterfaceObject' in the W3C spec, so the prototype should not 1360 appear on the window object. Hence IDL files for these callbacks are not required. 1361 1362 See http://www.w3.org/TR/geolocation-API/#geolocation_interface and 1363 http://www.w3.org/TR/WebIDL/#NoInterfaceObject. 1364 1365 No new tests required. 1366 1367 * DerivedSources.make: Modified. Removed reference to IDL files. 1368 * WebCore.gypi: Modified. Removed reference to IDL files. 1369 * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files. 1370 * page/PositionCallback.idl: Removed. 1371 * page/PositionErrorCallback.idl: Removed. 1372 13732009-08-07 Adam Treat <adam.treat@torchmobile.com> 1374 1375 Reviewed by David Levin. 1376 1377 Build fix for Qt when ENABLE_VIDEO = 0. This was necessitated by r46890 which 1378 put the idl files back into play regardless of compile time defines. 1379 1380 * html/TimeRanges.idl: 1381 13822009-08-07 Mike Fenton <mike.fenton@torchmobile.com> 1383 1384 Reviewed by George Staikos. 1385 1386 Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py. 1387 1388 https://bugs.webkit.org/show_bug.cgi?id=28050 1389 1390 * platform/qt/RenderThemeQt.cpp: 1391 (WebCore::RenderThemeQt::baselinePosition): 1392 (WebCore::inflateButtonRect): 1393 (WebCore::RenderThemeQt::supportsFocus): 1394 (WebCore::RenderThemeQt::applyTheme): 1395 13962009-08-07 Mike Fenton <mike.fenton@torchmobile.com> 1397 1398 Reviewed by Eric Seidel. 1399 1400 Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton 1401 from discarding style colour. 1402 1403 Add tests and remove tests from platform/qt/Skipped that now pass. 1404 1405 https://bugs.webkit.org/show_bug.cgi?id=28050 1406 1407 Tests: fast/forms/menulist-style-color.html 1408 fast/forms/text-style-color.html 1409 1410 * platform/qt/RenderThemeQt.cpp: 1411 (WebCore::RenderThemeQt::adjustTextFieldStyle): 1412 (WebCore::RenderThemeQt::adjustMenuListStyle): 1413 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 1414 14152009-08-07 Dimitri Glazkov <dglazkov@chromium.org> 1416 1417 Unreviewed, build fix. 1418 1419 https://bugs.webkit.org/show_bug.cgi?id=22495 1420 [V8] Re-land http://trac.webkit.org/changeset/46821, now that 1421 http://trac.webkit.org/changeset/46874 re-landed 1422 1423 * bindings/v8/DOMObjectsInclude.h: 1424 * bindings/v8/DerivedSourcesAllInOne.cpp: 1425 * bindings/v8/V8Index.cpp: 1426 * bindings/v8/V8Index.h: 1427 14282009-08-07 Adam Treat <adam.treat@torchmobile.com> 1429 1430 Reviewed by Darin Adler and George Staikos. 1431 1432 Add rectToRect convenience function which returns the TransformationMatrix 1433 which maps the 'from' rectangle to the 'to' rectangle. 1434 1435 https://bugs.webkit.org/show_bug.cgi?id=28067 1436 1437 No tests as this would require binding the method to js and since it is static 1438 that doesn't seem possible. Please check the math. 1439 1440 * platform/graphics/transforms/TransformationMatrix.cpp: 1441 (WebCore::TransformationMatrix::rectToRect): 1442 * platform/graphics/transforms/TransformationMatrix.h: 1443 14442009-08-07 Brady Eidson <beidson@apple.com> 1445 1446 Reviewed by Darin Adler. 1447 1448 Implement the HTML5 hashchange event. 1449 https://bugs.webkit.org/show_bug.cgi?id=21605 1450 1451 Test: fast/loader/hashchange-event.html 1452 1453 * dom/EventNames.h: Add "hashchange" 1454 * html/HTMLAttributeNames.in: Add "onhashchange" 1455 1456 * loader/FrameLoader.cpp: 1457 (WebCore::HashChangeEventTask::create): 1458 (WebCore::HashChangeEventTask::performTask): 1459 (WebCore::HashChangeEventTask::HashChangeEventTask): 1460 (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the 1461 new fragment identifier is different from the old one, queue a hash change event 1462 on the Document. 1463 1464 Add a window event listener for the hashchange event if onhashchange is encountered: 1465 * html/HTMLBodyElement.cpp: 1466 (WebCore::HTMLBodyElement::parseMappedAttribute): 1467 * html/HTMLFrameSetElement.cpp: 1468 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 1469 1470 Add a new string utility method that gives "null and empty are equivalent" behavior: 1471 * platform/text/PlatformString.h: 1472 (WebCore::equalIgnoringNullity): 1473 * platform/text/StringImpl.cpp: 1474 (WebCore::equalIgnoringNullity): 1475 * platform/text/StringImpl.h: 1476 14772009-08-07 Jessie Berlin <jberlin@apple.com> 1478 1479 Reviewed by Timothy Hatcher. 1480 1481 Add the initial implementation of the ability to resize the columns in 1482 a DataGrid in the Web Inspector. Enables that functionality in both the 1483 Profile View and in the Local Storage View. 1484 1485 https://bugs.webkit.org/show_bug.cgi?id=26182 1486 1487 In this version, resizing a column can change the width of at most two 1488 columns (the columns to the left and right of the resizer being dragged). 1489 1490 Possible changes in future patches: 1491 1492 1) Be able to specify the minimum size of a column and the maximum size 1493 of a column. If the minimum size is equal to the maximum size, the 1494 column can't be resized. 1495 2) Make the behavior more in line with the following description: 1496 1497 Everything before the column that is resized stays fixed size. The 1498 resized column changes sizes. The other columns except the last stay 1499 the same size. And the last column adjusts to fit with a minimum size. 1500 If the last column is already the minimum, the next to last column 1501 shrinks, etc. 1502 1503 3) Make it possible to scale the column sizes appropriately when the 1504 Web Inspector window gets resized. 1505 1506 * inspector/front-end/DOMStorageItemsView.js: 1507 (WebInspector.DOMStorageItemsView.prototype.update): 1508 Once the DataGrid is added to the DOM, update the widths of the 1509 DataGrid in order to put the resizers in place. 1510 (WebInspector.DOMStorageItemsView.prototype.resize): 1511 Update the widths of the DataGrid in order to correctly adjust the 1512 positions of the resizers. 1513 1514 * inspector/front-end/DataGrid.js: 1515 (WebInspector.DataGrid): 1516 Store column groups whose widths can later be changed when the columns 1517 are resized by the user. 1518 Also, keep track of whether the widths of the columns have been 1519 initialized. 1520 (WebInspector.DataGrid.prototype.updateWidths): 1521 Create the resizers for the columns. 1522 (WebInspector.DataGrid.prototype._clickInDataTable): 1523 Didn't actually change anything in this method, just added a comma to 1524 the end of the function. 1525 (WebInspector.DataGrid.prototype._startResizerDragging): 1526 Store the resizer that is currently dragging. 1527 (WebInspector.DataGrid.prototype._resizerDragging): 1528 Constrain the area that the resizer can be dragged to the column to 1529 it's left and right, with some padding added to make sure that the 1530 neighboring columns don't disappear. 1531 (WebInspector.DataGrid.prototype._endResizerDragging): 1532 1533 * inspector/front-end/DatabasesPanel.js: 1534 (WebInspector.DatabasesPanel.prototype.resize): 1535 Resize the view. 1536 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): 1537 ditto. 1538 1539 * inspector/front-end/ProfileView.js: 1540 (WebInspector.ProfileView.prototype.show): 1541 Now that the DataGrid is actually attached to the DOM, update the 1542 widths of the DataGrid in order to put the resizers in place. 1543 (WebInspector.ProfileView.prototype.resize): 1544 Update the widths of the DataGrid in order to correctly adjust the 1545 positions of the resizers. 1546 1547 * inspector/front-end/ProfilesPanel.js: 1548 (WebInspector.ProfilesPanel.prototype.resize): 1549 Resize the view. 1550 (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): 1551 ditto. 1552 1553 * inspector/front-end/inspector.css: 1554 Add in a style rule for a resizer in the Data Grid. 1555 15562009-08-07 Simon Hausmann <simon.hausmann@nokia.com> 1557 1558 Reviewed by Tor Arne Vestbø. 1559 1560 Back out r46847 and fix the Qt build system to always generate 1561 all the JS binding files from IDL files. The generated files 1562 have #if feature guards, so the #ifs are not needed in the 1563 files using them. 1564 1565 * WebCore.pro: 1566 * bindings/js/JSEventTarget.cpp: 1567 * bindings/js/JSWorkerContextBase.cpp: 1568 * bindings/js/WorkerScriptController.cpp: 1569 15702009-08-07 Shinichiro Hamaji <hamaji@chromium.org> 1571 1572 Reviewed by Adele Peterson. 1573 1574 Cannot scroll for box-reflect:right 1575 https://bugs.webkit.org/show_bug.cgi?id=27979 1576 1577 Update m_overflowLeft an m_overflowWidth for reflection just like 1578 m_overflowTop and m_overflowHeight. 1579 1580 Test: fast/reflections/reflection-overflow-scroll.html 1581 1582 * rendering/RenderBlock.cpp: 1583 (WebCore::RenderBlock::layoutBlock): 1584 15852009-08-06 Shinichiro Hamaji <hamaji@chromium.org> 1586 1587 Reviewed by Adam Barth. 1588 1589 box-shadow's spread is ignored with <table> 1590 https://bugs.webkit.org/show_bug.cgi?id=28017 1591 1592 Use RenderStyle::getBoxShadowExtent just like RenderBlock. 1593 1594 Test: fast/box-shadow/box-shadow-overflow-scroll.html 1595 1596 * rendering/RenderTable.cpp: 1597 (WebCore::RenderTable::layout): 1598 15992009-08-06 Joseph Pecoraro <joepeck02@gmail.com> 1600 1601 Reviewed by Timothy Hatcher. 1602 1603 Inspector: NodeLists Don't Display Well in the Console 1604 https://bugs.webkit.org/show_bug.cgi?id=28061 1605 1606 * inspector/front-end/ConsoleView.js: 1607 (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array" 1608 16092009-08-06 Yusuke Sato <yusukes@chromium.org> 1610 1611 Reviewed by David Levin. 1612 1613 Chromium Linux: add support for @font-face 1614 https://bugs.webkit.org/show_bug.cgi?id=28015 1615 1616 * loader/CachedFont.cpp: 1617 (WebCore::CachedFont::~CachedFont): 1618 (WebCore::CachedFont::ensureCustomFontData): 1619 (WebCore::CachedFont::platformDataFromCustomData): 1620 (WebCore::CachedFont::allClientsRemoved): 1621 1622 Modified #ifdefs so that chromium linux can load remote fonts. 1623 1624 * platform/graphics/chromium/FontCustomPlatformData.cpp: 1625 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 1626 (WebCore::FontCustomPlatformData::fontPlatformData): 1627 (WebCore::createFontCustomPlatformData): 1628 1629 Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function. 1630 1631 (WebCore::RemoteFontStream::RemoteFontStream): 1632 (WebCore::RemoteFontStream::~RemoteFontStream): 1633 (WebCore::RemoteFontStream::rewind): 1634 (WebCore::RemoteFontStream::read): 1635 1636 New class that implements SkStream interface and wraps wtf's SharedBuffer. 1637 1638 * platform/graphics/chromium/FontCustomPlatformData.h: 1639 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 1640 1641 Added member variables for Linux. 1642 16432009-08-06 Yong Li <yong.li@torchmobile.com> 1644 1645 Reviewed by Eric Seidel. 1646 1647 Fix JPEGImageDecoder.cpp compile error on WinCE 1648 https://bugs.webkit.org/show_bug.cgi?id=28051 1649 1650 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1651 16522009-08-06 Kevin Ollivier <kevino@theolliviers.com> 1653 1654 Reviewed by Eric Seidel. 1655 1656 Adding WebCore support for the waf build system for wx. 1657 1658 https://bugs.webkit.org/show_bug.cgi?id=27619 1659 1660 * wscript: Added. 1661 16622009-08-06 Adam Barth <abarth@webkit.org> 1663 1664 Unreviewed revert. 1665 1666 http://bugs.webkit.org/show_bug.cgi?id=27879 1667 1668 Revert 46877 because it broke GTK. 1669 1670 * platform/graphics/wince/GraphicsContextWince.cpp: 1671 16722009-08-06 Chris Fleizach <cfleizach@apple.com> 1673 1674 Reviewed by Eric Seidel. 1675 1676 Bug 27956 - AX: roleValue should be cached for performance 1677 https://bugs.webkit.org/show_bug.cgi?id=27956 1678 1679 Caches the role value of an accessibility object instead of calculating it everytime. 1680 The changes gained a 5% speedup using VoiceOver to navigate a webpage. 1681 1682 * accessibility/AXObjectCache.cpp: 1683 (WebCore::AXObjectCache::handleAriaRoleChanged): 1684 1685 Use generic role setter instead of specific ARIA role setter. 1686 1687 * accessibility/AccessibilityObject.cpp: 1688 (WebCore::AccessibilityObject::AccessibilityObject): 1689 * accessibility/AccessibilityObject.h: 1690 (WebCore::AccessibilityObject::headingLevel): 1691 1692 Make headingLevel into instance method so that it can *safely* be called in the constructor. 1693 1694 (WebCore::AccessibilityObject::setRoleValue): 1695 (WebCore::AccessibilityObject::roleValue): 1696 * accessibility/AccessibilityRenderObject.cpp: 1697 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 1698 (WebCore::AccessibilityRenderObject::headingLevel): 1699 (WebCore::AccessibilityRenderObject::intValue): 1700 (WebCore::AccessibilityRenderObject::updateAccessibilityRole): 1701 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 1702 * accessibility/AccessibilityRenderObject.h: 1703 * accessibility/mac/AccessibilityObjectWrapper.mm: 1704 (AXAttributeStringSetHeadingLevel): 1705 17062009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu> 1707 1708 Reviewed by Adam Barth. 1709 1710 Change Noncopyable inheriting to public 1711 http://bugs.webkit.org/show_bug.cgi?id=27879 1712 1713 Since Noncopyable is inherited from FastAllocBase, Noncopyable's 1714 inheriting has been changed to public. 1715 1716 * platform/graphics/wince/GraphicsContextWince.cpp: 1717 17182009-08-06 Mark Rowe <mrowe@apple.com> 1719 1720 Rubber-stamped by Sam Weinig. 1721 1722 Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed. 1723 1724 * WebCore.xcodeproj/project.pbxproj: 1725 17262009-08-05 Simon Fraser <simon.fraser@apple.com> 1727 1728 Reviewed by Darin Adler. 1729 1730 Implement the matchMedium method on the Media interface described in the CSSOM View Module. 1731 https://bugs.webkit.org/show_bug.cgi?id=22495 1732 1733 Add a new Media interface, obtainable via the AbstractView, that can 1734 evaluate queries via its matchesMedium() method. 1735 1736 Test: fast/media/matchmedium-query-api.html 1737 1738 * DerivedSources.cpp: 1739 * DerivedSources.make: 1740 * GNUmakefile.am: 1741 * WebCore.gypi: 1742 * WebCore.pro: 1743 * WebCore.vcproj/WebCore.vcproj: 1744 * WebCore.xcodeproj/project.pbxproj: 1745 * WebCoreSources.bkl: 1746 Add Media.* files to the build. 1747 1748 * css/Media.cpp: Added. 1749 (WebCore::Media::Media): 1750 (WebCore::Media::type): 1751 (WebCore::Media::matchMedium): 1752 * css/Media.h: Added. 1753 (WebCore::Media::create): 1754 (WebCore::Media::document): 1755 * css/Media.idl: Added. 1756 Media::matchMedium() uses a MediaQueryEvaluator() to test the query. 1757 1758 * page/AbstractView.idl: 1759 * page/DOMWindow.cpp: 1760 (WebCore::DOMWindow::media): 1761 * page/DOMWindow.h: 1762 * page/DOMWindow.idl: 1763 Add a readonly attribute for Media. 1764 17652009-08-06 Michelangelo De Simone <micdesim@gmail.com> 1766 1767 Reviewed by Darin Adler. 1768 1769 https://bugs.webkit.org/show_bug.cgi?id=27455 1770 Support for a custom validation message in ValidityState and related 1771 form controls. 1772 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity 1773 1774 Tests: fast/forms/ValidityState-customError-001.html 1775 fast/forms/ValidityState-customError-002.html 1776 fast/forms/ValidityState-customError-003.html 1777 fast/forms/ValidityState-customError-004.html 1778 1779 * html/HTMLButtonElement.idl: setCustomValidity DOM method 1780 * html/HTMLFieldSetElement.idl: ditto 1781 * html/HTMLFormControlElement.cpp: 1782 (WebCore::HTMLFormControlElement::setCustomValidity): ditto 1783 * html/HTMLFormControlElement.h: 1784 (WebCore::HTMLFormControlElement::valueMissing): moved down 1785 * html/HTMLInputElement.idl: ditto 1786 * html/HTMLSelectElement.idl: ditto 1787 * html/HTMLTextAreaElement.idl: 1788 * html/ValidityState.h: 1789 (WebCore::ValidityState::setCustomErrorMessage): method to set custom 1790 validation message 1791 (WebCore::ValidityState::customError): validation flag 1792 17932009-08-06 Mark Rowe <mrowe@apple.com> 1794 1795 Bring a little order to our otherwise out of control lives. 1796 1797 * WebCore.xcodeproj/project.pbxproj: 1798 17992009-08-06 Mark Rowe <mrowe@apple.com> 1800 1801 Stop copying .idl files in to the framework resources directory. 1802 1803 * WebCore.xcodeproj/project.pbxproj: 1804 18052009-08-06 Mark Rowe <mrowe@apple.com> 1806 1807 Fix the build some more. 1808 1809 Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related 1810 files and groups in to the appropriate locations. 1811 1812 * WebCore.xcodeproj/project.pbxproj: 1813 18142009-08-06 Fumitoshi Ukai <ukai@chromium.org> 1815 1816 Reviewed by Alexey Proskuryakov. 1817 1818 Add WebSocket.idl 1819 https://bugs.webkit.org/show_bug.cgi?id=27209 1820 1821 Add WebSocket.idl in WebCore/websockets/. 1822 Add build systems only for GNUmakefile.am and WebCore.xcodeproj now. 1823 Other build systems will be updated once the code is functional. 1824 1825 * DerivedSources.make: 1826 * GNUmakefile.am: 1827 * WebCore.xcodeproj/project.pbxproj: 1828 * bindings/js/JSWebSocketConstructor.cpp: Added. 1829 * bindings/js/JSWebSocketConstructor.h: Added. 1830 * bindings/js/JSWebSocketCustom.cpp: Added. 1831 * websockets/WebSocket.cpp: Added. 1832 * websockets/WebSocket.h: Added. 1833 * websockets/WebSocket.idl: Added. 1834 18352009-08-06 Jian Li <jianli@chromium.org> 1836 1837 Reviewed by Dimitri Glazkov. 1838 1839 [V8] Style cleaning for WorkerContextExecutionProxy. 1840 https://bugs.webkit.org/show_bug.cgi?id=27997 1841 1842 Cleanup WorkerContextExecutioonProxy related files to follow 1843 WebKit coding styles after all V8 binding codes are upstreamed. 1844 1) Lower-case the first letter of remaining functins in class 1845 WorkerContextExecutionProxy. Update the V8 code generator 1846 and all other references accordingly. 1847 2) Integrate getConstructor from WorkerContextExecutionProxy 1848 to V8DOMWrapper. 1849 3) Other misc changes, like removing trailing whitespaces and 1850 sorting the include files. 1851 1852 * bindings/scripts/CodeGeneratorV8.pm: 1853 * bindings/v8/ScheduledAction.cpp: 1854 (WebCore::ScheduledAction::execute): 1855 * bindings/v8/V8DOMWrapper.cpp: 1856 (WebCore::V8DOMWrapper::getConstructorForContext): 1857 (WebCore::V8DOMWrapper::convertToV8Object): 1858 * bindings/v8/V8DOMWrapper.h: 1859 * bindings/v8/V8WorkerContextEventListener.cpp: 1860 (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener): 1861 (WebCore::V8WorkerContextEventListener::handleEvent): 1862 (WebCore::V8WorkerContextEventListener::reportError): 1863 (WebCore::V8WorkerContextEventListener::getReceiverObject): 1864 * bindings/v8/V8WorkerContextObjectEventListener.cpp: 1865 (WebCore::weakObjectEventListenerCallback): 1866 * bindings/v8/WorkerContextExecutionProxy.cpp: 1867 (WebCore::handleConsoleMessage): 1868 (WebCore::WorkerContextExecutionProxy::dispose): 1869 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 1870 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 1871 (WebCore::WorkerContextExecutionProxy::convertEventToV8Object): 1872 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 1873 (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object): 1874 (WebCore::WorkerContextExecutionProxy::toV8): 1875 (WebCore::WorkerContextExecutionProxy::forgetV8EventObject): 1876 (WebCore::WorkerContextExecutionProxy::removeEventListener): 1877 * bindings/v8/WorkerContextExecutionProxy.h: 1878 (WebCore::WorkerContextExecutionProxy::context): 1879 (WebCore::WorkerContextExecutionProxy::convertToV8Object): 1880 * bindings/v8/custom/V8WorkerContextCustom.cpp: 1881 (WebCore::ACCESSOR_GETTER): 1882 (WebCore::CALLBACK_FUNC_DECL): 1883 18842009-08-06 Darin Adler <darin@apple.com> 1885 1886 Fix Mac Leopard debug build. 1887 1888 * platform/text/StringImpl.cpp: 1889 (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned 1890 is always >= 0 and checking causes a warning in the newer versions of gcc. 1891 18922009-08-06 Adam Barth <abarth@webkit.org> 1893 1894 Unreview rollout. 1895 1896 Revert 46840 because it broke the reliability tests. 1897 1898 * bindings/v8/ScheduledAction.cpp: 1899 (WebCore::ScheduledAction::ScheduledAction): 1900 (WebCore::ScheduledAction::execute): 1901 * bindings/v8/ScheduledAction.h: 1902 (WebCore::ScheduledAction::ScheduledAction): 1903 * bindings/v8/custom/V8DOMWindowCustom.cpp: 1904 (WebCore::V8Custom::WindowSetTimeoutImpl): 1905 * bindings/v8/custom/V8WorkerContextCustom.cpp: 1906 (WebCore::SetTimeoutOrInterval): 1907 19082009-08-06 Adam Barth <abarth@webkit.org> 1909 1910 Unreviewed rollout. 1911 1912 Revert 46840 in preparation to revert 46838, which broke the reliability tests. 1913 1914 * bindings/v8/V8Proxy.cpp: 1915 (WebCore::V8Proxy::updateDocumentWrapperCache): 1916 (WebCore::V8Proxy::initContextIfNeeded): 1917 (WebCore::V8Proxy::mainWorldContext): 1918 * bindings/v8/V8Proxy.h: 1919 (WebCore::V8Proxy::context): 1920 19212009-08-06 Pavel Feldman <pfeldman@chromium.org> 1922 1923 Reviewed by Timothy Hatcher. 1924 1925 WebInspector: move style-related utilities into InjectedScript. 1926 1927 http://bugs.webkit.org/show_bug.cgi?id=27939 1928 1929 * inspector/front-end/DOMAgent.js: 1930 (WebInspector.CSSStyleDeclaration): 1931 (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit): 1932 (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): 1933 (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties): 1934 (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority): 1935 * inspector/front-end/InjectedScript.js: 1936 (InjectedScript.applyStyleText): 1937 (InjectedScript.toggleStyleEnabled): 1938 (InjectedScript._serializeStyle): 1939 (InjectedScript._getUniqueStyleProperties): 1940 (InjectedScript._getLonghandProperties): 1941 (InjectedScript._getShorthandPriority): 1942 * inspector/front-end/StylesSidebarPane.js: 1943 (WebInspector.StylesSidebarPane.prototype._update): 1944 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 1945 (WebInspector.StylePropertiesSection.prototype.onpopulate): 1946 (WebInspector.StylePropertyTreeElement.prototype.get priority): 1947 (WebInspector.StylePropertyTreeElement.prototype.get value): 1948 (WebInspector.StylePropertyTreeElement.prototype): 1949 * inspector/front-end/utilities.js: 1950 19512009-08-06 Simon Hausmann <simon.hausmann@nokia.com> 1952 1953 Unreviewed build fix, add #ifdef guards around 1954 inclusions of shared worker specific files. 1955 1956 * bindings/js/JSEventTarget.cpp: 1957 * bindings/js/JSWorkerContextBase.cpp: 1958 * bindings/js/WorkerScriptController.cpp: 1959 19602009-08-06 Laszlo Gombos <laszlo.1.gombos@nokia.com> 1961 1962 Reviewed by Darin Adler. 1963 1964 cssgrammar.cpp fails to compile with RVCT compiler 1965 https://bugs.webkit.org/show_bug.cgi?id=27952 1966 1967 * css/CSSGrammar.y: Do not convert to String to get rid of the stray 1968 memory allocation 1969 1970 * platform/text/StringImpl.cpp: 1971 (WebCore::equalIgnoringCase): 1972 * platform/text/StringImpl.h: 1973 (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase 1974 function that works with a character pointer and length 1975 19762009-08-06 Drew Wilson <atwilson@google.com> 1977 1978 Reviewed by David Levin. 1979 1980 Created first working implementation of SharedWorkers (execution only, no sharing). 1981 https://bugs.webkit.org/show_bug.cgi?id=27927 1982 1983 Added initial implementations of SharedWorkerThread and SharedWorkerContext. 1984 No v8 bindings yet. 1985 1986 * DerivedSources.cpp: 1987 Added shared worker files. 1988 * DerivedSources.make: 1989 Added shared worker files. 1990 * GNUmakefile.am: 1991 Added shared worker files. 1992 * WebCore.gypi: 1993 Added shared worker files. 1994 * WebCore.pro: 1995 Added shared worker files. 1996 * WebCore.vcproj/WebCore.vcproj: 1997 Added shared worker files. 1998 * WebCore.xcodeproj/project.pbxproj: 1999 Added shared worker files. 2000 * bindings/js/JSEventTarget.cpp: 2001 (WebCore::toJS): 2002 Added code to convert from EventTarget to correct JS class. 2003 (WebCore::toEventTarget): 2004 Added code to cast from JS object to appropriate EventTarget impl class. 2005 * bindings/js/JSSharedWorkerConstructor.cpp: 2006 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 2007 (WebCore::constructSharedWorker): 2008 Tweaked the constructor code to pass in the lexical global object like normal workers. 2009 * bindings/js/JSSharedWorkerContextCustom.cpp: Added. 2010 (WebCore::JSSharedWorkerContext::mark): 2011 Custom marking of the onconnect handler. 2012 * bindings/js/JSWorkerContextBase.cpp: 2013 (WebCore::toJSSharedWorkerContext): 2014 (WebCore::toJSWorkerContext): 2015 Added proper conversion to the correct WorkerContext derived class. 2016 * bindings/js/JSWorkerContextBase.h: 2017 * bindings/js/WorkerScriptController.cpp: 2018 (WebCore::WorkerScriptController::initScript): 2019 Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext) 2020 * bindings/scripts/CodeGeneratorV8.pm: 2021 Added support for SharedWorkerContext. 2022 * bindings/v8/DOMObjectsInclude.h: 2023 Added shared worker bindings files. 2024 * dom/EventNames.h: 2025 Added connect event. 2026 * dom/EventTarget.cpp: 2027 (WebCore::EventTarget::toSharedWorkerContext): 2028 Added API for casting to new derived class (SharedWorkerContext). 2029 * dom/EventTarget.h: 2030 * workers/AbstractWorker.cpp: 2031 (WebCore::AbstractWorker::resolveURL): 2032 Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers. 2033 * workers/AbstractWorker.h: 2034 * workers/DedicatedWorkerContext.cpp: 2035 (WebCore::DedicatedWorkerContext::logException): 2036 Refactored exception handling code - moved onerror handling to base class. 2037 * workers/DedicatedWorkerContext.h: 2038 (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext): 2039 * workers/SharedWorker.cpp: 2040 (WebCore::SharedWorker::SharedWorker): 2041 Changed constructor to fire up worker thread. 2042 * workers/SharedWorker.h: 2043 * workers/SharedWorkerContext.cpp: Added. 2044 (WebCore::SharedWorkerContext::SharedWorkerContext): 2045 (WebCore::SharedWorkerContext::~SharedWorkerContext): 2046 (WebCore::SharedWorkerContext::logException): 2047 (WebCore::SharedWorkerContext::addMessage): 2048 Placeholder methods until we add support for sending exceptions/messages to console. 2049 (WebCore::SharedWorkerContext::dispatchConnect): 2050 (WebCore::SharedWorkerContext::thread): 2051 * workers/SharedWorkerContext.h: Added. 2052 (WebCore::SharedWorkerContext::create): 2053 (WebCore::SharedWorkerContext::isSharedWorkerContext): 2054 (WebCore::SharedWorkerContext::toSharedWorkerContext): 2055 (WebCore::SharedWorkerContext::setOnconnect): 2056 (WebCore::SharedWorkerContext::onconnect): 2057 (WebCore::SharedWorkerContext::name): 2058 * workers/SharedWorkerContext.idl: Added. 2059 * workers/SharedWorkerRepository.h: Added. 2060 (WebCore::SharedWorkerRepository::~SharedWorkerRepository): 2061 * workers/DefaultSharedWorkerRepository.cpp: Added. 2062 Implementation of core singleton class that will be used to implement sharing. 2063 (WebCore::SharedWorkerProxy::setThread): 2064 Proxy object used to handle resource loading for a given shared worker. 2065 (WebCore::SharedWorkerProxy::postTaskToLoader): 2066 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext): 2067 Placeholder routines until we implement loading. 2068 (WebCore::SharedWorkerConnectTask::create): 2069 Creates a task to fire off a connect event on the worker thread. 2070 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask): 2071 (WebCore::SharedWorkerConnectTask::performTask): 2072 (WebCore::SharedWorkerLoader::SharedWorkerLoader): 2073 Added helper object to load the initial script for the worker. 2074 (WebCore::SharedWorkerLoader::load): 2075 (WebCore::SharedWorkerLoader::notifyFinished): 2076 (WebCore::SharedWorkerRepository::instance): 2077 (WebCore::DefaultSharedWorkerRepository::instance): 2078 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded): 2079 Fires off the worker thread once the script is loaded. 2080 (WebCore::SharedWorkerRepository::connect): 2081 (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository): 2082 (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository): 2083 * workers/DefaultSharedWorkerRepository.h: Added. 2084 * workers/SharedWorkerThread.cpp: Added. 2085 (WebCore::SharedWorkerThread::create): 2086 (WebCore::SharedWorkerThread::SharedWorkerThread): 2087 (WebCore::SharedWorkerThread::~SharedWorkerThread): 2088 (WebCore::SharedWorkerThread::createWorkerContext): 2089 * workers/SharedWorkerThread.h: Added. 2090 * workers/Worker.cpp: 2091 (WebCore::Worker::Worker): 2092 * workers/WorkerContext.cpp: 2093 (WebCore::WorkerContext::reportException): 2094 * workers/WorkerContext.h: 2095 (WebCore::WorkerContext::isSharedWorkerContext): 2096 (WebCore::WorkerContext::isDedicatedWorkerContext): 2097 Added APIs to determine the type of a given context. 2098 20992009-08-06 Chris Marrin <cmarrin@apple.com> 2100 2101 Reviewed by David Hyatt. 2102 2103 Added ENABLE_3D_CANVAS flag to build, default to off 2104 2105 * Configurations/FeatureDefines.xcconfig: 2106 21072009-08-06 Andras Becsi <becsi.andras@stud.u-szeged.hu> 2108 2109 Reviewed by Simon Hausmann. 2110 2111 [Qt] windowsKeyCodeForKeyEvent fix 2112 2113 Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad. 2114 2115 * platform/qt/PlatformKeyboardEventQt.cpp: 2116 (WebCore::windowsKeyCodeForKeyEvent): 2117 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 2118 21192009-08-06 George Staikos <george.staikos@torchmobile.com> 2120 2121 Rubber-stamped by Ariya Hidayat. 2122 2123 Remove the dead wince/ directory that should never have gone in. 2124 2125 * svg/graphics/wince: Removed. 2126 * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed. 2127 21282009-08-06 Pavel Feldman <pfeldman@chromium.org> 2129 2130 Reviewed by Timothy Hatcher. 2131 2132 WebInspector: Extract style editing into a separate file that is 2133 going to be loaded in page context. 2134 2135 https://bugs.webkit.org/show_bug.cgi?id=27939 2136 2137 * inspector/front-end/InjectedScript.js: Added. 2138 (InjectedScript.applyStyleText): 2139 (InjectedScript.setStyleText): 2140 (InjectedScript.toggleStyleEnabled): 2141 (InjectedScript.setStyleRule): 2142 * inspector/front-end/StylesSidebarPane.js: 2143 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback): 2144 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 2145 (WebInspector.StylePropertyTreeElement.prototype.): 2146 (WebInspector.StylePropertyTreeElement.prototype): 2147 * inspector/front-end/WebKit.qrc: 2148 * inspector/front-end/inspector.html: 2149 21502009-08-06 Adam Barth <abarth@webkit.org> 2151 2152 Reviewed by David Levin. 2153 2154 [V8] Remove bug-bait V8Proxy::context() 2155 https://bugs.webkit.org/show_bug.cgi?id=27826 2156 2157 * bindings/v8/V8Proxy.cpp: 2158 (WebCore::V8Proxy::updateDocumentWrapperCache): 2159 (WebCore::V8Proxy::initContextIfNeeded): 2160 (WebCore::V8Proxy::mainWorldContext): 2161 * bindings/v8/V8Proxy.h: 2162 21632009-08-06 Adam Barth <abarth@webkit.org> 2164 2165 Unreviewed attempt to fix the Chromium Linux build. This function is 2166 not used. 2167 2168 * bindings/v8/OwnHandle.h: 2169 21702009-08-06 Adam Barth <abarth@webkit.org> 2171 2172 Reviewed by Eric Seidel. 2173 2174 [V8] Teach ScheduledAction::execute about isolated worlds 2175 https://bugs.webkit.org/show_bug.cgi?id=27703 2176 2177 We now save a weak handle to the original context. We use that handle 2178 to call the timeout in the right context / world. 2179 2180 Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html 2181 http/tests/security/isolatedWorld/window-setTimeout-string.html 2182 2183 * bindings/v8/ScheduledAction.cpp: 2184 (WebCore::ScheduledAction::ScheduledAction): 2185 (WebCore::ScheduledAction::execute): 2186 * bindings/v8/ScheduledAction.h: 2187 (WebCore::ScheduledAction::ScheduledAction): 2188 * bindings/v8/custom/V8DOMWindowCustom.cpp: 2189 (WebCore::V8Custom::WindowSetTimeoutImpl): 2190 * bindings/v8/custom/V8WorkerContextCustom.cpp: 2191 (WebCore::SetTimeoutOrInterval): 2192 21932009-08-05 Dimitri Glazkov <dglazkov@chromium.org> 2194 2195 Unreviewed, build fix. 2196 2197 [V8] Revert http://trac.webkit.org/changeset/46821, which was 2198 landed to supplement http://trac.webkit.org/changeset/46816, but 2199 now that the latter is reverted, the former needs the same. 2200 2201 * bindings/v8/DOMObjectsInclude.h: 2202 * bindings/v8/DerivedSourcesAllInOne.cpp: 2203 * bindings/v8/V8Index.cpp: 2204 * bindings/v8/V8Index.h: 2205 22062009-08-05 Joseph Pecoraro <joepeck02@gmail.com> 2207 2208 Reviewed by Timothy Hatcher. 2209 2210 Color is only reported in rgb() format; should toggle between rgb() and hex 2211 https://bugs.webkit.org/show_bug.cgi?id=13516 2212 2213 New Class to Parse and Change Between Color Representations: 2214 2215 * inspector/front-end/Color.js: Added. 2216 (WebInspector.Color): 2217 2218 Representations of Colors in Raw Form. (May be Lazy Loaded): 2219 2220 (WebInspector.Color.prototype.get shorthex): 2221 (WebInspector.Color.prototype.get hex): 2222 (WebInspector.Color.prototype.set hex): 2223 (WebInspector.Color.prototype.get rgb): 2224 (WebInspector.Color.prototype.set rgb): 2225 (WebInspector.Color.prototype.get hsl): 2226 (WebInspector.Color.prototype.set hsl): 2227 (WebInspector.Color.prototype.get nickname): 2228 (WebInspector.Color.prototype.set nickname): 2229 (WebInspector.Color.prototype.get rgba): 2230 (WebInspector.Color.prototype.set rgba): 2231 (WebInspector.Color.prototype.get hsla): 2232 (WebInspector.Color.prototype.set hsla): 2233 2234 Helpers and Standard String Representations: 2235 2236 (WebInspector.Color.prototype.hasShortHex): 2237 (WebInspector.Color.prototype.toRgb): 2238 (WebInspector.Color.prototype.toHsl): 2239 (WebInspector.Color.prototype.toShortHex): 2240 (WebInspector.Color.prototype.toHex): 2241 (WebInspector.Color.prototype.toRgba): 2242 (WebInspector.Color.prototype.toHsla): 2243 (WebInspector.Color.prototype.toNickname): 2244 2245 Conversion Functions to Determine Other Representations: 2246 My Sources for all algorithms and sample data: 2247 Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space 2248 CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color 2249 2250 (WebInspector.Color.prototype.rgbToHex): 2251 (WebInspector.Color.prototype.hexToRgb): 2252 (WebInspector.Color.prototype.rgbToHsl): 2253 (WebInspector.Color.prototype.hslToRgb.hueToRgb): 2254 (WebInspector.Color.prototype.hslToRgb): 2255 (WebInspector.Color.prototype.rgbaToHsla): 2256 (WebInspector.Color.prototype.hslaToRgba): 2257 2258 Called from the constructor, attempts to parse and will throw an error 2259 if it cannot parse. If simple then the "hex" value is guarenteed. 2260 If advanced then both the "rgba" and "hsla" are guarenteed. If it is 2261 a nickname in any way (e.g. "transparent", "black") then this is 2262 guarenteed to be set as well. 2263 2264 (WebInspector.Color.prototype.parse): 2265 2266 Clicking on the swatch will rotate through Color Representations. 2267 Simple: rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around) 2268 Advanced: rgba -> hsla -> nickname? -> (loop around) 2269 2270 * inspector/front-end/StylesSidebarPane.js: 2271 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.): 2272 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 2273 2274 Load Color.js: 2275 2276 * inspector/front-end/inspector.html: 2277 22782009-08-05 John Abd-El-Malek <jam@chromium.org> 2279 2280 Reviewed by Dimitri Glazkov. 2281 2282 Support setting event listeners for message ports in the worker process. 2283 2284 https://bugs.webkit.org/show_bug.cgi?id=28004 2285 2286 * bindings/v8/WorkerContextExecutionProxy.cpp: 2287 (WebCore::WorkerContextExecutionProxy::retrieve): 2288 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): 2289 * bindings/v8/WorkerContextExecutionProxy.h: 2290 * bindings/v8/custom/V8MessagePortCustom.cpp: 2291 (WebCore::getEventListener): 2292 (WebCore::ACCESSOR_SETTER): 2293 (WebCore::CALLBACK_FUNC_DECL): 2294 22952009-08-05 Stephen White <senorblanco@chromium.org> 2296 2297 Reviewed by Dimitri Glazkov. 2298 2299 http://bugs.webkit.org/show_bug.cgi?id=28022 2300 2301 Minor fix for media code on chromium/skia. 2302 2303 * rendering/RenderThemeChromiumSkia.cpp: 2304 (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): 2305 23062009-08-05 Darin Adler <darin@apple.com> 2307 2308 Reviewed by Dan Bernstein. 2309 2310 Client side image maps did not handle zoom correctly. 2311 Client side image maps did not handle border and padding correctly. 2312 2313 Test: fast/images/image-map-zoom.html 2314 2315 * rendering/RenderImage.cpp: 2316 (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map 2317 element using the content box and the effective zoom. 2318 23192009-08-05 Alexey Proskuryakov <ap@apple.com> 2320 2321 Reviewed by Oliver Hunt. 2322 2323 https://bugs.webkit.org/show_bug.cgi?id=28027 2324 <rdar://7064428> Files with accents in names are submitted incorrectly due to use of 2325 precomposed Unicode 2326 2327 * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from 2328 FileSystem.h instead of custom code for getting file size. This adds path normalization 2329 necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem 2330 important anyway. 2331 23322009-08-05 Dimitri Glazkov <dglazkov@chromium.org> 2333 2334 Unreviewed, build fix. 2335 2336 [V8] Include Media into V8 bindings. 2337 2338 * bindings/v8/DOMObjectsInclude.h: Added Media include. 2339 * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include. 2340 * bindings/v8/V8Index.cpp: Added decl for V8Media. 2341 * bindings/v8/V8Index.h: Added V8Media include. 2342 23432009-08-04 Jon Honeycutt <jhoneycutt@apple.com> 2344 2345 Fix Windows layout test crashes. 2346 2347 PluginView::removeFromUnstartedListIfNecessary() would try to remove 2348 any unstarted PluginView from the Page's set of unstarted plug-ins, 2349 regardless of why the PluginView wasn't started. If we tried to start a 2350 plug-in, but it failed to start, we would hit an assertion in 2351 Page::removeUnstartedPlugin() that asserts that we would only modify the 2352 unstarted plug-ins set if we were not currently starting plug-ins. 2353 2354 Fix this by having PluginView track whether it's waiting to be started, 2355 and to check this before trying to remove itself from the Page's 2356 unstarted plug-ins set. 2357 2358 Reviewed by Darin Adler. 2359 2360 * page/Page.cpp: 2361 (WebCore::Page::removeUnstartedPlugin): 2362 Assert that the passed PluginView is in the unstarted set. 2363 2364 * plugins/PluginView.cpp: 2365 (WebCore::PluginView::start): 2366 Set that we are not waiting to be started. 2367 (WebCore::PluginView::startOrAddtoUnstartedList): 2368 Set that we are waiting to be started. 2369 (WebCore::PluginView::removeFromUnstartedListIfNecessary): 2370 Check not whether we are started, but whether we are waiting to be 2371 started. 2372 (WebCore::PluginView::PluginView): 2373 2374 * plugins/PluginView.h: 2375 23762009-08-05 Jeremy Orlow <jorlow@chromium.org> 2377 2378 Fix DOM Storage memory leak 2379 https://bugs.webkit.org/show_bug.cgi?id=28029 2380 2381 Forgot to use adoptRef in one place. This caused the = operator to 2382 increment the ref count when it shouldn't have, so StorageAreaImpl's were 2383 never freed. 2384 2385 * storage/StorageNamespaceImpl.cpp: 2386 (WebCore::StorageNamespaceImpl::storageArea): 2387 23882009-08-05 Dimitri Glazkov <dglazkov@chromium.org> 2389 2390 Unreviewed, build fix. 2391 2392 [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted. 2393 2394 * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType. 2395 23962009-08-05 Darin Adler <darin@apple.com> 2397 2398 Reviewed by David Levin. 2399 2400 Use checked casts for render tree 2401 https://bugs.webkit.org/show_bug.cgi?id=23522 2402 2403 Last patch. Makes all the casts of RenderObject use checked 2404 casts instead of using static_cast directly. 2405 2406 * accessibility/AccessibilityListBox.cpp: 2407 (WebCore::AccessibilityListBox::visibleChildren): 2408 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 2409 * accessibility/AccessibilityListBoxOption.cpp: 2410 (WebCore::AccessibilityListBoxOption::elementRect): 2411 * accessibility/AccessibilityRenderObject.cpp: 2412 (WebCore::AccessibilityRenderObject::textUnderElement): 2413 (WebCore::AccessibilityRenderObject::stringValue): 2414 (WebCore::AccessibilityRenderObject::titleUIElement): 2415 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 2416 * accessibility/AccessibilitySlider.cpp: 2417 (WebCore::AccessibilitySliderThumb::elementRect): 2418 * dom/InputElement.cpp: 2419 (WebCore::InputElement::updatePlaceholderVisibility): 2420 * dom/SelectElement.cpp: 2421 (WebCore::SelectElement::scrollToSelection): 2422 (WebCore::SelectElement::recalcStyle): 2423 (WebCore::SelectElement::setRecalcListItems): 2424 (WebCore::SelectElement::menuListDefaultEventHandler): 2425 (WebCore::SelectElement::listBoxDefaultEventHandler): 2426 * editing/BreakBlockquoteCommand.cpp: 2427 (WebCore::BreakBlockquoteCommand::doApply): 2428 * html/HTMLAppletElement.cpp: 2429 (WebCore::HTMLAppletElement::renderWidgetForJSBindings): 2430 * html/HTMLCanvasElement.cpp: 2431 (WebCore::HTMLCanvasElement::reset): 2432 * html/HTMLEmbedElement.cpp: 2433 (WebCore::HTMLEmbedElement::updateWidget): 2434 * html/HTMLFrameElementBase.cpp: 2435 (WebCore::HTMLFrameElementBase::attach): 2436 * html/HTMLFrameSetElement.cpp: 2437 (WebCore::HTMLFrameSetElement::defaultEventHandler): 2438 * html/HTMLIFrameElement.cpp: 2439 (WebCore::HTMLIFrameElement::attach): 2440 * html/HTMLInputElement.cpp: 2441 (WebCore::HTMLInputElement::defaultEventHandler): 2442 (WebCore::HTMLInputElement::addSearchResult): 2443 (WebCore::HTMLInputElement::onSearch): 2444 * html/HTMLLIElement.cpp: 2445 (WebCore::HTMLLIElement::parseMappedAttribute): 2446 (WebCore::HTMLLIElement::attach): 2447 * html/HTMLMediaElement.cpp: 2448 (WebCore::HTMLMediaElement::setReadyState): 2449 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): 2450 (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): 2451 (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated): 2452 (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer): 2453 (WebCore::HTMLMediaElement::defaultEventHandler): 2454 (WebCore::HTMLMediaElement::finishParsingChildren): 2455 * html/HTMLOListElement.cpp: 2456 (WebCore::HTMLOListElement::parseMappedAttribute): 2457 * html/HTMLObjectElement.cpp: 2458 (WebCore::HTMLObjectElement::updateWidget): 2459 * html/HTMLTextAreaElement.cpp: 2460 (WebCore::HTMLTextAreaElement::defaultEventHandler): 2461 * page/DragController.cpp: 2462 (WebCore::DragController::concludeEditDrag): 2463 * page/EventHandler.cpp: 2464 (WebCore::EventHandler::selectCursor): 2465 (WebCore::EventHandler::capsLockStateMayHaveChanged): 2466 * page/Frame.cpp: 2467 (WebCore::Frame::ownerRenderer): 2468 * page/FrameView.cpp: 2469 (WebCore::FrameView::detachCustomScrollbars): 2470 * page/wince/FrameWince.cpp: 2471 (WebCore::computePageRectsForFrame): 2472 * rendering/InlineFlowBox.cpp: 2473 (WebCore::InlineFlowBox::placeBoxesHorizontally): 2474 * rendering/MediaControlElements.cpp: 2475 (WebCore::MediaControlTimelineElement::defaultEventHandler): 2476 * rendering/RenderBlockLineLayout.cpp: 2477 (WebCore::RenderBlock::findNextLineBreak): 2478 * rendering/RenderCounter.cpp: 2479 (WebCore::planCounter): 2480 * rendering/RenderFrameSet.cpp: 2481 (WebCore::RenderFrameSet::computeEdgeInfo): 2482 (WebCore::RenderFrameSet::setIsResizing): 2483 * rendering/RenderLayerBacking.cpp: 2484 (WebCore::RenderLayerBacking::contentsBox): 2485 * rendering/RenderLayerCompositor.cpp: 2486 (WebCore::RenderLayerCompositor::updateBacking): 2487 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 2488 * rendering/RenderListItem.cpp: 2489 (WebCore::previousListItem): 2490 (WebCore::RenderListItem::explicitValueChanged): 2491 * rendering/RenderObject.cpp: 2492 (WebCore::updateListMarkerNumbers): 2493 * rendering/RenderObjectChildList.cpp: 2494 (WebCore::updateListMarkerNumbers): 2495 (WebCore::invalidateCountersInContainer): 2496 * rendering/RenderScrollbarTheme.cpp: 2497 (WebCore::RenderScrollbarTheme::minimumThumbLength): 2498 (WebCore::RenderScrollbarTheme::backButtonRect): 2499 (WebCore::RenderScrollbarTheme::forwardButtonRect): 2500 (WebCore::RenderScrollbarTheme::trackRect): 2501 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): 2502 (WebCore::RenderScrollbarTheme::paintScrollbarBackground): 2503 (WebCore::RenderScrollbarTheme::paintTrackBackground): 2504 (WebCore::RenderScrollbarTheme::paintTrackPiece): 2505 (WebCore::RenderScrollbarTheme::paintButton): 2506 (WebCore::RenderScrollbarTheme::paintThumb): 2507 * rendering/RenderSlider.cpp: 2508 (WebCore::SliderThumbElement::defaultEventHandler): 2509 * rendering/RenderThemeChromiumMac.mm: 2510 (WebCore::RenderThemeChromiumMac::paintSliderThumb): 2511 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 2512 * rendering/RenderThemeChromiumWin.cpp: 2513 (WebCore::RenderThemeChromiumWin::determineSliderThumbState): 2514 * rendering/RenderThemeMac.mm: 2515 (WebCore::RenderThemeMac::paintSliderThumb): 2516 * rendering/RenderThemeSafari.cpp: 2517 (WebCore::RenderThemeSafari::paintSliderThumb): 2518 * rendering/RenderThemeWin.cpp: 2519 (WebCore::RenderThemeWin::determineSliderThumbState): 2520 * rendering/SVGCharacterLayoutInfo.cpp: 2521 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 2522 * rendering/SVGRootInlineBox.cpp: 2523 (WebCore::findSVGRootObject): 2524 * rendering/TextControlInnerElements.cpp: 2525 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): 2526 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): 2527 * svg/SVGImageElement.cpp: 2528 (WebCore::SVGImageElement::attach): 2529 * svg/SVGMarkerElement.cpp: 2530 (WebCore::SVGMarkerElement::canvasResource): 2531 * svg/SVGTextContentElement.cpp: 2532 (WebCore::rootInlineBoxForTextContentElement): 2533 * wml/WMLInputElement.cpp: 2534 (WebCore::WMLInputElement::defaultEventHandler): 2535 Use checked casts. 2536 2537 * rendering/RenderApplet.h: 2538 * rendering/RenderCounter.h: 2539 * rendering/RenderFieldset.h: 2540 * rendering/RenderFileUploadControl.h: 2541 * rendering/RenderFrame.h: 2542 * rendering/RenderFrameSet.h: 2543 * rendering/RenderHTMLCanvas.h: 2544 * rendering/RenderListBox.h: 2545 * rendering/RenderListItem.h: 2546 * rendering/RenderListMarker.h: 2547 * rendering/RenderMedia.h: 2548 * rendering/RenderMenuList.h: 2549 * rendering/RenderPart.h: 2550 * rendering/RenderPartObject.h: 2551 * rendering/RenderPath.h: 2552 * rendering/RenderSVGContainer.h: 2553 * rendering/RenderSVGRoot.h: 2554 * rendering/RenderSVGTextPath.h: 2555 * rendering/RenderSVGViewportContainer.h: 2556 * rendering/RenderScrollbar.h: 2557 * rendering/RenderSlider.h: 2558 * rendering/RenderTextControlMultiLine.h: 2559 * rendering/RenderTextControlSingleLine.h: 2560 * rendering/RenderVideo.h: 2561 Added a checked cast. Also made most members protected or private. 2562 2563 * rendering/RenderBlock.h: 2564 * rendering/RenderInline.h: 2565 * rendering/RenderReplaced.h: 2566 * rendering/RenderSVGBlock.h: 2567 * rendering/RenderSVGImage.h: 2568 * rendering/RenderSVGInlineText.h: 2569 * rendering/RenderSVGText.h: 2570 * rendering/RenderTextControl.h: 2571 Made most members protected or private. 2572 2573 * rendering/RenderInline.cpp: 2574 * rendering/RenderSVGContainer.cpp: 2575 * rendering/RenderSVGHiddenContainer.cpp: 2576 * rendering/RenderSVGImage.cpp: 2577 * rendering/RenderSVGRoot.cpp: 2578 Removed unneeded destructor. 2579 2580 * rendering/RenderSVGHiddenContainer.h: 2581 Removed unneeded virtual function overrides that did the same as 2582 the default and base class. 2583 2584 * rendering/RenderSVGViewportContainer.cpp: 2585 (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport 2586 directly instead of using a function call. 2587 (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto. 2588 (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto. 2589 (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto. 2590 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto. 2591 2592 * rendering/RenderScrollbar.cpp: 2593 (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for 2594 all values instead of using a default case. 2595 2596 * rendering/RenderTreeAsText.cpp: 2597 (WebCore::operator<<): Removed dependency on casting to types that don't 2598 have any public members we need to get at. Instead, use function names to 2599 identify the type rather than doing so much overloading. Changed to use 2600 checked casts. 2601 (WebCore::write): Ditto. 2602 2603 * rendering/SVGRenderSupport.cpp: 2604 (WebCore::renderSubtreeToImage): Changed to use a checked cast and also 2605 added a comment about the fact that the code does not do sufficient type 2606 checking before doing the cast. 2607 2608 * rendering/SVGRenderTreeAsText.cpp: 2609 (WebCore::writeRenderSVGTextBox): Renamed this from operator<<. 2610 (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText. 2611 (WebCore::writeSVGText): Renamed this from write. 2612 (WebCore::writeSVGInlineText): Ditto. 2613 (WebCore::writeSVGImage): Ditto. 2614 * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed 2615 unneeded default arguments. 2616 26172009-08-05 Peter Kasting <pkasting@google.com> 2618 2619 Reviewed by Sam Weinig. 2620 2621 https://bugs.webkit.org/show_bug.cgi?id=27851 2622 Fix a pair of compiler warnings on the GTK Linux buildbot. 2623 2624 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 2625 (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable. 2626 * platform/image-decoders/ico/ICOImageDecoder.cpp: 2627 (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned. 2628 26292009-08-05 Peter Kasting <pkasting@google.com> 2630 2631 Reviewed by Eric Seidel. 2632 2633 https://bugs.webkit.org/show_bug.cgi?id=26460 2634 Return multiple icon entries from the ICO decoder as separate frames, 2635 sorted by decreasing quality (much like the CG ICO decoder does). 2636 2637 As a result of this change, we can eliminate the Skia-specific setData() 2638 hack that the Chromium port used to select the desired icon size -- now 2639 callers can just enumerate the frames and ask for the data from the one 2640 they like. 2641 2642 Under the hood, the ICO decoder now keeps vectors for a number of things 2643 (including directory entries and image decoders) where it used to have 2644 single members. However, callers (that I have seen) will only request 2645 one frame from the icon, so practically there aren't going to be lots of 2646 instantiated image decoders. 2647 2648 * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it. 2649 * platform/graphics/cairo/ImageSourceCairo.cpp: 2650 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 2651 * platform/graphics/skia/ImageSourceSkia.cpp: 2652 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 2653 (WebCore::ImageSource::setData): Remove function to ask for a particular icon size. 2654 * platform/graphics/skia/ImageSourceSkia.h: Removed. 2655 * platform/graphics/wx/ImageSourceWx.cpp: 2656 (WebCore::createDecoder): Remove size argument from ICO decoder instantiation. 2657 * platform/image-decoders/ico/ICOImageDecoder.cpp: 2658 (WebCore::ICOImageDecoder::ICOImageDecoder): 2659 (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders. 2660 (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders. 2661 (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames. 2662 (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling. Otherwise, use size from icon directory instead of PNG decoder (if applicable). 2663 (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement. 2664 (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling. 2665 (WebCore::ICOImageDecoder::frameCount): Implement. 2666 (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames. 2667 (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries. 2668 (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder. 2669 (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces. 2670 (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode(). 2671 (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested. 2672 (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents. 2673 (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality. 2674 (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member. 2675 * platform/image-decoders/ico/ICOImageDecoder.h: 2676 26772009-08-05 Szabo Carol <carol.szabo@nokia.com> 2678 2679 Reviewed by Darin Adler. 2680 2681 https://bugs.webkit.org/show_bug.cgi?id=27942 2682 2683 Test: fast/forms/select-reset-multiple-selections-4-single-selection.html 2684 2685 * dom/SelectElement.cpp: 2686 (WebCore::SelectElement::reset): 2687 Added HTML 4.01 compliant handling of broken webpages that 2688 specify more than one selected option for single selection SELECT 2689 element, in a manner that emulates Firefox and is similar to IE 7 2690 2691 26922009-08-05 Andras Becsi <becsi.andras@stud.u-szeged.hu> 2693 2694 Reviewed by Simon Hausmann. 2695 2696 WebCore.pro bugfix 2697 2698 Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer. 2699 2700 * WebCore.pro: 2701 27022009-08-05 Chris Fleizach <cfleizach@apple.com> 2703 2704 Fix Tiger build breakage. 2705 2706 * accessibility/mac/AccessibilityObjectWrapper.mm: 2707 27082009-08-04 Simon Hausmann <hausmann@webkit.org> 2709 2710 Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp 2711 to both source files, HTMLTagNames.in and HTMLAttributeNames.in 2712 2713 * WebCore.pro: 2714 27152009-08-04 Brian Weinstein <bweinstein@apple.com> 2716 2717 Reviewed by Adele Peterson. 2718 2719 Keypress should exit from pan scrolling mode. 2720 https://bugs.webkit.org/show_bug.cgi?id=28005 2721 2722 Change the logic from only exiting pan scrolling on escape to exiting on any key press, 2723 making it easier for users to back out of an accidental pan scroll. 2724 2725 * page/EventHandler.cpp: 2726 (WebCore::EventHandler::keyEvent): 2727 27282009-08-04 Eric Seidel <eric@webkit.org> 2729 2730 Reviewed by Simon Fraser. 2731 2732 REGRESSION (r45064): Drop caret remains in text control after the mouse exits 2733 https://bugs.webkit.org/show_bug.cgi?id=26787 2734 2735 Add back missing dragController()->clear() call. 2736 2737 * manual-tests/drag-caret.html: Added. 2738 * page/DragController.cpp: 2739 (WebCore::DragController::tryDocumentDrag): 2740 27412009-08-04 Chris Fleizach <cfleizach@apple.com> 2742 2743 Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented 2744 https://bugs.webkit.org/show_bug.cgi?id=27994 2745 2746 Forgot to commit attribute names. 2747 2748 * html/HTMLAttributeNames.in: 2749 27502009-08-04 Chris Fleizach <cfleizach@apple.com> 2751 2752 Reviewed by Darin Adler. 2753 2754 Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented 2755 https://bugs.webkit.org/show_bug.cgi?id=27994 2756 2757 Test: platform/mac/accessibility/aria-valuetext.html 2758 2759 * accessibility/AccessibilityObject.h: 2760 (WebCore::AccessibilityObject::valueDescription): 2761 * accessibility/AccessibilityRenderObject.cpp: 2762 (WebCore::AccessibilityRenderObject::valueDescription): 2763 * accessibility/AccessibilityRenderObject.h: 2764 * accessibility/mac/AccessibilityObjectWrapper.mm: 2765 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2766 * html/HTMLAttributeNames.in: 2767 27682009-08-04 Michael Nordman <michaeln@google.com> 2769 2770 Reviewed by Alexey Proskuryakov. 2771 2772 https://bugs.webkit.org/show_bug.cgi?id=27821 2773 2774 No new features, no new tests. Existing layout tests pass. 2775 2776 * WebCore.base.exp: 2777 2778 Export AppliationCacheGroup::storeCopyOfCache 2779 2780 * WebCore.xcodeproj/project.pbxproj: 2781 2782 Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers 2783 instead of 'private' headers since they're no longer in the DocumentLoader.h 2784 include graph. 2785 2786 * html/HTMLHtmlElement.cpp: 2787 (WebCore::HTMLHtmlElement::insertedIntoDocument): 2788 2789 Reinstate the test for manifest.isNull instead of .isEmtpty(). 2790 Added a FIXME to revisit once the spec gets clarified. 2791 2792 * loader/DocumentLoader.cpp: 2793 (WebCore::DocumentLoader::DocumentLoader): 2794 (WebCore::DocumentLoader::mainReceivedError): 2795 (WebCore::DocumentLoader::detachFromFrame): 2796 * loader/DocumentLoader.h: 2797 (WebCore::DocumentLoader::applicationCacheHost): 2798 2799 ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done 2800 for compile time friendliness, it results in a smaller include graph for files 2801 dependent on DocumentLoader.h. 2802 2803 * loader/FrameLoader.cpp: 2804 * loader/MainResourceLoader.cpp: 2805 * loader/ResourceLoader.cpp: 2806 2807 Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards. 2808 This was done for readability at the include site. The included files contain appropriate guards, 2809 so they're not needed at the include site. 2810 2811 * loader/appcache/ApplicationCacheGroup.cpp: 2812 (WebCore::ApplicationCacheGroup::selectCache): 2813 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 2814 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 2815 (WebCore::ApplicationCacheGroup::update): 2816 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 2817 (WebCore::ApplicationCacheGroup::manifestNotFound): 2818 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 2819 (WebCore::ApplicationCacheGroup::startLoadingEntry): 2820 (WebCore::CallCacheListenerTask::create): 2821 (WebCore::CallCacheListenerTask::performTask): 2822 (WebCore::CallCacheListenerTask::CallCacheListenerTask): 2823 (WebCore::ApplicationCacheGroup::postListenerTask): 2824 * loader/appcache/ApplicationCacheGroup.h: 2825 2826 Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache. 2827 2828 * loader/appcache/ApplicationCacheHost.cpp: 2829 (WebCore::ApplicationCacheHost::ApplicationCacheHost): 2830 (WebCore::ApplicationCacheHost::setDOMApplicationCache): 2831 (WebCore::ApplicationCacheHost::notifyEventListener): 2832 (WebCore::ApplicationCacheHost::status): 2833 * loader/appcache/ApplicationCacheHost.h: 2834 (WebCore::ApplicationCacheHost::): 2835 * loader/appcache/ApplicationCacheStorage.cpp: 2836 (WebCore::ApplicationCacheStorage::storeCopyOfCache): 2837 * loader/appcache/ApplicationCacheStorage.h: 2838 2839 Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods. 2840 2841 * loader/appcache/DOMApplicationCache.cpp: 2842 (WebCore::DOMApplicationCache::status): 2843 (WebCore::DOMApplicationCache::addEventListener): 2844 (WebCore::DOMApplicationCache::removeEventListener): 2845 (WebCore::DOMApplicationCache::callListener): 2846 (WebCore::DOMApplicationCache::toEventType): 2847 (WebCore::DOMApplicationCache::toEventID): 2848 * loader/appcache/DOMApplicationCache.h: 2849 (WebCore::DOMApplicationCache::setAttributeEventListener): 2850 (WebCore::DOMApplicationCache::getAttributeEventListener): 2851 (WebCore::DOMApplicationCache::clearAttributeEventListener): 2852 (WebCore::DOMApplicationCache::callEventListener): 2853 (WebCore::DOMApplicationCache::setOnchecking): 2854 (WebCore::DOMApplicationCache::onchecking): 2855 (WebCore::DOMApplicationCache::setOnerror): 2856 (WebCore::DOMApplicationCache::onerror): 2857 (WebCore::DOMApplicationCache::setOnnoupdate): 2858 (WebCore::DOMApplicationCache::onnoupdate): 2859 (WebCore::DOMApplicationCache::setOndownloading): 2860 (WebCore::DOMApplicationCache::ondownloading): 2861 (WebCore::DOMApplicationCache::setOnprogress): 2862 (WebCore::DOMApplicationCache::onprogress): 2863 (WebCore::DOMApplicationCache::setOnupdateready): 2864 (WebCore::DOMApplicationCache::onupdateready): 2865 (WebCore::DOMApplicationCache::setOncached): 2866 (WebCore::DOMApplicationCache::oncached): 2867 (WebCore::DOMApplicationCache::setOnobsolete): 2868 (WebCore::DOMApplicationCache::onobsolete): 2869 2870 Use ApplicationCachHost defined constants for Status and EventIDs. 2871 28722009-08-04 Nate Chapin <japhet@chromium.org> 2873 2874 Reviewed by Dimitri Glazkov. 2875 2876 Revert r46421 and r46769, which appear to have totally hosed the v8 bindings. 2877 2878 https://bugs.webkit.org/show_bug.cgi?id=27719 2879 2880 * bindings/v8/V8AbstractEventListener.cpp: Revert r46421. 2881 (WebCore::V8AbstractEventListener::invokeEventHandler): 2882 * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769. 2883 (WebCore::ACCESSOR_GETTER): 2884 28852009-08-04 Chris Fleizach <cfleizach@apple.com> 2886 2887 Reviewed by Darin Adler. 2888 2889 Bug 27993 - AXSliders are missing required attributes and actions 2890 https://bugs.webkit.org/show_bug.cgi?id=27993 2891 2892 Expose appropriate actions and attributes for sliders. 2893 2894 Test: platform/mac/accessibility/slider-supports-actions.html 2895 2896 * accessibility/AccessibilityObject.cpp: 2897 (WebCore::AccessibilityObject::orientation): 2898 * accessibility/AccessibilityObject.h: 2899 (WebCore::): 2900 * accessibility/AccessibilitySlider.cpp: 2901 (WebCore::AccessibilitySlider::orientation): 2902 * accessibility/AccessibilitySlider.h: 2903 * accessibility/mac/AccessibilityObjectWrapper.mm: 2904 (-[AccessibilityObjectWrapper accessibilityActionNames]): 2905 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 2906 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2907 29082009-08-04 Jian Li <jianli@chromium.org> 2909 2910 Reviewed by David Levin. 2911 2912 [V8] Fix an assert in WebCoreStringResource that causes worker script 2913 evaluation failed. 2914 https://bugs.webkit.org/show_bug.cgi?id=27996 2915 2916 The fix is to check for the same thread, instead of the main thread. 2917 This is because Chromium's workers use v8 in a single thread that is 2918 not the main thread. 2919 2920 * bindings/v8/V8Binding.cpp: 2921 (WebCore::WebCoreStringResource::WebCoreStringResource): 2922 (WebCore::WebCoreStringResource::~WebCoreStringResource): 2923 (WebCore::WebCoreStringResource::atomicString): 2924 29252009-08-04 Simon Fraser <simon.fraser@apple.com> 2926 2927 Reviewed by Dave Hyatt. 2928 2929 Add support for transitions/animations of text-indent. 2930 2931 Test: transitions/text-indent-transition.html 2932 2933 * page/animation/AnimationBase.cpp: 2934 (WebCore::ensurePropertyMap): 2935 29362009-08-04 Simon Fraser <simon.fraser@apple.com> 2937 2938 Reviewed by Dave Hyatt. 2939 2940 Add support for transitions of min- and max-width, and min- and max-height. 2941 https://bugs.webkit.org/show_bug.cgi?id=27990 2942 2943 Test: transitions/min-max-width-height-transitions.html 2944 2945 * page/animation/AnimationBase.cpp: 2946 (WebCore::ensurePropertyMap): 2947 29482009-08-04 Chris Fleizach <cfleizach@apple.com> 2949 2950 Reviewed by Darin Adler. 2951 2952 Bug 27964 - WAI-ARIA: radio button does not determine its label from text content 2953 https://bugs.webkit.org/show_bug.cgi?id=27964 2954 2955 ARIA radio buttons also need to use the text inside of them, like buttons and other roles. 2956 Also fixed an issue where an extra space was being appended to some ARIA labels. 2957 2958 Test: platform/mac/accessibility/aria-radiobutton-text.html 2959 2960 * accessibility/AccessibilityObject.h: 2961 (WebCore::AccessibilityObject::ariaAccessibilityName): 2962 * accessibility/AccessibilityRenderObject.cpp: 2963 (WebCore::AccessibilityRenderObject::ariaAccessibilityName): 2964 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): 2965 (WebCore::AccessibilityRenderObject::title): 2966 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): 2967 * accessibility/AccessibilityRenderObject.h: 2968 29692009-08-04 Nate Chapin <japhet@chromium.org> 2970 2971 Reviewed by Dimitri Glazkov. 2972 2973 Missed a place that expects window.event to be hidden when it shouldn't be. 2974 2975 https://bugs.webkit.org/show_bug.cgi?id=27719 2976 2977 * bindings/v8/custom/V8DOMWindowCustom.cpp: 2978 (WebCore::ACCESSOR_GETTER): window.event is no longer hidden. 2979 29802009-08-03 Chris Fleizach <cfleizach@apple.com> 2981 2982 Reviewed by Jon Honeycutt. 2983 2984 Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute. 2985 https://bugs.webkit.org/show_bug.cgi?id=27958 2986 2987 Test: platform/mac/accessibility/aria-required.html 2988 2989 * accessibility/AccessibilityObject.h: 2990 (WebCore::AccessibilityObject::isRequired): 2991 * accessibility/AccessibilityRenderObject.cpp: 2992 (WebCore::AccessibilityRenderObject::isRequired): 2993 * accessibility/AccessibilityRenderObject.h: 2994 * accessibility/mac/AccessibilityObjectWrapper.mm: 2995 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 2996 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2997 * html/HTMLAttributeNames.in: 2998 29992009-08-04 Jakub Wieczorek <faw217@gmail.com> 3000 3001 Reviewed by Simon Hausmann. 3002 3003 Add QWebPluginDatabase API to the Qt API. 3004 3005 https://bugs.webkit.org/show_bug.cgi?id=27651 3006 3007 * WebCore.pro: 3008 30092009-08-04 Ariya Hidayat <ariya.hidayat@nokia.com> 3010 3011 Reviewed by Adam Treat. 3012 3013 [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken 3014 (as it is the closest match) instead of CompositionMode_SourceOver. 3015 3016 * platform/graphics/qt/GraphicsContextQt.cpp: 3017 (WebCore::toQtCompositionMode): 3018 30192009-08-04 Christian Plesner Hansen <christian.plesner.hansen@gmail.com> 3020 3021 Reviewed by Adam Barth. 3022 3023 [v8] Fix crash when converting empty v8 string to atomic webkit string. 3024 https://bugs.webkit.org/show_bug.cgi?id=27975 3025 3026 collection-null-like-arguments.html tests for this. 3027 3028 * bindings/v8/V8Binding.cpp: 3029 (WebCore::v8StringToAtomicWebCoreString): 3030 30312009-08-04 Ryosuke Niwa <rniwa@webkit.org> 3032 3033 Reviewed by Eric Seidel. 3034 3035 selectionHasStyle needs clean up to fix Bug 27858 3036 https://bugs.webkit.org/show_bug.cgi?id=27865 3037 3038 This patch cleans up selectionStartHasStyle and selectionHasStyle. 3039 No test is added because the patch does not change any behavior. 3040 3041 * editing/ApplyStyleCommand.cpp: 3042 (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well 3043 * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle 3044 * editing/Editor.cpp: 3045 (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style. 3046 (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle 3047 (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState 3048 30492009-08-03 John Abd-El-Malek <jam@chromium.org> 3050 3051 Reviewed by David Levin. 3052 3053 Fix MessagePort construction in worker process. Also make the other object constructions match this. 3054 3055 https://bugs.webkit.org/show_bug.cgi?id=27906 3056 3057 * bindings/v8/V8DOMWrapper.cpp: 3058 (WebCore::V8DOMWrapper::convertToV8Object): 3059 * bindings/v8/V8Proxy.cpp: 3060 (WebCore::V8Proxy::setDOMException): 3061 * bindings/v8/WorkerContextExecutionProxy.cpp: 3062 (WebCore::WorkerContextExecutionProxy::ToV8Object): 3063 30642009-08-03 Christian Plesner Hansen <christian.plesner.hansen@gmail.com> 3065 3066 Reviewed by David Levin. 3067 3068 [V8] Cache atomic strings in externalized v8 strings 3069 https://bugs.webkit.org/show_bug.cgi?id=27762 3070 3071 * bindings/scripts/CodeGeneratorV8.pm: 3072 * bindings/v8/V8Binding.cpp: 3073 (WebCore::WebCoreStringResource::WebCoreStringResource): 3074 (WebCore::WebCoreStringResource::~WebCoreStringResource): 3075 (WebCore::WebCoreStringResource::data): 3076 (WebCore::WebCoreStringResource::length): 3077 (WebCore::WebCoreStringResource::webcoreString): 3078 (WebCore::WebCoreStringResource::atomicString): 3079 (WebCore::WebCoreStringResource::toStringResource): 3080 (WebCore::v8StringToWebCoreString): 3081 (WebCore::v8StringToAtomicWebCoreString): 3082 (WebCore::v8ValueToWebCoreString): 3083 (WebCore::v8ValueToAtomicWebCoreString): 3084 * bindings/v8/V8Binding.h: 3085 (WebCore::): 3086 * dom/Document.idl: 3087 30882009-08-03 Joseph Pecoraro <joepeck02@gmail.com> 3089 3090 Reviewed by Timothy Hatcher. 3091 3092 Inspector: DOM Storage Live Updating Should Not Affect Tabbing 3093 https://bugs.webkit.org/show_bug.cgi?id=27957 3094 3095 * inspector/front-end/DOMStorageDataGrid.js: 3096 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener 3097 (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener 3098 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener 3099 * inspector/front-end/DatabasesPanel.js: 3100 (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener 3101 31022009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com> 3103 3104 Reviewed by Eric Seidel. 3105 3106 [Qt] Consolidate common gcc flags to WebKit.pri 3107 https://bugs.webkit.org/show_bug.cgi?id=27934 3108 3109 * WebCore.pro: 3110 31112009-08-03 Jeremy Orlow <jorlow@chromium.org> 3112 3113 Reviewed by Darin Fisher. 3114 3115 Chromium code sometimes isn't sandboxed and needs to access the FS. 3116 https://bugs.webkit.org/show_bug.cgi?id=27954 3117 3118 These changes are the WebKit side of http://codereview.chromium.org/159778 which 3119 aims to make LocalStorage persistent. 3120 3121 This change runs all FileSystem routines through the ChromiumBridge so that 3122 WebKitClients can handle them if they choose to. For now, the only such client 3123 will be the one running in the browser process. 3124 3125 It also adds a method called sandboxEnabled to the Chromium bridge so that the 3126 SQLite file system code can shift its behavior depending on whether we're 3127 inside a sandbox or not. 3128 3129 * platform/chromium/ChromiumBridge.h: 3130 * platform/chromium/FileSystemChromium.cpp: 3131 (WebCore::deleteFile): 3132 (WebCore::deleteEmptyDirectory): 3133 (WebCore::getFileModificationTime): 3134 (WebCore::directoryName): 3135 (WebCore::pathByAppendingComponent): 3136 (WebCore::makeAllDirectories): 3137 (WebCore::fileExists): 3138 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 3139 (WebCore::SQLiteFileSystem::openDatabase): 3140 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 3141 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 3142 31432009-08-03 Alpha Lam <hclam@chromium.org> 3144 3145 Reviewed by David Levin. 3146 3147 [chromium] Implement media slider for chromium 3148 https://bugs.webkit.org/show_bug.cgi?id=27859 3149 3150 Implemented the media slider for chromium port. The implementation 3151 is using Skia for drawing the thumb and buffered region instead of 3152 using any native system controls so different platforms would have 3153 the same look and feel. 3154 3155 No new tests because this is covered by existing tests. 3156 3157 * css/mediaControlsChromium.css: 3158 * rendering/RenderThemeChromiumSkia.cpp: 3159 * rendering/RenderThemeChromiumSkia.h: 3160 * rendering/RenderThemeChromiumWin.cpp: 3161 31622009-07-27 Peter Kasting <pkasting@google.com> 3163 3164 Reviewed by Eric Seidel. 3165 3166 https://bugs.webkit.org/show_bug.cgi?id=26460 3167 Plumbing and cleanup in advance of returning multiple frames from the 3168 ICOImageDecoder: 3169 * Make ImageDecoder::frameCount() return a size_t like 3170 ImageSource::frameCount() and BitmapImage::frameCount() already do. 3171 * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the 3172 size of a particular frame. Hook all the 3173 ImageSource::frameSizeAtIndex() implementations to this. No 3174 ImageDecoder implements this yet; that will come in my next change. 3175 3176 * platform/graphics/cairo/ImageSourceCairo.cpp: 3177 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 3178 * platform/graphics/qt/ImageDecoderQt.cpp: 3179 (WebCore::ImageDecoderQt::frameCount): returns size_t. 3180 * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t. 3181 * platform/graphics/qt/ImageSourceQt.cpp: 3182 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 3183 * platform/graphics/skia/ImageSourceSkia.cpp: 3184 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 3185 * platform/graphics/win/ImageCGWin.cpp: 3186 (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t. 3187 * platform/graphics/win/ImageCairoWin.cpp: 3188 (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t. 3189 * platform/graphics/wx/ImageSourceWx.cpp: 3190 (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function. 3191 * platform/image-decoders/ImageDecoder.h: 3192 (WebCore::ImageDecoder::size): Clarify comment. 3193 (WebCore::ImageDecoder::frameSizeAtIndex): Add. 3194 (WebCore::ImageDecoder::frameCount): returns size_t. 3195 (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name. 3196 * platform/image-decoders/gif/GIFImageDecoder.cpp: 3197 (WebCore::GIFImageDecoder::frameCount): returns size_t. 3198 (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t. 3199 * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t. 3200 32012009-08-03 Dumitru Daniliuc <dumi@chromium.org> 3202 3203 Reviewed by Darin Adler. 3204 3205 Fix a bug that could cause an ASSERT to fail incorrectly, leading 3206 to a renderer crash in Chromium. 3207 3208 https://bugs.webkit.org/show_bug.cgi?id=27947 3209 3210 All tests in storage/ pass. 3211 3212 * platform/sql/SQLiteTransaction.cpp: 3213 (WebCore::SQLiteTransaction::~SQLiteTransaction): 3214 (WebCore::SQLiteTransaction::begin): 3215 32162009-08-03 Kenneth Rohde Christiansen <kenneth@webkit.org> 3217 3218 Reviewed by Simon Hausmann. 3219 3220 Based on work by Yael Aharon. 3221 3222 Implement keyboard event forwarding for windowless plugins 3223 for the Qt port. 3224 3225 * plugins/qt/PluginViewQt.cpp: 3226 (WebCore::PluginView::dispatchNPEvent): 3227 (WebCore::setSharedXEventFields): 3228 (WebCore::setXKeyEventSpecificFields): 3229 (WebCore::PluginView::handleKeyboardEvent): 3230 (WebCore::PluginView::handleMouseEvent): 3231 32322009-08-03 Joseph Pecoraro <joepeck02@gmail.com> 3233 3234 Reviewed by Timothy Hatcher. 3235 3236 Inspector: Make Bottom "Drawer" More Extensible To Support Other Views 3237 https://bugs.webkit.org/show_bug.cgi?id=27928 3238 3239 * English.lproj/localizedStrings.js: 3240 3241 "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes" 3242 3243 * inspector/front-end/ChangesView.js: Added. 3244 (WebInspector.ChangesView): 3245 (WebInspector.ChangesView.prototype._clearButtonClicked): 3246 (WebInspector.ChangesView.prototype._toggleChangesButtonClicked): 3247 (WebInspector.ChangesView.prototype.attach): 3248 (WebInspector.ChangesView.prototype.show): 3249 (WebInspector.ChangesView.prototype.hide): 3250 3251 To be a new view to show Changes made via the inspector. DOM, CSS, or otherwise. 3252 3253 * inspector/front-end/Console.js: Removed. 3254 3255 Sliding View aspect moved to Drawer.js. The "console" itself has moved to ConsoleView.js 3256 3257 * inspector/front-end/ConsoleView.js: Added. 3258 3259 Little has changed from its move from Console.js other then support for working with the Drawer. 3260 3261 * inspector/front-end/Drawer.js: Added. 3262 (WebInspector.Drawer): 3263 (WebInspector.Drawer.prototype.get visibleView): 3264 (WebInspector.Drawer.prototype.set visibleView): 3265 (WebInspector.Drawer.prototype.show.animationFinished): 3266 (WebInspector.Drawer.prototype.show): 3267 (WebInspector.Drawer.prototype.hide.animationFinished): 3268 (WebInspector.Drawer.prototype.hide): 3269 (WebInspector.Drawer.prototype._safelyRemoveChildren): 3270 (WebInspector.Drawer.prototype._startStatusBarDragging): 3271 (WebInspector.Drawer.prototype._statusBarDragging): 3272 (WebInspector.Drawer.prototype._endStatusBarDragging): 3273 3274 Allow for multiple views inside the Sliding Drawer. 3275 3276 * inspector/front-end/ElementsPanel.js: 3277 (WebInspector.ElementsPanel): 3278 (WebInspector.ElementsPanel.prototype.renameSelector): 3279 (WebInspector.ElementsPanel.prototype.addStyleChange): 3280 (WebInspector.ElementsPanel.prototype.removeStyleChange): 3281 (WebInspector.ElementsPanel.prototype.generateStylesheet): 3282 3283 Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector. 3284 3285 * inspector/front-end/Images/styleIcon.png: Added. 3286 3287 * inspector/front-end/StylesSidebarPane.js: 3288 (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet): 3289 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 3290 (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): 3291 (WebInspector.StylePropertyTreeElement.prototype): 3292 3293 Interface with ElementsPanel for generating a Stylesheet of Changes. 3294 3295 * inspector/front-end/WebKit.qrc: 3296 * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer. 3297 * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer. 3298 3299 * inspector/front-end/inspector.js: 3300 (WebInspector.get styleChanges): 3301 (WebInspector.set styleChanges): 3302 (WebInspector._updateChangesCount): 3303 (WebInspector.loaded): 3304 (WebInspector.documentKeyDown): 3305 (WebInspector.showConsole): 3306 (WebInspector.showChanges): 3307 3308 Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons. 3309 33102009-08-03 Dean McNamee <deanm@chromium.org> 3311 3312 Reviewed by Adam Barth. 3313 3314 Correct an assert on a PassRefPtr in the v8 svg bindings. 3315 https://bugs.webkit.org/show_bug.cgi?id=27951 3316 3317 * bindings/v8/V8SVGPODTypeWrapper.h: 3318 (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper): 3319 33202009-08-03 Dirk Pranke <dpranke@chromium.org> 3321 3322 Reviewed by Sam Weinig. 3323 3324 Fix for https://bugs.webkit.org/show_bug.cgi?id=27748 3325 crash w/ stack overflow when same CSS file loaded repeatedly 3326 3327 Fix crash caused by a stack overflow when repeatedly loading very large 3328 CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 3329 recursively rather than iteratively. 3330 3331 Test: fast/css/large-list-of-rules-crash.html 3332 3333 * css/CSSStyleSelector.h: 3334 (WebCore::CSSRuleData::~CSSRuleData): 3335 (WebCore::CSSRuleDataList::~CSSRuleDataList): 3336 33372009-08-03 Simon Fraser <simon.fraser@apple.com> 3338 3339 Reviewed by Dan Bernstein. 3340 3341 Make the DRT APIs to pause transitions and animations work for accelerated animations 3342 <https://bugs.webkit.org/show_bug.cgi?id=27627> 3343 <rdar://problem/6442932> 3344 3345 Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs 3346 available to LayoutTests to work with accelerated animations and transitions. Done by sending 3347 the pause time down to the GraphicsLayer, and using it to stop time on the layer. 3348 3349 I also added an assertion to check that the animation has actually started when we 3350 try to pause it, to check that the pause time we compute is valid. This revealed a number 3351 of tests that tried to pause before animations started, required some amount of test fixing. 3352 3353 * page/animation/AnimationBase.cpp: 3354 (WebCore::AnimationBase::freezeAtTime): 3355 * page/animation/AnimationBase.h: 3356 * page/animation/CompositeAnimation.cpp: 3357 (WebCore::CompositeAnimation::pauseAnimationAtTime): 3358 (WebCore::CompositeAnimation::pauseTransitionAtTime): 3359 * platform/graphics/GraphicsLayer.cpp: 3360 (WebCore::GraphicsLayer::suspendAnimations): 3361 * platform/graphics/GraphicsLayer.h: 3362 * platform/graphics/mac/GraphicsLayerCA.h: 3363 * platform/graphics/mac/GraphicsLayerCA.mm: 3364 (WebCore::GraphicsLayerCA::suspendAnimations): 3365 * rendering/RenderLayerBacking.cpp: 3366 (WebCore::RenderLayerBacking::suspendAnimations): 3367 * rendering/RenderLayerBacking.h: 3368 33692009-08-03 Tony Chang <tony@chromium.org> 3370 3371 Reviewed by Darin Adler. 3372 3373 Fix Chromium build by removing PluginView.h from Page.cpp. 3374 Chromium doesn't use PluginView and the pointer is never 3375 dereferenced so the header doesn't need to be included. 3376 https://bugs.webkit.org/show_bug.cgi?id=27946 3377 3378 No new tests because this is a build fix. 3379 3380 * page/Page.cpp: 3381 33822009-08-03 Eric Carlson <eric.carlson@apple.com> 3383 3384 One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720. 3385 3386 Unreviewed. 3387 3388 * WebCoreSources.bkl: 3389 33902009-08-03 Eric Carlson <eric.carlson@apple.com> 3391 3392 Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720. 3393 3394 Unreviewed. 3395 3396 * GNUmakefile.am: 3397 * WebCore.gypi: 3398 * WebCore.pro: 3399 * WebCore.vcproj/WebCore.vcproj: 3400 34012009-08-03 Chris Fleizach <cfleizach@apple.com> 3402 3403 Reviewed by Darin Adler. 3404 3405 Bug 27943: Need to implement ARIA role="radiogroup" 3406 https://bugs.webkit.org/show_bug.cgi?id=27943 3407 3408 Test: platform/mac/accessibility/aria-radiogroup.html 3409 3410 * accessibility/AccessibilityObject.h: 3411 (WebCore::AccessibilityObject::isRadioGroup): 3412 (WebCore::AccessibilityObject::selectedRadioButton): 3413 * accessibility/AccessibilityRenderObject.cpp: 3414 (WebCore::AccessibilityRenderObject::selectedRadioButton): 3415 (WebCore::RoleEntry::): 3416 * accessibility/AccessibilityRenderObject.h: 3417 * accessibility/mac/AccessibilityObjectWrapper.mm: 3418 (-[AccessibilityObjectWrapper roleDescription]): 3419 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 3420 34212009-08-03 Eric Carlson <eric.carlson@apple.com> 3422 3423 Reviewed by Eric Seidel. 3424 3425 HTMLInputElement is not controllable by assistive technologies 3426 https://bugs.webkit.org/show_bug.cgi?id=27941 3427 3428 Test: accessibility/input-slider.html 3429 3430 * WebCore.xcodeproj/project.pbxproj: 3431 Add AccessibilitySlider.cpp/.h 3432 3433 * accessibility/AXObjectCache.cpp: 3434 (WebCore::AXObjectCache::getOrCreate): 3435 Create AccessibilitySlider and AccessibilitySliderThumb. 3436 3437 * accessibility/AccessibilityObject.h: 3438 (WebCore::AccessibilityObject::increment): 3439 (WebCore::AccessibilityObject::decrement): 3440 Add default, do nothing, base class methods. 3441 3442 * accessibility/AccessibilityRenderObject.cpp: 3443 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 3444 Correct typo. 3445 3446 * accessibility/AccessibilitySlider.cpp: Added. 3447 (WebCore::AccessibilitySlider::AccessibilitySlider): 3448 (WebCore::AccessibilitySlider::create): 3449 (WebCore::AccessibilitySlider::children): 3450 (WebCore::AccessibilitySlider::addChildren): 3451 (WebCore::AccessibilitySlider::getAttribute): 3452 (WebCore::AccessibilitySlider::valueForRange): 3453 (WebCore::AccessibilitySlider::maxValueForRange): 3454 (WebCore::AccessibilitySlider::minValueForRange): 3455 (WebCore::AccessibilitySlider::changeValue): 3456 (WebCore::AccessibilitySlider::setValue): 3457 (WebCore::AccessibilitySlider::increment): 3458 (WebCore::AccessibilitySlider::decrement): 3459 (WebCore::AccessibilitySlider::element): 3460 (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb): 3461 (WebCore::AccessibilitySliderThumb::create): 3462 (WebCore::AccessibilitySliderThumb::elementRect): 3463 (WebCore::AccessibilitySliderThumb::size): 3464 * accessibility/AccessibilitySlider.h: Added. 3465 (WebCore::AccessibilitySlider::~AccessibilitySlider): 3466 (WebCore::AccessibilitySlider::roleValue): 3467 (WebCore::AccessibilitySlider::accessibilityIsIgnored): 3468 (WebCore::AccessibilitySlider::isSlider): 3469 (WebCore::AccessibilitySlider::canSetValueAttribute): 3470 (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb): 3471 (WebCore::AccessibilitySliderThumb::roleValue): 3472 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): 3473 (WebCore::AccessibilitySliderThumb::setParentObject): 3474 (WebCore::AccessibilitySliderThumb::parentObject): 3475 3476 * accessibility/mac/AccessibilityObjectWrapper.mm: 3477 (RoleEntry::): 3478 SliderThumbRole -> NSAccessibilityValueIndicatorRole 3479 (-[AccessibilityObjectWrapper roleDescription]): 3480 Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole. 3481 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 3482 Minor coding style correction. 3483 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): 3484 If attachement view handles press action, don't also call object wrapper. 3485 (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]): 3486 New, call object's increment() method. 3487 (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]): 3488 New, call object's decrement() method. 3489 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 3490 Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction. 3491 3492 * rendering/RenderSlider.cpp: 3493 (WebCore::RenderSlider::thumbRect): 3494 Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size. 3495 (WebCore::RenderSlider::layout): 3496 Move code to thumbRect(). 3497 * rendering/RenderSlider.h: 3498 34992009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com> 3500 3501 Reviewed by Eric Seidel. 3502 3503 Build fix if Netscape plugin support is turned off 3504 https://bugs.webkit.org/show_bug.cgi?id=27940 3505 3506 * plugins/PluginView.cpp: 3507 (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is 3508 disabled 3509 * plugins/PluginViewNone.cpp: 3510 (WebCore::PluginView::platformStart): Empty stub. 3511 35122009-07-31 Joe Mason <joe.mason@torchmobile.com> 3513 3514 Reviewed by George Staikos. 3515 3516 WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE 3517 https://bugs.webkit.org/show_bug.cgi?id=27917 3518 3519 * plugins/win/PluginPackageWin.cpp: 3520 (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx 3521 35222009-08-02 Adam Barth <abarth@webkit.org> 3523 Reviewed by Darin Adler. 3524 3525 SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext() 3526 3527 https://bugs.webkit.org/show_bug.cgi?id=27932 3528 3529 There's no reason to pay for a virtual function call in this case. We 3530 can just call document() directly because we know that element is a 3531 Node*. 3532 3533 * svg/SVGElementInstance.cpp: 3534 (WebCore::SVGElementInstance::scriptExecutionContext): 3535 35362009-08-02 Adam Barth <abarth@webkit.org> 3537 3538 Reviewed by Darin Adler. 3539 3540 JSNodeCustom should call document() instead of scriptExecutionContext() 3541 https://bugs.webkit.org/show_bug.cgi?id=27931 3542 3543 We want to call document() because it's in inline function, instead of 3544 scriptExecutionContext() because it's a virtual function. If we have a 3545 Node*, then we know that the virtual function will always return the 3546 document anyway. 3547 3548 There are more instance of this bug, but I'd like to start with a small 3549 patch and work up. 3550 3551 * bindings/js/JSDOMGlobalObject.cpp: 3552 (WebCore::toJSDOMGlobalObject): 3553 * bindings/js/JSDOMGlobalObject.h: 3554 * bindings/js/JSNodeCustom.cpp: 3555 (WebCore::JSNode::addEventListener): 3556 (WebCore::JSNode::removeEventListener): 3557 35582009-08-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3559 3560 Reviewed by Anders Carlsson. 3561 3562 Share implementation of PluginView::userAgent() and userAgentStatic() 3563 3564 https://bugs.webkit.org/show_bug.cgi?id=27706 3565 3566 Differences to the original implementation are as follows: 3567 3568 - The Win port used to return 0 for userAgentStatic, but now 3569 returns the quirk mode MozillaUserAgent as the other ports. 3570 3571 * plugins/PluginView.cpp: 3572 (WebCore::PluginView::userAgent): 3573 (WebCore::PluginView::userAgentStatic): 3574 * plugins/PluginViewNone.cpp: 3575 * plugins/gtk/PluginViewGtk.cpp: 3576 * plugins/mac/PluginViewMac.cpp: 3577 * plugins/qt/PluginViewQt.cpp: 3578 * plugins/win/PluginViewWin.cpp: 3579 35802009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3581 3582 Reviewed by Anders Carlsson. 3583 3584 Unregister plugin from PluginMainThreadScheduler if NPP_New fails 3585 3586 https://bugs.webkit.org/show_bug.cgi?id=27706 3587 3588 Since the plugin has not been started yet (m_isStarted is not set), 3589 calling stop() will not have any affect, so we manually unregister 3590 in start() before returning. 3591 3592 * plugins/PluginView.cpp: 3593 (WebCore::PluginView::start): 3594 35952009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3596 3597 Reviewed by Anders Carlsson. 3598 3599 Join the various versions of PluginView::stop() into one shared implementation 3600 3601 https://bugs.webkit.org/show_bug.cgi?id=27706 3602 3603 The platform-dependent bits are now ifdef'ed in the shared implementation, 3604 using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h 3605 3606 Differences to the original implementation are as follows: 3607 3608 - The Qt port unregistered the plugin before calling NP_SetWindow 3609 with a 0 window handle. Now it's done after (similar to Win) 3610 3611 - The GTK and Qt ports unregistered the plugin before clearing 3612 the m_npWindow.ws_info struct. Now it's done after. 3613 3614 - The Win port constructed the DropAllLocks after unsubclassing 3615 the window. Now it's done before. 3616 3617 - The Mac, Qt, and GTK ports did not pass a NPSavedData struct 3618 to NP_Destroy (like the Win port). Now all ports do. 3619 3620 - The Win port did not call PluginView::setCurrentPluginView() 3621 before calling to NP-functions. Now it does. 3622 3623 * plugins/PluginView.cpp: 3624 * plugins/PluginViewNone.cpp: 3625 * plugins/gtk/PluginViewGtk.cpp: 3626 * plugins/mac/PluginViewMac.cpp: 3627 * plugins/qt/PluginViewQt.cpp: 3628 * plugins/win/PluginViewWin.cpp: 3629 36302009-07-30 Joseph Pecoraro <joepeck02@gmail.com> 3631 3632 Reviewed by Timothy Hatcher. 3633 3634 Inspector: let me *edit* css styles in the web inspector. 3635 https://bugs.webkit.org/show_bug.cgi?id=27124 3636 3637 * English.lproj/localizedStrings.js: 3638 * inspector/front-end/ElementsPanel.js: 3639 (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed 3640 * inspector/front-end/StylesSidebarPane.js: 3641 (WebInspector.StylesSidebarPane.prototype.update): handle blank sections 3642 (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position 3643 (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node 3644 (WebInspector.StylePropertiesSection): 3645 (WebInspector.StylePropertiesSection.prototype.expand): 3646 (WebInspector.StylePropertiesSection.prototype.isPropertyInherited): 3647 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 3648 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): 3649 (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties 3650 (WebInspector.StylePropertiesSection.prototype._dblclickSelector): 3651 (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors 3652 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 3653 (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): 3654 (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node 3655 (WebInspector.BlankStylePropertiesSection.prototype._dblclick): 3656 (WebInspector.BlankStylePropertiesSection.prototype.startEditing): 3657 (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled): 3658 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted): 3659 (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection 3660 (WebInspector.StylePropertyTreeElement.prototype): 3661 (WebInspector.StylePropertyTreeElement.prototype.): 3662 * inspector/front-end/inspector.css: 3663 36642009-07-31 Anton Muhin <antonm@chromium.org> 3665 3666 Reviewed by Adam Barth. 3667 3668 [v8] check if proxy is present before invoking a handler 3669 https://bugs.webkit.org/show_bug.cgi?id=27883 3670 3671 Do not invoke handler function if proxy is null pointer (that would lead to access violation 3672 anyway) 3673 3674 * bindings/v8/custom/V8CustomEventListener.cpp: 3675 (WebCore::V8EventListener::callListenerFunction): 3676 36772009-08-01 Pavel Feldman <pfeldman@chromium.org> 3678 3679 Reviewed by Timothy Hatcher. 3680 3681 Web Inspector: Reimplement Elements Panel so that its 3682 interaction with DOM is serialized. 3683 3684 This is a first cut wuth read support for DOM elements 3685 tree as well as some limited editing. No properties, no 3686 styles, no search capabilities are implemented yet. 3687 Set Preferences.useDOMAgent to true in order to try it 3688 out, otherwise disabled by default. 3689 3690 https://bugs.webkit.org/show_bug.cgi?id=27771 3691 3692 * GNUmakefile.am: 3693 * WebCore.gypi: 3694 * WebCore.pro: 3695 * WebCore.vcproj/WebCore.vcproj: 3696 * WebCore.xcodeproj/project.pbxproj: 3697 * WebCoreSources.bkl: 3698 * inspector/InspectorBackend.cpp: 3699 (WebCore::InspectorBackend::getChildNodes): 3700 (WebCore::InspectorBackend::setAttribute): 3701 (WebCore::InspectorBackend::removeAttribute): 3702 (WebCore::InspectorBackend::setTextNodeValue): 3703 * inspector/InspectorBackend.h: 3704 * inspector/InspectorBackend.idl: 3705 * inspector/InspectorController.cpp: 3706 (WebCore::InspectorController::windowScriptObjectAvailable): 3707 (WebCore::InspectorController::setFrontendProxyObject): 3708 (WebCore::InspectorController::close): 3709 (WebCore::InspectorController::populateScriptObjects): 3710 (WebCore::InspectorController::didCommitLoad): 3711 * inspector/InspectorController.h: 3712 (WebCore::InspectorController::domAgent): 3713 * inspector/InspectorDOMAgent.cpp: Added. 3714 * inspector/InspectorDOMAgent.h: Added. 3715 * inspector/InspectorFrontend.cpp: 3716 * inspector/InspectorFrontend.h: 3717 * inspector/front-end/Callback.js: Added. 3718 * inspector/front-end/DOMAgent.js: Added. 3719 * inspector/front-end/ElementsPanel.js: 3720 * inspector/front-end/WebKit.qrc: 3721 * inspector/front-end/inspector.html: 3722 * inspector/front-end/inspector.js: 3723 (WebInspector.loaded): 3724 37252009-08-01 Ryosuke Niwa <rniwa@webkit.org> 3726 3727 Reviewed by Adele Peterson. 3728 3729 isContentEditable function in htmlediting.* must be removed 3730 https://bugs.webkit.org/show_bug.cgi?id=27870 3731 3732 This patch removes isContentEditable function in htmlediting.cpp and 3733 replaces all usage by calling Node::isContentEditable or its derivatives. 3734 3735 * editing/AppendNodeCommand.cpp: ditto 3736 (WebCore::AppendNodeCommand::AppendNodeCommand): ditto 3737 * editing/IndentOutdentCommand.cpp: ditto 3738 (WebCore::IndentOutdentCommand::outdentParagraph): ditto 3739 * editing/InsertNodeBeforeCommand.cpp: ditto 3740 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto 3741 * editing/htmlediting.cpp: ditto 3742 (WebCore::enclosingNodeWithTag): ditto 3743 (WebCore::enclosingNodeOfType): ditto 3744 (WebCore::canMergeLists): ditto 3745 * editing/htmlediting.h: Updated prototype 3746 37472009-08-01 John Abd-El-Malek <jam@chromium.org> 3748 3749 Reviewed by Adam Barth. 3750 3751 Fix a message port handle always getting marked as reachable once it gets entangled. 3752 3753 https://bugs.webkit.org/show_bug.cgi?id=27824 3754 3755 No tests since this only arises with the Chromium multi-process message port implementation 3756 which isn't in this repostiory. 3757 3758 * bindings/v8/V8GCController.cpp: 3759 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 3760 37612009-07-31 Yong Li <yong.li@torchmobile.com> 3762 3763 Reviewed by Adam Barth. 3764 3765 Fix Geolocation permission problem 3766 https://bugs.webkit.org/show_bug.cgi?id=26993 3767 3768 * page/Geolocation.cpp: 3769 (WebCore::Geolocation::requestPermission): 3770 37712009-07-31 Norbert Leser <norbert.leser@nokia.com> 3772 3773 Reviewed by Eric Seidel. 3774 3775 Added project properties as needed by symbian platform 3776 3777 * WebCore.pro: 3778 37792009-07-31 Xan Lopez <xlopez@igalia.com> 3780 3781 Reviewed by Holger Freyther. 3782 3783 Fix compiler warning. 3784 3785 Initialize member variables in the correct order. 3786 3787 * plugins/PluginView.cpp: 3788 (WebCore::PluginView::PluginView): 3789 37902009-07-31 Jon Honeycutt <jhoneycutt@apple.com> 3791 3792 Windows build fix! 3793 3794 Unreviewed. 3795 3796 * page/win/PageWin.cpp: 3797 37982009-07-31 Jon Honeycutt <jhoneycutt@apple.com> 3799 3800 Mac build fix. 3801 3802 Unreviewed. 3803 3804 * page/Page.cpp: 3805 Move setCanStartPlugins() from here... 3806 * page/win/PageWin.cpp: 3807 (WebCore::Page::setCanStartPlugins): 3808 ... to here. 3809 38102009-07-29 Jon Honeycutt <jhoneycutt@apple.com> 3811 3812 <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in 3813 background tabs (make Win consistent with Mac) 3814 3815 https://bugs.webkit.org/show_bug.cgi?id=27855 3816 3817 Reviewed by Anders Carlsson. 3818 3819 * loader/FrameLoaderClient.h: 3820 (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin): 3821 Declare a new function to dispatch failures to start plug-ins. 3822 3823 * page/Page.cpp: 3824 (WebCore::Page::Page): 3825 Initialize new member variable. 3826 (WebCore::Page::addUnstartedPlugin): 3827 Add the PluginView to the set of unstarted plug-ins. 3828 (WebCore::Page::removeUnstartedPlugin): 3829 Remove the PluginView from the set of unstarted plug-ins. 3830 (WebCore::Page::setCanStartPlugins): 3831 If we can now start plug-ins, iterate the set of unstarted plug-ins, 3832 starting them. If a plug-in fails to start, dispatch a failed-to-start- 3833 plug-in error. Clear the list of unstarted plug-ins. 3834 3835 * page/Page.h: 3836 Added m_canStartPlugins to track whether we can currently start 3837 plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the 3838 page that are waiting to be started. 3839 (WebCore::Page::canStartPlugins): 3840 3841 * plugins/PluginView.cpp: 3842 (WebCore::PluginView::start): 3843 m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New() 3844 fails, set m_status to reflect this; this used to be set by init(), but 3845 start() will not be called by init() if we are delaying start(). 3846 If NPP_New() succeeds, set m_status to reflect this, and call 3847 platformStart(). 3848 (WebCore::PluginView::startOrAddToUnstartedList): 3849 If we cannot start plug-ins, add this view to the Page's list of 3850 unstarted plug-ins and return true. Otherwise, call start() and return 3851 the result. 3852 (WebCore::PluginView::removeFromUnstartedListIfNecessary): 3853 If we've been started or we don't have a Page, return early. Remove 3854 ourselves from the Page's list of unstarted plug-ins. 3855 (WebCore::PluginView::bindingInstance): 3856 If we haven't been started yet, return 0. This matches the Mac 3857 behavior. 3858 (WebCore::PluginView::setParameters): 3859 If we find the "plug-ins page" parameter, record it; it may be used if 3860 we fail to start the plug-in. 3861 (WebCore::PluginView::PluginView): 3862 Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType 3863 with mimeType directly; m_mimeType is now a WebCore::String. 3864 3865 * plugins/PluginView.h: 3866 Made start() public, so Page can call it when we start unstarted 3867 plug-ins. Changed m_mimeType from CString to String and added 3868 m_pluginsPage; these are needed by dispatchDidFailToStartPlugin(). 3869 (WebCore::PluginView::pluginsPage): 3870 Added for dispatchDidFailToStartPlugin(). 3871 (WebCore::PluginView::mimeType): 3872 Ditto. 3873 (WebCore::PluginView::url): 3874 Ditto. 3875 3876 * plugins/gtk/PluginViewGtk.cpp: 3877 (WebCore::PluginView::platformStart): 3878 Stubbed. 3879 3880 * plugins/mac/PluginViewMac.cpp: 3881 (WebCore::PluginView::platformStart): 3882 Stubbed. 3883 3884 * plugins/qt/PluginViewQt.cpp: 3885 (WebCore::PluginView::platformStart): 3886 Stubbed. 3887 3888 * plugins/win/PluginViewWin.cpp: 3889 (WebCore::PluginView::updatePluginWidget): 3890 Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow() 3891 and SetWindowRgn() to position the plug-in and set its clip rect if an 3892 earlier call to updatePluginWidget() was made before 3893 setPlatformPluginWidget() was called to set the plug-in's HWND. 3894 (WebCore::PluginView::~PluginView): 3895 Call removeFromUnstartedListIfNecessary() to remove the plug-in from 3896 the unstarted list if the plug-in is destroyed before it is started. 3897 (WebCore::PluginView::init): 3898 Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins 3899 cannot be started, to add it to the list of plug-ins waiting to be 3900 started. Set m_status to indicate success; this is also set by start(), 3901 but that may be delayed, and we don't want the loader to dispatch a 3902 failed-to-start-plug-in error when we return from init(). 3903 (WebCore::PluginView::platformStart): 3904 Added; code moved from init(). This is now called by start() to perform 3905 any platform-specific tasks that need to take place after the plug-in 3906 has started. Added a call to updatePluginWidget() to ensure we position 3907 the plug-in and set its clip rect after the plug-in has started. 3908 Removed the setting of m_status; start() does this before calling this 3909 function (and we assert this at the head of the function). 3910 39112009-07-30 Darin Adler <darin@apple.com> 3912 3913 Reviewed by David Levin. 3914 3915 Use checked casts for render tree 3916 https://bugs.webkit.org/show_bug.cgi?id=23522 3917 3918 Next step: Add casts for all the RenderTable classes and use them everywhere. 3919 3920 Also added a few uses in places that were still using static_cast. 3921 Also made some virtual member functions private. 3922 Also changed RenderTable::m_tableLayout to use OwnPtr. 3923 3924 * accessibility/AccessibilityTable.cpp: 3925 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 3926 (WebCore::AccessibilityTable::addChildren): 3927 (WebCore::AccessibilityTable::cellForColumnAndRow): 3928 * accessibility/AccessibilityTableCell.cpp: 3929 (WebCore::AccessibilityTableCell::parentTable): 3930 (WebCore::AccessibilityTableCell::rowIndexRange): 3931 (WebCore::AccessibilityTableCell::columnIndexRange): 3932 (WebCore::AccessibilityTableCell::titleUIElement): 3933 * accessibility/AccessibilityTableColumn.cpp: 3934 (WebCore::AccessibilityTableColumn::headerObject): 3935 * accessibility/AccessibilityTableRow.cpp: 3936 (WebCore::AccessibilityTableRow::parentTable): 3937 * editing/DeleteSelectionCommand.cpp: 3938 (WebCore::DeleteSelectionCommand::removeNode): 3939 * editing/TextIterator.cpp: 3940 (WebCore::shouldEmitTabBeforeNode): 3941 (WebCore::shouldEmitNewlinesBeforeAndAfterNode): 3942 * html/HTMLTableCellElement.cpp: 3943 (WebCore::HTMLTableCellElement::parseMappedAttribute): 3944 * html/HTMLTableColElement.cpp: 3945 (WebCore::HTMLTableColElement::parseMappedAttribute): 3946 * page/Frame.cpp: 3947 (WebCore::Frame::searchForLabelsAboveCell): 3948 * page/mac/FrameMac.mm: 3949 (WebCore::Frame::searchForNSLabelsAboveCell): 3950 * rendering/AutoTableLayout.cpp: 3951 (WebCore::AutoTableLayout::recalcColumn): 3952 (WebCore::AutoTableLayout::fullRecalc): 3953 (WebCore::shouldScaleColumns): 3954 * rendering/FixedTableLayout.cpp: 3955 (WebCore::FixedTableLayout::calcWidthArray): 3956 * rendering/RenderBlock.cpp: 3957 (WebCore::RenderBlock::calcPrefWidths): 3958 * rendering/RenderBox.cpp: 3959 (WebCore::RenderBox::calcPercentageHeight): 3960 * rendering/RenderObject.cpp: 3961 (WebCore::RenderObject::addChild): 3962 (WebCore::RenderObject::containingBlock): 3963 * rendering/RenderTableCell.cpp: 3964 (WebCore::RenderTableCell::collapsedBottomBorder): 3965 * rendering/RenderTableCol.cpp: 3966 (WebCore::RenderTableCol::table): 3967 * rendering/RenderTableRow.cpp: 3968 (WebCore::RenderTableRow::addChild): 3969 (WebCore::RenderTableRow::layout): 3970 (WebCore::RenderTableRow::paint): 3971 * rendering/RenderTableSection.cpp: 3972 (WebCore::RenderTableSection::addChild): 3973 (WebCore::RenderTableSection::layoutRows): 3974 (WebCore::RenderTableSection::lowestPosition): 3975 (WebCore::RenderTableSection::rightmostPosition): 3976 (WebCore::RenderTableSection::leftmostPosition): 3977 (WebCore::RenderTableSection::paintObject): 3978 (WebCore::RenderTableSection::recalcCells): 3979 * rendering/RenderTreeAsText.cpp: 3980 (WebCore::operator<<): 3981 (WebCore::writeTextRun): 3982 Use checked casts. 3983 3984 * rendering/RenderTable.cpp: 3985 (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr. 3986 (WebCore::RenderTable::addChild): Use checked cast. 3987 (WebCore::RenderTable::layout): Ditto. 3988 (WebCore::RenderTable::setCellWidths): Ditto. 3989 (WebCore::RenderTable::paintObject): Ditto. 3990 (WebCore::RenderTable::splitColumn): Ditto. 3991 (WebCore::RenderTable::appendColumn): Ditto. 3992 (WebCore::RenderTable::colElement): Ditto. 3993 (WebCore::RenderTable::recalcSections): Ditto. 3994 (WebCore::RenderTable::outerBorderBottom): Ditto. 3995 (WebCore::RenderTable::outerBorderLeft): Ditto. 3996 (WebCore::RenderTable::outerBorderRight): Ditto. 3997 (WebCore::RenderTable::sectionAbove): Ditto. 3998 (WebCore::RenderTable::sectionBelow): Ditto. 3999 4000 * rendering/RenderTable.h: Added checked cast. Made virtual 4001 functions private. Changed m_tableLayout to be a OwnPtr. 4002 4003 * rendering/RenderTableCell.h: Added checked cast. 4004 * rendering/RenderTableCol.h: Ditto. Made virtual functions private. 4005 * rendering/RenderTableRow.h: Ditto. 4006 * rendering/RenderTableSection.h: Ditto. 4007 40082009-07-31 Brady Eidson <beidson@apple.com> 4009 4010 Reviewed by John Sullivan. 4011 4012 <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896 4013 Favicons are still loaded when automatic image loading is disabled. 4014 4015 People who want to avoid loading images generally want to avoid loading all images. 4016 4017 Test: http/tests/misc/favicon-loads-with-images-disabled.html 4018 4019 * loader/FrameLoader.cpp: 4020 (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 4021 perform the load if images shouldn't be loading. 4022 40232009-07-31 Simon Fraser <simon.fraser@apple.com> 4024 4025 Reviewed by Anders Carlsson. 4026 4027 Accelerated animations stutter on pages with lots of animations and 3d transforms 4028 https://bugs.webkit.org/show_bug.cgi?id=27884 4029 4030 This patch changes the strategy for synchronizing painting view the view, 4031 and compositing layer updates. Previously the strategy was to disable screen 4032 updates between the time we updated the layer tree, and painted the view. That 4033 left screen updates disabled for too long (hundreds of milliseconds) in some 4034 cases, causing animation stutter. 4035 4036 The new strategy is to batch up changes to the CA layer tree, and commit them 4037 all at once just before painting happens (referred to as a "sync" in the code). 4038 GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates 4039 the values stored in GraphicsLayer into the CA layer tree at commit time. 4040 4041 Compositing layers are then synced in FrameView::paintContents(). However, not 4042 all style/layout changes will result in painting; to deal with style changes that 4043 touch only compositing properties, we set up a runloop observer that takes care 4044 of comitting layer changes when no painting happens. 4045 4046 * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive() 4047 4048 * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive() 4049 * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive() 4050 4051 * page/FrameView.h: 4052 * page/FrameView.cpp: 4053 (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the 4054 view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not 4055 sync and returns false, since we only want to sync when layout is done. 4056 4057 (WebCore::FrameView::paintContents): syncCompositingState() before painting. 4058 4059 * page/animation/KeyframeAnimation.cpp: 4060 (WebCore::KeyframeAnimation::endAnimation): 4061 Call animationPaused() to notify the graphics layers about animation pausing. 4062 4063 * platform/graphics/FloatPoint3D.h: 4064 (WebCore::operator==): 4065 (WebCore::operator!=): 4066 Add missing comparison operators. 4067 4068 * platform/graphics/GraphicsLayer.cpp: 4069 (WebCore::GraphicsLayer::setOpacity): 4070 (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info. 4071 4072 (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client. 4073 4074 * platform/graphics/GraphicsLayer.h: 4075 (WebCore::AnimationValue:): 4076 (WebCore::TransformAnimationValue:): 4077 (WebCore::KeyframeValueList:): 4078 (WebCore::KeyframeValueList::insert): 4079 Cleaned up versions of FloatValue and TransformValue, used to store information 4080 about keyframes values. 4081 4082 (WebCore::GraphicsLayer::contentsRect): 4083 (WebCore::GraphicsLayer::setContentsRect): 4084 ContentsRect is now a simple setter. 4085 4086 (WebCore::GraphicsLayer::addAnimation): 4087 (WebCore::GraphicsLayer::removeAnimationsForProperty): 4088 (WebCore::GraphicsLayer::removeAnimationsForKeyframes): 4089 (WebCore::GraphicsLayer::pauseAnimation): 4090 Simplified animation api. 4091 4092 (WebCore::GraphicsLayer::setGeometryOrientation): 4093 (WebCore::GraphicsLayer::geometryOrientation): 4094 setGeometryOrientation is now just a normal member variable. 4095 4096 (WebCore::GraphicsLayer::contentsOrientation): add a getter. 4097 (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code. 4098 4099 * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive) 4100 4101 * platform/graphics/mac/GraphicsLayerCA.h: 4102 * platform/graphics/mac/GraphicsLayerCA.mm: 4103 Lots of cleanup and refactoring. Main points: 4104 - Layer changes are all batched, and only committed to the CA layer on syncCompositingState(). 4105 - Bitmask is used to store which properties have changed. More efficient than before. 4106 - Simpler animation interface; simple setters are no longer confounded with animations. 4107 - Refactored code that creates CA animations, and stores which animations are running. 4108 4109 * platform/graphics/transforms/TransformOperations.h: 4110 (WebCore::TransformOperations::size): 4111 (WebCore::TransformOperations::at): Useful accessors for size and indexed access. 4112 4113 * rendering/RenderLayerBacking.h: 4114 * rendering/RenderLayerBacking.cpp: 4115 Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's 4116 contentsLayer. 4117 Adapt to GraphicsLayer's simpler animation API. 4118 Pass animation pausing through to the graphics layers. 4119 contentsBox() is no longer a callback via GraphicsLayerClient. 4120 4121 * rendering/RenderLayerCompositor.h: 4122 * rendering/RenderLayerCompositor.cpp: 4123 (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild): 4124 (WebCore::RenderLayerCompositor::scheduleSync): 4125 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 4126 scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync" 4127 notifications, which travel up to WebKit and set up a runloop observer. 4128 41292009-07-30 Jeremy Orlow <jorlow@chromium.org> 4130 4131 Reviewed by David Levin. 4132 4133 Guard needs //'s between #endif and ENABLE(DATAGRID) 4134 https://bugs.webkit.org/show_bug.cgi?id=27862 4135 4136 Compiling this file causes a build break without this change. 4137 4138 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 4139 41402009-07-31 Greg Bolsinga <bolsinga@apple.com> 4141 4142 Reviewed by Eric Seidel. 4143 4144 Geolocation clean up when no longer updating 4145 https://bugs.webkit.org/show_bug.cgi?id=27888 4146 4147 When Geolocation::disconnectFrame() is called, need to call 4148 Document::setUsingGeolocation(false) to mirror the true call 4149 when it is set up. 4150 4151 When handling an error, and there are no more listeners, call 4152 GeolocationService::stopUpdating(). 4153 4154 * page/Geolocation.cpp: 4155 (WebCore::Geolocation::disconnectFrame): 4156 (WebCore::Geolocation::handleError): 4157 41582009-07-31 Greg Bolsinga <bolsinga@apple.com> 4159 4160 Reviewed by George Staikos. 4161 4162 Consolidate GeoLocation code to send positions and errors 4163 https://bugs.webkit.org/show_bug.cgi?id=27863 4164 4165 Create helper methods that will send positions and errors to either 4166 one shots or watchers. 4167 4168 * page/Geolocation.cpp: 4169 (WebCore::Geolocation::sendError): 4170 (WebCore::Geolocation::sendErrorToOneShots): 4171 (WebCore::Geolocation::sendErrorToWatchers): 4172 (WebCore::Geolocation::sendPosition): 4173 (WebCore::Geolocation::sendPositionToOneShots): 4174 (WebCore::Geolocation::sendPositionToWatchers): 4175 * page/Geolocation.h: 4176 41772009-07-31 Xan Lopez <xlopez@igalia.com> 4178 4179 Roll out previous change as it might be causing some weirdness in 4180 the bots. 4181 4182 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 4183 (WebCore::BMPImageDecoder::processFileHeader): 4184 41852009-07-31 Xan Lopez <xlopez@igalia.com> 4186 4187 Reviewed by Mark Rowe. 4188 4189 Fix compiler warning. 4190 https://bugs.webkit.org/show_bug.cgi?id=27851 4191 4192 GCC does not like multi-character character constants, so use the 4193 explicit numerical value of 'BM' in the enum. 4194 4195 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 4196 (WebCore::BMPImageDecoder::processFileHeader): 4197 41982009-07-30 Brady Eidson <beidson@apple.com> 4199 4200 Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions. 4201 4202 <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868 4203 http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others. 4204 4205 Test: http/tests/misc/meta-refresh-stray-single-quote.html 4206 4207 * platform/network/HTTPParsers.cpp: 4208 (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string. 4209 42102009-07-30 Mark Rowe <mrowe@apple.com> 4211 4212 Reviewed by Adele Peterson and Jon Honeycutt. 4213 4214 Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac. 4215 Bug 27828: Title attribute is not respected on option elements 4216 4217 No tests added as it is not clear how to test a tool tip from DumpRenderTree. 4218 4219 * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item. 4220 * platform/mac/PopupMenuMac.mm: 4221 (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item. 4222 * rendering/RenderMenuList.cpp: 4223 (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip. 4224 * rendering/RenderMenuList.h: 4225 * rendering/RenderTextControlSingleLine.h: 4226 (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for 4227 the popup menu in RenderTextControlSingleLine. 4228 42292009-07-30 Xiaomei Ji <xji@chromium.org> 4230 4231 Reviewed by Dan Bernstein. 4232 4233 Remove ChromeClientChromium::setToolTip(). 4234 https://bugs.webkit.org/show_bug.cgi?id=27861 4235 4236 This patch is just to remove a temporarily introduced overloaded empty 4237 virtual function. No test is needed. 4238 4239 * page/chromium/ChromeClientChromium.h: 4240 42412009-07-30 Michael Nordman <michaeln@google.com> 4242 4243 Reviewed by Darin Fisher. 4244 4245 https://bugs.webkit.org/show_bug.cgi?id=27821 4246 4247 ApplicationCacheHost refactoring. 4248 4249 1) Better encapsulate the interfaces between webcore common code 4250 and the appcache system within a new class ApplicationCacheHost. 4251 4252 2) Use that interface throughout the loader system, replacing inline appcache logic. 4253 4254 3) Implement the interface in terms of webcore's appcache system. 4255 4256 4) Add the new files to various makefiles. 4257 4258 5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp 4259 4260 No new features, no new tests. The existing layout tests all pass. 4261 4262 * GNUmakefile.am: 4263 * WebCore.base.exp: 4264 * WebCore.gypi: 4265 * WebCore.pro: 4266 * WebCore.vcproj/WebCore.vcproj: 4267 * WebCore.xcodeproj/project.pbxproj: 4268 * WebCoreSources.bkl: 4269 * html/HTMLHtmlElement.cpp: 4270 (WebCore::HTMLHtmlElement::insertedIntoDocument): 4271 * loader/DocumentLoader.cpp: 4272 (WebCore::DocumentLoader::DocumentLoader): 4273 (WebCore::DocumentLoader::~DocumentLoader): 4274 (WebCore::DocumentLoader::mainReceivedError): 4275 (WebCore::DocumentLoader::detachFromFrame): 4276 (WebCore::DocumentLoader::setPrimaryLoadComplete): 4277 * loader/DocumentLoader.h: 4278 (WebCore::DocumentLoader::applicationCacheHost): 4279 * loader/FrameLoader.cpp: 4280 (WebCore::FrameLoader::canCachePageContainingThisFrame): 4281 (WebCore::FrameLoader::logCanCacheFrameDecision): 4282 (WebCore::FrameLoader::loadResourceSynchronously): 4283 * loader/MainResourceLoader.cpp: 4284 (WebCore::MainResourceLoader::didReceiveResponse): 4285 (WebCore::MainResourceLoader::didReceiveData): 4286 (WebCore::MainResourceLoader::didFinishLoading): 4287 (WebCore::MainResourceLoader::didFail): 4288 (WebCore::MainResourceLoader::load): 4289 * loader/MainResourceLoader.h: 4290 * loader/ResourceLoader.cpp: 4291 (WebCore::ResourceLoader::load): 4292 (WebCore::ResourceLoader::willSendRequest): 4293 (WebCore::ResourceLoader::didReceiveResponse): 4294 (WebCore::ResourceLoader::didFail): 4295 * loader/ResourceLoader.h: 4296 * loader/appcache/ApplicationCacheGroup.cpp: 4297 (WebCore::ApplicationCacheGroup::selectCache): 4298 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 4299 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 4300 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 4301 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): 4302 (WebCore::ApplicationCacheGroup::update): 4303 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 4304 (WebCore::ApplicationCacheGroup::manifestNotFound): 4305 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 4306 (WebCore::ApplicationCacheGroup::startLoadingEntry): 4307 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): 4308 (WebCore::CallCacheListenerTask::create): 4309 (WebCore::CallCacheListenerTask::performTask): 4310 (WebCore::CallCacheListenerTask::CallCacheListenerTask): 4311 (WebCore::ApplicationCacheGroup::postListenerTask): 4312 * loader/appcache/ApplicationCacheGroup.h: 4313 * loader/appcache/ApplicationCacheHost.cpp: Added. 4314 * loader/appcache/ApplicationCacheHost.h: Added. 4315 * loader/appcache/ApplicationCacheStorage.cpp: 4316 (WebCore::ApplicationCacheStorage::transferApplicationCache): 4317 * loader/appcache/ApplicationCacheStorage.h: 4318 * loader/appcache/DOMApplicationCache.cpp: 4319 (WebCore::DOMApplicationCache::DOMApplicationCache): 4320 (WebCore::DOMApplicationCache::disconnectFrame): 4321 (WebCore::DOMApplicationCache::applicationCacheHost): 4322 (WebCore::DOMApplicationCache::status): 4323 (WebCore::DOMApplicationCache::update): 4324 (WebCore::DOMApplicationCache::swapCache): 4325 (WebCore::DOMApplicationCache::addEventListener): 4326 (WebCore::DOMApplicationCache::removeEventListener): 4327 (WebCore::DOMApplicationCache::dispatchEvent): 4328 (WebCore::DOMApplicationCache::callListener): 4329 (WebCore::DOMApplicationCache::toEventName): 4330 (WebCore::DOMApplicationCache::toEventType): 4331 * loader/appcache/DOMApplicationCache.h: 4332 (WebCore::DOMApplicationCache::): 4333 (WebCore::DOMApplicationCache::setAttributeEventListener): 4334 (WebCore::DOMApplicationCache::getAttributeEventListener): 4335 (WebCore::DOMApplicationCache::clearAttributeEventListener): 4336 (WebCore::DOMApplicationCache::callEventListener): 4337 (WebCore::DOMApplicationCache::setOnchecking): 4338 (WebCore::DOMApplicationCache::onchecking): 4339 (WebCore::DOMApplicationCache::setOnerror): 4340 (WebCore::DOMApplicationCache::onerror): 4341 (WebCore::DOMApplicationCache::setOnnoupdate): 4342 (WebCore::DOMApplicationCache::onnoupdate): 4343 (WebCore::DOMApplicationCache::setOndownloading): 4344 (WebCore::DOMApplicationCache::ondownloading): 4345 (WebCore::DOMApplicationCache::setOnprogress): 4346 (WebCore::DOMApplicationCache::onprogress): 4347 (WebCore::DOMApplicationCache::setOnupdateready): 4348 (WebCore::DOMApplicationCache::onupdateready): 4349 (WebCore::DOMApplicationCache::setOncached): 4350 (WebCore::DOMApplicationCache::oncached): 4351 (WebCore::DOMApplicationCache::setOnobsolete): 4352 (WebCore::DOMApplicationCache::onobsolete): 4353 (WebCore::DOMApplicationCache::~DOMApplicationCache): 4354 * platform/KURLGoogle.cpp: 4355 (WebCore::protocolHostAndPortAreEqual): 4356 43572009-07-30 Chris Fleizach <cfleizach@apple.com> 4358 4359 Reviewed by Darin Adler. 4360 4361 Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired 4362 https://bugs.webkit.org/show_bug.cgi?id=27854 4363 4364 AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise 4365 they can disappear and then lead to crashes. 4366 4367 * accessibility/AXObjectCache.cpp: 4368 (WebCore::AXObjectCache::notificationPostTimerFired): 4369 (WebCore::AXObjectCache::postNotification): 4370 * accessibility/AXObjectCache.h: 4371 43722009-07-30 Simon Fraser <simon.fraser@apple.com> 4373 4374 Minor change to earlier commit suggested by Darin Adler. 4375 Use the variable rather than dereferencing 'it' again. 4376 4377 * css/CSSStyleSelector.cpp: 4378 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 4379 43802009-07-30 Simon Fraser <simon.fraser@apple.com> 4381 4382 Reviewed by Dan Bernstein. 4383 4384 Animation with a timing function property in a keyframe eats CPU 4385 https://bugs.webkit.org/show_bug.cgi?id=27856 4386 <rdar://problem/7104476> Animation demo uses lots of CPU 4387 4388 Don't include animation-timing-function in the list of properties to 4389 animate in a keyframe animation, because this property is not animated; 4390 instead, it describes the timing function to apply to this keyframe. 4391 4392 This prevents the animation code from thinking that there's a property 4393 that it has to software-animate, and thus firing the animation timer frequently. 4394 4395 Not testable because there is no visible impact. 4396 4397 * css/CSSStyleSelector.cpp: 4398 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add 4399 CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate. 4400 4401 * page/animation/KeyframeAnimation.cpp 4402 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment 4403 44042009-07-30 Mike Fenton <mike.fenton@torchmobile.com> 4405 4406 Reviewed by Adam Treat. 4407 4408 Apply colour style to buttons that use Theme settings in Qt. 4409 4410 https://bugs.webkit.org/show_bug.cgi?id=27814 4411 4412 * platform/qt/RenderThemeQt.cpp: 4413 (WebCore::RenderThemeQt::adjustButtonStyle): 4414 4415=== End merge of nitro-extreme branch 2009-07-30 === 4416 44172009-05-11 Geoffrey Garen <ggaren@apple.com> 4418 4419 Reviewed by Sam Weinig. 4420 4421 Make WebCore compile with the new JS number representation. 4422 4423 * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added. 4424 * ForwardingHeaders/runtime/JSNumberCell.h: Removed. 4425 * bindings/js/ScriptEventListener.cpp: 4426 * bindings/scripts/CodeGeneratorJS.pm: 4427 * bridge/c/c_instance.cpp: 4428 4429=== Start merge of nitro-extreme branch 2009-07-30 === 4430 44312009-07-30 Dean McNamee <deanm@chromium.org> 4432 4433 Reviewed by Dimitri Glazkov. 4434 4435 Don't try to hash member function pointers, instead use a precomputed value based on the field. 4436 https://bugs.webkit.org/show_bug.cgi?id=27843 4437 4438 * bindings/scripts/CodeGeneratorV8.pm: 4439 * bindings/v8/V8SVGPODTypeWrapper.h: 4440 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo): 4441 (WebCore::PODTypeWrapperCacheInfo::operator==): 4442 (WebCore::PODTypeWrapperCacheInfoHash::hash): 4443 (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 4444 44452009-07-30 Xan Lopez <xlopez@igalia.com> 4446 4447 Reviewed by Simon Fraser. 4448 4449 Fix compiler warning. 4450 4451 * dom/SelectElement.cpp: 4452 (WebCore::SelectElement::menuListDefaultEventHandler): 4453 44542009-07-29 Matt Perry <mpcomplete@chromium.org> 4455 4456 Reviewed by Adam Barth. 4457 4458 Add a way to register V8 extensions for Isolated Worlds only. 4459 https://bugs.webkit.org/show_bug.cgi?id=27785 4460 4461 * bindings/v8/ScriptController.cpp: 4462 (WebCore::ScriptController::evaluateInNewWorld): 4463 (WebCore::ScriptController::evaluateInNewContext): 4464 * bindings/v8/ScriptController.h: 4465 * bindings/v8/V8IsolatedWorld.cpp: 4466 (WebCore::V8IsolatedWorld::evaluate): 4467 * bindings/v8/V8IsolatedWorld.h: 4468 * bindings/v8/V8Proxy.cpp: 4469 (WebCore::V8Proxy::evaluateInNewWorld): 4470 (WebCore::V8Proxy::evaluateInNewContext): 4471 (WebCore::V8Proxy::createNewContext): 4472 (WebCore::V8Proxy::initContextIfNeeded): 4473 (WebCore::V8Proxy::registerExtensionWithV8): 4474 (WebCore::V8Proxy::registerExtension): 4475 * bindings/v8/V8Proxy.h: 4476 44772009-07-30 Mike Fenton <mike.fenton@torchmobile.com> 4478 4479 Reviewed by Adam Treat. 4480 4481 Add previously defined out support to PopupMenuQt for marking entries as 4482 disabled and for selecting the desired item. 4483 4484 https://bugs.webkit.org/show_bug.cgi?id=27772 4485 4486 * platform/qt/PopupMenuQt.cpp: 4487 (WebCore::PopupMenu::populate): 4488 44892009-07-30 Darin Adler <darin@apple.com> 4490 4491 Reviewed by David Levin. 4492 4493 Use checked casts for render tree 4494 https://bugs.webkit.org/show_bug.cgi?id=23522 4495 4496 Next step: Add new toRenderWidget cast and use it everywhere. 4497 4498 Use checked casts in all the places that were using static_cast 4499 but there is a checked cast available. 4500 4501 * accessibility/AccessibilityRenderObject.cpp: 4502 (WebCore::AccessibilityRenderObject::stringValue): 4503 (WebCore::AccessibilityRenderObject::widget): 4504 (WebCore::AccessibilityRenderObject::widgetForAttachmentView): 4505 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 4506 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 4507 (getPangoLayoutForAtk): 4508 * dom/Document.cpp: 4509 (WebCore::widgetForNode): 4510 (WebCore::Document::setFocusedNode): 4511 * html/HTMLEmbedElement.cpp: 4512 (WebCore::findWidgetRenderer): 4513 * html/HTMLMediaElement.cpp: 4514 (WebCore::HTMLMediaElement::defaultEventHandler): 4515 * html/HTMLObjectElement.cpp: 4516 (WebCore::HTMLObjectElement::renderWidgetForJSBindings): 4517 * html/HTMLPlugInElement.cpp: 4518 (WebCore::HTMLPlugInElement::defaultEventHandler): 4519 * loader/FrameLoader.cpp: 4520 (WebCore::FrameLoader::loadSubframe): 4521 * loader/PluginDocument.cpp: 4522 (WebCore::PluginTokenizer::writeRawData): 4523 * page/EventHandler.cpp: 4524 (WebCore::EventHandler::hitTestResultAtPoint): 4525 (WebCore::subframeForTargetNode): 4526 (WebCore::EventHandler::handleWheelEvent): 4527 * page/Frame.cpp: 4528 (WebCore::isFrameElement): 4529 * page/PrintContext.cpp: 4530 (WebCore::PrintContext::computePageRects): 4531 * page/android/EventHandlerAndroid.cpp: 4532 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4533 * page/chromium/EventHandlerChromium.cpp: 4534 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4535 * page/chromium/FrameChromium.cpp: 4536 (WebCore::computePageRectsForFrame): 4537 * page/gtk/EventHandlerGtk.cpp: 4538 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4539 * page/haiku/EventHandlerHaiku.cpp: 4540 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4541 * page/mac/EventHandlerMac.mm: 4542 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4543 (WebCore::EventHandler::passSubframeEventToSubframe): 4544 * page/win/FrameWin.cpp: 4545 (WebCore::computePageRectsForFrame): 4546 * page/wx/EventHandlerWx.cpp: 4547 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 4548 * platform/chromium/ClipboardChromium.cpp: 4549 (WebCore::getCachedImage): 4550 * platform/chromium/PasteboardChromium.cpp: 4551 (WebCore::Pasteboard::writeImage): 4552 * platform/gtk/PasteboardGtk.cpp: 4553 (WebCore::Pasteboard::writeImage): 4554 * platform/mac/PasteboardMac.mm: 4555 (WebCore::Pasteboard::writeImage): 4556 * platform/qt/ClipboardQt.cpp: 4557 (WebCore::getCachedImage): 4558 * platform/qt/PasteboardQt.cpp: 4559 (WebCore::Pasteboard::writeImage): 4560 * platform/win/ClipboardWin.cpp: 4561 (WebCore::getCachedImage): 4562 * platform/win/PasteboardWin.cpp: 4563 (WebCore::Pasteboard::writeImage): 4564 * rendering/InlineBox.h: 4565 (WebCore::InlineBox::boxModelObject): 4566 * rendering/RenderInline.cpp: 4567 (WebCore::RenderInline::splitInlines): 4568 (WebCore::RenderInline::addChildToContinuation): 4569 * rendering/RenderLayerBacking.cpp: 4570 (WebCore::RenderLayerBacking::updateImageContents): 4571 * rendering/TextControlInnerElements.cpp: 4572 (WebCore::RenderTextControlInnerBlock::positionForPoint): 4573 Use checked cast instead of static_cast. 4574 4575 * rendering/RenderWidget.h: Added toRenderWidget. 4576 45772009-07-30 Yong Li <yong.li@torchmobile.com> 4578 4579 Reviewed by George Staikos. 4580 4581 WINCE PORT: some files modified to build for WINCE 4582 https://bugs.webkit.org/show_bug.cgi?id=27816 4583 4584 * accessibility/AccessibilityObject.h: 4585 * page/win/EventHandlerWin.cpp: 4586 (WebCore::EventHandler::createDraggingClipboard): 4587 * platform/win/PlatformMouseEventWin.cpp: 4588 (WebCore::messageToEventType): 4589 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 4590 * platform/win/PlatformScreenWin.cpp: 4591 (WebCore::deviceInfoForWidget): 4592 (WebCore::screenIsMonochrome): 4593 * platform/win/PopupMenuWin.cpp: 4594 (WebCore::PopupMenu::show): 4595 (WebCore::PopupMenu::paint): 4596 (WebCore::registerPopup): 4597 (WebCore::PopupWndProc): 4598 45992009-07-30 Yong Li <yong.li@torchmobile.com> 4600 4601 Reviewed by George Staikos. 4602 4603 WINCE PORT: modified graphics files 4604 https://bugs.webkit.org/show_bug.cgi?id=27779 4605 4606 * platform/graphics/BitmapImage.h: 4607 (WebCore::BitmapImage::mayFillWithSolidColor): 4608 * platform/graphics/Gradient.h: 4609 * platform/graphics/GraphicsContext.cpp: 4610 * platform/graphics/GraphicsContext.h: 4611 * platform/graphics/ImageSource.h: 4612 * platform/graphics/MediaPlayer.cpp: 4613 * platform/graphics/Path.h: 4614 * platform/graphics/Pattern.h: 4615 * platform/graphics/transforms/Matrix3DTransformOperation.cpp: 4616 (WebCore::Matrix3DTransformOperation::blend): 4617 * platform/graphics/transforms/MatrixTransformOperation.cpp: 4618 (WebCore::MatrixTransformOperation::blend): 4619 * platform/graphics/transforms/TransformationMatrix.h: 4620 (WebCore::TransformationMatrix::operator*): 4621 * platform/graphics/win/IconWin.cpp: 4622 (WebCore::Icon::createIconForFile): 4623 (WebCore::Icon::createIconForFiles): 4624 (WebCore::Icon::paint): 4625 46262009-07-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 4627 4628 Reviewed by Ariya Hidayat. 4629 4630 Improve efficiency by rewriting code doing three hash table 4631 lookups, which can be replaced by just one as pointed out 4632 by Darin Adler. 4633 4634 Though being slightly less clear, this should be considerable 4635 faster. 4636 4637 * plugins/PluginDatabase.cpp: 4638 (WebCore::PluginDatabase::remove): 4639 46402009-07-30 Antonio Gomes <antonio.gomes@openbossa.org> 4641 4642 Reviewed by Gustavo Noronha. 4643 4644 [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2) 4645 https://bugs.webkit.org/show_bug.cgi?id=27651 4646 4647 Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead. 4648 4649 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 4650 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 4651 46522009-07-30 Antonio Gomes <antonio.gomes@openbossa.org> 4653 4654 Reviewed by Gustavo Noronha. 4655 4656 [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1) 4657 https://bugs.webkit.org/show_bug.cgi?id=27651 4658 4659 Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py 4660 No functionality change at all. 4661 4662 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 4663 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 4664 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 4665 * platform/graphics/gtk/VideoSinkGStreamer.h: 4666 46672009-07-30 Jakub Wieczorek <faw217@gmail.com> 4668 4669 Reviewed by Simon Hausmann. 4670 4671 Allow to explicitly choose a preferred plugin for a mimetype. 4672 4673 https://bugs.webkit.org/show_bug.cgi?id=27651 4674 4675 When the preferred plugin is set for a specific MIME type, it will be 4676 always picked up, regardless of its version, quirks etc. 4677 4678 Client applications may want to use that API to resolve mimetype 4679 ambiguity in a custom way, rather than in the default way that is 4680 currently used in WebKit. 4681 4682 * plugins/PluginDatabase.cpp: 4683 (WebCore::PluginDatabase::pluginForMIMEType): 4684 (WebCore::PluginDatabase::MIMETypeForExtension): 4685 (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added. 4686 (WebCore::PluginDatabase::remove): 4687 (WebCore::PluginDatabase::clear): 4688 * plugins/PluginDatabase.h: 4689 46902009-07-30 Jakub Wieczorek <faw217@gmail.com> 4691 4692 [Qt] Fix build with Qt 4.4 after r46535. 4693 4694 * platform/network/qt/ResourceHandleQt.cpp: 4695 46962009-07-30 Eric Carlson <eric.carlson@apple.com> 4697 4698 Reviewed by Simon Fraser. 4699 4700 Video elements fires another "load" event when attached to DOM 4701 https://bugs.webkit.org/show_bug.cgi?id=27623 4702 4703 Test: media/media-load-event.html 4704 4705 * html/HTMLMediaElement.cpp: 4706 (WebCore::HTMLMediaElement::insertedIntoDocument): 4707 Only schedule load when element's network state is NETWORK_EMPTY. 4708 47092009-07-30 Anton Muhin <antonm@chromium.org> 4710 4711 Reviewed by David Levin. 4712 4713 Cache v8 strings when converting from WebCore::String to v8 string. 4714 https://bugs.webkit.org/show_bug.cgi?id=27655 4715 4716 * bindings/v8/V8Binding.cpp: 4717 (WebCore::v8String): now just immediately calls v8ExternalString 4718 (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to 4719 v8::String 4720 (WebCore::makeExternalString): utilty function to create external v8::String out of 4721 WebCore::String 4722 (WebCore::getStringCache): static function to access string cache 4723 (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the 4724 cache 4725 (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for 4726 the given WebCore::StringImpl. If present, returns it, otherwise creates a new v8 external 4727 string. 4728 * bindings/v8/V8Binding.h: 4729 47302009-07-30 Xan Lopez <xlopez@igalia.com> 4731 4732 Reviewed by Maciej Stachowiak. 4733 4734 https://bugs.webkit.org/show_bug.cgi?id=25535 4735 [GTK] object:state-changed:checked events missing for radio buttons and checkboxes 4736 4737 Implement state-changed:checked for radio buttons and checkboxes. 4738 4739 * accessibility/gtk/AXObjectCacheAtk.cpp: 4740 (WebCore::AXObjectCache::postPlatformNotification): 4741 * html/HTMLInputElement.cpp: 4742 (WebCore::HTMLInputElement::setChecked): 4743 47442009-07-30 Xan Lopez <xlopez@igalia.com> 4745 4746 Forgot the 'break'. 4747 4748 * platform/ContextMenu.cpp: 4749 (WebCore::ContextMenu::checkOrEnableIfNeeded): 4750 47512009-07-30 Xan Lopez <xlopez@igalia.com> 4752 4753 Try to fix Mac build. 4754 4755 * platform/ContextMenu.cpp: 4756 (WebCore::ContextMenu::checkOrEnableIfNeeded): 4757 47582009-07-29 Xan Lopez <xlopez@igalia.com> 4759 4760 Reviewed by Adam Barth. 4761 4762 Add missing enumeration value to switch. 4763 4764 * platform/ContextMenu.cpp: 4765 (WebCore::ContextMenu::checkOrEnableIfNeeded): 4766 47672009-07-29 Jian Li <jianli@chromium.org> 4768 4769 Reviewed by Darin Adler. 4770 4771 Workers need to throw an exception when presented with invalid URLs. 4772 https://bugs.webkit.org/show_bug.cgi?id=27770 4773 4774 Tests covered by worker-constructor.html and worker-redirect.html. 4775 4776 * bindings/js/JSWorkerConstructor.cpp: 4777 (WebCore::constructWorker): 4778 * bindings/v8/custom/V8WorkerCustom.cpp: 4779 (WebCore::CALLBACK_FUNC_DECL): 4780 * workers/Worker.cpp: 4781 (WebCore::Worker::Worker): 4782 * workers/Worker.h: 4783 (WebCore::Worker::create): 4784 * workers/WorkerContext.cpp: 4785 (WebCore::WorkerContext::importScripts): 4786 * workers/WorkerScriptLoader.cpp: 4787 (WebCore::WorkerScriptLoader::loadSynchronously): 4788 (WebCore::WorkerScriptLoader::loadAsynchronously): 4789 (WebCore::WorkerScriptLoader::createResourceRequest): 4790 * workers/WorkerScriptLoader.h: 4791 47922009-07-29 Brady Eidson <beidson@apple.com> 4793 4794 Reviewed by Darin Adler. 4795 4796 (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts 4797 https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659> 4798 4799 * loader/loader.cpp: 4800 (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 4801 only limiting connections while parsing and still trying to figure out stylesheet urls. 4802 48032009-07-29 Yong Li <yong.li@torchmobile.com> 4804 4805 Reviewed by George Staikos. 4806 4807 WINCE PORT: Add WebCore/page/wince/FrameWince.cpp 4808 https://bugs.webkit.org/show_bug.cgi?id=27729 4809 4810 * page/wince/FrameWince.cpp: Added. 4811 48122009-07-29 Ryosuke Niwa <rniwa@webkit.org> 4813 4814 Reviewed by Justin Garcia. 4815 4816 REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails 4817 https://bugs.webkit.org/show_bug.cgi?id=27809 4818 4819 The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle. 4820 To determine that a particular text decoration is present, currentlyHasStyle should refer to 4821 -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS. 4822 We also need to update layout to accommodate the changes made within ApplyStyleCommand. 4823 4824 * editing/ApplyStyleCommand.cpp: ditto 4825 (WebCore::StyleChange::currentlyHasStyle): ditto 4826 48272009-07-29 Yong Li <yong.li@torchmobile.com> 4828 4829 Reviewed by George Staikos. 4830 4831 WINCE PORT: changes to platform/text files 4832 https://bugs.webkit.org/show_bug.cgi?id=27715 4833 4834 * platform/text/String.cpp: 4835 (WebCore::String::format): 4836 * platform/text/TextEncoding.cpp: 4837 (WebCore::TextEncoding::encode): 4838 * platform/text/TextEncodingRegistry.cpp: 4839 (WebCore::buildBaseTextCodecMaps): 4840 (WebCore::extendTextCodecMaps): 4841 48422009-07-29 Yong Li <yong.li@torchmobile.com> 4843 4844 Reviewed by Adam Roben. 4845 4846 FIX: HDC leaks in PopupMenuWin.cpp 4847 https://bugs.webkit.org/show_bug.cgi?id=27817 4848 4849 * platform/win/PopupMenuWin.cpp: 4850 (WebCore::PopupMenu::~PopupMenu): 4851 (WebCore::PopupMenu::paint): 4852 48532009-07-29 Darin Adler <darin@apple.com> 4854 4855 Reviewed by Dan Bernstein. 4856 4857 Illegal values for <ol start> cause list numbering start at 0 (should start at 1) 4858 https://bugs.webkit.org/show_bug.cgi?id=27810 4859 4860 Test: fast/lists/ol-start-parsing.html 4861 4862 * html/HTMLOListElement.cpp: 4863 (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt 4864 and use the value 1 if it failed to parse. Before we were getting toInt's default 4865 behavior, which is to return 0. 4866 48672009-07-29 Kevin McCullough <kmccullough@apple.com> 4868 4869 Reviewed by Darin Adler. 4870 4871 Added foundation work to allow a testing infrastructure for the Web 4872 Inspector. 4873 4874 * inspector/InspectorClient.h: 4875 * inspector/InspectorController.cpp: 4876 (WebCore::InspectorController::scriptObjectReady): Tell the testing 4877 harness that the window object is ready. 4878 * loader/EmptyClients.h: Empty class support for SVG. 4879 (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared): 4880 48812009-07-29 Chris Fleizach <cfleizach@apple.com> 4882 4883 Build fix for windows after landing 4884 Bug 27807 - AX: move re-usable code into more common areas for other platforms 4885 4886 Apparently bzero doesn't exist on windows. 4887 4888 * accessibility/AXObjectCache.cpp: 4889 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 4890 48912009-07-29 Chris Fleizach <cfleizach@apple.com> 4892 4893 Reviewed by Justin Garcia. 4894 4895 Bug 27807 - AX: move re-usable code into more common areas for other platforms 4896 https://bugs.webkit.org/show_bug.cgi?id=27807 4897 4898 Moves some accessibility code that was in the Mac file to a more common place so 4899 it can be used by other platforms. 4900 This includes: 4901 Making TextMarkerData from a VisiblePosition. 4902 Making a VisiblePosition from TextMarkerData. 4903 Finding the anchor accessibility object for an arbitrary Node. 4904 4905 * accessibility/AXObjectCache.cpp: 4906 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 4907 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 4908 * accessibility/AXObjectCache.h: 4909 * accessibility/AccessibilityObject.cpp: 4910 (WebCore::AccessibilityObject::anchorElementForNode): 4911 * accessibility/AccessibilityObject.h: 4912 (WebCore::AccessibilityObject::visiblePositionForIndex): 4913 * accessibility/mac/AccessibilityObjectWrapper.mm: 4914 (textMarkerForVisiblePosition): 4915 (visiblePositionForTextMarker): 4916 (AXAttributedStringAppendText): 4917 49182009-07-29 Dan Bernstein <mitz@apple.com> 4919 4920 Reviewed by Simon Fraser. 4921 4922 Inset box shadows are incorrectly accounted for in visual overflow 4923 computations 4924 https://bugs.webkit.org/show_bug.cgi?id=27811 4925 4926 * rendering/InlineFlowBox.cpp: 4927 (WebCore::InlineFlowBox::placeBoxesHorizontally): Use 4928 getBoxShadowHorizontalExtent(). 4929 (WebCore::InlineFlowBox::placeBoxesVertically): Use 4930 getBoxShadowVerticalExtent(). Removed duplicate code to get the 4931 text-shadow overflow. 4932 (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent(). 4933 * rendering/RenderBlock.cpp: 4934 (WebCore::RenderBlock::overflowHeight): Use 4935 getBoxShadowVerticalExtent(). 4936 (WebCore::RenderBlock::overflowWidth): Use 4937 getBoxShadowHorizontalExtent(). 4938 (WebCore::RenderBlock::overflowLeft): Ditto. 4939 (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent(). 4940 (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent(). 4941 (WebCore::RenderBlock::layoutBlock): Ditto. 4942 * rendering/RenderFlexibleBox.cpp: 4943 (WebCore::RenderFlexibleBox::layoutBlock): Ditto. 4944 * rendering/RenderLayer.cpp: 4945 (WebCore::RenderLayer::calculateRects): Exclude inset shadows. 4946 * rendering/RenderObject.cpp: 4947 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use 4948 getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent(). 4949 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset 4950 shadows. 4951 * rendering/RenderReplaced.cpp: 4952 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. 4953 * rendering/style/RenderStyle.cpp: 4954 (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are 4955 not inset. 4956 (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset 4957 shadows. 4958 (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto. 4959 (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto. 4960 * rendering/style/RenderStyle.h: 4961 49622009-07-29 Simon Fraser <simon.fraser@apple.com> 4963 4964 Reviewed by Dan Bernstein. 4965 4966 Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform) 4967 https://bugs.webkit.org/show_bug.cgi?id=27796 4968 4969 Avoid repainting when a layer becomes composited if the renderer is not parented 4970 yet, because it makes no sense to do so. 4971 4972 If the table row is a repaint container, default to the RenderBox implementation 4973 of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect 4974 computation to something that is above the repaint container. 4975 4976 Test: fast/table/table-row-compositing-repaint-crash.html 4977 4978 * rendering/RenderLayerCompositor.cpp: 4979 (WebCore::RenderLayerCompositor::repaintOnCompositingChange): 4980 * rendering/RenderTableRow.cpp: 4981 (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 4982 49832009-07-29 Brady Eidson <beidson@apple.com> 4984 4985 Reviewed by Sam Weinig. 4986 4987 https://bugs.webkit.org/show_bug.cgi?id=27791 4988 307 redirects of POSTs should use POST, not GET 4989 4990 Test: http/tests/loading/redirect-methods.html 4991 4992 * platform/network/cf/ResourceHandleCFNet.cpp: 4993 (WebCore::willSendRequest): 4994 4995 * platform/network/mac/ResourceHandleMac.mm: 4996 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 4997 49982009-07-29 Chris Marrin <cmarrin@apple.com> 4999 5000 Reviewed by Simon Fraser. 5001 5002 Adding -webkit-animation-play-state back in 5003 https://bugs.webkit.org/show_bug.cgi?id=26867 5004 5005 We've decided to keep -webkit-animation-play-state. So this 5006 just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907. 5007 5008 Test: animations/play-state.html 5009 5010 * css/CSSComputedStyleDeclaration.cpp: 5011 (WebCore::): 5012 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 5013 * css/CSSParser.cpp: 5014 (WebCore::CSSParser::parseValue): 5015 (WebCore::CSSParser::parseAnimationPlayState): 5016 (WebCore::CSSParser::parseAnimationProperty): 5017 * css/CSSParser.h: 5018 * css/CSSPropertyNames.in: 5019 * css/CSSStyleSelector.cpp: 5020 (WebCore::CSSStyleSelector::applyProperty): 5021 (WebCore::CSSStyleSelector::mapAnimationPlayState): 5022 * css/CSSStyleSelector.h: 5023 * platform/animation/Animation.h: 5024 * rendering/style/RenderStyleConstants.h: 5025 (WebCore::): 5026 50272009-07-29 Jakub Wieczorek <faw217@gmail.com> 5028 5029 Reviewed by Simon Hausmann. 5030 5031 Expose the default plugin directories and the current directory set of 5032 the plugin database as public API. 5033 5034 https://bugs.webkit.org/show_bug.cgi?id=27651 5035 5036 * plugins/PluginDatabase.h: 5037 (WebCore::PluginDatabase::pluginDirectories): 5038 50392009-07-29 Alpha Lam <hclam@chromium.org> 5040 5041 Reviewed by David Levin. 5042 5043 [chromium] Font size for current time display in media controls panel 5044 is affected by body font size. 5045 https://bugs.webkit.org/show_bug.cgi?id=27799 5046 5047 Fixing the problem of rendering by explicitly setting the font size 5048 for the time displays. 5049 5050 No new tests since this is covered by existing media tests. 5051 5052 * css/mediaControlsChromium.css: 5053 50542009-07-29 Mike Fenton <mike.fenton@torchmobile.com> 5055 5056 Reviewed by David Levin. 5057 5058 Update WebCore/page/ContextMenuController.cpp to conform to WebKit 5059 Style Guidelines as identified by cpp_style.py. 5060 https://bugs.webkit.org/show_bug.cgi?id=27613 5061 5062 * page/ContextMenuController.cpp: 5063 (WebCore::openNewWindow): 5064 (WebCore::ContextMenuController::contextMenuItemSelected): 5065 50662009-07-29 Dean McNamee <deanm@chromium.org> 5067 5068 Reviewed by Dimitri Glazkov. 5069 5070 Removed unused wrapCPointer/extractCPointer from the v8 bindings. 5071 https://bugs.webkit.org/show_bug.cgi?id=27805 5072 5073 * bindings/v8/V8DOMWrapper.h: 5074 50752009-07-29 Jakub Wieczorek <faw217@gmail.com> 5076 5077 Reviewed by Simon Hausmann. 5078 5079 Expose the PluginDatabase::pluginForMIMEType() function as public API. 5080 https://bugs.webkit.org/show_bug.cgi?id=27651 5081 5082 It can be used to determine the appropriate plugin for a mime type, 5083 without guessing the mimetype from the extension. 5084 5085 * plugins/PluginDatabase.h: 5086 50872009-07-29 Jakub Wieczorek <faw217@gmail.com> 5088 5089 Reviewed by Adam Treat. 5090 5091 Allow to enable/disable particular plugin packages. 5092 https://bugs.webkit.org/show_bug.cgi?id=27651 5093 5094 Disabled plugins will not be picked up when looking for a plugin 5095 supporting the requested mimetypes. 5096 5097 Client applications may want to use that API to disable specific 5098 plugins. 5099 5100 * plugins/PluginDatabase.cpp: 5101 (WebCore::PluginDatabase::pluginForMIMEType): 5102 (WebCore::PluginDatabase::MIMETypeForExtension): 5103 * plugins/PluginPackage.cpp: 5104 (WebCore::PluginPackage::PluginPackage): 5105 (WebCore::PluginPackage::setEnabled): 5106 * plugins/PluginPackage.h: 5107 (WebCore::PluginPackage::isEnabled): 5108 51092009-07-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 5110 5111 Reviewed by Adam Treat. 5112 5113 [WML] Running WML tests in random order multiple times exposes subtle bugs 5114 https://bugs.webkit.org/show_bug.cgi?id=27801 5115 5116 Remove superflous assertions regarding the parent node. Under certain circumstances 5117 these can even fire (related to garbage collection while destructing). Fixes random order 5118 WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random) 5119 5120 The wml/enter-first-card-with-events.html test relied on a bug in our implementation of 5121 WMLPageState::reset() - the history stack should still contain the current card afterwards. 5122 Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory(). 5123 5124 * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec. 5125 (WebCore::BackForwardList::clearWMLPageHistory): 5126 * wml/WMLDoElement.cpp: 5127 (WebCore::WMLDoElement::insertedIntoDocument): 5128 (WebCore::WMLDoElement::removedFromDocument): 5129 * wml/WMLNoopElement.cpp: 5130 (WebCore::WMLNoopElement::insertedIntoDocument): 5131 * wml/WMLOnEventElement.cpp: 5132 (WebCore::eventHandlingParent): 5133 * wml/WMLPostfieldElement.cpp: 5134 (WebCore::WMLPostfieldElement::insertedIntoDocument): 5135 (WebCore::WMLPostfieldElement::removedFromDocument): 5136 * wml/WMLSetvarElement.cpp: 5137 (WebCore::WMLSetvarElement::insertedIntoDocument): 5138 (WebCore::WMLSetvarElement::removedFromDocument): 5139 * wml/WMLTaskElement.cpp: 5140 (WebCore::WMLTaskElement::insertedIntoDocument): 5141 (WebCore::WMLTaskElement::removedFromDocument): 5142 * wml/WMLTimerElement.cpp: 5143 (WebCore::WMLTimerElement::insertedIntoDocument): 5144 (WebCore::WMLTimerElement::removedFromDocument): 5145 51462009-07-29 Yongjun Zhang <yongjun.zhang@nokia.com> 5147 5148 Reviewed by Simon Hausmann. 5149 5150 https://bugs.webkit.org/show_bug.cgi?id=26848 5151 [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit. 5152 5153 * loader/FrameLoader.cpp: 5154 (WebCore::FrameLoader::loadItem): 5155 * platform/network/ResourceHandle.h: 5156 * platform/network/cf/ResourceHandleCFNet.cpp: 5157 (WebCore::ResourceHandle::willLoadFromCache): 5158 * platform/network/curl/ResourceHandleCurl.cpp: 5159 (WebCore::ResourceHandle::willLoadFromCache): 5160 * platform/network/mac/ResourceHandleMac.mm: 5161 (WebCore::ResourceHandle::willLoadFromCache): 5162 * platform/network/qt/ResourceHandleQt.cpp: 5163 (WebCore::ResourceHandle::willLoadFromCache): 5164 * platform/network/soup/ResourceHandleSoup.cpp: 5165 (WebCore::): 5166 51672009-07-29 Alpha Lam <hclam@chromium.org> 5168 5169 Reviewed by David Levin. 5170 5171 Media control panel for <video> in MediaDocument is mis-placed 5172 https://bugs.webkit.org/show_bug.cgi?id=27798 5173 5174 Fixing a rendering problem: When <video> is displayed in MediaDocument, 5175 the media control panel overlaps with the video by 16 pixels. 5176 5177 No new tests as this is covered by existing media tests. 5178 5179 * css/mediaControlsChromium.css: 5180 51812009-07-29 Adam Barth <abarth@webkit.org> 5182 5183 Unreviewed build fix for Chromium. Those last two patches weren't 5184 independent despite the clean merge. 5185 5186 * bindings/v8/V8AbstractEventListener.cpp: 5187 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 5188 51892009-07-29 Avi Drissman <avi@chromium.org> 5190 5191 Reviewed by Darin Adler. 5192 5193 ImageSourceCG makes bad data refs (race condition causes blank images) 5194 https://bugs.webkit.org/show_bug.cgi?id=27777 5195 5196 Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that 5197 backs the CFDataRef will be long enough. 5198 5199 No new tests, as this fixes a bug with a race condition that is 5200 difficult to trigger. 5201 5202 * platform/graphics/cg/ImageSourceCG.cpp: 5203 (WebCore::ImageSource::setData): 5204 52052009-07-29 Keishi Hattori <casey.hattori@gmail.com> 5206 5207 Reviewed by Timothy Hatcher. 5208 5209 Inspector: Console should show completions for the command line APIs 5210 https://bugs.webkit.org/show_bug.cgi?id=27696 5211 5212 * inspector/front-end/Console.js: 5213 (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 5214 completions when available. 5215 * inspector/front-end/utilities.js: 5216 (Object.properties): Added. 5217 (Object.sortedProperties): 5218 52192009-07-29 Shinichiro Hamaji <hamaji@chromium.org> 5220 5221 Reviewed by Eric Seidel. 5222 5223 Refactor the first step of layout in RenderFlexibleBox.cpp 5224 https://bugs.webkit.org/show_bug.cgi?id=27704 5225 5226 No new tests as this change is just a refactoring. 5227 5228 * rendering/RenderFlexibleBox.cpp: 5229 (WebCore::gatherFlexChildrenInfo): 5230 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 5231 (WebCore::RenderFlexibleBox::layoutVerticalBox): 5232 52332009-07-29 Kent Tamura <tkent@chromium.org> 5234 5235 Reviewed by Nikolas Zimmermann. 5236 5237 Fix a bug that HTMLOptionElement::value() returns an incorrect 5238 value in a case that the element has a label attribute and no 5239 value attribute. 5240 https://bugs.webkit.org/show_bug.cgi?id=27760 5241 5242 Test: fast/forms/option-value-and-label.html 5243 5244 * dom/OptionElement.cpp: 5245 (WebCore::OptionElement::collectOptionLabelOrText): 5246 (WebCore::OptionElement::collectOptionInnerText): 5247 (WebCore::OptionElement::normalizeText): 5248 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel): 5249 (WebCore::OptionElement::collectOptionValue): 5250 * dom/OptionElement.h: 5251 * html/HTMLOptionElement.cpp: 5252 (WebCore::HTMLOptionElement::text): 5253 * wml/WMLOptionElement.cpp: 5254 (WebCore::WMLOptionElement::text): 5255 52562009-07-29 Adam Barth <abarth@webkit.org> 5257 5258 Reviewed by Dimitri Glazkov. 5259 5260 [V8] Fix isolated world wrappers for event handlers 5261 https://bugs.webkit.org/show_bug.cgi?id=27533 5262 5263 Instead of getting the context from the frame, we cache the context 5264 when the listener is created so that we get the context for the right 5265 world. 5266 5267 Test: http/tests/security/isolatedWorld/click-event.html 5268 5269 * WebCore.gypi: 5270 * bindings/v8/OwnHandle.h: Added. 5271 (WebCore::OwnHandle::OwnHandle): 5272 (WebCore::OwnHandle::~OwnHandle): 5273 (WebCore::OwnHandle::get): 5274 (WebCore::OwnHandle::set): 5275 (WebCore::OwnHandle::release): 5276 (WebCore::OwnHandle::adopt): 5277 (WebCore::OwnHandle::swap): 5278 (WebCore::OwnHandle::clear): 5279 (WebCore::OwnHandle::makeWeak): 5280 (WebCore::OwnHandle::weakCallback): 5281 * bindings/v8/V8AbstractEventListener.cpp: 5282 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 5283 (WebCore::V8AbstractEventListener::handleEvent): 5284 * bindings/v8/V8AbstractEventListener.h: 5285 * bindings/v8/V8DOMWrapper.h: 5286 52872009-07-29 Adam Barth <abarth@webkit.org> 5288 5289 Reviewed by Dimitri Glazkov. 5290 5291 [V8] Teach V8Proxy::context about isolated worlds 5292 https://bugs.webkit.org/show_bug.cgi?id=27701 5293 5294 Change V8Proxy::context(Frame*) to understand isolated worlds. Audit 5295 all callers of this method to make sure they want isolated worlds. In 5296 cases where we really want the main world, I've changed the call to 5297 V8Proxy::mainWorldContext(Frame*). 5298 5299 The main visible change is to the document.open method when called with 5300 more than two arguments. This design seems more likely to lead to 5301 future correct code. 5302 5303 Test: http/tests/security/isolatedWorld/document-open.html 5304 5305 * bindings/v8/ScriptController.cpp: 5306 (WebCore::ScriptController::processingUserGesture): 5307 (WebCore::ScriptController::evaluate): 5308 (WebCore::ScriptController::bindToWindowObject): 5309 (WebCore::ScriptController::collectGarbage): 5310 (WebCore::createScriptObject): 5311 (WebCore::ScriptController::createScriptObjectForPluginElement): 5312 * bindings/v8/ScriptObjectQuarantine.cpp: 5313 (WebCore::getQuarantinedScriptObject): 5314 * bindings/v8/V8AbstractEventListener.cpp: 5315 (WebCore::V8AbstractEventListener::handleEvent): 5316 * bindings/v8/V8DOMWrapper.cpp: 5317 (WebCore::V8DOMWrapper::getConstructor): 5318 (WebCore::V8DOMWrapper::setHiddenWindowReference): 5319 (WebCore::V8DOMWrapper::convertNodeToV8Object): 5320 (WebCore::V8DOMWrapper::convertWindowToV8Object): 5321 * bindings/v8/V8Helpers.cpp: 5322 (WebCore::toV8Context): 5323 * bindings/v8/V8LazyEventListener.cpp: 5324 (WebCore::V8LazyEventListener::getListenerFunction): 5325 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 5326 * bindings/v8/V8Proxy.cpp: 5327 (WebCore::V8Proxy::context): 5328 (WebCore::V8Proxy::mainWorldContext): 5329 (WebCore::V8Proxy::bindJsObjectToWindow): 5330 * bindings/v8/V8Proxy.h: 5331 53322009-07-29 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu> 5333 5334 Reviewed by Simon Hausmann. 5335 5336 Fix the Qt build, add missing file. 5337 5338 * WebCore.pro: 5339 53402009-07-28 Jon Honeycutt <jhoneycutt@apple.com> 5341 5342 Speculative fix for <rdar://problem/7005077> WER: Crash in 5343 WebCore::PluginStream::destroyStream+279 (1310510882) 5344 5345 Reviewed by Oliver Hunt. 5346 5347 * plugins/PluginStream.cpp: 5348 (WebCore::PluginStream::destroyStream): 5349 Move the "protector" RefPtr out of the block that dispatches 5350 notifications and into the function level; if NPN_DestroyStream were 5351 called from NPP_NewStream as the comment warns, we would be deleted at 5352 the end of the block. 5353 53542009-07-28 Joseph Pecoraro <joepeck02@gmail.com> 5355 5356 Inspector: Tab Through the DOM Storage DataGrid when Editing 5357 5358 https://bugs.webkit.org/show_bug.cgi?id=27746 5359 5360 Reviewed by Timothy Hatcher. 5361 5362 * inspector/front-end/DOMStorageDataGrid.js: 5363 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column 5364 (WebInspector.DOMStorageDataGrid.prototype._startEditing): 5365 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit 5366 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately 5367 53682009-07-28 Joseph Pecoraro <joepeck02@gmail.com> 5369 5370 Inspector: Create New DOM Storage Items via DataGrid 5371 5372 https://bugs.webkit.org/show_bug.cgi?id=27322 5373 5374 Reviewed by Timothy Hatcher. 5375 5376 * inspector/front-end/DOMStorageDataGrid.js: 5377 (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode 5378 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals 5379 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case 5380 * inspector/front-end/DataGrid.js: 5381 (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode 5382 (WebInspector.CreationDataGridNode): new type of node 5383 (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node 5384 * inspector/front-end/DatabasesPanel.js: 5385 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData 5386 53872009-07-28 Joseph Pecoraro <joepeck02@gmail.com> 5388 5389 Inspector: Automatically Refresh DOM Storage Grids on "storage" event 5390 5391 https://bugs.webkit.org/show_bug.cgi?id=27400 5392 5393 Reviewed by Timothy Hatcher. 5394 5395 * inspector/front-end/DatabasesPanel.js: 5396 (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener 5397 (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener 5398 (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window 5399 (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window 5400 (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event 5401 54022009-07-28 Keishi Hattori <casey.hattori@gmail.com> 5403 5404 Inspector should support inspect() in the command line. 5405 5406 https://bugs.webkit.org/show_bug.cgi?id=19874 5407 rdar://problem/6070225 5408 5409 Reviewed by Timothy Hatcher. 5410 5411 * inspector/front-end/Console.js: 5412 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject): 5413 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 5414 * inspector/front-end/DatabasesPanel.js: 5415 (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added. 5416 (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added. 5417 (WebInspector.DatabasesPanel.prototype.showDatabase): 5418 54192009-07-28 Keishi Hattori <casey.hattori@gmail.com> 5420 5421 The rest of: Web Inspector: Add inspected node using public console API. 5422 5423 https://bugs.webkit.org/show_bug.cgi?id=27758 5424 5425 Reviewed by Timothy Hatcher. 5426 5427 * inspector/front-end/Console.js: 5428 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode. 5429 (WebInspector.Console.prototype.addInspectedNode): Added. 5430 54312009-07-28 Pavel Feldman <pfeldman@chromium.org> 5432 5433 Reviewed by Timothy Hatcher. 5434 5435 WebInspector: Accept autocomplete on 'End' key pressed. 5436 5437 https://bugs.webkit.org/show_bug.cgi?id=27447. 5438 5439 * inspector/front-end/TextPrompt.js: 5440 (WebInspector.TextPrompt.prototype.handleKeyEvent): 5441 54422009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com> 5443 5444 Reviewed by David Levin. 5445 5446 [Qt] Build fix after r46502 5447 https://bugs.webkit.org/show_bug.cgi?id=27789 5448 5449 * WebCore.pro: Remove StorageArea.cpp 5450 54512009-07-28 Mark Rowe <mrowe@apple.com> 5452 5453 Reviewed by Darin Adler. 5454 5455 Follow-on fix to r35582. Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread 5456 in -dealloc overrides in DOMObject subclasses. 5457 5458 * bindings/scripts/CodeGeneratorObjC.pm: 5459 54602009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 5461 5462 Reviewed by Adam Treat. 5463 5464 [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument() 5465 https://bugs.webkit.org/show_bug.cgi?id=27786 5466 5467 WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument(). 5468 The only case where this is relevant in WML is error handling. The parsed WML 5469 tree fragment is inserted in an XHTML compound error document. This requires 5470 removedFromDocument() to be correctly implemented otherwhise we run into 5471 trouble (visible when using run-webkit-tests fast/wml --random). 5472 5473 * wml/WMLAnchorElement.cpp: 5474 (WebCore::WMLAnchorElement::registerTask): 5475 (WebCore::WMLAnchorElement::deregisterTask): 5476 * wml/WMLAnchorElement.h: 5477 * wml/WMLDoElement.cpp: 5478 (WebCore::WMLDoElement::removedFromDocument): 5479 (WebCore::WMLDoElement::registerTask): 5480 (WebCore::WMLDoElement::deregisterTask): 5481 * wml/WMLDoElement.h: 5482 * wml/WMLEventHandlingElement.cpp: 5483 (WebCore::WMLEventHandlingElement::registerDoElement): 5484 (WebCore::WMLEventHandlingElement::deregisterDoElement): 5485 * wml/WMLEventHandlingElement.h: 5486 * wml/WMLFieldSetElement.cpp: 5487 (WebCore::WMLFieldSetElement::removedFromDocument): 5488 * wml/WMLGoElement.cpp: 5489 (WebCore::WMLGoElement::registerPostfieldElement): 5490 (WebCore::WMLGoElement::deregisterPostfieldElement): 5491 * wml/WMLGoElement.h: 5492 * wml/WMLIntrinsicEventHandler.cpp: 5493 (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent): 5494 * wml/WMLIntrinsicEventHandler.h: 5495 * wml/WMLOnEventElement.cpp: 5496 (WebCore::eventHandlingParent): 5497 (WebCore::WMLOnEventElement::registerTask): 5498 (WebCore::WMLOnEventElement::deregisterTask): 5499 * wml/WMLOnEventElement.h: 5500 * wml/WMLPostfieldElement.cpp: 5501 (WebCore::WMLPostfieldElement::removedFromDocument): 5502 * wml/WMLPostfieldElement.h: 5503 * wml/WMLSetvarElement.cpp: 5504 (WebCore::WMLSetvarElement::removedFromDocument): 5505 * wml/WMLSetvarElement.h: 5506 * wml/WMLTaskElement.cpp: 5507 (WebCore::WMLTaskElement::removedFromDocument): 5508 (WebCore::WMLTaskElement::registerVariableSetter): 5509 (WebCore::WMLTaskElement::deregisterVariableSetter): 5510 (WebCore::WMLTaskElement::storeVariableState): 5511 * wml/WMLTaskElement.h: 5512 * wml/WMLTimerElement.cpp: 5513 (WebCore::WMLTimerElement::removedFromDocument): 5514 * wml/WMLTimerElement.h: 5515 55162009-07-28 David Levin <levin@chromium.org> 5517 5518 Suggested by Drew Wilson. 5519 5520 Speculative gtk build fix, follow up to: 5521 https://bugs.webkit.org/show_bug.cgi?id=27697 5522 5523 * GNUmakefile.am: 5524 55252009-07-28 Dan Bernstein <mitz@apple.com> 5526 5527 Reviewed by Simon Fraser. 5528 5529 [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius 5530 properties 5531 https://bugs.webkit.org/show_bug.cgi?id=27578 5532 5533 [CSS3 Backgrounds and Borders] Handle the / and 4 values in 5534 border-radius 5535 https://bugs.webkit.org/show_bug.cgi?id=27584 5536 5537 Test: fast/borders/border-radius-parsing.html 5538 5539 Dropped the -webkit- prefix from the individual corner border-radius 5540 properties. Added border-radius with the / and 4-value syntax, and 5541 maintained -webkit-border-radius with legacy 2-value syntax. 5542 5543 * css/CSSComputedStyleDeclaration.cpp: 5544 (computedProperties): Removed Webkit prefix. 5545 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto. 5546 * css/CSSParser.cpp: 5547 (WebCore::CSSParser::parseValue): Removed Webkit prefix from the 5548 single-corner properties. Call out to parseBorderRadius() to parse 5549 border-radius and -webkit-border-radius. 5550 (WebCore::completeBorderRadii): Added this helper function that 5551 completes the values for all four corners when fewer than four are 5552 specified. 5553 (WebCore::CSSParser::parseBorderRadius): Added. 5554 (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the 5555 unprefixed property. 5556 * css/CSSParser.h: 5557 * css/CSSPropertyLonghand.cpp: 5558 (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry 5559 for border-radius. Kept the entry for -webkit-border-radius. 5560 * css/CSSPropertyNames.in: Removed the -webkit- prefix from the 5561 single-corenr properties. Added border-radius. Kept 5562 -webkit-border-radius because of its conflicting syntax. 5563 * css/CSSStyleSelector.cpp: 5564 (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix. 5565 * page/animation/AnimationBase.cpp: 5566 (WebCore::ensurePropertyMap): Ditto. 5567 55682009-07-28 Drew Wilson <atwilson@google.com> 5569 5570 Reviewed by David Levin. 5571 5572 Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class. 5573 5574 WorkerThread needs to be refactored to separate out dedicated-worker functionality. 5575 https://bugs.webkit.org/show_bug.cgi?id=27697 5576 5577 This is just a refactoring, so existing tests suffice. 5578 5579 * GNUmakefile.am: 5580 Added DedicatedWorkerThread.h/.cpp 5581 * WebCore.gypi: 5582 Added DedicatedWorkerThread.h/.cpp 5583 * WebCore.pro: 5584 Added DedicatedWorkerThread.h/.cpp 5585 * WebCore.vcproj/WebCore.vcproj: 5586 Added DedicatedWorkerThread.h/.cpp 5587 * WebCore.xcodeproj/project.pbxproj: 5588 Added DedicatedWorkerThread.h/.cpp 5589 * bindings/js/WorkerScriptController.cpp: 5590 (WebCore::WorkerScriptController::evaluate): 5591 Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now. 5592 * bindings/v8/WorkerScriptController.cpp: 5593 (WebCore::WorkerScriptController::evaluate): 5594 Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now. 5595 * workers/DedicatedWorkerContext.cpp: 5596 (WebCore::DedicatedWorkerContext::DedicatedWorkerContext): 5597 (WebCore::DedicatedWorkerContext::addMessage): 5598 Forwards console messages to parent document. 5599 (WebCore::DedicatedWorkerContext::importScripts): 5600 Now sends the updated pending activity status after importing scripts. 5601 (WebCore::DedicatedWorkerContext::thread): 5602 Helper routine that casts WorkerThread to DedicatedWorkerThread. 5603 * workers/DedicatedWorkerContext.h: 5604 (WebCore::DedicatedWorkerContext::create): 5605 * workers/DedicatedWorkerThread.cpp: Added. 5606 (WebCore::DedicatedWorkerThread::create): 5607 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread): 5608 (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread): 5609 (WebCore::DedicatedWorkerThread::createWorkerContext): 5610 Implementation of the base class factory method to create the appropriate worker context. 5611 (WebCore::DedicatedWorkerThread::runEventLoop): 5612 Reports pending activity before running the event loop. 5613 * workers/DedicatedWorkerThread.h: Added. 5614 (WebCore::DedicatedWorkerThread::workerObjectProxy): 5615 Moved from base class. 5616 * workers/WorkerContext.cpp: 5617 * workers/WorkerContext.h: 5618 * workers/WorkerMessagingProxy.cpp: 5619 (WebCore::WorkerMessagingProxy::startWorkerContext): 5620 Now creates DedicatedWorkerThread. 5621 (WebCore::WorkerMessagingProxy::workerThreadCreated): 5622 Now is passed a DedicatedWorkerThread. 5623 * workers/WorkerMessagingProxy.h: 5624 * workers/WorkerThread.cpp: 5625 (WebCore::WorkerThread::WorkerThread): 5626 Moved workerObjectProxy param into derived class constructor. 5627 (WebCore::WorkerThread::workerThread): 5628 (WebCore::WorkerThread::runEventLoop): 5629 Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first. 5630 * workers/WorkerThread.h: 5631 (WebCore::WorkerThread::workerContext): 5632 56332009-07-28 Nate Chapin <japhet@chromium.org> 5634 5635 Reviewed by Darin Fisher. 5636 5637 Fix V8NPUtils' handling of UTF8 identifiers. 5638 5639 https://bugs.webkit.org/show_bug.cgi?id=27782 5640 5641 * bindings/v8/V8NPUtils.cpp: 5642 (getStringIdentifier): Treat the input string as UTF8 instead of ASCII, 5643 since NPN_GetStringIdentifier() is expecting UTF8. 5644 56452009-07-28 Jeremy Orlow <jorlow@chromium.org> 5646 5647 Reviewed by Eric Seidel. 5648 5649 Misc cleanup in DOM Storage. 5650 https://bugs.webkit.org/show_bug.cgi?id=27517 5651 5652 The StorageAreaImpl changes are all for Chromium. Because the DOM Storage implementation 5653 runs in a different process from where the Frame object lives, Chromium passes in NULL 5654 for the sourceFrame. This affects events and handling privateBrowsing. Chromium's 5655 incognito mode does not use the private browsing setting, so that's not a concern. As for 5656 events, I've decided to simply disable them for now. 5657 5658 The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread- 5659 safety) and to add an assert that .copy is only ever called on a SessionStorage namespace. 5660 5661 Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp 5662 5663 * storage/StorageArea.cpp: Removed. (It was empty anyway.) 5664 * storage/StorageAreaImpl.cpp: 5665 (WebCore::privateBrowsingEnabled): Factored out the check. 5666 (WebCore::StorageAreaImpl::setItem): Make frame optional. 5667 (WebCore::StorageAreaImpl::removeItem): ditto 5668 (WebCore::StorageAreaImpl::clear): ditto 5669 (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now. 5670 * storage/StorageNamespaceImpl.cpp: 5671 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment. 5672 (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage. 5673 56742009-07-28 Alpha Lam <hclam@google.com> 5675 5676 Reviewed by David Levin. 5677 5678 [chromium] Default UI controls for <video> has rendering problems 5679 https://bugs.webkit.org/show_bug.cgi?id=27669 5680 5681 Fixes the bug that <video> in MediaDocument is 1 pixel tall if 5682 it is playing an audio file by changing the style to be 32px 5683 tall. 5684 5685 Also fixes a problem of default styled audio tag that hides the 5686 all the time digits by expanding the width to 300px. 5687 5688 Changed the size and position of the current time and remaining 5689 display to give enough space for the hour digit to be shown. 5690 5691 There are no new tests provided because this is already covered 5692 by existing tests. 5693 5694 * css/mediaControlsChromium.css: 5695 56962009-07-28 Jakub Wieczorek <faw217@gmail.com> 5697 5698 Reviewed by Eric Seidel. 5699 5700 Fix style in PluginPackage and PluginDatabase. 5701 Part of https://bugs.webkit.org/show_bug.cgi?id=27651 5702 5703 * plugins/PluginDatabase.cpp: 5704 (WebCore::PluginDatabase::refresh): 5705 (WebCore::PluginDatabase::findPlugin): 5706 * plugins/PluginDatabase.h: 5707 * plugins/PluginPackage.cpp: 5708 (WebCore::PluginPackage::~PluginPackage): 5709 (WebCore::PluginPackage::freeLibrarySoon): 5710 (WebCore::PluginPackage::freeLibraryTimerFired): 5711 (WebCore::PluginPackage::unloadWithoutShutdown): 5712 (WebCore::PluginPackage::initializeBrowserFuncs): 5713 * plugins/PluginPackage.h: 5714 57152009-07-28 Anantanarayanan Iyengar <ananta@chromium.org> 5716 5717 Reviewed by Dimitri Glazkov. 5718 5719 https://bugs.webkit.org/show_bug.cgi?id=27769 5720 The V8 bindings function V8Proxy::createNewContext can be 5721 called during frame shutdown where the activeDocumentLoader 5722 function in FrameLoader can return NULL. Added a check for the 5723 same. 5724 5725 No new tests added as this is an edge case where the V8 5726 bindings code is reentered via NPAPI during shutdown. It is 5727 difficult to write a consistently reproducible test for this. 5728 5729 * bindings/v8/V8Proxy.cpp: 5730 (WebCore::V8Proxy::createNewContext): 5731 57322009-07-28 Ivan Posva <iposva@chromium.org> 5733 5734 Reviewed by Dimitri Glazkov. 5735 5736 Associate the CanvasPixelData backing store with the 5737 indexed properties of the wrapper object. 5738 5739 https://bugs.webkit.org/show_bug.cgi?id=27773 5740 5741 No new tests: Relying on existing Canvas tests. 5742 5743 * bindings/v8/V8DOMWrapper.cpp: 5744 (WebCore::V8DOMWrapper::getTemplate): 5745 (WebCore::V8DOMWrapper::convertToV8Object): 5746 57472009-07-28 Xan Lopez <xlopez@igalia.com> 5748 5749 Reviewed by Gustavo Noronha. 5750 5751 Nuke all references to JSWorkerContextBase.lut.h, it was removed 5752 back in April. 5753 5754 * GNUmakefile.am: 5755 57562009-07-28 Robert Agoston <Agoston.Robert@stud.u-szeged.hu> 5757 5758 Reviewed by Simon Hausmann. 5759 5760 Fixed references to script generate-webkitversion.pl, and 5761 removed duplicated generate-webkitversion.pl 5762 5763 https://bugs.webkit.org/show_bug.cgi?id=27158 5764 5765 * WebCore.pro: 5766 * platform/generate-webkitversion.pl: Removed. 5767 57682009-07-28 Pavel Feldman <pfeldman@chromium.org> 5769 5770 Reviewed by Dmitry Glazkov. 5771 5772 Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of 5773 InspectorJSONObject. 5774 5775 https://bugs.webkit.org/show_bug.cgi?id=27766 5776 5777 * GNUmakefile.am: 5778 * WebCore.gypi: 5779 * WebCore.pro: 5780 * WebCore.vcproj/WebCore.vcproj: 5781 * WebCore.xcodeproj/project.pbxproj: 5782 * WebCoreSources.bkl: 5783 * bindings/js/ScriptArray.cpp: 5784 (WebCore::ScriptArray::ScriptArray): 5785 (WebCore::ScriptArray::set): 5786 (WebCore::ScriptArray::length): 5787 (WebCore::ScriptArray::createNew): 5788 * bindings/js/ScriptArray.h: 5789 * bindings/js/ScriptFunctionCall.cpp: 5790 (WebCore::ScriptFunctionCall::construct): 5791 * bindings/js/ScriptObject.cpp: 5792 (WebCore::ScriptObject::ScriptObject): 5793 (WebCore::ScriptObject::set): 5794 (WebCore::ScriptObject::createNew): 5795 (WebCore::ScriptGlobalObject::get): 5796 * bindings/js/ScriptObject.h: 5797 * bindings/js/ScriptObjectQuarantine.cpp: 5798 (WebCore::getQuarantinedScriptObject): 5799 * bindings/v8/ScriptArray.cpp: 5800 (WebCore::ScriptArray::ScriptArray): 5801 (WebCore::ScriptArray::set): 5802 (WebCore::ScriptArray::length): 5803 (WebCore::ScriptArray::createNew): 5804 * bindings/v8/ScriptArray.h: 5805 * bindings/v8/ScriptFunctionCall.cpp: 5806 (WebCore::ScriptFunctionCall::construct): 5807 * bindings/v8/ScriptObject.cpp: 5808 (WebCore::ScriptObject::ScriptObject): 5809 (WebCore::ScriptObject::set): 5810 (WebCore::ScriptObject::createNew): 5811 (WebCore::ScriptGlobalObject::get): 5812 * bindings/v8/ScriptObject.h: 5813 (WebCore::ScriptObject::ScriptObject): 5814 * bindings/v8/ScriptObjectQuarantine.cpp: 5815 (WebCore::getQuarantinedScriptObject): 5816 * inspector/ConsoleMessage.cpp: 5817 (WebCore::ConsoleMessage::addToConsole): 5818 * inspector/InspectorDOMStorageResource.cpp: 5819 (WebCore::InspectorDOMStorageResource::bind): 5820 * inspector/InspectorDatabaseResource.cpp: 5821 (WebCore::InspectorDatabaseResource::bind): 5822 * inspector/InspectorFrontend.cpp: 5823 (WebCore::InspectorFrontend::newScriptArray): 5824 (WebCore::InspectorFrontend::newScriptObject): 5825 (WebCore::InspectorFrontend::addMessageToConsole): 5826 (WebCore::InspectorFrontend::addResource): 5827 (WebCore::InspectorFrontend::updateResource): 5828 (WebCore::InspectorFrontend::addDatabase): 5829 (WebCore::InspectorFrontend::addDOMStorage): 5830 * inspector/InspectorFrontend.h: 5831 * inspector/InspectorJSONObject.cpp: Removed. 5832 * inspector/InspectorJSONObject.h: Removed. 5833 * inspector/InspectorResource.cpp: 5834 (WebCore::populateHeadersObject): 5835 (WebCore::InspectorResource::createScriptObject): 5836 (WebCore::InspectorResource::updateScriptObject): 5837 58382009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 5839 5840 Reviewed by George Staikos. 5841 5842 [WML] Variable substitution recursion seems to have bugs 5843 https://bugs.webkit.org/show_bug.cgi?id=27726 5844 5845 Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements. 5846 Required by the specification - assure it only works in linear order. A setvar element may 5847 not depend on the variable state of a following setvar element, only the previous ones. 5848 5849 Extend wml/variable-reference-valid.html layout test to cover these cases. 5850 5851 * wml/WMLTaskElement.cpp: 5852 (WebCore::WMLTaskElement::storeVariableState): 5853 58542009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 5855 5856 Reviewed by George Staikos. 5857 5858 [WML] Page title doesn't update after variable substitution, if it contained variables 5859 https://bugs.webkit.org/show_bug.cgi?id=27725 5860 5861 Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition 5862 too much, leading to a bug with 1-char variable names, which were not detected properly. 5863 5864 Extend wml/variable-reference-valid.html layout test to cover 1-char variable names. 5865 Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names. 5866 5867 * wml/WMLVariables.cpp: 5868 (WebCore::containsVariableReference): 5869 58702009-07-28 Robert Hogan <robert@roberthogan.net> 5871 5872 Reviewed by Simon Hausmann. 5873 5874 Add WebKit version API to Qt. 5875 5876 Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig 5877 at compile time and make it available to webkit ports through WebKitVersion.h. 5878 5879 https://bugs.webkit.org/show_bug.cgi?id=27158 5880 5881 * WebCore.pro: Call generate-webkitversion.pl 5882 58832009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 5884 5885 Unreviewed make dist build fix. 5886 5887 * GNUmakefile.am: 5888 58892009-07-28 Mike Fenton <mike.fenton@torchmobile.com> 5890 5891 Reviewed by Adam Treat. 5892 5893 Replace hardcoded separator text with proper separator. 5894 Also adjusts include order as per style guidelines. 5895 5896 https://bugs.webkit.org/show_bug.cgi?id=27763 5897 5898 * platform/qt/PopupMenuQt.cpp: 5899 (WebCore::PopupMenu::populate): 5900 59012009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 5902 5903 Reviewed by Steve Falkenburg. 5904 5905 Add output directory for VS pre-build steps to enable out-of-tree builds 5906 5907 https://bugs.webkit.org/show_bug.cgi?id=27700 5908 5909 The tmp.obj file is now placed in the intermediate build directory. 5910 5911 * WebCore.vcproj/WebCoreCommon.vsprops: 5912 59132009-07-28 Pavel Feldman <pfeldman@chromium.org> 5914 5915 Reviewed by Timothy Hatcher. 5916 5917 Web Inspector: Add inspected node using public console API. 5918 5919 https://bugs.webkit.org/show_bug.cgi?id=27758 5920 5921 * inspector/front-end/Console.js: 5922 (WebInspector.Console.prototype.addInspectedNode): 5923 * inspector/front-end/ElementsPanel.js: 5924 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 5925 (WebInspector.ElementsPanel): 5926 59272009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 5928 5929 Reviewed by George Staikos. 5930 5931 [WML] <do> elements with a <noop> task shouldn't be exposed to the user 5932 https://bugs.webkit.org/show_bug.cgi?id=27724 5933 5934 Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec. 5935 Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml. 5936 5937 * manual-tests/wml/task-noop-in-do.wml: Removed. 5938 * wml/WMLNoopElement.cpp: 5939 (WebCore::WMLNoopElement::insertedIntoDocument): 5940 59412009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com> 5942 5943 Reviewed by Simon Hausmann. 5944 5945 [Qt] Disable some compiler warnings for the win build 5946 https://bugs.webkit.org/show_bug.cgi?id=27709 5947 5948 * WebCore.pro: Move the msvc options to WebKit.pri 5949 59502009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 5951 5952 Reviewed by Tor Arne Vestbø 5953 5954 Make equality checks for logging channel names ignore casing. 5955 5956 * platform/Logging.cpp: 5957 (WebCore::getChannelFromName): 5958 59592009-07-28 Jan Michael Alonzo <jmalonzo@webkit.org> 5960 5961 Reviewed by Xan Lopez. 5962 5963 [Gtk] Refactor ResourceHandleSoup - make start* functions static 5964 https://bugs.webkit.org/show_bug.cgi?id=27687 5965 5966 * platform/network/ResourceHandle.h: 5967 * platform/network/soup/ResourceHandleSoup.cpp: 5968 (WebCore::startData): 5969 (WebCore::startHttp): 5970 (WebCore::): 5971 59722009-07-28 Xan Lopez <xlopez@igalia.com> 5973 5974 Reviewed by Gustavo Noronha. 5975 5976 https://bugs.webkit.org/show_bug.cgi?id=25415 5977 [GTK][ATK] Please implement support for get_text_at_offset 5978 5979 Do not cache the pango layout in the object, since the layout of 5980 the page can change between calls. 5981 5982 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 5983 59842009-07-23 Anton Muhin <antonm@chromium.org> 5985 5986 Reviewed by Adam Barth. 5987 5988 Simplify management of Nodes in weak handles callbacks. 5989 https://bugs.webkit.org/show_bug.cgi?id=27628 5990 5991 * bindings/v8/V8DOMMap.cpp: 5992 (WebCore::weakNodeCallback): 5993 59942009-07-28 Brian Weinstein <bweinstein@apple.com> 5995 5996 Rubber-stamped by David Levin. 5997 5998 Fix error handling of GetIconInfo (returns a bool). 5999 6000 * platform/win/DragImageWin.cpp: 6001 (WebCore::createDragImageIconForCachedImage): 6002 60032009-07-27 Brian Weinstein <bweinstein@apple.com> 6004 6005 Reviewed by Jon Honeycutt. 6006 6007 Fix of <rdar://5015949> Drag Icon is not produced for over sized images. 6008 6009 Implemented the createDragImageIconForCachedImage function by using the Windows 6010 SHFILEINFO structure. 6011 6012 * platform/win/DragImageWin.cpp: 6013 (WebCore::createDragImageIconForCachedImage): 6014 60152009-07-25 Adam Barth <abarth@webkit.org> 6016 6017 Reviewed by David Levin. 6018 6019 [V8] Split up V8DOMMap.cpp by class 6020 https://bugs.webkit.org/show_bug.cgi?id=27685 6021 6022 No behavior change. Just copy-and-paste. 6023 6024 * WebCore.gypi: 6025 * bindings/v8/ChildThreadDOMData.cpp: Added. 6026 (WebCore::ChildThreadDOMData::ChildThreadDOMData): 6027 (WebCore::ChildThreadDOMData::getStore): 6028 * bindings/v8/ChildThreadDOMData.h: Added. 6029 * bindings/v8/DOMData.cpp: Added. 6030 (WebCore::DOMData::DOMData): 6031 (WebCore::DOMData::getCurrent): 6032 (WebCore::DOMData::getCurrentMainThread): 6033 (WebCore::DOMData::handleWeakObject): 6034 (WebCore::DOMData::ensureDeref): 6035 (WebCore::DOMData::derefObject): 6036 (WebCore::DOMData::derefDelayedObjects): 6037 (WebCore::DOMData::derefDelayedObjectsInCurrentThread): 6038 (WebCore::DOMData::removeObjectsFromWrapperMap): 6039 * bindings/v8/DOMData.h: Added. 6040 (WebCore::): 6041 * bindings/v8/DOMDataStore.cpp: Added. 6042 (WebCore::DOMDataStore::DOMDataStore): 6043 (WebCore::DOMDataStore::~DOMDataStore): 6044 (WebCore::DOMDataStore::allStores): 6045 (WebCore::DOMDataStore::allStoresMutex): 6046 (WebCore::DOMDataStore::getDOMWrapperMap): 6047 (WebCore::forget): 6048 (WebCore::DOMDataStore::weakDOMObjectCallback): 6049 (WebCore::DOMDataStore::weakActiveDOMObjectCallback): 6050 (WebCore::DOMDataStore::weakNodeCallback): 6051 (WebCore::DOMDataStore::weakSVGElementInstanceCallback): 6052 (WebCore::DOMDataStore::weakSVGObjectWithContextCallback): 6053 * bindings/v8/DOMDataStore.h: Added. 6054 (WebCore::DOMDataStore::): 6055 (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): 6056 (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly): 6057 (WebCore::DOMDataStore::domData): 6058 (WebCore::DOMDataStore::domNodeMap): 6059 (WebCore::DOMDataStore::domObjectMap): 6060 (WebCore::DOMDataStore::activeDomObjectMap): 6061 (WebCore::DOMDataStore::domSvgElementInstanceMap): 6062 (WebCore::DOMDataStore::domSvgObjectWithContextMap): 6063 * bindings/v8/MainThreadDOMData.cpp: Added. 6064 (WebCore::MainThreadDOMData::MainThreadDOMData): 6065 (WebCore::MainThreadDOMData::getStore): 6066 * bindings/v8/MainThreadDOMData.h: Added. 6067 * bindings/v8/ScopedDOMDataStore.cpp: Added. 6068 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): 6069 (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): 6070 * bindings/v8/ScopedDOMDataStore.h: Added. 6071 * bindings/v8/StaticDOMDataStore.cpp: Added. 6072 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 6073 * bindings/v8/StaticDOMDataStore.h: Added. 6074 * bindings/v8/V8DOMMap.cpp: 6075 60762009-07-27 Mark Rowe <mrowe@apple.com> 6077 6078 Reviewed by Darin Adler. 6079 6080 <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread 6081 6082 Add a method for detecting if we're being used within Microsoft Messenger. 6083 6084 * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries. 6085 * platform/mac/RuntimeApplicationChecks.h: 6086 * platform/mac/RuntimeApplicationChecks.mm: 6087 (WebCore::applicationIsMicrosoftMessenger): 6088 60892009-07-27 Jian Li <jianli@chromium.org> 6090 6091 Reviewed by David Levin. 6092 6093 [V8] Implement EventListener::reportError for V8 event listeners in worker context. 6094 https://bugs.webkit.org/show_bug.cgi?id=27731 6095 6096 * bindings/v8/V8WorkerContextEventListener.cpp: 6097 (WebCore::V8WorkerContextEventListener::reportError): 6098 * bindings/v8/V8WorkerContextEventListener.h: 6099 61002009-07-27 Stephen White <senorblanco@chromium.org> 6101 6102 Reviewed by Eric Seidel and David Levin. 6103 6104 Re-apply chromium/skia border fix (originally landed in r46157, 6105 reverted in r46363), since it was not the cause of the reliability 6106 failures in Chromium. 6107 6108 http://bugs.webkit.org/show_bug.cgi?id=27388 6109 6110 * platform/graphics/skia/GraphicsContextSkia.cpp: 6111 (WebCore::GraphicsContext::drawLine): 6112 * platform/graphics/skia/PlatformContextSkia.cpp: 6113 (PlatformContextSkia::setupPaintForStroking): 6114 61152009-07-27 Ryosuke Niwa <rniwa@webkit.org> 6116 6117 Reviewed by Justin Garcia. 6118 6119 createMarkup does not handle CSS properly 6120 https://bugs.webkit.org/show_bug.cgi?id=27660 6121 6122 This patch isolates code that creates markup for styles in addStyleMarkup 6123 It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup 6124 so that we can assume no text decoration style is passed to addStyleMarkup. 6125 6126 * editing/markup.cpp: 6127 (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration 6128 (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags 6129 (WebCore::addStyleMarkup): Adds markup for style span and div 6130 (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup 6131 61322009-07-27 Eric Seidel <eric@webkit.org> 6133 6134 Reviewed by Adam Barth. 6135 6136 fix more obvious global object lookups 6137 https://bugs.webkit.org/show_bug.cgi?id=27745 6138 6139 No new tests for these changes. I believe in many cases 6140 testing to be impossible. Lack of testing justification next to 6141 each change below. The remaining pieces of bug 27634 will all 6142 need tests. 6143 6144 * bindings/js/JSDOMWindowBase.cpp: 6145 (WebCore::JSDOMWindowBase::updateDocument): not testable. 6146 * bindings/js/JSDataGridColumnListCustom.cpp: 6147 (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature. 6148 * bindings/js/JSEventListener.cpp: 6149 (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame 6150 * bindings/js/JSEventTarget.cpp: 6151 (WebCore::toJS): covered by other tests, always correct to pass the globalObject through. 6152 * bindings/js/JSHTMLElementCustom.cpp: 6153 (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered. 6154 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 6155 (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with. 6156 * bindings/js/JSLazyEventListener.cpp: 6157 (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event. 6158 * bindings/js/ScriptController.cpp: 6159 (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test. 6160 * bindings/js/ScriptEventListener.cpp: 6161 (WebCore::createAttributeEventListener): unclear how to test. 6162 * bindings/js/ScriptObject.cpp: 6163 (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only. 6164 * bindings/js/ScriptObjectQuarantine.cpp: 6165 (WebCore::getQuarantinedScriptObject): unclear how to test. 6166 * bindings/objc/DOMInternal.mm: 6167 (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test. 6168 61692009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 6170 6171 Reviewed by George Staikos. 6172 6173 [WML] 'title' attribute handling not correct for <a> / <anchor> elements 6174 https://bugs.webkit.org/show_bug.cgi?id=27720 6175 6176 Unify title() implementation in WMLElement instead of several copies of the same logic. 6177 We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the 6178 WML manual-test suite. 6179 6180 * wml/WMLCardElement.cpp: 6181 * wml/WMLCardElement.h: 6182 * wml/WMLElement.cpp: 6183 (WebCore::WMLElement::title): 6184 * wml/WMLElement.h: 6185 * wml/WMLOptGroupElement.cpp: 6186 * wml/WMLOptGroupElement.h: 6187 * wml/WMLSelectElement.cpp: 6188 * wml/WMLSelectElement.h: 6189 61902009-07-27 Adam Treat <adam.treat@torchmobile.com> 6191 6192 Speculative build fix for Windows and WinCE. 6193 6194 * plugins/win/PluginPackageWin.cpp: 6195 (WebCore::PluginPackage::load): 6196 61972009-07-27 Ojan Vafai <ojan@chromium.org> 6198 6199 Reviewed by Darin Adler. 6200 6201 https://bugs.webkit.org/show_bug.cgi?id=27474 6202 Fixes crashes due to renderer getting destroyed in updateLayout. 6203 We need to call updateLayout before we call into the renderer. 6204 Removed the updateLayout call from RenderTextControl and moved it 6205 into the calling sites. 6206 6207 Also changes updateLayout to updateLayoutIgnorePendingStylesheets so 6208 this works with pending stylesheets. Unfortunately, this seems to be 6209 untestable. Loading an external stylesheet and then having an inline 6210 script hit this code did not result in an pending stylesheets. 6211 6212 The are other cases of this bug in the rendering code. I'll file a 6213 followup bug to audit the calls to updateLayout. 6214 6215 Test: fast/dom/text-control-crash-on-select.html 6216 6217 * dom/Document.h: 6218 (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance 6219 and setSelectionRange could deal with cases of reentrancy into updateLayout 6220 calls. This happens in a couple layout tests. 6221 * dom/InputElement.cpp: 6222 (WebCore::InputElement::updateSelectionRange): 6223 * html/HTMLInputElement.cpp: 6224 (WebCore::isTextFieldWithRendererAfterUpdateLayout): 6225 (WebCore::HTMLInputElement::setSelectionStart): 6226 (WebCore::HTMLInputElement::setSelectionEnd): 6227 (WebCore::HTMLInputElement::select): 6228 * html/HTMLTextAreaElement.cpp: 6229 (WebCore::rendererAfterUpdateLayout): 6230 (WebCore::HTMLTextAreaElement::setSelectionStart): 6231 (WebCore::HTMLTextAreaElement::setSelectionEnd): 6232 (WebCore::HTMLTextAreaElement::select): 6233 (WebCore::HTMLTextAreaElement::setSelectionRange): 6234 (WebCore::HTMLTextAreaElement::updateFocusAppearance): 6235 * rendering/RenderTextControl.cpp: 6236 (WebCore::RenderTextControl::setSelectionRange): 6237 62382009-07-27 Dimitri Glazkov <dglazkov@chromium.org> 6239 6240 Reviewed by Dave Levin. 6241 6242 [V8] Remove parameterless frame/window retrieval methods from V8Proxy. 6243 https://bugs.webkit.org/show_bug.cgi?id=27737 6244 6245 Refactoring, no new behavior, covered by existing tests. 6246 6247 * bindings/v8/ScriptCallStack.cpp: 6248 (WebCore::ScriptCallStack::ScriptCallStack): 6249 * bindings/v8/V8NPUtils.cpp: 6250 (convertV8ObjectToNPVariant): Ditto. 6251 * bindings/v8/V8Proxy.cpp: 6252 (WebCore::V8Proxy::retrieve): Ditto. 6253 (WebCore::V8Proxy::canAccessPrivate): Ditto. 6254 * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls. 6255 * bindings/v8/custom/V8DatabaseCustom.cpp: 6256 (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext(). 6257 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 6258 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6259 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 6260 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6261 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 6262 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6263 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 6264 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6265 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 6266 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6267 * bindings/v8/custom/V8WorkerCustom.cpp: 6268 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6269 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 6270 (WebCore::CALLBACK_FUNC_DECL): Ditto. 6271 62722009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 6273 6274 Reviewed by George Staikos. 6275 6276 [WML] 'onpick' intrinsic event handling missing 6277 https://bugs.webkit.org/show_bug.cgi?id=27723 6278 6279 Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState(). 6280 All was in place, just forgot to enable the relevant code. 6281 6282 Fixes manual-tests/wml/select-onpick-event.wml 6283 Test: wml/option-element-onpick.html 6284 6285 * wml/WMLOptionElement.cpp: 6286 (WebCore::WMLOptionElement::setSelectedState): 6287 62882009-07-27 Alexey Proskuryakov <ap@webkit.org> 6289 6290 Reviewed by Darin Adler. 6291 6292 https://bugs.webkit.org/show_bug.cgi?id=27735 6293 Give a helpful name to JSLock constructor argument 6294 6295 * bindings/js/GCController.cpp: 6296 (WebCore::collect): 6297 (WebCore::GCController::gcTimerFired): 6298 (WebCore::GCController::garbageCollectNow): 6299 * bindings/js/JSCustomPositionCallback.cpp: 6300 (WebCore::JSCustomPositionCallback::handleEvent): 6301 * bindings/js/JSCustomPositionErrorCallback.cpp: 6302 (WebCore::JSCustomPositionErrorCallback::handleEvent): 6303 * bindings/js/JSCustomSQLStatementCallback.cpp: 6304 (WebCore::JSCustomSQLStatementCallback::handleEvent): 6305 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 6306 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 6307 * bindings/js/JSCustomSQLTransactionCallback.cpp: 6308 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 6309 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 6310 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 6311 * bindings/js/JSCustomVoidCallback.cpp: 6312 (WebCore::JSCustomVoidCallback::handleEvent): 6313 * bindings/js/JSCustomXPathNSResolver.cpp: 6314 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 6315 * bindings/js/JSEventCustom.cpp: 6316 (WebCore::toJS): 6317 * bindings/js/JSEventListener.cpp: 6318 (WebCore::JSEventListener::handleEvent): 6319 * bindings/js/JSInspectorBackendCustom.cpp: 6320 (WebCore::JSInspectorBackend::currentCallFrame): 6321 (WebCore::JSInspectorBackend::profiles): 6322 * bindings/js/JSNodeFilterCondition.cpp: 6323 (WebCore::JSNodeFilterCondition::acceptNode): 6324 * bindings/js/ScheduledAction.cpp: 6325 (WebCore::ScheduledAction::executeFunctionInContext): 6326 * bindings/js/ScriptArray.cpp: 6327 (WebCore::ScriptArray::set): 6328 (WebCore::ScriptArray::createNew): 6329 * bindings/js/ScriptCachedFrameData.cpp: 6330 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 6331 (WebCore::ScriptCachedFrameData::restore): 6332 (WebCore::ScriptCachedFrameData::clear): 6333 * bindings/js/ScriptController.cpp: 6334 (WebCore::ScriptController::evaluate): 6335 (WebCore::ScriptController::clearWindowShell): 6336 (WebCore::ScriptController::initScript): 6337 (WebCore::ScriptController::updateDocument): 6338 (WebCore::ScriptController::bindingRootObject): 6339 (WebCore::ScriptController::windowScriptNPObject): 6340 (WebCore::ScriptController::jsObjectForPluginElement): 6341 (WebCore::ScriptController::clearScriptObjects): 6342 * bindings/js/ScriptControllerMac.mm: 6343 (WebCore::ScriptController::windowScriptObject): 6344 * bindings/js/ScriptEventListener.cpp: 6345 (WebCore::createAttributeEventListener): 6346 * bindings/js/ScriptFunctionCall.cpp: 6347 (WebCore::ScriptFunctionCall::appendArgument): 6348 (WebCore::ScriptFunctionCall::call): 6349 (WebCore::ScriptFunctionCall::construct): 6350 * bindings/js/ScriptObject.cpp: 6351 (WebCore::ScriptObject::set): 6352 (WebCore::ScriptObject::createNew): 6353 (WebCore::ScriptGlobalObject::set): 6354 (WebCore::ScriptGlobalObject::get): 6355 (WebCore::ScriptGlobalObject::remove): 6356 * bindings/js/ScriptObjectQuarantine.cpp: 6357 (WebCore::quarantineValue): 6358 (WebCore::getQuarantinedScriptObject): 6359 * bindings/js/ScriptValue.cpp: 6360 (WebCore::ScriptValue::getString): 6361 * bindings/js/WorkerScriptController.cpp: 6362 (WebCore::WorkerScriptController::initScript): 6363 (WebCore::WorkerScriptController::evaluate): 6364 * bindings/objc/WebScriptObject.mm: 6365 (-[WebScriptObject callWebScriptMethod:withArguments:]): 6366 (-[WebScriptObject evaluateWebScript:]): 6367 (-[WebScriptObject setValue:forKey:]): 6368 (-[WebScriptObject valueForKey:]): 6369 (-[WebScriptObject removeWebScriptKey:]): 6370 (-[WebScriptObject stringRepresentation]): 6371 (-[WebScriptObject webScriptValueAtIndex:]): 6372 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 6373 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 6374 * bridge/NP_jsobject.cpp: 6375 (_NPN_InvokeDefault): 6376 (_NPN_Invoke): 6377 (_NPN_Evaluate): 6378 (_NPN_GetProperty): 6379 (_NPN_SetProperty): 6380 (_NPN_RemoveProperty): 6381 (_NPN_HasProperty): 6382 (_NPN_HasMethod): 6383 (_NPN_Enumerate): 6384 (_NPN_Construct): 6385 * bridge/c/c_class.cpp: 6386 (JSC::Bindings::CClass::~CClass): 6387 (JSC::Bindings::CClass::methodsNamed): 6388 (JSC::Bindings::CClass::fieldNamed): 6389 * bridge/c/c_instance.cpp: 6390 (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): 6391 (JSC::Bindings::CInstance::invokeMethod): 6392 (JSC::Bindings::CInstance::invokeDefaultMethod): 6393 (JSC::Bindings::CInstance::invokeConstruct): 6394 (JSC::Bindings::CInstance::getPropertyNames): 6395 * bridge/c/c_runtime.cpp: 6396 (JSC::Bindings::CField::valueFromInstance): 6397 (JSC::Bindings::CField::setValueToInstance): 6398 * bridge/c/c_utility.cpp: 6399 (JSC::Bindings::convertValueToNPVariant): 6400 (JSC::Bindings::convertNPVariantToValue): 6401 * bridge/jni/jni_class.cpp: 6402 (JavaClass::JavaClass): 6403 (JavaClass::~JavaClass): 6404 * bridge/jni/jni_instance.cpp: 6405 (JavaInstance::stringValue): 6406 * bridge/jni/jni_jsobject.mm: 6407 (JavaJSObject::call): 6408 (JavaJSObject::eval): 6409 (JavaJSObject::getMember): 6410 (JavaJSObject::setMember): 6411 (JavaJSObject::removeMember): 6412 (JavaJSObject::getSlot): 6413 (JavaJSObject::setSlot): 6414 (JavaJSObject::toString): 6415 (JavaJSObject::convertValueToJObject): 6416 (JavaJSObject::convertJObjectToValue): 6417 * bridge/jni/jni_objc.mm: 6418 (JSC::Bindings::dispatchJNICall): 6419 * bridge/jni/jni_runtime.cpp: 6420 (JavaMethod::signature): 6421 * bridge/jni/jni_runtime.h: 6422 (JSC::Bindings::JavaString::JavaString): 6423 (JSC::Bindings::JavaString::_commonInit): 6424 (JSC::Bindings::JavaString::~JavaString): 6425 (JSC::Bindings::JavaString::UTF8String): 6426 * bridge/jni/jni_utility.cpp: 6427 (JSC::Bindings::convertValueToJValue): 6428 * bridge/objc/objc_instance.mm: 6429 (ObjcInstance::moveGlobalExceptionToExecState): 6430 (ObjcInstance::invokeMethod): 6431 (ObjcInstance::invokeDefaultMethod): 6432 (ObjcInstance::setValueOfUndefinedField): 6433 (ObjcInstance::getValueOfUndefinedField): 6434 * bridge/objc/objc_runtime.mm: 6435 (JSC::Bindings::ObjcField::valueFromInstance): 6436 (JSC::Bindings::ObjcField::setValueToInstance): 6437 * bridge/objc/objc_utility.mm: 6438 (JSC::Bindings::convertValueToObjcValue): 6439 (JSC::Bindings::convertNSStringToString): 6440 (JSC::Bindings::convertObjcValueToValue): 6441 * bridge/qt/qt_instance.cpp: 6442 (JSC::Bindings::QtRuntimeObjectImp::removeFromCache): 6443 (JSC::Bindings::QtInstance::~QtInstance): 6444 (JSC::Bindings::QtInstance::getQtInstance): 6445 (JSC::Bindings::QtInstance::createRuntimeObject): 6446 * bridge/qt/qt_runtime.cpp: 6447 (JSC::Bindings::convertValueToQVariant): 6448 (JSC::Bindings::convertQVariantToValue): 6449 (JSC::Bindings::QtRuntimeMetaMethod::call): 6450 (JSC::Bindings::QtRuntimeConnectionMethod::call): 6451 (JSC::Bindings::QtConnectionObject::execute): 6452 * bridge/runtime.cpp: 6453 (JSC::Bindings::Instance::createRuntimeObject): 6454 * inspector/InspectorController.cpp: 6455 (WebCore::InspectorController::addScriptProfile): 6456 * inspector/JavaScriptCallFrame.cpp: 6457 (WebCore::JavaScriptCallFrame::evaluate): 6458 * inspector/JavaScriptDebugServer.cpp: 6459 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 6460 * inspector/JavaScriptProfileNode.cpp: 6461 (WebCore::getTotalTime): 6462 (WebCore::getSelfTime): 6463 (WebCore::getTotalPercent): 6464 (WebCore::getSelfPercent): 6465 (WebCore::getNumberOfCalls): 6466 (WebCore::getChildren): 6467 (WebCore::getParent): 6468 (WebCore::getHead): 6469 (WebCore::getVisible): 6470 (WebCore::getCallUID): 6471 * plugins/PluginView.cpp: 6472 (WebCore::PluginView::start): 6473 (WebCore::getString): 6474 (WebCore::PluginView::performRequest): 6475 (WebCore::PluginView::bindingInstance): 6476 * plugins/gtk/PluginViewGtk.cpp: 6477 (WebCore::PluginView::dispatchNPEvent): 6478 (WebCore::PluginView::handleKeyboardEvent): 6479 (WebCore::PluginView::handleMouseEvent): 6480 (WebCore::PluginView::setNPWindowIfNeeded): 6481 (WebCore::PluginView::stop): 6482 (WebCore::PluginView::init): 6483 * plugins/mac/PluginViewMac.cpp: 6484 (WebCore::PluginView::stop): 6485 (WebCore::PluginView::setNPWindowIfNeeded): 6486 (WebCore::PluginView::dispatchNPEvent): 6487 * plugins/qt/PluginViewQt.cpp: 6488 (WebCore::PluginView::setNPWindowIfNeeded): 6489 (WebCore::PluginView::stop): 6490 (WebCore::PluginView::init): 6491 * plugins/win/PluginViewWin.cpp: 6492 (WebCore::PluginView::dispatchNPEvent): 6493 (WebCore::PluginView::handleKeyboardEvent): 6494 (WebCore::PluginView::handleMouseEvent): 6495 (WebCore::PluginView::setNPWindowRect): 6496 (WebCore::PluginView::stop): 6497 64982009-07-27 Yong Li <yong.li@torchmobile.com> 6499 6500 Reviewed by George Staikos. 6501 6502 WINCE PORT: Make plugin work for WINCE 6503 https://bugs.webkit.org/show_bug.cgi?id=27713 6504 6505 * plugins/win/PluginDatabaseWin.cpp: 6506 (SHGetValue): 6507 (PathRemoveFileSpec): 6508 (WebCore::addWindowsMediaPlayerPluginDirectory): 6509 (WebCore::addMacromediaPluginDirectories): 6510 * plugins/win/PluginPackageWin.cpp: 6511 (WebCore::PluginPackage::load): 6512 * plugins/win/PluginViewWin.cpp: 6513 (WebCore::registerPluginView): 6514 (WebCore::PluginView::wndProc): 6515 (WebCore::PluginView::updatePluginWidget): 6516 (WebCore::PluginView::paintWindowedPluginIntoContext): 6517 (WebCore::PluginView::paint): 6518 (WebCore::PluginView::handleMouseEvent): 6519 (WebCore::PluginView::setParent): 6520 (WebCore::PluginView::setNPWindowRect): 6521 (WebCore::PluginView::stop): 6522 (WebCore::PluginView::init): 6523 65242009-07-27 Joseph Pecoraro <joepeck02@gmail.com> 6525 6526 Inspector: Tab Through Element Attributes and CSS Properties When Editing 6527 6528 https://bugs.webkit.org/show_bug.cgi?id=27673 6529 6530 Reviewed by Timothy Hatcher. 6531 6532 * inspector/front-end/ElementsTreeOutline.js: 6533 (WebInspector.ElementsTreeElement): 6534 (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter 6535 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess 6536 (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it 6537 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes 6538 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 6539 * inspector/front-end/StylesSidebarPane.js: 6540 (WebInspector.StylePropertiesSection.prototype.onpopulate): 6541 (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name 6542 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties 6543 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements 6544 (WebInspector.StylePropertyTreeElement.prototype.): 6545 (WebInspector.StylePropertyTreeElement.prototype): 6546 * inspector/front-end/inspector.js: 6547 (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback 6548 (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction 6549 (WebInspector.startEditing): 6550 65512009-07-27 Mike Fenton <mike.fenton@torchmobile.com> 6552 6553 Reviewed by Adam Treat. 6554 6555 Add mapping FontWeight to QFont::Weight values as requested via FIXME. 6556 https://bugs.webkit.org/show_bug.cgi?id=27663 6557 6558 * platform/graphics/qt/FontCacheQt.cpp: 6559 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 6560 * platform/graphics/qt/FontPlatformData.h: 6561 (WebCore::FontPlatformData::toQFontWeight): 6562 * platform/graphics/qt/FontPlatformDataQt.cpp: 6563 (WebCore::FontPlatformData::FontPlatformData): 6564 65652009-07-27 Jakub Wieczorek <faw217@gmail.com> 6566 6567 Reviewed by Adam Treat. 6568 6569 When clearing the plugin database, clear also the timestamp map. 6570 6571 https://bugs.webkit.org/show_bug.cgi?id=27651 6572 6573 Currently, if we clear the database, it will still think that it is up 6574 to date with the plugin directories so refreshing the database again 6575 after changing the search paths may not work. 6576 6577 * plugins/PluginDatabase.cpp: 6578 (WebCore::PluginDatabase::clear): 6579 65802009-07-27 Albert J. Wong <ajwong@chromium.org> 6581 6582 Reviewed by David Levin. 6583 6584 Add in trivial implementation of FontPlatformData::description() for 6585 linux to fix build bustage in chromium. 6586 6587 Fix chromium linux build by adding missing function implementation. 6588 https://bugs.webkit.org/show_bug.cgi?id=27732 6589 6590 Tested with a build of chromium on linux. 6591 6592 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 6593 (WebCore::FontPlatformData::description): 6594 * platform/graphics/chromium/FontPlatformDataLinux.h: 6595 65962009-07-27 Brent Fulgham <bfulgham@webkit.org> 6597 6598 Build correct, no review. 6599 6600 Final correction for WinCairo builds. 6601 CoreServices only exists in Apple builds, but 6602 some of its internal includes (e.g., <windows.h>) are needed 6603 for other Windows targets. 6604 6605 * WebCorePrefix.h: When building for WinCairo, make sure 6606 to include <windows.h>, <stdio.h>, and <ConditionalMacros.h> 6607 66082009-07-27 Michelangelo De Simone <micdesim@gmail.com> 6609 6610 Reviewed by Darin Adler. 6611 6612 https://bugs.webkit.org/show_bug.cgi?id=25552 6613 Added new "pattern" attribute to HTMLInputElement and validation code 6614 (validity.patternMismatch) as per HTML5 specs. 6615 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern 6616 6617 Tests: fast/forms/ValidityState-002.html 6618 fast/forms/ValidityState-patternMismatch-001.html 6619 fast/forms/ValidityState-patternMismatch-002.html 6620 fast/forms/ValidityState-patternMismatch-003.html 6621 fast/forms/ValidityState-patternMismatch-004.html 6622 fast/forms/ValidityState-patternMismatch-005.html 6623 fast/forms/ValidityState-patternMismatch-006.html 6624 fast/forms/ValidityState-patternMismatch-007.html 6625 fast/forms/pattern-attribute-001.html 6626 fast/forms/pattern-attribute-002.html 6627 fast/forms/pattern-attribute-003.html 6628 6629 * html/HTMLAttributeNames.in: pattern attribute 6630 * html/HTMLFormControlElement.h: 6631 (WebCore::HTMLFormControlElement::patternMismatch): method definition 6632 * html/HTMLInputElement.cpp: 6633 (WebCore::HTMLInputElement::patternMismatch): validation method 6634 * html/HTMLInputElement.h: 6635 * html/HTMLInputElement.idl: 6636 * html/ValidityState.h: 6637 (WebCore::ValidityState::patternMismatch): validation flag 6638 66392009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 6640 6641 Reviewed by George Staikos. 6642 6643 [WML] Manual WML tests aren't properly working 6644 https://bugs.webkit.org/show_bug.cgi?id=27718 6645 6646 Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests). 6647 Add missing resources directory and test image. Reformat all testcases to a common style. 6648 Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests. 6649 6650 Filing bugs soon for all tests exposing bugs (7 in total). 6651 6652 * manual-tests/wml/StartTests.wml: Added. 6653 * manual-tests/wml/a-br-element.wml: 6654 * manual-tests/wml/a-element.wml: 6655 * manual-tests/wml/a-img-element.wml: 6656 * manual-tests/wml/access-target.wml: 6657 * manual-tests/wml/anchor-br-element.wml: 6658 * manual-tests/wml/anchor-element.wml: 6659 * manual-tests/wml/anchor-img-element.wml: 6660 * manual-tests/wml/card-newcontext-attr.wml: 6661 * manual-tests/wml/card-onenterbackward.wml: 6662 * manual-tests/wml/card-onenterforward.wml: 6663 * manual-tests/wml/card-ontimer.wml: 6664 * manual-tests/wml/card-title-attr.wml: Removed. 6665 * manual-tests/wml/deck-access-control.wml: 6666 * manual-tests/wml/go-element.wml: Removed. 6667 * manual-tests/wml/input-emptyok.wml: Removed. 6668 * manual-tests/wml/input-format.wml: 6669 * manual-tests/wml/onevent-go.wml: 6670 * manual-tests/wml/onevent-noop.wml: 6671 * manual-tests/wml/onevent-prev.wml: 6672 * manual-tests/wml/onevent-refresh.wml: 6673 * manual-tests/wml/onevent-shadow.wml: 6674 * manual-tests/wml/postfield-get.wml: Removed. 6675 * manual-tests/wml/postfield-post.wml: Removed. 6676 * manual-tests/wml/resources: Added. 6677 * manual-tests/wml/resources/smiley.png: Added. 6678 * manual-tests/wml/select-element.wml: 6679 * manual-tests/wml/select-onpick-event.wml: 6680 * manual-tests/wml/setvar-element.wml: 6681 * manual-tests/wml/targetdeck.wml: 6682 * manual-tests/wml/task-go-in-anchor.wml: 6683 * manual-tests/wml/task-noop-in-do.wml: 6684 * manual-tests/wml/task-noop-in-onevent.wml: Removed. 6685 * manual-tests/wml/task-prev-in-anchor.wml: 6686 * manual-tests/wml/task-refresh-in-anchor.wml: 6687 * manual-tests/wml/template-go.wml: 6688 * manual-tests/wml/template-onevent.wml: Removed. 6689 * manual-tests/wml/template-ontimer.wml: 6690 * manual-tests/wml/timer.wml: 6691 * manual-tests/wml/variable-substitution.wml: 6692 66932009-07-27 Nate Chapin <japhet@chromium.org> 6694 6695 Reviewed by Dimitri Glazkov. 6696 6697 Fix a regression introduced in r42671, which caused the js event 6698 object to be hidden (some websites depend on being able to access it). 6699 6700 https://bugs.webkit.org/show_bug.cgi?id=27719 6701 6702 * bindings/v8/V8AbstractEventListener.cpp: 6703 (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden. 6704 67052009-07-27 Dumitru Daniliuc <dumi@chromium.org> 6706 6707 Reviewed by Dimitri Glazkov. 6708 6709 Removing a no-op block of code in DatabaseTracker.cpp that 6710 should've been removed in the patch for bug 26054. 6711 6712 https://bugs.webkit.org/show_bug.cgi?id=27666 6713 6714 All tests in WebCore/storage pass. 6715 6716 * storage/DatabaseTracker.cpp: 6717 (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op 6718 block of code that was moved to SQLiteFileSystem.cpp and should 6719 have been removed from DatabaseTracker.cpp 6720 67212009-07-27 Jian Li <jianli@chromium.org> 6722 6723 Reviewed by David Levin. 6724 6725 Fix error handling in dedicated worker and worker context. 6726 https://bugs.webkit.org/show_bug.cgi?id=27525 6727 6728 The following problems have been fixed: 6729 1) The uncaught runtime script error is not reported using the 6730 WorkerGlobalScope object's onerror attribute. 6731 2) If the error is still not handled afterwards (onerror attribute 6732 is not defined as a function or it returns true), the error should 6733 be reported back to the associated Worker object by firing an 6734 ErrorEvent. 6735 3) If the error is still not handled by the associated Worker 6736 object, the error should be reported to the user. 6737 6738 Test: fast/workers/worker-script-error.html 6739 6740 * bindings/js/JSEventListener.cpp: 6741 (WebCore::JSEventListener::reportError): 6742 * bindings/js/JSEventListener.h: 6743 * dom/EventListener.h: 6744 (WebCore::EventListener::reportError): adds a function to call 6745 EventListener as a function with 3 arguments to report an error. 6746 * workers/AbstractWorker.cpp: 6747 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 6748 * workers/AbstractWorker.h: 6749 * workers/DedicatedWorkerContext.cpp: 6750 (WebCore::DedicatedWorkerContext::reportException): 6751 * workers/WorkerContext.cpp: 6752 (WebCore::WorkerContext::reportException): 6753 * workers/WorkerContext.h: 6754 * workers/WorkerMessagingProxy.cpp: 6755 (WebCore::WorkerExceptionTask::performTask): 6756 * workers/WorkerMessagingProxy.h: 6757 67582009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 6759 6760 Reviewed by George Staikos. 6761 6762 [WML] History handling / page cache / loading is buggy and depends on several hacks 6763 https://bugs.webkit.org/show_bug.cgi?id=27707 6764 6765 Redesign WML history/loading handling. In detail: 6766 6767 - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour 6768 by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect 6769 WML content itself. 6770 6771 WML content is usually a standalone WML document (isWMLDocument()=true) or as special case 6772 an XHTML document which embeds a WML document (that's the way the WML layout tests work). 6773 Force WML loading behaviour even for XHTML document which embed WML documents. This only 6774 applies to our layout tests, not for any real world site. Though it gives us a perfect 6775 way to test the WML loading code even when we're not operating on a standalone WML document. 6776 6777 Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted 6778 in a standalone WML document or wheter the main frame document is different. If it differs 6779 the main frame documents' "containsWMLContent" property is set to true. 6780 6781 -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which 6782 checks if the associated frame document is a WML document or wheter it contains WML content. 6783 6784 - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll' 6785 detection. WML documents (or those containing WML content) always want new loads even for in-page 6786 navigation. No "scroll to anchor" mechanism should apply. 6787 6788 - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent(). 6789 WML pages should never be cached, potential security problem due the use of variables (per spec). 6790 6791 Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling 6792 and history navigation (<prev/> task). 6793 6794 Tests: wml/enter-card-with-events.html 6795 wml/enter-first-card-with-events.html 6796 6797 * dom/Document.cpp: Initialize new 'm_containsWMLContent' property. 6798 (WebCore::Document::Document): 6799 * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above). 6800 (WebCore::Document::setContainsWMLContent): 6801 (WebCore::Document::containsWMLContent): 6802 * history/BackForwardList.cpp: 6803 (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup. 6804 * history/BackForwardList.h: 6805 * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above). 6806 (WebCore::FrameLoader::FrameLoader): 6807 (WebCore::frameContainsWMLContent): 6808 (WebCore::FrameLoader::canCachePageContainingThisFrame): 6809 (WebCore::FrameLoader::shouldReload): 6810 (WebCore::FrameLoader::loadItem): 6811 * loader/FrameLoader.h: 6812 * wml/WMLCardElement.cpp: 6813 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length. 6814 (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document. 6815 * wml/WMLGoElement.cpp: 6816 (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck() 6817 * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own. 6818 (WebCore::WMLPageState::WMLPageState): 6819 (WebCore::WMLPageState::dump): 6820 (WebCore::WMLPageState::reset): 6821 * wml/WMLPageState.h: 6822 68232009-07-27 Pavel Feldman <pfeldman@chromium.org> 6824 6825 Reviewed by Adam Roben. 6826 6827 Fix Chromium build breakage introduced in 46388. 6828 6829 https://bugs.webkit.org/show_bug.cgi?id=27705 6830 6831 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 6832 (WebCore::FontPlatformData::description): 6833 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 6834 68352009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 6836 6837 Reviewed by Simon Hausmann. 6838 6839 Add some more debug logging to PluginViewMac. 6840 6841 * plugins/mac/PluginViewMac.cpp: 6842 68432009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 6844 6845 Reviewed by Jan Michael Alonzo. 6846 6847 Remove dead code from the GTK NPAPI implementation. 6848 6849 * plugins/gtk/PluginViewGtk.cpp: 6850 68512009-07-27 Csaba Osztrogonac <oszi@inf.u-szeged.hu> 6852 6853 Reviewed by Simon Hausmann. 6854 6855 [Qt] Buildfix on Windows. 6856 https://bugs.webkit.org/show_bug.cgi?id=27702 6857 6858 * plugins/win/PluginViewWin.cpp: 6859 (WebCore::PluginView::hookedEndPaint): 6860 Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 6861 assembly, because with "g" constraint, wrong assembly code generated. 6862 68632009-07-27 Pavel Feldman <pfeldman@chromium.org> 6864 6865 Reviewed by Timothy Hatcher. 6866 6867 WebCore bindings: Implement ScriptArray bindings. 6868 6869 https://bugs.webkit.org/show_bug.cgi?id=27691 6870 6871 * GNUmakefile.am: 6872 * WebCore.gypi: 6873 * WebCore.pro: 6874 * WebCore.vcproj/WebCore.vcproj: 6875 * WebCore.xcodeproj/project.pbxproj: 6876 * bindings/js/ScriptArray.cpp: Added. 6877 (WebCore::ScriptArray::ScriptArray): 6878 (WebCore::handleException): 6879 (WebCore::ScriptArray::set): 6880 (WebCore::length): 6881 (WebCore::ScriptArray::createNew): 6882 * bindings/js/ScriptArray.h: Added. 6883 (WebCore::ScriptArray::ScriptArray): 6884 (WebCore::ScriptArray::jsArray): 6885 * bindings/v8/ScriptArray.cpp: Added. 6886 (WebCore::ScriptArray::ScriptArray): 6887 (WebCore::ScriptArray::set): 6888 (WebCore::ScriptArray::length): 6889 (WebCore::ScriptArray::createNew): 6890 * bindings/v8/ScriptArray.h: Added. 6891 (WebCore::ScriptArray::ScriptArray): 6892 (WebCore::ScriptArray::~ScriptArray): 6893 68942009-07-27 Brent Fulgham <bfulgham@webkit.org> 6895 6896 Build correct, no review. 6897 6898 Change in r46407 broke Apple Windows build. 6899 Switch to WinCairo-only test, to avoid any 6900 other platform break. 6901 6902 * WebCorePrefix.h: 6903 69042009-07-26 Brent Fulgham <bfulgham@webkit.org> 6905 6906 Build correct, no review. 6907 6908 Change in r46407 broke Apple Windows build. 6909 6910 * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if 6911 CoreServices.h should be included. 6912 69132009-07-26 Brent Fulgham <bfulgham@webkit.org> 6914 6915 Build correction, no review. 6916 6917 Change in r46195 broke WinCairo build. 6918 6919 * WebCorePrefix.h: CoreServices should be ignored 6920 for non-Apple build. 6921 69222009-07-26 Pavel Feldman <pfeldman@chromium.org> 6923 6924 Reviewed by Timothy Hatcher. 6925 6926 Web Inspector: Implement the breakpoints sidebar pane. 6927 This change adds simple UI support into the existing 6928 BreakpointSidebarPane. 6929 6930 https://bugs.webkit.org/show_bug.cgi?id=11175 6931 6932 * inspector/front-end/Breakpoint.js: 6933 (WebInspector.Breakpoint.prototype.set enabled): 6934 (WebInspector.Breakpoint.prototype.get label): 6935 (WebInspector.Breakpoint.prototype.get id): 6936 * inspector/front-end/BreakpointsSidebarPane.js: 6937 (WebInspector.BreakpointsSidebarPane): 6938 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 6939 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): 6940 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked): 6941 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 6942 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 6943 * inspector/front-end/ScriptsPanel.js: 6944 (WebInspector.ScriptsPanel): 6945 (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID): 6946 * inspector/front-end/inspector.css: 6947 69482009-07-16 Shinichiro Hamaji <hamaji@chromium.org> 6949 6950 Reviewed by Oliver Hunt. 6951 6952 Canvas: rotation of 'no-repeat' pattern still has small error 6953 https://bugs.webkit.org/show_bug.cgi?id=26749 6954 6955 Use 1<<22 as steps of no-repeat pattern to make the error less 6956 than 0.5. The previous value may cause 1 pixel errors. 6957 6958 Add another test to show this bug clearly. 6959 Also add png expected image which was missing in the previous patch. 6960 6961 Test: fast/canvas/image-pattern-rotate.html 6962 6963 * platform/graphics/cg/PatternCG.cpp: 6964 (WebCore::Pattern::createPlatformPattern): 6965 69662009-07-25 Kwang Yul Seo <skyul@company100.net> 6967 6968 Reviewed by Darin Adler. 6969 6970 Windows build break due to warning C4819 6971 https://bugs.webkit.org/show_bug.cgi?id=27416 6972 6973 Disable C4819 warning to fix build. 6974 6975 * WebCore.vcproj/QTMovieWin.vcproj: 6976 * WebCore.vcproj/WebCore.vcproj: 6977 69782009-07-25 Joseph Pecoraro <joepeck02@gmail.com> 6979 6980 Reviewed by Kevin McCullough. 6981 6982 Inspector: Keyboard Shortcuts to Switch Panels 6983 https://bugs.webkit.org/show_bug.cgi?id=27286 6984 6985 * inspector/front-end/inspector.js: 6986 (WebInspector.loaded): save a list of the order of the panels 6987 (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels 6988 69892009-07-25 Laszlo Gombos <laszlo.1.gombos@nokia.com> 6990 6991 Reviewed by George Staikos. 6992 6993 [Qt] Fix build break after r46369 6994 https://bugs.webkit.org/show_bug.cgi?id=27680 6995 6996 * WebCore.pro: 6997 69982009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 6999 7000 Reviewed by George Staikos. 7001 7002 [WML] Variable substitution is buggy 7003 https://bugs.webkit.org/show_bug.cgi?id=27677 7004 7005 Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution 7006 won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html. 7007 7008 * dom/Text.cpp: 7009 (WebCore::Text::attach): 7010 * dom/Text.h: 7011 70122009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 7013 7014 Reviewed by George Staikos. 7015 7016 [WML] WMLDoElement doesn't update its RenderButton object upon attach() 7017 https://bugs.webkit.org/show_bug.cgi?id=27676 7018 7019 WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton. 7020 Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml. 7021 7022 * wml/WMLDoElement.cpp: 7023 (WebCore::WMLDoElement::attach): 7024 * wml/WMLDoElement.h: 7025 70262009-07-25 Pavel Feldman <pfeldman@chromium.org> 7027 7028 Fix Windows build breakage introduced in 46390. 7029 7030 * WebCore.vcproj/WebCore.vcproj: 7031 70322009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7033 7034 Reviewed by Oliver Hunt. 7035 7036 Inspector: Properties Should be Sorted more Naturally 7037 https://bugs.webkit.org/show_bug.cgi?id=27329 7038 7039 * inspector/front-end/ObjectPropertiesSection.js: 7040 (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties 7041 (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort 7042 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties 7043 * inspector/front-end/utilities.js: 7044 (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties 7045 70462009-07-24 Pavel Feldman <pfeldman@chromium.org> 7047 7048 Reviewed by Timothy Hatcher. 7049 7050 Web Inspector: Split InspectorController into InspectorController 7051 and InspectorBackend. Everything frontend needs from InspectorController 7052 will slowly migrate into the InspectorBackend. 7053 7054 https://bugs.webkit.org/show_bug.cgi?id=27541 7055 7056 * DerivedSources.make: 7057 * GNUmakefile.am: 7058 * WebCore.gypi: 7059 * WebCore.pro: 7060 * WebCore.xcodeproj/project.pbxproj: 7061 * WebCoreSources.bkl: 7062 * bindings/js/JSInspectorBackendCustom.cpp: Added. 7063 (WebCore::JSInspectorBackend::highlightDOMNode): 7064 (WebCore::JSInspectorBackend::search): 7065 (WebCore::JSInspectorBackend::databaseTableNames): 7066 (WebCore::JSInspectorBackend::inspectedWindow): 7067 (WebCore::JSInspectorBackend::setting): 7068 (WebCore::JSInspectorBackend::setSetting): 7069 (WebCore::JSInspectorBackend::wrapCallback): 7070 (WebCore::JSInspectorBackend::currentCallFrame): 7071 (WebCore::JSInspectorBackend::profiles): 7072 * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added. 7073 (WebCore::CALLBACK_FUNC_DECL): 7074 * bindings/js/JSInspectorControllerCustom.cpp: Removed. 7075 * bindings/js/ScriptObject.cpp: 7076 (WebCore::ScriptGlobalObject::set): 7077 * bindings/js/ScriptObject.h: 7078 * bindings/v8/DOMObjectsInclude.h: 7079 * bindings/v8/DerivedSourcesAllInOne.cpp: 7080 * bindings/v8/ScriptObject.cpp: 7081 (WebCore::ScriptGlobalObject::set): 7082 * bindings/v8/ScriptObject.h: 7083 * bindings/v8/V8Index.cpp: 7084 * bindings/v8/V8Index.h: 7085 * bindings/v8/custom/V8CustomBinding.h: 7086 * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed. 7087 * inspector/InspectorController.cpp: 7088 (WebCore::InspectorController::InspectorController): 7089 (WebCore::InspectorController::windowScriptObjectAvailable): 7090 * inspector/InspectorController.h: 7091 (WebCore::InspectorController::inspectorBackend): 7092 * inspector/InspectorBackend.cpp: Added. 7093 * inspector/InspectorBackend.h: Added. 7094 (WebCore::InspectorBackend::create): 7095 (WebCore::InspectorBackend::inspectorController): 7096 * inspector/InspectorBackend.idl: Added. 7097 * inspector/InspectorController.idl: Removed. 7098 * inspector/front-end/Resource.js: 7099 * page/Page.cpp: 7100 (WebCore::Page::Page): 7101 * page/Page.h: 7102 71032009-07-25 Mike Fenton <mike.fenton@torchmobile.com> 7104 7105 Reviewed by George Staikos. 7106 7107 Update WebCore/page/Frame.cpp/h to conform to WebKit 7108 Style Guidelines as identified by cpplint.py. 7109 https://bugs.webkit.org/show_bug.cgi?id=27654 7110 7111 * page/Frame.cpp: 7112 (WebCore::Frame::Frame): 7113 (WebCore::Frame::~Frame): 7114 (WebCore::Frame::setDocument): 7115 (WebCore::Frame::firstRectForRange): 7116 (WebCore::createRegExpForLabels): 7117 (WebCore::Frame::searchForLabelsBeforeElement): 7118 (WebCore::Frame::matchLabelsAgainstElement): 7119 (WebCore::Frame::selectionLayoutChanged): 7120 (WebCore::Frame::setZoomFactor): 7121 (WebCore::Frame::reapplyStyles): 7122 (WebCore::Frame::isContentEditable): 7123 (WebCore::Frame::computeAndSetTypingStyle): 7124 (WebCore::Frame::selectionStartStylePropertyValue): 7125 (WebCore::Frame::selectionComputedStyle): 7126 (WebCore::Frame::applyEditingStyleToBodyElement): 7127 (WebCore::Frame::removeEditingStyleFromBodyElement): 7128 (WebCore::Frame::applyEditingStyleToElement): 7129 (WebCore::Frame::selectionBounds): 7130 (WebCore::Frame::currentForm): 7131 (WebCore::Frame::revealSelection): 7132 (WebCore::Frame::styleForSelectionStart): 7133 (WebCore::Frame::setSelectionFromNone): 7134 (WebCore::Frame::findString): 7135 (WebCore::Frame::markAllMatchesForText): 7136 (WebCore::Frame::setMarkedTextMatchesAreHighlighted): 7137 (WebCore::Frame::clearFormerDOMWindow): 7138 (WebCore::Frame::unfocusWindow): 7139 (WebCore::Frame::respondToChangedSelection): 7140 (WebCore::Frame::documentAtPoint): 7141 * page/Frame.h: 7142 (WebCore::Frame::create): 7143 (WebCore::Frame::displayStringModifiedByEncoding): 7144 (WebCore::Frame::pageZoomFactor): 7145 (WebCore::Frame::textZoomFactor): 7146 71472009-07-24 Dan Bernstein <mitz@apple.com> 7148 7149 Reviewed by Darin Adler. 7150 7151 Add functions to print the glyph page trees for debugging 7152 https://bugs.webkit.org/show_bug.cgi?id=27671 7153 7154 * platform/graphics/FontData.h: Defined a description() method. 7155 7156 * platform/graphics/GlyphPageTreeNode.cpp: 7157 (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and 7158 its descendants. 7159 (showGlyphPageTrees): Added. Prints all glyph page trees. 7160 (showGlyphPageTree): Added. Prints the glyph page tree for a given page. 7161 * platform/graphics/GlyphPageTreeNode.h: 7162 7163 * platform/graphics/SegmentedFontData.cpp: 7164 (WebCore::SegmentedFontData::description): Added. 7165 7166 * platform/graphics/SegmentedFontData.h: 7167 * platform/graphics/SimpleFontData.cpp: 7168 (WebCore::SimpleFontData::description): Added. Uses the platform data 7169 as the description for non-svg, non-custom fonts. 7170 * platform/graphics/SimpleFontData.h: 7171 7172 * platform/graphics/gtk/FontPlatformData.h: 7173 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 7174 (WebCore::FontPlatformData::description): Added. Returns a null string. 7175 * platform/graphics/gtk/FontPlatformDataPango.cpp: 7176 (WebCore::FontPlatformData::description): Added. Returns a null string. 7177 7178 * platform/graphics/mac/FontPlatformData.h: 7179 * platform/graphics/mac/FontPlatformDataMac.mm: 7180 (WebCore::FontPlatformData::description): Added. Returns the 7181 description of the CGFont, the size and the synthetic style flags, 7182 if set. 7183 7184 * platform/graphics/qt/FontPlatformData.h: 7185 * platform/graphics/qt/FontPlatformDataQt.cpp: 7186 (WebCore::FontPlatformData::description): Added. Returns a null string. 7187 7188 * platform/graphics/win/FontPlatformData.h: 7189 * platform/graphics/win/FontPlatformDataWin.cpp: 7190 (WebCore::FontPlatformData::description): Added. Returns a null string. 7191 7192 * platform/graphics/wince/FontPlatformData.cpp: 7193 (WebCore::FontPlatformData::description): Added. Returns a null string. 7194 * platform/graphics/wince/FontPlatformData.h: 7195 7196 * platform/graphics/wx/FontPlatformData.h: 7197 * platform/graphics/wx/FontPlatformDataWx.cpp: 7198 (WebCore::FontPlatformData::description): Added. Returns a null string. 7199 72002009-07-24 Mads Ager <ager@chromium.org> 7201 7202 Reviewed by Adam Barth. 7203 7204 SVG and XPath memory leaks in V8 bindings 7205 https://bugs.webkit.org/show_bug.cgi?id=27488 7206 7207 Add proper 'create' methods to SVGPodTypeWrappers and 7208 XPathNSResolvers in the V8 bindings to avoid memory leaks. 7209 7210 Introduce convertToV8Object methods that accept PassRefPtrs and 7211 clean up the use of get() and release() on RefPtrs. 7212 7213 * bindings/scripts/CodeGeneratorV8.pm: 7214 * bindings/v8/V8DOMWrapper.h: 7215 (WebCore::V8DOMWrapper::convertNodeToV8Object): 7216 (WebCore::V8DOMWrapper::convertEventToV8Object): 7217 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 7218 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 7219 * bindings/v8/V8SVGPODTypeWrapper.h: 7220 (WebCore::V8SVGPODTypeWrapperCreatorForList::create): 7221 (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList): 7222 (WebCore::V8SVGStaticPODTypeWrapper::create): 7223 (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper): 7224 (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create): 7225 (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent): 7226 (WebCore::V8SVGStaticPODTypeWrapperWithParent::create): 7227 (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent): 7228 (WebCore::V8SVGDynamicPODTypeWrapper::create): 7229 (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper): 7230 (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 7231 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 7232 (WebCore::CALLBACK_FUNC_DECL): 7233 * bindings/v8/custom/V8ClientRectListCustom.cpp: 7234 (WebCore::INDEXED_PROPERTY_GETTER): 7235 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 7236 (WebCore::V8CustomXPathNSResolver::create): 7237 * bindings/v8/custom/V8CustomXPathNSResolver.h: 7238 * bindings/v8/custom/V8DOMWindowCustom.cpp: 7239 (WebCore::NAMED_PROPERTY_GETTER): 7240 * bindings/v8/custom/V8DocumentCustom.cpp: 7241 (WebCore::CALLBACK_FUNC_DECL): 7242 * bindings/v8/custom/V8ElementCustom.cpp: 7243 (WebCore::CALLBACK_FUNC_DECL): 7244 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 7245 (WebCore::getNamedItems): 7246 (WebCore::getItem): 7247 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 7248 (WebCore::NAMED_PROPERTY_GETTER): 7249 (WebCore::ACCESSOR_GETTER): 7250 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 7251 (WebCore::INDEXED_PROPERTY_GETTER): 7252 (WebCore::NAMED_PROPERTY_GETTER): 7253 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 7254 (WebCore::INDEXED_PROPERTY_GETTER): 7255 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 7256 (WebCore::NAMED_PROPERTY_GETTER): 7257 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 7258 (WebCore::CALLBACK_FUNC_DECL): 7259 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 7260 (WebCore::INDEXED_PROPERTY_GETTER): 7261 (WebCore::NAMED_PROPERTY_GETTER): 7262 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 7263 (WebCore::toV8): 7264 * bindings/v8/custom/V8NodeListCustom.cpp: 7265 (WebCore::NAMED_PROPERTY_GETTER): 7266 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 7267 (WebCore::CALLBACK_FUNC_DECL): 7268 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 7269 (WebCore::toV8): 7270 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 7271 (WebCore::CALLBACK_FUNC_DECL): 7272 72732009-07-24 Brian Weinstein <bweinstein@apple.com> 7274 7275 Reviewed by Jon Honeycutt. 7276 7277 Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging 7278 https://bugs.webkit.org/show_bug.cgi?id=21794 7279 7280 Create two new booleans to determine whether we have done a springloaded pan scroll, and update 7281 the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function 7282 does. 7283 7284 * page/EventHandler.cpp: 7285 (WebCore::EventHandler::EventHandler): Initialized two new booleans. 7286 (WebCore::EventHandler::autoscrollTimerFired): 7287 (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor. 7288 (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag. 7289 (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag. 7290 * page/EventHandler.h: 7291 72922009-07-24 Yong Li <yong.li@torchmobile.com> 7293 7294 Reviewed by George Staikos. 7295 7296 https://bugs.webkit.org/show_bug.cgi?id=27657 7297 Add more wince port files to WebCore 7298 7299 Written by Yong Li <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com> 7300 7301 * loader/icon/wince/IconDatabaseWince.cpp: Added. 7302 * rendering/RenderThemeWince.cpp: Added. 7303 * rendering/RenderThemeWince.h: Added. 7304 * storage/wince/DatabaseThreadWince.cpp: Added. 7305 * storage/wince/DatabaseThreadWince.h: Added. 7306 * storage/wince/LocalStorageThreadWince.cpp: Added. 7307 * storage/wince/LocalStorageThreadWince.h: Added. 7308 * svg/graphics/wince/SVGResourceFilterWince.cpp: Added. 7309 73102009-07-24 Ryosuke Niwa <rniwa@webkit.org> 7311 7312 Reviewed by Justin Garcia. 7313 7314 execCommand('underline') can modify DOM outside of the contentEditable area 7315 https://bugs.webkit.org/show_bug.cgi?id=24333 7316 7317 highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied 7318 outside of it, we don't accidently modify the style attribute. 7319 7320 Tests: editing/style/textdecoration-outside-of-rooteditable.html 7321 editing/style/textdecoration-outside-of-unsplittable-element.html 7322 7323 * editing/ApplyStyleCommand.cpp: 7324 (WebCore::StyleChange::init): 7325 (WebCore::highestAncestorWithTextDecoration): 7326 73272009-07-24 Daniel Bates <dbates@intudata.com> 7328 7329 Reviewed by Adam Barth. 7330 7331 https://bugs.webkit.org/show_bug.cgi?id=27639 7332 7333 Fixes false positives when evaluating certain strings that only contain 7334 non-canonical characters. 7335 7336 Test: http/tests/security/xssAuditor/script-tag-safe.html 7337 7338 * page/XSSAuditor.cpp: 7339 (WebCore::isNonCanonicalCharacter): 7340 (WebCore::XSSAuditor::findInRequest): 7341 73422009-07-24 Drew Wilson <atwilson@google.com> 7343 7344 Reviewed by David Levin. 7345 7346 Changed WorkerContext destructor to not access possibly-freed WorkerThread. 7347 7348 Failed assertion in WorkerContext::~WorkerContext(). 7349 https://bugs.webkit.org/show_bug.cgi?id=27665 7350 7351 * workers/DedicatedWorkerContext.cpp: 7352 (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): 7353 * workers/WorkerContext.cpp: 7354 (WebCore::WorkerContext::~WorkerContext): 7355 Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor). 7356 73572009-07-24 Drew Wilson <atwilson@google.com> 7358 7359 Reviewed by Adam Barth. 7360 7361 Updated code generator to properly generate bindings for WorkerContext exposed functions. 7362 7363 Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError 7364 https://bugs.webkit.org/show_bug.cgi?id=27419 7365 7366 Test: fast/workers/worker-call.html 7367 7368 * bindings/js/JSWorkerContextBase.cpp: 7369 (WebCore::toJSDedicatedWorkerContext): 7370 (WebCore::toJSWorkerContext): 7371 Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object. 7372 * bindings/js/JSWorkerContextBase.h: 7373 Added toJS*WorkerContext APIs. 7374 * bindings/scripts/CodeGeneratorJS.pm: 7375 Added code to appropriately check the passed-in this object when invoking functions at global scope. 7376 73772009-07-24 Drew Wilson <atwilson@google.com> 7378 7379 Reviewed by Adam Barth. 7380 7381 Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext 7382 https://bugs.webkit.org/show_bug.cgi?id=27420 7383 7384 No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality). 7385 7386 * DerivedSources.cpp: 7387 Added JSDerivedWorkerContext.cpp 7388 * DerivedSources.make: 7389 Added DerivedWorkerContext files 7390 * GNUmakefile.am: 7391 Added DerivedWorkerContext files 7392 * WebCore.gypi: 7393 Added DerivedWorkerContext files 7394 * WebCore.pro: 7395 Added DerivedWorkerContext files 7396 * WebCore.vcproj/WebCore.vcproj: 7397 Added DerivedWorkerContext files 7398 * WebCore.xcodeproj/project.pbxproj: 7399 Added DerivedWorkerContext files 7400 * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added. 7401 (WebCore::JSDedicatedWorkerContext::mark): 7402 Custom mark function for onmessage event handler. 7403 * bindings/js/JSEventTarget.cpp: 7404 (WebCore::toJS): 7405 Supports conversion to JSDedicatedWorkerContext. 7406 (WebCore::toEventTarget): 7407 * bindings/js/JSWorkerContextCustom.cpp: 7408 (WebCore::JSWorkerContext::mark): 7409 Moved onmessage mark handling into DedicatedWorkerContext. 7410 * bindings/js/WorkerScriptController.cpp: 7411 Added appropriate casts to DedicatedWorkerContext for postMessage(). 7412 (WebCore::WorkerScriptController::initScript): 7413 Manually sets up the prototype chain for the worker context. 7414 * bindings/scripts/CodeGeneratorJS.pm: 7415 Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute. 7416 * bindings/scripts/CodeGeneratorV8.pm: 7417 Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext. 7418 * bindings/v8/DOMObjectsInclude.h: 7419 Added DedicatedWorkerContext.h 7420 * bindings/v8/DerivedSourcesAllInOne.cpp: 7421 Added V8DedicatedWorkerContext.cpp 7422 * bindings/v8/V8DOMWrapper.cpp: 7423 (WebCore::V8DOMWrapper::getTemplate): 7424 Added code to reserve extra fields for V8DedicatedWorkerContext. 7425 * bindings/v8/V8Index.cpp: 7426 Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h 7427 * bindings/v8/V8Index.h: 7428 Added DedicatedWorkerContext as a non-node wrapper type. 7429 Removed WORKERCONTEXT as a valid template type. 7430 * bindings/v8/WorkerContextExecutionProxy.cpp: 7431 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 7432 Creates DedicatedWorkerContext instead of WorkerContext. 7433 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): 7434 Returns DedicatedWorkerContext instead of WorkerContext. 7435 (WebCore::WorkerContextExecutionProxy::retrieve): 7436 Refactored to deal with DedicatedWorkerContext. 7437 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 7438 * bindings/v8/custom/V8CustomBinding.h: 7439 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added. 7440 Moved onmessage code from V8WorkerContextCustom.cpp 7441 (WebCore::ACCESSOR_GETTER): 7442 (WebCore::ACCESSOR_SETTER): 7443 * bindings/v8/custom/V8WorkerContextCustom.cpp: 7444 Moved onmessage code to V8DedicatedWorkerContextCustom.cpp 7445 * dom/EventTarget.cpp: 7446 (WebCore::EventTarget::toDedicatedWorkerContext): 7447 * dom/EventTarget.h: 7448 * workers/DedicatedWorkerContext.cpp: Added. 7449 Moved DedicatedWorker-only APIs from WorkerContext. 7450 (WebCore::DedicatedWorkerContext::DedicatedWorkerContext): 7451 (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): 7452 (WebCore::DedicatedWorkerContext::reportException): 7453 (WebCore::DedicatedWorkerContext::postMessage): 7454 (WebCore::DedicatedWorkerContext::dispatchMessage): 7455 * workers/DedicatedWorkerContext.h: Added. 7456 Moved DedicatedWorker-only APIs from WorkerContext. 7457 (WebCore::DedicatedWorkerContext::create): 7458 (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext): 7459 (WebCore::DedicatedWorkerContext::setOnmessage): 7460 (WebCore::DedicatedWorkerContext::onmessage): 7461 * workers/DedicatedWorkerContext.idl: Added. 7462 * workers/WorkerContext.cpp: 7463 (WebCore::WorkerContext::~WorkerContext): 7464 Moved code that notifies parent that worker is closing down into DedicatedWorkerContext. 7465 * workers/WorkerContext.h: 7466 (WebCore::WorkerContext::isClosing): 7467 Exposed closing flag as an API so derived classes can access it. 7468 * workers/WorkerContext.idl: 7469 * workers/WorkerMessagingProxy.cpp: 7470 (WebCore::MessageWorkerContextTask::performTask): 7471 Calls into DedicatedWorkerContext to handle message. 7472 * workers/WorkerThread.cpp: 7473 (WebCore::WorkerThread::workerThread): 7474 Creates a DedicatedWorkerContext when the thread starts up. 7475 74762009-07-24 Eric Seidel <eric@webkit.org> 7477 7478 Reviewed by Adam Barth. 7479 7480 Move more callers to using 3 argument toJS 7481 https://bugs.webkit.org/show_bug.cgi?id=27661 7482 7483 No functional changes, thus no tests. 7484 These are all the places where we can't yet pass the 7485 correct globalObject because we don't have or don't know the right one. 7486 7487 * bindings/js/JSCustomPositionCallback.cpp: 7488 (WebCore::JSCustomPositionCallback::handleEvent): 7489 * bindings/js/JSCustomPositionErrorCallback.cpp: 7490 (WebCore::JSCustomPositionErrorCallback::handleEvent): 7491 * bindings/js/JSCustomSQLStatementCallback.cpp: 7492 (WebCore::JSCustomSQLStatementCallback::handleEvent): 7493 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 7494 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 7495 * bindings/js/JSCustomSQLTransactionCallback.cpp: 7496 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 7497 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 7498 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 7499 * bindings/js/JSNodeFilterCondition.cpp: 7500 (WebCore::JSNodeFilterCondition::acceptNode): 7501 75022009-07-24 Eric Seidel <eric@webkit.org> 7503 7504 Reviewed by Adam Barth. 7505 7506 Fix the last of the x-frame constructor calls to have the right prototype chains 7507 https://bugs.webkit.org/show_bug.cgi?id=27645 7508 7509 Fix the last few constructors to use their stored globalObject pointer when 7510 constructing objects instead of the lexicalGlobalObject(). 7511 7512 * bindings/js/JSAudioConstructor.cpp: 7513 (WebCore::constructAudio): 7514 * bindings/js/JSImageConstructor.cpp: 7515 (WebCore::constructImage): 7516 * bindings/js/JSMessageChannelConstructor.cpp: 7517 (WebCore::JSMessageChannelConstructor::construct): 7518 * bindings/js/JSOptionConstructor.cpp: 7519 (WebCore::constructHTMLOptionElement): 7520 * bindings/js/JSWebKitPointConstructor.cpp: 7521 (WebCore::constructWebKitPoint): 7522 * bindings/js/JSWorkerConstructor.cpp: 7523 (WebCore::constructWorker): 7524 75252009-07-24 Jian Li <jianli@chromium.org> 7526 7527 Reviewed by Adam Barth. 7528 7529 [V8] Cleanup exception handling in worker evaluation code. 7530 https://bugs.webkit.org/show_bug.cgi?id=27282 7531 7532 * bindings/v8/WorkerContextExecutionProxy.cpp: 7533 (WebCore::WorkerContextExecutionProxy::evaluate): 7534 * bindings/v8/WorkerContextExecutionProxy.h: 7535 (WebCore::WorkerContextExecutionState::WorkerContextExecutionState): 7536 * bindings/v8/WorkerScriptController.cpp: 7537 (WebCore::WorkerScriptController::evaluate): 7538 (WebCore::WorkerScriptController::setException): 7539 75402009-07-24 Stephen White <senorblanco@chromium.org> 7541 7542 Reviewed by David Levin. 7543 7544 Reverting r46157, since it may be causing problems with Chromium 7545 reliability (see http://crbug.com/17569). 7546 7547 https://bugs.webkit.org/show_bug.cgi?id=27388 7548 7549 * platform/graphics/skia/GraphicsContextSkia.cpp: 7550 (WebCore::GraphicsContext::drawLine): 7551 * platform/graphics/skia/PlatformContextSkia.cpp: 7552 (PlatformContextSkia::setupPaintForStroking): 7553 75542009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7555 7556 Reviewed by Timothy Hatcher. 7557 7558 REGRESSION: inspector seems broken in ToT WebKit 7559 https://bugs.webkit.org/show_bug.cgi?id=27646 7560 7561 * inspector/front-end/Console.js: 7562 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 7563 75642009-07-24 Dan Bernstein <mitz@apple.com> 7565 7566 Reviewed by Anders Carlsson. 7567 7568 Add the shadow style member to the ShadowData constructor and == 7569 operator 7570 7571 * rendering/style/ShadowData.cpp: 7572 (WebCore::ShadowData::ShadowData): 7573 (WebCore::ShadowData::operator==): 7574 75752009-07-24 Jian Li <jianli@chromium.org> 7576 7577 Reviewed by Eric Seidel. 7578 7579 [V8] More V8 bindings changes to use ErrorEvent. 7580 https://bugs.webkit.org/show_bug.cgi?id=27630 7581 7582 * bindings/v8/DOMObjectsInclude.h: 7583 * bindings/v8/DerivedSourcesAllInOne.cpp: 7584 * bindings/v8/V8DOMWrapper.cpp: 7585 (WebCore::V8DOMWrapper::convertEventToV8Object): 7586 * bindings/v8/V8Index.cpp: 7587 * bindings/v8/V8Index.h: 7588 75892009-07-24 Brent Fulgham <bfulgham@webkit.org> 7590 7591 Reviewed by Dave Hyatt. 7592 7593 Clean up dependencies on Apple support libraries for non-Apple build. 7594 http://bugs.webkit.org/show_bug.cgi?id=27532. 7595 7596 * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references 7597 to ApplicationServices.h and WebKitSystemInterface.h 7598 75992009-07-24 Dan Bernstein <mitz@apple.com> 7600 7601 Another attempted build fix 7602 7603 * bindings/js/JSAbstractWorkerCustom.cpp: 7604 76052009-07-24 Dan Bernstein <mitz@apple.com> 7606 7607 Attempted build fix 7608 7609 * bindings/js/JSAbstractWorkerCustom.cpp: 7610 (WebCore::toJS): 7611 76122009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org> 7613 7614 Build fix for 64 bit Linux. 7615 7616 int64_t is long on Linux 64 bit and not long long, thus 7617 getFileSize with a int64_t out value fails to build. 7618 7619 Use a temporary to work around the problem. 7620 7621 * loader/appcache/ApplicationCacheStorage.cpp: 7622 (WebCore::ApplicationCacheStorage::spaceNeeded): 7623 76242009-07-24 Eric Seidel <eric@webkit.org> 7625 7626 Reviewed by Adam Barth. 7627 7628 Update all CREATE_DOM_*_WRAPPER callers to pass globalObject 7629 https://bugs.webkit.org/show_bug.cgi?id=27644 7630 7631 This is another attempt at making the change for bug 27634 smaller. 7632 I included the changes to make_names.pl as well as any file which 7633 used CREATE_DOM_*_WRAPPER macros. 7634 7635 The changes to the construct* functions are what fix the cases in 7636 fast/dom/constructed-objects-prototypes.html 7637 7638 The changes to passing globalObject through CREATE_* are what fix 7639 fast/dom/prototype-inheritance-2.html 7640 7641 * bindings/js/JSCDATASectionCustom.cpp: 7642 (WebCore::toJSNewlyCreated): pass globalObject. 7643 * bindings/js/JSCSSRuleCustom.cpp: 7644 (WebCore::toJS): pass globalObject. 7645 * bindings/js/JSCSSValueCustom.cpp: 7646 (WebCore::toJS): pass globalObject. 7647 * bindings/js/JSDOMBinding.h: updated macros to pass globalObject. 7648 * bindings/js/JSDocumentCustom.cpp: 7649 (WebCore::toJS): pass globalObject. 7650 * bindings/js/JSElementCustom.cpp: 7651 (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value. 7652 (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value. 7653 (WebCore::toJSNewlyCreated): pass globalObject. 7654 * bindings/js/JSEventCustom.cpp: 7655 (WebCore::JSEvent::clipboardData): pass globalObject. 7656 (WebCore::toJS): pass globalObject. 7657 * bindings/js/JSHTMLCollectionCustom.cpp: 7658 (WebCore::getNamedItems): use globalObject() for wrapping returned collection items. 7659 (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items. 7660 (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items. 7661 (WebCore::toJS): pass globalObject. 7662 * bindings/js/JSImageDataCustom.cpp: 7663 (WebCore::toJS): pass globalObject. 7664 * bindings/js/JSNodeCustom.cpp: 7665 (WebCore::createWrapper): pass globalObject. 7666 * bindings/js/JSSVGPathSegCustom.cpp: 7667 (WebCore::toJS): pass globalObject. 7668 * bindings/js/JSStyleSheetCustom.cpp: 7669 (WebCore::toJS): pass globalObject. 7670 * bindings/js/JSTextCustom.cpp: 7671 (WebCore::toJSNewlyCreated): pass globalObject. 7672 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 7673 (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing 7674 * bindings/js/JSXMLHttpRequestConstructor.cpp: 7675 (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing 7676 * bindings/js/JSXSLTProcessorConstructor.cpp: 7677 (WebCore::constructXSLTProcessor): use constructors globalObject when constructing 7678 * dom/make_names.pl: 7679 Pass globalObject through CREATE_* macros and various support functions. 7680 76812009-07-24 Eric Seidel <eric@webkit.org> 7682 7683 Reviewed by Adam Barth. 7684 7685 Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls 7686 https://bugs.webkit.org/show_bug.cgi?id=27643 7687 7688 This is an attempt to make this change as small as possible. 7689 I started by including all changes to CodeGeneratorJS.pm from bug 27634, 7690 and then made the minimal amount of other changes needed to support that change. 7691 7692 Most toJS implementations ignore their passed JSDOMGlobalObject. 7693 There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling. 7694 All places where it is not clear what we should pass as the global object 7695 (or where the global object is simply not available, like for some SVG bindings) 7696 we pass deprecatedGlobalObjectForPrototype instead. 7697 7698 * bindings/js/JSCDATASectionCustom.cpp: 7699 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 7700 * bindings/js/JSCSSRuleCustom.cpp: 7701 (WebCore::toJS): add ignored JSDOMGlobalObject* 7702 * bindings/js/JSCSSValueCustom.cpp: 7703 (WebCore::toJS): add ignored JSDOMGlobalObject* 7704 * bindings/js/JSDOMBinding.cpp: 7705 (WebCore::setDOMException): pass the wrong globalObject for now 7706 * bindings/js/JSDOMBinding.h: 7707 Pass the wrong global object to the CREATE_ macros for now. 7708 In the next change we'll come back and pass the correct one. 7709 That will require changes to make_names.pl. 7710 (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): 7711 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 7712 (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer): 7713 (WebCore::createDOMObjectWrapper): 7714 (WebCore::getDOMObjectWrapper): 7715 (WebCore::createDOMNodeWrapper): 7716 (WebCore::getDOMNodeWrapper): 7717 (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change. 7718 (WebCore::toJSNewlyCreated): 7719 * bindings/js/JSDOMWindowBase.cpp: 7720 (WebCore::toJS): DOMWindow always uses its own prototype chain. 7721 * bindings/js/JSDOMWindowBase.h: 7722 * bindings/js/JSDocumentCustom.cpp: 7723 (WebCore::toJS): add ignored JSDOMGlobalObject* 7724 * bindings/js/JSElementCustom.cpp: 7725 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 7726 * bindings/js/JSEventCustom.cpp: 7727 (WebCore::toJS): add ignored JSDOMGlobalObject* 7728 * bindings/js/JSEventTarget.cpp: 7729 (WebCore::toJS): add ignored JSDOMGlobalObject* 7730 * bindings/js/JSEventTarget.h: 7731 * bindings/js/JSHTMLCollectionCustom.cpp: 7732 (WebCore::toJS): add ignored JSDOMGlobalObject* 7733 * bindings/js/JSImageDataCustom.cpp: 7734 (WebCore::toJS): add ignored JSDOMGlobalObject* 7735 * bindings/js/JSNodeCustom.cpp: 7736 (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion 7737 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 7738 (WebCore::toJS): add ignored JSDOMGlobalObject* 7739 * bindings/js/JSSVGElementInstanceCustom.cpp: 7740 (WebCore::toJS): pass globalObject along 7741 * bindings/js/JSSVGMatrixCustom.cpp: 7742 (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now. 7743 (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now. 7744 * bindings/js/JSSVGPathSegCustom.cpp: 7745 (WebCore::toJS): 7746 * bindings/js/JSSVGPathSegListCustom.cpp: 7747 All of these methods need a globalObject, but most SVG binding don't have 7748 space for one, so we just pass the lexicalGlobalObject for now. 7749 (WebCore::JSSVGPathSegList::initialize): 7750 (WebCore::JSSVGPathSegList::getItem): 7751 (WebCore::JSSVGPathSegList::insertItemBefore): 7752 (WebCore::JSSVGPathSegList::replaceItem): 7753 (WebCore::JSSVGPathSegList::removeItem): 7754 (WebCore::JSSVGPathSegList::appendItem): 7755 * bindings/js/JSSVGPointListCustom.cpp: 7756 (WebCore::finishGetter): pass wrong globalObject for now. 7757 (WebCore::finishSetter): 7758 (WebCore::finishSetterReadOnlyResult): 7759 * bindings/js/JSSVGTransformListCustom.cpp: 7760 (WebCore::finishGetter): pass wrong globalObject for now. 7761 (WebCore::finishSetter): 7762 (WebCore::finishSetterReadOnlyResult): 7763 * bindings/js/JSStyleSheetCustom.cpp: 7764 (WebCore::toJS): add ignored JSDOMGlobalObject* 7765 * bindings/js/JSTextCustom.cpp: 7766 (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* 7767 * bindings/js/JSWorkerContextBase.cpp: 7768 (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass. 7769 * bindings/js/JSWorkerContextBase.h: 7770 * bindings/scripts/CodeGeneratorJS.pm: 7771 All generated toJS calls now pass a globalObject. 7772 All generated toJS implementations now expect a globalObject. 7773 Simplified all the slot casts by using a "castedThis" local. 7774 SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead. 7775 Simplified printing of constructor objects using a $constructorClassName variable. 7776 All generated constructor functions follow the construct$className form to match the custom constructors. 7777 77782009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7779 7780 Reviewed by Timothy Hatcher. 7781 7782 typing "document.__proto__" in inspector throws exception 7783 https://bugs.webkit.org/show_bug.cgi?id=27169 7784 7785 * inspector/front-end/utilities.js: 7786 (Object.type): 7787 77882009-07-24 Andrei Popescu <andreip@google.com> 7789 7790 Reviewed by Anders Carlsson. 7791 7792 ApplicationCache should have size limit 7793 https://bugs.webkit.org/show_bug.cgi?id=22700 7794 7795 https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html 7796 7797 This change implements a mechanism for limiting the maximum size of 7798 the application cache file. When this size is reached, a ChromeClient 7799 callback is invoked asynchronously and the saving of the last (failed) 7800 cache is retried automatically. 7801 7802 This change also extends the ApplicationCacheStorage API by allowing 7803 a client to query or modify the application cache without having to 7804 load any resources into memory. 7805 7806 Test: http/tests/appcache/max-size.html 7807 7808 * WebCore.base.exp: 7809 Exports the symbols required by the DumpRenderTree test application. 7810 * loader/EmptyClients.h: 7811 Adds empty implementation of the new ChromeClient methods. 7812 * loader/appcache/ApplicationCache.cpp: 7813 * loader/appcache/ApplicationCache.h: 7814 Adds the ability to calculate the approximate size of an ApplicationCache object. 7815 * loader/appcache/ApplicationCacheGroup.cpp: 7816 * loader/appcache/ApplicationCacheGroup.h: 7817 Invokes the ChromeClient callback when the storage layer runs out of space. 7818 After the callback is invoked, we re-attempt to store the newest cache, 7819 in case the ChromeClient has freed some space. 7820 * loader/appcache/ApplicationCacheResource.cpp: 7821 * loader/appcache/ApplicationCacheResource.h: 7822 Adds the ability to calculate the approximate size of an ApplicationCacheResource object. 7823 * loader/appcache/ApplicationCacheStorage.cpp: 7824 * loader/appcache/ApplicationCacheStorage.h: 7825 Enforces a maximum size for the application cache file. 7826 * page/ChromeClient.h: 7827 Adds a new callback, invoked when the ApplicationCacheStorage reports that it has 7828 reached the maximum size for its database file. 7829 * platform/sql/SQLiteDatabase.cpp: 7830 * platform/sql/SQLiteDatabase.h: 7831 Adds a new method that allows querying for the amount of unused space inside the 7832 application cache database file. 7833 78342009-07-24 Xan Lopez <xlopez@igalia.com> 7835 7836 Reviewed by Jan Alonzo. 7837 7838 https://bugs.webkit.org/show_bug.cgi?id=25415 7839 [GTK][ATK] Please implement support for get_text_at_offset 7840 7841 Use TextEncoding facilities to convert between UTF16 and UTF8 7842 instead of rolling our own solution. 7843 7844 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 7845 (convertUniCharToUTF8): 7846 78472009-07-24 Xan Lopez <xlopez@igalia.com> 7848 7849 Reviewed by Jan Alonzo. 7850 7851 https://bugs.webkit.org/show_bug.cgi?id=25415 7852 [GTK][ATK] Please implement support for get_text_at_offset 7853 7854 Fix confusion in g_substr between length in bytes and length in 7855 characters. Was causing crashes in some situations when dealing 7856 with non-ASCII text encoded as UTF8. 7857 7858 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 7859 (g_substr): 7860 78612009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7862 7863 Reviewed by Timothy Hatcher. 7864 7865 Inspector: Impossible to add an attribute to a node without attributes 7866 https://bugs.webkit.org/show_bug.cgi?id=21108 7867 7868 * inspector/front-end/ElementsTreeOutline.js: 7869 (WebInspector.ElementsTreeElement): 7870 (WebInspector.ElementsTreeElement.prototype.set hovered): 7871 (WebInspector.ElementsTreeElement.prototype.toggleNewButton): 7872 (WebInspector.ElementsTreeElement.prototype.ondblclick): 7873 (WebInspector.ElementsTreeElement.prototype._startEditing): 7874 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): 7875 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 7876 * inspector/front-end/inspector.css: 7877 78782009-07-24 Keishi Hattori <casey.hattori@gmail.com> 7879 7880 Reviewed by Timothy Hatcher. 7881 7882 Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node 7883 https://bugs.webkit.org/show_bug.cgi?id=17907 7884 7885 * inspector/front-end/Console.js: 7886 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{ 7887 _inspectedNodes, _addInspectedNode, $0, $1, $n} 7888 * inspector/front-end/ElementsPanel.js: 7889 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history 7890 in _inspectorCommandLineAPI._inspectedNodes 7891 (WebInspector.ElementsPanel): 7892 78932009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7894 7895 Reviewed by Timothy Hatcher. 7896 7897 Dragging a resource in the sidebar should drag it's URL 7898 https://bugs.webkit.org/show_bug.cgi?id=14410 7899 7900 * inspector/front-end/ResourcesPanel.js: 7901 (WebInspector.ResourceSidebarTreeElement.prototype.onattach): 7902 79032009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7904 7905 Reviewed by Timothy Hatcher. 7906 7907 Double click on a resource in the sidebar should open that resource in Safari 7908 https://bugs.webkit.org/show_bug.cgi?id=14409 7909 7910 * inspector/front-end/ResourcesPanel.js: 7911 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url 7912 79132009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org> 7914 7915 Reviewed by Xan Lopez. 7916 7917 Bump pango version requirement to 1.12 and remove unnecessary #ifdefs. 7918 7919 * platform/graphics/gtk/FontGtk.cpp: 7920 (WebCore::getDefaultPangoLayout): 7921 * platform/graphics/gtk/FontPlatformDataPango.cpp: 7922 (WebCore::FontPlatformData::FontPlatformData): 7923 * platform/gtk/Language.cpp: 7924 79252009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7926 7927 Reviewed by Timothy Hatcher. 7928 7929 Inspector: Missing UIString and other localizedString.js fixes 7930 https://bugs.webkit.org/show_bug.cgi?id=27288 7931 7932 * English.lproj/localizedStrings.js: 7933 79342009-07-24 Joseph Pecoraro <joepeck02@gmail.com> 7935 7936 Reviewed by Timothy Hatcher. 7937 7938 Inspector: Should Syntax Highlight JSON 7939 https://bugs.webkit.org/show_bug.cgi?id=27503 7940 7941 * inspector/front-end/SourceView.js: 7942 (WebInspector.SourceView.prototype._contentLoaded): 7943 79442009-07-24 Mike Fenton <mike.fenton@torchmobile.com> 7945 7946 Reviewed by Eric Seidel. 7947 7948 Update WebCore/page/DOMTimer.cpp/h to conform to WebKit 7949 Style Guidelines as identified by cpplint.py. 7950 https://bugs.webkit.org/show_bug.cgi?id=27624 7951 7952 * page/DragController.cpp: 7953 (WebCore::DragController::~DragController): 7954 (WebCore::documentFragmentFromDragData): 7955 (WebCore::DragController::dragEnded): 7956 (WebCore::DragController::dragEntered): 7957 (WebCore::DragController::dragExited): 7958 (WebCore::DragController::dragUpdated): 7959 (WebCore::DragController::performDrag): 7960 (WebCore::asFileInput): 7961 (WebCore::DragController::tryDocumentDrag): 7962 (WebCore::DragController::delegateDragSourceAction): 7963 (WebCore::DragController::concludeEditDrag): 7964 (WebCore::DragController::canProcessDrag): 7965 (WebCore::DragController::tryDHTMLDrag): 7966 (WebCore::DragController::mayStartDragAtEventLocation): 7967 (WebCore::getCachedImage): 7968 (WebCore::getImage): 7969 (WebCore::prepareClipboardForImageDrag): 7970 (WebCore::dragLocForDHTMLDrag): 7971 (WebCore::DragController::startDrag): 7972 (WebCore::DragController::doImageDrag): 7973 (WebCore::DragController::doSystemDrag): 7974 (WebCore::DragController::placeDragCaret): 7975 79762009-07-24 Mike Fenton <mike.fenton@torchmobile.com> 7977 7978 Reviewed by Eric Seidel. 7979 7980 Update WebCore/page/Chrome.cpp to conform to WebKit 7981 Style Guidelines as identified by cpplint.py. 7982 https://bugs.webkit.org/show_bug.cgi?id=27608 7983 7984 * page/Chrome.cpp: 7985 (WebCore::Chrome::runBeforeUnloadConfirmPanel): 7986 (WebCore::Chrome::runJavaScriptAlert): 7987 (WebCore::Chrome::runJavaScriptConfirm): 7988 (WebCore::Chrome::runJavaScriptPrompt): 7989 (WebCore::Chrome::shouldInterruptJavaScript): 7990 (WebCore::Chrome::setToolTip): 7991 (WebCore::Chrome::requestGeolocationPermissionForFrame): 7992 (WebCore::ChromeClient::generateReplacementFile): 7993 (WebCore::ChromeClient::paintCustomScrollbar): 7994 79952009-07-24 Mike Fenton <mike.fenton@torchmobile.com> 7996 7997 Reviewed by Eric Seidel. 7998 7999 Update WebCore/page/Coordinates.cpp to conform to WebKit 8000 Style Guidelines as identified by cpplint.py. 8001 https://bugs.webkit.org/show_bug.cgi?id=27614 8002 8003 * page/Coordinates.cpp: 8004 (WebCore::Coordinates::toString): 8005 80062009-07-24 Mike Fenton <mike.fenton@torchmobile.com> 8007 8008 Reviewed by Eric Seidel. 8009 8010 Update WebCore/page/DOMSelection.cpp/h to conform to WebKit 8011 Style Guidelines as identified by cpplint.py. 8012 https://bugs.webkit.org/show_bug.cgi?id=27614 8013 8014 * page/DOMSelection.cpp: 8015 (WebCore::DOMSelection::setBaseAndExtent): 8016 (WebCore::DOMSelection::modify): 8017 (WebCore::DOMSelection::addRange): 8018 (WebCore::DOMSelection::deleteFromDocument): 8019 * page/DOMSelection.h: 8020 80212009-07-24 Mike Fenton <mike.fenton@torchmobile.com> 8022 8023 Reviewed by Eric Seidel. 8024 8025 Update WebCore/page/DOMTimer.cpp/h to conform to WebKit 8026 Style Guidelines as identified by cpplint.py. 8027 https://bugs.webkit.org/show_bug.cgi?id=27618 8028 8029 * page/DOMTimer.cpp: 8030 (WebCore::DOMTimer::DOMTimer): 8031 (WebCore::DOMTimer::~DOMTimer): 8032 (WebCore::DOMTimer::fired): 8033 (WebCore::DOMTimer::suspend): 8034 (WebCore::DOMTimer::resume): 8035 (WebCore::DOMTimer::canSuspend): 8036 * page/DOMTimer.h: 8037 (WebCore::DOMTimer::minTimerInterval): 8038 (WebCore::DOMTimer::setMinTimerInterval): 8039 80402009-07-24 Eric Seidel <eric@webkit.org> 8041 8042 Reviewed by Adam Barth. 8043 8044 Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead 8045 https://bugs.webkit.org/show_bug.cgi?id=27641 8046 8047 Nothing uses globalObject() yet, but this was causing crashes 8048 in the patch for bug 27634. This is covered by fast/dom/gc-6.html. 8049 8050 I decided to change these to Base:: instead of DOMObjectWithGlobal:: 8051 for future-proofing. All autogenerated classes use a typedef Base 8052 to avoid bugs like these. Sadly C++ does not have a built-in super:: we could use. 8053 8054 * WebCore.xcodeproj/project.pbxproj: 8055 * bindings/js/JSAbstractWorkerCustom.cpp: 8056 (WebCore::JSAbstractWorker::mark): 8057 * bindings/js/JSDOMApplicationCacheCustom.cpp: 8058 (WebCore::JSDOMApplicationCache::mark): 8059 * bindings/js/JSMessageChannelCustom.cpp: 8060 (WebCore::JSMessageChannel::mark): 8061 * bindings/js/JSMessagePortCustom.cpp: 8062 (WebCore::JSMessagePort::mark): 8063 * bindings/js/JSNamedNodesCollection.cpp: 8064 (WebCore::JSNamedNodesCollection::getOwnPropertySlot): 8065 * bindings/js/JSNodeCustom.cpp: 8066 (WebCore::JSNode::mark): 8067 * bindings/js/JSNodeFilterCustom.cpp: 8068 (WebCore::JSNodeFilter::mark): 8069 * bindings/js/JSNodeIteratorCustom.cpp: 8070 (WebCore::JSNodeIterator::mark): 8071 * bindings/js/JSSVGElementInstanceCustom.cpp: 8072 (WebCore::JSSVGElementInstance::mark): 8073 * bindings/js/JSTreeWalkerCustom.cpp: 8074 (WebCore::JSTreeWalker::mark): 8075 80762009-07-22 Eric Seidel <eric@webkit.org> 8077 8078 Reviewed by Adam Barth. 8079 8080 Make most DOMObjects hold onto a JSDOMGlobalObject* 8081 https://bugs.webkit.org/show_bug.cgi?id=27588 8082 8083 This change is almost entirely plumbing. Only one functional 8084 change as part of this all (window.document.constructor has the correct prototype) 8085 Changes are detailed below. 8086 8087 inner.document.constructor is fixed because all properties on the window 8088 object are created with the correct globalObject (instead of the lexical one). 8089 Since all objects now carry a globalObject pointer, when document creates 8090 HTMLDocumentConstructor it now has the right globalObject to use. 8091 8092 Tests: 8093 fast/dom/prototype-inheritance.html 8094 fast/dom/prototype-inheritance-2.html 8095 8096 * bindings/js/DOMObjectWithSVGContext.h: 8097 (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): 8098 Update the comment and add an ignored globalObject argument. 8099 * bindings/js/JSDOMBinding.h: 8100 Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object. 8101 Once toJS is passed a globalObject it will be the right one. 8102 (WebCore::createDOMObjectWrapper): 8103 (WebCore::createDOMNodeWrapper): 8104 * bindings/js/JSDOMGlobalObject.h: 8105 (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier. 8106 * bindings/js/JSDOMWindowCustom.cpp: 8107 (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it. 8108 (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. 8109 * bindings/js/JSDocumentCustom.cpp: 8110 (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. 8111 * bindings/js/JSHTMLAllCollection.h: 8112 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 8113 * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor. 8114 (WebCore::getNamedItems): 8115 (WebCore::callHTMLCollection): 8116 (WebCore::JSHTMLCollection::canGetItemsForName): 8117 (WebCore::JSHTMLCollection::nameGetter): 8118 (WebCore::JSHTMLCollection::item): 8119 (WebCore::JSHTMLCollection::namedItem): 8120 * bindings/js/JSHTMLFormElementCustom.cpp: 8121 (WebCore::JSHTMLFormElement::nameGetter): 8122 * bindings/js/JSNamedNodesCollection.cpp: 8123 Now passed globalObject. This is tested by inner.document.forms.testForm. 8124 The passed globalObject is still wrong until toJS is fixed. 8125 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 8126 * bindings/js/JSNamedNodesCollection.h: 8127 * bindings/js/JSSharedWorkerConstructor.cpp: 8128 Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938 8129 This class is not compiled by default, so not testable. 8130 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 8131 * bindings/js/JSSharedWorkerConstructor.h: 8132 * bindings/scripts/CodeGeneratorJS.pm: 8133 Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer. 8134 SVG bindings which need a context() pointer do not have enough space for globalObject() too. 8135 WorkerContext does not need a globalObject (it is one), so special case it. 8136 Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor. 8137 Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors 8138 override createStructure anyway, there is no functional change here. Just completing work started in r45938. 8139 81402009-07-23 Brady Eidson <beidson@apple.com> 8141 8142 Reviewed by Geoff Garen. 8143 8144 WebCore has a few places that don't gracefully handle a null request returned from willSendRequest. 8145 https://bugs.webkit.org/show_bug.cgi?id=27595 8146 8147 Test: http/tests/misc/will-send-request-returns-null-on-redirect.html 8148 8149 * inspector/InspectorController.cpp: 8150 (WebCore::InspectorController::removeResource): Null-check the request URL. 8151 8152 * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one. 8153 (WebCore::willSendRequest): 8154 81552009-07-23 Chris Fleizach <cfleizach@apple.com> 8156 8157 Reviewed by Darin Adler. 8158 8159 Bug 27633 - AXLoadComplete can be fired off to frequently 8160 https://bugs.webkit.org/show_bug.cgi?id=27633 8161 8162 An integration issue left out some curly braces. 8163 8164 * dom/Document.cpp: 8165 (WebCore::Document::implicitClose): 8166 81672009-07-23 Darin Adler <darin@apple.com> 8168 8169 Reviewed by Brady Eidson. 8170 8171 URL appears in back/forward button menu instead of title for items with custom representation 8172 https://bugs.webkit.org/show_bug.cgi?id=27586 8173 rdar://problem/5060337 8174 8175 * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit. 8176 * loader/FrameLoader.cpp: 8177 (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document 8178 loader is the correct one; previously this would never happen because we'd 8179 commit the load before any title changes could be registered, but now we can 8180 encounter a case where we get a title during a provisional load. 8181 81822009-07-23 Dan Bernstein <mitz@apple.com> 8183 8184 Reviewed by Dave Hyatt. 8185 8186 [CSS3 Backgrounds and Borders] Add support for inset box shadows 8187 https://bugs.webkit.org/show_bug.cgi?id=27582 8188 8189 Test: fast/box-shadow/inset.html 8190 8191 * css/CSSComputedStyleDeclaration.cpp: 8192 (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset' 8193 as needed. 8194 8195 * css/CSSParser.cpp: 8196 (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle 8197 members. Initialize the allowStyle member. 8198 (WebCore::ShadowParseContext::commitValue): Pass the style value to the 8199 ShadowValue constructor. Reset allowStyle. 8200 (WebCore::ShadowParseContext::commitLength): Update allowStyle. 8201 (WebCore::ShadowParseContext::commitColor): Ditto. 8202 (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and 8203 updates the state. 8204 (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword. 8205 8206 * css/CSSStyleSelector.cpp: 8207 (WebCore::CSSStyleSelector::applyProperty): Get the style value from the 8208 shadow value and pass it to the ShadowData constructor. 8209 8210 * css/ShadowValue.cpp: 8211 (WebCore::ShadowValue::ShadowValue): Added style. 8212 (WebCore::ShadowValue::cssText): Added style. 8213 8214 * css/ShadowValue.h: 8215 (WebCore::ShadowValue::create): Added style. 8216 8217 * page/animation/AnimationBase.cpp: 8218 (WebCore::blendFunc): Added a blend function for shadow styles. When blending 8219 between normal and inset shadows, all intermediate values map to normal. 8220 (WebCore::PropertyWrapperShadow::blend): Added normal style to the default 8221 shadow. 8222 8223 * rendering/InlineFlowBox.cpp: 8224 (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter, 8225 which is passed through to RenderBoxModelObject::paintBoxShadow(). 8226 8227 (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of 8228 the background. 8229 8230 * rendering/InlineFlowBox.h: 8231 8232 * rendering/RenderBox.cpp: 8233 (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the 8234 background. 8235 8236 * rendering/RenderBoxModelObject.cpp: 8237 (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style 8238 parameter, and code to paint inset shadows. 8239 8240 * rendering/RenderBoxModelObject.h: 8241 8242 * rendering/RenderFieldset.cpp: 8243 (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of 8244 the background. 8245 8246 * rendering/RenderTable.cpp: 8247 (WebCore::RenderTable::paintBoxDecorations): Ditto. 8248 8249 * rendering/RenderTableCell.cpp: 8250 (WebCore::RenderTableCell::paintBoxDecorations): Ditto. 8251 8252 * rendering/style/ShadowData.h: 8253 Added a ShadowStyle enum. 8254 (WebCore::ShadowData::ShadowData): Add and initialize a style member. 8255 82562009-07-23 Simon Fraser <simon.fraser@apple.com> 8257 8258 Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined. 8259 8260 * css/MediaQueryEvaluator.cpp: 8261 (WebCore::transform_3dMediaFeatureEval): 8262 82632009-07-23 Simon Fraser <simon.fraser@apple.com> 8264 8265 Reviewed by Adele Peterson. 8266 8267 3d-transforms media query needs to look check that accelerated compositing is enabled 8268 https://bugs.webkit.org/show_bug.cgi?id=27621 8269 8270 When evaluating a media query with '-webkit-transform-3d', we need to check the 8271 runtime switch that toggles accererated compositing, and therefore 3D. 8272 8273 No test because we can't disable the pref dynamically in DRT. 8274 8275 * css/MediaQueryEvaluator.cpp: 8276 (WebCore::transform_3dMediaFeatureEval): 8277 82782009-07-22 Ryosuke Niwa <rniwa@webkit.org> 8279 8280 Reviewed by Eric Seidel. 8281 8282 execCommand('underline') can't remove <U> underlines 8283 https://bugs.webkit.org/show_bug.cgi?id=20215 8284 8285 This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that 8286 WebKit can remove those presentational tags when necessary. 8287 It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless 8288 (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style. 8289 8290 * css/CSSValueList.cpp: 8291 (WebCore::CSSValueList::hasValue): True if the property contains the specified value 8292 * css/CSSValueList.h: Updated prototype 8293 * editing/ApplyStyleCommand.cpp: 8294 (WebCore::StyleChange::init): No longer adds "text-decoration: none" 8295 (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements 8296 82972009-07-23 Jessie Berlin <jberlin@apple.com> 8298 8299 Reviewed by Dan Bernstein. 8300 8301 https://bugs.webkit.org/show_bug.cgi?id=27554 8302 Expose the value of text-overflow in getComputedStyle. 8303 8304 Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html 8305 8306 * css/CSSComputedStyleDeclaration.cpp: 8307 (WebCore::): 8308 Add text-overflow to the list of computedProperties. 8309 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8310 Return the value of the text-overflow property. 8311 83122009-07-23 Yongjun Zhang <yongjun.zhang@nokia.com> 8313 8314 Reviewed by Simon Hausmann. 8315 8316 https://bugs.webkit.org/show_bug.cgi?id=27510 8317 8318 [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project 8319 file for linking. This is a temporary workaround for qmake bug in Symbian port, should 8320 be reverted after qmake is fixed. 8321 8322 * WebCore.pro: 8323 83242009-07-23 Jian Li <jianli@chromium.org> 8325 8326 Reviewed by David Levin. 8327 8328 [V8] Fix an assert in running workers in Chrome. 8329 https://bugs.webkit.org/show_bug.cgi?id=27620 8330 8331 The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper 8332 to do not call removeObjectsFromWrapperMap for certain types of DOM 8333 objects that exist only in main thread. 8334 8335 * bindings/v8/V8DOMMap.cpp: 8336 (WebCore::removeAllDOMObjectsInCurrentThreadHelper): 8337 83382009-07-23 David Hyatt <hyatt@apple.com> 8339 8340 Reviewed by Dan Bernstein. 8341 8342 https://bugs.webkit.org/show_bug.cgi?id=27572 8343 Implement support for background-attachment:local. 8344 8345 Added new test fast/overflow/overflow-with-local-attachment.html. 8346 8347 * css/CSSComputedStyleDeclaration.cpp: 8348 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8349 * css/CSSParser.cpp: 8350 (WebCore::CSSParser::parseFillProperty): 8351 * css/CSSPrimitiveValueMappings.h: 8352 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 8353 (WebCore::CSSPrimitiveValue::operator EFillAttachment): 8354 * css/CSSStyleSelector.cpp: 8355 (WebCore::CSSStyleSelector::mapFillAttachment): 8356 * css/CSSValueKeywords.in: 8357 * rendering/RenderBoxModelObject.cpp: 8358 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 8359 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 8360 * rendering/style/FillLayer.h: 8361 (WebCore::FillLayer::attachment): 8362 (WebCore::FillLayer::setAttachment): 8363 (WebCore::FillLayer::hasFixedImage): 8364 (WebCore::FillLayer::initialFillAttachment): 8365 * rendering/style/RenderStyle.h: 8366 (WebCore::InheritedFlags::backgroundAttachment): 8367 (WebCore::InheritedFlags::maskAttachment): 8368 * rendering/style/RenderStyleConstants.h: 8369 (WebCore::): 8370 83712009-07-23 Ryosuke Niwa <rniwa@webkit.org> 8372 8373 Reviewed by Eric Seidel. 8374 8375 copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated 8376 https://bugs.webkit.org/show_bug.cgi?id=27325 8377 8378 This patch deprecates copyInheritableProperties because it has been used for two different purposes: 8379 1. Calculating the typing style. 8380 2. Moving HTML subtrees and seeking to remove redundant styles. 8381 These tasks should be broken out into two separate functions. New code should not use this function. 8382 8383 It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere. 8384 8385 There is no test since the patch does not change any behavior. 8386 8387 * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed 8388 (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties 8389 * css/CSSComputedStyleDeclaration.h: ditto 8390 * editing/DeleteSelectionCommand.cpp: ditto 8391 (WebCore::removeEnclosingAnchorStyle): ditto 8392 (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto 8393 * editing/EditCommand.cpp: ditto 8394 (WebCore::EditCommand::styleAtPosition): ditto 8395 * editing/RemoveFormatCommand.cpp: ditto 8396 (WebCore::RemoveFormatCommand::doApply): ditto 8397 * editing/ReplaceSelectionCommand.cpp: ditto 8398 (WebCore::handleStyleSpansBeforeInsertion): ditto 8399 (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto 8400 * editing/markup.cpp: ditto 8401 (WebCore::removeEnclosingMailBlockquoteStyle): ditto 8402 (WebCore::removeDefaultStyles): ditto 8403 (WebCore::createMarkup): ditto 8404 84052009-07-22 Pierre d'Herbemont <pdherbemont@apple.com> 8406 8407 Reviewed by Simon Fraser. 8408 8409 Audio element at default width shouldn't have time field. 8410 https://bugs.webkit.org/show_bug.cgi?id=27589 8411 8412 * rendering/MediaControlElements.cpp: 8413 (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't 8414 forget to remember the visibility if there is no renderer. 8415 84162009-07-23 Beth Dakin <bdakin@apple.com> 8417 8418 Reviewed by Darin Adler. 8419 8420 Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 8421 AccessibilityObject class 8422 8423 Mostly this is just moving empty stubs into the header rather than 8424 muddying the cpp file with them. A few functions were made pure 8425 virtual. 8426 8427 * accessibility/AccessibilityObject.cpp: 8428 (WebCore::AccessibilityObject::isARIAControl): 8429 (WebCore::AccessibilityObject::clickPoint): 8430 (WebCore::AccessibilityObject::documentFrameView): 8431 (WebCore::AccessibilityObject::actionVerb): 8432 * accessibility/AccessibilityObject.h: 8433 (WebCore::AccessibilityObject::intValue): 8434 (WebCore::AccessibilityObject::layoutCount): 8435 (WebCore::AccessibilityObject::doAccessibilityHitTest): 8436 (WebCore::AccessibilityObject::focusedUIElement): 8437 (WebCore::AccessibilityObject::firstChild): 8438 (WebCore::AccessibilityObject::lastChild): 8439 (WebCore::AccessibilityObject::previousSibling): 8440 (WebCore::AccessibilityObject::nextSibling): 8441 (WebCore::AccessibilityObject::parentObjectIfExists): 8442 (WebCore::AccessibilityObject::observableObject): 8443 (WebCore::AccessibilityObject::linkedUIElements): 8444 (WebCore::AccessibilityObject::titleUIElement): 8445 (WebCore::AccessibilityObject::ariaRoleAttribute): 8446 (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole): 8447 (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren): 8448 (WebCore::AccessibilityObject::roleValue): 8449 (WebCore::AccessibilityObject::ariaAccessiblityName): 8450 (WebCore::AccessibilityObject::ariaLabeledByAttribute): 8451 (WebCore::AccessibilityObject::ariaDescribedByAttribute): 8452 (WebCore::AccessibilityObject::accessibilityDescription): 8453 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange): 8454 (WebCore::AccessibilityObject::axObjectCache): 8455 (WebCore::AccessibilityObject::axObjectID): 8456 (WebCore::AccessibilityObject::setAXObjectID): 8457 (WebCore::AccessibilityObject::anchorElement): 8458 (WebCore::AccessibilityObject::actionElement): 8459 (WebCore::AccessibilityObject::boundingBoxRect): 8460 (WebCore::AccessibilityObject::selectedTextRange): 8461 (WebCore::AccessibilityObject::selectionStart): 8462 (WebCore::AccessibilityObject::selectionEnd): 8463 (WebCore::AccessibilityObject::url): 8464 (WebCore::AccessibilityObject::selection): 8465 (WebCore::AccessibilityObject::stringValue): 8466 (WebCore::AccessibilityObject::title): 8467 (WebCore::AccessibilityObject::helpText): 8468 (WebCore::AccessibilityObject::textUnderElement): 8469 (WebCore::AccessibilityObject::text): 8470 (WebCore::AccessibilityObject::textLength): 8471 (WebCore::AccessibilityObject::selectedText): 8472 (WebCore::AccessibilityObject::accessKey): 8473 (WebCore::AccessibilityObject::widget): 8474 (WebCore::AccessibilityObject::widgetForAttachmentView): 8475 (WebCore::AccessibilityObject::setFocused): 8476 (WebCore::AccessibilityObject::setSelectedText): 8477 (WebCore::AccessibilityObject::setSelectedTextRange): 8478 (WebCore::AccessibilityObject::setValue): 8479 (WebCore::AccessibilityObject::setSelected): 8480 (WebCore::AccessibilityObject::makeRangeVisible): 8481 (WebCore::AccessibilityObject::childrenChanged): 8482 (WebCore::AccessibilityObject::addChildren): 8483 (WebCore::AccessibilityObject::hasChildren): 8484 (WebCore::AccessibilityObject::selectedChildren): 8485 (WebCore::AccessibilityObject::visibleChildren): 8486 (WebCore::AccessibilityObject::visiblePositionRange): 8487 (WebCore::AccessibilityObject::visiblePositionRangeForLine): 8488 (WebCore::AccessibilityObject::boundsForVisiblePositionRange): 8489 (WebCore::AccessibilityObject::setSelectedVisiblePositionRange): 8490 (WebCore::AccessibilityObject::visiblePositionForPoint): 8491 (WebCore::AccessibilityObject::nextVisiblePosition): 8492 (WebCore::AccessibilityObject::previousVisiblePosition): 8493 (WebCore::AccessibilityObject::visiblePositionForIndex): 8494 (WebCore::AccessibilityObject::indexForVisiblePosition): 8495 (WebCore::AccessibilityObject::index): 8496 (WebCore::AccessibilityObject::doAXRangeForLine): 8497 (WebCore::AccessibilityObject::doAXRangeForIndex): 8498 (WebCore::AccessibilityObject::doAXStringForRange): 8499 (WebCore::AccessibilityObject::doAXBoundsForRange): 8500 (WebCore::AccessibilityObject::updateBackingStore): 8501 85022009-07-23 Brian Weinstein <bweinstein@apple.com> 8503 8504 Reviewed by David Hyatt. 8505 8506 Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll. 8507 8508 * page/EventHandler.cpp: 8509 (WebCore::EventHandler::handleMousePressEvent): 8510 * platform/ScrollView.cpp: 8511 (WebCore::ScrollView::wheelEvent): 8512 * platform/ScrollView.h: 8513 85142009-07-23 David Hyatt <hyatt@apple.com> 8515 8516 Reviewed by Dan Bernstein. 8517 8518 https://bugs.webkit.org/show_bug.cgi?id=27581 8519 Drop the prefix from the box-shadow property. 8520 8521 * css/CSSComputedStyleDeclaration.cpp: 8522 (WebCore::): 8523 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8524 * css/CSSParser.cpp: 8525 (WebCore::CSSParser::parseValue): 8526 (WebCore::ShadowParseContext::commitLength): 8527 (WebCore::cssPropertyID): 8528 * css/CSSPropertyNames.in: 8529 * css/CSSStyleSelector.cpp: 8530 (WebCore::CSSStyleSelector::applyProperty): 8531 * page/animation/AnimationBase.cpp: 8532 (WebCore::ensurePropertyMap): 8533 85342009-07-22 Viet-Trung Luu <viettrungluu@gmail.com> 8535 8536 Reviewed by David Hyatt. 8537 8538 https://bugs.webkit.org/show_bug.cgi?id=27289 8539 When a mouse click occurs on a scrollbar without a preceding mouse move 8540 onto it, the release isn't handled correctly (since 8541 EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but 8542 only on mouse move). (Side comment: That scrollbar-handling code 8543 in EventHandler is ugly. It should be fixed properly.) 8544 8545 Tests: scrollbars/scrollbar-miss-mousemove.html 8546 scrollbars/scrollbar-miss-mousemove-disabled.html 8547 8548 * page/EventHandler.cpp: 8549 (WebCore::EventHandler::handleMousePressEvent): 8550 (WebCore::EventHandler::handleMouseMoveEvent): 8551 (WebCore::EventHandler::updateLastScrollbarUnderMouse): 8552 * page/EventHandler.h: 8553 85542009-07-23 Mike Fenton <mike.fenton@torchmobile.com> 8555 8556 Reviewed by David Levin. 8557 8558 Update WebCore/page/BarInfo.cpp to conform to WebKit 8559 Style Guidelines as identified by cpplint.py. 8560 https://bugs.webkit.org/show_bug.cgi?id=27606 8561 8562 * page/BarInfo.cpp: 8563 (WebCore::BarInfo::visible): 8564 85652009-07-23 Mike Fenton <mike.fenton@torchmobile.com> 8566 8567 Reviewed by David Levin. 8568 8569 Update WebCore/page/Console.cpp to conform to WebKit 8570 Style Guidelines as identified by cpplint.py. 8571 https://bugs.webkit.org/show_bug.cgi?id=27606 8572 8573 * page/Console.cpp: 8574 (WebCore::printMessageSourceAndLevelPrefix): 8575 (WebCore::Console::profile): 8576 (WebCore::Console::time): 8577 85782009-07-23 Simon Hausmann <simon.hausmann@nokia.com> 8579 8580 Reviewed by Holger Freyther. 8581 8582 Fix crashes with the QObject bindings after garbage collection. 8583 8584 There is one QtInstance per wrapped QObject, and that QtInstance keeps 8585 references to cached JSObjects for slots. When those objects get 8586 deleted due to GC, then they becoming dangling pointers. 8587 8588 When a cached member dies, it is now removed from the QtInstance's 8589 cache. 8590 8591 As we cannot track the lifetime of the children, we have to remove 8592 them from QtInstance alltogether. They are not cached and were 8593 only used for mark(), but we _want_ them to be subject to gc. 8594 8595 * bridge/qt/qt_instance.cpp: 8596 (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup, 8597 use qDeleteAll(). 8598 (JSC::Bindings::QtInstance::removeCachedMethod): New function, to 8599 clean m_methods and m_defaultMethod. 8600 (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects. 8601 (JSC::Bindings::QtField::valueFromInstance): Don't save children for 8602 marking. 8603 * bridge/qt/qt_instance.h: Declare removeCachedMethod. 8604 * bridge/qt/qt_runtime.cpp: 8605 (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod 8606 with this on the instance. 8607 86082009-07-23 Xan Lopez <xlopez@igalia.com> 8609 8610 Reviewed by Mark Rowe. 8611 8612 https://bugs.webkit.org/show_bug.cgi?id=27599 8613 'const unsigned' in return value 8614 8615 Remove const modifier from unsigned return value, as it does not 8616 make sense. 8617 8618 * dom/ErrorEvent.h: 8619 86202009-07-22 Jens Alfke <snej@chromium.org> 8621 8622 Reviewed by David Levin. 8623 8624 Bug 22784: Improve keyboard navigation of Select elements. 8625 Home/End and PageUp/PageDn buttons do not do anything in drop down lists, 8626 on non-Mac platforms. 8627 https://bugs.webkit.org/show_bug.cgi?id=22784 8628 http://code.google.com/p/chromium/issues/detail?id=4576 8629 8630 New test: LayoutTests/fast/forms/select-popup-pagekeys.html 8631 8632 * dom/SelectElement.cpp: 8633 (WebCore::nextValidIndex): 8634 New utility fn for traversing items of a select's list. 8635 (WebCore::SelectElement::menuListDefaultEventHandler): 8636 Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false. 8637 86382009-07-23 Xan Lopez <xlopez@igalia.com> 8639 8640 Reviewed by Mark Rowe. 8641 8642 Fix a couple of compiler warnings. 8643 8644 * platform/graphics/cairo/ImageBufferCairo.cpp: 8645 (copySurface): 8646 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 8647 (WebCore::SimpleFontData::containsCharacters): 8648 86492009-07-22 Simon Hausmann <simon.hausmann@nokia.com> 8650 8651 Rubber-stamped by David Levin. 8652 8653 Enable HTML5 Datagrid defines for the Qt build. 8654 8655 * WebCore.pro: 8656 86572009-07-22 Adam Barth <abarth@webkit.org> 8658 8659 Reviewed by David Levin. 8660 8661 [V8] Make Node wrappers go fast 8662 https://bugs.webkit.org/show_bug.cgi?id=27597 8663 8664 Profiles indicate we're spending a lot of time asking whether we're on 8665 the main thread when looking up DOM wrappers for Nodes, but there isn't 8666 much point in doing that work because Nodes only exist on the main 8667 thread. I've also added an assert to keep us honest in this regard. 8668 8669 * bindings/v8/V8DOMMap.cpp: 8670 (WebCore::): 8671 (WebCore::getDOMNodeMap): 8672 (WebCore::DOMData::getCurrent): 8673 (WebCore::DOMData::getCurrentMainThread): 8674 86752009-07-22 Adam Barth <abarth@webkit.org> 8676 8677 Reviewed by Alexey Proskuryakov. 8678 8679 Remove unneeded virtual destructor from ScriptSourceProvider 8680 https://bugs.webkit.org/show_bug.cgi?id=27563 8681 8682 * bindings/js/ScriptSourceProvider.h: 8683 86842009-07-22 Ryosuke Niwa <rniwa@webkit.org> 8685 8686 Reviewed by Eric Seidel. 8687 8688 execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration 8689 https://bugs.webkit.org/show_bug.cgi?id=27476 8690 8691 executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none". 8692 This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value. 8693 It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations, 8694 and adds removeAll member function to CSSValueList. 8695 8696 Tests: editing/execCommand/toggle-text-decorations.html 8697 fast/css/getComputedStyle/getComputedStyle-text-decoration.html 8698 8699 * css/CSSComputedStyleDeclaration.cpp: 8700 (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList 8701 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue 8702 * css/CSSParser.cpp: 8703 (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated 8704 * css/CSSValueList.cpp: 8705 (WebCore::CSSValueList::removeAll): Removes all values that match the specified value 8706 * css/CSSValueList.h: 8707 * editing/EditorCommand.cpp: 8708 (WebCore::applyCommandToFrame): Apply style to a frame using specified command 8709 (WebCore::executeApplyStyle): Uses applyCommandToFrame 8710 (WebCore::executeToggleStyleInList): Uses applyCommandToFrame 8711 (WebCore::executeToggleStyle): Toggles a style in CSSValueList 8712 (WebCore::executeStrikethrough): Uses executeToggleStyleInList 8713 (WebCore::executeUnderline): Uses executeToggleStyleInList 8714 87152009-07-22 Daniel Bates <dbates@intudata.com> 8716 8717 Reviewed by Adam Barth. 8718 8719 https://bugs.webkit.org/show_bug.cgi?id=27174 8720 And 8721 https://bugs.webkit.org/show_bug.cgi?id=26938 8722 8723 Code cleanup. Implements support for detecting attacks transformed by 8724 PHP Magic Quotes/PHP addslashes(). 8725 8726 Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html 8727 http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html 8728 http/tests/security/xssAuditor/script-tag-addslashes-null-char.html 8729 http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html 8730 8731 * page/XSSAuditor.cpp: 8732 (WebCore::isInvalidCharacter): 8733 (WebCore::XSSAuditor::canEvaluate): 8734 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 8735 (WebCore::XSSAuditor::canLoadObject): 8736 (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes, 8737 and removes control characters that could otherwise cause a discrepancy between 8738 the source code of a script and the outgoing HTTP parameters. 8739 (WebCore::XSSAuditor::decodeURL): 8740 (WebCore::XSSAuditor::decodeHTMLEntities): 8741 (WebCore::XSSAuditor::findInRequest): 8742 * page/XSSAuditor.h: 8743 87442009-07-22 Oliver Hunt <oliver@apple.com> 8745 8746 Reviewed by Adele Peterson. 8747 8748 Null deref in JSObject::mark due to null xhr wrapper 8749 https://bugs.webkit.org/show_bug.cgi?id=27565 8750 8751 Make event target binding for appcache and xhr behave in the same way as 8752 it does for all other events. 8753 8754 No test as I couldn't make a testcase which was remotely reliable. 8755 8756 * bindings/js/JSEventTarget.cpp: 8757 (WebCore::toJS): 8758 87592009-07-22 Mads Ager <ager@chromium.org> 8760 8761 Reviewed by David Levin. 8762 8763 Inform V8 of the amount of WebCore string memory it is keeping alive. 8764 https://bugs.webkit.org/show_bug.cgi?id=27537 8765 8766 V8 uses external strings that are backed by WebCore strings. Since 8767 the external strings themselves are small, V8 has no way of 8768 knowing how much memory it is actually holding on to. With this 8769 change, we inform V8 of the amount of WebCore string data it is 8770 holding on to with external strings. 8771 8772 * bindings/v8/V8Binding.cpp: 8773 (WebCore::WebCoreStringResource::WebCoreStringResource): 8774 (WebCore::WebCoreStringResource::~WebCoreStringResource): 8775 87762009-07-22 David Hyatt <hyatt@apple.com> 8777 8778 Reviewed by Beth Dakin. 8779 8780 https://bugs.webkit.org/show_bug.cgi?id=27562 8781 Add the finalized versions of background-clip and background-origin. Remove background-clip from 8782 the background shorthand and have it be auto-set based off background-origin's value. 8783 8784 Three new tests added in fast/backgrounds/size 8785 8786 * css/CSSComputedStyleDeclaration.cpp: 8787 (WebCore::): 8788 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 8789 * css/CSSMutableStyleDeclaration.cpp: 8790 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 8791 * css/CSSParser.cpp: 8792 (WebCore::CSSParser::parseValue): 8793 (WebCore::CSSParser::parseFillShorthand): 8794 (WebCore::CSSParser::parseFillProperty): 8795 * css/CSSPropertyLonghand.cpp: 8796 (WebCore::initShorthandMap): 8797 * css/CSSPropertyNames.in: 8798 * css/CSSStyleSelector.cpp: 8799 (WebCore::CSSStyleSelector::applyProperty): 8800 * css/CSSValueKeywords.in: 8801 88022009-07-22 Jens Alfke <snej@chromium.org> 8803 8804 Reviewed by Darin Fisher. 8805 8806 Hook up V8 bindings for DataGrid elements. 8807 https://bugs.webkit.org/show_bug.cgi?id=27383 8808 http://code.google.com/p/chromium/issues/detail?id=16730 8809 8810 Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* 8811 to handle exceptions, check appropriate JS prototypes, and 8812 test column-list's item() method as well as array-indexing. 8813 8814 * WebCore.gypi: Added new source files. 8815 * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. 8816 * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. 8817 * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. 8818 (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. 8819 * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) 8820 (WebCore::V8DataGridDataSource::V8DataGridDataSource): 8821 (WebCore::V8DataGridDataSource::~V8DataGridDataSource): 8822 * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) 8823 (WebCore::V8DataGridDataSource::create): 8824 (WebCore::V8DataGridDataSource::isJSDataGridDataSource): 8825 (WebCore::V8DataGridDataSource::jsDataSource): 8826 (WebCore::asV8DataGridDataSource): 8827 * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". 8828 * bindings/v8/V8Index.h: Conditionalize datagrid stuff. 8829 * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. 8830 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added. 8831 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. 8832 (WebCore::ACCESSOR_GETTER): 8833 (WebCore::ACCESSOR_SETTER): 8834 88352009-07-22 Ryosuke Niwa <rniwa@webkit.org> 8836 8837 Reviewed by Eric Seidel. 8838 8839 pushDownTextDecorationStyleAroundNode needs clean up 8840 https://bugs.webkit.org/show_bug.cgi?id=27556 8841 8842 Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode 8843 While traversing, it will apply the specified style to all nodes but targetNode. 8844 i.e. the style is applies to all ancestor nodes and their siblings of targetNode. 8845 8846 * editing/ApplyStyleCommand.cpp: 8847 (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments 8848 * editing/ApplyStyleCommand.h: Updated prototype 8849 88502009-07-22 Peter Kasting <pkasting@google.com> 8851 8852 Reviewed by David Kilzer. 8853 8854 https://bugs.webkit.org/show_bug.cgi?id=27323 8855 Handle any type of line endings in WebCore/css/*CSSPropertyNames.in. 8856 8857 * DerivedSources.make: 8858 * css/makeprop.pl: 8859 * css/makevalues.pl: 8860 88612009-07-22 Paul Godavari <paul@chromium.org> 8862 8863 Reviewed by Darin Fisher. 8864 8865 Chromium has a build break after removal of JSRGBColor bindings 8866 https://bugs.webkit.org/show_bug.cgi?id=27548 8867 8868 Fix a build break in Chromium V8 after the JSRGBColor bindings change: 8869 https://bugs.webkit.org/show_bug.cgi?id=27242 8870 8871 * bindings/scripts/CodeGeneratorV8.pm: 8872 88732009-07-22 Adam Langley <agl@google.com> 8874 8875 Reviewed by Darin Fisher. 8876 8877 Chromium Linux: add static functions to FontPlatformData which allow 8878 for setting the global font rendering preferences. 8879 8880 https://bugs.webkit.org/show_bug.cgi?id=27513 8881 http://code.google.com/p/chromium/issues/detail?id=12179 8882 8883 This should not affect any layout tests. 8884 8885 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 8886 (WebCore::FontPlatformData::setHinting): 8887 (WebCore::FontPlatformData::setAntiAlias): 8888 (WebCore::FontPlatformData::setSubpixelGlyphs): 8889 (WebCore::FontPlatformData::setupPaint): 8890 * platform/graphics/chromium/FontPlatformDataLinux.h: 8891 88922009-07-22 Mikhail Naganov <mnaganov@chromium.org> 8893 8894 Reviewed by Timothy Hatcher. 8895 8896 Move Inspector panels creation into a function to make possible introducing 8897 custom panels. 8898 8899 * inspector/front-end/inspector.js: 8900 (WebInspector._createPanels): 8901 (WebInspector.loaded): 8902 89032009-07-22 Pavel Feldman <pfeldman@chromium.org> 8904 8905 Reviewed by Timothy Hatcher. 8906 8907 WebInspector: Print console command message upon evaluate 8908 selection request; Handle errors in evaluation request 8909 properly. 8910 8911 https://bugs.webkit.org/show_bug.cgi?id=27535 8912 8913 * inspector/front-end/ScriptsPanel.js: 8914 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 8915 * inspector/front-end/SourceFrame.js: 8916 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 8917 89182009-07-22 Xan Lopez <xlopez@igalia.com> 8919 8920 Attempt to fix the GTK+ build. 8921 8922 * GNUmakefile.am: 8923 89242009-07-21 Simon Hausmann <simon.hausmann@nokia.com> 8925 8926 Fix the Qt build. 8927 8928 * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor. 8929 89302009-07-21 Daniel Bates <dbates@intudata.com> 8931 8932 Reviewed by Adam Barth. 8933 8934 https://bugs.webkit.org/show_bug.cgi?id=27494 8935 8936 Fixes an issue that can cause a crash or unexpected behavior when calling 8937 WebCore::ScriptSourceCode::source on a cached script. 8938 8939 * GNUmakefile.am: 8940 * WebCore.gypi: 8941 * WebCore.pro: 8942 * WebCore.vcproj/WebCore.vcproj: 8943 * WebCore.xcodeproj/project.pbxproj: 8944 * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 8945 WebCore::ScriptSourceCode. 8946 (WebCore::CachedScriptSourceProvider::source): 8947 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 8948 * bindings/js/ScriptSourceCode.h: 8949 (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and 8950 rewrote to use WebCore::ScriptSourceProvider. 8951 (WebCore::ScriptSourceCode::source): 8952 * bindings/js/ScriptSourceProvider.h: Added. 8953 (WebCore::ScriptSourceProvider::ScriptSourceProvider): 8954 (WebCore::ScriptSourceProvider::~ScriptSourceProvider): 8955 * bindings/js/StringSourceProvider.h: Modified to inherit from 8956 WebCore::ScriptSourceCode. 8957 (WebCore::StringSourceProvider::StringSourceProvider): 8958 89592009-07-21 Sam Weinig <sam@webkit.org> 8960 8961 Another attempt to fix the Windows build. 8962 8963 * WebCore.vcproj/WebCore.vcproj: 8964 89652009-07-21 Sam Weinig <sam@webkit.org> 8966 8967 Attempt to fix the Windows build. 8968 8969 * DerivedSources.cpp: 8970 89712009-07-21 Sam Weinig <sam@webkit.org> 8972 8973 Attempt to fix the GTK build. 8974 8975 * GNUmakefile.am: 8976 89772009-07-21 Sam Weinig <sam@webkit.org> 8978 8979 Reviewed by Dan Bernstein. 8980 8981 Autogenerate Objective-C binding implementation for RGBColor. 8982 8983 No functionality change. 8984 8985 * WebCore.xcodeproj/project.pbxproj: 8986 * bindings/objc/DOMRGBColor.mm: Removed. 8987 * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from 8988 WebCore::Color to NSColor*. 8989 * css/RGBColor.idl: 8990 89912009-07-21 Sam Weinig <sam@webkit.org> 8992 8993 Reviewed by Dan Bernstein. 8994 8995 Fix for https://bugs.webkit.org/show_bug.cgi?id=27242 8996 JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor 8997 8998 Move the JSC and Objective-C bindings onto using the RGBColor object instead 8999 of just an unsigned int. The JSC bindings are now completely autogenerated for 9000 this class. (Also removes the last lut from WebCore). 9001 9002 * DerivedSources.make: 9003 * GNUmakefile.am: 9004 * WebCore.pro: 9005 * WebCore.vcproj/WebCore.vcproj: 9006 * WebCore.xcodeproj/project.pbxproj: 9007 * WebCoreSources.bkl: 9008 * bindings/js/JSRGBColor.cpp: Removed. 9009 * bindings/js/JSRGBColor.h: Removed. 9010 * bindings/objc/DOM.mm: 9011 (-[DOMRGBColor _color]): 9012 * bindings/objc/DOMRGBColor.mm: 9013 (-[DOMRGBColor dealloc]): 9014 (-[DOMRGBColor finalize]): 9015 (-[DOMRGBColor red]): 9016 (-[DOMRGBColor green]): 9017 (-[DOMRGBColor blue]): 9018 (-[DOMRGBColor alpha]): 9019 (-[DOMRGBColor color]): 9020 * bindings/scripts/CodeGenerator.pm: 9021 * bindings/scripts/CodeGeneratorJS.pm: 9022 * bindings/scripts/CodeGeneratorObjC.pm: 9023 * css/CSSParser.cpp: 9024 (WebCore::CSSParser::parseColor): 9025 * css/CSSPrimitiveValue.cpp: 9026 (WebCore::CSSPrimitiveValue::getRGBColorValue): 9027 * css/CSSPrimitiveValue.h: 9028 (WebCore::CSSPrimitiveValue::getRGBA32Value): 9029 * css/CSSStyleSelector.cpp: 9030 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 9031 * css/RGBColor.cpp: 9032 (WebCore::RGBColor::alpha): 9033 * css/RGBColor.h: 9034 (WebCore::RGBColor::color): 9035 (WebCore::RGBColor::RGBColor): 9036 * css/RGBColor.idl: 9037 * page/DOMWindow.idl: 9038 * svg/SVGColor.cpp: 9039 (WebCore::SVGColor::rgbColor): 9040 * svg/SVGColor.h: 9041 90422009-07-21 Jian Li <jianli@chromium.org> 9043 9044 Reviewed by David Levin. 9045 9046 Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent. 9047 https://bugs.webkit.org/show_bug.cgi?id=27515 9048 9049 * workers/AbstractWorker.cpp: 9050 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 9051 90522009-07-21 Eric Seidel <eric@webkit.org> 9053 9054 Reviewed by Adam Barth. 9055 9056 Move m_context out of generator into a superclass 9057 https://bugs.webkit.org/show_bug.cgi?id=27521 9058 9059 Mostly this is removing code from CodeGeneratorJS 9060 and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h. 9061 9062 DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to 9063 know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason). 9064 9065 I also removed context pointer from SVGZoomEvent since it was never used. 9066 9067 * WebCore.gypi: 9068 * WebCore.pro: 9069 * WebCore.vcproj/WebCore.vcproj: 9070 * WebCore.xcodeproj/project.pbxproj: 9071 * bindings/js/DOMObjectWithSVGContext.h: Added. 9072 (WebCore::DOMObjectWithSVGContext::context): 9073 (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): 9074 * bindings/js/JSDOMBinding.h: 9075 * bindings/js/JSEventCustom.cpp: 9076 (WebCore::toJS): 9077 * bindings/scripts/CodeGeneratorJS.pm: 9078 90792009-07-21 Ryosuke Niwa <rniwa@webkit.org> 9080 9081 Reviewed by Eric Seidel. 9082 9083 REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build 9084 https://bugs.webkit.org/show_bug.cgi?id=27480 9085 9086 Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value. 9087 We made m_anchorType unsigned so that anchorType() returns the correct value. 9088 9089 * dom/Position.h: 9090 (WebCore::Position::anchorType): statically cast to AnchorType 9091 90922009-07-21 Jian Li <jianli@chromium.org> 9093 9094 Reviewed by David Levin. 9095 9096 [V8] Add V8 bindings for onerror in WorkerContext. 9097 https://bugs.webkit.org/show_bug.cgi?id=27518 9098 9099 * bindings/v8/custom/V8CustomBinding.h: 9100 * bindings/v8/custom/V8WorkerContextCustom.cpp: 9101 (WebCore::ACCESSOR_GETTER): 9102 (WebCore::ACCESSOR_SETTER): 9103 91042009-07-21 Jian Li <jianli@chromium.org> 9105 9106 Fix the incorrect patch being landed for bug 27516 that has already been reviewed. 9107 https://bugs.webkit.org/show_bug.cgi?id=27516 9108 9109 * workers/WorkerContext.h: 9110 (WebCore::WorkerContext::setOnerror): 9111 (WebCore::WorkerContext::onerror): 9112 * workers/WorkerContext.idl: 9113 91142009-07-21 Jian Li <jianli@chromium.org> 9115 9116 Reviewed by David Levin. 9117 9118 Add onerror to WorkerContext. 9119 https://bugs.webkit.org/show_bug.cgi?id=27516 9120 9121 * bindings/js/JSWorkerContextCustom.cpp: 9122 (WebCore::JSWorkerContext::mark): 9123 * workers/WorkerContext.h: 9124 (WebCore::WorkerContext::setOnerror): 9125 (WebCore::WorkerContext::onerror): 9126 * workers/WorkerContext.idl: 9127 91282009-07-21 Yong Li <yong.li@torchmobile.com> 9129 9130 Reviewed by George Staikos. 9131 9132 https://bugs.webkit.org/show_bug.cgi?id=27509 9133 Add font-related files for the WinCE port. 9134 9135 Written by Yong Li <yong.li@torchmobile.com> 9136 9137 * platform/graphics/wince/FontCacheWince.cpp: Added. 9138 * platform/graphics/wince/FontCustomPlatformData.cpp: Added. 9139 * platform/graphics/wince/FontCustomPlatformData.h: Added. 9140 * platform/graphics/wince/FontPlatformData.cpp: Added. 9141 * platform/graphics/wince/FontPlatformData.h: Added. 9142 * platform/graphics/wince/FontWince.cpp: Added. 9143 * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added. 9144 * platform/graphics/wince/SimpleFontDataWince.cpp: Added. 9145 91462009-07-21 Kevin Ollivier <kevino@theolliviers.com> 9147 9148 Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too. 9149 9150 * WebCorePrefix.h: 9151 91522009-07-21 Kevin Ollivier <kevino@theolliviers.com> 9153 9154 WebCorePrefix.h build fixes for non-Mac and wx / CURL builds. 9155 9156 * WebCorePrefix.h: 9157 91582009-07-21 Eric Seidel <eric@webkit.org> 9159 9160 Reviewed by Adam Barth. 9161 9162 All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject 9163 https://bugs.webkit.org/show_bug.cgi?id=27478 9164 9165 This is just moving code. 9166 I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument. 9167 9168 DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject. 9169 (It's a baseclass because eventually all DOMObjects will have a global pointer, but 9170 I'll be moving them onto DOMObjectWithGlobalPointer in stages.) 9171 9172 DOMConstructorWithDocument is a new baseclass for the 3 constructor objects 9173 which require a backpointer to the Document to function. I made this a subclass of 9174 DOMConstructorObject to make clear that most constructors can hold no-such assumptions 9175 about having a back-pointer to the Document (since many constructors can be used from Workers). 9176 9177 * bindings/js/JSAudioConstructor.cpp: 9178 (WebCore::JSAudioConstructor::JSAudioConstructor): 9179 * bindings/js/JSAudioConstructor.h: 9180 * bindings/js/JSDOMBinding.h: 9181 (WebCore::DOMObjectWithGlobalPointer::globalObject): 9182 (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): 9183 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 9184 (WebCore::DOMObjectWithGlobalPointer::mark): 9185 (WebCore::DOMConstructorObject::DOMConstructorObject): 9186 (WebCore::DOMConstructorWithDocument::document): 9187 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): 9188 * bindings/js/JSImageConstructor.cpp: 9189 (WebCore::JSImageConstructor::JSImageConstructor): 9190 * bindings/js/JSImageConstructor.h: 9191 * bindings/js/JSMessageChannelConstructor.cpp: 9192 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 9193 * bindings/js/JSMessageChannelConstructor.h: 9194 * bindings/js/JSOptionConstructor.cpp: 9195 (WebCore::JSOptionConstructor::JSOptionConstructor): 9196 * bindings/js/JSOptionConstructor.h: 9197 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 9198 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 9199 * bindings/js/JSWebKitPointConstructor.cpp: 9200 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 9201 * bindings/js/JSWorkerConstructor.cpp: 9202 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 9203 * bindings/js/JSXMLHttpRequestConstructor.cpp: 9204 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 9205 * bindings/js/JSXMLHttpRequestConstructor.h: 9206 * bindings/js/JSXSLTProcessorConstructor.cpp: 9207 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 9208 92092009-07-21 James Hawkins <jhawkins@google.com> 9210 9211 Reviewed by David Hyatt. 9212 9213 https://bugs.webkit.org/show_bug.cgi?id=27453 9214 Initialize isInt when creating a CSSParserValue for a function. 9215 9216 No change in behavior, so no tests. 9217 9218 * css/CSSFunctionValue.cpp: 9219 (WebCore::CSSFunctionValue::parserValue): 9220 92212009-07-20 Jens Alfke <snej@google.com> 9222 9223 Reviewed by David Levin. 9224 9225 Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu. 9226 Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when 9227 an arrow key is pressed. 9228 https://bugs.webkit.org/show_bug.cgi?id=27448 9229 9230 No new tests; affects only control response to user input. 9231 9232 * dom/SelectElement.cpp: 9233 Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium, 9234 so it will behave compatibly with Mac HI guidelines on pop-up menus. 9235 It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium. 9236 92372009-07-21 Paul Godavari <paul@chromium.org> 9238 9239 Reviewed by Eric Seidel. 9240 9241 [Chromium] popup menus can crash when the selected index is -1 9242 https://bugs.webkit.org/show_bug.cgi?id=27275 9243 9244 Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem 9245 is passed an index of less than 0 (which is possible under certain circumstances). This 9246 change prevents such a value from causing a crash by enforcing valid index values passed 9247 by all callers of isSelectableItem. isSelectableItem is now a private method of 9248 PopupListBox, as there are no external callers. 9249 9250 Also cleaned up a small amount of code for style and grammar errors. 9251 9252 No automatic test is provided since we cannot send events to the child window used by 9253 the popup menu. 9254 9255 * platform/chromium/PopupMenuChromium.cpp: 9256 (WebCore::PopupListBox::acceptIndex): 9257 (WebCore::PopupListBox::selectIndex): 9258 (WebCore::PopupListBox::isSelectableItem): 9259 (WebCore::PopupListBox::selectPreviousRow): 9260 92612009-07-21 Kevin Ollivier <kevino@theolliviers.com> 9262 9263 wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock. 9264 9265 * platform/network/curl/ResourceHandleManager.h: 9266 92672009-07-21 Adam Roben <aroben@apple.com> 9268 9269 Roll out r46153, r46154, and r46155 9270 9271 These changes were causing build failures and assertion failures on 9272 Windows. 9273 9274 * ForwardingHeaders/wtf/PossiblyNull.h: Removed. 9275 * platform/graphics/cg/ImageBufferCG.cpp: 9276 92772009-07-21 Jian Li <jianli@chromium.org> 9278 9279 Reviewed by Eric Seidel. 9280 9281 Implement ErrorEvent API. 9282 https://bugs.webkit.org/show_bug.cgi?id=27387 9283 9284 * DerivedSources.cpp: 9285 * DerivedSources.make: 9286 * GNUmakefile.am: 9287 * WebCore.gypi: 9288 * WebCore.pro: 9289 * WebCore.vcproj/WebCore.vcproj: 9290 * WebCore.xcodeproj/project.pbxproj: 9291 * WebCoreSources.bkl: 9292 * bindings/js/JSEventCustom.cpp: 9293 (WebCore::toJS): 9294 * dom/ErrorEvent.cpp: Added. 9295 * dom/ErrorEvent.h: Added. 9296 * dom/ErrorEvent.idl: Added. 9297 * dom/Event.cpp: 9298 (WebCore::Event::isErrorEvent): 9299 * dom/Event.h: 9300 93012009-07-21 Priit Laes <plaes@plaes.org> 9302 9303 Reviewed by Gustavo Noronha. 9304 9305 [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word 9306 https://bugs.webkit.org/show_bug.cgi?id=24602 9307 9308 Remove workaround required for <=libsoup-2.26.1 9309 9310 * platform/network/soup/ResourceHandleSoup.cpp: 9311 (WebCore::restartedCallback): 9312 93132009-07-21 Adam Barth <abarth@webkit.org> 9314 9315 Reviewed by David Levin. 9316 9317 V8IsolatedWorld keeps a handle to a disposed context 9318 https://bugs.webkit.org/show_bug.cgi?id=27397 9319 9320 Make a copy of the context handle before making it weak. We don't want 9321 to make the original handle weak because we want it to survive for the 9322 length of the V8IsolatedWorld::evaluate method. 9323 9324 * bindings/v8/V8IsolatedWorld.cpp: 9325 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 9326 93272009-07-21 Pavel Feldman <pfeldman@chromium.org> 9328 9329 Reviewed by Timothy Hatcher. 9330 9331 Web Inspector: Add ability to evaluate selection while on break point. 9332 9333 https://bugs.webkit.org/show_bug.cgi?id=27502 9334 9335 * inspector/front-end/SourceFrame.js: 9336 (WebInspector.SourceFrame.prototype._loaded): 9337 (WebInspector.SourceFrame.prototype._documentKeyDown): 9338 93392009-07-21 Pavel Feldman <pfeldman@chromium.org> 9340 9341 Reviewed by Timothy Hatcher. 9342 9343 WebInspector: Special case ConsolePanel opening since 9344 it is a 'fast view'. 9345 9346 https://bugs.webkit.org/show_bug.cgi?id=27493 9347 9348 * inspector/InspectorController.cpp: 9349 (WebCore::InspectorController::setWindowVisible): 9350 93512009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org> 9352 9353 Reviewed by Eric Seidel. 9354 9355 Fix Qt code to follow the WebKit Coding Style. 9356 9357 * platform/graphics/qt/FontQt.cpp: 9358 (WebCore::qstring): 9359 (WebCore::fixSpacing): 9360 * platform/graphics/qt/FontQt43.cpp: 9361 (WebCore::generateComponents): 9362 (WebCore::Font::offsetForPositionForComplexText): 9363 (WebCore::cursorToX): 9364 * platform/graphics/qt/GradientQt.cpp: 9365 (WebCore::Gradient::platformGradient): 9366 * platform/graphics/qt/GraphicsContextQt.cpp: 9367 (WebCore::toQtFillRule): 9368 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 9369 (WebCore::GraphicsContext::~GraphicsContext): 9370 (WebCore::GraphicsContext::getCTM): 9371 (WebCore::GraphicsContext::concatCTM): 9372 (WebCore::GraphicsContext::getWindowsContext): 9373 * platform/graphics/qt/IconQt.cpp: 9374 (WebCore::Icon::paint): 9375 * platform/graphics/qt/ImageDecoderQt.cpp: 9376 (WebCore::ImageDecoderQt::ReadContext::read): 9377 (WebCore::ImageDecoderQt::ReadContext::readImageLines): 9378 (WebCore::ImageDecoderQt::setData): 9379 * platform/graphics/qt/ImageQt.cpp: 9380 (WebCore::Image::drawPattern): 9381 (WebCore::BitmapImage::draw): 9382 * platform/graphics/qt/ImageSourceQt.cpp: 9383 (WebCore::ImageSource::frameDurationAtIndex): 9384 (WebCore::ImageSource::frameHasAlphaAtIndex): 9385 (WebCore::ImageSource::frameIsCompleteAtIndex): 9386 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 9387 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 9388 (WebCore::MediaPlayerPrivate::create): 9389 (WebCore::MediaPlayerPrivate::bytesLoaded): 9390 (WebCore::MediaPlayerPrivate::updateStates): 9391 * platform/graphics/qt/PathQt.cpp: 9392 (WebCore::Path::addArcTo): 9393 (WebCore::Path::isEmpty): 9394 * platform/graphics/qt/TransformationMatrixQt.cpp: 9395 (WebCore::TransformationMatrix::operator QTransform): 9396 * platform/qt/ClipboardQt.cpp: 9397 (WebCore::ClipboardQt::ClipboardQt): 9398 (WebCore::ClipboardQt::clearData): 9399 (WebCore::ClipboardQt::clearAllData): 9400 (WebCore::ClipboardQt::getData): 9401 (WebCore::ClipboardQt::setData): 9402 (WebCore::ClipboardQt::setDragImage): 9403 (WebCore::getCachedImage): 9404 (WebCore::ClipboardQt::declareAndWriteDragImage): 9405 (WebCore::ClipboardQt::writeURL): 9406 (WebCore::ClipboardQt::writeRange): 9407 (WebCore::ClipboardQt::hasData): 9408 * platform/qt/ClipboardQt.h: 9409 * platform/qt/ContextMenuItemQt.cpp: 9410 (WebCore::ContextMenuItem::action): 9411 (WebCore::ContextMenuItem::title): 9412 * platform/qt/CursorQt.cpp: 9413 (WebCore::westPanningCursor): 9414 (WebCore::notAllowedCursor): 9415 * platform/qt/DragDataQt.cpp: 9416 (WebCore::DragData::containsFiles): 9417 (WebCore::DragData::asFilenames): 9418 (WebCore::DragData::asPlainText): 9419 (WebCore::DragData::asFragment): 9420 * platform/qt/DragImageQt.cpp: 9421 (WebCore::createDragImageIconForCachedImage): 9422 * platform/qt/FileSystemQt.cpp: 9423 (WebCore::getFileSize): 9424 (WebCore::unloadModule): 9425 * platform/qt/Localizations.cpp: 9426 (WebCore::contextMenuItemTagShowSpellingPanel): 9427 * platform/qt/MIMETypeRegistryQt.cpp: 9428 (WebCore::): 9429 * platform/qt/PasteboardQt.cpp: 9430 (WebCore::Pasteboard::Pasteboard): 9431 (WebCore::Pasteboard::writeSelection): 9432 (WebCore::Pasteboard::plainText): 9433 * platform/qt/PlatformKeyboardEventQt.cpp: 9434 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 9435 * platform/qt/PlatformMouseEventQt.cpp: 9436 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 9437 * platform/qt/PopupMenuQt.cpp: 9438 (WebCore::PopupMenu::populate): 9439 * platform/qt/RenderThemeQt.cpp: 9440 (WebCore::RenderThemeQt::fallbackStyle): 9441 (WebCore::inflateButtonRect): 9442 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 9443 (WebCore::RenderThemeQt::paintButton): 9444 (WebCore::RenderThemeQt::paintMenuList): 9445 (WebCore::RenderThemeQt::applyTheme): 9446 (WebCore::WorldMatrixTransformer::WorldMatrixTransformer): 9447 (WebCore::RenderThemeQt::paintMediaBackground): 9448 (WebCore::RenderThemeQt::paintMediaFullscreenButton): 9449 * platform/qt/RenderThemeQt.h: 9450 * platform/qt/ScreenQt.cpp: 9451 (WebCore::screenRect): 9452 (WebCore::usableScreenRect): 9453 * platform/qt/ScrollbarQt.cpp: 9454 (WebCore::Scrollbar::contextMenu): 9455 * platform/qt/ScrollbarThemeQt.cpp: 9456 (WebCore::scPart): 9457 (WebCore::scrollbarPart): 9458 * platform/qt/ScrollbarThemeQt.h: 9459 * platform/qt/SharedBufferQt.cpp: 9460 (WebCore::SharedBuffer::createWithContentsOfFile): 9461 * platform/qt/TemporaryLinkStubs.cpp: 9462 (PluginDatabase::defaultPluginDirectories): 9463 (PluginDatabase::getPluginPathsInDirectories): 9464 (PluginDatabase::isPreferredPluginDirectory): 9465 (WebCore::getSupportedKeySizes): 9466 (WebCore::signedPublicKeyAndChallengeString): 9467 (WebCore::userIdleTime): 9468 (WebCore::prefetchDNS): 9469 * platform/text/qt/StringQt.cpp: 9470 (WebCore::String::String): 9471 * platform/text/qt/TextBoundaries.cpp: 9472 * platform/text/qt/TextBreakIteratorQt.cpp: 9473 (WebCore::TextBreakIterator::following): 9474 (WebCore::TextBreakIterator::preceding): 9475 (WebCore::WordBreakIteratorQt::first): 9476 (WebCore::WordBreakIteratorQt::next): 9477 (WebCore::WordBreakIteratorQt::previous): 9478 (WebCore::CharBreakIteratorQt::first): 9479 (WebCore::CharBreakIteratorQt::next): 9480 (WebCore::CharBreakIteratorQt::previous): 9481 (WebCore::characterBreakIterator): 9482 * plugins/qt/PluginPackageQt.cpp: 9483 (WebCore::PluginPackage::fetchInfo): 9484 * plugins/qt/PluginViewQt.cpp: 9485 (WebCore::PluginView::userAgentStatic): 9486 (WebCore::PluginView::handlePostReadFile): 9487 (WebCore::PluginView::init): 9488 94892009-07-21 Maxime Simon <simon.maxime@gmail.com> 9490 9491 Reviewed by David Levin. 9492 9493 Added a first bunch of Haiku-specific files for WebCore. 9494 https://bugs.webkit.org/show_bug.cgi?id=26988 9495 9496 * platform/haiku/ClipboardHaiku.cpp: Added. 9497 (WebCore::ClipboardHaiku::ClipboardHaiku): 9498 (WebCore::ClipboardHaiku::clearData): 9499 (WebCore::ClipboardHaiku::clearAllData): 9500 (WebCore::ClipboardHaiku::getData): 9501 (WebCore::ClipboardHaiku::setData): 9502 (WebCore::ClipboardHaiku::types): 9503 (WebCore::ClipboardHaiku::files): 9504 (WebCore::ClipboardHaiku::dragLocation): 9505 (WebCore::ClipboardHaiku::dragImage): 9506 (WebCore::ClipboardHaiku::setDragImage): 9507 (WebCore::ClipboardHaiku::dragImageElement): 9508 (WebCore::ClipboardHaiku::setDragImageElement): 9509 (WebCore::ClipboardHaiku::createDragImage): 9510 (WebCore::ClipboardHaiku::declareAndWriteDragImage): 9511 (WebCore::ClipboardHaiku::writeURL): 9512 (WebCore::ClipboardHaiku::writeRange): 9513 (WebCore::ClipboardHaiku::hasData): 9514 * platform/haiku/ClipboardHaiku.h: Added. 9515 (WebCore::ClipboardHaiku::create): 9516 (WebCore::ClipboardHaiku::~ClipboardHaiku): 9517 * platform/haiku/CookieJarHaiku.cpp: Added. 9518 (WebCore::setCookies): 9519 (WebCore::cookies): 9520 (WebCore::cookiesEnabled): 9521 * platform/haiku/CursorHaiku.cpp: Added. 9522 (WebCore::Cursor::Cursor): 9523 (WebCore::Cursor::~Cursor): 9524 (WebCore::Cursor::operator=): 9525 (WebCore::pointerCursor): 9526 (WebCore::moveCursor): 9527 (WebCore::crossCursor): 9528 (WebCore::handCursor): 9529 (WebCore::iBeamCursor): 9530 (WebCore::waitCursor): 9531 (WebCore::helpCursor): 9532 (WebCore::eastResizeCursor): 9533 (WebCore::northResizeCursor): 9534 (WebCore::northEastResizeCursor): 9535 (WebCore::northWestResizeCursor): 9536 (WebCore::southResizeCursor): 9537 (WebCore::southEastResizeCursor): 9538 (WebCore::southWestResizeCursor): 9539 (WebCore::westResizeCursor): 9540 (WebCore::northSouthResizeCursor): 9541 (WebCore::eastWestResizeCursor): 9542 (WebCore::northEastSouthWestResizeCursor): 9543 (WebCore::northWestSouthEastResizeCursor): 9544 (WebCore::columnResizeCursor): 9545 (WebCore::rowResizeCursor): 9546 (WebCore::verticalTextCursor): 9547 (WebCore::cellCursor): 9548 (WebCore::contextMenuCursor): 9549 (WebCore::noDropCursor): 9550 (WebCore::copyCursor): 9551 (WebCore::progressCursor): 9552 (WebCore::aliasCursor): 9553 (WebCore::noneCursor): 9554 (WebCore::notAllowedCursor): 9555 (WebCore::zoomInCursor): 9556 (WebCore::zoomOutCursor): 9557 (WebCore::grabCursor): 9558 (WebCore::grabbingCursor): 9559 95602009-07-21 Albert Astals Cid <aacid@kde.org> 9561 9562 Reviewed by Tor Arne Vestbø. 9563 9564 Change #error line not to have a ' (single quote) 9565 9566 * DerivedSources.cpp: 9567 95682009-07-21 Roland Steiner <rolandsteiner@google.com> 9569 9570 Reviewed by David Levin. 9571 9572 Add ENABLE_RUBY to list of build options 9573 https://bugs.webkit.org/show_bug.cgi?id=27324 9574 9575 Added flag ENABLE_RUBY: 9576 9577 * Configurations/FeatureDefines.xcconfig: 9578 * DerivedSources.make: 9579 * GNUmakefile.am: 9580 * WebCore.pro: 9581 * WebCore.vcproj/WebCoreCommon.vsprops: 9582 * WebCore.vcproj/build-generated-files.sh: 9583 95842009-07-21 James Hawkins <jhawkins@google.com> 9585 9586 Reviewed by Eric Seidel. 9587 9588 https://bugs.webkit.org/show_bug.cgi?id=27467 9589 Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates 9590 if matrix.invert() fails. This prevents the use of an uninitialized 9591 value in inverseMatrix. 9592 9593 No new tests added. Run 9594 LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html 9595 under valgrind and notice there are no errors. 9596 9597 * platform/graphics/skia/PlatformContextSkia.cpp: 9598 (PlatformContextSkia::currentPathInLocalCoordinates): 9599 96002009-07-21 Stephen White <senorblanco@chromium.org> 9601 9602 Reviewed by Eric Seidel. 9603 9604 https://bugs.webkit.org/show_bug.cgi?id=27388 9605 9606 Fix dotted and dashed borders on Chromium/skia. This follows 9607 the logic in the Cg path, so results are much closer to Safari now 9608 (some tests won't be exactly the same due to font layout differences). 9609 9610 * platform/graphics/skia/GraphicsContextSkia.cpp: 9611 (WebCore::GraphicsContext::drawLine): 9612 * platform/graphics/skia/PlatformContextSkia.cpp: 9613 (PlatformContextSkia::setupPaintForStroking): 9614 96152009-07-20 Oliver Hunt <oliver@apple.com> 9616 9617 Reviewed by Gavin Barraclough. 9618 9619 Make it harder to misuse try* allocation routines 9620 https://bugs.webkit.org/show_bug.cgi?id=27469 9621 9622 Add forwarding header for PossiblyNull type, and add missing null check 9623 to ImageBuffer creation. 9624 9625 * ForwardingHeaders/wtf/PossiblyNull.h: Added. 9626 * platform/graphics/cg/ImageBufferCG.cpp: 9627 (WebCore::ImageBuffer::ImageBuffer): 9628 96292009-07-20 Adam Langley <agl@google.com> 9630 9631 Reviewed by Eric Seidel. 9632 9633 Guard access to installedMediaEngines()[0]. 9634 9635 https://bugs.webkit.org/show_bug.cgi?id=27479 9636 http://code.google.com/p/chromium/issues/detail?id=16541 9637 9638 Else where in the file, installedMediaEngines is always checked for 9639 being empty because access. This patch adds a case which missed that 9640 check. 9641 9642 This triggered a crash in Chromium: 9643 http://www.yakeze.com/chat/example-chromium-crash/ 9644 9645 * platform/graphics/MediaPlayer.cpp: 9646 (WebCore::MediaPlayer::load): 9647 96482009-07-20 Adam Langley <agl@google.com> 9649 9650 Reviewed by Eric Seidel. 9651 9652 Allow search entries to render with a CSS border if the RenderTheme 9653 doesn't paint them. 9654 9655 https://bugs.webkit.org/show_bug.cgi?id=27466 9656 http://code.google.com/p/chromium/issues/detail?id=16958 9657 9658 <input type="search"> is very much like a text entry except that, 9659 currently, if the RenderTheme doesn't deal with it, nothing is 9660 rendered. With this patch, the default CSS border is rendered if the 9661 RenderTheme requests it. 9662 9663 This will affect many layout tests, but only for Chromium Linux and 9664 those results are not currently in the WebKit tree. 9665 9666 * rendering/RenderTheme.cpp: 9667 (WebCore::RenderTheme::paintBorderOnly): 9668 96692009-07-17 Anton Muhin <antonm@chromium.org> 9670 9671 Reviewed by Adam Barth. 9672 9673 Switch to faster methods to access internal fields. 9674 https://bugs.webkit.org/show_bug.cgi?id=27372 9675 9676 Minor refactoring. 9677 9678 * bindings/scripts/CodeGeneratorV8.pm: 9679 * bindings/v8/V8DOMWrapper.cpp: 9680 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 9681 (WebCore::V8DOMWrapper::setDOMWrapper): 9682 * bindings/v8/V8DOMWrapper.h: 9683 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 9684 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 9685 (WebCore::V8DOMWrapper::convertToNativeObject): 9686 (WebCore::V8DOMWrapper::convertToNativeEvent): 9687 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 9688 (WebCore::CALLBACK_FUNC_DECL): 9689 * bindings/v8/custom/V8ClipboardCustom.cpp: 9690 (WebCore::CALLBACK_FUNC_DECL): 9691 * bindings/v8/custom/V8DocumentCustom.cpp: 9692 (WebCore::CALLBACK_FUNC_DECL): 9693 * bindings/v8/custom/V8ElementCustom.cpp: 9694 (WebCore::CALLBACK_FUNC_DECL): 9695 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 9696 (WebCore::CALLBACK_FUNC_DECL): 9697 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 9698 (WebCore::CALLBACK_FUNC_DECL): 9699 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 9700 (WebCore::removeElement): 9701 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 9702 (WebCore::CALLBACK_FUNC_DECL): 9703 * bindings/v8/custom/V8NodeCustom.cpp: 9704 (WebCore::CALLBACK_FUNC_DECL): 9705 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 9706 (WebCore::CALLBACK_FUNC_DECL): 9707 97082009-07-20 Adam Langley <agl@google.com> 9709 9710 Reviewed by Eric Seidel. 9711 9712 Chromium Linux: cache Harfbuzz faces. 9713 9714 https://bugs.webkit.org/show_bug.cgi?id=27473 9715 9716 Previously, we recreated the Harfbuzz face for each script-run. With 9717 this patch, we keep the Harfbuzz face in the FontPlatformData (created 9718 as needed) and so they will persist for the duration of the 9719 FontPlatformData. 9720 9721 Shouldn't affect any layout tests. Results in a significant win on the 9722 intl2 page cycler time. 9723 9724 * platform/graphics/chromium/FontLinux.cpp: 9725 (WebCore::TextRunWalker::~TextRunWalker): 9726 (WebCore::TextRunWalker::setupFontForScriptRun): 9727 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 9728 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace): 9729 (WebCore::FontPlatformData::FontPlatformData): 9730 (WebCore::FontPlatformData::harfbuzzFace): 9731 * platform/graphics/chromium/FontPlatformDataLinux.h: 9732 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create): 9733 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face): 9734 (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace): 9735 * platform/graphics/chromium/HarfbuzzSkia.h: Added. 9736 97372009-07-20 Ryosuke Niwa <rniwa@webkit.org> 9738 9739 Reviewed by Simon Fraser. 9740 9741 REGRESSION (r46142): Need to remove showTreeThisForThis 9742 https://bugs.webkit.org/show_bug.cgi?id=27475 9743 9744 Removes showTreeThisForThis 9745 9746 * editing/IndentOutdentCommand.cpp: 9747 (WebCore::IndentOutdentCommand::appendParagraphIntoNode): 9748 97492009-07-19 Ryosuke Niwa <rniwa@webkit.org> 9750 9751 Reviewed by Eric Seidel. 9752 9753 Refactoring of indentRegion to fix bugs 26816 and 25317 9754 https://bugs.webkit.org/show_bug.cgi?id=26816 9755 https://bugs.webkit.org/show_bug.cgi?id=25317 9756 https://bugs.webkit.org/show_bug.cgi?id=23995 (partially) 9757 9758 This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph 9759 and replaces all calls inside indentRegion. The following is the new behavior of indentRegion. 9760 9761 1. We try to indent as many wrapping nodes as possible. 9762 e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well. 9763 2. We do not delete any wrapping elements 9764 With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote. 9765 This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation. 9766 With appendParagraphIntoNode, we can preserve all wrapping nodes. 9767 3. We only split the tree until the closest block node instead of until the root editable node. 9768 This behavioral change fixes the bug 25317. 9769 4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection. 9770 e.g. when a list is a child node of a div, and the entire div is intended, 9771 we enclose the div by a single blockquote. 9772 9773 Note that new behavior is more consistent with that of Internet Explorer and Firefox. 9774 To demonstrate this, the following tests are added. 9775 9776 Tests: editing/execCommand/indent-div-inside-list.html 9777 editing/execCommand/indent-nested-blockquotes.html 9778 editing/execCommand/indent-nested-div.html 9779 editing/execCommand/indent-second-paragraph-in-blockquote.html 9780 9781 * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed 9782 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now 9783 (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now 9784 (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node 9785 (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position 9786 (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior 9787 * editing/IndentOutdentCommand.h: updated prototype 9788 97892009-07-20 Dan Bernstein <mitz@apple.com> 9790 9791 Try to fix release builds after r46136 9792 9793 * dom/Element.cpp: 9794 97952009-07-17 Pierre d'Herbemont <pdherbemont@apple.com> 9796 9797 Reviewed by Eric Seidel. 9798 9799 Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off. 9800 https://bugs.webkit.org/show_bug.cgi?id=27380 9801 9802 Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls. 9803 9804 * css/mediaControlsQT.css: 9805 98062009-07-20 Peter Kasting <pkasting@google.com> 9807 9808 Reviewed by Mark Rowe. 9809 9810 https://bugs.webkit.org/show_bug.cgi?id=27468 9811 Back out r46060, which caused problems for some Apple developers. 9812 9813 * WebCore.vcproj/QTMovieWin.vcproj: 9814 * WebCore.vcproj/WebCoreCommon.vsprops: 9815 * WebCore.vcproj/WebCoreGenerated.vcproj: 9816 98172009-07-20 Dan Bernstein <mitz@apple.com> 9818 9819 Reviewed by Anders Carlsson. 9820 9821 When loading a custom view into a frame, the old document is still 9822 around 9823 <rdar://problem/5145841> 9824 9825 Safari fires onload before PDF is loaded into the browser 9826 <rdar://problem/6618869> 9827 9828 Test: fast/loader/non-html-load-event.html 9829 9830 * GNUmakefile.am: Added PlaceholderDocument.{cpp,h} 9831 * WebCore.gypi: Ditto. 9832 * WebCore.pro: Ditto. 9833 * WebCore.vcproj/WebCore.vcproj: Ditto. 9834 * WebCore.xcodeproj/project.pbxproj: Ditto. 9835 * WebCoreSources.bkl: Ditto. 9836 * dom/Document.h: 9837 (WebCore::Document::setStyleSelector): Added this protected accessor for 9838 PlaceholderDocument to use. 9839 * dom/Element.cpp: 9840 (WebCore::Element::clientWidth): Check whether the document has a 9841 renderer. 9842 (WebCore::Element::clientHeight): Ditto. 9843 * loader/FrameLoader.cpp: 9844 (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames 9845 that do not use an HTML view. Do not nullify the content size in 9846 that case. 9847 (WebCore::FrameLoader::transitionToCommitted): For frames that do not 9848 use an HTML view, call receivedFirstData(), which sets up the 9849 frame with a new PlaceHolderDocument. 9850 * loader/PlaceholderDocument.cpp: Added. 9851 (WebCore::PlaceholderDocument::attach): Sets up the style selector but 9852 does not create a RenderView. 9853 * loader/PlaceholderDocument.h: Added. 9854 (WebCore::PlaceholderDocument::create): 9855 (WebCore::PlaceholderDocument::PlaceholderDocument): 9856 98572009-07-20 Chris Marrin <cmarrin@apple.com> 9858 9859 Reviewed by Simon Fraser. 9860 9861 Handle opacity and opacity animations on transform layers in Leopard 9862 https://bugs.webkit.org/show_bug.cgi?id=27398 9863 9864 This makes two changes, and only for Leopard. 9865 9866 First, whenever opacity is changed on a layer I propagate the 9867 change into the content layer and all the children if the layer 9868 on which opacity is set is a transform layer (preserve3D is true). 9869 The opacity set is the accumulated opacity from this layer 9870 and all its direct ancestor transform layers. Second, I turn off all 9871 hardware opacity animation. 9872 9873 * platform/graphics/GraphicsLayer.cpp: 9874 (WebCore::GraphicsLayer::accumulatedOpacity): 9875 (WebCore::GraphicsLayer::distributeOpacity): 9876 * platform/graphics/GraphicsLayer.h: 9877 (WebCore::GraphicsLayer::setOpacityInternal): 9878 * platform/graphics/mac/GraphicsLayerCA.h: 9879 * platform/graphics/mac/GraphicsLayerCA.mm: 9880 (WebCore::GraphicsLayerCA::setPreserves3D): 9881 (WebCore::GraphicsLayerCA::setOpacity): 9882 (WebCore::GraphicsLayerCA::animateFloat): 9883 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 9884 (WebCore::GraphicsLayerCA::setOpacityInternal): 9885 (WebCore::GraphicsLayerCA::updateOpacityOnLayer): 9886 98872009-07-20 Yong Li <yong.li@torchmobile.com> 9888 9889 Reviewed by Adam Roben. 9890 9891 https://bugs.webkit.org/show_bug.cgi?id=27349 9892 Add GraphicsContext implementation for the WinCE port. 9893 9894 Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com> 9895 with trivial style fixes by Adam Treat <adam.treat@torchmobile.com> 9896 9897 * platform/graphics/wince/GraphicsContextWince.cpp: Added. 9898 98992009-07-20 Dumitru Daniliuc <dumi@chromium.org> 9900 9901 Reviewed by Dimitri Glazkov. 9902 9903 Adding the Win SQLite VFS implementation for Chromium, and stubs 9904 for the Mac and Linux VFSs. 9905 9906 https://bugs.webkit.org/show_bug.cgi?id=26940 9907 9908 * WebCore.gypi: 9909 * platform/chromium/ChromiumBridge.h: 9910 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. 9911 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added. 9912 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added. 9913 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. 9914 99152009-07-20 Xan Lopez <xlopez@igalia.com> 9916 9917 Reviewed by Gustavo Noronha. 9918 9919 https://bugs.webkit.org/show_bug.cgi?id=27097 9920 [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi 9921 9922 Check that an object is a RenderObject before trying to access its 9923 renderer and related node. 9924 9925 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 9926 (webkit_accessible_get_role): 9927 99282009-07-20 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu> 9929 9930 Reviewed by Simon Hausmann. 9931 9932 [Qt] font cache reworking 9933 https://bugs.webkit.org/show_bug.cgi?id=27265 9934 9935 Reimplemented Qt's FontCache in a way that follows the shared one. 9936 Now we can release its elements when those became inactive. 9937 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. 9938 9939 No change in behavior, so no tests. 9940 9941 * platform/graphics/qt/FontCacheQt.cpp: 9942 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 9943 (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): 9944 (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects. 9945 It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent 9946 with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same 9947 FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa. 9948 (WebCore::FontPlatformDataCacheKey::operator==): 9949 (WebCore::FontPlatformDataCacheKey::hash): 9950 (WebCore::FontPlatformDataCacheKey::computeHash): 9951 (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): 9952 (WebCore::FontPlatformDataCacheKeyHash::hash): 9953 (WebCore::FontPlatformDataCacheKeyHash::equal): 9954 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 9955 (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): 9956 (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): 9957 (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData. 9958 (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData. 9959 (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData. 9960 (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements. 9961 (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument) 9962 * platform/graphics/qt/FontFallbackListQt.cpp: 9963 (WebCore::FontFallbackList::releaseFontData): 9964 (WebCore::FontFallbackList::fontDataAt): 9965 * platform/graphics/qt/FontPlatformData.h: 9966 (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey. 9967 (WebCore::FontPlatformData::bold): Ditto. 9968 (WebCore::FontPlatformData::italic): Ditto. 9969 (WebCore::FontPlatformData::smallCaps): Ditto. 9970 (WebCore::FontPlatformData::pixelSize): Ditto. 9971 * platform/graphics/qt/FontPlatformDataQt.cpp: 9972 (WebCore::FontPlatformData::FontPlatformData): Set m_bold. 9973 99742009-07-20 Xan Lopez <xlopez@igalia.com> 9975 9976 Reviewed by Holger Freyther. 9977 9978 https://bugs.webkit.org/show_bug.cgi?id=26716 9979 [Gtk] Each XMLHttpRequest leaks memory. 9980 9981 Free the SoupURI we create to check the URI. Fix suggested by John 9982 Kjellberg. 9983 9984 * platform/network/soup/ResourceHandleSoup.cpp: 9985 (WebCore::): 9986 99872009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com> 9988 9989 Reviewed by Holger Freyther. 9990 9991 [Qt] On Symbian link against system sqlite3 9992 https://bugs.webkit.org/show_bug.cgi?id=27368 9993 9994 Add an option to force linking against system sqlite3 9995 by adding system-sqlite to the CONFIG variable. 9996 9997 The Symbian specific part of this patch is contributed by 9998 Norbert Leser. 9999 10000 * WebCore.pro: 10001 100022009-07-20 Xan Lopez <xlopez@igalia.com> 10003 10004 Reviewed by Gustavo Noronha. 10005 10006 Change the glib version check to check for the first unstable 10007 release with g_mapped_file_unref. Otherwise this would be useless 10008 until 2.22 is released, a few months from now. 10009 10010 * platform/network/soup/ResourceHandleSoup.cpp: 10011 (WebCore::ResourceHandle::startHttp): 10012 100132009-07-20 Simon Hausmann <simon.hausmann@nokia.com> 10014 10015 Reviewed by and done with Tor Arne Vestbø. 10016 10017 Fix fast/css/pseudo-required-optional-*.html in the Qt build 10018 after r46062. 10019 10020 These tests triggered a bug in RenderThemeQt where we did not fall back 10021 to the unstyled painting of text areas and input fields when they have 10022 a styled background. 10023 10024 Our re-implementation of isControlStyled incorrectly only checked the 10025 border for determining whether to style or not. The base-implementation 10026 performs the same check, but also includes the background. Removing 10027 our implementation fixes the appearance. 10028 10029 * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation. 10030 * platform/qt/RenderThemeQt.h: Ditto. 10031 100322009-07-20 Simon Hausmann <simon.hausmann@nokia.com> 10033 10034 Rubber-stamped by Tor Arne Vestbø. 10035 10036 Add missing (sorted) header files to the HEADERS variable in the qmake 10037 .pro file for improved completion in IDEs. 10038 10039 * WebCore.pro: 10040 100412009-07-19 Adam Barth <abarth@webkit.org> 10042 10043 Reviewed by David Levin. 10044 10045 [V8] Factor V8ConsoleMessage out of V8Proxy 10046 https://bugs.webkit.org/show_bug.cgi?id=27421 10047 10048 No behavior change. 10049 10050 * WebCore.gypi: 10051 * bindings/v8/V8ConsoleMessage.cpp: Added. 10052 (WebCore::V8ConsoleMessage::V8ConsoleMessage): 10053 (WebCore::V8ConsoleMessage::dispatchNow): 10054 (WebCore::V8ConsoleMessage::dispatchLater): 10055 (WebCore::V8ConsoleMessage::processDelayed): 10056 (WebCore::V8ConsoleMessage::handler): 10057 * bindings/v8/V8ConsoleMessage.h: Added. 10058 (WebCore::V8ConsoleMessage::Scope::Scope): 10059 (WebCore::V8ConsoleMessage::Scope::~Scope): 10060 * bindings/v8/V8Proxy.cpp: 10061 (WebCore::logInfo): 10062 (WebCore::reportUnsafeAccessTo): 10063 (WebCore::V8Proxy::runScript): 10064 (WebCore::V8Proxy::callFunction): 10065 (WebCore::V8Proxy::newInstance): 10066 (WebCore::V8Proxy::initContextIfNeeded): 10067 (WebCore::V8Proxy::processConsoleMessages): 10068 100692009-07-19 Rob Buis <rwlbuis@gmail.com> 10070 10071 Reviewed by Adam Barth. 10072 10073 Remove unused member variable. 10074 10075 * svg/SVGPolyElement.h: 10076 100772009-07-19 Eric Carlson <eric.carlson@apple.com> 10078 10079 Reviewed by Dan Bernstein. 10080 10081 HTMLAudioElement: constructor should set "autobuffer" attribute 10082 https://bugs.webkit.org/show_bug.cgi?id=27422 10083 10084 Test: media/audio-constructor-autobuffer.html 10085 10086 * bindings/js/JSAudioConstructor.cpp: 10087 (WebCore::constructAudio): 10088 Set 'autobuffer' attribute. 10089 100902009-07-19 Thierry Bastian <thierry.bastian@nokia.com> 10091 10092 Reviewed by Simon Hausmann. 10093 10094 Fix the Qt build with mingw. 10095 10096 * WebCore.pro: Don't use MSVC commandline options to disable warnings 10097 with mingw. 10098 100992009-07-19 Adam Barth <abarth@webkit.org> 10100 10101 Reviewed by David Levin. 10102 10103 [V8] Phase 2: Remove event listener methods from V8Proxy 10104 https://bugs.webkit.org/show_bug.cgi?id=27415 10105 10106 No behavior change. 10107 10108 * bindings/v8/V8ObjectEventListener.cpp: 10109 (WebCore::weakObjectEventListenerCallback): 10110 (WebCore::V8ObjectEventListener::~V8ObjectEventListener): 10111 * bindings/v8/V8Proxy.cpp: 10112 (WebCore::V8Proxy::disconnectEventListeners): 10113 * bindings/v8/V8Proxy.h: 10114 (WebCore::V8Proxy::eventListeners): 10115 (WebCore::V8Proxy::objectListeners): 10116 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 10117 (WebCore::getEventListener): 10118 * bindings/v8/custom/V8CustomEventListener.cpp: 10119 (WebCore::V8EventListener::~V8EventListener): 10120 * bindings/v8/custom/V8DOMWindowCustom.cpp: 10121 (WebCore::CALLBACK_FUNC_DECL): 10122 (WebCore::ACCESSOR_SETTER): 10123 * bindings/v8/custom/V8ElementCustom.cpp: 10124 (WebCore::ACCESSOR_SETTER): 10125 * bindings/v8/custom/V8MessagePortCustom.cpp: 10126 (WebCore::ACCESSOR_SETTER): 10127 (WebCore::CALLBACK_FUNC_DECL): 10128 * bindings/v8/custom/V8NodeCustom.cpp: 10129 (WebCore::CALLBACK_FUNC_DECL): 10130 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 10131 (WebCore::CALLBACK_FUNC_DECL): 10132 * bindings/v8/custom/V8WorkerCustom.cpp: 10133 (WebCore::getEventListener): 10134 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 10135 (WebCore::getEventListener): 10136 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 10137 (WebCore::ACCESSOR_SETTER): 10138 (WebCore::CALLBACK_FUNC_DECL): 10139 101402009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org> 10141 10142 Reviewed by Gustavo Noronha. 10143 10144 [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope 10145 https://bugs.webkit.org/show_bug.cgi?id=27230 10146 10147 Use g_mapped_file_unref for GLIB version 2.22 onwards. 10148 10149 * platform/network/soup/ResourceHandleSoup.cpp: 10150 (WebCore::ResourceHandle::startHttp): 10151 101522009-07-18 Dan Bernstein <mitz@apple.com> 10153 10154 Reviewed by Anders Carlsson. 10155 10156 Add spread radius support to -webkit-box-shadow 10157 https://bugs.webkit.org/show_bug.cgi?id=27417 10158 rdar://problem/7072267 10159 10160 Test: fast/box-shadow/spread.html 10161 10162 * css/CSSComputedStyleDeclaration.cpp: 10163 (WebCore::valueForShadow): Added a property ID parameter and used it to 10164 include the spread length for box-shadow but not for text-shadow. 10165 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 10166 Pass the property ID to valueForShadow(). 10167 10168 * css/CSSParser.cpp: 10169 (WebCore::ShadowParseContext::ShadowParseContext): Added property, 10170 spread, and allowSpread members. Added a property ID parameter to 10171 the constructor. Initialize the property and allowSpread members. 10172 (WebCore::ShadowParseContext::allowLength): Added allowSpread. 10173 (WebCore::ShadowParseContext::commitValue): Pass the spread value to 10174 the ShadowValue constructor. Reset allowSpread. 10175 (WebCore::ShadowParseContext::commitLength): Allow spread after blur 10176 for the box-shadow property. 10177 (WebCore::ShadowParseContext::commitColor): Reset allowSpread. 10178 (WebCore::CSSParser::parseShadow): Pass the property ID to 10179 ShadowParseContext(). 10180 10181 * css/CSSStyleSelector.cpp: 10182 (WebCore::CSSStyleSelector::applyProperty): Get the spread value from 10183 the shadow value and pass it to the ShadowData constructor. 10184 10185 * css/ShadowValue.cpp: 10186 (WebCore::ShadowValue::ShadowValue): Added spread. 10187 (WebCore::ShadowValue::cssText): Added spread. 10188 10189 * css/ShadowValue.h: 10190 (WebCore::ShadowValue::create): Added spread. 10191 10192 * page/animation/AnimationBase.cpp: 10193 (WebCore::blendFunc): Blend the spread value. 10194 (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default 10195 shadow. 10196 10197 * rendering/InlineFlowBox.cpp: 10198 (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in 10199 the visual overflow calculations. 10200 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. 10201 (WebCore::InlineFlowBox::paint): Ditto. 10202 10203 * rendering/RenderBlock.cpp: 10204 (WebCore::RenderBlock::overflowHeight): Ditto. 10205 (WebCore::RenderBlock::overflowWidth): Ditto. 10206 (WebCore::RenderBlock::overflowLeft): Ditto. 10207 (WebCore::RenderBlock::overflowTop): Ditto. 10208 (WebCore::RenderBlock::overflowRect): Ditto. 10209 (WebCore::RenderBlock::layoutBlock): Ditto. 10210 10211 * rendering/RenderBoxModelObject.cpp: 10212 (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow- 10213 casting rect by the shadow spread value. Adjust border radii if 10214 necessary. 10215 10216 * rendering/RenderFlexibleBox.cpp: 10217 (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the 10218 visual overflow calculations. 10219 * rendering/RenderLayer.cpp: 10220 (WebCore::RenderLayer::calculateRects): Ditto. 10221 10222 * rendering/RenderObject.cpp: 10223 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread. 10224 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto. 10225 10226 * rendering/RenderReplaced.cpp: 10227 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. 10228 10229 * rendering/style/RenderStyle.cpp: 10230 (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not 10231 have spread. 10232 10233 * rendering/style/ShadowData.cpp: 10234 (WebCore::ShadowData::ShadowData): Added spread. 10235 (WebCore::ShadowData::operator==): Compare spread. 10236 * rendering/style/ShadowData.h: 10237 (WebCore::ShadowData::ShadowData): Added spread. 10238 102392009-07-18 Adam Barth <abarth@webkit.org> 10240 10241 Reviewed by Jan Alonzo. 10242 10243 Minor FrameLoader.cpp cleanup 10244 https://bugs.webkit.org/show_bug.cgi?id=27406 10245 10246 No behavior change. 10247 10248 * loader/FrameLoader.cpp: 10249 (WebCore::FrameLoader::executeIfJavaScriptURL): 10250 102512009-07-18 Adam Barth <abarth@webkit.org> 10252 10253 Reviewed by Darin Fisher. 10254 10255 [V8] Move event listener methods from V8Proxy to V8EventListenerList 10256 https://bugs.webkit.org/show_bug.cgi?id=27408 10257 10258 Move some event listener code out of V8Proxy and into the event 10259 listener list. 10260 10261 I'd like to remove these methods from V8Proxy entirely and just expose 10262 getters for the lists themselves, but I'll do that in a follow up 10263 patch. 10264 10265 * bindings/v8/V8EventListenerList.cpp: 10266 (WebCore::V8EventListenerList::findWrapper): 10267 * bindings/v8/V8EventListenerList.h: 10268 (WebCore::V8EventListenerList::findOrCreateWrapper): 10269 * bindings/v8/V8ObjectEventListener.cpp: 10270 * bindings/v8/V8Proxy.cpp: 10271 (WebCore::V8Proxy::findV8EventListener): 10272 (WebCore::V8Proxy::findOrCreateV8EventListener): 10273 (WebCore::V8Proxy::removeV8EventListener): 10274 (WebCore::V8Proxy::findObjectEventListener): 10275 (WebCore::V8Proxy::findOrCreateObjectEventListener): 10276 (WebCore::V8Proxy::removeObjectEventListener): 10277 * bindings/v8/V8Proxy.h: 10278 102792009-07-18 Jeremy Orlow <jorlow@chromium.org> 10280 10281 Rubber stamped by Adam Barth. 10282 10283 Revert https://bugs.webkit.org/show_bug.cgi?id=27383 10284 https://bugs.webkit.org/show_bug.cgi?id=27407 10285 10286 Revert Jens' patch. I believe he forgot to include a file. 10287 10288 * WebCore.gypi: 10289 * bindings/scripts/CodeGeneratorV8.pm: 10290 * bindings/v8/DOMObjectsInclude.h: 10291 * bindings/v8/V8DOMWrapper.cpp: 10292 (WebCore::V8DOMWrapper::getTemplate): 10293 * bindings/v8/V8DataGridDataSource.cpp: Removed. 10294 * bindings/v8/V8DataGridDataSource.h: Removed. 10295 * bindings/v8/V8GCController.h: 10296 * bindings/v8/V8Index.h: 10297 * bindings/v8/custom/V8CustomBinding.h: 10298 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: 10299 (WebCore::ACCESSOR_GETTER): 10300 (WebCore::ACCESSOR_SETTER): 10301 103022009-07-17 Daniel Bates <dbates@intudata.com> 10303 10304 Reviewed by Adam Barth. 10305 10306 https://bugs.webkit.org/show_bug.cgi?id=27405 10307 10308 Fixes an issue when decoding HTML entities with an unknown named entity that 10309 caused null-characters to be inserted into the decoded result. 10310 10311 Test: http/tests/security/xssAuditor/link-onclick-ampersand.html 10312 http/tests/security/xssAuditor/javascript-link-ampersand.html 10313 10314 * page/XSSAuditor.cpp: 10315 (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that 10316 non-zero entity values are not inserted during decoding process. 10317 103182009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org> 10319 10320 <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space 10321 10322 Reviewed by Holger Freyther. 10323 10324 Add Gtk to platforms that want to open the menulist using the 10325 spacebar. 10326 10327 * dom/SelectElement.cpp: 10328 (WebCore::SelectElement::menuListDefaultEventHandler): 10329 103302009-07-17 Mario Sanchez Prada <msanchez@igalia.com> 10331 10332 Reviewed by Jan Alonzo. 10333 10334 https://bugs.webkit.org/show_bug.cgi?id=25523 10335 [GTK] The text displayed by push buttons is not exposed to assistive technologies 10336 10337 Add new public method text() to RenderButton and use it from 10338 AccessibilityRenderObject::stringValue(). 10339 10340 * accessibility/AccessibilityRenderObject.cpp: 10341 (WebCore::AccessibilityRenderObject::stringValue): 10342 * rendering/RenderButton.cpp: 10343 (WebCore::RenderButton::text): 10344 * rendering/RenderButton.h: 10345 103462009-07-17 Anton Muhin <antonm@chromium.org> 10347 10348 Reviewed by Dimitri Glazkov. 10349 10350 Restore proxy retrieval 10351 https://bugs.webkit.org/show_bug.cgi?id=27369 10352 10353 No new tests are needed. 10354 10355 * bindings/v8/V8DOMWrapper.cpp: 10356 (WebCore::V8DOMWrapper::instantiateV8Object): 10357 103582009-07-17 Yael Aharon <yael.aharon@nokia.com> 10359 10360 Reviewed by George Staikos. 10361 10362 https://bugs.webkit.org/show_bug.cgi?id=27351 10363 Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM 10364 Use uname to find the correct platform for Linux. 10365 10366 * page/NavigatorBase.cpp: 10367 (WebCore::NavigatorBase::platform): 10368 103692009-07-17 Jens Alfke <snej@chromium.org> 10370 10371 Reviewed by Dimitri Glazkov. 10372 10373 Hook up V8 bindings for DataGrid elements. 10374 https://bugs.webkit.org/show_bug.cgi?id=27383 10375 http://code.google.com/p/chromium/issues/detail?id=16730 10376 10377 Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* 10378 to handle exceptions, check appropriate JS prototypes, and 10379 test column-list's item() method as well as array-indexing. 10380 10381 * WebCore.gypi: Added new source files. 10382 * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. 10383 * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. 10384 * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. 10385 (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. 10386 * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) 10387 (WebCore::V8DataGridDataSource::V8DataGridDataSource): 10388 (WebCore::V8DataGridDataSource::~V8DataGridDataSource): 10389 * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) 10390 (WebCore::V8DataGridDataSource::create): 10391 (WebCore::V8DataGridDataSource::isJSDataGridDataSource): 10392 (WebCore::V8DataGridDataSource::jsDataSource): 10393 (WebCore::asV8DataGridDataSource): 10394 * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". 10395 * bindings/v8/V8Index.h: Conditionalize datagrid stuff. 10396 * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. 10397 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. 10398 (WebCore::ACCESSOR_GETTER): 10399 (WebCore::ACCESSOR_SETTER): 10400 104012009-07-17 Jeremy Orlow <jorlow@chromium.org> 10402 10403 Reviewed by Darin Fisher. 10404 10405 StorageArea should only contain methods we intend to proxy. 10406 https://bugs.webkit.org/show_bug.cgi?id=27181 10407 10408 Right now, StorageAreaSync takes in a StorageArea* and calls methods 10409 like importItem. Really, StorageAreaSync should be operating directly 10410 on StorageAreaImpl* and those methods should be removed from StorageArea 10411 since StorageAreaSync should never be attached to anything other than a 10412 StorageAreaImpl. 10413 10414 This was pointed out in the review for 10415 https://bugs.webkit.org/show_bug.cgi?id=27072 10416 10417 Also clean up StorageNamespaceImpl to operate directly on 10418 StorageAreaImpl. Also, get rid of the factory for StorageArea 10419 since nothing should ever create a StorageArea directly. 10420 10421 * GNUmakefile.am: 10422 * WebCore.vcproj/WebCore.vcproj: 10423 * WebCore.xcodeproj/project.pbxproj: 10424 * WebCoreSources.bkl: 10425 * storage/StorageArea.cpp: Removed. 10426 * storage/StorageArea.h: 10427 (WebCore::StorageArea::~StorageArea): 10428 * storage/StorageAreaImpl.cpp: 10429 (WebCore::StorageAreaImpl::copy): 10430 * storage/StorageAreaImpl.h: 10431 * storage/StorageAreaSync.cpp: 10432 (WebCore::StorageAreaSync::create): 10433 (WebCore::StorageAreaSync::StorageAreaSync): 10434 * storage/StorageAreaSync.h: 10435 * storage/StorageNamespaceImpl.cpp: 10436 (WebCore::StorageNamespaceImpl::copy): 10437 (WebCore::StorageNamespaceImpl::storageArea): 10438 * storage/StorageNamespaceImpl.h: 10439 104402009-07-17 Jeremy Orlow <jorlow@chromium.org> 10441 10442 Reviewed by Dimitri Glazkov. 10443 10444 Add v8 implementation for DOM Storage ScriptObjectQuarantine. 10445 https://bugs.webkit.org/show_bug.cgi?id=27327 10446 10447 Wrap the storage object with a generic object as is done elsewhere in 10448 the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not 10449 enabled. 10450 10451 * bindings/v8/ScriptObjectQuarantine.cpp: 10452 (WebCore::getQuarantinedScriptObject): 10453 104542009-07-17 Mads Ager <ager@chromium.org> 10455 10456 Reviewed by Dimitri Glazkov. 10457 10458 https://bugs.webkit.org/show_bug.cgi?id=27394 10459 Fix access to global object wrappers after navigation of their 10460 frame in the V8 bindings. This fixes selenium test failures. 10461 10462 * bindings/v8/V8Proxy.cpp: 10463 (WebCore::V8Proxy::updateDocument): 10464 104652009-07-17 Mark Rowe <mrowe@apple.com> 10466 10467 Fix the 32-bit build by removing implicit float <-> double conversions. 10468 10469 * inspector/InspectorController.cpp: 10470 (WebCore::constrainedAttachedWindowHeight): 10471 104722009-07-17 Brian Weinstein <bweinstein@apple.com> 10473 10474 Reviewed by Adam Roben. 10475 10476 Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272) 10477 https://bugs.webkit.org/show_bug.cgi?id=14272 10478 10479 Moved preference setting for attached inspector height and inspector height calculation from 10480 WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable 10481 Windows resizing of attached inspector. 10482 10483 * inspector/InspectorController.cpp: 10484 * inspector/InspectorController.h: 10485 104862009-07-17 Dan Bernstein <mitz@apple.com> 10487 10488 Another attempt at fixing the build after r46063 10489 10490 * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private 10491 header, because it is now included from htmlediting.h, which is 10492 a private header. 10493 104942009-07-17 Alexey Proskuryakov <ap@webkit.org> 10495 10496 Reviewed by Dan Bernstein. 10497 10498 https://bugs.webkit.org/show_bug.cgi?id=27396 10499 Moving cursor in Thai text sometimes jumps over two characters 10500 10501 Test: editing/text-iterator/thai-cursor-movement.html 10502 10503 * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special 10504 case for five Thai characters, matching ICU/CLDR changes. 10505 105062009-07-14 Eric Seidel <eric@webkit.org> 10507 10508 Reviewed by Adam Barth. 10509 10510 Some constructor objects exposed on Window have the wrong prototype chain 10511 https://bugs.webkit.org/show_bug.cgi?id=27276 10512 10513 Several Constructor classes were already being passed a global object 10514 during construction, but they were ignoring it for prototype lookup. 10515 I've fixed those to use the passed global object instead. 10516 10517 Most of these Constructor classes should just be auto-generated, but I 10518 refrained from changing them over to auto-gen in this patch. 10519 10520 Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when 10521 available, otherwise default to deprecatedGlobalObjectForPrototype(exec) 10522 to match existing behavior. 10523 10524 Test: fast/dom/prototype-inheritance.html 10525 10526 * bindings/js/JSAudioConstructor.cpp: 10527 (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup 10528 * bindings/js/JSDOMBinding.h: 10529 (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used. 10530 (WebCore::deprecatedGetDOMStructure): 10531 * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject* 10532 * bindings/js/JSDOMWindowCustom.cpp: 10533 (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object. 10534 (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object. 10535 (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object. 10536 (WebCore::JSDOMWindow::worker): pass "this" for the global object. 10537 * bindings/js/JSImageConstructor.cpp: 10538 (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup 10539 * bindings/js/JSMessageChannelConstructor.cpp: 10540 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup 10541 * bindings/js/JSOptionConstructor.cpp: 10542 (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup 10543 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 10544 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it 10545 * bindings/js/JSWebKitCSSMatrixConstructor.h: 10546 * bindings/js/JSWebKitPointConstructor.cpp: 10547 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it 10548 * bindings/js/JSWebKitPointConstructor.h: 10549 * bindings/js/JSWorkerConstructor.cpp: 10550 (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it 10551 * bindings/js/JSWorkerConstructor.h: 10552 * bindings/js/JSXMLHttpRequestConstructor.cpp: 10553 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup 10554 -- XMLHttpRequest constructor was also missing a length. Added one. 10555 * bindings/js/JSXSLTProcessorConstructor.cpp: 10556 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 10557 * bindings/js/JSXSLTProcessorConstructor.h: 10558 * bindings/scripts/CodeGeneratorJS.pm: 10559 105602009-07-17 Dan Bernstein <mitz@apple.com> 10561 10562 Build fix 10563 10564 * editing/htmlediting.cpp: 10565 (WebCore::visiblePositionBeforeNode): 10566 (WebCore::visiblePositionAfterNode): 10567 105682009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org> 10569 10570 Gtk build fix for symbol lookup error. 10571 10572 Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now 10573 Changed in http://trac.webkit.org/changeset/46048 10574 10575 * GNUmakefile.am: 10576 105772009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com> 10578 10579 Reviewed by Eric Seidel. 10580 10581 htmlediting.cpp needs more utility functions to fix the bug 26816 10582 https://bugs.webkit.org/show_bug.cgi?id=27038 10583 10584 In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp 10585 10586 No tests because functions haven't been used anywhere yet. 10587 10588 * dom/Range.cpp: 10589 (WebCore::Range::create): 10590 (WebCore::Range::comparePoint): added const qualifier 10591 (WebCore::Range::compareNode): added const qualifier 10592 * dom/Range.h: 10593 * editing/htmlediting.cpp: 10594 (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell) 10595 (WebCore::positionBeforeNode): added ASSERT(node) 10596 (WebCore::positionAfterNode): added ASSERT(node) 10597 (WebCore::visiblePositionBeforeNode): 10598 (WebCore::visiblePositionAfterNode): 10599 (WebCore::createRange): create a range object from two visible positions 10600 (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries 10601 (WebCore::canMergeLists): typo 10602 (WebCore::indexForVisiblePosition): added const qualifier 10603 (WebCore::isVisiblyAdjacent): typo 10604 (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range 10605 * editing/htmlediting.h: 10606 106072009-07-17 Michelangelo De Simone <micdesim@gmail.com> 10608 10609 Reviewed by Darin Adler. 10610 10611 https://bugs.webkit.org/show_bug.cgi?id=25551 10612 Added support for the "required" attribute, the valueMissing flag 10613 to the ValidityState object and :required/:optional CSS pseudoclasses. 10614 Part of HTML5 sec. Forms specs. 10615 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required 10616 10617 Tests: fast/css/pseudo-required-optional-001.html 10618 fast/css/pseudo-required-optional-002.html 10619 fast/css/pseudo-required-optional-003.html 10620 fast/css/pseudo-required-optional-004.html 10621 fast/css/pseudo-required-optional-005.html 10622 fast/css/pseudo-required-optional-006.html 10623 fast/forms/ValidityState-valueMissing-001.html 10624 fast/forms/ValidityState-valueMissing-002.html 10625 fast/forms/ValidityState-valueMissing-003.html 10626 fast/forms/ValidityState-valueMissing-004.html 10627 fast/forms/ValidityState-valueMissing-005.html 10628 fast/forms/ValidityState-valueMissing-006.html 10629 fast/forms/ValidityState-valueMissing-007.html 10630 fast/forms/ValidityState-valueMissing-008.html 10631 fast/forms/ValidityState-valueMissing-009.html 10632 fast/forms/required-attribute-001.html 10633 fast/forms/required-attribute-002.html 10634 10635 * css/CSSSelector.cpp: 10636 (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional 10637 * css/CSSSelector.h: 10638 (WebCore::CSSSelector::): ditto 10639 * css/CSSStyleSelector.cpp: 10640 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto 10641 * dom/Element.h: 10642 (WebCore::Element::isOptionalFormControl): check for optional controls 10643 (WebCore::Element::isRequiredFormControl): check for required controls 10644 * html/HTMLAttributeNames.in: required attribute 10645 * html/HTMLButtonElement.h: 10646 (WebCore::HTMLButtonElement::isOptionalFormControl): ditto 10647 * html/HTMLFormControlElement.cpp: 10648 (WebCore::HTMLFormControlElement::required): requiredAttr getter 10649 (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter 10650 * html/HTMLFormControlElement.h: 10651 (WebCore::HTMLFormControlElement::valueMissing): method definition 10652 * html/HTMLInputElement.cpp: 10653 (WebCore::HTMLInputElement::valueMissing): validation code 10654 (WebCore::HTMLInputElement::isRequiredFormControl): ditto 10655 * html/HTMLInputElement.h: 10656 (WebCore::HTMLInputElement::isOptionalFormControl): ditto 10657 * html/HTMLInputElement.idl: required DOM attribute 10658 * html/HTMLSelectElement.h: 10659 (WebCore::HTMLSelectElement::isOptionalFormControl): ditto 10660 * html/HTMLTextAreaElement.h: 10661 (WebCore::HTMLTextAreaElement::valueMissing): validation code 10662 (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto 10663 (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto 10664 * html/HTMLTextAreaElement.idl: required DOM attribute 10665 * html/ValidityState.cpp: 10666 * html/ValidityState.h: 10667 (WebCore::ValidityState::valueMissing): validation flag 10668 106692009-07-17 Beth Dakin <bdakin@apple.com> 10670 10671 Reviewed by Darin Adler. 10672 10673 Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 10674 cursor hotspots should work in quirks mode 10675 - and corresponding <rdar://problem/6554340> 10676 10677 Enable hotspots in quirks mode. 10678 * css/CSSParser.cpp: 10679 (WebCore::CSSParser::parseValue): 10680 10681 Update this manual test to reflect the fact that hotspots are now 10682 expected to work in quirks mode. 10683 * manual-tests/css3-cursor-fallback-quirks.html: 10684 106852009-07-17 Peter Kasting <pkasting@google.com> 10686 10687 Reviewed by Steve Falkenburg. 10688 10689 https://bugs.webkit.org/show_bug.cgi?id=27323 10690 Only add Cygwin to the path when it isn't already there. This avoids 10691 causing problems for people who purposefully have non-Cygwin versions of 10692 executables like svn in front of the Cygwin ones in their paths. 10693 10694 * WebCore.vcproj/QTMovieWin.vcproj: 10695 * WebCore.vcproj/WebCoreCommon.vsprops: 10696 * WebCore.vcproj/WebCoreGenerated.vcproj: 10697 106982009-07-17 Alexey Proskuryakov <ap@webkit.org> 10699 10700 Reviewed by David Levin. 10701 10702 https://bugs.webkit.org/show_bug.cgi?id=27384 10703 Random crashes in appcache/update-cache.html test 10704 10705 * loader/appcache/ApplicationCacheGroup.cpp: 10706 (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle 10707 after canceling it. 10708 107092009-07-17 Drew Wilson <atwilson@google.com> 10710 10711 Reviewed by David Levin. 10712 10713 Need to refactor Worker to derive from AbstractWorker 10714 https://bugs.webkit.org/show_bug.cgi?id=26948 10715 10716 Changed Worker to derive from AbstractWorker, which involved moving 10717 AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to 10718 ENABLE_WORKERS. 10719 10720 Removed obsolete functionality from the JS/V8 bindings that is now 10721 inherited from AbstractWorker. 10722 10723 * WebCore.pro: 10724 Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS. 10725 * bindings/js/JSAbstractWorkerCustom.cpp: 10726 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 10727 * bindings/js/JSWorkerCustom.cpp: 10728 Removed obsolete event listener code (now in base class) 10729 (WebCore::JSWorker::mark): 10730 No longer need to explicitly mark event listeners (handled by base class). 10731 * bindings/v8/V8Index.h: 10732 Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. 10733 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 10734 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 10735 * bindings/v8/custom/V8CustomBinding.h: 10736 Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. 10737 * bindings/v8/custom/V8WorkerCustom.cpp: 10738 Removed obsolete event listener code that now lives in the base class. 10739 (WebCore::V8WorkerConstructor): Cleaned up legacy style nits. 10740 * workers/AbstractWorker.cpp: 10741 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 10742 * workers/AbstractWorker.h: 10743 Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). 10744 * workers/Worker.cpp: 10745 Removed event listener code (now in base class). 10746 (WebCore::Worker::Worker): Now derives from AbstractWorker. 10747 (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class. 10748 * workers/Worker.h: 10749 Removed APIs that now live in the base class. 10750 * workers/Worker.idl: 10751 Now derives from AbstractWorker. 10752 Removed APIs that live in the base class, and added a GenerateToJS flag. 10753 107542009-07-17 David Hyatt <hyatt@apple.com> 10755 10756 Reviewed by Dan Bernstein. 10757 10758 https://bugs.webkit.org/show_bug.cgi?id=27379 10759 Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include 10760 the vertical scrollbar width for overflow:scroll elements. 10761 10762 Added fast/css/positioned-overflow-scroll.html 10763 10764 * rendering/RenderBlock.cpp: 10765 (WebCore::RenderBlock::calcPrefWidths): 10766 * rendering/RenderFlexibleBox.cpp: 10767 (WebCore::RenderFlexibleBox::calcPrefWidths): 10768 107692009-07-17 Jeremy Orlow <jorlow@chromium.org> 10770 10771 Reviewed by Dimitri Glazkov. 10772 10773 Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp 10774 https://bugs.webkit.org/show_bug.cgi?id=27375 10775 10776 In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp 10777 and StorageEvent.cpp. Unfortunately, until later this afternoon, 10778 DOM_STORAGE is not turned on by default in Chromium, and so these two 10779 files are never generated. This breaks the compile. 10780 10781 There are no other instances of guards in the file, which puzzles me... 10782 but I think adding guards is the right way to go about this. 10783 10784 * bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard. 10785 107862009-07-17 Brady Eidson <beidson@apple.com> 10787 10788 Reviewed by Darin Adler. 10789 10790 https://bugs.webkit.org/show_bug.cgi?id=26496 10791 10792 Let WebCore always enforce the connection-per-host limit itself. 10793 10794 * loader/loader.cpp: 10795 (WebCore::Loader::Host::servePendingRequests): 10796 107972009-07-17 Chris Marrin <cmarrin@apple.com> 10798 10799 Reviewed by David Hyatt. 10800 10801 Some transitions don't work correctly on Leopard 10802 https://bugs.webkit.org/show_bug.cgi?id=27356 10803 10804 We only have code to do component animation using valueFunction. 10805 So on Leopard we always need to do matrix animation in hardware. 10806 This fix ensures that. 10807 10808 This is currently not testable because it appears only in the 10809 hardware animation and we can't yet do pixel tests while 10810 hardware animating. 10811 10812 * platform/graphics/mac/GraphicsLayerCA.mm: 10813 (WebCore::GraphicsLayerCA::animateTransform): 10814 108152009-07-17 Holger Hans Peter Freyther <zecke@selfish.org> 10816 10817 Reviewed by Gustavo Noronha. 10818 10819 [GTK+] Crash in screenAvailable due a null Widget* 10820 10821 JSDOMWindow::open called screenAvailableRect(0). The other 10822 Screen methods can be called with a null widget as well, fix the 10823 crashing test by checking for null. 10824 10825 In screenRect and screenAvailableRect it is not tried to use 10826 a default screen as the existing implementation didn't try either 10827 in case of not having a toplevel widget. 10828 10829 LayoutTests/fast/frames/crash-removed-iframe.html caused a crash. 10830 10831 * platform/gtk/PlatformScreenGtk.cpp: 10832 (WebCore::getVisual): New method to get a visual or return zero. 10833 (WebCore::screenDepth): Use getVisual. 10834 (WebCore::screenDepthPerComponent): Use getVisual. 10835 (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking 10836 (WebCore::screenRect): Check for !widget. 10837 (WebCore::screenAvailableRect): Check for !widget. 10838 108392009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com> 10840 10841 Reviewed by Simon Hausmann. 10842 10843 [Qt] Fix the include path for the Symbian port 10844 https://bugs.webkit.org/show_bug.cgi?id=27358 10845 10846 * WebCore.pro: 10847 108482009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> 10849 10850 Reviewed by Simon Hausmann. 10851 10852 Make it possible to set the plugin directories from the DRT. 10853 Part of https://bugs.webkit.org/show_bug.cgi?id=27215 10854 10855 * plugins/PluginDatabase.cpp: 10856 (WebCore::PluginDatabase::installedPlugins): Now optionally takes 10857 a populate argument, so we can avoid loading system plugins from the 10858 DRT and thus avoid their strerr errors that can make tests fail. 10859 (WebCore::PluginDatabase::clear): Make it possible to clear the 10860 database. Called from setPluginDirectories. 10861 * plugins/PluginDatabase.h: 10862 (WebCore::PluginDatabase::setPluginDirectories): Make public 10863 108642009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10865 10866 Reviewed by Simon Hausmann. 10867 10868 PluginViewMac: Stop the plugin when loading fails 10869 10870 Also, prevent event propagation when in the stopped state 10871 10872 * plugins/mac/PluginViewMac.cpp: 10873 108742009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10875 10876 Reviewed by Simon Hausmann. 10877 10878 PluginViewMac: Allow query and set of drawing and event models 10879 10880 We now support querying and setting of the drawing and event model, 10881 but we still only support the CoreGraphics drawing model, and the 10882 Carbon event model. 10883 10884 If unsupported drawing or event models are detected we show the 10885 missing-plugin icon. 10886 10887 * plugins/PluginView.cpp: 10888 * plugins/PluginView.h: 10889 * plugins/mac/PluginViewMac.cpp: 10890 108912009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10892 10893 Reviewed by Simon Hausmann. 10894 10895 Initialize two PluginView members using memset 10896 10897 m_npWindow is used on all platforms, not just for XP_UNIX, 10898 so always initialize it. m_npCgContext on the other hand 10899 is only used for XP_MACOSX. 10900 10901 * plugins/PluginView.cpp: 10902 109032009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10904 10905 Reviewed by Simon Hausmann. 10906 10907 Add more debug logging in PluginView 10908 10909 * plugins/PluginView.cpp: Add debug for setValue 10910 * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue 10911 * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more 10912 * plugins/qt/PluginViewQt.cpp: Add debug for getValue 10913 * plugins/win/PluginViewWin.cpp: Add debug for getValue 10914 109152009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10916 10917 Reviewed by Holger Freyther. 10918 10919 Use same license in PluginDebug.cpp as in the original PluginDebug.h 10920 10921 * plugins/PluginDebug.cpp: Use license from PluginDebug.h 10922 109232009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10924 10925 Reviewed by Simon Hausmann. 10926 10927 Add more debugging functionality for the WebCore NPAPI layer 10928 10929 * GNUmakefile.am: Add PluginDebug.cpp 10930 * WebCore.gypi: Add PluginDebug.cpp 10931 * WebCore.pro: Add PluginDebug.cpp 10932 * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp 10933 * WebCoreSources.bkl: Add PluginDebug.cpp 10934 * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp 10935 * plugins/PluginDebug.cpp: New file 10936 109372009-07-17 Jeremy Orlow <jorlow@chromium.org> 10938 10939 Reviewed by David Levin. 10940 10941 Fix Chromium build with DOM_STORAGE enabled. 10942 https://bugs.webkit.org/show_bug.cgi?id=27360 10943 10944 2 minor changes as noted below: 10945 10946 * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files. 10947 * storage/StorageAreaImpl.cpp: #include "DOMWindow.h" 10948 109492009-07-16 Fumitoshi Ukai <ukai@chromium.org> 10950 10951 Reviewed by David Levin. 10952 10953 Add --web-sockets flag and ENABLE_WEB_SOCKETS define. 10954 https://bugs.webkit.org/show_bug.cgi?id=27206 10955 10956 Add ENABLE_WEB_SOCKETS 10957 10958 * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS 10959 * GNUmakefile.am: add ENABLE_WEB_SOCKETS 10960 * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS 10961 * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS 10962 109632009-07-16 Maxime Simon <simon.maxime@gmail.com> 10964 10965 Reviewed by Oliver Hunt. 10966 10967 Added a third bunch of Haiku-specific files for WebCore. 10968 https://bugs.webkit.org/show_bug.cgi?id=26952 10969 10970 Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp, 10971 FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp 10972 10973 * platform/haiku/EventLoopHaiku.cpp: Added. 10974 (WebCore::EventLoop::cycle): 10975 * platform/haiku/FileChooserHaiku.cpp: Added. 10976 (WebCore::FileChooser::FileChooser): 10977 (WebCore::FileChooser::basenameForWidth): 10978 * platform/haiku/FileSystemHaiku.cpp: Added. 10979 (WebCore::fileSystemRepresentation): 10980 (WebCore::homeDirectoryPath): 10981 (WebCore::openTemporaryFile): 10982 (WebCore::closeFile): 10983 (WebCore::writeToFile): 10984 (WebCore::unloadModule): 10985 (WebCore::listDirectory): 10986 * platform/haiku/KeyboardCodes.h: Added. 10987 * platform/haiku/MIMETypeRegistryHaiku.cpp: Added. 10988 (WebCore::): 10989 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10990 109912009-07-16 Maxime Simon <simon.maxime@gmail.com> 10992 10993 Reviewed by Oliver Hunt. 10994 10995 Added a second bunch of Haiku-specific files for WebCore. 10996 https://bugs.webkit.org/show_bug.cgi?id=26952 10997 10998 Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp, 10999 DragDataHaiku.cpp and DragImageHaiku.cpp 11000 11001 * platform/haiku/ContextMenuHaiku.cpp: Added. 11002 (WebCore::ContextMenuReceiver::ContextMenuReceiver): 11003 (WebCore::ContextMenuReceiver::HandleMessage): 11004 (WebCore::ContextMenuReceiver::Result): 11005 (WebCore::ContextMenu::ContextMenu): 11006 (WebCore::ContextMenu::~ContextMenu): 11007 (WebCore::ContextMenu::appendItem): 11008 (WebCore::ContextMenu::itemCount): 11009 (WebCore::ContextMenu::insertItem): 11010 (WebCore::ContextMenu::platformDescription): 11011 (WebCore::ContextMenu::setPlatformDescription): 11012 * platform/haiku/ContextMenuItemHaiku.cpp: Added. 11013 (ContextMenuItem::ContextMenuItem): 11014 (ContextMenuItem::~ContextMenuItem): 11015 (ContextMenuItem::releasePlatformDescription): 11016 (ContextMenuItem::type): 11017 (ContextMenuItem::setType): 11018 (ContextMenuItem::action): 11019 (ContextMenuItem::setAction): 11020 (ContextMenuItem::title): 11021 (ContextMenuItem::setTitle): 11022 (ContextMenuItem::platformSubMenu): 11023 (ContextMenuItem::setSubMenu): 11024 (ContextMenuItem::setChecked): 11025 (ContextMenuItem::setEnabled): 11026 (ContextMenuItem::enabled): 11027 * platform/haiku/DragDataHaiku.cpp: Added. 11028 (WebCore::DragData::canSmartReplace): 11029 (WebCore::DragData::containsColor): 11030 (WebCore::DragData::containsFiles): 11031 (WebCore::DragData::asFilenames): 11032 (WebCore::DragData::containsPlainText): 11033 (WebCore::DragData::asPlainText): 11034 (WebCore::DragData::asColor): 11035 (WebCore::DragData::createClipboard): 11036 (WebCore::DragData::containsCompatibleContent): 11037 (WebCore::DragData::containsURL): 11038 (WebCore::DragData::asURL): 11039 (WebCore::DragData::asFragment): 11040 * platform/haiku/DragImageHaiku.cpp: Added. 11041 (WebCore::dragImageSize): 11042 (WebCore::deleteDragImage): 11043 (WebCore::scaleDragImage): 11044 (WebCore::dissolveDragImageToFraction): 11045 (WebCore::createDragImageFromImage): 11046 (WebCore::createDragImageIconForCachedImage): 11047 110482009-07-16 Stephen White <senorblanco@chromium.org> 11049 11050 Reviewed by Darin Fisher and Brett Wilson. 11051 11052 Refactor Skia implementation of gradients and patterns. 11053 11054 http://bugs.webkit.org/show_bug.cgi?id=26618 11055 11056 The following layout tests were breaking on Chromium/Linux: 11057 11058 LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG) 11059 LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg 11060 LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG) 11061 LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg 11062 11063 I could've fixed these the easy way, by copying the same 5 11064 lines of code we use everywhere we need patterns or gradients, but 11065 I decided to fix it the hard way: by refactoring the code so that 11066 PlatformContextSkia::setupPaintForFilling() and 11067 PlatformContextSkia::setupPaintForStroking() do the right thing, 11068 and also handle gradients and patterns. 11069 11070 This required pushing the gradients and patterns set in 11071 (generic) GraphicsContext::setFillPattern() and friends down into 11072 PlatformContextSkia. For this, I followed the setPlatformXXX() 11073 pattern used elsewhere in GraphicsContext, and stubbed them out on 11074 the other platforms with #if !PLATFORM(SKIA). This also required 11075 pushing changes to the gradientSpaceTransform from the Gradient into 11076 GradientSkia. 11077 11078 Since it's a Skia context, I decided to cache the values as 11079 SkShaders. There were existing m_pattern and m_gradient SkShaders, 11080 but they were unused, and whose use was ambiguous, so I 11081 replaced them with one SkShader each for filling and stroking. 11082 11083 * platform/graphics/Gradient.cpp: 11084 (WebCore::Gradient::setGradientSpaceTransform): 11085 (WebCore::Gradient::setPlatformGradientSpaceTransform): 11086 * platform/graphics/Gradient.h: 11087 * platform/graphics/GraphicsContext.cpp: 11088 (WebCore::GraphicsContext::setStrokePattern): 11089 (WebCore::GraphicsContext::setFillPattern): 11090 (WebCore::GraphicsContext::setStrokeGradient): 11091 (WebCore::GraphicsContext::setFillGradient): 11092 (WebCore::GraphicsContext::setPlatformFillGradient): 11093 (WebCore::GraphicsContext::setPlatformFillPattern): 11094 (WebCore::GraphicsContext::setPlatformStrokeGradient): 11095 (WebCore::GraphicsContext::setPlatformStrokePattern): 11096 * platform/graphics/GraphicsContext.h: 11097 * platform/graphics/skia/GradientSkia.cpp: 11098 (WebCore::Gradient::setPlatformGradientSpaceTransform): 11099 * platform/graphics/skia/GraphicsContextSkia.cpp: 11100 (WebCore::GraphicsContext::fillPath): 11101 (WebCore::GraphicsContext::fillRect): 11102 (WebCore::GraphicsContext::setPlatformFillGradient): 11103 (WebCore::GraphicsContext::setPlatformFillPattern): 11104 (WebCore::GraphicsContext::setPlatformStrokeGradient): 11105 (WebCore::GraphicsContext::setPlatformStrokePattern): 11106 (WebCore::GraphicsContext::strokePath): 11107 (WebCore::GraphicsContext::strokeRect): 11108 * platform/graphics/skia/PlatformContextSkia.cpp: 11109 (PlatformContextSkia::State::State): 11110 (PlatformContextSkia::State::~State): 11111 (PlatformContextSkia::drawRect): 11112 (PlatformContextSkia::setupPaintCommon): 11113 (PlatformContextSkia::setupPaintForFilling): 11114 (PlatformContextSkia::setupPaintForStroking): 11115 (PlatformContextSkia::setFillColor): 11116 (PlatformContextSkia::setStrokeColor): 11117 (PlatformContextSkia::setStrokeShader): 11118 (PlatformContextSkia::setFillShader): 11119 * platform/graphics/skia/PlatformContextSkia.h: 11120 * platform/graphics/skia/SkiaFontWin.cpp: 11121 (WebCore::skiaDrawText): 11122 (WebCore::paintSkiaText): 11123 * svg/graphics/SVGPaintServer.cpp: 11124 (WebCore::SVGPaintServer::teardown): 11125 111262009-07-16 Maxime Simon <simon.maxime@gmail.com> 11127 11128 Reviewed by Oliver Hunt. 11129 11130 Added Haiku-specific files for WebCore/platform/image-decoders/. 11131 https://bugs.webkit.org/show_bug.cgi?id=26949 11132 11133 Adding a new file, ImageDecoderHaiku.cpp. 11134 11135 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added. 11136 (WebCore::RGBA32Buffer::RGBA32Buffer): 11137 (WebCore::RGBA32Buffer::clear): 11138 (WebCore::RGBA32Buffer::zeroFill): 11139 (WebCore::RGBA32Buffer::copyBitmapData): 11140 (WebCore::RGBA32Buffer::setSize): 11141 (WebCore::RGBA32Buffer::asNewNativeImage): 11142 (WebCore::RGBA32Buffer::hasAlpha): 11143 (WebCore::RGBA32Buffer::setHasAlpha): 11144 (WebCore::RGBA32Buffer::setStatus): 11145 (WebCore::RGBA32Buffer::operator=): 11146 (WebCore::RGBA32Buffer::width): 11147 (WebCore::RGBA32Buffer::height): 11148 111492009-07-16 Maxime Simon <simon.maxime@gmail.com> 11150 11151 Reviewed by Eric Seidel. 11152 11153 Added Haiku-specific files for WebCore/page/. 11154 https://bugs.webkit.org/show_bug.cgi?id=26949 11155 11156 Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp 11157 and FrameHaiku.cpp 11158 11159 * page/haiku/DragControllerHaiku.cpp: Added. 11160 (WebCore::DragController::isCopyKeyDown): 11161 (WebCore::DragController::dragOperation): 11162 (WebCore::DragController::maxDragImageSize): 11163 (WebCore::DragController::cleanupAfterSystemDrag): 11164 * page/haiku/EventHandlerHaiku.cpp: Added. 11165 (WebCore::isKeyboardOptionTab): 11166 (WebCore::EventHandler::invertSenseOfTabsToLinks): 11167 (WebCore::EventHandler::tabsToAllControls): 11168 (WebCore::EventHandler::focusDocumentView): 11169 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 11170 (WebCore::EventHandler::passMouseDownEventToWidget): 11171 (WebCore::EventHandler::eventActivatedView): 11172 (WebCore::EventHandler::passSubframeEventToSubframe): 11173 (WebCore::EventHandler::passWheelEventToWidget): 11174 (WebCore::EventHandler::createDraggingClipboard): 11175 (WebCore::EventHandler::passMousePressEventToSubframe): 11176 (WebCore::EventHandler::passMouseMoveEventToSubframe): 11177 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 11178 (WebCore::EventHandler::accessKeyModifiers): 11179 * page/haiku/FrameHaiku.cpp: Added. 11180 (WebCore::Frame::dragImageForSelection): 11181 111822009-07-16 Maxime Simon <simon.maxime@gmail.com> 11183 11184 Reviewed by Eric Seidel. 11185 11186 Added Haiku-specific files for WebCore/editing/. 11187 https://bugs.webkit.org/show_bug.cgi?id=26949 11188 11189 Adding one new file, EditorHaiku.cpp 11190 11191 * editing/haiku/EditorHaiku.cpp: Added. 11192 (WebCore::Editor::newGeneralClipboard): 11193 111942009-07-16 Maxime Simon <simon.maxime@gmail.com> 11195 11196 Reviewed by Eric Seidel. 11197 11198 Added Haiku-specific files for WebCore/bindings/js/. 11199 https://bugs.webkit.org/show_bug.cgi?id=26949 11200 11201 Adding a new file, ScriptControllerHaiku.cpp 11202 11203 * bindings/js/ScriptControllerHaiku.cpp: Added. 11204 (WebCore::ScriptController::createScriptInstanceForWidget): 11205 112062009-07-16 Maxime Simon <simon.maxime@gmail.com> 11207 11208 Reviewed by Eric Seidel. 11209 11210 Added Haiku-specific files for WebCore/platform/text/. 11211 https://bugs.webkit.org/show_bug.cgi?id=26949 11212 11213 Adding two new files, StringHaiku.cpp 11214 and TextBreakIteratorInternalICUHaiku.cpp 11215 11216 * platform/text/haiku/StringHaiku.cpp: Added. 11217 (WebCore::String::String): 11218 (WebCore::String::operator BString): 11219 * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added. 11220 (WebCore::currentTextBreakLocaleID): 11221 112222009-07-16 Kent Tamura <tkent@chromium.org> 11223 11224 Reviewed by Eric Seidel. 11225 11226 Sends the basename of a selected file for non-multipart form submission. 11227 <https://bugs.webkit.org/show_bug.cgi?id=26505> 11228 11229 Test: fast/forms/get-file-upload.html 11230 11231 * html/HTMLInputElement.cpp: 11232 (WebCore::HTMLInputElement::appendFormData): 11233 112342009-07-16 Adam Barth <abarth@webkit.org> 11235 11236 Reviewed by David Levin. 11237 11238 [V8] Centralize hidden property names 11239 https://bugs.webkit.org/show_bug.cgi?id=27359 11240 11241 No behavior change. Just moving these names to a central location. 11242 I'll move the rest of our hidden property names as I sweep though the 11243 bindings. 11244 11245 * WebCore.gypi: 11246 * bindings/v8/V8HiddenPropertyName.cpp: Added. 11247 (WebCore::V8HiddenPropertyName::objectPrototype): 11248 (WebCore::V8HiddenPropertyName::isolatedWorld): 11249 * bindings/v8/V8HiddenPropertyName.h: Added. 11250 * bindings/v8/V8IsolatedWorld.cpp: 11251 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 11252 (WebCore::V8IsolatedWorld::getEntered): 11253 * bindings/v8/V8Proxy.cpp: 11254 (WebCore::V8Proxy::getHiddenObjectPrototype): 11255 (WebCore::V8Proxy::installHiddenObjectPrototype): 11256 112572009-07-16 Dan Bernstein <mitz@apple.com> 11258 11259 Reviewed by Simon Fraser. 11260 11261 REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image 11262 https://bugs.webkit.org/show_bug.cgi?id=26747 11263 rdar://problem/7009243 11264 11265 Test: fast/repaint/background-misaligned.html 11266 11267 * platform/graphics/Image.cpp: 11268 (WebCore::Image::drawTiled): Moved a variable definition closer to where 11269 it is used. 11270 * platform/graphics/cg/ImageCG.cpp: 11271 (WebCore::BitmapImage::draw): In the subimage code path, compute a 11272 pixel-aligned source rect, because the subiamge is always pixel-aligned 11273 in source space, and adjust the destination rect to preserve the 11274 source -> destination mapping. Clip to the (original) destination rect 11275 to prevent bleeding out. 11276 112772009-07-16 Jeremy Orlow <jorlow@chromium.org> 11278 11279 Reviewed by Adam Barth. 11280 11281 Add a sessionStorageEnabled setting to the settings class. 11282 https://bugs.webkit.org/show_bug.cgi?id=27318 11283 11284 Allow LocalStorage to be enabled without enabling SessionStorage at 11285 runtime. There is a settings class setting for localStorage, but not 11286 for sessionStorage. We want to be able to test one of these features 11287 without necessarily enabling the other. 11288 11289 SessionStorage defaults to true so as to not change behavior and 11290 because there really aren't any security concerns around SessionStorage 11291 (unlike LocalsStorage). The flag is needed in Chromium only because 11292 we want to enable the compile time flag in the default build, but don't 11293 want it on by default until it's been thoroughly tested. 11294 11295 * page/DOMWindow.cpp: 11296 (WebCore::DOMWindow::sessionStorage): Check the new flag 11297 (WebCore::DOMWindow::localStorage): A bit of cleanup 11298 * page/Settings.cpp: 11299 (WebCore::Settings::Settings): Default the flag to true 11300 (WebCore::Settings::setSessionStorageEnabled): Add the new flag 11301 * page/Settings.h: 11302 (WebCore::Settings::sessionStorageEnabled): Get the new flag 11303 113042009-07-16 Adam Barth <abarth@webkit.org> 11305 11306 Unreviewed. 11307 11308 Revert 45987. Tests did not pass on Windows. 11309 11310 * html/HTMLInputElement.cpp: 11311 (WebCore::HTMLInputElement::appendFormData): 11312 113132009-07-16 Drew Wilson <atwilson@google.com> 11314 11315 Reviewed by David Levin. 11316 11317 Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files. 11318 Added missing V8 bindings to the AllInOne file 11319 11320 https://bugs.webkit.org/show_bug.cgi?id=27321 11321 11322 * WebCore.vcproj/WebCore.vcproj: 11323 Added missing files to build. 11324 * bindings/v8/DerivedSourcesAllInOne.cpp: 11325 Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp) 11326 * DerivedSources.cpp 11327 Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp) 11328 113292009-07-16 John Abd-El-Malek <jam@chromium.org> 11330 11331 Reviewed by David Levin. 11332 11333 Add a getter in MessagePortChannel for the PlatformMessagePortChannel. 11334 11335 https://bugs.webkit.org/show_bug.cgi?id=27337 11336 11337 * dom/MessagePortChannel.h: 11338 (WebCore::MessagePortChannel::channel): 11339 113402009-07-16 Xiaomei Ji <xji@chromium.org> 11341 11342 Reviewed by Darin Adler. 11343 11344 Fix tooltip does not get its directionality from its element's directionality. 11345 https://bugs.webkit.org/show_bug.cgi?id=24187 11346 11347 Per mitz's suggestion in comment #6, while getting the plain-text 11348 title, we also get the directionality of the title. How to handle 11349 the directionality is up to clients. Clients could ignore it, 11350 or use attribute or unicode control characters to display the title 11351 as what they want. 11352 11353 WARNING: NO TEST CASES ADDED OR CHANGED 11354 11355 * WebCore.base.exp: Replace 2 names due to signature change. 11356 * loader/EmptyClients.h: 11357 (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter. 11358 * page/Chrome.cpp: 11359 (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip. 11360 * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip(). 11361 * page/chromium/ChromeClientChromium.h: 11362 (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 11363 temprarily to make chromium compile after pick up this webkit patch. 11364 * rendering/HitTestResult.cpp: 11365 (WebCore::HitTestResult::spellingToolTip): Besides getting the 11366 spelling tooltip, get its directionality as well. 11367 (WebCore::HitTestResult::title): Besides getting the title, 11368 get its directionality as well. 11369 * rendering/HitTestResult.h: Add 2 more methods. 11370 113712009-07-16 Shinichiro Hamaji <hamaji@chromium.org> 11372 11373 Reviewed by Oliver Hunt. 11374 11375 [CAIRO] pattern of a canvas-element changes after modifications on canvas-element 11376 https://bugs.webkit.org/show_bug.cgi?id=20578 11377 11378 Copy pixel image in ImageBuffer::image() just like CG and Skia glue. 11379 11380 Test: fast/canvas/canvas-pattern-modify.html 11381 11382 * platform/graphics/cairo/ImageBufferCairo.cpp: 11383 (copySurface): 11384 (WebCore::ImageBuffer::image): 11385 113862009-07-16 David Hyatt <hyatt@apple.com> 11387 11388 Reviewed by Beth Dakin. 11389 11390 https://bugs.webkit.org/show_bug.cgi?id=27353 11391 Images mispositioned because of bug in percentage-based relative positioning. 11392 11393 Added fast/css/nested-floating-relative-position-percentages.html 11394 11395 * rendering/RenderBoxModelObject.cpp: 11396 (WebCore::RenderBoxModelObject::relativePositionOffsetX): 11397 113982009-07-16 Kent Tamura <tkent@chromium.org> 11399 11400 Reviewed by Eric Seidel. 11401 11402 Sends the basename of a selected file for non-multipart form submission. 11403 <https://bugs.webkit.org/show_bug.cgi?id=26505> 11404 11405 Test: fast/forms/get-file-upload.html 11406 11407 * html/HTMLInputElement.cpp: 11408 (WebCore::HTMLInputElement::appendFormData): 11409 114102009-07-16 Simon Fraser <simon.fraser@apple.com> 11411 11412 Reviewed by Darin Adler. 11413 11414 Video size sometimes jumps just after the video starts loading 11415 https://bugs.webkit.org/show_bug.cgi?id=27352 11416 11417 Ensure that the media player is at or after the 'HaveMetadata' state so that 11418 the instrinsic size is known before we create the layer for video. This avoids 11419 a flash caused by computing the video rect using the default intrinsic size, and then 11420 re-computing it when that size changes. 11421 11422 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 11423 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 11424 (WebCore::MediaPlayerPrivate::isReadyForRendering): 11425 (WebCore::MediaPlayerPrivate::updateStates): 11426 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 11427 114282009-07-16 Brady Eidson <beidson@apple.com> 11429 11430 Reviewed by Antti Koivisto. 11431 Patch by Brady Eidson and Alexey Proskuryakov. 11432 11433 https://bugs.webkit.org/show_bug.cgi?id=26496 11434 <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation 11435 11436 After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption 11437 from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads. 11438 11439 * loader/loader.cpp: 11440 (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit. 11441 114422009-07-16 Adam Barth <abarth@webkit.org> 11443 11444 Reviewed by Dimitri Glazkov. 11445 11446 [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext 11447 https://bugs.webkit.org/show_bug.cgi?id=27335 11448 11449 evaluateInNewContext makes this delegate call. evaluateInNewWorld 11450 needs to make the same call. This does not appear to be testable with 11451 our current technology. 11452 11453 * bindings/v8/V8IsolatedWorld.cpp: 11454 (WebCore::V8IsolatedWorld::evaluate): 11455 114562009-07-15 Jakub Wieczorek <faw217@gmail.com> 11457 11458 Reviewed by Simon Hausmann. 11459 11460 Fix a typo: application/atom=xml -> application/atom+xml. 11461 11462 * dom/ProcessingInstruction.cpp: 11463 (WebCore::ProcessingInstruction::checkStyleSheet): 11464 114652009-07-16 Dean McNamee <deanm@chromium.org> 11466 11467 Reviewed by Oliver Hunt. 11468 11469 https://bugs.webkit.org/show_bug.cgi?id=27292 11470 Improve handling of <canvas> path operations on an empty path. 11471 Implement Skia's Path::hasCurrentPoint(). 11472 11473 * html/CanvasRenderingContext2D.cpp: 11474 (WebCore::CanvasRenderingContext2D::lineTo): 11475 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 11476 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 11477 * platform/graphics/skia/PathSkia.cpp: 11478 (WebCore::Path::hasCurrentPoint): 11479 114802009-07-15 Shinichiro Hamaji <hamaji@chromium.org> 11481 11482 Reviewed by Eric Seidel. 11483 11484 Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute 11485 https://bugs.webkit.org/show_bug.cgi?id=26254 11486 11487 Make it so that setting white-space and word-wrap via CSS 11488 overrides the wrap attribute. 11489 11490 This involves having the shadow div in the textarea inherit 11491 the CSS from its parent instead of hard-coding it in 11492 RenderTextControlMultiline. 11493 11494 Committer note: Earlier I reverted this change because I did it incorrectly 11495 by leaving out css/html.css. In the patch, the filename was the old name 11496 css/html4.css and that led to my error. 11497 11498 * css/html.css: 11499 * html/HTMLTextAreaElement.cpp: 11500 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 11501 * rendering/RenderTextControlMultiLine.cpp: 11502 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 11503 115042009-07-15 James Hawkins <jhawkins@google.com> 11505 11506 Reviewed by Adam Barth. 11507 11508 [V8] Remove a local variable that is shadowing a function parameter. 11509 https://bugs.webkit.org/show_bug.cgi?id=27309 11510 11511 No test required as this modification does not change the current behavior. 11512 11513 * bindings/v8/V8DOMWrapper.cpp: 11514 (WebCore::V8DOMWrapper::instantiateV8Object): 11515 115162009-07-15 Adam Langley <agl@google.com> 11517 11518 No review: reverting previous change. 11519 11520 Revert r45959: 11521 11522 2009-07-15 Dumitru Daniliuc <dumi@chromium.org> 11523 Reviewed by Dimitri Glazkov. 11524 11525 Adding the Win SQLite VFS implementation for Chromium. 11526 11527 https://bugs.webkit.org/show_bug.cgi?id=26940 11528 11529 11530 The Chromium side of this patch was landed in 20839, but broke the build. It 11531 was reverted in r20840. Thus, I'm reverting this side of the patch too. 11532 11533 * WebCore.gypi: 11534 * platform/chromium/ChromiumBridge.h: 11535 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed. 11536 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed. 11537 115382009-07-15 David Levin <levin@chromium.org> 11539 11540 Layout test fix, reverting previous change. 11541 11542 Reverting r45962 as it caused several layout test failures. 11543 11544 * html/HTMLTextAreaElement.cpp: 11545 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 11546 * rendering/RenderTextControlMultiLine.cpp: 11547 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 11548 115492009-06-08 Shinichiro Hamaji <hamaji@chromium.org> 11550 11551 Reviewed by Eric Seidel. 11552 11553 Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute 11554 https://bugs.webkit.org/show_bug.cgi?id=26254 11555 11556 Make it so that setting white-space and word-wrap via CSS 11557 overrides the wrap attribute. 11558 11559 This involves having the shadow div in the textarea inherit 11560 the CSS from its parent instead of hard-coding it in 11561 RenderTextControlMultiline. 11562 11563 * css/html4.css: 11564 * html/HTMLTextAreaElement.cpp: 11565 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 11566 * rendering/RenderTextControlMultiLine.cpp: 11567 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 11568 115692009-07-15 Dumitru Daniliuc <dumi@chromium.org> 11570 11571 Reviewed by Dimitri Glazkov. 11572 11573 Adding the Win SQLite VFS implementation for Chromium. 11574 11575 https://bugs.webkit.org/show_bug.cgi?id=26940 11576 11577 * platform/chromium/ChromiumBridge.h: 11578 * platform/sql/chromium: Added. 11579 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. 11580 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. 11581 115822009-07-15 Jian Li <jianli@chromium.org> 11583 11584 Reviewed by David Levin. 11585 11586 Bug 25151 - workers that fail to load scripts not firing error event. 11587 https://bugs.webkit.org/show_bug.cgi?id=25151 11588 11589 This fixes the problem that an error event is not fired when the worker 11590 script fails to load. Some reasons this may occur are an invalid URL for 11591 the worker script or a cross-origin redirect. 11592 11593 We also moves the code to complete the URL and check its origin from 11594 Worker constructor to WorkerScriptLoader loading functions in order to 11595 move the exception throwing logic out of the scope of Worker constructor. 11596 Due to this change, we also remove the output ExceptionCode parameter 11597 in the worker constructor. Corresponding JS/V8 binding codes have been 11598 updated to reflect this change. 11599 11600 * bindings/js/JSWorkerConstructor.cpp: 11601 (WebCore::constructWorker): 11602 * bindings/v8/custom/V8WorkerCustom.cpp: 11603 (WebCore::CALLBACK_FUNC_DECL): 11604 * workers/Worker.cpp: 11605 (WebCore::Worker::Worker): 11606 (WebCore::Worker::notifyFinished): 11607 * workers/Worker.h: 11608 (WebCore::Worker::create): 11609 * workers/WorkerContext.cpp: 11610 (WebCore::WorkerContext::importScripts): 11611 * workers/WorkerScriptLoader.cpp: 11612 (WebCore::toCrossOriginRedirectPolicy): 11613 (WebCore::WorkerScriptLoader::loadSynchronously): 11614 (WebCore::WorkerScriptLoader::loadAsynchronously): 11615 (WebCore::notifyLoadErrorTask): 11616 (WebCore::WorkerScriptLoader::createResourceRequest): 11617 (WebCore::WorkerScriptLoader::didFail): 11618 (WebCore::WorkerScriptLoader::didFailRedirectCheck): 11619 (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): 11620 (WebCore::WorkerScriptLoader::notifyError): 11621 * workers/WorkerScriptLoader.h: 11622 (WebCore::): 11623 (WebCore::WorkerScriptLoader::url): 11624 116252009-07-15 Dan Bernstein <mitz@apple.com> 11626 11627 Reviewed by Dave Hyatt. 11628 11629 text-shadow is not drawn for text with transparent colour 11630 https://bugs.webkit.org/show_bug.cgi?id=21374 11631 11632 Test: fast/text/shadow-translucent-fill.html 11633 11634 * rendering/InlineTextBox.cpp: 11635 (WebCore::paintTextWithShadows): If the text fill color is not opaque, 11636 paint all shadows separately from the text, by casting them from 11637 clipped-out opaque text. 11638 116392009-07-15 Adam Treat <adam.treat@torchmobile.com> 11640 11641 Fix the Qt build. 11642 11643 * html/HTMLAreaElement.cpp: 11644 116452009-07-15 Jeremy Orlow <jorlow@chromium.org> 11646 11647 Reviewed by Darin Fisher. 11648 11649 Cleanup DOM Storage dependencies. 11650 https://bugs.webkit.org/show_bug.cgi?id=27180 11651 11652 DOM Storage had several unnecessary (and probably unintended) 11653 dependencies. This patch replaces many includes of header files with 11654 forward declaration of classes, making some destructors explicit, and 11655 taking some factories out of the header files. 11656 11657 This will allow things like StorageAreaSync to take a StorageAreaImpl* 11658 (as it should) rather than a StorageArea* which previously weren't 11659 possible because the dependencies were such a tangled mess. 11660 11661 * storage/LocalStorageTask.cpp: 11662 (WebCore::LocalStorageTask::~LocalStorageTask): 11663 * storage/LocalStorageTask.h: 11664 * storage/Storage.cpp: 11665 (WebCore::Storage::~Storage): 11666 * storage/Storage.h: 11667 * storage/StorageArea.cpp: 11668 * storage/StorageArea.h: 11669 * storage/StorageAreaImpl.cpp: 11670 * storage/StorageAreaImpl.h: 11671 * storage/StorageAreaSync.cpp: 11672 (WebCore::StorageAreaSync::~StorageAreaSync): 11673 * storage/StorageAreaSync.h: 11674 * storage/StorageEvent.cpp: 11675 (WebCore::StorageEvent::create): 11676 (WebCore::StorageEvent::StorageEvent): 11677 * storage/StorageEvent.h: 11678 * storage/StorageNamespace.h: 11679 * storage/StorageNamespaceImpl.cpp: 11680 * storage/StorageNamespaceImpl.h: 11681 * storage/StorageSyncManager.cpp: 11682 (WebCore::StorageSyncManager::~StorageSyncManager): 11683 * storage/StorageSyncManager.h: 11684 116852009-07-15 Chris Marrin <cmarrin@apple.com> 11686 11687 Reviewed by Simon Fraser. 11688 11689 Incorrect animation when trying to duplicate effect of transform-origin 11690 https://bugs.webkit.org/show_bug.cgi?id=27310 11691 11692 The bug is that matrix animation is being used when animating 11693 a list of transform functions that match in the from and to states. 11694 This sometimes works. But because of the way CA does matrix animation 11695 function lists like the one shown in the testcase animate incorrectly. 11696 11697 This fixes the bug by always doing component animation 11698 as long as the function lists match. This allows CA 11699 to animate the components and then recompose the result 11700 into the correct matrix. 11701 11702 Test: animations/transform-origin-vs-functions.html 11703 11704 * platform/graphics/mac/GraphicsLayerCA.mm: 11705 (WebCore::GraphicsLayerCA::animateTransform): 11706 117072009-07-15 Albert J. Wong <ajwong@chromium.org> 11708 11709 Reviewed by David Levin. 11710 11711 Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi. 11712 11713 Add upstreamed V8 bindings files into WebCore.gypi so they can be seen 11714 downstream 11715 https://bugs.webkit.org/show_bug.cgi?id=27274 11716 11717 Changes the build file for chromium. Test built the chromium tree 11718 to verify. 11719 11720 * WebCore.gypi: 11721 117222009-07-15 Mark Rowe <mrowe@apple.com> 11723 11724 I like it when the code compiles. 11725 11726 * WebCore.base.exp: 11727 117282009-07-15 Darin Adler <darin@apple.com> 11729 11730 Reviewed by Sam Weinig. 11731 11732 Renamed parseURL to deprecatedParseURL. 11733 11734 * bindings/js/JSAttrCustom.cpp: 11735 (WebCore::JSAttr::setValue): Renamed. 11736 * bindings/js/JSElementCustom.cpp: 11737 (WebCore::allowSettingSrcToJavascriptURL): Renamed. 11738 * bindings/js/JSHTMLFrameElementCustom.cpp: 11739 (WebCore::allowSettingJavascriptURL): Renamed. 11740 * bindings/js/JSHTMLIFrameElementCustom.cpp: 11741 (WebCore::JSHTMLIFrameElement::setSrc): Renamed. 11742 * bindings/objc/DOM.mm: 11743 (-[DOMElement _getURLAttribute:]): Renamed. 11744 * bindings/objc/DOMHTML.mm: 11745 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed. 11746 * bindings/v8/custom/V8CustomBinding.cpp: 11747 (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed. 11748 * css/CSSHelper.cpp: 11749 (WebCore::deprecatedParseURL): Renamed. 11750 * css/CSSHelper.h: Renamed and updated comment. 11751 * html/HTMLAnchorElement.cpp: 11752 (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed. 11753 (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed. 11754 * html/HTMLBaseElement.cpp: 11755 (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed. 11756 * html/HTMLBodyElement.cpp: 11757 (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed. 11758 * html/HTMLEmbedElement.cpp: 11759 (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed. 11760 * html/HTMLFormElement.cpp: 11761 (WebCore::HTMLFormElement::parseMappedAttribute): Renamed. 11762 * html/HTMLFrameElementBase.cpp: 11763 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed. 11764 * html/HTMLImageElement.cpp: 11765 (WebCore::HTMLImageElement::parseMappedAttribute): Renamed. 11766 * html/HTMLImageLoader.cpp: 11767 (WebCore::HTMLImageLoader::sourceURI): Renamed. 11768 * html/HTMLLinkElement.cpp: 11769 (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed. 11770 * html/HTMLObjectElement.cpp: 11771 (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed. 11772 * html/HTMLTableElement.cpp: 11773 (WebCore::HTMLTableElement::parseMappedAttribute): Renamed. 11774 * html/HTMLTablePartElement.cpp: 11775 (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed. 11776 * html/HTMLTokenizer.cpp: 11777 (WebCore::HTMLTokenizer::parseTag): Renamed. 11778 * html/PreloadScanner.cpp: 11779 (WebCore::PreloadScanner::processAttribute): Renamed. 11780 (WebCore::PreloadScanner::emitCSSRule): Renamed. 11781 * platform/chromium/ClipboardChromium.cpp: 11782 (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed. 11783 * platform/chromium/PasteboardChromium.cpp: 11784 (WebCore::Pasteboard::writeImage): Renamed. 11785 * platform/qt/ClipboardQt.cpp: 11786 (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed. 11787 * platform/win/ClipboardWin.cpp: 11788 (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed. 11789 * rendering/HitTestResult.cpp: 11790 (WebCore::HitTestResult::absoluteImageURL): Renamed. 11791 (WebCore::HitTestResult::absoluteMediaURL): Renamed. 11792 (WebCore::HitTestResult::absoluteLinkURL): Renamed. 11793 * svg/SVGAElement.cpp: 11794 (WebCore::SVGAElement::defaultEventHandler): Renamed. 11795 * svg/SVGImageLoader.cpp: 11796 (WebCore::SVGImageLoader::sourceURI): Renamed. 11797 * wml/WMLAElement.cpp: 11798 (WebCore::WMLAElement::defaultEventHandler): Renamed. 11799 * wml/WMLImageLoader.cpp: 11800 (WebCore::WMLImageLoader::sourceURI): Renamed. 11801 118022009-07-15 Darin Adler <darin@apple.com> 11803 11804 Reviewed by Dan Bernstein. 11805 11806 CSSHelper.h's parseURL is a function that no one should ever call 11807 Part 1: Eliminate callers in the CSS parser. 11808 https://bugs.webkit.org/show_bug.cgi?id=26599 11809 11810 Test: fast/css/uri-token-parsing.html 11811 11812 * css/CSSHelper.h: Added a comment explaining why nobody should ever call this 11813 function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL. 11814 11815 * css/CSSParser.cpp: 11816 (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL; 11817 CSSParser::text already takes care of parsing the URI token syntax, and the 11818 parseURL function does no good. 11819 (WebCore::CSSParser::parseContent): Ditto. 11820 (WebCore::CSSParser::parseFillImage): Ditto. 11821 (WebCore::CSSParser::parseFontFaceSrc): Ditto. 11822 (WebCore::CSSParser::parseBorderImage): Ditto. 11823 (WebCore::isCSSWhitespace): Added. Helper function that makes the text function 11824 easier to read. 11825 (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace 11826 are both trimmed before removing the quote marks. Changed to use the 11827 isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity. 11828 11829 * css/CSSParser.h: Removed stray "public:" in this header. 11830 11831 * platform/text/StringImpl.cpp: 11832 (WebCore::StringImpl::substring): Optimized the case where the substring covers 11833 the entire string, so we just share the StringImpl instead of making a new one. 11834 This case came up in earlier versions of the CSS parser changes above. 11835 (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it 11836 not call substring any more. Before, this was relying on the substring function 11837 always making a copy of any non-empty substring. 11838 118392009-07-15 Darin Adler <darin@apple.com> 11840 11841 Reviewed by John Sullivan. 11842 11843 After double-clicking a word, using Shift-arrow to select behaves unpredictably 11844 https://bugs.webkit.org/show_bug.cgi?id=27177 11845 rdar://problem/7034324 11846 11847 Test: editing/selection/extend-selection-after-double-click.html 11848 11849 The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not 11850 being cleared in many cases where it should have been. 11851 11852 * editing/SelectionController.cpp: 11853 (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension 11854 to false. This catches all sorts of cases that don't flow through the modify function. 11855 Before, the flag would reflect the last call to the modify function, which was not 11856 necessarily the last selection change. 11857 (WebCore::SelectionController::willBeModified): Rearrange function for clarity. 11858 Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 11859 (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after 11860 setSelection when setting up a trial selection controller, since setSelection now 11861 clears that flag. Also changed both trial selection controller cases to set the flag, 11862 although it's not strictly necessary in both cases. Added code to set 11863 m_lastChangeWasHorizontalExtension when extending the selection, which used to be 11864 handled in willBeModified. Now we need to do it after the selection change. 11865 118662009-07-15 Jeremy Orlow <jorlow@chromium.org> 11867 11868 Reviewed by Dimitri Glazkov. 11869 11870 Need to update DOM Storage files in GYPI file. 11871 https://bugs.webkit.org/show_bug.cgi?id=27317 11872 11873 Need to update DOM Storage files in the GYPI file. They're pretty out 11874 of date and we're on the path towards enabling them for everyone! 11875 11876 * WebCore.gypi: 11877 118782009-07-15 Kwang Yul Seo <skyul@company100.net> 11879 11880 Reviewed by Eric Seidel. 11881 11882 https://bugs.webkit.org/show_bug.cgi?id=26794 11883 Make Yacc-generated parsers to use fastMalloc/fastFree. 11884 11885 Define YYMALLOC and YYFREE to fastMalloc and fastFree 11886 respectively. 11887 11888 * css/CSSGrammar.y: 11889 * xml/XPathGrammar.y: 11890 118912009-07-15 David Hyatt <hyatt@apple.com> 11892 11893 Reviewed by Adam Roben. 11894 11895 https://bugs.webkit.org/show_bug.cgi?id=27193 11896 Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in 11897 is effectively broken as a result. 11898 11899 No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior. 11900 11901 * rendering/RenderBlock.cpp: 11902 (WebCore::RenderBlock::handleRunInChild): 11903 119042009-07-15 Yuzo Fujishima <yuzo@google.com> 11905 11906 Reviewed by Darin Adler. 11907 11908 Test: fast/js/instanceof-operator.html 11909 11910 Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest 11911 https://bugs.webkit.org/show_bug.cgi?id=25205 11912 11913 In addition to for XMLHttpRequest, this also fixes for: 11914 - Audio 11915 - Image 11916 - MessageChannel 11917 - Option 11918 - WebKitCSSMatrix 11919 - WebKitPoint 11920 - Worker 11921 - XSLTProcessor 11922 11923 * bindings/js/JSAudioConstructor.cpp: 11924 (WebCore::JSAudioConstructor::JSAudioConstructor): 11925 * bindings/js/JSAudioConstructor.h: 11926 * bindings/js/JSDOMBinding.h: 11927 (WebCore::DOMConstructorObject::createStructure): 11928 (WebCore::DOMConstructorObject::DOMConstructorObject): 11929 * bindings/js/JSImageConstructor.cpp: 11930 (WebCore::JSImageConstructor::JSImageConstructor): 11931 * bindings/js/JSImageConstructor.h: 11932 * bindings/js/JSMessageChannelConstructor.cpp: 11933 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 11934 * bindings/js/JSMessageChannelConstructor.h: 11935 * bindings/js/JSOptionConstructor.cpp: 11936 (WebCore::JSOptionConstructor::JSOptionConstructor): 11937 * bindings/js/JSOptionConstructor.h: 11938 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 11939 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 11940 * bindings/js/JSWebKitCSSMatrixConstructor.h: 11941 * bindings/js/JSWebKitPointConstructor.cpp: 11942 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 11943 * bindings/js/JSWebKitPointConstructor.h: 11944 * bindings/js/JSWorkerConstructor.cpp: 11945 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 11946 * bindings/js/JSWorkerConstructor.h: 11947 * bindings/js/JSXMLHttpRequestConstructor.cpp: 11948 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 11949 * bindings/js/JSXMLHttpRequestConstructor.h: 11950 * bindings/js/JSXSLTProcessorConstructor.cpp: 11951 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 11952 * bindings/js/JSXSLTProcessorConstructor.h: 11953 119542009-07-15 Kai Br�ning <kai@granus.net> 11955 11956 Reviewed by Dave Hyatt. 11957 11958 CSS21 attribute selectors not dynamic for xml. 11959 https://bugs.webkit.org/show_bug.cgi?id=25072 11960 11961 Moved the relevant test in StyledElement::attributeChanged() 11962 to a new function Element::recalcStyleIfNeededAfterAttributeChanged() 11963 so it can be called from both StyledElement::attributeChanged() 11964 and Element::attributeChanged(). 11965 Refactored Element::attributeChanged() into 11966 Element::updateAfterAttributeChanged() and 11967 Element::recalcStyleIfNeededAfterAttributeChanged(), which are called 11968 separately from StyledElement::attributeChanged(). 11969 11970 Test: fast/css/attribute-selector-dynamic.xml 11971 11972 * dom/Element.cpp: 11973 (WebCore::Element::attributeChanged): 11974 (WebCore::Element::updateAfterAttributeChanged): 11975 (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged): 11976 * dom/Element.h: 11977 * dom/StyledElement.cpp: 11978 (WebCore::StyledElement::attributeChanged): 11979 119802009-07-15 Alpha Lam <hclam@chromium.org> 11981 11982 Reviewed by David Levin. 11983 11984 [V8] Layout test failures for drawImage in Canvas 11985 https://bugs.webkit.org/show_bug.cgi?id=27311 11986 11987 Fixing several canvas layout tests failures due to a 11988 missing return statement in CanvasRenderingContext2DDrawImage() which 11989 was accidentally removed in r45929. 11990 11991 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 11992 119932009-07-15 Robert Hogan <robert@roberthogan.net> 11994 11995 Reviewed by Eric Seidel. 11996 11997 https://bugs.webkit.org/show_bug.cgi?id=26969 11998 11999 If the httpMethod() of the request passed to SubresourceLoader::create is not 12000 supported by the client we must expect to call didFail() while m_loader is still null. 12001 12002 * loader/DocumentThreadableLoader.cpp: 12003 (DocumentThreadableLoader::didFail):Changed. 12004 120052009-07-15 Mark Rowe <mrowe@apple.com> 12006 12007 Fix the Mac build. 12008 12009 * WebCore.base.exp: 12010 * css/MediaQueryEvaluator.cpp: 12011 * rendering/SVGRenderTreeAsText.cpp: 12012 * rendering/style/SVGRenderStyle.cpp: 12013 * svg/graphics/SVGPaintServer.cpp: 12014 120152009-07-07 Alpha Lam <hclam@chromium.org> 12016 12017 Reviewed by Dimitri Glazkov. 12018 12019 [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument 12020 https://bugs.webkit.org/show_bug.cgi?id=27170 12021 12022 Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement 12023 as a parameter of drawImage() for HTMLCanvasElement. 12024 12025 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 12026 120272009-07-15 Adam Barth <abarth@webkit.org> 12028 12029 Reviewed by Dimitri Glazkov. 12030 12031 [V8] Fix isolated world constructors 12032 https://bugs.webkit.org/show_bug.cgi?id=27287 12033 12034 Don't enter V8Proxy::m_context before creating DOM constructors. 12035 Instead, use getWrapperContext to get the right context. 12036 12037 After this patch, all my tests pass. I'll enable the feature 12038 downstream and land the tests. 12039 12040 * bindings/scripts/CodeGeneratorV8.pm: 12041 * bindings/v8/V8DOMWrapper.cpp: 12042 (WebCore::V8DOMWrapper::getConstructor): 12043 (WebCore::V8DOMWrapper::lookupDOMWrapper): 12044 * bindings/v8/V8DOMWrapper.h: 12045 * bindings/v8/V8IsolatedWorld.cpp: 12046 (WebCore::V8IsolatedWorld::evaluate): 12047 * bindings/v8/V8Proxy.cpp: 12048 (WebCore::V8Proxy::createWrapperFromCache): 12049 (WebCore::V8Proxy::isContextInitialized): 12050 (WebCore::V8Proxy::disposeContextHandles): 12051 (WebCore::V8Proxy::installDOMWindow): 12052 (WebCore::V8Proxy::initContextIfNeeded): 12053 (WebCore::V8Proxy::getHiddenObjectPrototype): 12054 (WebCore::V8Proxy::installHiddenObjectPrototype): 12055 * bindings/v8/V8Proxy.h: 12056 120572009-07-15 Antonio Gomes <antonio.gomes@openbossa.org> 12058 12059 Reviewed by Darin Adler. 12060 12061 useless null-check statement in visible_units.cpp@logicalStartOfLine 12062 https://bugs.webkit.org/show_bug.cgi?id=27154 12063 12064 Simple fix. 12065 12066 * editing/visible_units.cpp: 12067 (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed. 12068 120692009-07-15 Brady Eidson <beidson@apple.com> 12070 12071 Reviewed by Dan Bernstein. 12072 12073 https://bugs.webkit.org/show_bug.cgi?id=27304 12074 WebKit should provide usage and eligibility information about the page cache. 12075 12076 * WebCore.base.exp: 12077 12078 * history/CachedFrame.cpp: 12079 (WebCore::CachedFrame::childFrameCount): 12080 * history/CachedFrame.h: 12081 12082 * history/PageCache.cpp: 12083 (WebCore::PageCache::frameCount): 12084 (WebCore::PageCache::autoreleasedPageCount): 12085 * history/PageCache.h: 12086 (WebCore::PageCache::pageCount): 12087 120882009-07-15 Shinichiro Hamaji <hamaji@chromium.org> 12089 12090 Reviewed by David Levin. 12091 12092 Chromium's canvas forgets its context after fillText again 12093 https://bugs.webkit.org/show_bug.cgi?id=27293 12094 12095 No new tests because the test for this was already added in 12096 https://bugs.webkit.org/show_bug.cgi?id=26436 12097 12098 * platform/graphics/chromium/TransparencyWin.cpp: 12099 (WebCore::TransparencyWin::compositeTextComposite): 12100 121012009-07-14 David Hyatt <hyatt@apple.com> 12102 12103 Reviewed by Simon Fraser. 12104 12105 https://bugs.webkit.org/show_bug.cgi?id=27283 12106 12107 Implement the new 'rem' unit from CSS3. 12108 12109 Added some rem-* tests in fast/css. 12110 12111 * css/CSSGrammar.y: 12112 * css/CSSParser.cpp: 12113 (WebCore::CSSParser::validUnit): 12114 (WebCore::unitFromString): 12115 (WebCore::CSSParser::parseValue): 12116 (WebCore::CSSParser::lex): 12117 * css/CSSParserValues.cpp: 12118 (WebCore::CSSParserValue::createCSSValue): 12119 * css/CSSPrimitiveValue.cpp: 12120 (WebCore::CSSPrimitiveValue::computeLengthInt): 12121 (WebCore::CSSPrimitiveValue::computeLengthIntForLength): 12122 (WebCore::CSSPrimitiveValue::computeLengthShort): 12123 (WebCore::CSSPrimitiveValue::computeLengthFloat): 12124 (WebCore::CSSPrimitiveValue::computeLengthDouble): 12125 (WebCore::CSSPrimitiveValue::cssText): 12126 (WebCore::CSSPrimitiveValue::parserValue): 12127 * css/CSSPrimitiveValue.h: 12128 (WebCore::CSSPrimitiveValue::): 12129 (WebCore::CSSPrimitiveValue::isUnitTypeLength): 12130 * css/CSSStyleSelector.cpp: 12131 (WebCore::CSSStyleSelector::initForStyleResolve): 12132 (WebCore::convertToLength): 12133 (WebCore::CSSStyleSelector::applyProperty): 12134 (WebCore::CSSStyleSelector::mapFillSize): 12135 (WebCore::CSSStyleSelector::mapFillXPosition): 12136 (WebCore::CSSStyleSelector::mapFillYPosition): 12137 (WebCore::CSSStyleSelector::createTransformOperations): 12138 * css/CSSStyleSelector.h: 12139 * css/MediaQueryEvaluator.cpp: 12140 (WebCore::device_heightMediaFeatureEval): 12141 (WebCore::device_widthMediaFeatureEval): 12142 (WebCore::heightMediaFeatureEval): 12143 (WebCore::widthMediaFeatureEval): 12144 * css/WebKitCSSMatrix.cpp: 12145 (WebCore::WebKitCSSMatrix::setMatrixValue): 12146 * css/tokenizer.flex: 12147 * dom/Document.cpp: 12148 (WebCore::Document::Document): 12149 * dom/Document.h: 12150 (WebCore::Document::usesRemUnits): 12151 (WebCore::Document::setUsesRemUnits): 12152 * dom/Element.cpp: 12153 (WebCore::Element::recalcStyle): 12154 * rendering/SVGRenderTreeAsText.cpp: 12155 (WebCore::writeStyle): 12156 * rendering/style/SVGRenderStyle.cpp: 12157 (WebCore::SVGRenderStyle::cssPrimitiveToLength): 12158 * svg/graphics/SVGPaintServer.cpp: 12159 (WebCore::applyStrokeStyleToContext): 12160 (WebCore::dashArrayFromRenderingStyle): 12161 * svg/graphics/SVGPaintServer.h: 12162 121632009-07-15 Dimitri Glazkov <dglazkov@chromium.org> 12164 12165 Unreviewed, build fix. 12166 12167 Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884. 12168 12169 * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier. 12170 121712009-07-15 Dimitri Glazkov <dglazkov@chromium.org> 12172 12173 Reviewed by Darin Fisher. 12174 12175 [V8] Update bindings for ValiditeState patch. 12176 https://bugs.webkit.org/show_bug.cgi?id=19562 12177 12178 * bindings/v8/DOMObjectsInclude.h: 12179 * bindings/v8/DerivedSourcesAllInOne.cpp: 12180 * bindings/v8/V8Index.cpp: 12181 * bindings/v8/V8Index.h: 12182 121832009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com> 12184 12185 Reviewed by Simon Hausmann. 12186 12187 [Qt] Cleanup - Remove obsolete code from the make system 12188 https://bugs.webkit.org/show_bug.cgi?id=27299 12189 12190 * WebCore.pro: 12191 121922009-07-15 Simon Hausmann <simon.hausmann@nokia.com> 12193 12194 Reviewed by Ariya Hidayat. 12195 12196 Fix the build without media elements. 12197 12198 * rendering/HitTestResult.cpp: 12199 (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO) 12200 markers around the body of the method. 12201 122022009-07-14 Pavel Feldman <pfeldman@chromium.org> 12203 12204 Reviewed by Timothy Hatcher. 12205 12206 WebInspector: Move storeLastActivePanel out of the 12207 ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL; 12208 Add default panel for the first opening of the 12209 WebInspector. 12210 12211 https://bugs.webkit.org/show_bug.cgi?id=27263 12212 12213 * inspector/InspectorController.cpp: 12214 (InspectorController::setWindowVisible): 12215 * inspector/InspectorController.idl: 12216 122172009-07-14 Darin Adler <darin@apple.com> 12218 12219 Try to fix Windows build. 12220 12221 * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support. 12222 122232009-07-14 Pierre d'Herbemont <pdherbemont@apple.com> 12224 12225 Reviewed by Oliver Hunt. 12226 12227 HTMLMediaElement::supportsFullscreen() should return false 12228 https://bugs.webkit.org/show_bug.cgi?id=27284 12229 12230 (Reverting a part of 45875) 12231 12232 HTMLVideoElement::supportsFullscreen() will properly do the 12233 job, and check if the backend supports fullscreen. 12234 12235 HTMLVideoElement is the only subclass to support fullscreen 12236 (conditionnaly). HTMLAudioElement fullscreen is not supported 12237 and is a different kind of fullscreen, if it comes to be wanted. 12238 12239 No test can be done currently given that none of the media 12240 backends support fullscreen. 12241 12242 * html/HTMLMediaElement.cpp: 12243 * html/HTMLMediaElement.h: 12244 (WebCore::HTMLMediaElement::supportsFullscreen): 12245 122462009-07-14 Darin Adler <darin@apple.com> 12247 12248 Reviewed by Dimitri Glazkov. 12249 12250 Next step in making DOM attribute getter/setters consistently use AtomicString 12251 https://bugs.webkit.org/show_bug.cgi?id=25425 12252 12253 This covers eight DOM classes, and for each one of the classes: 12254 12255 - Changes the IDL to use the Reflect syntax for all simple cases. 12256 - Removes unused functions in the classes, mainly newly unused ones that were 12257 used for reflection before. 12258 - Removes unneeded explicitly defined destructors. 12259 - Explicitly declares destructors as virtual. 12260 - Removes unneeded includes. 12261 - Makes members protected or private rather than public where possible. 12262 - Renames "doc" to "document". 12263 - Tweaks formatting to match our latest style in a few places. 12264 - Improves some FIXME comments. 12265 12266 Over time we'll want to do this for all HTML DOM classes. 12267 12268 * html/HTMLAnchorElement.cpp: 12269 (WebCore::HTMLAnchorElement::HTMLAnchorElement): 12270 * html/HTMLAnchorElement.h: 12271 (WebCore::HTMLAnchorElement::endTagRequirement): 12272 (WebCore::HTMLAnchorElement::tagPriority): 12273 * html/HTMLAnchorElement.idl: 12274 * html/HTMLAppletElement.cpp: 12275 * html/HTMLAppletElement.h: 12276 * html/HTMLAppletElement.idl: 12277 * html/HTMLAreaElement.cpp: 12278 (WebCore::HTMLAreaElement::parseMappedAttribute): 12279 * html/HTMLAreaElement.h: 12280 (WebCore::HTMLAreaElement::endTagRequirement): 12281 (WebCore::HTMLAreaElement::tagPriority): 12282 * html/HTMLAreaElement.idl: 12283 * html/HTMLBRElement.cpp: 12284 (WebCore::HTMLBRElement::parseMappedAttribute): 12285 * html/HTMLBRElement.h: 12286 * html/HTMLBRElement.idl: 12287 * html/HTMLBaseElement.cpp: 12288 (WebCore::HTMLBaseElement::HTMLBaseElement): 12289 (WebCore::HTMLBaseElement::removedFromDocument): 12290 (WebCore::HTMLBaseElement::process): 12291 * html/HTMLBaseElement.h: 12292 * html/HTMLBaseElement.idl: 12293 * html/HTMLBaseFontElement.cpp: 12294 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement): 12295 * html/HTMLBaseFontElement.h: 12296 (WebCore::HTMLBaseFontElement::endTagRequirement): 12297 (WebCore::HTMLBaseFontElement::tagPriority): 12298 * html/HTMLBaseFontElement.idl: 12299 * html/HTMLBlockquoteElement.cpp: 12300 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement): 12301 * html/HTMLBlockquoteElement.h: 12302 (WebCore::HTMLBlockquoteElement::tagPriority): 12303 * html/HTMLBlockquoteElement.idl: 12304 * html/HTMLBodyElement.cpp: 12305 (WebCore::HTMLBodyElement::HTMLBodyElement): 12306 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): 12307 * html/HTMLBodyElement.h: 12308 (WebCore::HTMLBodyElement::endTagRequirement): 12309 (WebCore::HTMLBodyElement::tagPriority): 12310 * html/HTMLBodyElement.idl: 12311 Made changes as described above. 12312 12313 * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h. 12314 123152009-07-14 Steve Falkenburg <sfalken@apple.com> 12316 12317 Reorganize JavaScriptCore headers into: 12318 API: include/JavaScriptCore/ 12319 Private: include/private/JavaScriptCore/ 12320 12321 Reviewed by Darin Adler. 12322 12323 * WebCore.vcproj/QTMovieWin.vcproj: 12324 * WebCore.vcproj/WebCoreCommon.vsprops: 12325 * WebCore.vcproj/build-generated-files.sh: 12326 123272009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu> 12328 12329 Reviewed by Darin Adler. 12330 12331 Change all Noncopyable inheriting visibility to public. 12332 https://bugs.webkit.org/show_bug.cgi?id=27225 12333 12334 Change all Noncopyable inheriting visibility to public because 12335 it is needed to the custom allocation framework (bug #20422). 12336 12337 * bindings/js/GCController.h: 12338 * bindings/js/WorkerScriptController.h: 12339 * bindings/v8/V8DOMMap.cpp: 12340 (WebCore::): 12341 * bridge/runtime.h: 12342 * css/CSSSelector.h: 12343 * css/CSSSelectorList.h: 12344 * css/CSSStyleSelector.h: 12345 * dom/ClassNames.h: 12346 * dom/MessagePortChannel.h: 12347 * dom/XMLTokenizerLibxml2.cpp: 12348 * dom/XMLTokenizerScope.h: 12349 * editing/ReplaceSelectionCommand.cpp: 12350 * editing/SelectionController.h: 12351 * editing/TextIterator.cpp: 12352 * history/PageCache.h: 12353 * html/CanvasRenderingContext2D.h: 12354 * html/HTMLParser.h: 12355 * html/HTMLParserQuirks.h: 12356 * html/PreloadScanner.h: 12357 * loader/Cache.h: 12358 * loader/CrossOriginPreflightResultCache.h: 12359 * loader/FrameLoader.h: 12360 * loader/ProgressTracker.h: 12361 * loader/ThreadableLoader.h: 12362 * loader/appcache/ApplicationCacheGroup.h: 12363 * loader/archive/ArchiveResourceCollection.h: 12364 * loader/icon/IconDatabase.h: 12365 * loader/icon/IconLoader.h: 12366 * loader/icon/PageURLRecord.h: 12367 * loader/loader.h: 12368 * page/ContextMenuController.h: 12369 * page/EventHandler.h: 12370 * page/FrameTree.h: 12371 * page/Page.h: 12372 * page/PageGroup.h: 12373 * page/PageGroupLoadDeferrer.h: 12374 * page/mac/EventHandlerMac.mm: 12375 * platform/AutodrainedPool.h: 12376 * platform/ContextMenu.h: 12377 * platform/EventLoop.h: 12378 * platform/HostWindow.h: 12379 * platform/Pasteboard.h: 12380 * platform/PurgeableBuffer.h: 12381 * platform/RunLoopTimer.h: 12382 * platform/ThreadGlobalData.h: 12383 * platform/ThreadTimers.h: 12384 * platform/Timer.h: 12385 * platform/TreeShared.h: 12386 * platform/graphics/FontData.h: 12387 * platform/graphics/GlyphWidthMap.h: 12388 * platform/graphics/GraphicsContext.h: 12389 * platform/graphics/ImageBuffer.h: 12390 * platform/graphics/ImageSource.h: 12391 * platform/graphics/MediaPlayer.h: 12392 * platform/graphics/skia/GraphicsContextPlatformPrivate.h: 12393 * platform/graphics/skia/PlatformContextSkia.h: 12394 * platform/graphics/win/QTMovieWin.cpp: 12395 * platform/mac/LocalCurrentGraphicsContext.h: 12396 * platform/network/FormDataBuilder.h: 12397 * platform/network/ResourceHandleInternal.h: 12398 * platform/network/soup/ResourceHandleSoup.cpp: 12399 * platform/text/StringBuffer.h: 12400 * platform/text/TextCodec.h: 12401 * platform/win/WindowMessageBroadcaster.h: 12402 * rendering/CounterNode.h: 12403 * rendering/LayoutState.h: 12404 * rendering/RenderFrameSet.h: 12405 * rendering/RenderView.h: 12406 * rendering/TransformState.h: 12407 * svg/SVGAnimatedProperty.h: 12408 * svg/SynchronizableTypeWrapper.h: 12409 * workers/WorkerMessagingProxy.h: 12410 * workers/WorkerRunLoop.cpp: 12411 * xml/XPathExpressionNode.h: 12412 * xml/XPathParser.h: 12413 * xml/XPathPredicate.h: 12414 * xml/XPathStep.h: 12415 124162009-07-14 Darin Fisher <darin@chromium.org> 12417 12418 Reviewed by Darin Adler. 12419 12420 Fails to save document state when navigating away from a page with a 12421 reference fragment. 12422 https://bugs.webkit.org/show_bug.cgi?id=27281 12423 12424 Test: fast/history/saves-state-after-fragment-nav.html 12425 12426 * history/HistoryItem.cpp: 12427 (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef 12428 to compare URLs. 12429 124302009-07-14 Joseph Pecoraro <joepeck02@gmail.com> 12431 12432 Reviewed by Sam Weinig. 12433 12434 Inspector: Remove Unintended Global Variables 12435 https://bugs.webkit.org/show_bug.cgi?id=27203 12436 12437 * inspector/front-end/Console.js: 12438 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): 12439 * inspector/front-end/DatabasesPanel.js: 12440 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): 12441 * inspector/front-end/ObjectPropertiesSection.js: 12442 (WebInspector.ObjectPropertyTreeElement.prototype.update): 12443 * inspector/front-end/inspector.js: 12444 (WebInspector.animateStyle): 12445 124462009-07-14 Michelangelo De Simone <micdesim@gmail.com> 12447 12448 Reviewed by Adele Peterson. 12449 12450 https://bugs.webkit.org/show_bug.cgi?id=19562 12451 Added build stuff and stub for the ValidityState class, part of HTML5 12452 section Forms: 12453 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate 12454 12455 Test: fast/forms/ValidityState-001.html 12456 12457 * DerivedSources.cpp: Inclusion of ValidityState files 12458 * DerivedSources.make: ditto 12459 * GNUmakefile.am: ditto 12460 * WebCore.gypi: ditto 12461 * WebCore.pro: ditto 12462 * WebCore.vcproj/WebCore.vcproj: ditto 12463 * WebCore.xcodeproj/project.pbxproj: ditto 12464 * WebCoreSources.bkl: ditto 12465 * html/HTMLButtonElement.idl: validity attribute 12466 * html/HTMLFieldSetElement.idl: ditto 12467 * html/HTMLFormControlElement.cpp: 12468 (WebCore::HTMLFormControlElement::validity): ValidityState getter 12469 * html/HTMLFormControlElement.h: ditto 12470 * html/HTMLInputElement.idl: validity attribute 12471 * html/HTMLSelectElement.idl: ditto 12472 * html/HTMLTextAreaElement.idl: ditto 12473 * html/ValidityState.cpp: Added. 12474 (WebCore::ValidityState::ValidityState): 12475 (WebCore::ValidityState::valid): validation flag 12476 * html/ValidityState.h: Added. 12477 (WebCore::ValidityState::create): validation flag 12478 (WebCore::ValidityState::control): ditto 12479 (WebCore::ValidityState::valueMissing): ditto 12480 (WebCore::ValidityState::typeMismatch): ditto 12481 (WebCore::ValidityState::patternMismatch): ditto 12482 (WebCore::ValidityState::tooLong): ditto 12483 (WebCore::ValidityState::rangeUnderflow): ditto 12484 (WebCore::ValidityState::rangeOverflow): ditto 12485 (WebCore::ValidityState::stepMismatch): ditto 12486 (WebCore::ValidityState::customError): ditto 12487 * html/ValidityState.idl: Added. 12488 124892009-07-14 Ryosuke Niwa <rniwa@google.com> 12490 12491 Reviewed by Eric Seidel. 12492 12493 Outdenting a line inside a blockquote tag does nothing 12494 https://bugs.webkit.org/show_bug.cgi?id=25316 12495 12496 The bug was caused by the code checking whether the blockquote is created by WebKit or not. 12497 We simply remove this code to be consistent with Firefox and Internet Explorer. 12498 Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert 12499 the placeholder before the enclosingNode because there could be contents before the current paragraph. 12500 Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation. 12501 It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315 12502 12503 Test: editing/execCommand/outdent-regular-blockquote.html 12504 12505 * editing/IndentOutdentCommand.cpp: 12506 (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not. 12507 (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode 12508 125092009-07-14 Adam Barth <abarth@webkit.org> 12510 12511 Reviewed by Dimitri Glazkov. 12512 12513 [V8] Fix isolated world wrappers for Node prototypes 12514 https://bugs.webkit.org/show_bug.cgi?id=27277 12515 12516 This change does two things: 12517 12518 1) We bypass the wrapper cache in the isolated world. This is because 12519 the wrapper template cache has prototypes that lead to the main 12520 world. We can add a template cache for the isolated world if 12521 performance warrants. 12522 12523 2) We introduce a smarter way to grab the wrapper context for a frame 12524 that is aware that proxy <-> context do not stand in one-to-one 12525 correspondence. This generalizes our solution for the node wrapper 12526 case to prototypes. 12527 12528 The net result is that Node wrappers get the right prototypes. As 12529 before, tests to follow. 12530 12531 * bindings/v8/V8DOMWrapper.cpp: 12532 (WebCore::V8DOMWrapper::setHiddenWindowReference): 12533 (WebCore::V8DOMWrapper::instantiateV8Object): 12534 (WebCore::V8DOMWrapper::convertNodeToV8Object): 12535 (WebCore::V8DOMWrapper::convertWindowToV8Object): 12536 (WebCore::V8DOMWrapper::getWrapperContext): 12537 * bindings/v8/V8DOMWrapper.h: 12538 125392009-07-14 Adam Barth <abarth@webkit.org> 12540 12541 Reviewed by Dimitri Glazkov. 12542 12543 [V8] Fix isolated world wrappers for Nodes 12544 https://bugs.webkit.org/show_bug.cgi?id=27271 12545 12546 Previously, we keepy a pointer to the DOMMap on V8Proxy, but this 12547 caused us to miss the branch in V8DOMMap.cpp for isolated worlds. 12548 12549 I have tests, but I can't land them until I get this feature under 12550 control. 12551 12552 * bindings/v8/V8DOMWrapper.cpp: 12553 (WebCore::V8DOMWrapper::convertNodeToV8Object): 12554 * bindings/v8/V8Proxy.h: 12555 (WebCore::V8Proxy::V8Proxy): 12556 125572009-07-14 Adam Barth <abarth@webkit.org> 12558 12559 Reviewed by Dimitri Glazkov. 12560 12561 [V8] Fix isolated world crash on getting window.location 12562 https://bugs.webkit.org/show_bug.cgi?id=27268 12563 12564 I have a test for this locally, but it requires a compile-time hack to 12565 run. Once I get the feature's stability under control, we can turn the 12566 feature on and add the tests. 12567 12568 * bindings/v8/V8DOMWrapper.cpp: 12569 (WebCore::V8DOMWrapper::setHiddenWindowReference): 12570 * bindings/v8/V8IsolatedWorld.h: 12571 (WebCore::V8IsolatedWorld::context): 12572 125732009-07-14 Brent Fulgham <bfulgham@webkit.org> 12574 12575 Correct failing tests after r45875. The original patch did not 12576 test the m_player member for null, causing crashes. This will 12577 happen fairly frequently in real use. Was this original patch 12578 ever tested? 12579 https://bugs.webkit.org/show_bug.cgi?id=27246 12580 12581 Test via existing media tests. 12582 12583 * html/HTMLMediaElement.cpp: 12584 (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer. 12585 (WebCore::HTMLMediaElement::supportsSave): Check for null pointer. 12586 125872009-07-14 Avi Drissman <avi@chromium.org> 12588 12589 Reviewed by Darin Fisher. 12590 12591 Explicitly mark the HTML generated for the Mac as being UTF-8 encoded. 12592 The Windows clipboard format is explicitly documented as being UTF-8, 12593 and all Linux apps assume UTF-8. On the Mac, though, unless otherwise 12594 indicated, Windows-1252 is assumed, which is wrong. 12595 12596 Bug: https://bugs.webkit.org/show_bug.cgi?id=27262 12597 12598 No new tests. 12599 12600 * platform/chromium/ClipboardChromium.cpp: 12601 (WebCore::ClipboardChromium::writeRange): 12602 * platform/chromium/PasteboardChromium.cpp: 12603 (WebCore::Pasteboard::writeSelection): 12604 126052009-07-14 Albert J. Wong <ajwong@chromium.org> 12606 12607 Reviewed by Dimitri Glazkov. 12608 12609 Upstream V8NPObject.h and V8NPObject.cpp. 12610 https://bugs.webkit.org/show_bug.cgi?id=27103 12611 12612 This just upstreams the files from the chromium code base. Only 12613 minor changes to formatting and similar were done, so no testing 12614 is required because nothing really changed. Code verified to compile. 12615 12616 * bindings/v8/ScriptController.cpp: 12617 (WebCore::ScriptController::bindToWindowObject): 12618 (WebCore::ScriptController::createScriptInstanceForWidget): 12619 * bindings/v8/V8NPObject.cpp: Added. 12620 (npObjectInvokeImpl): 12621 (npObjectMethodHandler): 12622 (npObjectInvokeDefaultHandler): 12623 (weakTemplateCallback): 12624 (npObjectGetProperty): 12625 (npObjectNamedPropertyGetter): 12626 (npObjectIndexedPropertyGetter): 12627 (npObjectGetNamedProperty): 12628 (npObjectGetIndexedProperty): 12629 (npObjectSetProperty): 12630 (npObjectNamedPropertySetter): 12631 (npObjectIndexedPropertySetter): 12632 (npObjectSetNamedProperty): 12633 (npObjectSetIndexedProperty): 12634 (weakNPObjectCallback): 12635 (createV8ObjectForNPObject): 12636 (forgetV8ObjectForNPObject): 12637 * bindings/v8/V8NPObject.h: Added. 12638 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 12639 (WebCore::NAMED_PROPERTY_GETTER): 12640 (WebCore::NAMED_PROPERTY_SETTER): 12641 (WebCore::CALLBACK_FUNC_DECL): 12642 (WebCore::INDEXED_PROPERTY_GETTER): 12643 (WebCore::INDEXED_PROPERTY_SETTER): 12644 12645 126462009-07-14 Albert J. Wong <ajwong@chromium.org> 12647 12648 Reviewed by Darin Adler. 12649 12650 Add HTMLMediaElement::supportSave() and a 12651 HitTestResult::absoluteMediaURL() functions 12652 https://bugs.webkit.org/show_bug.cgi?id=27246 12653 12654 Added an implementation of supportsSave() into HTMLMediaElement 12655 that delegates to MediaPlayerPrivateImpl so that the media engine 12656 is able to signal whether or not a media source supports saving. 12657 12658 Also added a function to HitTestResult that allows for retrieval 12659 of the currentSrc associated with the "hit" media element. 12660 12661 These functions are just pipeing with no visible UI change so there 12662 are no related layout test changes. 12663 12664 * html/HTMLMediaElement.cpp: 12665 (WebCore::HTMLMediaElement::supportsFullscreen): 12666 (WebCore::HTMLMediaElement::supportsSave): 12667 * html/HTMLMediaElement.h: 12668 * platform/graphics/MediaPlayer.cpp: 12669 (WebCore::MediaPlayer::supportsSave): 12670 * platform/graphics/MediaPlayer.h: 12671 * platform/graphics/MediaPlayerPrivate.h: 12672 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): 12673 (WebCore::MediaPlayerPrivateInterface::supportsSave): 12674 * rendering/HitTestResult.cpp: 12675 (WebCore::HitTestResult::altDisplayString): 12676 (WebCore::HitTestResult::absoluteMediaURL): 12677 * rendering/HitTestResult.h: 12678 126792009-07-14 Dimitri Glazkov <dglazkov@chromium.org> 12680 12681 Reviewed by Adam Barth. 12682 12683 [V8] Implement Reflect and ReflectURL attribute support. 12684 https://bugs.webkit.org/show_bug.cgi?id=27273 12685 12686 * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes. 12687 126882009-07-14 Dmitry Titov <dimich@chromium.org> 12689 12690 Reviewed by Darin Adler. 12691 12692 https://bugs.webkit.org/show_bug.cgi?id=27266 12693 Add hasCurrentPoint() to WebCore::Path. 12694 This fixes Skia-based Chromium regression caused by the fix for 12695 https://bugs.webkit.org/show_bug.cgi?id=27187. 12696 For Skia, the new method always returns 'true', pending actual implementation. 12697 This means Chromium still will differ from Gecko behavior, but at least its Canvas 12698 will not be completely broken. 12699 12700 Existing Canvas Layout Tests should pass in Chromium after this change. 12701 12702 * html/CanvasRenderingContext2D.cpp: 12703 (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint(). 12704 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto. 12705 (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto. 12706 12707 * platform/graphics/Path.h: 12708 * platform/graphics/cairo/PathCairo.cpp: 12709 (WebCore::Path::hasCurrentPoint): 12710 * platform/graphics/cg/PathCG.cpp: 12711 (WebCore::Path::isEmpty): 12712 (WebCore::Path::hasCurrentPoint): 12713 * platform/graphics/qt/PathQt.cpp: 12714 (WebCore::Path::hasCurrentPoint): 12715 * platform/graphics/skia/PathSkia.cpp: 12716 (WebCore::Path::hasCurrentPoint): 12717 * platform/graphics/wx/PathWx.cpp: 12718 (WebCore::Path::hasCurrentPoint): 12719 All these files add a Path::hasCurrentPoint() for various platforms. 12720 127212009-07-14 Nate Chapin <japhet@chromium.org> 12722 12723 Reviewed by Sam Weinig. 12724 12725 Upstream RGBColor from src.chromium.org. 12726 12727 https://bugs.webkit.org/show_bug.cgi?id=27133 12728 12729 * WebCore.gypi: Add RGBColor 12730 * css/RGBColor.cpp: Added. 12731 (WebCore::RGBColor::create): 12732 (WebCore::RGBColor::red): 12733 (WebCore::RGBColor::green): 12734 (WebCore::RGBColor::blue): 12735 * css/RGBColor.h: Added. 12736 (WebCore::RGBColor::RGBColor): 12737 127382009-07-10 Matt Perry <mpcomplete@chromium.org> 12739 12740 Reviewed by Darin Fisher. 12741 12742 [V8] Rename the didCreate/DestroyScriptContext calls to make it 12743 clear that that those refer to the frame's contxt. Add another 12744 similar call for when creating contexts via evaluateInNewContext. 12745 https://bugs.webkit.org/show_bug.cgi?id=27104 12746 12747 * bindings/v8/V8Proxy.cpp: 12748 (WebCore::V8Proxy::evaluateInNewContext): 12749 (WebCore::V8Proxy::disposeContextHandles): 12750 (WebCore::V8Proxy::initContextIfNeeded): 12751 * loader/EmptyClients.h: 12752 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame): 12753 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame): 12754 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext): 12755 * loader/FrameLoaderClient.h: 12756 127572009-07-14 Brent Fulgham <bfulgham@webkit.org> 12758 12759 Revert http://trac.webkit.org/changeset/45864 after 12760 breaking of Windows build. 12761 12762 * storage/LocalStorageTask.cpp: 12763 * storage/LocalStorageTask.h: 12764 * storage/Storage.cpp: 12765 * storage/Storage.h: 12766 * storage/StorageArea.cpp: 12767 * storage/StorageArea.h: 12768 * storage/StorageAreaImpl.cpp: 12769 * storage/StorageAreaImpl.h: 12770 * storage/StorageAreaSync.cpp: 12771 * storage/StorageAreaSync.h: 12772 * storage/StorageEvent.cpp: 12773 * storage/StorageEvent.h: 12774 (WebCore::StorageEvent::create): 12775 (WebCore::StorageEvent::StorageEvent): 12776 * storage/StorageNamespace.h: 12777 * storage/StorageNamespaceImpl.cpp: 12778 * storage/StorageNamespaceImpl.h: 12779 * storage/StorageSyncManager.cpp: 12780 * storage/StorageSyncManager.h: 12781 127822009-07-11 Jeremy Orlow <jorlow@chromium.org> 12783 12784 Reviewed by Darin Adler. 12785 12786 Cleanup DOM Storage dependencies. 12787 https://bugs.webkit.org/show_bug.cgi?id=27180 12788 12789 DOM Storage had several unnecessary (and probably unintended) 12790 dependencies. This patch replaces many includes of header files with 12791 forward declaration of classes, making some destructors explicit, and 12792 taking some factories out of the header files. 12793 12794 This will allow things like StorageAreaSync to take a StorageAreaImpl* 12795 (as it should) rather than a StorageArea* which previously weren't 12796 possible because the dependencies were such a tangled mess. 12797 12798 * storage/LocalStorageTask.cpp: 12799 (WebCore::LocalStorageTask::~LocalStorageTask): 12800 * storage/LocalStorageTask.h: 12801 * storage/Storage.cpp: 12802 (WebCore::Storage::~Storage): 12803 * storage/Storage.h: 12804 * storage/StorageArea.cpp: 12805 * storage/StorageArea.h: 12806 * storage/StorageAreaImpl.cpp: 12807 * storage/StorageAreaImpl.h: 12808 * storage/StorageAreaSync.cpp: 12809 (WebCore::StorageAreaSync::~StorageAreaSync): 12810 * storage/StorageAreaSync.h: 12811 * storage/StorageEvent.cpp: 12812 (WebCore::StorageEvent::create): 12813 (WebCore::StorageEvent::StorageEvent): 12814 * storage/StorageEvent.h: 12815 * storage/StorageNamespace.h: 12816 * storage/StorageNamespaceImpl.cpp: 12817 * storage/StorageNamespaceImpl.h: 12818 * storage/StorageSyncManager.cpp: 12819 (WebCore::StorageSyncManager::~StorageSyncManager): 12820 * storage/StorageSyncManager.h: 12821 12822 128232009-07-14 Adam Treat <adam.treat@torchmobile.com> 12824 12825 Reviewed by David Hyatt. 12826 12827 https://bugs.webkit.org/show_bug.cgi?id=26983 12828 12829 Check to make sure the view is attached to a frame() in the visibleContentsResized() 12830 method as it can be triggered before the view is attached by Frame::createView(...) 12831 setting various values such as setScrollBarModes(...) for example. An ASSERT is 12832 triggered when a view is layout before being attached to a frame(). 12833 12834 * page/FrameView.cpp: 12835 (WebCore::FrameView::visibleContentsResized): 12836 * page/FrameView.h: 12837 128382009-07-14 Pavel Feldman <pfeldman@chromium.org> 12839 12840 Reviewed by Timothy Hatcher. 12841 12842 WebInspector: show last opened panel when invoking inspector. 12843 12844 https://bugs.webkit.org/show_bug.cgi?id=27263 12845 12846 * inspector/InspectorController.cpp: 12847 (WebCore::InspectorController::InspectorController): 12848 (WebCore::InspectorController::setWindowVisible): 12849 (WebCore::InspectorController::storeLastActivePanel): 12850 (WebCore::InspectorController::specialPanelForJSName): 12851 * inspector/InspectorController.h: 12852 (WebCore::InspectorController::Setting::Setting): 12853 * inspector/InspectorController.idl: 12854 * inspector/front-end/inspector.js: 12855 (WebInspector.set currentPanel): 12856 (WebInspector.loaded): 12857 128582009-07-14 Anton Muhin <antonm@chromium.org> 12859 12860 Reviewed by Dimitri Glazkov. 12861 12862 Speed up access to NodeList length. 12863 https://bugs.webkit.org/show_bug.cgi?id=27264 12864 12865 That's a minimal alternation of the code. 12866 12867 * bindings/v8/custom/V8NodeListCustom.cpp: 12868 (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use 12869 v8::Integer::New instead of v8::Number::New. 12870 128712009-07-14 Anton Muhin <antonm@chromium.org> 12872 12873 Reviewed by Dimitri Glazkov. 12874 12875 Do not do unnecessary conversions from v8::Handle<v8::Value> to 12876 v8::Handle<v8::Object> and accompanying changes. 12877 https://bugs.webkit.org/show_bug.cgi?id=26953 12878 12879 Three things: 12880 12881 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap, 12882 but are not free (they check for emptiness of handle); 12883 2) inline conversion from wrapper to node; 12884 3) simplify case to an ASSERT. 12885 12886 This is just a refactoring, so no new tests are needed. 12887 12888 * bindings/scripts/CodeGeneratorV8.pm: 12889 * bindings/v8/V8Proxy.cpp: 12890 (WebCore::V8Proxy::evaluateInNewContext): 12891 (WebCore::V8Proxy::convertToSVGPODTypeImpl): 12892 * bindings/v8/V8Proxy.h: 12893 (WebCore::V8Proxy::convertDOMWrapperToNative): 12894 (WebCore::V8Proxy::convertToNativeObject): 12895 (WebCore::V8Proxy::convertToNativeEvent): 12896 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 12897 (WebCore::toCanvasStyle): 12898 (WebCore::CALLBACK_FUNC_DECL): 12899 * bindings/v8/custom/V8CustomBinding.cpp: 12900 (WebCore::V8Custom::GetTargetFrame): 12901 * bindings/v8/custom/V8DOMWindowCustom.cpp: 12902 (WebCore::CALLBACK_FUNC_DECL): 12903 (WebCore::V8Custom::ClearTimeoutImpl): 12904 (WebCore::NAMED_ACCESS_CHECK): 12905 (WebCore::INDEXED_ACCESS_CHECK): 12906 * bindings/v8/custom/V8DocumentCustom.cpp: 12907 (WebCore::CALLBACK_FUNC_DECL): 12908 * bindings/v8/custom/V8LocationCustom.cpp: 12909 (WebCore::CALLBACK_FUNC_DECL): 12910 129112009-07-14 Darin Adler <darin@apple.com> 12912 12913 Reviewed by Dan Bernstein. 12914 12915 Straight quotes should match fancy quotes in in-page search 12916 https://bugs.webkit.org/show_bug.cgi?id=27217 12917 12918 Tests: fast/text/find-quotes.html 12919 12920 * editing/TextIterator.cpp: 12921 (WebCore::foldQuoteMark): Added. 12922 (WebCore::foldQuoteMarks): Added. 12923 (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string. 12924 (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are 12925 added to the search buffer. 12926 12927 * platform/text/CharacterNames.h: Added more quotation mark character names. 12928 Sorted character names with the sort tool. 12929 129302009-07-13 Pavel Feldman <pfeldman@chromium.org> 12931 12932 Reviewed by Timothy Hatcher. 12933 12934 WebInspector: handle debugger shortcuts while on source frame or on 12935 script file selector. 12936 12937 https://bugs.webkit.org/show_bug.cgi?id=27224 12938 12939 * inspector/front-end/ScriptsPanel.js: 12940 (WebInspector.ScriptsPanel): 12941 * inspector/front-end/SourceFrame.js: 12942 (WebInspector.SourceFrame.prototype._loaded): 12943 129442009-07-13 Sam Weinig <sam@webkit.org> 12945 12946 Reviewed by Darin Adler. 12947 12948 Use standard HashCountedSet instead of a hand rolled one 12949 in HTMLDocument. 12950 12951 * html/HTMLDocument.cpp: 12952 (WebCore::addItemToMap): 12953 (WebCore::removeItemFromMap): 12954 * html/HTMLDocument.h: 12955 129562009-07-13 Erik Arvidsson <arv@chromium.org> 12957 12958 Reviewed by Darin Adler and Maciej Stachowiak. 12959 12960 Implement HTML5 draggable 12961 https://bugs.webkit.org/show_bug.cgi?id=26262 12962 12963 This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property 12964 to the CSS properties -webkit-user-drag and -webkit-user-select respectively. 12965 12966 Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute 12967 12968 Test: fast/html/draggable.html 12969 12970 * css/html.css: 12971 * html/HTMLAnchorElement.cpp: 12972 (WebCore::HTMLAnchorElement::draggable): 12973 * html/HTMLAnchorElement.h: 12974 * html/HTMLAttributeNames.in: 12975 * html/HTMLElement.cpp: 12976 (WebCore::HTMLElement::draggable): 12977 (WebCore::HTMLElement::setDraggable): 12978 * html/HTMLElement.h: 12979 * html/HTMLElement.idl: 12980 * html/HTMLImageElement.cpp: 12981 (WebCore::HTMLImageElement::draggable): 12982 * html/HTMLImageElement.h: 12983 129842009-07-13 Simon Fraser <simon.fraser@apple.com> 12985 12986 Reviewed by Dan Bernstein. 12987 12988 Image rendered as layer contents looks different from image rendered via CG. 12989 <rdar://problem/7048830> 12990 12991 Fix a visible color profile difference between between images rendered via Core Graphics 12992 and those rendered via a compositing layer, by assigning the GenericRGB profile to 12993 untagged images (which come through as having the DeviceRGB profile) when they are set 12994 as layer contents. 12995 12996 Test: compositing/color-matching/image-color-matching.html 12997 12998 * platform/graphics/mac/GraphicsLayerCA.mm: 12999 (WebCore::GraphicsLayerCA::setContentsToImage): 13000 130012009-07-13 Darin Adler <darin@apple.com> 13002 13003 Reviewed by Oliver Hunt. 13004 13005 https://bugs.webkit.org/show_bug.cgi?id=27220 13006 Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING) 13007 13008 * editing/TextIterator.cpp: 13009 (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code 13010 in the assertion. Affects only the assertion. 13011 130122009-07-13 Alexey Proskuryakov <ap@webkit.org> 13013 13014 Reviewed by Darin Adler. 13015 13016 https://bugs.webkit.org/show_bug.cgi?id=26925 13017 <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads 13018 13019 Test: http/tests/appcache/main-resource-hash.html 13020 13021 * loader/appcache/ApplicationCache.cpp: 13022 (WebCore::ApplicationCache::resourceForURL): 13023 (WebCore::ApplicationCache::resourceForRequest): 13024 * loader/appcache/ApplicationCacheGroup.cpp: 13025 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 13026 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): 13027 (WebCore::ApplicationCacheGroup::selectCache): 13028 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 13029 (WebCore::ApplicationCacheGroup::didReceiveResponse): 13030 (WebCore::ApplicationCacheGroup::didFail): 13031 (WebCore::ApplicationCacheGroup::addEntry): 13032 Remove URL fragment at appcache code borders. 13033 13034 * loader/appcache/ApplicationCacheResource.h: 13035 (WebCore::ApplicationCacheResource::create): 13036 * loader/appcache/ApplicationCacheStorage.cpp: 13037 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 13038 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 13039 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 13040 Assert that there is no URL fragment in URL at key points in appcache code. 13041 130422009-07-13 Darin Adler <darin@apple.com> 13043 13044 Reviewed by Dan Bernstein. 13045 13046 https://bugs.webkit.org/show_bug.cgi?id=27166 13047 rdar://problem/7015857 13048 Find for strings composed entirely of spaces doesn't work 13049 13050 Test: fast/text/find-spaces.html 13051 13052 * editing/TextIterator.cpp: 13053 (WebCore::findPlainText): Removed unneeded special case. 13054 The empty string case already works correctly. 13055 130562009-07-13 Anders Carlsson <andersca@apple.com> 13057 13058 Reviewed by Kevin Decker. 13059 13060 Remove NPPVpluginPrivateModeBool, it was removed from the spec. 13061 13062 * bridge/npapi.h: 13063 130642009-07-13 Feng Qian <feng@chromium.org> 13065 13066 Reviewed by Dimitri Glazkov. 13067 13068 Fix for https://bugs.webkit.org/show_bug.cgi?id=27237 13069 13070 Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor. 13071 13072 * bindings/v8/V8DOMMap.h: 13073 (WebCore::WeakReferenceMap::WeakReferenceMap): 13074 (WebCore::WeakReferenceMap::~WeakReferenceMap): 13075 130762009-07-13 Dimitri Glazkov <dglazkov@chromium.org> 13077 13078 Reviewed by Darin Fisher. 13079 13080 Remove an accidental add of bidi.(cpp|h) to WebCore.gypi. 13081 13082 * WebCore.gypi: Removed bidi.cpp and bidi.h 13083 130842009-07-13 Dimitri Glazkov <dglazkov@chromium.org> 13085 13086 Reviewed by Darin Fisher. 13087 13088 Update WebCore.gyp in preparation to hooking it up. 13089 13090 * WebCore.gypi: Added files that were mid-stream while switching over. 13091 130922009-07-13 Dmitry Titov <dimich@chromium.org> 13093 13094 Not reviewed, another small fix for Chromium build. 13095 13096 * bindings/v8/ScriptController.cpp: 13097 (WebCore::ScriptController::evaluate): 13098 130992009-07-13 Dmitry Titov <dimich@chromium.org> 13100 13101 Not reviewed, fix Chromium build bustage. 13102 13103 * bindings/v8/ScriptController.cpp: 13104 (WebCore::ScriptController::evaluate): 13105 * bindings/v8/V8Proxy.cpp: 13106 (WebCore::JavaScriptConsoleMessage::addToPage): 13107 * bindings/v8/WorkerContextExecutionProxy.cpp: 13108 (WebCore::handleConsoleMessage): 13109 131102009-07-13 Sam Weinig <sam@webkit.org> 13111 13112 Reviewed by Darin Adler. 13113 13114 Fix for https://bugs.webkit.org/show_bug.cgi?id=27234 13115 <rdar://problem/7054356> 13116 13117 Add null page check in HTMLDocument::hasFocus. 13118 13119 Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html 13120 13121 * html/HTMLDocument.cpp: 13122 (WebCore::HTMLDocument::hasFocus): Add page null check. 13123 (WebCore::HTMLDocument::createTokenizer): Cleanup page null check. 13124 131252009-07-13 Dan Bernstein <mitz@apple.com> 13126 13127 Reviewed by Darin Adler. 13128 13129 Disable continuous spell checking in the inspector 13130 https://bugs.webkit.org/show_bug.cgi?id=27131 13131 13132 * inspector/front-end/inspector.html: Added spellcheck="false" to the 13133 main-panels and console-prompt containers. 13134 131352009-07-13 Adam Langley <agl@google.com> 13136 13137 Reviewed by Eric Seidel. 13138 13139 Chromium Linux: fix assertion when rendering google.com.kh 13140 13141 https://bugs.webkit.org/show_bug.cgi?id=26924 13142 13143 Some shapers (i.e. Khmer) will produce cluster logs which report that 13144 /no/ code points contributed to certain glyphs. Because of this, we 13145 take any code point which contributed to the glyph in question, or any 13146 subsequent glyph. If we run off the end, then we take the last code 13147 point. 13148 13149 Added LayoutTests/fast/text/international/khmar-selection.html 13150 13151 * platform/graphics/chromium/FontLinux.cpp: 13152 (WebCore::Font::offsetForPositionForComplexText): 13153 131542009-07-13 Dan Bernstein <mitz@apple.com> 13155 13156 Reviewed by Darin Adler. 13157 13158 spellcheck="false" is ignored 13159 <rdar://problem/7054177> 13160 13161 * editing/Editor.cpp: 13162 (WebCore::markMisspellingsOrBadGrammar): Moved code to check the 13163 spellcheck attribute from here... 13164 (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here. 13165 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out 13166 if spell chcking is disabled by the spellcheck attribute. 13167 * editing/Editor.h: 13168 131692009-07-13 Brent Fulgham <bfulgham@webkit.org> 13170 13171 Reviewed by Adam Roben. 13172 13173 Add new configuration flag for redistributable Windows build. 13174 https://bugs.webkit.org/show_bug.cgi=27087 13175 13176 * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to 13177 Debug_Cairo and Release_Cairo builds. 13178 * config.h: Check for presence of WIN_CAIRO and select appropriate 13179 configuration. Defaults to standard Apple build. 13180 131812009-07-13 Peter Kasting <pkasting@google.com> 13182 13183 https://bugs.webkit.org/show_bug.cgi?id=19562 13184 Back out previous patch for this bug (too many problems). 13185 13186 * DerivedSources.cpp: 13187 * DerivedSources.make: 13188 * GNUmakefile.am: 13189 * WebCore.gypi: 13190 * WebCore.pro: 13191 * WebCore.vcproj/WebCore.vcproj: 13192 * WebCore.xcodeproj/project.pbxproj: 13193 * WebCoreSources.bkl: 13194 * html/HTMLButtonElement.idl: 13195 * html/HTMLFieldSetElement.idl: 13196 * html/HTMLFormControlElement.cpp: 13197 * html/HTMLFormControlElement.h: 13198 (WebCore::HTMLFormControlElement::form): 13199 * html/HTMLInputElement.idl: 13200 * html/HTMLSelectElement.idl: 13201 * html/HTMLTextAreaElement.idl: 13202 * html/ValidityState.cpp: Removed. 13203 * html/ValidityState.h: Removed. 13204 * html/ValidityState.idl: Removed. 13205 132062009-07-13 Nate Chapin <japhet@chromium.org> 13207 13208 Reviewed by Dimitri Glazkov. 13209 13210 Add HTMLAllCollection to WebCore.gypi. 13211 13212 https://bugs.webkit.org/show_bug.cgi?id=27223 13213 13214 * WebCore.gypi: Add HTMLAllCollection. 13215 132162009-07-13 Dimitri Glazkov <dglazkov@chromium.org> 13217 13218 Reviewed by Darin Fisher. 13219 13220 [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor. 13221 https://bugs.webkit.org/show_bug.cgi?id=27218 13222 13223 Test: fast/css/matrix-as-function-crash.html 13224 13225 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 13226 (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call. 13227 132282009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 13229 13230 Unreviewed make dist build fix. 13231 13232 * GNUmakefile.am: 13233 132342009-07-13 Cédric Luthi <cedric.luthi@gmail.com> 13235 13236 Reviewed by Tor Arne Vestbø. 13237 13238 Fix NPWindow clip rect in PluginViewMac 13239 13240 The rect should be in window-coordinates. This bug can be observed 13241 with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/ 13242 13243 * plugins/mac/PluginViewMac.cpp: 13244 132452009-07-13 Simon Hausmann <hausmann@webkit.org> 13246 13247 Reviewed by Ariya Hidayat. 13248 13249 Fix Qt implementation of WebCore::directoryName to return the absolute 13250 directory name instead of the base file name. 13251 13252 * platform/qt/FileSystemQt.cpp: 13253 (WebCore::directoryName): 13254 132552009-07-13 Simon Hausmann <hausmann@webkit.org> 13256 13257 Reviewed by Ariya Hidayat. 13258 13259 Fix WebCore::Path::isEmpty() for the Qt port to return true 13260 if there is no element in the path. 13261 13262 QPainterPath::isEmpty() returns also true if there is one single 13263 MoveTo element inside, which makes sense but doesn't patch Webcore's 13264 is-empty definition. 13265 13266 * platform/graphics/qt/PathQt.cpp: 13267 (WebCore::Path::isEmpty): Use elementCount() == 0. 13268 132692009-07-13 Albert J. Wong <ajwong@chromium.org> 13270 13271 Reviewed by Dimitri Glazkov. 13272 13273 Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass. 13274 https://bugs.webkit.org/show_bug.cgi?id=27127 13275 13276 There were a number of bugs introduced during the last upstreaming 13277 effort that broke around 30 layout tests. This fixes those bugs. 13278 It also has compile fixes to match the recent cutting apart of 13279 V8Proxy. 13280 13281 * bindings/v8/NPV8Object.cpp: 13282 (freeV8NPObject): 13283 (npCreateV8ScriptObject): 13284 (NPN_Invoke): 13285 (NPN_InvokeDefault): 13286 (NPN_EvaluateHelper): 13287 (NPN_SetException): 13288 (NPN_Construct): 13289 132902009-07-13 Mads Ager <ager@chromium.org> 13291 13292 Reviewed by Adam Barth. 13293 13294 Fix memory leak in the V8 binding layer. 13295 https://bugs.webkit.org/show_bug.cgi?id=27163 13296 13297 Reinitializing the context is not necessary when clearing the proxy for navigation 13298 and it will lead us to hold on to an empty context for each frame. 13299 13300 Test for empty context instead of empty global object handle when 13301 updating the document for a context. 13302 13303 * bindings/v8/V8Proxy.cpp: 13304 (WebCore::V8Proxy::clearForNavigation): 13305 (WebCore::V8Proxy::updateDocument): 13306 133072009-07-13 John Gregg <johnnyg@google.com> 13308 13309 Reviewed by David Levin. 13310 13311 Correct the logic to determine if a V8 callback returns a value. 13312 https://bugs.webkit.org/show_bug.cgi?id=27155 13313 13314 * bindings/v8/custom/V8CustomVoidCallback.cpp: 13315 (WebCore::invokeCallback): 13316 - Don't crash if result.IsEmpty(). 13317 133182009-07-13 Drew Wilson <atwilson@google.com> 13319 13320 Reviewed by David Levin. 13321 13322 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs 13323 https://bugs.webkit.org/show_bug.cgi?id=26932 13324 13325 Initial IDL definition and bindings for SharedWorkers. 13326 13327 * Configurations/FeatureDefines.xcconfig: 13328 Added new files for SharedWorker support. 13329 * DerivedSources.make: 13330 Added new files for SharedWorker support. 13331 * GNUmakefile.am: 13332 Added new files for SharedWorker support. 13333 * WebCore.gypi: 13334 Added new files for SharedWorker support. 13335 * WebCore.pro: 13336 Added new files for SharedWorker support. 13337 * WebCore.xcodeproj/project.pbxproj: 13338 Added new files for SharedWorker support. 13339 * bindings/js/JSAbstractWorkerCustom.cpp: Added. 13340 (WebCore::JSAbstractWorker::mark): 13341 Custom mark handler that marks the event listeners. 13342 (WebCore::JSAbstractWorker::addEventListener): 13343 (WebCore::JSAbstractWorker::removeEventListener): 13344 (WebCore::JSAbstractWorker::toJS): 13345 Custom toJS handler which differentiates between various subclasses. 13346 * bindings/js/JSDOMWindowCustom.cpp: 13347 (WebCore::JSDOMWindow::sharedWorker): 13348 SharedWorker constructor (only enabled when SHARED_WORKERS is 13349 enabled). 13350 * bindings/js/JSEventTarget.cpp: 13351 (WebCore::toJS): 13352 (WebCore::toEventTarget): 13353 Added support for converting to/from SharedWorkers. 13354 * bindings/js/JSSharedWorkerConstructor.cpp: Added. 13355 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): 13356 (WebCore::constructSharedWorker): 13357 (WebCore::JSSharedWorkerConstructor::getConstructData): 13358 * bindings/js/JSSharedWorkerConstructor.h: Added. 13359 (WebCore::JSSharedWorkerConstructor::classInfo): 13360 * bindings/js/JSSharedWorkerCustom.cpp: Added. 13361 (WebCore::JSSharedWorker::mark): 13362 Custom mark function that marks the internal MessagePort. 13363 * bindings/v8/DOMObjectsInclude.h: 13364 Updated to include new header files. 13365 * bindings/v8/V8Index.cpp: 13366 * bindings/v8/V8Index.h: 13367 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added. 13368 (WebCore::getEventListener): 13369 (WebCore::ACCESSOR_GETTER): 13370 (WebCore::ACCESSOR_SETTER): 13371 (WebCore::CALLBACK_FUNC_DECL): 13372 V8 handlers for add/removeEventListener(). 13373 * bindings/v8/custom/V8CustomBinding.h: 13374 * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added. 13375 (WebCore::CALLBACK_FUNC_DECL): 13376 Custom constructor for SharedWorker. 13377 * dom/EventTarget.cpp: 13378 (WebCore::EventTarget::toSharedWorker): 13379 * dom/EventTarget.h: 13380 * page/DOMWindow.idl: 13381 * workers/AbstractWorker.cpp: Added. 13382 (WebCore::AbstractWorker::AbstractWorker): 13383 Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp. 13384 This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing. 13385 (WebCore::AbstractWorker::~AbstractWorker): 13386 (WebCore::AbstractWorker::addEventListener): 13387 (WebCore::AbstractWorker::removeEventListener): 13388 (WebCore::AbstractWorker::dispatchEvent): 13389 (WebCore::AbstractWorker::dispatchLoadErrorEvent): 13390 (WebCore::AbstractWorker::dispatchScriptErrorEvent): 13391 * workers/AbstractWorker.h: Added. 13392 Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker. 13393 (WebCore::AbstractWorker::scriptExecutionContext): 13394 (WebCore::AbstractWorker::setOnerror): 13395 (WebCore::AbstractWorker::onerror): 13396 (WebCore::AbstractWorker::eventListeners): 13397 (WebCore::AbstractWorker::refEventTarget): 13398 (WebCore::AbstractWorker::derefEventTarget): 13399 * workers/AbstractWorker.idl: Added. 13400 * workers/SharedWorker.cpp: Added. 13401 (WebCore::SharedWorker::SharedWorker): 13402 (WebCore::SharedWorker::~SharedWorker): 13403 * workers/SharedWorker.h: Added. 13404 (WebCore::SharedWorker::create): 13405 (WebCore::SharedWorker::port): 13406 (WebCore::SharedWorker::toSharedWorker): 13407 * workers/SharedWorker.idl: Added. 13408 134092009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com> 13410 13411 Reviewed by Simon Hausmann. 13412 13413 [Qt] Cleanup - Remove prf install target 13414 https://bugs.webkit.org/show_bug.cgi?id=27191 13415 13416 qtwebkit.prf has been removed; this cleans up the related 13417 install target as well. 13418 13419 * WebCore.pro: Remove prf install target 13420 134212009-07-12 Adam Barth <abarth@webkit.org> 13422 13423 Reviewed by Oliver Hunt. 13424 13425 Facebook Chat is broken due to XSS auditor 13426 https://bugs.webkit.org/show_bug.cgi?id=27179 13427 13428 Instead of just using the script's URL as to detect an XSS attack, we 13429 now use a bit of context before the URL. In particular, we use the 13430 bytes from the beginning of the attribute name to the end of the 13431 attribute value. In virtually all injection attacks, the attacker 13432 would need to supply the attribute name as well as the attribute value. 13433 However, in the Facebook false positive, the attribute name is not 13434 present in the URL. 13435 13436 Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html 13437 http/tests/security/xssAuditor/script-tag-with-source-double-quote.html 13438 http/tests/security/xssAuditor/script-tag-with-source-no-quote.html 13439 13440 * html/HTMLTokenizer.cpp: 13441 (WebCore::HTMLTokenizer::parseTag): 13442 * html/HTMLTokenizer.h: 13443 * page/XSSAuditor.cpp: 13444 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 13445 * page/XSSAuditor.h: 13446 134472009-07-12 Keishi Hattori <casey.hattori@gmail.com> 13448 13449 Reviewed by Timothy Hatcher. 13450 13451 Refactor ConsoleMessage to add MessageType attribute. 13452 https://bugs.webkit.org/show_bug.cgi?id=20625 13453 13454 * bindings/js/JSCustomXPathNSResolver.cpp: 13455 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 13456 * bindings/js/JSDOMWindowBase.cpp: 13457 (WebCore::JSDOMWindowBase::printErrorMessage): 13458 * dom/Document.cpp: 13459 (WebCore::Document::reportException): 13460 (WebCore::Document::addMessage): 13461 * dom/Document.h: 13462 * dom/ScriptExecutionContext.h: 13463 * html/HTMLParser.cpp: 13464 (WebCore::HTMLParser::reportErrorToConsole): 13465 * inspector/ConsoleMessage.cpp: 13466 (WebCore::ConsoleMessage::ConsoleMessage): 13467 (WebCore::ConsoleMessage::addToConsole): 13468 (WebCore::ConsoleMessage::isEqual): 13469 * inspector/ConsoleMessage.h: 13470 * inspector/InspectorController.cpp: 13471 (WebCore::InspectorController::addMessageToConsole): 13472 (WebCore::InspectorController::startGroup): 13473 (WebCore::InspectorController::endGroup): 13474 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 13475 (WebCore::InspectorController::addStartProfilingMessageToConsole): 13476 (WebCore::InspectorController::count): 13477 * inspector/InspectorController.h: 13478 * inspector/front-end/Console.js: 13479 (WebInspector.Console.prototype.addMessage): 13480 (WebInspector.ConsoleMessage): Added type property. 13481 (WebInspector.ConsoleMessage.prototype.toMessageElement): 13482 (WebInspector.ConsoleMessage.prototype.toString): 13483 (WebInspector.ConsoleMessage.prototype.isEqual): 13484 (WebInspector.ConsoleCommandResult): 13485 (WebInspector.ConsoleGroup.prototype.addMessage): 13486 (WebInspector.ConsoleGroup.prototype._titleClicked): 13487 * inspector/front-end/Resource.js: 13488 (WebInspector.Resource.prototype._addTip): 13489 (WebInspector.Resource.prototype._checkWarning): 13490 * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title" 13491 * inspector/front-end/inspector.js: 13492 (WebInspector.addMessageToConsole): 13493 * loader/DocLoader.cpp: 13494 (WebCore::DocLoader::printAccessDeniedMessage): 13495 * loader/EmptyClients.h: 13496 (WebCore::EmptyChromeClient::addMessageToConsole): 13497 * loader/FrameLoader.cpp: 13498 (WebCore::FrameLoader::reportLocalLoadFailed): 13499 (WebCore::FrameLoader::shouldAllowNavigation): 13500 * page/ChromeClient.h: 13501 * page/Console.cpp: 13502 (WebCore::printMessageSourceAndLevelPrefix): 13503 (WebCore::Console::addMessage): 13504 (WebCore::Console::error): 13505 (WebCore::Console::log): 13506 (WebCore::Console::dir): 13507 (WebCore::Console::trace): 13508 (WebCore::Console::assertCondition): 13509 (WebCore::Console::timeEnd): 13510 (WebCore::Console::warn): 13511 * page/Console.h: Added MessageType enum. 13512 (WebCore::): 13513 * page/DOMWindow.cpp: 13514 (WebCore::DOMWindow::postMessageTimerFired): 13515 * page/XSSAuditor.cpp: 13516 (WebCore::XSSAuditor::canEvaluate): 13517 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 13518 (WebCore::XSSAuditor::canLoadObject): 13519 * svg/SVGDocumentExtensions.cpp: 13520 (WebCore::SVGDocumentExtensions::reportWarning): 13521 (WebCore::SVGDocumentExtensions::reportError): 13522 * wml/WMLErrorHandling.cpp: 13523 (WebCore::reportWMLError): 13524 * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument. 13525 (WebCore::GenericWorkerTask8::create): 13526 (WebCore::GenericWorkerTask8::GenericWorkerTask8): 13527 (WebCore::GenericWorkerTask8::performTask): 13528 (WebCore::createCallbackTask): 13529 * workers/WorkerContext.cpp: 13530 (WebCore::WorkerContext::addMessage): 13531 (WebCore::WorkerContext::importScripts): 13532 * workers/WorkerContext.h: 13533 * workers/WorkerMessagingProxy.cpp: 13534 (WebCore::postConsoleMessageTask): 13535 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): 13536 * workers/WorkerMessagingProxy.h: 13537 * workers/WorkerObjectProxy.h: 13538 * xml/XMLHttpRequest.cpp: 13539 (WebCore::reportUnsafeUsage): 13540 (WebCore::XMLHttpRequest::didFinishLoading): 13541 * xml/XSLTProcessor.cpp: 13542 (WebCore::XSLTProcessor::parseErrorFunc): 13543 135442009-07-12 Nate Chapin <japhet@chromium.org> 13545 13546 Reviewed by Dimitri Glazkov. 13547 13548 Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl. 13549 13550 https://bugs.webkit.org/show_bug.cgi?id=27132 13551 13552 * bindings/scripts/CodeGeneratorV8.pm: 13553 * bindings/v8/DOMObjectsInclude.h: 13554 * bindings/v8/DerivedSourcesAllInOne.cpp: 13555 * bindings/v8/V8DOMWrapper.cpp: 13556 (WebCore::V8DOMWrapper::getTemplate): 13557 (WebCore::V8DOMWrapper::instantiateV8Object): 13558 * bindings/v8/V8Index.cpp: 13559 * bindings/v8/V8Index.h: 13560 * dom/HTMLAllCollection.idl: Added. 13561 135622009-07-12 Joseph Pecoraro <joepeck02@gmail.com> 13563 13564 Reviewed by Maciej Stachowiak. 13565 13566 Inspector: Duplicate Computation in Autocompletion 13567 https://bugs.webkit.org/show_bug.cgi?id=26778 13568 13569 * inspector/front-end/TextPrompt.js: 13570 (WebInspector.TextPrompt.prototype._completionsReady): 13571 135722009-07-12 Dan Bernstein <mitz@apple.com> 13573 13574 Reviewed by Maciej Stachowiak. 13575 13576 https://bugs.webkit.org/show_bug.cgi?id=27196 13577 Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h 13578 13579 * GNUmakefile.am: Updated. 13580 * WebCore.gypi: Updated. 13581 * WebCore.pro: Updated. 13582 * WebCore.vcproj/WebCore.vcproj: Updated. 13583 * WebCore.xcodeproj/project.pbxproj: Updated. 13584 * WebCoreSources.bkl: Updated. 13585 * rendering/RenderBlock.h: Removed unnecessary forward declaration and 13586 updated comments. 13587 * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp. 13588 Removed unnecessary #include statements. 13589 (WebCore::BidiRun::BidiRun): Moved here from bidi.h. 13590 (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment. 13591 * rendering/bidi.cpp: Removed. 13592 * rendering/bidi.h: Removed. 13593 135942009-07-12 Dan Bernstein <mitz@apple.com> 13595 13596 - Windows build fix 13597 13598 * platform/graphics/cg/PDFDocumentImage.cpp: 13599 (WebCore::PDFDocumentImage::dataChanged): 13600 136012009-07-12 Dan Bernstein <mitz@apple.com> 13602 13603 Reviewed by Sam Weinig. 13604 13605 - Image cleanup 13606 13607 * platform/graphics/BitmapImage.cpp: 13608 (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor 13609 instead of the m_data member. 13610 (WebCore::BitmapImage::dataChanged): Ditto. 13611 * platform/graphics/Image.h: Re-ordered #includes and class 13612 declarations. Removed the drawPatternCallback() declaration. Made member 13613 variables private. 13614 * platform/graphics/cg/ImageCG.cpp: 13615 (WebCore::drawPatternCallback): Changed this from a member function to a 13616 static function. 13617 * platform/graphics/cg/PDFDocumentImage.cpp: 13618 (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor 13619 instead of the m_data member. 13620 * svg/graphics/SVGImage.cpp: 13621 (WebCore::SVGImage::dataChanged): Ditto. 13622 136232009-07-12 Daniel Bates <dbates@intudata.com> 13624 13625 Reviewed by Darin Adler. 13626 13627 https://bugs.webkit.org/show_bug.cgi?id=27189 13628 13629 Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 13630 XSSAuditor to incorrectly block HTML Base elements whose base path coincided 13631 with the URL of the page. 13632 13633 Test: http/tests/security/xssAuditor/base-href-safe3.html 13634 13635 * page/XSSAuditor.cpp: 13636 (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 13637 XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 13638 in the base element URL. 13639 136402009-07-12 Darin Adler <darin@apple.com> 13641 13642 Reviewed by Dan Bernstein. 13643 13644 Text searching with ICU should take the user's default locale into account 13645 https://bugs.webkit.org/show_bug.cgi?id=27184 13646 rdar://problem/6812121 13647 13648 No simple way to test this since it's dependent on user locale. 13649 After this, the user's default locale is used only on Mac. 13650 13651 * editing/TextIterator.cpp: 13652 (WebCore::createSearcher): Pass result of the currentSearchLocaleID 13653 function as the locale. 13654 13655 * platform/text/TextBreakIteratorInternalICU.h: Added declaration of 13656 currentSearchLocaleID function. 13657 13658 * platform/text/android/TextBreakIteratorInternalICU.cpp: 13659 (WebCore::currentSearchLocaleID): Added. Returns the empty string. 13660 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: 13661 (WebCore::currentSearchLocaleID): Ditto. 13662 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: 13663 (WebCore::currentSearchLocaleID): Ditto. 13664 13665 * platform/text/mac/TextBreakIteratorInternalICUMac.mm: 13666 (WebCore::textBreakLocalePreference): Added. Returns the value of 13667 the AppleTextBreakLocale preference. 13668 (WebCore::topLanguagePreference): Added. Returns the value of the 13669 first item in the AppleLanguages preference. 13670 (WebCore::canonicalLanguageIdentifier): Added. Cover for the 13671 CFLocaleCreateCanonicalLanguageIdentifierFromString function. 13672 (WebCore::getLocale): Added. Transfers the locale from a CFStringRef 13673 into a buffer. 13674 (WebCore::getSearchLocale): Added. Calls topLanguagePreference, 13675 canonicalLanguageIdentifier, and getLocale. 13676 (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once. 13677 (WebCore::getTextBreakLocale): Changed to call 13678 textBreakLocalePreference, topLanguagePreference, 13679 canonicalLanguageIdentifier, and getLocale. 13680 13681 * platform/text/win/TextBreakIteratorInternalICUWin.cpp: 13682 (WebCore::currentSearchLocaleID): Added. Returns the empty string. 13683 * platform/wx/TemporaryLinkStubs.cpp: 13684 (WebCore::currentSearchLocaleID): Ditto. 13685 136862009-07-12 Xan Lopez <xlopez@igalia.com> 13687 13688 Reviewed by Gustavo Noronha. 13689 13690 https://bugs.webkit.org/show_bug.cgi?id=25415 13691 [GTK][ATK] Please implement support for get_text_at_offset 13692 13693 Create a PangoLayout that properly represents the visual 13694 appearance of the text in the web page so that the line boundary 13695 modes of getText{At,Before,After}Offset work correctly. 13696 13697 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 13698 (UTF16ToUTF8): 13699 (g_substr): 13700 (convertUniCharToUTF8): 13701 (getPangoLayoutForAtk): 13702 137032009-07-11 Oliver Hunt <oliver@apple.com> 13704 13705 Reviewed by Simon Fraser. 13706 13707 Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path 13708 <https://bugs.webkit.org/show_bug.cgi?id=27187> 13709 13710 Simple API change, check for the empty path and add appropriate point if necessary. 13711 13712 Test: fast/canvas/canvas-modify-emptyPath.html 13713 13714 * Info.plist: 13715 * WebCore.xcodeproj/project.pbxproj: 13716 * html/CanvasRenderingContext2D.cpp: 13717 (WebCore::CanvasRenderingContext2D::lineTo): 13718 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 13719 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 13720 137212009-07-11 Eric Carlson <eric.carlson@apple.com> 13722 13723 Reviewed by Antti Koivisto. 13724 13725 HTMLMediaElement.canPlayType "maybe" and "probably" reversed 13726 https://bugs.webkit.org/show_bug.cgi?id=27186 13727 13728 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 13729 (WebCore::MediaPlayerPrivate::supportsType): 13730 Return "probably" if type has codecs parameter. 13731 13732 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 13733 (WebCore::MediaPlayerPrivate::supportsType): 13734 Ditto. 13735 13736 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 13737 (WebCore::MediaPlayerPrivate::supportsType): 13738 Ditto. 13739 137402009-07-11 Brady Eidson <beidson@apple.com> 13741 13742 Reviewed by Mark Rowe. 13743 13744 A worker-thread inspired follow-up for: 13745 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> 13746 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading 13747 13748 * xml/XMLHttpRequest.cpp: 13749 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR 13750 is running on a worker thread. Accessing the global Cache data structures from a non-main thread is 13751 not currently supported. 13752 137532009-07-11 Simon Fraser <simon.fraser@apple.com> 13754 13755 Enable support for accelerated compositing and 3d transforms on Leopard. 13756 <https://bugs.webkit.org/show_bug.cgi?id=20166> 13757 <rdar://problem/6120614> 13758 13759 Reviewed by Oliver Hunt. 13760 13761 * Configurations/FeatureDefines.xcconfig: 13762 137632009-07-11 Simon Hausmann <hausmann@webkit.org> 13764 13765 Fix the Qt build after r45724. 13766 13767 * bridge/qt/qt_instance.cpp: 13768 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): 13769 * bridge/qt/qt_runtime.cpp: 13770 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): 13771 137722009-07-10 Daniel Bates <dbates@intudata.com> 13773 13774 Reviewed by Adam Barth. 13775 13776 https://bugs.webkit.org/show_bug.cgi?id=26921 13777 13778 Implements support for HTML entities, so XSSAuditor can protect against attacks 13779 encoded with HTML entities. 13780 13781 Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html 13782 http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html 13783 http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html 13784 http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html 13785 http/tests/security/xssAuditor/javascript-link-HTML-entities.html 13786 http/tests/security/xssAuditor/link-onclick-entities.html 13787 http/tests/security/xssAuditor/script-tag-entities.html 13788 http/tests/security/xssAuditor/script-tag-with-source-entities.html 13789 13790 * page/XSSAuditor.cpp: 13791 (WebCore::XSSAuditor::canEvaluate): 13792 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): 13793 (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities 13794 to decode HTML entities. 13795 (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities. 13796 (WebCore::XSSAuditor::findInRequest): 13797 * page/XSSAuditor.h: 13798 137992009-07-10 David Kilzer <ddkilzer@apple.com> 13800 13801 Bug 27007: Build fixes when ICONDATABASE is disabled 13802 13803 <https://bugs.webkit.org/show_bug.cgi?id=27007> 13804 13805 Reviewed by Sam Weinig. 13806 13807 * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp 13808 to the project. 13809 * loader/icon/IconDatabase.cpp: Added 13810 #if ENABLE(ICONDATABASE)/#endif macro guard. 13811 * loader/icon/IconDatabase.h: Removed three public methods from 13812 #if ENABLE(ICONDATABASE)/#endif macro so that they may be 13813 stubbed out in IconDatabaseNone.cpp. 13814 * loader/icon/IconDatabaseNone.cpp: Added 13815 #if !ENABLE(ICONDATABASE)/#endif macro guard. 13816 (WebCore::IconDatabase::importIconURLForPageURL): Added. 13817 (WebCore::IconDatabase::importIconDataForIconURL): Added. 13818 (WebCore::IconDatabase::shouldStopThreadActivity): Added. 13819 138202009-07-10 Daniel Bates <dbates@intudata.com> 13821 13822 Reviewed by Adam Barth. 13823 13824 https://bugs.webkit.org/show_bug.cgi?id=27151 13825 13826 Fixes issue where JavaScript URLs that contain null- and non-null control characters can 13827 bypass XSSAuditor. 13828 13829 Tests: http/tests/security/xssAuditor/javascript-link-control-char.html 13830 http/tests/security/xssAuditor/javascript-link-null-char.html 13831 http/tests/security/xssAuditor/javascript-link.html 13832 13833 * bindings/js/ScriptController.cpp: 13834 (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 13835 inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL. 13836 * bindings/v8/ScriptController.cpp: 13837 (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in 13838 bindings/js/ScriptController.cpp. 13839 * page/XSSAuditor.cpp: 13840 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs 13841 into its own method. 13842 * page/XSSAuditor.h: 13843 138442009-07-10 Shinichiro Hamaji <hamaji@chromium.org> 13845 13846 Reviewed by David Kilzer. 13847 13848 WebKit needs a style linting tool 13849 https://bugs.webkit.org/show_bug.cgi?id=25884 13850 13851 Fix bunch of style issues by autofix of cpplint. 13852 This patch is created to demonstrate the autofix of cpplint.py. 13853 13854 No new testcases because it's a style fix 13855 13856 * css/CSSParser.cpp: 13857 (WebCore::CSSParser::parseMediaQuery): 13858 (WebCore::CSSParser::validUnit): 13859 (WebCore::CSSParser::parseValue): 13860 (WebCore::skipCommaInDashboardRegion): 13861 (WebCore::CSSParser::parseDashboardRegions): 13862 (WebCore::ShadowParseContext::commitValue): 13863 (WebCore::ShadowParseContext::commitLength): 13864 (WebCore::ShadowParseContext::commitColor): 13865 (WebCore::BorderImageParseContext::commitNumber): 13866 (WebCore::BorderImageParseContext::commitWidth): 13867 (WebCore::BorderImageParseContext::commitRule): 13868 (WebCore::BorderImageParseContext::commitBorderImage): 13869 (WebCore::CSSParser::lex): 13870 (WebCore::CSSParser::text): 13871 * css/CSSStyleSelector.cpp: 13872 (WebCore::CSSStyleSelector::applyProperty): 13873 * css/MediaList.cpp: 13874 (WebCore::MediaList::deleteMedium): 13875 * css/MediaQuery.h: 13876 * css/MediaQueryEvaluator.cpp: 13877 (WebCore::parseAspectRatio): 13878 * css/MediaQueryEvaluator.h: 13879 * css/MediaQueryExp.h: 13880 (WebCore::MediaQueryExp::operator==): 13881 * css/WebKitCSSMatrix.h: 13882 * dom/Comment.h: 13883 * dom/Document.cpp: 13884 (WebCore::Document::setFocusedNode): 13885 * dom/Document.h: 13886 (WebCore::Document::setHasDashboardRegions): 13887 * dom/DocumentFragment.cpp: 13888 (WebCore::DocumentFragment::nodeName): 13889 * dom/DocumentFragment.h: 13890 * dom/DynamicNodeList.h: 13891 * dom/EditingText.h: 13892 * dom/Element.cpp: 13893 (WebCore::Element::dispatchAttrAdditionEvent): 13894 * dom/NamedAttrMap.cpp: 13895 (WebCore::NamedNodeMap::item): 13896 * dom/Node.cpp: 13897 (WebCore::Node::nodeValue): 13898 (WebCore::Node::nodeIndex): 13899 * dom/NodeRareData.h: 13900 (WebCore::NodeListsNodeData::create): 13901 * dom/Notation.h: 13902 * dom/ProcessingInstruction.h: 13903 * dom/Range.cpp: 13904 (WebCore::Range::processContents): 13905 * dom/StyledElement.cpp: 13906 (WebCore::toHex): 13907 * dom/XMLTokenizerLibxml2.cpp: 13908 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback): 13909 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): 13910 (WebCore::PendingCallbacks::): 13911 (WebCore::OffsetBuffer::readOutBytes): 13912 (WebCore::handleElementNamespaces): 13913 (WebCore::handleElementAttributes): 13914 (WebCore::attributesStartElementNsHandler): 13915 * dom/XMLTokenizerQt.cpp: 13916 (WebCore::attributesStartElementNsHandler): 13917 (WebCore::XMLTokenizer::parseStartElement): 13918 * editing/ApplyStyleCommand.cpp: 13919 (WebCore::ApplyStyleCommand::applyInlineStyle): 13920 * editing/DeleteSelectionCommand.cpp: 13921 (WebCore::DeleteSelectionCommand::removeNode): 13922 * editing/Editor.cpp: 13923 (WebCore::Editor::pasteAsPlainText): 13924 * editing/SelectionController.cpp: 13925 (WebCore::SelectionController::directionOfEnclosingBlock): 13926 * editing/SmartReplaceICU.cpp: 13927 (WebCore::addAllCodePoints): 13928 * history/HistoryItem.cpp: 13929 (WebCore::HistoryItem::icon): 13930 (WebCore::HistoryItem::adoptVisitCounts): 13931 * html/CanvasStyle.cpp: 13932 (WebCore::CanvasStyle::applyFillColor): 13933 * html/HTMLAnchorElement.cpp: 13934 (WebCore::HTMLAnchorElement::setActive): 13935 (WebCore::HTMLAnchorElement::isLiveLink): 13936 * html/HTMLAppletElement.h: 13937 * html/HTMLAudioElement.h: 13938 * html/HTMLBRElement.h: 13939 * html/HTMLBaseElement.h: 13940 * html/HTMLBaseFontElement.h: 13941 * html/HTMLDListElement.h: 13942 * html/HTMLDirectoryElement.h: 13943 * html/HTMLFieldSetElement.cpp: 13944 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): 13945 * html/HTMLFormElement.cpp: 13946 (WebCore::HTMLFormElement::reset): 13947 * html/HTMLHRElement.cpp: 13948 (WebCore::HTMLHRElement::parseMappedAttribute): 13949 * html/HTMLHeadElement.h: 13950 * html/HTMLHtmlElement.h: 13951 * html/HTMLImageElement.h: 13952 (WebCore::HTMLImageElement::setLoadManually): 13953 * html/HTMLInputElement.cpp: 13954 (WebCore::HTMLInputElement::selection): 13955 * html/HTMLIsIndexElement.h: 13956 * html/HTMLMarqueeElement.cpp: 13957 * html/HTMLMediaElement.h: 13958 (WebCore::HTMLMediaElement::): 13959 * html/HTMLMenuElement.h: 13960 * html/HTMLMetaElement.h: 13961 * html/HTMLModElement.h: 13962 * html/HTMLOListElement.h: 13963 * html/HTMLOptionElement.cpp: 13964 (WebCore::HTMLOptionElement::childrenChanged): 13965 * html/HTMLParamElement.h: 13966 * html/HTMLQuoteElement.h: 13967 * html/HTMLStyleElement.h: 13968 * html/HTMLTableCaptionElement.h: 13969 * html/HTMLTableCellElement.h: 13970 * html/HTMLTableColElement.h: 13971 * html/HTMLTableSectionElement.cpp: 13972 (WebCore::HTMLTableSectionElement::deleteRow): 13973 * html/HTMLTitleElement.h: 13974 * html/HTMLTokenizer.cpp: 13975 (WebCore::HTMLTokenizer::parseNonHTMLText): 13976 (WebCore::HTMLTokenizer::parseEntity): 13977 (WebCore::HTMLTokenizer::parseTag): 13978 (WebCore::HTMLTokenizer::write): 13979 * html/HTMLUListElement.h: 13980 * html/HTMLVideoElement.h: 13981 * html/TimeRanges.h: 13982 (WebCore::TimeRanges::Range::Range): 13983 * inspector/InspectorController.cpp: 13984 (WebCore::InspectorController::enableResourceTracking): 13985 (WebCore::InspectorController::disableResourceTracking): 13986 * inspector/InspectorFrontend.cpp: 13987 (WebCore::InspectorFrontend::newInspectorJSONObject): 13988 * page/Console.cpp: 13989 (WebCore::Console::addMessage): 13990 * page/EventHandler.cpp: 13991 (WebCore::EventHandler::handleMousePressEvent): 13992 (WebCore::EventHandler::selectCursor): 13993 (WebCore::EventHandler::defaultKeyboardEventHandler): 13994 * page/Frame.cpp: 13995 (WebCore::Frame::jsDefaultStatusBarText): 13996 * page/android/DragControllerAndroid.cpp: 13997 (WebCore::DragController::dragOperation): 13998 * page/android/EventHandlerAndroid.cpp: 13999 (WebCore::EventHandler::tabsToAllControls): 14000 (WebCore::EventHandler::eventActivatedView): 14001 * page/animation/AnimationController.cpp: 14002 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 14003 * page/gtk/DragControllerGtk.cpp: 14004 (WebCore::DragController::dragOperation): 14005 * page/qt/DragControllerQt.cpp: 14006 * page/win/DragControllerWin.cpp: 14007 (WebCore::DragController::isCopyKeyDown): 14008 * page/win/FrameWin.h: 14009 * rendering/RenderSlider.cpp: 14010 (WebCore::RenderSlider::mouseEventOffsetToThumb): 14011 * rendering/style/RenderStyle.h: 14012 (WebCore::InheritedFlags::setVerticalAlignLength): 14013 (WebCore::InheritedFlags::setUnicodeBidi): 14014 (WebCore::InheritedFlags::setCursor): 14015 * rendering/style/RenderStyleConstants.h: 14016 (WebCore::): 14017 * rendering/style/SVGRenderStyleDefs.h: 14018 * rendering/style/StyleInheritedData.h: 14019 (WebCore::StyleInheritedData::operator!=): 14020 * storage/DatabaseTask.h: 14021 * svg/GradientAttributes.h: 14022 * svg/LinearGradientAttributes.h: 14023 * svg/PatternAttributes.h: 14024 * svg/RadialGradientAttributes.h: 14025 * svg/SVGAnimatedPathData.h: 14026 * svg/SVGAnimatedPoints.h: 14027 * svg/SVGAnimationElement.h: 14028 * svg/SVGClipPathElement.h: 14029 * svg/SVGElementInstance.h: 14030 * svg/SVGFEBlendElement.cpp: 14031 (WebCore::SVGFEBlendElement::build): 14032 * svg/SVGFEBlendElement.h: 14033 * svg/SVGFEColorMatrixElement.cpp: 14034 (WebCore::SVGFEColorMatrixElement::build): 14035 * svg/SVGFEComponentTransferElement.cpp: 14036 (WebCore::SVGFEComponentTransferElement::build): 14037 * svg/SVGFECompositeElement.cpp: 14038 (WebCore::SVGFECompositeElement::build): 14039 * svg/SVGFEDiffuseLightingElement.cpp: 14040 (WebCore::SVGFEDiffuseLightingElement::build): 14041 * svg/SVGFEDisplacementMapElement.cpp: 14042 (WebCore::SVGFEDisplacementMapElement::build): 14043 * svg/SVGFEDistantLightElement.h: 14044 * svg/SVGFEFloodElement.cpp: 14045 (WebCore::SVGFEFloodElement::build): 14046 * svg/SVGFEFloodElement.h: 14047 * svg/SVGFEFuncAElement.h: 14048 * svg/SVGFEFuncBElement.h: 14049 * svg/SVGFEFuncGElement.h: 14050 * svg/SVGFEFuncRElement.h: 14051 * svg/SVGFEGaussianBlurElement.cpp: 14052 (WebCore::SVGFEGaussianBlurElement::build): 14053 * svg/SVGFEImageElement.cpp: 14054 (WebCore::SVGFEImageElement::build): 14055 * svg/SVGFEMergeElement.cpp: 14056 (WebCore::SVGFEMergeElement::build): 14057 * svg/SVGFEOffsetElement.cpp: 14058 (WebCore::SVGFEOffsetElement::build): 14059 * svg/SVGFEPointLightElement.h: 14060 * svg/SVGFESpecularLightingElement.cpp: 14061 (WebCore::SVGFESpecularLightingElement::build): 14062 * svg/SVGFESpotLightElement.h: 14063 * svg/SVGFETileElement.cpp: 14064 (WebCore::SVGFETileElement::build): 14065 * svg/SVGLineElement.cpp: 14066 (WebCore::SVGLineElement::parseMappedAttribute): 14067 * svg/SVGList.h: 14068 * svg/SVGListTraits.h: 14069 (WebCore::): 14070 * svg/SVGMPathElement.h: 14071 * svg/SVGMetadataElement.h: 14072 * svg/SVGParserUtilities.cpp: 14073 (WebCore::SVGPathParser::parseSVG): 14074 (WebCore::SVGPathParser::calculateArc): 14075 * svg/SVGPathElement.h: 14076 * svg/SVGPathSegClosePath.h: 14077 * svg/SVGSVGElement.h: 14078 * svg/SVGSetElement.h: 14079 * svg/SVGSwitchElement.h: 14080 * svg/SVGTextPathElement.cpp: 14081 (WebCore::SVGTextPathElement::parseMappedAttribute): 14082 * svg/SVGTextPathElement.h: 14083 * svg/SVGTitleElement.h: 14084 * svg/SVGTransformable.cpp: 14085 (WebCore::): 14086 * svg/SVGViewSpec.cpp: 14087 (WebCore::): 14088 * svg/animation/SMILTime.cpp: 14089 (WebCore::operator+): 14090 (WebCore::operator-): 14091 (WebCore::operator*): 14092 * svg/animation/SVGSMILElement.h: 14093 * svg/graphics/SVGResource.cpp: 14094 (WebCore::clientMap): 14095 * wml/WMLPostfieldElement.cpp: 14096 (WebCore::WMLPostfieldElement::value): 14097 * wml/WMLSetvarElement.cpp: 14098 (WebCore::WMLSetvarElement::value): 14099 * workers/WorkerRunLoop.cpp: 14100 * xml/XMLHttpRequest.cpp: 14101 (WebCore::XMLHttpRequest::dropProtection): 14102 * xml/XPathPath.h: 14103 141042009-07-10 Eric Carlson <eric.carlson@apple.com> 14105 14106 Reviewed by Simon Fraser. 14107 14108 <rdar://problem/7049066>. 14109 Update SnowLeopard media controller layout. 14110 14111 * css/mediaControlsQT.css: 14112 Update for new layout. 14113 * html/HTMLMediaElement.cpp: 14114 (WebCore::HTMLMediaElement::movieLoadType): 14115 Added to replace isStreaming. 14116 * html/HTMLMediaElement.h: 14117 Declare movieLoadType, remove isStreaming. 14118 14119 * rendering/MediaControlElements.cpp: 14120 (WebCore::MediaControlStatusDisplayElement::update): 14121 Use movieLoadType instead of isStreaming. 14122 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): 14123 MediaControlElement is the base class, not HTMLInputElement. 14124 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): 14125 Ditto. 14126 (WebCore::MediaControlRewindButtonElement::rendererIsNeeded): 14127 Don't display rewind button for live streams. 14128 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): 14129 MediaControlInputElement is the base class, not HTMLInputElement. 14130 * rendering/MediaControlElements.h: 14131 14132 * rendering/RenderThemeMac.h: 14133 * rendering/RenderThemeMac.mm: 14134 (WebCore::getMediaUIPartStateFlags): 14135 New, return wkDrawMediaUIPart flags. 14136 (WebCore::RenderThemeMac::paintMediaFullscreenButton): 14137 (WebCore::RenderThemeMac::paintMediaMuteButton): 14138 (WebCore::RenderThemeMac::paintMediaPlayButton): 14139 (WebCore::RenderThemeMac::paintMediaSeekBackButton): 14140 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): 14141 (WebCore::RenderThemeMac::paintMediaSliderTrack): 14142 (WebCore::RenderThemeMac::paintMediaSliderThumb): 14143 (WebCore::RenderThemeMac::paintMediaRewindButton): 14144 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): 14145 (WebCore::RenderThemeMac::paintMediaControlsBackground): 14146 (WebCore::RenderThemeMac::paintMediaCurrentTime): 14147 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 14148 Use getMediaUIPartStateFlags. 14149 141502009-07-10 Michelangelo De Simone <micdesim@gmail.com> 14151 14152 Reviewed by Adele Peterson. 14153 14154 https://bugs.webkit.org/show_bug.cgi?id=19562 14155 Added build stuff and stub for the ValidityState class, part of HTML5 14156 section Forms: 14157 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate 14158 14159 Test: fast/forms/ValidityState-001.html 14160 14161 * DerivedSources.cpp: Fix aimed to include ValidityState files 14162 * DerivedSources.make: ditto 14163 * GNUmakefile.am: ditto 14164 * WebCore.gypi: ditto 14165 * WebCore.pro: ditto 14166 * WebCore.vcproj/WebCore.vcproj: ditto 14167 * WebCore.xcodeproj/project.pbxproj: ditto 14168 * WebCoreSources.bkl: ditto 14169 * html/HTMLButtonElement.idl: "validity" attribute 14170 * html/HTMLFieldSetElement.idl: ditto 14171 * html/HTMLFormControlElement.cpp: object getter 14172 (WebCore::HTMLFormControlElement::validity): 14173 * html/HTMLFormControlElement.h: ditto 14174 * html/HTMLInputElement.idl: "validity" attribute 14175 * html/HTMLSelectElement.idl: ditto 14176 * html/HTMLTextAreaElement.idl: ditto 14177 * html/ValidityState.cpp: Added. 14178 (WebCore::ValidityState::ValidityState): 14179 (WebCore::ValidityState::valid): validation flag 14180 * html/ValidityState.h: Added. 14181 (WebCore::ValidityState::create): creation routine 14182 (WebCore::ValidityState::control): ValidityState's parent getter 14183 (WebCore::ValidityState::valueMissing): validation flag 14184 (WebCore::ValidityState::typeMismatch): ditto 14185 (WebCore::ValidityState::patternMismatch): ditto 14186 (WebCore::ValidityState::tooLong): ditto 14187 (WebCore::ValidityState::rangeUnderflow): ditto 14188 (WebCore::ValidityState::rangeOverflow): ditto 14189 (WebCore::ValidityState::stepMismatch): ditto 14190 (WebCore::ValidityState::customError): ditto 14191 * html/ValidityState.idl: Added. 14192 141932009-07-10 Brady Eidson <beidson@apple.com> 14194 14195 Style cleanup over my last patch. 14196 14197 * xml/XMLHttpRequest.cpp: 14198 (WebCore::XMLHttpRequest::~XMLHttpRequest): 14199 142002009-07-10 Kevin McCullough <kmccullough@apple.com> 14201 14202 Reviewed by Geoffrey Garen. 14203 14204 * inspector/JavaScriptCallFrame.cpp: 14205 (WebCore::JavaScriptCallFrame::dynamicGlobalObject): 14206 * inspector/JavaScriptCallFrame.h: New helper method, used below. 14207 14208 * inspector/JavaScriptDebugServer.cpp: 14209 (WebCore::JavaScriptDebugServer::detach): In the special case 14210 where we detach from a window currently executing JavaScript, 14211 manually tear down our representation of the JavaScript 14212 call stack, since we won't get any more callbacks from JavaScriptCore 14213 to automatically tear it down. It's too bad that WebCore is 14214 responsible for this kind of tracking -- in the future, it would 14215 be nice if more of the breakpoint handling was inside of JavaScriptCore. 14216 142172009-07-10 Brady Eidson <beidson@apple.com> 14218 14219 Reviewed by Antti Koivisto. 14220 14221 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520> 14222 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading 14223 14224 With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected. 14225 When that happened, the first request that was over the limit ended up in a bizarre state where it 14226 wasn't fully serviced until after the long running XHR was complete. 14227 14228 Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache 14229 resources - such as XHR - could still end up causing this limit to be exceeded. 14230 14231 This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will 14232 handle this at the resource handle level. 14233 14234 * loader/loader.cpp: 14235 (WebCore::Loader::nonCacheRequestInFlight): 14236 (WebCore::Loader::nonCacheRequestComplete): 14237 (WebCore::Loader::Host::Host): 14238 (WebCore::Loader::Host::nonCacheRequestInFlight): 14239 (WebCore::Loader::Host::nonCacheRequestComplete): 14240 (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account. 14241 * loader/loader.h: 14242 (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account. 14243 14244 * xml/XMLHttpRequest.cpp: 14245 (WebCore::XMLHttpRequest::XMLHttpRequest): 14246 (WebCore::XMLHttpRequest::~XMLHttpRequest): 14247 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count. 14248 (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified. 14249 (WebCore::XMLHttpRequest::didFinishLoading): Ditto. 14250 142512009-07-10 Antti Koivisto <antti@apple.com> 14252 14253 Try to unbreak non-Mac build. 14254 14255 * page/ChromeClient.h: 14256 (WebCore::ChromeClient::formDidFocus): 14257 (WebCore::ChromeClient::formDidBlur): 14258 142592009-07-10 Beth Dakin <bdakin@apple.com> 14260 14261 Reviewed by Anders Carlsson. 14262 14263 The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 14264 In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 14265 clicking To Do's close box 14266 14267 Make the Widget* in passMouseDownEventToWidget() a RefPtr. 14268 14269 * page/mac/EventHandlerMac.mm: 14270 (WebCore::EventHandler::passMouseDownEventToWidget): 14271 142722009-07-10 Eric Seidel <eric@webkit.org> 14273 14274 Reviewed by Adam Barth. 14275 14276 rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure 14277 https://bugs.webkit.org/show_bug.cgi?id=27157 14278 14279 This is the first step to fixing 14280 https://bugs.webkit.org/show_bug.cgi?id=27088 14281 14282 * WebCore.xcodeproj/project.pbxproj: 14283 * bindings/js/JSDOMBinding.h: 14284 (WebCore::deprecatedGetDOMStructure): 14285 (WebCore::createDOMObjectWrapper): 14286 (WebCore::createDOMNodeWrapper): 14287 * bindings/js/JSNamedNodesCollection.cpp: 14288 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 14289 * bindings/js/JSRGBColor.cpp: 14290 (WebCore::JSRGBColor::JSRGBColor): 14291 * bridge/objc/objc_runtime.mm: 14292 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): 14293 * bridge/runtime_array.cpp: 14294 (JSC::RuntimeArray::RuntimeArray): 14295 * bridge/runtime_method.cpp: 14296 (JSC::RuntimeMethod::RuntimeMethod): 14297 * bridge/runtime_object.cpp: 14298 (JSC::RuntimeObjectImp::RuntimeObjectImp): 14299 143002009-07-10 Greg Bolsinga <bolsinga@apple.com> 14301 14302 Reviewed by Antti Koivisto. 14303 14304 Add delegate methods about focus and blur and state change 14305 https://bugs.webkit.org/show_bug.cgi?id=27153 14306 14307 Call the appropriate new ChromeClient methods for focus and blur. 14308 14309 * html/HTMLFormControlElement.cpp: 14310 (WebCore::HTMLFormControlElement::dispatchFocusEvent): 14311 (WebCore::HTMLFormControlElement::dispatchBlurEvent): 14312 * html/HTMLFormControlElement.h: 14313 * loader/EmptyClients.h: 14314 (WebCore::EmptyChromeClient::formDidFocus): 14315 (WebCore::EmptyChromeClient::formDidBlur): 14316 * page/ChromeClient.h: 14317 143182009-07-10 Steve Falkenburg <sfalken@apple.com> 14319 14320 <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave 14321 14322 Use altered search path while loading plug-ins. This modifies the DLL search order 14323 to look in the directory containing the plug-in even if a call to SetDllDirectory 14324 was previously made. Use of SetDllDirectory removes the current directory from the search path, 14325 breaking the previous strategy for locating any dependent DLLs of the plug-in. 14326 14327 Reviewed by Jon Honeycutt. 14328 14329 * plugins/win/PluginPackageWin.cpp: 14330 (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH 14331 143322009-07-10 Adam Roben <aroben@apple.com> 14333 14334 Sort all our Xcode projects 14335 14336 Accomplished using sort-Xcode-project-file. 14337 14338 Requested by Dave Kilzer. 14339 14340 * WebCore.xcodeproj/project.pbxproj: 14341 143422009-07-10 Adam Langley <agl@google.com> 14343 14344 Reviewed by Darin Fisher. 14345 14346 Chromium Linux: use disabled images for disabled widgets. 14347 14348 https://bugs.webkit.org/show_bug.cgi?id=27106 14349 14350 Previously, checkboxes and radio controls rendered the same even if disabled. 14351 The Chromium side of this change is r20224. 14352 14353 * rendering/RenderThemeChromiumSkia.cpp: 14354 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 14355 (WebCore::RenderThemeChromiumSkia::paintRadio): 14356 143572009-07-10 Simon Fraser <simon.fraser@apple.com> 14358 14359 Reviewed by John Sullivan. 14360 14361 Fix crash when changing the zoom level in http://iphone.akamai.com/ 14362 <rdar://problem/7029077> 14363 14364 RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(), 14365 which could potentially destroy that compositing layer, causing a crash. 14366 Prevent this from happening by not doing a compositing update from paintIntoLayer(). 14367 14368 The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(), 14369 and still does the compositing update. The new updateLayerListsIfNeeded() does not touch 14370 compositing layers, and is still called from paintIntoLayer(). 14371 14372 * rendering/RenderLayer.cpp: 14373 (WebCore::RenderLayer::paintLayer): 14374 (WebCore::RenderLayer::hitTestLayer): 14375 (WebCore::RenderLayer::updateLayerListsIfNeeded): 14376 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): 14377 * rendering/RenderLayer.h: 14378 143792009-07-10 Drew Wilson <atwilson@google.com> 14380 14381 Reviewed by Darin Adler. 14382 14383 Need to remove UsesManualToJSImplementation() in favor of CustomToJS. 14384 https://bugs.webkit.org/show_bug.cgi?id=27010 14385 14386 Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation(). 14387 14388 This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch. 14389 14390 * bindings/scripts/CodeGeneratorJS.pm: 14391 Removed UsesManualToJSImplementation(), added support for CustomToJS attribute. 14392 * css/CSSRule.idl: 14393 * css/CSSValue.idl: 14394 * css/StyleSheet.idl: 14395 * dom/Document.idl: 14396 * dom/Event.idl: 14397 * dom/Node.idl: 14398 * html/ImageData.idl: 14399 * svg/SVGElementInstance.idl: 14400 * svg/SVGPathSeg.idl: 14401 Added CustomToJS attribute to all the above IDL files. 14402 144032009-07-10 Dan Bernstein <mitz@apple.com> 14404 14405 - fix the build by reverting the ill-advised r45711 14406 14407 * page/FrameView.cpp: 14408 (WebCore::FrameView::scrollToAnchor): 14409 144102009-07-09 Brian Weinstein <bweinstein@apple.com> 14411 14412 Reviewed by Tim Hatcher. 14413 14414 Updated WebCore.base.exp to add some needed functions. 14415 14416 * WebCore.base.exp: 14417 144182009-07-10 Dan Bernstein <mitz@apple.com> 14419 14420 - address a review comment from Simon Fraser which I forgot to include 14421 in the last check-in 14422 14423 * page/FrameView.cpp: 14424 (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for 14425 maximum transform friendliness! 14426 144272009-07-10 Dan Bernstein <mitz@apple.com> 14428 14429 Reviewed by Simon Fraser. 14430 14431 - fix https://bugs.webkit.org/show_bug.cgi?id=27137 14432 <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due 14433 to infinite recursion into FrameLoader::gotoAnchor() -> 14434 FrameView::layout() 14435 14436 Test: fast/loader/goto-anchor-infinite-layout.html 14437 14438 * loader/FrameLoader.cpp: 14439 (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout, 14440 find the renderer to scroll to, and scroll from here to methods on 14441 FrameView, and replaced it with a call to 14442 FrameView::maintainScrollPositionAtAnchor(). 14443 (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor() 14444 instead of setLockedToAnchor(). 14445 14446 * page/FrameView.cpp: 14447 (WebCore::FrameView::FrameView): Removed initialization of 14448 m_lockedToAnchor. 14449 (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead 14450 of m_lockedToAnchor. 14451 (WebCore::FrameView::layout): Removed the code related to scrolling to 14452 the anchor from here, because scrolling can trigger events which 14453 invalidate the layout, and as such, belongs with the post-layout tasks. 14454 (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called 14455 with a node scrolls the view to the top of that node and maintains it 14456 scrolled to the top of the node during subsequent layouts, until 14457 this function is called with 0 or other things trigger scrolling. 14458 (WebCore::FrameView::scrollRectIntoViewRecursively): Reset 14459 m_maintainScrollPositionAnchor. 14460 (WebCore::FrameView::setScrollPosition): Ditto. 14461 (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of 14462 m_maintainScrollPositionAnchor, if it is set. 14463 (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor(). 14464 (WebCore::FrameView::setWasScrolledByUser): Reset 14465 m_maintainScrollPositionAnchor. 14466 14467 * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(), 14468 and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and 14469 m_maintainScrollPositionAnchor. 14470 144712009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com> 14472 14473 Reviewed by Simon Hausmann. 14474 14475 https://bugs.webkit.org/show_bug.cgi?id=26439 14476 14477 QtWebKit fails in loading www.nytimes.com in Windows/Linux 14478 14479 QNetworkReplyHandler is ignoring content associated with 401 error. 14480 This causes the XHR response handling to fail. 14481 14482 Simon: Added also ProxyAuthenticationRequiredError, to handle the same 14483 case when going through proxies, as suggested by Prasanth. 14484 14485 * platform/network/qt/QNetworkReplyHandler.cpp: 14486 (WebCore::QNetworkReplyHandler::finish): 14487 144882009-07-10 Simon Hausmann <simon.hausmann@nokia.com> 14489 14490 Reviewed by Holger Freyther. 14491 14492 Enable HTML 5 Messaging to fix message channel Qt DRT failures in 14493 fast/events. 14494 14495 * WebCore.pro: 14496 144972009-07-09 Roland Steiner <rolandsteiner@google.com> 14498 14499 Reviewed by Maciej Stachowiak. 14500 14501 added InlineBox::isLeaf() 14502 firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore. 14503 firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree. 14504 Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox() 14505 Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes 14506 14507 Currently, these methods are called on RootInlineBox objects only, so above changes should not have 14508 any observable effect (only the removal of the square performance behavior could apply, 14509 but the conditions for that are probably of a rather theoretical nature). 14510 14511 * rendering/InlineBox.cpp: 14512 (WebCore::InlineBox::nextLeafChild): 14513 (WebCore::InlineBox::prevLeafChild): 14514 * rendering/InlineBox.h: 14515 (WebCore::InlineBox::isLeaf): 14516 * rendering/InlineFlowBox.cpp: 14517 (WebCore::InlineFlowBox::firstLeafChild): 14518 (WebCore::InlineFlowBox::lastLeafChild): 14519 * rendering/InlineFlowBox.h: 14520 (WebCore::InlineFlowBox::firstChild): 14521 (WebCore::InlineFlowBox::lastChild): 14522 (WebCore::InlineFlowBox::isLeaf): 14523 * rendering/RootInlineBox.cpp: 14524 (WebCore::RootInlineBox::closestLeafChildForXPos): 14525 145262009-07-09 Roland Steiner <rolandsteiner@google.com> 14527 14528 Reviewed by Maciej Stachowiak. 14529 14530 Added InlineBox::baselinePosition() and lineHeight() methods 14531 (adapted remaining code accordingly to use those methods) 14532 14533 No change in functionality. 14534 14535 * rendering/InlineBox.h: 14536 (WebCore::InlineBox::baselinePosition): 14537 (WebCore::InlineBox::lineHeight): 14538 * rendering/InlineFlowBox.cpp: 14539 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): 14540 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 14541 (WebCore::InlineFlowBox::placeBoxesVertically): 14542 145432009-07-09 Oliver Hunt <oliver@apple.com> 14544 14545 Reviewed by Maciej Stachowiak. 14546 14547 Bug 27142 - canPlayType() should return empty string for unsupported content 14548 <https://bugs.webkit.org/show_bug.cgi?id=27142> 14549 14550 Return "" instead of "no" for unsupport media types. 14551 14552 * html/HTMLMediaElement.cpp: 14553 (WebCore::HTMLMediaElement::canPlayType): 14554 145552009-07-09 Roland Steiner <rolandsteiner@google.com> 14556 14557 Reviewed by Maciej Stachowiak. 14558 14559 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags 14560 in that their end tags are optional if followed by <rp>/<rt>. 14561 14562 Also specify a new accessibility role "annotation" for <rp> and <rt>. 14563 14564 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing 14565 is not affected by whether ruby is rendered properly or not (in fact, it may 14566 be more profound without ruby layouting, since the contents of <rp> are not hidden). 14567 14568 Test: fast/ruby/parse-rp.html 14569 14570 * accessibility/AccessibilityObject.h: 14571 (WebCore::): 14572 * accessibility/AccessibilityRenderObject.cpp: 14573 (WebCore::AccessibilityRenderObject::roleValue): 14574 * html/HTMLElement.cpp: 14575 (WebCore::HTMLElement::endTagRequirement): 14576 (WebCore::HTMLElement::tagPriority): 14577 (WebCore::inlineTagList): 14578 * html/HTMLParser.cpp: 14579 (WebCore::HTMLParser::rpCreateErrorCheck): 14580 (WebCore::HTMLParser::rtCreateErrorCheck): 14581 (WebCore::HTMLParser::getNode): 14582 * html/HTMLParser.h: 14583 * html/HTMLTagNames.in: 14584 145852009-07-09 Dmitry Titov <dimich@chromium.org> 14586 14587 Not reviewed, fix for previous commit. 14588 14589 The change http://trac.webkit.org/changeset/45695 did not correctly 14590 enabled GTL and QT build flags. This caused layout tests failure. 14591 This is speculative fix for those failures. 14592 14593 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag. 14594 * WebCore.pro: ditto. 14595 * page/DOMWindow.idl: touched to cause recompile. 14596 * workers/WorkerContext.idl: ditto. 14597 145982009-07-09 Drew Wilson <atwilson@google.com> 14599 14600 Reviewed by Alexey Proskuryakov. 14601 14602 https://bugs.webkit.org/show_bug.cgi?id=26903 14603 14604 Turned on CHANNEL_MESSAGING by default because the MessageChannel API 14605 is now implemented for Web Workers and is reasonably stable. 14606 14607 Tests: fast/events/message-channel-gc-2.html 14608 fast/events/message-channel-gc-3.html 14609 fast/events/message-channel-gc-4.html 14610 fast/events/message-channel-gc.html 14611 fast/events/message-channel-listener-circular-ownership.html 14612 fast/events/message-port-clone.html 14613 fast/events/message-port-constructor-for-deleted-document.html 14614 fast/events/message-port-deleted-document.html 14615 fast/events/message-port-deleted-frame.html 14616 fast/events/message-port-inactive-document.html 14617 fast/events/message-port-no-wrapper.html 14618 fast/events/message-port.html 14619 fast/workers/worker-cloneport.html 14620 fast/workers/worker-messageport-gc.html 14621 fast/workers/worker-messageport.html 14622 14623 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING. 14624 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto. 14625 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto. 14626 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers. 14627 * WebCore/workers/WorkerContext.idl: ditto. 14628 14629 146302009-07-09 Pierre d'Herbemont <pdherbemont@apple.com> 14631 14632 Reviewed by Simon Fraser. 14633 14634 Full page zoom breaks remaining and elapsed time display in the <video> controller. 14635 https://bugs.webkit.org/show_bug.cgi?id=27123 14636 14637 We are changing the size of the time remaining and time elapsed field, to 14638 automatically hide them, when the controller is too short. 14639 14640 Because we toggle the size between 0 and the previous value of the 14641 controller, we miss any width change that may occur during full page zoom, 14642 and we fail to restore a correct width. 14643 14644 This change fixes that problem by using a cloned style on which we 14645 set the width to 0, and restoring the previous style when going back to 14646 the normal width. 14647 14648 We take care about properly using the cloned style or the pseudo style, 14649 by overriding styleForElement(). 14650 14651 * rendering/MediaControlElements.cpp: 14652 (WebCore::MediaControlElement::styleForElement): 14653 (WebCore::MediaControlElement::attach): 14654 (WebCore::MediaControlElement::updateStyle): 14655 (WebCore::MediaControlInputElement::styleForElement): 14656 (WebCore::MediaControlInputElement::attach): 14657 (WebCore::MediaControlInputElement::updateStyle): 14658 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 14659 (WebCore::MediaControlTimeDisplayElement::styleForElement): 14660 (WebCore::MediaControlTimeDisplayElement::setVisible): 14661 * rendering/MediaControlElements.h: 14662 * rendering/RenderMedia.cpp: 14663 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure 14664 we take in account the zoom level when deciding if we should hide the 14665 ellapsed and remaining time. 14666 146672009-07-09 Michael Nordman <michaeln@google.com> 14668 14669 Reviewed by Darin Adler. 14670 14671 Fix chromium build bustage due to Widget being a RefCounted class. 14672 https://bugs.webkit.org/show_bug.cgi?id=27139 14673 14674 * platform/chromium/PopupMenuChromium.cpp: 14675 * platform/chromium/PopupMenuChromium.h: 14676 146772009-07-09 Chris Fleizach <cfleizach@apple.com> 14678 14679 Reviewed by Darin Adler. 14680 14681 Bug 27130 - Need to implement ARIA role="toolbar" 14682 https://bugs.webkit.org/show_bug.cgi?id=27130 14683 14684 Test: platform/mac/accessibility/aria-toolbar.html 14685 14686 * accessibility/AccessibilityRenderObject.cpp: 14687 (WebCore::RoleEntry::): 14688 * accessibility/mac/AccessibilityObjectWrapper.mm: 14689 (-[AccessibilityObjectWrapper roleDescription]): 14690 146912009-07-09 Dimitri Glazkov <dglazkov@chromium.org> 14692 14693 Reviewed by Darin Fisher. 14694 14695 [Chromium] Upstream WebCore.gypi, the project file for Chromium build. 14696 https://bugs.webkit.org/show_bug.cgi?id=27135 14697 14698 * WebCore.gypi: Added. 14699 147002009-07-09 Jon Honeycutt <jhoneycutt@apple.com> 14701 14702 A more robust fix for <rdar://problem/6930280> Reproducible crash at 14703 USA Today photo gallery 14704 14705 Reviewed by Steve Falkenburg. 14706 14707 * plugins/win/PluginMessageThrottlerWin.cpp: 14708 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): 14709 Protect the PluginView from destruction before calling its window proc. 14710 147112009-07-09 Jon Honeycutt <jhoneycutt@apple.com> 14712 14713 <rdar://problem/6978804> WER #16: Repro Access Violation in 14714 WebCore::PluginView::bindingInstance (1310178023) 14715 14716 Reviewed by Darin Adler. 14717 14718 * plugins/PluginView.cpp: 14719 (WebCore::PluginView::bindingInstance): 14720 Protect the PluginView from destruction before calling NPN_GetValue. If 14721 the renderer for the PluginView was destroyed during the call, and the 14722 PluginView's ref count is now 1, return null. 14723 147242009-07-09 Jon Honeycutt <jhoneycutt@apple.com> 14725 14726 Speculative fix for <rdar://problem/6991251> WER #13: Crash in 14727 WebKit!WebCore::PluginView::performRequest+203 (1311461169) 14728 14729 Reviewed by Darin Adler. 14730 14731 * plugins/PluginView.cpp: 14732 (WebCore::PluginView::performRequest): 14733 Protect the PluginView from destruction before performing a load. 14734 Removed some trailing whitespace. 14735 147362009-07-09 Jon Honeycutt <jhoneycutt@apple.com> 14737 14738 Build fix. 14739 14740 * inspector/JavaScriptDebugServer.cpp: 14741 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 14742 147432009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com> 14744 14745 Reviewed by Dave Hyatt. 14746 14747 Make Widget RefCounted to fix or make fixable: 14748 14749 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 14750 at WebCore::Widget::afterMouseDown() after clicking To Do's close 14751 box 14752 <rdar://problem/6978804> WER #16: Repro Access Violation in 14753 WebCore::PluginView::bindingInstance (1310178023) 14754 -and- 14755 <rdar://problem/6991251> WER #13: Crash in WebKit! 14756 WebCore::PluginView::performRequest+203 (1311461169) 14757 14758 * loader/EmptyClients.h: 14759 (WebCore::EmptyFrameLoaderClient::createPlugin): 14760 Changed to return PassRefPtr 14761 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): 14762 Ditto. 14763 14764 * loader/FrameLoader.cpp: 14765 (WebCore::FrameLoader::loadSubframe): 14766 (WebCore::FrameLoader::loadPlugin): 14767 Make the widget variable a RefPtr. Use .get() when passing it to 14768 RenderPart::setWidget(). 14769 (WebCore::FrameLoader::createJavaAppletWidget): 14770 Make the widget variable a RefPtr. 14771 14772 * loader/FrameLoader.h: 14773 Changed the return type of createJavaAppletWidget(). 14774 14775 * loader/FrameLoaderClient.h: 14776 Change the return types of createPlugin() and 14777 createJavaAppletWidget(). 14778 14779 * page/Frame.cpp: 14780 (WebCore::Frame::createView): 14781 No need to call .get() since setWidget() takes a RefPtr. 14782 14783 * page/FrameView.cpp: 14784 (WebCore::FrameView::layoutIfNeededRecursive): 14785 children() now returns a HashSet of RefPtrs. 14786 14787 * page/FrameView.h: 14788 Remove inheritance from RefCounted; we pick this up from ScrollView 14789 through Widget. 14790 14791 * platform/ScrollView.cpp: 14792 (WebCore::ScrollView::addChild): 14793 addChild() now takes a PassRefPtr and m_children now keeps a 14794 HashSet of RefPtrs. 14795 14796 * platform/ScrollView.h: 14797 ScrollView constructor is now protected. 14798 (WebCore::ScrollView::children): 14799 m_children is now a HashSet of RefPtrs. 14800 14801 * platform/Scrollbar.h: 14802 Remove inheritance from RefCounted; we pick this up from ScrollView 14803 through Widget. 14804 14805 * platform/Widget.h: 14806 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 14807 a RefPtr. 14808 14809 * plugins/PluginView.cpp: 14810 (WebCore::PluginView::create): 14811 Adopt the PluginView when returning it. 14812 14813 * plugins/PluginView.h: 14814 Changed create() to return a PassRefPtr. 14815 14816 * rendering/RenderApplet.cpp: 14817 Receive result in a RefPtr when calling createJavaAppletWidget(). 14818 14819 * rendering/RenderPart.cpp: 14820 (WebCore::RenderPart::setWidget): 14821 setWidget() now takes a PassRefPtr. Also removed the manual ref of 14822 FrameViews. This is handled by having m_widget be a RefPtr. Removed 14823 deleteWidget(). 14824 14825 * rendering/RenderPart.h: 14826 Removed override of deleteWidget(). 14827 14828 * rendering/RenderWidget.cpp: 14829 (WebCore::RenderWidget::destroy): 14830 (WebCore::RenderWidget::setWidget): 14831 (WebCore::RenderWidget::paint): 14832 (WebCore::RenderWidget::setOverlapTestResult): 14833 (WebCore::RenderWidget::updateWidgetPosition): 14834 Use .get(). 14835 (WebCore::RenderWidget::clearWidget): 14836 Don't call deleteWidget(). It was removed. 14837 14838 * rendering/RenderWidget.h: 14839 Removed deleteWidget(). Made m_widget a RefPtr. 14840 (WebCore::RenderWidget::widget): 14841 Use .get(). 14842 148432009-07-09 Chris Fleizach <cfleizach@apple.com> 14844 14845 Reviewed by Darin Adler. 14846 14847 Bug 27129 - AX: possible assertion for a non-native image in accessibility 14848 https://bugs.webkit.org/show_bug.cgi?id=27129 14849 14850 It's possible for an image that is not really an image to assert, because its renderer 14851 is turned into a RenderImage. 14852 14853 Test: accessibility/non-native-image-crash.html 14854 14855 * accessibility/AccessibilityRenderObject.cpp: 14856 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 14857 (WebCore::RoleEntry::): 14858 * accessibility/mac/AccessibilityObjectWrapper.mm: 14859 (-[AccessibilityObjectWrapper roleDescription]): 14860 148612009-07-09 Simon Fraser <simon.fraser@apple.com> 14862 14863 Build fix for SnowLeopard. 14864 14865 Avoid using the contentsTransform methods if not on Leopard, because 14866 we don't need to call them. 14867 14868 * platform/graphics/mac/GraphicsLayerCA.mm: 14869 (WebCore::GraphicsLayerCA::updateContentsTransform): 14870 * platform/graphics/mac/WebLayer.mm: 14871 (-[WebLayer setNeedsDisplayInRect:]): 14872 * platform/graphics/mac/WebTiledLayer.mm: 14873 (-[WebTiledLayer setNeedsDisplayInRect:]): 14874 148752009-07-09 Simon Fraser <simon.fraser@apple.com> 14876 14877 Reviewed by Dave Hyatt 14878 14879 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped] 14880 is not available. 14881 <rdar://problem/6120614> 14882 14883 * platform/graphics/GraphicsLayer.h: 14884 (WebCore::GraphicsLayer::setContentsOrientation): 14885 (WebCore::GraphicsLayer::contentsOrientation): 14886 * platform/graphics/GraphicsLayer.cpp: 14887 (WebCore::GraphicsLayer::GraphicsLayer): 14888 Add a m_contentsOrientation member and getter/setter to control whether 14889 the contents of this layer have a transform applied to them before display. 14890 14891 * platform/graphics/mac/GraphicsLayerCA.h: 14892 New method to return the default contents orientation. 14893 14894 * platform/graphics/mac/GraphicsLayerCA.mm: 14895 (WebCore::flipTransform): 14896 Convenience method to return a transform with a Y flip. 14897 14898 (WebCore::GraphicsLayerCA::GraphicsLayerCA): 14899 (WebCore::GraphicsLayerCA::setSize): 14900 After the size changes we have to update the contentsTransform. 14901 14902 (WebCore::GraphicsLayerCA::setGeometryOrientation): 14903 (WebCore::GraphicsLayerCA::geometryOrientation): 14904 If -setGeometryFlipped: is not available, use a children transform. 14905 14906 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 14907 Tiled layers have issues with flipped contentsTransform, so just use 14908 top-down drawing for them. Call updateContentsTransform() to set the 14909 new contents transform after swapping layers. 14910 14911 (WebCore::GraphicsLayerCA::defaultContentsOrientation): 14912 Use bottom-up when -geometryFlipped is not available, otherwise top-down. 14913 14914 (WebCore::GraphicsLayerCA::updateContentsTransform): 14915 Set the layer contents transform based on contentsOrientation(). 14916 14917 (WebCore::GraphicsLayerCA::setContentsLayer): 14918 We have to manually flip contents layers if we're not using -geometryFlipped. 14919 14920 * platform/graphics/mac/WebLayer.h: 14921 * platform/graphics/mac/WebLayer.mm: 14922 Do early return if layerContents is nil. Flip the CTM if the layer has 14923 bottom-up coordinates, so that CG sees a CTM with no flip. 14924 Do the CGContextRestoreGState() after drawing the debug indicator. 14925 14926 (-[WebLayer setNeedsDisplayInRect:]): 14927 * platform/graphics/mac/WebTiledLayer.mm: 14928 (-[WebTiledLayer setNeedsDisplayInRect:]): 14929 Need to map the dirty rect through the contentsTransform. 14930 149312009-07-09 Alexey Proskuryakov <ap@webkit.org> 14932 14933 Reviewed by Geoff Garen. 14934 14935 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects. 14936 14937 Can't test this functionality with layout tests. 14938 14939 * WebCore.base.exp: 14940 * history/HistoryItem.cpp: 14941 (WebCore::HistoryItem::recordVisitAtTime): 14942 (WebCore::HistoryItem::visited): 14943 * history/HistoryItem.h: 14944 Only increase visit count if explicitly told to. Now, some visits change last access time, 14945 but do not increase visit count. 14946 149472009-07-09 Eric Carlson <eric.carlson@apple.com> 14948 14949 Reviewed by Simon Fraser. 14950 14951 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3 14952 14953 Require QuickTime 7.6.3 or higher to enable the new media controller UI. 14954 14955 * rendering/RenderThemeMac.mm: 14956 (WebCore::mediaControllerTheme): 14957 149582009-07-09 Sam Weinig <sam@webkit.org> 14959 14960 Reviewed by Beth Dakin. 14961 14962 Remove incorrect comment. 14963 14964 * page/MouseEventWithHitTestResults.h: 14965 149662009-07-09 Mads Ager <ager@chromium.org> 14967 14968 Reviewed by Dimitri Glazkov. 14969 14970 Update the V8 bindings codegenerator to use the RGBColor::create 14971 method to handle refcounts for RGBColor objects correctly. 14972 14973 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects. 14974 149752009-07-09 Eric Carlson <eric.carlson@apple.com> 14976 14977 Reviewed by Adele Peterson. 14978 14979 Crash in RenderMedia::styleDidChange. 14980 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 14981 media element (RenderMedia::styleDidChange + 115) 14982 14983 Speculative fix for crash in styleDidChange. Null check controller elements before tell 14984 them to update style. 14985 14986 * rendering/RenderMedia.cpp: 14987 (WebCore::RenderMedia::styleDidChange): 14988 149892009-07-09 Adam Barth <abarth@webkit.org> 14990 14991 Reviewed by Dimitri Glazkov. 14992 14993 [V8] Move V8DOMWrapper to its own file 14994 https://bugs.webkit.org/show_bug.cgi?id=27121 14995 14996 * bindings/v8/V8DOMWrapper.cpp: Added. 14997 (WebCore::GetToStringName): 14998 (WebCore::ConstructorToString): 14999 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): 15000 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 15001 (WebCore::V8DOMWrapper::domObjectHasJSWrapper): 15002 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): 15003 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): 15004 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): 15005 (WebCore::V8DOMWrapper::getTemplate): 15006 (WebCore::V8DOMWrapper::convertToV8Object): 15007 (WebCore::V8DOMWrapper::setHiddenWindowReference): 15008 (WebCore::V8DOMWrapper::domWrapperType): 15009 (WebCore::V8DOMWrapper::convertToNativeObjectImpl): 15010 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 15011 (WebCore::V8DOMWrapper::lookupDOMWrapper): 15012 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): 15013 (WebCore::V8DOMWrapper::wrapNativeNodeFilter): 15014 (WebCore::V8DOMWrapper::instantiateV8Object): 15015 (WebCore::V8DOMWrapper::setDOMWrapper): 15016 (WebCore::V8DOMWrapper::maybeDOMWrapper): 15017 (WebCore::V8DOMWrapper::isDOMEventWrapper): 15018 (WebCore::V8DOMWrapper::isWrapperOfType): 15019 (WebCore::V8DOMWrapper::htmlElementType): 15020 (WebCore::V8DOMWrapper::svgElementType): 15021 (WebCore::V8DOMWrapper::convertEventToV8Object): 15022 (WebCore::): 15023 (WebCore::V8DOMWrapper::convertNodeToV8Object): 15024 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 15025 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 15026 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): 15027 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): 15028 (WebCore::V8DOMWrapper::convertCSSValueToV8Object): 15029 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): 15030 (WebCore::V8DOMWrapper::convertWindowToV8Object): 15031 * bindings/v8/V8DOMWrapper.h: Added. 15032 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 15033 (WebCore::V8DOMWrapper::wrapCPointer): 15034 (WebCore::V8DOMWrapper::extractCPointer): 15035 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 15036 (WebCore::V8DOMWrapper::convertToV8Object): 15037 (WebCore::V8DOMWrapper::convertToNativeObject): 15038 (WebCore::V8DOMWrapper::convertToNativeEvent): 15039 (WebCore::V8DOMWrapper::extractCPointerImpl): 15040 (WebCore::V8DOMWrapper::instantiateV8Object): 15041 * bindings/v8/V8Proxy.cpp: 15042 * bindings/v8/V8Proxy.h: 15043 150442009-07-09 David Hyatt <hyatt@apple.com> 15045 15046 Reviewed by Adele Peterson. 15047 15048 Crash in setFocusedFrame. 15049 <rdar://7032869> Crashing in setFocusedFrame on blogger.com. 15050 15051 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire 15052 the events only after the local member has been updated. 15053 15054 * page/FocusController.cpp: 15055 (WebCore::FocusController::setFocusedFrame): 15056 150572009-07-09 Eric Carlson <eric.carlson@apple.com> 15058 15059 Reviewed by Adele Peterson. 15060 15061 Possible crashes when mouse clicks not dispatched because range input destroyed while 15062 thumb is being dragged (e.g. scrub to end of movie) 15063 <rdar://problem/7037494> 15064 https://bugs.webkit.org/show_bug.cgi?id=27101 15065 15066 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 15067 get mouse events even when the mouse is moved outside of the node. This is done by putting 15068 EventHandler into a mode where it sends all mouse events to the node regardless of the 15069 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the 15070 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues 15071 to try to send events to the deleted node. This sometimes results in a crash, and sometimes 15072 in a page that doesn't respond to click events. 15073 15074 Tests: fast/forms/search-delete-while-cancel-button-clicked.html 15075 fast/forms/slider-delete-while-dragging-thumb.html 15076 media/audio-delete-while-slider-thumb-clicked.html 15077 media/audio-delete-while-step-button-clicked.html 15078 15079 * rendering/MediaControlElements.cpp: 15080 (WebCore::MediaControlSeekButtonElement::detach): 15081 New, call setCapturingMouseEventsNode if capturing mouse events. 15082 * rendering/MediaControlElements.h: 15083 Declare detach(). 15084 15085 * rendering/RenderSlider.cpp: 15086 (WebCore::SliderThumbElement::detach): 15087 New, call setCapturingMouseEventsNode if capturing mouse events. 15088 15089 * rendering/TextControlInnerElements.cpp: 15090 (WebCore::SearchFieldCancelButtonElement::detach): 15091 New, call setCapturingMouseEventsNode if capturing mouse events. 15092 * rendering/TextControlInnerElements.h: 15093 Declare detach(). 15094 150952009-07-09 Yury Semikhatsky <yurys@chromium.org> 15096 15097 Reviewed by Dimitri Glazkov. 15098 15099 Enter the Frame's context before creating new objects in setContextDebugId. 15100 15101 https://bugs.webkit.org/show_bug.cgi?id=27112 15102 15103 * bindings/v8/V8Proxy.cpp: 15104 (WebCore::V8Proxy::setContextDebugId): 15105 151062009-07-09 Simon Hausmann <hausmann@webkit.org> 15107 15108 Fix the Qt build. 15109 15110 * WebCore.pro: Add new storage impl files to the build. 15111 151122009-07-08 Adam Barth <abarth@webkit.org> 15113 15114 Rubber stamped by Eric Seidel. 15115 15116 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper 15117 https://bugs.webkit.org/show_bug.cgi?id=27107 15118 15119 This patch is just renaming. Code motion will occur next. 15120 15121 * bindings/scripts/CodeGeneratorV8.pm: 15122 * bindings/v8/ScriptController.cpp: 15123 (WebCore::ScriptController::processingUserGesture): 15124 (WebCore::createScriptObject): 15125 (WebCore::ScriptController::createScriptObjectForPluginElement): 15126 * bindings/v8/ScriptObject.cpp: 15127 (WebCore::ScriptGlobalObject::set): 15128 * bindings/v8/ScriptObjectQuarantine.cpp: 15129 (WebCore::getQuarantinedScriptObject): 15130 * bindings/v8/V8AbstractEventListener.cpp: 15131 (WebCore::V8AbstractEventListener::handleEvent): 15132 (WebCore::V8AbstractEventListener::getReceiverObject): 15133 * bindings/v8/V8Collection.cpp: 15134 (WebCore::toOptionsCollectionSetter): 15135 * bindings/v8/V8Collection.h: 15136 (WebCore::getV8Object): 15137 (WebCore::getNamedPropertyOfCollection): 15138 (WebCore::nodeCollectionNamedPropertyGetter): 15139 (WebCore::getIndexedPropertyOfCollection): 15140 (WebCore::nodeCollectionIndexedPropertyGetter): 15141 (WebCore::nodeCollectionIndexedPropertyEnumerator): 15142 (WebCore::collectionIndexedPropertyEnumerator): 15143 (WebCore::collectionStringOrNullIndexedPropertyGetter): 15144 * bindings/v8/V8DOMMap.cpp: 15145 (WebCore::DOMData::handleWeakObject): 15146 (WebCore::DOMData::removeObjectsFromWrapperMap): 15147 * bindings/v8/V8GCController.cpp: 15148 (WebCore::enumerateDOMObjectMap): 15149 (WebCore::DOMObjectVisitor::visitDOMWrapper): 15150 (WebCore::GCPrologueVisitor::visitDOMWrapper): 15151 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 15152 * bindings/v8/V8Helpers.cpp: 15153 (WebCore::wrapNPObject): 15154 * bindings/v8/V8NodeFilterCondition.cpp: 15155 (WebCore::V8NodeFilterCondition::acceptNode): 15156 * bindings/v8/V8Proxy.cpp: 15157 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): 15158 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 15159 (WebCore::V8DOMWrapper::domObjectHasJSWrapper): 15160 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): 15161 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): 15162 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): 15163 (WebCore::V8Proxy::evaluateInNewContext): 15164 (WebCore::V8Proxy::getConstructor): 15165 (WebCore::V8DOMWrapper::getTemplate): 15166 (WebCore::V8Proxy::retrieveWindow): 15167 (WebCore::V8Proxy::updateDocumentWrapperCache): 15168 (WebCore::V8Proxy::clearForNavigation): 15169 (WebCore::V8Proxy::installDOMWindow): 15170 (WebCore::setDOMExceptionHelper): 15171 (WebCore::V8DOMWrapper::convertToV8Object): 15172 (WebCore::V8DOMWrapper::setHiddenWindowReference): 15173 (WebCore::V8DOMWrapper::domWrapperType): 15174 (WebCore::V8DOMWrapper::convertToNativeObjectImpl): 15175 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): 15176 (WebCore::V8DOMWrapper::lookupDOMWrapper): 15177 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper): 15178 (WebCore::V8DOMWrapper::wrapNativeNodeFilter): 15179 (WebCore::V8DOMWrapper::instantiateV8Object): 15180 (WebCore::V8DOMWrapper::setDOMWrapper): 15181 (WebCore::V8DOMWrapper::maybeDOMWrapper): 15182 (WebCore::V8DOMWrapper::isDOMEventWrapper): 15183 (WebCore::V8DOMWrapper::isWrapperOfType): 15184 (WebCore::V8DOMWrapper::htmlElementType): 15185 (WebCore::V8DOMWrapper::svgElementType): 15186 (WebCore::V8DOMWrapper::convertEventToV8Object): 15187 (WebCore::V8DOMWrapper::convertNodeToV8Object): 15188 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 15189 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 15190 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): 15191 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): 15192 (WebCore::V8DOMWrapper::convertCSSValueToV8Object): 15193 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): 15194 (WebCore::V8DOMWrapper::convertWindowToV8Object): 15195 (WebCore::V8Proxy::bindJsObjectToWindow): 15196 * bindings/v8/V8Proxy.h: 15197 (WebCore::V8DOMWrapper::convertDOMWrapperToNative): 15198 (WebCore::V8DOMWrapper::wrapCPointer): 15199 (WebCore::V8DOMWrapper::extractCPointer): 15200 (WebCore::V8DOMWrapper::convertDOMWrapperToNode): 15201 (WebCore::V8DOMWrapper::convertToV8Object): 15202 (WebCore::V8DOMWrapper::convertToNativeObject): 15203 (WebCore::V8DOMWrapper::convertToNativeEvent): 15204 (WebCore::V8DOMWrapper::extractCPointerImpl): 15205 (WebCore::V8DOMWrapper::instantiateV8Object): 15206 (WebCore::V8Proxy::constructDOMObject): 15207 (WebCore::toV8): 15208 * bindings/v8/V8SVGPODTypeWrapper.h: 15209 (WebCore::V8SVGPODTypeUtil::toSVGPODType): 15210 * bindings/v8/WorkerContextExecutionProxy.cpp: 15211 (WebCore::WorkerContextExecutionProxy::retrieve): 15212 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 15213 (WebCore::WorkerContextExecutionProxy::GetConstructor): 15214 (WebCore::WorkerContextExecutionProxy::ToV8Object): 15215 (WebCore::WorkerContextExecutionProxy::EventToV8Object): 15216 (WebCore::WorkerContextExecutionProxy::toV8): 15217 * bindings/v8/custom/V8AttrCustom.cpp: 15218 (WebCore::ACCESSOR_SETTER): 15219 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 15220 (WebCore::NAMED_PROPERTY_GETTER): 15221 (WebCore::NAMED_PROPERTY_SETTER): 15222 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: 15223 (WebCore::INDEXED_PROPERTY_GETTER): 15224 (WebCore::INDEXED_PROPERTY_SETTER): 15225 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 15226 (WebCore::toV8): 15227 (WebCore::toCanvasStyle): 15228 (WebCore::ACCESSOR_GETTER): 15229 (WebCore::ACCESSOR_SETTER): 15230 (WebCore::CALLBACK_FUNC_DECL): 15231 * bindings/v8/custom/V8ClientRectListCustom.cpp: 15232 (WebCore::INDEXED_PROPERTY_GETTER): 15233 * bindings/v8/custom/V8ClipboardCustom.cpp: 15234 (WebCore::ACCESSOR_GETTER): 15235 (WebCore::CALLBACK_FUNC_DECL): 15236 * bindings/v8/custom/V8CustomBinding.cpp: 15237 (WebCore::ACCESSOR_GETTER): 15238 (WebCore::INDEXED_ACCESS_CHECK): 15239 (WebCore::NAMED_ACCESS_CHECK): 15240 (WebCore::V8Custom::GetTargetFrame): 15241 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 15242 (WebCore::V8CustomSQLStatementCallback::handleEvent): 15243 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 15244 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 15245 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 15246 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 15247 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 15248 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 15249 * bindings/v8/custom/V8DOMWindowCustom.cpp: 15250 (WebCore::V8Custom::WindowSetTimeoutImpl): 15251 (WebCore::ACCESSOR_SETTER): 15252 (WebCore::CALLBACK_FUNC_DECL): 15253 (WebCore::ACCESSOR_GETTER): 15254 (WebCore::INDEXED_PROPERTY_GETTER): 15255 (WebCore::NAMED_PROPERTY_GETTER): 15256 (WebCore::V8Custom::ClearTimeoutImpl): 15257 (WebCore::NAMED_ACCESS_CHECK): 15258 (WebCore::INDEXED_ACCESS_CHECK): 15259 * bindings/v8/custom/V8DatabaseCustom.cpp: 15260 (WebCore::CALLBACK_FUNC_DECL): 15261 * bindings/v8/custom/V8DocumentCustom.cpp: 15262 (WebCore::CALLBACK_FUNC_DECL): 15263 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 15264 (WebCore::ACCESSOR_GETTER): 15265 (WebCore::ACCESSOR_SETTER): 15266 * bindings/v8/custom/V8ElementCustom.cpp: 15267 (WebCore::CALLBACK_FUNC_DECL): 15268 (WebCore::ACCESSOR_SETTER): 15269 (WebCore::ACCESSOR_GETTER): 15270 * bindings/v8/custom/V8EventCustom.cpp: 15271 (WebCore::ACCESSOR_SETTER): 15272 (WebCore::ACCESSOR_GETTER): 15273 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 15274 (WebCore::CALLBACK_FUNC_DECL): 15275 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 15276 (WebCore::CALLBACK_FUNC_DECL): 15277 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 15278 (WebCore::getNamedItems): 15279 (WebCore::getItem): 15280 (WebCore::NAMED_PROPERTY_GETTER): 15281 (WebCore::CALLBACK_FUNC_DECL): 15282 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 15283 (WebCore::NAMED_PROPERTY_GETTER): 15284 (WebCore::CALLBACK_FUNC_DECL): 15285 (WebCore::ACCESSOR_GETTER): 15286 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 15287 (WebCore::INDEXED_PROPERTY_GETTER): 15288 (WebCore::NAMED_PROPERTY_GETTER): 15289 (WebCore::CALLBACK_FUNC_DECL): 15290 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 15291 (WebCore::ACCESSOR_SETTER): 15292 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 15293 (WebCore::NAMED_PROPERTY_GETTER): 15294 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 15295 (WebCore::ACCESSOR_SETTER): 15296 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 15297 (WebCore::CALLBACK_FUNC_DECL): 15298 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 15299 (WebCore::ACCESSOR_GETTER): 15300 (WebCore::ACCESSOR_SETTER): 15301 (WebCore::CALLBACK_FUNC_DECL): 15302 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 15303 (WebCore::CALLBACK_FUNC_DECL): 15304 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 15305 (WebCore::CALLBACK_FUNC_DECL): 15306 (WebCore::ACCESSOR_GETTER): 15307 (WebCore::ACCESSOR_SETTER): 15308 (WebCore::INDEXED_PROPERTY_GETTER): 15309 (WebCore::INDEXED_PROPERTY_SETTER): 15310 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 15311 (WebCore::NAMED_PROPERTY_GETTER): 15312 (WebCore::NAMED_PROPERTY_SETTER): 15313 (WebCore::INDEXED_PROPERTY_GETTER): 15314 (WebCore::INDEXED_PROPERTY_SETTER): 15315 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 15316 (WebCore::NAMED_PROPERTY_GETTER): 15317 (WebCore::INDEXED_PROPERTY_SETTER): 15318 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 15319 (WebCore::CALLBACK_FUNC_DECL): 15320 (WebCore::removeElement): 15321 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 15322 (WebCore::CALLBACK_FUNC_DECL): 15323 * bindings/v8/custom/V8LocationCustom.cpp: 15324 (WebCore::ACCESSOR_SETTER): 15325 (WebCore::ACCESSOR_GETTER): 15326 (WebCore::CALLBACK_FUNC_DECL): 15327 (WebCore::INDEXED_ACCESS_CHECK): 15328 (WebCore::NAMED_ACCESS_CHECK): 15329 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 15330 (WebCore::CALLBACK_FUNC_DECL): 15331 * bindings/v8/custom/V8MessagePortCustom.cpp: 15332 (WebCore::ACCESSOR_GETTER): 15333 (WebCore::ACCESSOR_SETTER): 15334 (WebCore::CALLBACK_FUNC_DECL): 15335 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 15336 (WebCore::INDEXED_PROPERTY_GETTER): 15337 (WebCore::NAMED_PROPERTY_GETTER): 15338 * bindings/v8/custom/V8NavigatorCustom.cpp: 15339 (WebCore::ACCESSOR_GETTER): 15340 * bindings/v8/custom/V8NodeCustom.cpp: 15341 (WebCore::CALLBACK_FUNC_DECL): 15342 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 15343 (WebCore::toV8): 15344 (WebCore::CALLBACK_FUNC_DECL): 15345 * bindings/v8/custom/V8NodeListCustom.cpp: 15346 (WebCore::NAMED_PROPERTY_GETTER): 15347 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 15348 (WebCore::CALLBACK_FUNC_DECL): 15349 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 15350 (WebCore::CALLBACK_FUNC_DECL): 15351 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 15352 (WebCore::CALLBACK_FUNC_DECL): 15353 * bindings/v8/custom/V8SVGLengthCustom.cpp: 15354 (WebCore::ACCESSOR_GETTER): 15355 (WebCore::CALLBACK_FUNC_DECL): 15356 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 15357 (WebCore::CALLBACK_FUNC_DECL): 15358 * bindings/v8/custom/V8StorageCustom.cpp: 15359 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 15360 (WebCore::storageGetter): 15361 (WebCore::storageSetter): 15362 (WebCore::storageDeleter): 15363 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 15364 (WebCore::NAMED_PROPERTY_GETTER): 15365 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 15366 (WebCore::toV8): 15367 (WebCore::CALLBACK_FUNC_DECL): 15368 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 15369 (WebCore::CALLBACK_FUNC_DECL): 15370 * bindings/v8/custom/V8WorkerContextCustom.cpp: 15371 (WebCore::ACCESSOR_GETTER): 15372 (WebCore::ACCESSOR_SETTER): 15373 (WebCore::SetTimeoutOrInterval): 15374 (WebCore::CALLBACK_FUNC_DECL): 15375 * bindings/v8/custom/V8WorkerCustom.cpp: 15376 (WebCore::CALLBACK_FUNC_DECL): 15377 (WebCore::ACCESSOR_GETTER): 15378 (WebCore::ACCESSOR_SETTER): 15379 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 15380 (WebCore::CALLBACK_FUNC_DECL): 15381 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 15382 (WebCore::ACCESSOR_GETTER): 15383 (WebCore::ACCESSOR_SETTER): 15384 (WebCore::CALLBACK_FUNC_DECL): 15385 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 15386 (WebCore::ACCESSOR_GETTER): 15387 (WebCore::ACCESSOR_SETTER): 15388 (WebCore::CALLBACK_FUNC_DECL): 15389 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 15390 (WebCore::CALLBACK_FUNC_DECL): 15391 153922009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> 15393 15394 Reviewed by Simon Fraser. 15395 15396 Make sure we can click outside the slider thumb and start dragging. 15397 https://bugs.webkit.org/show_bug.cgi?id=26229 15398 15399 Previously we were assuming that if the thumb hasn't been clicked, we 15400 wouldn't issue any value change upon dragging. 15401 15402 We need to handle the two different cases: 15403 - Clicked in the thumb, we need to make sure the cursor is always pointing 15404 the same slider thumb point. 15405 - Clicked outside, the cursor should always be pointing to the center of 15406 the thumb. 15407 15408 For simplicity, we don't remember the original point of the mouse down, 15409 but a vector between that point and the thumb. 15410 15411 * rendering/RenderSlider.cpp: 15412 (WebCore::SliderThumbElement::SliderThumbElement): 15413 (WebCore::SliderThumbElement::defaultEventHandler): 15414 (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function. 15415 * rendering/RenderSlider.h: 15416 154172009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> 15418 15419 Reviewed by Simon Fraser. 15420 15421 https://bugs.webkit.org/show_bug.cgi?id=27100 15422 <rdar://problem/7042621> 15423 15424 Don't display "loading" in the <video> controller when 15425 there is no src specified. 15426 15427 * rendering/MediaControlElements.cpp: 15428 (WebCore::MediaControlStatusDisplayElement::update): The only 15429 way to find out if we have an element is currentSrc(). networkState() 15430 will always report LOADING according to the spec. 15431 154322009-07-08 Adam Barth <abarth@webkit.org> 15433 15434 Reviewed by Eric Seidel. 15435 15436 [V8] Move V8GCController functions to their own file 15437 https://bugs.webkit.org/show_bug.cgi?id=27102 15438 15439 * bindings/v8/V8GCController.cpp: Added. 15440 * bindings/v8/V8GCController.h: Added. 15441 * bindings/v8/V8Proxy.cpp: 15442 * bindings/v8/V8Proxy.h: 15443 154442009-07-08 Jeremy Orlow <jorlow@chromium.org> 15445 15446 Reviewed by Darin Fisher. 15447 15448 Split StorageArea and StorageNamespace into an interface and implementation. 15449 https://bugs.webkit.org/show_bug.cgi?id=27072 15450 15451 I need to split StorageNamespace and StorageArea into an interface and 15452 implementation. In a later patch, I'll implement a proxy interface 15453 that'll run inside the Chromium renderer process. 15454 15455 Additionally, fix the alphabetical ordering of files I recently added 15456 in the project files. 15457 15458 This is a continuation of other refactoring work: 15459 https://bugs.webkit.org/show_bug.cgi?id=25376 15460 15461 * GNUmakefile.am: 15462 * WebCore.vcproj/WebCore.vcproj: 15463 * WebCore.xcodeproj/project.pbxproj: 15464 * WebCoreSources.bkl: 15465 * storage/StorageArea.cpp: 15466 (WebCore::StorageArea::create): 15467 * storage/StorageArea.h: 15468 (WebCore::StorageArea::~StorageArea): 15469 * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp. 15470 (WebCore::StorageAreaImpl::create): 15471 (WebCore::StorageAreaImpl::~StorageAreaImpl): 15472 (WebCore::StorageAreaImpl::StorageAreaImpl): 15473 (WebCore::StorageAreaImpl::copy): 15474 (WebCore::StorageAreaImpl::length): 15475 (WebCore::StorageAreaImpl::key): 15476 (WebCore::StorageAreaImpl::getItem): 15477 (WebCore::StorageAreaImpl::setItem): 15478 (WebCore::StorageAreaImpl::removeItem): 15479 (WebCore::StorageAreaImpl::clear): 15480 (WebCore::StorageAreaImpl::contains): 15481 (WebCore::StorageAreaImpl::importItem): 15482 (WebCore::StorageAreaImpl::securityOrigin): 15483 (WebCore::StorageAreaImpl::close): 15484 (WebCore::StorageAreaImpl::blockUntilImportComplete): 15485 (WebCore::StorageAreaImpl::dispatchStorageEvent): 15486 * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h. 15487 * storage/StorageAreaSync.h: 15488 * storage/StorageNamespace.cpp: 15489 (WebCore::StorageNamespace::localStorageNamespace): 15490 (WebCore::StorageNamespace::sessionStorageNamespace): 15491 * storage/StorageNamespace.h: 15492 (WebCore::StorageNamespace::~StorageNamespace): 15493 * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp. 15494 (WebCore::StorageNamespaceImpl::localStorageNamespace): 15495 (WebCore::StorageNamespaceImpl::sessionStorageNamespace): 15496 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): 15497 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): 15498 (WebCore::StorageNamespaceImpl::copy): 15499 (WebCore::StorageNamespaceImpl::storageArea): 15500 (WebCore::StorageNamespaceImpl::close): 15501 * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h. 15502 155032009-07-08 Adam Barth <abarth@webkit.org> 15504 15505 Reviewed by Eric Seidel. 15506 15507 [V8] Move garbage collector related functions from V8Proxy to V8GCController 15508 https://bugs.webkit.org/show_bug.cgi?id=26967 15509 15510 This patch just moves the functions around in V8Proxy. We'll actually 15511 move them to a separate file in another patch. 15512 15513 * bindings/v8/NPV8Object.cpp: 15514 (freeV8NPObject): 15515 * bindings/v8/ScheduledAction.cpp: 15516 (WebCore::ScheduledAction::ScheduledAction): 15517 (WebCore::ScheduledAction::~ScheduledAction): 15518 * bindings/v8/ScriptController.cpp: 15519 (WebCore::ScriptController::gcProtectJSWrapper): 15520 (WebCore::ScriptController::gcUnprotectJSWrapper): 15521 * bindings/v8/ScriptInstance.cpp: 15522 (WebCore::V8ScriptInstance::clear): 15523 (WebCore::V8ScriptInstance::set): 15524 * bindings/v8/ScriptValue.h: 15525 (WebCore::ScriptValue::ScriptValue): 15526 (WebCore::ScriptValue::operator=): 15527 (WebCore::ScriptValue::clear): 15528 * bindings/v8/V8AbstractEventListener.cpp: 15529 (WebCore::V8AbstractEventListener::disposeListenerObject): 15530 * bindings/v8/V8LazyEventListener.cpp: 15531 (WebCore::V8LazyEventListener::~V8LazyEventListener): 15532 (WebCore::V8LazyEventListener::getListenerFunction): 15533 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 15534 * bindings/v8/V8NodeFilterCondition.cpp: 15535 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): 15536 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): 15537 * bindings/v8/V8Proxy.cpp: 15538 (WebCore::V8GCController::registerGlobalHandle): 15539 (WebCore::V8GCController::unregisterGlobalHandle): 15540 (WebCore::V8GCController::gcProtect): 15541 (WebCore::V8GCController::gcUnprotect): 15542 (WebCore::V8Proxy::destroyGlobal): 15543 (WebCore::V8Proxy::updateDocumentWrapper): 15544 (WebCore::V8Proxy::clearDocumentWrapper): 15545 (WebCore::V8Proxy::disposeContextHandles): 15546 (WebCore::V8Proxy::initContextIfNeeded): 15547 * bindings/v8/V8Proxy.h: 15548 (WebCore::): 15549 (WebCore::GlobalHandleInfo::GlobalHandleInfo): 15550 * bindings/v8/custom/V8CustomEventListener.cpp: 15551 (WebCore::V8EventListener::V8EventListener): 15552 155532009-07-08 Daniel Bates <dbates@intudata.com> 15554 15555 Reviewed by Adam Barth. 15556 15557 https://bugs.webkit.org/show_bug.cgi?id=26918 15558 15559 Prevents injection of HTML Base tag. 15560 15561 Tests: http/tests/security/xssAuditor/base-href-control-char.html 15562 http/tests/security/xssAuditor/base-href-null-char.html 15563 http/tests/security/xssAuditor/base-href-safe.html 15564 http/tests/security/xssAuditor/base-href-safe2.html 15565 http/tests/security/xssAuditor/base-href-scheme-relative.html 15566 http/tests/security/xssAuditor/base-href.html 15567 15568 * html/HTMLBaseElement.cpp: 15569 (WebCore::HTMLBaseElement::parseMappedAttribute): 15570 (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL 15571 to determine if it is safe to use base element URL. 15572 * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL. 15573 * page/XSSAuditor.cpp: 15574 (WebCore::XSSAuditor::canSetBaseElementURL): 15575 * page/XSSAuditor.h: 15576 155772009-07-08 Nate Chapin <japhet@chromium.org> 15578 15579 Reviewed by Dimitri Glazkov. 15580 15581 Upstream V8 npruntime bindings. 15582 15583 https://bugs.webkit.org/show_bug.cgi?id=27094 15584 15585 * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org. 15586 (StringKey::operator==): 15587 (StringKey::StringKeyHash::hash): 15588 (StringKey::StringKeyHash::equal): 15589 (StringKeyHashTraits::constructDeletedValue): 15590 (StringKeyHashTraits::isDeletedValue): 15591 (getStringIdentifierMap): 15592 (getIntIdentifierMap): 15593 * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org. 15594 * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org. 15595 * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org. 15596 155972009-07-08 Dumitru Daniliuc <dumi@chromium.org> 15598 15599 Reviewed by Darin Fisher. 15600 15601 Extending the PlatformFileHandle definition from PLATFORM(WIN) to 15602 PLATFORM(WIN_OS) 15603 15604 https://bugs.webkit.org/show_bug.cgi?id=27013 15605 15606 * platform/FileSystem.h: 15607 156082009-07-08 Daniel Bates <dbates@intudata.com> 15609 15610 Reviewed by Adam Barth. 15611 15612 https://bugs.webkit.org/show_bug.cgi?id=27071 15613 15614 Resolves issue when HTTP parameters contain null- and non-null-control- characters. 15615 15616 Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html 15617 http/tests/security/xssAuditor/embed-tag-control-char.html 15618 http/tests/security/xssAuditor/embed-tag-null-char.html 15619 http/tests/security/xssAuditor/embed-tag.html 15620 http/tests/security/xssAuditor/link-onclick-control-char.html 15621 http/tests/security/xssAuditor/link-onclick-null-char.html 15622 http/tests/security/xssAuditor/object-embed-tag-control-char.html 15623 http/tests/security/xssAuditor/object-embed-tag-null-char.html 15624 http/tests/security/xssAuditor/object-embed-tag.html 15625 http/tests/security/xssAuditor/object-tag.html 15626 http/tests/security/xssAuditor/script-tag-post-control-char.html 15627 http/tests/security/xssAuditor/script-tag-post-null-char.html 15628 http/tests/security/xssAuditor/script-tag-with-source-control-char.html 15629 http/tests/security/xssAuditor/script-tag-with-source-null-char.html 15630 15631 * page/XSSAuditor.cpp: 15632 (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL. 15633 (WebCore::XSSAuditor::canEvaluate): 15634 (WebCore::XSSAuditor::canCreateInlineEventListener): 15635 (WebCore::XSSAuditor::canLoadObject): 15636 (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters, 15637 and matchNonNullControlCharacters. 15638 (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters, 15639 and matchNonNullControlCharacters. 15640 * page/XSSAuditor.h: 15641 156422009-07-08 Marc-Antoine Ruel <maruel@chromium.org> 15643 15644 Reviewed by Dimitri Glazkov. 15645 15646 Add DerivesSourcesAllInOne.cpp to help with release windows compilation. 15647 https://bugs.webkit.org/show_bug.cgi?id=27093 15648 15649 This is specific for v8, no change in behavior. 15650 15651 * bindings/v8/DerivedSourcesAllInOne.cpp: Added. 15652 156532009-07-08 Pierre d'Herbemont <pdherbemont@apple.com> 15654 15655 Reviewed by Simon Fraser. 15656 15657 https://bugs.webkit.org/show_bug.cgi?id=27086 15658 15659 Make sure the Media controller doesn't fade in for no reason. 15660 This is happening because a update() call to the controller 15661 panel may reset the opacity to 1.0, given that it reloads the 15662 style. 15663 15664 We also add a different fade in and fade out time to soften 15665 the fade out effect. 15666 15667 No test case because this depends on how the movie is loaded. 15668 15669 * rendering/RenderMedia.cpp: 15670 (WebCore::RenderMedia::RenderMedia): 15671 (WebCore::RenderMedia::updateControls): 15672 (WebCore::RenderMedia::updateControlVisibility): Simplify 15673 , and make sure we stop the timer if there is no animation 15674 to do. 15675 (WebCore::RenderMedia::opacityAnimationTimerFired): 15676 * rendering/RenderMedia.h: 15677 156782009-07-08 David Kilzer <ddkilzer@apple.com> 15679 15680 Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER) 15681 15682 <https://bugs.webkit.org/show_bug.cgi?id=27081> 15683 15684 Reviewed by Timothy Hatcher. 15685 15686 * platform/cf/RunLoopTimerCF.cpp: This code is only used on 15687 Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code 15688 in that macro as well. 15689 156902009-07-08 Greg Bolsinga <bolsinga@apple.com> 15691 15692 Reviewed by Darin Adler. 15693 15694 Add -[WebView _isProcessingUserGesture] 15695 https://bugs.webkit.org/show_bug.cgi?id=27084 15696 15697 Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture() 15698 for clarity. 15699 15700 * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture() 15701 * html/HTMLMediaElement.cpp: 15702 (WebCore::HTMLMediaElement::processingUserGesture): 15703 * loader/FrameLoader.cpp: 15704 (WebCore::FrameLoader::requestFrame): 15705 (WebCore::FrameLoader::isProcessingUserGesture): 15706 * loader/FrameLoader.h: 15707 157082009-07-08 Alexey Proskuryakov <ap@webkit.org> 15709 15710 Reviewed (an earlier version) by Geoff Garen. 15711 15712 https://bugs.webkit.org/show_bug.cgi?id=27090 15713 Remove lockBackForwardList argument from HTMLFormElement::submit() 15714 15715 No change in behavior, so no tests. 15716 15717 * bindings/js/JSHTMLFormElementCustom.cpp: 15718 (WebCore::JSHTMLFormElement::submit): 15719 * html/HTMLFormElement.cpp: 15720 (WebCore::HTMLFormElement::submit): 15721 * html/HTMLFormElement.h: 15722 * loader/FrameLoader.cpp: 15723 (WebCore::FrameLoader::submitForm): 15724 (WebCore::FrameLoader::scheduleFormSubmission): 15725 * loader/FrameLoader.h: 15726 Don't pass lockBackForwardList around when it's known to be false. 15727 157282009-07-08 Marc-Antoine Ruel <maruel@chromium.org> 15729 15730 Reviewed by Adam Barth. 15731 15732 Fix V8 idl codegen to use unique constant names 15733 <https://bugs.webkit.org/show_bug.cgi?id=27089> 15734 15735 Embed the interface name in the global constant names so coagulating all 15736 the .cc files into one compile unit works with V8 bindings. 15737 15738 Nothing added; Still compiles and pass tests. 15739 15740 * bindings/scripts/CodeGeneratorV8.pm: 15741 157422009-07-08 Brent Fulgham <bfulgham@webkit.org> 15743 15744 Build fix: Add missing #includes for Windows (cURL) build. 15745 The <winsock2.h> and <windows.h> headers were not being 15746 included in Windows cURL builds. 15747 15748 * platform/network/ResourceHandleInternal.h: 15749 * platform/network/curl/ResourceHandleManager.h: 15750 157512009-07-08 Shinichiro Hamaji <hamaji@chromium.org> 15752 15753 Reviewed by David Kilzer. 15754 15755 WebKit needs a style linting tool 15756 https://bugs.webkit.org/show_bug.cgi?id=25884 15757 15758 Fix bunch of style issues in WebCore/rendering. 15759 This patch is created to demonstrate cpplint.py. 15760 15761 No testcase because it's just a style fixes. 15762 15763 * rendering/AutoTableLayout.cpp: 15764 (WebCore::AutoTableLayout::recalcColumn): 15765 (WebCore::AutoTableLayout::layout): 15766 * rendering/InlineFlowBox.cpp: 15767 (WebCore::InlineFlowBox::placeEllipsisBox): 15768 * rendering/InlineTextBox.cpp: 15769 (WebCore::InlineTextBox::paintTextMatchMarker): 15770 * rendering/MediaControlElements.cpp: 15771 (WebCore::MediaControlTimelineElement::defaultEventHandler): 15772 * rendering/MediaControlElements.h: 15773 * rendering/RenderArena.cpp: 15774 * rendering/RenderBlock.cpp: 15775 (WebCore::RenderBlock::startDelayUpdateScrollInfo): 15776 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 15777 (WebCore::RenderBlock::updateScrollInfoAfterLayout): 15778 (WebCore::RenderBlock::positionNewFloats): 15779 (WebCore::RenderBlock::newLine): 15780 (WebCore::RenderBlock::floatBottom): 15781 (WebCore::RenderBlock::leftBottom): 15782 (WebCore::RenderBlock::rightBottom): 15783 * rendering/RenderBox.cpp: 15784 (WebCore::RenderBox::calcReplacedWidthUsing): 15785 * rendering/RenderFieldset.cpp: 15786 (WebCore::RenderFieldset::layoutLegend): 15787 * rendering/RenderFlexibleBox.cpp: 15788 (WebCore::FlexBoxIterator::FlexBoxIterator): 15789 (WebCore::FlexBoxIterator::reset): 15790 (WebCore::FlexBoxIterator::first): 15791 (WebCore::FlexBoxIterator::next): 15792 (WebCore::RenderFlexibleBox::layoutVerticalBox): 15793 * rendering/RenderFrameSet.cpp: 15794 (WebCore::borderStartEdgeColor): 15795 * rendering/RenderFrameSet.h: 15796 * rendering/RenderImage.cpp: 15797 * rendering/RenderLayer.cpp: 15798 (WebCore::RenderLayer::updateVisibilityStatus): 15799 (WebCore::RenderLayer::calculateClipRects): 15800 (WebCore::RenderLayer::calculateRects): 15801 * rendering/RenderListBox.cpp: 15802 (WebCore::RenderListBox::panScroll): 15803 * rendering/RenderMarquee.cpp: 15804 (WebCore::RenderMarquee::updateMarqueeStyle): 15805 * rendering/RenderMedia.cpp: 15806 (WebCore::RenderMedia::updateControls): 15807 * rendering/RenderObject.cpp: 15808 (WebCore::RenderObject::drawLineForBoxSide): 15809 (WebCore::RenderObject::localCaretRect): 15810 * rendering/RenderSVGImage.cpp: 15811 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 15812 * rendering/RenderSlider.h: 15813 * rendering/RenderTable.cpp: 15814 (WebCore::RenderTable::outerBorderBottom): 15815 * rendering/RenderTableCol.h: 15816 * rendering/RenderTextControlSingleLine.cpp: 15817 (WebCore::RenderTextControlSingleLine::itemIsSeparator): 15818 * rendering/RenderThemeChromiumSkia.cpp: 15819 (WebCore::RenderThemeChromiumSkia::supportsHover): 15820 * rendering/RenderThemeChromiumWin.cpp: 15821 (WebCore::RenderThemeChromiumWin::supportsFocusRing): 15822 * rendering/SVGCharacterLayoutInfo.cpp: 15823 (WebCore::SVGCharacterLayoutInfo::addStackContent): 15824 * rendering/SVGCharacterLayoutInfo.h: 15825 * rendering/TextControlInnerElements.h: 15826 * rendering/bidi.cpp: 15827 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 15828 158292009-07-07 Oliver Hunt <oliver@apple.com> 15830 15831 Reviewed by Maciej Stachowiak. 15832 15833 Reduce complexity of lifetime management in DynamicNodeList caches 15834 <https://bugs.webkit.org/show_bug.cgi?id=27068> 15835 15836 Switch the Cache object used by DynamicNodeList into a normal 15837 refcounted object rather than having a weird flag controlled 15838 refcounting system, where positive refcount did not automatically 15839 imply the cache object would actually still be live. 15840 15841 * dom/DynamicNodeList.cpp: 15842 (WebCore::DynamicNodeList::DynamicNodeList): 15843 (WebCore::DynamicNodeList::~DynamicNodeList): 15844 (WebCore::DynamicNodeList::Caches::Caches): 15845 (WebCore::DynamicNodeList::Caches::create): 15846 * dom/DynamicNodeList.h: 15847 * dom/Node.cpp: 15848 (WebCore::Node::childNodes): 15849 (WebCore::Node::getElementsByTagNameNS): 15850 (WebCore::Node::getElementsByName): 15851 (WebCore::Node::getElementsByClassName): 15852 (WebCore::NodeListsNodeData::invalidateCaches): 15853 (WebCore::NodeListsNodeData::isEmpty): 15854 * dom/NodeRareData.h: 15855 (WebCore::NodeListsNodeData::NodeListsNodeData): 15856 158572009-07-07 Simon Fraser <simon.fraser@apple.com> 15858 15859 Reviewed by Dan Bernstein. 15860 15861 -webkit-perspective should be a Length 15862 https://bugs.webkit.org/show_bug.cgi?id=27066 15863 15864 -webkit-perspective should not take a magic valueless number, but should 15865 be a normal Length value which responds to zooming. Treat valueless numbers 15866 as pixels for backward compatibility. 15867 15868 Test: transforms/3d/general/perspective-units.html 15869 15870 * css/CSSParser.cpp: 15871 (WebCore::CSSParser::parseValue): 15872 * css/CSSStyleSelector.cpp: 15873 (WebCore::CSSStyleSelector::applyProperty): 15874 158752009-07-07 Pierre d'Herbemont <pdherbemont@apple.com> 15876 15877 Reviewed by Simon Fraser. 15878 15879 https://bugs.webkit.org/show_bug.cgi?id=27047 15880 15881 We need to make sure that when we reattach, we also reattach 15882 the children in every MediaControlElement. Else we may end up 15883 having no remaining or elapsed time. 15884 15885 We have to handle that, because we are using a special shadow 15886 tree in the DOM, and that we are ourselves handling 15887 attaching/detaching the renderer. 15888 15889 The strategy here is to try to implement ::attach(), and try 15890 to reuse as much code as we can from the super class, including 15891 children attachement. 15892 15893 Test: media/controls-after-reload.html 15894 15895 * rendering/MediaControlElements.cpp: 15896 (WebCore::MediaControlElement::styleForElement): Code factoring. 15897 (WebCore::MediaControlElement::rendererIsNeeded): Code factoring. 15898 (WebCore::MediaControlElement::attach): Implement attach 15899 and call super class so that children are also attached. 15900 (WebCore::MediaControlElement::updateStyle): Use attach() 15901 (WebCore::MediaControlInputElement::styleForElement): Code factoring. 15902 (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring. 15903 (WebCore::MediaControlInputElement::attach): See above. 15904 (WebCore::MediaControlInputElement::updateStyle): Use attach() 15905 * rendering/MediaControlElements.h: 15906 * rendering/RenderMedia.cpp: 15907 (WebCore::RenderMedia::updateControls): Directly run attach() on 15908 the m_panel, which is a root node for our shadow tree. 15909 159102009-07-07 Simon Fraser <simon.fraser@apple.com> 15911 15912 Reviewed by Dan Bernstein. 15913 15914 Repaint issue after layer drops out of composited mode. 15915 <https://bugs.webkit.org/show_bug.cgi?id=27022> 15916 15917 RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox, 15918 and expect these to stay valid from one style change to the next. These rects 15919 are relative to the repaint container, so if a layer stops being composited, 15920 we need to recompute them. 15921 15922 Test: compositing/repaint/layer-repaint-rects.html 15923 15924 * rendering/RenderLayer.cpp: 15925 (WebCore::RenderLayer::computeRepaintRects): 15926 * rendering/RenderLayer.h: 15927 * rendering/RenderLayerCompositor.cpp: 15928 (WebCore::RenderLayerCompositor::updateBacking): 15929 159302009-07-07 Dan Bernstein <mitz@apple.com> 15931 15932 Reviewed by Dave Hyatt and Darin Adler. 15933 15934 - fix https://bugs.webkit.org/show_bug.cgi?id=26963 15935 <rdar://problem/7030998> Reproducible crash at 15936 FontCache::getFontData() when a custom font is used in a pseudo-style 15937 15938 Test: fast/css/pseudo-cache-stale.html 15939 15940 * dom/Element.cpp: 15941 (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old 15942 style and the new style, goes over cached pseudo-styles in the old 15943 style and re-resolves the same style types off the new style. If any of 15944 the new pseudo-styles is different from the currently cached 15945 corresponding style, returns true. Otherwise, returns false. 15946 (WebCore::Element::recalcStyle): Validate the pseudo-style cache before 15947 deciding to keep the existing style. 15948 * dom/Element.h: 15949 * rendering/RenderObject.cpp: 15950 (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that 15951 returns an uncached first-line style based off the given style. 15952 (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle' 15953 parameter. 15954 * rendering/RenderObject.h: 15955 * rendering/style/RenderStyle.cpp: 15956 (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached 15957 pseudo-styles in the passed-in vector. 15958 * rendering/style/RenderStyle.h: 15959 159602009-07-07 Dan Bernstein <mitz@apple.com> 15961 15962 Reviewed by Simon Fraser. 15963 15964 - fix https://bugs.webkit.org/show_bug.cgi?id=27042 15965 <rdar://problem/7010981> Incomplete painting of newly created floats 15966 15967 Tests: fast/repaint/float-in-new-block-with-layout-delta.html 15968 fast/repaint/float-new-in-block.html 15969 15970 * rendering/RenderBlock.cpp: 15971 (WebCore::RenderBlock::layoutBlockChildren): If the child has never been 15972 laid out before, paint its overhanging floats in addition to itself. 15973 * rendering/RenderBlock.h: 15974 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and 15975 initialized a boolean everHadLayout member. 15976 * rendering/bidi.cpp: 15977 (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have 15978 never been laid out before and did not move from (0, 0). 15979 159802009-07-07 Brady Eidson <beidson@apple.com> 15981 15982 Contributions from both Darin Adler and Brady Eidson. 15983 Reviewed by Darin Adler. 15984 15985 <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com 15986 15987 In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame 15988 navigation was still in progress. 15989 15990 This patch makes things even better than it used to be by: 15991 - Locking back/forward history at the time the navigation is scheduled, not after the load has committed. 15992 - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame. 15993 15994 Test: fast/loader/subframe-navigate-during-main-frame-load.html 15995 15996 * loader/FrameLoader.cpp: 15997 (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be 15998 used from multiple sites. 15999 (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading. 16000 (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in 16001 lockBackForwardList flag. 16002 (WebCore::FrameLoader::scheduleFormSubmission): Ditto. 16003 160042009-07-07 Nate Chapin <japhet@chromium.org> 16005 16006 Reviewed by Darin Fisher. 16007 16008 Upstream DOMObjectsInclude.h from src.chromium.org. 16009 16010 https://bugs.webkit.org/show_bug.cgi?id=27035 16011 16012 * bindings/v8/DOMObjectsInclude.h: Added. 16013 160142009-07-07 Nate Chapin <japhet@chromium.org> 16015 16016 Reviewed by David Levin. 16017 16018 Relanding r45559, which was rolled back at r45574. 16019 16020 https://bugs.webkit.org/show_bug.cgi?id=26857 16021 16022 * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings. 16023 * bindings/v8/V8Binding.cpp: Moved from src.chromium.org. 16024 * bindings/v8/V8Binding.h: Contents moved from src.chromium.org. 16025 * bindings/v8/V8LazyEventListener.cpp: 16026 (WebCore::V8LazyEventListener::getListenerFunction): 16027 * bindings/v8/V8Proxy.cpp: 16028 (WebCore::handleConsoleMessage): 16029 (WebCore::V8Proxy::compileScript): 16030 (WebCore::V8Proxy::sourceName): 16031 * bindings/v8/WorkerContextExecutionProxy.cpp: 16032 (WebCore::handleConsoleMessage): 16033 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 16034 (WebCore::NAMED_PROPERTY_SETTER): 16035 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 16036 (WebCore::CALLBACK_FUNC_DECL): 16037 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 16038 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 16039 * bindings/v8/custom/V8DOMWindowCustom.cpp: 16040 (WebCore::CALLBACK_FUNC_DECL): 16041 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 16042 (WebCore::CALLBACK_FUNC_DECL): 16043 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 16044 (WebCore::ACCESSOR_SETTER): 16045 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 16046 (WebCore::CALLBACK_FUNC_DECL): 16047 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 16048 (WebCore::removeElement): 16049 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 16050 (WebCore::CALLBACK_FUNC_DECL): 16051 * bindings/v8/custom/V8WorkerContextCustom.cpp: 16052 (WebCore::SetTimeoutOrInterval): 16053 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 16054 (WebCore::CALLBACK_FUNC_DECL): 16055 160562009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com> 16057 16058 Reviewed by Darin Adler. 16059 16060 AX: Some webpages do not send AXLoadComplete 16061 https://bugs.webkit.org/show_bug.cgi?id=26995 16062 16063 When sending the AXLayoutComplete notification it is possible 16064 that the AXObjectCache was cleared, resulting in no valid 16065 object to send the notification to. This fix ensures that an 16066 AX object is created and cached if one does not already exist. 16067 16068 Not able to add a test because notifications get sent after the layout test is completed. 16069 16070 * dom/Document.cpp: 16071 (WebCore::Document::implicitClose): 16072 160732009-07-06 Pierre d'Herbemont <pdherbemont@apple.com> 16074 16075 Reviewed by Simon Fraser. 16076 16077 https://bugs.webkit.org/show_bug.cgi?id=27015 16078 16079 Make sure that the CSS properties letter-spacing, word-spacing, 16080 line-height, text-transform, text-indent, text-shadow, 16081 text-decoration and color do not affect the media element controls, 16082 that display text. 16083 16084 Controls that display text are only present in when the theme 16085 MediaControllerThemeQT is being used. 16086 16087 Test: media/controls-styling.html 16088 16089 * css/mediaControlsQT.css: 16090 * rendering/MediaControlElements.cpp: 16091 (WebCore::MediaControlElement::updateStyle): Special case for 16092 text-decoration. text-decoration can't be overriden from CSS, because 16093 text-decoration is additive for historical reasons. 16094 160952009-07-07 Albert Wong <ajwong@chromium.org> 16096 16097 Not reviewed, Chromium build fix. 16098 16099 Add in missing header + fix syntax issue that crept into last patch. 16100 https://bugs.webkit.org/show_bug.cgi?id=27027 16101 16102 * rendering/RenderThemeChromiumMac.mm: 16103 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 16104 161052009-07-07 Simon Fraser <simon.fraser@apple.com> 16106 16107 Reviewed by Dave Hyatt. 16108 16109 Make use of geometry information to decide which layers become composited. 16110 16111 <rdar://problem/7011947> 16112 <https://bugs.webkit.org/show_bug.cgi?id=27021> 16113 16114 In addition to looking at painting order, also, optionally, take layer 16115 overlap into account when deciding which RenderLayers need to be composited. 16116 16117 No testcase because DRT doesn't dump which layers are composited. 16118 16119 * page/FrameView.h: 16120 * page/FrameView.cpp: 16121 (WebCore::FrameView::updateCompositingLayers): 16122 Removed the unused CompositingUpdate parameter, and just do an early return 16123 when there is no view. 16124 16125 * rendering/RenderLayer.h: 16126 * rendering/RenderLayer.cpp: 16127 (WebCore::RenderLayer::rendererContentChanged): 16128 (WebCore::RenderLayer::dirtyZOrderLists): 16129 (WebCore::RenderLayer::dirtyNormalFlowList): 16130 (WebCore::RenderLayer::styleChanged): 16131 (WebCore::RenderLayer::mustOverlapCompositedLayers): 16132 (WebCore::RenderLayer::setMustOverlapCompositedLayers): 16133 Change "overlay" to "overlap" for consistency with the use of "overlap" 16134 elsewhere. 16135 16136 * rendering/RenderLayerBacking.cpp: 16137 (WebCore::RenderLayerBacking::updateAfterLayout): 16138 compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild(). 16139 16140 (WebCore::RenderLayerBacking::startAnimation): 16141 (WebCore::RenderLayerBacking::startTransition): 16142 Tell the compositor that we started an accelerated animation or transition. 16143 16144 * rendering/RenderLayerCompositor.h: 16145 (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild): 16146 Renamed, since it's explicitly about changes in hierarchy now. 16147 16148 (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap): 16149 (WebCore::RenderLayerCompositor::compositingConsultsOverlap): 16150 New getter and setter for whether compositing should take overlap into account. 16151 16152 * rendering/RenderLayerCompositor.cpp: 16153 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 16154 Add m_compositingConsultsOverlap, re-order some member variables. 16155 16156 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): 16157 Whitespace cleanup and method rename. 16158 16159 (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild): 16160 Method and variable renaming. 16161 16162 (WebCore::RenderLayerCompositor::updateCompositingLayers): 16163 Now we have to run through the layer hierarchy every time if looking 16164 at overlap, because changes in layout can now alter compositing behavior. 16165 We minimize work by tracking whether we actually need to change the layer 16166 hierarchy via needLayerRebuild. 16167 16168 (WebCore::RenderLayerCompositor::updateBacking): 16169 3D transforms turn off overlap mode. 16170 16171 (WebCore::RenderLayerCompositor::layerWasAdded): 16172 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 16173 Method rename. 16174 16175 (WebCore::RenderLayerCompositor::addToOverlapMap): 16176 (WebCore::RenderLayerCompositor::overlapsCompositedLayers): 16177 Utility methods to add a layer to the overlapMap (computing the absolute 16178 bounding box only if we haven't already done so), and testing the map 16179 entries. 16180 16181 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 16182 If a layer would composite only because it comes after other compositing 16183 layers in the painting order, then consult the overlap map to determine whether 16184 it overlaps, and thus actually needs to composite. 16185 16186 Add layers to the map when they must be composited. 16187 16188 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 16189 Only do re-parenting work if the updateHierarchy flag is set. 16190 16191 (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): 16192 When we start an accelerated transition or animation, we stop looking at 16193 overlap because we can no longer guarantee correct front-to-back ordering while the 16194 accelerated animation is running. 16195 16196 (WebCore::RenderLayerCompositor::needsToBeComposited): 16197 Method renames. 16198 16199 * rendering/RenderView.cpp: 16200 (WebCore::RenderView::setMaximalOutlineSize): 16201 Add comment indicating that this could be optimized. 16202 162032009-07-14 Anton Muhin <antonm@chromium.org> 16204 16205 Reviewed by Darin Fisher. 16206 16207 Speed up creation of V8 wrappers for DOM nodes. 16208 16209 https://bugs.webkit.org/show_bug.cgi?id=26882 16210 16211 This patch doesn't require new tests as it a set of refactorings 16212 to speed up wrapper creation. 16213 16214 * bindings/v8/V8Proxy.cpp: 16215 * bindings/v8/V8Proxy.h: 16216 162172009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org> 16218 16219 Reviewed by Gustavo Noronha. 16220 16221 [GTK] textarea height property works only if other property are defined 16222 https://bugs.webkit.org/show_bug.cgi?id=18984 16223 16224 Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk. 16225 16226 Test: fast/forms/textarea-metrics.html 16227 16228 * platform/gtk/RenderThemeGtk.cpp: 16229 * platform/gtk/RenderThemeGtk.h: 16230 162312009-07-07 Ben Murdoch <benm@google.com> 16232 16233 Reviewed by Antti Koivisto. 16234 16235 HTML5 Database becomes locked if a transaction is in progress when the page is refreshed. 16236 https://bugs.webkit.org/show_bug.cgi?id=25711 16237 16238 Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web 16239 storage databases could become locked until the browser is shut 16240 down if the page is refreshed whilst a transaction is in progress. 16241 16242 Test: storage/database-lock-after-reload.html 16243 16244 * storage/Database.cpp: 16245 (WebCore::Database::Database): 16246 (WebCore::Database::close): add code to inform the database thread we've closed the database. 16247 (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database. 16248 * storage/Database.h: 16249 (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed. 16250 * storage/DatabaseThread.cpp: 16251 (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread. 16252 (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread. 16253 (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases. 16254 * storage/DatabaseThread.h: 16255 (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread. 16256 162572009-07-07 Jiahua Huang <jhuangjiahua@gmail.com> 16258 16259 Reviewed by Jan Alonzo. 16260 16261 [Gtk] Paste of rich text from firefox results garbled markup 16262 https://bugs.webkit.org/show_bug.cgi?id=26791 16263 16264 Fix problem with UTF-16 clipboard pasted. 16265 16266 * manual-tests/gtk/paste-richtext-from-firefox.html: Added. 16267 * platform/gtk/PasteboardGtk.cpp: 16268 (WebCore::Pasteboard::documentFragment): 16269 162702009-07-07 Yury Semikhatsky <yurys@chromium.org> 16271 16272 Reviewed by Timothy Hatcher. 16273 16274 Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug. 16275 16276 https://bugs.webkit.org/show_bug.cgi?id=23849 16277 16278 * inspector/front-end/ScriptsPanel.js: 16279 (WebInspector.ScriptsPanel): 16280 162812009-07-06 Albert J. Wong <ajwong@chromium.org> 16282 16283 Reviewed by Maciej Stachowiak. 16284 16285 Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API 16286 change. 16287 16288 Fix compile RenderThemeChromiumMac.mm due to API changes from r45572 16289 https://bugs.webkit.org/show_bug.cgi?id=27018 16290 16291 This is mainly an API change update to fix the chromium compile. It 16292 also has a small fix of a typo in RenderThemeMac.mm. 16293 16294 Compilation against the head of chromium trunk passed. Since this is 16295 a compile fix, that should be sufficient. 16296 16297 * rendering/RenderThemeChromiumMac.mm: 16298 (WebCore::): 16299 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 16300 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): 16301 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): 16302 (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): 16303 (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): 16304 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 16305 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 16306 * rendering/RenderThemeMac.mm: 16307 (WebCore::): 16308 163092009-07-06 David Kilzer <ddkilzer@apple.com> 16310 16311 Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter 16312 16313 <https://bugs.webkit.org/show_bug.cgi?id=27002> 16314 16315 Reviewed by Geoff Garen. 16316 16317 * html/CanvasRenderingContext2D.cpp: 16318 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): 16319 Mark gradient as an unused parameter when DASHBOARD_SUPPORT is 16320 disabled. 16321 163222009-07-06 David Kilzer <ddkilzer@apple.com> 16323 16324 Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node> 16325 16326 <https://bugs.webkit.org/show_bug.cgi?id=27001> 16327 16328 Reviewed by Geoff Garen. 16329 16330 PassRefPtr<> should only be used for arguments to functions that 16331 take ownership of the object, or as return values from functions 16332 that relinquish ownership of the object. 16333 16334 * editing/Editor.cpp: 16335 (WebCore::Editor::increaseSelectionListLevelOrdered): Changed 16336 stack-allocated PassRefPtr<Node> to RefPtr<Node> and call 16337 release() on returned object. 16338 (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. 16339 163402009-07-06 Eric Carlson <eric.carlson@apple.com> 16341 16342 Reviewed by Simon Fraser. 16343 16344 <rdar://problem/7035474> Make new media controller UI default on SnowLeopard 16345 16346 * rendering/RenderThemeMac.mm: 16347 (WebCore::mediaControllerTheme): 16348 New media controller UI is enabled by default on SnowLeopard. 16349 163502009-07-06 Nate Chapin <japhet@chromium.org> 16351 16352 Unreviewed, build fix. 16353 16354 Roll out r45559 to fix Chromium canary. 16355 16356 https://bugs.webkit.org/show_bug.cgi?id=26857 16357 16358 * bindings/scripts/CodeGeneratorV8.pm: 16359 * bindings/v8/V8Binding.cpp: Removed. 16360 * bindings/v8/V8Binding.h: 16361 (WebCore::toInt32): 16362 (WebCore::toWebCoreString): 16363 (WebCore::fromWebCoreString): 16364 (WebCore::toWebCoreStringWithNullCheck): 16365 (WebCore::isUndefinedOrNull): 16366 (WebCore::v8Boolean): 16367 * bindings/v8/V8LazyEventListener.cpp: 16368 (WebCore::V8LazyEventListener::getListenerFunction): 16369 * bindings/v8/V8Proxy.cpp: 16370 (WebCore::handleConsoleMessage): 16371 (WebCore::V8Proxy::compileScript): 16372 (WebCore::V8Proxy::sourceName): 16373 * bindings/v8/WorkerContextExecutionProxy.cpp: 16374 (WebCore::handleConsoleMessage): 16375 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 16376 (WebCore::NAMED_PROPERTY_SETTER): 16377 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 16378 (WebCore::CALLBACK_FUNC_DECL): 16379 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 16380 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 16381 * bindings/v8/custom/V8DOMWindowCustom.cpp: 16382 (WebCore::CALLBACK_FUNC_DECL): 16383 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 16384 (WebCore::CALLBACK_FUNC_DECL): 16385 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 16386 (WebCore::ACCESSOR_SETTER): 16387 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 16388 (WebCore::CALLBACK_FUNC_DECL): 16389 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 16390 (WebCore::removeElement): 16391 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 16392 (WebCore::CALLBACK_FUNC_DECL): 16393 * bindings/v8/custom/V8WorkerContextCustom.cpp: 16394 (WebCore::SetTimeoutOrInterval): 16395 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 16396 (WebCore::CALLBACK_FUNC_DECL): 16397 163982009-07-06 Eric Carlson <eric.carlson@apple.com> 16399 16400 Reviewed by Darin Adler. 16401 16402 <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 16403 narrow — track is too narrow 16404 16405 Do not show media controller time display elements when the a movie is too narrow. 16406 16407 * platform/mac/WebCoreSystemInterface.h: 16408 * platform/mac/WebCoreSystemInterface.mm: 16409 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. 16410 16411 * rendering/MediaControlElements.cpp: 16412 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 16413 Give current time and time remaining controls a common base class. 16414 (WebCore::MediaControlTimeDisplayElement::setVisible): 16415 New method, hide and show the element. 16416 * rendering/MediaControlElements.h: 16417 16418 * rendering/RenderMedia.cpp: 16419 (WebCore::RenderMedia::RenderMedia): 16420 Initialize m_previousVisible. 16421 (WebCore::RenderMedia::layout): 16422 Show/hide the time display elements as the movie width changes. 16423 (WebCore::RenderMedia::createCurrentTimeDisplay): 16424 (WebCore::RenderMedia::createTimeRemainingDisplay): 16425 Base class is now MediaControlTimeDisplayElement, not MediaControlElement. 16426 (WebCore::RenderMedia::shouldShowTimeDisplayControls): 16427 New, decide if time display elements should be visible or not. 16428 * rendering/RenderMedia.h: 16429 16430 * rendering/RenderThemeMac.mm: 16431 (WebCore::): 16432 (WebCore::RenderThemeMac::paintMediaFullscreenButton): 16433 (WebCore::RenderThemeMac::paintMediaMuteButton): 16434 (WebCore::RenderThemeMac::paintMediaPlayButton): 16435 (WebCore::RenderThemeMac::paintMediaSeekBackButton): 16436 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): 16437 (WebCore::RenderThemeMac::paintMediaSliderTrack): 16438 (WebCore::RenderThemeMac::paintMediaSliderThumb): 16439 (WebCore::RenderThemeMac::paintMediaRewindButton): 16440 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): 16441 (WebCore::RenderThemeMac::paintMediaControlsBackground): 16442 (WebCore::RenderThemeMac::paintMediaCurrentTime): 16443 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 16444 The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield. 16445 164462009-07-06 David Kilzer <ddkilzer@apple.com> 16447 16448 Bug 27000: Minor clean up to runtime_root.{cpp|h} 16449 16450 <https://bugs.webkit.org/show_bug.cgi?id=27000> 16451 16452 Reviewed by Geoff Garen. 16453 16454 * bridge/runtime_root.cpp: Added blank line between license and 16455 the first #include statement. 16456 * bridge/runtime_root.h: Added comment to #endif. 16457 164582009-07-06 Roland Steiner <rolandsteiner@google.com> 16459 16460 Reviewed by Maciej Stachowiak. 16461 16462 generalize the special height treatment for SVG (to be re-used for ruby): 16463 renamed InlineBox::m_isSVG to m_hasVirtualHeight 16464 renamed InlineBox::isSVG() to hasVirtualHeight() 16465 renamed InlineBox::setIsSVG() to setHasVirtualHeight() 16466 16467 * rendering/InlineBox.cpp: 16468 (WebCore::InlineBox::height): 16469 * rendering/InlineBox.h: 16470 (WebCore::InlineBox::InlineBox): 16471 (WebCore::InlineBox::isText): 16472 (WebCore::InlineBox::setIsText): 16473 (WebCore::InlineBox::isSVGRootInlineBox): 16474 (WebCore::InlineBox::hasVirtualHeight): 16475 (WebCore::InlineBox::setHasVirtualHeight): 16476 (WebCore::InlineBox::virtualHeight): 16477 * rendering/RenderSVGInline.cpp: 16478 (WebCore::RenderSVGInline::createFlowBox): 16479 * rendering/RenderSVGInlineText.cpp: 16480 (WebCore::RenderSVGInlineText::createTextBox): 16481 * rendering/RenderSVGText.cpp: 16482 (WebCore::RenderSVGText::createRootBox): 16483 * rendering/SVGInlineFlowBox.h: 16484 (WebCore::SVGInlineFlowBox::virtualHeight): 16485 * rendering/SVGInlineTextBox.h: 16486 (WebCore::SVGInlineTextBox::virtualHeight): 16487 * rendering/SVGRootInlineBox.h: 16488 (WebCore::SVGRootInlineBox::virtualHeight): 16489 164902009-07-06 Alice Liu <alice.liu@apple.com> 16491 16492 Reviewed by Darin Adler. 16493 16494 REGRESSION(r45285): focus rings are black on windows safari 16495 https://bugs.webkit.org/show_bug.cgi?id=26821 16496 <rdar://problem/7018252> 16497 16498 Add a mechanism for setting a custom focus ring color, and relocate the 16499 determination of focus ring color to base class RenderTheme. 16500 16501 No new tests. Already-existing tests run in pixel mode would have caught this regression 16502 16503 * css/CSSStyleSelector.cpp: 16504 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility 16505 of determining focus color to base class RenderTheme. 16506 * rendering/RenderTheme.cpp: 16507 (WebCore::customFocusRingColor): Added static local. 16508 (WebCore::RenderTheme::setCustomFocusRingColor): Added 16509 (WebCore::RenderTheme::focusRingColor): Use custom color over platform color. 16510 * rendering/RenderTheme.h: 16511 (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color 16512 * rendering/RenderThemeSafari.cpp: 16513 (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin 16514 are the same under which we want to use the focus ring color from SafariTheme. 16515 (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor 16516 * rendering/RenderThemeSafari.h: 16517 16518 Renaming focusRingColor to platformFocusRingColor in these files: 16519 * rendering/RenderThemeChromiumMac.h: 16520 * rendering/RenderThemeChromiumMac.mm: 16521 (WebCore::RenderThemeChromiumMac::platformFocusRingColor): 16522 * rendering/RenderThemeChromiumSkia.cpp: 16523 (WebCore::RenderThemeChromiumSkia::platformFocusRingColor): 16524 * rendering/RenderThemeChromiumSkia.h: 16525 * rendering/RenderThemeMac.h: 16526 * rendering/RenderThemeMac.mm: 16527 (WebCore::RenderThemeMac::platformFocusRingColor): 16528 16529 Cleanup leftover from removal of WebCore::Color in r45285 in these files: 16530 * WebCore.order: 16531 * platform/graphics/Color.h: 16532 165332009-07-06 Shinichiro Hamaji <hamaji@chromium.org> 16534 16535 Reviewed by David Hyatt. 16536 16537 Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's 16538 contents makes its container scroll to the top 16539 https://bugs.webkit.org/show_bug.cgi?id=15135 16540 16541 Delay updateing scroll bar of descendants of flexbox until their 16542 positions are determined. In this way we can prevent descendants 16543 of flexible boxes from changing positions of their scrollbars 16544 using tentative positions. 16545 16546 Test: fast/flexbox/repaint-scrollbar.html 16547 16548 * rendering/RenderBlock.cpp: 16549 (WebCore::RenderBlock::startDelayUpdateScrollInfo): 16550 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 16551 (WebCore::RenderBlock::updateScrollInfoAfterLayout): 16552 (WebCore::RenderBlock::layoutBlock): 16553 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 16554 * rendering/RenderBlock.h: 16555 * rendering/RenderFlexibleBox.cpp: 16556 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 16557 (WebCore::RenderFlexibleBox::layoutVerticalBox): 16558 165592009-07-06 Hironori Bono <hbono@chromium.org> 16560 16561 Reviewed by Maciej Stachowiak. 16562 16563 Make unconfirmed IME text affect textarea's value. 16564 This matches input and contentEditable elements as well 16565 IE and Firefox. 16566 16567 This fixes https://bugs.webkit.org/show_bug.cgi?id=25061. 16568 16569 Input elements would go down this code path because it 16570 would always get a null compositionNode from frame->editor(). 16571 Special casing compositionNodes is wrong because we explicitly 16572 want unconfirmed IME input in the textarea's value (assuming we 16573 want to match IE and Firefox here). 16574 16575 This change is originally created by Ojan Vafai <ojan@chromium.org> and 16576 I just changed its manual tests with an automated test on his behalf. 16577 16578 Test: platform/mac/editing/input/text-control-ime-input.html 16579 16580 * rendering/RenderTextControl.cpp: 16581 (WebCore::RenderTextControl::text): 16582 (WebCore::RenderTextControl::textWithHardLineBreaks): 16583 165842009-07-06 Anders Carlsson <andersca@apple.com> 16585 16586 Reviewed by Adele Peterson. 16587 16588 Add the ability for wheel events to latch to a node. 16589 16590 * WebCore.base.exp: 16591 * page/EventHandler.cpp: 16592 (WebCore::EventHandler::EventHandler): 16593 (WebCore::EventHandler::clear): 16594 (WebCore::EventHandler::handleWheelEvent): 16595 * page/EventHandler.h: 16596 * page/mac/EventHandlerMac.mm: 16597 (WebCore::EventHandler::wheelEvent): 16598 * platform/mac/WebCoreSystemInterface.h: 16599 * platform/mac/WebCoreSystemInterface.mm: 16600 166012009-07-06 Nate Chapin <japhet@chromium.org> 16602 16603 Reviewed by Dimitri Glazkov. 16604 16605 Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL. 16606 16607 https://bugs.webkit.org/show_bug.cgi?id=26997 16608 16609 * bindings/v8/V8Binding.cpp: 16610 (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL. 16611 166122009-07-06 Pavel Feldman <pfeldman@chromium.org> 16613 16614 Reviewed by Timothy Hatcher. 16615 16616 WebInspector: suggest global properties based on async evaluation. 16617 16618 https://bugs.webkit.org/show_bug.cgi?id=26976 16619 16620 Before this change, empty string was evaluated to the global object 16621 (or scope chain object) synchronously. This is now fixed and global 16622 object is evaluated using the same control flow. 16623 16624 * inspector/front-end/Console.js: 16625 (WebInspector.Console.prototype.completions): 16626 (WebInspector.Console.prototype._evalInInspectedWindow): 16627 * inspector/front-end/ScriptsPanel.js: 16628 (WebInspector.ScriptsPanel.prototype._variablesInScope): 16629 166302009-07-06 Ojan Vafai <ojan@chromium.org> 16631 16632 Reviewed by Eric Seidel. 16633 16634 Fix crash when indenting in an empty table cell. 16635 https://bugs.webkit.org/show_bug.cgi?id=26872 16636 16637 The crash is that we would call splitTreeToNode where the node 16638 and the nodeToSplitTo were the same node. 16639 16640 Test: editing/execCommand/indent-empty-table-cell.html 16641 16642 * editing/CompositeEditCommand.cpp: 16643 (WebCore::CompositeEditCommand::splitTreeToNode): 16644 Added an assert in that node and nodeToSplitTo 16645 are different nodes to make this assumption explicit. 16646 16647 * editing/IndentOutdentCommand.cpp: 16648 (WebCore::IndentOutdentCommand::isAtUnsplittableElement): 16649 (WebCore::IndentOutdentCommand::indentRegion): 16650 * editing/IndentOutdentCommand.h: 16651 166522009-07-06 Nate Chapin <japhet@chromium.org> 16653 16654 Reviewed by David Levin. 16655 16656 Upstream V8Binding and update some function names. 16657 16658 https://bugs.webkit.org/show_bug.cgi?id=26857 16659 16660 * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files. 16661 * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org. 16662 * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org. 16663 * bindings/v8/V8LazyEventListener.cpp: 16664 (WebCore::V8LazyEventListener::getListenerFunction): 16665 * bindings/v8/V8Proxy.cpp: 16666 (WebCore::handleConsoleMessage): 16667 (WebCore::V8Proxy::compileScript): 16668 (WebCore::V8Proxy::sourceName): 16669 * bindings/v8/WorkerContextExecutionProxy.cpp: 16670 (WebCore::handleConsoleMessage): 16671 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 16672 (WebCore::NAMED_PROPERTY_SETTER): 16673 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 16674 (WebCore::CALLBACK_FUNC_DECL): 16675 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 16676 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 16677 * bindings/v8/custom/V8DOMWindowCustom.cpp: 16678 (WebCore::CALLBACK_FUNC_DECL): 16679 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 16680 (WebCore::CALLBACK_FUNC_DECL): 16681 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 16682 (WebCore::ACCESSOR_SETTER): 16683 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 16684 (WebCore::CALLBACK_FUNC_DECL): 16685 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 16686 (WebCore::removeElement): 16687 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 16688 (WebCore::CALLBACK_FUNC_DECL): 16689 * bindings/v8/custom/V8WorkerContextCustom.cpp: 16690 (WebCore::SetTimeoutOrInterval): 16691 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 16692 (WebCore::CALLBACK_FUNC_DECL): 16693 166942009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 16695 16696 Reviewed by Jan Alonzo. 16697 16698 Use soup's content sniffing 16699 https://bugs.webkit.org/show_bug.cgi?id=26982 16700 16701 Drop our hackish content sniffing code, and use the new libsoup 16702 feature to do that job for us. 16703 16704 Testing this is in a cross-platform way is not obvious or possible 16705 while we are using platform-specific code for sniffing. 16706 16707 * platform/network/ResourceHandleInternal.h: 16708 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 16709 * platform/network/soup/ResourceHandleSoup.cpp: 16710 (WebCore::gotHeadersCallback): 16711 (WebCore::contentSniffedCallback): 16712 (WebCore::gotChunkCallback): 16713 (WebCore::ResourceHandle::startHttp): 16714 167152009-07-05 Antonio Gomes <antonio.gomes@openbossa.org> 16716 16717 Reviewed by Darin Adler. 16718 16719 REGRESSION (r40499): fast/dom/cssTarget-crash.html fails 16720 https://bugs.webkit.org/show_bug.cgi?id=20342 16721 16722 Re-added code removed by commit r40499. 16723 Without this, both Qt and Mac were crashing while running the test. 16724 16725 Note that this does not entirely fix the bug. It fixes the WebCore 16726 crash, but the test no longer seems to work due to loader changes. 16727 So this patch does not reenable the test. The test probably has to 16728 be rewritten. 16729 16730 * dom/ContainerNode.cpp: 16731 (WebCore::ContainerNode::removedFromDocument): Re-added code to 16732 set the CSS target of the document to 0. 16733 167342009-07-05 Chris Marrin <cmarrin@apple.com> 16735 16736 Reviewed by Simon Fraser. 16737 16738 https://bugs.webkit.org/show_bug.cgi?id=26943 16739 16740 When one transition finishes slightly before another the longer 16741 one will fire a second time. This is because the second 16742 ImplicitAnmation object is culled too early, before its final 16743 RenderStyle is in place. This is done by cleanupFinishedAnimations() 16744 so I got rid of that method completely and now cleanup each 16745 transition or animation at the point where I am setting the final 16746 style, or when I detect that the transition or animation has been 16747 terminated early (which happens when you remove it from the style). 16748 16749 Test: transitions/extra-transition.html 16750 16751 * page/animation/AnimationController.cpp: 16752 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 16753 * page/animation/CompositeAnimation.cpp: 16754 (WebCore::CompositeAnimation::updateTransitions): 16755 (WebCore::CompositeAnimation::updateKeyframeAnimations): 16756 (WebCore::CompositeAnimation::animate): 16757 * page/animation/CompositeAnimation.h: 16758 16759 * page/animation/AnimationBase.cpp: 16760 (WebCore::AnimationBase::getTimeToNextEvent): 16761 Avoid a divide by zero if m_animation->duration() is zero, which can happen 16762 if the duration is changed to zero while the animation is running. 16763 167642009-07-05 Simon Fraser <simon.fraser@apple.com> 16765 16766 Revert the previous commit because it broke the 16767 animations/transition-and-animation-1.html 16768 testcase. 16769 16770 * page/animation/AnimationBase.cpp: 16771 (WebCore::AnimationBase::getTimeToNextEvent): 16772 * page/animation/AnimationController.cpp: 16773 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 16774 * page/animation/CompositeAnimation.cpp: 16775 (WebCore::CompositeAnimation::updateTransitions): 16776 (WebCore::CompositeAnimation::updateKeyframeAnimations): 16777 (WebCore::CompositeAnimation::animate): 16778 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 16779 * page/animation/CompositeAnimation.h: 16780 167812009-07-05 Chris Marrin <cmarrin@apple.com> 16782 16783 Reviewed by Simon Fraser. 16784 16785 https://bugs.webkit.org/show_bug.cgi?id=26943 16786 16787 When one transition finishes slightly before another the longer 16788 one will fire a second time. This is because the second 16789 ImplicitAnmation object is culled too early, before its final 16790 RenderStyle is in place. This is done by cleanupFinishedAnimations() 16791 so I got rid of that method completely and now cleanup each 16792 transition or animation at the point where I am setting the final 16793 style, or when I detect that the transition or animation has been 16794 terminated early (which happens when you remove it from the style). 16795 16796 Test: transitions/extra-transition.html 16797 16798 * page/animation/AnimationController.cpp: 16799 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 16800 * page/animation/CompositeAnimation.cpp: 16801 (WebCore::CompositeAnimation::updateTransitions): 16802 (WebCore::CompositeAnimation::updateKeyframeAnimations): 16803 (WebCore::CompositeAnimation::animate): 16804 * page/animation/CompositeAnimation.h: 16805 16806 * page/animation/AnimationBase.cpp: 16807 (WebCore::AnimationBase::getTimeToNextEvent): 16808 Avoid a divide by zero if m_animation->duration() is zero, which can happen 16809 if the duration is changed to zero while the animation is running. 16810 168112009-07-05 Lars Knoll <lars.knoll@nokia.com> 16812 16813 Reviewed by Maciej Stachowiak. 16814 16815 https://bugs.webkit.org/show_bug.cgi?id=26843 16816 16817 Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian. 16818 16819 The Metrowerks compiler on the Symbian platform moves the globally 16820 defined Hashtables into read-only memory, despite one of the members 16821 being mutable. This causes crashes at run-time due to write access to 16822 read-only memory. 16823 16824 Avoid the use of const with this compiler by introducing the 16825 JSC_CONST_HASHTABLE macro. 16826 16827 Based on idea by Norbert Leser. 16828 16829 * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables 16830 define in the bindings. 16831 168322009-07-05 Rob Buis <rwlbuis@gmail.com> 16833 16834 Reviewed by Maciej Stachowiak. 16835 16836 Bug 26897 - Dynamic SVG images do not display correctly 16837 https://bugs.webkit.org/show_bug.cgi?id=26897 16838 16839 Use repaint() to fix a rendering problem with a SVG image embedded in xhtml. 16840 16841 Test: svg/custom/createImageElement2.xhtml 16842 16843 * rendering/RenderSVGImage.cpp: 16844 (WebCore::RenderSVGImage::imageChanged): 16845 168462009-07-05 Xan Lopez <xlopez@igalia.com> 16847 16848 Reviewed by Jan Alonzo. 16849 16850 https://bugs.webkit.org/show_bug.cgi?id=26960 16851 [Gtk] caret offset not updated when selecting text 16852 16853 Report the caret offset from the end of the selection so it works 16854 correctly for multi-char selections too (ie, anything that is not 16855 the zero width caret). 16856 16857 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 16858 (webkit_accessible_text_get_caret_offset): 16859 168602009-07-05 Holger Hans Peter Freyther <zecke@selfish.org> 16861 16862 Unreviewed link fix for Qt. 16863 16864 Fix Qt link error by adding two new localized strings 16865 16866 In r45474 two new strings got added to LocalizedStrings.h add 16867 the definition of them to Qt. 16868 16869 * platform/qt/Localizations.cpp: 16870 (WebCore::mediaElementLoadingStateText): 16871 (WebCore::mediaElementLiveBroadcastStateText): 16872 168732009-07-03 Darin Adler <darin@apple.com> 16874 16875 Reviewed by Adele Peterson. 16876 16877 REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com 16878 https://bugs.webkit.org/show_bug.cgi?id=26959 16879 rdar://problem/7029882 16880 16881 The code to handle iteration boundaries was malfunctioning when the boundary was 16882 at the edge of a shadow tree. This happens all the time with <input> elements. 16883 16884 It's not immediately obvious how to make a regression test for this since the 16885 symptom was a performance problem, not incorrect behavior. I'll add a test if I 16886 figure out a way to make one. 16887 16888 * editing/TextIterator.cpp: 16889 (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent. 16890 (WebCore::depthCrossingShadowBoundaries): Updated for name change. 16891 (WebCore::nextInPreOrderCrossingShadowBoundaries): Added. 16892 (WebCore::previousInPostOrderCrossingShadowBoundaries): Added. 16893 (WebCore::setUpFullyClippedStack): Updated for name change. 16894 (WebCore::TextIterator::TextIterator): Updated for name change. Use 16895 nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug. 16896 (WebCore::TextIterator::advance): Updated for name change. 16897 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 16898 Tweaked formatting. 16899 (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that 16900 initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries. 16901 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting. 16902 (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto. 16903 169042009-07-03 Simon Fraser <simon.fraser@apple.com> 16905 16906 Reviewed by Sam Weinig. 16907 16908 Background audio stops playing when JS GC runs 16909 https://bugs.webkit.org/show_bug.cgi?id=26956 16910 16911 Ensure we keep the Audio object around while it is playing, so that it 16912 doesn't get collected. 16913 16914 Not testable because there's no way to know whether the audio keeps 16915 playing without holding a reference to it. 16916 16917 * bindings/js/JSDOMBinding.cpp: 16918 (WebCore::isObservableThroughDOM): 16919 169202009-07-02 Xan Lopez <xlopez@igalia.com> 16921 16922 Reviewed by Jan Alonzo. 16923 16924 https://bugs.webkit.org/show_bug.cgi?id=26814 16925 [Gtk] Caret-moved events are not issued for the correct offset 16926 when text is selected forward 16927 16928 Report the caret offset from the end of the selection, otherwise 16929 we'll report the same offset when moving the caret while 16930 modififying the selection (eg, with Shift + Right). 16931 16932 * editing/gtk/SelectionControllerGtk.cpp: 16933 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 16934 169352009-07-02 Xan Lopez <xlopez@igalia.com> 16936 16937 Reviewed by Jan Alonzo. 16938 16939 https://bugs.webkit.org/show_bug.cgi?id=26815 16940 [Gtk] text-selection-changed events are not issued for the correct 16941 object when the selection spans multiple objects 16942 16943 Get the focused node from the end of the selection, not the start, 16944 so we can detect when we cross object boundaries. 16945 16946 * editing/gtk/SelectionControllerGtk.cpp: 16947 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 16948 169492009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> 16950 16951 Reviewed by Simon Fraser. 16952 16953 https://bugs.webkit.org/show_bug.cgi?id=26947 16954 16955 Fix the media controls hit tests. They may lose click events. 16956 16957 Test cases already covered in the video-controls-zoomed tests. 16958 16959 Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough. 16960 16961 * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart. 16962 * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart. 16963 169642009-07-02 Roland Steiner <rolandsteiner@google.com> 16965 16966 Reviewed by Eric Seidel. 16967 16968 RenderBlock and RenderInline have confusingly named object creation methods: 16969 RenderBlock::createRootBox/createRootInlineBox 16970 RenderInline::createFlowBox/createInlineFlowBox 16971 where the 2nd method in both cases just calls the first and then appends the created object. 16972 I therefore renamed those methods to something IMHO more informative: 16973 16974 createRootBox() -> createRootInlineBox() 16975 createRootInlineBox() -> createAndAppendRootInlineBox(); 16976 createFlowBox() -> createInlineFlowBox(); 16977 createInlineFlowBox() -> createAndAppendInlineFlowBox(); 16978 16979 https://bugs.webkit.org/show_bug.cgi?id=26828 16980 16981 * rendering/RenderBlock.cpp: 16982 (WebCore::RenderBlock::createRootInlineBox): 16983 (WebCore::RenderBlock::createAndAppendRootInlineBox): 16984 * rendering/RenderBlock.h: 16985 * rendering/RenderInline.cpp: 16986 (WebCore::RenderInline::createInlineFlowBox): 16987 (WebCore::RenderInline::createAndAppendInlineFlowBox): 16988 * rendering/RenderInline.h: 16989 * rendering/RenderSVGInline.cpp: 16990 (WebCore::RenderSVGInline::createInlineFlowBox): 16991 * rendering/RenderSVGInline.h: 16992 * rendering/RenderSVGText.cpp: 16993 (WebCore::RenderSVGText::createRootInlineBox): 16994 * rendering/RenderSVGText.h: 16995 * rendering/bidi.cpp: 16996 (WebCore::createInlineBoxForRenderer): 16997 169982009-07-02 Pavel Feldman <pfeldman@chromium.org> 16999 17000 Reviewed by Timothy Hatcher. 17001 17002 WebInspector: Fix typo in the resource panel enabler caption. 17003 17004 https://bugs.webkit.org/show_bug.cgi?id=26753 17005 17006 * English.lproj/localizedStrings.js: 17007 * inspector/front-end/ResourcesPanel.js: 17008 (WebInspector.ResourcesPanel): 17009 170102009-07-02 Erik Arvidsson <arv@chromium.org> 17011 17012 Reviewed by Adam Roben. 17013 17014 [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc 17015 https://bugs.webkit.org/show_bug.cgi?id=26699 17016 17017 * manual-tests/drag-escape.html: Added. 17018 * page/EventHandler.cpp: 17019 (WebCore::EventHandler::dragSourceEndedAt): 17020 170212009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> 17022 17023 Reviewed by Simon Fraser. 17024 17025 https://bugs.webkit.org/show_bug.cgi?id=26944 17026 17027 Make sure we support full page zoom in video controls. 17028 17029 This is tracked by a the video-controls-zoom test case. 17030 17031 * css/mediaControlsQT.css: Make sure we don't have any inherited margin. 17032 * rendering/MediaControlElements.cpp: 17033 (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext. 17034 * rendering/RenderThemeMac.mm: Adjust the painting rect. 17035 (WebCore::getUnzoomedRectAndAdjustCurrentContext): 17036 (WebCore::RenderThemeMac::paintMediaSliderTrack): 17037 (WebCore::RenderThemeMac::paintMediaCurrentTime): 17038 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 17039 170402009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> 17041 17042 Fix the Gtk build after r45474. The localized strings should 17043 have been added there. 17044 17045 * platform/gtk/LocalizedStringsGtk.cpp: 17046 (WebCore::mediaElementLoadingStateText): 17047 (WebCore::mediaElementLiveBroadcastStateText): 17048 170492009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> 17050 17051 Reviewed by Simon Fraser. 17052 17053 https://bugs.webkit.org/show_bug.cgi?id=26939 17054 17055 Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html 17056 17057 We fix two things: 17058 - We use px instead of em, because px is used everywhere else 17059 and because 0.09em hit the font size limit. 17060 - We use -webkit-box instead of inline-block because in strict mode 17061 inline-block has a different behavior. 17062 17063 Test: media/controls-strict.html 17064 17065 * css/mediaControlsQT.css: 17066 170672009-07-02 David Hyatt <hyatt@apple.com> 17068 17069 Reviewed by Dan Bernstein. 17070 17071 TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style. 17072 https://bugs.webkit.org/show_bug.cgi?id=26942 17073 17074 * editing/TextIterator.cpp: 17075 (WebCore::fullyClipsContents): 17076 170772009-07-02 Sam Weinig <sam@webkit.org> 17078 17079 Reviewed by Dave Hyatt. 17080 17081 Fix for <rdar://problem/5230700> 17082 Remove local .xhtml file workaround 17083 17084 * platform/network/mac/ResourceResponseMac.mm: 17085 (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary. 17086 170872009-07-02 Anders Carlsson <andersca@apple.com> 17088 17089 Reviewed by Dan Bernstein. 17090 17091 Sort, add functions used by WebKit. 17092 17093 * WebCore.base.exp: 17094 170952009-07-02 Brady Eidson <beidson@apple.com> 17096 17097 Rubberstamped by Sam Weinig. 17098 17099 More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. 17100 17101 * platform/network/mac/WebCoreURLResponse.mm: 17102 (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery. 17103 171042009-07-02 Adam Langley <agl@google.com> 17105 17106 Reviewed by Eric Seidel. 17107 17108 Chromium Linux: fix complex text rendering with line break characters. 17109 17110 https://bugs.webkit.org/show_bug.cgi?id=26935 17111 17112 If the CSS white-space property is inhibiting line breaking, we might 17113 find end-of-line characters rendered via the complex text path. Fonts 17114 don't provide glyphs for these code points so, if we find one, we 17115 simulate the space glyph being interposed in this case. Because the 17116 input is variable-length per code point, we walk the input in step 17117 with the output. 17118 17119 Covered by: 17120 LayoutTests/fast/text/international/bidi-linebreak-002.html 17121 LayoutTests/fast/text/international/bidi-linebreak-003.html 17122 LayoutTests/fast/text/international/hindi-whitespace.html 17123 17124 * platform/graphics/chromium/HarfbuzzSkia.cpp: 17125 (WebCore::stringToGlyphs): 17126 171272009-07-02 Victor Wang <victorw@chromium.org> 17128 17129 Reviewed by Darin Fisher. 17130 17131 https://bugs.webkit.org/show_bug.cgi?id=26521 17132 Expose file size to chromium. 17133 17134 Implement getFileSize() for Chromium. 17135 17136 * platform/chromium/ChromiumBridge.h: 17137 * platform/chromium/FileSystemChromium.cpp: 17138 (WebCore::getFileSize): 17139 171402009-07-02 Nate Chapin <japhet@chromium.org> 17141 17142 Unreviewed, build fix. 17143 17144 * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list. 17145 171462009-07-02 Simon Fraser <simon.fraser@apple.com> 17147 17148 Build fix: add missing #include. 17149 17150 * platform/mac/ThemeMac.mm: 17151 171522009-07-02 Simon Fraser <simon.fraser@apple.com> 17153 17154 Reviewed by Dave Hyatt. 17155 17156 <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed 17157 17158 Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code 17159 that can possibly throw Objective-C exceptions when drawing Mac form controls. 17160 17161 * platform/mac/ThemeMac.mm: 17162 (WebCore::paintCheckbox): 17163 (WebCore::paintRadio): 17164 (WebCore::paintButton): 17165 (WebCore::ThemeMac::inflateControlPaintRect): 17166 171672009-07-02 Nate Chapin <japhet@chromium.org> 17168 17169 Reviewed by David Levin. 17170 17171 Upstream V8SVGPODTypeWrapper. 17172 17173 https://bugs.webkit.org/show_bug.cgi?id=26907 17174 17175 * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h. 17176 * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org. 17177 171782009-07-02 Dumitru Daniliuc <dumi@chromium.org> 17179 17180 Reviewed by Dimitri Glazkov. 17181 17182 Adds an abstraction layer between the DB classes and the file 17183 system, which allows us to add our own logic for storing, opening, 17184 deleting, etc. databases. 17185 17186 The patch was tested using the tests in WebCore/storage. 17187 17188 https://bugs.webkit.org/show_bug.cgi?id=26054 17189 17190 * GNUmakefile.am: 17191 * WebCore.pro: 17192 * WebCore.vcproj/WebCore.vcproj: 17193 * WebCore.xcodeproj/project.pbxproj: 17194 * platform/sql/SQLiteDatabase.cpp: 17195 (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs. 17196 * platform/sql/SQLiteFileSystem.cpp: Added. 17197 * platform/sql/SQLiteFileSystem.h: Added. 17198 * platform/win/FileSystemWin.cpp: 17199 (WebCore::directoryName): Implemented. 17200 * storage/Database.cpp: 17201 (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem. 17202 * storage/DatabaseTracker.cpp: 17203 (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS. 17204 (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem. 17205 (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem. 17206 (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem. 17207 (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem. 17208 (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem. 17209 (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem. 17210 (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem. 17211 * storage/OriginUsageRecord.cpp: 17212 (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem. 17213 172142009-07-02 David Hyatt <hyatt@apple.com> 17215 17216 Reviewed by Simon Fraser. 17217 17218 Always clip replaced elements to border radii. 17219 https://bugs.webkit.org/show_bug.cgi?id=26933 17220 17221 Make sure to always clip replaced elements to border radii, even when overflow is visible. 17222 Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer 17223 necessary. 17224 17225 Covered by existing tests (since the UA default changing keeps the behavior exactly the same). 17226 17227 * css/html.css: 17228 * rendering/RenderReplaced.cpp: 17229 (WebCore::RenderReplaced::paint): 17230 * rendering/RenderWidget.cpp: 17231 (WebCore::RenderWidget::paint): 17232 172332009-07-02 Jeremy Orlow <jorlow@chromium.org> 17234 17235 Reviewed by Simon Fraser. 17236 17237 convertFromScrollbarToContainingView and friends should be in ScrollView 17238 https://bugs.webkit.org/show_bug.cgi?id=26929 17239 17240 This is breaking Chromium's build because PopupMenuChromium inherits 17241 from ScrollView, but these functions are pure virtual in it. I could 17242 put it directly in PopupMenuChromium, but that seems a bit silly since 17243 the functions are fairly generic. 17244 17245 Passes existing layout tests. 17246 17247 * page/FrameView.cpp: Remove the 4 functions Hyatt just added 17248 (IntRect WebCore::FrameView::convertFromScrollbarToContainingView): 17249 (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar): 17250 (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView): 17251 (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar): 17252 * page/FrameView.h: ditto 17253 * platform/ScrollView.cpp: Move the 4 functions from FrameView here 17254 (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView): 17255 (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar): 17256 (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView): 17257 (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar): 17258 * platform/ScrollView.h: ditto 17259 172602009-07-02 Dirk Pranke <dpranke@chromium.org> 17261 17262 Reviewed by Darin Fisher. 17263 17264 Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 17265 doesn't handle errors well at all; revise it to fail silently 17266 (drawing nothing), and bulletproof FontChromiumWin to handle the 17267 failure accordingly. 17268 17269 Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html 17270 fast/text/text-letter-spacing.html 17271 17272 * platform/graphics/chromium/FontChromiumWin.cpp: 17273 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 17274 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 17275 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): 17276 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): 17277 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 17278 (WebCore::Font::drawGlyphs): 17279 (WebCore::Font::drawComplexText): 17280 * platform/graphics/chromium/TransparencyWin.cpp: 17281 (WebCore::TransparencyWin::TransparencyWin): 17282 (WebCore::TransparencyWin::setupLayerForNoLayer): 17283 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): 17284 (WebCore::TransparencyWin::setupLayerForWhiteLayer): 17285 (WebCore::TransparencyWin::setupTransformForKeepTransform): 17286 (WebCore::TransparencyWin::setupTransformForScaleTransform): 17287 (WebCore::TransparencyWin::initializeNewContext): 17288 (WebCore::TransparencyWin::compositeOpaqueComposite): 17289 (WebCore::TransparencyWin::compositeTextComposite): 17290 (WebCore::TransparencyWin::makeLayerOpaque): 17291 * platform/graphics/chromium/TransparencyWin.h: 17292 (WebCore::TransparencyWin::platformContext): 17293 172942009-07-02 Eric Carlson <eric.carlson@apple.com> 17295 17296 Change #import to #include to fix non-ObjC builds. 17297 17298 * rendering/MediaControlElements.cpp: 17299 173002009-07-02 Anders Carlsson <andersca@apple.com> 17301 17302 Build fix. 17303 17304 * platform/network/mac/WebCoreURLResponse.mm: 17305 (mimeTypeFromUTITree): 17306 173072009-07-02 David Hyatt <hyatt@apple.com> 17308 17309 Reviewed by Simon Fraser. 17310 17311 Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new 17312 conversion methods for going across parent/child widget boundaries that can be implemented 17313 by the FrameView and ScrollbarClient to be transform-aware. 17314 17315 Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow. 17316 17317 * WebCore.base.exp: 17318 * page/EventHandler.cpp: 17319 (WebCore::EventHandler::handleMouseMoveEvent): 17320 * page/FrameView.cpp: 17321 (WebCore::FrameView::convertFromScrollbarToContainingView): 17322 (WebCore::FrameView::convertFromContainingViewToScrollbar): 17323 (WebCore::FrameView::convertFromRenderer): 17324 (WebCore::FrameView::convertToRenderer): 17325 (WebCore::FrameView::convertToContainingView): 17326 (WebCore::FrameView::convertFromContainingView): 17327 * page/FrameView.h: 17328 * platform/ScrollView.h: 17329 * platform/Scrollbar.cpp: 17330 (WebCore::Scrollbar::convertToContainingView): 17331 (WebCore::Scrollbar::convertFromContainingView): 17332 * platform/Scrollbar.h: 17333 * platform/ScrollbarClient.h: 17334 (WebCore::ScrollbarClient::convertFromScrollbarToContainingView): 17335 (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar): 17336 * platform/Widget.cpp: 17337 (WebCore::Widget::convertFromContainingWindow): 17338 (WebCore::Widget::convertToContainingWindow): 17339 (WebCore::Widget::convertFromRootToContainingWindow): 17340 (WebCore::Widget::convertFromContainingWindowToRoot): 17341 (WebCore::Widget::convertToContainingView): 17342 (WebCore::Widget::convertFromContainingView): 17343 * platform/Widget.h: 17344 * platform/graphics/IntPoint.h: 17345 (WebCore::IntPoint::move): 17346 * platform/mac/WidgetMac.mm: 17347 (WebCore::Widget::convertFromRootToContainingWindow): 17348 (WebCore::Widget::convertFromContainingWindowToRoot): 17349 * rendering/RenderBlock.cpp: 17350 (WebCore::RenderBlock::isPointInOverflowControl): 17351 * rendering/RenderDataGrid.cpp: 17352 (WebCore::RenderDataGrid::convertFromScrollbarToContainingView): 17353 (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar): 17354 * rendering/RenderDataGrid.h: 17355 * rendering/RenderLayer.cpp: 17356 (WebCore::RenderLayer::convertFromScrollbarToContainingView): 17357 (WebCore::RenderLayer::convertFromContainingViewToScrollbar): 17358 (WebCore::RenderLayer::scrollbarOffset): 17359 (WebCore::RenderLayer::hitTestOverflowControls): 17360 * rendering/RenderLayer.h: 17361 * rendering/RenderListBox.cpp: 17362 (WebCore::RenderListBox::isPointInOverflowControl): 17363 (WebCore::RenderListBox::convertFromScrollbarToContainingView): 17364 (WebCore::RenderListBox::convertFromContainingViewToScrollbar): 17365 * rendering/RenderListBox.h: 17366 173672009-07-02 Dan Bernstein <mitz@apple.com> 17368 17369 Reviewed by Dave Hyatt and Simon Fraser. 17370 17371 - fix <rdar://problem/6933052> SPOD playing video in a div with a box 17372 shadow 17373 17374 Test: fast/box-shadow/transform-fringing.html 17375 17376 * rendering/RenderBoxModelObject.cpp: 17377 (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the 17378 box even if it has an opaque background, but in that case, inset the 17379 clip path by 1 pixel, to avoid antialiasing artifacts. 17380 Do not inset the clip rect by 1 pixel if the CTM is purely a 17381 translation. 17382 Move the shadow-casting path away in the non-rounded-rect case (it 17383 was already being done in the rounded-rect case), to avoid a black 17384 fringe when the CTM is not purely a translation. 17385 173862009-07-02 Brady Eidson <beidson@apple.com> 17387 17388 Reviewed by Sam Weinig. 17389 17390 <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown. 17391 17392 Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found. 17393 17394 For many types of text files (such as source code files) this ends up being text/plain. 17395 17396 * platform/network/mac/ResourceHandleMac.mm: 17397 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output. 17398 17399 * platform/network/mac/WebCoreURLResponse.h: 17400 * platform/network/mac/WebCoreURLResponse.mm: 17401 (mimeTypeFromUTITree): 17402 (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension. 17403 (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us. 17404 174052009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> 17406 17407 Reviewed by Simon Fraser. 17408 17409 <rdar://problem/6518119> 17410 17411 Add a rewind button and hide the timeline for live broadcasts when 17412 in MediaUI mode. 17413 17414 * css/CSSPrimitiveValueMappings.h: 17415 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element. 17416 17417 * css/CSSSelector.cpp: 17418 (WebCore::CSSSelector::extractPseudoType): Ditto. 17419 * css/CSSSelector.h: 17420 17421 * css/CSSStyleSelector.cpp: 17422 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. 17423 17424 * css/CSSValueKeywords.in: Ditto. 17425 * css/mediaControls.css: Ditto. 17426 * css/mediaControlsQT.css: Ditto. 17427 17428 * html/HTMLMediaElement.cpp: 17429 (WebCore::HTMLMediaElement::rewind): New. 17430 (WebCore::HTMLMediaElement::returnToRealTime): New. 17431 (WebCore::HTMLMediaElement::isStreaming): New. 17432 * html/HTMLMediaElement.h: 17433 17434 * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText. 17435 17436 * platform/LocalizedStrings.h: Add localized media state messages. 17437 17438 * platform/ThemeTypes.h: Add the new pseudo element. 17439 17440 * platform/mac/LocalizedStringsMac.mm: 17441 (WebCore::mediaElementLoadingStateText): Add localized media state. 17442 (WebCore::mediaElementLiveBroadcastStateText): Ditto. 17443 17444 * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support 17445 multiple states. 17446 * platform/mac/WebCoreSystemInterface.mm: Ditto. 17447 17448 * rendering/MediaControlElements.cpp: 17449 (WebCore::MediaControlElement::MediaControlElement): Deal with new elements. 17450 (WebCore::MediaControlElement::attachToParent): Ditto. 17451 (WebCore::MediaControlElement::update): Ditto. 17452 (WebCore::MediaControlElement::updateStyle): Ditto. 17453 (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto. 17454 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto. 17455 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto. 17456 (WebCore::MediaControlStatusDisplayElement::update): Ditto. 17457 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto. 17458 (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto. 17459 (WebCore::MediaControlInputElement::attachToParent): Ditto. 17460 (WebCore::MediaControlInputElement::updateStyle): Ditto. 17461 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto. 17462 (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto. 17463 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto. 17464 (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto. 17465 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto. 17466 (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto. 17467 (WebCore::MediaControlTimelineElement::update): Ditto. 17468 (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto. 17469 * rendering/MediaControlElements.h: Ditto. 17470 17471 * rendering/RenderMedia.cpp: 17472 (WebCore::RenderMedia::styleDidChange): Deal with the new elements. 17473 (WebCore::RenderMedia::createPanel): Ditto. 17474 (WebCore::RenderMedia::createRewindButton): Ditto. 17475 (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto. 17476 (WebCore::RenderMedia::createStatusDisplay): Ditto. 17477 (WebCore::RenderMedia::createTimelineContainer): Ditto. 17478 (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto. 17479 (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto. 17480 (WebCore::RenderMedia::updateControls): Ditto. 17481 (WebCore::RenderMedia::forwardEvent): Ditto. 17482 * rendering/RenderMedia.h: 17483 17484 * rendering/RenderTheme.cpp: 17485 (WebCore::RenderTheme::paint): Deal with the new elements. 17486 17487 * rendering/RenderTheme.h: 17488 (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements. 17489 (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto. 17490 (WebCore::RenderTheme::paintMediaControlsBackground): Ditto. 17491 17492 * rendering/RenderThemeMac.h: 17493 * rendering/RenderThemeMac.mm: 17494 (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements. 17495 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto. 17496 (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto. 17497 17498 * rendering/style/RenderStyleConstants.h: Add constants for the new elements. 17499 175002009-07-01 John Abd-El-Malek <jam@chromium.org> 17501 17502 Reviewed by Darin Fisher. 17503 17504 Small refactoring of MessagePortChannel so that PlatformMessagePortChannel 17505 may be defined at the WebKit layer. 17506 17507 https://bugs.webkit.org/show_bug.cgi?id=26905 17508 17509 * dom/MessageChannel.cpp: 17510 (WebCore::MessageChannel::MessageChannel): 17511 * dom/MessagePortChannel.cpp: 17512 * dom/MessagePortChannel.h: 17513 * dom/default/PlatformMessagePortChannel.cpp: 17514 (WebCore::MessagePortChannel::createChannel): 17515 (WebCore::MessagePortChannel::create): 17516 (WebCore::MessagePortChannel::MessagePortChannel): 17517 (WebCore::MessagePortChannel::~MessagePortChannel): 17518 175192009-07-01 Simon Fraser <simon.fraser@apple.com> 17520 17521 Reviewed by Dan Bernstein. 17522 17523 <video> fails to show on http://camendesign.com/code/video_for_everybody 17524 <rdar://problem/7026010> 17525 https://bugs.webkit.org/show_bug.cgi?id=26919 17526 17527 Fix an issue introduced in r44961. In that revision we changed to only update 17528 compositing layer geometry when all siblings had been laid out (i.e. we pushed 17529 the updates one level down). However, that left out the root layer, so this 17530 fix ensures that the root layer geometry gets updated at the end. 17531 17532 Test: compositing/geometry/root-layer-update.html 17533 17534 * rendering/RenderLayerBacking.cpp: 17535 (WebCore::RenderLayerBacking::updateAfterLayout): 17536 175372009-07-01 Simon Fraser <simon.fraser@apple.com> 17538 17539 Reviewed by Dan Bernstein 17540 17541 <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody 17542 17543 First part of fix: when outline width changes, don't to a synchronous 17544 layer update right away, but just set the flag to say that compositing 17545 layers need updating. The synchronous layer update left the layer geometries 17546 out of whack when it happened in the middle of layout (e.g. when inside ::first-letter). 17547 17548 Test: compositing/geometry/outline-change.html 17549 17550 * rendering/RenderView.cpp: 17551 (WebCore::RenderView::setMaximalOutlineSize): 17552 175532009-07-01 Kwang Yul Seo <skyul@company100.net> 17554 17555 Reviewed by Eric Seidel. 17556 17557 https://bugs.webkit.org/show_bug.cgi?id=26842 17558 Build fix when ENABLE_DATABASE is off 17559 17560 Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE 17561 off does not break builds. 17562 17563 * bindings/js/ScriptObjectQuarantine.cpp: 17564 175652009-07-01 Daniel Bates <dbates@intudata.com> 17566 17567 Reviewed by Adam Barth. 17568 17569 https://bugs.webkit.org/show_bug.cgi?id=26899 17570 17571 Modified XSSAuditor::decodeURL to only remove null characters so that 17572 it is consistent with the behavior of HTMLTokenizer and prevents 17573 injected scripts that contain control characters. 17574 17575 Tests: http/tests/security/xssAuditor/script-tag-control-char.html 17576 http/tests/security/xssAuditor/script-tag-null-char.html 17577 17578 * page/XSSAuditor.cpp: 17579 (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 17580 * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL 17581 from allowControlCharacters back to allowNullCharacters. 17582 * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003. 17583 (WebCore::isControlCharacter): 17584 * platform/network/ResourceResponseBase.h: Reverted back to rev #45003. 17585 175862009-07-01 Yury Semikhatsky <yurys@chromium.org> 17587 17588 Reviewed by Timothy Hatcher. 17589 17590 - supported keyboard shortcuts compatible with Firebug in Scripts Debugger: 17591 F5, Ctrl+/ (win,lin), Command+/ (mac) - continue 17592 F10, Ctrl+' (win, lin), Command+' (mac) - step over 17593 F11, Ctrl+; (win, lin), Command+; (mac) - step into 17594 Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out 17595 17596 - added call stack navigation shortcuts: 17597 Ctrl+. - next call frame 17598 Ctrl+, - previouse call frame 17599 17600 https://bugs.webkit.org/show_bug.cgi?id=23849 17601 17602 * inspector/front-end/CallStackSidebarPane.js: 17603 (WebInspector.CallStackSidebarPane): 17604 (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent): 17605 (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack): 17606 (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack): 17607 (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex): 17608 (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex): 17609 * inspector/front-end/KeyboardShortcut.js: Added. 17610 (WebInspector.KeyboardShortcut): 17611 (WebInspector.KeyboardShortcut.makeKey): 17612 (WebInspector.KeyboardShortcut.makeKeyFromEvent): 17613 (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_): 17614 * inspector/front-end/ScriptsPanel.js: 17615 (WebInspector.ScriptsPanel): 17616 (WebInspector.ScriptsPanel.prototype.handleKeyEvent): 17617 * inspector/front-end/WebKit.qrc: 17618 * inspector/front-end/inspector.html: 17619 176202009-07-01 Daniel Erat <derat@google.com> 17621 17622 Reviewed by David Levin. 17623 17624 Chromium Linux: Move the scrollbar thumb on middle-click. 17625 17626 https://bugs.webkit.org/show_bug.cgi?id=26910 17627 http://code.google.com/p/chromium/issues/detail?id=11976 17628 17629 Tested by building Chrome and checking that the scrollbar moves as expected. 17630 17631 * platform/chromium/ScrollbarThemeChromium.cpp: 17632 * platform/chromium/ScrollbarThemeChromium.h: 17633 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 17634 * platform/chromium/ScrollbarThemeChromiumLinux.h: 17635 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 17636 * platform/chromium/ScrollbarThemeChromiumWin.h: 17637 176382009-07-01 Brady Eidson <beidson@apple.com> 17639 17640 Reviewed by Sam Weinig. 17641 17642 Add a preference/setting to toggle whether content sniffing is enabled for file URLs. 17643 17644 * WebCore.base.exp: 17645 17646 * page/Settings.cpp: 17647 (WebCore::Settings::setLocalFileContentSniffingEnabled): 17648 * page/Settings.h: 17649 (WebCore::Settings::localFileContentSniffingEnabled): 17650 17651 * platform/network/mac/ResourceHandleMac.mm: 17652 (WebCore::ResourceHandle::start): 17653 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 17654 176552009-07-01 Chris Fleizach <cfleizach@apple.com> 17656 17657 Reviewed by Oliver Hunt. 17658 17659 Bug 26909: aria-label needs to be supported 17660 https://bugs.webkit.org/show_bug.cgi?id=26909 17661 17662 Test: accessibility/aria-label.html 17663 17664 * accessibility/AccessibilityRenderObject.cpp: 17665 (WebCore::AccessibilityRenderObject::accessibilityDescription): 17666 * html/HTMLAttributeNames.in: 17667 176682009-07-01 David Hyatt <hyatt@apple.com> 17669 17670 Reviewed by Oliver Hunt. 17671 17672 More datagrid columns work. Make sure columns cache both a style for the column header as well 17673 as a style for the column background (behind the cells). 17674 17675 Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and 17676 unimplemented). 17677 17678 * css/CSSStyleSelector.cpp: 17679 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn): 17680 (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader): 17681 * css/CSSStyleSelector.h: 17682 * html/DataGridColumn.h: 17683 (WebCore::DataGridColumn::setColumnList): 17684 (WebCore::DataGridColumn::columnStyle): 17685 (WebCore::DataGridColumn::setColumnStyle): 17686 (WebCore::DataGridColumn::headerStyle): 17687 (WebCore::DataGridColumn::setHeaderStyle): 17688 * rendering/RenderDataGrid.cpp: 17689 (WebCore::RenderDataGrid::recalcStyleForColumn): 17690 (WebCore::RenderDataGrid::columnStyle): 17691 (WebCore::RenderDataGrid::headerStyle): 17692 (WebCore::RenderDataGrid::paintColumnHeaders): 17693 * rendering/RenderDataGrid.h: 17694 176952009-07-01 Eric Carlson <eric.carlson@apple.com> 17696 17697 Reviewed by Oliver Hunt. 17698 17699 <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 17700 back to Play button 17701 17702 Grab onto the current time when QTKit "ended" notification fires and use it as 17703 duration from that point on as QuickTime sometimes refuses to play all the way to 17704 the time it reports for duration and buffered. HTMLMediaElement assumes that there 17705 more to play in this situation and tries to restart playback, endlessly. 17706 17707 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 17708 Rename m_duration to m_reportedDuration. Declare m_cachedDuration. 17709 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 17710 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 17711 Rename m_duration to m_reportedDuration. Initialize m_cachedDuration. 17712 (WebCore::MediaPlayerPrivate::duration): 17713 Return m_cachedDuration once it has been set. 17714 (WebCore::MediaPlayerPrivate::updateStates): 17715 Rename m_duration to m_reportedDuration. 17716 (WebCore::MediaPlayerPrivate::didEnd): 17717 Set m_cachedDuration to currentTime(). 17718 177192009-07-01 Chris Fleizach <cfleizach@apple.com> 17720 17721 Reviewed by Beth Dakin. 17722 17723 Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions 17724 https://bugs.webkit.org/show_bug.cgi?id=26900 17725 17726 Editable web areas should have a clickpoint that uses where the selection is. 17727 17728 Test: accessibility/editable-webarea-context-menu-point.html 17729 17730 * accessibility/AccessibilityObject.h: 17731 * accessibility/AccessibilityRenderObject.cpp: 17732 (WebCore::AccessibilityRenderObject::clickPoint): 17733 * accessibility/AccessibilityRenderObject.h: 17734 * accessibility/mac/AccessibilityObjectWrapper.mm: 17735 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 17736 177372009-07-01 David Levin <levin@chromium.org> 17738 17739 Reviewed by Eric Seidel. 17740 17741 Remove unused code in SVGTransformList and SVGTransformDistance 17742 <https://bugs.webkit.org/show_bug.cgi?id=26891> 17743 17744 * svg/SVGTransformDistance.cpp: 17745 (WebCore::SVGTransformDistance::SVGTransformDistance): 17746 * svg/SVGTransformList.cpp: 17747 * svg/SVGTransformList.h: 17748 177492009-07-01 David Hyatt <hyatt@apple.com> 17750 17751 Reviewed by Anders Carlsson. 17752 17753 Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough 17754 is implemented for this to do much of anything yet, but it should help keep patch sizes down. :) 17755 17756 * html/DataGridColumn.cpp: 17757 (WebCore::DataGridColumn::columnChanged): 17758 * html/DataGridColumn.h: 17759 (WebCore::DataGridColumn::setId): 17760 (WebCore::DataGridColumn::setLabel): 17761 (WebCore::DataGridColumn::setType): 17762 (WebCore::DataGridColumn::setSortable): 17763 (WebCore::DataGridColumn::setSortDirection): 17764 (WebCore::DataGridColumn::setColumnList): 17765 (WebCore::DataGridColumn::style): 17766 (WebCore::DataGridColumn::setStyle): 17767 (WebCore::DataGridColumn::rect): 17768 (WebCore::DataGridColumn::setRect): 17769 * html/DataGridColumnList.cpp: 17770 (WebCore::DataGridColumnList::DataGridColumnList): 17771 (WebCore::DataGridColumnList::setDataGridNeedsLayout): 17772 (WebCore::DataGridColumnList::add): 17773 (WebCore::DataGridColumnList::remove): 17774 (WebCore::DataGridColumnList::move): 17775 (WebCore::DataGridColumnList::clear): 17776 (WebCore::DataGridColumnList::primaryColumnChanged): 17777 * html/DataGridColumnList.h: 17778 (WebCore::DataGridColumnList::create): 17779 (WebCore::DataGridColumnList::dataGrid): 17780 (WebCore::DataGridColumnList::clearDataGrid): 17781 * html/HTMLDataGridColElement.cpp: 17782 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 17783 (WebCore::HTMLDataGridColElement::findDataGridAncestor): 17784 (WebCore::HTMLDataGridColElement::insertedIntoTree): 17785 (WebCore::HTMLDataGridColElement::removedFromTree): 17786 * html/HTMLDataGridColElement.h: 17787 (WebCore::HTMLDataGridColElement::dataGrid): 17788 * html/HTMLDataGridElement.cpp: 17789 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 17790 (WebCore::HTMLDataGridElement::~HTMLDataGridElement): 17791 * rendering/RenderDataGrid.cpp: 17792 (WebCore::RenderDataGrid::styleDidChange): 17793 (WebCore::RenderDataGrid::recalcStyleForColumns): 17794 (WebCore::RenderDataGrid::recalcStyleForColumn): 17795 (WebCore::RenderDataGrid::styleForColumn): 17796 (WebCore::RenderDataGrid::layout): 17797 (WebCore::RenderDataGrid::layoutColumns): 17798 (WebCore::RenderDataGrid::paintColumnHeaders): 17799 (WebCore::RenderDataGrid::paintColumnHeader): 17800 * rendering/RenderDataGrid.h: 17801 (WebCore::RenderDataGrid::renderName): 17802 (WebCore::RenderDataGrid::canHaveChildren): 17803 178042009-07-01 Daniel Bates <dbates@intudata.com> 17805 17806 Reviewed by Adam Barth. 17807 17808 https://bugs.webkit.org/show_bug.cgi?id=26807 17809 17810 Fixes this address by checking whether frame->document()->decoder() is null. 17811 17812 * page/XSSAuditor.cpp: 17813 (WebCore::XSSAuditor::findInRequest): 17814 178152009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 17816 17817 Reviewed by George Staikos. 17818 17819 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885 17820 17821 Correctly reset history length to '0', not '1'. Old relict from early WML days. 17822 Add some new WML testcases covering the use of history length (by onenterforward event handling) 17823 17824 Tests: wml/onenterforward-event.html 17825 wml/onenterforward-inline-event.html 17826 wml/ontimer-event.html 17827 17828 * wml/WMLPageState.cpp: 17829 (WebCore::WMLPageState::reset): 17830 178312009-07-01 David Hyatt <hyatt@apple.com> 17832 17833 Reviewed by Simon Fraser. 17834 17835 Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object. 17836 17837 Added new test in fast/dom/HTMLDataGridElement. 17838 17839 * html/HTMLDataGridColElement.cpp: 17840 (WebCore::HTMLDataGridColElement::parseMappedAttribute): 17841 * html/HTMLDataGridColElement.h: 17842 178432009-07-01 David Hyatt <hyatt@apple.com> 17844 17845 Reviewed by Tim Hatcher. 17846 17847 <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused, 17848 even though the field is not actually focused for keyboard input 17849 17850 Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the 17851 focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't 17852 actually happen to have focus at that time. 17853 17854 * WebCore.base.exp: 17855 * page/FocusController.cpp: 17856 (WebCore::FocusController::FocusController): 17857 (WebCore::FocusController::setFocusedFrame): 17858 (WebCore::FocusController::setFocused): 17859 (WebCore::FocusController::setActive): 17860 * page/FocusController.h: 17861 (WebCore::FocusController::isFocused): 17862 178632009-07-01 Jakub Wieczorek <faw217@gmail.com> 17864 17865 Reviewed by Simon Hausmann. 17866 17867 [Qt] Move some API headers from WebCore.pro to headers.pri so that they 17868 get installed when running make install from the build directory. 17869 17870 * WebCore.pro: 17871 178722009-07-01 Simon Hausmann <simon.hausmann@nokia.com> 17873 17874 Rubber-stamped by Ariya Hidayat. 17875 17876 Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the 17877 qrc file with new png files from the web inspector. 17878 17879 * inspector/front-end/WebKit.qrc: 17880 178812009-06-30 Mark Rowe <mrowe@apple.com> 17882 17883 Land some code that has a hope of compiling. 17884 17885 * platform/graphics/cg/ImageSourceCG.cpp: 17886 (WebCore::imageSourceOptions): 17887 178882009-06-30 Stephanie Lewis <slewis@apple.com> 17889 17890 Reviewed by Simon Fraser. 17891 17892 Flip back on block caching. Throwing away block data, while 17893 a perceived memory win, is a performance hit in cases where we 17894 are repainting large images (i.e. backgrounds) frequently 17895 (i.e. a flash video playing on top). 17896 <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 17897 decoded on drawing, slowing down painting of sites that frequently 17898 repaint e.g. because of Flash (pandora.com, Starcraft 2) 17899 17900 * platform/graphics/cg/ImageSourceCG.cpp: 17901 (WebCore::imageSourceOptions): 17902 179032009-06-30 Maciej Stachowiak <mjs@apple.com> 17904 17905 Reviewed by Sam Weinig. 17906 17907 - Rename html4.css to html.css, since we target HTML5 now 17908 https://bugs.webkit.org/show_bug.cgi?id=26873 17909 17910 * DerivedSources.make: 17911 * GNUmakefile.am: 17912 * WebCore.pro: 17913 * WebCore.vcproj/WebCore.vcproj: 17914 * WebCore.xcodeproj/project.pbxproj: 17915 * css/CSSStyleSelector.cpp: 17916 (WebCore::loadFullDefaultStyle): 17917 * css/html.css: Copied from css/html4.css. 17918 * css/html4.css: Removed. 17919 * css/themeWin.css: 17920 * platform/Theme.h: 17921 * platform/qt/RenderThemeQt.cpp: 17922 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 17923 * rendering/RenderTheme.h: 17924 179252009-06-30 Zan Dobersek <zandobersek@gmail.com> 17926 17927 Reviewed by Gustavo Noronha. 17928 17929 [GTK] Drag and drop support 17930 https://bugs.webkit.org/show_bug.cgi?id=23642 17931 17932 Define DragImageRef as GdkPixbuf and implement essential 17933 functions which manipulate drag images. 17934 17935 * platform/DragImage.h: 17936 * platform/gtk/DragImageGtk.cpp: 17937 (WebCore::dragImageSize): 17938 (WebCore::deleteDragImage): 17939 (WebCore::scaleDragImage): 17940 (WebCore::createDragImageFromImage): 17941 179422009-06-30 Maxime Simon <simon.maxime@gmail.com> 17943 17944 Reviewed by Eric Seidel. 17945 17946 StorageNamespace.cpp build issue 17947 https://bugs.webkit.org/show_bug.cgi?id=26859 17948 17949 Moved #endif //ENABLE(DOM_STORAGE) position 17950 so that the build doesn't fail. 17951 The namespace WebCore was started after the #if ENABLE(DOM_STORAGE) 17952 but closed after the #endif. 17953 17954 * storage/StorageNamespace.cpp: 17955 179562009-06-30 Eric Carlson <eric.carlson@apple.com> 17957 17958 Reviewed by Oliver Hunt. 17959 17960 <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 17961 buffered time ranges 17962 17963 * html/HTMLMediaElement.cpp: 17964 Don't ASSERT if the network state goes to Idle when when the ready state is 17965 HaveEnoughData or higher, it is perfectly legal. 17966 (WebCore::HTMLMediaElement::setReadyState): 17967 Don't clear m_seeking after posting a 'seeking' event. 17968 17969 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 17970 (WebCore::MediaPlayerPrivate::seek): 17971 Do nothing when asked to seek to the same time we are already seeking to. Check requested 17972 seek time against maxTimeSeekable, not maxTimeLoaded. 17973 (WebCore::MediaPlayerPrivate::doSeek): 17974 Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable. 17975 (WebCore::MediaPlayerPrivate::seekTimerFired): 17976 Check requested seek time against maxTimeSeekable, not maxTimeLoaded. 17977 (WebCore::MediaPlayerPrivate::updateStates): 17978 A streaming movie has as much data as it needs once it reaches "playable", so 17979 set the ready state to HaveFutureData. A movie with metadata doesn't drop back 17980 to "have nothing" when seeking. A streaming movie doesn't use the network when paused. 17981 (WebCore::MediaPlayerPrivate::timeChanged): 17982 It may not be possible to seek to a specific time in a streamed movie but when seeking 17983 in a streaming movie QuickTime sets the time to closest time possible and posts a 17984 timechanged notification, so update m_seekTo so we can detect when the seek completes. 17985 179862009-06-30 Steve Falkenburg <sfalken@apple.com> 17987 17988 https://bugs.webkit.org/show_bug.cgi?id=26860 17989 17990 Reviewed by Sam Weinig. 17991 17992 Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6. 17993 Earlier versions cause corruption crashes. 17994 17995 * plugins/win/PluginPackageWin.cpp: 17996 (WebCore::PluginPackage::isPluginBlacklisted): 17997 179982009-06-30 Dean Jackson <dino@apple.com> 17999 18000 Reviewed by Simon Fraser. 18001 18002 <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING 18003 18004 Fix drawImage of video in CanvasRenderingContext2D when 18005 accelerated compositing is enabled. This is done by 18006 adding a new paint method to HTMLVideoElement that 18007 is only called from canvas, which will create the software 18008 renderer if necessary, but otherwise calls the regular 18009 paint method. Meanwhile, add logic to the software video 18010 renderer so that it can be created without calling repaint 18011 every time it sees a new frame. 18012 18013 * html/CanvasRenderingContext2D.cpp: 18014 (WebCore::CanvasRenderingContext2D::drawImage): 18015 * html/HTMLVideoElement.cpp: 18016 (WebCore::HTMLVideoElement::paintCurrentFrameInContext): 18017 * html/HTMLVideoElement.h: 18018 * platform/graphics/MediaPlayer.cpp: 18019 (WebCore::MediaPlayer::paintCurrentFrameInContext): 18020 * platform/graphics/MediaPlayer.h: 18021 * platform/graphics/MediaPlayerPrivate.h: 18022 (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext): 18023 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 18024 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 18025 (WebCore::MediaPlayerPrivate::createQTMovie): 18026 (WebCore::MediaPlayerPrivate::createQTVideoRenderer): 18027 (WebCore::MediaPlayerPrivate::currentRenderingMode): 18028 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 18029 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 18030 (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext): 18031 180322009-06-30 David Hyatt <hyatt@apple.com> 18033 18034 Reviewed by Beth Dakin. 18035 18036 https://bugs.webkit.org/show_bug.cgi?id=26858 18037 18038 Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed 18039 properly. (Attribute changes are still not caught. That is coming in a separate patch.) 18040 18041 Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html 18042 18043 * html/DataGridColumn.h: 18044 (WebCore::DataGridColumn::create): 18045 (WebCore::DataGridColumn::setColumnList): 18046 (WebCore::DataGridColumn::DataGridColumn): 18047 * html/DataGridColumnList.cpp: 18048 (WebCore::DataGridColumnList::add): 18049 (WebCore::DataGridColumnList::remove): 18050 (WebCore::DataGridColumnList::clear): 18051 * html/DataGridColumnList.h: 18052 * html/HTMLDataGridColElement.cpp: 18053 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 18054 (WebCore::HTMLDataGridColElement::findDatagridAncestor): 18055 (WebCore::HTMLDataGridColElement::ensureColumn): 18056 (WebCore::HTMLDataGridColElement::insertedIntoTree): 18057 (WebCore::HTMLDataGridColElement::removedFromTree): 18058 (WebCore::HTMLDataGridColElement::sortable): 18059 (WebCore::HTMLDataGridColElement::setSortable): 18060 * html/HTMLDataGridColElement.h: 18061 (WebCore::HTMLDataGridColElement::column): 18062 (WebCore::HTMLDataGridColElement::setColumn): 18063 (WebCore::HTMLDataGridColElement::datagrid): 18064 * html/HTMLDataGridElement.cpp: 18065 (WebCore::HTMLDataGridElement::setDataSource): 18066 (WebCore::HTMLDataGridElement::dataSource): 18067 180682009-06-30 Jeremy Orlow (jorlow@chromium.org) 18069 18070 Reviewed by David Levin. 18071 18072 https://bugs.webkit.org/show_bug.cgi?id=26852 18073 18074 Fix some minor build issues in the v8 bindings. 18075 18076 * bindings/v8/custom/V8StorageCustom.cpp: 18077 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): 18078 (WebCore::storageGetter): 18079 (WebCore::storageSetter): 18080 (WebCore::storageDeleter): 18081 * storage/StorageArea.cpp: 18082 180832009-06-30 Adam Langley <agl@google.com> 18084 18085 Reviewed by Eric Seidel. 18086 18087 Chromium Linux: use different fonts for each script run. 18088 18089 https://bugs.webkit.org/show_bug.cgi?id=26853 18090 18091 Previously, when rendering complex text, we picked a single font which 18092 could render all the glyphs needed for the run. However, this meant 18093 that sometimes lines were rendered with, for example, [LATIN, THAI, 18094 LATIN] and we could end up with a different font for the Latin parts 18095 than for lines without Thai in them. 18096 18097 With this patch, we pick a font for each script run. 18098 18099 This change is covered by existing layout tests. 18100 18101 * platform/graphics/chromium/FontLinux.cpp: 18102 (WebCore::Font::drawGlyphs): 18103 (WebCore::TextRunWalker::TextRunWalker): 18104 (WebCore::TextRunWalker::~TextRunWalker): 18105 (WebCore::TextRunWalker::nextScriptRun): 18106 (WebCore::TextRunWalker::fontPlatformDataForScriptRun): 18107 (WebCore::TextRunWalker::setupFontForScriptRun): 18108 (WebCore::TextRunWalker::allocHarfbuzzFont): 18109 (WebCore::setupForTextPainting): 18110 (WebCore::Font::drawComplexText): 18111 (WebCore::Font::floatWidthForComplexText): 18112 (WebCore::Font::offsetForPositionForComplexText): 18113 (WebCore::Font::selectionRectForComplexText): 18114 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 18115 (WebCore::FontPlatformData::setupPaint): 18116 181172009-06-30 Simon Fraser <simon.fraser@apple.com> 18118 18119 Reviewed by Dave Hyatt, Dan Bernstein. 18120 18121 <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing 18122 18123 There are two parts to this fix. First, if a compositing layer has overflow clipping 18124 or a mask, then the compositing layer does not need to be sized to encompass all 18125 non-composited children. 18126 18127 Second, when scrolling, we have to back up to the compositing ancestor and have 18128 it reposition descendant compositing layers, because overflow doesn't follow 18129 the z-order tree. 18130 18131 Test: compositing/overflow/overflow-scroll.html 18132 18133 * page/FrameView.cpp: 18134 (WebCore::FrameView::layout): 18135 Pass the UpdateCompositingLayers flag when updating layers after layout, so that 18136 we can reposition compositing layers if we're not about to do a layer rebuild. 18137 18138 * rendering/RenderLayer.cpp: 18139 (WebCore::RenderLayer::updateLayerPositions): 18140 Only update compositing layers if the flag is set. 18141 18142 (WebCore::RenderLayer::scrollToOffset): 18143 Do compositing layer updates from the compositing ancestor in one fell swoop. 18144 18145 * rendering/RenderLayer.h: 18146 Replace the unused FullUpdate flag with one that allows us to specify whether 18147 compositing layers should be updated. 18148 18149 * rendering/RenderLayerBacking.cpp: 18150 (WebCore::RenderLayerBacking::updateAfterLayout): 18151 * rendering/RenderLayerBacking.h: 18152 New param that we can pass to updateCompositingDescendantGeometry to control 18153 whether the update goes deep. 18154 18155 * rendering/RenderLayerCompositor.cpp: 18156 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 18157 We can return earlier if this is not a self-painting layer. 18158 If the layer has overflow clip or a mask, then the composited bounds are just the 18159 local bounds, excluding descendants. 18160 18161 (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): 18162 * rendering/RenderLayerCompositor.h: 18163 Renamed from updateCompositingChildrenGeometry, and added a flag that allows 18164 us to do a deep update. 18165 181662009-06-30 Alexey Proskuryakov <ap@webkit.org> 18167 18168 Reviewed by Dan Bernstein. 18169 18170 https://bugs.webkit.org/show_bug.cgi?id=26764 18171 Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file 18172 18173 Test: fast/parser/empty-text-resource.html 18174 18175 * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it 18176 hasn't been created yet. 18177 181782009-06-30 Brian Weinstein <bweinstein@apple.com> 18179 18180 Reviewed by Adam Roben. 18181 18182 Renamed scrollbarUnderPoint to scrollbarAtPoint. 18183 18184 * page/EventHandler.cpp: 18185 (WebCore::EventHandler::hitTestResultAtPoint): 18186 (WebCore::EventHandler::handleMousePressEvent): 18187 (WebCore::EventHandler::handleMouseMoveEvent): 18188 * platform/ScrollView.cpp: 18189 (WebCore::ScrollView::scrollbarAtPoint): 18190 * platform/ScrollView.h: 18191 * platform/chromium/PopupMenuChromium.cpp: 18192 (WebCore::PopupListBox::handleMouseDownEvent): 18193 (WebCore::PopupListBox::handleMouseMoveEvent): 18194 181952009-06-30 Oliver Hunt <oliver@apple.com> 18196 18197 Reviewed by Geoff Garen. 18198 18199 <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62 18200 18201 <select> elements and other elements the produce popups can keep their popups 18202 live across a page load. If this occurs and the <select> element has an 18203 onchange handler it is possible to get into a state where we try to execute 18204 JS on a page that no longer has an execution context. 18205 18206 * bindings/js/JSLazyEventListener.cpp: 18207 (WebCore::JSLazyEventListener::parseCode): 18208 Be paranoid and add a null check, but assert as well because we shouldn't 18209 actually get to this point. 18210 * rendering/RenderMenuList.cpp: 18211 (WebCore::RenderMenuList::valueChanged): 18212 182132009-06-30 Drew Wilson <atwilson@google.com> 18214 18215 Reviewed by David Levin. 18216 18217 <https://bugs.webkit.org/show_bug.cgi?id=25435> 18218 18219 Added support for sending MessagePorts to/from Workers via postMessage(). 18220 18221 * bindings/js/JSWorkerContextCustom.cpp: 18222 (WebCore::JSWorkerContext::messageChannel): 18223 Exposes MessageChannel constructor WorkerContext. 18224 * bindings/js/JSWorkerCustom.cpp: 18225 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 18226 (WebCore::CALLBACK_FUNC_DECL): 18227 Now correctly handles being instantiated from within a Worker. 18228 * platform/CrossThreadCopier.h: 18229 (WebCore::GenericWorkerTaskTraits<PassOwnPtr>): 18230 Added support for passing PassOwnPtr as argument to GenericWorkerTask 18231 * workers/GenericWorkerTask.h: 18232 (WebCore::): 18233 * workers/Worker.cpp: 18234 (WebCore::Worker::postMessage): 18235 Now handles disentangling/entangling MessagePorts sent to/from via postMessage. 18236 (WebCore::Worker::dispatchMessage): 18237 * workers/Worker.h: 18238 * workers/Worker.idl: 18239 Added an optional MessagePort argument to postMessage() 18240 * workers/WorkerContext.cpp: 18241 (WebCore::WorkerContext::hasPendingActivity): 18242 Workers now report pending activity whenever there are remotely entangled ports. 18243 (WebCore::WorkerContext::postMessage): 18244 Now handles disentangling/entangling MessagePorts sent to/from via postMessage. 18245 (WebCore::WorkerContext::dispatchMessage): 18246 * workers/WorkerContext.h: 18247 * workers/WorkerContext.idl: 18248 Added an optional MessagePort argument to postMessage() 18249 * workers/WorkerContextProxy.h: 18250 * workers/WorkerMessagingProxy.cpp: 18251 Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel. 18252 (WebCore::MessageWorkerContextTask::create): 18253 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): 18254 (WebCore::MessageWorkerContextTask::performTask): 18255 (WebCore::MessageWorkerTask::create): 18256 (WebCore::MessageWorkerTask::MessageWorkerTask): 18257 (WebCore::MessageWorkerTask::performTask): 18258 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject): 18259 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 18260 * workers/WorkerMessagingProxy.h: 18261 Added additional postMessage() API that accepts a MessagePort 18262 * workers/WorkerObjectProxy.h: 18263 Added additional postMessage() API that accepts a MessagePort 18264 182652009-06-30 Adam Langley <agl@google.com> 18266 18267 Reviewed by Eric Seidel. 18268 18269 Chromium: Add complex text support on Linux. 18270 18271 https://bugs.webkit.org/show_bug.cgi?id=25068 18272 18273 This patch adds complex text support on Linux using Harfbuzz. It's not 18274 the fastest code possible: some caching of font tables will certainly 18275 be required. However, it's probably the simplest code that works. 18276 18277 This will require checking in new baselines in the Chromium tree for 18278 those layout tests which now pass. 18279 18280 * platform/graphics/chromium/FontLinux.cpp: 18281 (WebCore::Font::drawGlyphs): 18282 (WebCore::truncateFixedPointToInteger): 18283 (WebCore::TextRunWalker::TextRunWalker): 18284 (WebCore::TextRunWalker::~TextRunWalker): 18285 (WebCore::TextRunWalker::reset): 18286 (WebCore::TextRunWalker::setXOffsetToZero): 18287 (WebCore::TextRunWalker::rtl): 18288 (WebCore::TextRunWalker::setBackwardsIteration): 18289 (WebCore::TextRunWalker::nextScriptRun): 18290 (WebCore::TextRunWalker::glyphs): 18291 (WebCore::TextRunWalker::length): 18292 (WebCore::TextRunWalker::xPositions): 18293 (WebCore::TextRunWalker::advances): 18294 (WebCore::TextRunWalker::width): 18295 (WebCore::TextRunWalker::logClusters): 18296 (WebCore::TextRunWalker::numCodePoints): 18297 (WebCore::TextRunWalker::widthOfFullRun): 18298 (WebCore::TextRunWalker::allocHarfbuzzFont): 18299 (WebCore::TextRunWalker::deleteGlyphArrays): 18300 (WebCore::TextRunWalker::createGlyphArrays): 18301 (WebCore::TextRunWalker::expandGlyphArrays): 18302 (WebCore::TextRunWalker::shapeGlyphs): 18303 (WebCore::TextRunWalker::setGlyphXPositions): 18304 (WebCore::setupForTextPainting): 18305 (WebCore::fontPlatformDataForTextRun): 18306 (WebCore::Font::drawComplexText): 18307 (WebCore::Font::floatWidthForComplexText): 18308 (WebCore::glyphIndexForXPositionInScriptRun): 18309 (WebCore::Font::offsetForPositionForComplexText): 18310 (WebCore::Font::selectionRectForComplexText): 18311 * platform/graphics/chromium/HarfbuzzSkia.cpp: Added. 18312 (WebCore::SkiaScalarToHarfbuzzFixed): 18313 (WebCore::stringToGlyphs): 18314 (WebCore::glyphsToAdvances): 18315 (WebCore::canRender): 18316 (WebCore::getOutlinePoint): 18317 (WebCore::getGlyphMetrics): 18318 (WebCore::getFontMetric): 18319 (WebCore::harfbuzzSkiaGetTable): 18320 183212009-06-30 Eric Carlson <eric.carlson@apple.com> 18322 18323 Reviewed by Simon Fraser. 18324 18325 <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily 18326 18327 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 18328 (WebCore::MediaPlayerPrivate::updateStates): 18329 Always fall back to a plug-in if m_hasUnsupportedTracks is set. 18330 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 18331 Set m_hasUnsupportedTracks if we disable a track. 18332 183332009-06-30 Nate Chapin <japhet@chromium.org> 18334 18335 Reviewed by Dimitri Glazkov. 18336 18337 Fix inverted if/else that's causing a layout test in src.chromium.org to fail. 18338 18339 https://bugs.webkit.org/show_bug.cgi?id=26820 18340 18341 * bindings/v8/V8Proxy.cpp: 18342 (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2). 18343 183442009-06-30 Dan Bernstein <mitz@apple.com> 18345 18346 Reviewed by Dave Hyatt. 18347 18348 - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap 18349 to Grid" window is clipping 18350 18351 Added an app-specific quirk to revert the behavior of <link> elements 18352 to the way it was before r30673, namely that if the rel attribute 18353 is not "stylesheet" but the type attribute contains "text/css", the 18354 link behaves as a stylesheet link. 18355 18356 * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet(). 18357 * html/HTMLLinkElement.cpp: 18358 (WebCore::HTMLLinkElement::process): Check 18359 Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a 18360 style sheet link if the type contains "text/css". 18361 * page/Settings.cpp: 18362 (WebCore::Settings::Settings): 18363 Initialize m_treatsAnyTextCSSLinkAsStylesheet. 18364 (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added. 18365 * page/Settings.h: 18366 (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added. 18367 183682009-06-30 Adrien Nader <camaradetux@gmail.com> 18369 18370 Reviewed by Xan Lopez. 18371 18372 Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore. 18373 18374 * GNUmakefile.am: 18375 183762009-06-30 Jan Michael Alonzo <jmalonzo@webkit.org> 18377 18378 Reviewed by Xan Lopez. 18379 18380 [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests. 18381 18382 * GNUmakefile.am: 18383 183842009-06-30 Raju Kunnath <raju.kunnath@nokia.com> 18385 18386 Reviewed by Simon Hausmann. 18387 18388 <https://bugs.webkit.org/show_bug.cgi?id=26752> 18389 18390 [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 18391 18392 * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008. 18393 183942009-06-30 Xan Lopez <xlopez@igalia.com> 18395 18396 Reviewed by Jan Alonzo. 18397 18398 Initialize member variables in the right order. Fixes compiler 18399 warning. 18400 18401 * platform/image-decoders/bmp/BMPImageReader.cpp: 18402 (WebCore::BMPImageReader::BMPImageReader): 18403 184042009-06-29 Xan Lopez <xlopez@igalia.com> 18405 18406 Reviewed by David Levin. 18407 18408 https://bugs.webkit.org/show_bug.cgi?id=26831 18409 Fix compiler warning in WorkerLoaderProxy.h 18410 18411 Forward declaration of a class within a class is not allowed, 18412 since the compiler can't know if the declaration is legal at that 18413 point. This gives the following compiler warning: 18414 18415 ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration 18416 "class WebCore::ScriptExecutionContext::Task" does not declare 18417 anything 18418 18419 Include the full ScriptExecutionHeader header instead. 18420 18421 * workers/WorkerLoaderProxy.h: 18422 184232009-06-29 Xan Lopez <xlopez@igalia.com> 18424 18425 Reviewed by Jan Alonzo. 18426 18427 Remove unused function. 18428 18429 * plugins/gtk/PluginPackageGtk.cpp: 18430 184312009-06-29 Simon Fraser <simon.fraser@apple.com> 18432 18433 Reviewed by Dan Bernstein. 18434 18435 Change RenderLayer::updateLayerPositions() to use a bitmask instead of two 18436 boolean arguments. FullUpdate is unused at present, but will be used soon. 18437 18438 * page/FrameView.cpp: 18439 (WebCore::FrameView::layout): 18440 * rendering/RenderLayer.cpp: 18441 (WebCore::RenderLayer::updateLayerPositions): 18442 (WebCore::RenderLayer::scrollToOffset): 18443 * rendering/RenderLayer.h: 18444 (WebCore::RenderLayer::): 18445 184462009-06-29 Nate Chapin <japhet@chromium.org> 18447 18448 Reviewed by Dimitri Glazkov. 18449 18450 Fix one more bad merge in V8Proxy. 18451 18452 https://bugs.webkit.org/show_bug.cgi?id=26819 18453 18454 * bindings/v8/V8Proxy.cpp: 18455 (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object(). 18456 184572009-06-29 Sam Weinig <sam@webkit.org> 18458 18459 Reviewed by Mark Rowe. 18460 18461 Remove more unused scons support. 18462 18463 * SConstruct: Removed. 18464 184652009-06-29 Sam Weinig <sam@webkit.org> 18466 18467 Reviewed by Dave Hyatt. 18468 18469 Fix some incorrect create functions. 18470 18471 * html/DataGridColumn.h: 18472 (WebCore::DataGridColumn::create): 18473 * html/DataGridColumnList.h: 18474 (WebCore::DataGridColumnList::create): 18475 184762009-06-29 Sam Weinig <sam@webkit.org> 18477 18478 Reviewed by Dave Hyatt. 18479 18480 Remove initialize method from DataGridDataSource and add 18481 DOMDataGridDataSource. 18482 18483 * GNUmakefile.am: 18484 * WebCore.pro: 18485 * WebCore.vcproj/WebCore.vcproj: 18486 * WebCore.xcodeproj/project.pbxproj: 18487 * WebCoreSources.bkl: 18488 * bindings/js/JSDataGridDataSource.cpp: 18489 * bindings/js/JSDataGridDataSource.h: 18490 * bindings/js/JSHTMLDataGridElementCustom.cpp: 18491 (WebCore::JSHTMLDataGridElement::setDataSource): 18492 * html/DOMDataGridDataSource.cpp: Added. 18493 (WebCore::DOMDataGridDataSource::DOMDataGridDataSource): 18494 (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource): 18495 * html/DOMDataGridDataSource.h: Added. 18496 (WebCore::DOMDataGridDataSource::create): 18497 (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource): 18498 (WebCore::asDOMDataGridDataSource): 18499 * html/DataGridDataSource.h: 18500 (WebCore::DataGridDataSource::isDOMDataGridDataSource): 18501 (WebCore::DataGridDataSource::isJSDataGridDataSource): 18502 * html/HTMLDataGridElement.cpp: 18503 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 18504 (WebCore::HTMLDataGridElement::setDataSource): 18505 (WebCore::HTMLDataGridElement::dataSource): 18506 * html/HTMLDataGridElement.h: 18507 185082009-06-29 Nate Chapin <japhet@chromium.org> 18509 18510 Reviewed by Dimitri Glazkov. 18511 18512 Fix a couple of bad merge items from my previous V8Proxy patch. 18513 18514 https://bugs.webkit.org/show_bug.cgi?id=26813 18515 18516 * bindings/v8/V8Collection.h: 18517 (WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through. 18518 * bindings/v8/V8Proxy.cpp: 18519 (WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in. 18520 185212009-06-29 Chris Marrin <cmarrin@apple.com> 18522 18523 Reviewed by Simon Fraser <simon.fraser@apple.com>. 18524 18525 https://bugs.webkit.org/show_bug.cgi?id=26706 18526 18527 Fixed crash due to dereference of m_toStyle 18528 18529 * page/animation/ImplicitAnimation.cpp: 18530 (WebCore::ImplicitAnimation::isTargetPropertyEqual): 18531 185322009-06-29 Eric Carlson <eric.carlson@apple.com> 18533 18534 Reviewed by Simon Fraser. 18535 18536 <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded. 18537 18538 * WebCore.base.exp: 18539 Export _wkQTMovieGetType 18540 18541 * platform/graphics/MediaPlayer.cpp: 18542 (WebCore::MediaPlayer::hasSingleSecurityOrigin): 18543 Move to keep with other non-callback functions. 18544 (WebCore::MediaPlayer::movieLoadType): 18545 New, returns the movie type. 18546 * platform/graphics/MediaPlayer.h: 18547 Declare MovieLoadType enum and movieLoadType method. 18548 18549 * platform/graphics/MediaPlayerPrivate.h: 18550 (WebCore::MediaPlayerPrivateInterface::movieLoadType): 18551 Default implementation of movieLoadType 18552 18553 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 18554 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 18555 (WebCore::MediaPlayerPrivate::createQTMovie): 18556 Don't base m_isStreaming on protocol, there are other types of streaming movies. 18557 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 18558 Don't assume all streams are unbuffered. 18559 (WebCore::MediaPlayerPrivate::updateStates): 18560 Update m_isStreaming once we have metadata. 18561 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 18562 Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount. 18563 (WebCore::MediaPlayerPrivate::movieLoadType): 18564 New, return movie type. 18565 18566 * platform/mac/WebCoreSystemInterface.h: 18567 * platform/mac/WebCoreSystemInterface.mm: 18568 Add wkQTMovieGetType. 18569 185702009-06-29 Alice Liu <alice.liu@apple.com> 18571 18572 Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery 18573 18574 Reviewed by Anders Carlsson. 18575 18576 No test added because the crash requires a flash plugin 18577 18578 * plugins/win/PluginMessageThrottlerWin.cpp: 18579 Rely on the hWnd of the plugin to tell us whether the PluginView has 18580 been deleted during execution of its wndProc. 18581 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): 18582 185832009-06-29 Dmitry Titov <dimich@chromium.org> 18584 18585 Reviewed by David Levin. 18586 18587 https://bugs.webkit.org/show_bug.cgi?id=26811 18588 [Chromium] Remove a flag and functions used to enable workers in runtime. 18589 18590 * bindings/v8/WorkerContextExecutionProxy.cpp: 18591 * bindings/v8/WorkerContextExecutionProxy.h: 18592 185932009-06-29 Simon Fraser <simon.fraser@apple.com> 18594 18595 Reviewed by Dave Hyatt. 18596 18597 <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers. 18598 18599 Improve the appearance of text in compositing layers by making use of 18600 CA's layer geometry flipping, rather that doing it ourselves with a flip 18601 transform. This allows CG to use font autohinting in the layer text. 18602 18603 * platform/graphics/GraphicsLayer.h: 18604 (WebCore::GraphicsLayer::setGeometryOrientation): 18605 (WebCore::GraphicsLayer::geometryOrientation): 18606 New methods to set whether this layer uses flipped geometry. 18607 18608 * platform/graphics/mac/GraphicsLayerCA.h: 18609 * platform/graphics/mac/GraphicsLayerCA.mm: 18610 (WebCore::GraphicsLayerCA::setGeometryOrientation): 18611 (WebCore::GraphicsLayerCA::geometryOrientation): 18612 Subclass in order to call into CA 18613 18614 (WebCore::GraphicsLayerCA::setContentsLayer): 18615 Now that CA is doing the geometry flipping, we no longer need to flip the content 18616 layers for image and video manually 18617 18618 * rendering/RenderLayerCompositor.cpp: 18619 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 18620 Turn on flipping on the root layer. 18621 186222009-06-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 18623 18624 Reviewed by Adam Treat. 18625 18626 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246 18627 18628 Implement most WML specific <select> element features. 18629 Add 'iname' / 'ivalue' support and support variable references. 18630 18631 Add two tests covering most select/variable related functionality. 18632 Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick). 18633 18634 Tests: http/tests/wml/post-data-to-server.html 18635 wml/select-element-variables.html 18636 18637 * dom/SelectElement.cpp: 18638 (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML. 18639 * dom/SelectElement.h: 18640 * html/HTMLSelectElement.cpp: 18641 (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML). 18642 * wml/WMLCardElement.cpp: 18643 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization. 18644 * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing. 18645 (WebCore::WMLSelectElement::title): 18646 (WebCore::WMLSelectElement::formControlName): 18647 (WebCore::WMLSelectElement::defaultEventHandler): 18648 (WebCore::WMLSelectElement::selectInitialOptions): 18649 (WebCore::WMLSelectElement::calculateDefaultOptionIndices): 18650 (WebCore::WMLSelectElement::selectDefaultOptions): 18651 (WebCore::WMLSelectElement::initializeVariables): 18652 (WebCore::WMLSelectElement::updateVariables): 18653 (WebCore::WMLSelectElement::parseIndexValueString): 18654 (WebCore::WMLSelectElement::valueStringToOptionIndices): 18655 (WebCore::WMLSelectElement::optionIndicesToValueString): 18656 (WebCore::WMLSelectElement::optionIndicesToString): 18657 (WebCore::WMLSelectElement::name): 18658 (WebCore::WMLSelectElement::value): 18659 (WebCore::WMLSelectElement::iname): 18660 (WebCore::WMLSelectElement::ivalue): 18661 * wml/WMLSelectElement.h: 18662 186632009-06-29 David Hyatt <hyatt@apple.com> 18664 18665 Reviewed by Adam Roben. 18666 18667 Put <datagrid> behind an ifdef. 18668 18669 * Configurations/FeatureDefines.xcconfig: 18670 * bindings/js/JSDataGridColumnListCustom.cpp: 18671 * bindings/js/JSDataGridDataSource.cpp: 18672 * bindings/js/JSDataGridDataSource.h: 18673 * bindings/js/JSHTMLDataGridElementCustom.cpp: 18674 * html/DataGridColumn.cpp: 18675 * html/DataGridColumn.h: 18676 * html/DataGridColumn.idl: 18677 * html/DataGridColumnList.cpp: 18678 * html/DataGridColumnList.h: 18679 * html/DataGridColumnList.idl: 18680 * html/DataGridDataSource.h: 18681 * html/HTMLDataGridCellElement.cpp: 18682 * html/HTMLDataGridCellElement.h: 18683 * html/HTMLDataGridCellElement.idl: 18684 * html/HTMLDataGridColElement.cpp: 18685 * html/HTMLDataGridColElement.h: 18686 * html/HTMLDataGridColElement.idl: 18687 * html/HTMLDataGridElement.cpp: 18688 * html/HTMLDataGridElement.h: 18689 * html/HTMLDataGridElement.idl: 18690 * html/HTMLDataGridRowElement.cpp: 18691 * html/HTMLDataGridRowElement.h: 18692 * html/HTMLDataGridRowElement.idl: 18693 * html/HTMLTagNames.in: 18694 * page/DOMWindow.idl: 18695 * rendering/RenderDataGrid.cpp: 18696 * rendering/RenderDataGrid.h: 18697 186982009-06-29 Simon Hausmann <simon.hausmann@nokia.com> 18699 18700 Reviewed by Ariya Hidayat and Adam Roben. 18701 18702 Fix compilation with MINGW. Ported MSVC inline assembly to 18703 GNU inline assembly. Also fixed casting errors where gcc 18704 refused to cast a pointer-to-function to a pointer-to-object, 18705 without an intermediate cast to a non-pointer type. 18706 18707 * plugins/win/PluginViewWin.cpp: 18708 (WebCore::PluginView::hookedBeginPaint): 18709 (WebCore::PluginView::hookedEndPaint): 18710 (WebCore::hook): 18711 (WebCore::setUpOffscreenPaintingHooks): 18712 187132009-06-26 John Sullivan <sullivan@apple.com> 18714 18715 Added Speech submenu to context menu on Mac when there's a non-editable selection 18716 (it was already present when there's an editable selection). 18717 Also added support for disabling "Stop Speaking" when there is no speaking to stop. 18718 18719 Reviewed by Tim Hatcher. 18720 18721 * loader/EmptyClients.h: 18722 (WebCore::EmptyContextMenuClient::isSpeaking): 18723 implemented this new virtual function to return false 18724 18725 * page/ContextMenuClient.h: 18726 declared this new pure virtual function 18727 18728 * platform/ContextMenu.cpp: 18729 (WebCore::ContextMenu::populate): 18730 insert Speech item (after a separator) on Mac when there's selected non-editable text 18731 (WebCore::ContextMenu::checkOrEnableIfNeeded): 18732 enable Stop Speaking item only if the context menu client returns true for isSpeaking() 18733 187342009-06-28 Dan Bernstein <mitz@apple.com> 18735 18736 Reviewed by Simon Fraser. 18737 18738 - fix https://bugs.webkit.org/show_bug.cgi?id=26783 18739 <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed 18740 in MobileMe iDisk Web App 18741 18742 Test: added a case to fast/dom/Element/scrollWidth.html 18743 18744 Ensure that scroll{Width, Height} is greater or equal to 18745 client{Width, Height}. 18746 18747 * rendering/RenderBox.cpp: 18748 (WebCore::RenderBox::scrollWidth): 18749 (WebCore::RenderBox::scrollHeight): 18750 187512009-06-27 Simon Fraser <simon.fraser@apple.com> 18752 18753 Reviewed by Eric Seidel. 18754 18755 https://bugs.webkit.org/show_bug.cgi?id=26780 18756 18757 Do not make compositing layers for non-self-painting RenderLayers, 18758 since these exist only to push a clip onto the clipping stack. If such 18759 a layer gets compositied for some other reason, it should not paint. 18760 18761 Also ensure that we update composited layer positions correctly 18762 inside overflow:scroll layers. We can't assume that the contents 18763 are child layers, so we have to go up to the compositing ancestor, 18764 and tell it to update all its child layer positions as we do 18765 after layout. 18766 18767 Tests: compositing/layers-inside-overflow-scroll.html 18768 compositing/self-painting-layers.html 18769 18770 * rendering/RenderLayer.cpp: 18771 (WebCore::RenderLayer::scrollToOffset): 18772 * rendering/RenderLayerBacking.cpp: 18773 (WebCore::RenderLayerBacking::paintIntoLayer): 18774 * rendering/RenderLayerCompositor.cpp: 18775 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 18776 (WebCore::RenderLayerCompositor::needsToBeComposited): 18777 187782009-06-28 Luke Kenneth Casson Leighton <lkcl@lkcl.net> 18779 18780 Reviewed by Eric Seidel. 18781 18782 PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build 18783 https://bugs.webkit.org/show_bug.cgi?id=23057 18784 18785 Define these functions for Gtk as well. 18786 18787 * platform/PurgeableBuffer.h: 18788 187892009-06-28 Nate Chapin <japhet@chromium.org> 18790 18791 Reviewed by Dimitri Glazkov. 18792 18793 Update CodeGeneratorV8.pm to match the new api for V8Proxy. 18794 18795 https://bugs.webkit.org/show_bug.cgi?id=26765 18796 18797 * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy. 18798 187992009-06-28 Nicolas Sylvain <nsylvain@chromium.org> 18800 18801 Reviewed by Dimitri Glazkov. 18802 18803 If loading a font fails because of the sandbox, we ask the browser process to 18804 try to load it by calling ensureFontLoaded. If it still fails after 18805 ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 18806 18807 This case happens once in a while during browser shutdown. The browser will 18808 queue a message to the renderer to shutdown, and will then stop answering sync 18809 messages from the renderer. If the renderer is still loading a page during this 18810 time, it might try to call the browser process to ask to load a font. The 18811 browser process will ignore the request, and the font will fail to load, even 18812 after the second try. 18813 18814 This is unfortunate, but there is no real risk here, since the renderer will be 18815 going away as soon as it processes another message. 18816 18817 This can't be layout tested as it depends on the sandbox. 18818 18819 https://bugs.webkit.org/show_bug.cgi?id=26743 18820 18821 * platform/graphics/chromium/FontChromiumWin.cpp: 18822 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 18823 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 18824 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 18825 188262009-06-28 John Abd-El-Malek <jam@chromium.org> 18827 18828 Reviewed by Eric Seidel. 18829 18830 https://bugs.webkit.org/show_bug.cgi?id=15457 18831 18832 Test: plugins/netscape-plugin-map-data-to-src.html 18833 18834 Fix problems with Real or WMP plugins not displaying because "data" was set 18835 on the OBJECT tag instead of "src". This is based on what Firefox does, see 18836 http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045 18837 18838 * rendering/RenderPartObject.cpp: 18839 (WebCore::mapDataParamToSrc): 18840 (WebCore::RenderPartObject::updateWidget): 18841 188422009-06-27 Laszlo Gombos <laszlo.1.gombos@nokia.com> 18843 18844 Reviewed by Jan Alonzo. 18845 18846 [Qt] Build fix after r45290 18847 https://bugs.webkit.org/show_bug.cgi?id=26769 18848 18849 * WebCore.pro: 18850 188512009-06-27 Emilio Pozuelo Monfort <pochu27@gmail.com> 18852 18853 Reviewed by Jan Alonzo. 18854 18855 [GTK] Don't use deprecated GTK+ symbols. 18856 https://bugs.webkit.org/show_bug.cgi?id=26583 18857 18858 * plugins/gtk/gtk2xtbin.c: 18859 (gtk_xtbin_class_init): 18860 (gtk_xtbin_new): 18861 (gtk_xtbin_destroy): 18862 188632009-06-27 Simon Fraser <simon.fraser@apple.com> 18864 18865 Reviewed by Dan Bernstein. 18866 18867 https://bugs.webkit.org/show_bug.cgi?id=26780 18868 18869 Fix up previous change. When computeCompositingRequirements() determines 18870 that the current layer is composited, it needs to inform its parent 18871 by setting compositingState.m_subtreeIsCompositing() to true. That didn't 18872 always happen after the previous patch. Clarified the logic here. 18873 18874 * rendering/RenderLayerCompositor.cpp: 18875 (WebCore::CompositingState::CompositingState): 18876 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 18877 188782009-06-27 Simon Fraser <simon.fraser@apple.com> 18879 18880 Reviewed by Dan Bernstein. 18881 18882 https://bugs.webkit.org/show_bug.cgi?id=26780 18883 18884 First part: fix the RenderLayer::hasCompositingDescendant() flag to be set 18885 correctly. 18886 18887 * rendering/RenderLayerCompositor.cpp: 18888 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 18889 Do not unconditionally set compositingState.m_subtreeIsCompositing, because 18890 that can clobber the value from an earlier sibling. Add some more comments. 18891 18892 Remove a final use of Vector iterators. 18893 18894 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): 18895 Move the normalFlowList() processing outside the test for isStackingContext(). 18896 188972009-06-27 Dan Bernstein <mitz@apple.com> 18898 18899 Reviewed by Simon Fraser and Antti Koivisto. 18900 18901 - make paintFillLayerExtended() non-virtual and remove its clipY and 18902 clipH parameters 18903 18904 These parameters were computed and passed along to 18905 paintFillLayerExtended in order to vertically constrain the rect fill to 18906 the damage rect, because Qt cannot paint tall rectangles (see 18907 <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect 18908 is passed along in the PaintInfo, the extra parameters are redundant, 18909 and the intersection can just take place in paintFillLayerExtended(). 18910 18911 * rendering/InlineFlowBox.cpp: 18912 (WebCore::InlineFlowBox::paintFillLayers): 18913 (WebCore::InlineFlowBox::paintFillLayer): 18914 (WebCore::InlineFlowBox::paintBoxDecorations): 18915 (WebCore::InlineFlowBox::paintMask): 18916 * rendering/InlineFlowBox.h: 18917 * rendering/RenderBox.cpp: 18918 (WebCore::RenderBox::paintRootBoxDecorations): 18919 (WebCore::RenderBox::paintBoxDecorations): 18920 (WebCore::RenderBox::paintMask): 18921 (WebCore::RenderBox::paintMaskImages): 18922 (WebCore::RenderBox::paintFillLayers): 18923 (WebCore::RenderBox::paintFillLayer): 18924 * rendering/RenderBox.h: 18925 * rendering/RenderBoxModelObject.cpp: 18926 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 18927 * rendering/RenderBoxModelObject.h: 18928 * rendering/RenderFieldset.cpp: 18929 (WebCore::RenderFieldset::paintBoxDecorations): 18930 (WebCore::RenderFieldset::paintMask): 18931 * rendering/RenderTable.cpp: 18932 (WebCore::RenderTable::paintBoxDecorations): 18933 (WebCore::RenderTable::paintMask): 18934 * rendering/RenderTableCell.cpp: 18935 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 18936 (WebCore::RenderTableCell::paintMask): 18937 189382009-06-27 Ryosuke Niwa <rniwa@google.com> 18939 18940 Reviewed by Eric Seidel. 18941 18942 https://bugs.webkit.org/show_bug.cgi?id=26762 18943 18944 Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712. 18945 https://bugs.webkit.org/show_bug.cgi?id=21712 18946 18947 Added few utility functions to htmlediting.h/cpp 18948 18949 isVisibilyAdjacent checks whether the first position is visibly next to the second position. 18950 i.e. there is no visible node between the first and second positions 18951 18952 canMergeLists checks whether two lists can be merged. 18953 It checks the type of list, the editing boundary, and adjacency of the lists. 18954 18955 Tests: editing/execCommand/indent-nested-lists-1.html 18956 editing/execCommand/indent-nested-lists-2.html 18957 editing/execCommand/indent-nested-lists-3.html 18958 editing/execCommand/indent-nested-lists-4.html 18959 editing/execCommand/indent-nested-lists-5.html 18960 editing/execCommand/indent-nested-lists-6.html 18961 editing/execCommand/indent-nested-lists-7.html 18962 editing/execCommand/outdent-nested-lists-1.html 18963 editing/execCommand/outdent-nested-lists-2.html 18964 editing/execCommand/outdent-nested-lists-3.html 18965 editing/execCommand/outdent-nested-lists-4.html 18966 18967 * editing/IndentOutdentCommand.cpp: 18968 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): 18969 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): 18970 (WebCore::IndentOutdentCommand::indentIntoBlockquote): 18971 (WebCore::IndentOutdentCommand::indentRegion): 18972 * editing/IndentOutdentCommand.h: 18973 * editing/htmlediting.cpp: 18974 (WebCore::enclosingListChild): 18975 (WebCore::canMergeLists): 18976 (WebCore::isVisibilyAdjacent): 18977 * editing/htmlediting.h: 18978 189792009-06-27 Pavel Feldman <pfeldman@chromium.org> 18980 18981 Reviewed by Timothy Hatcher. 18982 18983 WebInspector: Fix completion when iterating options using Tab. 18984 18985 https://bugs.webkit.org/show_bug.cgi?id=26722 18986 18987 * inspector/front-end/TextPrompt.js: 18988 (WebInspector.TextPrompt.prototype._completionsReady): 18989 189902009-06-27 Gustavo Noronha Silva <gns@gnome.org> 18991 18992 Reviewed by Holger Freyther. 18993 18994 https://bugs.webkit.org/show_bug.cgi?id=25889 18995 [GTK] scrollbar policy for main frame is not implementable 18996 18997 Override visibleContentRect to handle GTK+'s case, in which 18998 scrollbars or equivalent decoration are painted by the parent 18999 widget. 19000 19001 * platform/ScrollView.cpp: 19002 * platform/gtk/ScrollViewGtk.cpp: 19003 (WebCore::ScrollView::visibleContentRect): 19004 190052009-06-27 Daniel Bates <dbates@intudata.com> 19006 19007 Reviewed by Adam Barth. 19008 19009 https://bugs.webkit.org/show_bug.cgi?id=26708 19010 19011 Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs, 19012 and UTF-7 encoded payloads. 19013 19014 Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html 19015 http/tests/security/xssAuditor/iframe-javascript-url.html 19016 http/tests/security/xssAuditor/script-tag-utf-7-encoded.html 19017 http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html 19018 19019 * html/HTMLTokenizer.cpp: 19020 (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag. 19021 (WebCore::HTMLTokenizer::parseTag): 19022 * loader/FrameLoader.cpp: 19023 (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so 19024 as to compare against iFrame javascript URL. 19025 * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method 19026 isControlCharacter in ResourceResponseBase.cpp. 19027 (WebCore::XSSAuditor::XSSAuditor): 19028 (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder. 19029 (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution 19030 of iFrame javascript URL. 19031 * page/XSSAuditor.h: Added field m_parentFrame. 19032 * platform/network/ResourceResponseBase.cpp: 19033 (WebCore::isControlCharacter): 19034 * platform/network/ResourceResponseBase.h: 19035 190362009-06-27 Oliver Hunt <oliver@apple.com> 19037 19038 Reviewed by Maciej Stachowiak. 19039 19040 Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements 19041 19042 The drawImage(<video>) logic naively assumes that it just needs 19043 to check the src attribute of the video element when in fact it 19044 needs to look at the url that is being played instead. Failure 19045 to do this means that video provided through source elements 19046 taints the canvas. 19047 19048 Test: media/video-canvas-source.html 19049 19050 * html/CanvasRenderingContext2D.cpp: 19051 (WebCore::CanvasRenderingContext2D::checkOrigin): 19052 (WebCore::CanvasRenderingContext2D::drawImage): 19053 * html/CanvasRenderingContext2D.h: 19054 190552009-06-26 Brian Weinstein <bweinstein@apple.com> 19056 19057 Reviewed by Simon Fraser. 19058 19059 https://bugs.webkit.org/show_bug.cgi?id=26695 19060 19061 Added the ability to do scrollbar hit testing in EventHandler, changed the 19062 signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse 19063 to scrollbarUnderPoint, and updated all calls to that function. 19064 19065 * page/EventHandler.cpp: 19066 (WebCore::EventHandler::hitTestResultAtPoint): 19067 (WebCore::EventHandler::handleMousePressEvent): 19068 (WebCore::EventHandler::handleMouseMoveEvent): 19069 * page/EventHandler.h: 19070 (WebCore::): 19071 * platform/PlatformWheelEvent.h: 19072 * platform/ScrollView.cpp: 19073 (WebCore::ScrollView::scrollbarUnderPoint): 19074 * platform/ScrollView.h: 19075 * platform/chromium/PopupMenuChromium.cpp: 19076 (WebCore::PopupListBox::handleMouseDownEvent): 19077 (WebCore::PopupListBox::handleMouseMoveEvent): 19078 * platform/win/WheelEventWin.cpp: 19079 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 19080 19081 190822009-06-26 Simon Fraser <simon.fraser@apple.com> 19083 19084 Reviewed by Dan Bernstein. 19085 19086 <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode 19087 19088 Don't go into compositing mode just for opacity transitions, but they will be 19089 hardware acclerated if we're already compositing. 19090 19091 * rendering/RenderLayerCompositor.cpp: 19092 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 19093 (WebCore::RenderLayerCompositor::requiresCompositingForTransform): 19094 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): 19095 * rendering/RenderLayerCompositor.h: 19096 190972009-06-26 Simon Fraser <simon.fraser@apple.com> 19098 19099 Rubber-stamped by Dave Levin 19100 19101 Rename ioCompState to compositingState to better match WebCore coding style. 19102 19103 * rendering/RenderLayerCompositor.cpp: 19104 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 19105 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 19106 191072009-06-26 Dan Bernstein <mitz@apple.com> 19108 19109 Reviewed by Mark Rowe. 19110 19111 - revert unintentional project changes from r45277 19112 19113 * WebCore.xcodeproj/project.pbxproj: 19114 191152009-06-26 Mark Rowe <mrowe@apple.com> 19116 19117 Fix the Windows build. 19118 19119 * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as 19120 the file was deleted from SVN. 19121 191222009-06-26 Simon Fraser <simon.fraser@apple.com> 19123 19124 Reviewed by Dan Bernstein. 19125 19126 https://bugs.webkit.org/show_bug.cgi?id=26766 19127 19128 Change to use array indexing rather than Vector enumerators; the former 19129 are preferred style. 19130 19131 * rendering/RenderLayerBacking.cpp: 19132 (WebCore::RenderLayerBacking::hasNonCompositingContent): 19133 * rendering/RenderLayerCompositor.cpp: 19134 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 19135 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 19136 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 19137 (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry): 19138 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): 19139 (WebCore::RenderLayerCompositor::layerHas3DContent): 19140 191412009-06-26 Dan Bernstein <mitz@apple.com> 19142 19143 Reviewed by Oliver Hunt. 19144 19145 - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported 19146 as 1 px 19147 19148 Test: fast/dom/Element/scrollWidth.html 19149 19150 Changed scrollWidth and scrollHeight to use the same logic for 19151 visible overflow boxes that is used for clipped overflow boxes. In 19152 particular, borders are not included and 19153 {leftmost,rightmost,lowest}Position() are used. This logic matches IE8. 19154 19155 * rendering/RenderBox.cpp: 19156 (WebCore::RenderBox::scrollWidth): 19157 (WebCore::RenderBox::scrollHeight): 19158 191592009-06-26 Chris Fleizach <cfleizach@apple.com> 19160 19161 Reviewed by Oliver Hunt. 19162 19163 Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented 19164 https://bugs.webkit.org/show_bug.cgi?id=26725 19165 19166 Tests: accessibility/aria-disabled.html 19167 accessibility/aria-hidden.html 19168 accessibility/aria-readonly.html 19169 19170 * accessibility/AccessibilityRenderObject.cpp: 19171 (WebCore::AccessibilityRenderObject::ariaIsHidden): 19172 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 19173 (WebCore::AccessibilityRenderObject::isEnabled): 19174 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 19175 * accessibility/AccessibilityRenderObject.h: 19176 * html/HTMLAttributeNames.in: 19177 191782009-06-26 Brett Wilson <brettw@chromium.org> 19179 19180 Reviewed by David Levin. 19181 19182 https://bugs.webkit.org/show_bug.cgi?id=26759 19183 19184 GIFImageDecoder is broken. 19185 19186 Make the GIFImageDecoder.repetitionCount function const to match the 19187 base class. The mismatched definitions were causing the function to not 19188 get called. 19189 19190 * platform/image-decoders/gif/GIFImageDecoder.cpp: 19191 (WebCore::GIFImageDecoder::repetitionCount): 19192 * platform/image-decoders/gif/GIFImageDecoder.h: 19193 191942009-06-26 Chris Marrin <cmarrin@apple.com> 19195 19196 Reviewed by Simon Fraser <simon.fraser@apple.com>. 19197 19198 Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651 19199 19200 The flag should always default to true to avoid it getting set 19201 to false in a build with accelerated compositing turned off 19202 and then disabling accelerated compositing when subsequently 19203 running a build with it turned on. 19204 19205 * page/Settings.cpp: 19206 (WebCore::Settings::Settings): 19207 192082009-06-26 Brady Eidson <beidson@apple.com> 19209 19210 Reviewed by Sam Weinig. 19211 19212 Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails 19213 19214 Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too! 19215 19216 * platform/network/mac/ResourceHandleMac.mm: 19217 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 19218 * platform/network/mac/WebCoreURLResponse.h: 19219 192202009-06-26 Jeremy Orlow <jorlow@chromium.org> 19221 19222 Reviewed by Darin Fisher. 19223 19224 https://bugs.webkit.org/show_bug.cgi?id=26732 19225 19226 For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376, 19227 combine LocalStorage and SessionStorage into StorageNamespace. The 19228 synching code (for LocalStorage) has already been removed, so these 19229 classes are now very similar. All they do is essentially contain a 19230 logical grouping of origins that are attached to specific contexts 19231 (be it PageGroups for LocalStorage and Page for SessionStorage). 19232 19233 * GNUmakefile.am: 19234 * WebCore.vcproj/WebCore.vcproj: 19235 * WebCore.xcodeproj/project.pbxproj: 19236 * WebCoreSources.bkl: 19237 * page/Chrome.cpp: 19238 (WebCore::Chrome::createWindow): 19239 * page/DOMWindow.cpp: 19240 (WebCore::DOMWindow::localStorage): 19241 * page/DOMWindow.h: 19242 * page/Page.cpp: 19243 (WebCore::Page::sessionStorage): 19244 (WebCore::Page::setSessionStorage): 19245 * page/Page.h: 19246 * page/PageGroup.cpp: 19247 (WebCore::PageGroup::localStorage): 19248 * page/PageGroup.h: 19249 * storage/LocalStorage.cpp: Removed. 19250 * storage/LocalStorage.h: Removed. 19251 * storage/LocalStorageTask.cpp: 19252 * storage/LocalStorageThread.cpp: 19253 * storage/SessionStorage.cpp: Removed. 19254 * storage/SessionStorage.h: Removed. 19255 * storage/StorageArea.cpp: 19256 (WebCore::StorageArea::create): 19257 (WebCore::StorageArea::StorageArea): 19258 (WebCore::StorageArea::copy): 19259 (WebCore::StorageArea::length): 19260 (WebCore::StorageArea::key): 19261 (WebCore::StorageArea::getItem): 19262 (WebCore::StorageArea::setItem): 19263 (WebCore::StorageArea::removeItem): 19264 (WebCore::StorageArea::clear): 19265 (WebCore::StorageArea::contains): 19266 (WebCore::StorageArea::importItem): 19267 (WebCore::StorageArea::close): 19268 (WebCore::StorageArea::dispatchStorageEvent): 19269 * storage/StorageArea.h: 19270 (WebCore::): 19271 * storage/StorageAreaSync.cpp: 19272 (WebCore::StorageAreaSync::scheduleFinalSync): 19273 * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp. 19274 (WebCore::localStorageNamespaceMap): 19275 (WebCore::StorageNamespace::localStorageNamespace): 19276 (WebCore::StorageNamespace::sessionStorageNamespace): 19277 (WebCore::StorageNamespace::StorageNamespace): 19278 (WebCore::StorageNamespace::~StorageNamespace): 19279 (WebCore::StorageNamespace::copy): 19280 (WebCore::StorageNamespace::storageArea): 19281 (WebCore::StorageNamespace::close): 19282 * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h. 19283 192842009-06-26 Nate Chapin <japhet@chromium.org> 19285 19286 Reviewed by David Levin. 19287 19288 Upstream V8Proxy. This involved updating a lot of function and variable names to match WebKit style, hence the large size. 19289 19290 https://bugs.webkit.org/show_bug.cgi?id=26623 19291 19292 * bindings/v8/ScheduledAction.cpp: 19293 (WebCore::ScheduledAction::ScheduledAction): 19294 (WebCore::ScheduledAction::~ScheduledAction): 19295 (WebCore::ScheduledAction::execute): 19296 * bindings/v8/ScriptCallStack.cpp: 19297 (WebCore::ScriptCallStack::ScriptCallStack): 19298 * bindings/v8/ScriptController.cpp: 19299 (WebCore::ScriptController::isSafeScript): 19300 (WebCore::ScriptController::gcProtectJSWrapper): 19301 (WebCore::ScriptController::gcUnprotectJSWrapper): 19302 (WebCore::ScriptController::processingUserGesture): 19303 (WebCore::ScriptController::evaluate): 19304 (WebCore::ScriptController::setEventHandlerLineNumber): 19305 (WebCore::ScriptController::bindToWindowObject): 19306 (WebCore::ScriptController::collectGarbage): 19307 (WebCore::ScriptController::haveInterpreter): 19308 (WebCore::createScriptObject): 19309 (WebCore::ScriptController::createScriptObjectForPluginElement): 19310 * bindings/v8/ScriptInstance.cpp: 19311 (WebCore::V8ScriptInstance::clear): 19312 (WebCore::V8ScriptInstance::set): 19313 * bindings/v8/ScriptObject.cpp: 19314 (WebCore::ScriptGlobalObject::set): 19315 * bindings/v8/ScriptObjectQuarantine.cpp: 19316 (WebCore::getQuarantinedScriptObject): 19317 * bindings/v8/ScriptScope.cpp: 19318 (WebCore::ScriptScope::ScriptScope): 19319 * bindings/v8/ScriptValue.h: 19320 (WebCore::ScriptValue::ScriptValue): 19321 (WebCore::ScriptValue::operator=): 19322 (WebCore::ScriptValue::clear): 19323 * bindings/v8/V8AbstractEventListener.cpp: 19324 (WebCore::V8AbstractEventListener::invokeEventHandler): 19325 (WebCore::V8AbstractEventListener::handleEvent): 19326 (WebCore::V8AbstractEventListener::disposeListenerObject): 19327 (WebCore::V8AbstractEventListener::getReceiverObject): 19328 * bindings/v8/V8Collection.cpp: 19329 (WebCore::toOptionsCollectionSetter): 19330 * bindings/v8/V8Collection.h: 19331 (WebCore::getV8Object): 19332 (WebCore::getNamedPropertyOfCollection): 19333 (WebCore::nodeCollectionNamedPropertyGetter): 19334 (WebCore::getIndexedPropertyOfCollection): 19335 (WebCore::nodeCollectionIndexedPropertyGetter): 19336 (WebCore::nodeCollectionIndexedPropertyEnumerator): 19337 (WebCore::collectionIndexedPropertyEnumerator): 19338 (WebCore::collectionStringOrNullIndexedPropertyGetter): 19339 * bindings/v8/V8DOMMap.cpp: 19340 (WebCore::weakDOMObjectCallback): 19341 (WebCore::DOMData::removeObjectsFromWrapperMap): 19342 * bindings/v8/V8Helpers.cpp: 19343 (WebCore::wrapNPObject): 19344 (WebCore::toV8Context): 19345 * bindings/v8/V8LazyEventListener.cpp: 19346 (WebCore::V8LazyEventListener::~V8LazyEventListener): 19347 (WebCore::V8LazyEventListener::getListenerFunction): 19348 (WebCore::V8LazyEventListener::callListenerFunction): 19349 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 19350 * bindings/v8/V8NodeFilterCondition.cpp: 19351 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): 19352 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): 19353 (WebCore::V8NodeFilterCondition::acceptNode): 19354 * bindings/v8/V8ObjectEventListener.cpp: 19355 (WebCore::weakObjectEventListenerCallback): 19356 (WebCore::V8ObjectEventListener::~V8ObjectEventListener): 19357 * bindings/v8/V8Proxy.cpp: Added. 19358 * bindings/v8/V8Proxy.h: 19359 (WebCore::): 19360 (WebCore::GlobalHandleInfo::GlobalHandleInfo): 19361 (WebCore::V8Proxy::): 19362 (WebCore::V8Proxy::V8Proxy): 19363 (WebCore::V8Proxy::frame): 19364 (WebCore::V8Proxy::inlineCode): 19365 (WebCore::V8Proxy::setInlineCode): 19366 (WebCore::V8Proxy::timerCallback): 19367 (WebCore::V8Proxy::setTimerCallback): 19368 (WebCore::V8Proxy::setEventHandlerLineNumber): 19369 (WebCore::V8Proxy::finishedWithEvent): 19370 (WebCore::V8Proxy::wrapCPointer): 19371 (WebCore::V8Proxy::extractCPointer): 19372 (WebCore::V8Proxy::convertDOMWrapperToNative): 19373 (WebCore::V8Proxy::convertDOMWrapperToNode): 19374 (WebCore::V8Proxy::convertToV8Object): 19375 (WebCore::V8Proxy::convertToNativeObject): 19376 (WebCore::V8Proxy::convertToNativeEvent): 19377 (WebCore::V8Proxy::context): 19378 (WebCore::V8Proxy::extractCPointerImpl): 19379 (WebCore::V8Proxy::utilityContext): 19380 (WebCore::V8Proxy::constructDOMObject): 19381 (WebCore::throwError): 19382 (WebCore::toV8): 19383 * bindings/v8/V8Utilities.h: 19384 * bindings/v8/WorkerContextExecutionProxy.cpp: 19385 (WebCore::WorkerContextExecutionProxy::retrieve): 19386 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 19387 (WebCore::WorkerContextExecutionProxy::GetConstructor): 19388 (WebCore::WorkerContextExecutionProxy::ToV8Object): 19389 (WebCore::WorkerContextExecutionProxy::EventToV8Object): 19390 (WebCore::WorkerContextExecutionProxy::toV8): 19391 (WebCore::WorkerContextExecutionProxy::forgetV8EventObject): 19392 (WebCore::WorkerContextExecutionProxy::evaluate): 19393 (WebCore::WorkerContextExecutionProxy::runScript): 19394 * bindings/v8/custom/V8AttrCustom.cpp: 19395 (WebCore::ACCESSOR_SETTER): 19396 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 19397 (WebCore::NAMED_PROPERTY_GETTER): 19398 (WebCore::NAMED_PROPERTY_SETTER): 19399 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: 19400 (WebCore::INDEXED_PROPERTY_GETTER): 19401 (WebCore::INDEXED_PROPERTY_SETTER): 19402 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 19403 (WebCore::toV8): 19404 (WebCore::toCanvasStyle): 19405 (WebCore::ACCESSOR_GETTER): 19406 (WebCore::ACCESSOR_SETTER): 19407 (WebCore::CALLBACK_FUNC_DECL): 19408 * bindings/v8/custom/V8ClientRectListCustom.cpp: 19409 (WebCore::INDEXED_PROPERTY_GETTER): 19410 * bindings/v8/custom/V8ClipboardCustom.cpp: 19411 (WebCore::ACCESSOR_GETTER): 19412 (WebCore::CALLBACK_FUNC_DECL): 19413 * bindings/v8/custom/V8CustomBinding.cpp: 19414 (WebCore::allowSettingFrameSrcToJavascriptUrl): 19415 (WebCore::ACCESSOR_GETTER): 19416 (WebCore::INDEXED_ACCESS_CHECK): 19417 (WebCore::NAMED_ACCESS_CHECK): 19418 (WebCore::V8Custom::GetTargetFrame): 19419 * bindings/v8/custom/V8CustomEventListener.cpp: 19420 (WebCore::V8EventListener::V8EventListener): 19421 (WebCore::V8EventListener::~V8EventListener): 19422 (WebCore::V8EventListener::callListenerFunction): 19423 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 19424 (WebCore::V8CustomSQLStatementCallback::handleEvent): 19425 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 19426 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 19427 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 19428 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 19429 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 19430 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 19431 * bindings/v8/custom/V8CustomVoidCallback.cpp: 19432 (WebCore::V8CustomVoidCallback::handleEvent): 19433 (WebCore::invokeCallback): 19434 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: 19435 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): 19436 * bindings/v8/custom/V8DOMParserConstructor.cpp: 19437 (WebCore::CALLBACK_FUNC_DECL): 19438 * bindings/v8/custom/V8DOMWindowCustom.cpp: 19439 (WebCore::V8Custom::WindowSetTimeoutImpl): 19440 (WebCore::convertBase64): 19441 (WebCore::ACCESSOR_SETTER): 19442 (WebCore::CALLBACK_FUNC_DECL): 19443 (WebCore::ACCESSOR_GETTER): 19444 (WebCore::createWindow): 19445 (WebCore::INDEXED_PROPERTY_GETTER): 19446 (WebCore::NAMED_PROPERTY_GETTER): 19447 (WebCore::V8Custom::ClearTimeoutImpl): 19448 (WebCore::NAMED_ACCESS_CHECK): 19449 (WebCore::INDEXED_ACCESS_CHECK): 19450 * bindings/v8/custom/V8DatabaseCustom.cpp: 19451 (WebCore::CALLBACK_FUNC_DECL): 19452 * bindings/v8/custom/V8DocumentCustom.cpp: 19453 (WebCore::CALLBACK_FUNC_DECL): 19454 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 19455 (WebCore::ACCESSOR_GETTER): 19456 (WebCore::ACCESSOR_SETTER): 19457 * bindings/v8/custom/V8ElementCustom.cpp: 19458 (WebCore::CALLBACK_FUNC_DECL): 19459 (WebCore::ACCESSOR_SETTER): 19460 (WebCore::ACCESSOR_GETTER): 19461 * bindings/v8/custom/V8EventCustom.cpp: 19462 (WebCore::ACCESSOR_SETTER): 19463 (WebCore::ACCESSOR_GETTER): 19464 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 19465 (WebCore::CALLBACK_FUNC_DECL): 19466 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 19467 (WebCore::getNamedItems): 19468 (WebCore::getItem): 19469 (WebCore::NAMED_PROPERTY_GETTER): 19470 (WebCore::CALLBACK_FUNC_DECL): 19471 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 19472 (WebCore::NAMED_PROPERTY_GETTER): 19473 (WebCore::CALLBACK_FUNC_DECL): 19474 (WebCore::ACCESSOR_GETTER): 19475 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 19476 (WebCore::INDEXED_PROPERTY_GETTER): 19477 (WebCore::NAMED_PROPERTY_GETTER): 19478 (WebCore::CALLBACK_FUNC_DECL): 19479 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 19480 (WebCore::ACCESSOR_SETTER): 19481 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 19482 (WebCore::NAMED_PROPERTY_GETTER): 19483 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 19484 (WebCore::ACCESSOR_SETTER): 19485 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 19486 (WebCore::CALLBACK_FUNC_DECL): 19487 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 19488 (WebCore::ACCESSOR_GETTER): 19489 (WebCore::ACCESSOR_SETTER): 19490 (WebCore::CALLBACK_FUNC_DECL): 19491 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 19492 (WebCore::CALLBACK_FUNC_DECL): 19493 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 19494 (WebCore::CALLBACK_FUNC_DECL): 19495 (WebCore::ACCESSOR_GETTER): 19496 (WebCore::ACCESSOR_SETTER): 19497 (WebCore::INDEXED_PROPERTY_GETTER): 19498 (WebCore::INDEXED_PROPERTY_SETTER): 19499 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 19500 (WebCore::NAMED_PROPERTY_GETTER): 19501 (WebCore::NAMED_PROPERTY_SETTER): 19502 (WebCore::INDEXED_PROPERTY_GETTER): 19503 (WebCore::INDEXED_PROPERTY_SETTER): 19504 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: 19505 (WebCore::NAMED_PROPERTY_GETTER): 19506 (WebCore::INDEXED_PROPERTY_SETTER): 19507 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 19508 (WebCore::CALLBACK_FUNC_DECL): 19509 (WebCore::removeElement): 19510 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 19511 (WebCore::CALLBACK_FUNC_DECL): 19512 * bindings/v8/custom/V8LocationCustom.cpp: 19513 (WebCore::ACCESSOR_SETTER): 19514 (WebCore::ACCESSOR_GETTER): 19515 (WebCore::CALLBACK_FUNC_DECL): 19516 (WebCore::INDEXED_ACCESS_CHECK): 19517 (WebCore::NAMED_ACCESS_CHECK): 19518 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 19519 (WebCore::CALLBACK_FUNC_DECL): 19520 * bindings/v8/custom/V8MessagePortCustom.cpp: 19521 (WebCore::ACCESSOR_GETTER): 19522 (WebCore::ACCESSOR_SETTER): 19523 (WebCore::CALLBACK_FUNC_DECL): 19524 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 19525 (WebCore::INDEXED_PROPERTY_GETTER): 19526 (WebCore::NAMED_PROPERTY_GETTER): 19527 * bindings/v8/custom/V8NavigatorCustom.cpp: 19528 (WebCore::ACCESSOR_GETTER): 19529 * bindings/v8/custom/V8NodeCustom.cpp: 19530 (WebCore::CALLBACK_FUNC_DECL): 19531 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 19532 (WebCore::toV8): 19533 (WebCore::CALLBACK_FUNC_DECL): 19534 * bindings/v8/custom/V8NodeListCustom.cpp: 19535 (WebCore::NAMED_PROPERTY_GETTER): 19536 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 19537 (WebCore::CALLBACK_FUNC_DECL): 19538 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 19539 (WebCore::CALLBACK_FUNC_DECL): 19540 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 19541 (WebCore::CALLBACK_FUNC_DECL): 19542 * bindings/v8/custom/V8SVGLengthCustom.cpp: 19543 (WebCore::ACCESSOR_GETTER): 19544 (WebCore::CALLBACK_FUNC_DECL): 19545 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 19546 (WebCore::CALLBACK_FUNC_DECL): 19547 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 19548 (WebCore::NAMED_PROPERTY_GETTER): 19549 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 19550 (WebCore::toV8): 19551 (WebCore::CALLBACK_FUNC_DECL): 19552 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 19553 (WebCore::CALLBACK_FUNC_DECL): 19554 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 19555 (WebCore::CALLBACK_FUNC_DECL): 19556 * bindings/v8/custom/V8WorkerContextCustom.cpp: 19557 (WebCore::ACCESSOR_GETTER): 19558 (WebCore::ACCESSOR_SETTER): 19559 (WebCore::SetTimeoutOrInterval): 19560 (WebCore::CALLBACK_FUNC_DECL): 19561 * bindings/v8/custom/V8WorkerCustom.cpp: 19562 (WebCore::CALLBACK_FUNC_DECL): 19563 (WebCore::getEventListener): 19564 (WebCore::ACCESSOR_GETTER): 19565 (WebCore::ACCESSOR_SETTER): 19566 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 19567 (WebCore::CALLBACK_FUNC_DECL): 19568 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 19569 (WebCore::getEventListener): 19570 (WebCore::ACCESSOR_GETTER): 19571 (WebCore::ACCESSOR_SETTER): 19572 (WebCore::CALLBACK_FUNC_DECL): 19573 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 19574 (WebCore::ACCESSOR_GETTER): 19575 (WebCore::ACCESSOR_SETTER): 19576 (WebCore::CALLBACK_FUNC_DECL): 19577 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: 19578 (WebCore::CALLBACK_FUNC_DECL): 19579 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: 19580 (WebCore::CALLBACK_FUNC_DECL): 19581 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 19582 (WebCore::CALLBACK_FUNC_DECL): 19583 195842009-06-26 Kevin McCullough <kmccullough@apple.com> 19585 19586 Reviewed by Tim Hatcher. 19587 19588 <rdar://problem/7011047> Profiler shows the record button 'on' even 19589 though it's finished 19590 19591 I consolidated the creation of the user initiated profile name into 19592 its own function and then called it from console::profile instead of 19593 calling startUserInitiatedProfiling(). This way we don't call 19594 toggleRecordButton() which turns on the record button. 19595 19596 * inspector/InspectorController.cpp: 19597 (WebCore::InspectorController::didCommitLoad): 19598 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 19599 (WebCore::InspectorController::startUserInitiatedProfiling): 19600 (WebCore::InspectorController::stopUserInitiatedProfiling): 19601 * inspector/InspectorController.h: 19602 * page/Console.cpp: 19603 (WebCore::Console::profile): 19604 (WebCore::Console::profileEnd): 19605 196062009-06-26 Jeremy Moskovich <jeremy@chromium.org> 19607 19608 Reviewed by Eric Seidel. 19609 19610 https://bugs.webkit.org/show_bug.cgi?id=26691 19611 19612 Cleanup: Move focusRingColor to RenderTheme. 19613 19614 Most of this CL involves deleting files and removing dead code. 19615 19616 focusRingColor() is now defined in RenderTheme rather than in 19617 misc. places on each port. The default color is specified as 19618 black in renderTheme and ports can override it in their own 19619 custom renderThemes. 19620 19621 Behavior should be identical except for the following cases, 19622 this lists platform and what the focus ring color used to be 19623 before this cl and the file where it used to be defined: 19624 19625 Android - red 19626 WebCore/platform/android/TemporaryLinkStubs.cpp 19627 19628 Cairo - aqua focus ring color - 0xFF7DADD9 19629 WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp 19630 19631 wx - red 19632 WebCore/platform/wx/TemporaryLinkStubs.cpp 19633 19634 QT - black 19635 WebCore/platform/graphics/qt/GraphicsContextQt.cpp 19636 19637 Manual test: manual-tests/focusringcolor-change-on-theme-change.html 19638 19639 * css/CSSStyleSelector.cpp: 19640 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 19641 * manual-tests/focusringcolor-change-on-theme-change.html: Added. 19642 * platform/android/TemporaryLinkStubs.cpp: 19643 * platform/graphics/cairo/GraphicsContextCairo.cpp: 19644 * platform/graphics/chromium/ColorChromium.cpp: Removed. 19645 * platform/graphics/chromium/ColorChromiumMac.mm: Removed. 19646 * platform/graphics/mac/ColorMac.h: 19647 * platform/graphics/mac/ColorMac.mm: 19648 (WebCore::oldAquaFocusRingColor): 19649 (WebCore::setUsesTestModeFocusRingColor): 19650 (WebCore::usesTestModeFocusRingColor): 19651 * platform/graphics/qt/GraphicsContextQt.cpp: 19652 * platform/graphics/skia/GraphicsContextSkia.cpp: 19653 (WebCore::GraphicsContext::drawFocusRing): 19654 * platform/graphics/win/ColorSafari.cpp: Removed. 19655 * platform/wx/TemporaryLinkStubs.cpp: 19656 * rendering/RenderTheme.cpp: 19657 (WebCore::RenderTheme::focusRingColor): 19658 * rendering/RenderTheme.h: 19659 * rendering/RenderThemeChromiumMac.h: 19660 * rendering/RenderThemeChromiumMac.mm: 19661 (WebCore::RenderThemeChromiumMac::focusRingColor): 19662 (WebCore::RenderThemeChromiumMac::systemColor): 19663 * rendering/RenderThemeChromiumSkia.cpp: 19664 (WebCore::RenderThemeChromiumSkia::focusRingColor): 19665 * rendering/RenderThemeChromiumSkia.h: 19666 * rendering/RenderThemeMac.h: 19667 * rendering/RenderThemeMac.mm: 19668 (WebCore::RenderThemeMac::focusRingColor): 19669 (WebCore::RenderThemeMac::systemColor): 19670 * rendering/RenderThemeSafari.cpp: 19671 (WebCore::makeRGBAFromCGColor): 19672 (WebCore::RenderThemeSafari::focusRingColor): 19673 * rendering/RenderThemeSafari.h: 19674 196752009-06-26 Dmitry Titov <dimich@chromium.org> 19676 19677 Reviewed by David Levin. 19678 19679 https://bugs.webkit.org/show_bug.cgi?id=26761 19680 [Chromium] Enable Dedicated Workers in Chromium. 19681 19682 * bindings/v8/custom/V8WorkerCustom.cpp: 19683 (WebCore::CALLBACK_FUNC_DECL): 19684 Remove the check that prevented workers from being created w/o a command-line switch. 19685 The flag itself and methods will be removed in a subsequent patch, after 19686 corresponding change in Chromium. 19687 196882009-06-26 Jessie Berlin <jberlin@apple.com> 19689 19690 Reviewed by Mark Rowe. 19691 19692 Fix: https://bugs.webkit.org/show_bug.cgi?id=26723 19693 Where the m_mouseDown event was never being set on windows, so the 19694 client X and Y coordinates were always being reported as zero in a 19695 dragstart handler. 19696 19697 Test: editing/selection/drag-start-event-client-x-y.html 19698 19699 * page/EventHandler.cpp: 19700 (WebCore::EventHandler::handleMousePressEvent): 19701 Set the m_mouseDown event when the mouse press is handled. 19702 * page/mac/EventHandlerMac.mm: 19703 (WebCore::EventHandler::mouseDown): 19704 Removed now redundant setting of m_mouseDown. 19705 197062009-06-26 Brady Eidson <beidson@apple.com> 19707 19708 Tiger build fix 19709 19710 * WebCore.xcodeproj/project.pbxproj: 19711 * platform/network/mac/WebCoreURLResponse.mm: 19712 (swizzleMIMETypeMethodIfNecessary): 19713 197142009-06-26 Alexey Proskuryakov <ap@webkit.org> 19715 19716 Reviewed by Sam Weinig. 19717 19718 https://bugs.webkit.org/show_bug.cgi?id=26681 19719 Problem updating applicationCache when server returns 304 19720 19721 Improve the fix, make the test pass on Tiger. 19722 19723 * loader/appcache/ApplicationCacheGroup.cpp: 19724 (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the 19725 current item from list. 19726 19727 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger, 19728 conditional requests that cannot be cached by network layer cause errors with default cache 19729 policy. 19730 197312009-06-26 Brady Eidson <beidson@apple.com> 19732 19733 Reviewed by Sam Weinig 19734 19735 <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails 19736 19737 When we disabled content sniffing for file urls we lost knowledge of many file extensions that we 19738 didn't intend to lose. Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper 19739 knew about. 19740 19741 By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME 19742 type mappings that are missing in CoreType's database. 19743 19744 Test: platform/mac/fast/loader/file-url-mimetypes.html 19745 19746 * platform/network/mac/ResourceHandleMac.mm: 19747 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to 19748 WebCoreURLResponse. 19749 19750 * platform/network/mac/ResourceResponseMac.mm: 19751 (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place 19752 where we do all MIMEType correction. 19753 19754 * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled 19755 implementation of MIMEType. 19756 * platform/network/mac/WebCoreURLResponse.mm: 19757 (createBinaryExtensionsSet): 19758 (createExtensionToMIMETypeMap): 19759 (swizzleMIMETypeMethodIfNecessary): 19760 (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 19761 extension -> MIME type map before turning to the default MIME type. Also roll in what was previously 19762 implemented in _webcore_MIMEType. 19763 19764 * svg/graphics/SVGImage.cpp: 19765 (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client. 19766 197672009-06-25 Pierre d'Herbemont <pdherbemont@apple.com> 19768 19769 Reviewed by Simon Fraser. 19770 19771 Show the fullscreen button only if the backend has support for it. 19772 19773 https://bugs.webkit.org/show_bug.cgi?id=26661 19774 19775 No test since this is not reachable via the DOM. 19776 19777 * html/HTMLMediaElement.h: 19778 (WebCore::HTMLMediaElement::supportsFullscreen): new 19779 * html/HTMLVideoElement.h: 19780 (WebCore::HTMLVideoElement::supportsFullscreen): new 19781 * platform/graphics/MediaPlayer.cpp: 19782 (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new 19783 (WebCore::MediaPlayer::supportsFullscreen): new 19784 * platform/graphics/MediaPlayer.h: new 19785 * platform/graphics/MediaPlayerPrivate.h: new 19786 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new 19787 * rendering/MediaControlElements.cpp: 19788 (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new 19789 * rendering/MediaControlElements.h: 19790 197912009-06-25 Pierre d'Herbemont <pdherbemont@apple.com> 19792 19793 Reviewed by Simon Fraser. 19794 19795 <rdar://problem/7007776> Controller doesn't automatically update counters when file 19796 is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 ) 19797 19798 Update the time display when the movie time changes. 19799 19800 * rendering/RenderMedia.cpp: 19801 (WebCore::RenderMedia::updateControls): 19802 198032009-06-25 Pierre d'Herbemont <pdherbemont@apple.com> 19804 19805 Reviewed by Simon Fraser. 19806 19807 https://bugs.webkit.org/show_bug.cgi?id=26659 19808 19809 Support hidding a control bar element from the Media element controller. 19810 19811 Update layout tests since the fullscreen button no longer has a renderer. 19812 19813 * rendering/MediaControlElements.cpp: 19814 (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything 19815 is updated properly. 19816 (WebCore::MediaControlInputElement::MediaControlInputElement): 19817 (WebCore::MediaControlInputElement::update): call updateStyle() 19818 (WebCore::MediaControlInputElement::updateStyle): create the renderer properly 19819 or not depending on what rendererIsNeeded() return. 19820 * rendering/MediaControlElements.h: 19821 198222009-06-26 Kevin McCullough <kmccullough@apple.com> 19823 19824 Reviewed by Oliver Hunt. 19825 19826 <rdar://problem/6968137> Profiler title numbers increment even after a 19827 reload. 19828 19829 - Now the numbers are reset when the profiles are. 19830 19831 * inspector/InspectorController.cpp: 19832 (WebCore::InspectorController::didCommitLoad): 19833 198342009-06-26 Adele Peterson <adele@apple.com> 19835 19836 Reviewed by Darin Adler. 19837 19838 Fix for <rdar://problem/7000796> 19839 REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages 19840 19841 Test: editing/inserting/break-blockquote-after-delete.html 19842 19843 Keep track of whether the typing style should be preserved after the TypingCommand is applied. When adding onto an open 19844 typing command, keep that flag up to date. 19845 19846 In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 19847 was following an open Delete command, which does preserve the typing style. So we were applying the original 19848 typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote. 19849 19850 * editing/TypingCommand.cpp: 19851 (WebCore::TypingCommand::TypingCommand): 19852 (WebCore::TypingCommand::typingAddedToOpenCommand): 19853 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 19854 (WebCore::TypingCommand::insertLineBreak): 19855 (WebCore::TypingCommand::insertParagraphSeparator): 19856 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): 19857 (WebCore::TypingCommand::deleteKeyPressed): 19858 (WebCore::TypingCommand::forwardDeleteKeyPressed): 19859 (WebCore::TypingCommand::deleteSelection): 19860 (WebCore::TypingCommand::updatePreservesTypingStyle): 19861 * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle): 19862 198632009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> 19864 19865 Reviewed by Simon Hausmann. 19866 19867 Add support for saving and loading of QWebHistory to and from a QByteArray. 19868 19869 This includes streaming operators for QWebHistory. for convenience. 19870 19871 New autotests that test QWebHistory and QWebHistoryItem serialization. 19872 19873 * WebCore.pro: 19874 * history/HistoryItem.h: 19875 (WebCore::HistoryItem::dailyVisitCounts): 19876 (WebCore::HistoryItem::weeklyVisitCounts): 19877 * history/qt/HistoryItemQt.cpp: Added. 19878 (WebCore::HistoryItem::restoreState): 19879 (WebCore::HistoryItem::saveState): 19880 198812009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> 19882 19883 Reviewed by Simon Hausmann. 19884 19885 Add support for QDataStream operators to String and IntPoint. 19886 19887 * platform/graphics/IntPoint.h: 19888 (WebCore::operator<<): 19889 (WebCore::operator>>): 19890 * platform/text/PlatformString.h: 19891 * platform/text/qt/StringQt.cpp: 19892 (WebCore::operator<<): 19893 (WebCore::operator>>): 19894 198952009-06-26 Ben Murdoch <benm@google.com> 19896 19897 Reviewed by Darin Fisher. 19898 19899 Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage. 19900 https://bugs.webkit.org/show_bug.cgi?id=26757 19901 19902 * bindings/v8/custom/V8StorageCustom.cpp 19903 199042009-06-26 Yongjun Zhang <yongjun.zhang@nokia.com> 19905 19906 Reviewed by Eric Seidel. 19907 19908 Test: platform/qt/fast/events/event-sender-keydown-frame.html 19909 19910 Bug 20303: [Qt] Key events are not working in frames. 19911 19912 Merge scrolling handling code in qt and win port, move it to 19913 EventHandler. 19914 19915 * page/EventHandler.cpp: 19916 (WebCore::EventHandler::scrollRecursively): 19917 * page/EventHandler.h: 19918 199192009-06-26 Rob Buis <rwlbuis@gmail.com> 19920 19921 Reviewed by Eric Seidel. 19922 19923 https://bugs.webkit.org/show_bug.cgi?id=26682 19924 Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript) 19925 19926 Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace. 19927 19928 Test: svg/custom/createImageElement.svg 19929 19930 * svg/SVGAnimatedProperty.h: 19931 (WebCore::synchronizeProperty): 19932 199332009-06-26 Takeshi Yoshino <tyoshino@google.com> 19934 19935 Reviewed by Timothy Hatcher. 19936 19937 Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument 19938 https://bugs.webkit.org/show_bug.cgi?id=26156 19939 19940 When in view-source mode, render the contents using HTMLViewSourceDocument 19941 regardless it's applicable for any plugin or not. 19942 19943 Chromium tells WebCore to render the contents of specified URL when 19944 view-source: prefix is added to the URL. But currently, DOMImplementation 19945 ignores inViewSourceMode() when the MIME type is indicating that the contents 19946 are neither texts nor HTML family documents. 19947 19948 For example, we can check the contents of asf file without launching media 19949 player. Rendering contents for view-source:-specified input is not what user 19950 expects. 19951 19952 http://code.google.com/p/chromium/issues/detail?id=10545 19953 19954 I want to fix this issue by this patch. IMHO, regardless of this Chromium 19955 specific issue, I think we should force use of HTMLViewSourceDocument when 19956 inViewSourceMode() is specified. 19957 19958 Test: fast/frames/viewsource-on-image-file.html 19959 19960 * dom/DOMImplementation.cpp: 19961 (WebCore::DOMImplementation::createDocument): 19962 * html/HTMLViewSourceDocument.cpp: 19963 (WebCore::HTMLViewSourceDocument::createTokenizer): 19964 * html/HTMLViewSourceDocument.h: 19965 199662009-06-26 Xan Lopez <xlopez@igalia.com> 19967 19968 Reviewed by Jan Alonzo. 19969 19970 https://bugs.webkit.org/show_bug.cgi?id=25529 19971 [Gtk] Expected states not exposed to assistive technologies 19972 19973 Add support for VISIBLE, EDITABLE and SENSITIVE states. 19974 19975 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 19976 (setAtkStateSetFromCoreObject): 19977 199782009-06-26 Laszlo Gombos <laszlo.1.gombos@nokia.com> 19979 19980 Reviewed by Darin Adler. 19981 19982 "Pointer to incomplete class type is not allowed" error with RVCT 19983 https://bugs.webkit.org/show_bug.cgi?id=26721 19984 19985 Based on Norbert Leser's work. 19986 19987 * dom/Document.cpp: 19988 (WebCore::Document::setFocusedNode): 19989 * dom/Node.cpp: 19990 (WebCore::Node::dispatchMouseEvent): 19991 * dom/Node.h: Remove the default value for PassRefPtr<Event> args, 19992 to eliminate dependency on the Event class definition 19993 199942009-06-26 Laszlo Gombos <laszlo.1.gombos@nokia.com> 19995 19996 Reviewed by Maciej Stachowiak. 19997 19998 [Qt] Build fix after r45183 19999 https://bugs.webkit.org/show_bug.cgi?id=26748 20000 20001 * WebCore.pro: 20002 200032009-06-25 Alexey Proskuryakov <ap@webkit.org> 20004 20005 Reviewed by Darin Adler. 20006 20007 https://bugs.webkit.org/show_bug.cgi?id=26681 20008 <rdar://problem/7003461> Problem updating applicationCache when server returns 304 20009 20010 Test: http/tests/appcache/update-cache.html 20011 20012 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): 20013 We're already done with the resource, don't try to load it again. 20014 200152009-06-25 Simon Fraser <simon.fraser@apple.com> 20016 20017 Reviewed by Oliver Hunt. 20018 20019 <rdar://problem/6990481> 20020 20021 Handle perspective computation on non-layer objects. 20022 20023 Test: transforms/3d/general/perspective-non-layer.html 20024 20025 * rendering/RenderObject.cpp: 20026 (WebCore::RenderObject::getTransformFromContainer): 20027 200282009-06-25 Pierre d'Herbemont <pdherbemont@apple.com> 20029 20030 Reviewed by Eric Seidel. 20031 20032 https://bugs.webkit.org/show_bug.cgi?id=26653 20033 20034 Use flex box in the mediaControls.css style, to nicely scale if a button gets 20035 dynamically added or removed. 20036 20037 Media tests results are affected by this changes. 20038 20039 * css/mediaControls.css: 20040 * css/mediaControlsQT.css: 20041 200422009-06-25 Albert J. Wong <ajwong@chromium.org> 20043 20044 Reviewed by Darin Fisher. 20045 20046 https://bugs.webkit.org/show_bug.cgi?id=26724 20047 20048 Move relavent part of setDefaultFontSize from RenderThemeChromiumWin 20049 up into RenderThemeChromiumSkia. 20050 20051 * rendering/RenderThemeChromiumSkia.cpp: 20052 (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): 20053 * rendering/RenderThemeChromiumSkia.h: 20054 * rendering/RenderThemeChromiumWin.cpp: 20055 (WebCore::RenderThemeChromiumWin::setDefaultFontSize): 20056 * rendering/RenderThemeChromiumWin.h: 20057 200582009-06-25 Matt Perry <mpcomplete@chromium.org> 20059 20060 Reviewed by Darin Fisher. 20061 20062 https://bugs.webkit.org/show_bug.cgi?id=26733 20063 20064 Add V8-only methods to FrameLoaderClient that V8 can use to send 20065 out notifications when it creates/destroys a script context. 20066 20067 * loader/EmptyClients.h: 20068 (WebCore::EmptyFrameLoaderClient::didCreateScriptContext): 20069 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext): 20070 * loader/FrameLoaderClient.h: 20071 (WebCore::FrameLoaderClient::didCreateScriptContext): 20072 (WebCore::FrameLoaderClient::didDestroyScriptContext): 20073 200742009-06-25 Dimitri Glazkov <dglazkov@chromium.org> 20075 20076 Reviewed by David Levin. 20077 20078 Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm 20079 to match WebKit style. 20080 20081 * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos. 20082 200832009-06-25 Adam Langley <agl@google.com> 20084 20085 TBRed: fix for Chromium tree. 20086 20087 Add missing include for r45199. 20088 20089 https://bugs.webkit.org/show_bug.cgi?id=26736 20090 20091 r45199 added a reference to throwError without including V8Proxy.h 20092 20093 * bindings/v8/WorkerScriptController.cpp: 20094 200952009-06-25 Adam Langley <agl@google.com> 20096 20097 TBRed: fix for Chromium tree. 20098 20099 https://bugs.webkit.org/show_bug.cgi?id=26735 20100 20101 Fix V8IsolatedWorld to point to the correct include file. 20102 20103 The deprecated v8_index.h was removed from the Chromium tree in r19291 20104 and upstreamed into WebKit with r45193. However V8IsolatedWorld 20105 slipped in between the cracks and broke the build. 20106 20107 * bindings/v8/V8IsolatedWorld.h: update with new header location. 20108 201092009-06-25 Chris Marrin <cmarrin@apple.com> 20110 20111 Reviewed by Simon Fraser <simon.fraser@apple.com>. 20112 20113 https://bugs.webkit.org/show_bug.cgi?id=26651 20114 20115 Preference is named "WebKitAcceleratedCompositingEnabled" 20116 and is a boolean value. When false, prevents compositing layers from 20117 being created, which prevents hardware animation from running. 20118 Also forces video to do software rendering. Added a cache for 20119 the flag in RenderLayerCompositing and made it all work 20120 on-the-fly when the flag is changed while a page is loaded. 20121 20122 * WebCore.base.exp: 20123 * page/FrameView.cpp: 20124 (WebCore::FrameView::updateCompositingLayers): 20125 * page/Settings.cpp: 20126 (WebCore::setNeedsReapplyStylesInAllFrames): 20127 (WebCore::Settings::Settings): 20128 (WebCore::Settings::setAcceleratedCompositingEnabled): 20129 * page/Settings.h: 20130 (WebCore::Settings::acceleratedCompositingEnabled): 20131 * rendering/RenderLayer.cpp: 20132 (WebCore::RenderLayer::hasAcceleratedCompositing): 20133 (WebCore::RenderLayer::updateTransform): 20134 (WebCore::RenderLayer::currentTransform): 20135 * rendering/RenderLayer.h: 20136 * rendering/RenderLayerBacking.cpp: 20137 (WebCore::RenderLayerBacking::updateLayerTransform): 20138 * rendering/RenderLayerCompositor.cpp: 20139 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 20140 (WebCore::RenderLayerCompositor::enableCompositingMode): 20141 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): 20142 (WebCore::RenderLayerCompositor::updateCompositingLayers): 20143 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): 20144 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 20145 (WebCore::RenderLayerCompositor::needsToBeComposited): 20146 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): 20147 * rendering/RenderLayerCompositor.h: 20148 (WebCore::RenderLayerCompositor::hasAcceleratedCompositing): 20149 * rendering/RenderObject.h: 20150 (WebCore::makeMatrixRenderable): 20151 201522009-06-25 Jian Li <jianli@chromium.org> 20153 20154 Reviewed by Dimitri Glazkov. 20155 20156 Bug 26701: Implement the missing code for "FIXME: Need to return an 20157 exception" in WorkerScriptController::evaluate for v8 bindings. 20158 https://bugs.webkit.org/show_bug.cgi?id=26701 20159 20160 * bindings/v8/WorkerScriptController.cpp: 20161 (WebCore::WorkerScriptController::evaluate): 20162 201632009-06-25 Nate Chapin <japhet@chromium.org> 20164 20165 Reviewed by Dimitri Glazkov. 20166 20167 Upstream V8Index. 20168 20169 https://bugs.webkit.org/show_bug.cgi?id=26495 20170 20171 * bindings/v8/V8Index.cpp: Added. 20172 (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org. 20173 (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org. 20174 * bindings/v8/V8Index.h: 20175 (WebCore::V8ClassIndex::): Moved from src.chromium.org. 20176 (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org. 20177 (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org. 20178 201792009-06-25 Adam Langley <agl@google.com> 20180 20181 Reviewed by Darin Fisher. 20182 20183 https://bugs.webkit.org/show_bug.cgi?id=26529 20184 20185 This is hopefully the last step before our renderers can run 20186 cleanly in a chroot. 20187 20188 WebKit needs to be able to ask for the correct font to use in 20189 the case that the current font doesn't include glyphs for 20190 certain code points. Currently we make a fontconfig call in our 20191 WebKit port to handle this. 20192 20193 This patch changes this so that the call is sent our via 20194 ChromiumBridge. 20195 20196 http://codereview.chromium.org/132007 20197 20198 This should not affect any layout tests. 20199 20200 * platform/chromium/ChromiumBridge.h: 20201 * platform/graphics/chromium/FontCacheLinux.cpp: 20202 (WebCore::FontCache::getFontDataForCharacters): 20203 202042009-06-25 Albert J. Wong <ajwong@chromium.org> 20205 20206 Reviewed by David Levin. 20207 20208 https://bugs.webkit.org/show_bug.cgi?id=26566 20209 Upstream these files from the chromium v8 code. No tests were 20210 affected because this is essentially a code move. 20211 20212 * bindings/v8/NPV8Object.cpp: Added. 20213 (allocV8NPObject): 20214 (freeV8NPObject): 20215 (listFromVariantArgs): 20216 (npIdentifierToV8Identifier): 20217 (npCreateV8ScriptObject): 20218 (NPN_Invoke): 20219 (NPN_InvokeDefault): 20220 (NPN_Evaluate): 20221 (NPN_EvaluateHelper): 20222 (NPN_GetProperty): 20223 (NPN_SetProperty): 20224 (NPN_RemoveProperty): 20225 (NPN_HasProperty): 20226 (NPN_HasMethod): 20227 (NPN_SetException): 20228 (NPN_Enumerate): 20229 (NPN_Construct): 20230 * bindings/v8/NPV8Object.h: Added. 20231 (PrivateIdentifier::): 20232 * bindings/v8/V8NPUtils.cpp: Added. 20233 (convertV8ObjectToNPVariant): 20234 (convertNPVariantToV8Object): 20235 (getStringIdentifier): 20236 * bindings/v8/V8NPUtils.h: Added. 20237 202382009-06-25 Shinichiro Hamaji <hamaji@chromium.org> 20239 20240 Reviewed by Dimitri Glazkov. 20241 20242 https://bugs.webkit.org/show_bug.cgi?id=26436 20243 20244 Windows Chromium bug fix: save context of destination canvas in 20245 TransparencyWin::compositeTextComposite() before the function 20246 modifies the context. 20247 20248 Test: fast/canvas/translate-text.html 20249 20250 * platform/graphics/chromium/TransparencyWin.cpp: 20251 (WebCore::TransparencyWin::compositeTextComposite): 20252 202532009-06-25 Patrick Mueller <Patrick_Mueller@us.ibm.com> 20254 20255 Reviewed by Timothy Hatcher. 20256 20257 Show the filename and first line for "(program)" in the Profiler/Debugger 20258 https://bugs.webkit.org/show_bug.cgi?id=25475 20259 20260 Add support to associate a sourceURL with an eval()'d string 20261 via a @sourceURL comment. Currently the sourceURL is only available 20262 in the script debugger, not in the console or profiler, but it's 20263 most needed in the script debugger. 20264 20265 * English.lproj/localizedStrings.js: added new "(program): %s" string 20266 * inspector/front-end/Script.js: 20267 (WebInspector.Script): if no sourceURL is available for the Script, 20268 search for a comment of the form //@ sourceURL=(url) to use 20269 as the sourceURL instead. 20270 * manual-tests/inspector/named-evals.html: Added. 20271 202722009-06-25 John Gregg <johnnyg@google.com> 20273 20274 Reviewed by Sam Weinig. 20275 20276 Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange 20277 https://bugs.webkit.org/show_bug.cgi?id=23721 20278 20279 onchange events fire when a SELECT element has 20280 focus and the selectedIndex is updated by script in some way--either 20281 during another onchange, onkeypress, onfocus, or timer--and then 20282 focus is lost. 20283 20284 Fixed by making a separate method for user-driven selectedIndex 20285 changes, leaving scripts to use one which doesn't cause onchange to 20286 be queued. 20287 20288 Test: fast/forms/select-script-onchange.html 20289 20290 * dom/SelectElement.cpp: check if the pending change is user driven 20291 before calling onchange 20292 (WebCore::SelectElement::menuListOnChange): 20293 (WebCore::SelectElement::setSelectedIndex): 20294 * dom/SelectElement.h: store whether the pending change is user driven 20295 (WebCore::SelectElementData::userDrivenChange): 20296 (WebCore::SelectElementData::setUserDrivenChange): 20297 * html/HTMLSelectElement.cpp: split into two methods -- script version 20298 [non-user-driven] corresponds to IDL defined property name 20299 (WebCore::HTMLSelectElement::setSelectedIndex): 20300 (WebCore::HTMLSelectElement::setSelectedIndexByUser): 20301 * html/HTMLSelectElement.h: 20302 * rendering/RenderMenuList.cpp: use ByUser method when coming through 20303 the renderer 20304 (WebCore::RenderMenuList::valueChanged): 20305 203062009-06-25 Jeremy Orlow <jorlow@chromium.org> 20307 20308 Reviewed by Darin Fisher. 20309 20310 https://bugs.webkit.org/show_bug.cgi?id=26698 20311 20312 Combined LocalStorageArea and SessionStorageArea into StorageArea since 20313 (after my other refactorings) there are no longer substantial 20314 differences between the two. 20315 20316 * GNUmakefile.am: 20317 * WebCore.vcproj/WebCore.vcproj: 20318 * WebCore.xcodeproj/project.pbxproj: 20319 * WebCoreSources.bkl: 20320 * storage/LocalStorage.cpp: 20321 (WebCore::LocalStorage::storageArea): 20322 * storage/LocalStorage.h: 20323 * storage/LocalStorageArea.cpp: Removed. 20324 * storage/LocalStorageArea.h: Removed. 20325 * storage/SessionStorage.cpp: 20326 (WebCore::SessionStorage::copy): 20327 (WebCore::SessionStorage::storageArea): 20328 * storage/SessionStorage.h: 20329 * storage/SessionStorageArea.cpp: Removed. 20330 * storage/SessionStorageArea.h: Removed. 20331 * storage/StorageArea.cpp: 20332 (WebCore::StorageArea::createLocalStorage): 20333 (WebCore::StorageArea::StorageArea): 20334 (WebCore::StorageArea::createSessionStorage): 20335 (WebCore::StorageArea::copy): 20336 (WebCore::StorageArea::setItem): 20337 (WebCore::StorageArea::removeItem): 20338 (WebCore::StorageArea::clear): 20339 (WebCore::StorageArea::scheduleFinalSync): 20340 (WebCore::StorageArea::blockUntilImportComplete): 20341 (WebCore::StorageArea::dispatchStorageEvent): 20342 * storage/StorageArea.h: 20343 * storage/StorageAreaSync.cpp: 20344 (WebCore::StorageAreaSync::StorageAreaSync): 20345 (WebCore::StorageAreaSync::scheduleFinalSync): 20346 (WebCore::StorageAreaSync::syncTimerFired): 20347 (WebCore::StorageAreaSync::performImport): 20348 * storage/StorageAreaSync.h: 20349 * storage/StorageSyncManager.h: 20350 203512009-06-25 Dan Bernstein <mitz@apple.com> 20352 20353 Reviewed by Darin Adler. 20354 20355 - fix https://bugs.webkit.org/show_bug.cgi?id=26671 20356 <rdar://problem/7001880> Safari 4.0 crashes in 20357 WebCore::DOMTimer::fired() 20358 20359 Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html 20360 20361 When a "style sheet candidate" element is removed from a document, 20362 call Document::removeStyleSheetCandidateNode() regardless of whether 20363 the document is rendered. Otherwise, the document's style sheet 20364 candidate set can end up containing stale references. 20365 20366 * dom/ProcessingInstruction.cpp: 20367 (WebCore::ProcessingInstruction::removedFromDocument): 20368 * html/HTMLLinkElement.cpp: 20369 (WebCore::HTMLLinkElement::removedFromDocument): 20370 * html/HTMLStyleElement.cpp: 20371 (WebCore::HTMLStyleElement::removedFromDocument): 20372 203732009-06-25 Dimitri Glazkov <dglazkov@chromium.org> 20374 20375 Reviewed by Darin Fisher. 20376 20377 Update CodeGeneratorV8.pm to sync up with the changes downstream. 20378 20379 * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check, 20380 FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion. 20381 203822009-06-25 Dimitri Glazkov <dglazkov@chromium.org> 20383 20384 Unreviewed, build fix. 20385 20386 Add FileList.h include to fix Chromium build. 20387 20388 * platform/chromium/ClipboardChromium.cpp: Added FileList.h include. 20389 203902009-06-25 Joseph Pecoraro <joepeck02@gmail.com> 20391 20392 Reviewed by Jan Alonzo. 20393 20394 Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message 20395 https://bugs.webkit.org/show_bug.cgi?id=26489 20396 20397 Fixed a Typo in a Web Inspector error message. 20398 20399 * English.lproj/localizedStrings.js: 20400 * inspector/front-end/DatabaseQueryView.js: 20401 (WebInspector.DatabaseQueryView.prototype._queryError): 20402 204032009-06-25 Simon Hausmann <simon.hausmann@nokia.com> 20404 20405 Fix the Qt build, add missing StorageAreaSync files to the build. 20406 20407 * WebCore.pro: 20408 204092009-06-25 Simon Hausmann <simon.hausmann@nokia.com> 20410 20411 Reviewed by and done with Tor Arne Vestbø. 20412 20413 Fix shortcut keyboard handling with plugins on the Qt/Mac build. 20414 20415 When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is 20416 empty. If we're asked to disambiguate the event into a Char keyboard event, 20417 we try to detect this situation and still set the text, to ensure that the 20418 general event handling sends a key press event after this disambiguation. 20419 20420 * platform/qt/PlatformKeyboardEventQt.cpp: 20421 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 20422 204232009-06-25 Eric Seidel <eric@webkit.org> 20424 20425 Build fix only, no review. 20426 20427 Add FileList.h and NotImplemented.h includes in an attempt to fix bots. 20428 20429 * platform/gtk/ClipboardGtk.cpp: 20430 * platform/qt/ClipboardQt.cpp: 20431 * platform/win/ClipboardWin.cpp: 20432 * platform/wx/ClipboardWx.cpp: 20433 204342009-05-21 Eric Seidel <eric@webkit.org> 20435 20436 Reviewed by Maciej Stachowiak. 20437 20438 Expose files in the clipboard in ondrop events 20439 https://bugs.webkit.org/show_bug.cgi?id=25916 20440 20441 Make it possible for applications like gmail to implement 20442 drag and drop of attachments onto email messages. 20443 20444 This patch exposes an event.dataTransfer.files accessor 20445 on the drop event. No information is exposed during dragover. 20446 This follows the HTML 5 drag and drop security model: 20447 http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model 20448 The test http/tests/security/clipboard/clipboard-file-access.html 20449 verifies this behavior. 20450 20451 Internet Explorer shows historical documentation of supporting 20452 getData('File') as a way of exposing files on the pasteboard. The current version of their docs: 20453 http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx 20454 has removed this reference (as far as I can tell IE never implemented it) 20455 I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE. 20456 IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover. 20457 20458 I choose not to use IE's getData('File') and instead added .files 20459 so that the accessor could have a type, matching WebKit's existing 20460 .files accessor on HTMLInputElement. 20461 20462 Mozilla has equivalent file access: 20463 event.dataTransfer.mozGetDataAt("application/x-moz-file", 0); 20464 which also does not return a typed value. 20465 https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files 20466 20467 This is only implemented for Mac WebKit. All other platforms (including Apple's Win WebKit) 20468 have incomplete Clipboard implementations and will require experts from those platforms 20469 to add this functionality. Right now they all have Clipboard*::files() methods which call notImplemented(); 20470 20471 Test: http/tests/security/clipboard/clipboard-file-access.html 20472 20473 * dom/Clipboard.h: 20474 * dom/Clipboard.idl: 20475 * platform/chromium/ClipboardChromium.cpp: 20476 (WebCore::ClipboardChromium::files): 20477 * platform/chromium/ClipboardChromium.h: 20478 * platform/gtk/ClipboardGtk.cpp: 20479 (WebCore::ClipboardGtk::files): 20480 * platform/gtk/ClipboardGtk.h: 20481 * platform/mac/ClipboardMac.h: 20482 * platform/mac/ClipboardMac.mm: 20483 (WebCore::absoluteURLsFromPasteboardFilenames): 20484 (WebCore::absoluteURLsFromPasteboard): 20485 (WebCore::ClipboardMac::files): 20486 * platform/qt/ClipboardQt.cpp: 20487 (WebCore::ClipboardQt::files): 20488 * platform/qt/ClipboardQt.h: 20489 * platform/win/ClipboardWin.cpp: 20490 (WebCore::ClipboardWin::files): 20491 * platform/win/ClipboardWin.h: 20492 * platform/wx/ClipboardWx.cpp: 20493 (WebCore::ClipboardWx::files): 20494 * platform/wx/ClipboardWx.h: 20495 204962009-06-25 Eric Seidel <eric@webkit.org> 20497 20498 No review, only completing revert of r45144. 20499 20500 Add back files deleted by r45144. 20501 20502 * storage/LocalStorageArea.cpp: Added. 20503 (WebCore::LocalStorageArea::create): 20504 (WebCore::LocalStorageArea::LocalStorageArea): 20505 (WebCore::LocalStorageArea::scheduleFinalSync): 20506 (WebCore::LocalStorageArea::itemChanged): 20507 (WebCore::LocalStorageArea::itemRemoved): 20508 (WebCore::LocalStorageArea::areaCleared): 20509 (WebCore::LocalStorageArea::blockUntilImportComplete): 20510 (WebCore::LocalStorageArea::dispatchStorageEvent): 20511 * storage/LocalStorageArea.h: Added. 20512 * storage/SessionStorageArea.cpp: Added. 20513 (WebCore::SessionStorageArea::copy): 20514 (WebCore::SessionStorageArea::SessionStorageArea): 20515 (WebCore::SessionStorageArea::itemChanged): 20516 (WebCore::SessionStorageArea::itemRemoved): 20517 (WebCore::SessionStorageArea::areaCleared): 20518 (WebCore::SessionStorageArea::blockUntilImportComplete): 20519 (WebCore::SessionStorageArea::dispatchStorageEvent): 20520 * storage/SessionStorageArea.h: Added. 20521 (WebCore::SessionStorageArea::create): 20522 205232009-06-25 Eric Seidel <eric@webkit.org> 20524 20525 No review, reverting r45144 only. 20526 20527 Roll out r45144 after 18 test failures appeared on the bots. 20528 https://bugs.webkit.org/show_bug.cgi?id=26698 20529 20530 * GNUmakefile.am: 20531 * WebCore.vcproj/WebCore.vcproj: 20532 * WebCore.xcodeproj/project.pbxproj: 20533 * WebCoreSources.bkl: 20534 * storage/LocalStorage.cpp: 20535 (WebCore::LocalStorage::storageArea): 20536 * storage/LocalStorage.h: 20537 * storage/SessionStorage.cpp: 20538 (WebCore::SessionStorage::copy): 20539 (WebCore::SessionStorage::storageArea): 20540 * storage/SessionStorage.h: 20541 * storage/StorageArea.cpp: 20542 (WebCore::StorageArea::StorageArea): 20543 (WebCore::StorageArea::~StorageArea): 20544 (WebCore::StorageArea::setItem): 20545 (WebCore::StorageArea::removeItem): 20546 (WebCore::StorageArea::clear): 20547 * storage/StorageArea.h: 20548 * storage/StorageAreaSync.cpp: 20549 (WebCore::StorageAreaSync::StorageAreaSync): 20550 (WebCore::StorageAreaSync::scheduleFinalSync): 20551 (WebCore::StorageAreaSync::syncTimerFired): 20552 (WebCore::StorageAreaSync::performImport): 20553 * storage/StorageAreaSync.h: 20554 * storage/StorageSyncManager.h: 20555 205562009-06-24 Jeremy Orlow <jorlow@chromium.org> 20557 20558 Reviewed by Darin Fisher. 20559 20560 https://bugs.webkit.org/show_bug.cgi?id=26698 20561 20562 Combined LocalStorageArea and SessionStorageArea into StorageArea since 20563 (after my other refactorings) there are no longer substantial 20564 differences between the two. 20565 20566 * GNUmakefile.am: 20567 * WebCore.vcproj/WebCore.vcproj: 20568 * WebCore.xcodeproj/project.pbxproj: 20569 * WebCoreSources.bkl: 20570 * storage/LocalStorage.cpp: 20571 (WebCore::LocalStorage::storageArea): 20572 * storage/LocalStorage.h: 20573 * storage/LocalStorageArea.cpp: Removed. 20574 * storage/LocalStorageArea.h: Removed. 20575 * storage/SessionStorage.cpp: 20576 (WebCore::SessionStorage::copy): 20577 (WebCore::SessionStorage::storageArea): 20578 * storage/SessionStorage.h: 20579 * storage/SessionStorageArea.cpp: Removed. 20580 * storage/SessionStorageArea.h: Removed. 20581 * storage/StorageArea.cpp: 20582 (WebCore::StorageArea::createLocalStorage): 20583 (WebCore::StorageArea::StorageArea): 20584 (WebCore::StorageArea::createSessionStorage): 20585 (WebCore::StorageArea::copy): 20586 (WebCore::StorageArea::setItem): 20587 (WebCore::StorageArea::removeItem): 20588 (WebCore::StorageArea::clear): 20589 (WebCore::StorageArea::scheduleFinalSync): 20590 (WebCore::StorageArea::blockUntilImportComplete): 20591 (WebCore::StorageArea::dispatchStorageEvent): 20592 * storage/StorageArea.h: 20593 * storage/StorageAreaSync.cpp: 20594 (WebCore::StorageAreaSync::StorageAreaSync): 20595 (WebCore::StorageAreaSync::scheduleFinalSync): 20596 (WebCore::StorageAreaSync::syncTimerFired): 20597 (WebCore::StorageAreaSync::performImport): 20598 * storage/StorageAreaSync.h: 20599 * storage/StorageSyncManager.h: 20600 206012009-06-24 Dan Bernstein <mitz@apple.com> 20602 20603 Reviewed by Simon Fraser. 20604 20605 - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track 20606 at UCSC Genome Browser doesn't work because image map prevents img 20607 from hit-testing 20608 20609 Test: fast/replaced/image-map-2.html 20610 20611 * rendering/RenderImage.cpp: 20612 (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if 20613 the image map failed the hit test. 20614 206152009-06-22 Adam Barth <abarth@webkit.org> 20616 20617 Reviewed by Dimitri Glazkov. 20618 20619 https://bugs.webkit.org/show_bug.cgi?id=26366 20620 20621 Refactor V8DOMMap to support isolated worlds. 20622 20623 * bindings/v8/ScriptController.cpp: 20624 (WebCore::ScriptController::evaluateInNewWorld): 20625 * bindings/v8/ScriptController.h: 20626 * bindings/v8/V8DOMMap.cpp: 20627 (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): 20628 (WebCore::DOMDataStore::allStores): 20629 (WebCore::DOMDataStore::allStoresMutex): 20630 (WebCore::DOMDataStore::domData): 20631 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): 20632 (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): 20633 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 20634 (WebCore::): 20635 (WebCore::MainThreadDOMData::MainThreadDOMData): 20636 (WebCore::MainThreadDOMData::getStore): 20637 (WebCore::ChildThreadDOMData::ChildThreadDOMData): 20638 (WebCore::ChildThreadDOMData::getStore): 20639 (WebCore::DOMDataStore::DOMDataStore): 20640 (WebCore::DOMDataStore::~DOMDataStore): 20641 (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): 20642 (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle): 20643 (WebCore::forget): 20644 (WebCore::getDOMNodeMap): 20645 (WebCore::getDOMObjectMap): 20646 (WebCore::getActiveDOMObjectMap): 20647 (WebCore::getDOMSVGElementInstanceMap): 20648 (WebCore::getDOMSVGObjectWithContextMap): 20649 (WebCore::DOMData::getCurrent): 20650 (WebCore::DOMData::handleWeakObject): 20651 (WebCore::DOMData::ensureDeref): 20652 (WebCore::weakDOMObjectCallback): 20653 (WebCore::weakActiveDOMObjectCallback): 20654 (WebCore::weakNodeCallback): 20655 (WebCore::weakSVGElementInstanceCallback): 20656 (WebCore::weakSVGObjectWithContextCallback): 20657 (WebCore::DOMData::derefObject): 20658 (WebCore::DOMData::derefDelayedObjects): 20659 (WebCore::DOMData::derefDelayedObjectsInCurrentThread): 20660 (WebCore::DOMData::removeObjectsFromWrapperMap): 20661 (WebCore::removeAllDOMObjectsInCurrentThreadHelper): 20662 (WebCore::visitDOMNodesInCurrentThread): 20663 (WebCore::visitDOMObjectsInCurrentThread): 20664 (WebCore::visitActiveDOMObjectsInCurrentThread): 20665 (WebCore::visitDOMSVGElementInstancesInCurrentThread): 20666 (WebCore::visitSVGObjectsInCurrentThread): 20667 * bindings/v8/V8DOMMap.h: 20668 (WebCore::DOMDataStoreHandle::getStore): 20669 * bindings/v8/V8IsolatedWorld.cpp: Added. 20670 (WebCore::getIsolatedWorldKey): 20671 (WebCore::contextWeakReferenceCallback): 20672 (WebCore::V8IsolatedWorld::evaluate): 20673 (WebCore::V8IsolatedWorld::V8IsolatedWorld): 20674 (WebCore::V8IsolatedWorld::~V8IsolatedWorld): 20675 (WebCore::V8IsolatedWorld::getEntered): 20676 * bindings/v8/V8IsolatedWorld.h: Added. 20677 (WebCore::V8IsolatedWorld::getDOMDataStore): 20678 206792009-06-24 Mikhail Naganov <mnaganov@chromium.org> 20680 20681 Reviewed by Timothy Hatcher. 20682 20683 Bug 26604: Search doesn't work in Web Inspector Profiler 20684 https://bugs.webkit.org/show_bug.cgi?id=26604 20685 20686 Seems like search was damaged in revision 42808. 20687 20688 * inspector/front-end/ProfileView.js: 20689 (WebInspector.ProfileView.prototype.refresh): 20690 Here and in other functions: nodes we're searching in are profile data grid 20691 nodes, so there is no more need for '_dataGridNode' references. 20692 (WebInspector.ProfileView.prototype.searchCanceled): 20693 (WebInspector.ProfileView.prototype.performSearch.matchesQuery): 20694 Fixed accidental semicolon that caused 'matchesQuery' always return true. 20695 (WebInspector.ProfileView.prototype.performSearch): 20696 To perform search correctly in the case of bottom up tree, we need to populate 20697 the tree, because there's no 1-to-1 correspondence between profile nodes and 20698 data grid nodes in this case. 20699 (WebInspector.ProfileView.prototype._jumpToSearchResult): 20700 207012009-06-24 Simon Fraser <simon.fraser@apple.com> 20702 20703 Reviewed by Darin Adler. 20704 20705 <rdar://problem/6450239&6574516> 20706 20707 Fix flashing issues caused by compositing layers rendering content before 20708 a deferred layout has happened. Because the -viewWillDraw machinery doesn't 20709 work for composited layers, we need to use scheduleViewUpdate() to queue 20710 up a layout via the run loop observer in WebKit, whenever we know we 20711 are going to be painting soon. 20712 20713 * rendering/RenderLayerBacking.cpp: 20714 (WebCore::RenderLayerBacking::setContentsNeedDisplay): 20715 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): 20716 207172009-06-24 David Levin <levin@chromium.org> 20718 20719 Fix all builds. 20720 20721 * ForwardingHeaders/wtf/FastAllocBase.h: Added. 20722 207232009-06-24 Jeremy Orlow <jorlow@chromium.org> 20724 20725 Reviewed by Darin Fisher. 20726 20727 https://bugs.webkit.org/show_bug.cgi?id=26658 20728 20729 Split the syncing portions of LocalStorageArea into StorageAreaSync. 20730 This name will make more sense in the next patch (in this set) when 20731 LocalStorageArea and SessionStorageArea are merged to become simply 20732 StorageArea. (Thus the synching portion of StorageArea is in 20733 StorageAreaSync.) 20734 20735 This looks like a big patch, but really all it's doing is splitting 20736 code and patching split-related things up. 20737 20738 * GNUmakefile.am: 20739 * WebCore.vcproj/WebCore.vcproj: 20740 * WebCore.xcodeproj/project.pbxproj: 20741 * WebCoreSources.bkl: 20742 * storage/LocalStorageArea.cpp: 20743 (WebCore::LocalStorageArea::create): 20744 (WebCore::LocalStorageArea::LocalStorageArea): 20745 (WebCore::LocalStorageArea::scheduleFinalSync): 20746 (WebCore::LocalStorageArea::itemChanged): 20747 (WebCore::LocalStorageArea::itemRemoved): 20748 (WebCore::LocalStorageArea::areaCleared): 20749 (WebCore::LocalStorageArea::blockUntilImportComplete): 20750 * storage/LocalStorageArea.h: 20751 * storage/LocalStorageTask.cpp: 20752 (WebCore::LocalStorageTask::LocalStorageTask): 20753 * storage/LocalStorageTask.h: 20754 (WebCore::LocalStorageTask::createImport): 20755 (WebCore::LocalStorageTask::createSync): 20756 * storage/LocalStorageThread.cpp: 20757 (WebCore::LocalStorageThread::scheduleImport): 20758 (WebCore::LocalStorageThread::scheduleSync): 20759 * storage/LocalStorageThread.h: 20760 * storage/SessionStorageArea.cpp: 20761 (WebCore::SessionStorageArea::blockUntilImportComplete): 20762 * storage/SessionStorageArea.h: 20763 * storage/StorageArea.h: 20764 * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp. 20765 * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h. 20766 * storage/StorageSyncManager.cpp: 20767 (WebCore::StorageSyncManager::scheduleImport): 20768 (WebCore::StorageSyncManager::scheduleSync): 20769 * storage/StorageSyncManager.h: 20770 207712009-06-24 Adam Treat <adam.treat@torchmobile.com> 20772 20773 Fix Qt build. 20774 20775 * WebCore.pro: 20776 207772009-06-24 David Levin <levin@chromium.org> 20778 20779 Reviewed by David Hyatt. 20780 20781 Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr. 20782 https://bugs.webkit.org/show_bug.cgi?id=26696 20783 20784 * html/DataGridColumnList.cpp: 20785 (WebCore::DataGridColumnList::itemWithName): 20786 (WebCore::DataGridColumnList::add): 20787 * html/DataGridColumnList.h: 20788 (WebCore::DataGridColumnList::item): 20789 (WebCore::DataGridColumnList::primaryColumn): 20790 (WebCore::DataGridColumnList::sortColumn): 20791 207922009-06-24 Sam Weinig <sam@webkit.org> 20793 20794 Reviewed by Dave "Messy" Hyatt. 20795 20796 Little bit of style cleanup. 20797 20798 * html/DataGridColumn.cpp: 20799 * html/DataGridColumn.h: 20800 * html/DataGridColumn.idl: 20801 * html/DataGridColumnList.cpp: 20802 * html/DataGridColumnList.h: 20803 * html/DataGridColumnList.idl: 20804 * html/HTMLDataGridCellElement.cpp: 20805 * html/HTMLDataGridCellElement.h: 20806 * html/HTMLDataGridCellElement.idl: 20807 * html/HTMLDataGridColElement.cpp: 20808 * html/HTMLDataGridColElement.h: 20809 * html/HTMLDataGridColElement.idl: 20810 * html/HTMLDataGridElement.h: 20811 * html/HTMLDataGridElement.idl: 20812 * html/HTMLDataGridRowElement.cpp: 20813 * html/HTMLDataGridRowElement.h: 20814 * html/HTMLDataGridRowElement.idl: 20815 208162009-06-24 Chris Fleizach <cfleizach@apple.com> 20817 20818 Reviewed by Oliver Hunt. 20819 20820 Bug 26668: AX: need a way to retrieve the language for an element 20821 20822 Provides a way to retrieve the language associated with a specific accessibility element. 20823 20824 Test: accessibility/language-attribute.html 20825 20826 * accessibility/AccessibilityObject.cpp: 20827 (WebCore::AccessibilityObject::language): 20828 * accessibility/AccessibilityObject.h: 20829 * accessibility/AccessibilityRenderObject.cpp: 20830 (WebCore::AccessibilityRenderObject::language): 20831 * accessibility/AccessibilityRenderObject.h: 20832 * accessibility/mac/AccessibilityObjectWrapper.mm: 20833 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 20834 208352009-06-24 Brady Eidson <beidson@apple.com> 20836 20837 Reviewed by Dan Bernstein. 20838 20839 <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text. 20840 20841 * platform/network/mac/WebCoreURLResponse.mm: 20842 (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions. 20843 208442009-06-24 Nicolas Weber <thakis@chromium.org> 20845 20846 Reviewed by Eric Seidel. 20847 20848 https://bugs.webkit.org/show_bug.cgi?id=26685 20849 Accomodate for backwards-incompatible skia api changes. 20850 20851 * platform/graphics/skia/GraphicsContextSkia.cpp: 20852 (WebCore::GraphicsContext::clearRect): 20853 (WebCore::GraphicsContext::setCompositeOperation): 20854 * platform/graphics/skia/ImageBufferSkia.cpp: 20855 (WebCore::ImageBuffer::ImageBuffer): 20856 * platform/graphics/skia/ImageSkia.cpp: 20857 (WebCore::paintSkBitmap): 20858 (WebCore::Image::drawPattern): 20859 * platform/graphics/skia/PlatformContextSkia.cpp: 20860 (PlatformContextSkia::State::State): 20861 (PlatformContextSkia::setupPaintCommon): 20862 (PlatformContextSkia::setXfermodeMode): 20863 (PlatformContextSkia::applyClipFromImage): 20864 * platform/graphics/skia/PlatformContextSkia.h: 20865 * platform/graphics/skia/SkiaUtils.cpp: 20866 (WebCore::): 20867 (WebCore::WebCoreCompositeToSkiaComposite): 20868 * platform/graphics/skia/SkiaUtils.h: 20869 208702009-06-24 Jan Michael Alonzo <jmalonzo@webkit.org> 20871 20872 Gtk build fix. Add files that were added in r45093 and r45096 20873 20874 * GNUmakefile.am: 20875 208762009-06-24 Brady Eidson <beidson@apple.com> 20877 20878 Fix 64-bit SnowLeopard build. 20879 20880 * html/DataGridColumnList.cpp: 20881 (WebCore::DataGridColumnList::remove): 20882 (WebCore::DataGridColumnList::move): 20883 208842009-06-24 Rob Buis <rwlbuis@gmail.com> 20885 20886 Reviewed by Eric Seidel. 20887 20888 https://bugs.webkit.org/show_bug.cgi?id=26392 20889 Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work. 20890 https://bugs.webkit.org/show_bug.cgi?id=26328 20891 Bug 26328: changing href attribute of svg images does not work when changing display attribute as well 20892 20893 React to href updates even when there is no renderer, i.e. display=none. 20894 20895 Tests: svg/custom/js-update-image-and-display.svg 20896 svg/custom/js-update-image-and-display2.svg 20897 svg/custom/js-update-image-and-display3.svg 20898 20899 * svg/SVGImageElement.cpp: 20900 (WebCore::SVGImageElement::svgAttributeChanged): 20901 209022009-06-24 David Hyatt <hyatt@apple.com> 20903 20904 Reviewed by Sam Weinig. 20905 20906 https://bugs.webkit.org/show_bug.cgi?id=26687 20907 20908 Add basic back-end column support to datagrid. 20909 20910 Added fast/dom/HTMLDataGridElement/ column tests. 20911 20912 * DerivedSources.cpp: 20913 * DerivedSources.make: 20914 * WebCore.pro: 20915 * WebCore.vcproj/WebCore.vcproj: 20916 * WebCore.xcodeproj/project.pbxproj: 20917 * WebCoreSources.bkl: 20918 * html/DataGridColumn.cpp: Added. 20919 (WebCore::DataGridColumn::setPrimary): 20920 * html/DataGridColumn.h: Added. 20921 (WebCore::DataGridColumn::create): 20922 (WebCore::DataGridColumn::id): 20923 (WebCore::DataGridColumn::setId): 20924 (WebCore::DataGridColumn::label): 20925 (WebCore::DataGridColumn::setLabel): 20926 (WebCore::DataGridColumn::type): 20927 (WebCore::DataGridColumn::setType): 20928 (WebCore::DataGridColumn::sortable): 20929 (WebCore::DataGridColumn::setSortable): 20930 (WebCore::DataGridColumn::sortDirection): 20931 (WebCore::DataGridColumn::setSortDirection): 20932 (WebCore::DataGridColumn::primary): 20933 (WebCore::DataGridColumn::detachFromColumnList): 20934 (WebCore::DataGridColumn::DataGridColumn): 20935 * html/DataGridColumn.idl: Added. 20936 * html/DataGridColumnList.cpp: Added. 20937 (WebCore::DataGridColumnList::~DataGridColumnList): 20938 (WebCore::DataGridColumnList::itemWithName): 20939 (WebCore::DataGridColumnList::add): 20940 (WebCore::DataGridColumnList::remove): 20941 (WebCore::DataGridColumnList::move): 20942 (WebCore::DataGridColumnList::clear): 20943 (WebCore::DataGridColumnList::primaryColumnChanged): 20944 * html/DataGridColumnList.h: Added. 20945 (WebCore::DataGridColumnList::create): 20946 (WebCore::DataGridColumnList::length): 20947 (WebCore::DataGridColumnList::item): 20948 (WebCore::DataGridColumnList::primaryColumn): 20949 (WebCore::DataGridColumnList::sortColumn): 20950 * html/DataGridColumnList.idl: Added. 20951 * html/HTMLDataGridColElement.cpp: 20952 (WebCore::HTMLDataGridColElement::sortable): 20953 (WebCore::HTMLDataGridColElement::setSortable): 20954 (WebCore::HTMLDataGridColElement::sortDirection): 20955 (WebCore::HTMLDataGridColElement::setSortDirection): 20956 * html/HTMLDataGridColElement.h: 20957 * html/HTMLDataGridColElement.idl: 20958 * html/HTMLDataGridElement.cpp: 20959 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 20960 * html/HTMLDataGridElement.h: 20961 (WebCore::HTMLDataGridElement::columns): 20962 * html/HTMLDataGridElement.idl: 20963 * rendering/RenderDataGrid.cpp: 20964 (WebCore::RenderDataGrid::paintObject): 20965 (WebCore::RenderDataGrid::paintColumnHeaders): 20966 (WebCore::RenderDataGrid::rebuildColumns): 20967 * rendering/RenderDataGrid.h: 20968 (WebCore::RenderDataGrid::gridElement): 20969 209702009-06-24 Jessie Berlin <jberlin@apple.com> 20971 20972 Reviewed by Adam Roben. 20973 20974 Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735 20975 (<rdar://problem/5015942>) 20976 Where on windows it was not possible to set an element as the drag 20977 image using setDragImage on the dataTransfer object. 20978 20979 Does not "fix" the case of dragging a link where the default link image 20980 is still used, even when the -webkit-user-drag is set to "element". This 20981 is the same behavior as is found on OS X. 20982 20983 Added a manual test because it is not possible to check that what is 20984 contained in the image snapshot is indeed the requested element. 20985 20986 * dom/Clipboard.h: 20987 (WebCore::Clipboard::dragImageElement): 20988 Made getting the raw pointer from the RefPtr a const operation. 20989 * manual-tests/drag-with-div-or-image-as-data-image.html: Added. 20990 * platform/win/ClipboardWin.cpp: 20991 (WebCore::ClipboardWin::createDragImage): 20992 Get an image of the rendered element and its subtree. 20993 209942009-06-24 Darin Fisher <darin@chromium.org> 20995 20996 Reviewed by David Levin. 20997 20998 https://bugs.webkit.org/show_bug.cgi?id=26683 20999 Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource 21000 21001 This change just adds a stub implementation for now to help fix the build. 21002 21003 * bindings/v8/custom/V8CustomBinding.h: 21004 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added. 21005 210062009-06-24 David Kilzer <ddkilzer@apple.com> 21007 21008 Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO) 21009 21010 Reviewed by Adam Roben. 21011 21012 * html/HTMLMediaElement.cpp: 21013 (WebCore::HTMLMediaElement::deliverNotification): Removed 21014 ExceptionCode parameter from togglePlayState(). 21015 (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL 21016 object to a String when assigning to a KURL variable. 21017 210182009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 21019 21020 Reviewed by Adam Treat. 21021 21022 Save memory by not storing attribute values in member variables, if not absolutely needed. 21023 Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element). 21024 21025 * wml/WMLDoElement.cpp: 21026 (WebCore::WMLDoElement::parseMappedAttribute): 21027 (WebCore::WMLDoElement::label): 21028 * wml/WMLDoElement.h: 21029 * wml/WMLFieldSetElement.cpp: 21030 (WebCore::WMLFieldSetElement::insertedIntoDocument): 21031 * wml/WMLFieldSetElement.h: 21032 * wml/WMLOptGroupElement.cpp: 21033 (WebCore::WMLOptGroupElement::title): 21034 (WebCore::WMLOptGroupElement::parseMappedAttribute): 21035 (WebCore::WMLOptGroupElement::groupLabelText): 21036 * wml/WMLOptGroupElement.h: 21037 * wml/WMLPostfieldElement.cpp: 21038 (WebCore::WMLPostfieldElement::name): 21039 (WebCore::WMLPostfieldElement::value): 21040 (WebCore::WMLPostfieldElement::encodeData): 21041 * wml/WMLPostfieldElement.h: 21042 * wml/WMLSetvarElement.cpp: 21043 (WebCore::WMLSetvarElement::parseMappedAttribute): 21044 (WebCore::WMLSetvarElement::name): 21045 (WebCore::WMLSetvarElement::value): 21046 * wml/WMLSetvarElement.h: 21047 * wml/WMLTimerElement.cpp: 21048 (WebCore::WMLTimerElement::parseMappedAttribute): 21049 (WebCore::WMLTimerElement::insertedIntoDocument): 21050 (WebCore::WMLTimerElement::timerFired): 21051 (WebCore::WMLTimerElement::start): 21052 (WebCore::WMLTimerElement::value): 21053 * wml/WMLTimerElement.h: 21054 210552009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 21056 21057 Reviewed by Adam Roben. 21058 21059 Forgot to initialize m_task member variable. Results in crashes sometimes. 21060 21061 * wml/WMLAnchorElement.cpp: 21062 (WebCore::WMLAnchorElement::WMLAnchorElement): 21063 210642009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> 21065 21066 Not reviewed. Forgot to include within last patch. 21067 21068 * manual-tests/wml/card-title-attr.wml: Added. 21069 210702009-06-24 Wajahat Siddiqui <wajahatmeister@gmail.com> 21071 21072 Reviewed by Nikolas Zimmermann. 21073 21074 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474 21075 Adding WML <card> title attribute handling. 21076 21077 * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const 21078 * wml/WMLElement.cpp: 21079 * wml/WMLCardElement.h: 21080 (WebCore::WMLCardElement::title): 21081 * wml/WMLCardElement.cpp: 21082 * wml/manual-test/card-title-attr.wml: Manual test 21083 210842009-06-24 Simon Hausmann <simon.hausmann@nokia.com> 21085 21086 Reviewed by Tor Arne Vestbø. 21087 21088 Fix the build without ENABLE_VIDEO. 21089 21090 * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards. 21091 * html/CanvasRenderingContext2D.h: Ditto. 21092 210932009-06-24 Siddhartha Chattopadhyay <sidchat@google.com> 21094 21095 Reviewed by Eric Seidel. 21096 21097 Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had 21098 the smartReplace set TRUE initially, which was wrong since the purpose of this call is 21099 to just replace the selection, and place the caret at the end of the selection it replaced. 21100 21101 * editing/Editor.cpp: 21102 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 21103 * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added. 21104 211052009-06-24 Kevin Watters <kevinwatters@gmail.com> 21106 21107 Reviewed by Kevin Ollivier. 21108 21109 Don't use an unsigned int for intervalInMS because we sometimes initialize 21110 it with a negative value. 21111 21112 * platform/wx/SharedTimerWx.cpp: 21113 (WebCore::setSharedTimerFireTime): 21114 211152009-06-24 Eric Seidel <eric@webkit.org> 21116 21117 No review, build fix only. 21118 21119 The previous checkin had an improper merge. This fixes the build. 21120 21121 * page/DragController.cpp: 21122 (WebCore::DragController::tryDocumentDrag): 21123 211242009-06-05 Eric Seidel <eric@webkit.org> 21125 21126 Reviewed by Oliver Hunt. 21127 21128 https://bugs.webkit.org/show_bug.cgi?id=25922 21129 JS setting dropEffect = "none" causes tryDHTMLDrag 21130 to return DragOperationNone. Which is also the value 21131 tryDHTMLDrag previously used to indicate JS did not 21132 want to handle the drag. 21133 21134 Make it possible for the DragController::try* methods 21135 to return a bool to indicate if javascript accepted 21136 or rejected the drag event, separate from the DragOperation. 21137 21138 Tests: 21139 - fast/events/drag-to-navigate.html 21140 - fast/events/prevent-drag-to-navigate.html 21141 21142 * page/DragController.cpp: 21143 (WebCore::DragController::dragEnteredOrUpdated): 21144 (WebCore::DragController::tryDocumentDrag): 21145 (WebCore::defaultOperationForDrag): 21146 (WebCore::DragController::tryDHTMLDrag): 21147 * page/DragController.h: 21148 211492009-06-23 Oliver Hunt <oliver@apple.com> and Eric Carlson <eric.carlson@apple.com> 21150 21151 Reviewed by Sam Weinig and Dave Hyatt. 21152 21153 <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames 21154 <https://bugs.webkit.org/show_bug.cgi?id=25920> 21155 21156 Add support for drawing the contents of the video element to the canvas 21157 in accordance with the current HTML5 draft. 21158 21159 Test: media/video-canvas.html 21160 21161 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 21162 (WebCore::JSCanvasRenderingContext2D::drawImage): 21163 Standard custom bindings stuff we need to do for all canvas methods. 21164 * html/CanvasRenderingContext2D.cpp: 21165 (WebCore::size): Helper function for finding the size of a video element 21166 (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file. 21167 (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>) 21168 * html/CanvasRenderingContext2D.h: 21169 * html/HTMLMediaElement.h: 21170 (WebCore::HTMLMediaElement::hasSingleSecurityOrigin): 21171 hasSingleSecurityOrigin is needed for security, currently all implementations are trivial 21172 as we force QT to maintain a single origin. 21173 * html/HTMLVideoElement.cpp: 21174 (WebCore::HTMLVideoElement::paint): 21175 Paint routine on video so we don't have to look at MediaPlayer directly 21176 * html/HTMLVideoElement.h: 21177 * platform/graphics/MediaPlayer.cpp: 21178 (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin): 21179 (WebCore::MediaPlayer::hasSingleSecurityOrigin): 21180 Default implementations of hasSingleSecurityOrigin 21181 * platform/graphics/MediaPlayer.h: 21182 * platform/graphics/MediaPlayerPrivate.h: 21183 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 21184 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 21185 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 21186 A video may need a player now even if it is not visible. 21187 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 21188 Always return true due to restrictions we've placed on QT. 21189 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 21190 (WebCore::MediaPlayerPrivate::paint): 21191 Jump through some hoops to allow windows QT to draw to an intermediate buffer. 21192 In the long term we'd like to cache the HDC, but this will do for now. 21193 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 21194 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 21195 As for Mac we force QT to only allow same origin loads. 21196 211972009-06-23 Adam Langley <agl@google.com> 21198 21199 Reviewed by Eric Seidel. 21200 21201 Chromium: Fix crash with inherited font-size in <option> 21202 21203 https://bugs.webkit.org/show_bug.cgi?id=26656 21204 http://code.google.com/p/chromium/issues/detail?id=14853 21205 21206 In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed 21207 the <select> handing for Chromium to fix a rendering bug. However, 21208 although the font-size is correctly ignored, getRowHeight wasn't 21209 updated and so was calculating the height of the rows in an 21210 inconsistent manner. This can lead to a crash. 21211 21212 * manual-tests/optgroup-empty-and-nested.html: adding test case for crash 21213 * platform/chromium/PopupMenuChromium.cpp: 21214 (WebCore::PopupListBox::getRowHeight): 21215 212162009-06-23 Brady Eidson <beidson@apple.com> 21217 21218 Patch by Antti Koivisto. 21219 Reviewed by Brady Eidson. 21220 21221 <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK 21222 21223 A latent bug that cache revalidation uncovered. When a CachedResource failed to load, 21224 it should always be revalidated upon reload. 21225 21226 * loader/CachedResource.cpp: 21227 (WebCore::CachedResource::canUseCacheValidator): 21228 (WebCore::CachedResource::mustRevalidate): 21229 212302009-06-23 Dan Bernstein <mitz@apple.com> 21231 21232 Reviewed by Darin Adler. 21233 21234 - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath 21235 EventHandler::passMouseDownEventToWidget() 21236 21237 * page/mac/EventHandlerMac.mm: 21238 (WebCore::EventHandler::passMouseDownEventToWidget): Surround the 21239 -mouseDown: call with calls to Widget::beforeMouseDown() and 21240 Widget::afterMouseDown(), which prevent the widget's view hierarchy from 21241 being removed from its parent view while the scroller is tracking the 21242 mouse. 21243 212442009-06-23 Sam Weinig <sam@webkit.org> 21245 21246 Reviewed by Dave Hyatt. 21247 21248 Fix for https://bugs.webkit.org/show_bug.cgi?id=26516 21249 Add initial implementation of DataGridDataSource 21250 21251 - Initial implementation only supports the initialize callback function. 21252 21253 Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html 21254 21255 * WebCore.xcodeproj/project.pbxproj: 21256 * GNUmakefile.am: 21257 * WebCore.pro: 21258 * WebCore.vcproj/WebCore.vcproj: 21259 * WebCore.xcodeproj/project.pbxproj: 21260 * WebCoreSources.bkl: 21261 * bindings/js/JSDataGridDataSource.cpp: Added. 21262 (WebCore::JSDataGridDataSource::JSDataGridDataSource): 21263 (WebCore::JSDataGridDataSource::~JSDataGridDataSource): 21264 (WebCore::JSDataGridDataSource::initialize): 21265 * bindings/js/JSDataGridDataSource.h: Added. 21266 (WebCore::JSDataGridDataSource::create): 21267 (WebCore::JSDataGridDataSource::isJSDataGridDataSource): 21268 (WebCore::JSDataGridDataSource::jsDataSource): 21269 (WebCore::asJSDataGridDataSource): 21270 * bindings/js/JSHTMLDataGridElementCustom.cpp: Added. 21271 (WebCore::JSHTMLDataGridElement::listener): 21272 (WebCore::JSHTMLDataGridElement::setListener): 21273 * html/DataGridDataSource.h: Added. 21274 (WebCore::DataGridDataSource::~DataGridDataSource): 21275 (WebCore::DataGridDataSource::isJSDataGridDataSource): 21276 * html/HTMLDataGridElement.cpp: 21277 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 21278 (WebCore::HTMLDataGridElement::setDataSource): 21279 (WebCore::HTMLDataGridElement::initializationTimerFired): 21280 * html/HTMLDataGridElement.h: 21281 (WebCore::HTMLDataGridElement::dataSource): 21282 * html/HTMLDataGridElement.idl: 21283 212842009-06-23 Ryosuke Niwa <rniwa@google.com> 21285 21286 Reviewed by Justin Garcia. 21287 21288 Undo the changeset 21212 to fix the regression bug 14062. 21289 The changeset 21212 attempted to fix rdar://problem/5002441. 21290 The changeset 21212 modified InsertTextCommand::input so as to convert 21291 all spaces in text to non-breaking spaces for rdar://problem/5002441. 21292 However, the bug was originally caused by rebalanceWhitespaceAt 21293 and this workaround introduced a regression bug 14062. 21294 Because rebalanceWhitespaceAt appears to behave correctly now, 21295 the workaround introduced in 21212 is no longer needed. 21296 21297 Test: editing/inserting/space-after-removeformat.html 21298 21299 * editing/InsertTextCommand.cpp: 21300 (WebCore::InsertTextCommand::input): 21301 213022009-06-23 Beth Dakin <bdakin@apple.com> 21303 21304 Reviewed by Dave Hyatt. 21305 21306 Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 21307 elements width can't be changed with javascript 21308 21309 This patch both fixes setting the width attribute directly in 21310 JavaScript, and setting the width on the style attribute. 21311 21312 * html/HTMLTableColElement.cpp: 21313 (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 21314 new width, call setNeedsLayoutAndPrefWidthsRecalc() 21315 21316 Call calcPrefWidths() on the table cols. 21317 * rendering/AutoTableLayout.cpp: 21318 (WebCore::AutoTableLayout::recalcColumn): 21319 * rendering/FixedTableLayout.cpp: 21320 (WebCore::FixedTableLayout::calcWidthArray): 21321 21322 Call layoutIfNeeded on the table cols. 21323 * rendering/RenderTable.cpp: 21324 (WebCore::RenderTable::layout): 21325 21326 * rendering/RenderTableCol.cpp: 21327 (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 21328 table() convenience function. 21329 (WebCore::RenderTableCol::calcPrefWidths): Just call 21330 setPrefWidthsDirty(false) on ourself and our children. 21331 (WebCore::RenderTableCol::table): 21332 * rendering/RenderTableCol.h: 21333 213342009-06-23 Ojan Vafai <ojan@chromium.org> 21335 21336 Reviewed by Dan Bernstein. 21337 21338 Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 21339 keyword values. When diff is called on a CSSStyleDeclaration, we check 21340 the keywordSize to see if font-size matches a keyword value. 21341 21342 This ensures that when we diff a CSSMutableStyleDeclaration returned from 21343 copyInheritableProperties on a CSSComputedStyleDeclaration that we 21344 correctly identify matching font-sizes. 21345 21346 https://bugs.webkit.org/show_bug.cgi?id=26279 21347 21348 Test: editing/inserting/font-size-clears-from-typing-style.html 21349 21350 * css/CSSComputedStyleDeclaration.cpp: 21351 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches): 21352 * css/CSSComputedStyleDeclaration.h: 21353 * css/CSSStyleDeclaration.cpp: 21354 (WebCore::CSSStyleDeclaration::cssPropertyMatches): 21355 (WebCore::CSSStyleDeclaration::diff): 21356 * css/CSSStyleDeclaration.h: 21357 213582009-06-23 Kevin McCullough <kmccullough@apple.com> 21359 21360 Reviewed by Darin Adler. 21361 21362 <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to 21363 add a blank line to pasted Facebook content (under 21364 CompositeEditCommand::positionAvoidingSpecialElementBoundary) 21365 21366 - Just added null checks and I will create a new bug to prevent the 21367 bad behavior. 21368 21369 * editing/CompositeEditCommand.cpp: 21370 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 21371 213722009-06-23 Simon Fraser <simon.fraser@apple.com> 21373 21374 Build fix. 21375 21376 Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 21377 ACCELERATED_COMPOSITING is not defined. 21378 21379 * rendering/RenderLayer.cpp: 21380 213812009-06-23 Simon Fraser <simon.fraser@apple.com> 21382 21383 Reviewed by Dave Hyatt. 21384 21385 https://bugs.webkit.org/show_bug.cgi?id=24863 21386 21387 Fix reflection painting on elements with compositing layers. 21388 21389 Test: compositing/reflections/reflection-on-composited.html 21390 21391 * rendering/RenderLayer.h: 21392 Add a new PaintLayerPaintingReflection flag which is set while painting inside 21393 reflections. 21394 (WebCore::RenderLayer::setPaintingInsideReflection): 21395 Add a setter so that RenderLayerBacking can call it. 21396 21397 * rendering/RenderLayer.cpp: 21398 (WebCore::shouldDoSoftwarePaint): 21399 Utility to clarify the logic of when a composited layer should do a software paint. 21400 21401 (WebCore::RenderLayer::paintLayer): 21402 Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer. 21403 Remove transform-related tests from the reflection-painting if test because they appear 21404 to be unnecessary. 21405 21406 * rendering/RenderLayerBacking.cpp: 21407 (WebCore::RenderLayerBacking::paintIntoLayer): 21408 Add the code to paint reflections to the composited layer painting method. 21409 21410 * rendering/RenderReplica.cpp: 21411 (WebCore::RenderReplica::paint): 21412 Set the PaintLayerPaintingReflection flag. 21413 214142009-06-23 Antti Koivisto <antti@apple.com> 21415 21416 Reviewed by Darin Adler. 21417 21418 https://bugs.webkit.org/show_bug.cgi?id=26643 21419 Memory cache should respect Cache-Control: no-store 21420 21421 Make resources with Cache-Control: no-store uncacheable in the memory cache. 21422 They get evicted immediately when all clients are gone and are always 21423 reloaded from the server. 21424 21425 Conforms to RFC2616 14.9.2 and seems also match Firefox behavior. 21426 21427 * loader/CachedResource.cpp: 21428 (WebCore::CachedResource::removeClient): 21429 (WebCore::CachedResource::canUseCacheValidator): 21430 (WebCore::CachedResource::mustRevalidate): 21431 * platform/network/ResourceResponseBase.cpp: 21432 (WebCore::ResourceResponseBase::ResourceResponseBase): 21433 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 21434 (WebCore::ResourceResponseBase::cacheControlContainsNoStore): 21435 * platform/network/ResourceResponseBase.h: 21436 214372009-06-23 Brady Eidson <beidson@apple.com> 21438 21439 Windows build fix. 21440 21441 * platform/graphics/win/QTMovieWin.cpp: 21442 (QTMovieWin::play): 21443 (QTMovieWin::pause): 21444 (QTMovieWin::setRate): 21445 (QTMovieWin::setCurrentTime): 21446 214472009-06-23 Kevin McCullough <kmccullough@apple.com> 21448 21449 Reviewed by Adele Peterson. 21450 21451 <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect 21452 after manually quoting blank line then hitting return 21453 21454 If the insertion point is both the begining and ending visible position 21455 then we need to insert at the end instead of the begining, which is what 21456 would normally happen if the insertion point was as the begining. 21457 21458 * editing/BreakBlockquoteCommand.cpp: 21459 (WebCore::BreakBlockquoteCommand::doApply): 21460 214612009-06-23 Brady Eidson <beidson@apple.com> 21462 21463 Reviewed by Sam Weinig, and looked over by Eric Carlson. 21464 21465 <rdar://problem/6980466> Media elements should provide option for changing pitch correction 21466 21467 Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this. 21468 21469 * html/HTMLMediaElement.cpp: 21470 (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 21471 property (Quicktime on Mac and Win) have had it on by default, so continue that default for now. 21472 (WebCore::HTMLMediaElement::loadResource): 21473 (WebCore::HTMLMediaElement::webkitPreservesPitch): 21474 (WebCore::HTMLMediaElement::setWebkitPreservesPitch): 21475 * html/HTMLMediaElement.h: 21476 * html/HTMLMediaElement.idl: 21477 21478 * platform/graphics/MediaPlayer.cpp: 21479 (WebCore::NullMediaPlayerPrivate::setPreservesPitch): 21480 (WebCore::MediaPlayer::MediaPlayer): 21481 (WebCore::MediaPlayer::preservesPitch): 21482 (WebCore::MediaPlayer::setPreservesPitch): 21483 * platform/graphics/MediaPlayer.h: 21484 * platform/graphics/MediaPlayerPrivate.h: 21485 (WebCore::MediaPlayerPrivateInterface::setPreservesPitch): 21486 21487 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 21488 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 21489 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 21490 (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the 21491 exact same attributes as before, with pitch preservation being the difference. 21492 (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes. 21493 (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie. 21494 (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it 21495 has been effectively overwritten. 21496 21497 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 21498 (WebCore::MediaPlayerPrivate::load): 21499 (WebCore::MediaPlayerPrivate::setPreservesPitch): 21500 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 21501 * platform/graphics/win/QTMovieWin.cpp: 21502 (QTMovieWinPrivate::QTMovieWinPrivate): 21503 (QTMovieWinPrivate::~QTMovieWinPrivate): 21504 (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie. 21505 (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it. 21506 (QTMovieWin::pause): Ditto. 21507 (QTMovieWin::setRate): Ditto. 21508 (QTMovieWin::setCurrentTime): Ditto. 21509 (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes. 21510 (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 21511 but changing the pitch preservation flag. 21512 * platform/graphics/win/QTMovieWin.h: 21513 215142009-06-23 Eric Carlson <eric.carlson@apple.com> 21515 21516 Reviewed by Simon Fraser. 21517 21518 <rdar://problem/6998286> Crash after leaving page with <video> 21519 21520 Don't try to post events after going into the page cache. 21521 21522 * html/HTMLMediaElement.cpp: 21523 (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop 21524 event timers so we won't try to post events after going into the cache. 21525 215262009-06-23 Jeremy Orlow <jorlow@chromium.org> 21527 21528 Reviewed by Brady Eidson. 21529 21530 Simplify the interaction between LocalStorageArea/SessionStorageArea 21531 and StorageArea by creating a "blockUntilImportComplete()" function 21532 rather than bouncing back and forth between the child and parent 21533 classes in a somewhat unintuitive manner. 21534 21535 This patch also paves the way for LocalStorageArea and 21536 SessionStorageArea being merged into one. It's part of several in a 21537 set which are separating syncing (to disk) code from the rest of the 21538 implementation so that local storage and session storage's code can be 21539 unified. 21540 21541 https://bugs.webkit.org/show_bug.cgi?id=25376 21542 21543 * storage/LocalStorageArea.cpp: 21544 (WebCore::LocalStorageArea::blockUntilImportComplete): 21545 * storage/LocalStorageArea.h: 21546 * storage/StorageArea.cpp: 21547 (WebCore::StorageArea::length): 21548 (WebCore::StorageArea::key): 21549 (WebCore::StorageArea::getItem): 21550 (WebCore::StorageArea::setItem): 21551 (WebCore::StorageArea::removeItem): 21552 (WebCore::StorageArea::clear): 21553 (WebCore::StorageArea::contains): 21554 * storage/StorageArea.h: 21555 (WebCore::StorageArea::blockUntilImportComplete): 21556 215572009-06-23 Simon Fraser <simon.fraser@apple.com> 21558 21559 Reviewed by Dave Hyatt 21560 21561 First part of https://bugs.webkit.org/show_bug.cgi?id=26652 21562 21563 * rendering/RenderLayer.cpp: 21564 (WebCore::RenderLayer::paint): 21565 (WebCore::RenderLayer::paintLayer): 21566 * rendering/RenderLayer.h: 21567 (WebCore::RenderLayer::): 21568 * rendering/RenderReplica.cpp: 21569 (WebCore::RenderReplica::paint): 21570 Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability. 21571 21572 * rendering/RenderLayerBacking.cpp: 21573 (WebCore::RenderLayerBacking::paintIntoLayer): 21574 (WebCore::RenderLayerBacking::paintContents): 21575 * rendering/RenderLayerBacking.h: 21576 Remove the unused 'haveTransparency' param to paintIntoLayer(). 21577 215782009-06-23 Simon Fraser <simon.fraser@apple.com> 21579 21580 Reviewed by Darin Adler. 21581 21582 <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration 21583 21584 The updatingControlTints() painting pass goes through compositing layer boundaries, 21585 so we need to ensure we don't cache clip rects computed with the wrong root by 21586 setting temporaryClipRects to true. 21587 21588 * rendering/RenderLayer.cpp: 21589 (WebCore::RenderLayer::paintLayer): 21590 21591 * rendering/RenderLayerBacking.cpp: 21592 (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): 21593 Remove a printf that I left in by mistake. 21594 215952009-06-23 Anders Carlsson <andersca@apple.com> 21596 21597 Reviewed by Darin Adler. 21598 21599 WebCore side of <rdar://problem/6946094>. 21600 21601 * platform/win/ClipboardWin.cpp: 21602 (WebCore::ClipboardWin::setExternalDataObject): 21603 * platform/win/ClipboardWin.h: 21604 216052009-06-23 Darin Fisher <darin@chromium.org> 21606 21607 Reviewed by Darin Adler. 21608 21609 https://bugs.webkit.org/show_bug.cgi?id=26650 21610 21611 Add setFormContentType and setFormData since it is awkward for Chromium 21612 to use setFormInfoFromRequest to set the underlying members. Also, add 21613 a clearChildren method that Chromium needs. These methods are used as 21614 part of the Chromium code that serializes a HistoryItem for storing in 21615 the browser's session history. 21616 21617 * history/HistoryItem.cpp: 21618 * history/HistoryItem.h: 21619 216202009-06-23 Eric Carlson <eric.carlson@apple.com> 21621 21622 Reviewed by Darin Adler. 21623 21624 <rdar://problem/6978938> Need HTML 5 event attributes for media elements 21625 21626 Test: media/event-attributes.html 21627 21628 * html/HTMLAttributeNames.in: Add media event attribute names. 21629 * html/HTMLMediaElement.cpp: 21630 (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes. 21631 216322009-06-23 Thiago Macieira <thiago.macieira@nokia.com> 21633 21634 Reviewed by Simon Hausmann. 21635 21636 Fix Qt build with Phonon. 21637 21638 The #include <phonon> header no longer exists. And the <Phonon> or 21639 <Phonon/Phonon> headers have never existed (neither for us nor for the 21640 Phonon sources). You have to select each and every header that you do 21641 want now. 21642 21643 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 21644 216452009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21646 21647 Reviewed by Simon Hausmann. 21648 21649 Remove duplicated code in Qt & GTK logging initialization 21650 21651 We now share the getChannelFromName() function in Logging.cpp 21652 21653 * platform/gtk/LoggingGtk.cpp: 21654 * platform/qt/LoggingQt.cpp: 21655 216562009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21657 21658 Reviewed by Simon Hausmann. 21659 21660 Rename the plugin logging channel to plural form 'Plugins' 21661 21662 This matches both the other logging channel names, as well as the 21663 WebKit logging channel used by Safari/Mac for plugins. 21664 21665 * platform/Logging.cpp: 21666 * platform/Logging.h: 21667 * platform/gtk/LoggingGtk.cpp: 21668 * platform/mac/LoggingMac.mm: 21669 * platform/qt/LoggingQt.cpp: 21670 * platform/win/LoggingWin.cpp: 21671 * plugins/PluginDebug.h: 21672 * plugins/gtk/PluginPackageGtk.cpp: 21673 * plugins/mac/PluginPackageMac.cpp: 21674 * plugins/mac/PluginViewMac.cpp: 21675 * plugins/qt/PluginPackageQt.cpp: 21676 216772009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21678 21679 Reviewed by Simon Hausmann. 21680 21681 Fix NPAPI mouse translation issues on Mac 21682 21683 The WindowRef we pass to the plugin refers to the the top level window, 21684 so the x and y positions have to be relative to this position, but we 21685 have to manually compensate for title bar decorations and other parents 21686 of the QWebView since contentsToWindow() only traverses to the QWebView. 21687 21688 Previously we did this compensation when passing on mouse coordinates to 21689 the plugin, which caused various issues with translations such as not 21690 being able to close the Flash settings dialog, or the hand cursor not 21691 appearing over links. 21692 21693 We now do the compensation as part of the call to NPP_SetWindow, and 21694 then pass mouse coordinates in global context without any compensation, 21695 similar to how both Safari and Mozilla does it. 21696 21697 * plugins/mac/PluginViewMac.cpp: 21698 (WebCore::PluginView::updatePluginWidget): 21699 (WebCore::PluginView::globalMousePosForPlugin): 21700 217012009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21702 21703 Rubber-stamped by Simon Hausmann. 21704 21705 [Qt] Resolve absolute path to library install_name manually 21706 21707 Since our target.path is set to the Qt directory (to be able 21708 to do 'make install') the 'absolute_library_soname' option 21709 to QMake did not do the right thing. 21710 21711 We now compute the absolute path manually using DESTDIR. 21712 21713 * WebCore.pro: 21714 217152009-06-22 Simon Fraser <simon.fraser@apple.com> 21716 21717 Reviewed by Oliver Hunt. 21718 21719 <rdar://problem/6991146> Scrollbars in hardware layers don't change to the 21720 inactive look in background windows 21721 21722 * rendering/RenderLayer.cpp: 21723 (WebCore::RenderLayer::paintLayer): 21724 Don't short-circuit the "painting" pass that is used to udpate control tints. 21725 217262009-06-22 Dimitri Glazkov <dglazkov@chromium.org> 21727 21728 Reviewed by Sam Weinig. 21729 21730 https://bugs.webkit.org/show_bug.cgi?id=26567 21731 Upstream V8 bindings code generator. With this change, also added interface ancestor 21732 traversal to IDL parser, which is necessary for V8 bindings. The traversal is used 21733 to determine whether an interface is a Node to facilitate proper casting and storage 21734 in V8DOMMap. 21735 21736 * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed 21737 by V8 bindings. 21738 * bindings/scripts/CodeGeneratorV8.pm: Added. 21739 * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for 21740 parent traversal cases. 21741 217422009-06-22 Sam Weinig <sam@webkit.org> 21743 21744 Reviewed by Gavin Barraclough. 21745 21746 Add event handler attribute getter/setters to HTMLFrameSetElement 21747 as specified in HTML 5. These match the ones on HTMLBodyElement. 21748 21749 * dom/Node.h: 21750 * html/HTMLFrameSetElement.cpp: 21751 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 21752 (WebCore::HTMLFrameSetElement::onblur): 21753 (WebCore::HTMLFrameSetElement::setOnblur): 21754 (WebCore::HTMLFrameSetElement::onerror): 21755 (WebCore::HTMLFrameSetElement::setOnerror): 21756 (WebCore::HTMLFrameSetElement::onfocus): 21757 (WebCore::HTMLFrameSetElement::setOnfocus): 21758 (WebCore::HTMLFrameSetElement::onload): 21759 (WebCore::HTMLFrameSetElement::setOnload): 21760 (WebCore::HTMLFrameSetElement::onbeforeunload): 21761 (WebCore::HTMLFrameSetElement::setOnbeforeunload): 21762 (WebCore::HTMLFrameSetElement::onmessage): 21763 (WebCore::HTMLFrameSetElement::setOnmessage): 21764 (WebCore::HTMLFrameSetElement::onoffline): 21765 (WebCore::HTMLFrameSetElement::setOnoffline): 21766 (WebCore::HTMLFrameSetElement::ononline): 21767 (WebCore::HTMLFrameSetElement::setOnonline): 21768 (WebCore::HTMLFrameSetElement::onresize): 21769 (WebCore::HTMLFrameSetElement::setOnresize): 21770 (WebCore::HTMLFrameSetElement::onstorage): 21771 (WebCore::HTMLFrameSetElement::setOnstorage): 21772 (WebCore::HTMLFrameSetElement::onunload): 21773 (WebCore::HTMLFrameSetElement::setOnunload): 21774 * html/HTMLFrameSetElement.h: 21775 * html/HTMLFrameSetElement.idl: 21776 217772009-06-22 Darin Adler <darin@apple.com> 21778 21779 Reviewed by Sam Weinig. 21780 21781 Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type 21782 https://bugs.webkit.org/show_bug.cgi?id=25425 21783 21784 * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL. 21785 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 21786 21787 * dom/Element.cpp: 21788 (WebCore::Element::getURLAttribute): Added. For use implementing getters 21789 for ReflectURL. 21790 * dom/Element.h: Added getURLAttribute. 21791 21792 * html/HTMLImageElement.idl: Use Reflect and ReflectURL. 21793 217942009-06-22 Jian Li <jianli@chromium.org> 21795 21796 Reviewed by Dimitri Glazkov. 21797 21798 Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception 21799 objects. 21800 https://bugs.webkit.org/show_bug.cgi?id=26626 21801 21802 * bindings/v8/WorkerContextExecutionProxy.cpp: 21803 (WebCore::WorkerContextExecutionProxy::ToV8Object): 21804 218052009-06-22 David Hyatt <hyatt@apple.com> 21806 21807 Reviewed by Sam Weinig. 21808 21809 Add RenderDataGrid to the build. Give it some basic default styling (that more or less matches a listbox). It has a default size 21810 of 300x150. 21811 21812 * GNUmakefile.am: 21813 * WebCore.pro: 21814 * WebCore.vcproj/WebCore.vcproj: 21815 * WebCore.xcodeproj/project.pbxproj: 21816 * WebCoreSources.bkl: 21817 * css/html4.css: 21818 * html/HTMLDataGridElement.cpp: 21819 (WebCore::HTMLDataGridElement::createRenderer): 21820 * html/HTMLDataGridElement.h: 21821 * html/HTMLDataGridElement.idl: 21822 * rendering/RenderDataGrid.cpp: Added. 21823 (WebCore::RenderDataGrid::RenderDataGrid): 21824 (WebCore::RenderDataGrid::~RenderDataGrid): 21825 (WebCore::RenderDataGrid::calcPrefWidths): 21826 (WebCore::RenderDataGrid::paintObject): 21827 (WebCore::RenderDataGrid::valueChanged): 21828 (WebCore::RenderDataGrid::invalidateScrollbarRect): 21829 (WebCore::RenderDataGrid::isActive): 21830 * rendering/RenderDataGrid.h: Added. 21831 (WebCore::RenderDataGrid::renderName): 21832 (WebCore::RenderDataGrid::canHaveChildren): 21833 (WebCore::RenderDataGrid::scrollbarCornerPresent): 21834 218352009-06-22 Simon Fraser <simon.fraser@apple.com> 21836 21837 Reviewed by Dave Hyatt. 21838 21839 https://bugs.webkit.org/show_bug.cgi?id=26430 21840 <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo) 21841 <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds() 21842 during window resize when using hardware layers 21843 21844 Fix an ordering dependency which caused the compositing position of a layer 21845 to be affected by some later sibling, which affected the compositing ancestor's 21846 composited bounds. 21847 21848 The fix is to only update the compositing positions of layers in some subtree 21849 when updateAfterLayout() has been called on all the layers in that subtree, 21850 from the ancestor down. 21851 21852 Also cache the composited bounds of a RenderLayerBacking, now that we can 21853 guarantee that those bounds are accurate. 21854 21855 Test: compositing/sibling-positioning.html 21856 21857 * rendering/RenderLayer.cpp: 21858 (WebCore::RenderLayer::updateLayerPositions): 21859 (WebCore::RenderLayer::hitTestLayer): 21860 * rendering/RenderLayerBacking.cpp: 21861 (WebCore::RenderLayerBacking::RenderLayerBacking): 21862 (WebCore::RenderLayerBacking::updateAfterLayout): 21863 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 21864 (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): 21865 (WebCore::RenderLayerBacking::paintContents): 21866 (WebCore::RenderLayerBacking::compositedBounds): 21867 (WebCore::RenderLayerBacking::setCompositedBounds): 21868 * rendering/RenderLayerBacking.h: 21869 * rendering/RenderLayerCompositor.cpp: 21870 (WebCore::RenderLayerCompositor::updateBacking): 21871 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 21872 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 21873 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 21874 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 21875 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 21876 (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry): 21877 * rendering/RenderLayerCompositor.h: 21878 218792009-06-22 Jeremy Orlow <jorlow@chromium.org> 21880 21881 Reviewed by Darin Fisher. 21882 21883 First step in https://bugs.webkit.org/show_bug.cgi?id=25376 21884 21885 Add StorageSyncManager.cpp/h 21886 21887 * GNUmakefile.am: 21888 * WebCore.pro: 21889 * WebCore.vcproj/WebCore.vcproj: 21890 * WebCore.xcodeproj/project.pbxproj: 21891 * WebCoreSources.bkl: 21892 21893 In preparation for combining SessionStorage and LocalStorage into a 21894 single StorageManager, move the syncing bits out of LocalStorage and 21895 into its own class. 21896 21897 The next step is to combine LocalStorageArea and SessionStorageArea 21898 into one. Then SessionStorage and LocalStorage can be combined. 21899 21900 Note that combining them will cut down on code paths that must be 21901 proxied, eliminate virtual dispatch, and allow Chromium to (eventually) 21902 write historical sessionStorage to disk when memory is getting tight. 21903 21904 Also remove a couple bits of cruft including code for quotas which is 21905 unnecessary (since a meta-data db is unnecessary since you can just 21906 count bytes as you read the local storage databases into memory). 21907 21908 * storage/LocalStorage.cpp: 21909 (WebCore::LocalStorage::LocalStorage): 21910 (WebCore::LocalStorage::storageArea): 21911 (WebCore::LocalStorage::close): 21912 * storage/LocalStorage.h: 21913 * storage/LocalStorageArea.cpp: 21914 (WebCore::LocalStorageArea::LocalStorageArea): 21915 (WebCore::LocalStorageArea::scheduleFinalSync): 21916 (WebCore::LocalStorageArea::syncTimerFired): 21917 (WebCore::LocalStorageArea::performImport): 21918 * storage/LocalStorageArea.h: 21919 (WebCore::LocalStorageArea::create): 21920 * storage/LocalStorageTask.cpp: 21921 (WebCore::LocalStorageTask::performTask): 21922 * storage/LocalStorageTask.h: 21923 (WebCore::LocalStorageTask::): 21924 (WebCore::LocalStorageTask::createImport): 21925 * storage/LocalStorageThread.cpp: 21926 * storage/LocalStorageThread.h: 21927 * storage/SessionStorage.h: 21928 * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp. 21929 (WebCore::StorageSyncManager::create): 21930 (WebCore::StorageSyncManager::StorageSyncManager): 21931 (WebCore::StorageSyncManager::fullDatabaseFilename): 21932 (WebCore::StorageSyncManager::close): 21933 (WebCore::StorageSyncManager::scheduleImport): 21934 (WebCore::StorageSyncManager::scheduleSync): 21935 * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h. 21936 (WebCore::): 21937 219382009-06-22 Darin Fisher <darin@chromium.org> 21939 21940 Reviewed by Dimitri Glazkov. 21941 21942 https://bugs.webkit.org/show_bug.cgi?id=26622 21943 Add ChromiumDataObject::copy() 21944 21945 * platform/chromium/ChromiumDataObject.cpp: 21946 * platform/chromium/ChromiumDataObject.h: 21947 219482009-06-22 Timothy Hatcher <timothy@apple.com> 21949 21950 Add a silhouette image for the enable view of the Resource panel. 21951 21952 Reviewed by Kevin McCullough. 21953 21954 * inspector/front-end/Images/resourcesSilhouette.png: Added. 21955 * inspector/front-end/inspector.css: 21956 219572009-06-22 Kyle Prete <kylep@chromium.org> 21958 21959 Reviewed by Dimitri Glazkov. 21960 21961 https://bugs.webkit.org/show_bug.cgi?id=26552 21962 Add V8 JS bindings for Audio Constructor. 21963 21964 * bindings/v8/custom/V8CustomBinding.h: 21965 Added a callback declaration for audio ctor to macro. 21966 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 21967 Added the whole file. 21968 219692009-06-22 Alexey Proskuryakov <ap@webkit.org> 21970 21971 Reviewed by David Levin. 21972 21973 https://bugs.webkit.org/show_bug.cgi?id=26600 21974 StringImpl::copy() no longer copies empty string correctly 21975 21976 * platform/text/StringImpl.cpp: 21977 (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a 21978 static method. 21979 (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem. 21980 219812009-06-22 Xiaomei Ji <xji@chromium.org> 21982 21983 Reviewed by Eric Seidel 21984 21985 Not auto-testable since it involves sending a keyboard event to 21986 the popup, which is not possible (eventSender sends the key 21987 events through webview, we want to go through the webwidget). 21988 21989 This patch is one part of the fix for issue "keyboard selection in 21990 Hebrew select element does not work in Windows". The other part of the 21991 fix is in chromium's webkit/glue layer. 21992 https://bugs.webkit.org/show_bug.cgi?id=25899 21993 21994 * manual-tests/keyboard_select_non_english.html: Added. 21995 * platform/chromium/PopupMenuChromium.cpp: 21996 (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 21997 character type event. "Char" in Windows or "KeyDown" in Mac is character 21998 type event. 21999 (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to 22000 indicate whether user types multiple characters continuely as a search 22001 prefix or not, it should be only assigned when the event is character 22002 type event. 22003 220042009-06-22 Kevin McCullough <kmccullough@apple.com> 22005 22006 Reviewed by Darin Adler. 22007 22008 <rdar://problem/6115819> Notify of profile start in console 22009 22010 Put a message in the console that announces that a profile has started, 22011 similar to how a console message announces that a profile has finished. 22012 22013 * inspector/InspectorController.cpp: 22014 (WebCore::InspectorController::addProfile): Use renamed function. 22015 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 22016 Renamed. 22017 (WebCore::InspectorController::addStartProfilingMessageToConsole): 22018 New function that logs the message about the profile starting. 22019 (WebCore::InspectorController::startUserInitiatedProfiling): Ditto 22020 * inspector/InspectorController.h: 22021 * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's 22022 title if there are multiple profiles, and take into account the fact 22023 that titles are displayed twice as much now. 22024 (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink): 22025 * page/Console.cpp: 22026 (WebCore::Console::profile): Call new function. 22027 220282009-06-22 David Hyatt <hyatt@apple.com> 22029 22030 Reviewed by Sam Weinig. 22031 22032 https://bugs.webkit.org/show_bug.cgi?id=26615 22033 22034 Add IDL interface for datagrid cell elements. Add a few more properties to the datagrid itself that 22035 correspond to ones you find on <select> elements. 22036 22037 Add an expanded property to row elements. 22038 22039 * DerivedSources.cpp: 22040 * DerivedSources.make: 22041 * GNUmakefile.am: 22042 * WebCore.pro: 22043 * WebCore.vcproj/WebCore.vcproj: 22044 * WebCore.xcodeproj/project.pbxproj: 22045 * WebCoreSources.bkl: 22046 * html/HTMLAttributeNames.in: 22047 * html/HTMLDataGridCellElement.cpp: Added. 22048 (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement): 22049 (WebCore::HTMLDataGridCellElement::label): 22050 (WebCore::HTMLDataGridCellElement::setLabel): 22051 (WebCore::HTMLDataGridCellElement::focused): 22052 (WebCore::HTMLDataGridCellElement::setFocused): 22053 (WebCore::HTMLDataGridCellElement::checked): 22054 (WebCore::HTMLDataGridCellElement::setChecked): 22055 (WebCore::HTMLDataGridCellElement::indeterminate): 22056 (WebCore::HTMLDataGridCellElement::setIndeterminate): 22057 (WebCore::HTMLDataGridCellElement::progress): 22058 (WebCore::HTMLDataGridCellElement::setProgress): 22059 * html/HTMLDataGridCellElement.h: Added. 22060 (WebCore::HTMLDataGridCellElement::endTagRequirement): 22061 (WebCore::HTMLDataGridCellElement::tagPriority): 22062 * html/HTMLDataGridCellElement.idl: Added. 22063 * html/HTMLDataGridElement.cpp: 22064 (WebCore::HTMLDataGridElement::autofocus): 22065 (WebCore::HTMLDataGridElement::setAutofocus): 22066 (WebCore::HTMLDataGridElement::disabled): 22067 (WebCore::HTMLDataGridElement::setDisabled): 22068 (WebCore::HTMLDataGridElement::size): 22069 (WebCore::HTMLDataGridElement::setSize): 22070 * html/HTMLDataGridElement.h: 22071 * html/HTMLDataGridElement.idl: 22072 * html/HTMLDataGridRowElement.cpp: 22073 (WebCore::HTMLDataGridRowElement::checkDTD): 22074 (WebCore::HTMLDataGridRowElement::expanded): 22075 (WebCore::HTMLDataGridRowElement::setExpanded): 22076 * html/HTMLDataGridRowElement.h: 22077 * html/HTMLDataGridRowElement.idl: 22078 * html/HTMLElementsAllInOne.cpp: 22079 * html/HTMLTagNames.in: 22080 220812009-06-22 Sam Weinig <sam@webkit.org> 22082 22083 Reviewed by Mark Rowe. 22084 22085 Add event handler attribute getter/setters to HTMLBodyElement 22086 as specified in HTML 5. 22087 22088 - Removes erroneous inclusion of the onresize and onunload event 22089 handler attributes in Element and Document. 22090 22091 * dom/Document.cpp: 22092 (WebCore::Document::getWindowAttributeEventListener): 22093 * dom/Document.h: 22094 * dom/Document.idl: 22095 * dom/Element.idl: 22096 * dom/Node.cpp: 22097 * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared 22098 virtual, since their behavior for HTMLBodyElement differs from the base 22099 implementation. 22100 * html/HTMLBodyElement.cpp: 22101 (WebCore::HTMLBodyElement::onblur): 22102 (WebCore::HTMLBodyElement::setOnblur): 22103 (WebCore::HTMLBodyElement::onerror): 22104 (WebCore::HTMLBodyElement::setOnerror): 22105 (WebCore::HTMLBodyElement::onfocus): 22106 (WebCore::HTMLBodyElement::setOnfocus): 22107 (WebCore::HTMLBodyElement::onload): 22108 (WebCore::HTMLBodyElement::setOnload): 22109 (WebCore::HTMLBodyElement::onbeforeunload): 22110 (WebCore::HTMLBodyElement::setOnbeforeunload): 22111 (WebCore::HTMLBodyElement::onmessage): 22112 (WebCore::HTMLBodyElement::setOnmessage): 22113 (WebCore::HTMLBodyElement::onoffline): 22114 (WebCore::HTMLBodyElement::setOnoffline): 22115 (WebCore::HTMLBodyElement::ononline): 22116 (WebCore::HTMLBodyElement::setOnonline): 22117 (WebCore::HTMLBodyElement::onresize): 22118 (WebCore::HTMLBodyElement::setOnresize): 22119 (WebCore::HTMLBodyElement::onstorage): 22120 (WebCore::HTMLBodyElement::setOnstorage): 22121 (WebCore::HTMLBodyElement::onunload): 22122 (WebCore::HTMLBodyElement::setOnunload): 22123 * html/HTMLBodyElement.h: 22124 * html/HTMLBodyElement.idl: 22125 221262009-06-22 Alexey Proskuryakov <ap@webkit.org> 22127 22128 Reviewed by Darin Adler. 22129 22130 https://bugs.webkit.org/show_bug.cgi?id=26601 22131 Remove disabled code for appcache dynamic entries 22132 22133 This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet. 22134 22135 * DerivedSources.cpp: 22136 * DerivedSources.make: 22137 * GNUmakefile.am: 22138 * WebCore.pro: 22139 * WebCore.vcproj/WebCore.vcproj: 22140 * WebCore.xcodeproj/project.pbxproj: 22141 * WebCoreSources.bkl: 22142 * bindings/js/JSDOMStringListCustom.cpp: Removed. 22143 * bindings/v8/custom/V8CustomBinding.h: 22144 * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed. 22145 * dom/DOMStringList.cpp: Removed. 22146 * dom/DOMStringList.h: Removed. 22147 * dom/DOMStringList.idl: Removed. 22148 * dom/StaticStringList.cpp: Removed. 22149 * dom/StaticStringList.h: Removed. 22150 * loader/DocumentLoader.cpp: 22151 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 22152 * loader/appcache/ApplicationCache.cpp: 22153 (WebCore::ApplicationCache::addResource): 22154 * loader/appcache/ApplicationCache.h: 22155 * loader/appcache/ApplicationCacheGroup.cpp: 22156 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 22157 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 22158 * loader/appcache/ApplicationCacheResource.cpp: 22159 (WebCore::ApplicationCacheResource::dumpType): 22160 * loader/appcache/ApplicationCacheResource.h: 22161 (WebCore::ApplicationCacheResource::): 22162 * loader/appcache/ApplicationCacheStorage.cpp: 22163 (WebCore::ApplicationCacheStorage::storeUpdatedType): 22164 * loader/appcache/DOMApplicationCache.cpp: 22165 * loader/appcache/DOMApplicationCache.h: 22166 * loader/appcache/DOMApplicationCache.idl: 22167 * page/DOMWindow.idl: 22168 221692009-06-22 Steve Falkenburg <sfalken@apple.com> 22170 22171 Windows build fix. 22172 22173 * DerivedSources.cpp: 22174 * html/HTMLElementsAllInOne.cpp: 22175 221762009-06-22 Alexey Proskuryakov <ap@webkit.org> 22177 22178 Reviewed by John Sullivan. 22179 22180 <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input, 22181 Japanese can't be input. 22182 22183 WebKit uses a per-frame input context for most editable fields, and application's global 22184 context for password fields, manually controlling secure input state and the list of available 22185 input sources. 22186 22187 We were setting TSMDocument property to disable non-Roman input methods after focus changed 22188 to a password field, but before selection was updated. This resulted in the property being 22189 applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input 22190 context cached by +[NSApplication updateWindows], we change context based on selection, 22191 not on focus. 22192 22193 * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one 22194 context that we use for password fields - the global one - there is no need to get the active 22195 one. 22196 221972009-06-22 David Levin <levin@chromium.org> 22198 22199 Reviewed by David Hyatt and Eric Seidel. 22200 22201 REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction. 22202 https://bugs.webkit.org/show_bug.cgi?id=26326 22203 22204 Test: scrollbars/scrollbar-crash-on-refresh.html 22205 22206 * dom/Document.cpp: 22207 (WebCore::Document::detach): 22208 Gives the FrameView a change to do any necessary cleanup on 22209 Document::detach() which is where the renderArena gets detroyed. 22210 * page/FrameView.cpp: 22211 (WebCore::FrameView::detachCustomScrollbars): 22212 Gets rid of any custom scrollbars (if the docment supplied them). 22213 * page/FrameView.h: 22214 * platform/Scrollbar.h: 22215 (WebCore::Scrollbar::isCustomScrollbar): 22216 * rendering/RenderObject.cpp: 22217 (WebCore::RenderObject::destroy): 22218 Removed the check for document()->frame(). If frame() is 0 in this code, 22219 then the call to animation() is also incorrect (since it does document()->frame()->animation()). 22220 * rendering/RenderScrollbar.h: 22221 (WebCore::RenderScrollbar::isCustomScrollbar): 22222 222232009-06-22 Dan Bernstein <mitz@apple.com> 22224 22225 Reviewed by Simon Fraser. 22226 22227 - fix https://bugs.webkit.org/show_bug.cgi?id=23606 22228 <rdar://problem/6537777> CSS gradient not repainted when image load 22229 completes 22230 22231 Test: fast/repaint/background-generated.html 22232 22233 * rendering/RenderObject.cpp: 22234 (WebCore::mustRepaintFillLayers): Return true if the layer does not 22235 specify a size and the image uses the container size. 22236 222372009-06-22 David Hyatt <hyatt@apple.com> 22238 22239 Reviewed by Sam Weinig. 22240 22241 https://bugs.webkit.org/show_bug.cgi?id=26607 22242 22243 Add IDL for HTMLDataGridRowElement. 22244 22245 * DerivedSources.make: 22246 * GNUmakefile.am: 22247 * WebCore.pro: 22248 * WebCore.vcproj/WebCore.vcproj: 22249 * WebCore.xcodeproj/project.pbxproj: 22250 * WebCoreSources.bkl: 22251 * html/HTMLAttributeNames.in: 22252 * html/HTMLDataGridColElement.cpp: 22253 (WebCore::HTMLDataGridColElement::primary): 22254 (WebCore::HTMLDataGridColElement::setPrimary): 22255 * html/HTMLDataGridColElement.h: 22256 * html/HTMLDataGridColElement.idl: 22257 * html/HTMLDataGridElement.cpp: 22258 (WebCore::HTMLDataGridElement::checkDTD): 22259 (WebCore::HTMLDataGridElement::multiple): 22260 (WebCore::HTMLDataGridElement::setMultiple): 22261 * html/HTMLDataGridElement.h: 22262 * html/HTMLDataGridElement.idl: 22263 * html/HTMLDataGridRowElement.cpp: Added. 22264 (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement): 22265 (WebCore::HTMLDataGridRowElement::selected): 22266 (WebCore::HTMLDataGridRowElement::setSelected): 22267 (WebCore::HTMLDataGridRowElement::focused): 22268 (WebCore::HTMLDataGridRowElement::setFocused): 22269 * html/HTMLDataGridRowElement.h: Added. 22270 (WebCore::HTMLDataGridRowElement::tagPriority): 22271 * html/HTMLDataGridRowElement.idl: Added. 22272 * html/HTMLTagNames.in: 22273 222742009-06-19 Yael Aharon <yael.aharon@nokia.com> 22275 22276 Reviewed by Holger Freyther. 22277 22278 https://bugs.webkit.org/show_bug.cgi?id=26556 22279 22280 Fix a crash in case that the QNetworkReply::readReady signal is 22281 "stuck" in deferred mode due to JavaScript alert, and in the meantime, 22282 QNetworkreply::finished signal is received and processed before 22283 QNetworkReply::readReady is processed. 22284 22285 * manual-tests/qt/unload-alert.html: Added. 22286 * platform/network/qt/QNetworkReplyHandler.cpp: 22287 (WebCore::QNetworkReplyHandler::setLoadMode): 22288 (WebCore::QNetworkReplyHandler::finish): 22289 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 22290 (WebCore::QNetworkReplyHandler::forwardData): 22291 (WebCore::QNetworkReplyHandler::start): 22292 (WebCore::QNetworkReplyHandler::sendQueuedItems): 22293 * platform/network/qt/QNetworkReplyHandler.h: 22294 (WebCore::QNetworkReplyHandler::): 22295 222962009-06-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 22297 22298 Fix the Qt build. 22299 22300 * WebCore.pro: 22301 223022009-06-21 Darin Adler <darin@apple.com> 22303 22304 Reviewed by Sam Weinig. 22305 22306 Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type 22307 https://bugs.webkit.org/show_bug.cgi?id=25425 22308 22309 * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit 22310 more consistent and to make SVGElement.h be included in the header rather than in 22311 every implementation file that includes the header. Added code to use getAttribute 22312 and setAttribute directly when the [Reflect] extended attribute is used. 22313 22314 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 22315 22316 * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that 22317 reflect content attributes. Restricting this to one class for now to keep the 22318 patch small and start out slowly. 22319 223202009-06-21 Sam Weinig <sam@webkit.org> 22321 22322 Reviewed by Oliver Hunt. 22323 22324 Fix for https://bugs.webkit.org/show_bug.cgi?id=26596 22325 Only expose event handler attributes to elements and documents. 22326 22327 Test: fast/dom/event-attribute-availability.html 22328 22329 * dom/Document.idl: 22330 * dom/Element.idl: 22331 * dom/Node.cpp: 22332 * dom/Node.h: 22333 * dom/Node.idl: 22334 223352009-06-21 Daniel Bates <dbates@intudata.com> 22336 22337 Reviewed by Adam Barth. 22338 22339 https://bugs.webkit.org/show_bug.cgi?id=26580 22340 22341 Fix to enable XSSAuditor on child windows. 22342 22343 Test: http/tests/security/xssAuditor/link-opens-new-window.html 22344 22345 * page/XSSAuditor.cpp: 22346 (WebCore::XSSAuditor::XSSAuditor): 22347 (WebCore::XSSAuditor::isEnabled): 22348 (WebCore::XSSAuditor::canEvaluate): 22349 (WebCore::XSSAuditor::canCreateInlineEventListener): 22350 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 22351 (WebCore::XSSAuditor::canLoadObject): 22352 * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled. 22353 Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation 22354 to query Settings. 22355 223562009-06-21 David Levin <levin@chromium.org> 22357 22358 Reviewed by NOBODY. 22359 22360 Speculative windows build fix (idea by Mark Rowe). 22361 22362 * WebCore.vcproj/WebCore.vcproj: 22363 223642009-06-21 David Levin <levin@chromium.org> 22365 22366 Reviewed by NOBODY (Speculative gtk build fix). 22367 22368 * GNUmakefile.am: 22369 223702009-06-21 David Levin <levin@chromium.org> 22371 22372 Reviewed by NOBODY. 22373 22374 Speculative tiger build fix and a windows build fix. 22375 More fixes may still be in order. 22376 22377 * WebCore.vcproj/WebCoreCommon.vsprops: 22378 * dom/default/PlatformMessagePortChannel.h: 22379 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): 22380 223812009-06-21 David Levin <levin@chromium.org> 22382 22383 Reviewed by NOBODY (Speculative tiger build fix). 22384 22385 * dom/default/PlatformMessagePortChannel.h: 22386 (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue): 22387 223882009-06-21 Drew Wilson <atwilson@google.com> 22389 22390 Reviewed by David Levin. 22391 22392 <https://bugs.webkit.org/show_bug.cgi?id=26448> 22393 22394 Added optimized GC for MessagePorts when the entangled port is run by the same thread. 22395 Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port. 22396 22397 * bindings/js/JSDOMBinding.cpp: 22398 (WebCore::markActiveObjectsForContext): 22399 Now marks remotely entangled ports as in-use, in addition to those with pending activity. 22400 * bindings/js/JSMessagePortCustom.cpp: 22401 (WebCore::JSMessagePort::mark): 22402 Now checks if the entangled port is local (run by same thread) and if so mark()s it. 22403 * dom/MessagePort.cpp: 22404 (WebCore::MessagePort::postMessage): 22405 (WebCore::MessagePort::disentangle): 22406 Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports. 22407 (WebCore::MessagePort::start): 22408 (WebCore::MessagePort::locallyEntangledPort): 22409 Added API for fetching the entangled port if it is run by the same thread 22410 * dom/MessagePort.h: 22411 * dom/MessagePortProxyWrapper.h: 22412 * dom/default/MessagePortProxy.cpp: 22413 (WebCore::MessagePortProxyWrapper::locallyEntangledPort): 22414 Added API for fetching the entangled port if it is run by the same thread 22415 (WebCore::MessagePortProxy::hasPendingActivity): 22416 Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages. 22417 (WebCore::MessagePortProxy::locallyEntangledPort): 22418 * dom/default/MessagePortProxy.h: 22419 224202009-06-21 Drew Wilson <atwilson@google.com> 22421 22422 Reviewed by David Levin. 22423 22424 <https://bugs.webkit.org/show_bug.cgi?id=25043> 22425 Removed obsolete MessagePort.startConversation(), active and onclose APIs. 22426 22427 Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel 22428 implementation. Modified APIs to simplify cross-process implementations by moving the messaging code 22429 entirely into the platform-dependent proxy. 22430 22431 Created a thread-safe default PlatformMessagePortChannel implementation. 22432 22433 Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how 22434 cross-thread MessagePorts work. 22435 22436 * GNUMakefile.am: 22437 * WebCore.vcproj/WebCore.vcproj: 22438 * WebCore.xcodeproj/project.pbxproj: 22439 Added MessagePortChannel/PlatformMessagePortChannel files. 22440 * bindings/js/JSMessagePortCustom.cpp: 22441 (WebCore::JSMessagePort::mark): 22442 Changed ports to not mark their entangled pair as reachable, per the spec. 22443 * bindings/v8/custom/V8MessagePortCustom.cpp: 22444 * dom/MessageChannel.cpp: 22445 (WebCore::MessageChannel::MessageChannel): 22446 Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports. 22447 * dom/MessagePort.cpp: 22448 (WebCore::MessagePort::MessagePort): 22449 (WebCore::MessagePort::~MessagePort): 22450 (WebCore::MessagePort::postMessage): 22451 (WebCore::MessagePort::disentangle): 22452 (WebCore::MessagePort::messageAvailable): 22453 (WebCore::MessagePort::start): 22454 (WebCore::MessagePort::close): 22455 (WebCore::MessagePort::entangle): 22456 (WebCore::MessagePort::contextDestroyed): 22457 (WebCore::MessagePort::dispatchMessages): 22458 (WebCore::MessagePort::setOnmessage): 22459 (WebCore::MessagePort::hasPendingActivity): 22460 Changed these APIs to delegate to new PlatformMessagePortChannel APIs. 22461 * dom/MessagePort.h: 22462 Renamed isQueueOpen() to started(). 22463 * dom/MessagePort.idl: 22464 Removed startConversation and onclose. 22465 * dom/MessagePortProxy.h: Removed. 22466 * dom/MessagePortChannel.cpp: Added. 22467 (WebCore::MessagePortChannel::EventData::create): 22468 (WebCore::MessagePortChannel::EventData::EventData): 22469 (WebCore::MessagePortChannel::~MessagePortChannel): 22470 * dom/MessagePortChannel.h: Added. 22471 (WebCore::MessagePortChannel::EventData::message): 22472 (WebCore::MessagePortChannel::EventData::channel): 22473 Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging. 22474 (WebCore::MessagePortChannel::MessagePortChannel): 22475 (WebCore::MessagePortChannel::create): 22476 * dom/ScriptExecutionContext.cpp: 22477 (WebCore:ScriptExecutionContext::dispatchMessagePortEvents): 22478 Renamed isQueueOpen() to started(). 22479 * dom/default/PlatformMessagePortChannel.cpp: Added. 22480 (WebCore::MessagePortChannel::entangleIfOpen): 22481 (WebCore::MessagePortChannel::disentangle): 22482 (WebCore::MessagePortChannel::postMessageToRemote): 22483 (WebCore::MessagePortChannel::tryGetMessageFromRemote): 22484 (WebCore::MessagePortChannel::close): 22485 (WebCore::MessagePortChannel::isConnectedTo): 22486 (WebCore::MessagePortChannel::hasPendingActivity): 22487 (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel): 22488 (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel): 22489 (WebCore::PlatformMessagePortChannel::createChannel): 22490 (WebCore::PlatformMessagePortChannel::entangleIfOpen): 22491 (WebCore::PlatformMessagePortChannel::disentangle): 22492 (WebCore::PlatformMessagePortChannel::setRemotePort): 22493 (WebCore::PlatformMessagePortChannel::remotePort): 22494 (WebCore::PlatformMessagePortChannel::entangledChannel): 22495 (WebCore::PlatformMessagePortChannel::setEntangledChannel): 22496 (WebCore::PlatformMessagePortChannel::postMessageToRemote): 22497 (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote): 22498 (WebCore::PlatformMessagePortChannel::isConnectedTo): 22499 (WebCore::PlatformMessagePortChannel::close): 22500 (WebCore::PlatformMessagePortChannel::closeInternal): 22501 (WebCore::PlatformMessagePortChannel::hasPendingActivity): 22502 * dom/default/PlatformMessagePortChannel.h: Added. 22503 (WebCore::PlatformMessagePortChannel::MessagePortQueue::create): 22504 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): 22505 (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty): 22506 (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty): 22507 (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue): 22508 * page/DOMWindow.cpp: 22509 (WebCore::PostMessageTimer::PostMessageTimer): 22510 Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work. 22511 (WebCore::PostMessageTimer::event): 22512 (WebCore::DOMWindow::postMessage): 22513 (WebCore::DOMWindow::postMessageTimerFired): 22514 225152009-06-21 Dan Bernstein <mitz@apple.com> 22516 22517 Reviewed by Sam Weinig. 22518 22519 - fix https://bugs.webkit.org/show_bug.cgi?id=15383 22520 <rdar://problem/5682745> resize: vertical does not restrict to vertical 22521 resize 22522 22523 Test: fast/css/resize-single-axis.html 22524 22525 * rendering/RenderLayer.cpp: 22526 (WebCore::RenderLayer::resize): Ignore movement along the non-resizing 22527 axis. 22528 225292009-06-21 Sam Weinig <sam@webkit.org> 22530 22531 Reviewed by Eric Seidel 22532 22533 Fix for https://bugs.webkit.org/show_bug.cgi?id=26578 22534 event.currentTarget for listener registered on window should point to the window object like in Firefox 22535 22536 Test: fast/events/event-trace.html 22537 22538 * dom/Node.cpp: 22539 (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched 22540 to it. We previously used the document because DOMWindow was not yet an EventTarget. 22541 225422009-06-21 Dan Bernstein <mitz@apple.com> 22543 22544 Reviewed by Sam Weinig. 22545 22546 - fix https://bugs.webkit.org/show_bug.cgi?id=9694 22547 resize value not compared 22548 22549 Test: fast/css/resize-value-compared.html 22550 22551 * rendering/style/StyleRareInheritedData.cpp: 22552 (WebCore::StyleRareInheritedData::operator==): Compare the resize 22553 member. 22554 225552009-06-19 Alice Liu <alice.liu@apple.com> 22556 22557 Fix https://bugs.webkit.org/show_bug.cgi?id=26568 22558 Repro crash animating GIF if previously used in a closed window's back/forward list 22559 Also filed as <rdar://problem/6978362> 22560 22561 Reviewed by Maciej Stachowiak. 22562 22563 Can't test this bug with an automated layout test since it requires b/f caching 22564 * manual-tests/animated-gif-bfcache-crash.html: Added. 22565 * manual-tests/resources/containsAnimatedGif.html: Added. 22566 22567 Adding checks for hostWindow() since there is no guarantee that the Page is alive 22568 * platform/ScrollView.cpp: 22569 (WebCore::ScrollView::scrollRectIntoViewRecursively): 22570 (WebCore::ScrollView::contentsToScreen): 22571 (WebCore::ScrollView::screenToContents): 22572 (WebCore::ScrollView::wheelEvent): 22573 225742009-06-20 Sam Weinig <sam@webkit.org> 22575 22576 Reviewed by Adam Barth. 22577 22578 Fix for https://bugs.webkit.org/show_bug.cgi?id=26554 22579 Shadowing of top and parent 22580 22581 * page/DOMWindow.idl: 22582 225832009-06-20 Mark Rowe <mrowe@apple.com> 22584 22585 Reviewed by Dan Bernstein. 22586 22587 Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>. 22588 Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none 22589 22590 We allow selections to begin within an element that has -webkit-user-select: none set, 22591 unless the element is draggable as dragging should take priority over starting a selection. 22592 22593 Test: editing/selection/user-drag-element-and-user-select-none.html 22594 22595 * dom/Node.cpp: 22596 (WebCore::Node::canStartSelection): 22597 225982009-06-20 Darin Adler <darin@apple.com> 22599 22600 Reviewed by Dan Bernstein. 22601 22602 Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com 22603 https://bugs.webkit.org/show_bug.cgi?id=26528 22604 rdar://problem/6985329 22605 22606 * editing/TextIterator.cpp: 22607 (WebCore::TextIterator::handleReplacedElement): When entering a text control, 22608 start at the top of the shadow tree (by calling shadowTreeRootNode). Also 22609 remove assumption that innerTextElement will never be 0 since RenderTextControl 22610 doesn't really guarantee this. 22611 226122009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org> 22613 22614 Reviewed by NOBODY. 22615 22616 Speculative Qt build fix - add HTMLDataGridColElement to the build script. 22617 22618 * WebCore.pro: 22619 226202009-06-19 Adam Barth <abarth@webkit.org> 22621 22622 Reviewed by Darin Adler. 22623 22624 https://bugs.webkit.org/show_bug.cgi?id=26561 22625 22626 Remove a memcpy by retrieving the already existing copy of a string 22627 instead of making a new one. 22628 22629 * bindings/js/ScriptSourceCode.h: 22630 (WebCore::ScriptSourceCode::ScriptSourceCode): 22631 (WebCore::ScriptSourceCode::source): 22632 * bindings/js/StringSourceProvider.h: 22633 (WebCore::StringSourceProvider::source): 22634 226352009-06-19 Brian Weinstein <bweinstein@apple.com> 22636 22637 Reviewed by Steve Falkenburg. 22638 22639 https://bugs.webkit.org/show_bug.cgi?id=26488 22640 No Support for Single Finger or Two Finger Panning in Windows 7 22641 22642 The code in WebCore allows us to interpret a Pan gesture as 22643 a mousewheel event, and we are able to reuse the scrolling code. 22644 Another constructor was created in WheelEventWin which takes data 22645 better suited to the pan guesture than what was currently there. 22646 22647 Unable to add tests to simulate touch behavior/gestures. 22648 22649 * platform/PlatformWheelEvent.h: 22650 * platform/win/WheelEventWin.cpp: 22651 226522009-06-19 Chris Marrin <cmarrin@apple.com> 22653 22654 Fixed a build error, which only shows up in the i386 compile 22655 22656 * platform/graphics/mac/GraphicsLayerCA.mm: 22657 (WebCore::GraphicsLayerCA::animateTransform): 22658 226592009-06-19 Simon Fraser <simon.fraser@apple.com> 22660 22661 Reviewed by Oliver Hunt. 22662 22663 <rdar://problem/6988385> REGRESSION: In full page video player, movie's 22664 video track becomes detached from its controller. 22665 22666 When in the media document, the MediaPlayer should not report that it 22667 is capable of hardware acceleration, because it renders via a QTMovieView 22668 which is already accelerated. 22669 22670 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 22671 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 22672 226732009-06-19 Kevin Ollivier <kevino@theolliviers.com> 22674 22675 Adding XSSAuditor.cpp to the wx build. 22676 22677 * WebCoreSources.bkl: 22678 226792009-06-19 Chris Marrin <cmarrin@apple.com> 22680 22681 Reviewed by Simon Fraser <simon.fraser@apple.com>. 22682 22683 https://bugs.webkit.org/show_bug.cgi?id=26544 22684 22685 If I am doing a Matrix hardware animation and any matrix is singular, I revert to software. 22686 This is not really testable, since we can't see what the hardware animation is doing. 22687 22688 * platform/graphics/mac/GraphicsLayerCA.mm: 22689 (WebCore::GraphicsLayerCA::animateTransform): 22690 226912009-06-19 Geoffrey Garen <ggaren@apple.com> 22692 22693 Reviewed by Maciej Stachowiak. 22694 22695 An additional fix for Bug 26532: Native functions do not correctly unlink 22696 from optimised callsites when they're collected 22697 <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385> 22698 22699 Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame 22700 accessors, so the type of object you get to wrap a function is the same, 22701 regardless of whether the access to the function is cross-frame. 22702 22703 This is faster and more idiomatic than what we had before. It also would 22704 have avoided Bug 26532 because it would have prevented a conflicting 22705 PrototypeFunction from being allocated to wrap postMessage, where a 22706 NativeFunctionWrapper had been allocated previously. 22707 22708 * bindings/js/JSDOMBinding.cpp: 22709 (WebCore::objectToStringFunctionGetter): 22710 * bindings/js/JSDOMWindowCustom.cpp: 22711 (WebCore::nonCachingStaticFunctionGetter): 22712 * bindings/js/JSHistoryCustom.cpp: 22713 (WebCore::nonCachingStaticBackFunctionGetter): 22714 (WebCore::nonCachingStaticForwardFunctionGetter): 22715 (WebCore::nonCachingStaticGoFunctionGetter): 22716 * bindings/js/JSLocationCustom.cpp: 22717 (WebCore::nonCachingStaticReplaceFunctionGetter): 22718 (WebCore::nonCachingStaticReloadFunctionGetter): 22719 (WebCore::nonCachingStaticAssignFunctionGetter): 22720 227212009-06-19 Simon Fraser <simon.fraser@apple.com> 22722 22723 Reviewed by John Sullivan 22724 22725 <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent 22726 22727 Fix a crash that could occur in complex content due to timing issues 22728 when doing a partial layer tree rebuild which is required when painting; 22729 setCompositingParent() could be called with a parent which has not been made 22730 compositing yet. 22731 227322009-06-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 22733 22734 Build fix. Adding missing HTMLDataGrid* files to the build. 22735 22736 * GNUmakefile.am: 22737 227382009-06-19 Peter Kasting <pkasting@google.com> 22739 22740 Reviewed by Eric Seidel. 22741 22742 https://bugs.webkit.org/show_bug.cgi?id=26460 part three 22743 Make BMPImageReader a standalone class that is used by ICOImageDecoder 22744 and BMPImageDecoder to decode individual BMPs within a file. These 22745 decoders now inherit directly from ImageDecoder. 22746 22747 This also makes these decoders decode on-demand in isSizeAvailable() and 22748 frameBufferAtIndex(), like the other decoders, instead of when setData() 22749 is called, like before. This should provide a speedup on pages 22750 containing BMPs that aren't immediately onscreen. 22751 22752 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 22753 (WebCore::BMPImageDecoder::BMPImageDecoder): 22754 (WebCore::BMPImageDecoder::setData): 22755 (WebCore::BMPImageDecoder::isSizeAvailable): 22756 (WebCore::BMPImageDecoder::frameBufferAtIndex): 22757 (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded): 22758 (WebCore::BMPImageDecoder::decode): 22759 (WebCore::BMPImageDecoder::processFileHeader): 22760 * platform/image-decoders/bmp/BMPImageDecoder.h: 22761 (WebCore::BMPImageDecoder::readUint32): 22762 * platform/image-decoders/bmp/BMPImageReader.cpp: 22763 (WebCore::BMPImageReader::BMPImageReader): 22764 (WebCore::BMPImageReader::decodeBMP): 22765 (WebCore::BMPImageReader::readInfoHeaderSize): 22766 (WebCore::BMPImageReader::processInfoHeader): 22767 (WebCore::BMPImageReader::readInfoHeader): 22768 (WebCore::BMPImageReader::processBitmasks): 22769 (WebCore::BMPImageReader::processColorTable): 22770 (WebCore::BMPImageReader::processRLEData): 22771 (WebCore::BMPImageReader::processNonRLEData): 22772 (WebCore::BMPImageReader::setFailed): 22773 * platform/image-decoders/bmp/BMPImageReader.h: 22774 (WebCore::BMPImageReader::readUint16): 22775 (WebCore::BMPImageReader::readUint32): 22776 (WebCore::BMPImageReader::setBuffer): 22777 (WebCore::BMPImageReader::setData): 22778 (WebCore::BMPImageReader::): 22779 (WebCore::BMPImageReader::pastEndOfImage): 22780 (WebCore::BMPImageReader::readCurrentPixel): 22781 (WebCore::BMPImageReader::setRGBA): 22782 * platform/image-decoders/ico/ICOImageDecoder.cpp: 22783 (WebCore::ICOImageDecoder::ICOImageDecoder): 22784 (WebCore::ICOImageDecoder::setData): 22785 (WebCore::ICOImageDecoder::isSizeAvailable): 22786 (WebCore::ICOImageDecoder::size): 22787 (WebCore::ICOImageDecoder::frameBufferAtIndex): 22788 (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): 22789 (WebCore::ICOImageDecoder::decode): 22790 (WebCore::ICOImageDecoder::processDirectory): 22791 (WebCore::ICOImageDecoder::processDirectoryEntries): 22792 (WebCore::ICOImageDecoder::readDirectoryEntry): 22793 (WebCore::ICOImageDecoder::processImageType): 22794 * platform/image-decoders/ico/ICOImageDecoder.h: 22795 (WebCore::ICOImageDecoder::readUint16): 22796 (WebCore::ICOImageDecoder::readUint32): 22797 227982009-06-19 Adam Barth <abarth@webkit.org> 22799 22800 Reviewed by Dimitri Glazkov. 22801 22802 https://bugs.webkit.org/show_bug.cgi?id=26555 22803 22804 Fix the Chromium canary bot. Turns out ScriptSourceCode doesn't have 22805 the same API in V8 and JSC. 22806 22807 * WebCore/bindings/js/ScriptController.cpp: 22808 * WebCore/bindings/js/ScriptSourceCode.h: 22809 * WebCore/bindings/v8/ScriptController.cpp: 22810 * WebCore/page/XSSAuditor.cpp: 22811 * WebCore/page/XSSAuditor.h: 22812 228132009-06-19 David Hyatt <hyatt@apple.com> 22814 22815 Reviewed by Anders Carlsson. 22816 22817 https://bugs.webkit.org/show_bug.cgi?id=26547 22818 22819 Implement the IDL interface for HTMLDataGridColElement. 22820 22821 * DerivedSources.cpp: 22822 * DerivedSources.make: 22823 * GNUmakefile.am: 22824 * WebCore.pro: 22825 * WebCore.vcproj/WebCore.vcproj: 22826 * WebCore.xcodeproj/project.pbxproj: 22827 * WebCoreSources.bkl: 22828 * html/HTMLAttributeNames.in: 22829 * html/HTMLDataGridColElement.cpp: Added. 22830 (WebCore::HTMLDataGridColElement::HTMLDataGridColElement): 22831 (WebCore::HTMLDataGridColElement::label): 22832 (WebCore::HTMLDataGridColElement::setLabel): 22833 (WebCore::HTMLDataGridColElement::type): 22834 (WebCore::HTMLDataGridColElement::setType): 22835 (WebCore::HTMLDataGridColElement::sortable): 22836 (WebCore::HTMLDataGridColElement::setSortable): 22837 (WebCore::HTMLDataGridColElement::sortDirection): 22838 (WebCore::HTMLDataGridColElement::setSortDirection): 22839 (WebCore::HTMLDataGridColElement::selected): 22840 (WebCore::HTMLDataGridColElement::setSelected): 22841 * html/HTMLDataGridColElement.h: Added. 22842 (WebCore::HTMLDataGridColElement::endTagRequirement): 22843 (WebCore::HTMLDataGridColElement::tagPriority): 22844 * html/HTMLDataGridColElement.idl: Added. 22845 * html/HTMLDataGridElement.h: 22846 * html/HTMLElementsAllInOne.cpp: 22847 * html/HTMLTagNames.in: 22848 * page/DOMWindow.idl: 22849 228502009-06-19 Chris Evans <scarybeasts@gmail.com> 22851 22852 Reviewed by Eric Seidel. 22853 22854 There is no new test because this cannot be tested deterministically. 22855 I've not been able to cause a crash at all in the test framework, but 22856 I have verified that this is happening in the wild and that the patch 22857 fixes the likely cause in the debugger. 22858 22859 * loader/TextResourceDecoder.cpp: careful not to iterate off the end 22860 of our input buffer looking for the end of the comment. 22861 228622009-06-19 Adam Barth <abarth@webkit.org> 22863 22864 Reviewed by Dimitri Glazkov. 22865 22866 https://bugs.webkit.org/show_bug.cgi?id=26536 22867 22868 Fix external-script-URL-location.html and 22869 write-external-script-open.html LayoutTests. 22870 22871 implicitOpen is called from several places. We need to setXSSAuditor 22872 each time, so I moved the call inside implicitOpen. 22873 22874 * dom/Document.cpp: 22875 (WebCore::Document::open): 22876 (WebCore::Document::implicitOpen): 22877 * loader/FrameLoader.cpp: 22878 (WebCore::FrameLoader::begin): 22879 228802009-06-19 Kent Tamura <tkent@chromium.org> 22881 22882 Reviewed by David Levin. 22883 22884 Use WebCore::multipleFileUploadText() in Chromium to fix a problem 22885 that Chromium shows only the first filename even if a user selects 22886 multiple files for <input type=file multiple>. 22887 <https://bugs.webkit.org/show_bug.cgi?id=26502> 22888 22889 * platform/chromium/FileChooserChromium.cpp: 22890 (WebCore::FileChooser::basenameForWidth): 22891 228922009-06-19 Dan Bernstein <mitz@apple.com> 22893 22894 Reviewed by Dave Hyatt. 22895 22896 - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried 22897 to look up a word in Dictionary using command-control-d 22898 22899 Test: editing/selection/move-by-line-005.html 22900 22901 The root cause of this bug was searchAheadForBetterMatch() continuing 22902 past the first rendered text object after the given object. While we 22903 want to skip non-rendered text and empty containers, when we encounter 22904 rendered text object, we must return a text box for that object. 22905 22906 * dom/Position.cpp: 22907 (WebCore::searchAheadForBetterMatch): 22908 229092009-06-19 Jungshik Shin <jshin@chromium.org> 22910 22911 Reviewed by David Levin 22912 22913 https://bugs.webkit.org/show_bug.cgi?id=25657 22914 22915 Chromium Linux port does not handle non-BMP characters properly. 22916 It's fixed with a 'UTF-16 iterator macro' to extract Unicode 22917 codepoints out of a UTF-16 input string. 22918 22919 A manual test is added for non-BMP character rendering, 22920 which we can use until a small freely-distributable font 22921 covering non-BMP is added to the Webkit source tree. 22922 22923 22924 * platform/graphics/chromium/FontCacheLinux.cpp: 22925 (WebCore::FontCache::getFontDataForCharacters): 22926 * manual-tests/non-bmp.html: Added. 22927 229282009-06-19 Pavel Feldman <pfeldman@chromium.org> 22929 22930 Reviewed by Dimitri Glazkov. 22931 22932 V8 Bindings: return proper state from the script stack. 22933 22934 https://bugs.webkit.org/show_bug.cgi?id=26512 22935 22936 * bindings/v8/ScriptCallStack.cpp: 22937 (WebCore::ScriptCallStack::ScriptCallStack): 22938 * bindings/v8/ScriptCallStack.h: 22939 (WebCore::ScriptCallStack::state): 22940 229412009-06-19 Jessie Berlin <jberlin@apple.com> 22942 22943 Reviewed by Simon Fraser. 22944 22945 Windows build fix. 22946 22947 * platform/graphics/cg/PatternCG.cpp: 22948 (WebCore::Pattern::createPlatformPattern): 22949 229502009-06-19 Yael Aharon <yael.aharon@nokia.com> 22951 22952 Reviewed by Simon Hausmann. 22953 Build fix after 44825. 22954 22955 * platform/graphics/qt/ImageDecoderQt.cpp: 22956 (WebCore::ImageDecoderQt::isSizeAvailable): 22957 * platform/graphics/qt/ImageDecoderQt.h: 22958 229592009-06-18 Shinichiro Hamaji <hamaji@chromium.org> 22960 22961 Reviewed by Oliver Hunt. 22962 22963 Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird 22964 <https://bugs.webkit.org/show_bug.cgi?id=26426> 22965 22966 Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f. 22967 The original number cannot be represented by mantissa of float 22968 (23bit) so that it caused some error. 22969 22970 Test: fast/canvas/image-object-in-canvas.html: 22971 22972 * platform/graphics/cg/PatternCG.cpp: 22973 (WebCore::Pattern::createPlatformPattern): 22974 229752009-06-19 Adam Barth <abarth@webkit.org> 22976 22977 Unreviewed attempt to fix the Chromium build. 22978 22979 * bindings/v8/ScriptController.cpp: 22980 (WebCore::ScriptController::ScriptController): 22981 (WebCore::ScriptController::evaluate): 22982 * bindings/v8/ScriptController.h: 22983 (WebCore::ScriptController::xssAuditor): 22984 * bindings/v8/ScriptEventListener.cpp: 22985 (WebCore::createAttributeEventListener): 22986 229872009-06-18 Adam Barth <abarth@webkit.org> 22988 22989 Reviewed by Sam Weinig. 22990 22991 https://bugs.webkit.org/show_bug.cgi?id=26199 22992 22993 Added an experimental reflective XSS filter. The filter is disabled by 22994 default. 22995 22996 Test: http/tests/security/xssAuditor/script-tag.html 22997 22998 * GNUmakefile.am: 22999 * WebCore.base.exp: 23000 * WebCore.pro: 23001 * WebCore.vcproj/WebCore.vcproj: 23002 * WebCore.xcodeproj/project.pbxproj: 23003 * bindings/js/ScriptController.cpp: 23004 (WebCore::ScriptController::ScriptController): 23005 (WebCore::ScriptController::evaluate): 23006 * bindings/js/ScriptController.h: 23007 (WebCore::ScriptController::xssAuditor): 23008 * bindings/js/ScriptEventListener.cpp: 23009 (WebCore::createAttributeEventListener): 23010 * dom/Tokenizer.h: 23011 (WebCore::Tokenizer::xssAuditor): 23012 (WebCore::Tokenizer::setXSSAuditor): 23013 (WebCore::Tokenizer::Tokenizer): 23014 * html/HTMLTokenizer.cpp: 23015 (WebCore::HTMLTokenizer::scriptHandler): 23016 * loader/FrameLoader.cpp: 23017 (WebCore::FrameLoader::begin): 23018 (WebCore::FrameLoader::requestObject): 23019 * page/Settings.cpp: 23020 (WebCore::Settings::Settings): 23021 (WebCore::Settings::setXSSAuditorEnabled): 23022 * page/Settings.h: 23023 (WebCore::Settings::xssAuditorEnabled): 23024 * page/XSSAuditor.cpp: Added. 23025 (WebCore::isControlCharacter): 23026 (WebCore::XSSAuditor::XSSAuditor): 23027 (WebCore::XSSAuditor::~XSSAuditor): 23028 (WebCore::XSSAuditor::canEvaluate): 23029 (WebCore::XSSAuditor::canCreateInlineEventListener): 23030 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 23031 (WebCore::XSSAuditor::canLoadObject): 23032 (WebCore::XSSAuditor::decodeURL): 23033 (WebCore::XSSAuditor::findInRequest): 23034 * page/XSSAuditor.h: Added. 23035 (WebCore::XSSAuditor::isEnabled): 23036 (WebCore::XSSAuditor::setXSSAuditorEnabled): 23037 230382009-06-18 Dirk Schulze <krit@webkit.org> 23039 23040 Reviewed by Oliver Hunt. 23041 23042 feOffset and objectBoundingBox 23043 [https://bugs.webkit.org/show_bug.cgi?id=26441] 23044 23045 If we use objectBoundingBox for primitiveUnits, the fractions given 23046 to dx or dy of feOffset must be multiplied with the referenced objects 23047 objectBoundingBox size. 23048 23049 Test: svg/filters/feOffset.svg 23050 23051 * svg/graphics/filters/SVGFEOffset.cpp: 23052 (WebCore::FEOffset::apply): 23053 230542009-06-18 Dirk Schulze <krit@webkit.org> 23055 23056 Reviewed by Oliver Hunt. 23057 23058 feTile implementation missing 23059 [https://bugs.webkit.org/show_bug.cgi?id=26419] 23060 23061 Implementation of feTile, a pattern effect for SVG filters. It was 23062 necessary to modify FilterEffect since source inputs need a secial 23063 logic and we have to identify if an effect is a source input. 23064 23065 Tests: svg/batik/filters/feTile.svg 23066 svg/filters/feTile.svg 23067 23068 * platform/graphics/filters/FilterEffect.h: 23069 (WebCore::FilterEffect::isSourceInput): 23070 * platform/graphics/filters/SourceAlpha.h: 23071 (WebCore::SourceAlpha::isSourceInput): 23072 * platform/graphics/filters/SourceGraphic.h: 23073 (WebCore::SourceGraphic::isSourceInput): 23074 * svg/graphics/filters/SVGFETile.cpp: 23075 (WebCore::FETile::apply): 23076 230772009-06-18 Dirk Schulze <krit@webkit.org> 23078 23079 Reviewed by Oliver Hunt. 23080 23081 feMerge implementation 23082 [https://bugs.webkit.org/show_bug.cgi?id=26480] 23083 23084 Added feMerge to the SVG Filter system. 23085 23086 Test: svg/filters/feMerge.svg 23087 23088 * svg/graphics/filters/SVGFEMerge.cpp: 23089 (WebCore::FEMerge::uniteChildEffectSubregions): 23090 (WebCore::FEMerge::apply): 23091 * svg/graphics/filters/SVGFEMerge.h: 23092 230932009-06-18 Mark Rowe <mrowe@apple.com> 23094 23095 Speculative Windows build fix. 23096 23097 * page/win/FrameCGWin.cpp: Add missing #include. 23098 230992009-06-17 Brent Fulgham <bfulgham@webkit.org> 23100 23101 Reviewed by Dave Levin. 23102 23103 https://bugs.webkit.org/show_bug.cgi?id=26425 23104 Final refactorings, picking up a few places where BitmapInfo 23105 could be used. 23106 23107 * page/win/FrameCGWin.cpp: 23108 (WebCore::imageFromRect): 23109 * platform/win/CursorWin.cpp: 23110 (WebCore::Cursor::Cursor): 23111 * platform/win/PopupMenuWin.cpp: 23112 (WebCore::PopupMenu::paint): 23113 231142009-06-18 Chris Fleizach <cfleizach@apple.com> 23115 23116 Reviewed by Darin Adler. 23117 23118 Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely 23119 https://bugs.webkit.org/show_bug.cgi?id=26522 23120 23121 Test: accessibility/non-data-table-cell-title-ui-element.html 23122 23123 * accessibility/AccessibilityTableCell.cpp: 23124 (WebCore::AccessibilityTableCell::titleUIElement): 23125 231262009-06-18 Kevin Ollivier <kevino@theolliviers.com> 23127 23128 wx build fix after recent RenderTheme changes. 23129 23130 * platform/wx/RenderThemeWx.cpp: 23131 (WebCore::RenderThemeWx::~RenderThemeWx): 23132 (WebCore::RenderTheme::themeForPage): 23133 231342009-06-18 Peter Kasting <pkasting@google.com> 23135 23136 Reviewed by Eric Seidel. 23137 23138 https://bugs.webkit.org/show_bug.cgi?id=26460 part two 23139 Attempt to minimize diff of following functional change by first landing 23140 non-functional change to: 23141 * Make readUintX() public and static (since they will need to be once 23142 BMPImageReader is included in *ImageDecoder via composition rather 23143 than inheritance). Add wrappers in each class so callers can be 23144 simpler. In the next patch, these wrappers will be beefed up slightly 23145 and the callers will get even simpler. 23146 * Change direct setting of m_failed to use setFailed(), since in the 23147 next patch much of this code won't even have direct access to m_failed 23148 * Add a helper function in ICOImageDecoder to determine the image type 23149 instead of simply doing it inline 23150 * Rewrap lines that used to be <=80 cols and slipped over it during the 23151 original landing of these decoders 23152 * Other misc. changes, e.g. adding constructor definitions, reordering 23153 functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no 23154 functional effect but minimize the subsequent diff for readability 23155 23156 23157 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 23158 (WebCore::BMPImageDecoder::BMPImageDecoder): 23159 (WebCore::BMPImageDecoder::processFileHeader): 23160 * platform/image-decoders/bmp/BMPImageDecoder.h: 23161 (WebCore::BMPImageDecoder::readUint32): 23162 * platform/image-decoders/bmp/BMPImageReader.cpp: 23163 (WebCore::BMPImageReader::decodeBMP): 23164 (WebCore::BMPImageReader::getInfoHeaderSize): 23165 (WebCore::BMPImageReader::processInfoHeader): 23166 (WebCore::BMPImageReader::readInfoHeader): 23167 (WebCore::BMPImageReader::processBitmasks): 23168 (WebCore::BMPImageReader::processColorTable): 23169 (WebCore::BMPImageReader::processRLEData): 23170 (WebCore::BMPImageReader::processNonRLEData): 23171 * platform/image-decoders/bmp/BMPImageReader.h: 23172 (WebCore::BMPImageReader::readUint16Helper): 23173 (WebCore::BMPImageReader::readUint32Helper): 23174 (WebCore::BMPImageReader::): 23175 (WebCore::BMPImageReader::readUint16): 23176 (WebCore::BMPImageReader::readUint32): 23177 (WebCore::BMPImageReader::readCurrentPixel): 23178 (WebCore::BMPImageReader::getComponent): 23179 (WebCore::BMPImageReader::setI): 23180 (WebCore::BMPImageReader::setRGBA): 23181 (WebCore::BMPImageReader::fillRGBA): 23182 * platform/image-decoders/ico/ICOImageDecoder.cpp: 23183 (WebCore::ICOImageDecoder::ICOImageDecoder): 23184 (WebCore::ICOImageDecoder::isSizeAvailable): 23185 (WebCore::ICOImageDecoder::size): 23186 (WebCore::ICOImageDecoder::decodeImage): 23187 (WebCore::ICOImageDecoder::processDirectory): 23188 (WebCore::ICOImageDecoder::processDirectoryEntries): 23189 (WebCore::ICOImageDecoder::isBetterEntry): 23190 (WebCore::ICOImageDecoder::processImageType): 23191 * platform/image-decoders/ico/ICOImageDecoder.h: 23192 (WebCore::ICOImageDecoder::readUint16): 23193 (WebCore::ICOImageDecoder::readUint32): 23194 231952009-06-18 Peter Kasting <pkasting@google.com> 23196 23197 Fix build bustage. 23198 23199 * platform/image-decoders/gif/GIFImageDecoder.h: 23200 232012009-06-18 Kevin McCullough <kmccullough@apple.com> 23202 23203 Reviewed by Oliver Hunt. 23204 23205 <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit 23206 23207 Convert intptr_t to Strings so that we don't loose bits in the 23208 conversion to JS. Previously they were being put into 32bit ints. 23209 23210 * inspector/InspectorController.cpp: Convert the String back to an 23211 intptr_t. 23212 (WebCore::InspectorController::addBreakpoint): 23213 (WebCore::InspectorController::removeBreakpoint): 23214 * inspector/InspectorController.h: 23215 * inspector/InspectorController.idl: Use strings in JS to avoid 32bit 23216 truncation. 23217 * inspector/InspectorFrontend.cpp: Make the intptr_t into a String. 23218 (WebCore::InspectorFrontend::parsedScriptSource): 23219 * platform/text/PlatformString.h: Implemented the necessary conversion 23220 functions to be able to convert to and from an intptr_t. 23221 * platform/text/String.cpp: Ditto. 23222 (WebCore::String::toIntPtrStrict): 23223 (WebCore::String::toIntPtr): 23224 (WebCore::charactersToIntPtrStrict): 23225 (WebCore::charactersToIntPtr): 23226 * platform/text/StringImpl.cpp: Ditto. 23227 (WebCore::StringImpl::toIntPtrStrict): 23228 (WebCore::StringImpl::toIntPtr): 23229 * platform/text/StringImpl.h: Ditto. 23230 232312009-06-17 Brent Fulgham <bfulgham@webkit.org> 23232 23233 Reviewed by Eric Seidel. 23234 23235 Final cleanups in this refactoring: 23236 (1) Move WindowsBitmap implementation from CG-specific file to 23237 the platform-common GraphicsContextWin.cpp, since it is 23238 equally useful on both platforms. 23239 (2) Revise the TransformationMatrix logic as suggested by 23240 Adam Roben in his review comments to Part #2 of this 23241 refactoring. 23242 23243 * platform/graphics/win/GraphicsContextCGWin.cpp: 23244 * platform/graphics/win/GraphicsContextWin.cpp: 23245 (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): 23246 (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap): 23247 (WebCore::GraphicsContext::createWindowsBitmap): 23248 (WebCore::GraphicsContext::getWindowsContext): 23249 (WebCore::GraphicsContextPlatformPrivate::scale): 23250 (WebCore::GraphicsContextPlatformPrivate::rotate): 23251 (WebCore::GraphicsContextPlatformPrivate::translate): 23252 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 23253 232542009-06-18 Peter Kasting <pkasting@google.com> 23255 23256 Reviewed by Eric Seidel. 23257 23258 https://bugs.webkit.org/show_bug.cgi?id=26460 part one 23259 Make isSizeAvailable non-const, since it's not logically const (it 23260 triggers lazy decoding), and simplify all the implementations (without 23261 changing behavior; just make less verbose). Remove some other 23262 inappropriate consts, which enables the removal of all the mutable 23263 declarations in the decoders. 23264 23265 * platform/image-decoders/ImageDecoder.h: 23266 (WebCore::ImageDecoder::isSizeAvailable): 23267 (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. 23268 * platform/image-decoders/gif/GIFImageDecoder.cpp: 23269 (WebCore::GIFImageDecoder::isSizeAvailable): 23270 (WebCore::GIFImageDecoder::repetitionCount): 23271 (WebCore::GIFImageDecoder::decode): 23272 * platform/image-decoders/gif/GIFImageDecoder.h: 23273 * platform/image-decoders/ico/ICOImageDecoder.cpp: 23274 (WebCore::ICOImageDecoder::isSizeAvailable): 23275 * platform/image-decoders/ico/ICOImageDecoder.h: 23276 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 23277 (WebCore::JPEGImageDecoder::isSizeAvailable): 23278 (WebCore::JPEGImageDecoder::decode): 23279 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 23280 * platform/image-decoders/png/PNGImageDecoder.cpp: 23281 (WebCore::PNGImageDecoder::isSizeAvailable): 23282 (WebCore::PNGImageDecoder::decode): 23283 * platform/image-decoders/png/PNGImageDecoder.h: 23284 * platform/image-decoders/xbm/XBMImageDecoder.cpp: 23285 (WebCore::XBMImageDecoder::isSizeAvailable): 23286 (WebCore::XBMImageDecoder::frameBufferAtIndex): 23287 (WebCore::XBMImageDecoder::decode): 23288 * 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. 23289 232902009-06-17 Brent Fulgham <bfulgham@webkit.org> 23291 23292 Reviewed by Eric Seidel. 23293 23294 Move some common functions out of platform files and into 23295 the common implementation. 23296 23297 https://bugs.webkit.org/show_bug.cgi?id=26425. 23298 Add a new platform context method (flush) so that the 23299 getWindowsContext method can be consolidated into the common 23300 GraphicsContextWin.cpp file. 23301 23302 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 23303 (WebCore::GraphicsContextPlatformPrivate::flush): 23304 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 23305 (WebCore::GraphicsContextPlatformPrivate::flush): 23306 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove 23307 getWindowContext method. 23308 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove 23309 getWindowContext method and fillWithClearColor methods. 23310 * platform/graphics/win/GraphicsContextWin.cpp: 23311 (WebCore::fillWithClearColor): Moved from *CairoWin.cpp 23312 (WebCore::GraphicsContext::getWindowsContext): Moved 23313 from *CairoWin.cpp 23314 233152009-06-18 Ojan Vafai <ojan@chromium.org> 23316 23317 Reviewed by Oliver Hunt. 23318 23319 Remove code that I accidentally committed in r44811. 23320 23321 * editing/markup.cpp: 23322 (WebCore::createMarkup): 23323 233242009-06-18 Simon Fraser <simon.fraser@apple.com> 23325 23326 Reviewed by Dan Bernstein. 23327 23328 <rdar://problem/6983207> Non-layer content is not re-rendered when transition 23329 starts sometimes (with hardware acceleration). 23330 23331 When deciding which RenderLayers should be composited, when a layer goes into 23332 compositing mode we repaint the old location. However, we did that before 23333 we'd looked at all the factors that may force a layer to composite, so missed 23334 some cases. Fix by doing the repaint once we really know whether it's going 23335 to composite. 23336 23337 Test: compositing/repaint/become-overlay-composited-layer.html 23338 23339 * rendering/RenderLayerCompositor.cpp: 23340 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 23341 233422009-06-18 Simon Fraser <simon.fraser@apple.com> 23343 23344 Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and 23345 the Tiger build where QTMovieLayer does not exist. 23346 23347 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 23348 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 23349 (WebCore::MediaPlayerPrivate::createQTMovieLayer): 23350 (WebCore::MediaPlayerPrivate::destroyQTMovieLayer): 23351 (WebCore::MediaPlayerPrivate::currentRenderingMode): 23352 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 23353 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 23354 (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): 23355 233562009-06-18 Simon Fraser <simon.fraser@apple.com> 23357 23358 Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined. 23359 23360 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 23361 (WebCore::MediaPlayerPrivate::currentRenderingMode): 23362 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 23363 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 23364 233652009-06-17 Erik Arvidsson <arv@chromium.org> 23366 23367 Reviewed by Adele Peterson. 23368 23369 https://bugs.webkit.org/show_bug.cgi?id=15189 23370 Adds the HTML5 input event support for textarea. 23371 23372 Also, moves the oninput attribute parse handling to HTMLElement so that 23373 it can be set on any HTML element so that bubbling events can be handled 23374 using HTML attribute handlers. 23375 23376 Test: fast/forms/textarea-input-event.html 23377 23378 * html/HTMLElement.cpp: 23379 (WebCore::HTMLElement::parseMappedAttribute): 23380 * html/HTMLInputElement.cpp: 23381 (WebCore::HTMLInputElement::parseMappedAttribute): 23382 * rendering/RenderTextControlMultiLine.cpp: 23383 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 23384 233852009-06-18 Dirk Schulze <krit@webkit.org> 23386 23387 Reviewed by Oliver Hunt. 23388 23389 Share code between filterEffects 23390 [https://bugs.webkit.org/show_bug.cgi?id=26479] 23391 23392 Share more code of filter effects. The imageBuffer creation can move to 23393 FilterEffect ant every effect asks for the GraphicsContext. Move the 23394 drawingRect calculation to FilterEffect. 23395 23396 * platform/graphics/filters/FilterEffect.cpp: 23397 (WebCore::FilterEffect::calculateDrawingRect): 23398 (WebCore::FilterEffect::getEffectContext): 23399 * platform/graphics/filters/FilterEffect.h: 23400 * platform/graphics/filters/SourceGraphic.cpp: 23401 (WebCore::SourceGraphic::apply): 23402 * svg/graphics/filters/SVGFEFlood.cpp: 23403 (WebCore::FEFlood::apply): 23404 * svg/graphics/filters/SVGFEOffset.cpp: 23405 (WebCore::FEOffset::apply): 23406 234072009-06-18 Simon Fraser <simon.fraser@apple.com> 23408 23409 Reviewed by Dave Hyatt. 23410 23411 https://bugs.webkit.org/show_bug.cgi?id=26499 23412 23413 Support hardware-accelerationed rendering of video elements. 23414 23415 * html/HTMLMediaElement.cpp: 23416 (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): 23417 (WebCore::HTMLMediaElement::mediaPlayerRepaint): 23418 Just move these methods to group the render-related methods together. 23419 23420 (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated): 23421 Call out method to ask the RenderLayerCompositor if presentation of this video 23422 can be acclerated. It might say no, if, for example, the video has a reflection. 23423 23424 (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer): 23425 Fetch the GraphicsLayer from the RenderVideo that will host the movie layer. 23426 23427 * html/HTMLMediaElement.h: 23428 Reordered the rendering-related methods, and added two methods related to video 23429 acceleration. 23430 23431 * platform/graphics/MediaPlayer.cpp: 23432 (WebCore::MediaPlayer::acceleratedRenderingStateChanged): 23433 Called by the rendering system when it determines that the video must go into, or 23434 fall off of the hardware-accelerated path. 23435 23436 (WebCore::MediaPlayer::supportsAcceleratedRendering): 23437 Method to say whether the media engine supports accelerated rendering. 23438 23439 * platform/graphics/MediaPlayer.h: 23440 (WebCore::MediaPlayerClient::mediaPlayerRepaint): 23441 (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): 23442 Moved. 23443 23444 (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated): 23445 (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer): 23446 New methods to ask the client if the rendering system can support accelerated 23447 rendering, and to get a GraphicsLayer to plug the movie layer into. 23448 23449 * platform/graphics/MediaPlayerPrivate.h: 23450 (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering): 23451 (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged): 23452 Forwarding methods from MediaPlayer. 23453 23454 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 23455 Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic. 23456 23457 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 23458 (WebCore::MediaPlayerPrivate::createQTMovieLayer): 23459 (WebCore::MediaPlayerPrivate::destroyQTMovieLayer): 23460 Methods to create and destroy the QTMovieLayer. 23461 23462 (WebCore::MediaPlayerPrivate::currentRenderingMode): 23463 (WebCore::MediaPlayerPrivate::preferredRenderingMode): 23464 Methods to clarify the code that decides which of the 3 rendering modes to use. 23465 23466 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 23467 Changed to use the new rendering mode methods. 23468 23469 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 23470 Destroy the layer if we have one. 23471 23472 (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): 23473 Small utility method. 23474 23475 (WebCore::MediaPlayerPrivate::updateStates): 23476 Move the call to setUpVideoRendering() to before we send out the state notifications, 23477 so that we will have created the rendering objects already. 23478 23479 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): 23480 Return true if we have QTMovieLayer. 23481 23482 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): 23483 We've been told that we went into or out of accelerated mode; maybe reset 23484 the renderer, and set the layer if we have to. 23485 23486 * rendering/RenderLayer.cpp: 23487 (WebCore::RenderLayer::rendererContentChanged): 23488 We may need to udpate compositing layers if the video went into accelerated mode. 23489 23490 * rendering/RenderLayerBacking.cpp: 23491 (WebCore::RenderLayerBacking::canUseDirectCompositing): 23492 Add smarts to deal with video, which allows us to avoid extra backing store. 23493 23494 (WebCore::RenderLayerBacking::contentsBox): 23495 Use the videoBox to use the content layer for video layers. 23496 23497 * rendering/RenderLayerCompositor.cpp: 23498 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 23499 Poke the RenderVideo if the state changed. 23500 23501 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 23502 Handle an edge case when the video element itself is a stacking context 23503 because of opacity or transform. 23504 23505 (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): 23506 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 23507 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 23508 Allow video to throw us into compositing mode if the media engine supports it. 23509 23510 * rendering/RenderLayerCompositor.h: 23511 New methods related to video. 23512 23513 * rendering/RenderVideo.h: 23514 * rendering/RenderVideo.cpp: 23515 (WebCore::RenderVideo::updatePlayer): 23516 Call rendererContentChanged() to give the compositor a change to throw the video into 23517 compositing mode. 23518 23519 (WebCore::RenderVideo::supportsAcceleratedRendering): 23520 (WebCore::RenderVideo::acceleratedRenderingStateChanged): 23521 (WebCore::RenderVideo::videoGraphicsLayer): 23522 Methods to allow the MediaPlayer to do rendering-related stuff via the media element. 23523 235242009-06-18 Rob Buis <rwlbuis@gmail.com> 23525 23526 Reviewed by Niko. 23527 23528 https://bugs.webkit.org/show_bug.cgi?id=26385 23529 Root SVG element is not checked on requiredFeatures, requiredExtension like other elements 23530 23531 Also do the isValid check for outer <svg>. 23532 23533 Test: svg/custom/outer-svg-unknown-feature.svg 23534 23535 * svg/SVGDocument.cpp: 23536 (WebCore::SVGDocument::childShouldCreateRenderer): 23537 * svg/SVGDocument.h: 23538 235392009-06-18 Dan Bernstein <mitz@apple.com> 23540 23541 Reviewed by Darin Adler. 23542 23543 - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on 23544 apple.com cuts entered text 23545 23546 Test: fast/forms/search-vertical-alignment.html 23547 23548 * rendering/RenderTextControlSingleLine.cpp: 23549 (WebCore::RenderTextControlSingleLine::layout): Vertically center the 23550 the search field's inner block. 23551 235522009-06-18 Janne Koskinen <janne.p.koskinen@digia.com> 23553 23554 Reviewed by Simon Hausmann. 23555 23556 Fix compilation with Symbian WINSCW compiler, which produced 23557 multiple definitions of the CSSPrimitiveValue conversion operators. 23558 23559 It turns out that they are defined inline but not declared inline. 23560 23561 Adding the inline keyword to the declaration fixes the build. 23562 23563 * css/CSSPrimitiveValue.h: 23564 235652009-06-18 Markus Goetz <Markus.Goetz@nokia.com> 23566 23567 Reviewed by Simon Hausman. 23568 23569 Clarify in docs how to compile with debug information. 23570 23571 * WebCore.pro: 23572 235732009-06-18 Jakub Wieczorek <faw217@gmail.com> 23574 23575 Reviewed by Simon Hausmann. 23576 23577 [Qt] When writing an URL to the clipboard, save the corresponding title 23578 in the mime data as well. 23579 23580 * platform/qt/ClipboardQt.cpp: 23581 (WebCore::ClipboardQt::writeURL): 23582 235832009-06-18 Jakub Wieczorek <faw217@gmail.com> 23584 23585 [Qt] Fix build. Add HTMLDataGridElement. 23586 23587 * WebCore.pro: 23588 235892009-06-18 Jan Michael Alonzo <jmalonzo@webkit.org> 23590 23591 Gtk build fix. 23592 23593 Add HTMLDataGridElement header and IDL to the build script. 23594 23595 * GNUmakefile.am: 23596 235972009-06-18 Chris Evans <scarybeasts@gmail.com> 23598 23599 Reviewed by Adam Barth. 23600 23601 Fix 8-digit long hex entities. Fixes bug 26454 23602 https://bugs.webkit.org/show_bug.cgi?id=26454 23603 23604 Test: fast/parser/eightdigithexentity.html 23605 23606 * html/HTMLTokenizer.cpp: fix off-by-ones. 23607 236082009-06-18 David Levin <levin@chromium.org> 23609 23610 Fix chromium linux build. 23611 23612 Fixes a mistake that happened during the complicated merge for 23613 landing r44775, r44776, r44777. 23614 23615 * rendering/RenderThemeChromiumLinux.cpp: 23616 (WebCore::RenderThemeChromiumLinux::create): 23617 236182009-06-17 Simon Fraser <simon.fraser@apple.com> 23619 23620 Reviewed by Darin Adler. 23621 23622 https://bugs.webkit.org/show_bug.cgi?id=26499 23623 23624 First step to making video rendering be hardware-accelerated: 23625 make <video> elements get self-painting RenderLayers, and add 23626 an isVideo() virtual method to RenderObject. 23627 23628 * html/HTMLMediaElement.cpp: 23629 (WebCore::HTMLMediaElement::setReadyState): 23630 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): 23631 (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): 23632 * rendering/RenderLayer.cpp: 23633 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 23634 (WebCore::RenderLayer::isSelfPaintingLayer): 23635 * rendering/RenderObject.h: 23636 (WebCore::RenderObject::isVideo): 23637 * rendering/RenderVideo.h: 23638 (WebCore::RenderVideo::requiresLayer): 23639 (WebCore::RenderVideo::isVideo): 23640 236412009-06-17 Brent Fulgham <bfulgham@webkit.org> 23642 23643 Reviewed by Adam Roben. 23644 23645 Refactor a few common routines in the various Windows ports 23646 and reduce some duplicated code. 23647 23648 (1) Create TransformationMatrix XFORM casting operator, and 23649 switch various XFORM structure uses to utilize it. 23650 (2) Push concatCTM call to GraphicsContextWin now that the 23651 TransformationMatrix can directly create XFORM (rather 23652 than converting to CGAffineTransform/cairo_matrix_t first.) 23653 23654 * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure. 23655 * platform/graphics/transforms/TransformationMatrix.h: 23656 * platform/graphics/win/GraphicsContextCGWin.cpp: 23657 * platform/graphics/win/GraphicsContextCairoWin.cpp: 23658 * platform/graphics/win/GraphicsContextWin.cpp: 23659 (WebCore::GraphicsContextPlatformPrivate::scale): 23660 (WebCore::GraphicsContextPlatformPrivate::rotate): 23661 (WebCore::GraphicsContextPlatformPrivate::translate): 23662 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 23663 * platform/graphics/win/TransformationMatrixWin.cpp: Added. 23664 (WebCore::TransformationMatrix::operator XFORM): New operator 23665 236662009-06-17 Brent Fulgham <bfulgham@webkit.org> 23667 23668 Non-CG Windows build fix after @r44758. 23669 23670 * rendering/RenderThemeWin.cpp: 23671 (WebCore::RenderTheme::themeForPage): 23672 236732009-06-17 Brent Fulgham <bfulgham@webkit.org> 23674 23675 Reviewed by Adam Roben. 23676 23677 Refactor a few common routines in the various Windows ports 23678 and reduce some duplicated code. 23679 https://bugs.webkit.org/show_bug.cgi?id=26425. 23680 23681 Refactor use of BITMAPINFO for the new BitmapInfo structure. 23682 23683 * WebCore.vcproj/WebCore.vcproj: 23684 * platform/win/BitmapInfo.cpp: Added. 23685 (WebCore::bitmapInfoForSize): 23686 (WebCore::BitmapInfo::create): 23687 (WebCore::BitmapInfo::createBottomUp): 23688 * platform/win/BitmapInfo.h: Added. 23689 * platform/graphics/win/GraphicsContextCairoWin.cpp: 23690 * platform/graphics/win/GraphicsContextCGWin.cpp: 23691 * platform/graphics/win/TransformationMatrixWin.cpp: Added. 23692 (WebCore::TransformationMatrix::operator XFORM): New operator 23693 * platform/win/DragImageCGWin.cpp: 23694 (WebCore::allocImage): 23695 * platform/win/DragImageCairoWin.cpp: 23696 (WebCore::allocImage): 23697 * platform/win/PasteboardWin.cpp: 23698 (WebCore::Pasteboard::writeImage): 23699 * platform/win/PopupMenuWin.cpp: 23700 (WebCore::PopupMenu::paint): 23701 237022009-06-17 Adam Roben <aroben@apple.com> 23703 23704 Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL 23705 23706 Reviewed by Mark Rowe. 23707 23708 * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and 23709 an unnecessary parameter name. 23710 * platform/win/SoftLinking.h: Removed the unused 6th parameter. 23711 237122009-06-17 Adam Roben <aroben@apple.com> 23713 23714 Make Settings::shouldPaintNativeControls default to true 23715 23716 This matches the default up in WebKit (that was changed in r43318). 23717 23718 Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style 23719 form controls 23720 <https://bugs.webkit.org/show_bug.cgi?id=26493> 23721 23722 Reviewed by Darin Adler and Dave Hyatt. 23723 23724 No test possible since DRT always uses Mac-style form controls. 23725 23726 * page/Settings.cpp: Changed the initial value of 23727 gShouldPaintNativeControls to true. 23728 23729 * rendering/RenderThemeSafari.cpp: 23730 (WebCore::RenderTheme::themeForPage): Added a FIXME about the design 23731 flaw here involving querying Settings before it's been initialized. 23732 237332009-06-17 David Levin <levin@chromium.org> 23734 23735 Fix chromium windows build. 23736 23737 A mistake that happened during the complicated merge for 23738 landing r44775, r44776, r44777. 23739 23740 * rendering/RenderThemeChromiumWin.h: 23741 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 23742 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 23743 237442009-06-17 Eric Carlson <eric.carlson@apple.com> 23745 23746 Reviewed by Simon Fraser. 23747 23748 <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent 23749 23750 * rendering/MediaControlElements.cpp: 23751 (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer. 23752 (WebCore::MediaControlInputElement::attachToParent): Ditto. 23753 237542009-06-17 David Hyatt <hyatt@apple.com> 23755 23756 Fix Windows build. There's no HTMLDataGridElement.cpp file yet. 23757 23758 * html/HTMLElementsAllInOne.cpp: 23759 237602009-06-17 David Hyatt <hyatt@apple.com> 23761 23762 Reviewed by Adam Roben and Anders Carlsson. 23763 23764 Stub out the HTMLDataGridElement. 23765 23766 * DerivedSources.make: 23767 * WebCore.vcproj/WebCore.vcproj: 23768 * WebCore.xcodeproj/project.pbxproj: 23769 * WebCoreSources.bkl: 23770 * css/CSSStyleSelector.cpp: 23771 (WebCore::CSSStyleSelector::adjustRenderStyle): 23772 * editing/htmlediting.cpp: 23773 (WebCore::canHaveChildrenForEditing): 23774 * html/HTMLDataGridElement.h: Added. 23775 (WebCore::HTMLDataGridElement::HTMLDataGridElement): 23776 (WebCore::HTMLDataGridElement::tagPriority): 23777 * html/HTMLDataGridElement.idl: Added. 23778 * html/HTMLElement.cpp: 23779 (WebCore::inlineTagList): 23780 * html/HTMLParser.cpp: 23781 (WebCore::HTMLParser::isAffectedByResidualStyle): 23782 * html/HTMLTagNames.in: 23783 237842009-06-17 David Levin <levin@chromium.org> 23785 23786 Reviewed by NOBODY (chromium build fix). 23787 23788 Fix typo in previous changes. 23789 23790 * rendering/RenderThemeChromiumSkia.cpp: 23791 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 23792 237932009-06-17 Albert J. Wong <ajwong@chromium.org> 23794 23795 Reviewed by Eric Seidel. 23796 23797 https://bugs.webkit.org/show_bug.cgi?id=26148 23798 Remove common code from RenderThemeChromiumWin that is shared with 23799 RenderThemeChromiumSkia. 23800 23801 Also move supportsControlTints to RenderThemeChromiumLinux since it 23802 is linux specific. 23803 23804 There are no tests changed because this just removes functions with 23805 duplicate implementations between the base and derived classes. 23806 23807 * rendering/RenderThemeChromiumLinux.cpp: 23808 (WebCore::RenderThemeChromiumLinux::supportsControlTints): 23809 * rendering/RenderThemeChromiumLinux.h: 23810 * rendering/RenderThemeChromiumSkia.cpp: 23811 * rendering/RenderThemeChromiumSkia.h: 23812 * rendering/RenderThemeChromiumWin.cpp: 23813 (WebCore::): 23814 (WebCore::getNonClientMetrics): 23815 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 23816 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 23817 (WebCore::RenderThemeChromiumWin::systemFont): 23818 (WebCore::RenderThemeChromiumWin::paintCheckbox): 23819 (WebCore::RenderThemeChromiumWin::paintRadio): 23820 (WebCore::RenderThemeChromiumWin::paintSliderThumb): 23821 (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal): 23822 * rendering/RenderThemeChromiumWin.h: 23823 238242009-06-17 Albert J. Wong <ajwong@chromium.org> 23825 23826 Reviewed by Eric Seidel. 23827 23828 https://bugs.webkit.org/show_bug.cgi?id=26148 23829 Move RenderThemeChromiumSkia into its own file. This is purely a code move. 23830 23831 * rendering/RenderThemeChromiumLinux.cpp: 23832 * rendering/RenderThemeChromiumLinux.h: 23833 * rendering/RenderThemeChromiumSkia.cpp: 23834 (WebCore::): 23835 (WebCore::setSizeIfAuto): 23836 (WebCore::mediaElementParent): 23837 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 23838 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): 23839 (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia): 23840 (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): 23841 (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet): 23842 (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet): 23843 (WebCore::RenderThemeChromiumSkia::supportsHover): 23844 (WebCore::RenderThemeChromiumSkia::supportsFocusRing): 23845 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor): 23846 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor): 23847 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor): 23848 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor): 23849 (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor): 23850 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 23851 (WebCore::RenderThemeChromiumSkia::systemFont): 23852 (WebCore::RenderThemeChromiumSkia::minimumMenuListSize): 23853 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 23854 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 23855 (WebCore::RenderThemeChromiumSkia::paintRadio): 23856 (WebCore::RenderThemeChromiumSkia::setRadioSize): 23857 (WebCore::brightenColor): 23858 (WebCore::paintButtonLike): 23859 (WebCore::RenderThemeChromiumSkia::paintButton): 23860 (WebCore::RenderThemeChromiumSkia::paintTextField): 23861 (WebCore::RenderThemeChromiumSkia::paintTextArea): 23862 (WebCore::RenderThemeChromiumSkia::paintSearchField): 23863 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle): 23864 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): 23865 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle): 23866 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle): 23867 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): 23868 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle): 23869 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): 23870 (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal): 23871 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): 23872 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 23873 (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle): 23874 (WebCore::RenderThemeChromiumSkia::paintMenuList): 23875 (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle): 23876 (WebCore::RenderThemeChromiumSkia::paintMenuListButton): 23877 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft): 23878 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight): 23879 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop): 23880 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom): 23881 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft): 23882 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight): 23883 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop): 23884 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom): 23885 (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal): 23886 (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): 23887 * rendering/RenderThemeChromiumSkia.h: 23888 (WebCore::RenderThemeChromiumSkia::supportsControlTints): 23889 238902009-06-17 Albert J. Wong <ajwong@chromium.org> 23891 23892 Reviewed by Eric Seidel. 23893 23894 https://bugs.webkit.org/show_bug.cgi?id=26148 23895 Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux. This 23896 is mostly a code shuffle. The non-suffle changes are: 23897 1) Creation of a caretBlinkIntervalInternal. 23898 2) Moving of some inline functions into the implementation files. 23899 3) Changing of defaultGUIFont into a static class constant from a 23900 static function. Also the type is changed to String. 23901 4) Changing of defaultFontSize into a static class constant from a 23902 static variable in the file scope. 23903 5) The static supportsFocus function was collapsed into 23904 supportsFocusRing. 23905 6) Split the extraDefaultStyleSheet into Skia and Linux versions. 23906 23907 * rendering/RenderThemeChromiumLinux.cpp: 23908 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 23909 (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): 23910 (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia): 23911 (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): 23912 (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet): 23913 (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet): 23914 (WebCore::RenderThemeChromiumSkia::supportsHover): 23915 (WebCore::RenderThemeChromiumSkia::supportsFocusRing): 23916 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor): 23917 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor): 23918 (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor): 23919 (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor): 23920 (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor): 23921 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 23922 (WebCore::RenderThemeChromiumSkia::systemFont): 23923 (WebCore::RenderThemeChromiumSkia::minimumMenuListSize): 23924 (WebCore::RenderThemeChromiumSkia::paintCheckbox): 23925 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 23926 (WebCore::RenderThemeChromiumSkia::paintRadio): 23927 (WebCore::RenderThemeChromiumSkia::setRadioSize): 23928 (WebCore::RenderThemeChromiumSkia::paintButton): 23929 (WebCore::RenderThemeChromiumSkia::paintTextField): 23930 (WebCore::RenderThemeChromiumSkia::paintTextArea): 23931 (WebCore::RenderThemeChromiumSkia::paintSearchField): 23932 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle): 23933 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): 23934 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle): 23935 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle): 23936 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): 23937 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle): 23938 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): 23939 (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal): 23940 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): 23941 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 23942 (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle): 23943 (WebCore::RenderThemeChromiumSkia::paintMenuList): 23944 (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle): 23945 (WebCore::RenderThemeChromiumSkia::paintMenuListButton): 23946 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft): 23947 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight): 23948 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop): 23949 (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom): 23950 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft): 23951 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight): 23952 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop): 23953 (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom): 23954 (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal): 23955 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux): 23956 (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux): 23957 (WebCore::RenderThemeChromiumLinux::systemColor): 23958 (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet): 23959 (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): 23960 * rendering/RenderThemeChromiumLinux.h: 23961 239622009-06-17 Adam Roben <aroben@apple.com> 23963 23964 Add a SOFT_LINK_OPTIONAL macro 23965 23966 This macro is useful when soft-linking functions that are present in 23967 only some versions of a particular library (e.g., APIs added in 23968 Windows Vista that aren't available on Windows XP). 23969 23970 Reviewed by Ada Chan. 23971 23972 * platform/graphics/win/ColorSafari.cpp: 23973 (WebCore::focusRingColor): 23974 Use the SoftLinking.h macros instead of doing the soft-link ourselves. 23975 Also removed an unused call to focusRingColor.isValid(). 23976 23977 * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL. 23978 239792009-06-17 Brent Fulgham <bfulgham@webkit.org> 23980 23981 Reviewed by Gustavo Noronha. 23982 23983 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470. 23984 The use of zero-width or zero-height rectangles in generating 23985 gradients caused Windows Cairo to crash, and webkitgtk to 23986 produce invalid images. 23987 23988 We now test for NaN in the phase argument, which is calculated 23989 using fmodf and can blow up when the width/height values passed 23990 are zero. 23991 23992 Test: fast/gradients/border-image-gradient-sides-and-corners.html 23993 23994 * platform/graphics/cairo/ImageCairo.cpp: 23995 (WebCore::Image::drawPattern): 23996 239972009-06-17 Ojan Vafai <ojan@chromium.org> 23998 23999 Reviewed by Dimitri Glazkov. 24000 24001 If loading a font fails because of the sandbox, we ask the browser process to 24002 try to load it by calling ensureFontLoaded. If it still fails after 24003 ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 24004 24005 This case happens once in a while during browser shutdown. The browser will 24006 queue a message to the renderer to shutdown, and will then stop answering sync 24007 messages from the renderer. If the renderer is still loading a page during this 24008 time, it might try to call the browser process to ask to load a font. The 24009 browser process will ignore the request, and the font will fail to load, even 24010 after the second try. 24011 24012 This is unfortunate, but there is no real risk here, since the renderer will be 24013 going away as soon as it processes another message. 24014 24015 This can't be layout tested as it depends on the sandbox. 24016 24017 https://bugs.webkit.org/show_bug.cgi?id=26484 24018 24019 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 24020 (WebCore::fontContainsCharacter): 24021 240222009-06-17 Eric Carlson <eric.carlson@apple.com> 24023 24024 Reviewed by Dan Bernstein. 24025 24026 https://bugs.webkit.org/show_bug.cgi?id=26482 24027 <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 24028 playing (doesn't resume later) 24029 24030 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 24031 (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused". 24032 24033 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 24034 (WebCore::MediaPlayerPrivate::setRate): Ditto. 24035 240362009-06-17 Adam Roben <aroben@apple.com> 24037 24038 Add all the generated JS*.cpp files back to WebCore.vcproj 24039 24040 They are not compiled by the vcproj directly. Instead they are 24041 compiled as part of DerivedSources.cpp. Having them listed in the 24042 vcproj makes them be included in Project Find, etc. 24043 24044 Rubber-stamped in advance by Steve Falkenburg. 24045 24046 * WebCore.vcproj/WebCore.vcproj: 24047 240482009-06-17 Kent Tamura <tkent@chromium.org> 24049 24050 Reviewed by Darin Fisher. 24051 24052 Don't fire redundant 'change' events for a file upload form. 24053 https://bugs.webkit.org/show_bug.cgi?id=26471 24054 24055 * platform/FileChooser.cpp: 24056 (WebCore::FileChooser::chooseFiles): Suppress change event if the 24057 existing selected files and the incoming selected files are equal. 24058 (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected 24059 files. 24060 240612009-06-17 Adam Treat <adam.treat@torchmobile.com> 24062 24063 Reviewed by George Staikos. 24064 24065 https://bugs.webkit.org/show_bug.cgi?id=23155 24066 Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks. 24067 24068 * platform/KeyboardCodes.h: 24069 240702009-06-17 George Staikos <george.staikos@torchmobile.com> 24071 24072 Reviewed by Adam Treat. 24073 24074 https://bugs.webkit.org/show_bug.cgi?id=23155 24075 Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks. 24076 24077 * platform/graphics/qt/GraphicsContextQt.cpp: 24078 (WebCore::GraphicsContext::getWindowsContext): 24079 * platform/win/SystemTimeWin.cpp: 24080 (WebCore::userIdleTime): 24081 240822009-06-17 Adam Roben <aroben@apple.com> 24083 24084 Speculative Mac build fix 24085 24086 * page/Page.h: Forward-declare RenderTheme instead of including 24087 RenderTheme.h so that we don't need to make RenderTheme.h a private 24088 header for WebKit's benefit. 24089 24090 * editing/SelectionController.cpp: 24091 * rendering/InlineTextBox.cpp: 24092 * rendering/RenderObject.cpp: 24093 Added #includes of RenderTheme.h. 24094 240952009-06-17 Adam Roben <aroben@apple.com> 24096 24097 Speculative Mac build fix 24098 24099 * rendering/RenderThemeMac.mm: 24100 (WebCore::RenderTheme::create): Added. 24101 241022009-06-17 Adam Roben <aroben@apple.com> 24103 24104 Speculative Mac build fix 24105 24106 * rendering/RenderThemeMac.mm: 24107 (WebCore::RenderTheme::themeForPage): Remove the name of an unused 24108 parameter. 24109 241102009-06-17 Adam Roben <aroben@apple.com> 24111 24112 Speculative Mac build fix 24113 24114 * page/Page.cpp: 24115 (WebCore::Page::Page): Change the initializer order to match the 24116 declaration order. 24117 241182009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> 24119 24120 Reviewed by Simon Hausmann. 24121 24122 Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278 24123 Patch that make WebCore have a RenderTheme per page 24124 24125 Make the Qt implementation of RenderTheme create a theme per page, 24126 and use the QStyle associated with the view of each page, in order 24127 to make the QWidget setStyle() method work as advertised. 24128 24129 * platform/qt/RenderThemeQt.cpp: 24130 (WebCore::RenderThemeQt::RenderThemeQt): 24131 (WebCore::RenderThemeQt::qStyle): 24132 (WebCore::findFrameLineWidth): 24133 (WebCore::inflateButtonRect): 24134 (WebCore::RenderThemeQt::adjustRepaintRect): 24135 (WebCore::RenderThemeQt::isControlStyled): 24136 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 24137 (WebCore::RenderThemeQt::setButtonPadding): 24138 (WebCore::RenderThemeQt::paintButton): 24139 (WebCore::RenderThemeQt::paintTextField): 24140 (WebCore::RenderThemeQt::setPopupPadding): 24141 * platform/qt/RenderThemeQt.h: 24142 241432009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> 24144 24145 Reviewed by Dave Hyatt and Adam Roben. 24146 24147 https://bugs.webkit.org/show_bug.cgi?id=26278 24148 Patch that make WebCore have a RenderTheme per page 24149 24150 24151 Create a different RenderTheme per page, so that RenderTheme has 24152 access to page specific theming. This is needed for the Qt port, as Qt 24153 supports setting the theme (style) per widget. 24154 24155 This change was suggested and discussed with Dave Hyatt. 24156 24157 More detailed: 24158 24159 1) Create a theme per page or one global one, depending on the needs 24160 of the platform. 24161 2) Add an accesser to the theme from RenderObject. 24162 3) Change all uses of the theming to access the theme through 24163 RenderObject, using the global default theme as fallback, when the 24164 document of RenderObject has no page. 24165 When we don't have access to a RenderObject, use the default theme. 24166 4) Modify all RenderTheme platform implementations to work with the 24167 above changes, still creating only one global theme. 24168 24169 24170 * accessibility/AccessibilityRenderObject.cpp: 24171 (WebCore::AccessibilityRenderObject::boundingBoxRect): 24172 * css/CSSStyleSelector.cpp: 24173 (WebCore::loadFullDefaultStyle): 24174 (WebCore::CSSStyleSelector::styleForElement): 24175 (WebCore::CSSStyleSelector::adjustRenderStyle): 24176 (WebCore::CSSStyleSelector::applyProperty): 24177 * dom/ContainerNode.cpp: 24178 (WebCore::ContainerNode::setActive): 24179 (WebCore::ContainerNode::setHovered): 24180 * editing/SelectionController.cpp: 24181 (WebCore::SelectionController::focusedOrActiveStateChanged): 24182 * html/HTMLFormControlElement.cpp: 24183 (WebCore::HTMLFormControlElement::parseMappedAttribute): 24184 * html/HTMLInputElement.cpp: 24185 (WebCore::HTMLInputElement::setChecked): 24186 (WebCore::HTMLInputElement::setIndeterminate): 24187 * page/Frame.cpp: 24188 (WebCore::Frame::selectionLayoutChanged): 24189 * page/FrameView.cpp: 24190 (WebCore::FrameView::updateControlTints): 24191 * page/Page.cpp: 24192 (WebCore::Page::Page): 24193 * page/Page.h: 24194 (WebCore::Page::theme): 24195 * platform/chromium/PopupMenuChromium.cpp: 24196 (WebCore::PopupListBox::paintRow): 24197 * platform/gtk/RenderThemeGtk.cpp: 24198 (WebCore::RenderThemeGtk::create): 24199 (WebCore::RenderTheme::themeForPage): 24200 (WebCore::RenderThemeGtk::RenderThemeGtk): 24201 (WebCore::RenderThemeGtk::~RenderThemeGtk): 24202 (WebCore::RenderThemeGtk::gtkEntry): 24203 (WebCore::RenderThemeGtk::gtkTreeView): 24204 * platform/gtk/RenderThemeGtk.h: 24205 * platform/qt/RenderThemeQt.cpp: 24206 (WebCore::RenderThemeQt::create): 24207 (WebCore::RenderTheme::themeForPage): 24208 * platform/qt/RenderThemeQt.h: 24209 * platform/win/PopupMenuWin.cpp: 24210 (WebCore::PopupMenu::paint): 24211 * rendering/RenderMediaControls.cpp: 24212 (WebCore::determineState): 24213 * platform/wx/RenderThemeWx.cpp: 24214 (WebCore::RenderThemeWx::create): 24215 (WebCore::RenderTheme::themeForPage): 24216 * rendering/InlineTextBox.cpp: 24217 (WebCore::InlineTextBox::paintTextMatchMarker): 24218 * rendering/MediaControlElements.cpp: 24219 (WebCore::MediaControlInputElement::hitTest): 24220 * rendering/RenderObject.cpp: 24221 (WebCore::RenderObject::theme): 24222 * rendering/RenderObject.h: 24223 * rendering/RenderTheme.cpp: 24224 (WebCore::RenderTheme::adjustStyle): 24225 * rendering/RenderTheme.h: 24226 (WebCore::RenderTheme::defaultTheme): 24227 * rendering/RenderThemeChromiumLinux.cpp: 24228 (WebCore::RenderThemeChromiumLinux::create): 24229 (WebCore::RenderTheme::themeForPage): 24230 * rendering/RenderThemeChromiumLinux.h: 24231 (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux): 24232 * rendering/RenderThemeChromiumMac.h: 24233 * rendering/RenderThemeChromiumMac.mm: 24234 (WebCore::RenderThemeChromiumMac::create): 24235 (WebCore::RenderTheme::themeForPage): 24236 * rendering/RenderThemeChromiumWin.cpp: 24237 (WebCore::RenderThemeChromiumWin::create): 24238 (WebCore::RenderTheme::themeForPage): 24239 * rendering/RenderThemeChromiumWin.h: 24240 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin): 24241 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin): 24242 * rendering/RenderThemeMac.h: 24243 * rendering/RenderThemeMac.mm: 24244 (WebCore::RenderTheme::themeForPage): 24245 * rendering/RenderThemeSafari.cpp: 24246 (WebCore::RenderThemeSafari::create): 24247 (WebCore::RenderTheme::themeForPage): 24248 * rendering/RenderThemeSafari.h: 24249 * rendering/RenderThemeWin.cpp: 24250 (WebCore::RenderThemeWin::create): 24251 (WebCore::RenderTheme::themeForPage): 24252 * rendering/RenderThemeWin.h: 24253 242542009-06-17 Gavin Barraclough <barraclough@apple.com> 24255 24256 Reviewed by Oliver Hunt. 24257 24258 <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com 24259 24260 JSDOMWindowCustom was using PropertySlot::putValue, however this interface 24261 appears to be fundaementally incorrect - PropertySlots are only used to get 24262 values, all puts use PutPropertySlot. However PutPropertySlot cannot be 24263 used in the fashion desired here - it only reports the caching type of a 24264 write that has been performed. 24265 24266 (This caused a bug where the put should have triggered a transition, and 24267 failed to do so.) 24268 24269 Removing the faulty case from the optimization leads to a ~0.5% progression 24270 on in-browser SunSpider (presumably the very first case was not being hit 24271 often, and the simplification here is beneficial). 24272 24273 * bindings/js/JSDOMWindowCustom.cpp: 24274 (WebCore::JSDOMWindow::put): 24275 242762009-06-17 David Levin <levin@chromium.org> 24277 24278 Reviewed by NOBODY, layout tests fix. 24279 24280 https://bugs.webkit.org/show_bug.cgi?id=26326 24281 This reverts commit r44751. 24282 24283 Once that change was checked scrollbars/scrollbar-orientation.html started 24284 crashing on Windows. 24285 24286 * dom/Document.cpp: 24287 (WebCore::Document::detach): 24288 * page/FrameView.cpp: 24289 * page/FrameView.h: 24290 * platform/Scrollbar.h: 24291 * rendering/RenderObject.cpp: 24292 (WebCore::RenderObject::destroy): 24293 * rendering/RenderScrollbar.h: 24294 242952009-06-16 Kevin Watters <kevinwatters@gmail.com> 24296 24297 Reviewed by Kevin Ollivier. 24298 24299 In ImageSource::setData, delete the old m_encoder before replacing it with a new one. 24300 24301 https://bugs.webkit.org/show_bug.cgi?id=26458 24302 24303 * platform/graphics/wx/ImageSourceWx.cpp: 24304 (WebCore::ImageSource::setData): 24305 243062009-06-16 David Levin <levin@chromium.org> 24307 24308 Reviewed by David Hyatt. 24309 24310 REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction. 24311 https://bugs.webkit.org/show_bug.cgi?id=26326 24312 24313 Test: scrollbars/scrollbar-crash-on-refresh.html 24314 24315 * dom/Document.cpp: 24316 (WebCore::Document::detach): 24317 Gives the FrameView a change to do any necessary cleanup on 24318 Document::detach() which is where the renderArena gets detroyed. 24319 * page/FrameView.cpp: 24320 (WebCore::FrameView::detachCustomScrollbars): 24321 Gets rid of any custom scrollbars (if the docment supplied them). 24322 * page/FrameView.h: 24323 * platform/Scrollbar.h: 24324 (WebCore::Scrollbar::isCustomScrollbar): 24325 * rendering/RenderObject.cpp: 24326 (WebCore::RenderObject::destroy): 24327 Removed the check for document()->frame(). If frame() is 0 in this code, 24328 then the call to animation() is also incorrect (since it does document()->frame()->animation()). 24329 * rendering/RenderScrollbar.h: 24330 (WebCore::RenderScrollbar::isCustomScrollbar): 24331 243322009-06-16 Brian Weinstein <bweinstein@apple.com> 24333 24334 Reviewed by Adele Peterson. 24335 24336 Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari. 24337 This patch kept the way events were firing as they were before, and Windows events are 24338 consistent with Mac. 24339 24340 * editing/Editor.cpp: 24341 (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard 24342 (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard 24343 243442009-06-16 Antti Koivisto <antti@apple.com> 24345 24346 Reviewed by Brady Eidson. 24347 24348 <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53 24349 24350 When revalidating a resource, calling addClient() on one client might cause another to get removed. 24351 24352 - made CachedResource::addClient() non-virtual and added virtual didAddClient() 24353 - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first 24354 - check if the client is still in the set before invoking didAddClient() for it 24355 24356 No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that 24357 reference each other via @imports and reloading. 24358 24359 * WebCore.base.exp: 24360 * loader/CachedCSSStyleSheet.cpp: 24361 (WebCore::CachedCSSStyleSheet::didAddClient): 24362 * loader/CachedCSSStyleSheet.h: 24363 * loader/CachedFont.cpp: 24364 (WebCore::CachedFont::didAddClient): 24365 * loader/CachedFont.h: 24366 * loader/CachedImage.cpp: 24367 (WebCore::CachedImage::didAddClient): 24368 * loader/CachedImage.h: 24369 * loader/CachedResource.cpp: 24370 (WebCore::CachedResource::addClient): 24371 (WebCore::CachedResource::addClientToSet): 24372 (WebCore::CachedResource::switchClientsToRevalidatedResource): 24373 * loader/CachedResource.h: 24374 * loader/CachedScript.cpp: 24375 (WebCore::CachedScript::didAddClient): 24376 * loader/CachedScript.h: 24377 * loader/CachedXSLStyleSheet.cpp: 24378 (WebCore::CachedXSLStyleSheet::didAddClient): 24379 * loader/CachedXSLStyleSheet.h: 24380 243812009-06-16 Simon Fraser <simon.fraser@apple.com> 24382 24383 No Review 24384 24385 Fix code inside an #ifdef that draws the video framerate. 24386 24387 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 24388 (WebCore::MediaPlayerPrivate::paint): 24389 243902009-06-16 Jian Li <jianli@chromium.org> 24391 24392 Reviewed by Dimitri Glazkov. 24393 24394 Bug 26456: Hook up V8 bindings for Worker's importScripts functionality. 24395 https://bugs.webkit.org/show_bug.cgi?id=26456 24396 24397 * bindings/v8/custom/V8WorkerContextCustom.cpp: 24398 (WebCore::CALLBACK_FUNC_DECL): 24399 * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code 24400 handling in Worker constructor for V8 bindings. 24401 (WebCore::CALLBACK_FUNC_DECL): 24402 244032009-06-16 Brent Fulgham <bfulgham@webkit.org> 24404 24405 Reviewed by Maciej Stachowiak. 24406 24407 Update of https://bugs.webkit.org/show_bug.cgi?id=26353. 24408 Provide an assignment operator to avoid improper reference 24409 counts on the Cairo font objects. This brings the Windows 24410 Cairo port in line with the GTK+ port. 24411 24412 * platform/graphics/win/FontPlatformData.h: 24413 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 24414 (WebCore::FontPlatformData::FontPlatformData): 24415 (WebCore::FontPlatformData::operator=): 24416 244172009-06-16 Eric Carlson <eric.carlson@apple.com> 24418 24419 Reviewed by Simon Fraser. 24420 24421 Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 24422 the MediaControlInputElement, rather than computing it again 24423 24424 * html/HTMLMediaElement.cpp: 24425 (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation. 24426 * html/HTMLMediaElement.h: 24427 24428 * rendering/MediaControlElements.h: 24429 (WebCore::MediaControlInputElement::displayType): New, return m_displayType. 24430 24431 * rendering/RenderMediaControls.cpp: 24432 (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button 24433 state from the button itself and get movie state from HTMLMediaElement. 24434 24435 * rendering/RenderThemeMac.mm: 24436 (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer. 24437 (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto. 24438 244392009-06-16 Jian Li <jianli@chromium.org> 24440 24441 Reviewed by David Levin. 24442 24443 Bug 26450: Rename values of enum RedirectOriginCheck to make them 24444 clearer. 24445 https://bugs.webkit.org/show_bug.cgi?id=26450 24446 24447 * loader/DocumentThreadableLoader.cpp: 24448 (WebCore::DocumentThreadableLoader::create): 24449 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 24450 (WebCore::DocumentThreadableLoader::willSendRequest): 24451 * loader/DocumentThreadableLoader.h: 24452 * loader/ThreadableLoader.cpp: 24453 (WebCore::ThreadableLoader::create): 24454 (WebCore::ThreadableLoader::loadResourceSynchronously): 24455 * loader/ThreadableLoader.h: 24456 * workers/Worker.cpp: 24457 (WebCore::Worker::Worker): 24458 * workers/WorkerContext.cpp: 24459 (WebCore::WorkerContext::importScripts): 24460 * loader/WorkerThreadableLoader.cpp: 24461 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 24462 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 24463 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 24464 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 24465 * loader/WorkerThreadableLoader.h: 24466 (WebCore::WorkerThreadableLoader::create): 24467 * workers/WorkerScriptLoader.cpp: 24468 (WebCore::WorkerScriptLoader::loadSynchronously): 24469 (WebCore::WorkerScriptLoader::loadAsynchronously): 24470 * workers/WorkerScriptLoader.h: 24471 (WebCore::WorkerContext::importScripts): 24472 * xml/XMLHttpRequest.cpp: 24473 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 24474 244752009-06-16 Tony Chang <tony@chromium.org> 24476 24477 Reviewed by Darin Fisher. 24478 24479 Fix a UMR in WebCore::BitStack by initializing new memory to 0. 24480 https://bugs.webkit.org/show_bug.cgi?id=26449 24481 No new tests, covered by purify. 24482 24483 * editing/TextIterator.cpp: 24484 (WebCore::BitStack::push): 24485 244862009-06-16 Brent Fulgham <bfulgham@webkit.org> 24487 24488 Reviewed by Xan Lopez. 24489 24490 Test: fast/multicol/columns-shorthand-parsing.html 24491 24492 Fixes https://bugs.webkit.org/show_bug.cgi?id=26453. 24493 Null Cairo contextwill crash Windows Cairo build. 24494 24495 * platform/graphics/win/GraphicsContextCairoWin.cpp: 24496 (WebCore::GraphicsContextPlatformPrivate::syncContext): 24497 Add a check for null context before attempting to 24498 retrieve the Cairo surface. 24499 245002009-06-16 Peter Kasting <pkasting@google.com> 24501 24502 Reviewed by Xan Lopez. 24503 24504 https://bugs.webkit.org/show_bug.cgi?id=26447 24505 Fix animated GIF breakage in Cairo/wx ports. 24506 24507 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 24508 (WebCore::RGBA32Buffer::copyBitmapData): 24509 (WebCore::RGBA32Buffer::operator=): 24510 * platform/image-decoders/wx/ImageDecoderWx.cpp: 24511 (WebCore::RGBA32Buffer::copyBitmapData): 24512 (WebCore::RGBA32Buffer::operator=): 24513 245142009-06-16 Pierre d'Herbemont <pdherbemont@apple.com> 24515 24516 Reviewed by John Sullivan 24517 24518 <rdar://problem/6937882> 24519 24520 Tweak "time remaining" and "time elapsed" fields in the overlay video controller. 24521 24522 * css/mediaControlsQT.css: 24523 245242009-06-16 Jian Li <jianli@chromium.org> 24525 24526 Reviewed by Adam Barth and David Levin. 24527 24528 Bug 26146: Change to use ThreadableLoader to load the worker script 24529 in order to check URL origin for redirection. 24530 https://bugs.webkit.org/show_bug.cgi?id=26146 24531 24532 Test: http/tests/workers/worker-redirect.html 24533 24534 * GNUmakefile.am: 24535 * WebCore.pro: 24536 * WebCore.vcproj/WebCore.vcproj: 24537 * WebCore.xcodeproj/project.pbxproj: 24538 * workers/Worker.cpp: 24539 (WebCore::Worker::Worker): 24540 (WebCore::Worker::notifyFinished): 24541 * workers/Worker.h: 24542 * workers/WorkerContext.cpp: 24543 (WebCore::WorkerContext::importScripts): 24544 * workers/WorkerImportScriptsClient.cpp: Removed. 24545 * workers/WorkerImportScriptsClient.h: Removed. 24546 * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp. 24547 This to make it more generic so worker script loading could use it. 24548 (WebCore::WorkerScriptLoader::loadSynchronously): 24549 (WebCore::WorkerScriptLoader::loadAsynchronously): 24550 (WebCore::WorkerScriptLoader::didFinishLoading): 24551 (WebCore::WorkerScriptLoader::didFail): 24552 (WebCore::WorkerScriptLoader::didFailRedirectCheck): 24553 (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): 24554 (WebCore::WorkerScriptLoader::notifyFinished): 24555 * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h. 24556 This to make it more generic so worker script loading could use it. 24557 * workers/WorkerScriptLoaderClient.h: Added. 24558 245592009-06-16 Brent Fulgham <bfulgham@gmail.com> 24560 24561 Reviewed by Darin Adler. 24562 24563 Use consistent GUID comparison functions. 24564 https://bugs.webkit.org/show_bug.cgi?id=26427 24565 24566 * platform/win/WCDataObject.cpp: 24567 (WebCore::WCDataObject::QueryInterface): 24568 245692009-06-16 Xan Lopez <xlopez@igalia.com> 24570 24571 Reviewed by Gustavo Noronha. 24572 24573 Fix compiler warning. 24574 24575 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24576 (webkit_accessible_class_init): 24577 245782009-08-07 Luke Kenneth Casson Leighton <lkcl@lkcl.net> 24579 24580 Reviewed by Eric Seidel. 24581 24582 https://bugs.webkit.org/show_bug.cgi?id=27424 24583 24584 * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added. 24585 (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 24586 245872009-06-16 Xan Lopez <xlopez@igalia.com> 24588 24589 Reviewed by Gustavo Noronha. 24590 24591 Remove dummy AtkStreamableContent implementation. 24592 24593 It's completely empty, we'll add it back (and conditionally 24594 instead of unconditionally) when it does something. 24595 24596 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24597 (GetAtkInterfaceTypeFromWAIType): 24598 (getInterfaceMaskFromObject): 24599 24600== Rolled over to ChangeLog-2009-06-16 == 24601