1 2011-02-15 Gavin Barraclough <barraclough (a] apple.com> 2 3 Reviewed by Geoff Garen. 4 5 Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage. 6 7 Currently JSObject is both directly instantiated for regular JS objects, and 8 derived to implement subtypes. A consequence of this is that we need to ensure 9 that sufficient space from the cell is left unused and available for any data 10 members that will be introduced by subclasses of JSObject. By restructuring 11 the internal storage array out of JSObject we can increase the size in the 12 internal storage for regular objects. 13 14 Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as 15 much additional capacity as is currently available to allow for data members 16 in subclasses. JSFinalObject utilizes all available space for internal storage, 17 and only allows construction through JSFinalObject::create(). 18 19 * bindings/js/JSDOMWindowShell.h: 20 Update JSObject -> JSNonFinalObject. 21 22 2011-02-16 Carol Szabo <carol.szabo (a] nokia.com> 23 24 Reviewed by David Hyatt. 25 26 REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode 27 https://bugs.webkit.org/show_bug.cgi?id=54478 28 29 Test: fast/css/counters/render-tree-reorg-crash.html 30 31 * rendering/RenderCounter.cpp: 32 (WebCore::findPlaceForCounter): 33 Fixed typo. The code was still walking sometimes the renderer tree 34 instead of the element tree as intended. 35 36 2011-02-16 Hans Wennborg <hans (a] chromium.org> 37 38 Reviewed by Jeremy Orlow. 39 40 IndexedDB: Inject auto increment keys via key path on insertion 41 https://bugs.webkit.org/show_bug.cgi?id=54457 42 43 Inject auto increment keys via key path for object stores using key 44 path and auto increment. 45 46 * bindings/v8/IDBBindingUtilities.cpp: 47 (WebCore::LocalContext::getNthValueOnKeyPath): 48 (WebCore::createIDBKeyFromSerializedValueAndKeyPath): 49 (WebCore::injectIDBKeyIntoSerializedValue): 50 * bindings/v8/IDBBindingUtilities.h: 51 * platform/chromium/PlatformBridge.h: 52 * storage/IDBKeyPathBackendImpl.cpp: 53 (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue): 54 * storage/IDBKeyPathBackendImpl.h: 55 * storage/IDBObjectStoreBackendImpl.cpp: 56 (WebCore::injectKeyIntoKeyPath): 57 (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut): 58 (WebCore::IDBObjectStoreBackendImpl::putInternal): 59 * storage/IDBObjectStoreBackendImpl.h: 60 * storage/chromium/IDBKeyPathBackendImpl.cpp: 61 (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue): 62 63 2011-02-16 Sergio Villar Senin <svillar (a] igalia.com> 64 65 Reviewed by Martin Robinson. 66 67 [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader 68 https://bugs.webkit.org/show_bug.cgi?id=54537 69 70 Headers removed from the SoupMessage should be also removed from 71 the ResourceRequest when updating the latter from the former. 72 73 * platform/network/soup/ResourceRequestSoup.cpp: 74 (WebCore::ResourceRequest::updateFromSoupMessage): 75 76 2011-02-16 Ilya Tikhonovsky <loislo (a] chromium.org> 77 78 Reviewed by Yury Semikhatsky. 79 80 Web Inspector: split all the functions of Inspector backend API by domain. 81 https://bugs.webkit.org/show_bug.cgi?id=54558 82 83 We have a number of functions from different domains in single instance of InspectorBackend. 84 It'd be better to split the functions by their domains. 85 As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container. 86 87 * inspector/CodeGeneratorInspector.pm: 88 * inspector/front-end/AuditRules.js: 89 (WebInspector.AuditRules.evaluateInTargetWindow): 90 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 91 * inspector/front-end/AuditsPanel.js: 92 (WebInspector.AuditsPanel.prototype._reloadResources): 93 * inspector/front-end/BreakpointManager.js: 94 (WebInspector.BreakpointManager.prototype._projectChanged): 95 (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): 96 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 97 (WebInspector.DOMBreakpoint.prototype._enable): 98 (WebInspector.DOMBreakpoint.prototype._disable): 99 (WebInspector.EventListenerBreakpoint.prototype._enable): 100 (WebInspector.EventListenerBreakpoint.prototype._disable): 101 (WebInspector.XHRBreakpoint.prototype._enable): 102 (WebInspector.XHRBreakpoint.prototype._disable): 103 * inspector/front-end/CSSStyleModel.js: 104 (WebInspector.CSSStyleModel.prototype.getStylesAsync): 105 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): 106 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): 107 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): 108 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 109 (WebInspector.CSSStyleModel.prototype.addRule.callback): 110 (WebInspector.CSSStyleModel.prototype.addRule): 111 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 112 (WebInspector.CSSStyleModel.prototype._onRevert): 113 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): 114 (WebInspector.CSSProperty.prototype.setText): 115 (WebInspector.CSSProperty.prototype.setDisabled): 116 (WebInspector.CSSStyleSheet.createForId): 117 (WebInspector.CSSStyleSheet.prototype.setText): 118 * inspector/front-end/ConsoleView.js: 119 (WebInspector.ConsoleView.prototype.requestClearMessages): 120 (WebInspector.ConsoleView.prototype.completions): 121 (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): 122 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 123 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 124 * inspector/front-end/CookieItemsView.js: 125 (WebInspector.CookieItemsView.prototype._deleteCookie): 126 * inspector/front-end/DOMAgent.js: 127 (WebInspector.DOMAgent.prototype.getChildNodesAsync): 128 (WebInspector.DOMAgent.prototype.setAttributeAsync): 129 (WebInspector.DOMAgent.prototype.removeAttributeAsync): 130 (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): 131 (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): 132 (WebInspector.Cookies.getCookiesAsync): 133 (WebInspector.EventListeners.getEventListenersForNodeAsync): 134 * inspector/front-end/DOMStorage.js: 135 (WebInspector.DOMStorage.prototype.getEntries): 136 (WebInspector.DOMStorage.prototype.setItem): 137 (WebInspector.DOMStorage.prototype.removeItem): 138 * inspector/front-end/Database.js: 139 (WebInspector.Database.prototype.getTableNames): 140 (WebInspector.Database.prototype.executeSql): 141 * inspector/front-end/DebuggerModel.js: 142 (WebInspector.DebuggerModel.prototype.enableDebugger): 143 (WebInspector.DebuggerModel.prototype.disableDebugger): 144 (WebInspector.DebuggerModel.prototype.continueToLocation): 145 (WebInspector.DebuggerModel.prototype.setBreakpoint): 146 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 147 (WebInspector.DebuggerModel.prototype.removeBreakpoint): 148 (WebInspector.DebuggerModel.prototype.editScriptSource): 149 * inspector/front-end/ElementsPanel.js: 150 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 151 (WebInspector.ElementsPanel): 152 (WebInspector.ElementsPanel.prototype.setDocument): 153 (WebInspector.ElementsPanel.prototype.searchCanceled): 154 (WebInspector.ElementsPanel.prototype.performSearch): 155 (WebInspector.ElementsPanel.prototype.handleCopyEvent): 156 (WebInspector.ElementsPanel.prototype.setSearchingForNode): 157 * inspector/front-end/ElementsTreeOutline.js: 158 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 159 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): 160 (): 161 * inspector/front-end/ExtensionPanel.js: 162 (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression): 163 * inspector/front-end/ExtensionServer.js: 164 (WebInspector.ExtensionServer.prototype._onAddRequestHeaders): 165 (WebInspector.ExtensionServer.prototype._onReload): 166 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 167 * inspector/front-end/HeapSnapshotView.js: 168 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked): 169 * inspector/front-end/NetworkManager.js: 170 (WebInspector.NetworkManager): 171 (WebInspector.NetworkManager.prototype.reset): 172 (WebInspector.NetworkManager.prototype.requestContent): 173 * inspector/front-end/NetworkPanel.js: 174 (WebInspector.NetworkDataGridNode.prototype._openInNewTab): 175 * inspector/front-end/ProfileView.js: 176 (WebInspector.CPUProfileView): 177 (WebInspector.CPUProfileType.prototype.buttonClicked): 178 * inspector/front-end/ProfilesPanel.js: 179 (WebInspector.ProfilesPanel.prototype._clearProfiles): 180 (WebInspector.ProfilesPanel.prototype._removeProfileHeader): 181 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): 182 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 183 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): 184 * inspector/front-end/PropertiesSidebarPane.js: 185 (WebInspector.PropertiesSidebarPane.prototype.update): 186 * inspector/front-end/RemoteObject.js: 187 (WebInspector.RemoteObject.resolveNode): 188 (WebInspector.RemoteObject.prototype.getProperties): 189 (WebInspector.RemoteObject.prototype.setPropertyValue): 190 (WebInspector.RemoteObject.prototype.pushNodeToFrontend): 191 * inspector/front-end/ResourcesPanel.js: 192 (WebInspector.FrameTreeElement.prototype.onselect): 193 (WebInspector.FrameTreeElement.prototype.set hovered): 194 (WebInspector.FrameResourceTreeElement.prototype.ondblclick): 195 * inspector/front-end/Script.js: 196 (WebInspector.Script.prototype.requestSource): 197 * inspector/front-end/ScriptsPanel.js: 198 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 199 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 200 (WebInspector.ScriptsPanel.prototype._togglePause): 201 (WebInspector.ScriptsPanel.prototype._stepOverClicked): 202 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): 203 (WebInspector.ScriptsPanel.prototype._stepOutClicked): 204 (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): 205 * inspector/front-end/SourceFrame.js: 206 (WebInspector.SourceFrame.prototype._hidePopup): 207 * inspector/front-end/TestController.js: 208 (WebInspector.TestController.prototype.notifyDone): 209 * inspector/front-end/TimelinePanel.js: 210 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 211 * inspector/front-end/WatchExpressionsSidebarPane.js: 212 (WebInspector.WatchExpressionsSection.prototype.update): 213 * inspector/front-end/WorkersSidebarPane.js: 214 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): 215 * inspector/front-end/inspector.js: 216 (WebInspector.highlightDOMNode): 217 (WebInspector.doLoadedDone): 218 (WebInspector.openResource): 219 (WebInspector.documentKeyDown): 220 221 2011-02-16 Mario Sanchez Prada <msanchez (a] igalia.com> 222 223 Reviewed by Martin Robinson. 224 225 [GTK] events missing when a document is (re)loaded 226 https://bugs.webkit.org/show_bug.cgi?id=25831 227 228 Make sure webArea returns a proper name and that a signal 229 'state-change::defunct' is emitted when detaching the wrapper. 230 231 Test: platform/gtk/accessibility/document-reload-events.html 232 233 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 234 (webkit_accessible_get_name): Returns the current document's title 235 as fallback mechanism for webArea objects. 236 (webkit_accessible_detach): Emit 'state-change::defunct' function 237 as soon as the wrapper is detached from the related core object. 238 239 2011-02-15 Nikolas Zimmermann <nzimmermann (a] rim.com> 240 241 Reviewed by Dirk Schulze. 242 243 Pixel tests differences on 10.6.6 32bit vs. 64bit 244 https://bugs.webkit.org/show_bug.cgi?id=54474 245 246 When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP) 247 and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences. 248 249 These fall in two categories: 250 a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image. 251 The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines. 252 AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform. 253 254 b) Failures >0.1% (text origin/scale is slightly different, user-visible). 255 Caused by several sources of numerical instabilities within the SVG rendering code. 256 257 -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG). 258 This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats 259 this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision. 260 261 -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size. 262 SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards. 263 context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor); 264 265 To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores 266 doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1. 267 Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision. 268 Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point 269 number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them. 270 Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform. 271 272 -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG) 273 Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years! 274 275 -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor' 276 normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform). 277 After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM. 278 This fixes all pixel test differences between 32/64 bit machines that fall into category b). 279 The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision. 280 281 These combined patches fix the pixel test baseline changes. 282 283 Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0. 284 The 64bit machine passes the baseline with tolerance 0.01. 285 286 * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method. 287 * platform/graphics/cairo/GraphicsContextCairo.cpp: 288 (WebCore::GraphicsContext::setCTM): Implement setCTM. 289 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 290 (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. 291 * platform/graphics/cg/GraphicsContextCG.cpp: 292 (WebCore::GraphicsContext::setCTM): Ditto. 293 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 294 (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. 295 * platform/graphics/chromium/GLES2Canvas.cpp: 296 (WebCore::GLES2Canvas::setCTM): Ditto. 297 * platform/graphics/chromium/GLES2Canvas.h: 298 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 299 (WebCore::GraphicsContext::setCTM): Ditto. 300 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 301 (WebCore::GraphicsContext::setCTM): Ditto. 302 * platform/graphics/qt/GraphicsContextQt.cpp: 303 (WebCore::GraphicsContext::setCTM): Ditto. 304 * platform/graphics/skia/GraphicsContextSkia.cpp: 305 (WebCore::GraphicsContext::setCTM): Ditto. 306 * platform/graphics/win/GraphicsContextWin.cpp: 307 (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. 308 * platform/graphics/wince/GraphicsContextWinCE.cpp: 309 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 310 (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto. 311 (WebCore::GraphicsContext::setCTM): 312 * platform/graphics/wx/GraphicsContextWx.cpp: 313 (WebCore::GraphicsContext::setCTM): Ditto. 314 * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text. 315 (WebCore::normalizeTransform): 316 (WebCore::SVGInlineTextBox::paintDecorationWithStyle): 317 (WebCore::SVGInlineTextBox::paintTextWithShadows): 318 * svg/SVGPreserveAspectRatio.cpp: s/double/float/. 319 (WebCore::SVGPreserveAspectRatio::getCTM): 320 * svg/SVGPreserveAspectRatio.h: 321 * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles. 322 (WebCore::SVGSVGElement::viewport): 323 324 2011-02-16 Andreas Kling <kling (a] webkit.org> 325 326 Reviewed by Dirk Schulze. 327 328 SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText() 329 https://bugs.webkit.org/show_bug.cgi?id=54547 330 331 * svg/SVGAnimateElement.cpp: 332 (WebCore::SVGAnimateElement::applyResultsToTarget): 333 334 2011-02-14 Mikhail Naganov <mnaganov (a] chromium.org> 335 336 Reviewed by Pavel Feldman. 337 338 Web Inspector: [Chromium] Landing detailed heap snapshots, part 3. 339 https://bugs.webkit.org/show_bug.cgi?id=54385 340 341 Provide node classes for data grid views: 342 - summary -- list of objects by constuctor; 343 - diff -- summaries btw two snapshots; 344 - explorer -- explore heap graph; 345 - dominators tree; 346 347 * WebCore.gypi: 348 * WebCore.vcproj/WebCore.vcproj: 349 * inspector/front-end/DetailedHeapshotGridNodes.js: Added. 350 * inspector/front-end/HeapSnapshot.js: 351 (WebInspector.HeapSnapshotFilteredOrderedIterator): 352 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount): 353 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount): 354 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next): 355 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount): 356 (WebInspector.HeapSnapshotEdgesProvider): 357 (WebInspector.HeapSnapshotNodesProvider): 358 * inspector/front-end/PleaseWaitMessage.js: 359 (WebInspector.PleaseWaitMessage.prototype.get instance): 360 * inspector/front-end/WebKit.qrc: 361 * inspector/front-end/inspector.html: 362 363 2011-02-16 Sheriff Bot <webkit.review.bot (a] gmail.com> 364 365 Unreviewed, rolling out r78655. 366 http://trac.webkit.org/changeset/78655 367 https://bugs.webkit.org/show_bug.cgi?id=54543 368 369 Causes too many test failures in chromium (Requested by 370 mnaganov on #webkit). 371 372 * bindings/js/JSEventListener.cpp: 373 (WebCore::JSEventListener::handleEvent): 374 * bindings/js/JSEventTarget.cpp: 375 (WebCore::toJS): 376 * bindings/v8/V8AbstractEventListener.cpp: 377 (WebCore::V8AbstractEventListener::invokeEventHandler): 378 * dom/EventTarget.cpp: 379 * dom/EventTarget.h: 380 * storage/IDBRequest.cpp: 381 * storage/IDBRequest.h: 382 383 2011-02-16 Ilya Tikhonovsky <loislo (a] chromium.org> 384 385 Reviewed by Yury Semikhatsky. 386 387 Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents. 388 389 https://bugs.webkit.org/show_bug.cgi?id=54455 390 391 Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents. 392 At the moment we are using InspectorAgent instance for such calls. 393 394 * inspector/InspectorAgent.cpp: 395 (WebCore::InspectorAgent::InspectorAgent): 396 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 397 (WebCore::InspectorAgent::pushDataCollectedOffline): 398 (WebCore::InspectorAgent::didCommitLoad): 399 * inspector/InspectorAgent.h: 400 (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase): 401 (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase): 402 (WebCore::InspectorAgent::databaseAgentResources): 403 (WebCore::InspectorAgent::domStorageAgentResources): 404 * inspector/InspectorDOMStorageAgent.cpp: 405 (WebCore::InspectorDOMStorageAgent::Resources::clear): 406 (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline): 407 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 408 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 409 (WebCore::InspectorDOMStorageAgent::createOfflineStorage): 410 (WebCore::InspectorDOMStorageAgent::selectDOMStorage): 411 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 412 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): 413 * inspector/InspectorDOMStorageAgent.h: 414 (WebCore::InspectorDOMStorageAgent::create): 415 * inspector/InspectorDatabaseAgent.cpp: 416 (WebCore::InspectorDatabaseAgent::Resources::clear): 417 (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline): 418 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 419 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 420 (WebCore::InspectorDatabaseAgent::createOfflineStorage): 421 (WebCore::InspectorDatabaseAgent::databaseForId): 422 (WebCore::InspectorDatabaseAgent::selectDatabase): 423 * inspector/InspectorDatabaseAgent.h: 424 (WebCore::InspectorDatabaseAgent::create): 425 * inspector/InspectorInstrumentation.cpp: 426 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): 427 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): 428 429 2011-02-15 John Sullivan <sullivan (a] apple.com> 430 431 Reviewed by Antti Koivisto. 432 433 Dan Bernstein came up with this fix while we debugged it. I just typed. 434 435 https://bugs.webkit.org/show_bug.cgi?id=54532 436 On platforms without platformWidgets, going Back to a scrolled page 437 draws at the top-left before drawing at the restored scroll position 438 439 <rdar://problem/8998838> 440 441 * page/FrameView.cpp: 442 (WebCore::FrameView::performPostLayoutTasks): 443 Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks 444 for nested layouts. Doing so was causing ScrollView::setScrollPosition() 445 to short-circuit. 446 447 2011-02-15 Csaba Osztrogonc <ossy (a] webkit.org> 448 449 Unreviewed. 450 451 [Qt][V8] Buildfix. Add missing USE(JSC) guard. 452 453 * plugins/qt/PluginViewQt.cpp: 454 455 2011-02-15 Ami Fischman <fischman (a] chromium.org> 456 457 Reviewed by David Levin. 458 459 Remove the artificial -32px shift for media controls in mediaDocuments 460 so that they overlap the canvas as they do in non-mediaDocuments. 461 This also fixes test_shell failing to update the media slider (see 462 linked crbug below). 463 464 https://bugs.webkit.org/show_bug.cgi?id=27798 465 http://crbug.com/72623 466 467 Test: media/video-controls-in-media-document.html 468 Added a render test that asserts that the controls show up in the 469 expected spot (0,208) instead of below the canvas (0,240). 470 471 * css/mediaControlsChromium.css: 472 473 2011-02-15 Ryosuke Niwa <rniwa (a] webkit.org> 474 475 Reviewed by Darin Adler. 476 477 Extract a function to process ancestor and their sibling nodes from processContents 478 https://bugs.webkit.org/show_bug.cgi?id=54425 479 480 Extracted processAncestorsAndTheirSiblings. 481 482 * dom/Range.cpp: 483 (WebCore::Range::processContents): Calls processContents. 484 (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents. 485 * dom/Range.h: 486 487 2011-02-15 Kent Tamura <tkent (a] chromium.org> 488 489 Reviewed by Darin Fisher. 490 491 [Chromium] Rendering error of spin buttons on layers 492 https://bugs.webkit.org/show_bug.cgi?id=54427 493 494 Test: fast/forms/input-appearance-spinbutton-layer.html 495 496 * rendering/RenderThemeChromiumWin.cpp: 497 Add checks for multiple ThemePainter instances. 498 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): 499 Avoid to create multiple ThemePainter instances. 500 501 2011-02-15 Chris Rogers <crogers (a] google.com> 502 503 Reviewed by Kenneth Russell. 504 505 Fix race condition in JavaScriptAudioNode 506 https://bugs.webkit.org/show_bug.cgi?id=54518 507 508 No new tests since audio API is not yet implemented. 509 510 * webaudio/JavaScriptAudioNode.cpp: 511 (WebCore::JavaScriptAudioNode::process): 512 513 2011-02-10 Jeremy Orlow <jorlow (a] chromium.org> 514 515 Reviewed by Nate Chapin. 516 517 Throwing in an IndexedDB error or success event should lead to the transaction aborting 518 https://bugs.webkit.org/show_bug.cgi?id=54249 519 520 When an exception is thrown but not handled within an IDBRequests success/error event, 521 we should abort the transaction. 522 523 Test: storage/indexeddb/exception-in-event-aborts.html 524 525 * bindings/js/JSEventListener.cpp: 526 (WebCore::JSEventListener::handleEvent): 527 * bindings/js/JSEventTarget.cpp: 528 (WebCore::toJS): 529 * bindings/v8/V8AbstractEventListener.cpp: 530 (WebCore::V8AbstractEventListener::invokeEventHandler): 531 * dom/EventTarget.cpp: 532 (WebCore::EventTarget::uncaughtExceptionInEventHandler): 533 * dom/EventTarget.h: 534 * storage/IDBRequest.cpp: 535 (WebCore::IDBRequest::uncaughtExceptionInEventHandler): 536 * storage/IDBRequest.h: 537 538 2011-02-15 Ian Henderson <ianh (a] apple.com> 539 540 Reviewed by Darin Adler. 541 542 To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size 543 https://bugs.webkit.org/show_bug.cgi?id=53281 544 545 When determining properties of an image (such as its size), CG ends up 546 decoding part of the image. This patch adds accounting for this extra 547 decoded size so a cache prune can clean up the allocations. 548 549 * platform/graphics/BitmapImage.cpp: 550 (WebCore::BitmapImage::BitmapImage): 551 (WebCore::BitmapImage::destroyMetadataAndNotify): 552 Clearing the source destroys the extra decoded data. Report this 553 change in decoded size to the image observer. 554 (WebCore::BitmapImage::cacheFrame): 555 The first decoded frame subsumes the data decoded when determining 556 image properties, so we subtract it out here. 557 (WebCore::BitmapImage::didDecodeProperties): 558 Reports the extra decoded size to the image's observer. 559 (WebCore::BitmapImage::size): 560 (WebCore::BitmapImage::currentFrameSize): 561 (WebCore::BitmapImage::getHotSpot): 562 (WebCore::BitmapImage::frameCount): 563 (WebCore::BitmapImage::isSizeAvailable): 564 (WebCore::BitmapImage::repetitionCount): 565 * platform/graphics/BitmapImage.h: 566 * platform/graphics/ImageSource.cpp: 567 (WebCore::ImageSource::bytesDecodedToDetermineProperties): 568 The default value is 0 to match the current behavior on other 569 platforms. 570 * platform/graphics/ImageSource.h: 571 * platform/graphics/cg/ImageSourceCG.cpp: 572 (WebCore::ImageSource::bytesDecodedToDetermineProperties): 573 Add a constant value for bytesDecodedToDetermineProperties(), measured 574 by tracing malloc/calloc calls while asking an image source for its 575 properties. 576 577 2011-02-15 James Robinson <jamesr (a] chromium.org> 578 579 Reviewed by Alexey Proskuryakov. 580 581 requestAnimationFrame callbacks should not fire within a modal dialog 582 https://bugs.webkit.org/show_bug.cgi?id=53188 583 584 requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()). 585 This matches Firefox and other async APIs. This patch moves the callback servicing into its own 586 controller class which receives notifications on suspend/resume. 587 588 Test: fast/animation/request-animation-frame-during-modal.html 589 590 * WebCore.gypi: 591 * bindings/js/ScriptDebugServer.cpp: 592 (WebCore::ScriptDebugServer::setJavaScriptPaused): 593 * dom/Document.cpp: 594 (WebCore::Document::Document): 595 (WebCore::Document::suspendScriptedAnimationControllerCallbacks): 596 (WebCore::Document::resumeScriptedAnimationControllerCallbacks): 597 (WebCore::Document::webkitRequestAnimationFrame): 598 (WebCore::Document::webkitCancelRequestAnimationFrame): 599 (WebCore::Document::serviceScriptedAnimations): 600 * dom/Document.h: 601 * dom/ScriptExecutionContext.h: 602 (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks): 603 (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks): 604 * dom/ScriptedAnimationController.cpp: Added. 605 (WebCore::ScriptedAnimationController::ScriptedAnimationController): 606 (WebCore::ScriptedAnimationController::suspend): 607 (WebCore::ScriptedAnimationController::resume): 608 (WebCore::ScriptedAnimationController::registerCallback): 609 (WebCore::ScriptedAnimationController::cancelCallback): 610 (WebCore::ScriptedAnimationController::serviceScriptedAnimations): 611 * dom/ScriptedAnimationController.h: Added. 612 (WebCore::ScriptedAnimationController::create): 613 * history/CachedFrame.cpp: 614 (WebCore::CachedFrameBase::restore): 615 (WebCore::CachedFrame::CachedFrame): 616 * page/PageGroupLoadDeferrer.cpp: 617 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 618 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 619 620 2011-02-14 Jeremy Orlow <jorlow (a] chromium.org> 621 622 Reviewed by Darin Fisher. 623 624 Add initial support for per-origin quotas to IndexedDB 625 https://bugs.webkit.org/show_bug.cgi?id=54421 626 627 Add support for non-persistent per-origin quotas. If one is 628 specified, it overrides the default. 629 630 No tests as this is only exposed via the Chromium webkit API. 631 632 * storage/IDBFactoryBackendImpl.cpp: 633 (WebCore::IDBFactoryBackendImpl::open): 634 (WebCore::IDBFactoryBackendImpl::setQuota): 635 * storage/IDBFactoryBackendImpl.h: 636 * storage/IDBFactoryBackendInterface.h: 637 638 2011-02-15 Adam Barth <abarth (a] webkit.org> 639 640 Reviewed by Darin Adler. 641 642 XSLT with output method HTML and images crashes in debug mode 643 https://bugs.webkit.org/show_bug.cgi?id=54462 644 645 http://trac.webkit.org/changeset/75577 created Document::setContent but 646 didn't notice that the code paths combined into Document::setContent 647 were subtly different. In particular, some of the code paths called 648 parser->finish() whereas other did not. 649 650 The difference is that an explicit call to parser->finish() is required 651 in the case where there is no frame because explicitClose doesn't call 652 endIfNotLoadingMainResource if there is no frame. This patch moves 653 that logic inside explicitClose, which is more natural. 654 655 This patch also removes removeAllChildren, which has not effect in this 656 situation and should never have been added in the first place. 657 658 Test: fast/parser/xslt-with-html.xml 659 660 * dom/Document.cpp: 661 (WebCore::Document::setContent): 662 (WebCore::Document::explicitClose): 663 664 2011-02-15 Oliver Hunt <oliver (a] apple.com> 665 666 Fix EFL build for 667 https://bugs.webkit.org/show_bug.cgi?id=54415 668 669 * CMakeLists.txt: 670 671 2011-02-15 David Kilzer <ddkilzer (a] apple.com> 672 673 <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp 674 675 Reviewed by Darin Adler. 676 677 * rendering/RenderLayerBacking.cpp: Remove unused 678 WebGLRenderingContext.h header, and move GraphicsContext3D.h 679 into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif 680 block. 681 682 2011-02-14 Oliver Hunt <oliver (a] apple.com> 683 684 Reviewed by Gavin Barraclough and Geoff Garen. 685 686 Refactor handles and weak pointers to become nicer and more automatic 687 https://bugs.webkit.org/show_bug.cgi?id=54415 688 689 Update WebCore to use the new Global<> type rather than ProtectedJSValue 690 and gc[Un]Protect. Also update to use new WeakGCPtr APIs, and remove now 691 unnecessary destructors. 692 693 * ForwardingHeaders/collector/handles/Global.h: Added. 694 * WebCore.vcproj/WebCore.vcproj: 695 * WebCore.vcproj/copyForwardingHeaders.cmd: 696 * bindings/js/JSCallbackData.h: 697 (WebCore::JSCallbackData::JSCallbackData): 698 * bindings/js/JSCustomVoidCallback.h: 699 * bindings/js/JSDOMBinding.cpp: 700 (WebCore::forgetDOMNode): 701 (WebCore::cacheDOMNodeWrapper): 702 * bindings/js/JSDOMWindowBase.h: 703 * bindings/js/JSDOMWindowShell.cpp: 704 (WebCore::JSDOMWindowShell::setWindow): 705 * bindings/js/JSDataGridDataSource.h: 706 * bindings/js/JSEventListener.cpp: 707 (WebCore::JSEventListener::JSEventListener): 708 * bindings/js/JSEventListener.h: 709 (WebCore::JSEventListener::setWrapper): 710 * bindings/js/JSLazyEventListener.cpp: 711 (WebCore::JSLazyEventListener::initializeJSFunction): 712 * bindings/js/ScheduledAction.cpp: 713 (WebCore::ScheduledAction::ScheduledAction): 714 (WebCore::ScheduledAction::executeFunctionInContext): 715 * bindings/js/ScheduledAction.h: 716 (WebCore::ScheduledAction::ScheduledAction): 717 * bindings/js/ScriptCachedFrameData.cpp: 718 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 719 (WebCore::ScriptCachedFrameData::restore): 720 * bindings/js/ScriptCachedFrameData.h: 721 * bindings/js/ScriptCallStackFactory.cpp: 722 (WebCore::createScriptArguments): 723 * bindings/js/ScriptController.cpp: 724 (WebCore::ScriptController::createWindowShell): 725 (WebCore::ScriptController::evaluateInWorld): 726 (WebCore::ScriptController::clearWindowShell): 727 (WebCore::ScriptController::attachDebugger): 728 * bindings/js/ScriptController.h: 729 * bindings/js/ScriptFunctionCall.cpp: 730 (WebCore::ScriptFunctionCall::call): 731 (WebCore::ScriptCallback::call): 732 * bindings/js/ScriptObject.cpp: 733 (WebCore::ScriptObject::ScriptObject): 734 * bindings/js/ScriptObject.h: 735 * bindings/js/ScriptState.cpp: 736 (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr): 737 (WebCore::ScriptStateProtectedPtr::get): 738 * bindings/js/ScriptState.h: 739 * bindings/js/ScriptValue.cpp: 740 (WebCore::ScriptValue::isFunction): 741 (WebCore::ScriptValue::deserialize): 742 * bindings/js/ScriptValue.h: 743 (WebCore::ScriptValue::ScriptValue): 744 (WebCore::ScriptValue::hasNoValue): 745 * bindings/js/ScriptWrappable.h: 746 (WebCore::ScriptWrappable::ScriptWrappable): 747 (WebCore::ScriptWrappable::setWrapper): 748 * bindings/js/WorkerScriptController.cpp: 749 (WebCore::WorkerScriptController::WorkerScriptController): 750 (WebCore::WorkerScriptController::~WorkerScriptController): 751 (WebCore::WorkerScriptController::initScript): 752 (WebCore::WorkerScriptController::evaluate): 753 * bindings/js/WorkerScriptController.h: 754 (WebCore::WorkerScriptController::workerContextWrapper): 755 * bindings/scripts/CodeGeneratorJS.pm: 756 * bridge/NP_jsobject.cpp: 757 (_NPN_InvokeDefault): 758 (_NPN_Invoke): 759 (_NPN_Evaluate): 760 (_NPN_Construct): 761 * bridge/jsc/BridgeJSC.cpp: 762 (JSC::Bindings::Instance::Instance): 763 (JSC::Bindings::Instance::~Instance): 764 (JSC::Bindings::Instance::willDestroyRuntimeObject): 765 (JSC::Bindings::Instance::willInvalidateRuntimeObject): 766 * bridge/jsc/BridgeJSC.h: 767 * bridge/runtime_object.cpp: 768 (JSC::Bindings::RuntimeObject::invalidate): 769 * bridge/runtime_root.cpp: 770 (JSC::Bindings::RootObject::RootObject): 771 (JSC::Bindings::RootObject::invalidate): 772 (JSC::Bindings::RootObject::globalObject): 773 (JSC::Bindings::RootObject::updateGlobalObject): 774 * bridge/runtime_root.h: 775 * dom/EventListener.h: 776 * dom/EventTarget.h: 777 (WebCore::EventTarget::markJSEventListeners): 778 * xml/XMLHttpRequest.cpp: 779 780 Qt bindings courtesy of Csaba Osztrogonc 781 * bridge/qt/qt_runtime.cpp: 782 (JSC::Bindings::QtRuntimeConnectionMethod::call): 783 (JSC::Bindings::QtConnectionObject::QtConnectionObject): 784 (JSC::Bindings::QtConnectionObject::execute): 785 (JSC::Bindings::QtConnectionObject::match): 786 * bridge/qt/qt_runtime.h: 787 788 2011-02-15 Jia Pu <jpu (a] apple.com> 789 790 Reviewed by Darin Adler. 791 792 Autocorrection should respect undo. 793 https://bugs.webkit.org/show_bug.cgi?id=52221 794 <rdar://problem/8663399> 795 796 Manual test: manual-tests/autocorrection/undo-autocorrection.html 797 798 When user undoes an autocorrection, we need to do four things: 799 1. Revert the change in text that has been made by correction. 800 2. Revert the selection to pre-correction state so that user can immediately continue typing. 801 3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown 802 as misspelled. 803 4. If applicable, notify spell checking service to record this reversion. 804 805 To achieve these, this patch introduces following changes: 806 1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any 807 other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand, 808 SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand. 809 2. Created SetSelectionCommand so that undo command can restore selection state. 810 3. Added member function recordAutocorrectionResponse() to editor client. 811 812 To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection() 813 and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been 814 replaced by enum variable. 815 816 * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand. 817 818 * WebCore.xcodeproj/project.pbxproj: Updated for new source files. 819 820 * editing/CompositeEditCommand.cpp: 821 (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create(). 822 823 * editing/Editor.cpp: 824 (WebCore::Editor::replaceSelectionWithFragment): Ditto. 825 (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace. 826 (WebCore::Editor::reappliedEditing): Ditto. 827 (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection(). 828 (WebCore::Editor::confirmComposition): Ditto. 829 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the 830 level of deeply nested if statement. Adopted SpellingCorrectionCommand. 831 (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand. 832 (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and 833 for notifiying editor client about undone correction. 834 (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection(). 835 (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions 836 instead of boolean variables. 837 838 * editing/Editor.h: Added Editor::unappliedSpellCorrection(). 839 840 * editing/EditorCommand.cpp: 841 (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create(). 842 843 * editing/MoveSelectionCommand.cpp: 844 (WebCore::MoveSelectionCommand::doApply): Ditto. 845 846 * editing/ReplaceSelectionCommand.cpp: 847 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments 848 with an enum value. 849 850 * editing/ReplaceSelectionCommand.h: 851 (WebCore::ReplaceSelectionCommand::create): Ditto. 852 853 * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection(). 854 (WebCore::SelectionController::moveTo): 855 (WebCore::SelectionController::setSelection): 856 (WebCore::SelectionController::respondToNodeModification): 857 (WebCore::SelectionController::setBase): 858 (WebCore::SelectionController::setExtent): 859 (WebCore::SelectionController::setSelectedRange): 860 861 * editing/SelectionController.h: 862 (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value. 863 864 * editing/SetSelectionCommand.cpp: Added. 865 (WebCore::SetSelectionCommand::SetSelectionCommand): 866 (WebCore::SetSelectionCommand::doApply): 867 (WebCore::SetSelectionCommand::doUnapply): 868 869 * editing/SetSelectionCommand.h: Added. 870 (WebCore::SetSelectionCommand::create): 871 872 * editing/mac/SpellingCorrectionCommand.cpp: Added. 873 (WebCore::SpellingCorrectionRecordUndoCommand::create): 874 (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand): 875 (WebCore::SpellingCorrectionRecordUndoCommand::doApply): 876 (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply): 877 (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand): 878 (WebCore::SpellingCorrectionCommand::doApply): 879 880 * editing/mac/SpellingCorrectionCommand.h: Added. 881 (WebCore::SpellingCorrectionCommand::create): 882 883 * loader/EmptyClients.h: Updated for the new function declared in EditorClient. 884 (WebCore::EmptyEditorClient::recordAutocorrectionResponse): 885 886 * manual-tests/autocorrection/undo-autocorrection.html: Added. 887 888 * page/ContextMenuController.cpp: 889 (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create(). 890 891 * page/DragController.cpp: 892 (WebCore::DragController::concludeEditDrag): Ditto. 893 894 * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse(). 895 896 2011-02-15 Beth Dakin <bdakin (a] apple.com> 897 898 Reviewed by Darin Adler. 899 900 Speculative fix for <rdar://problem/8998498> CrashTracer: [USER] 901 8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately: 902 903 My best guess is that this is crashing because 904 willRemoveVerticalScrollbar()/Horizontal was not being called 905 properly from the RenderLayer destructor. 906 907 Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar() 908 so that all current and future scrollbar-destroyers will properly 909 call this function. And only do it for native scrollers. 910 (WebCore::RenderLayer::destroyScrollbar): 911 (WebCore::RenderListBox::destroyScrollbar): 912 913 For consistency's sake, I also moved didAddVerticalScrollbar() 914 /Horizontal to createScrollbar(). Again, only call for native 915 scrollers. 916 * rendering/RenderLayer.cpp: 917 (WebCore::RenderLayer::createScrollbar): 918 (WebCore::RenderListBox::createScrollbar): 919 920 These functions no longer call didAdd/willRemove. 921 (WebCore::RenderLayer::setHasHorizontalScrollbar): 922 (WebCore::RenderLayer::setHasVerticalScrollbar): 923 * rendering/RenderListBox.cpp: 924 (WebCore::RenderListBox::setHasVerticalScrollbar): 925 926 Remove unnecessary ScrollableArea::-prefix 927 * platform/ScrollView.cpp: 928 (WebCore::ScrollView::setHasHorizontalScrollbar): 929 (WebCore::ScrollView::setHasVerticalScrollbar): 930 931 2011-02-15 Joseph Pecoraro <joepeck (a] webkit.org> 932 933 Reviewed by David Kilzer. 934 935 Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues 936 https://bugs.webkit.org/show_bug.cgi?id=54048 937 938 * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block. 939 * bindings/js/ScriptHeapSnapshot.h: include no longer needed. 940 941 2011-02-15 Stephen White <senorblanco (a] chromium.org> 942 943 Reviewed by James Robinson. 944 945 [chromium] clearRect() is incorrect in accelerated 2D canvas. 946 https://bugs.webkit.org/show_bug.cgi?id=54497 947 948 When doing GPU-Canvas2D clearRect() using the fast path (glClear()), 949 we were not correctly converting from canvas to screen coordinates. 950 Fixed by inverting the rectangle in Y, and changing 951 SharedGraphicsContext3D::scissor to take glScissor-like parameters. 952 953 Covered by fast/canvas/canvas-strokeRect.html. 954 955 * platform/graphics/chromium/GLES2Canvas.cpp: 956 (WebCore::GLES2Canvas::clearRect): 957 Flip the Y coord of the rectangle passed to scissor(). 958 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 959 (WebCore::SharedGraphicsContext3D::scissor): 960 * platform/graphics/gpu/SharedGraphicsContext3D.h: 961 Give scissor() the same param types as GraphicsContext3D::scissor(). 962 963 2011-02-15 Pratik Solanki <psolanki (a] apple.com> 964 965 Move WTF_USE_CFNETWORK to Platform.h 966 https://bugs.webkit.org/show_bug.cgi?id=54168 967 968 Reviewed by Darin Adler. 969 970 * config.h: Remove WTF_USE_CFNETWORK. 971 972 2011-02-15 Kenneth Russell <kbr (a] google.com> 973 974 Reviewed by Darin Fisher. 975 976 Allow controlling minimum DOMTimer interval on a per-page basis 977 https://bugs.webkit.org/show_bug.cgi?id=54312 978 979 Renamed DOMTimer::minTimerInterval and setMinTimerInterval to 980 defaultMinTimerInterval and setDefaultMinTimerInterval, made them 981 private and exposed them via Settings::defaultMinDOMTimerInterval 982 and setDefaultMinDOMTimerInterval. Added new 983 Settings::setMinDOMTimerInterval and minDOMTimerInterval. 984 985 The storage for the minimum timer interval currently lives in the 986 Page, though this could be moved to the Settings object if 987 desired. The accessor methods on the Page are private and exposed 988 to Settings by making Settings a friend, so the abstraction 989 barrier is clear at the API level. 990 991 Adjusting the interval both upward and downward may cause the fire 992 times of the active timers on the page to be adjusted, if they 993 would be affected by the clamping value. This is needed to reduce 994 latency when bringing a tab to the foreground, in particular if 995 the minimum timer interval was decreased from a very high value to 996 a very low value. 997 998 A new method, setMinimumTimerInterval, has been added to 999 LayoutTestController, implemented in all ports of DumpRenderTree, 1000 and used in new layout tests. 1001 1002 Ideally changing the page's minimum timer interval would affect 1003 dedicated workers, but this is too much to do in an initial patch, 1004 so a FIXME has been added. 1005 1006 Tested with: 1007 - The new layout tests on the WebKit Mac and Chromium (Mac, 1008 Linux) DRT ports. 1009 - Hooked up the new API in Chromium and ran some simple manual 1010 tests. 1011 1012 Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html 1013 fast/dom/timer-increase-min-interval-and-reset-part-2.html 1014 fast/dom/timer-increase-min-interval.html 1015 fast/dom/timer-increase-then-decrease-min-interval.html 1016 1017 * WebCore.exp.in: 1018 * dom/Document.cpp: 1019 (WebCore::Document::minimumTimerInterval): 1020 * dom/Document.h: 1021 * dom/ScriptExecutionContext.cpp: 1022 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): 1023 (WebCore::ScriptExecutionContext::minimumTimerInterval): 1024 * dom/ScriptExecutionContext.h: 1025 * page/DOMTimer.cpp: 1026 (WebCore::DOMTimer::DOMTimer): 1027 (WebCore::DOMTimer::fired): 1028 (WebCore::DOMTimer::adjustMinimumTimerInterval): 1029 (WebCore::DOMTimer::intervalClampedToMinimum): 1030 * page/DOMTimer.h: 1031 (WebCore::DOMTimer::defaultMinTimerInterval): 1032 (WebCore::DOMTimer::setDefaultMinTimerInterval): 1033 * page/Page.cpp: 1034 (WebCore::Page::Page): 1035 (WebCore::Page::setMinimumTimerInterval): 1036 (WebCore::Page::minimumTimerInterval): 1037 * page/Page.h: 1038 * page/Settings.cpp: 1039 (WebCore::Settings::setDefaultMinDOMTimerInterval): 1040 (WebCore::Settings::defaultMinDOMTimerInterval): 1041 (WebCore::Settings::setMinDOMTimerInterval): 1042 (WebCore::Settings::minDOMTimerInterval): 1043 * page/Settings.h: 1044 * platform/Timer.h: 1045 (WebCore::TimerBase::augmentFireInterval): 1046 (WebCore::TimerBase::augmentRepeatInterval): 1047 1048 2011-02-15 Simon Fraser <simon.fraser (a] apple.com> 1049 1050 Reviewed by Beth Dakin. 1051 1052 Fix scrollbar rendering crash when rendered into a layer 1053 https://bugs.webkit.org/show_bug.cgi?id=54494 1054 1055 Remove code added in r78394 which was intended to find out whether 1056 a scrollbar was being rendered into a compositing layer. r78612 1057 obviated the need for this code. 1058 1059 * page/FrameView.h: 1060 * platform/ScrollableArea.h: 1061 * rendering/RenderLayer.cpp: 1062 * rendering/RenderLayer.h: 1063 * rendering/RenderListBox.cpp: 1064 * rendering/RenderListBox.h: 1065 1066 2011-02-15 Simon Fraser <simon.fraser (a] apple.com> 1067 1068 Let Xcode have its way with the project. 1069 1070 * WebCore.xcodeproj/project.pbxproj: 1071 1072 2011-02-15 Simon Fraser <simon.fraser (a] apple.com> 1073 1074 Fix Mac builds that don't use rubber-band scrolling 1075 by moving m_drawingIntoLayer out of the #ifdef. 1076 1077 * platform/mac/ScrollAnimatorMac.h: 1078 * platform/mac/ScrollAnimatorMac.mm: 1079 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 1080 1081 2011-02-15 Martin Robinson <mrobinson (a] igalia.com> 1082 1083 Reviewed by Xan Lopez. 1084 1085 [Freetype] Better map CSS font weight to Fontconfig font weight 1086 https://bugs.webkit.org/show_bug.cgi?id=54323 1087 1088 * platform/graphics/freetype/FontCacheFreeType.cpp: 1089 (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and 1090 Fontconfig font weights. 1091 (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just 1092 deciding between bold and regular. 1093 1094 2011-02-15 Simon Fraser <simon.fraser (a] apple.com> 1095 1096 Reviewed by Sam Weinig. 1097 1098 Fix scrollbar rendering crash when rendered into a layer 1099 https://bugs.webkit.org/show_bug.cgi?id=54494 1100 1101 The scroller delegate was failing to return a layer in a case 1102 where the scroller was still rendering into a GraphicsLayer, because 1103 even though WebCore had switched out of compositing mode, the 1104 DrawingAreaImpl was still rendering into its nonCompositedContent 1105 layer. This happens when the m_exitCompositingTimer timer hasn't fired 1106 yet. 1107 1108 The fix is to track whether we're drawing into a layer via the 1109 GraphicsContext, rather than asking about compositing layers. 1110 1111 * platform/graphics/GraphicsContext.h: 1112 * platform/graphics/cg/GraphicsContextCG.cpp: 1113 (WebCore::GraphicsContext::setIsCALayerContext): 1114 (WebCore::GraphicsContext::isCALayerContext): 1115 Getter and setter for the bit that says if we're rendering into a CALayer. 1116 1117 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 1118 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 1119 Store a bool for whether this context targets a layer. 1120 1121 * platform/graphics/mac/WebLayer.mm: 1122 (drawLayerContents): Call setIsCALayerContext(true). 1123 1124 * platform/mac/ScrollAnimatorMac.h: 1125 (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer): 1126 (WebCore::ScrollAnimatorMac::isDrawingIntoLayer): 1127 New methods to get and set a flag that says when we're 1128 drawing into a layer, so that the delegate can get at this state. 1129 1130 * platform/mac/ScrollAnimatorMac.mm: 1131 (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer() 1132 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag. 1133 1134 * platform/mac/ScrollbarThemeMac.mm: 1135 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace. 1136 (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer" 1137 state down onto ScrollAnimatorMac, getting it from the GraphicsContext. 1138 1139 2011-02-15 Anders Carlsson <andersca (a] apple.com> 1140 1141 Reviewed by Darin Adler. 1142 1143 Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers 1144 https://bugs.webkit.org/show_bug.cgi?id=54481 1145 1146 We should really sync all headers with the NPAPI repository, but doing that 1147 lead to build errors so I just added what was needed. 1148 1149 * bridge/npapi.h: 1150 Add new functions. 1151 1152 * bridge/nptypes.h: 1153 Sync with the official NPAPI repository, adding 64-bit integer types and 1154 removing a duplicate license header. 1155 1156 * plugins/npfunctions.h: 1157 Add new functions. 1158 1159 2011-02-15 Antti Koivisto <antti (a] apple.com> 1160 1161 Reviewed by Darin Adler. 1162 1163 https://bugs.webkit.org/show_bug.cgi?id=54486 1164 Crashes under CachedResourceLoader::revalidateResource 1165 1166 CachedResourceLoader might get deleted from under one of its methods. 1167 Try to catch a more informative crash stack. 1168 1169 * loader/cache/CachedResourceLoader.cpp: 1170 (WebCore::CachedResourceLoader::CachedResourceLoader): 1171 (WebCore::CachedResourceLoader::~CachedResourceLoader): 1172 (WebCore::CachedResourceLoader::requestImage): 1173 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 1174 (WebCore::CachedResourceLoader::requestResource): 1175 (WebCore::CachedResourceLoader::setAutoLoadImages): 1176 (WebCore::CachedResourceLoader::load): 1177 (WebCore::CachedResourceLoader::loadDone): 1178 (WebCore::CachedResourceLoader::preload): 1179 (WebCore::CachedResourceLoader::requestPreload): 1180 * loader/cache/CachedResourceLoader.h: 1181 1182 2011-02-15 Andreas Kling <kling (a] webkit.org> 1183 1184 Reviewed by Darin Adler. 1185 1186 Optimize Color::serialized() 1187 https://bugs.webkit.org/show_bug.cgi?id=54452 1188 1189 Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR] 1190 to Color::serialized() - build the serialized color strings manually 1191 instead of using String::format(). 1192 1193 * platform/graphics/Color.cpp: 1194 (WebCore::appendHexNumber): 1195 (WebCore::Color::serialized): 1196 1197 2011-02-15 Jarred Nicholls <jarred (a] sencha.com> 1198 1199 Reviewed by Alexey Proskuryakov. 1200 1201 XMLHttpRequest::abort() doesn't clear response data 1202 https://bugs.webkit.org/show_bug.cgi?id=54118 1203 1204 Properly clear all buffer data on abort, so no memory hangs around unnecessarily. 1205 1206 No new tests because there is no observable effect except for less memory used. 1207 1208 * xml/XMLHttpRequest.cpp: 1209 (WebCore::XMLHttpRequest::abort): 1210 1211 2011-02-15 Andreas Kling <kling (a] webkit.org> 1212 1213 Reviewed by Darin Adler. 1214 1215 Rename Color::name() to Color::nameForRenderTreeAsText() 1216 https://bugs.webkit.org/show_bug.cgi?id=54464 1217 1218 Color::name() returns the color as either #RRGGBB or #RRGGBBAA. 1219 Since the latter is not a valid CSS color, it can't be re-parsed 1220 by WebKit, and should only be used in DRT dumps. 1221 1222 * editing/ApplyStyleCommand.cpp: 1223 (WebCore::StyleChange::extractTextStyles): 1224 * page/DragController.cpp: 1225 (WebCore::DragController::concludeEditDrag): 1226 * platform/graphics/Color.cpp: 1227 (WebCore::Color::nameForRenderTreeAsText): 1228 * platform/graphics/Color.h: 1229 * platform/graphics/GraphicsLayer.cpp: 1230 (WebCore::GraphicsLayer::dumpProperties): 1231 * platform/graphics/filters/FEFlood.cpp: 1232 (WebCore::FEFlood::externalRepresentation): 1233 * rendering/RenderTreeAsText.cpp: 1234 (WebCore::RenderTreeAsText::writeRenderObject): 1235 * rendering/svg/SVGRenderTreeAsText.cpp: 1236 (WebCore::operator<<): 1237 (WebCore::writeRenderSVGTextBox): 1238 * svg/SVGAnimateElement.cpp: 1239 (WebCore::SVGAnimateElement::applyResultsToTarget): 1240 * svg/SVGColor.cpp: 1241 (WebCore::SVGColor::cssText): 1242 1243 2011-02-15 Andras Becsi <abecsi (a] webkit.org> 1244 1245 Rubber-stamped by Andreas Kling. 1246 1247 [Qt] Typo fix. 1248 1249 No new tests needed. 1250 1251 * WebCore.pro: add missing ASCII to header name. 1252 1253 2011-02-15 Pavel Feldman <pfeldman (a] chromium.org> 1254 1255 Reviewed by Yury Semikhatsky. 1256 1257 Web Inspector: test whether inspector gets populated with databases and storages upon opening. 1258 https://bugs.webkit.org/show_bug.cgi?id=54469 1259 1260 Tests: http/tests/inspector-enabled/database-open.html 1261 http/tests/inspector-enabled/dom-storage-open.html 1262 1263 * inspector/front-end/DOMStorage.js: 1264 * inspector/front-end/Database.js: 1265 (WebInspector.DatabaseDispatcher.prototype.addDatabase): 1266 1267 2011-02-15 Andreas Kling <kling (a] webkit.org> 1268 1269 Reviewed by Darin Adler. 1270 1271 Share the helper functions used by Latin-1 and UTF-8 text codecs 1272 https://bugs.webkit.org/show_bug.cgi?id=54446 1273 1274 Move MachineWord, UCharByteFiller and the other helper functions 1275 into TextCodecASCIIFastPath.h where they can be used by both 1276 TextCodecUTF8 and TextCodecLatin1. 1277 1278 * GNUmakefile.am: 1279 * WebCore.gypi: 1280 * WebCore.pro: 1281 * WebCore.vcproj/WebCore.vcproj: 1282 * WebCore.xcodeproj/project.pbxproj: 1283 * platform/text/TextCodecASCIIFastPath.h: Added. 1284 (WebCore::isAllASCII): 1285 (WebCore::copyASCIIMachineWord): 1286 (WebCore::isAlignedToMachineWord): 1287 (WebCore::alignToMachineWord): 1288 * platform/text/TextCodecLatin1.cpp: 1289 (WebCore::TextCodecLatin1::decode): 1290 * platform/text/TextCodecUTF8.cpp: 1291 (WebCore::TextCodecUTF8::decode): 1292 1293 2011-02-15 Leo Yang <leo.yang (a] torchmobile.com.cn> 1294 1295 Reviewed by Kent Tamura. 1296 1297 Code style issue in WebCore/dom/InputElement.cpp 1298 https://bugs.webkit.org/show_bug.cgi?id=54428 1299 1300 Remove 2 extra spaces in InputElement.cpp line 221. 1301 1302 Code style fix, No new tests. 1303 1304 * dom/InputElement.cpp: 1305 (WebCore::InputElement::handleBeforeTextInsertedEvent): 1306 1307 2011-02-15 Philippe Normand <pnormand (a] igalia.com> 1308 1309 Reviewed by Martin Robinson. 1310 1311 [GStreamer] Video player sets system volume to 100% 1312 https://bugs.webkit.org/show_bug.cgi?id=54140 1313 1314 Don't explicitely set volume at startup and use the 1315 GstStreamVolume interface with cubic volume scale when 1316 updating/retrieving the volume value. This gives a much better 1317 user-experience. 1318 1319 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 1320 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 1321 1322 2011-02-15 Adam Barth <abarth (a] webkit.org> 1323 1324 Reviewed by Eric Seidel. 1325 1326 Sketch script-src for Content Security Policy 1327 https://bugs.webkit.org/show_bug.cgi?id=54381 1328 1329 This patch provides a sketch of the script-src directive. We still do 1330 not parse the value of the directive, and the wiring into the rest of 1331 WebCore is incorrect, but those are things we can fix in future 1332 patches. For the momemnt, this patch lets us test what we're doing. 1333 1334 Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html 1335 1336 * page/ContentSecurityPolicy.cpp: 1337 (WebCore::CSPDirective::CSPDirective): 1338 (WebCore::CSPDirective::allows): 1339 (WebCore::ContentSecurityPolicy::didReceiveHeader): 1340 (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc): 1341 (WebCore::ContentSecurityPolicy::parse): 1342 (WebCore::ContentSecurityPolicy::emitDirective): 1343 * page/ContentSecurityPolicy.h: 1344 1345 2011-02-15 Antti Koivisto <antti (a] apple.com> 1346 1347 Reviewed by Andreas Kling. 1348 1349 svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556 1350 https://bugs.webkit.org/show_bug.cgi?id=54460 1351 1352 Don't use fast path for SVG. There are some additional rules for shadow trees that are not 1353 implemented on fast path. 1354 1355 * css/CSSStyleSelector.cpp: 1356 (WebCore::CSSStyleSelector::checkSelector): 1357 1358 2011-02-15 Andras Becsi <abecsi (a] webkit.org> 1359 1360 Reviewed by Csaba Osztrogonc. 1361 1362 [Qt] Redesign the build system 1363 https://bugs.webkit.org/show_bug.cgi?id=51339 1364 1365 Part 1. 1366 1367 Introduce CodeGenerators.pri and add common includepaths to WebCore.pri, 1368 thus unnecessary duplications can be removed from project files. 1369 1370 No new tests needed. 1371 1372 * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri. 1373 Don't add non-source generated files to SOURCES. 1374 * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri. 1375 * WebCore.pri: Move code generation rules to CodeGenerators.pri. 1376 * WebCore.pro: Move common options to WebCore.pri. 1377 1378 2011-02-15 Charlie Reis <creis (a] chromium.org> 1379 1380 Reviewed by Mihai Parparita. 1381 1382 Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy 1383 https://bugs.webkit.org/show_bug.cgi?id=54219 1384 1385 Ensures we do not start a new navigation while we are in the process of 1386 stopping a navigation. Also adds a manual test, since the crash can 1387 only be reproduced using the back button and not history.back(). 1388 1389 * loader/FrameLoader.cpp: 1390 * manual-tests/navigation-during-onload-triggered-by-back.html: Added. 1391 * manual-tests/resources/navigation-during-onload-container.html: Added. 1392 1393 2011-02-15 Bill Budge <bbudge (a] chromium.org> 1394 1395 Reviewed by David Levin. 1396 1397 SubresourceLoader should expose finish time 1398 https://bugs.webkit.org/show_bug.cgi?id=54287 1399 1400 No tests needed, exposes no new functionality 1401 1402 * loader/DocumentThreadableLoader.cpp: 1403 (WebCore::DocumentThreadableLoader::didFinishLoading): 1404 * loader/DocumentThreadableLoader.h: 1405 * loader/SubresourceLoader.cpp: 1406 (WebCore::SubresourceLoader::didFinishLoading): 1407 * loader/SubresourceLoaderClient.h: 1408 (WebCore::SubresourceLoaderClient::didFinishLoading): 1409 * loader/cache/CachedResourceRequest.cpp: 1410 (WebCore::CachedResourceRequest::didFinishLoading): 1411 * loader/cache/CachedResourceRequest.h: 1412 * loader/icon/IconLoader.cpp: 1413 (WebCore::IconLoader::didFinishLoading): 1414 * loader/icon/IconLoader.h: 1415 1416 2011-02-15 Antti Koivisto <antti (a] apple.com> 1417 1418 Reviewed by Darin Adler. 1419 1420 Enable fast path selector checking for child and subselector combinators 1421 https://bugs.webkit.org/show_bug.cgi?id=54360 1422 1423 * css/CSSStyleSelector.cpp: 1424 (WebCore::isFastCheckableSelector): 1425 (WebCore::fastCheckSingleSelector): 1426 (WebCore::checkClassValue): 1427 (WebCore::checkIdValue): 1428 (WebCore::checkTagValue): 1429 (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector): 1430 1431 2011-02-15 Yury Semikhatsky <yurys (a] chromium.org> 1432 1433 Reviewed by Pavel Feldman. 1434 1435 Web Inspector: console auto-scroll is broken when there are both scrollers. 1436 https://bugs.webkit.org/show_bug.cgi?id=54273 1437 1438 * inspector/front-end/utilities.js: 1439 (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine 1440 whether the element is scrolled to the bottom. 1441 1442 2011-02-14 Alexander Pavlov <apavlov (a] chromium.org> 1443 1444 Reviewed by Yury Semikhatsky. 1445 1446 Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells 1447 https://bugs.webkit.org/show_bug.cgi?id=53910 1448 1449 Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip. 1450 1451 * inspector/InspectorAgent.cpp: 1452 (WebCore::InspectorAgent::drawNodeHighlight): 1453 1454 2011-02-15 Dirk Schulze <krit (a] webkit.org> 1455 1456 Rubber-stamped by Nikolas Zimmermann. 1457 1458 SVG animation doesn't support attribute value 'inherit' 1459 https://bugs.webkit.org/show_bug.cgi?id=54410 1460 1461 Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType 1462 and m_toPropertyValueType by CurrentColorValue before landing. Check for property 1463 value type 'inherit' on color validation was missing. 1464 1465 * svg/SVGAnimateElement.cpp: 1466 (WebCore::SVGAnimateElement::calculateFromAndToValues): 1467 (WebCore::SVGAnimateElement::calculateFromAndByValues): 1468 1469 2011-02-15 Adam Roben <aroben (a] apple.com> 1470 1471 Windows build fix after r78533 1472 1473 * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax. 1474 1475 2011-02-15 Gavin Peters <gavinp (a] chromium.org> 1476 1477 Reviewed by Antti Koivisto. 1478 1479 SharedBuffer::buffer() does not do what you think. 1480 https://bugs.webkit.org/show_bug.cgi?id=54420 1481 1482 No new tests. 1483 1484 * inspector/InspectorResourceAgent.cpp: 1485 (WebCore::InspectorResourceAgent::resourceContentBase64): 1486 * platform/SharedBuffer.h: 1487 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1488 (WebCore::JPEGImageReader::decode): 1489 (WebCore::JPEGImageDecoder::decode): 1490 * platform/image-decoders/webp/WEBPImageDecoder.cpp: 1491 (WebCore::WEBPImageDecoder::decode): 1492 1493 2011-02-15 Dirk Schulze <krit (a] webkit.org> 1494 1495 Reviewed by Nikolas Zimmermann. 1496 1497 SVG animation doesn't support attribute value 'inherit' 1498 https://bugs.webkit.org/show_bug.cgi?id=54410 1499 1500 SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines 1501 if the attribute of the target element is an animatable CSS Property and computes the style during the 1502 animation. 1503 1504 This fixes the following tests on the W3C test suite: 1505 * animate-elem-84-t.svg 1506 * animate-elem-85-t.svg 1507 1508 Tests: svg/animations/animate-currentColor.html 1509 svg/animations/animate-inherit-css-property.html 1510 1511 * svg/SVGAnimateElement.cpp: 1512 (WebCore::adjustForCurrentColor): 1513 (WebCore::adjustForInheritance): 1514 (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor' 1515 during the animation, get the computed style of the property since the values could be animated themselves. 1516 (WebCore::inheritsFromProperty): 1517 (WebCore::attributeValueIsCurrentColor): 1518 (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the 1519 string 'inherit' or 'currentColor' and if the attribute supports one of these values. 1520 (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto. 1521 * svg/SVGAnimateElement.h: 1522 * svg/SVGAnimationElement.cpp: 1523 (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and 1524 the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement. 1525 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency. 1526 * svg/SVGAnimationElement.h: 1527 * svg/SVGStyledElement.cpp: 1528 (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable. 1529 * svg/SVGStyledElement.h: 1530 * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine 1531 if the target element is stylable and the attribute is an animatable CSS property. 1532 (WebCore::SMILTimeContainer::baseValueFor): 1533 1534 2011-02-15 Antti Koivisto <antti (a] apple.com> 1535 1536 Reviewed by Andreas Kling. 1537 1538 r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html 1539 https://bugs.webkit.org/show_bug.cgi?id=54418 1540 1541 Check for zero buffer length. 1542 1543 * platform/text/TextCodecUTF8.cpp: 1544 (WebCore::TextCodecUTF8::decode): 1545 1546 2011-02-15 MORITA Hajime <morrita (a] google.com> 1547 1548 Unreviewed build fix. 1549 1550 * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct. 1551 1552 2011-01-26 MORITA Hajime <morrita (a] google.com> 1553 1554 Reviewed by Ryosuke Niwa. 1555 1556 Refactoring: Extract TextCheckerClient from EditorClient 1557 https://bugs.webkit.org/show_bug.cgi?id=53213 1558 1559 Created new abstract class TextCheckerClient. The class has 1560 spellcheck related API which is split. 1561 This is the first step for sharing spell-checking codebase 1562 between ports. A standalone TextCheckerClient implementation 1563 should be done in future changes. 1564 1565 No new tests. No behavioral change. 1566 1567 * GNUmakefile.am: 1568 * WebCore.gypi: 1569 * WebCore.pro: 1570 * WebCore.vcproj/WebCore.vcproj: 1571 * WebCore.xcodeproj/project.pbxproj: 1572 * accessibility/mac/AccessibilityObjectWrapper.mm: 1573 (AXAttributeStringSetSpelling): 1574 * editing/Editor.cpp: Replacing some client() call with textChecker(). 1575 (WebCore::Editor::textChecker): Added. 1576 (WebCore::Editor::ignoreSpelling): 1577 (WebCore::Editor::learnSpelling): 1578 (WebCore::Editor::isSelectionMisspelled): 1579 (WebCore::Editor::guessesForMisspelledSelection): 1580 (WebCore::Editor::markMisspellingsAfterTypingToWord): 1581 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 1582 (WebCore::Editor::correctionPanelTimerFired): 1583 * editing/Editor.h: 1584 * editing/SpellChecker.cpp: 1585 (WebCore::SpellChecker::SpellChecker): 1586 * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker(). 1587 (WebCore::TextCheckingHelper::findFirstMisspelling): 1588 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): 1589 (WebCore::TextCheckingHelper::findFirstBadGrammar): 1590 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): 1591 * loader/EmptyClients.h: Added EmptyTextCheckerClient. 1592 (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument): 1593 (WebCore::EmptyTextCheckerClient::learnWord): 1594 (WebCore::EmptyTextCheckerClient::checkSpellingOfString): 1595 (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord): 1596 (WebCore::EmptyTextCheckerClient::checkGrammarOfString): 1597 (WebCore::EmptyTextCheckerClient::checkTextOfParagraph): 1598 (WebCore::EmptyTextCheckerClient::getGuessesForWord): 1599 (WebCore::EmptyTextCheckerClient::requestCheckingOfString): 1600 (WebCore::EmptyEditorClient::textChecker): 1601 * page/EditorClient.h: Extracted TextCheckerClient. 1602 * page/Page.h: 1603 * platform/text/TextCheckerClient.h: Added. 1604 (WebCore::TextCheckerClient::~TextCheckerClient): 1605 1606 2011-02-07 Ryosuke Niwa <rniwa (a] webkit.org> 1607 1608 Reviewed by Adam Barth. 1609 1610 Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard 1611 https://bugs.webkit.org/show_bug.cgi?id=52417 1612 1613 Added two callback functions, canCopyCut and canPaste to EditorClient. These functions 1614 returns true iff the current frame should be able to copy/cut and paste respectively. 1615 They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard. 1616 1617 These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled 1618 per frame and thus per origin rather than per page. 1619 1620 No new tests are added since this is a WebKit/WebCore interface change. 1621 1622 * editing/EditorCommand.cpp: 1623 (WebCore::supportedCopyCut): Calls canCopyCut. 1624 (WebCore::supportedPaste): Calls canPaste. 1625 * loader/EmptyClients.h: 1626 (WebCore::EmptyEditorClient::canCopyCut): Added. 1627 (WebCore::EmptyEditorClient::canPaste): Added. 1628 * page/EditorClient.h: 1629 1630 2011-02-14 Jeremy Orlow <jorlow (a] chromium.org> 1631 1632 efl build fix 1633 1634 * CMakeLists.txt: 1635 1636 2011-02-11 Jeremy Orlow <jorlow (a] chromium.org> 1637 1638 Reviewed by Nate Chapin. 1639 1640 Finish up implementing the new event model in IndexedDB 1641 https://bugs.webkit.org/show_bug.cgi?id=54331 1642 1643 We shouldn't have our own event subclasses. Instead, we 1644 should just fire Event's with the proper type and bubble 1645 settings. All the attributes on the events before should 1646 just be on the request. IDBRequest should throw if they're 1647 accessed before the success event fires. 1648 1649 * WebCore.gypi: 1650 * bindings/generic/RuntimeEnabledFeatures.h: 1651 * bindings/js/JSEventCustom.cpp: 1652 (WebCore::toJS): 1653 * bindings/v8/custom/V8EventCustom.cpp: 1654 (WebCore::toV8): 1655 * dom/Event.cpp: 1656 * dom/Event.h: 1657 * page/DOMWindow.idl: 1658 * storage/IDBAbortEvent.h: Removed. 1659 * storage/IDBCompleteEvent.cpp: Removed. 1660 * storage/IDBCompleteEvent.h: Removed. 1661 * storage/IDBDatabase.cpp: 1662 (WebCore::IDBDatabase::~IDBDatabase): 1663 * storage/IDBDatabaseException.h: 1664 * storage/IDBDatabaseException.idl: 1665 * storage/IDBErrorEvent.cpp: Removed. 1666 * storage/IDBErrorEvent.h: Removed. 1667 * storage/IDBErrorEvent.idl: Removed. 1668 * storage/IDBEvent.h: Removed. 1669 * storage/IDBEvent.idl: Removed. 1670 * storage/IDBEventDispatcher.cpp: 1671 (WebCore::IDBEventDispatcher::dispatch): 1672 * storage/IDBRequest.cpp: 1673 (WebCore::IDBRequest::IDBRequest): 1674 (WebCore::IDBRequest::result): 1675 (WebCore::IDBRequest::errorCode): 1676 (WebCore::IDBRequest::webkitErrorMessage): 1677 (WebCore::IDBRequest::source): 1678 (WebCore::IDBRequest::transaction): 1679 (WebCore::IDBRequest::readyState): 1680 (WebCore::IDBRequest::resetReadyState): 1681 (WebCore::IDBRequest::onError): 1682 (WebCore::createSuccessEvent): 1683 (WebCore::IDBRequest::onSuccess): 1684 (WebCore::IDBRequest::dispatchEvent): 1685 * storage/IDBRequest.h: 1686 * storage/IDBRequest.idl: 1687 * storage/IDBSuccessEvent.cpp: Removed. 1688 * storage/IDBSuccessEvent.h: Removed. 1689 * storage/IDBSuccessEvent.idl: Removed. 1690 * storage/IDBTransaction.cpp: 1691 (WebCore::IDBTransaction::onAbort): 1692 (WebCore::IDBTransaction::onComplete): 1693 (WebCore::IDBTransaction::dispatchEvent): 1694 1695 2011-02-14 Enrica Casucci <enrica (a] apple.com> 1696 1697 Copy/paste from a WebKit window to a TextEdit window loses fonts. 1698 <rdar://problem/8623090> 1699 https://bugs.webkit.org/show_bug.cgi?id=54416 1700 1701 Reviewed by Dan Bernstein. 1702 1703 We don't have the complete solution that fixes this problem for WebKit2 yet. 1704 This patch fixes the regression in WebKit. 1705 1706 * platform/mac/PasteboardMac.mm: 1707 (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text, 1708 for WebKit use the original API to create the NSAttributedString. 1709 1710 2011-02-14 Levi Weintraub <leviw (a] chromium.org> 1711 1712 Reviewed by Alexey Proskuryakov. 1713 1714 Strikethrough disappears when posting a message on odnoklassniki.ru 1715 https://bugs.webkit.org/show_bug.cgi?id=53475 1716 1717 Changing the behavior of the strikethrough execCommand when styleWithCSS 1718 is false. We formerly created <s> tags, which was different than both IE 1719 and FF and caused problems with some rich text editors that would strip 1720 out unexpected tags such as <s>. 1721 1722 Test: editing/execCommand/strikethrough-uses-strike-tag.html 1723 1724 * editing/ApplyStyleCommand.cpp: 1725 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 1726 1727 2011-02-14 Pratik Solanki <psolanki (a] apple.com> 1728 1729 Remove dead code in FormDataStreamCFNet.cpp 1730 https://bugs.webkit.org/show_bug.cgi?id=54401 1731 1732 Reviewed by Darin Adler. 1733 1734 The static functions in this file are no longer reachable. We added a conditional branch to 1735 use new CFNetwork functions in r30329 and later made that code path permanent in r41517 1736 which made these functions unreachable. 1737 1738 * platform/network/cf/FormDataStreamCFNet.cpp: 1739 1740 2011-02-14 Andreas Kling <kling (a] webkit.org> 1741 1742 Reviewed by Darin Adler. 1743 1744 GraphicsContext: Add clip(IntRect) overload for Qt 1745 https://bugs.webkit.org/show_bug.cgi?id=54365 1746 1747 Qt has special code paths for clipping to integer rectangles. 1748 Add a GraphicsContext::clip() overload to allow us to take 1749 advantage of the optimized code. 1750 1751 * platform/graphics/GraphicsContext.cpp: 1752 (WebCore::GraphicsContext::clip): 1753 * platform/graphics/GraphicsContext.h: 1754 * platform/graphics/qt/GraphicsContextQt.cpp: 1755 (WebCore::GraphicsContext::clip): 1756 1757 2011-02-14 Darin Adler <darin (a] apple.com> 1758 1759 Reviewed by Alexey Proskuryakov. 1760 1761 Add built-in decoder for UTF-8 for improved performance 1762 https://bugs.webkit.org/show_bug.cgi?id=53898 1763 1764 Covered by existing tests; not adding new tests at this time. 1765 1766 This patch now handles errors in the same way the existing codecs do, 1767 and so passes our tests. The first version failed some tests because 1768 of incorrect error handling. The second version was missing one line 1769 of code that made it decode incomplete sequences at the end of the 1770 buffer twice. 1771 1772 * platform/text/TextCodecICU.cpp: 1773 (WebCore::create): Renamed from newTextCodecICU, made a static member 1774 function, and added a call to adoptPtr. 1775 (WebCore::TextCodecICU::registerEncodingNames): Renamed from 1776 registerExtendedEncodingNames since this class is no longer used for 1777 base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8. 1778 (WebCore::TextCodecICU::registerCodecs): Renamed. 1779 (WebCore::fallbackForGBK): Renamed to conform to our current style. 1780 1781 * platform/text/TextCodecICU.h: Updated for above changes. Changed 1782 indentation. Made most functions private, including virtual function 1783 overrides. Marked ICUConverterWrapper noncopyable. 1784 1785 * platform/text/TextCodecUTF8.cpp: 1786 (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases 1787 that were formerly added by TextCodecICU. 1788 (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for 1789 bytes F5-FF instead of failing. 1790 (WebCore::decodeNonASCIISequence): Tweaked coding style. 1791 (WebCore::appendCharacter): Added. Makes it easier to share code between 1792 the partial-character handling and main loop. 1793 (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case 1794 where there is a partial sequence. Fixed partial sequence handling so that 1795 goto is no longer needed, since compilers sometimes make poor code when 1796 goto is involved. Added a loop for partial sequences since we consume only 1797 one byte when a partial sequence is invalid. Fixed logic in main decoding 1798 loop so goto is not needed. Used early-exit style in both loops so the main 1799 flow is not nested inside if statements. Added correct error handling for 1800 flush when a partial sequence remains, which involved wrapping the function 1801 in yet another loop. 1802 1803 * platform/text/TextCodecUTF8.h: Made virtual function overrides private. 1804 1805 * platform/text/TextEncodingRegistry.cpp: 1806 (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed 1807 calls to TextCodecICU. Added FIXMEs for other codecs that no longer need 1808 to be included here. 1809 (WebCore::extendTextCodecMaps): Updated for the name change of the 1810 TextCodecICU functions. 1811 1812 2011-02-14 Adam Barth <abarth (a] webkit.org> 1813 1814 Reviewed by Eric Seidel. 1815 1816 Add basic parser for Content Security Policy 1817 https://bugs.webkit.org/show_bug.cgi?id=54379 1818 1819 The parser in this patch is very basic. It just segments the CSP 1820 header into directives. The exactly syntax will likely change a bit as 1821 we discuss the details in public-web-security, but this parser will 1822 allow us to make progress. 1823 1824 Sadly, this patch does not contain any tests. That's because CSP 1825 policies do not have any observable effects yet. Hopefully we'll get 1826 enough sketched out in the next couple patches to begin writing tests. 1827 1828 * page/ContentSecurityPolicy.cpp: 1829 (WebCore::CSPDirective::CSPDirective): 1830 (WebCore::CSPDirective::name): 1831 (WebCore::CSPDirective::value): 1832 (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy): 1833 (WebCore::ContentSecurityPolicy::didReceiveHeader): 1834 (WebCore::ContentSecurityPolicy::parse): 1835 * page/ContentSecurityPolicy.h: 1836 1837 2011-02-14 Andrew Wason <rectalogic (a] rectalogic.com> 1838 1839 Reviewed by Kenneth Russell. 1840 1841 [Qt] WebKit fails to compile for Qt when WebGL enabled 1842 https://bugs.webkit.org/show_bug.cgi?id=53431 1843 1844 No new tests. 1845 1846 * WebCore.pro: 1847 Add source and header files and include directory to Qt project. 1848 * html/canvas/WebGLRenderingContext.cpp: 1849 File uses 'emit' which is a Qt keyword - #undef emit. 1850 * platform/graphics/gpu/qt: Added. 1851 * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added. 1852 Partial implementation of DrawingBuffer for Qt. 1853 (WebCore::DrawingBuffer::DrawingBuffer): 1854 (WebCore::DrawingBuffer::~DrawingBuffer): 1855 (WebCore::DrawingBuffer::didReset): 1856 (WebCore::DrawingBuffer::platformLayer): 1857 (WebCore::DrawingBuffer::platformColorBuffer): 1858 * platform/graphics/qt/Extensions3DQt.cpp: 1859 Noop implementation for pure virtual methods added to Extensions3D.h 1860 (WebCore::Extensions3DQt::blitFramebuffer): 1861 (WebCore::Extensions3DQt::renderbufferStorageMultisample): 1862 * platform/graphics/qt/Extensions3DQt.h: 1863 Declare new methods added to Extensions3D.h 1864 * platform/graphics/qt/GraphicsContext3DQt.cpp: 1865 Remove method implementations no longer in GraphicsContext3D.h. 1866 Change m_syntheticErrors to use unsigned int to match new 1867 GC3Denum type. 1868 (WebCore::GraphicsContext3D::create): 1869 Change return type to match GraphicsContext3D.h 1870 (WebCore::GraphicsContext3D::lineWidth): 1871 Change argument type to GC3Dfloat to match GraphicsContext3D.h 1872 (WebCore::GraphicsContext3D::getUniformLocation): 1873 Change return type to GC3Dfloat to match GraphicsContext3D.h 1874 (WebCore::GraphicsContext3D::getExtensions): 1875 Need to call get() on OwnPtr. 1876 (WebCore::GraphicsContext3D::getImageData): 1877 Rename enum values to match declarations in GraphicsContext3D.h 1878 1879 2011-02-14 Tony Chang <tony (a] chromium.org> 1880 1881 Reviewed by Dimitri Glazkov. 1882 1883 <select> elements don't honor border:0px in chromium-linux 1884 https://bugs.webkit.org/show_bug.cgi?id=51152 1885 1886 No new tests, covered by existing pixel results (fast/forms/basic-selects.html 1887 convers lots of cases). 1888 1889 * css/themeChromiumLinux.css: 1890 (select): 1891 * platform/chromium/PlatformBridge.h: 1892 * rendering/RenderThemeChromiumLinux.cpp: 1893 (WebCore::RenderThemeChromiumLinux::paintButton): 1894 (WebCore::RenderThemeChromiumLinux::paintMenuList): 1895 match border logic in RenderThemeChromiumWin.cpp: 1896 http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463 1897 1898 2011-02-14 Xiaomei Ji <xji (a] chromium.org> 1899 1900 Reviewed by Dan Bernstein. 1901 1902 Fix rendering of ISO-8859-8 when dir="rtl". 1903 https://bugs.webkit.org/show_bug.cgi?id=52128 1904 1905 Test: fast/text/international/iso-8859-8.html 1906 1907 * platform/text/BidiResolver.h: Add VisualDirectionOverride enum. 1908 (WebCore::::createBidiRunsForLine): For lines with visual direction override, 1909 create bidi runs without resolving bidi levels (one run per render object), 1910 set bidi level as 0 or 1 depending on LTR or RTL override, 1911 and reverse runs for RTL override. 1912 * rendering/RenderBlockLineLayout.cpp: 1913 (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as 1914 BidiRun's bidi level without special handling of VisualDirectionOverride. 1915 (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride 1916 to createBidiRunsForLine(). 1917 1918 2011-02-14 Alexis Menard <alexis.menard (a] nokia.com> 1919 1920 Reviewed by Andreas Kling. 1921 1922 [Qt] Crash on application exit after constructing and destroying a QWebView twice 1923 https://bugs.webkit.org/show_bug.cgi?id=54000 1924 1925 Check the value is valid before use it. 1926 1927 * platform/qt/SharedTimerQt.cpp: 1928 (WebCore::SharedTimerQt::~SharedTimerQt): 1929 1930 2011-02-14 Alexander Pavlov <apavlov (a] chromium.org> 1931 1932 Reviewed by Yury Semikhatsky. 1933 1934 Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel 1935 https://bugs.webkit.org/show_bug.cgi?id=33220 1936 1937 * inspector/front-end/ResourceHeadersView.js: 1938 (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation): 1939 1940 2011-02-14 Adrienne Walker <enne (a] google.com> 1941 1942 Reviewed by James Robinson. 1943 1944 [chromium] Modify LayerTilerChromium to use TilingData. 1945 https://bugs.webkit.org/show_bug.cgi?id=54143 1946 1947 Most of the previous data in LayerTilerChromium is now calculated 1948 from TilingData. TilingData was modified to allow for a dynamic 1949 tile size and page size. LayerTilerChromium also gets its own 1950 shader with a texture transform to handle drawing from a texture 1951 that is larger than a tile. 1952 1953 * platform/graphics/chromium/LayerChromium.h: 1954 * platform/graphics/chromium/LayerRendererChromium.cpp: 1955 (WebCore::LayerRendererChromium::LayerRendererChromium): 1956 (WebCore::LayerRendererChromium::updateAndDrawRootLayer): 1957 (WebCore::LayerRendererChromium::initializeSharedObjects): 1958 (WebCore::LayerRendererChromium::cleanupSharedObjects): 1959 * platform/graphics/chromium/LayerRendererChromium.h: 1960 (WebCore::LayerRendererChromium::tilerSharedValues): 1961 * platform/graphics/chromium/LayerTilerChromium.cpp: 1962 (WebCore::LayerTilerChromium::create): 1963 (WebCore::LayerTilerChromium::LayerTilerChromium): 1964 (WebCore::LayerTilerChromium::setTileSize): 1965 (WebCore::LayerTilerChromium::reset): 1966 (WebCore::LayerTilerChromium::contentRectToTileIndices): 1967 (WebCore::LayerTilerChromium::tileIndex): 1968 (WebCore::LayerTilerChromium::tileContentRect): 1969 (WebCore::LayerTilerChromium::tileLayerRect): 1970 (WebCore::LayerTilerChromium::layerSize): 1971 (WebCore::LayerTilerChromium::layerTileSize): 1972 (WebCore::LayerTilerChromium::invalidateEntireLayer): 1973 (WebCore::LayerTilerChromium::draw): 1974 (WebCore::LayerTilerChromium::resizeLayer): 1975 (WebCore::LayerTilerChromium::growLayerToContain): 1976 (WebCore::LayerTilerChromium::drawTexturedQuad): 1977 (WebCore::LayerTilerChromium::SharedValues::SharedValues): 1978 (WebCore::LayerTilerChromium::SharedValues::~SharedValues): 1979 * platform/graphics/chromium/LayerTilerChromium.h: 1980 (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram): 1981 (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation): 1982 (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation): 1983 (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation): 1984 (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation): 1985 (WebCore::LayerTilerChromium::SharedValues::initialized): 1986 * platform/graphics/gpu/TilingData.cpp: 1987 (WebCore::computeNumTiles): 1988 (WebCore::TilingData::TilingData): 1989 (WebCore::TilingData::setTotalSize): 1990 (WebCore::TilingData::setMaxTextureSize): 1991 (WebCore::TilingData::tileSizeX): 1992 (WebCore::TilingData::tileSizeY): 1993 (WebCore::TilingData::textureOffset): 1994 (WebCore::TilingData::recomputeNumTiles): 1995 * platform/graphics/gpu/TilingData.h: 1996 1997 2011-02-14 Andrey Adaikin <aandrey (a] google.com> 1998 1999 Reviewed by Pavel Feldman. 2000 2001 Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization 2002 https://bugs.webkit.org/show_bug.cgi?id=54388 2003 2004 * inspector/front-end/TextViewer.js: 2005 (WebInspector.TextViewer.prototype.set readOnly): 2006 (WebInspector.TextEditorChunkedPanel): 2007 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks): 2008 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): 2009 (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates): 2010 (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates): 2011 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): 2012 (WebInspector.TextEditorGutterChunk.prototype.set expanded): 2013 (WebInspector.TextEditorMainPanel): 2014 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 2015 (WebInspector.TextEditorMainPanel.prototype._buildChunks): 2016 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): 2017 (WebInspector.TextEditorMainPanel.prototype._paintLine): 2018 (WebInspector.TextEditorMainPanel.prototype.textChanged): 2019 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return): 2020 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 2021 (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified): 2022 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 2023 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): 2024 (WebInspector.TextEditorMainChunk.prototype.addDecoration): 2025 (WebInspector.TextEditorMainChunk.prototype.removeDecoration): 2026 (WebInspector.TextEditorMainChunk.prototype.set expanded): 2027 2028 2011-02-14 Pavel Podivilov <podivilov (a] chromium.org> 2029 2030 Reviewed by Yury Semikhatsky. 2031 2032 Web Inspector: use call frame column to determine execution line in source frame. 2033 https://bugs.webkit.org/show_bug.cgi?id=54001 2034 2035 - Make call frame line and column zero based 2036 - Set execution line in source frame based on call frame line:column 2037 - Determine currently hit breakpoint based on call frame line:column 2038 2039 * bindings/js/JavaScriptCallFrame.cpp: 2040 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 2041 * bindings/js/JavaScriptCallFrame.h: 2042 (WebCore::JavaScriptCallFrame::create): 2043 (WebCore::JavaScriptCallFrame::line): 2044 (WebCore::JavaScriptCallFrame::column): 2045 (WebCore::JavaScriptCallFrame::update): 2046 * bindings/js/ScriptDebugServer.cpp: 2047 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): 2048 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): 2049 * bindings/v8/DebuggerScript.js: 2050 (): 2051 * inspector/front-end/BreakpointsSidebarPane.js: 2052 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused): 2053 * inspector/front-end/CallStackSidebarPane.js: 2054 (WebInspector.CallStackSidebarPane.prototype.update): 2055 * inspector/front-end/DebuggerModel.js: 2056 (WebInspector.DebuggerModel.prototype.continueToLocation): 2057 (WebInspector.DebuggerModel.prototype._pausedScript): 2058 (WebInspector.DebuggerModel.prototype._breakpointForCallFrame): 2059 * inspector/front-end/ScriptsPanel.js: 2060 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 2061 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): 2062 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 2063 * inspector/front-end/SourceFrame.js: 2064 (WebInspector.SourceFrame.prototype._setTextViewerDecorations): 2065 (WebInspector.SourceFrame.prototype.setExecutionLocation): 2066 (WebInspector.SourceFrame.prototype.clearExecutionLocation): 2067 (WebInspector.SourceFrame.prototype._setExecutionLocation): 2068 (WebInspector.SourceFrame.prototype._breakpointAdded): 2069 (WebInspector.SourceFrame.prototype._continueToLine): 2070 (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber): 2071 2072 2011-02-14 Christian Dywan <christian (a] lanedo.com> 2073 2074 Reviewed by Gustavo Noronha Silva. 2075 2076 Regression: Back, Forward, Reload hidden in context menu 2077 https://bugs.webkit.org/show_bug.cgi?id=54393 2078 2079 * page/ContextMenuController.cpp: Always show Back, Forward, 2080 Reload and Stop context menu items for the GTK+ port. 2081 2082 2011-02-14 Johnny Ding <jnd (a] chromium.org> 2083 2084 Reviewed by Andreas Kling. 2085 2086 Move the finiteness check into common code. 2087 2088 Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html 2089 2090 * html/canvas/CanvasRenderingContext2D.cpp: 2091 (WebCore::CanvasRenderingContext2D::isPointInPath): 2092 2093 2011-02-14 Roland Steiner <rolandsteiner (a] chromium.org> 2094 2095 Reviewed by Kent Tamura. 2096 2097 Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded() 2098 https://bugs.webkit.org/show_bug.cgi?id=54377 2099 2100 Rearranged the condition blocks, removed superfluous conditions: 2101 .) if-statements where it's already clear that a search field is being generated 2102 .) testing for spin-buttons on field types that can never have them. 2103 2104 createInnerBlockStyle(): only search fields create an inner block, and 2105 these can never have spin buttons. 2106 2107 No new tests. (Refactoring - covered by existing tests) 2108 2109 * rendering/RenderTextControlSingleLine.cpp: 2110 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): 2111 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 2112 2113 2011-02-10 Pavel Podivilov <podivilov (a] chromium.org> 2114 2115 Reviewed by Yury Semikhatsky. 2116 2117 Web Inspector: refactoring, extract SourceMapping from SourceFrameContent. 2118 https://bugs.webkit.org/show_bug.cgi?id=54195 2119 2120 Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript. 2121 Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details. 2122 2123 * inspector/front-end/ResourceView.js: 2124 (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent): 2125 * inspector/front-end/ScriptFormatter.js: 2126 (WebInspector.ScriptFormatter.locationToPosition): 2127 (WebInspector.ScriptFormatter.positionToLocation): 2128 (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): 2129 (WebInspector.ScriptFormatter.prototype.formatContent): 2130 (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks): 2131 (WebInspector.SourceMappingForFormattedScript): 2132 (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation): 2133 (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation): 2134 (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation): 2135 (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition): 2136 * inspector/front-end/ScriptsPanel.js: 2137 (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent): 2138 * inspector/front-end/SourceFrame.js: 2139 (WebInspector.SourceFrame.prototype._createTextViewer): 2140 (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint): 2141 (WebInspector.SourceFrame.prototype.setExecutionLine): 2142 (WebInspector.SourceFrame.prototype.clearExecutionLine): 2143 (WebInspector.SourceFrame.prototype._breakpointAdded): 2144 (WebInspector.SourceFrame.prototype.formatSource.didFormat): 2145 (WebInspector.SourceFrame.prototype.formatSource): 2146 (WebInspector.SourceFrame.prototype._continueToLine): 2147 (WebInspector.SourceFrame.prototype._setBreakpoint): 2148 (WebInspector.SourceFrame.prototype._findBreakpoint): 2149 (WebInspector.SourceFrameContentProvider.prototype.requestContent): 2150 * inspector/front-end/SourceFrameContent.js: 2151 (WebInspector.SourceFrameContent): 2152 (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation): 2153 (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber): 2154 (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber): 2155 (WebInspector.SourceMapping): 2156 (WebInspector.SourceMapping.prototype.fromScriptLocation): 2157 (WebInspector.SourceMapping.prototype.toScriptLocation): 2158 (WebInspector.IdenticalSourceMapping): 2159 (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation): 2160 (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation): 2161 * inspector/front-end/utilities.js: 2162 (String.prototype.lineEndings): 2163 2164 2011-02-14 Pavel Feldman <pfeldman (a] chromium.org> 2165 2166 Reviewed by Yury Semikhatsky. 2167 2168 Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector. 2169 https://bugs.webkit.org/show_bug.cgi?id=54277 2170 2171 * inspector/InspectorAgent.cpp: 2172 (WebCore::InspectorAgent::populateScriptObjects): 2173 (WebCore::InspectorAgent::stopUserInitiatedProfiling): 2174 (WebCore::InspectorAgent::showAndEnableDebugger): 2175 (WebCore::InspectorAgent::showPanel): 2176 * inspector/InspectorAgent.h: 2177 * inspector/InspectorController.cpp: 2178 (WebCore::InspectorController::showAndEnableDebugger): 2179 (WebCore::InspectorController::stopUserInitiatedProfiling): 2180 2181 2011-02-14 Kenichi Ishibashi <bashi (a] chromium.org> 2182 2183 Reviewed by Andreas Kling. 2184 2185 css style="max-width:none" works wrong 2186 https://bugs.webkit.org/show_bug.cgi?id=53743 2187 2188 Fix a bug that "max-width:none" works wrong. 2189 See also: http://trac.webkit.org/changeset/13462 2190 2191 Test: fast/css/max-width-none.html 2192 2193 * css/CSSStyleSelector.cpp: 2194 (WebCore::CSSStyleSelector::applyProperty): For max-width of none, 2195 set it to Length(undefinedLength, Fixed), which is the correct 2196 value. 2197 2198 2011-02-14 Antti Koivisto <antti (a] apple.com> 2199 2200 Reviewed by Andreas Kling. 2201 2202 REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg 2203 https://bugs.webkit.org/show_bug.cgi?id=54344 2204 2205 Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc. 2206 2207 * dom/Document.cpp: 2208 (WebCore::Document::Document): 2209 (WebCore::Document::recalcStyle): 2210 (WebCore::Document::recalcStyleSelector): 2211 * dom/Document.h: 2212 2213 2011-02-14 Naoki Takano <takano.naoki (a] gmail.com> 2214 2215 Reviewed by Kent Tamura. 2216 2217 [Chromium] Fix wrong popup position for RTL(again) 2218 https://bugs.webkit.org/show_bug.cgi?id=54375 2219 2220 Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position. 2221 2222 No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html 2223 2224 * platform/chromium/PopupMenuChromium.cpp: 2225 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset(). 2226 (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect(). 2227 (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value. 2228 (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect(). 2229 * platform/chromium/PopupMenuChromium.h: Change the function name and parameters. 2230 2231 2011-02-14 Alejandro G. Castro <alex (a] igalia.com> 2232 2233 Unreviewed, rolling out r78451. 2234 http://trac.webkit.org/changeset/78451 2235 https://bugs.webkit.org/show_bug.cgi?id=53898 2236 2237 It is causing crashes in some bots 2238 2239 * platform/text/TextCodecICU.cpp: 2240 (WebCore::newTextCodecICU): 2241 (WebCore::TextCodecICU::registerBaseEncodingNames): 2242 (WebCore::TextCodecICU::registerBaseCodecs): 2243 (WebCore::TextCodecICU::registerExtendedEncodingNames): 2244 (WebCore::TextCodecICU::registerExtendedCodecs): 2245 (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): 2246 (WebCore::getGbkEscape): 2247 (WebCore::urlEscapedEntityCallback): 2248 (WebCore::gbkCallbackEscape): 2249 (WebCore::gbkUrlEscapedEntityCallack): 2250 (WebCore::gbkCallbackSubstitute): 2251 * platform/text/TextCodecICU.h: 2252 (WebCore::ICUConverterWrapper::ICUConverterWrapper): 2253 * platform/text/TextCodecUTF8.cpp: 2254 (WebCore::TextCodecUTF8::registerEncodingNames): 2255 (WebCore::nonASCIISequenceLength): 2256 (WebCore::decodeNonASCIISequence): 2257 (WebCore::TextCodecUTF8::decode): 2258 * platform/text/TextCodecUTF8.h: 2259 * platform/text/TextEncodingRegistry.cpp: 2260 (WebCore::buildBaseTextCodecMaps): 2261 (WebCore::extendTextCodecMaps): 2262 2263 2011-02-13 Antti Koivisto <antti (a] apple.com> 2264 2265 Reviewed by Dan Bernstein. 2266 2267 https://bugs.webkit.org/show_bug.cgi?id=54376 2268 Make sorting of matched rules faster 2269 2270 - use std::sort 2271 - cache specificity, it is slow to compute 2272 - inline compare function 2273 2274 * css/CSSStyleSelector.cpp: 2275 (WebCore::RuleData::specificity): 2276 (WebCore::CSSStyleSelector::matchRules): 2277 (WebCore::compareRules): 2278 (WebCore::CSSStyleSelector::sortMatchedRules): 2279 (WebCore::RuleData::RuleData): 2280 (WebCore::CSSStyleSelector::matchPageRules): 2281 * css/CSSStyleSelector.h: 2282 2283 2011-02-12 Darin Adler <darin (a] apple.com> 2284 2285 Reviewed by Alexey Proskuryakov. 2286 2287 Add built-in decoder for UTF-8 for improved performance 2288 https://bugs.webkit.org/show_bug.cgi?id=53898 2289 2290 Covered by existing tests; not adding new tests at this time. 2291 2292 This patch now handles errors in the same way the existing codecs do, 2293 and so passes our tests. The previous version failed some tests because 2294 of incorrect error handling. 2295 2296 * platform/text/TextCodecICU.cpp: 2297 (WebCore::create): Renamed from newTextCodecICU, made a static member 2298 function, and added a call to adoptPtr. 2299 (WebCore::TextCodecICU::registerEncodingNames): Renamed from 2300 registerExtendedEncodingNames since this class is no longer used for 2301 base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8. 2302 (WebCore::TextCodecICU::registerCodecs): Renamed. 2303 (WebCore::fallbackForGBK): Renamed to conform to our current style. 2304 2305 * platform/text/TextCodecICU.h: Updated for above changes. Changed 2306 indentation. Made most functions private, including virtual function 2307 overrides. Marked ICUConverterWrapper noncopyable. 2308 2309 * platform/text/TextCodecUTF8.cpp: 2310 (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases 2311 that were formerly added by TextCodecICU. 2312 (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for 2313 bytes F5-FF instead of failing. 2314 (WebCore::decodeNonASCIISequence): Tweaked coding style. 2315 (WebCore::appendCharacter): Added. Makes it easier to share code between 2316 the partial-character handling and main loop. 2317 (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case 2318 where there is a partial sequence. Fixed partial sequence handling so that 2319 goto is no longer needed, since compilers sometimes make poor code when 2320 goto is involved. Added a loop for partial sequences since we consume only 2321 one byte when a partial sequence is invalid. Fixed logic in main decoding 2322 loop so goto is not needed. Used early-exit style in both loops so the main 2323 flow is not nested inside if statements. Added correct error handling for 2324 flush when a partial sequence remains, which involved wrapping the function 2325 in yet another loop. 2326 2327 * platform/text/TextCodecUTF8.h: Made virtual function overrides private. 2328 2329 * platform/text/TextEncodingRegistry.cpp: 2330 (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed 2331 calls to TextCodecICU. Added FIXMEs for other codecs that no longer need 2332 to be included here. 2333 (WebCore::extendTextCodecMaps): Updated for the name change of the 2334 TextCodecICU functions. 2335 2336 2011-02-13 Mark Rowe <mrowe (a] apple.com> 2337 2338 Reviewed by Maciej Stachowiak. 2339 2340 <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods. 2341 2342 * platform/network/mac/AuthenticationMac.mm: 2343 (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]): 2344 (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]): 2345 2346 2011-02-13 Simon Fraser <simon.fraser (a] apple.com> 2347 2348 Reviewed by Andreas Kling. 2349 2350 Repeating gradients drawn incorrectly 2351 https://bugs.webkit.org/show_bug.cgi?id=53502 2352 2353 The 'forward-fill' logic for repeating gradients used the wrong 2354 starting stop index (0 rather than the original first index), which 2355 resulted in incorrect gradients if backwards-fill had already been 2356 applied. 2357 2358 Test: fast/gradients/css3-repeating-end-fill.html 2359 2360 * css/CSSGradientValue.cpp: 2361 (WebCore::CSSGradientValue::addStops): 2362 2363 2011-02-13 Benjamin Poulain <benjamin.poulain (a] nokia.com> 2364 2365 Reviewed by Andreas Kling. 2366 2367 Unused variable result in RenderBlock::addOverflowFromFloats() 2368 https://bugs.webkit.org/show_bug.cgi?id=54363 2369 2370 Remove the unused variable. 2371 2372 * rendering/RenderBlock.cpp: 2373 (WebCore::RenderBlock::addOverflowFromFloats): 2374 2375 2011-02-13 Cameron Zwarich <zwarich (a] apple.com> 2376 2377 Reviewed by Anders Carlsson. 2378 2379 WebCore fails to build with Clang's -Woverloaded-virtual 2380 https://bugs.webkit.org/show_bug.cgi?id=54367 2381 2382 * loader/PingLoader.h: 2383 (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature 2384 in the base class. 2385 2386 2011-02-13 Nico Weber <thakis (a] chromium.org> 2387 2388 Reviewed by Anders Carlsson. 2389 2390 RenderBR::width() tries but fails to override RenderText::width() 2391 https://bugs.webkit.org/show_bug.cgi?id=54301 2392 2393 The superclass method's signature changed, e.g. in 2394 http://trac.webkit.org/changeset/57215, but the subclass was not 2395 updated. 2396 2397 * rendering/RenderBR.h: 2398 (WebCore::RenderBR::width): 2399 2400 2011-02-13 Andreas Kling <kling (a] webkit.org> 2401 2402 Reviewed by Dirk Schulze. 2403 2404 Canvas: 2d.fillStyle.parse.system.html fails 2405 https://bugs.webkit.org/show_bug.cgi?id=39168 2406 2407 Based on previous work by Julien Chaffraix <jchaffraix (a] codeaurora.org> 2408 and Jan Erik Hanssen <jhanssen (a] sencha.com> 2409 2410 * css/CSSParser.cpp: 2411 (WebCore::CSSParser::parseColor): Changed the function to better match our 2412 early return policy. Also we now return false when we don't parse the color. 2413 This is needed for createFromString to fallback to using parseSystemColor. 2414 2415 (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get 2416 the system colors. 2417 2418 * css/CSSParser.h: Added the new parseSystemColor method. 2419 2420 * html/canvas/CanvasRenderingContext2D.cpp: 2421 (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString. 2422 (WebCore::CanvasRenderingContext2D::setFillColor): Ditto. 2423 2424 * html/canvas/CanvasStyle.cpp: 2425 (WebCore::parseColor): 2426 (WebCore::parseColorOrCurrentColor): 2427 (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor 2428 and fall back to parseSystemColor if it did not work. 2429 2430 * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString. 2431 2432 2011-02-13 Jeremy Moskovich <jeremy (a] chromium.org> 2433 2434 Reviewed by Adam Barth. 2435 2436 Add a compile-time option to completely disable WebArchive support. 2437 https://bugs.webkit.org/show_bug.cgi?id=52712 2438 2439 Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code. 2440 2441 ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used 2442 in Safari for functionality such as "Save Image As" and Image copy & paste independent of 2443 WebArchive support. 2444 2445 Ports Affected: 2446 WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt. 2447 This patch preserves this behavior except that it also disables support in the Chromium port. 2448 2449 No behavior changes so no new tests. 2450 2451 * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends. 2452 * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port. 2453 * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef. 2454 (WebCore::DocumentLoader::commitLoad): 2455 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 2456 (WebCore::DocumentLoader::archiveResourceForURL): 2457 * loader/DocumentLoader.h: 2458 * loader/FrameLoader.cpp: 2459 (WebCore::FrameLoader::loadURLIntoChildFrame): 2460 (WebCore::FrameLoader::stopAllLoaders): 2461 (WebCore::FrameLoader::finishedLoadingDocument): 2462 * loader/FrameLoader.h: 2463 * loader/ResourceLoader.cpp: 2464 (WebCore::ResourceLoader::start): 2465 * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale. 2466 (WebCore::archiveMIMETypes): 2467 * page/Settings.cpp: 2468 * page/Settings.h: 2469 * platform/MIMETypeRegistry.cpp: 2470 (WebCore::initializeSupportedNonImageMimeTypes): 2471 2472 2011-02-13 Aparna Nandyal <aparna.nand (a] wipro.com> 2473 2474 Reviewed by Andreas Kling. 2475 2476 [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL. 2477 https://bugs.webkit.org/show_bug.cgi?id=53320 2478 2479 The encoding that was done is corrected in the fix. 2480 Replaced the KURL encoding function with QUrl API. 2481 2482 * platform/qt/DragDataQt.cpp: 2483 (WebCore::DragData::asURL): 2484 2485 2011-02-13 Leo Yang <leo.yang.c (a] gmail.com> 2486 2487 Reviewed by Andreas Kling. 2488 2489 Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX() 2490 https://bugs.webkit.org/show_bug.cgi?id=54351 2491 2492 We were calling containingBlock() twice if the left is not auto. We only need to call it 2493 once because we can use 'cb' variable in the following line. 2494 2495 No functionality change, no new tests. 2496 2497 * rendering/RenderBoxModelObject.cpp: 2498 (WebCore::RenderBoxModelObject::relativePositionOffsetX): 2499 2500 2011-02-13 Jarred Nicholls <jarred (a] sencha.com> 2501 2502 Reviewed by Simon Fraser. 2503 2504 getComputedStyle returns wrong value for margin-right 2505 https://bugs.webkit.org/show_bug.cgi?id=13343 2506 2507 Matching IE, Firefox, and Opera behavior by returning the computed margin 2508 values as specified, rather than the used/auto values (calculated via RenderBox). 2509 Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable. 2510 Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE 2511 returns the specified percentage. 2512 2513 Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html 2514 fast/css/getComputedStyle/getComputedStyle-margin-length.html 2515 fast/css/getComputedStyle/getComputedStyle-margin-percentage.html 2516 2517 * css/CSSComputedStyleDeclaration.cpp: 2518 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 2519 2520 2011-02-13 Adam Barth <abarth (a] webkit.org> 2521 2522 Reviewed by Sam Weinig. 2523 2524 crypto.getRandomValues should throw TYPE_MISMATCH_ERR 2525 https://bugs.webkit.org/show_bug.cgi?id=54346 2526 2527 As requested by Sam. 2528 2529 * page/Crypto.cpp: 2530 (WebCore::Crypto::getRandomValues): 2531 2532 2011-02-13 Alexey Proskuryakov <ap (a] apple.com> 2533 2534 Reviewed by Dan Bernstein. 2535 2536 https://bugs.webkit.org/show_bug.cgi?id=54349 2537 Inline some accessors in PrintContext 2538 2539 No change in behavior, so no tests. 2540 2541 * WebCore.exp.in: 2542 * page/PrintContext.cpp: 2543 * page/PrintContext.h: 2544 (WebCore::PrintContext::pageCount): 2545 (WebCore::PrintContext::pageRect): 2546 Inline pageCount() and pageRect() to match pageRects(). 2547 2548 2011-02-13 Sam Weinig <sam (a] webkit.org> 2549 2550 Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back 2551 in with fixes to make it work with render layers. 2552 2553 * platform/mac/ScrollAnimatorMac.h: 2554 * platform/mac/ScrollAnimatorMac.mm: 2555 (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): 2556 (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary): 2557 (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary): 2558 (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary): 2559 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): 2560 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): 2561 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): 2562 * rendering/RenderLayer.cpp: 2563 (WebCore::RenderLayer::RenderLayer): 2564 (WebCore::RenderLayer::contentsSize): 2565 (WebCore::RenderLayer::visibleHeight): 2566 (WebCore::RenderLayer::visibleWidth): 2567 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 2568 * rendering/RenderLayer.h: 2569 * rendering/RenderListBox.cpp: 2570 (WebCore::RenderListBox::visibleHeight): 2571 (WebCore::RenderListBox::visibleWidth): 2572 * rendering/RenderListBox.h: 2573 2574 2011-02-13 Sam Weinig <sam (a] webkit.org> 2575 2576 Reviewed by Dan Bernstein. 2577 2578 Some Scrollbar functions assume an attached ScrollableArea but can be called without one 2579 https://bugs.webkit.org/show_bug.cgi?id=54262 2580 2581 Make sure that all calls to the scrollable area are null checked. 2582 2583 * platform/Scrollbar.cpp: 2584 (WebCore::Scrollbar::autoscrollPressedPart): 2585 (WebCore::Scrollbar::moveThumb): 2586 (WebCore::Scrollbar::mouseMoved): 2587 2588 2011-02-13 Sam Weinig <sam (a] webkit.org> 2589 2590 Roll out r78424. It broke a bunch of tests. 2591 2592 * platform/mac/ScrollAnimatorMac.h: 2593 * platform/mac/ScrollAnimatorMac.mm: 2594 (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): 2595 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): 2596 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): 2597 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): 2598 * rendering/RenderLayer.cpp: 2599 * rendering/RenderLayer.h: 2600 (WebCore::RenderLayer::contentsSize): 2601 * rendering/RenderListBox.cpp: 2602 * rendering/RenderListBox.h: 2603 2604 2011-02-12 Sam Weinig <sam (a] webkit.org> 2605 2606 Reviewed by Dan Bernstein. 2607 2608 WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse) 2609 <rdar://problem/8984760> 2610 2611 When going down the smooth scroll path, constrained scrolls (such as those from a 2612 Mighty Mouse) were being correctly constrained at the ScrollView level, but the 2613 duplicate values being stored by the animator were not being constrained correctly. 2614 2615 In order to implement the constraint at this level, more of the ScrollableArea's API 2616 needed to be filled in for RenderLayer and RenderListBox. 2617 2618 * platform/mac/ScrollAnimatorMac.h: 2619 * platform/mac/ScrollAnimatorMac.mm: 2620 (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay 2621 consistent and get the desired behavior. 2622 2623 (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary): 2624 (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary): 2625 (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary): 2626 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): 2627 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): 2628 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): 2629 Ensure that the scroll animators view of the current scroll position is the 2630 same as the scrollable areas by correctly clamping the value. 2631 2632 * rendering/RenderLayer.cpp: 2633 (WebCore::RenderLayer::contentsSize): Correct implementation 2634 to use the scroll size, not the visible size. 2635 (WebCore::RenderLayer::visibleHeight): 2636 (WebCore::RenderLayer::visibleWidth): 2637 * rendering/RenderLayer.h: 2638 * rendering/RenderListBox.cpp: 2639 (WebCore::RenderListBox::visibleHeight): 2640 (WebCore::RenderListBox::visibleWidth): 2641 * rendering/RenderListBox.h: 2642 Add implementations for visibleHeight/visibleWidth. 2643 2644 2011-02-12 Adam Barth <abarth (a] webkit.org> 2645 2646 Reviewed by Sam Weinig. 2647 2648 crypto.getRandomValues should support all integer array types 2649 https://bugs.webkit.org/show_bug.cgi?id=54342 2650 2651 As discussed on whatwg, we should support all the integer array types. 2652 2653 Test: security/crypto-random-values-types.html 2654 2655 * page/Crypto.cpp: 2656 (WebCore::Crypto::getRandomValues): 2657 2658 2011-02-12 Adam Barth <abarth (a] webkit.org> 2659 2660 Reviewed by Mark Rowe. 2661 2662 Use /dev/urandom as the OSRandomSource on OS(DARWIN) 2663 https://bugs.webkit.org/show_bug.cgi?id=54279 2664 2665 Update the ifdef. OS(UNIX) includes OS(DARWIN), so this change is 2666 should be a NOP. 2667 2668 * config.h: 2669 2670 2011-02-11 Zhenyao Mo <zmo (a] google.com> 2671 2672 Reviewed by Kenneth Russell. 2673 2674 [chromium] Allow turning off multisampling through web preference settings 2675 https://bugs.webkit.org/show_bug.cgi?id=54321 2676 2677 * html/canvas/WebGLRenderingContext.cpp: 2678 (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so. 2679 * page/Settings.cpp: Add a flag for multisampling preference. 2680 (WebCore::Settings::Settings): 2681 (WebCore::Settings::setOpenGLMultisamplingEnabled): 2682 * page/Settings.h: Ditto. 2683 (WebCore::Settings::openGLMultisamplingEnabled): 2684 2685 2011-02-12 Ryosuke Niwa <rniwa (a] webkit.org> 2686 2687 Reviewed by Tony Chang. 2688 2689 Deploy EditingStyle in applyBlockStyle and applyInlineStyle 2690 https://bugs.webkit.org/show_bug.cgi?id=53911 2691 2692 Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle. 2693 Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle. 2694 Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node* 2695 so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction. 2696 2697 No new tests are added since this is a refactoring. 2698 2699 * editing/ApplyStyleCommand.cpp: 2700 (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle. 2701 (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*. 2702 (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection 2703 from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction. 2704 (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*. 2705 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead. 2706 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null. 2707 (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null. 2708 * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes. 2709 * editing/EditingStyle.cpp: 2710 (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument. 2711 (WebCore::EditingStyle::init): Supports PropertiesToInclude. 2712 (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle. 2713 * editing/EditingStyle.h: 2714 (WebCore::EditingStyle::create): Supports PropertiesToInclude. 2715 2716 2011-02-12 Jochen Eisinger <jochen (a] chromium.org> 2717 2718 Reviewed by Jeremy Orlow. 2719 2720 Implement IDBObjectStore::clear 2721 https://bugs.webkit.org/show_bug.cgi?id=54193 2722 2723 Test: storage/indexeddb/objectstore-clear.html 2724 2725 * storage/IDBObjectStore.cpp: 2726 (WebCore::IDBObjectStore::clear): 2727 * storage/IDBObjectStore.h: 2728 * storage/IDBObjectStore.idl: 2729 * storage/IDBObjectStoreBackendImpl.cpp: 2730 (WebCore::IDBObjectStoreBackendImpl::clear): 2731 (WebCore::doDelete): 2732 (WebCore::IDBObjectStoreBackendImpl::clearInternal): 2733 * storage/IDBObjectStoreBackendImpl.h: 2734 * storage/IDBObjectStoreBackendInterface.h: 2735 2736 2011-02-12 Adam Barth <abarth (a] webkit.org> 2737 2738 Another attempt to fix the EFL build. Looks like we're missing one 2739 more file. 2740 2741 * CMakeLists.txt: 2742 2743 2011-02-12 Adam Barth <abarth (a] webkit.org> 2744 2745 Attempt to fix the EFL build. Apparently the CMake build had no 2746 concept of ArrayBuffers. 2747 2748 * CMakeLists.txt: 2749 2750 2011-02-12 Ryosuke Niwa <rniwa (a] webkit.org> 2751 2752 Unreviewed build fix. 2753 2754 * dom/Range.cpp: 2755 (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode. 2756 (WebCore::Range::processContents): 2757 (WebCore::Range::processContentsBetweenOffsets): 2758 2759 2011-02-12 Adam Barth <abarth (a] webkit.org> 2760 2761 CPP files belong in SOURCES not in HEADERS. There are more errors like 2762 this for other disabled features, but I'm not fixing them in this 2763 patch. 2764 2765 * WebCore.pro: 2766 2767 2011-02-12 Adam Barth <abarth (a] webkit.org> 2768 2769 Apparently lines in .pro files need to be \-terminated. 2770 2771 * WebCore.pro: 2772 2773 2011-02-11 Ryosuke Niwa <rniwa (a] webkit.org> 2774 2775 Reviewed by Darin Adler. 2776 2777 Extract a function to process contents for one node from Range::processContents 2778 https://bugs.webkit.org/show_bug.cgi?id=54282 2779 2780 Extracted Range::processContentsBetweenOffsets, which process contents of a node 2781 between two offsets. This function is used for the simple case where the start 2782 and the end containers are of the same node, and to process start and end containers 2783 in the complex case. 2784 2785 When the function takes a non-null fragment (simple case), it appends the processed 2786 contents to the fragment; character data and processing instruction's contents are copied 2787 between the offsets, and descendants are copied for node of other types (not node itself). 2788 2789 When the fragment is null (complex case), the function copies contents of character data, 2790 processing instruction, and node of other types (including node itself). 2791 2792 No new tests are added since this is a refactoring. 2793 2794 * dom/Range.cpp: 2795 (WebCore::highestAncestorUnderCommonRoot): Added. 2796 (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and 2797 processContentsBetweenOffsets. 2798 (WebCore::Range::processContentsBetweenOffsets): Added. 2799 * dom/Range.h: 2800 2801 2011-02-12 Adam Barth <abarth (a] webkit.org> 2802 2803 Attempt to fix the Qt Windows build. 2804 2805 * WebCore.pro: 2806 2807 2011-02-12 Adam Barth <abarth (a] webkit.org> 2808 2809 Reviewed by Kenneth Russell. 2810 2811 Enable ArrayBuffers by default 2812 https://bugs.webkit.org/show_bug.cgi?id=54310 2813 2814 As discussed on webkit-dev, ArrayBuffers are used by a bunch of 2815 different APIs, implemented by Firefox, and appear to be stable. 2816 Keeping them conditional is a large mantainance burden than it's worth. 2817 2818 * DerivedSources.cpp: 2819 * WebCore.vcproj/WebCore.vcproj: 2820 * bindings/generic/RuntimeEnabledFeatures.h: 2821 (WebCore::RuntimeEnabledFeatures::setWebGLEnabled): 2822 * bindings/js/JSArrayBufferCustom.cpp: 2823 * bindings/js/JSBindingsAllInOne.cpp: 2824 * bindings/js/JSDOMWindowCustom.cpp: 2825 * bindings/js/JSDataViewCustom.cpp: 2826 * bindings/js/JSFloat32ArrayCustom.cpp: 2827 * bindings/js/JSInt16ArrayCustom.cpp: 2828 * bindings/js/JSInt32ArrayCustom.cpp: 2829 * bindings/js/JSInt8ArrayCustom.cpp: 2830 * bindings/js/JSUint16ArrayCustom.cpp: 2831 * bindings/js/JSUint32ArrayCustom.cpp: 2832 * bindings/js/JSUint8ArrayCustom.cpp: 2833 * bindings/v8/custom/V8ArrayBufferCustom.cpp: 2834 * bindings/v8/custom/V8ArrayBufferViewCustom.h: 2835 * bindings/v8/custom/V8DataViewCustom.cpp: 2836 * bindings/v8/custom/V8Float32ArrayCustom.cpp: 2837 * bindings/v8/custom/V8Int16ArrayCustom.cpp: 2838 * bindings/v8/custom/V8Int32ArrayCustom.cpp: 2839 * bindings/v8/custom/V8Int8ArrayCustom.cpp: 2840 * bindings/v8/custom/V8Uint16ArrayCustom.cpp: 2841 * bindings/v8/custom/V8Uint32ArrayCustom.cpp: 2842 * bindings/v8/custom/V8Uint8ArrayCustom.cpp: 2843 * html/canvas/ArrayBuffer.cpp: 2844 * html/canvas/ArrayBuffer.idl: 2845 * html/canvas/ArrayBufferView.cpp: 2846 * html/canvas/ArrayBufferView.idl: 2847 * html/canvas/DataView.cpp: 2848 * html/canvas/DataView.idl: 2849 * html/canvas/Float32Array.cpp: 2850 * html/canvas/Float32Array.idl: 2851 * html/canvas/Int16Array.cpp: 2852 * html/canvas/Int16Array.idl: 2853 * html/canvas/Int32Array.cpp: 2854 * html/canvas/Int32Array.idl: 2855 * html/canvas/Int8Array.cpp: 2856 * html/canvas/Int8Array.idl: 2857 * html/canvas/Uint16Array.cpp: 2858 * html/canvas/Uint16Array.idl: 2859 * html/canvas/Uint32Array.cpp: 2860 * html/canvas/Uint32Array.idl: 2861 * html/canvas/Uint8Array.cpp: 2862 * html/canvas/Uint8Array.idl: 2863 * page/Crypto.cpp: 2864 (WebCore::Crypto::getRandomValues): 2865 * page/Crypto.h: 2866 * page/Crypto.idl: 2867 * page/DOMWindow.idl: 2868 * workers/WorkerContext.idl: 2869 2870 2011-02-11 Yael Aharon <yael.aharon (a] nokia.com> 2871 2872 Reviewed by Darin Adler. 2873 2874 Background image positioning on RTL text 2875 https://bugs.webkit.org/show_bug.cgi?id=32862 2876 2877 When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order. 2878 2879 Tests: fast/inline/inline-box-background-long-image.html 2880 fast/inline/inline-box-background-repeat-x.html 2881 fast/inline/inline-box-background-repeat-y.html 2882 fast/inline/inline-box-background.html 2883 2884 * rendering/InlineFlowBox.cpp: 2885 (WebCore::InlineFlowBox::paintFillLayer): 2886 2887 2011-02-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 2888 2889 Unreviewed, rolling out r78044. 2890 http://trac.webkit.org/changeset/78044 2891 https://bugs.webkit.org/show_bug.cgi?id=54318 2892 2893 Broke Safari extensions (Requested by eseidel on #webkit). 2894 2895 * platform/KURL.cpp: 2896 (WebCore::KURL::parse): 2897 2898 2011-02-11 Beth Dakin <bdakin (a] apple.com> 2899 2900 Reviewed by Sam Weinig. 2901 2902 Fix for <rdar://problem/8976456> Scrollbars for overflow 2903 areas never appear for WKScrollbarPainter scrollers 2904 2905 Call ScrollableArea::didAddVerticalScrollbar() and 2906 ScrollableArea::willRemoveVerticalScrollbar() when 2907 appropriate for RenderLayers. 2908 * rendering/RenderLayer.cpp: 2909 (WebCore::RenderLayer::setHasHorizontalScrollbar): 2910 (WebCore::RenderLayer::setHasVerticalScrollbar): 2911 2912 2011-02-11 Eric Seidel <eric (a] webkit.org> 2913 2914 Reviewed by Adam Barth. 2915 2916 KURL should remove default port numbers when cannonicalizing urls (to match every other browser) 2917 https://bugs.webkit.org/show_bug.cgi?id=54090 2918 2919 * platform/KURL.cpp: 2920 (WebCore::isDefaultPortForScheme): 2921 (WebCore::KURL::parse): 2922 2923 2011-02-11 Mike Reed <reed (a] google.com> 2924 2925 Reviewed by James Robinson. 2926 2927 Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend 2928 is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp 2929 2930 No new tests. All existing canvas layouttests exercise this code path 2931 2932 * platform/graphics/skia/PlatformContextSkia.cpp: 2933 (WebCore::PlatformContextSkia::prepareForSoftwareDraw): 2934 2935 2011-02-11 Adam Klein <adamk (a] chromium.org> 2936 2937 Reviewed by Darin Adler. 2938 2939 Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry 2940 https://bugs.webkit.org/show_bug.cgi?id=54304 2941 2942 This avoids potential crashes in HashMap, as WTF's StringHash doesn't 2943 accept empty Strings. 2944 2945 * platform/SchemeRegistry.cpp: 2946 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess): 2947 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure): 2948 (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument): 2949 2950 2011-02-11 Adam Klein <adamk (a] chromium.org> 2951 2952 Reviewed by Darin Fisher. 2953 2954 [fileapi] Add support for filesystem: URI handling 2955 https://bugs.webkit.org/show_bug.cgi?id=53529 2956 2957 There are two major parts to this patch: one is to add an 2958 implementation of Entry.toURI to the FileSystem API. 2959 The other is to implement security origin checking for this 2960 new scheme. 2961 2962 All changes are guarded by the FILE_SYSTEM feature. An accompanying 2963 Chromium change, to support loading of filesystem: URIs, has recently 2964 been submitted as Chromium r74082. 2965 2966 Spec: 2967 http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2 2968 Proposed URI format, and discussion of security origin issues: 2969 http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html 2970 2971 Tests: fast/filesystem/directory-entry-to-uri.html 2972 fast/filesystem/file-entry-to-uri.html 2973 fast/filesystem/filesystem-uri-origin.html 2974 http/tests/security/filesystem-iframe-from-remote.html 2975 2976 * fileapi/Entry.cpp: 2977 (WebCore::Entry::toURI): 2978 * fileapi/Entry.h: 2979 * fileapi/Entry.idl: 2980 - Added toURI method to the IDL, omitting the MIME type argument 2981 specified in the spec as it will soon be removed. 2982 * page/SecurityOrigin.cpp: 2983 (WebCore::SecurityOrigin::SecurityOrigin): 2984 - crack the filesystem: URI to get at the origin of the site 2985 (WebCore::SecurityOrigin::canDisplay): 2986 - canDisplay for filesystem: URIs is equivalent to canRequest 2987 * platform/AsyncFileSystem.cpp: 2988 (WebCore::AsyncFileSystem::create): 2989 (WebCore::AsyncFileSystem::openFileSystem): 2990 * platform/AsyncFileSystem.h: 2991 (WebCore::AsyncFileSystem::type): 2992 - Exposed filesystem type to allow toURI to use it as part of the 2993 path. 2994 (WebCore::AsyncFileSystem::AsyncFileSystem): 2995 * platform/SchemeRegistry.cpp: 2996 (WebCore::canDisplayOnlyIfCanRequestSchemes): 2997 (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest): 2998 (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest): 2999 - Generalized canDisplayOnlyIfCanRequest as it applies to both 3000 filesystem: and blob: URIs. 3001 * platform/SchemeRegistry.h: 3002 3003 2011-02-11 Beth Dakin <bdakin (a] apple.com> 3004 3005 Reviewed by Darin Adler. 3006 3007 Fix for <rdar://problem/8961061> CrashTracer: [USER] 3008 1 crash at com.apple.WebCore: 3009 -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62 3010 3011 Must check for null _animator. 3012 * platform/mac/ScrollAnimatorMac.mm: 3013 (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]): 3014 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): 3015 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): 3016 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): 3017 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): 3018 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): 3019 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): 3020 3021 2011-02-11 Chris Rogers <crogers (a] google.com> 3022 3023 Reviewed by Kenneth Russell. 3024 3025 Throw exception when AudioContext's createBuffer() fails to properly decode audio file data 3026 https://bugs.webkit.org/show_bug.cgi?id=54158 3027 3028 No new tests since audio API is not yet implemented. 3029 3030 * bindings/js/JSAudioContextCustom.cpp: 3031 (WebCore::JSAudioContextConstructor::constructJSAudioContext): 3032 (WebCore::JSAudioContext::createBuffer): 3033 * bindings/v8/custom/V8AudioContextCustom.cpp: 3034 (WebCore::V8AudioContext::createBufferCallback): 3035 * platform/audio/chromium/AudioBusChromium.cpp: 3036 (WebCore::createBusFromInMemoryAudioFile): 3037 * webaudio/AudioContext.idl: 3038 3039 2011-02-11 Mike Reed <reed (a] google.com> 3040 3041 Reviewed by James Robinson. 3042 3043 Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing 3044 the address returned by getPixels() (as the device may not be backed by a CPU bitmap) 3045 https://bugs.webkit.org/show_bug.cgi?id=54224 3046 3047 No new tests. Existing canvas tests exercise this... 3048 fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html 3049 3050 * platform/graphics/skia/ImageBufferSkia.cpp: 3051 (WebCore::ImageBuffer::toDataURL): 3052 3053 2011-02-11 Andrew Wason <rectalogic (a] rectalogic.com> 3054 3055 Reviewed by David Levin. 3056 3057 Files missing ENABLE_VIDEO #ifdef 3058 https://bugs.webkit.org/show_bug.cgi?id=53390 3059 3060 No new tests. 3061 3062 * html/canvas/WebGLRenderingContext.cpp: 3063 * html/canvas/WebGLRenderingContext.h: 3064 * html/canvas/WebGLRenderingContext.idl: 3065 Wrap methods and declarations that use HTMLVideoElement 3066 with #if ENABLE(VIDEO). 3067 3068 2011-02-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 3069 3070 Unreviewed, rolling out r78331. 3071 http://trac.webkit.org/changeset/78331 3072 https://bugs.webkit.org/show_bug.cgi?id=54295 3073 3074 This patch broke 11 tests in GTK bots (Requested by svillar on 3075 #webkit). 3076 3077 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 3078 (webkit_accessible_get_name): 3079 (webkit_accessible_detach): 3080 3081 2011-02-11 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 3082 3083 Reviewed by Xan Lopez. 3084 3085 [GDOM] Video element needs proper wrapping 3086 https://bugs.webkit.org/show_bug.cgi?id=54231 3087 3088 Use the same strategy as the one used for the audio tag to wrap 3089 video as well. No layout tests because this only adds API. 3090 3091 * bindings/gobject/GNUmakefile.am: 3092 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: 3093 (WebKit::createVideoWrapper): 3094 (WebKit::createHTMLElementWrapper): 3095 3096 2011-02-11 Dirk Schulze <krit (a] webkit.org> 3097 3098 Reviewed by Andreas Kling. 3099 3100 SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual) 3101 https://bugs.webkit.org/show_bug.cgi?id=54259 3102 3103 Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to 3104 avoid overloading a virtual function. 3105 3106 No change of functionality. Just fixing a build warning, so no new tests. 3107 3108 * svg/SVGAElement.cpp: 3109 (WebCore::SVGAElement::fillAttributeToPropertyTypeMap): 3110 * svg/SVGAltGlyphElement.cpp: 3111 (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap): 3112 * svg/SVGCircleElement.cpp: 3113 (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap): 3114 * svg/SVGClipPathElement.cpp: 3115 (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap): 3116 * svg/SVGEllipseElement.cpp: 3117 (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap): 3118 * svg/SVGFEBlendElement.cpp: 3119 (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap): 3120 * svg/SVGFEColorMatrixElement.cpp: 3121 (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap): 3122 * svg/SVGFEComponentTransferElement.cpp: 3123 (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap): 3124 * svg/SVGFECompositeElement.cpp: 3125 (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap): 3126 * svg/SVGFEConvolveMatrixElement.cpp: 3127 (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap): 3128 * svg/SVGFEDiffuseLightingElement.cpp: 3129 (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap): 3130 * svg/SVGFEDisplacementMapElement.cpp: 3131 (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap): 3132 * svg/SVGFEFloodElement.cpp: 3133 (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap): 3134 * svg/SVGFEGaussianBlurElement.cpp: 3135 (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap): 3136 * svg/SVGFEImageElement.cpp: 3137 (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap): 3138 * svg/SVGFEMergeElement.cpp: 3139 (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap): 3140 * svg/SVGFEMorphologyElement.cpp: 3141 (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap): 3142 * svg/SVGFEOffsetElement.cpp: 3143 (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap): 3144 * svg/SVGFESpecularLightingElement.cpp: 3145 (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap): 3146 * svg/SVGFETileElement.cpp: 3147 (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap): 3148 * svg/SVGFETurbulenceElement.cpp: 3149 (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap): 3150 * svg/SVGFilterElement.cpp: 3151 (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap): 3152 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 3153 (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap): 3154 * svg/SVGFilterPrimitiveStandardAttributes.h: 3155 * svg/SVGFontElement.cpp: 3156 (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap): 3157 * svg/SVGForeignObjectElement.cpp: 3158 (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap): 3159 * svg/SVGGlyphElement.cpp: 3160 (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap): 3161 * svg/SVGGradientElement.cpp: 3162 (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap): 3163 * svg/SVGGradientElement.h: 3164 * svg/SVGImageElement.cpp: 3165 (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap): 3166 * svg/SVGLineElement.cpp: 3167 (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap): 3168 * svg/SVGLinearGradientElement.cpp: 3169 (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap): 3170 * svg/SVGMarkerElement.cpp: 3171 (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap): 3172 * svg/SVGMaskElement.cpp: 3173 (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap): 3174 * svg/SVGMissingGlyphElement.cpp: 3175 (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap): 3176 * svg/SVGPathElement.cpp: 3177 (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap): 3178 * svg/SVGPatternElement.cpp: 3179 (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap): 3180 * svg/SVGPolyElement.cpp: 3181 (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap): 3182 * svg/SVGRadialGradientElement.cpp: 3183 (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap): 3184 * svg/SVGRectElement.cpp: 3185 (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap): 3186 * svg/SVGStopElement.cpp: 3187 (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap): 3188 * svg/SVGStyledElement.cpp: 3189 (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap): 3190 * svg/SVGStyledElement.h: 3191 * svg/SVGStyledTransformableElement.cpp: 3192 (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap): 3193 * svg/SVGStyledTransformableElement.h: 3194 * svg/SVGSwitchElement.cpp: 3195 (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap): 3196 * svg/SVGSymbolElement.cpp: 3197 (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap): 3198 * svg/SVGTRefElement.cpp: 3199 (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap): 3200 * svg/SVGTSpanElement.cpp: 3201 (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap): 3202 * svg/SVGTextContentElement.cpp: 3203 (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap): 3204 * svg/SVGTextContentElement.h: 3205 * svg/SVGTextElement.cpp: 3206 (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap): 3207 * svg/SVGTextPathElement.cpp: 3208 (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap): 3209 * svg/SVGTextPositioningElement.cpp: 3210 (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap): 3211 * svg/SVGTextPositioningElement.h: 3212 * svg/SVGTitleElement.cpp: 3213 (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap): 3214 * svg/SVGUseElement.cpp: 3215 (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): 3216 * svg/SVGViewElement.cpp: 3217 (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap): 3218 3219 2011-02-11 Andrey Adaikin <aandrey (a] google.com> 3220 3221 Reviewed by Pavel Feldman. 3222 3223 Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view 3224 https://bugs.webkit.org/show_bug.cgi?id=54089 3225 3226 * inspector/front-end/Drawer.js: 3227 (WebInspector.Drawer.prototype.show.animationFinished): 3228 (WebInspector.Drawer.prototype.show): 3229 (WebInspector.Drawer.prototype.hide): 3230 (WebInspector.Drawer.prototype.resize): 3231 (WebInspector.Drawer.prototype.immediatelyFinishAnimation): 3232 (WebInspector.Drawer.prototype._cancelAnimationIfNeeded): 3233 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished): 3234 (WebInspector.Drawer.prototype._animateDrawerHeight): 3235 (WebInspector.Drawer.prototype._statusBarDragging): 3236 * inspector/front-end/inspector.js: 3237 (WebInspector.animateStyle): 3238 (WebInspector.animateStyle.forceComplete): 3239 (WebInspector.animateStyle.cancel): 3240 (WebInspector.showSourceLine): 3241 3242 2011-02-10 Nate Chapin <japhet (a] chromium.org> 3243 3244 Reviewed by Adam Barth. 3245 3246 Make DocumentWriter a member of DocumentLoader 3247 instead of FrameLoader. 3248 https://bugs.webkit.org/show_bug.cgi?id=50489 3249 3250 Refactor, no new tests. 3251 3252 * bindings/ScriptControllerBase.cpp: 3253 (WebCore::ScriptController::executeIfJavaScriptURL): 3254 * dom/Document.cpp: 3255 (WebCore::Document::Document): 3256 (WebCore::Document::explicitClose): 3257 (WebCore::Document::lastModified): 3258 (WebCore::Document::initSecurityContext): 3259 (WebCore::Document::updateURLForPushOrReplaceState): 3260 * dom/Document.h: 3261 (WebCore::Document::setDocumentLoader): 3262 (WebCore::Document::loader): 3263 * html/MediaDocument.cpp: 3264 (WebCore::MediaDocument::replaceMediaElementTimerFired): 3265 * html/PluginDocument.cpp: 3266 (WebCore::PluginDocumentParser::createDocumentStructure): 3267 * loader/DocumentLoader.cpp: 3268 (WebCore::DocumentLoader::DocumentLoader): 3269 (WebCore::DocumentLoader::finishedLoading): 3270 (WebCore::DocumentLoader::commitData): 3271 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 3272 (WebCore::DocumentLoader::setFrame): 3273 * loader/DocumentLoader.h: 3274 (WebCore::DocumentLoader::writer): 3275 * loader/DocumentWriter.cpp: 3276 (WebCore::DocumentWriter::begin): 3277 * loader/DocumentWriter.h: 3278 (WebCore::DocumentWriter::setFrame): 3279 * loader/FrameLoader.cpp: 3280 (WebCore::FrameLoader::FrameLoader): 3281 (WebCore::FrameLoader::init): 3282 (WebCore::FrameLoader::clear): 3283 (WebCore::FrameLoader::receivedFirstData): 3284 (WebCore::FrameLoader::transitionToCommitted): 3285 (WebCore::FrameLoader::open): 3286 (WebCore::FrameLoader::finishedLoadingDocument): 3287 (WebCore::FrameLoader::addExtraFieldsToRequest): 3288 * loader/FrameLoader.h: 3289 (WebCore::FrameLoader::notifier): 3290 * svg/graphics/SVGImage.cpp: 3291 (WebCore::SVGImage::dataChanged): 3292 3293 2011-02-10 Pavel Feldman <pfeldman (a] chromium.org> 3294 3295 Reviewed by Yury Semikhatsky. 3296 3297 Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines. 3298 https://bugs.webkit.org/show_bug.cgi?id=54227 3299 3300 * dom/Document.cpp: 3301 (WebCore::Document::finishedParsing): 3302 * inspector/InspectorAgent.cpp: 3303 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 3304 (WebCore::InspectorAgent::setFrontend): 3305 (WebCore::InspectorAgent::disconnectFrontend): 3306 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 3307 (WebCore::InspectorAgent::didCommitLoad): 3308 (WebCore::InspectorAgent::domContentLoadedEventFired): 3309 (WebCore::InspectorAgent::loadEventFired): 3310 (WebCore::InspectorAgent::startTimelineProfiler): 3311 (WebCore::InspectorAgent::stopTimelineProfiler): 3312 * inspector/InspectorAgent.h: 3313 * inspector/InspectorCSSAgent.cpp: 3314 * inspector/InspectorDOMAgent.cpp: 3315 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 3316 (WebCore::InspectorDOMAgent::startListening): 3317 (WebCore::InspectorDOMAgent::stopListening): 3318 (WebCore::InspectorDOMAgent::mainDOMContentLoaded): 3319 (WebCore::InspectorDOMAgent::loadEventFired): 3320 * inspector/InspectorDOMAgent.h: 3321 (WebCore::InspectorDOMAgent::create): 3322 * inspector/InspectorDOMStorageAgent.cpp: 3323 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 3324 * inspector/InspectorDOMStorageAgent.h: 3325 (WebCore::InspectorDOMStorageAgent::create): 3326 * inspector/InspectorDOMStorageResource.h: 3327 * inspector/InspectorDatabaseAgent.cpp: 3328 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 3329 (WebCore::InspectorDatabaseAgent::executeSQL): 3330 (WebCore::InspectorDatabaseAgent::selectDatabase): 3331 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 3332 * inspector/InspectorDatabaseAgent.h: 3333 (WebCore::InspectorDatabaseAgent::FrontendProvider::create): 3334 (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider): 3335 (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend): 3336 (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend): 3337 (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider): 3338 (WebCore::InspectorDatabaseAgent::create): 3339 * inspector/InspectorDatabaseResource.cpp: 3340 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 3341 (WebCore::InspectorDatabaseResource::bind): 3342 * inspector/InspectorDatabaseResource.h: 3343 * inspector/InspectorInstrumentation.cpp: 3344 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): 3345 (WebCore::InspectorInstrumentation::loadEventFiredImpl): 3346 * inspector/InspectorInstrumentation.h: 3347 (WebCore::InspectorInstrumentation::domContentLoadedEventFired): 3348 (WebCore::InspectorInstrumentation::loadEventFired): 3349 * inspector/InspectorState.cpp: 3350 (WebCore::InspectorState::InspectorState): 3351 (WebCore::InspectorState::mute): 3352 (WebCore::InspectorState::updateCookie): 3353 * inspector/InspectorState.h: 3354 (WebCore::InspectorState::~InspectorState): 3355 * inspector/InspectorTimelineAgent.cpp: 3356 (WebCore::InspectorTimelineAgent::restore): 3357 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): 3358 (WebCore::InspectorTimelineAgent::didCommitLoad): 3359 (WebCore::InspectorTimelineAgent::setFrontend): 3360 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 3361 * inspector/InspectorTimelineAgent.h: 3362 (WebCore::InspectorTimelineAgent::create): 3363 * page/DOMWindow.cpp: 3364 (WebCore::DOMWindow::dispatchLoadEvent): 3365 3366 2011-02-11 Pavel Feldman <pfeldman (a] chromium.org> 3367 3368 Reviewed by Yury Semikhatsky. 3369 3370 Web Inspector: command line API $0 regressed. 3371 https://bugs.webkit.org/show_bug.cgi?id=54283 3372 3373 * inspector/InjectedScriptSource.js: 3374 3375 2011-02-11 Janne Koskinen <janne.p.koskinen (a] digia.com> 3376 3377 Reviewed by Andreas Kling. 3378 3379 [Qt][S60] Vertical borders of buttons and frames are misaligned 3380 https://bugs.webkit.org/show_bug.cgi?id=51169 3381 3382 Force anti-aliasing for lines and rects when using OpenVG backend on Symbian. 3383 OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates 3384 without anti-aliasing. Patch idea by Laszlo Agocs. 3385 3386 * platform/graphics/qt/GraphicsContextQt.cpp: 3387 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 3388 3389 2011-02-11 Mario Sanchez Prada <msanchez (a] igalia.com> 3390 3391 Reviewed by Xan Lopez. 3392 3393 [GTK] events missing when a document is (re)loaded 3394 https://bugs.webkit.org/show_bug.cgi?id=25831 3395 3396 Make sure webArea returns a proper name and that a signal 3397 'state-change::defunct' is emitted when detaching the wrapper. 3398 3399 Test: platform/gtk/accessibility/document-reload-events.html 3400 3401 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 3402 (webkit_accessible_get_name): Returns the current document's title 3403 as fallback mechanism for webArea objects. 3404 (webkit_accessible_detach): Emit 'state-change::defunct' function 3405 as soon as the wrapper is detached from the related core object. 3406 3407 2011-02-11 Pavel Feldman <pfeldman (a] chromium.org> 3408 3409 Reviewed by Yury Semikhatsky. 3410 3411 Web Inspector: command line's API inspect() is broken. 3412 https://bugs.webkit.org/show_bug.cgi?id=54275 3413 3414 Test: inspector/command-line-api.html 3415 3416 * inspector/InjectedScriptSource.js: 3417 3418 2011-02-11 Adam Barth <abarth (a] webkit.org> 3419 3420 Turns out window.crypto is supposed to be readonly. 3421 3422 * page/DOMWindow.idl: 3423 3424 2011-02-11 Adam Barth <abarth (a] webkit.org> 3425 3426 Actually add Crypto.cpp to the Windows build. I'm terrible. 3427 3428 * WebCore.vcproj/WebCore.vcproj: 3429 3430 2011-02-11 Adam Barth <abarth (a] webkit.org> 3431 3432 Attempt to fix the Windows build. Apparently we don't support 3433 conditional attributes on functions. This patch makes the whole Crypto 3434 interface conditional on ArrayBuffer support. 3435 3436 * page/DOMWindow.idl: 3437 * page/Crypto.cpp: 3438 * page/Crypto.h: 3439 * page/Crypto.idl: 3440 3441 2011-02-10 Antti Koivisto <antti (a] apple.com> 3442 3443 Reviewed by Dave Hyatt. 3444 3445 Enable ancestor identifier filtering for tree building 3446 https://bugs.webkit.org/show_bug.cgi?id=54241 3447 3448 Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent 3449 element stack as needed. 3450 3451 This roughly halves the remaining time in style matching over a typical page load. 3452 3453 * css/CSSStyleSelector.cpp: 3454 (WebCore::CSSStyleSelector::pushParentStackFrame): 3455 (WebCore::CSSStyleSelector::popParentStackFrame): 3456 (WebCore::CSSStyleSelector::pushParent): 3457 (WebCore::CSSStyleSelector::popParent): 3458 * css/CSSStyleSelector.h: 3459 (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame): 3460 * dom/Document.h: 3461 (WebCore::Document::styleSelectorIfExists): 3462 * dom/Element.cpp: 3463 (WebCore::Element::beginParsingChildren): 3464 (WebCore::Element::finishParsingChildren): 3465 * dom/Element.h: 3466 3467 2011-02-10 Adam Barth <abarth (a] webkit.org> 3468 3469 Reviewed by Eric Seidel. 3470 3471 WebKit should have a cryptographic RNG 3472 https://bugs.webkit.org/show_bug.cgi?id=22049 3473 3474 Add crypto.getRandomValues. Yes, all these diffs are required to 3475 expose a single function to the DOM. 3476 3477 Test: security/crypto-random-values.html 3478 3479 * Android.mk: 3480 * CMakeLists.txt: 3481 * DerivedSources.cpp: 3482 * DerivedSources.make: 3483 * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added. 3484 * GNUmakefile.am: 3485 * WebCore.gypi: 3486 * WebCore.pri: 3487 * WebCore.pro: 3488 * WebCore.vcproj/WebCore.vcproj: 3489 * WebCore.xcodeproj/project.pbxproj: 3490 * bindings/js/JSDOMWindowCustom.cpp: 3491 * bindings/v8/custom/V8DOMWindowCustom.cpp: 3492 * config.h: 3493 * page/Crypto.cpp: Added. 3494 (WebCore::Crypto::Crypto): 3495 (WebCore::Crypto::getRandomValues): 3496 * page/Crypto.h: Added. 3497 (WebCore::Crypto::create): 3498 * page/Crypto.idl: Added. 3499 * page/DOMWindow.cpp: 3500 (WebCore::DOMWindow::clear): 3501 (WebCore::DOMWindow::crypto): 3502 * page/DOMWindow.h: 3503 (WebCore::DOMWindow::optionalCrypto): 3504 * page/DOMWindow.idl: 3505 3506 2011-02-11 Ryuan Choi <ryuan.choi (a] samsung.com> 3507 3508 Unreviewed build fix. 3509 3510 [GTK] Build break with 2.18.3 3511 https://bugs.webkit.org/show_bug.cgi?id=54057 3512 3513 * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h 3514 3515 2011-02-11 Cosmin Truta <ctruta (a] chromium.org> 3516 3517 Reviewed by Adam Barth. 3518 3519 Templatize KURLGooglePrivate::init 3520 https://bugs.webkit.org/show_bug.cgi?id=53749 3521 3522 No new tests. Refactoring. 3523 3524 * platform/KURLGoogle.cpp: 3525 (WebCore::KURLGooglePrivate::init): 3526 * platform/KURLGooglePrivate.h: 3527 3528 2011-02-10 Andy Estes <aestes (a] apple.com> 3529 3530 Reviewed by Eric Seidel. 3531 3532 Convert ContainerNode::firstElementChild() to a free function. 3533 https://bugs.webkit.org/show_bug.cgi?id=54269 3534 3535 No new tests. No change in behavior. 3536 3537 It seemed incorrect to have a method on ContainerNode that had the 3538 concept of an Element but couldn't return an Element*, but a method on 3539 Element could not be called by holders of ContainerNodes or other 3540 non-Element ContainerNode subclasses. A free function can both return 3541 an Element* and be called by anyone with a ContainerNode*. 3542 3543 * dom/ContainerNode.h: 3544 (WebCore::ContainerNode::lastChild): 3545 (WebCore::Node::lastChild): 3546 * dom/Document.cpp: 3547 (WebCore::Document::cacheDocumentElement): 3548 * dom/Element.cpp: 3549 (WebCore::Element::firstElementChild): 3550 * dom/Element.h: 3551 (WebCore::firstElementChild): 3552 * html/parser/HTMLTreeBuilder.cpp: 3553 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): 3554 3555 2011-02-10 Mads Ager <ager (a] chromium.org> 3556 3557 Reviewed by Nate Chapin. 3558 3559 [V8] Don't crash on exception getting event handler function 3560 https://bugs.webkit.org/show_bug.cgi?id=54216 3561 3562 Check for exceptions when attempting to get the handleEvent property 3563 of an event-handler object. 3564 3565 Test: fast/dom/exception-getting-event-handler.html 3566 3567 * bindings/v8/V8EventListener.cpp: 3568 (WebCore::V8EventListener::getListenerFunction): 3569 3570 2011-02-10 Naoki Takano <takano.naoki (a] gmail.com> 3571 3572 Reviewed by James Robinson. 3573 3574 [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas. 3575 https://bugs.webkit.org/show_bug.cgi?id=53857 3576 3577 globalAlpha is not applied to fillPath() and fillRect(). 3578 3579 Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas. 3580 3581 * platform/graphics/chromium/GLES2Canvas.cpp: 3582 (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called. 3583 (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor. 3584 (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor. 3585 3586 2011-02-10 Andy Estes <aestes (a] apple.com> 3587 3588 Reviewed by Adam Barth. 3589 3590 Remove an unneeded argument from HTMLDocument::create(). 3591 https://bugs.webkit.org/show_bug.cgi?id=54268 3592 3593 Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for 3594 fragment parsing, there isn't a need to explicitly specify a baseURL 3595 when constructing an HTMLDocument. We can remove the unneeded argument. 3596 3597 Also fix some style issues in Document.h and HTMLDocument.h caught by 3598 check-webkit-style. 3599 3600 No new tests. No change in behavior. 3601 3602 * dom/Document.cpp: 3603 (WebCore::Document::Document): 3604 * dom/Document.h: 3605 * html/HTMLDocument.cpp: 3606 (WebCore::HTMLDocument::HTMLDocument): 3607 * html/HTMLDocument.h: 3608 (WebCore::HTMLDocument::create): 3609 3610 2011-02-10 Michael Saboff <msaboff (a] apple.com> 3611 3612 Reviewed by Geoffrey Garen. 3613 3614 Cached JavaScript Parser Data Being Left in Memory Cache 3615 https://bugs.webkit.org/show_bug.cgi?id=54245 3616 3617 Added logic in CachedScript to clear SourceProviderCache data in 3618 destroyDecodedData(). Added and changed CachedScript timeout to 3619 act similar to CachedImage. Changed didAddClient to call super 3620 class method instead of duplicating the logic in the derived 3621 classes. 3622 3623 * loader/cache/CachedImage.cpp: 3624 (WebCore::CachedImage::didAddClient): 3625 * loader/cache/CachedScript.cpp: 3626 (WebCore::CachedScript::didAddClient): 3627 (WebCore::CachedScript::allClientsRemoved): 3628 (WebCore::CachedScript::script): 3629 (WebCore::CachedScript::destroyDecodedData): 3630 * loader/cache/CachedScript.h: 3631 3632 2011-02-10 Cosmin Truta <ctruta (a] chromium.org> 3633 3634 Reviewed by David Levin. 3635 3636 Fix style in KURLGooglePrivate 3637 https://bugs.webkit.org/show_bug.cgi?id=54228 3638 3639 Replace occurrences of NULL with 0, '\0' or null (as applicable), 3640 to appease check-webkit-style. 3641 3642 No new tests. This is a style fix. 3643 3644 * platform/KURLGoogle.cpp: 3645 * platform/KURLGooglePrivate.h: 3646 3647 2011-02-10 Andy Estes <aestes (a] apple.com> 3648 3649 Reviewed by Darin Adler. 3650 3651 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% 3652 https://bugs.webkit.org/show_bug.cgi?id=48719 3653 3654 The HTML5 fragment parsing algorithm specifies that a new Document 3655 should be created to serve as the temporary parent of fragment nodes 3656 during parsing. Document creation is expensive and accounts for ~38% of 3657 the Peacekeeper DOM performance regression. Avoid the cost of creating 3658 a dummy document by using the already-created DocumentFragment as the 3659 root node during fragment parsing. 3660 3661 With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT 3662 is ~24%. 3663 3664 Test: fast/parser/fragment-parser-doctype.html 3665 3666 * dom/ContainerNode.h: 3667 (WebCore::ContainerNode::firstElementChild): Add a method that returns 3668 the first element-typed child from a ContainerNode. 3669 * dom/Document.cpp: 3670 (WebCore::Document::cacheDocumentElement): Call 3671 ContainerNode::firstElementChild() to retrieve and cache the document 3672 element. 3673 * html/parser/HTMLConstructionSite.cpp: 3674 (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the 3675 root ContainerNode. 3676 (WebCore::HTMLConstructionSite::detach): Clear the reference to the 3677 root ContainerNode. 3678 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): 3679 Attach the new element to the root ContainerNode. 3680 (WebCore::HTMLConstructionSite::insertDoctype): Ditto. 3681 (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto. 3682 * html/parser/HTMLConstructionSite.h: Store a pointer to a 3683 ContainerNode that will be used as the root node for document parsing. 3684 This node might or might not be the same as m_document. 3685 * html/parser/HTMLTreeBuilder.cpp: 3686 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the 3687 HTMLConstructionSite with the correct root ContainerNode based on 3688 whether or not we're parsing a fragment. 3689 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): 3690 Remove m_dummyDocumentForFragmentParsing. 3691 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the 3692 fragment has a context element, store only the children of the root 3693 element (HTML5 Section 10.4, Step 7). 3694 * html/parser/HTMLTreeBuilder.h: 3695 3696 2011-02-10 Beth Dakin <bdakin (a] apple.com> 3697 3698 Reviewed by Oliver Hunt. 3699 3700 Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes 3701 in WebProcess at com.apple.AppKit: 3702 -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154 3703 3704 * platform/mac/ScrollAnimatorMac.mm: 3705 (-[ScrollbarPartAnimation scrollAnimatorDestroyed]): 3706 3707 2011-02-09 Jeremy Orlow <jorlow (a] chromium.org> 3708 3709 Reviewed by Nate Chapin. 3710 3711 IndexedDB event targets need to ensure their wrappers aren't garbage collected 3712 https://bugs.webkit.org/show_bug.cgi?id=54144 3713 3714 hasActivityPending should return true as long as it's possible that we'll 3715 fire more event listeners on our event targets. It is still possible for 3716 user generated events to run into problems, but I'm not sure how to address 3717 that yet (or how big of a deal it is). 3718 3719 There's really no way to test this deterministically. Testing by hand makes 3720 it seem like this patch works as expected though. 3721 3722 * storage/IDBCursorBackendImpl.cpp: 3723 * storage/IDBDatabase.cpp: 3724 (WebCore::IDBDatabase::IDBDatabase): 3725 (WebCore::IDBDatabase::~IDBDatabase): 3726 (WebCore::IDBDatabase::hasPendingActivity): 3727 (WebCore::IDBDatabase::stop): 3728 * storage/IDBDatabase.h: 3729 * storage/IDBRequest.cpp: 3730 (WebCore::IDBRequest::IDBRequest): 3731 (WebCore::IDBRequest::hasPendingActivity): 3732 (WebCore::IDBRequest::dispatchEvent): 3733 (WebCore::IDBRequest::enqueueEvent): 3734 * storage/IDBRequest.h: 3735 * storage/IDBTransaction.cpp: 3736 (WebCore::IDBTransaction::finished): 3737 (WebCore::IDBTransaction::hasPendingActivity): 3738 (WebCore::IDBTransaction::dispatchEvent): 3739 (WebCore::IDBTransaction::canSuspend): 3740 (WebCore::IDBTransaction::contextDestroyed): 3741 (WebCore::IDBTransaction::enqueueEvent): 3742 * storage/IDBTransaction.h: 3743 3744 2011-02-10 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 3745 3746 Reviewed by Andreas Kling. 3747 3748 [Qt] create pkg-config files for mingw 3749 https://bugs.webkit.org/show_bug.cgi?id=54238 3750 3751 (mingw is mostly the same as unix) 3752 3753 This change was applied in the Qt repository (qt/src/3rdparty/webkit), 3754 so we should do the same here in QtWebKit. 3755 3756 Patch by Mark Brand <mabrand (a] mabrand.nl>, reviewed (there) by 3757 Oswald Buddenhagen <oswald.buddenhagen (a] nokia.com> 3758 45fe2dddc3a0677b9ec9fce09f07cd4129e37afa 3759 3760 * WebCore.pro: 3761 3762 2011-02-10 Andreas Kling <kling (a] webkit.org> 3763 3764 Reviewed by Antti Koivisto. 3765 3766 RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform 3767 https://bugs.webkit.org/show_bug.cgi?id=54246 3768 3769 * rendering/style/RenderStyle.h: 3770 3771 2011-02-10 Dirk Schulze <krit (a] webkit.org> 3772 3773 Reviewed by Andreas Kling. 3774 3775 SVG animation avoid unnecessary adjust for currentColor 3776 https://bugs.webkit.org/show_bug.cgi?id=54243 3777 3778 At the moment we try to adjust every animation value for currentColor - independent of the animation type. 3779 Since the value is a string and the target element may needs to get called by getElementById, this could 3780 be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back 3781 as a string and parse it to Color afterwards again. 3782 With the patch we just adjust an animation value, if we use color animation. The color won't get saved and 3783 parsed as a string again. 3784 3785 No change of functionality, no new tests. 3786 3787 * svg/SVGAnimateElement.cpp: 3788 (WebCore::adjustForCurrentColor): 3789 (WebCore::SVGAnimateElement::calculateFromAndToValues): 3790 (WebCore::SVGAnimateElement::calculateFromAndByValues): 3791 * svg/SVGAnimationElement.cpp: 3792 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): 3793 (WebCore::SVGAnimationElement::startedActiveInterval): 3794 3795 2011-02-10 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 3796 3797 Reviewed by Andreas Kling. 3798 3799 [Qt] Remove the use of deprecated qFindChildren() 3800 https://bugs.webkit.org/show_bug.cgi?id=54232 3801 3802 This was applied on the Qt repository and affects QtWebKit there. 3803 (13833beb641289c45faed337848d37280195aadc) 3804 3805 The side effect of this change is that we won't be able to build 3806 QtWebKit with MSVC 6, as it doesn't support member template functions 3807 (not sure if that's possible today anyway). 3808 3809 Original patch from Olivier Goffart <olivier.goffart (a] nokia.com>, with 3810 review reported as being from the mailing list. 3811 3812 The changes are result of the following commands: 3813 3814 git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild 3815 git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild 3816 git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild 3817 git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild 3818 git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild 3819 3820 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 3821 (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon): 3822 3823 2011-02-10 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 3824 3825 Reviewed by Andreas Kling. 3826 3827 [Qt] Rename build target from "embedded" to "qpa" 3828 https://bugs.webkit.org/show_bug.cgi?id=54233 3829 3830 This flag is used by Qt's configure script to enable a QPA build 3831 ("QPA is a window system agnostic implementation of Qt" -- 3832 previously known as lighthouse). 3833 3834 On the Qt repository, this was changed by two commits: 3835 3836 13a0b4935900093607f2b3b7688e1452d22770fd 3837 (from embedded to embedded_lite) 3838 3839 9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab 3840 (from embedded_lite to qpa) 3841 3842 * WebCore.pro: 3843 3844 2011-02-10 Kenneth Russell <kbr (a] google.com> 3845 3846 Reviewed by James Robinson. 3847 3848 Incorporate algorithm for processing paths into GPU-renderable triangle meshes 3849 https://bugs.webkit.org/show_bug.cgi?id=45521 3850 3851 Adding an implementation of Loop and Blinn's GPU accelerated path 3852 rendering algorithm from GPU Gems 3. This implementation pays 3853 particular attention to the efficiency of the curve subdivision 3854 phase needed for correct rendering. It utilizes the OpenGL utility 3855 library tessellator for triangulation of the interior of the 3856 shape. The regions handled by Loop and Blinn's algorithm are 3857 handled by the local triangulator previously incorporated. 3858 3859 No tests yet; pixel tests will eventually be used to verify this 3860 algorithm and prevent regressions. 3861 3862 * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added. 3863 (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment): 3864 (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup): 3865 (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind): 3866 (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint): 3867 (WebCore::LoopBlinnPathProcessorImplementation::Segment::next): 3868 (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev): 3869 (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext): 3870 (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev): 3871 (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour): 3872 (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide): 3873 (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox): 3874 (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay): 3875 (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles): 3876 (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle): 3877 (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices): 3878 (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex): 3879 (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision): 3880 (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision): 3881 (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString): 3882 (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox): 3883 (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour): 3884 (WebCore::LoopBlinnPathProcessorImplementation::Contour::add): 3885 (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide): 3886 (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin): 3887 (WebCore::LoopBlinnPathProcessorImplementation::Contour::end): 3888 (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise): 3889 (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise): 3890 (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox): 3891 (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide): 3892 (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide): 3893 (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate): 3894 (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor): 3895 (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor): 3896 (WebCore::LoopBlinnPathProcessor::process): 3897 (WebCore::LoopBlinnPathProcessor::buildContours): 3898 (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY): 3899 (WebCore::LoopBlinnPathProcessor::determineSidesToFill): 3900 (WebCore::LoopBlinnPathProcessor::determineOrientation): 3901 (WebCore::SweepData::SweepEvent::SweepEvent): 3902 (WebCore::SweepData::SweepEvent::setup): 3903 (WebCore::SweepData::SweepEvent::x): 3904 (WebCore::SweepData::SweepEvent::entry): 3905 (WebCore::SweepData::SweepEvent::interval): 3906 (WebCore::SweepData::SweepEvent::operator<): 3907 (WebCore::SweepData::trianglesOverlap): 3908 (WebCore::LoopBlinnPathProcessor::subdivideCurves): 3909 (WebCore::LoopBlinnPathProcessor::conditionallySubdivide): 3910 (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow): 3911 (WebCore::TessellationState::vertexCallback): 3912 (WebCore::TessellationState::combineCallback): 3913 (WebCore::TessellationState::edgeFlagCallback): 3914 (WebCore::LoopBlinnPathProcessor::tessellateInterior): 3915 * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added. 3916 3917 2011-02-10 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 3918 3919 Reviewed by Andreas Kling. 3920 3921 [Qt] Remove the use of deprecated qVariant* 3922 https://bugs.webkit.org/show_bug.cgi?id=54229 3923 3924 This was applied on the Qt repository and affects QtWebKit there. 3925 (633f3f45e5420663cf4ceadea79e62fea44cd2eb) 3926 3927 The side effect of this change is that we won't be able to build 3928 QtWebKit with MSVC 6, as it doesn't support member template functions 3929 (not sure if it's possible today anyway). 3930 3931 Original patch from Olivier Goffart <olivier.goffart (a] nokia.com>, with 3932 review reported as being from the mailing list. 3933 3934 The changes are result of the following commands: 3935 3936 git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue 3937 git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue 3938 git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue 3939 git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert 3940 git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert 3941 git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue 3942 3943 * bridge/qt/qt_runtime.cpp: 3944 (JSC::Bindings::convertValueToQVariant): 3945 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 3946 (WebCore::MediaPlayerPrivateQt::commitLoad): 3947 3948 2011-02-10 Nico Weber <thakis (a] chromium.org> 3949 3950 Reviewed by Darin Adler. 3951 3952 Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]" 3953 https://bugs.webkit.org/show_bug.cgi?id=54221 3954 3955 The method name conflicts with ContainerNode::getRect() so rename it to 3956 computeRect(). Rename getPath() to computePath() for consistency as 3957 well. 3958 3959 No intended functionality change, covered by existing tests. 3960 3961 * accessibility/AccessibilityImageMapLink.cpp: 3962 (WebCore::AccessibilityImageMapLink::elementRect): 3963 * html/HTMLAreaElement.cpp: 3964 (WebCore::HTMLAreaElement::computePath): 3965 (WebCore::HTMLAreaElement::computeRect): 3966 * html/HTMLAreaElement.h: 3967 * page/SpatialNavigation.cpp: 3968 (WebCore::virtualRectForAreaElementAndDirection): 3969 * rendering/RenderImage.cpp: 3970 (WebCore::RenderImage::paintFocusRing): 3971 3972 2011-02-10 Alexis Menard <alexis.menard (a] nokia.com> 3973 3974 Reviewed by Andreas Kling. 3975 3976 [Qt] Default focus ring is too wide 3977 https://bugs.webkit.org/show_bug.cgi?id=51854 3978 3979 We now respect the outline property and html.css defines the outline of the focus 3980 ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses 3981 it as the pen size. We should ignore the size and keep a default one. I also 3982 reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia, 3983 CG Win, Haiku, WinCE ports also ignore the width. 3984 3985 * platform/graphics/qt/GraphicsContextQt.cpp: 3986 (WebCore::drawFocusRingForPath): 3987 (WebCore::GraphicsContext::drawFocusRing): 3988 3989 2011-02-10 Martin Robinson <mrobinson (a] igalia.com> 3990 3991 Reviewed by Gustavo Noronha Silva. 3992 3993 [Soup] ResourceHandleSoup does not ever call didSendData for file uploads 3994 https://bugs.webkit.org/show_bug.cgi?id=52090 3995 3996 Call didSendData as body data is uploaded to the server. This is necessary 3997 for XHR upload events to function properly. 3998 3999 * platform/network/ResourceHandleInternal.h: 4000 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members. 4001 One to track the total amount of body data and one to track the total amount of 4002 body data sent so far. 4003 * platform/network/soup/ResourceHandleSoup.cpp: 4004 (WebCore::wroteBodyDataCallback): Added. 4005 (WebCore::addFormElementsToSoupMessage): Split this out into a helper function. 4006 Will now now sum the total amount of body data. 4007 (WebCore::startHttp): Attach a wrote-body-data signal handler. 4008 4009 2011-02-10 Bill Budge <bbudge (a] chromium.org> 4010 4011 Reviewed by David Levin. 4012 4013 Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader. 4014 https://bugs.webkit.org/show_bug.cgi?id=53925 4015 4016 * platform/network/chromium/ResourceRequest.cpp: 4017 (WebCore::ResourceRequest::doPlatformCopyData): 4018 (WebCore::ResourceRequest::doPlatformAdopt): 4019 * platform/network/chromium/ResourceRequest.h: 4020 (WebCore::ResourceRequest::ResourceRequest): 4021 (WebCore::ResourceRequest::downloadToFile): 4022 (WebCore::ResourceRequest::setDownloadToFile): 4023 * platform/network/chromium/ResourceResponse.cpp: 4024 (WebCore::ResourceResponse::doPlatformCopyData): 4025 (WebCore::ResourceResponse::doPlatformAdopt): 4026 * platform/network/chromium/ResourceResponse.h: 4027 (WebCore::ResourceResponse::downloadFilePath): 4028 (WebCore::ResourceResponse::setDownloadFilePath): 4029 4030 2011-02-10 Dirk Schulze <krit (a] webkit.org> 4031 4032 Reviewed by Nikolas Zimmermann. 4033 4034 SVGAnimateElement needs information about the animated attribute type 4035 https://bugs.webkit.org/show_bug.cgi?id=53442 4036 4037 For animations, we need to know the SVG property type for a XML attribute. A global static mapping between 4038 attribute name and a type is not possible, since one attribute name can be bound to different property types: 4039 x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports 4040 the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between 4041 the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static 4042 HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function 4043 that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons. 4044 4045 No change of functionality, so no new test cases. 4046 4047 * svg/SVGAElement.cpp: 4048 (WebCore::SVGAElement::attributeToPropertyTypeMap): 4049 (WebCore::SVGAElement::fillAttributeToPropertyTypeMap): 4050 * svg/SVGAElement.h: 4051 * svg/SVGAltGlyphElement.cpp: 4052 (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap): 4053 (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap): 4054 * svg/SVGAltGlyphElement.h: 4055 * svg/SVGAnimateElement.cpp: 4056 (WebCore::SVGAnimateElement::determinePropertyType): 4057 * svg/SVGCircleElement.cpp: 4058 (WebCore::SVGCircleElement::attributeToPropertyTypeMap): 4059 (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap): 4060 * svg/SVGCircleElement.h: 4061 * svg/SVGClipPathElement.cpp: 4062 (WebCore::SVGClipPathElement::attributeToPropertyTypeMap): 4063 (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap): 4064 * svg/SVGClipPathElement.h: 4065 * svg/SVGComponentTransferFunctionElement.cpp: 4066 (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap): 4067 (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap): 4068 * svg/SVGComponentTransferFunctionElement.h: 4069 * svg/SVGCursorElement.cpp: 4070 (WebCore::SVGCursorElement::attributeToPropertyTypeMap): 4071 (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap): 4072 * svg/SVGCursorElement.h: 4073 * svg/SVGElement.cpp: 4074 (WebCore::SVGElement::attributeToPropertyTypeMap): 4075 (WebCore::SVGElement::animatedPropertyTypeForAttribute): 4076 * svg/SVGElement.h: 4077 (WebCore::SVGElement::fillAttributeToPropertyTypeMap): 4078 * svg/SVGEllipseElement.cpp: 4079 (WebCore::SVGEllipseElement::attributeToPropertyTypeMap): 4080 (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap): 4081 * svg/SVGEllipseElement.h: 4082 * svg/SVGFEBlendElement.cpp: 4083 (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap): 4084 (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap): 4085 * svg/SVGFEBlendElement.h: 4086 * svg/SVGFEColorMatrixElement.cpp: 4087 (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap): 4088 (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap): 4089 * svg/SVGFEColorMatrixElement.h: 4090 * svg/SVGFEComponentTransferElement.cpp: 4091 (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap): 4092 (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap): 4093 * svg/SVGFEComponentTransferElement.h: 4094 * svg/SVGFECompositeElement.cpp: 4095 (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap): 4096 (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap): 4097 * svg/SVGFECompositeElement.h: 4098 * svg/SVGFEConvolveMatrixElement.cpp: 4099 (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap): 4100 (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap): 4101 * svg/SVGFEConvolveMatrixElement.h: 4102 * svg/SVGFEDiffuseLightingElement.cpp: 4103 (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap): 4104 (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap): 4105 * svg/SVGFEDiffuseLightingElement.h: 4106 * svg/SVGFEDisplacementMapElement.cpp: 4107 (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap): 4108 (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap): 4109 * svg/SVGFEDisplacementMapElement.h: 4110 * svg/SVGFEFloodElement.cpp: 4111 (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap): 4112 (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap): 4113 * svg/SVGFEFloodElement.h: 4114 * svg/SVGFEGaussianBlurElement.cpp: 4115 (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap): 4116 (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap): 4117 * svg/SVGFEGaussianBlurElement.h: 4118 * svg/SVGFEImageElement.cpp: 4119 (WebCore::SVGFEImageElement::attributeToPropertyTypeMap): 4120 (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap): 4121 * svg/SVGFEImageElement.h: 4122 * svg/SVGFELightElement.cpp: 4123 (WebCore::SVGFELightElement::attributeToPropertyTypeMap): 4124 (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap): 4125 * svg/SVGFELightElement.h: 4126 * svg/SVGFEMergeElement.cpp: 4127 (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap): 4128 (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap): 4129 * svg/SVGFEMergeElement.h: 4130 * svg/SVGFEMergeNodeElement.cpp: 4131 (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap): 4132 (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap): 4133 * svg/SVGFEMergeNodeElement.h: 4134 * svg/SVGFEMorphologyElement.cpp: 4135 (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap): 4136 (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap): 4137 * svg/SVGFEMorphologyElement.h: 4138 * svg/SVGFEOffsetElement.cpp: 4139 (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap): 4140 (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap): 4141 * svg/SVGFEOffsetElement.h: 4142 * svg/SVGFESpecularLightingElement.cpp: 4143 (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap): 4144 (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap): 4145 * svg/SVGFESpecularLightingElement.h: 4146 * svg/SVGFETileElement.cpp: 4147 (WebCore::SVGFETileElement::attributeToPropertyTypeMap): 4148 (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap): 4149 * svg/SVGFETileElement.h: 4150 * svg/SVGFETurbulenceElement.cpp: 4151 (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap): 4152 (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap): 4153 * svg/SVGFETurbulenceElement.h: 4154 * svg/SVGFilterElement.cpp: 4155 (WebCore::SVGFilterElement::attributeToPropertyTypeMap): 4156 (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap): 4157 * svg/SVGFilterElement.h: 4158 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 4159 (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap): 4160 * svg/SVGFilterPrimitiveStandardAttributes.h: 4161 * svg/SVGFontElement.cpp: 4162 (WebCore::SVGFontElement::attributeToPropertyTypeMap): 4163 (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap): 4164 * svg/SVGFontElement.h: 4165 (WebCore::SVGFontElement::rendererIsNeeded): 4166 * svg/SVGForeignObjectElement.cpp: 4167 (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap): 4168 (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap): 4169 * svg/SVGForeignObjectElement.h: 4170 * svg/SVGGlyphElement.cpp: 4171 (WebCore::SVGGlyphElement::attributeToPropertyTypeMap): 4172 (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap): 4173 * svg/SVGGlyphElement.h: 4174 * svg/SVGGradientElement.cpp: 4175 (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap): 4176 * svg/SVGGradientElement.h: 4177 * svg/SVGImageElement.cpp: 4178 (WebCore::SVGImageElement::attributeToPropertyTypeMap): 4179 (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap): 4180 * svg/SVGImageElement.h: 4181 * svg/SVGLineElement.cpp: 4182 (WebCore::SVGLineElement::attributeToPropertyTypeMap): 4183 (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap): 4184 * svg/SVGLineElement.h: 4185 * svg/SVGLinearGradientElement.cpp: 4186 (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap): 4187 (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap): 4188 * svg/SVGLinearGradientElement.h: 4189 * svg/SVGMPathElement.cpp: 4190 (WebCore::SVGMPathElement::attributeToPropertyTypeMap): 4191 (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap): 4192 * svg/SVGMPathElement.h: 4193 * svg/SVGMarkerElement.cpp: 4194 (WebCore::SVGMarkerElement::attributeToPropertyTypeMap): 4195 (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap): 4196 * svg/SVGMarkerElement.h: 4197 * svg/SVGMaskElement.cpp: 4198 (WebCore::SVGMaskElement::attributeToPropertyTypeMap): 4199 (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap): 4200 * svg/SVGMaskElement.h: 4201 * svg/SVGMissingGlyphElement.cpp: 4202 (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap): 4203 (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap): 4204 * svg/SVGMissingGlyphElement.h: 4205 * svg/SVGPathElement.cpp: 4206 (WebCore::SVGPathElement::attributeToPropertyTypeMap): 4207 (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap): 4208 * svg/SVGPathElement.h: 4209 * svg/SVGPatternElement.cpp: 4210 (WebCore::SVGPatternElement::attributeToPropertyTypeMap): 4211 (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap): 4212 * svg/SVGPatternElement.h: 4213 * svg/SVGPolyElement.cpp: 4214 (WebCore::SVGPolyElement::attributeToPropertyTypeMap): 4215 (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap): 4216 * svg/SVGPolyElement.h: 4217 * svg/SVGRadialGradientElement.cpp: 4218 (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap): 4219 (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap): 4220 * svg/SVGRadialGradientElement.h: 4221 * svg/SVGRectElement.cpp: 4222 (WebCore::SVGRectElement::attributeToPropertyTypeMap): 4223 (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap): 4224 * svg/SVGRectElement.h: 4225 * svg/SVGSVGElement.cpp: 4226 (WebCore::SVGSVGElement::attributeToPropertyTypeMap): 4227 (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap): 4228 * svg/SVGSVGElement.h: 4229 * svg/SVGScriptElement.cpp: 4230 (WebCore::SVGScriptElement::attributeToPropertyTypeMap): 4231 (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap): 4232 * svg/SVGScriptElement.h: 4233 * svg/SVGStopElement.cpp: 4234 (WebCore::SVGStopElement::attributeToPropertyTypeMap): 4235 (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap): 4236 * svg/SVGStopElement.h: 4237 * svg/SVGStyledElement.cpp: 4238 (WebCore::cssPropertyToTypeMap): 4239 (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty): 4240 (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap): 4241 * svg/SVGStyledElement.h: 4242 * svg/SVGStyledTransformableElement.cpp: 4243 (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap): 4244 * svg/SVGStyledTransformableElement.h: 4245 * svg/SVGSwitchElement.cpp: 4246 (WebCore::SVGSwitchElement::attributeToPropertyTypeMap): 4247 (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap): 4248 * svg/SVGSwitchElement.h: 4249 * svg/SVGSymbolElement.cpp: 4250 (WebCore::SVGSymbolElement::attributeToPropertyTypeMap): 4251 (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap): 4252 * svg/SVGSymbolElement.h: 4253 * svg/SVGTRefElement.cpp: 4254 (WebCore::SVGTRefElement::attributeToPropertyTypeMap): 4255 (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap): 4256 * svg/SVGTRefElement.h: 4257 * svg/SVGTSpanElement.cpp: 4258 (WebCore::SVGTSpanElement::attributeToPropertyTypeMap): 4259 (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap): 4260 * svg/SVGTSpanElement.h: 4261 * svg/SVGTextContentElement.cpp: 4262 (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap): 4263 * svg/SVGTextContentElement.h: 4264 * svg/SVGTextElement.cpp: 4265 (WebCore::SVGTextElement::attributeToPropertyTypeMap): 4266 (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap): 4267 * svg/SVGTextElement.h: 4268 * svg/SVGTextPathElement.cpp: 4269 (WebCore::SVGTextPathElement::attributeToPropertyTypeMap): 4270 (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap): 4271 * svg/SVGTextPathElement.h: 4272 * svg/SVGTextPositioningElement.cpp: 4273 (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap): 4274 * svg/SVGTextPositioningElement.h: 4275 * svg/SVGTitleElement.cpp: 4276 (WebCore::SVGTitleElement::attributeToPropertyTypeMap): 4277 (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap): 4278 * svg/SVGTitleElement.h: 4279 * svg/SVGUseElement.cpp: 4280 (WebCore::SVGUseElement::attributeToPropertyTypeMap): 4281 (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): 4282 * svg/SVGUseElement.h: 4283 * svg/SVGViewElement.cpp: 4284 (WebCore::SVGViewElement::attributeToPropertyTypeMap): 4285 (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap): 4286 * svg/SVGViewElement.h: 4287 4288 2011-02-10 Alexis Menard <alexis.menard (a] nokia.com> 4289 4290 Reviewed by Andreas Kling. 4291 4292 Fix a Warning after removing FileSystem support for the inspector. 4293 4294 * WebCore.pro: 4295 4296 2011-02-10 Chris Fleizach <cfleizach (a] apple.com> 4297 4298 Reviewed by Anders Carlsson. 4299 4300 AX: AX needs to stop using WebCoreViewFactory 4301 https://bugs.webkit.org/show_bug.cgi?id=54153 4302 4303 WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs 4304 to get off of it and use WebCoreSystemInterface, like other clients. 4305 4306 * WebCore.exp.in: 4307 * accessibility/AXObjectCache.h: 4308 * accessibility/mac/AXObjectCacheMac.mm: 4309 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 4310 * accessibility/mac/AccessibilityObjectWrapper.h: 4311 * accessibility/mac/AccessibilityObjectWrapper.mm: 4312 (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): 4313 (CFAutoreleaseHelper): 4314 (AXObjectIsTextMarker): 4315 (AXObjectIsTextMarkerRange): 4316 (AXTextMarkerRange): 4317 (AXTextMarkerRangeStart): 4318 (AXTextMarkerRangeEnd): 4319 (textMarkerForVisiblePosition): 4320 (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]): 4321 (visiblePositionForTextMarker): 4322 (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]): 4323 (visiblePositionForStartOfTextMarkerRange): 4324 (visiblePositionForEndOfTextMarkerRange): 4325 (textMarkerRangeFromMarkers): 4326 (AXAttributeStringSetElement): 4327 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): 4328 (textMarkerRangeFromVisiblePositions): 4329 (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]): 4330 (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): 4331 (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): 4332 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 4333 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 4334 * editing/mac/SelectionControllerMac.mm: 4335 (WebCore::accessibilityConvertScreenRect): 4336 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 4337 * platform/mac/WebCoreSystemInterface.h: 4338 * platform/mac/WebCoreSystemInterface.mm: 4339 4340 2011-02-10 Alexis Menard <alexis.menard (a] nokia.com> 4341 4342 Reviewed by Andreas Kling. 4343 4344 [Qt] In trunk with Qt Multimedia the full screen mode doesn't work. 4345 https://bugs.webkit.org/show_bug.cgi?id=54201 4346 4347 Add files for the fullscreen video playback handling. It also fix 4348 a missing header. 4349 4350 * WebCore.pro: 4351 4352 2011-02-09 Pavel Feldman <pfeldman (a] chromium.org> 4353 4354 Reviewed by Yury Semikhatsky. 4355 4356 Web Inspector: Remove FileSystem support from the inspector. 4357 https://bugs.webkit.org/show_bug.cgi?id=50695 4358 4359 * CMakeLists.txt: 4360 * GNUmakefile.am: 4361 * WebCore.gypi: 4362 * WebCore.pro: 4363 * WebCore.vcproj/WebCore.vcproj: 4364 * WebCore.xcodeproj/project.pbxproj: 4365 * inspector/Inspector.idl: 4366 * inspector/InspectorApplicationCacheAgent.cpp: 4367 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): 4368 (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): 4369 * inspector/InspectorApplicationCacheAgent.h: 4370 * inspector/InspectorFileSystemAgent.cpp: Removed. 4371 * inspector/InspectorFileSystemAgent.h: Removed. 4372 * inspector/InspectorInstrumentation.cpp: 4373 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 4374 (WebCore::InspectorInstrumentation::willSendRequestImpl): 4375 (WebCore::InspectorInstrumentation::markResourceAsCachedImpl): 4376 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): 4377 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 4378 (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): 4379 (WebCore::InspectorInstrumentation::didFinishLoadingImpl): 4380 (WebCore::InspectorInstrumentation::didFailLoadingImpl): 4381 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): 4382 (WebCore::InspectorInstrumentation::scriptImportedImpl): 4383 (WebCore::InspectorInstrumentation::networkStateChangedImpl): 4384 (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): 4385 (WebCore::InspectorInstrumentation::retrieveResourceAgent): 4386 * inspector/front-end/FileSystemView.js: Removed. 4387 * inspector/front-end/WebKit.qrc: 4388 * inspector/front-end/inspector.html: 4389 4390 2011-02-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 4391 4392 Unreviewed, rolling out r78219. 4393 http://trac.webkit.org/changeset/78219 4394 https://bugs.webkit.org/show_bug.cgi?id=54215 4395 4396 breaks editing/style/iframe-onload-crash.html on GTK 64-bit 4397 Debug (Requested by philn-tp on #webkit). 4398 4399 * dom/Document.h: 4400 * dom/DocumentFragment.h: 4401 * dom/Element.h: 4402 * dom/Node.h: 4403 * dom/Text.h: 4404 * editing/htmlediting.cpp: 4405 (WebCore::editingIgnoresContent): 4406 (WebCore::canHaveChildrenForEditing): 4407 * editing/htmlediting.h: 4408 * html/HTMLBRElement.h: 4409 * html/HTMLButtonElement.h: 4410 * html/HTMLDataGridElement.h: 4411 * html/HTMLFormControlElement.h: 4412 * html/HTMLFrameElementBase.h: 4413 * html/HTMLHRElement.h: 4414 * html/HTMLImageElement.h: 4415 * html/HTMLMeterElement.h: 4416 * html/HTMLOutputElement.h: 4417 * html/HTMLPlugInElement.h: 4418 * html/HTMLProgressElement.h: 4419 * wml/WMLBRElement.h: 4420 * wml/WMLDoElement.h: 4421 * wml/WMLImageElement.h: 4422 * wml/WMLInputElement.h: 4423 * wml/WMLSelectElement.h: 4424 4425 2011-02-10 Andras Becsi <abecsi (a] webkit.org> 4426 4427 Rubber-stamped by Csaba Osztrogonc. 4428 4429 [Qt][V8] Fix the build. 4430 4431 No new tests needed. 4432 4433 * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header. 4434 * loader/cache/CachedScript.h: do not use extra qualification for base class enum. 4435 4436 2011-02-10 Alexander Pavlov <apavlov (a] chromium.org> 4437 4438 Reviewed by Yury Semikhatsky. 4439 4440 Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input 4441 https://bugs.webkit.org/show_bug.cgi?id=54205 4442 4443 * inspector/front-end/CSSCompletions.js: 4444 (WebInspector.CSSCompletions): 4445 (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): 4446 * inspector/front-end/CSSKeywordCompletions.js: 4447 (WebInspector.CSSKeywordCompletions.forProperty): 4448 * inspector/front-end/StylesSidebarPane.js: 4449 (): 4450 * inspector/front-end/TextPrompt.js: 4451 (WebInspector.TextPrompt.prototype.complete): 4452 4453 2011-02-10 Renata Hodovan <reni (a] webkit.org> 4454 4455 Reviewed by Dirk Schulze. 4456 4457 SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change. 4458 https://bugs.webkit.org/show_bug.cgi?id=54186 4459 4460 The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary. 4461 4462 Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html 4463 svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html 4464 svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html 4465 svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html 4466 svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html 4467 svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html 4468 svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html 4469 svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html 4470 4471 * svg/SVGFESpecularLightingElement.cpp: 4472 (WebCore::SVGFESpecularLightingElement::svgAttributeChanged): 4473 * svg/SVGFESpecularLightingElement.h: 4474 4475 2011-02-10 Andrey Adaikin <aandrey (a] google.com> 4476 4477 Reviewed by Pavel Feldman. 4478 4479 Web Inspector: Error messages are not displayed for the last line in a script 4480 https://bugs.webkit.org/show_bug.cgi?id=54204 4481 4482 * inspector/front-end/SourceFrame.js: 4483 (WebInspector.SourceFrame.prototype.addMessage): 4484 (WebInspector.SourceFrame.prototype._addMessageToSource): 4485 (WebInspector.SourceFrame.prototype._createConditionElement): 4486 4487 2011-02-10 Ryosuke Niwa <rniwa (a] webkit.org> 4488 4489 Reviewed by Eric Seidel. 4490 4491 Make canHaveChildrenForEditing more efficient 4492 https://bugs.webkit.org/show_bug.cgi?id=53564 4493 4494 Improved the performance (1-2% in release and 20% in debug) by adding virtual member function 4495 canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container 4496 node for a position. 4497 4498 As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes 4499 and any elements except: 4500 4501 HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input, 4502 meter, object, output, progress, and select. 4503 4504 WML: br, do, img, input, and select. 4505 4506 No new tests are added since this change cannot be tested directly. 4507 4508 * dom/Document.h: 4509 (WebCore::Document::canContainRangeEndPoint): Added; returns false. 4510 * dom/DocumentFragment.h: 4511 (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true. 4512 * dom/Element.h: 4513 (WebCore::Element::canContainRangeEndPoint): Ditto. 4514 * dom/Node.h: 4515 (WebCore::Node::canContainRangeEndPoint): Added; returns false. 4516 * dom/Text.h: 4517 (WebCore::Text::canContainRangeEndPoint): Added; returns true. 4518 * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing. 4519 * editing/htmlediting.h: 4520 (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline. 4521 (WebCore::canHaveChildrenForEditing): Ditto. 4522 * html/HTMLBRElement.h: 4523 (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false. 4524 * html/HTMLButtonElement.h: 4525 (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto. 4526 * html/HTMLDataGridElement.h: 4527 (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto. 4528 * html/HTMLFormControlElement.h: 4529 (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto. 4530 * html/HTMLFrameElementBase.h: 4531 (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto. 4532 * html/HTMLHRElement.h: 4533 (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto. 4534 * html/HTMLImageElement.h: 4535 (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto. 4536 * html/HTMLMeterElement.h: 4537 (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto. 4538 * html/HTMLOutputElement.h: 4539 (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto. 4540 * html/HTMLPlugInElement.h: 4541 (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto. 4542 * html/HTMLProgressElement.h: 4543 (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto. 4544 * wml/WMLBRElement.h: 4545 (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto. 4546 * wml/WMLDoElement.h: 4547 (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto. 4548 * wml/WMLImageElement.h: 4549 (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto. 4550 * wml/WMLInputElement.h: 4551 (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto. 4552 * wml/WMLSelectElement.h: 4553 (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto. 4554 4555 2011-02-10 Pavel Feldman <pfeldman (a] chromium.org> 4556 4557 Reviewed by Yury Semikhatsky. 4558 4559 Web Inspector: define interface per domain in Inspector.idl. 4560 https://bugs.webkit.org/show_bug.cgi?id=54135 4561 4562 * inspector/CodeGeneratorInspector.pm: 4563 * inspector/Inspector.idl: 4564 4565 2011-02-10 Andrey Adaikin <aandrey (a] google.com> 4566 4567 Reviewed by Pavel Feldman. 4568 4569 Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left 4570 https://bugs.webkit.org/show_bug.cgi?id=54098 4571 4572 * inspector/front-end/TextViewer.js: 4573 (WebInspector.TextViewer): 4574 (WebInspector.TextViewer.prototype._updatePanelOffsets): 4575 (WebInspector.TextViewer.prototype._syncScroll): 4576 (WebInspector.TextViewer.prototype._syncDecorationsForLine): 4577 (WebInspector.TextEditorChunkedPanel.prototype._totalHeight): 4578 (WebInspector.TextEditorChunkedPanel.prototype.resize): 4579 (WebInspector.TextEditorGutterPanel): 4580 (WebInspector.TextEditorGutterChunk.prototype.set expanded): 4581 (WebInspector.TextEditorGutterChunk.prototype.get height): 4582 (WebInspector.TextEditorMainChunk.prototype.get height): 4583 * inspector/front-end/textViewer.css: 4584 (.webkit-line-content): 4585 4586 2011-02-10 takano takumi <takano (a] apple.com> 4587 4588 Reviewed by Dan Bernstein. 4589 4590 A full-width character rotated leftward 90 degrees in text-combine 4591 https://bugs.webkit.org/show_bug.cgi?id=54169 4592 4593 * rendering/RenderCombineText.cpp: 4594 (WebCore::RenderCombineText::combineText): 4595 - Fixed by resetting font's orientation to horizontal when we decided to make combined text. 4596 Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm. 4597 4598 2011-02-10 Alexey Proskuryakov <ap (a] apple.com> 4599 4600 Reviewed by Darin Adler. 4601 4602 https://bugs.webkit.org/show_bug.cgi?id=50306 4603 <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload() 4604 uses an initialized result value (breaks form submission with clang-built WebKit) 4605 4606 No new test, because I can't reproduce the observable effect with my gcc build. 4607 4608 * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an 4609 empty path check - an empty path was causing an exception in Foundation. 4610 4611 2011-02-09 Andrey Kosyakov <caseq (a] chromium.org> 4612 4613 Reviewed by Pavel Feldman. 4614 4615 Web Inspector: Network & Resource panels make multiple requests for images with no content 4616 https://bugs.webkit.org/show_bug.cgi?id=54085 4617 4618 - Added success parameter to resourceContent 4619 - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors 4620 4621 * inspector/Inspector.idl: 4622 * inspector/InspectorResourceAgent.cpp: 4623 (WebCore::InspectorResourceAgent::resourceData): 4624 (WebCore::InspectorResourceAgent::resourceContent): 4625 * inspector/InspectorResourceAgent.h: 4626 * inspector/front-end/NetworkManager.js: 4627 (WebInspector.NetworkManager.prototype.requestContent): 4628 * inspector/front-end/Resource.js: 4629 (WebInspector.Resource.prototype.requestContent): 4630 (WebInspector.Resource.prototype._contentURL): 4631 4632 2011-02-10 Renata Hodovan <reni (a] webkit.org> 4633 4634 Reviewed by Dirk Schulze. 4635 4636 Move the light source implementations into their own files. 4637 https://bugs.webkit.org/show_bug.cgi?id=53996 4638 4639 Splitting LightSource.cpp into 3 files. 4640 4641 No new tests are added since this is a refactoring. 4642 4643 * Android.mk: 4644 * CMakeLists.txt: 4645 * GNUmakefile.am: 4646 * WebCore.gypi: 4647 * WebCore.pro: 4648 * WebCore.vcproj/WebCore.vcproj: 4649 * WebCore.xcodeproj/project.pbxproj: 4650 * platform/graphics/filters/DistantLightSource.cpp: Added. 4651 (WebCore::DistantLightSource::initPaintingData): 4652 (WebCore::DistantLightSource::updatePaintingData): 4653 (WebCore::DistantLightSource::setAzimuth): 4654 (WebCore::DistantLightSource::setElevation): 4655 (WebCore::DistantLightSource::externalRepresentation): 4656 * platform/graphics/filters/LightSource.cpp: 4657 * platform/graphics/filters/PointLightSource.cpp: Added. 4658 (WebCore::PointLightSource::initPaintingData): 4659 (WebCore::PointLightSource::updatePaintingData): 4660 (WebCore::PointLightSource::setX): 4661 (WebCore::PointLightSource::setY): 4662 (WebCore::PointLightSource::setZ): 4663 (WebCore::operator<<): 4664 (WebCore::PointLightSource::externalRepresentation): 4665 * platform/graphics/filters/SpotLightSource.cpp: Added. 4666 (WebCore::SpotLightSource::initPaintingData): 4667 (WebCore::SpotLightSource::updatePaintingData): 4668 (WebCore::SpotLightSource::setX): 4669 (WebCore::SpotLightSource::setY): 4670 (WebCore::SpotLightSource::setZ): 4671 (WebCore::SpotLightSource::setPointsAtX): 4672 (WebCore::SpotLightSource::setPointsAtY): 4673 (WebCore::SpotLightSource::setPointsAtZ): 4674 (WebCore::SpotLightSource::setSpecularExponent): 4675 (WebCore::SpotLightSource::setLimitingConeAngle): 4676 (WebCore::operator<<): 4677 (WebCore::SpotLightSource::externalRepresentation): 4678 4679 2011-02-10 Avi Drissman <avi (a] google.com> 4680 4681 Reviewed by Darin Fisher. 4682 4683 <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654. 4684 https://bugs.webkit.org/show_bug.cgi?id=50969 4685 4686 Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983. 4687 4688 * platform/chromium/PopupMenuChromium.cpp: 4689 (WebCore::PopupListBox::updateFromElement): 4690 * platform/chromium/PopupMenuChromium.h: 4691 4692 2011-02-10 Hans Wennborg <hans (a] chromium.org> 4693 4694 Reviewed by Jeremy Orlow. 4695 4696 IndexedDB: Update the semantics of put() 4697 https://bugs.webkit.org/show_bug.cgi?id=54102 4698 4699 Update the semantics of put: For object stores with auto increment, 4700 it should be allowed to provide an explicit key, or an in-line key, 4701 overriding the key generator mechanism. 4702 4703 This reflects the spec changes suggested here: 4704 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976 4705 4706 Extracting key-selection logic into its own function 4707 to make it a bit easier on the eyes. 4708 4709 * storage/IDBObjectStoreBackendImpl.cpp: 4710 (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut): 4711 (WebCore::IDBObjectStoreBackendImpl::putInternal): 4712 * storage/IDBObjectStoreBackendImpl.h: 4713 (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache): 4714 4715 2011-02-09 Antti Koivisto <antti (a] apple.com> 4716 4717 Reviewed by Darin Adler. 4718 4719 https://bugs.webkit.org/show_bug.cgi?id=54103 4720 Implement fast path for matching simple selectors 4721 4722 Implement a fast path for single and descendant selectors consisting 4723 of id, class and tag selectors only. 4724 4725 Selectors like this are marked on style selector initialization. When 4726 encountered during style matching they are resolved using a fast path. 4727 4728 Since selectors like this are very common this speeds up style matching 4729 quite a bit (up to 50% on some sites according to Shark). 4730 4731 * css/CSSStyleSelector.cpp: 4732 (WebCore::RuleData::hasFastCheckableSelector): 4733 (WebCore::RuleData::hasMultipartSelector): 4734 (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash): 4735 (WebCore::CSSStyleSelector::matchRulesForList): 4736 (WebCore::CSSStyleSelector::checkSelector): 4737 (WebCore::selectorTagMatches): 4738 (WebCore::isFastCheckableSelector): 4739 (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector): 4740 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 4741 (WebCore::isSelectorMatchingHTMLBasedOnRuleHash): 4742 (WebCore::RuleData::RuleData): 4743 * css/CSSStyleSelector.h: 4744 4745 2011-02-09 Simon Fraser <simon.fraser (a] apple.com> 4746 4747 Reviewed by Dan Bernstein. 4748 4749 REGRESSION (r77101) box-shadow sometimes renders incorrectly 4750 https://bugs.webkit.org/show_bug.cgi?id=54160 4751 4752 Fix an issue when ShadowBlur had a cached image buffer 4753 that was larger than that of the current shadow being drawn, 4754 and the current shadow was partially clipped out. 4755 4756 In that situation endShadowLayer() would clip to the image 4757 buffer, using the size of the buffer (as it must), but failed 4758 to take into account the fact that we'd only cleared and painted 4759 into a smaller section of the buffer. So we need to additionally 4760 constrain the clip to cover only the valid part of the buffer. 4761 4762 Test: fast/box-shadow/shadow-buffer-partial.html 4763 4764 * platform/graphics/ShadowBlur.cpp: 4765 (WebCore::ShadowBlur::endShadowLayer): 4766 4767 2011-02-09 Beth Dakin <bdakin (a] apple.com> 4768 4769 Reviewed by Maciej Stachowiak. 4770 4771 Fix for <rdar://problem/8977051> CrashTracer: 8 crashes 4772 in WebProcess at com.apple.WebCore: 4773 -[ScrollbarPartAnimation setCurrentProgress:] + 364 4774 4775 The ScrollbarPartAnimation must be sent by reference! 4776 * platform/mac/ScrollAnimatorMac.mm: 4777 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): 4778 4779 2011-02-09 Ryosuke Niwa <rniwa (a] webkit.org> 4780 4781 Reviewed by Darin Adler. 4782 4783 REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange 4784 https://bugs.webkit.org/show_bug.cgi?id=54053 4785 4786 The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside 4787 RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming 4788 the position variable "s" is not null. 4789 4790 Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint, 4791 and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange. 4792 4793 Test: fast/forms/file-input-hit-test.html 4794 4795 * editing/VisibleSelection.cpp: 4796 (WebCore::VisibleSelection::toNormalizedRange): 4797 * rendering/RenderFileUploadControl.cpp: 4798 (WebCore::RenderFileUploadControl::positionForPoint): 4799 * rendering/RenderFileUploadControl.h: 4800 4801 2011-02-09 Sam Weinig <sam (a] webkit.org> 4802 4803 Reviewed by Beth Dakin. 4804 4805 Overlay scrollbars crash used with a RenderListBox. 4806 4807 * rendering/RenderListBox.cpp: 4808 (WebCore::RenderListBox::layout): 4809 (WebCore::RenderListBox::contentsSize): 4810 (WebCore::RenderListBox::currentMousePosition): 4811 (WebCore::RenderListBox::setHasVerticalScrollbar): 4812 * rendering/RenderListBox.h: 4813 Implement enough of the ScrollableArea interface to get things generally 4814 working. 4815 4816 2011-02-09 Beth Dakin <bdakin (a] apple.com> 4817 4818 Reviewed by Simon Fraser. 4819 4820 Fix for <rdar://problem/8966868> ScrollbarPainterDelegate 4821 must return a layer if layer-backed to avoid crashing 4822 4823 New virtual function scrollbarWillRenderIntoCompositingLayer() 4824 on ScrollableArea. 4825 * page/FrameView.h: 4826 * platform/ScrollableArea.h: 4827 (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer): 4828 * rendering/RenderLayer.h: 4829 (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer): 4830 * rendering/RenderListBox.cpp: 4831 (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer): 4832 * rendering/RenderListBox.h: 4833 4834 Clean up unnecessary method declarations and call 4835 scrollbarWillRenderIntoCompositingLayer() to deterine if 4836 we need to return a layer. 4837 * platform/mac/ScrollAnimatorMac.mm: 4838 (-[ScrollbarPainterDelegate layer]): 4839 4840 2011-02-09 Yael Aharon <yael.aharon (a] nokia.com> 4841 4842 Reviewed by Darin Adler. 4843 4844 Replace static_cast<HTMLElement*> with toHTMLElement 4845 https://bugs.webkit.org/show_bug.cgi?id=54117 4846 4847 No new tests since no new functionality was introduced. 4848 4849 * accessibility/AccessibilityListBox.cpp: 4850 (WebCore::AccessibilityListBox::addChildren): 4851 * accessibility/AccessibilityMenuListPopup.cpp: 4852 (WebCore::AccessibilityMenuListPopup::addChildren): 4853 * accessibility/AccessibilityRenderObject.cpp: 4854 (WebCore::accessibleNameForNode): 4855 (WebCore::AccessibilityRenderObject::accessibilityDescription): 4856 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 4857 (webkit_accessible_get_name): 4858 (webkit_accessible_get_description): 4859 * bindings/gobject/WebKitDOMBinding.cpp: 4860 (WebKit::createWrapper): 4861 (WebKit::kit): 4862 * bindings/js/JSElementCustom.cpp: 4863 (WebCore::toJSNewlyCreated): 4864 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 4865 (WebCore::JSHTMLFrameSetElement::nameGetter): 4866 * bindings/js/JSNodeCustom.cpp: 4867 (WebCore::createWrapperInline): 4868 * bindings/v8/custom/V8ElementCustom.cpp: 4869 (WebCore::toV8): 4870 * dom/Document.cpp: 4871 (WebCore::Document::body): 4872 * dom/Element.cpp: 4873 (WebCore::Element::deprecatedCreateContextualFragment): 4874 * dom/Range.cpp: 4875 (WebCore::Range::createContextualFragment): 4876 * editing/ApplyStyleCommand.cpp: 4877 (WebCore::ApplyStyleCommand::applyBlockStyle): 4878 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 4879 (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): 4880 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): 4881 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): 4882 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): 4883 (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): 4884 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): 4885 (WebCore::ApplyStyleCommand::removeInlineStyle): 4886 (WebCore::ApplyStyleCommand::shouldSplitTextElement): 4887 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 4888 * editing/DeleteButtonController.cpp: 4889 (WebCore::enclosingDeletableElement): 4890 (WebCore::DeleteButtonController::show): 4891 * editing/Editor.cpp: 4892 (WebCore::Editor::setBaseWritingDirection): 4893 * editing/InsertListCommand.cpp: 4894 (WebCore::InsertListCommand::mergeWithNeighboringLists): 4895 * editing/ReplaceSelectionCommand.cpp: 4896 (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance): 4897 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 4898 (WebCore::ReplaceSelectionCommand::copyStyleToChildren): 4899 * editing/SelectionController.cpp: 4900 (WebCore::scanForForm): 4901 (WebCore::SelectionController::currentForm): 4902 * editing/htmlediting.cpp: 4903 (WebCore::enclosingList): 4904 (WebCore::enclosingListChild): 4905 (WebCore::embeddedSublist): 4906 (WebCore::appendedSublist): 4907 * editing/markup.cpp: 4908 (WebCore::StyledMarkupAccumulator::appendElement): 4909 * html/HTMLCollection.cpp: 4910 (WebCore::HTMLCollection::checkForNameMatch): 4911 (WebCore::HTMLCollection::updateNameCache): 4912 * html/HTMLElement.cpp: 4913 (WebCore::HTMLElement::setOuterHTML): 4914 (WebCore::HTMLElement::shadowAncestorOwnerForm): 4915 * html/HTMLFormElement.cpp: 4916 (WebCore::HTMLFormElement::formElementIndex): 4917 * html/HTMLSelectElement.cpp: 4918 (WebCore::HTMLSelectElement::setOption): 4919 (WebCore::HTMLSelectElement::setLength): 4920 * inspector/InspectorDOMAgent.cpp: 4921 (WebCore::InspectorDOMAgent::getOuterHTML): 4922 (WebCore::InspectorDOMAgent::setOuterHTML): 4923 * page/EventHandler.cpp: 4924 (WebCore::EventHandler::handleMouseMoveEvent): 4925 * rendering/RenderMeter.cpp: 4926 (WebCore::RenderMeter::createPart): 4927 * rendering/RenderTextControl.cpp: 4928 (WebCore::RenderTextControl::createSubtreeIfNeeded): 4929 * rendering/RenderTextControlSingleLine.cpp: 4930 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 4931 4932 2011-02-09 Mike Reed <reed (a] google.com> 4933 4934 Reviewed by Kenneth Russell. 4935 4936 Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this 4937 handles the case when the device is backed by the GPU. 4938 Patch developed by bsalomon (a] google.com 4939 4940 No new tests. Existing canvas tests suffice 4941 e.g. LayoutTests/canvas/philip/... 4942 4943 * platform/graphics/skia/ImageBufferSkia.cpp: 4944 (WebCore::getImageData): 4945 (WebCore::ImageBuffer::getUnmultipliedImageData): 4946 (WebCore::ImageBuffer::getPremultipliedImageData): 4947 (WebCore::putImageData): 4948 (WebCore::ImageBuffer::putUnmultipliedImageData): 4949 (WebCore::ImageBuffer::putPremultipliedImageData): 4950 4951 2011-02-09 Adam Barth <abarth (a] webkit.org> 4952 4953 Reviewed by Eric Seidel. 4954 4955 document.close shouldn't affect non-script-created parsers 4956 https://bugs.webkit.org/show_bug.cgi?id=53689 4957 4958 Tests: fast/frames/document-write-in-iframe-onload-3.html 4959 fast/parser/iframe-onload-document-close-with-external-script-2.html 4960 fast/parser/iframe-onload-document-close-with-external-script-3.html 4961 fast/parser/iframe-onload-document-close-with-external-script.html 4962 fast/parser/setTimeout-open.html 4963 4964 Move our implementation of document.close closer to the spec by 4965 introducing the notion of a script-created parser. This area of our 4966 code is somewhat hairy. It might take a few more iterations before we 4967 fully come up to spec. 4968 4969 * dom/Document.cpp: 4970 (WebCore::Document::setContent): 4971 (WebCore::Document::open): 4972 (WebCore::Document::cancelParsing): 4973 (WebCore::Document::close): 4974 - Over time, this method should converge to the spec. 4975 (WebCore::Document::explicitClose): 4976 - I'm not in love with this name. Somehow we want to differentiate 4977 between Document closing itself and the document.close DOM 4978 method. 4979 (WebCore::Document::removePendingSheet): 4980 * dom/Document.h: 4981 * dom/ScriptableDocumentParser.cpp: 4982 (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): 4983 * dom/ScriptableDocumentParser.h: 4984 (WebCore::ScriptableDocumentParser::setWasCreatedByScript): 4985 (WebCore::ScriptableDocumentParser::wasCreatedByScript): 4986 - General nonsense to keep track of whether the parser was created 4987 by script. 4988 * html/parser/HTMLDocumentParser.cpp: 4989 (WebCore::HTMLDocumentParser::hasInsertionPoint): 4990 - I'm not sure whether this part of the change is 100% correct. I 4991 think our notion of the EOF character might be subtly different 4992 from the notion in the spec. 4993 * html/parser/HTMLInputStream.h: 4994 (WebCore::HTMLInputStream::hasInsertionPoint): 4995 - Remove FIXME because we're fixing that! 4996 4997 2011-02-09 Abhishek Arya <inferno (a] chromium.org> 4998 4999 Reviewed by James Robinson. 5000 5001 [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer 5002 https://bugs.webkit.org/show_bug.cgi?id=54132 5003 5004 * platform/graphics/chromium/LayerTilerChromium.cpp: 5005 (WebCore::LayerTilerChromium::resizeLayer): 5006 5007 2011-02-09 Xiyuan Xia <xiyuan (a] chromium.org> 5008 5009 Reviewed by Tony Chang. 5010 5011 [Chromium] Use #f7f7f7 for select popup background on chromium/linux 5012 https://bugs.webkit.org/show_bug.cgi?id=54115 5013 5014 No new tests since no behavior change. 5015 5016 * css/themeChromiumLinux.css: 5017 (select[size="1"] option): 5018 5019 2011-02-09 Adam Barth <abarth (a] webkit.org> 5020 5021 Reviewed by Eric Seidel. 5022 5023 REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console 5024 https://bugs.webkit.org/show_bug.cgi?id=41187 5025 5026 Wire up a basic HTML parse error message. There's a lot of room for 5027 improvement in this area, but this is a start. 5028 5029 No tests! See https://bugs.webkit.org/show_bug.cgi?id=54134 5030 5031 * html/parser/HTMLDocumentParser.h: 5032 * html/parser/HTMLTreeBuilder.cpp: 5033 (WebCore::HTMLTreeBuilder::parseError): 5034 * html/parser/HTMLTreeBuilder.h: 5035 5036 2011-02-09 Naoki Takano <takano.naoki (a] gmail.com> 5037 5038 Reviewed by Kenneth Russell. 5039 5040 [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas. 5041 https://bugs.webkit.org/show_bug.cgi?id=53757 5042 5043 This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests. 5044 5045 * platform/graphics/skia/ImageBufferSkia.cpp: 5046 (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software. 5047 (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software. 5048 5049 5050 2011-02-09 Chris Rogers <crogers (a] google.com> 5051 5052 Reviewed by Kenneth Russell. 5053 5054 Fix scaling and thread safety of FFTFrameFFTW 5055 https://bugs.webkit.org/show_bug.cgi?id=54045 5056 5057 No new tests since audio API is not yet implemented. 5058 5059 * platform/audio/FFTFrame.h: 5060 * platform/audio/fftw/FFTFrameFFTW.cpp: 5061 (WebCore::FFTFrame::FFTFrame): 5062 (WebCore::FFTFrame::doFFT): 5063 (WebCore::FFTFrame::doInverseFFT): 5064 (WebCore::FFTFrame::initialize): 5065 (WebCore::FFTFrame::cleanup): 5066 (WebCore::FFTFrame::realData): 5067 (WebCore::FFTFrame::imagData): 5068 (WebCore::FFTFrame::fftwPlanForSize): 5069 * platform/audio/mac/FFTFrameMac.cpp: 5070 (WebCore::FFTFrame::initialize): 5071 * platform/audio/mkl/FFTFrameMKL.cpp: 5072 (WebCore::FFTFrame::initialize): 5073 * webaudio/AudioContext.cpp: 5074 (WebCore::AudioContext::AudioContext): 5075 5076 2011-02-09 Chris Fleizach <cfleizach (a] apple.com> 5077 5078 Reviewed by Darin Adler. 5079 5080 AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object 5081 https://bugs.webkit.org/show_bug.cgi?id=54126 5082 5083 This is a Mac-only accessibility API concept and doesn't belong in the core AX object. 5084 5085 * accessibility/AccessibilityObject.h: 5086 (WebCore::AccessibilityObject::node): 5087 * accessibility/mac/AccessibilityObjectWrapper.mm: 5088 (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]): 5089 5090 2011-02-09 Nebojsa Ciric <cira (a] chromium.org> 5091 5092 Reviewed by Darin Fisher. 5093 5094 Implements Locale object of JavaScript internationalization API proposal, as an 5095 v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h}) 5096 and in this patch we just provide flags, tests and build rules for chromium port. 5097 https://bugs.webkit.org/show_bug.cgi?id=49414 5098 5099 Test: fast/js/i18n-bindings-locale.html 5100 5101 * WebCore.gyp/WebCore.gyp: 5102 * bindings/generic/RuntimeEnabledFeatures.cpp: 5103 (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled): 5104 * bindings/generic/RuntimeEnabledFeatures.h: 5105 (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled): 5106 * bindings/v8/V8DOMWindowShell.cpp: 5107 (WebCore::V8DOMWindowShell::createNewContext): 5108 5109 2011-02-08 Dimitri Glazkov <dglazkov (a] chromium.org> 5110 5111 Reviewed by Darin Adler. 5112 5113 REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget 5114 https://bugs.webkit.org/show_bug.cgi?id=52065 5115 5116 * dom/Node.cpp: 5117 (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost 5118 boundary of shadow DOM. 5119 (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow. 5120 5121 2011-02-09 Yael Aharon <yael.aharon (a] nokia.com> 5122 5123 Reviewed by Darin Adler. 5124 5125 Add convenience method toHTMLElement(Node*) 5126 https://bugs.webkit.org/show_bug.cgi?id=54105 5127 5128 No new tests since no new functionality introduced. 5129 5130 * html/HTMLElement.h: 5131 (WebCore::toHTMLElement): 5132 5133 2011-02-09 Sam Weinig <sam (a] webkit.org> 5134 5135 Reviewed by Dan Bernstein. 5136 5137 Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding 5138 <rdar://problem/7615997> 5139 https://bugs.webkit.org/show_bug.cgi?id=54054 5140 5141 Take the overhang into account when calculating position for elements with position: fixed. 5142 5143 * platform/ScrollView.cpp: 5144 (WebCore::ScrollView::scrollXForFixedPosition): 5145 (WebCore::ScrollView::scrollYForFixedPosition): 5146 (WebCore::ScrollView::scrollOffsetForFixedPosition): 5147 * platform/ScrollView.h: 5148 * rendering/RenderView.cpp: 5149 (WebCore::RenderView::mapLocalToContainer): 5150 (WebCore::RenderView::mapAbsoluteToLocalPoint): 5151 (WebCore::RenderView::computeRectForRepaint): 5152 5153 2011-02-09 Simon Fraser <simon.fraser (a] apple.com> 5154 5155 Reviewed by Dirk Schulze. 5156 5157 Enhance ShadowBlur to tile inset box shadows 5158 https://bugs.webkit.org/show_bug.cgi?id=51567 5159 5160 Add a tiling code path to ShadowBlur for rendering inset 5161 box-shadows. 5162 5163 Test: fast/box-shadow/inset-box-shadows.html 5164 5165 * platform/graphics/ShadowBlur.cpp: 5166 (WebCore::computeSliceSizesFromRadii): Compute the slice sizes 5167 for the eight-piece shadow template. 5168 (WebCore::ShadowBlur::templateSize): Compute the size of the template, 5169 given the slice sizes. 5170 (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty 5171 (which probably means we're clipped out). Call templateSize() and use 5172 the result to decide whether to tile. 5173 (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows. 5174 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved. 5175 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code 5176 path for inset shadows. 5177 (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template 5178 buffer, paint the non-blurred area of the destination, and then call drawLayerPieces() 5179 to paint the eight-piece template image. 5180 (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now 5181 shares the blurring code via blurAndColorShadowBuffer(), and the tiled template 5182 drawing via drawLayerPieces(). 5183 (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the 5184 shadow template to the destination. 5185 (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image 5186 buffer, and colorize them using the CompositeSourceIn operation. 5187 * platform/graphics/ShadowBlur.h: 5188 5189 2011-02-09 Jochen Eisinger <jochen (a] chromium.org> 5190 5191 Reviewed by Adam Barth. 5192 5193 Disable script elements when a CSP header is present 5194 https://bugs.webkit.org/show_bug.cgi?id=53867 5195 5196 Tests: http/tests/security/contentSecurityPolicy/no-policy.html 5197 http/tests/security/contentSecurityPolicy/script-src-in-iframe.html 5198 http/tests/security/contentSecurityPolicy/script-src-none.html 5199 http/tests/security/contentSecurityPolicy/script-src-redirect.html 5200 5201 * html/parser/HTMLDocumentParser.cpp: 5202 (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): 5203 * html/parser/HTMLScriptRunner.cpp: 5204 (WebCore::HTMLScriptRunner::requestPendingScript): 5205 * loader/FrameLoader.cpp: 5206 (WebCore::FrameLoader::didBeginDocument): 5207 * loader/MainResourceLoader.cpp: 5208 (WebCore::MainResourceLoader::didReceiveResponse): 5209 * page/ContentSecurityPolicy.cpp: 5210 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): 5211 (WebCore::ContentSecurityPolicy::didReceiveHeader): 5212 (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc): 5213 * page/ContentSecurityPolicy.h: 5214 5215 2011-02-09 Patrick Gansterer <paroga (a] webkit.org> 5216 5217 Unreviewed WinCE build fix for r78047. 5218 5219 ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS), 5220 so they shouldn't cause problems with correct preprocessor defines. 5221 5222 * CMakeLists.txt: 5223 5224 2011-02-09 Ilya Tikhonovsky <loislo (a] chromium.org> 5225 5226 Reviewed by Pavel Feldman. 5227 5228 Web Inspector: InspectorAgent should know nothing about InspectorController instance. 5229 5230 https://bugs.webkit.org/show_bug.cgi?id=54100 5231 5232 * inspector/InspectorAgent.cpp: 5233 (WebCore::InspectorAgent::InspectorAgent): 5234 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 5235 (WebCore::InspectorAgent::disconnectFrontend): 5236 * inspector/InspectorAgent.h: 5237 * inspector/InspectorController.cpp: 5238 (WebCore::InspectorController::InspectorController): 5239 (WebCore::InspectorController::disconnectFrontend): 5240 (WebCore::InspectorController::restoreInspectorStateFromCookie): 5241 5242 2011-02-09 Pavel Podivilov <podivilov (a] chromium.org> 5243 5244 Reviewed by Pavel Feldman. 5245 5246 Web Inspector: source frame scroll position is not restored. 5247 https://bugs.webkit.org/show_bug.cgi?id=54101 5248 5249 * inspector/front-end/ScriptsPanel.js: 5250 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 5251 * inspector/front-end/SourceFrame.js: 5252 (WebInspector.SourceFrame.prototype.show): 5253 (WebInspector.SourceFrame.prototype.hide): 5254 (WebInspector.SourceFrame.prototype.get scrollTop): 5255 (WebInspector.SourceFrame.prototype.set scrollTop): 5256 * inspector/front-end/TextViewer.js: 5257 (WebInspector.TextViewer.prototype.get scrollTop): 5258 (WebInspector.TextViewer.prototype.set scrollTop): 5259 (WebInspector.TextViewer.prototype.get scrollLeft): 5260 (WebInspector.TextViewer.prototype.set scrollLeft): 5261 5262 2011-02-09 Pavel Feldman <pfeldman (a] chromium.org> 5263 5264 Reviewed by Yury Semikhatsky. 5265 5266 Web Inspector: follow up on InspectorAgent split - 5267 removing unnecessary methods from InspectorController. 5268 https://bugs.webkit.org/show_bug.cgi?id=54093 5269 5270 * WebCore.exp.in: 5271 * inspector/InspectorAgent.cpp: 5272 (WebCore::InspectorAgent::stopUserInitiatedProfiling): 5273 (WebCore::InspectorAgent::showAndEnableDebugger): 5274 (WebCore::InspectorAgent::enabled): 5275 (WebCore::InspectorAgent::showConsole): 5276 * inspector/InspectorAgent.h: 5277 * inspector/InspectorController.cpp: 5278 (WebCore::InspectorController::InspectorController): 5279 (WebCore::InspectorController::didClearWindowObjectInWorld): 5280 (WebCore::InspectorController::showConsole): 5281 (WebCore::InspectorController::enabled): 5282 (WebCore::InspectorController::inspectedPage): 5283 * inspector/InspectorController.h: 5284 * inspector/InspectorFrontendClientLocal.cpp: 5285 5286 2011-02-07 Chris Marrin <cmarrin (a] apple.com> 5287 5288 Reviewed by Simon Fraser. 5289 5290 LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing 5291 https://bugs.webkit.org/show_bug.cgi?id=53513 5292 5293 The PlatformCAAnimation::create() function which took a pointer to another 5294 PlatformCAAnimation was supposed to make a copy of that passed object. 5295 But it was doing completely the wrong thing on Mac and was leaking an object 5296 to boot. And the notion of copying an object using a static creation function 5297 is wrong in the first place. So I changed it to a member copy() function 5298 which would create a new PlatformCAAnimation which was a copy of 'this' and 5299 return it. I changed the implementation on both Mac and Win to match. 5300 5301 This problem was not caught by DRT, even there is a specific test for it. 5302 That test just verifies that the higher level logic is working 5303 properly, which it is. There's no practical way to find out if the 5304 layer is currently animating. There is no logic which probes that 5305 deeply into the layer mechanics. 5306 5307 * platform/graphics/ca/GraphicsLayerCA.cpp: 5308 * platform/graphics/ca/PlatformCAAnimation.h: 5309 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 5310 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: 5311 5312 2011-02-09 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 5313 5314 Unreviewed build fix. 5315 5316 [EFL] Remove double definition of ContextMenu. 5317 https://bugs.webkit.org/show_bug.cgi?id=50762 5318 5319 When building with SHARED_CORE enabled, the symbols of ContextMenu 5320 were both in webkit and webcore. This removes them from webcore and 5321 shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented 5322 in EFL port. 5323 5324 No new tests because no new functionality. 5325 5326 * CMakeLists.txt: 5327 5328 2011-02-09 Adam Roben <aroben (a] apple.com> 5329 5330 Windows Production build fix 5331 5332 * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against 5333 WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we 5334 pick up the _debug variant when appropriate. 5335 5336 2011-02-09 Eric Seidel <eric (a] webkit.org> 5337 5338 Reviewed by Adam Barth. 5339 5340 Hostnames should cannonicalize to lowercase (to match every other browser) 5341 https://bugs.webkit.org/show_bug.cgi?id=54084 5342 5343 * platform/KURL.cpp: 5344 (WebCore::KURL::parse): 5345 5346 2011-02-09 Peter Varga <pvarga (a] webkit.org> 5347 5348 5349 Reviewed by Gavin Barraclough. 5350 5351 Replace PCRE with Yarr in WebCore 5352 https://bugs.webkit.org/show_bug.cgi?id=53496 5353 5354 No new tests needed. 5355 5356 * Android.jscbindings.mk: 5357 * CMakeLists.txt: 5358 * ForwardingHeaders/pcre/pcre.h: Removed. 5359 * ForwardingHeaders/yarr/Yarr.h: Added. 5360 * ForwardingHeaders/yarr/YarrInterpreter.h: Added. 5361 * ForwardingHeaders/yarr/YarrPattern.h: Added. 5362 * WebCore.gyp/WebCore.gyp: 5363 * WebCore.pro: 5364 * WebCore.vcproj/WebCore.vcproj: 5365 * WebCore.vcproj/copyForwardingHeaders.cmd: 5366 * platform/text/RegularExpression.cpp: 5367 (WebCore::RegularExpression::Private::create): 5368 (WebCore::RegularExpression::Private::Private): 5369 (WebCore::RegularExpression::Private::compile): 5370 (WebCore::RegularExpression::match): 5371 5372 2011-02-09 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 5373 5374 Reviewed by Eric Seidel. 5375 5376 [EFL] Add dummy functions for HTML5 Video's control UI 5377 https://bugs.webkit.org/show_bug.cgi?id=53906 5378 5379 In WebKit EFL, there are no implementations for HTML5 control UI. 5380 First, dummy functions are added. 5381 5382 * platform/efl/RenderThemeEfl.cpp: 5383 (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet): 5384 (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime): 5385 (WebCore::RenderThemeEfl::paintMediaFullscreenButton): 5386 (WebCore::RenderThemeEfl::paintMediaMuteButton): 5387 (WebCore::RenderThemeEfl::paintMediaPlayButton): 5388 (WebCore::RenderThemeEfl::paintMediaSeekBackButton): 5389 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): 5390 (WebCore::RenderThemeEfl::paintMediaSliderTrack): 5391 (WebCore::RenderThemeEfl::paintMediaSliderThumb): 5392 (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer): 5393 (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack): 5394 (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb): 5395 (WebCore::RenderThemeEfl::paintMediaCurrentTime): 5396 * platform/efl/RenderThemeEfl.h: 5397 5398 2011-02-09 Eric Seidel <eric (a] webkit.org> 5399 5400 Reviewed by Adam Barth. 5401 5402 Make WebKit's fragment cannonicalization match other browsers 5403 https://bugs.webkit.org/show_bug.cgi?id=53850 5404 5405 This doesn't make us match perfectly, but it brings us closer. 5406 5407 * platform/KURL.cpp: 5408 (WebCore::appendEscapingBadChars): 5409 (WebCore::escapeAndAppendFragment): 5410 (WebCore::KURL::parse): 5411 5412 2011-02-09 Hans Wennborg <hans (a] chromium.org> 5413 5414 Reviewed by Jeremy Orlow. 5415 5416 IndexedDB: Cursors should skip deleted entries 5417 https://bugs.webkit.org/show_bug.cgi?id=53690 5418 5419 Add test to check that the cursor skips deleted entries. 5420 5421 Test: storage/indexeddb/cursor-skip-deleted.html 5422 5423 * storage/IDBCursorBackendImpl.cpp: 5424 (WebCore::IDBCursorBackendImpl::currentRowExists): 5425 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 5426 * storage/IDBCursorBackendImpl.h: 5427 5428 2011-02-08 Pavel Podivilov <podivilov (a] chromium.org> 5429 5430 Reviewed by Yury Semikhatsky. 5431 5432 Web Inspector: script formatter should not create a worker for each script. 5433 https://bugs.webkit.org/show_bug.cgi?id=54010 5434 5435 * inspector/front-end/ScriptFormatter.js: 5436 (WebInspector.ScriptFormatter): 5437 (WebInspector.ScriptFormatter.prototype._formatScript): 5438 (WebInspector.ScriptFormatter.prototype._handleMessage): 5439 (WebInspector.ScriptFormatter.prototype._handleError): 5440 5441 2011-02-08 Pavel Podivilov <podivilov (a] chromium.org> 5442 5443 Reviewed by Pavel Feldman. 5444 5445 Web Inspector: sync uglifyjs parser files. 5446 https://bugs.webkit.org/show_bug.cgi?id=54003 5447 5448 * inspector/front-end/UglifyJS/parse-js.js: 5449 * inspector/front-end/UglifyJS/process.js: 5450 5451 2011-02-08 Ryosuke Niwa <rniwa (a] webkit.org> 5452 5453 Reviewed by Darin Adler. 5454 5455 REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor 5456 https://bugs.webkit.org/show_bug.cgi?id=53196 5457 5458 The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy, 5459 and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy 5460 before making the modification and not removing non-inheritable properties. 5461 5462 Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large 5463 by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles 5464 and selectionStartCSSPropertyValue. 5465 5466 Test: editing/style/query-typing-style.html 5467 5468 * editing/ApplyStyleCommand.cpp: 5469 (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles. 5470 (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that 5471 CSS values from xx-small through -webkit-xxx-large are not accounted. 5472 * editing/ApplyStyleCommand.h: 5473 * editing/Editor.cpp: 5474 (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue. 5475 (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style. 5476 No longer calls removeNonEditingProperties on the copied typing style so that background-color property 5477 is included when merged into the style. 5478 5479 2011-02-08 Sam Weinig <sam (a] webkit.org> 5480 5481 Reviewed by Maciej Stachowiak. 5482 5483 REGRESSION (r76831): Subframes are printed blank 5484 <rdar://problem/8945867> 5485 5486 * page/FrameView.cpp: 5487 (WebCore::FrameView::paintOverhangAreas): 5488 Don't paint overhangs when printing. 5489 5490 2011-02-07 Jeremy Orlow <jorlow (a] chromium.org> 5491 5492 Reviewed by Nate Chapin. 5493 5494 Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction) 5495 https://bugs.webkit.org/show_bug.cgi?id=53975 5496 5497 The third change in the series of overhauling IndexedDB's event model to match 5498 the spec (at least the version in our heads and bugs). 5499 5500 Test: storage/indexeddb/transaction-event-propagation.html 5501 5502 * bindings/v8/V8DOMWrapper.cpp: 5503 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 5504 * dom/Event.cpp: 5505 (WebCore::Event::isIDBAbortEvent): 5506 (WebCore::Event::isIDBCompleteEvent): 5507 * dom/Event.h: 5508 * dom/EventTarget.cpp: 5509 (WebCore::EventTarget::toIDBDatabase): 5510 * dom/EventTarget.h: 5511 * storage/IDBDatabase.cpp: 5512 (WebCore::IDBDatabase::create): 5513 (WebCore::IDBDatabase::IDBDatabase): 5514 (WebCore::IDBDatabase::scriptExecutionContext): 5515 (WebCore::IDBDatabase::eventTargetData): 5516 (WebCore::IDBDatabase::ensureEventTargetData): 5517 * storage/IDBDatabase.h: 5518 (WebCore::IDBDatabase::toIDBDatabase): 5519 (WebCore::IDBDatabase::refEventTarget): 5520 (WebCore::IDBDatabase::derefEventTarget): 5521 * storage/IDBDatabase.idl: 5522 * storage/IDBRequest.cpp: 5523 (WebCore::IDBRequest::onSuccess): 5524 (WebCore::IDBRequest::dispatchEvent): 5525 * storage/IDBTransaction.cpp: 5526 (WebCore::IDBTransaction::backend): 5527 (WebCore::IDBTransaction::db): 5528 (WebCore::IDBTransaction::objectStore): 5529 (WebCore::IDBTransaction::scriptExecutionContext): 5530 (WebCore::IDBTransaction::dispatchEvent): 5531 (WebCore::IDBTransaction::enqueueEvent): 5532 * storage/IDBTransaction.h: 5533 (WebCore::IDBTransaction::dispatchEvent): 5534 5535 2011-02-08 Kenneth Russell <kbr (a] google.com> 5536 5537 Reviewed by James Robinson. 5538 5539 Add cache for GPU-accelerated path processing results 5540 https://bugs.webkit.org/show_bug.cgi?id=45519 5541 5542 Adding a cache which holds the results of processing a path into 5543 interior and exterior triangle meshes, according to the path 5544 rendering algorithm from GPU Gems 3. No tests yet; will be tested 5545 in conjunction with later code. 5546 5547 * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added. 5548 (WebCore::LoopBlinnPathCache::LoopBlinnPathCache): 5549 (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache): 5550 (WebCore::LoopBlinnPathCache::addVertex): 5551 (WebCore::LoopBlinnPathCache::clear): 5552 (WebCore::LoopBlinnPathCache::addInteriorVertex): 5553 (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices): 5554 (WebCore::LoopBlinnPathCache::interiorEdgeVertices): 5555 (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex): 5556 * platform/graphics/gpu/LoopBlinnPathCache.h: Added. 5557 (WebCore::LoopBlinnPathCache::numberOfVertices): 5558 (WebCore::LoopBlinnPathCache::vertices): 5559 (WebCore::LoopBlinnPathCache::texcoords): 5560 (WebCore::LoopBlinnPathCache::numberOfInteriorVertices): 5561 (WebCore::LoopBlinnPathCache::interiorVertices): 5562 5563 2011-02-08 Zhenyao Mo <zmo (a] google.com> 5564 5565 Reviewed by Kenneth Russell. 5566 5567 Rename GraphicsContext3D::WebGLEnumType 5568 https://bugs.webkit.org/show_bug.cgi?id=45708 5569 5570 * html/canvas/WebGLProgram.cpp: 5571 (WebCore::WebGLProgram::getAttachedShader): 5572 * html/canvas/WebGLProgram.h: 5573 * platform/graphics/GraphicsContext3D.h: 5574 5575 2011-02-08 Sheriff Bot <webkit.review.bot (a] gmail.com> 5576 5577 Unreviewed, rolling out r77980. 5578 http://trac.webkit.org/changeset/77980 5579 https://bugs.webkit.org/show_bug.cgi?id=54043 5580 5581 "Crashes on Windows and Linux..." (Requested by leviw on 5582 #webkit). 5583 5584 * WebCore.exp.in: 5585 * accessibility/AXObjectCache.cpp: 5586 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 5587 * accessibility/AccessibilityObject.cpp: 5588 (WebCore::startOfStyleRange): 5589 (WebCore::endOfStyleRange): 5590 * accessibility/AccessibilityRenderObject.cpp: 5591 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 5592 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 5593 (objectAndOffsetUnignored): 5594 * dom/Position.cpp: 5595 (WebCore::Position::upstream): 5596 (WebCore::Position::downstream): 5597 * dom/Range.cpp: 5598 (WebCore::Range::editingStartPosition): 5599 * editing/Editor.cpp: 5600 (WebCore::Editor::canDeleteRange): 5601 * editing/ReplaceSelectionCommand.cpp: 5602 (WebCore::ReplaceSelectionCommand::doApply): 5603 * editing/SelectionController.cpp: 5604 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 5605 (WebCore::SelectionController::setSelectedRange): 5606 * editing/TextIterator.cpp: 5607 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 5608 * editing/TypingCommand.cpp: 5609 (WebCore::TypingCommand::deleteKeyPressed): 5610 * editing/VisiblePosition.cpp: 5611 (WebCore::VisiblePosition::VisiblePosition): 5612 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 5613 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 5614 (WebCore::VisiblePosition::canonicalPosition): 5615 (WebCore::VisiblePosition::characterAfter): 5616 (WebCore::VisiblePosition::localCaretRect): 5617 (WebCore::makeRange): 5618 (WebCore::startVisiblePosition): 5619 (WebCore::endVisiblePosition): 5620 (WebCore::setStart): 5621 (WebCore::setEnd): 5622 (WebCore::isFirstVisiblePositionInNode): 5623 (WebCore::isLastVisiblePositionInNode): 5624 * editing/VisiblePosition.h: 5625 * editing/htmlediting.cpp: 5626 (WebCore::firstInSpecialElement): 5627 (WebCore::lastInSpecialElement): 5628 (WebCore::visiblePositionBeforeNode): 5629 (WebCore::visiblePositionAfterNode): 5630 * editing/visible_units.cpp: 5631 (WebCore::startPositionForLine): 5632 (WebCore::endPositionForLine): 5633 (WebCore::previousLinePosition): 5634 (WebCore::nextLinePosition): 5635 (WebCore::startOfParagraph): 5636 (WebCore::endOfParagraph): 5637 (WebCore::endOfBlock): 5638 (WebCore::startOfDocument): 5639 (WebCore::endOfDocument): 5640 (WebCore::logicalStartPositionForLine): 5641 (WebCore::logicalEndPositionForLine): 5642 * page/DOMSelection.cpp: 5643 (WebCore::DOMSelection::collapse): 5644 (WebCore::DOMSelection::setBaseAndExtent): 5645 (WebCore::DOMSelection::setPosition): 5646 (WebCore::DOMSelection::extend): 5647 * page/EventHandler.cpp: 5648 (WebCore::EventHandler::handleMousePressEventSingleClick): 5649 * rendering/RenderObject.cpp: 5650 (WebCore::RenderObject::createVisiblePosition): 5651 * rendering/RenderTextControl.cpp: 5652 (WebCore::RenderTextControl::visiblePositionForIndex): 5653 * svg/SVGTextContentElement.cpp: 5654 (WebCore::SVGTextContentElement::selectSubString): 5655 5656 2011-02-08 Jia Pu <jpu (a] apple.com> 5657 5658 Reviewed by Darin Adler. 5659 5660 VisibleSelection::setWithoutValidation() should allow caret selection. 5661 https://bugs.webkit.org/show_bug.cgi?id=53943 5662 5663 Test: editing/undo/undo-paste-when-caret-is-not-in-range.html 5664 5665 * editing/VisibleSelection.cpp: 5666 (WebCore::VisibleSelection::setWithoutValidation): 5667 5668 2011-02-08 Martin Robinson <mrobinson (a] igalia.com> 5669 5670 Reviewed by Xan Lopez. 5671 5672 [GTK] Remove the last remnants of the Mozilla theme drawing code 5673 https://bugs.webkit.org/show_bug.cgi?id=54035 5674 5675 Remove all Mozilla theme drawing code. 5676 5677 No new tests. This change only removes dead code. 5678 5679 * GNUmakefile.am: Remove Mozilla files from the source list. 5680 * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods 5681 and add m_colormap to hold the current colormap of the widgets. 5682 * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code. 5683 (WebCore::RenderThemeGtk::platformInit): Ditto. 5684 (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto. 5685 (WebCore::RenderThemeGtk::gtkContainer): Ditto. 5686 * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto. 5687 * platform/gtk/WidgetRenderingContext.cpp: Ditto. 5688 (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto. 5689 * platform/gtk/WidgetRenderingContext.h: Ditto. 5690 * platform/gtk/gtk2drawing.c: Removed. 5691 * platform/gtk/gtkdrawing.h: Removed. 5692 5693 2011-02-08 Yael Aharon <yael.aharon (a] nokia.com> 5694 5695 Reviewed by Antti Koivisto. 5696 5697 Crash when logging into gmail.com with frame flattening turned on. 5698 https://bugs.webkit.org/show_bug.cgi?id=52449 5699 5700 Frame flattening algorithm requires that layout always starts from the main frame, since layout of 5701 subframes impacts the layout of their parents. 5702 There are places in the code that call view->layout() not on the main frame. 5703 Instead of changing all the callsites, I changed FrameView::layout() 5704 to force layout from the main frame if frame flattening is enabled. 5705 In addition, postLayoutTasks can trigger relayout, so make it use the timer even more. 5706 Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 5707 because calling the from layout() leads to a crash in pages that have a selection in an iframe. 5708 5709 Tests: fast/frames/flattening/iframe-flattening-crash.html 5710 fast/frames/flattening/iframe-flattening-selection-crash.html 5711 5712 * page/FrameView.cpp: 5713 (WebCore::FrameView::layout): 5714 (WebCore::FrameView::performPostLayoutTasks): 5715 5716 2011-02-08 Andy Estes <aestes (a] apple.com> 5717 5718 Reviewed by Darin Adler. 5719 5720 <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be 5721 a supported contentEditable mode. 5722 https://bugs.webkit.org/show_bug.cgi?id=54041 5723 5724 * html/HTMLElement.cpp: 5725 (WebCore::HTMLElement::setContentEditable): Setting the contentEditable 5726 attribute to 'plaintext-only' should not throw an exception. 5727 5728 2011-02-08 Dan Bernstein <mitz (a] apple.com> 5729 5730 Reviewed by Simon Fraser. 5731 5732 RenderRubyRun::m_beingDestroyed is redundant 5733 https://bugs.webkit.org/show_bug.cgi?id=54042 5734 5735 * rendering/RenderRubyRun.cpp: 5736 (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed. 5737 (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 5738 * rendering/RenderRubyRun.h: 5739 5740 2011-02-08 Levi Weintraub <leviw (a] chromium.org> 5741 5742 Reviewed by Ryosuke Niwa. 5743 5744 Stop instantiating legacy editing Positions in VisiblePosition 5745 https://bugs.webkit.org/show_bug.cgi?id=52919 5746 5747 Changing VisiblePosition completely away from legacy positions. 5748 5749 No new tests since this is functionaly equivalent. 5750 5751 * WebCore.exp.in: Removing the legacy VisiblePosition constructor and 5752 adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions 5753 outside of WebCore, they should be parent anchored. 5754 * accessibility/AXObjectCache.cpp: 5755 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 5756 * accessibility/AccessibilityObject.cpp: 5757 (WebCore::startOfStyleRange): 5758 (WebCore::endOfStyleRange): 5759 * accessibility/AccessibilityRenderObject.cpp: 5760 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 5761 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 5762 (objectAndOffsetUnignored): 5763 * dom/Position.cpp: 5764 (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor 5765 (WebCore::Position::downstream): ditto 5766 * dom/Range.cpp: 5767 (WebCore::Range::editingStartPosition): 5768 * editing/Editor.cpp: 5769 (WebCore::Editor::canDeleteRange): 5770 * editing/ReplaceSelectionCommand.cpp: 5771 (WebCore::ReplaceSelectionCommand::doApply): 5772 * editing/SelectionController.cpp: 5773 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 5774 (WebCore::SelectionController::setSelectedRange): 5775 * editing/TextIterator.cpp: 5776 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 5777 * editing/TypingCommand.cpp: 5778 (WebCore::TypingCommand::deleteKeyPressed): 5779 * editing/VisiblePosition.cpp: 5780 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 5781 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 5782 (WebCore::VisiblePosition::canonicalPosition): 5783 (WebCore::VisiblePosition::characterAfter): 5784 (WebCore::VisiblePosition::localCaretRect): 5785 (WebCore::makeRange): 5786 (WebCore::startVisiblePosition): 5787 (WebCore::endVisiblePosition): 5788 (WebCore::setStart): 5789 (WebCore::setEnd): 5790 (WebCore::isFirstVisiblePositionInNode): 5791 (WebCore::isLastVisiblePositionInNode): 5792 * editing/VisiblePosition.h: 5793 (WebCore::VisiblePosition::VisiblePosition): 5794 * editing/htmlediting.cpp: 5795 (WebCore::firstInSpecialElement): 5796 (WebCore::lastInSpecialElement): 5797 (WebCore::visiblePositionBeforeNode): 5798 (WebCore::visiblePositionAfterNode): 5799 * editing/visible_units.cpp: 5800 (WebCore::startPositionForLine): 5801 (WebCore::endPositionForLine): 5802 (WebCore::previousLinePosition): 5803 (WebCore::nextLinePosition): 5804 (WebCore::startOfParagraph): 5805 (WebCore::endOfParagraph): 5806 (WebCore::endOfBlock): 5807 (WebCore::startOfDocument): 5808 (WebCore::endOfDocument): 5809 (WebCore::logicalStartPositionForLine): 5810 (WebCore::logicalEndPositionForLine): 5811 * page/DOMSelection.cpp: 5812 (WebCore::DOMSelection::collapse): 5813 (WebCore::DOMSelection::setBaseAndExtent): 5814 (WebCore::DOMSelection::setPosition): 5815 (WebCore::DOMSelection::extend): 5816 * page/EventHandler.cpp: 5817 (WebCore::EventHandler::handleMousePressEventSingleClick): 5818 * rendering/RenderObject.cpp: 5819 (WebCore::RenderObject::createVisiblePosition): 5820 * rendering/RenderTextControl.cpp: 5821 (WebCore::RenderTextControl::visiblePositionForIndex): 5822 * svg/SVGTextContentElement.cpp: 5823 (WebCore::SVGTextContentElement::selectSubString): 5824 5825 2011-02-08 Michael Saboff <msaboff (a] apple.com> 5826 5827 JSC::Bindings m_rootObject->isValid() assert fails when running layout tests 5828 https://bugs.webkit.org/show_bug.cgi?id=53716 5829 5830 Changed ASSERT to be an if for the case where the RuntimeObject was 5831 GC'ed before RootObject::invalidate is called. In that case there is 5832 no need to remove the RuntimeObject from the RootObject. The isValid() 5833 call will be false in this case, but the RuntimeObject has already 5834 been removed from the RootObject. Added similar defensive code 5835 in RootObject::removeRuntimeObject(). 5836 5837 * bridge/jsc/BridgeJSC.cpp: 5838 (JSC::Bindings::Instance::willDestroyRuntimeObject): 5839 * bridge/runtime_root.cpp: 5840 (JSC::Bindings::RootObject::removeRuntimeObject): 5841 5842 2011-02-08 Beth Dakin <bdakin (a] apple.com> 5843 5844 Reviewed by Darin Adler. 5845 5846 Fix for <rdar://problem/8953365> CrashTracer: 14 5847 crashes in WebProcess at com.apple.WebCore: 5848 -[ScrollKnobAnimation setCurrentProgress:] + 258 5849 5850 This crash seems to happen when the animation is running 5851 and a window is closed. If the ScrollAnimator is destroyed, 5852 delegate calls for the animation can still run, so we have 5853 to make sure we inform the delegates when the ScrollAnimator 5854 is gone, and then we have to null-check it before we do 5855 anything with it. 5856 5857 Remove scrollbarPainterDelegate() since it's not used anymore. 5858 * platform/mac/ScrollAnimatorMac.h: 5859 * platform/mac/ScrollAnimatorMac.mm: 5860 5861 Add null-checks for _animator 5862 (-[ScrollbarPartAnimation setCurrentProgress:]): 5863 (-[ScrollbarPartAnimation scrollAnimatorDestroyed]): 5864 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): 5865 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): 5866 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): 5867 5868 New function to inform the delegates that the ScrollAnimator 5869 is being destroyed. 5870 (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]): 5871 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): 5872 5873 2011-02-08 Adam Barth <abarth (a] webkit.org> 5874 5875 Reviewed by Eric Seidel. 5876 5877 Remove orphan code from old parser 5878 https://bugs.webkit.org/show_bug.cgi?id=53984 5879 5880 This code appears to be unused. 5881 5882 * html/HTMLParserErrorCodes.cpp: 5883 * html/HTMLParserErrorCodes.h: 5884 * html/HTMLParserQuirks.h: 5885 * loader/EmptyClients.h: 5886 * page/ChromeClient.h: 5887 5888 2011-02-08 Martin Robinson <mrobinson (a] igalia.com> 5889 5890 Reviewed by Gustavo Noronha Silva. 5891 5892 [GTK] Move scrollbar rendering out of gtk2drawing.c 5893 https://bugs.webkit.org/show_bug.cgi?id=52836 5894 5895 Replace gtk2drawing.c scrollbar rendering with our own version. This 5896 is the last use of the Mozilla theme drawing code. 5897 5898 No new tests. This should not change the rendering of the default 5899 theme. 5900 5901 * platform/gtk/GtkVersioning.h: Add some more backported allocation setters. 5902 * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets. 5903 * platform/gtk/RenderThemeGtk2.cpp: Initialize and add getters for scrollbar widgets. 5904 (WebCore::RenderThemeGtk::platformInit): Ditto. 5905 (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto. 5906 (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto. 5907 * platform/gtk/ScrollbarThemeGtk.cpp: 5908 (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled 5909 window background if we are repainting a button or the thumb. In that 5910 case also repaint the track rect. 5911 * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext. 5912 (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto. 5913 (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto. 5914 (WebCore::getWidgetForScrollbar): Ditto. 5915 (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto. 5916 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto. 5917 (WebCore::ScrollbarThemeGtk::paintThumb): Ditto. 5918 (WebCore::ScrollbarThemeGtk::paintButton): Ditto. 5919 * platform/gtk/WidgetRenderingContext.cpp: Ditto. 5920 (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which 5921 also adjusts a widget allocation according to the paint rect. This is 5922 necessary to properly draw scrollbar buttons. 5923 * platform/gtk/WidgetRenderingContext.h: Ditto. 5924 5925 2011-02-08 Simon Fraser <simon.fraser (a] apple.com> 5926 5927 Reviewed by Dan Bernstein. 5928 5929 Inset shadow with large offset renders incorrectly 5930 https://bugs.webkit.org/show_bug.cgi?id=53882 5931 5932 Fix an issue with inset shadows, when the shadow offset 5933 was larger than the box size. In this case we'd fail to 5934 fill the box with the shadow color. 5935 5936 Test: fast/box-shadow/inset-shadow-large-offset.html 5937 5938 * rendering/RenderBoxModelObject.cpp: 5939 (WebCore::areaCastingShadowInHole): Return a rect that covers the area 5940 which contributes to the inset shadow. 5941 5942 (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole() 5943 to compute the outerRect. 5944 5945 2011-02-08 Zhenyao Mo <zmo (a] google.com> 5946 5947 Reviewed by Kenneth Russell. 5948 5949 drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER 5950 https://bugs.webkit.org/show_bug.cgi?id=54017 5951 5952 * html/canvas/WebGLRenderingContext.cpp: 5953 (WebCore::WebGLRenderingContext::drawElements): 5954 5955 2011-01-28 Dimitri Glazkov <dglazkov (a] chromium.org> 5956 5957 Reviewed by Darin Adler. 5958 5959 Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId. 5960 https://bugs.webkit.org/show_bug.cgi?id=53190 5961 5962 This is the second part of refactoring the HTMLMediaElement to use new 5963 shadow DOM. The changes are mainly mechanical, except for needing to 5964 add a new method to RenderTheme, which indicates whether or not status 5965 display is being used by it. Previously, we relied on existence of a cached 5966 pseudo style. 5967 5968 Refactoring, covered by existing tests. 5969 5970 * css/CSSSelector.cpp: 5971 (WebCore::CSSSelector::pseudoId): Removed now-unused enum values. 5972 (WebCore::nameToPseudoTypeMap): Ditto. 5973 (WebCore::CSSSelector::extractPseudoType): Ditto. 5974 * css/CSSSelector.h: Ditto. 5975 * html/shadow/MediaControls.cpp: 5976 (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement. 5977 (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added 5978 MediaControlCurrentTimeDisplayElement. 5979 (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added 5980 MediaControlTimeRemainingDisplayElement. 5981 * rendering/MediaControlElements.cpp: 5982 (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the 5983 standard style resolution. 5984 (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added. 5985 (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement 5986 that is no longer necessary. 5987 (WebCore::MediaControlElement::styleForElement): Changed to use the standard 5988 style resolution. 5989 (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added. 5990 (WebCore::MediaControlPanelElement::create): Added. 5991 (WebCore::MediaControlPanelElement::displayType): Added. 5992 (WebCore::MediaControlPanelElement::shadowPseudoId): Added. 5993 (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): 5994 Removed PseudoId constructor arg. 5995 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): 5996 Changed to use the newly-plumbed usesMediaControlStatusDisplay helper. 5997 (WebCore::MediaControlTimelineContainerElement::displayType): Added. 5998 (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added. 5999 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): 6000 Removed PseudoId constructor arg. 6001 (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added. 6002 (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added. 6003 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): 6004 Removed PseudoId constructor arg. 6005 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to 6006 use the newly-plumbed usesMediaControlStatusDisplay helper. 6007 (WebCore::MediaControlStatusDisplayElement::displayType): Added. 6008 (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added. 6009 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 6010 Removed PseudoId constructor arg. 6011 (WebCore::MediaControlTimeRemainingDisplayElement::create): Added. 6012 (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added. 6013 (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added. 6014 (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added. 6015 (WebCore::MediaControlCurrentTimeDisplayElement::create): Added. 6016 (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added. 6017 (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added. 6018 (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added. 6019 * rendering/MediaControlElements.h: Added/changed defs accordingly. 6020 * rendering/RenderTheme.h: 6021 (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added. 6022 * rendering/RenderThemeMac.h: Added def. 6023 * rendering/RenderThemeMac.mm: 6024 (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added. 6025 * rendering/style/RenderStyleConstants.h: Removed now-unused enum values. 6026 6027 2011-02-08 Xiaomei Ji <xji (a] chromium.org> 6028 6029 Reviewed by Dan Bernstein. 6030 6031 Fix pop-up button text not rendered correctly according to its direction 6032 in <option>. 6033 https://bugs.webkit.org/show_bug.cgi?id=53642 6034 6035 In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 6036 changes, set it needs layout. 6037 6038 Test: fast/text/international/pop-up-button-text-alignment-and-direction.html 6039 6040 * rendering/RenderMenuList.cpp: 6041 (WebCore::RenderMenuList::adjustInnerStyle): 6042 6043 2011-02-08 Ilya Tikhonovsky <loislo (a] chromium.org> 6044 6045 Unreviewed build fix for Qt-minimal. 6046 6047 * inspector/InspectorInstrumentation.h: 6048 (WebCore::InspectorInstrumentation::hasFrontend): 6049 6050 2011-02-02 Ilya Tikhonovsky <loislo (a] chromium.org> 6051 6052 Reviewed by Yury Semikhatsky. 6053 6054 Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController. 6055 6056 https://bugs.webkit.org/show_bug.cgi?id=53169 6057 6058 All the Inspector API for WebCore has two parts. 6059 The first one is InspectorInstrumentation for WebCore. 6060 The second is InspectorController for WebKit. 6061 InspectorAgent was produced by renaming original InspectorController. 6062 This patch extracts WebKit related methods from InspectorAgent to InspectorController. 6063 6064 * WebCore.exp.in: 6065 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 6066 * html/HTMLDocument.cpp: 6067 (WebCore::HTMLDocument::createParser): 6068 * inspector/InspectorAgent.cpp: 6069 (WebCore::InspectorAgent::InspectorAgent): 6070 (WebCore::InspectorAgent::~InspectorAgent): 6071 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 6072 (WebCore::InspectorAgent::inspect): 6073 (WebCore::InspectorAgent::handleMousePress): 6074 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 6075 (WebCore::InspectorAgent::setFrontend): 6076 (WebCore::InspectorAgent::disconnectFrontend): 6077 (WebCore::InspectorAgent::resourceAgent): 6078 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 6079 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 6080 (WebCore::InspectorAgent::populateScriptObjects): 6081 (WebCore::InspectorAgent::pushDataCollectedOffline): 6082 (WebCore::InspectorAgent::restoreProfiler): 6083 (WebCore::InspectorAgent::startTimelineProfiler): 6084 (WebCore::PostWorkerNotificationToFrontendTask::performTask): 6085 (WebCore::InspectorAgent::didOpenDatabase): 6086 (WebCore::InspectorAgent::didUseDOMStorage): 6087 (WebCore::InspectorAgent::showAndEnableDebugger): 6088 (WebCore::InspectorAgent::enableDebugger): 6089 (WebCore::InspectorAgent::enabled): 6090 * inspector/InspectorAgent.h: 6091 (WebCore::InspectorAgent::frontend): 6092 * inspector/InspectorController.cpp: 6093 (WebCore::InspectorController::InspectorController): 6094 (WebCore::InspectorController::~InspectorController): 6095 (WebCore::InspectorController::setInspectorFrontendClient): 6096 (WebCore::InspectorController::hasInspectorFrontendClient): 6097 (WebCore::InspectorController::didClearWindowObjectInWorld): 6098 (WebCore::InspectorController::startTimelineProfiler): 6099 (WebCore::InspectorController::stopTimelineProfiler): 6100 (WebCore::InspectorController::connectFrontend): 6101 (WebCore::InspectorController::disconnectFrontend): 6102 (WebCore::InspectorController::disconnectFrontendImpl): 6103 (WebCore::InspectorController::show): 6104 (WebCore::InspectorController::close): 6105 (WebCore::InspectorController::restoreInspectorStateFromCookie): 6106 (WebCore::InspectorController::evaluateForTestInFrontend): 6107 (WebCore::InspectorController::drawNodeHighlight): 6108 (WebCore::InspectorController::inspect): 6109 (WebCore::InspectorController::enabled): 6110 (WebCore::InspectorController::showPanel): 6111 (WebCore::InspectorController::frontendLoaded): 6112 (WebCore::InspectorController::timelineProfilerEnabled): 6113 (WebCore::InspectorController::enableProfiler): 6114 (WebCore::InspectorController::disableProfiler): 6115 (WebCore::InspectorController::profilerEnabled): 6116 (WebCore::InspectorController::debuggerEnabled): 6117 (WebCore::InspectorController::showAndEnableDebugger): 6118 (WebCore::InspectorController::disableDebugger): 6119 (WebCore::InspectorController::startUserInitiatedProfiling): 6120 (WebCore::InspectorController::stopUserInitiatedProfiling): 6121 (WebCore::InspectorController::isRecordingUserInitiatedProfile): 6122 (WebCore::InspectorController::setInspectorExtensionAPI): 6123 (WebCore::InspectorController::resume): 6124 (WebCore::InspectorController::hideHighlight): 6125 (WebCore::InspectorController::dispatchMessageFromFrontend): 6126 * inspector/InspectorController.h: 6127 (WebCore::InspectorController::inspectorClient): 6128 (WebCore::InspectorController::inspectedPage): 6129 (WebCore::InspectorController::hasFrontend): 6130 * inspector/InspectorFrontendClientLocal.cpp: 6131 (WebCore::InspectorFrontendClientLocal::sendMessageToBackend): 6132 * inspector/InspectorFrontendHost.cpp: 6133 (WebCore::InspectorFrontendHost::setExtensionAPI): 6134 * inspector/InspectorInstrumentation.cpp: 6135 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): 6136 (WebCore::InspectorInstrumentation::profilerEnabledImpl): 6137 * inspector/InspectorInstrumentation.h: 6138 (WebCore::InspectorInstrumentation::hasFrontend): 6139 * loader/FrameLoader.cpp: 6140 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 6141 6142 2011-02-08 George Wright <gwright (a] rim.com> 6143 6144 Reviewed by Adam Barth. 6145 6146 https://bugs.webkit.org/show_bug.cgi?id=53949 6147 6148 Ensure that we pack the colour byte order correctly for Skia using 6149 Skia's SkPackARGB32 function. 6150 6151 * platform/image-decoders/ImageDecoder.h: 6152 (WebCore::ImageFrame::setRGBA): 6153 6154 2011-02-08 George Wright <gwright (a] rim.com> 6155 6156 Reviewed by Darin Adler. 6157 6158 https://bugs.webkit.org/show_bug.cgi?id=53951 6159 6160 Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead 6161 pass the full image dimensions. 6162 6163 * platform/graphics/GraphicsContext.cpp: 6164 (WebCore::GraphicsContext::drawImageBuffer): 6165 6166 2011-02-08 Patrick Gansterer <paroga (a] webkit.org> 6167 6168 Reviewed by Adam Roben. 6169 6170 [WIN] Add missing includes and forward declarations for DownloadBundle 6171 https://bugs.webkit.org/show_bug.cgi?id=53881 6172 6173 * platform/network/cf/DownloadBundle.h: 6174 * platform/network/win/DownloadBundleWin.cpp: 6175 (WebCore::DownloadBundle::appendResumeData): 6176 6177 2011-02-08 Patrick Gansterer <paroga (a] webkit.org> 6178 6179 Reviewed by Adam Roben. 6180 6181 [WIN] Add missing include in WKCAImageQueue 6182 https://bugs.webkit.org/show_bug.cgi?id=53890 6183 6184 * platform/graphics/win/WKCAImageQueue.cpp: 6185 6186 2011-02-08 Patrick Gansterer <paroga (a] webkit.org> 6187 6188 Reviewed by Adam Roben. 6189 6190 [WIN] Add missing includes and forward declarations for CFNetwork 6191 https://bugs.webkit.org/show_bug.cgi?id=53883 6192 6193 * platform/network/cf/DNSCFNet.cpp: 6194 * platform/network/cf/LoaderRunLoopCF.cpp: 6195 * platform/network/cf/LoaderRunLoopCF.h: 6196 * platform/network/cf/ProxyServerCFNet.cpp: 6197 * platform/network/cf/SocketStreamHandle.h: 6198 * platform/network/cf/SocketStreamHandleCFNet.cpp: 6199 6200 2011-02-08 Patrick Gansterer <paroga (a] webkit.org> 6201 6202 Unreviewed WinCE build fix for r77870. 6203 6204 * platform/DragImage.cpp: Enable createDragImageForLink for WinCE. 6205 6206 2011-02-08 Pavel Feldman <pfeldman (a] chromium.org> 6207 6208 Reviewed by Yury Semikhatsky. 6209 6210 Web Inspector: open network resource url in new tab upon double click. 6211 https://bugs.webkit.org/show_bug.cgi?id=53930 6212 6213 * inspector/front-end/NetworkPanel.js: 6214 (WebInspector.NetworkDataGridNode.prototype.createCells): 6215 (WebInspector.NetworkDataGridNode.prototype._openInNewTab): 6216 6217 2011-02-08 Yonathan Randolph <yonathan (a] gmail.com> 6218 6219 Reviewed by Pavel Feldman. 6220 6221 Web Inspector: $x: any node should work in optional context parameter. 6222 https://bugs.webkit.org/show_bug.cgi?id=50138 6223 6224 * inspector/InjectedScriptSource.js: 6225 6226 2011-02-08 Patrick Gansterer <paroga (a] webkit.org> 6227 6228 Unreviewed WinCE build fix for r77870. 6229 6230 Remove the global namespace prefix from GlobalLock/GlobalUnlock. 6231 6232 * platform/win/ClipboardUtilitiesWin.cpp: 6233 6234 2011-02-08 Pavel Feldman <pfeldman (a] chromium.org> 6235 6236 Not reviewed: re-apply r77924. 6237 6238 Test: inspector/console-api-on-call-frame.html 6239 6240 * inspector/InjectedScriptSource.js: 6241 * inspector/front-end/ExtensionServer.js: 6242 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 6243 6244 2011-02-08 Andreas Kling <kling (a] webkit.org> 6245 6246 Reviewed by Tor Arne Vestb. 6247 6248 REGRESSION(r77312): Unbreak TiledBackingStore. 6249 6250 Due to an off-by-one error, we were no longer rendering the 6251 rightmost column and bottom row of tiles. 6252 6253 Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache(). 6254 6255 * platform/graphics/TiledBackingStore.cpp: 6256 (WebCore::TiledBackingStore::invalidate): 6257 (WebCore::TiledBackingStore::updateTileBuffers): 6258 (WebCore::TiledBackingStore::paint): 6259 (WebCore::TiledBackingStore::createTiles): 6260 6261 2011-02-08 Sheriff Bot <webkit.review.bot (a] gmail.com> 6262 6263 Unreviewed, rolling out r77924. 6264 http://trac.webkit.org/changeset/77924 6265 https://bugs.webkit.org/show_bug.cgi?id=53997 6266 6267 Breaks inspector tests. (Requested by pfeldman on #webkit). 6268 6269 * inspector/InjectedScriptSource.js: 6270 (.): 6271 (): 6272 6273 2011-02-08 Andrey Kosyakov <caseq (a] chromium.org> 6274 6275 Reviewed by Pavel Feldman. 6276 6277 Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent 6278 https://bugs.webkit.org/show_bug.cgi?id=53789 6279 - perform UserAgent override via InspectorInstrumentation 6280 - move adding extra request headers to InspectorResourceAgent 6281 - simplified things in InspectorState 6282 6283 * inspector/Inspector.idl: 6284 * inspector/InspectorAgent.cpp: 6285 (WebCore::InspectorAgent::disconnectFrontend): 6286 (WebCore::InspectorAgent::applyUserAgentOverride): 6287 * inspector/InspectorAgent.h: 6288 * inspector/InspectorInstrumentation.cpp: 6289 (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl): 6290 (WebCore::InspectorInstrumentation::willSendRequestImpl): 6291 * inspector/InspectorInstrumentation.h: 6292 (WebCore::InspectorInstrumentation::applyUserAgentOverride): 6293 * inspector/InspectorResourceAgent.cpp: 6294 (WebCore::InspectorResourceAgent::setExtraHeaders): 6295 (WebCore::InspectorResourceAgent::willSendRequest): 6296 * inspector/InspectorResourceAgent.h: 6297 * inspector/InspectorState.cpp: 6298 (WebCore::InspectorState::InspectorState): 6299 (WebCore::InspectorState::restoreFromInspectorCookie): 6300 (WebCore::InspectorState::updateCookie): 6301 (WebCore::InspectorState::setValue): 6302 (WebCore::InspectorState::getBoolean): 6303 (WebCore::InspectorState::getString): 6304 (WebCore::InspectorState::getLong): 6305 (WebCore::InspectorState::getObject): 6306 * inspector/InspectorState.h: 6307 (WebCore::InspectorState::setObject): 6308 * loader/FrameLoader.cpp: 6309 (WebCore::FrameLoader::userAgent): 6310 6311 2011-02-08 Pavel Feldman <pfeldman (a] chromium.org> 6312 6313 Reviewed by Yury Semikhatsky. 6314 6315 Web Inspector: do not hide scope variables with command line api. 6316 https://bugs.webkit.org/show_bug.cgi?id=53497 6317 6318 Test: inspector/console-api-on-call-frame.html 6319 6320 * inspector/InjectedScriptSource.js: 6321 6322 2011-02-08 Pavel Feldman <pfeldman (a] chromium.org> 6323 6324 Reviewed by Yury Semikhatsky. 6325 6326 Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R. 6327 https://bugs.webkit.org/show_bug.cgi?id=53914 6328 6329 * inspector/Inspector.idl: 6330 * inspector/InspectorAgent.cpp: 6331 (WebCore::InspectorAgent::reloadPage): 6332 * inspector/InspectorAgent.h: 6333 * inspector/front-end/AuditsPanel.js: 6334 (WebInspector.AuditsPanel.prototype._reloadResources): 6335 * inspector/front-end/ExtensionServer.js: 6336 (WebInspector.ExtensionServer.prototype._onReload): 6337 * inspector/front-end/inspector.js: 6338 (WebInspector.documentKeyDown): 6339 6340 2011-02-08 Antti Koivisto <antti (a] apple.com> 6341 6342 Reviewed by Cameron Zwarich. 6343 6344 Skip over sibling selectors when collecting descendant selector hashes 6345 https://bugs.webkit.org/show_bug.cgi?id=53987 6346 6347 Skip instead of bailing out. This will allow optimizing some sibling selector cases. 6348 6349 * css/CSSStyleSelector.cpp: 6350 (WebCore::RuleData::RuleData): 6351 (WebCore::RuleData::collectIdentifierHashes): 6352 (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): 6353 * css/CSSStyleSelector.h: 6354 6355 2011-02-07 Cris Neckar <cdn (a] chromium.org> 6356 6357 Reviewed by Jian Li. 6358 6359 Fix null deref in DOMURL 6360 https://bugs.webkit.org/show_bug.cgi?id=53811 6361 6362 Test: fast/files/domurl-script-execution-context-crash.html 6363 6364 * html/DOMURL.cpp: 6365 (WebCore::DOMURL::DOMURL): 6366 6367 2011-02-07 Mark Rowe <mrowe (a] apple.com> 6368 6369 Fix the 32-bit build. 6370 6371 * platform/mac/ScrollAnimatorMac.mm: 6372 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters. 6373 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto. 6374 6375 2011-02-07 Xiyuan Xia <xiyuan (a] chromium.org> 6376 6377 Reviewed by Tony Chang. 6378 6379 [Chromium] Select popup box does not align with select button when appearance is not "menulist". 6380 https://bugs.webkit.org/show_bug.cgi?id=53942 6381 6382 Added manual test select_webkit_appearance_off_popup_alignment.html. 6383 6384 * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added. 6385 * platform/chromium/PopupMenuChromium.cpp: 6386 (WebCore::PopupListBox::layout): 6387 6388 2011-02-07 Aparna Nandyal <aparna.nand (a] wipro.com> 6389 6390 Reviewed by Andreas Kling. 6391 6392 [Qt] - Context menu needs "Copy" as well when the selected text is a link. 6393 https://bugs.webkit.org/show_bug.cgi?id=40983 6394 6395 Added copy option for Qt platform if selection is a link. 6396 Added a test in tst_qwebpage.cpp. 6397 6398 * page/ContextMenuController.cpp: 6399 (WebCore::ContextMenuController::populate): 6400 6401 2011-02-07 Mike Reed <reed (a] google.com> 6402 6403 Reviewed by Kenneth Russell. 6404 6405 Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend 6406 when drawing <canvas>. Disabled by default. 6407 6408 No new tests. existing canvas layouttests apply 6409 6410 * platform/graphics/chromium/DrawingBufferChromium.cpp: 6411 (WebCore::DrawingBuffer::publishToPlatformLayer): 6412 * platform/graphics/skia/PlatformContextSkia.cpp: 6413 (WebCore::GetGlobalGrContext): 6414 (WebCore::PlatformContextSkia::isPrinting): 6415 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 6416 (WebCore::PlatformContextSkia::syncSoftwareCanvas): 6417 6418 2011-02-07 Jay Civelli <jcivelli (a] chromium.org> 6419 6420 Reviewed by Darin Fisher. 6421 6422 Removing unused code from PopupMenuChromium. 6423 https://bugs.webkit.org/show_bug.cgi?id=53866 6424 6425 * platform/chromium/PopupMenuChromium.cpp: 6426 (WebCore::PopupListBox::layout): 6427 (WebCore::PopupMenuChromium::show): 6428 * platform/chromium/PopupMenuChromium.h: 6429 6430 2011-02-07 Kenichi Ishibashi <bashi (a] chromium.org> 6431 6432 Reviewed by Andreas Kling. 6433 6434 HTMLOutputElement::childrenChanged() should call its base class childrenChanged() 6435 https://bugs.webkit.org/show_bug.cgi?id=53791 6436 6437 Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged(). 6438 6439 Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html 6440 6441 * html/HTMLOutputElement.cpp: 6442 (WebCore::HTMLOutputElement::childrenChanged): Calls super class's 6443 childrenChanged(). 6444 6445 2011-02-07 Benjamin Poulain <ikipou (a] gmail.com> 6446 6447 Reviewed by Kenneth Rohde Christiansen. 6448 6449 [Qt] cookiesEnabled could create the cookieJar on the wrong thread. 6450 https://bugs.webkit.org/show_bug.cgi?id=52289 6451 6452 Use the QtNAMThreadSafeProxy to make sure the cookie jar is created 6453 in the same thread as the QNetworkAccessManager. 6454 6455 * platform/network/qt/QtNAMThreadSafeProxy.cpp: 6456 (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy): 6457 (WebCore::QtNAMThreadSafeProxy::hasCookieJar): 6458 * platform/network/qt/QtNAMThreadSafeProxy.h: 6459 * platform/qt/CookieJarQt.cpp: 6460 (WebCore::cookiesEnabled): 6461 6462 2011-02-07 Alexey Marinichev <amarinichev (a] chromium.org> 6463 6464 Reviewed by Kenneth Russell. 6465 6466 Hook up WebGraphicsContext3D::setContextLostCallback. 6467 https://bugs.webkit.org/show_bug.cgi?id=53722 6468 6469 Test: fast/canvas/webgl/context-lost.html, comment out the line with 6470 extension.loseContext() and kill the GPU process "Lose context" 6471 message shows up. 6472 6473 * html/canvas/WebGLRenderingContext.cpp: 6474 (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback): 6475 (WebCore::WebGLRenderingContextLostCallback::onContextLost): 6476 (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback): 6477 (WebCore::WebGLRenderingContext::initializeNewContext): 6478 (WebCore::WebGLRenderingContext::~WebGLRenderingContext): 6479 * platform/graphics/GraphicsContext3D.h: 6480 (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback): 6481 * platform/graphics/mac/GraphicsContext3DMac.mm: 6482 (WebCore::GraphicsContext3D::setContextLostCallback): stub 6483 * platform/graphics/qt/GraphicsContext3DQt.cpp: 6484 (WebCore::GraphicsContext3D::setContextLostCallback): stub 6485 6486 2011-02-07 Patrick Gansterer <paroga (a] webkit.org> 6487 6488 Reviewed by Eric Seidel. 6489 6490 Add missing PaintInfo include in RenderThemeWin.cpp 6491 https://bugs.webkit.org/show_bug.cgi?id=53885 6492 6493 * rendering/RenderThemeWin.cpp: 6494 6495 2011-02-07 Qi Zhang <qi.2.zhang (a] nokia.com> 6496 6497 Reviewed by Andreas Kling. 6498 6499 [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl 6500 https://bugs.webkit.org/show_bug.cgi?id=52974 6501 6502 Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific. 6503 6504 * page/ContextMenuController.cpp: 6505 (WebCore::ContextMenuController::contextMenuItemSelected): 6506 (WebCore::ContextMenuController::populate): 6507 (WebCore::ContextMenuController::checkOrEnableIfNeeded): 6508 * platform/ContextMenuItem.h: 6509 * platform/LocalizationStrategy.h: 6510 * platform/LocalizedStrings.cpp: 6511 (WebCore::contextMenuItemTagCopyImageUrlToClipboard): 6512 * platform/LocalizedStrings.h: 6513 6514 2011-02-07 Kenichi Ishibashi <bashi (a] chromium.org> 6515 6516 Reviewed by Kent Tamura. 6517 6518 HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements 6519 https://bugs.webkit.org/show_bug.cgi?id=53970 6520 6521 Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form() 6522 return the right value. 6523 6524 Test: fast/dom/HTMLObjectElement/form/nested-form-element.html 6525 6526 * html/HTMLObjectElement.cpp: 6527 (WebCore::HTMLObjectElement::virtualForm): Added. 6528 * html/HTMLObjectElement.h: Added virtualForm(). 6529 6530 2011-02-07 Ryosuke Niwa <rniwa (a] webkit.org> 6531 6532 Unreviewed Leopard build fix. 6533 6534 * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion. 6535 * platform/mac/DragImageMac.mm: 6536 (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat. 6537 6538 2011-02-07 Enrica Casucci <enrica (a] apple.com> 6539 6540 Reviewed by Sam Weinig. 6541 6542 Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874 6543 6544 When moving code from WebKit to WebCore we needed to move some additional 6545 functions previously in NSStringExtras. 6546 6547 * WebCore.xcodeproj/project.pbxproj: 6548 * platform/mac/DragImageMac.mm: 6549 (WebCore::fontFromNSFont): 6550 (WebCore::canUseFastRenderer): 6551 (WebCore::widthWithFont): 6552 (WebCore::webkit_CGCeiling): 6553 (WebCore::drawAtPoint): 6554 (WebCore::drawDoubledAtPoint): 6555 (WebCore::createDragImageForLink): 6556 6557 2011-02-07 Lucas Forschler <lforschler (a] apple.com> 6558 6559 Reviewed by Geoff Garen. 6560 6561 Tr #2, Fix the Leopard 32bit debug build. 6562 6563 No new tests required. 6564 6565 * WebCore.xcodeproj/project.pbxproj: 6566 * accessibility/AccessibilityAllInOne.cpp: 6567 6568 2011-02-07 Beth Dakin <bdakin (a] apple.com> 6569 6570 Reviewed by Sam Weinig. 6571 6572 Fix for <rdar://problem/8946961> Fix repaint problems 6573 with WKScrollbarPainter scrollers while resizing the window 6574 6575 Remove setPainterForPainterController() and 6576 removePainterFromPainterController() since they aren't 6577 used anymore. 6578 * platform/mac/ScrollAnimatorMac.h: 6579 6580 Return early if they alpha hasn't changed. 6581 * platform/mac/ScrollAnimatorMac.mm: 6582 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): 6583 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): 6584 6585 If we're in a live resize, restore alpha to 1. 6586 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): 6587 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): 6588 6589 2011-02-07 Beth Dakin <bdakin (a] apple.com> 6590 6591 Reviewed by Eric Seidel. 6592 6593 Fix for https://bugs.webkit.org/show_bug.cgi?id=53950 6594 USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in 6595 Platform.h instead 6596 6597 Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather 6598 than the silly, old in-file #define. 6599 6600 * platform/mac/ScrollbarThemeMac.mm: 6601 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 6602 (WebCore::updateArrowPlacement): 6603 (WebCore::ScrollbarThemeMac::registerScrollbar): 6604 (WebCore::ScrollbarThemeMac::scrollbarThickness): 6605 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): 6606 (WebCore::ScrollbarThemeMac::hasThumb): 6607 (WebCore::ScrollbarThemeMac::minimumThumbLength): 6608 (WebCore::ScrollbarThemeMac::paint): 6609 6610 2011-02-07 Enrica Casucci <enrica (a] apple.com> 6611 6612 Reviewed Adam Roben and Darin Adler. 6613 6614 WebKit2: drag and drop support on Windows. 6615 https://bugs.webkit.org/show_bug.cgi?id=52775 6616 <rdar://problem/8514409> 6617 6618 * loader/EmptyClients.h: Removed createDragImageFromLink. 6619 * page/DragClient.h: Ditto. 6620 * page/DragController.cpp: 6621 (WebCore::DragController::startDrag): changed call to createDragImageFromLink. 6622 * platform/DragImage.h: 6623 * platform/mac/DragImageMac.mm: 6624 (WebCore::createDragImageForLink): Moved from DragClient. 6625 * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions 6626 to de-serialize the drag data from the map into an IDataObject. 6627 (WebCore::getWebLocData): 6628 (WebCore::texthtmlFormat): 6629 (WebCore::createGlobalData): 6630 (WebCore::getFullCFHTML): 6631 (WebCore::urlWFormat): 6632 (WebCore::urlFormat): 6633 (WebCore::filenameWFormat): 6634 (WebCore::filenameFormat): 6635 (WebCore::htmlFormat): 6636 (WebCore::smartPasteFormat): 6637 (WebCore::getURL): 6638 (WebCore::getPlainText): 6639 (WebCore::getTextHTML): 6640 (WebCore::ClipboardDataItem::ClipboardDataItem): 6641 (WebCore::getStringData): 6642 (WebCore::getUtf8Data): 6643 (WebCore::getCFData): 6644 (WebCore::setUCharData): 6645 (WebCore::setCharData): 6646 (WebCore::setCFData): 6647 (WebCore::getClipboardMap): 6648 (WebCore::getClipboardData): 6649 (WebCore::setClipboardData): 6650 * platform/win/ClipboardUtilitiesWin.h: 6651 * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient 6652 to a platform specific file in WebCore. It makes a lot more sense here, since 6653 the drag image is always created in WebCore for all the other content types 6654 except for links. 6655 (WebCore::dragLabelFont): 6656 (WebCore::createDragImageForLink): 6657 * platform/win/WCDataObject.cpp: Added new way to 6658 construct a WCDataObject from a DragDataMap. 6659 (WebCore::WCDataObject::createInstance): 6660 (WebCore::WCDataObject::clearData): 6661 * platform/win/WCDataObject.h: 6662 6663 2011-02-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 6664 6665 Unreviewed, rolling out r77848. 6666 http://trac.webkit.org/changeset/77848 6667 https://bugs.webkit.org/show_bug.cgi?id=53963 6668 6669 caused 6 test failures (Requested by othermaciej on #webkit). 6670 6671 * rendering/RenderBlockLineLayout.cpp: 6672 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 6673 6674 2011-02-04 Kenneth Russell <kbr (a] google.com> 6675 6676 Reviewed by James Robinson. 6677 6678 Add shaders for GPU accelerated path rendering 6679 https://bugs.webkit.org/show_bug.cgi?id=45520 6680 6681 Refactored SolidFillShader and TexShader to call new 6682 generateVertex() and generateFragment() methods on base Shader 6683 class, and added support for the Loop/Blinn shaders. Refactored 6684 Loop/Blinn shader classes to derive from Shader. 6685 6686 Tested these changes with several of the IE9 Testdrive demos with 6687 accelerated 2D canvas enabled, as well as a full layout test run 6688 with --platform chromium-gpu. 6689 6690 * platform/graphics/gpu/LoopBlinnShader.cpp: Added. 6691 (WebCore::LoopBlinnShader::LoopBlinnShader): 6692 (WebCore::LoopBlinnShader::use): 6693 * platform/graphics/gpu/LoopBlinnShader.h: Added. 6694 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added. 6695 (WebCore::LoopBlinnSolidFillShader::create): 6696 (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader): 6697 (WebCore::LoopBlinnSolidFillShader::use): 6698 * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added. 6699 * platform/graphics/gpu/Shader.cpp: 6700 (WebCore::Shader::affineTo4x4): 6701 (WebCore::Shader::loadShader): 6702 (WebCore::Shader::loadProgram): 6703 (WebCore::Shader::generateVertex): 6704 (WebCore::Shader::generateFragment): 6705 * platform/graphics/gpu/Shader.h: 6706 * platform/graphics/gpu/SolidFillShader.cpp: 6707 (WebCore::SolidFillShader::create): 6708 * platform/graphics/gpu/TexShader.cpp: 6709 (WebCore::TexShader::TexShader): 6710 (WebCore::TexShader::create): 6711 6712 2011-02-07 Dan Bernstein <mitz (a] apple.com> 6713 6714 Reviewed by Oliver Hunt. 6715 6716 <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg) 6717 https://bugs.webkit.org/show_bug.cgi?id=53480 6718 6719 * WebCore.xcodeproj/project.pbxproj: 6720 * platform/graphics/mac/ComplexTextController.cpp: 6721 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an 6722 offset into m_characters, not into the runs characters. 6723 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 6724 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto. 6725 6726 2011-02-07 Sam Weinig <sam (a] webkit.org> 6727 6728 Reviewed by Anders Carlsson. 6729 6730 Add bundle API to get the background color of a frame 6731 <rdar://problem/8962670> 6732 https://bugs.webkit.org/show_bug.cgi?id=53952 6733 6734 * WebCore.exp.in: Add export. 6735 6736 2011-02-07 Geoffrey Garen <ggaren (a] apple.com> 6737 6738 Reviewed by Darin Adler. 6739 6740 Assertion failure in ~JSGlobalObject when loading apple.com HTML5 6741 transitions demo page 6742 https://bugs.webkit.org/show_bug.cgi?id=53853 6743 6744 This was a long-standing bookkeeping bug uncovered by some heap refactoring. 6745 6746 * html/HTMLCanvasElement.cpp: 6747 (WebCore::HTMLCanvasElement::createImageBuffer): 6748 * html/HTMLImageLoader.cpp: 6749 (WebCore::HTMLImageLoader::notifyFinished): 6750 * xml/XMLHttpRequest.cpp: 6751 (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before 6752 reporting extra cost to the JavaScriptCore heap, since all use of 6753 JavaScriptCore is supposed to be guarded by JSLock. 6754 6755 2011-02-07 Jian Li <jianli (a] chromium.org> 6756 6757 Reviewed by David Levin. 6758 6759 Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug 6760 bots 6761 https://bugs.webkit.org/show_bug.cgi?id=53104 6762 6763 Covered by the existing tests. 6764 6765 * fileapi/FileStreamProxy.cpp: 6766 (WebCore::FileStreamProxy::startOnFileThread): 6767 * platform/network/BlobRegistryImpl.cpp: 6768 (WebCore::BlobRegistryImpl::createResourceHandle): 6769 * platform/network/BlobResourceHandle.cpp: 6770 (WebCore::BlobResourceHandle::BlobResourceHandle): 6771 (WebCore::BlobResourceHandle::cancel): 6772 (WebCore::delayedStartBlobResourceHandle): 6773 (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive 6774 till the delay function is called. 6775 (WebCore::BlobResourceHandle::doStart): 6776 (WebCore::doNotifyFinish): 6777 (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the 6778 standalone function to prevent the handle from being disposed immediately 6779 by the client which will make the calls in the stack that're still bound 6780 to the handle suffer. 6781 * platform/network/BlobResourceHandle.h: 6782 * platform/network/ResourceHandle.h: Change cancel() to virtual so that 6783 BlobResourceHandle::cancel will be called when we abort a FileReader. 6784 6785 2011-02-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 6786 6787 Unreviewed, rolling out r77845. 6788 http://trac.webkit.org/changeset/77845 6789 https://bugs.webkit.org/show_bug.cgi?id=53946 6790 6791 build failure (Requested by lforschler_ on #webkit). 6792 6793 * WebCore.xcodeproj/project.pbxproj: 6794 * accessibility/AccessibilityAllInOne.cpp: 6795 6796 2011-02-07 Darin Adler <darin (a] apple.com> 6797 6798 https://bugs.webkit.org/show_bug.cgi?id=53939 6799 fast/css/text-overflow-ellipsis.html failure after r77818/77819 6800 6801 * platform/text/TextCodecICU.cpp: 6802 (WebCore::TextCodecICU::registerExtendedEncodingNames): 6803 Add back the "utf8" synonym for "UTF-8". 6804 6805 2011-02-07 David Hyatt <hyatt (a] apple.com> 6806 6807 Reviewed by Dan Bernstein. 6808 6809 Remove an unnecessary extra computeLogicalWidth() from line layout. 6810 6811 * rendering/RenderBlockLineLayout.cpp: 6812 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 6813 6814 2011-02-07 Lucas Forschler <lforschler (a] apple.com> 6815 6816 Reviewed by Geoffrey Garen. 6817 6818 Fix Leopard Intel Debug Build. 6819 <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681) 6820 This could potentially break windows, since I had to change #include <filename> to #include "filename" 6821 6822 * WebCore.xcodeproj/project.pbxproj: 6823 * accessibility/AccessibilityAllInOne.cpp: 6824 6825 2011-02-07 Sam Weinig <sam (a] webkit.org> 6826 6827 Fix build. 6828 6829 * platform/mac/ScrollAnimatorMac.mm: 6830 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): 6831 (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): 6832 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): 6833 (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): 6834 6835 2011-02-07 Sam Weinig <sam (a] webkit.org> 6836 6837 Reviewed by Beth Dakin. 6838 6839 Add mechanism to inform the ScrollAnimator when Scrollbars are added 6840 and removed. 6841 6842 * platform/ScrollAnimator.h: 6843 (WebCore::ScrollAnimator::didAddVerticalScrollbar): 6844 (WebCore::ScrollAnimator::willRemoveVerticalScrollbar): 6845 (WebCore::ScrollAnimator::didAddHorizontalScrollbar): 6846 (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar): 6847 Make virtual to allow platform specific overrides. 6848 6849 * platform/ScrollView.cpp: 6850 (WebCore::ScrollView::setHasHorizontalScrollbar): 6851 (WebCore::ScrollView::setHasVerticalScrollbar): 6852 Call new ScrollableArea functions. 6853 6854 * platform/ScrollableArea.cpp: 6855 (WebCore::ScrollableArea::didAddVerticalScrollbar): 6856 (WebCore::ScrollableArea::willRemoveVerticalScrollbar): 6857 (WebCore::ScrollableArea::didAddHorizontalScrollbar): 6858 (WebCore::ScrollableArea::willRemoveHorizontalScrollbar): 6859 * platform/ScrollableArea.h: 6860 Pipe to ScrollAnimator. 6861 6862 * platform/mac/ScrollAnimatorMac.h: 6863 * platform/mac/ScrollAnimatorMac.mm: 6864 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): 6865 (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): 6866 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): 6867 (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): 6868 * platform/mac/ScrollbarThemeMac.h: 6869 * platform/mac/ScrollbarThemeMac.mm: 6870 (WebCore::ScrollbarThemeMac::registerScrollbar): 6871 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 6872 (WebCore::ScrollbarThemeMac::painterForScrollbar): 6873 Move painter delegate registration to the new didAdd/willRemove functions. 6874 6875 2011-02-07 Anders Carlsson <andersca (a] apple.com> 6876 6877 Reviewed by Dan Bernstein. 6878 6879 Missing text match markers with accelerated content 6880 https://bugs.webkit.org/show_bug.cgi?id=53934 6881 6882 When doing the fake paint that recomputes the text match rects, we need to 6883 flatten compositing layers, otherwise the rects won't be updated until the next paint call. 6884 6885 (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing 6886 window before asking for the text match rects). 6887 6888 * editing/Editor.cpp: 6889 (WebCore::Editor::countMatchesForText): 6890 6891 2011-02-07 Antti Koivisto <antti (a] apple.com> 6892 6893 Reviewed by Andreas Kling. 6894 6895 REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg 6896 https://bugs.webkit.org/show_bug.cgi?id=53900 6897 6898 Ignore link elements in shadow trees. 6899 6900 * dom/Element.cpp: 6901 (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher): 6902 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher): 6903 6904 Some asserts to catch cases like this. 6905 6906 (WebCore::Element::attach): 6907 (WebCore::Element::recalcStyle): 6908 * html/HTMLLinkElement.cpp: 6909 (WebCore::HTMLLinkElement::HTMLLinkElement): 6910 (WebCore::HTMLLinkElement::process): 6911 (WebCore::HTMLLinkElement::insertedIntoDocument): 6912 (WebCore::HTMLLinkElement::removedFromDocument): 6913 * html/HTMLLinkElement.h: 6914 6915 2011-02-07 Darin Adler <darin (a] apple.com> 6916 6917 Turn UTF-8 decoder off for now so we can look into failing tests 6918 without leaving the tree red. 6919 6920 * platform/text/TextCodecICU.cpp: 6921 (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting 6922 earlier change so this can handle UTF-8. 6923 (WebCore::TextCodecICU::registerBaseCodecs): Ditto. 6924 (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto. 6925 (WebCore::TextCodecICU::registerExtendedCodecs): Ditto. 6926 * platform/text/TextCodecICU.h: Ditto. 6927 * platform/text/TextEncodingRegistry.cpp: 6928 (WebCore::buildBaseTextCodecMaps): Ditto. 6929 (WebCore::extendTextCodecMaps): Ditto. 6930 * platform/text/brew/TextCodecBrew.cpp: 6931 (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto. 6932 (WebCore::TextCodecBrew::registerBaseCodecs): Ditto. 6933 (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto. 6934 (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto. 6935 * platform/text/brew/TextCodecBrew.h: Ditto. 6936 * platform/text/gtk/TextCodecGtk.cpp: 6937 (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto. 6938 (WebCore::TextCodecGtk::registerBaseCodecs): Ditto. 6939 * platform/text/wince/TextCodecWinCE.cpp: 6940 (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto. 6941 (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto. 6942 (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto. 6943 (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto. 6944 * platform/text/wince/TextCodecWinCE.h: Ditto. 6945 6946 2011-02-07 Anders Carlsson <andersca (a] apple.com> 6947 6948 Reviewed by Maciej Stachowiak. 6949 6950 Don't exclude overlay scrollers from the page overlay bounds 6951 https://bugs.webkit.org/show_bug.cgi?id=53924 6952 6953 Export ScrollbarTheme::nativeTheme. 6954 6955 * WebCore.exp.in: 6956 6957 2011-02-07 Zhenyao Mo <zmo (a] google.com> 6958 6959 Reviewed by Kenneth Russell. 6960 6961 Crash in glDrawArrays with NaCl crystal model 6962 https://bugs.webkit.org/show_bug.cgi?id=52831 6963 6964 * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used. 6965 (WebCore::WebGLRenderingContext::initVertexAttrib0): 6966 (WebCore::WebGLRenderingContext::simulateVertexAttrib0): 6967 * html/canvas/WebGLRenderingContext.h: 6968 6969 2011-02-07 Chris Fleizach <cfleizach (a] apple.com> 6970 6971 Reviewed by Darin Adler. 6972 6973 WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles. 6974 https://bugs.webkit.org/show_bug.cgi?id=53842 6975 6976 Test: platform/mac/accessibility/aria-sort.html 6977 6978 * accessibility/AccessibilityObject.cpp: 6979 (WebCore::AccessibilityObject::sortDirection): 6980 * accessibility/AccessibilityObject.h: 6981 * accessibility/mac/AccessibilityObjectWrapper.mm: 6982 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 6983 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 6984 * html/HTMLAttributeNames.in: 6985 6986 2011-02-07 Darin Adler <darin (a] apple.com> 6987 6988 Reviewed by Antti Koivisto. 6989 6990 Add built-in decoder for UTF-8 for improved performance 6991 https://bugs.webkit.org/show_bug.cgi?id=53898 6992 6993 Correct behavior is covered by existing tests. 6994 6995 * Android.mk: Added TextCodecUTF8. 6996 * CMakeLists.txt: Ditto. 6997 * GNUmakefile.am: Ditto. 6998 * WebCore.gypi: Ditto. 6999 * WebCore.pro: Ditto. 7000 * WebCore.vcproj/WebCore.vcproj: Ditto. 7001 * WebCore.xcodeproj/project.pbxproj: Ditto. 7002 7003 * platform/text/TextCodecICU.cpp: Removed registration of UTF-8 7004 since that's now handled by the built-in UTF-8 codec. 7005 (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove 7006 the word "extended" since all codecs from ICU are now extended. 7007 (WebCore::TextCodecICU::registerCodecs): Ditto. 7008 * platform/text/TextCodecICU.h: Ditto. 7009 7010 * platform/text/TextCodecUTF16.cpp: 7011 (WebCore::TextCodecUTF16::decode): Added a FIXME about missing 7012 error handling. 7013 7014 * platform/text/TextCodecUTF8.cpp: Added. 7015 * platform/text/TextCodecUTF8.h: Added. 7016 7017 * platform/text/TextEncodingRegistry.cpp: 7018 (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and 7019 removed TextCodecICU, TextCodecBrew, and TextCodecWinCE. 7020 (WebCore::extendTextCodecMaps): Updated names for 7021 TextCodecICU and TextCodecWinCE. 7022 7023 * platform/text/brew/TextCodecBrew.cpp: 7024 (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove 7025 the word "extended" since all codecs from Brew are now extended. 7026 (WebCore::TextCodecBrew::registerCodecs): Ditto. 7027 * platform/text/brew/TextCodecBrew.h: Ditto. 7028 7029 * platform/text/gtk/TextCodecGtk.cpp: 7030 (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed 7031 registration of UTF-8. It's questionable whether the other codecs 7032 here are really basic. If we think they qualify, then we should 7033 register them on other platforms, not just GTK. 7034 (WebCore::TextCodecGtk::registerBaseCodecs): Ditto. 7035 7036 * platform/text/wince/TextCodecWinCE.cpp: 7037 (WebCore::getCodePage): Removed special case for UTF-8 since we 7038 no longer use this codec for UTF-8. 7039 (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove 7040 the word "extended" since all codecs from WinCE are now extended. 7041 (WebCore::TextCodecWinCE::registerCodecs): Ditto. 7042 * platform/text/wince/TextCodecWinCE.h: Ditto. 7043 7044 2011-02-07 Mario Sanchez Prada <msanchez (a] igalia.com> 7045 7046 Reviewed by Xan Lopez. 7047 7048 [Gtk] atk_text_get_caret_offset fails for list items 7049 https://bugs.webkit.org/show_bug.cgi?id=53436 7050 7051 Consider list item markers when calculating the offset. 7052 7053 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 7054 (webkit_accessible_text_get_caret_offset): Adjust the offset 7055 with the item marker's length for list items. 7056 (webkit_accessible_text_set_caret_offset): Replace usage of 7057 g_utf8_strlen() by calling to markerText.length(). 7058 7059 2011-02-07 Yi Shen <yi.4.shen (a] nokia.com> 7060 7061 Reviewed by Tor Arne Vestb. 7062 7063 [Qt] Fix LayoutTests/media/restore-from-page-cache.html 7064 https://bugs.webkit.org/show_bug.cgi?id=53621 7065 7066 Changed the networkState to MediaPlayer::Loaded when 7067 MediaPlayerPrivateQt has enough data. 7068 7069 Test: media/restore-from-page-cache.html 7070 7071 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 7072 (WebCore::MediaPlayerPrivateQt::updateStates): 7073 7074 2011-01-31 Pavel Podivilov <podivilov (a] chromium.org> 7075 7076 Reviewed by Yury Semikhatsky. 7077 7078 Web Inspector: implement beautification of scripts inlined in html documents. 7079 https://bugs.webkit.org/show_bug.cgi?id=52706 7080 7081 To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and 7082 finally paste them back to html. 7083 7084 * WebCore.gypi: 7085 * WebCore.vcproj/WebCore.vcproj: 7086 * inspector/front-end/ScriptFormatter.js: 7087 (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html. 7088 (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): 7089 (WebInspector.ScriptFormatter.prototype.formatContent): 7090 (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks): 7091 (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat): 7092 (WebInspector.ScriptFormatter.prototype._formatChunks): 7093 (WebInspector.ScriptFormatter.prototype._buildContentFromChunks): 7094 (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler): 7095 (WebInspector.ScriptFormatter.prototype._formatScript): 7096 * inspector/front-end/ScriptFormatterWorker.js: 7097 (onmessage): 7098 (buildMapping): 7099 * inspector/front-end/SourceFrame.js: 7100 (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers. 7101 * inspector/front-end/SourceFrameContent.js: Added. 7102 (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout 7103 (WebInspector.SourceFrameContent.prototype.get scriptRanges): 7104 (WebInspector.SourceFrameContent.prototype.locationToPosition): 7105 (WebInspector.SourceFrameContent.prototype.positionToLocation): 7106 (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber): 7107 (WebInspector.SourceFrameContent.prototype.scriptLocationForRange): 7108 (WebInspector.SourceFrameContent.prototype.lineNumberToRange): 7109 (WebInspector.SourceFrameContent.prototype._intersectingScriptRange): 7110 (WebInspector): 7111 (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them. 7112 (WebInspector.FormattedSourceFrameContent.prototype.get text): 7113 (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation): 7114 (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber): 7115 (WebInspector.FormattedSourceFrameContent.prototype._convertPosition): 7116 * inspector/front-end/WebKit.qrc: 7117 * inspector/front-end/inspector.html: 7118 7119 2011-02-07 Pavel Feldman <pfeldman (a] chromium.org> 7120 7121 Reviewed by Yury Semikhatsky. 7122 7123 Web Inspector: "Reveal in elements panel" does not always work. 7124 https://bugs.webkit.org/show_bug.cgi?id=53775 7125 7126 * inspector/front-end/ConsoleView.js: 7127 (WebInspector.ConsoleView): 7128 * inspector/front-end/ContextMenu.js: 7129 (WebInspector.ContextMenu.prototype.show): 7130 * inspector/front-end/ElementsPanel.js: 7131 (WebInspector.ElementsPanel.prototype.switchToAndFocus): 7132 * inspector/front-end/ElementsTreeOutline.js: 7133 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement): 7134 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): 7135 * inspector/front-end/ObjectPropertiesSection.js: 7136 (WebInspector.ObjectPropertyTreeElement.prototype.update): 7137 (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired): 7138 * inspector/front-end/inspector.js: 7139 (WebInspector.cancelSearch): 7140 7141 2011-02-07 Adam Barth <abarth (a] webkit.org> 7142 7143 Reviewed by Eric Seidel. 7144 7145 Relative .. in URL paths shouldn't skip adjacent / characters 7146 https://bugs.webkit.org/show_bug.cgi?id=53907 7147 7148 Our new behavior matches Firefox, Chrome, and IE. 7149 7150 * platform/KURL.cpp: 7151 (WebCore::copyPathRemovingDots): 7152 7153 2011-02-07 Maciej Stachowiak <mjs (a] apple.com> 7154 7155 Reviewed by Antti Koivisto. 7156 7157 WebKitTestRunner does not block remote resources or complain about them 7158 https://bugs.webkit.org/show_bug.cgi?id=42139 7159 <rdar://problem/8183942> 7160 7161 * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link 7162 WebCore. 7163 * WebCore.exp.in: Export a handful of KURL symbols. 7164 7165 2011-02-06 Ryosuke Niwa <rniwa (a] webkit.org> 7166 7167 Reviewed by Darin Adler. 7168 7169 OwnArraryPtr.h uses deleteOwnedPtr but doesnt include OwnPtrCommon.h 7170 https://bugs.webkit.org/show_bug.cgi?id=52867 7171 7172 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed. 7173 * bindings/v8/NPV8Object.cpp: 7174 (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of 7175 v8::Handle<v8::Value>*. 7176 (_NPN_Invoke): Calls createValueListFromVariantArgs. 7177 (_NPN_InvokeDefault): createValueListFromVariantArgs. 7178 (_NPN_Construct): createValueListFromVariantArgs. 7179 * bindings/v8/ScriptFunctionCall.cpp: 7180 (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr. 7181 (WebCore::ScriptFunctionCall::construct): Ditto. 7182 (WebCore::ScriptCallback::call): 7183 * bindings/v8/V8DOMWindowShell.cpp: 7184 (WebCore::V8DOMWindowShell::createNewContext): Ditto. 7185 * bindings/v8/V8NPObject.cpp: 7186 (WebCore::npObjectInvokeImpl): Ditto 7187 * bindings/v8/V8NodeFilterCondition.cpp: 7188 (WebCore::V8NodeFilterCondition::acceptNode): Ditto, 7189 * html/HTMLAreaElement.cpp: 7190 (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray. 7191 * html/HTMLFrameSetElement.cpp: 7192 (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray. 7193 * html/canvas/WebGLRenderingContext.cpp: 7194 (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr. 7195 (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto. 7196 (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito. 7197 * platform/Length.cpp: 7198 (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*. 7199 (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*. 7200 * platform/Length.h: Prototype changes. 7201 * platform/graphics/ANGLEWebKitBridge.cpp: 7202 (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr. 7203 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 7204 (WebCore::getDirtyRects): Ditto. 7205 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 7206 (WebCore::ComplexTextController::getNormalizedTextRun): Ditto. 7207 * platform/graphics/chromium/HarfbuzzSkia.cpp: 7208 (WebCore::glyphsToAdvances): Ditto. 7209 (WebCore::canRender): Ditto. 7210 * platform/graphics/gpu/Texture.cpp: 7211 (WebCore::Texture::updateSubRect): Ditto. 7212 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 7213 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto. 7214 * platform/graphics/skia/PlatformContextSkia.cpp: 7215 (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto. 7216 * platform/graphics/wince/SharedBitmap.cpp: 7217 (WebCore::SharedBitmap::to16bit): Ditto. 7218 * platform/win/ContextMenuWin.cpp: 7219 (WebCore::ContextMenu::getContextMenuItems): Ditto. 7220 * platform/win/LoggingWin.cpp: 7221 (WebCore::initializeWithUserDefault): Ditto. 7222 * plugins/win/PluginPackageWin.cpp: 7223 (WebCore::PluginPackage::fetchInfo): Ditto. 7224 7225 2011-02-06 Kent Tamura <tkent (a] chromium.org> 7226 7227 Unreviewed. 7228 7229 * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file. 7230 7231 2011-02-03 Dominic Cooney <dominicc (a] google.com> 7232 7233 Reviewed by Dimitri Glazkov. 7234 7235 Convert <keygen> option elements to a shadow DOM 7236 https://bugs.webkit.org/show_bug.cgi?id=51379 7237 7238 Covered by existing tests e.g. fast/html/keygen.html, 7239 html5lib/runner.html, etc. 7240 7241 * css/html.css: 7242 (form): Cleanup. 7243 (keygen, select): Border radii should match so focus ring looks good. 7244 (keygen::-webkit-keygen-select): No margin on the shadow element. 7245 (select): Hoisting border radius to keygen, select rule. 7246 * dom/SelectElement.cpp: 7247 (WebCore::toSelectElement): keygen is no longer a select element. 7248 * html/HTMLKeygenElement.cpp: Implements keygen shadow. 7249 (WebCore::KeygenSelectElement::create): 7250 (WebCore::KeygenSelectElement::shadowPseudoId): 7251 (WebCore::KeygenSelectElement::KeygenSelectElement): 7252 (WebCore::HTMLKeygenElement::HTMLKeygenElement): 7253 (WebCore::HTMLKeygenElement::parseMappedAttribute): 7254 (WebCore::HTMLKeygenElement::appendFormData): 7255 (WebCore::HTMLKeygenElement::formControlType): 7256 (WebCore::HTMLKeygenElement::reset): 7257 (WebCore::HTMLKeygenElement::selectShadow): 7258 * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side. 7259 (WebCore::HTMLKeygenElement::canStartSelection): 7260 (WebCore::HTMLKeygenElement::isEnumeratable): 7261 (WebCore::HTMLKeygenElement::isResettable): 7262 * html/HTMLOptionElement.cpp: 7263 (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects. 7264 * html/HTMLSelectElement.cpp: 7265 (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name. 7266 7267 2011-02-06 Benjamin Poulain <ikipou (a] gmail.com> 7268 7269 Reviewed by Kenneth Rohde Christiansen. 7270 7271 [Qt] Fix coding style errors in ClipboardQt.h 7272 https://bugs.webkit.org/show_bug.cgi?id=43520 7273 7274 Fix coding style: order of header and indentation. 7275 7276 * platform/qt/ClipboardQt.h: 7277 (WebCore::ClipboardQt::create): 7278 (WebCore::ClipboardQt::clipboardData): 7279 (WebCore::ClipboardQt::invalidateWritableData): 7280 7281 2011-02-06 Antti Koivisto <antti (a] apple.com> 7282 7283 Reviewed by Maciej Stachowiak. 7284 7285 Use bloom filter for descendant selector filtering 7286 https://bugs.webkit.org/show_bug.cgi?id=53880 7287 7288 Bloom filter is faster than a hash set in this kind of use. 7289 7290 Shark thinks this speeds up style matching by ~30% on sites 7291 with lots of descendant selectors. 7292 7293 * ForwardingHeaders/wtf/BloomFilter.h: Added. 7294 * css/CSSStyleSelector.cpp: 7295 (WebCore::collectElementIdentifierHashes): 7296 (WebCore::CSSStyleSelector::pushParent): 7297 (WebCore::CSSStyleSelector::popParent): 7298 (WebCore::CSSStyleSelector::fastRejectSelector): 7299 (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): 7300 * css/CSSStyleSelector.h: 7301 7302 2011-02-06 Maciej Stachowiak <mjs (a] apple.com> 7303 7304 Reviewed by Antti Koivisto. 7305 7306 media/video-document-types.html sometimes crashes the WebProcess 7307 https://bugs.webkit.org/show_bug.cgi?id=53884 7308 7309 No new tests. Already covered by media/video-document-types.html 7310 7311 * html/HTMLMediaElement.cpp: 7312 (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer 7313 when cancelling the load. 7314 7315 2011-02-06 Patrick Gansterer <paroga (a] webkit.org> 7316 7317 Reviewed by Adam Roben. 7318 7319 [WIN] Use WCHAR instead of TCHAR 7320 https://bugs.webkit.org/show_bug.cgi?id=53863 7321 7322 We always use the UNICODE versions of windows functions, so 7323 the usage of TCHAR makes no sense and mixing them is bad style. 7324 7325 * platform/graphics/win/IconWin.cpp: 7326 (WebCore::Icon::createIconForFiles): 7327 * platform/graphics/win/QTMovie.cpp: 7328 * platform/graphics/win/QTMovieGWorld.cpp: 7329 (QTMovieGWorld::fullscreenWndProc): 7330 (QTMovieGWorld::enterFullscreen): 7331 * platform/graphics/win/SimpleFontDataCGWin.cpp: 7332 (WebCore::SimpleFontData::platformInit): 7333 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 7334 * platform/graphics/win/SimpleFontDataWin.cpp: 7335 * platform/graphics/wince/SimpleFontDataWinCE.cpp: 7336 * platform/win/BString.cpp: 7337 * platform/win/ClipboardWin.cpp: 7338 (WebCore::filesystemPathFromUrlOrTitle): 7339 (WebCore::createGlobalHDropContent): 7340 (WebCore::createGlobalImageFileDescriptor): 7341 * platform/win/ContextMenuWin.cpp: 7342 * platform/win/CursorWin.cpp: 7343 (WebCore::loadSharedCursor): 7344 * platform/win/FileChooserWin.cpp: 7345 (WebCore::FileChooser::basenameForWidth): 7346 * platform/win/PopupMenuWin.cpp: 7347 (WebCore::PopupMenuWin::popupClassName): 7348 (WebCore::PopupMenuWin::show): 7349 * platform/win/PopupMenuWin.h: 7350 7351 2011-02-06 Patrick Gansterer <paroga (a] webkit.org> 7352 7353 Reviewed by Andreas Kling. 7354 7355 Replace FLT_MAX with std::numeric_limits 7356 https://bugs.webkit.org/show_bug.cgi?id=53861 7357 7358 Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl. 7359 7360 * html/NumberInputType.cpp: 7361 * html/parser/HTMLParserIdioms.cpp: 7362 (WebCore::parseToDoubleForNumberType): 7363 * platform/brew/SystemTimeBrew.cpp: 7364 (WebCore::userIdleTime): 7365 * platform/efl/SystemTimeEfl.cpp: 7366 (WebCore::userIdleTime): 7367 * platform/efl/TemporaryLinkStubs.cpp: 7368 * platform/graphics/ca/GraphicsLayerCA.cpp: 7369 (WebCore::GraphicsLayerCA::setupAnimation): 7370 * platform/win/SystemTimeWin.cpp: 7371 (WebCore::userIdleTime): 7372 * platform/wx/SystemTimeWx.cpp: 7373 (WebCore::userIdleTime): 7374 7375 2011-02-06 Patrick Gansterer <paroga (a] webkit.org> 7376 7377 Reviewed by Andreas Kling. 7378 7379 [CMake] Add dependencies for Visual Studio projects 7380 https://bugs.webkit.org/show_bug.cgi?id=53773 7381 7382 Add a JavaScriptCore dependecy to WebCore, so CMake can 7383 generate the correct build order for the solution. 7384 7385 * CMakeLists.txt: 7386 7387 2011-02-06 Patrick Gansterer <paroga (a] webkit.org> 7388 7389 Reviewed by Andreas Kling. 7390 7391 [CMake] Unify ENABLE_SVG sections 7392 https://bugs.webkit.org/show_bug.cgi?id=53778 7393 7394 * CMakeLists.txt: 7395 7396 2011-02-06 Andreas Kling <kling (a] webkit.org> 7397 7398 Reviewed by Dirk Schulze. 7399 7400 Refactor Font::normalizeSpaces() to avoid an extra String copy. 7401 https://bugs.webkit.org/show_bug.cgi?id=53871 7402 7403 Have normalizeSpaces() take UChar*,length arguments instead of a 7404 String, since all call sites were creating temporaries from these 7405 components anyway. 7406 7407 Font::normalizeSpaces() now always makes 1 String copy, 7408 instead of 1 in the best case and 2 in the worst case. 7409 7410 * platform/graphics/Font.cpp: 7411 (WebCore::Font::normalizeSpaces): 7412 * platform/graphics/Font.h: 7413 * platform/graphics/qt/FontQt.cpp: 7414 (WebCore::drawTextCommon): 7415 (WebCore::Font::floatWidthForSimpleText): 7416 (WebCore::Font::floatWidthForComplexText): 7417 (WebCore::Font::offsetForPositionForSimpleText): 7418 (WebCore::Font::offsetForPositionForComplexText): 7419 (WebCore::Font::selectionRectForSimpleText): 7420 (WebCore::Font::selectionRectForComplexText): 7421 * svg/SVGFont.cpp: 7422 (WebCore::SVGTextRunWalker::walk): 7423 7424 2011-02-06 Andreas Kling <kling (a] webkit.org> 7425 7426 Reviewed by Dirk Schulze. 7427 7428 Fix potential buffer overrun in SVGTextRunWalker::walk() 7429 https://bugs.webkit.org/show_bug.cgi?id=53870 7430 7431 A new String was created from a UChar* with a 'length' argument 7432 that could be greater than the number of UChars available. 7433 7434 * svg/SVGFont.cpp: 7435 (WebCore::SVGTextRunWalker::walk): 7436 7437 2011-02-05 Adam Barth <abarth (a] webkit.org> 7438 7439 Reviewed by Eric Seidel. 7440 7441 Remove unused parameter related to XSSAuditor 7442 https://bugs.webkit.org/show_bug.cgi?id=53862 7443 7444 * WebCore.exp.in: 7445 * bindings/ScriptControllerBase.cpp: 7446 (WebCore::ScriptController::executeScript): 7447 (WebCore::ScriptController::executeIfJavaScriptURL): 7448 * bindings/ScriptControllerBase.h: 7449 * bindings/js/ScriptController.cpp: 7450 (WebCore::ScriptController::evaluateInWorld): 7451 (WebCore::ScriptController::evaluate): 7452 (WebCore::ScriptController::executeScriptInWorld): 7453 * bindings/js/ScriptController.h: 7454 * bindings/v8/ScriptController.cpp: 7455 (WebCore::ScriptController::evaluate): 7456 * bindings/v8/ScriptController.h: 7457 7458 2011-02-05 Adam Barth <abarth (a] webkit.org> 7459 7460 Fix Qt build. 7461 7462 * WebCore.pro: 7463 7464 2011-02-05 Adam Barth <abarth (a] webkit.org> 7465 7466 Reviewed by Eric Seidel. 7467 7468 Delete XSSAuditor 7469 https://bugs.webkit.org/show_bug.cgi?id=53859 7470 7471 The job of the XSSAuditor is now done by the XSSFilter. In the future, 7472 we might rename XSSFilter to XSSAuditor. 7473 7474 * Android.mk: 7475 * CMakeLists.txt: 7476 * GNUmakefile.am: 7477 * WebCore.gypi: 7478 * WebCore.vcproj/WebCore.vcproj: 7479 * WebCore.xcodeproj/project.pbxproj: 7480 * bindings/ScriptControllerBase.cpp: 7481 (WebCore::ScriptController::executeIfJavaScriptURL): 7482 * bindings/ScriptControllerBase.h: 7483 * bindings/js/ScriptController.cpp: 7484 (WebCore::ScriptController::ScriptController): 7485 (WebCore::ScriptController::evaluateInWorld): 7486 * bindings/js/ScriptController.h: 7487 * bindings/js/ScriptEventListener.cpp: 7488 (WebCore::createAttributeEventListener): 7489 * bindings/v8/ScriptController.cpp: 7490 (WebCore::ScriptController::ScriptController): 7491 (WebCore::ScriptController::evaluate): 7492 * bindings/v8/ScriptController.h: 7493 * bindings/v8/ScriptEventListener.cpp: 7494 (WebCore::createAttributeEventListener): 7495 * dom/Document.cpp: 7496 (WebCore::Document::implicitOpen): 7497 (WebCore::Document::processBaseElement): 7498 * dom/ScriptableDocumentParser.cpp: 7499 (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): 7500 * dom/ScriptableDocumentParser.h: 7501 * html/parser/HTMLDocumentParser.cpp: 7502 (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): 7503 * loader/SubframeLoader.cpp: 7504 (WebCore::SubframeLoader::requestObject): 7505 (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): 7506 * page/XSSAuditor.cpp: Removed. 7507 * page/XSSAuditor.h: Removed. 7508 7509 2011-02-05 Anders Carlsson <andersca (a] apple.com> 7510 7511 Reviewed by Darin Adler. 7512 7513 Need a way to resize and scroll the page at the same time 7514 https://bugs.webkit.org/show_bug.cgi?id=53814 7515 <rdar://problem/8498008> 7516 7517 Export a function needed by WebKit2. 7518 7519 * WebCore.exp.in: 7520 7521 2011-02-05 Patrick Gansterer <paroga (a] webkit.org> 7522 7523 Reviewed by Alexey Proskuryakov. 7524 7525 Use Document::encoding() instead of DocumentWriter::encoding() 7526 https://bugs.webkit.org/show_bug.cgi?id=53398 7527 7528 This change makes the code more readable, when a subresource 7529 inherits the character encoding of the document. 7530 7531 * dom/ProcessingInstruction.cpp: 7532 (WebCore::ProcessingInstruction::checkStyleSheet): 7533 * dom/ScriptElement.cpp: 7534 (WebCore::ScriptElement::scriptCharset): 7535 * html/HTMLLinkElement.cpp: 7536 (WebCore::HTMLLinkElement::process): 7537 * loader/cache/CachedResourceLoader.cpp: 7538 (WebCore::CachedResourceLoader::requestPreload): 7539 * platform/network/FormDataBuilder.cpp: 7540 (WebCore::FormDataBuilder::encodingFromAcceptCharset): 7541 7542 2011-02-05 Adam Barth <abarth (a] webkit.org> 7543 7544 Reviewed by Eric Seidel. 7545 7546 Introduce URLString to represent a canonicalized URL represented by a string 7547 https://bugs.webkit.org/show_bug.cgi?id=53847 7548 7549 Instead of using String all over the codebase to represent a URL, 7550 instead we should have a type to represent a canonicalized URL in the 7551 form of a string. This patch introduces that type. 7552 7553 * GNUmakefile.am: 7554 * WebCore.gypi: 7555 * WebCore.xcodeproj/project.pbxproj: 7556 * platform/KURL.cpp: 7557 (WebCore::KURL::KURL): 7558 * platform/KURL.h: 7559 (WebCore::KURL::urlString): 7560 7561 2011-02-05 Robert Hogan <robert (a] webkit.org> 7562 7563 Reviewed by Antonio Gomes. 7564 7565 [Qt] Style widgets not rendering 7566 https://bugs.webkit.org/show_bug.cgi?id=53849 7567 7568 * html/HTMLObjectElement.cpp: 7569 (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too 7570 7571 2011-02-05 Jochen Eisinger <jochen (a] chromium.org> 7572 7573 Reviewed by Adam Barth. 7574 7575 Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader. 7576 https://bugs.webkit.org/show_bug.cgi?id=53685 7577 7578 * WebCore.xcodeproj/project.pbxproj: 7579 * dom/Document.h: 7580 (WebCore::Document::contentSecurityPolicy): 7581 * loader/MainResourceLoader.cpp: 7582 (WebCore::MainResourceLoader::didReceiveResponse): 7583 * page/ContentSecurityPolicy.cpp: 7584 (WebCore::ContentSecurityPolicy::didReceiveHeader): 7585 * page/ContentSecurityPolicy.h: 7586 7587 2011-02-05 Eric Seidel <eric (a] webkit.org> 7588 7589 Reviewed by Adam Barth. 7590 7591 Safari should lowercase schemes in cannonicalized urls to match every other browser 7592 https://bugs.webkit.org/show_bug.cgi?id=53848 7593 7594 We're clearly the odd man out here. See results from every browser at: 7595 https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt 7596 7597 * platform/KURL.cpp: 7598 (WebCore::KURL::parse): 7599 - Just lowercase the scheme when copying. 7600 7601 2011-02-05 Antti Koivisto <antti (a] apple.com> 7602 7603 Reviewed by Dave Hyatt. 7604 7605 Optimize matching of descendant selectors 7606 https://bugs.webkit.org/show_bug.cgi?id=49876 7607 <rdar://problem/8772822> 7608 7609 During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements. 7610 Use the filter to quickly reject descendant and child selectors when doing style matching. 7611 7612 This speeds up style recalculations 3-6x on many major web sites. 7613 7614 * css/CSSStyleSelector.cpp: 7615 (WebCore::RuleData::RuleData): 7616 (WebCore::RuleData::descendantSelectorIdentifierHashes): 7617 (WebCore::collectElementIdentifiers): 7618 (WebCore::CSSStyleSelector::pushParent): 7619 (WebCore::CSSStyleSelector::popParent): 7620 (WebCore::CSSStyleSelector::fastRejectSelector): 7621 (WebCore::CSSStyleSelector::matchRulesForList): 7622 (WebCore::RuleData::collectDescendantSelectorIdentifierHashes): 7623 * css/CSSStyleSelector.h: 7624 (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame): 7625 * dom/Element.cpp: 7626 (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher): 7627 (WebCore::StyleSelectorParentPusher::push): 7628 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher): 7629 (WebCore::Element::attach): 7630 (WebCore::Element::recalcStyle): 7631 7632 2011-02-05 Nate Chapin <japhet (a] chromium.org> 7633 7634 Reviewed by Adam Barth. 7635 7636 Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext* 7637 when it inherits one from ActiveDOMObject. 7638 https://bugs.webkit.org/show_bug.cgi?id=53815 7639 7640 * bindings/js/JSDesktopNotificationsCustom.cpp: 7641 (WebCore::JSNotificationCenter::requestPermission): 7642 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 7643 (WebCore::V8NotificationCenter::requestPermissionCallback): 7644 * notifications/NotificationCenter.cpp: 7645 (WebCore::NotificationCenter::NotificationCenter): 7646 (WebCore::NotificationCenter::checkPermission): 7647 (WebCore::NotificationCenter::requestPermission): 7648 (WebCore::NotificationCenter::disconnectFrame): 7649 * notifications/NotificationCenter.h: 7650 (WebCore::NotificationCenter::createHTMLNotification): 7651 (WebCore::NotificationCenter::createNotification): 7652 7653 2011-02-04 Adam Barth <abarth (a] webkit.org> 7654 7655 Reviewed by Maciej Stachowiak. 7656 7657 Crash in WebCore::TextEncoding::decode below XSSFilter::init 7658 https://bugs.webkit.org/show_bug.cgi?id=53837 7659 7660 Add missing null check. 7661 7662 Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html 7663 7664 * html/parser/XSSFilter.cpp: 7665 (WebCore::XSSFilter::init): 7666 7667 2011-02-04 Simon Fraser <simon.fraser (a] apple.com> 7668 7669 Reviewed by Dan Bernstein. 7670 7671 Crashes in ShadowBlur via WebKit2 FindController 7672 https://bugs.webkit.org/show_bug.cgi?id=53830 7673 7674 Fix a crash cause by re-entering ShadowBlur, and add assertions to 7675 detect when it happens. 7676 7677 The re-entrancy occurred when drawRectShadowWithTiling() filled 7678 the interior of the shadow with fillRect() on the context 7679 which still had the shadow state set. This would make another ShadowBlur 7680 on the stack and call into the code again, potentially blowing away 7681 the image buffer. 7682 7683 Fix by turning off shadows in the destination context while we're 7684 drawing the tiled shadow. The non-tiled code path already did this. 7685 7686 Not testable because CSS shadows clip out the inside of the rect 7687 being shadowed, and SVG uses fillPath, even for rects. 7688 7689 * platform/graphics/ShadowBlur.cpp: 7690 (WebCore::ScratchBuffer::ScratchBuffer): 7691 (WebCore::ScratchBuffer::getScratchBuffer): 7692 (WebCore::ScratchBuffer::scheduleScratchBufferPurge): 7693 (WebCore::ShadowBlur::ShadowBlur): 7694 (WebCore::ShadowBlur::drawRectShadowWithTiling): 7695 7696 2011-02-04 Carlos Garcia Campos <cgarcia (a] igalia.com> 7697 7698 Reviewed by Martin Robinson. 7699 7700 [GTK] Don't use a fixed size for search field icons 7701 https://bugs.webkit.org/show_bug.cgi?id=50624 7702 7703 Use the parent input content box to make sure the icon fits in the 7704 search field, scaling it down when needed. 7705 7706 * platform/gtk/RenderThemeGtk.cpp: 7707 (WebCore::paintGdkPixbuf): 7708 (WebCore::getIconSizeForPixelSize): 7709 (WebCore::adjustSearchFieldIconStyle): 7710 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): 7711 (WebCore::centerRectVerticallyInParentInputElement): 7712 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 7713 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): 7714 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 7715 (WebCore::RenderThemeGtk::paintCapsLockIndicator): 7716 (WebCore::RenderThemeGtk::paintMediaButton): 7717 7718 2011-02-04 Hironori Bono <hbono (a] chromium.org> 7719 7720 Reviewed by Adam Barth. 7721 7722 [chromium] JPEG corruption 7723 https://bugs.webkit.org/show_bug.cgi?id=53250 7724 7725 Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color 7726 profiles from CMYK to RGB twice and it causes color corruption. This 7727 change suppresses the color profiles for CMYK JPEGs same as gray-scale 7728 ones. 7729 7730 Test: fast/images/cmyk-jpeg-with-color-profile.html 7731 7732 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 7733 (WebCore::JPEGImageReader::decode): 7734 7735 2011-02-04 Xiyuan Xia <xiyuan (a] chromium.org> 7736 7737 Reviewed by Tony Chang. 7738 7739 [Chromium] Option text in select popup does not align with menulist button text 7740 https://bugs.webkit.org/show_bug.cgi?id=53632 7741 7742 This makes clientPaddingLeft and clientPaddingRight return 7743 the additional m_innerBlock's padding so that the popup item text 7744 aligns with the menulist button text. 7745 7746 * rendering/RenderMenuList.cpp: 7747 (WebCore::RenderMenuList::clientPaddingLeft): 7748 (WebCore::RenderMenuList::clientPaddingRight): 7749 7750 2011-02-04 Anders Carlsson <andersca (a] apple.com> 7751 7752 Reviewed by Sam Weinig and Beth Dakin. 7753 7754 REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically 7755 <rdar://problem/8962457> 7756 7757 * platform/ScrollView.cpp: 7758 (WebCore::ScrollView::scrollContents): 7759 Subtract scrollbars from the scroll view rect if overlay scrollers are enabled. 7760 7761 * platform/ScrollableArea.cpp: 7762 (WebCore::ScrollableArea::setScrollOffsetFromAnimation): 7763 Make sure to invalidate both scrollbars if overlay scrollers are enabled. 7764 7765 2011-02-04 Adam Barth <abarth (a] webkit.org> 7766 7767 Reviewed by Eric Seidel. 7768 7769 PluginDocuments don't create widgets for plugins on back/forward 7770 https://bugs.webkit.org/show_bug.cgi?id=53474 7771 7772 Long ago, PluginDocument always caused the HTMLEmbedElement to create 7773 its widget synchronously during a post-layout task. Recently, however, 7774 some changes to the HistroyController caused layout on back/forward to 7775 become slightly more complicated (and added an extra level of recursion 7776 to layout). This extra level of recursion triggered the "I've recursed 7777 too many times" condition in the post-layout task queue, causing the 7778 FrameView to run the remainder of the tasks asynchronously. 7779 Unfortunately, that broke PluginDocument because it needs its the 7780 HTMLEmbedElement's updateWidget task to run synchronously. 7781 7782 This patch adds a mechanism for "kicking off" the pending post-layout 7783 tasks synchronously (instead of waiting for the timer to fire). 7784 PluginDocument then uses that facility to ensure that the 7785 HTMLEmbedElement's updateWidget task happens. 7786 7787 Test: plugins/plugin-document-back-forward.html 7788 7789 * html/PluginDocument.cpp: 7790 (WebCore::PluginDocumentParser::appendBytes): 7791 * page/FrameView.cpp: 7792 (WebCore::FrameView::flushAnyPendingPostLayoutTasks): 7793 * page/FrameView.h: 7794 7795 2011-02-04 Charlie Reis <creis (a] chromium.org> 7796 7797 Reviewed by Mihai Parparita. 7798 7799 Crash in WebCore::HistoryController::itemsAreClones 7800 https://bugs.webkit.org/show_bug.cgi?id=52819 7801 7802 Avoids deleting the current HistoryItem while it is still in use. 7803 Ensures that provisional items are committed for same document navigations. 7804 Ensures that error pages are committed on back/forward navigations. 7805 Also removes unneeded sanity checks used for diagnosing the problem. 7806 7807 * loader/HistoryController.cpp: 7808 * loader/HistoryController.h: 7809 7810 2011-02-04 Carol Szabo <carol.szabo (a] nokia.com> 7811 7812 Reviewed by David Hyatt. 7813 7814 Code Changes. 7815 7816 CSS 2.1 failure: content-* 7817 https://bugs.webkit.org/show_bug.cgi?id=52126 7818 7819 Test: fast/css/counters/content-021.html 7820 7821 * rendering/CounterNode.cpp: 7822 (showCounterTree): 7823 Made parameter const because it is supposed to be so. 7824 * rendering/RenderCounter.cpp: 7825 (WebCore::previousInPreOrder): 7826 (WebCore::previousSiblingOrParent): 7827 (WebCore::parentElement): 7828 (WebCore::areRenderersElementsSiblings): 7829 (WebCore::nextInPreOrder): 7830 Added these local helper functions to help navigate the DOM tree 7831 enriched with :before and :after pseudo elements. 7832 (WebCore::planCounter): 7833 Fixed bug that would create a repeat counter for second and 7834 subsequent renderers associated with the same DOM element. 7835 (WebCore::findPlaceForCounter): 7836 (WebCore::makeCounterNode): 7837 Changed to use the new tree navigation functions described above 7838 instead of the Renderer Tree navigation functions. 7839 (WebCore::RenderCounter::rendererSubtreeAttached): 7840 (WebCore::RenderCounter::rendererStyleChanged): 7841 Optimized to not bother about counters until the renderers are 7842 finally attached. 7843 (showRendererTree): 7844 (showNodeTree): 7845 Debug helper functions used to debug Counter bugs. 7846 7847 2011-02-04 Dan Bernstein <mitz (a] apple.com> 7848 7849 Typo fix. 7850 7851 * html/parser/XSSFilter.cpp: 7852 (WebCore::HTMLNames::containsJavaScriptURL): 7853 7854 2011-02-04 Dan Bernstein <mitz (a] apple.com> 7855 7856 Reviewed by Anders Carlsson. 7857 7858 Make an infinite loop introduced in r77454 finite. 7859 7860 * html/parser/XSSFilter.cpp: 7861 (WebCore::HTMLNames::containsJavaScriptURL): 7862 7863 2011-02-04 Jer Noble <jer.noble (a] apple.com> 7864 7865 Reviewed by Eric Carlson. 7866 7867 Frame accurate seeking isn't always accurate 7868 https://bugs.webkit.org/show_bug.cgi?id=52697 7869 7870 Test: media/video-frame-accurate-seek.html 7871 7872 Make seeking slightly more accurate by rounding instead of truncating 7873 when converting from seconds-in-float to time/timeScale. 7874 7875 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 7876 (WebCore::MediaPlayerPrivateQTKit::createQTTime): 7877 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 7878 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): 7879 * platform/graphics/win/QTMovie.cpp: 7880 (QTMovie::setCurrentTime): 7881 7882 2011-02-04 Jeremy Orlow <jorlow (a] chromium.org> 7883 7884 Reviewed by Nate Chapin. 7885 7886 Second IndexedDB events overhaul patch 7887 https://bugs.webkit.org/show_bug.cgi?id=53813 7888 7889 If an IDBRequest has a IDBTransaction, it should propogate 7890 events through it. In order to do this, IDBRequest needs to 7891 hold a transaction frontend object rather than a backend one. 7892 7893 Test: storage/indexeddb/request-event-propagation.html 7894 7895 * storage/IDBCursor.cpp: 7896 (WebCore::IDBCursor::IDBCursor): 7897 * storage/IDBCursor.h: 7898 (WebCore::IDBCursor::create): 7899 * storage/IDBDatabase.cpp: 7900 (WebCore::IDBDatabase::setSetVersionTransaction): 7901 (WebCore::IDBDatabase::createObjectStore): 7902 (WebCore::IDBDatabase::deleteObjectStore): 7903 * storage/IDBDatabase.h: 7904 * storage/IDBIndex.cpp: 7905 (WebCore::IDBIndex::IDBIndex): 7906 (WebCore::IDBIndex::openCursor): 7907 (WebCore::IDBIndex::openKeyCursor): 7908 (WebCore::IDBIndex::get): 7909 (WebCore::IDBIndex::getKey): 7910 * storage/IDBIndex.h: 7911 (WebCore::IDBIndex::create): 7912 * storage/IDBObjectStore.cpp: 7913 (WebCore::IDBObjectStore::IDBObjectStore): 7914 (WebCore::IDBObjectStore::get): 7915 (WebCore::IDBObjectStore::add): 7916 (WebCore::IDBObjectStore::put): 7917 (WebCore::IDBObjectStore::deleteFunction): 7918 (WebCore::IDBObjectStore::createIndex): 7919 (WebCore::IDBObjectStore::deleteIndex): 7920 (WebCore::IDBObjectStore::openCursor): 7921 * storage/IDBObjectStore.h: 7922 (WebCore::IDBObjectStore::create): 7923 * storage/IDBRequest.cpp: 7924 (WebCore::IDBRequest::create): 7925 (WebCore::IDBRequest::IDBRequest): 7926 (WebCore::IDBRequest::resetReadyState): 7927 (WebCore::IDBRequest::onSuccess): 7928 (WebCore::IDBRequest::dispatchEvent): 7929 * storage/IDBRequest.h: 7930 * storage/IDBTransaction.cpp: 7931 (WebCore::IDBTransaction::IDBTransaction): 7932 (WebCore::IDBTransaction::objectStore): 7933 (WebCore::IDBTransaction::contextDestroyed): 7934 (WebCore::IDBTransaction::enqueueEvent): 7935 * storage/IDBTransaction.h: 7936 * storage/IDBTransaction.idl: 7937 7938 2011-02-04 Jeremy Orlow <jorlow (a] chromium.org> 7939 7940 Reviewed by Nate Chapin. 7941 7942 First step towards event propogation within IndexedDB 7943 https://bugs.webkit.org/show_bug.cgi?id=53795 7944 7945 This is the first step towards implementing 7946 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348 7947 within IndexedDB. I've created a method that knows how 7948 to capture and bubble (based on Node's dispatchGenericEvent). 7949 I've then changed IDBRequest to use it. 7950 7951 The only functional change is that preventDefault now must 7952 be called in error events to prevent the transaction from 7953 being aborted. The tests reflect this change and there's one 7954 specific test to look at this behavior. 7955 7956 Test: storage/indexeddb/error-causes-abort-by-default.html 7957 7958 * storage/IDBAbortEvent.cpp: 7959 (WebCore::IDBAbortEvent::create): 7960 (WebCore::IDBAbortEvent::IDBAbortEvent): 7961 * storage/IDBAbortEvent.h: 7962 * storage/IDBCompleteEvent.cpp: 7963 (WebCore::IDBCompleteEvent::create): 7964 (WebCore::IDBCompleteEvent::IDBCompleteEvent): 7965 * storage/IDBCompleteEvent.h: 7966 * storage/IDBErrorEvent.cpp: 7967 (WebCore::IDBErrorEvent::IDBErrorEvent): 7968 * storage/IDBEvent.cpp: 7969 (WebCore::IDBEvent::IDBEvent): 7970 (WebCore::IDBEvent::dispatch): 7971 * storage/IDBEvent.h: 7972 * storage/IDBRequest.cpp: 7973 (WebCore::IDBRequest::dispatchEvent): 7974 * storage/IDBRequest.h: 7975 * storage/IDBSuccessEvent.cpp: 7976 (WebCore::IDBSuccessEvent::IDBSuccessEvent): 7977 * storage/IDBTransaction.cpp: 7978 (WebCore::IDBTransaction::onAbort): 7979 (WebCore::IDBTransaction::onComplete): 7980 * storage/IDBTransaction.h: 7981 (WebCore::IDBTransaction::backend): 7982 * storage/IDBTransactionBackendImpl.cpp: 7983 (WebCore::IDBTransactionBackendImpl::taskTimerFired): 7984 7985 2011-02-04 Daniel Cheng <dcheng (a] chromium.org> 7986 7987 Reviewed by Dmitry Titov. 7988 7989 Clone WebClipboard to be frame-specific. 7990 https://bugs.webkit.org/show_bug.cgi?id=53727 7991 7992 For drop operations, Chrome currently snapshots the data and copies it 7993 into the renderer process. As we add more supported drag data types, the 7994 copy will become increasingly expensive. Instead, we'd like to snapshot 7995 data in the browser to reduce the amount of data copied and to support 7996 Blob in DataTransferItem. In order to allow this, we associated 7997 WebClipboard with a frame so it can correctly route its IPCs to the 7998 corresponding Chromium host. 7999 8000 No new tests because no new functionality. 8001 8002 * platform/chromium/ChromiumDataObject.cpp: 8003 (WebCore::ChromiumDataObject::createReadable): 8004 * platform/chromium/ChromiumDataObject.h: 8005 * platform/chromium/ClipboardChromium.cpp: 8006 (WebCore::ClipboardChromium::create): 8007 * platform/chromium/PlatformBridge.h: 8008 * platform/chromium/ReadableDataObject.cpp: 8009 (WebCore::ReadableDataObject::create): 8010 (WebCore::ReadableDataObject::ReadableDataObject): 8011 (WebCore::ReadableDataObject::getData): 8012 (WebCore::ReadableDataObject::urlTitle): 8013 (WebCore::ReadableDataObject::htmlBaseUrl): 8014 (WebCore::ReadableDataObject::filenames): 8015 (WebCore::ReadableDataObject::ensureTypeCacheInitialized): 8016 * platform/chromium/ReadableDataObject.h: 8017 8018 2011-02-04 Jeremy Orlow <jorlow (a] chromium.org> 8019 8020 Revert https://bugs.webkit.org/show_bug.cgi?id=53795 8021 8022 * storage/IDBAbortEvent.cpp: 8023 (WebCore::IDBAbortEvent::create): 8024 (WebCore::IDBAbortEvent::IDBAbortEvent): 8025 * storage/IDBAbortEvent.h: 8026 * storage/IDBCompleteEvent.cpp: 8027 (WebCore::IDBCompleteEvent::create): 8028 (WebCore::IDBCompleteEvent::IDBCompleteEvent): 8029 * storage/IDBCompleteEvent.h: 8030 * storage/IDBErrorEvent.cpp: 8031 (WebCore::IDBErrorEvent::IDBErrorEvent): 8032 * storage/IDBEvent.cpp: 8033 (WebCore::IDBEvent::IDBEvent): 8034 * storage/IDBEvent.h: 8035 * storage/IDBRequest.cpp: 8036 (WebCore::IDBRequest::dispatchEvent): 8037 * storage/IDBRequest.h: 8038 * storage/IDBSuccessEvent.cpp: 8039 (WebCore::IDBSuccessEvent::IDBSuccessEvent): 8040 * storage/IDBTransaction.cpp: 8041 (WebCore::IDBTransaction::onAbort): 8042 (WebCore::IDBTransaction::onComplete): 8043 * storage/IDBTransaction.h: 8044 * storage/IDBTransactionBackendImpl.cpp: 8045 (WebCore::IDBTransactionBackendImpl::taskTimerFired): 8046 8047 2011-02-04 Martin Galpin <martin (a] 66laps.com> 8048 8049 Reviewed by David Levin. 8050 8051 CORS origin header not set on GET when a preflight request is required. 8052 https://bugs.webkit.org/show_bug.cgi?id=50773 8053 8054 Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html 8055 8056 * loader/DocumentThreadableLoader.cpp: 8057 (WebCore::DocumentThreadableLoader::preflightSuccess): 8058 Explicitly set the request origin after a preflight request succeeds. 8059 8060 2011-02-04 Jeremy Orlow <jorlow (a] chromium.org> 8061 8062 Reviewed by Nate Chapin. 8063 8064 First step towards event propogation within IndexedDB 8065 https://bugs.webkit.org/show_bug.cgi?id=53795 8066 8067 This is the first step towards implementing 8068 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348 8069 within IndexedDB. I've created a method that knows how 8070 to capture and bubble (based on Node's dispatchGenericEvent). 8071 I've then changed IDBRequest to use it. 8072 8073 The only functional change is that preventDefault now must 8074 be called in error events to prevent the transaction from 8075 being aborted. The tests reflect this change and there's one 8076 specific test to look at this behavior. 8077 8078 Test: storage/indexeddb/error-causes-abort-by-default.html 8079 8080 * storage/IDBAbortEvent.cpp: 8081 (WebCore::IDBAbortEvent::create): 8082 (WebCore::IDBAbortEvent::IDBAbortEvent): 8083 * storage/IDBAbortEvent.h: 8084 * storage/IDBCompleteEvent.cpp: 8085 (WebCore::IDBCompleteEvent::create): 8086 (WebCore::IDBCompleteEvent::IDBCompleteEvent): 8087 * storage/IDBCompleteEvent.h: 8088 * storage/IDBErrorEvent.cpp: 8089 (WebCore::IDBErrorEvent::IDBErrorEvent): 8090 * storage/IDBEvent.cpp: 8091 (WebCore::IDBEvent::IDBEvent): 8092 (WebCore::IDBEvent::dispatch): 8093 * storage/IDBEvent.h: 8094 * storage/IDBRequest.cpp: 8095 (WebCore::IDBRequest::dispatchEvent): 8096 * storage/IDBRequest.h: 8097 * storage/IDBSuccessEvent.cpp: 8098 (WebCore::IDBSuccessEvent::IDBSuccessEvent): 8099 * storage/IDBTransaction.cpp: 8100 (WebCore::IDBTransaction::onAbort): 8101 (WebCore::IDBTransaction::onComplete): 8102 * storage/IDBTransaction.h: 8103 (WebCore::IDBTransaction::backend): 8104 * storage/IDBTransactionBackendImpl.cpp: 8105 (WebCore::IDBTransactionBackendImpl::taskTimerFired): 8106 8107 2011-02-04 Dimitri Glazkov <dglazkov (a] chromium.org> 8108 8109 Reviewed by Csaba Osztrogonc. 8110 8111 [Qt]REGRESSION(r76951): media/controls-without-preload.html fails 8112 https://bugs.webkit.org/show_bug.cgi?id=53674 8113 8114 * css/mediaControlsQt.css: 8115 8116 2011-02-04 Dan Bernstein <mitz (a] apple.com> 8117 8118 Reviewed by Darin Adler and Dave Hyatt. 8119 8120 <rdar://problem/8902704> Make ruby text size 50% by default 8121 https://bugs.webkit.org/show_bug.cgi?id=53723 8122 8123 * css/html.css: 8124 (ruby > rt): Changed the font-size from 60% to 50%. 8125 8126 2011-02-04 Antti Koivisto <antti (a] apple.com> 8127 8128 Reviewed by Dimitri Glazkov. 8129 8130 https://bugs.webkit.org/show_bug.cgi?id=53610 8131 Regression: adjacent sibling selector not working as expected 8132 <rdar://problem/8960033> 8133 8134 https://bugs.webkit.org/show_bug.cgi?id=53574 8135 REGRESSION (r76012): :last-child:after not working as expected 8136 <rdar://problem/8948643> 8137 8138 Test for additional conditions in parent style that prevent sharing. 8139 8140 Tests: fast/selectors/style-sharing-adjacent-selector.html 8141 fast/selectors/style-sharing-last-child.html 8142 8143 * css/CSSStyleSelector.cpp: 8144 (WebCore::parentStylePreventsSharing): 8145 (WebCore::CSSStyleSelector::locateSharedStyle): 8146 8147 2011-02-04 Mark Mentovai <mark (a] chromium.org> 8148 8149 Reviewed by Dimitri Glazkov. 8150 8151 Chromium GYP build fix. 8152 8153 When various settings were moved to webcore_prerequisites in r66364, 8154 things that should have been direct_dependent_settings were not marked 8155 as such. GYP 'defines', for example, make no sense on a 'none'-type 8156 target such as webcore_prerequisites. It appears that it was intended 8157 for these settings to be pushed to direct dependents, which would make 8158 direct_dependent_settings correct. 8159 8160 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused 8161 http://crbug.com/71537, which at best causes Mac console log spew, and 8162 at worst may result in Chromium's copy of WebCore using system 8163 definitions of certain Objective-C classes at runtime, or vice-versa. 8164 8165 The build now includes a postbuild step to prevent 8166 http://crbug.com/71537 from regressing again. The build will fail upon 8167 regression. 8168 8169 https://bugs.webkit.org/show_bug.cgi?id=53630 8170 8171 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into 8172 direct_dependent_settings as needed, add the check_objc_rename 8173 postbuild step. 8174 * WebCore.gyp/mac/check_objc_rename.sh: Added. 8175 8176 2011-02-04 Robert Hogan <robert (a] webkit.org> 8177 8178 Reviewed by Darin Fisher. 8179 8180 Move chromium iframe shim code to cross-platform file 8181 https://bugs.webkit.org/show_bug.cgi?id=52594 8182 8183 Move Chromium code for identifying and cutting out 8184 iframe shims from plugins to cross-platform utility file 8185 IFrameShimSupport.cpp. 8186 Amend PluginViewQt to use this code to handle shims correctly. 8187 8188 * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp 8189 * WebCore.pro: Add Qt support for IFrameShimSupport.cpp 8190 * plugins/IFrameShimSupport.cpp: Added. 8191 (WebCore::getObjectStack): 8192 (WebCore::iframeIsAbovePlugin): 8193 (WebCore::getPluginOcclusions): 8194 * plugins/IFframeShimSupport.h: Added. 8195 * plugins/qt/PluginViewQt.cpp: 8196 (WebCore::PluginView::setNPWindowIfNeeded): 8197 8198 2011-02-04 Xiaomei Ji <xji (a] chromium.org> 8199 8200 Reviewed by David Levin. 8201 8202 Implement "<option> should implement the dir attribute" for chromium port after r76983. 8203 https://bugs.webkit.org/show_bug.cgi?id=50969 8204 8205 Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html 8206 added in r76983. 8207 8208 * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from 8209 <select> drop-down setting. 8210 (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint 8211 items in drop-down and pass-in bidi override flag when creating text run. 8212 * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from 8213 PopupContainerSettings. 8214 8215 2011-02-04 Jeremy Orlow <jorlow (a] chromium.org> 8216 8217 Build fix from merge mistake. 8218 8219 * storage/IDBTransaction.cpp: 8220 (WebCore::IDBTransaction::ensureEventTargetData): 8221 8222 2011-02-04 Levi Weintraub <leviw (a] chromium.org> 8223 8224 Reviewed by Darin Adler. 8225 8226 Remove unneeded function declarations in comments in EditorClient.h 8227 https://bugs.webkit.org/show_bug.cgi?id=53745 8228 8229 Removing unused commented out function declarations. No tests since this is just cleanup. 8230 8231 * page/EditorClient.h: 8232 8233 2011-02-03 Jeremy Orlow <jorlow (a] chromium.org> 8234 8235 Reviewed by Nate Chapin. 8236 8237 Refactor IDBRequest and IDBTransaction a bit 8238 https://bugs.webkit.org/show_bug.cgi?id=53565 8239 8240 There were a lot of subtle issues with the way IDBTransaction 8241 and IDBRequest used to be written. This cleans a lot of them up 8242 and largely simplifies the logic. Using EventQueue rather than 8243 timers is one example of the simplification. 8244 8245 * bindings/scripts/CodeGeneratorV8.pm: 8246 * dom/EventQueue.cpp: 8247 (WebCore::EventQueue::enqueueEvent): 8248 (WebCore::EventQueue::dispatchEvent): 8249 * storage/IDBCursor.cpp: 8250 (WebCore::IDBCursor::continueFunction): 8251 * storage/IDBRequest.cpp: 8252 (WebCore::IDBRequest::create): 8253 (WebCore::IDBRequest::IDBRequest): 8254 (WebCore::IDBRequest::resetReadyState): 8255 (WebCore::IDBRequest::onError): 8256 (WebCore::IDBRequest::onSuccess): 8257 (WebCore::IDBRequest::dispatchEvent): 8258 (WebCore::IDBRequest::enqueueEvent): 8259 (WebCore::IDBRequest::eventTargetData): 8260 (WebCore::IDBRequest::ensureEventTargetData): 8261 * storage/IDBRequest.h: 8262 (WebCore::IDBRequest::dispatchEvent): 8263 * storage/IDBTransaction.cpp: 8264 (WebCore::IDBTransaction::create): 8265 (WebCore::IDBTransaction::IDBTransaction): 8266 (WebCore::IDBTransaction::objectStore): 8267 (WebCore::IDBTransaction::abort): 8268 (WebCore::IDBTransaction::onAbort): 8269 (WebCore::IDBTransaction::onComplete): 8270 (WebCore::IDBTransaction::onTimeout): 8271 (WebCore::IDBTransaction::canSuspend): 8272 (WebCore::IDBTransaction::stop): 8273 (WebCore::IDBTransaction::enqueueEvent): 8274 (WebCore::IDBTransaction::eventTargetData): 8275 (WebCore::IDBTransaction::ensureEventTargetData): 8276 * storage/IDBTransaction.h: 8277 8278 2011-02-01 Jeremy Orlow <jorlow (a] chromium.org> 8279 8280 Reviewed by Nate Chapin. 8281 8282 Remove the timeout event from IndexedDB 8283 https://bugs.webkit.org/show_bug.cgi?id=53521 8284 8285 Remove timeout and ontimeout from IDBTransaction per the spec. 8286 8287 * WebCore.gypi: 8288 * storage/IDBDatabase.cpp: 8289 (WebCore::IDBDatabase::transaction): 8290 * storage/IDBDatabase.h: 8291 (WebCore::IDBDatabase::transaction): 8292 * storage/IDBDatabase.idl: 8293 * storage/IDBDatabaseBackendImpl.cpp: 8294 (WebCore::IDBDatabaseBackendImpl::setVersion): 8295 (WebCore::IDBDatabaseBackendImpl::transaction): 8296 * storage/IDBDatabaseBackendImpl.h: 8297 * storage/IDBDatabaseBackendInterface.h: 8298 * storage/IDBTimeoutEvent.cpp: Removed. 8299 * storage/IDBTimeoutEvent.h: Removed. 8300 * storage/IDBTransaction.cpp: 8301 (WebCore::IDBTransaction::IDBTransaction): 8302 (WebCore::IDBTransaction::onAbort): 8303 (WebCore::IDBTransaction::onComplete): 8304 * storage/IDBTransaction.h: 8305 * storage/IDBTransaction.idl: 8306 * storage/IDBTransactionBackendImpl.cpp: 8307 (WebCore::IDBTransactionBackendImpl::create): 8308 (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): 8309 * storage/IDBTransactionBackendImpl.h: 8310 * storage/IDBTransactionCallbacks.h: 8311 8312 2011-02-04 Chris Fleizach <cfleizach (a] apple.com> 8313 8314 Reviewed by Darin Adler. 8315 8316 AX: Can't set accessibility overridden attributes on web objects 8317 https://bugs.webkit.org/show_bug.cgi?id=53725 8318 8319 accessibilitySetOverriddenValue does not work on AX objects from WebCore because 8320 the right method needed to be overridden (accessibilitySupportsOverriddenAttributes). 8321 Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden 8322 attribute only when an AX client asks for it through the AX frameworks. 8323 8324 * accessibility/mac/AccessibilityObjectWrapper.mm: 8325 (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]): 8326 8327 2011-02-03 Dimitri Glazkov <dglazkov (a] chromium.org> 8328 8329 Reviewed by Kent Tamura. 8330 8331 REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track. 8332 https://bugs.webkit.org/show_bug.cgi?id=53691 8333 8334 Test: fast/repaint/slider-thumb-drag-release.html 8335 8336 * html/shadow/SliderThumbElement.cpp: 8337 (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure 8338 that the thumb is repainted. 8339 8340 2011-02-04 Mikhail Naganov <mnaganov (a] chromium.org> 8341 8342 Reviewed by Pavel Feldman. 8343 8344 Web Inspector: Add "show more" data grid node and waiting message UI components. 8345 https://bugs.webkit.org/show_bug.cgi?id=53763 8346 8347 - "show more" data grid node is used for on-demand population of 8348 data grid contents (similar to DOM tree capability for limiting 8349 displayed nodes count); 8350 8351 - waiting message is used for informing user about long lasting 8352 operations (with a possibility to cancel them). 8353 8354 * English.lproj/localizedStrings.js: 8355 * WebCore.gypi: 8356 * WebCore.vcproj/WebCore.vcproj: 8357 * inspector/front-end/PleaseWaitMessage.js: Added. 8358 (WebInspector.PleaseWaitMessage): 8359 * inspector/front-end/ShowMoreDataGridNode.js: Added. 8360 (WebInspector.ShowMoreDataGridNode): 8361 * inspector/front-end/WebKit.qrc: 8362 * inspector/front-end/inspector.css: 8363 (.data-grid button): 8364 (.please-wait-msg): 8365 * inspector/front-end/inspector.html: 8366 8367 2011-02-04 Adele Peterson <adele (a] apple.com> 8368 8369 Reviewed by Dan Bernstein. 8370 8371 Fix for https://bugs.webkit.org/show_bug.cgi?id=53740 8372 <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused 8373 8374 Tests: 8375 fast/forms/textarea-placeholder-visibility-1.html 8376 fast/forms/textarea-placeholder-visibility-2.html 8377 fast/forms/input-placeholder-visibility-1.html 8378 fast/forms/input-placeholder-visibility-2.html 8379 fast/forms/input-placeholder-visibility-3.html 8380 8381 * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): 8382 Add a check for shouldShowPlaceholderWhenFocused. 8383 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue): 8384 Whenever the value is updated, we should also update placeholder visibility. 8385 * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused): 8386 Make the default the same as the existing behavior. 8387 * rendering/RenderThemeMac.h: 8388 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused): 8389 Show placeholder when appropriate. 8390 8391 2011-02-04 Pavel Podivilov <podivilov (a] chromium.org> 8392 8393 Reviewed by Pavel Feldman. 8394 8395 Web Inspector: evaluate on hover does not work on a breakpoint. 8396 https://bugs.webkit.org/show_bug.cgi?id=53768 8397 8398 * inspector/front-end/SourceFrame.js: 8399 (WebInspector.SourceFrame.prototype._mouseHover): 8400 8401 2011-02-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 8402 8403 Unreviewed, rolling out r77625 and r77626. 8404 http://trac.webkit.org/changeset/77625 8405 http://trac.webkit.org/changeset/77626 8406 https://bugs.webkit.org/show_bug.cgi?id=53765 8407 8408 It broke Windows builds (Requested by Ossy_ on #webkit). 8409 8410 * Android.jscbindings.mk: 8411 * CMakeLists.txt: 8412 * ForwardingHeaders/pcre/pcre.h: Added. 8413 * ForwardingHeaders/yarr/Yarr.h: Removed. 8414 * ForwardingHeaders/yarr/YarrInterpreter.h: Removed. 8415 * ForwardingHeaders/yarr/YarrPattern.h: Removed. 8416 * WebCore.gyp/WebCore.gyp: 8417 * WebCore.pro: 8418 * WebCore.vcproj/WebCore.vcproj: 8419 * WebCore.vcproj/copyForwardingHeaders.cmd: 8420 * platform/text/RegularExpression.cpp: 8421 (WebCore::RegularExpression::Private::regexp): 8422 (WebCore::RegularExpression::Private::compile): 8423 (WebCore::RegularExpression::Private::Private): 8424 (WebCore::RegularExpression::Private::create): 8425 (WebCore::RegularExpression::Private::~Private): 8426 (WebCore::RegularExpression::match): 8427 8428 2011-02-04 Peter Varga <pvarga (a] webkit.org> 8429 8430 Rubber-stamped by Csaba Osztrogonc. 8431 8432 Replace PCRE with Yarr in WebCore 8433 https://bugs.webkit.org/show_bug.cgi?id=53496 8434 8435 Speculative windows build fix. 8436 8437 No new tests needed. 8438 8439 * platform/text/RegularExpression.cpp: 8440 8441 2011-02-04 Peter Varga <pvarga (a] webkit.org> 8442 8443 8444 Reviewed by Gavin Barraclough. 8445 8446 Replace PCRE with Yarr in WebCore 8447 https://bugs.webkit.org/show_bug.cgi?id=53496 8448 8449 No new tests needed. 8450 8451 * Android.jscbindings.mk: 8452 * CMakeLists.txt: 8453 * ForwardingHeaders/pcre/pcre.h: Removed. 8454 * ForwardingHeaders/yarr/Yarr.h: Added. 8455 * ForwardingHeaders/yarr/YarrInterpreter.h: Added. 8456 * ForwardingHeaders/yarr/YarrPattern.h: Added. 8457 * WebCore.gyp/WebCore.gyp: 8458 * WebCore.pro: 8459 * WebCore.vcproj/WebCore.vcproj: 8460 * WebCore.vcproj/copyForwardingHeaders.cmd: 8461 * platform/text/RegularExpression.cpp: 8462 (WebCore::RegularExpression::Private::create): 8463 (WebCore::RegularExpression::Private::Private): 8464 (WebCore::RegularExpression::Private::compile): 8465 (WebCore::RegularExpression::match): 8466 8467 2011-02-04 Pavel Feldman <pfeldman (a] chromium.org> 8468 8469 Reviewed by Yury Semikhatsky. 8470 8471 Web Inspector: Network panel filtering is broken. 8472 https://bugs.webkit.org/show_bug.cgi?id=53764 8473 8474 * inspector/front-end/NetworkPanel.js: 8475 (WebInspector.NetworkPanel.prototype._sortItems): 8476 (WebInspector.NetworkPanel.prototype._sortByTimeline): 8477 (WebInspector.NetworkPanel.prototype._filter): 8478 (WebInspector.NetworkPanel.prototype._updateOffscreenRows): 8479 (WebInspector.NetworkDataGridNode.prototype.isFilteredOut): 8480 (WebInspector.NetworkDataGridNode.prototype.get selectable): 8481 (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut): 8482 (WebInspector.NetworkTotalGridNode.prototype.get selectable): 8483 8484 2011-02-04 Andrey Kosyakov <caseq (a] chromium.org> 8485 8486 Reviewed by Pavel Feldman. 8487 8488 Web Inspector: support overriding user agent strings 8489 https://bugs.webkit.org/show_bug.cgi?id=51485 8490 8491 Test: http/tests/inspector/extensions-useragent.html 8492 8493 * inspector/Inspector.idl: 8494 * inspector/InspectorController.cpp: 8495 (WebCore::InspectorController::disconnectFrontend): 8496 (WebCore::InspectorController::setUserAgentOverride): 8497 (WebCore::InspectorController::userAgentOverride): 8498 * inspector/InspectorController.h: 8499 * inspector/front-end/ExtensionAPI.js: 8500 (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload): 8501 * inspector/front-end/ExtensionServer.js: 8502 (WebInspector.ExtensionServer.prototype._onReload): 8503 * loader/FrameLoader.cpp: 8504 (WebCore::FrameLoader::userAgent): 8505 (WebCore::FrameLoader::applyUserAgent): 8506 8507 2011-02-04 Pavel Podivilov <podivilov (a] chromium.org> 8508 8509 Reviewed by Pavel Feldman. 8510 8511 Web Inspector: scripts panel displays wrong file name after reload. 8512 https://bugs.webkit.org/show_bug.cgi?id=53761 8513 8514 * inspector/front-end/ScriptsPanel.js: 8515 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 8516 8517 2011-02-03 Yury Semikhatsky <yurys (a] chromium.org> 8518 8519 Reviewed by Pavel Feldman. 8520 8521 Web Inspector: remove settings related methods from InspectorClient 8522 https://bugs.webkit.org/show_bug.cgi?id=53686 8523 8524 * WebCore.exp.in: 8525 * inspector/CodeGeneratorInspector.pm: 8526 * inspector/InspectorClient.h: 8527 * inspector/InspectorFrontendClientLocal.cpp: 8528 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): 8529 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): 8530 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): 8531 * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can 8532 provide platform-specific settings accessor. 8533 (WebCore::InspectorFrontendClientLocal::Settings::Settings): 8534 (WebCore::InspectorFrontendClientLocal::Settings::~Settings): 8535 (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight): 8536 (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight): 8537 * loader/EmptyClients.h: 8538 8539 2011-02-03 Anton Muhin <antonm (a] chromium.org> 8540 8541 Reviewed by Adam Barth. 8542 8543 [v8] frame several more JS code invocations into v8::TryCatch 8544 https://bugs.webkit.org/show_bug.cgi?id=53594 8545 8546 This patch is preemptive and adjusts v8 bindings code to forthcoming small change 8547 in v8::ThrowException---currently sometimes exceptions thrown by this method 8548 do not reach surrounding v8::TryCatch handler (see 8549 http://code.google.com/p/v8/issues/detail?id=1072 and 8550 http://codereview.chromium.org/6397011/). Therefore the goal of this patch 8551 is to make forthcoming v8 roll as smooth as possible (alas, we'll still need 8552 one rebaseline as of now.) 8553 8554 * bindings/v8/V8Proxy.cpp: 8555 (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead 8556 * bindings/v8/V8WindowErrorHandler.cpp: 8557 (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto 8558 8559 2011-02-03 Maciej Stachowiak <mjs (a] apple.com> 8560 8561 Reviewed by Dan Bernstein. 8562 8563 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle 8564 https://bugs.webkit.org/show_bug.cgi?id=52897 8565 <rdar://problem/8898294> 8566 8567 * WebCore.exp.in: Add export now needed by WebKit2 8568 8569 2011-02-03 Victoria Kirst <vrk (a] google.com> 8570 8571 Reviewed by James Robinson. 8572 8573 Replaces float literals with uniform values in shader code 8574 so that buggy drivers unable to parse float values in different 8575 locales will not produce a pink video. 8576 8577 [chromium] Fix pink video bug with gpu-acceleration enabled 8578 https://bugs.webkit.org/show_bug.cgi?id=53568 8579 8580 * platform/graphics/chromium/VideoLayerChromium.cpp: 8581 (WebCore::VideoLayerChromium::SharedValues::SharedValues): 8582 (WebCore::VideoLayerChromium::drawYUV): 8583 * platform/graphics/chromium/VideoLayerChromium.h: 8584 (WebCore::VideoLayerChromium::SharedValues::signAdjLocation): 8585 8586 2011-02-03 James Kozianski <koz (a] chromium.org> 8587 8588 Reviewed by Dimitri Glazkov. 8589 8590 Add navigator.registerProtocolHandler behind a flag. 8591 https://bugs.webkit.org/show_bug.cgi?id=52609 8592 8593 This method is described in the HTML5 specification here, 8594 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler 8595 8596 This change is largely cribbed from B. Green's 29651 patches. It is 8597 behind a flag so as not to break JS feature detection. 8598 8599 New layout test fast/dom/registerProtocolHandler.html. 8600 8601 * Configurations/FeatureDefines.xcconfig: 8602 * loader/EmptyClients.h: 8603 (WebCore::EmptyChromeClient::registerProtocolHandler): 8604 * page/Chrome.cpp: 8605 (WebCore::Chrome::registerProtocolHandler): 8606 * page/Chrome.h: 8607 * page/ChromeClient.h: 8608 * page/Navigator.cpp: 8609 (WebCore::verifyCustomHandlerURL): 8610 (WebCore::verifyProtocolHandlerScheme): 8611 (WebCore::Navigator::registerProtocolHandler): 8612 * page/Navigator.h: 8613 * page/Navigator.idl: 8614 8615 2011-02-03 Brian Ryner <bryner (a] chromium.org> 8616 8617 Reviewed by Darin Fisher. 8618 8619 Add a field to the ResourceResponse for tracking the socket address 8620 of the host that the resource was fetched from. Patch was originally 8621 by Paul Marks. 8622 https://bugs.webkit.org/show_bug.cgi?id=53699 8623 8624 * platform/network/chromium/ResourceResponse.cpp: 8625 (WebCore::ResourceResponse::doPlatformCopyData): 8626 (WebCore::ResourceResponse::doPlatformAdopt): 8627 * platform/network/chromium/ResourceResponse.h: 8628 (WebCore::ResourceResponse::socketAddress): 8629 (WebCore::ResourceResponse::setSocketAddress): 8630 8631 2011-02-03 Adam Langley <agl (a] chromium.org> 8632 8633 Reviewed by Adam Barth. 8634 8635 Plumb mixed script URL to FrameLoaderClient 8636 https://bugs.webkit.org/show_bug.cgi?id=52384 8637 8638 Regressions covered by http/tests/security/mixedContent/* 8639 8640 * loader/EmptyClients.h: 8641 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent): 8642 * loader/FrameLoader.cpp: 8643 (WebCore::FrameLoader::checkIfRunInsecureContent): 8644 * loader/FrameLoaderClient.h: 8645 8646 2011-02-03 Simon Fraser <simon.fraser (a] apple.com> 8647 8648 Reviewed by Dan Bernstein. 8649 8650 REGRESSION: Artifacts on box-shadow corners in some cases 8651 https://bugs.webkit.org/show_bug.cgi?id=53731 8652 8653 Fix overdrawing artifacts in ShadowBlur's tiling code path, 8654 which show up in shadows using a color with alpha. 8655 8656 Test: fast/box-shadow/shadow-tiling-artifact.html 8657 8658 * platform/graphics/ShadowBlur.cpp: 8659 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure 8660 that the inner rect that gets filled does not overlap with any 8661 of the eight tiled areas by having the corner and side dimensions 8662 be the same for contiguous areas. 8663 8664 2011-02-03 Adam Barth <abarth (a] webkit.org> 8665 8666 Reviewed by Alexey Proskuryakov. 8667 8668 XSS Auditor is spinning inside decodeURLEscapeSequences() if there are 8669 percent signs in large posted data 8670 https://bugs.webkit.org/show_bug.cgi?id=53405 8671 8672 If the input string contains many non-% characters followed by a % 8673 character that is not a valid URL escape sequence, then the old 8674 algorithm would only advance the initial search by one character 8675 (instead of jumping to just after the % character). That would cause 8676 the algorithm to take N^2 time (in the number of characters before the 8677 first % character). This patch just advances the search past the first 8678 % character so we can start looking for next % character sooner. 8679 8680 * platform/KURL.cpp: 8681 (WebCore::decodeURLEscapeSequences): 8682 8683 2011-02-03 Pavel Podivilov <podivilov (a] chromium.org> 8684 8685 Reviewed by Pavel Feldman. 8686 8687 Web Inspector: click on a breakpoint highlights wrong line in source frame. 8688 https://bugs.webkit.org/show_bug.cgi?id=53692 8689 8690 * inspector/front-end/BreakpointsSidebarPane.js: 8691 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement): 8692 8693 2011-02-03 Anton Muhin <antonm (a] chromium.org> 8694 8695 Reviewed by Adam Barth. 8696 8697 [v8] Bail out if to string conversion returned empty handle 8698 https://bugs.webkit.org/show_bug.cgi?id=53687 8699 8700 This a temporary measure: actually one probably should never get empty handle 8701 if there was no exception. The root cause is under investigation. 8702 The bailout though allows Chromium not to crash---attempt to convert an empty 8703 v8 hande into WebCore string crashes with invalid memory access. 8704 8705 See http://code.google.com/p/chromium/issues/detail?id=71544 8706 8707 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools. 8708 8709 * bindings/v8/V8Binding.cpp: 8710 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle 8711 * bindings/v8/V8Binding.h: 8712 (WebCore::V8ParameterBase::prepareBase): Ditto 8713 8714 2011-02-03 Adam Barth <abarth (a] webkit.org> 8715 8716 Attempt to fix Chromium build. 8717 8718 * html/parser/XSSFilter.cpp: 8719 8720 2011-02-03 Dirk Pranke <dpranke (a] chromium.org> 8721 8722 Unreviewed, rolling out r77562. 8723 http://trac.webkit.org/changeset/77562 8724 https://bugs.webkit.org/show_bug.cgi?id=53630 8725 8726 broke chromium mac build 8727 8728 * WebCore.gyp/WebCore.gyp: 8729 * WebCore.gyp/mac/check_objc_rename.sh: Removed. 8730 8731 2011-02-03 Adam Barth <abarth (a] webkit.org> 8732 8733 Reviewed by Daniel Bates. 8734 8735 XSS Auditor severely affects loading performance after submitting a large form 8736 https://bugs.webkit.org/show_bug.cgi?id=49845 8737 8738 Switch over from the XSSAuditor to the XSSFilter, improving performance 8739 on this example. 8740 8741 * html/parser/XSSFilter.cpp: 8742 (WebCore::XSSFilter::filterToken): 8743 * page/XSSAuditor.cpp: 8744 (WebCore::XSSAuditor::isEnabled): 8745 8746 2011-02-03 Dirk Pranke <dpranke (a] chromium.org> 8747 8748 Unreviewed, rolling out r77567. 8749 http://trac.webkit.org/changeset/77567 8750 https://bugs.webkit.org/show_bug.cgi?id=53468 8751 8752 broke chromium linux svg, canvas tests, possibly win also? 8753 8754 * platform/graphics/skia/ImageBufferSkia.cpp: 8755 (WebCore::getImageData): 8756 (WebCore::ImageBuffer::getUnmultipliedImageData): 8757 (WebCore::ImageBuffer::getPremultipliedImageData): 8758 (WebCore::putImageData): 8759 (WebCore::ImageBuffer::putUnmultipliedImageData): 8760 (WebCore::ImageBuffer::putPremultipliedImageData): 8761 8762 2011-02-02 MORITA Hajime <morrita (a] google.com> 8763 8764 Reviewed by Dimitri Glazkov. 8765 8766 Refactoring: <progress> should not use ShadowElement 8767 https://bugs.webkit.org/show_bug.cgi?id=53583 8768 8769 - Introduced RenderIndicatorPart and RenderProgressBarValuePart 8770 to be responsible for bar-part layout, 8771 which adopted layout logic from ShadowBlockElement. 8772 - ProgressBarValueElement is no longer a subclass of ShadowBlockElement. 8773 - Remove dependency from RenderProgress to HTMLProgressElement and 8774 ShadowBlockElement. 8775 - The shadow tree is no longer removed on detach(). It becomes persistent. 8776 This is now possible because the ShadowBlockElement dependency is gone. 8777 - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred. 8778 That didn't make sense. 8779 8780 * html/HTMLProgressElement.cpp: 8781 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): 8782 * html/HTMLProgressElement.h: 8783 * html/shadow/ProgressBarValueElement.h: Added. 8784 (WebCore::ProgressBarValueElement::ProgressBarValueElement): 8785 (WebCore::ProgressBarValueElement::shadowPseudoId): 8786 (WebCore::ProgressBarValueElement::createRenderer): 8787 (WebCore::ProgressBarValueElement::create): 8788 * rendering/RenderIndicator.cpp: 8789 (WebCore::RenderIndicatorPart::RenderIndicatorPart): 8790 (WebCore::RenderIndicatorPart::~RenderIndicatorPart): 8791 (WebCore::RenderIndicatorPart::layout): 8792 (WebCore::RenderIndicatorPart::styleDidChange): 8793 * rendering/RenderIndicator.h: Added RenderIndicatorPart class 8794 (WebCore::RenderIndicatorPart::originalVisibility): 8795 (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation): 8796 (WebCore::RenderIndicatorPart::canHaveChildren): 8797 * rendering/RenderProgress.cpp: 8798 (WebCore::RenderProgressBarValuePart::preferredFrameRect): 8799 (WebCore::RenderProgressBarValuePart::shouldBeHidden): 8800 (WebCore::RenderProgress::updateFromElement): 8801 (WebCore::RenderProgress::layoutParts): 8802 (WebCore::RenderProgress::shouldHaveParts): 8803 * rendering/RenderProgress.h: 8804 (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart): 8805 8806 2011-02-03 Jia Pu <jpu (a] apple.com> 8807 8808 Reversion should not be marked as misspelled. 8809 https://bugs.webkit.org/show_bug.cgi?id=53255 8810 8811 This patch includes fix for reported bug, and also some housekeeping changes. 8812 8813 To implement desired behavior, we need: 8814 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text 8815 that shouldn't be spellchecked and text shouldn't be autocorrected. 8816 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges(). 8817 Otherwise the spell checking code in that function may interfere with autocorrection. This 8818 is achieved by explicitly applying pending correction when user types space, line break or 8819 paragraph break. 8820 8821 Housekeeping code changes include: 8822 1. Change manual-tests that were broken by relocated WebCore directory. 8823 2. Use TextIterator in various DocumentMarkerController functions instead of using 8824 Node::traverseNextNode() directly. 8825 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and 8826 DocumentMarkerController::hasMarkers() to improve clarity and efficiency. 8827 4. Fixes of minor bugs that were exposed previously. 8828 8829 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers(). 8830 8831 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption. 8832 8833 * dom/DocumentMarkerController.cpp: 8834 (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be 8835 consistent with addMarker() function. Allow passing in multiple marker types in one call. 8836 Added a boolean argument to specify the behavior when removing markers that partially 8837 overlap the specified range. 8838 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in 8839 multiple marker types in one call. 8840 (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be 8841 consistent with addMarker() function. Allow passing in multiple marker types in one call. 8842 8843 * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers() 8844 and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when 8845 removing markers that partially overlap the specified range. 8846 8847 * editing/Editor.cpp: 8848 (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction. 8849 (WebCore::markerTypesForReplacement): Ditto. 8850 (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and 8851 setSelection() to make sure there is no pending correction when entering 8852 markAllMisspellingsAndBadGrammarInRanges(). 8853 (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command 8854 is a top level command to improve efficiency. 8855 (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction. 8856 (WebCore::Editor::insertLineBreak): Ditto. 8857 (WebCore::Editor::insertParagraphSeparator): Ditto. 8858 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the 8859 text carries SpellCheckingExemption marker. 8860 (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion 8861 from spellchecker is an empty string. 8862 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): 8863 Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve 8864 efficiency and readability. 8865 (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after 8866 applying correction, since it's unnecessary. Also, store pre-correction string together with 8867 the marker for reversion panel to use. 8868 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction. 8869 (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing() 8870 where we have access to EditCommand object. 8871 8872 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate(). 8873 8874 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that 8875 were broken by relocated WebCore directory. 8876 8877 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto. 8878 8879 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto. 8880 8881 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto. 8882 8883 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto. 8884 8885 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto. 8886 8887 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto. 8888 8889 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto. 8890 8891 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto. 8892 8893 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added. 8894 8895 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that 8896 were broken by relocated WebCore directory. 8897 8898 * rendering/InlineTextBox.cpp: 8899 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise. 8900 8901 2011-02-03 Abhishek Arya <inferno (a] chromium.org> 8902 8903 Unreviewed, qt build fix. 8904 8905 * rendering/RenderBlock.cpp: 8906 (WebCore::RenderBlock::removeFloatingObject): 8907 8908 2011-02-03 Brian Salomon <bsalomon (a] google.com> 8909 8910 Reviewed by James Robinson. 8911 8912 Handle non-raster backed images in getUnmultipliedImageData() 8913 https://bugs.webkit.org/show_bug.cgi?id=53468 8914 8915 No new tests. Existing canvas tests sufficient 8916 LayoutTests/canvas/philip/... 8917 8918 * platform/graphics/skia/ImageBufferSkia.cpp: 8919 (WebCore::getImageData): 8920 (WebCore::ImageBuffer::getUnmultipliedImageData): 8921 (WebCore::ImageBuffer::getPremultipliedImageData): 8922 (WebCore::putImageData): 8923 (WebCore::ImageBuffer::putUnmultipliedImageData): 8924 (WebCore::ImageBuffer::putPremultipliedImageData): 8925 8926 2011-02-03 Abhishek Arya <inferno (a] chromium.org> 8927 8928 Reviewed by James Robinson. 8929 8930 Enforce more limits on root inline boxes height calculations. 8931 https://bugs.webkit.org/show_bug.cgi?id=53729 8932 8933 Test: fast/overflow/overflow-height-float-not-removed-crash.html 8934 8935 * rendering/RenderBlock.cpp: 8936 (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to 8937 become negative when logicalTop is INT_MAX. 8938 (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom 8939 is INT_MAX, we should dirty everything. So, we bail out to make 8940 afterLowest equal to the lastRootBox() or lowestDirstLine. 8941 8942 2011-02-03 David Levin <levin (a] chromium.org> 8943 8944 Reviewed by Adam Barth and Oliver Hunt. 8945 8946 Worker.importScript() should clean errors for cross origin imports. 8947 https://bugs.webkit.org/show_bug.cgi?id=52871 8948 8949 Test: http/tests/workers/worker-importScriptsOnError.html 8950 8951 * bindings/js/WorkerScriptController.cpp: 8952 (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError 8953 to determine when to create a clean exception. 8954 * bindings/v8/WorkerContextExecutionProxy.cpp: 8955 (WebCore::WorkerContextExecutionProxy::evaluate): Ditto. 8956 * dom/ScriptExecutionContext.cpp: 8957 (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out 8958 if the error needs to be cleaned up. 8959 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted 8960 sanitizeScriptError for use by other places. 8961 * dom/ScriptExecutionContext.h: 8962 * workers/WorkerContext.cpp: 8963 (WebCore::WorkerContext::importScripts): Use the reponse url when 8964 telling the evaluate where the script came fro. 8965 * workers/WorkerScriptLoader.cpp: 8966 (WebCore::WorkerScriptLoader::responseURL): Expose the url that 8967 the script was loaded from (which may be different from url() due 8968 to redirects). 8969 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url. 8970 * workers/WorkerScriptLoader.h: 8971 8972 2011-02-03 Mark Mentovai <mark (a] chromium.org> 8973 8974 Reviewed by Dimitri Glazkov. 8975 8976 Chromium GYP build fix. 8977 8978 When various settings were moved to webcore_prerequisites in r66364, 8979 things that should have been direct_dependent_settings were not marked 8980 as such. GYP 'defines', for example, make no sense on a 'none'-type 8981 target such as webcore_prerequisites. It appears that it was intended 8982 for these settings to be pushed to direct dependents, which would make 8983 direct_dependent_settings correct. 8984 8985 Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused 8986 http://crbug.com/71537, which at best causes Mac console log spew, and 8987 at worst may result in Chromium's copy of WebCore using system 8988 definitions of certain Objective-C classes at runtime, or vice-versa. 8989 8990 The build now includes a postbuild step to prevent 8991 http://crbug.com/71537 from regressing again. The build will fail upon 8992 regression. 8993 8994 https://bugs.webkit.org/show_bug.cgi?id=53630 8995 8996 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into 8997 direct_dependent_settings as needed, add the check_objc_rename 8998 postbuild step. 8999 * WebCore.gyp/mac/check_objc_rename.sh: Added. 9000 9001 2011-02-03 Adam Barth <abarth (a] webkit.org> 9002 9003 Reviewed by Eric Seidel. 9004 9005 Make XSSFilter go fast by adding a SuffixTree 9006 https://bugs.webkit.org/show_bug.cgi?id=53665 9007 9008 The SuffixTree lets us quickly reject snippets if the POST data is 9009 large (because we can avoid a linear scan over the POST data). 9010 9011 * html/parser/XSSFilter.cpp: 9012 (WebCore::XSSFilter::init): 9013 (WebCore::XSSFilter::isContainedInRequest): 9014 * html/parser/XSSFilter.h: 9015 9016 2011-02-03 Mihai Parparita <mihaip (a] chromium.org> 9017 9018 Reviewed by Alexey Proskuryakov. 9019 9020 REGRESSION (r77355): Page cache layout tests crash 9021 https://bugs.webkit.org/show_bug.cgi?id=53648 9022 9023 Test: fast/events/pagehide-timeout.html 9024 9025 Suspend active DOM objects after all pagehide event handlers have run, 9026 otherwise it's possible for them to create more objects that weren't 9027 getting suspended. 9028 9029 * history/CachedFrame.cpp: 9030 (WebCore::CachedFrame::CachedFrame): 9031 9032 2011-02-03 Jeremy Orlow <jorlow (a] chromium.org> 9033 9034 Reviewed by Nate Chapin. 9035 9036 SerializedScriptValue should not require v8 to create undefined and null values 9037 https://bugs.webkit.org/show_bug.cgi?id=53730 9038 9039 Instead of creating a v8 type and passing that into the constructor, just use 9040 the writer class directly. While I was at it, I cleaned up the code a bit too 9041 by getting rid of the WireData/StringValue enum as I found that personally 9042 confusing. 9043 9044 This is necessary because these methods are called by IndexedDB in the browser 9045 process where v8 is not spun up. 9046 9047 No functionality changed and not possible to test. 9048 9049 * bindings/v8/SerializedScriptValue.cpp: 9050 (WebCore::SerializedScriptValue::createFromWire): 9051 (WebCore::SerializedScriptValue::create): 9052 (WebCore::SerializedScriptValue::nullValue): 9053 (WebCore::SerializedScriptValue::undefinedValue): 9054 (WebCore::SerializedScriptValue::release): 9055 (WebCore::SerializedScriptValue::SerializedScriptValue): 9056 * bindings/v8/SerializedScriptValue.h: 9057 9058 2011-02-03 Beth Dakin <bdakin (a] apple.com> 9059 9060 Reviewed by Sam Weinig. 9061 9062 Fix for <rdar://problem/8944544> Ability to animate track 9063 for WKPainter scrollers 9064 9065 Two new WebKitSystemInterface functions. 9066 * WebCore.exp.in: 9067 * platform/mac/WebCoreSystemInterface.h: 9068 * platform/mac/WebCoreSystemInterface.mm: 9069 9070 Use Scrollbar::convertFromContainingView() to return the right point. 9071 * platform/mac/ScrollAnimatorMac.mm: 9072 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): 9073 9074 ScrollKnobAnimation is now ScrollbarPartAnimation. It can 9075 now be used to animate the knob or the track. 9076 (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]): 9077 (-[ScrollbarPartAnimation setCurrentProgress:]): 9078 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): 9079 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): 9080 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): 9081 9082 Scrollbars need invalodating after the overlay state changes. 9083 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): 9084 9085 2011-02-03 Sam Weinig <sam (a] webkit.org> 9086 9087 Reviewed by Beth Dakin. 9088 9089 Scroll thumb jumps to top when resizing horizontally. 9090 9091 * platform/ScrollView.cpp: 9092 (WebCore::ScrollView::updateScrollbars): Add call to update 9093 the scrollbar's offset in the case where we may have created 9094 a new scrollbar but have not changed the current position. 9095 9096 2011-02-03 Justin Schuh <jschuh (a] chromium.org> 9097 9098 Reviewed by Dirk Schulze. 9099 9100 startAnimations should use a local, RefCounted Vector. 9101 https://bugs.webkit.org/show_bug.cgi?id=53458 9102 9103 Test: svg/custom/use-animation-in-fill.html 9104 9105 * svg/SVGDocumentExtensions.cpp: 9106 (WebCore::SVGDocumentExtensions::startAnimations): 9107 9108 2011-02-03 Adam Barth <abarth (a] webkit.org> 9109 9110 Reviewed by Daniel Bates. 9111 9112 XSSFilter shouldn't bother to analyze pages without "injection" 9113 characters in the request 9114 https://bugs.webkit.org/show_bug.cgi?id=53664 9115 9116 If the request lacks these "injection" characters, then it's unlikely 9117 that there's a reflective XSS attack happening. This hueristic lets us 9118 avoid analyzing the vast majority of responses for XSS. Of course, the 9119 hueristic isn't perfect. Because of this huerstic, we miss out on 9120 injections into unquoted attributes. However, it's a trade-off that's 9121 worked well in the XSSAuditor. 9122 9123 * html/parser/XSSFilter.cpp: 9124 (WebCore::HTMLNames::isRequiredForInjection): 9125 (WebCore::XSSFilter::XSSFilter): 9126 (WebCore::XSSFilter::init): 9127 (WebCore::XSSFilter::filterToken): 9128 (WebCore::XSSFilter::isContainedInRequest): 9129 * html/parser/XSSFilter.h: 9130 9131 2011-02-03 Vangelis Kokkevis <vangelis (a] chromium.org> 9132 9133 Reviewed by Kenneth Russell. 9134 9135 [chromium] Fixing a compositor crash occurring on layers 9136 without an associated RenderSurface. 9137 https://bugs.webkit.org/show_bug.cgi?id=53679 9138 Regression was introduced by in r77425 9139 9140 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash 9141 anymore. 9142 9143 * platform/graphics/chromium/LayerRendererChromium.cpp: 9144 (WebCore::LayerRendererChromium::drawLayer): 9145 9146 2011-02-03 Dan Bernstein <mitz (a] apple.com> 9147 9148 Reviewed by Anders Carlsson. 9149 9150 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text 9151 https://bugs.webkit.org/show_bug.cgi?id=53709 9152 9153 Covered by rendering of fast/text/emphasis-vertical.html 9154 9155 * platform/graphics/mac/SimpleFontDataMac.mm: 9156 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font 9157 has. 9158 9159 2011-02-02 Levi Weintraub <leviw (a] chromium.org> 9160 9161 Reviewed by Ryosuke Niwa. 9162 9163 Moving cursor down in table cycles at the end of a row 9164 https://bugs.webkit.org/show_bug.cgi?id=50012 9165 9166 Avoids a caret cycling issue with certain content (e.g. tables) found at the very 9167 end of a document due to a bug in nextLeafWithSameEditability. 9168 9169 Test: editing/selection/move-by-line-cycles-in-table.html 9170 9171 * editing/visible_units.cpp: 9172 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the 9173 original leaf node. 9174 9175 2011-02-03 Pavel Podivilov <podivilov (a] chromium.org> 9176 9177 Reviewed by Pavel Feldman. 9178 9179 Web Inspector: remove dead code related to changes panel. 9180 https://bugs.webkit.org/show_bug.cgi?id=53688 9181 9182 * WebCore.gypi: 9183 * WebCore.vcproj/WebCore.vcproj: 9184 * inspector/front-end/ChangesView.js: Removed. 9185 * inspector/front-end/WebKit.qrc: 9186 * inspector/front-end/inspector.css: 9187 (#error-warning-count): 9188 (#error-warning-count:hover): 9189 (#error-count + #warning-count): 9190 * inspector/front-end/inspector.html: 9191 * inspector/front-end/inspector.js: 9192 9193 2011-02-02 Sam Weinig <sam (a] webkit.org> 9194 9195 Reviewed by Anders Carlsson. 9196 9197 Add notification of the end of a rubber band. 9198 <rdar://problem/8940648> 9199 9200 * WebCore.exp.in: 9201 Add additional exprots. 9202 9203 * page/ChromeClient.h: 9204 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame): 9205 * page/FrameView.cpp: 9206 (WebCore::FrameView::didCompleteRubberBand): 9207 * page/FrameView.h: 9208 * platform/ScrollView.cpp: 9209 (WebCore::ScrollView::didCompleteRubberBand): 9210 * platform/ScrollView.h: 9211 Add hook. 9212 9213 * platform/ScrollableArea.h: 9214 (WebCore::ScrollableArea::inLiveResize): 9215 (WebCore::ScrollableArea::maximumScrollPosition): 9216 (WebCore::ScrollableArea::visibleWidth): 9217 (WebCore::ScrollableArea::overhangAmount): 9218 (WebCore::ScrollableArea::didCompleteRubberBand): 9219 Reorganize and de-virtualize live resize notifications. 9220 9221 * platform/mac/ScrollAnimatorMac.mm: 9222 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): 9223 Call the new hook when the rubberband ends. 9224 9225 2011-02-02 Evan Martin <evan (a] chromium.org> 9226 9227 Reviewed by Tony Chang. 9228 9229 [chromium] complex joining characters positioned in wrong place 9230 https://bugs.webkit.org/show_bug.cgi?id=53637 9231 9232 Provide the correct font metrics to Harfbuzz related to the font design space. 9233 There are used in some fonts for GPOS positioning. 9234 9235 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html 9236 9237 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 9238 (WebCore::ComplexTextController::setupFontForScriptRun): 9239 (WebCore::ComplexTextController::allocHarfbuzzFont): 9240 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 9241 (WebCore::FontPlatformData::FontPlatformData): 9242 (WebCore::FontPlatformData::emSizeInFontUnits): 9243 (WebCore::FontPlatformData::operator=): 9244 * platform/graphics/chromium/FontPlatformDataLinux.h: 9245 (WebCore::FontPlatformData::FontPlatformData): 9246 9247 2011-02-02 Dimitri Glazkov <dglazkov (a] chromium.org> 9248 9249 Reviewed by Kent Tamura. 9250 9251 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed. 9252 https://bugs.webkit.org/show_bug.cgi?id=53634 9253 9254 Test: fast/dom/HTMLInputElement/input-slider-update.html 9255 9256 * html/HTMLInputElement.cpp: 9257 (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged. 9258 * html/InputType.cpp: 9259 (WebCore::InputType::valueChanged): Added empty implementation. 9260 * html/InputType.h: Added def. 9261 * html/RangeInputType.cpp: 9262 (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout 9263 bit on the thumb. 9264 * html/RangeInputType.h: Added def. 9265 9266 2011-02-02 Pavel Podivilov <podivilov (a] chromium.org> 9267 9268 Reviewed by Pavel Feldman. 9269 9270 Web Inspector: do not share source frames between resources panel and scripts panel. 9271 https://bugs.webkit.org/show_bug.cgi?id=53584 9272 9273 Currently, we show error messages only for resources. This change will allow showing error 9274 messages in source frame even when resource is not available (eval scripts, inlined scripts). 9275 9276 * inspector/front-end/ConsoleView.js: 9277 (WebInspector.ConsoleView.prototype.addMessage): 9278 (WebInspector.ConsoleView.prototype.clearMessages): 9279 * inspector/front-end/ResourceView.js: 9280 (WebInspector.ResourceView.recreateResourceView): 9281 * inspector/front-end/ResourcesPanel.js: 9282 (WebInspector.FrameResourceTreeElement.prototype._setBubbleText): 9283 * inspector/front-end/ScriptsPanel.js: 9284 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 9285 (WebInspector.ScriptsPanel.prototype.addConsoleMessage): 9286 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages): 9287 (WebInspector.ScriptsPanel.prototype.reset): 9288 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): 9289 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): 9290 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript): 9291 9292 2011-02-03 Simon Fraser <simon.fraser (a] apple.com> 9293 9294 Fix 32-bit builds. 9295 9296 * platform/graphics/ShadowBlur.cpp: 9297 (WebCore::ShadowBlur::blurLayerImage): 9298 9299 2011-02-03 Mikhail Naganov <mnaganov (a] chromium.org> 9300 9301 Reviewed by Pavel Feldman. 9302 9303 Web Inspector: Add reporting of JS heap size limit to 'console.memory'. 9304 https://bugs.webkit.org/show_bug.cgi?id=53592 9305 9306 In JSC there is no limit, thus 'undefined' value is returned. 9307 For V8, the limit reported by the VM is returned. 9308 9309 * Android.jscbindings.mk: 9310 * CMakeLists.txt: 9311 * GNUmakefile.am: 9312 * WebCore.gypi: 9313 * WebCore.pro: 9314 * WebCore.vcproj/WebCore.vcproj: 9315 * WebCore.xcodeproj/project.pbxproj: 9316 * bindings/js/JSBindingsAllInOne.cpp: 9317 * bindings/js/JSMemoryInfoCustom.cpp: Added. 9318 * bindings/js/ScriptGCEvent.cpp: 9319 (WebCore::ScriptGCEvent::getHeapSize): 9320 * bindings/js/ScriptGCEvent.h: 9321 * bindings/v8/ScriptGCEvent.cpp: 9322 (WebCore::ScriptGCEvent::getHeapSize): 9323 * bindings/v8/ScriptGCEvent.h: 9324 * inspector/InspectorTimelineAgent.cpp: 9325 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): 9326 * page/MemoryInfo.cpp: 9327 (WebCore::MemoryInfo::MemoryInfo): 9328 * page/MemoryInfo.h: 9329 (WebCore::MemoryInfo::jsHeapSizeLimit): 9330 * page/MemoryInfo.idl: 9331 9332 2011-01-27 Philippe Normand <pnormand (a] igalia.com> 9333 9334 Reviewed by Martin Robinson. 9335 9336 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails 9337 https://bugs.webkit.org/show_bug.cgi?id=53125 9338 9339 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 9340 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache. 9341 9342 2011-02-03 Simon Fraser <simon.fraser (a] apple.com> 9343 9344 Reviewed by Sam Weinig. 9345 9346 ShadowBlur radius for CSS shadows is slightly too big 9347 https://bugs.webkit.org/show_bug.cgi?id=53660 9348 9349 If we follow SVG gaussian blur for CSS shadows, we can end up rendering 9350 shadows that extend further than the CSS "blur radius", which results 9351 in the shadows being truncated. 9352 9353 Fix with a small fudge factor to reduce the kernel diameter slightly 9354 for CSS shadows. 9355 9356 Also more closely follow the algorithm described in the SVG spec 9357 for computing the kernel size for different diameters, and clean up 9358 some variable naming relating to the shadow bounds. 9359 9360 * platform/graphics/ShadowBlur.cpp: 9361 (WebCore::ShadowBlur::blurLayerImage): 9362 (WebCore::ShadowBlur::drawRectShadowWithTiling): 9363 9364 2011-02-01 Pavel Podivilov <podivilov (a] chromium.org> 9365 9366 Reviewed by Pavel Feldman. 9367 9368 Web Inspector: introduce new api for managing JavaScript breakpoints. 9369 https://bugs.webkit.org/show_bug.cgi?id=53235 9370 9371 Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID). 9372 removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints. 9373 Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend. 9374 9375 SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly. 9376 JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering. 9377 9378 * bindings/js/ScriptDebugServer.cpp: 9379 (WebCore::ScriptDebugServer::setBreakpoint): 9380 (WebCore::ScriptDebugServer::removeBreakpoint): 9381 * bindings/js/ScriptDebugServer.h: 9382 * bindings/v8/DebuggerScript.js: 9383 (): 9384 * bindings/v8/ScriptDebugServer.cpp: 9385 (WebCore::ScriptDebugServer::setBreakpoint): 9386 * bindings/v8/ScriptDebugServer.h: 9387 * inspector/Inspector.idl: 9388 * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created 9389 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 9390 (WebCore::InspectorAgent::populateScriptObjects): 9391 (WebCore::InspectorAgent::restoreDebugger): 9392 (WebCore::InspectorAgent::showAndEnableDebugger): 9393 (WebCore::InspectorAgent::enableDebugger): 9394 * inspector/InspectorAgent.h: 9395 * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints 9396 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 9397 (WebCore::InspectorDebuggerAgent::inspectedURLChanged): 9398 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint): 9399 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId): 9400 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint): 9401 (WebCore::InspectorDebuggerAgent::continueToLocation): 9402 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 9403 (WebCore::InspectorDebuggerAgent::getScriptSource): 9404 (WebCore::InspectorDebuggerAgent::didParseSource): 9405 (WebCore::InspectorDebuggerAgent::didPause): 9406 * inspector/InspectorDebuggerAgent.h: 9407 (WebCore::InspectorDebuggerAgent::Script::Script): 9408 * inspector/InspectorValues.cpp: 9409 (WebCore::InspectorValue::asNumber): 9410 (WebCore::InspectorBasicValue::asNumber): 9411 (WebCore::InspectorObject::remove): 9412 * inspector/InspectorValues.h: 9413 (WebCore::InspectorObject::getNumber): 9414 (WebCore::InspectorObject::find): 9415 * inspector/ScriptBreakpoint.h: 9416 (WebCore::ScriptBreakpoint::ScriptBreakpoint): 9417 * inspector/front-end/Breakpoint.js: 9418 (WebInspector.Breakpoint): 9419 (WebInspector.Breakpoint.prototype.addLocation): 9420 * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here 9421 (WebInspector.BreakpointManager): 9422 (WebInspector.BreakpointManager.prototype._projectChanged): 9423 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 9424 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 9425 * inspector/front-end/BreakpointsSidebarPane.js: 9426 (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering 9427 * inspector/front-end/DebuggerModel.js: 9428 (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data 9429 * inspector/front-end/Script.js: 9430 (WebInspector.Script.prototype.sourceLine): 9431 * inspector/front-end/ScriptsPanel.js: 9432 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 9433 * inspector/front-end/Settings.js: 9434 (WebInspector.Settings): 9435 * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently 9436 * inspector/front-end/inspector.js: 9437 9438 2011-02-03 Nikolas Zimmermann <nzimmermann (a] rim.com> 9439 9440 Reviewed by Dirk Schulze. 9441 9442 small text which is scaled to be large renders pixelated 9443 https://bugs.webkit.org/show_bug.cgi?id=12448 9444 9445 SVG <text> with font-size smaller or equal to 1 does not paint correctly 9446 https://bugs.webkit.org/show_bug.cgi?id=14242 9447 9448 misplaced text in SVG 9449 https://bugs.webkit.org/show_bug.cgi?id=17053 9450 9451 Don't render very small (but zoomed) text inside SVG 9452 https://bugs.webkit.org/show_bug.cgi?id=19393 9453 9454 Tiny fonts scaled up end up too large in Safari 9455 https://bugs.webkit.org/show_bug.cgi?id=20192 9456 9457 Stretched SVG Text has awful glyph spacing 9458 https://bugs.webkit.org/show_bug.cgi?id=21774 9459 9460 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard 9461 https://bugs.webkit.org/show_bug.cgi?id=49846 9462 9463 [Gtk] Text height in zoomed SVG is 1px too high 9464 https://bugs.webkit.org/show_bug.cgi?id=50313 9465 9466 SVG text smaller than 0.5px not displayed properly 9467 https://bugs.webkit.org/show_bug.cgi?id=50528 9468 9469 When rendering text, we're selecting a font with a size, as specified in the markup. 9470 This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent 9471 element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the 9472 problem becomes apparent. 9473 9474 Consider following two snippets, which should render exactly the same: 9475 <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg> 9476 <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg> 9477 9478 When selecting a font size below 0.5, FontCacheMac would request a font with size 0, 9479 which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac. 9480 Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.) 9481 9482 To fix this in a cross-platform fashion, we now always compute the final font size on screen, 9483 remove any scaling from the context, draw the text using the scaled font size, then reapply 9484 the context scale. This makes the example snippets above render exactly the same and fixes 9485 numerous of bugs, present since years. As we're now heavily using floating-point font sizes 9486 internally, depending on the scale of the document, it's very important to use the new 9487 floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG. 9488 9489 Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height) 9490 svg/hixie/text/003.html (no more pixelation) 9491 svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac) 9492 svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing) 9493 svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313) 9494 9495 Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528) 9496 svg/text/font-size-below-point-five.svg (reduction from bug 50528) 9497 svg/text/scaled-font.svg (reduction from bug 12448) 9498 svg/text/small-fonts-2.svg (reduction from bug 14242) 9499 svg/text/small-fonts-3.svg (reduction from bug 17053) 9500 svg/text/small-fonts-in-html5.html (reduction from bug 19393) 9501 svg/text/small-fonts.svg (reduction from bug 20192)) 9502 9503 * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes. 9504 * rendering/svg/RenderSVGInlineText.h: 9505 * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary. 9506 * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing. 9507 * rendering/svg/SVGInlineTextBox.h: 9508 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere. 9509 * rendering/svg/SVGTextMetrics.cpp: Ditto. 9510 * rendering/svg/SVGTextMetrics.h: Ditto. 9511 * rendering/svg/SVGTextQuery.cpp: Ditto. 9512 * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale). 9513 * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set. 9514 * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes. 9515 * svg/SVGTextPositioningElement.h: 9516 9517 2011-02-03 Pavel Feldman <pfeldman (a] chromium.org> 9518 9519 Reviewed by Yury Semikhatsky. 9520 9521 Web Inspector: resources panel doesn't show frames after reload. 9522 https://bugs.webkit.org/show_bug.cgi?id=53430 9523 9524 * inspector/front-end/ResourcesPanel.js: 9525 (WebInspector.ResourcesPanel.prototype.show): 9526 (WebInspector.ResourcesPanel.prototype.loadEventFired): 9527 (WebInspector.ResourcesPanel.prototype._initDefaultSelection): 9528 (WebInspector.ResourcesPanel.prototype.reset): 9529 (WebInspector.ResourcesPanel.prototype.clear): 9530 * inspector/front-end/inspector.js: 9531 (WebInspector.loadEventFired): 9532 9533 2011-02-01 Alexander Pavlov <apavlov (a] chromium.org> 9534 9535 Reviewed by Pavel Feldman. 9536 9537 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods 9538 https://bugs.webkit.org/show_bug.cgi?id=53492 9539 9540 * inspector/Inspector.idl: 9541 * inspector/InspectorCSSAgent.cpp: 9542 (WebCore::InspectorCSSAgent::getStylesForNode): 9543 (WebCore::InspectorCSSAgent::getInlineStyleForNode): 9544 (WebCore::InspectorCSSAgent::getComputedStyleForNode): 9545 (WebCore::InspectorCSSAgent::getAllStyles): 9546 (WebCore::InspectorCSSAgent::getStyleSheet): 9547 (WebCore::InspectorCSSAgent::getStyleSheetText): 9548 (WebCore::InspectorCSSAgent::setStyleSheetText): 9549 (WebCore::InspectorCSSAgent::setPropertyText): 9550 (WebCore::InspectorCSSAgent::toggleProperty): 9551 (WebCore::InspectorCSSAgent::setRuleSelector): 9552 (WebCore::InspectorCSSAgent::addRule): 9553 * inspector/InspectorCSSAgent.h: 9554 * inspector/front-end/AuditRules.js: 9555 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 9556 * inspector/front-end/CSSStyleModel.js: 9557 (WebInspector.CSSStyleModel.prototype.getStylesAsync): 9558 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): 9559 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): 9560 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 9561 (WebInspector.CSSStyleModel.prototype.addRule): 9562 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 9563 (WebInspector.CSSStyleModel.prototype._onRevert): 9564 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): 9565 (WebInspector.CSSProperty.prototype.setText): 9566 (WebInspector.CSSProperty.prototype.setDisabled): 9567 (WebInspector.CSSStyleSheet.createForId): 9568 (WebInspector.CSSStyleSheet.prototype.setText): 9569 9570 2011-02-03 Adam Barth <abarth (a] webkit.org> 9571 9572 Reviewed by Daniel Bates. 9573 9574 Teach XSSFilter about data URLs 9575 https://bugs.webkit.org/show_bug.cgi?id=53662 9576 9577 The XSS filter doesn't really make sense for data URLs because 9578 everything in a "response" from a data URL was part of the request. 9579 9580 Test: http/tests/security/xssAuditor/data-urls-work.html 9581 9582 * html/parser/XSSFilter.cpp: 9583 (WebCore::XSSFilter::init): 9584 (WebCore::XSSFilter::filterToken): 9585 9586 2011-02-02 Chris Evans <cevans (a] chromium.org> 9587 9588 Reviewed by Darin Fisher. 9589 9590 window.find() can fail when switching case sensitivity 9591 https://bugs.webkit.org/show_bug.cgi?id=53654 9592 9593 Reset the pattern to a safe one when done, to avoid usearch_reset() 9594 indirectly touching the old, stale text pointer. 9595 9596 Test: fast/text/find-window.html 9597 9598 * editing/TextIterator.cpp: 9599 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done. 9600 9601 2011-02-02 Adam Barth <abarth (a] webkit.org> 9602 9603 Reviewed by Daniel Bates. 9604 9605 Teach XSSFilter that <param> elements can contain URLs 9606 https://bugs.webkit.org/show_bug.cgi?id=53652 9607 9608 When loading plugins for the <object> tag, we're "smart" enough to 9609 reach into the <param> elements and pull out the URL in some cases. 9610 This patch teaches the XSSFilter how to block injections into those 9611 sorts of param elements. 9612 9613 Fixes: 9614 http/tests/security/xssAuditor/object-* 9615 9616 * html/HTMLParamElement.cpp: 9617 (WebCore::HTMLParamElement::isURLParameter): 9618 (WebCore::HTMLParamElement::isURLAttribute): 9619 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): 9620 * html/HTMLParamElement.h: 9621 - Add a helper function so that HTMLParamElement can share the 9622 ground truth for these names with the XSSFilter. 9623 * html/parser/XSSFilter.cpp: 9624 (WebCore::XSSFilter::filterTokenInitial): 9625 (WebCore::XSSFilter::filterParamToken): 9626 * html/parser/XSSFilter.h: 9627 9628 2011-02-02 Dimitri Glazkov <dglazkov (a] chromium.org> 9629 9630 Reviewed by David Levin. 9631 9632 GCC compiler on ARM issues bogus warnings and fails to compile. 9633 https://bugs.webkit.org/show_bug.cgi?id=53620 9634 9635 Despite warnings explicitly being disallowed (-Wno-uninitialized), 9636 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like: 9637 9638 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function" 9639 9640 The fix is to add an extra condition, which somehow pacifies the compiler. 9641 9642 * css/CSSPrimitiveValue.cpp: 9643 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions. 9644 9645 2011-02-02 Adam Barth <abarth (a] webkit.org> 9646 9647 Reviewed by Daniel Bates. 9648 9649 Teach XSSFilter about X-XSS-Protection 9650 https://bugs.webkit.org/show_bug.cgi?id=53640 9651 9652 This patch causes us to pass: 9653 http/tests/security/xssAuditor/full-block-* 9654 http/tests/security/xssAuditor/no-protection-script-tag.html 9655 9656 * html/parser/XSSFilter.cpp: 9657 (WebCore::XSSFilter::XSSFilter): 9658 (WebCore::XSSFilter::init): 9659 (WebCore::XSSFilter::filterToken): 9660 * html/parser/XSSFilter.h: 9661 9662 2011-02-02 Adam Barth <abarth (a] webkit.org> 9663 9664 Reviewed by Daniel Bates. 9665 9666 When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL 9667 instead of the empty string 9668 https://bugs.webkit.org/show_bug.cgi?id=53643 9669 9670 In a URL context, the empty string completes to the URL of the current 9671 page, which causes these tests to go into an infinite loop. Instead, 9672 we should use a "safe" JavaScript URL that does nothing. 9673 9674 Fixes: 9675 http/tests/security/xssAuditor/javascript-link* 9676 9677 * html/parser/XSSFilter.cpp: 9678 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected): 9679 9680 2011-02-02 Dan Bernstein <mitz (a] apple.com> 9681 9682 Reviewed by Sam Weinig. 9683 9684 <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions 9685 https://bugs.webkit.org/show_bug.cgi?id=44942 9686 9687 Test: fast/text/bidi-embedding-pop-and-push-same-2.html 9688 9689 * platform/text/BidiResolver.h: 9690 (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was 9691 a change to embedding levels. 9692 (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing 9693 the explicit embedding sequence, then runs were not added, and we should continue normally. 9694 9695 2011-02-02 Sam Weinig <sam (a] webkit.org> 9696 9697 Reviewed by Dan Bernstein. 9698 9699 Fix miscalculation of the overhang area used for painting. We were 9700 not correctly accounting for scrollbars resulting in an non-negative 9701 overhang even when we weren't over the edge. 9702 9703 * platform/ScrollView.cpp: 9704 (WebCore::ScrollView::calculateOverhangAreasForPainting): 9705 9706 2011-02-02 Jeremy Orlow <jorlow (a] chromium.org> 9707 9708 Reviewed by Nate Chapin. 9709 9710 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad 9711 https://bugs.webkit.org/show_bug.cgi?id=52722 9712 9713 The solution is to change ScriptExecutionContext's destructor to iterate over 9714 the list in a way that handles the mutations. This new method is destructive, 9715 but that's OK since the object is going away. I've also added a several asserts. 9716 9717 There should be no behavior change. 9718 9719 * dom/ScriptExecutionContext.cpp: 9720 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 9721 (WebCore::ScriptExecutionContext::~ScriptExecutionContext): 9722 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): 9723 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): 9724 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): 9725 (WebCore::ScriptExecutionContext::stopActiveDOMObjects): 9726 (WebCore::ScriptExecutionContext::createdActiveDOMObject): 9727 (WebCore::ScriptExecutionContext::destroyedActiveDOMObject): 9728 * dom/ScriptExecutionContext.h: 9729 * storage/IDBTransaction.cpp: 9730 (WebCore::IDBTransaction::contextDestroyed): 9731 * storage/IDBTransaction.h: 9732 9733 2011-02-02 Mark Rowe <mrowe (a] apple.com> 9734 9735 Build fix. 9736 9737 * WebCore.exp.in: Remove some bogus symbols from the .exp.in file. 9738 * platform/mac/ScrollbarThemeMac.mm: 9739 (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object 9740 up in the HashMap rather than relying on a local variable that doesn't 9741 exist. 9742 9743 2011-02-02 Adam Barth <abarth (a] webkit.org> 9744 9745 Reviewed by Daniel Bates. 9746 9747 Teach XSSFilter about JavaScript URLs 9748 https://bugs.webkit.org/show_bug.cgi?id=53635 9749 9750 This patch teaches the XSSFilter to check for JavaScript URLs in 9751 attribute values. If this approach has too many false positives, we 9752 can restrict which attribute names we examine. 9753 9754 Fixes these tests: 9755 http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html 9756 http/tests/security/xssAuditor/dom-write-location-javascript-URL.html 9757 http/tests/security/xssAuditor/iframe-javascript-url* 9758 9759 * html/parser/XSSFilter.cpp: 9760 (WebCore::HTMLNames::containsJavaScriptURL): 9761 (WebCore::XSSFilter::filterTokenInitial): 9762 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected): 9763 * html/parser/XSSFilter.h: 9764 9765 2011-02-02 Dan Bernstein <mitz (a] apple.com> 9766 9767 Reviewed by Sam Weinig, even though this is just a... 9768 9769 ...build fix. 9770 9771 * platform/mac/ScrollAnimatorMac.mm: 9772 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): 9773 9774 2011-02-02 Mark Rowe <mrowe (a] apple.com> 9775 9776 Reviewed by Beth Dakin. 9777 9778 <rdar://problem/8952012> Crash on launch inside scrollbar code. 9779 9780 We need to ensure that we remove ourselves as the delegates of objects when we're going 9781 away as failing to do this can lead to crashes if the lifetime of the other objects 9782 is longer than ours. 9783 9784 * platform/mac/ScrollAnimatorMac.mm: 9785 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): 9786 * platform/mac/ScrollbarThemeMac.mm: 9787 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 9788 9789 2011-02-02 Beth Dakin <bdakin (a] apple.com> 9790 9791 Build fix. 9792 9793 * WebCore.exp.in: 9794 9795 2011-02-02 Patrick Gansterer <paroga (a] webkit.org> 9796 9797 Unreviewed WinCE build fix for r77397. 9798 9799 * page/wince/FrameWinCE.cpp: 9800 (WebCore::computePageRectsForFrame): 9801 9802 2011-02-02 Patrick Gansterer <paroga (a] webkit.org> 9803 9804 Unreviewed WinCE build fix for r77398. 9805 9806 * platform/graphics/wince/PlatformPathWinCE.cpp: 9807 (WebCore::containsPoint): 9808 (WebCore::inflateRectToContainPoint): 9809 (WebCore::PlatformPath::addRect): 9810 * platform/graphics/wince/SharedBitmap.cpp: 9811 (WebCore::SharedBitmap::drawPattern): 9812 * rendering/RenderThemeWinCE.cpp: 9813 (WebCore::RenderThemeWinCE::paintMenuListButton): 9814 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): 9815 (WebCore::RenderThemeWinCE::paintSliderTrack): 9816 (WebCore::RenderThemeWinCE::paintMediaMuteButton): 9817 (WebCore::RenderThemeWinCE::paintMediaPlayButton): 9818 (WebCore::RenderThemeWinCE::paintMediaSeekBackButton): 9819 (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton): 9820 9821 2011-02-02 Jian Li <jianli (a] chromium.org> 9822 9823 Reviewed by Kenneth Russell. 9824 9825 [V8] Accessing DataView with index of -1 returns 0, doesn't throw 9826 https://bugs.webkit.org/show_bug.cgi?id=53559 9827 9828 Added test cases to cover this in fast/canvas/webgl/data-view-test.html. 9829 9830 * html/canvas/DataView.h: 9831 (WebCore::DataView::beyondRange): 9832 9833 2011-02-02 Sam Weinig <sam (a] webkit.org> 9834 9835 Reviewed by Beth Dakin. 9836 9837 Add ChromeClient function to paint custom overhang areas. 9838 https://bugs.webkit.org/show_bug.cgi?id=53639 9839 9840 * page/Chrome.cpp: 9841 (WebCore::ChromeClient::paintCustomOverhangArea): 9842 * page/ChromeClient.h: 9843 Add ChromeClient function. 9844 9845 * page/FrameView.cpp: 9846 (WebCore::FrameView::paintOverhangAreas): 9847 * page/FrameView.h: 9848 Call out the the ChromeClient, call ScrollView base implementation 9849 if the ChromeClient returns false. 9850 9851 * platform/ScrollView.cpp: 9852 (WebCore::ScrollView::paintOverhangAreas): 9853 * platform/ScrollView.h: 9854 Add dirty rect for use when painting overhang areas. 9855 9856 2011-02-02 Peter Kasting <pkasting (a] google.com> 9857 9858 Not reviewed, build fix. 9859 9860 Fix compile after r77427. 9861 https://bugs.webkit.org/show_bug.cgi?id=53455 9862 9863 * platform/graphics/qt/ImageDecoderQt.cpp: 9864 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 9865 * platform/image-decoders/ImageDecoder.cpp: 9866 (WebCore::ImageFrame::operator=): 9867 * platform/image-decoders/bmp/BMPImageReader.cpp: 9868 (WebCore::BMPImageReader::decodeBMP): 9869 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 9870 (WebCore::JPEGImageDecoder::outputScanlines): 9871 * platform/image-decoders/png/PNGImageDecoder.cpp: 9872 (WebCore::PNGImageDecoder::rowAvailable): 9873 * platform/image-decoders/webp/WEBPImageDecoder.cpp: 9874 (WebCore::WEBPImageDecoder::decode): 9875 9876 2011-02-02 Peter Kasting <pkasting (a] google.com> 9877 9878 Reviewed by David Levin. 9879 9880 Clean up ImageDecoder's comments (remove/trim/clarify). 9881 https://bugs.webkit.org/show_bug.cgi?id=53455 9882 9883 This also renames or eliminates a couple of functions for clarity, and 9884 switches a couple erroneous strncmp() calls to memcmp(). 9885 9886 * platform/image-decoders/ImageDecoder.cpp: 9887 (WebCore::ImageDecoder::create): 9888 (WebCore::ImageFrame::clearPixelData): 9889 (WebCore::ImageFrame::zeroFillPixelData): 9890 (WebCore::ImageFrame::setSize): 9891 * platform/image-decoders/ImageDecoder.h: 9892 (WebCore::ImageFrame::originalFrameRect): 9893 (WebCore::ImageFrame::setOriginalFrameRect): 9894 (WebCore::ImageDecoder::ImageDecoder): 9895 (WebCore::ImageDecoder::~ImageDecoder): 9896 (WebCore::ImageDecoder::isSizeAvailable): 9897 (WebCore::ImageDecoder::size): 9898 (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile): 9899 (WebCore::ImageDecoder::clearFrameBufferCache): 9900 (WebCore::ImageDecoder::isOverSize): 9901 * platform/image-decoders/bmp/BMPImageReader.cpp: 9902 (WebCore::BMPImageReader::processNonRLEData): 9903 * platform/image-decoders/cg/ImageDecoderCG.cpp: 9904 (WebCore::ImageFrame::setSize): 9905 * platform/image-decoders/gif/GIFImageDecoder.cpp: 9906 (WebCore::GIFImageDecoder::clearFrameBufferCache): 9907 (WebCore::GIFImageDecoder::frameComplete): 9908 (WebCore::GIFImageDecoder::initFrameBuffer): 9909 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 9910 * platform/image-decoders/qt/ImageFrameQt.cpp: 9911 (WebCore::ImageFrame::operator=): 9912 (WebCore::ImageFrame::clearPixelData): 9913 (WebCore::ImageFrame::zeroFillPixelData): 9914 (WebCore::ImageFrame::setSize): 9915 * platform/image-decoders/skia/ImageDecoderSkia.cpp: 9916 (WebCore::ImageFrame::operator=): 9917 (WebCore::ImageFrame::clearPixelData): 9918 (WebCore::ImageFrame::zeroFillPixelData): 9919 (WebCore::ImageFrame::setSize): 9920 * platform/image-decoders/webp/WEBPImageDecoder.h: 9921 9922 2011-02-02 Vangelis Kokkevis <vangelis (a] chromium.org> 9923 9924 [chromium] Adding support for reflections to the accelerated 9925 compositing path. 9926 https://bugs.webkit.org/show_bug.cgi?id=53179 9927 9928 All layout tests in compositing/reflections generate correct 9929 results with the exception of: 9930 1. nested-reflection-anchor-point.html : There appears to be 9931 some issue with the layer transform math that I haven't been 9932 able to track down yet. 9933 2. reflection-opacity.html : The current implementation applies 9934 opacity before doing the reflection which makes this test 9935 produce incorrect results. This will affect reflected layers 9936 with opacity that overlap their original layer. FIXME comment 9937 added in the code. 9938 9939 Tests: Covered by existing layout tests in compositing/reflections. 9940 Please see above for exceptions. 9941 9942 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 9943 (WebCore::GraphicsLayerChromium::setReplicatedByLayer): 9944 (WebCore::GraphicsLayerChromium::updateAnchorPoint): 9945 * platform/graphics/chromium/GraphicsLayerChromium.h: 9946 * platform/graphics/chromium/LayerChromium.cpp: 9947 (WebCore::LayerChromium::LayerChromium): 9948 * platform/graphics/chromium/LayerChromium.h: 9949 (WebCore::LayerChromium::setReplicaLayer): 9950 (WebCore::LayerChromium::replicaLayer): 9951 * platform/graphics/chromium/LayerRendererChromium.cpp: 9952 (WebCore::LayerRendererChromium::updateLayersRecursive): 9953 (WebCore::LayerRendererChromium::drawLayer): 9954 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 9955 (WebCore::RenderSurfaceChromium::drawableContentRect): 9956 (WebCore::RenderSurfaceChromium::drawSurface): 9957 (WebCore::RenderSurfaceChromium::draw): 9958 * platform/graphics/chromium/RenderSurfaceChromium.h: 9959 (WebCore::RenderSurfaceChromium::drawTransform): 9960 9961 2011-02-02 Xiyuan Xia <xiyuan (a] chromium.org> 9962 9963 Reviewed by Tony Chang. 9964 9965 [Chromium] Select popup with padding has white strip on right 9966 https://bugs.webkit.org/show_bug.cgi?id=53602 9967 9968 No new tests as this change restores old behavior. 9969 9970 * platform/chromium/PopupMenuChromium.cpp: 9971 (WebCore::PopupListBox::layout): 9972 9973 2011-02-02 Beth Dakin <bdakin (a] apple.com> 9974 9975 Reviewed by Mark Rowe. 9976 9977 Fix for <rdar://problem/8950343> CrashTracer: [USER] 9978 1 crash in WebProcess at com.apple.WebCore: 9979 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22 9980 9981 It is possible for a Scrollbar's ScrollableArea to be null, 9982 so we must null check. 9983 * platform/mac/ScrollbarThemeMac.mm: 9984 (WebCore::ScrollbarThemeMac::registerScrollbar): 9985 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 9986 9987 2011-02-02 Zhenyao Mo <zmo (a] google.com> 9988 9989 Reviewed by Kenneth Russell. 9990 9991 bufferData and bufferSubData should generate INVALID_VALUE with negative input 9992 https://bugs.webkit.org/show_bug.cgi?id=53626 9993 9994 * html/canvas/WebGLRenderingContext.cpp: 9995 (WebCore::WebGLRenderingContext::bufferData): 9996 (WebCore::WebGLRenderingContext::bufferSubData): 9997 9998 2011-02-02 Jeff Miller <jeffm (a] apple.com> 9999 10000 Reviewed by Darin Adler and Steve Falkenburg. 10001 10002 Add DerivedSources.make to some Visual Studio projects 10003 https://bugs.webkit.org/show_bug.cgi?id=53607 10004 10005 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make. 10006 10007 2011-02-02 Cris Neckar <cdn (a] chromium.org> 10008 10009 Reviewed by James Robinson. 10010 10011 Refcount domwindows when dispatching device orientation events. 10012 https://bugs.webkit.org/show_bug.cgi?id=53623 10013 10014 Test: fast/events/device-orientation-crash.html 10015 10016 * dom/DeviceMotionController.cpp: 10017 (WebCore::DeviceMotionController::timerFired): 10018 (WebCore::DeviceMotionController::didChangeDeviceMotion): 10019 * dom/DeviceMotionController.h: 10020 * dom/DeviceOrientationController.cpp: 10021 (WebCore::DeviceOrientationController::timerFired): 10022 (WebCore::DeviceOrientationController::didChangeDeviceOrientation): 10023 * dom/DeviceOrientationController.h: 10024 10025 2011-02-02 Zhenyao Mo <zmo (a] google.com> 10026 10027 Reviewed by Kenneth Russell. 10028 10029 A deleted object should never been bound again 10030 https://bugs.webkit.org/show_bug.cgi?id=53604 10031 10032 * html/canvas/WebGLRenderingContext.cpp: 10033 (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram. 10034 (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound. 10035 (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto. 10036 (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto. 10037 (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching. 10038 (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*. 10039 (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject. 10040 (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto. 10041 (WebCore::WebGLRenderingContext::deleteProgram): Ditto. 10042 (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto. 10043 (WebCore::WebGLRenderingContext::deleteShader): Ditto. 10044 (WebCore::WebGLRenderingContext::deleteTexture): Ditto. 10045 (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound. 10046 * html/canvas/WebGLRenderingContext.h: 10047 * html/canvas/WebGLTexture.h: 10048 (WebCore::WebGLTexture::getTarget): Accessor to cached target. 10049 10050 2011-02-02 Alejandro G. Castro <alex (a] igalia.com> 10051 10052 Unreviewed Efl buildfix after r77399. 10053 10054 * CMakeListsEfl.txt: 10055 10056 2011-02-02 Kenneth Russell <kbr (a] google.com> 10057 10058 Reviewed by James Robinson. 10059 10060 Rename Typed Array subset to subarray 10061 https://bugs.webkit.org/show_bug.cgi?id=53618 10062 10063 * html/canvas/Float32Array.cpp: 10064 (WebCore::Float32Array::subarray): 10065 * html/canvas/Float32Array.h: 10066 * html/canvas/Float32Array.idl: 10067 * html/canvas/Int16Array.cpp: 10068 (WebCore::Int16Array::subarray): 10069 * html/canvas/Int16Array.h: 10070 * html/canvas/Int16Array.idl: 10071 * html/canvas/Int32Array.cpp: 10072 (WebCore::Int32Array::subarray): 10073 * html/canvas/Int32Array.h: 10074 * html/canvas/Int32Array.idl: 10075 * html/canvas/Int8Array.cpp: 10076 (WebCore::Int8Array::subarray): 10077 * html/canvas/Int8Array.h: 10078 * html/canvas/Int8Array.idl: 10079 * html/canvas/TypedArrayBase.h: 10080 (WebCore::TypedArrayBase::subarrayImpl): 10081 * html/canvas/Uint16Array.cpp: 10082 (WebCore::Uint16Array::subarray): 10083 * html/canvas/Uint16Array.h: 10084 * html/canvas/Uint16Array.idl: 10085 * html/canvas/Uint32Array.cpp: 10086 (WebCore::Uint32Array::subarray): 10087 * html/canvas/Uint32Array.h: 10088 * html/canvas/Uint32Array.idl: 10089 * html/canvas/Uint8Array.cpp: 10090 (WebCore::Uint8Array::subarray): 10091 * html/canvas/Uint8Array.h: 10092 * html/canvas/Uint8Array.idl: 10093 10094 2011-02-02 Adam Barth <abarth (a] webkit.org> 10095 10096 Reviewed by Eric Seidel. 10097 10098 Add an empty file for Content Security Policy 10099 https://bugs.webkit.org/show_bug.cgi?id=53573 10100 10101 Posting this as a separate patch because editing the build files is so 10102 painful. 10103 10104 * Android.mk: 10105 * CMakeLists.txt: 10106 * GNUmakefile.am: 10107 * WebCore.gypi: 10108 * WebCore.pro: 10109 * WebCore.vcproj/WebCore.vcproj: 10110 * WebCore.xcodeproj/project.pbxproj: 10111 10112 2011-02-02 Dan Winship <danw (a] gnome.org> 10113 10114 Reviewed by Martin Robinson. 10115 10116 [GTK] remove old data: URI handler, fix the SoupRequest-based one 10117 to pass tests 10118 https://bugs.webkit.org/show_bug.cgi?id=50885 10119 10120 * platform/network/soup/ResourceHandleSoup.cpp: 10121 (WebCore::sendRequestCallback): Do content-type sniffing here for 10122 non-HTTP requests. 10123 (WebCore::startHTTPRequest): Rename to match WebKit style. 10124 (WebCore::ResourceHandle::start): Pass everything except HTTP to 10125 startNonHTTPRequest, letting the SoupRequester decide whether it's 10126 supported or not. 10127 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester 10128 code that was a no-op for file: URIs, but would break some data: 10129 URIs. 10130 10131 2011-02-02 Dimitri Glazkov <dglazkov (a] chromium.org> 10132 10133 Update even more references to right() and bottom() in Chromium. Sheesh. 10134 10135 * platform/graphics/chromium/LayerRendererChromium.cpp: 10136 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX. 10137 10138 2011-02-02 Alejandro G. Castro <alex (a] igalia.com> 10139 10140 Unreviewed Gtk3 buildfix after r77286. 10141 10142 https://bugs.webkit.org/show_bug.cgi?id=53520 10143 Remove the physical terminology from IntRect and FloatRect. 10144 10145 * platform/gtk/RenderThemeGtk3.cpp: 10146 (WebCore::RenderThemeGtk::paintMenuList): 10147 10148 2011-02-02 Anders Carlsson <andersca (a] apple.com> 10149 10150 Fix build. 10151 10152 * platform/mac/ScrollAnimatorMac.mm: 10153 (WebCore::ScrollAnimatorMac::pinnedInDirection): 10154 10155 2011-02-02 David Hyatt <hyatt (a] apple.com> 10156 10157 Reviewed by Dan Bernstein. 10158 10159 https://bugs.webkit.org/show_bug.cgi?id=53619 10160 10161 Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom 10162 with maxX/maxY. This matches IntRect. 10163 10164 * rendering/RenderBlock.cpp: 10165 (WebCore::RenderBlock::addOverflowFromFloats): 10166 (WebCore::RenderBlock::flipFloatForWritingMode): 10167 (WebCore::RenderBlock::paintFloats): 10168 (WebCore::RenderBlock::selectionGaps): 10169 (WebCore::RenderBlock::addOverhangingFloats): 10170 (WebCore::RenderBlock::addIntrudingFloats): 10171 (WebCore::RenderBlock::hitTestFloats): 10172 (WebCore::RenderBlock::adjustForBorderFit): 10173 * rendering/RenderBlock.h: 10174 (WebCore::RenderBlock::FloatingObject::x): 10175 (WebCore::RenderBlock::FloatingObject::maxX): 10176 (WebCore::RenderBlock::FloatingObject::y): 10177 (WebCore::RenderBlock::FloatingObject::maxY): 10178 (WebCore::RenderBlock::FloatingObject::setX): 10179 (WebCore::RenderBlock::FloatingObject::setY): 10180 (WebCore::RenderBlock::logicalTopForFloat): 10181 (WebCore::RenderBlock::logicalBottomForFloat): 10182 (WebCore::RenderBlock::logicalLeftForFloat): 10183 (WebCore::RenderBlock::logicalRightForFloat): 10184 (WebCore::RenderBlock::setLogicalTopForFloat): 10185 (WebCore::RenderBlock::setLogicalLeftForFloat): 10186 (WebCore::RenderBlock::xPositionForFloatIncludingMargin): 10187 (WebCore::RenderBlock::yPositionForFloatIncludingMargin): 10188 10189 2011-02-02 Dimitri Glazkov <dglazkov (a] chromium.org> 10190 10191 Update more references to right() and bottom() in Chromium Win. 10192 10193 * platform/graphics/chromium/TransparencyWin.cpp: 10194 (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX. 10195 (WebCore::TransparencyWin::compositeTextComposite): Ditto. 10196 * rendering/RenderThemeChromiumWin.cpp: 10197 (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto. 10198 10199 2011-02-02 Adam Roben <aroben (a] apple.com> 10200 10201 Encode/decode FormData and FormDataElement objects consistently 10202 10203 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state 10204 that contains form data fails (asserts in Debug build) 10205 10206 To prevent this from interfering with WebKit2 testing, it's useful to get this into a build 10207 now, even though we don't have an automated test for it yet. Writing a test is covered by 10208 <http://webkit.org/b/53616>. 10209 10210 Reviewed by Darin Adler. 10211 10212 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode 10213 FormData objects. 10214 10215 * platform/network/FormData.cpp: 10216 (WebCore::decode): Decode the type from the Decoder, rather than getting it from the 10217 default-constructed FormDataElement. Failing to do this meant that all future uses of the 10218 Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would 10219 start by reading the uint32_t that we forgot to decode here, and so on). We already had code 10220 to correctly set the FormDataElement's type based on this decoded type later in the 10221 function. 10222 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that 10223 matches its type and how we decode it. 10224 10225 2011-02-02 Dan Winship <danw (a] gnome.org> 10226 10227 Reviewed by Martin Robinson. 10228 10229 [GTK] drop soup cache stuff, which has been moved to libsoup 10230 https://bugs.webkit.org/show_bug.cgi?id=50747 10231 10232 Use libsoup-based cache/requester API and remove the WebCore version 10233 of this functionality. This has been pushed upstream fully. 10234 10235 No new tests because this should not change functionality. 10236 10237 * GNUmakefile.am: Update for removed files. 10238 * platform/network/ResourceHandleInternal.h: 10239 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update 10240 type names, drop m_requester. 10241 * platform/network/soup/ResourceHandleSoup.cpp: 10242 (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the 10243 session. 10244 (WebCore::parseDataUrl): 10245 (WebCore::startHttp): Get the requester from the session rather 10246 than using m_requester. 10247 (WebCore::sendRequestCallback): 10248 (WebCore::ResourceHandle::platformSetDefersLoading): 10249 (WebCore::readCallback): 10250 (WebCore::startGio): Update type names. 10251 * platform/network/soup/cache/soup-directory-input-stream.c: Removed. 10252 * platform/network/soup/cache/soup-directory-input-stream.h: Removed. 10253 * platform/network/soup/cache/soup-http-input-stream.c: Removed. 10254 * platform/network/soup/cache/soup-http-input-stream.h: Removed. 10255 * platform/network/soup/cache/soup-request-data.c: Removed. 10256 * platform/network/soup/cache/soup-request-data.h: Removed. 10257 * platform/network/soup/cache/soup-request-file.c: Removed. 10258 * platform/network/soup/cache/soup-request-file.h: Removed. 10259 * platform/network/soup/cache/soup-request-http.c: Removed. 10260 * platform/network/soup/cache/soup-request-http.h: Removed. 10261 * platform/network/soup/cache/soup-request.c: Removed. 10262 * platform/network/soup/cache/soup-request.h: Removed. 10263 * platform/network/soup/cache/soup-requester.c: Removed. 10264 * platform/network/soup/cache/soup-requester.h: Removed. 10265 * platform/network/soup/cache/webkit/soup-cache-private.h: Removed. 10266 * platform/network/soup/cache/webkit/soup-cache.c: Removed. 10267 * platform/network/soup/cache/webkit/soup-cache.h: Removed. 10268 10269 2011-02-02 David Hyatt <hyatt (a] apple.com> 10270 10271 Reviewed by Darin Adler. 10272 10273 https://bugs.webkit.org/show_bug.cgi?id=53520 10274 10275 Remove physical accessors from IntRect and FloatRect. 10276 10277 * page/FrameView.cpp: 10278 (WebCore::FrameView::adjustPageHeightDeprecated): 10279 * platform/graphics/FloatRect.h: 10280 * platform/graphics/IntRect.h: 10281 10282 2011-02-02 David Hyatt <hyatt (a] apple.com> 10283 10284 Reviewed by Dan Bernstein. 10285 10286 https://bugs.webkit.org/show_bug.cgi?id=53614 10287 10288 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY. 10289 10290 * rendering/InlineFlowBox.cpp: 10291 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): 10292 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 10293 * rendering/InlineFlowBox.h: 10294 (WebCore::InlineFlowBox::minYLayoutOverflow): 10295 (WebCore::InlineFlowBox::maxYLayoutOverflow): 10296 (WebCore::InlineFlowBox::minXLayoutOverflow): 10297 (WebCore::InlineFlowBox::maxXLayoutOverflow): 10298 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): 10299 (WebCore::InlineFlowBox::logicalRightLayoutOverflow): 10300 (WebCore::InlineFlowBox::logicalTopLayoutOverflow): 10301 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow): 10302 (WebCore::InlineFlowBox::minYVisualOverflow): 10303 (WebCore::InlineFlowBox::maxYVisualOverflow): 10304 (WebCore::InlineFlowBox::minXVisualOverflow): 10305 (WebCore::InlineFlowBox::maxXVisualOverflow): 10306 (WebCore::InlineFlowBox::logicalLeftVisualOverflow): 10307 (WebCore::InlineFlowBox::logicalRightVisualOverflow): 10308 (WebCore::InlineFlowBox::logicalminYVisualOverflow): 10309 (WebCore::InlineFlowBox::logicalmaxYVisualOverflow): 10310 * rendering/RenderBlock.cpp: 10311 (WebCore::RenderBlock::adjustLinePositionForPagination): 10312 * rendering/RenderBlockLineLayout.cpp: 10313 (WebCore::RenderBlock::beforeSideVisualOverflowForLine): 10314 (WebCore::RenderBlock::afterSideVisualOverflowForLine): 10315 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): 10316 (WebCore::RenderBlock::afterSideLayoutOverflowForLine): 10317 * rendering/RenderBox.cpp: 10318 (WebCore::RenderBox::scrollWidth): 10319 (WebCore::RenderBox::scrollHeight): 10320 * rendering/RenderBox.h: 10321 (WebCore::RenderBox::minYLayoutOverflow): 10322 (WebCore::RenderBox::maxYLayoutOverflow): 10323 (WebCore::RenderBox::minXLayoutOverflow): 10324 (WebCore::RenderBox::maxXLayoutOverflow): 10325 (WebCore::RenderBox::logicalLeftLayoutOverflow): 10326 (WebCore::RenderBox::logicalRightLayoutOverflow): 10327 (WebCore::RenderBox::minYVisualOverflow): 10328 (WebCore::RenderBox::maxYVisualOverflow): 10329 (WebCore::RenderBox::minXVisualOverflow): 10330 (WebCore::RenderBox::maxXVisualOverflow): 10331 (WebCore::RenderBox::logicalLeftVisualOverflow): 10332 (WebCore::RenderBox::logicalRightVisualOverflow): 10333 * rendering/RenderInline.cpp: 10334 (WebCore::RenderInline::linesVisualOverflowBoundingBox): 10335 * rendering/RenderLayerCompositor.cpp: 10336 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 10337 * rendering/RenderLineBoxList.cpp: 10338 (WebCore::RenderLineBoxList::anyLineIntersectsRect): 10339 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): 10340 (WebCore::RenderLineBoxList::paint): 10341 (WebCore::RenderLineBoxList::hitTest): 10342 * rendering/RenderMarquee.cpp: 10343 (WebCore::RenderMarquee::computePosition): 10344 * rendering/RenderOverflow.h: 10345 (WebCore::RenderOverflow::RenderOverflow): 10346 (WebCore::RenderOverflow::minYLayoutOverflow): 10347 (WebCore::RenderOverflow::maxYLayoutOverflow): 10348 (WebCore::RenderOverflow::minXLayoutOverflow): 10349 (WebCore::RenderOverflow::maxXLayoutOverflow): 10350 (WebCore::RenderOverflow::minYVisualOverflow): 10351 (WebCore::RenderOverflow::maxYVisualOverflow): 10352 (WebCore::RenderOverflow::minXVisualOverflow): 10353 (WebCore::RenderOverflow::maxXVisualOverflow): 10354 (WebCore::RenderOverflow::setminYVisualOverflow): 10355 (WebCore::RenderOverflow::visualOverflowRect): 10356 (WebCore::RenderOverflow::move): 10357 (WebCore::RenderOverflow::addVisualOverflow): 10358 (WebCore::RenderOverflow::setVisualOverflow): 10359 * rendering/RenderReplaced.cpp: 10360 (WebCore::RenderReplaced::shouldPaint): 10361 * rendering/RenderTable.cpp: 10362 (WebCore::RenderTable::layout): 10363 (WebCore::RenderTable::paint): 10364 * rendering/RenderTableCell.cpp: 10365 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 10366 * rendering/RenderTreeAsText.cpp: 10367 (WebCore::writeLayers): 10368 * rendering/RenderView.cpp: 10369 (WebCore::RenderView::docTop): 10370 10371 2011-02-02 Steve Lacey <sjl (a] chromium.org> 10372 10373 Reviewed by Eric Carlson. 10374 10375 Implement basic media statistics on media elements. 10376 https://bugs.webkit.org/show_bug.cgi?id=53322 10377 10378 * Configurations/FeatureDefines.xcconfig: 10379 * GNUmakefile.am: 10380 * features.pri: 10381 * html/HTMLMediaElement.cpp: 10382 (WebCore::HTMLMediaElement::webkitAudioBytesDecoded): 10383 (WebCore::HTMLMediaElement::webkitVideoBytesDecoded): 10384 * html/HTMLMediaElement.h: 10385 * html/HTMLMediaElement.idl: 10386 * html/HTMLVideoElement.cpp: 10387 (WebCore::HTMLVideoElement::webkitDecodedFrames): 10388 (WebCore::HTMLVideoElement::webkitDroppedFrames): 10389 * html/HTMLVideoElement.h: 10390 * html/HTMLVideoElement.idl: 10391 * platform/graphics/MediaPlayer.cpp: 10392 (WebCore::MediaPlayer::decodedFrames): 10393 (WebCore::MediaPlayer::droppedFrames): 10394 (WebCore::MediaPlayer::audioBytesDecoded): 10395 (WebCore::MediaPlayer::videoBytesDecoded): 10396 * platform/graphics/MediaPlayer.h: 10397 * platform/graphics/MediaPlayerPrivate.h: 10398 (WebCore::MediaPlayerPrivateInterface::decodedFrames): 10399 (WebCore::MediaPlayerPrivateInterface::droppedFrames): 10400 (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded): 10401 (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded): 10402 10403 2011-02-02 Luiz Agostini <luiz.agostini (a] openbossa.org> 10404 10405 Reviewed by David Hyatt. 10406 10407 More conversion from right()/bottom() to maxX()/maxY(). 10408 10409 * page/qt/FrameQt.cpp: 10410 (WebCore::Frame::dragImageForSelection): 10411 * platform/graphics/qt/GraphicsContextQt.cpp: 10412 (WebCore::GraphicsContext::roundToDevicePixels): 10413 10414 2011-02-02 Kevin Ollivier <kevino (a] theolliviers.com> 10415 10416 [wx] Build fixes for wxWebKit. 10417 10418 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: 10419 (documentWrite): 10420 * bindings/scripts/CodeGeneratorCPP.pm: 10421 * page/wx/DragControllerWx.cpp: 10422 (WebCore::DragController::dragOperation): 10423 * platform/graphics/wx/FontCustomPlatformData.h: 10424 * platform/graphics/wx/FontPlatformData.h: 10425 (WebCore::FontPlatformData::widthVariant): 10426 * platform/graphics/wx/FontPlatformDataWx.cpp: 10427 (WebCore::FontPlatformData::computeHash): 10428 * platform/graphics/wx/FontWx.cpp: 10429 * platform/graphics/wx/GraphicsContextWx.cpp: 10430 (WebCore::GraphicsContext::fillPath): 10431 (WebCore::GraphicsContext::strokePath): 10432 * platform/wx/RenderThemeWx.cpp: 10433 10434 2011-02-02 David Hyatt <hyatt (a] apple.com> 10435 10436 Reviewed by Darin Adler. 10437 10438 More right()/bottom() to maxX()/maxY() conversion. 10439 10440 * page/chromium/FrameChromium.cpp: 10441 (WebCore::Frame::nodeImage): 10442 (WebCore::Frame::dragImageForSelection): 10443 10444 2011-02-02 Sam Weinig <sam (a] webkit.org> 10445 10446 Fix windows clean build. 10447 10448 * DerivedSources.make: 10449 10450 2011-02-02 Mikhail Naganov <mnaganov (a] chromium.org> 10451 10452 Reviewed by Pavel Feldman. 10453 10454 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2. 10455 10456 https://bugs.webkit.org/show_bug.cgi?id=53606 10457 10458 Display progress while taking a snapshot, and hints while loading 10459 and parsing. This is needed because taking detailed heap snapshots 10460 takes time. 10461 10462 * English.lproj/localizedStrings.js: 10463 * inspector/front-end/DetailedHeapshotView.js: 10464 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked): 10465 * inspector/front-end/ProfilesPanel.js: 10466 (WebInspector.ProfilesPanel.prototype._reset): 10467 (WebInspector.ProfilesPanel.prototype._addProfileHeader): 10468 (WebInspector.ProfilesPanel.prototype.getProfiles): 10469 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): 10470 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): 10471 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 10472 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): 10473 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): 10474 * inspector/front-end/SidebarTreeElement.js: 10475 (WebInspector.SidebarTreeElement.prototype.refreshTitles): 10476 10477 2011-02-02 David Hyatt <hyatt (a] apple.com> 10478 10479 Reviewed by Darin Adler. 10480 10481 More conversion from right()/bottom() to maxX()/maxY(). 10482 10483 * platform/win/PopupMenuWin.cpp: 10484 (WebCore::PopupMenuWin::calculatePositionAndSize): 10485 (WebCore::PopupMenuWin::paint): 10486 10487 2011-02-02 David Hyatt <hyatt (a] apple.com> 10488 10489 Reviewed by Darin Adler. 10490 10491 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet. 10492 10493 * platform/chromium/PopupMenuChromium.cpp: 10494 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): 10495 (WebCore::PopupListBox::scrollToRevealRow): 10496 (WebCore::PopupListBox::layout): 10497 * platform/graphics/FloatRect.h: 10498 * platform/graphics/IntRect.h: 10499 * platform/graphics/cairo/ImageBufferCairo.cpp: 10500 (WebCore::getImageData): 10501 (WebCore::putImageData): 10502 * platform/graphics/chromium/GLES2Canvas.cpp: 10503 (WebCore::GLES2Canvas::drawTexturedRect): 10504 * platform/graphics/chromium/LayerRendererChromium.cpp: 10505 (WebCore::LayerRendererChromium::verticalScrollbarRect): 10506 (WebCore::LayerRendererChromium::horizontalScrollbarRect): 10507 (WebCore::LayerRendererChromium::setScissorToRect): 10508 (WebCore::LayerRendererChromium::setDrawViewportRect): 10509 * platform/graphics/chromium/LayerTilerChromium.cpp: 10510 (WebCore::LayerTilerChromium::contentRectToTileIndices): 10511 (WebCore::LayerTilerChromium::growLayerToContain): 10512 * platform/graphics/gpu/TilingData.cpp: 10513 (WebCore::TilingData::tileBoundsWithBorder): 10514 (WebCore::TilingData::overlappedTileIndices): 10515 * platform/graphics/qt/ImageBufferQt.cpp: 10516 (WebCore::getImageData): 10517 (WebCore::putImageData): 10518 * platform/graphics/skia/FloatRectSkia.cpp: 10519 (WebCore::FloatRect::operator SkRect): 10520 * platform/graphics/skia/ImageBufferSkia.cpp: 10521 (WebCore::getImageData): 10522 (WebCore::putImageData): 10523 * platform/graphics/skia/IntRectSkia.cpp: 10524 (WebCore::IntRect::operator SkIRect): 10525 (WebCore::IntRect::operator SkRect): 10526 * platform/graphics/skia/PlatformContextSkia.cpp: 10527 (WebCore::PlatformContextSkia::beginLayerClippedToImage): 10528 * platform/graphics/win/GraphicsContextWin.cpp: 10529 (WebCore::GraphicsContextPlatformPrivate::clip): 10530 * platform/graphics/win/IntRectWin.cpp: 10531 (WebCore::IntRect::operator RECT): 10532 * platform/graphics/win/UniscribeController.cpp: 10533 (WebCore::UniscribeController::shapeAndPlaceItem): 10534 * platform/graphics/wince/GraphicsContextWinCE.cpp: 10535 (WebCore::roundRect): 10536 (WebCore::mapRect): 10537 (WebCore::TransparentLayerDC::TransparentLayerDC): 10538 (WebCore::GraphicsContext::drawRect): 10539 (WebCore::GraphicsContext::drawEllipse): 10540 (WebCore::GraphicsContext::strokeArc): 10541 (WebCore::GraphicsContext::clip): 10542 (WebCore::GraphicsContext::clipOut): 10543 (WebCore::GraphicsContext::strokeRect): 10544 * platform/image-decoders/gif/GIFImageDecoder.cpp: 10545 (WebCore::GIFImageDecoder::initFrameBuffer): 10546 * platform/win/PopupMenuWin.cpp: 10547 (WebCore::PopupMenuWin::calculatePositionAndSize): 10548 (WebCore::PopupMenuWin::paint): 10549 * plugins/win/PluginViewWin.cpp: 10550 (WebCore::PluginView::updatePluginWidget): 10551 (WebCore::PluginView::invalidateRect): 10552 * rendering/RenderThemeSafari.cpp: 10553 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 10554 (WebCore::RenderThemeSafari::paintMenuListButton): 10555 (WebCore::RenderThemeSafari::paintSliderTrack): 10556 * rendering/RenderThemeWin.cpp: 10557 (WebCore::RenderThemeWin::paintInnerSpinButton): 10558 (WebCore::RenderThemeWin::paintMenuListButton): 10559 10560 2011-02-02 Antti Koivisto <antti (a] apple.com> 10561 10562 Reviewed by Maciej Stachowiak. 10563 10564 Use Vector instead of a linked list for rules in CSSStyleSelector 10565 https://bugs.webkit.org/show_bug.cgi?id=53581 10566 10567 - eliminate CSSRuleDataList, replace with Vector<RuleData> 10568 - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 10569 (these are selector internal classes, CSS prefix is better reserved for public ones). 10570 - constify a bit 10571 - shrink the vectors to fit after collecting the rules 10572 10573 * css/CSSStyleSelector.cpp: 10574 (WebCore::RuleData::RuleData): 10575 (WebCore::RuleData::position): 10576 (WebCore::RuleData::rule): 10577 (WebCore::RuleData::selector): 10578 (WebCore::RuleSet::disableAutoShrinkToFit): 10579 (WebCore::RuleSet::getIDRules): 10580 (WebCore::RuleSet::getClassRules): 10581 (WebCore::RuleSet::getTagRules): 10582 (WebCore::RuleSet::getPseudoRules): 10583 (WebCore::RuleSet::getUniversalRules): 10584 (WebCore::RuleSet::getPageRules): 10585 (WebCore::collectSiblingRulesInDefaultStyle): 10586 (WebCore::CSSStyleSelector::CSSStyleSelector): 10587 (WebCore::loadFullDefaultStyle): 10588 (WebCore::loadSimpleDefaultStyle): 10589 (WebCore::loadViewSourceStyle): 10590 (WebCore::CSSStyleSelector::matchRules): 10591 (WebCore::CSSStyleSelector::matchRulesForList): 10592 (WebCore::operator >): 10593 (WebCore::operator <=): 10594 (WebCore::CSSStyleSelector::sortMatchedRules): 10595 (WebCore::CSSStyleSelector::matchUARules): 10596 (WebCore::RuleSet::RuleSet): 10597 (WebCore::RuleSet::~RuleSet): 10598 (WebCore::RuleSet::addToRuleSet): 10599 (WebCore::RuleSet::addRule): 10600 (WebCore::RuleSet::addPageRule): 10601 (WebCore::RuleSet::addRulesFromSheet): 10602 (WebCore::RuleSet::addStyleRule): 10603 (WebCore::collectIdsAndSiblingRulesFromList): 10604 (WebCore::RuleSet::collectIdsAndSiblingRules): 10605 (WebCore::shrinkMapVectorsToFit): 10606 (WebCore::RuleSet::shrinkToFit): 10607 (WebCore::CSSStyleSelector::matchPageRules): 10608 (WebCore::CSSStyleSelector::matchPageRulesForList): 10609 * css/CSSStyleSelector.h: 10610 (WebCore::CSSStyleSelector::addMatchedRule): 10611 10612 2011-02-02 Andrey Adaikin <aandrey (a] google.com> 10613 10614 Reviewed by Pavel Feldman. 10615 10616 Web Inspector: Use DIVs instead of TABLE in TextViewer 10617 https://bugs.webkit.org/show_bug.cgi?id=53299 10618 10619 * inspector/front-end/SourceFrame.js: 10620 (WebInspector.SourceFrame.prototype._createTextViewer): 10621 (WebInspector.SourceFrame.prototype._mouseDown): 10622 * inspector/front-end/TextViewer.js: 10623 (WebInspector.TextViewer): 10624 (WebInspector.TextViewer.prototype.set mimeType): 10625 (WebInspector.TextViewer.prototype.revealLine): 10626 (WebInspector.TextViewer.prototype.addDecoration): 10627 (WebInspector.TextViewer.prototype.removeDecoration): 10628 (WebInspector.TextViewer.prototype.markAndRevealRange): 10629 (WebInspector.TextViewer.prototype.highlightLine): 10630 (WebInspector.TextViewer.prototype.clearLineHighlight): 10631 (WebInspector.TextViewer.prototype.freeCachedElements): 10632 (WebInspector.TextViewer.prototype._handleKeyDown): 10633 (WebInspector.TextViewer.prototype.editLine.finishEditing): 10634 (WebInspector.TextViewer.prototype.editLine): 10635 (WebInspector.TextViewer.prototype.beginUpdates): 10636 (WebInspector.TextViewer.prototype.endUpdates): 10637 (WebInspector.TextViewer.prototype.resize): 10638 (WebInspector.TextViewer.prototype._textChanged): 10639 (WebInspector.TextViewer.prototype._updatePanelOffsets): 10640 (WebInspector.TextViewer.prototype._syncScroll): 10641 (WebInspector.TextViewer.prototype._syncDecorationsForLine): 10642 (WebInspector.TextEditorChunkedPanel): 10643 (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener): 10644 (WebInspector.TextEditorChunkedPanel.prototype.get textModel): 10645 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration): 10646 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): 10647 (WebInspector.TextEditorChunkedPanel.prototype.revealLine): 10648 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): 10649 (WebInspector.TextEditorChunkedPanel.prototype.textChanged): 10650 (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates): 10651 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates): 10652 (WebInspector.TextEditorChunkedPanel.prototype.resize): 10653 (WebInspector.TextEditorChunkedPanel.prototype._scroll): 10654 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll): 10655 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks): 10656 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): 10657 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine): 10658 (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine): 10659 (WebInspector.TextEditorGutterPanel): 10660 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements): 10661 (WebInspector.TextEditorGutterPanel.prototype._createNewChunk): 10662 (WebInspector.TextEditorGutterPanel.prototype._expandChunks): 10663 (WebInspector.TextEditorGutterChunk): 10664 (WebInspector.TextEditorGutterChunk.prototype.get expanded): 10665 (WebInspector.TextEditorGutterChunk.prototype.set expanded): 10666 (WebInspector.TextEditorGutterChunk.prototype.get height): 10667 (WebInspector.TextEditorGutterChunk.prototype._createRow): 10668 (WebInspector.TextEditorMainPanel): 10669 (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine): 10670 (WebInspector.TextEditorMainPanel.prototype.set mimeType): 10671 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange): 10672 (WebInspector.TextEditorMainPanel.prototype.highlightLine): 10673 (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight): 10674 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements): 10675 (WebInspector.TextEditorMainPanel.prototype._buildChunks): 10676 (WebInspector.TextEditorMainPanel.prototype._createNewChunk): 10677 (WebInspector.TextEditorMainPanel.prototype._expandChunks): 10678 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): 10679 (WebInspector.TextEditorMainPanel.prototype._paintLines): 10680 (WebInspector.TextEditorMainPanel.prototype._paintLine): 10681 (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight): 10682 (WebInspector.TextEditorMainPanel.prototype._getSelection): 10683 (WebInspector.TextEditorMainPanel.prototype._restoreSelection): 10684 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition): 10685 (WebInspector.TextEditorMainPanel.prototype._positionToSelection): 10686 (WebInspector.TextEditorMainPanel.prototype._appendTextNode): 10687 (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates): 10688 (WebInspector.TextEditorMainChunk): 10689 (WebInspector.TextEditorMainChunk.prototype.addDecoration): 10690 (WebInspector.TextEditorMainChunk.prototype.set expanded): 10691 (WebInspector.TextEditorMainChunk.prototype.get height): 10692 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow): 10693 (WebInspector.TextEditorMainChunk.prototype._createRow): 10694 (WebInspector): 10695 * inspector/front-end/textViewer.css: 10696 (.text-editor-lines): 10697 (.text-editor-contents): 10698 (.text-editor-editable): 10699 (.webkit-line-decorations): 10700 (.webkit-line-number): 10701 (.webkit-execution-line.webkit-line-content): 10702 (.diff-container .webkit-added-line.webkit-line-content): 10703 (.diff-container .webkit-removed-line.webkit-line-content): 10704 (.diff-container .webkit-changed-line.webkit-line-content): 10705 (.webkit-highlighted-line.webkit-line-content): 10706 10707 2011-02-02 Hans Wennborg <hans (a] chromium.org> 10708 10709 Reviewed by Jeremy Orlow. 10710 10711 IndexedDB: Implement support for cursor updates 10712 https://bugs.webkit.org/show_bug.cgi?id=53421 10713 10714 Implement support for cursor updates using the same pattern as cursor 10715 deletes: forward the calls to the IDBObjectStoreBackend::put(). 10716 The put() function's signature needs to be changed to allow for a 10717 "cursor update mode". This makes the signature more clear anyway, 10718 since it replaces the boolean parameter. 10719 10720 Test: storage/indexeddb/cursor-update.html 10721 10722 * storage/IDBCursor.idl: 10723 * storage/IDBCursorBackendImpl.cpp: 10724 (WebCore::IDBCursorBackendImpl::key): 10725 (WebCore::IDBCursorBackendImpl::update): 10726 * storage/IDBCursorBackendImpl.h: 10727 * storage/IDBObjectStore.cpp: 10728 (WebCore::IDBObjectStore::add): 10729 (WebCore::IDBObjectStore::put): 10730 * storage/IDBObjectStoreBackendImpl.cpp: 10731 (WebCore::IDBObjectStoreBackendImpl::put): 10732 (WebCore::IDBObjectStoreBackendImpl::putInternal): 10733 * storage/IDBObjectStoreBackendImpl.h: 10734 * storage/IDBObjectStoreBackendInterface.h: 10735 10736 2011-02-02 Naoki Takano <takano.naoki (a] gmail.com> 10737 10738 Reviewed by Kent Tamura. 10739 10740 Fix popup menu RTL bug introduced by Changeset 75982. 10741 https://bugs.webkit.org/show_bug.cgi?id=53567 10742 10743 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect(). 10744 10745 No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html 10746 10747 * platform/chromium/PopupMenuChromium.cpp: 10748 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position. 10749 (WebCore::PopupContainer::showPopup): Change the passing parameter. 10750 (WebCore::PopupContainer::refresh): Change the passing parameter. 10751 * platform/chromium/PopupMenuChromium.h: Change the parameter declaration. 10752 10753 2011-02-02 Alejandro G. Castro <alex (a] igalia.com> 10754 10755 Reviewed by Martin Robinson. 10756 10757 [GTK] Fix dist compilation 10758 https://bugs.webkit.org/show_bug.cgi?id=53579 10759 10760 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was 10761 added in r77153. 10762 10763 2011-02-02 Dai Mikurube <dmikurube (a] google.com> 10764 10765 Reviewed by David Levin. 10766 10767 Make mime type lookup in File::create(path) thread-safe 10768 https://bugs.webkit.org/show_bug.cgi?id=47700 10769 10770 This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe(). 10771 The function is to be called as a thread-safe version of getMIMETypeForExtension() when 10772 both FILE_SYSTEM and WORKERS are enabled. 10773 10774 No tests for this patch. This patch itself doesn't change the behaviors. 10775 For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe(). 10776 For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS. 10777 The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these 10778 platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms. 10779 10780 * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS. 10781 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10782 * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform. 10783 * platform/android/TemporaryLinkStubs.cpp: 10784 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10785 * platform/brew/MIMETypeRegistryBrew.cpp: 10786 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10787 * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled. 10788 (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe): 10789 * platform/efl/MIMETypeRegistryEfl.cpp: 10790 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10791 * platform/gtk/MIMETypeRegistryGtk.cpp: 10792 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10793 * platform/haiku/MIMETypeRegistryHaiku.cpp: 10794 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10795 * platform/mac/MIMETypeRegistryMac.mm: 10796 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10797 * platform/qt/MIMETypeRegistryQt.cpp: 10798 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10799 * platform/win/MIMETypeRegistryWin.cpp: 10800 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10801 * platform/wince/MIMETypeRegistryWinCE.cpp: 10802 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10803 * platform/wx/MimeTypeRegistryWx.cpp: 10804 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 10805 10806 2011-02-01 Adam Barth <abarth (a] webkit.org> 10807 10808 Reviewed by Alexey Proskuryakov. 10809 10810 Improve readability of updateWidget by converting bool parameter to an enum 10811 https://bugs.webkit.org/show_bug.cgi?id=53576 10812 10813 As requested on webkit-dev. 10814 10815 * html/HTMLEmbedElement.cpp: 10816 (WebCore::HTMLEmbedElement::updateWidget): 10817 * html/HTMLEmbedElement.h: 10818 * html/HTMLMediaElement.cpp: 10819 (WebCore::HTMLMediaElement::updateWidget): 10820 * html/HTMLMediaElement.h: 10821 * html/HTMLObjectElement.cpp: 10822 (WebCore::HTMLObjectElement::updateWidget): 10823 * html/HTMLObjectElement.h: 10824 * html/HTMLPlugInImageElement.cpp: 10825 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): 10826 * html/HTMLPlugInImageElement.h: 10827 * page/FrameView.cpp: 10828 (WebCore::FrameView::updateWidget): 10829 10830 2011-02-01 James Robinson <jamesr (a] chromium.org> 10831 10832 Reviewed by Adam Barth. 10833 10834 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit 10835 https://bugs.webkit.org/show_bug.cgi?id=53566 10836 10837 A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html. 10838 Other than being large enough for this one test case, this limit is arbitrary. 10839 10840 * bindings/v8/V8Proxy.h: 10841 10842 2011-02-01 Adam Barth <abarth (a] webkit.org> 10843 10844 Reviewed by Andreas Kling. 10845 10846 Remove useless comment 10847 https://bugs.webkit.org/show_bug.cgi?id=53549 10848 10849 The reason for this parameter is captured in 10850 plugins/netscape-plugin-setwindow-size.html, which is a better place to 10851 capture it than in this comment (which otherwise just re-iterates the 10852 name of the parameter). 10853 10854 * html/HTMLPlugInImageElement.cpp: 10855 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): 10856 10857 2011-02-01 James Simonsen <simonjam (a] chromium.org> 10858 10859 Reviewed by Tony Gentilcore. 10860 10861 [WebTiming] Remove asserts that verify timestamp order 10862 https://bugs.webkit.org/show_bug.cgi?id=53548 10863 10864 Covered by existing tests. 10865 10866 * loader/FrameLoader.cpp: 10867 (WebCore::FrameLoader::stopLoading): Remove assert. 10868 * page/DOMWindow.cpp: 10869 (WebCore::DOMWindow::dispatchTimedEvent): Ditto. 10870 10871 2011-02-01 Dimitri Glazkov <dglazkov (a] chromium.org> 10872 10873 Add the 'default_targets' enclosure to the flags. 10874 10875 * WebCore.gyp/WebCore.gyp: Did it. 10876 10877 2011-02-01 Mihai Parparita <mihaip (a] chromium.org> 10878 10879 Reviewed by James Robinson. 10880 10881 Async event handlers should not fire within a modal dialog 10882 https://bugs.webkit.org/show_bug.cgi?id=53202 10883 10884 Asychronous events that use EventQueue would currently fire while a 10885 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a 10886 SuspendableTimer (which automatically gets suspended while dialogs are 10887 up and in other cases where JS execution is not allowed). 10888 10889 Test: fast/events/scroll-event-during-modal-dialog.html 10890 10891 * dom/Document.cpp: 10892 (WebCore::Document::Document): 10893 * dom/EventQueue.cpp: 10894 (WebCore::EventQueueTimer::EventQueueTimer): 10895 (WebCore::EventQueueTimer::fired): 10896 (WebCore::EventQueue::EventQueue): 10897 (WebCore::EventQueue::enqueueEvent): 10898 (WebCore::EventQueue::pendingEventTimerFired): 10899 * dom/EventQueue.h: 10900 (WebCore::EventQueue::create): 10901 * page/SuspendableTimer.cpp: 10902 (WebCore::SuspendableTimer::SuspendableTimer): 10903 (WebCore::SuspendableTimer::suspend): 10904 (WebCore::SuspendableTimer::resume): 10905 * page/SuspendableTimer.h: 10906 10907 2011-02-01 Patrick Gansterer <paroga (a] webkit.org> 10908 10909 Reviewed by Andreas Kling. 10910 10911 Change wrong PLATFORM(WIN) to USE(WININET) 10912 https://bugs.webkit.org/show_bug.cgi?id=53547 10913 10914 * platform/network/ResourceHandle.h: 10915 10916 2011-02-01 Beth Dakin <bdakin (a] apple.com> 10917 10918 32-bit build fix. 10919 10920 * platform/mac/ScrollAnimatorMac.mm: 10921 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): 10922 10923 2011-01-25 Martin Robinson <mrobinson (a] igalia.com> 10924 10925 Reviewed by Gustavo Noronha Silva. 10926 10927 [GTK] Two tests crash after r76555 10928 https://bugs.webkit.org/show_bug.cgi?id=53057 10929 10930 Instead of creating synchronous ResourceHandles manually, use the ::create factory. 10931 This ensures that ::start() is not called when there is a scheduled failure and also 10932 reduces code duplication. 10933 10934 * platform/network/soup/ResourceHandleSoup.cpp: 10935 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method. 10936 10937 2011-02-01 Martin Robinson <mrobinson (a] igalia.com> 10938 10939 Reviewed by Eric Seidel. 10940 10941 [GTK] GObject DOM bindings do no support the CallWith attribute 10942 https://bugs.webkit.org/show_bug.cgi?id=53331 10943 10944 Disable building GObject DOM bindings for IndexedDB because we do not support 10945 the CallWith attribute at this time. 10946 10947 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API. 10948 10949 2011-02-01 Darin Adler <darin (a] apple.com> 10950 10951 Reviewed by Brady Eidson. 10952 10953 Fix a couple loose ends from the back/forward tree encode/decode work 10954 https://bugs.webkit.org/show_bug.cgi?id=53537 10955 10956 * history/HistoryItem.cpp: 10957 (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of 10958 original URL string; no need to encode it twice. 10959 (WebCore::HistoryItem::decodeBackForwardTree): Ditto. 10960 * history/HistoryItem.h: Removed declaration for function that is no 10961 longer defined nor used. 10962 10963 2011-02-01 Tony Chang <tony (a] chromium.org> 10964 10965 Reviewed by Kent Tamura. 10966 10967 [chromium] disable arm uninitialized variable warnings 10968 https://bugs.webkit.org/show_bug.cgi?id=53553 10969 10970 We just got another error: 10971 third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error: 10972 'colorTransparent.unstatic.4879' may be used uninitialized in this 10973 function 10974 10975 * WebCore.gyp/WebCore.gyp: 10976 10977 2011-02-01 chris reiss <christopher.reiss (a] nokia.com> 10978 10979 Reviewed by Adam Barth. 10980 10981 Self-replicating code makes Safari hang and eventually crash 10982 https://bugs.webkit.org/show_bug.cgi?id=15123 10983 10984 10985 Here we are replicating the Firefox safeguard against 10986 recursive document.write( ) 's. 10987 10988 See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 10989 https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things - 10990 a) imposes a recursion limit of 20 on document.write( ) and 10991 b) once that limit is passed, panics all the way the call stack (rather than just returning one level.) 10992 To see why this is necessary, consider the script : 10993 10994 <script> 10995 var t = document.body.innerHTML; 10996 document.write(t); 10997 </script> 10998 10999 This will create a tree both broad and deep as the script keeps appending itself to the text. If 11000 we just return one level after the recursion limit is reached, we still allow millions of copies to 11001 duplicate (and execute). 11002 11003 The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack 11004 to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.) 11005 11006 Test: fast/dom/Document/document-write-recursion.html 11007 Test: fast/dom/Document/document-close-iframe-load.html 11008 Test: fast/dom/Document/document-close-nested-iframe-load.html 11009 11010 11011 * dom/Document.cpp: 11012 (WebCore::Document::Document): 11013 (WebCore::Document::write): 11014 * dom/Document.h: 11015 11016 2011-02-01 Johnny Ding <jnd (a] chromium.org> 11017 11018 Reviewed by Darin Adler. 11019 11020 Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event. 11021 https://bugs.webkit.org/show_bug.cgi?id=53424 11022 11023 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html 11024 11025 * html/HTMLAnchorElement.cpp: 11026 (WebCore::handleLinkClick): 11027 11028 2011-02-01 Csaba Osztrogonc <ossy (a] webkit.org> 11029 11030 Unreviewed Qt buildfix after r77286. 11031 11032 https://bugs.webkit.org/show_bug.cgi?id=53520 11033 Remove the physical terminology from IntRect and FloatRect. 11034 11035 * platform/graphics/TiledBackingStore.cpp: 11036 (WebCore::TiledBackingStore::createTiles): 11037 11038 2011-02-01 Sam Weinig <sam (a] webkit.org> 11039 11040 Fix Mac production builds. 11041 11042 * DerivedSources.make: 11043 * WebCore.xcodeproj/project.pbxproj: 11044 * platform/mac/ScrollAnimatorMac.h: 11045 * platform/mac/ScrollbarThemeMac.h: 11046 11047 2011-02-01 Darin Adler <darin (a] apple.com> 11048 11049 Reviewed by Chris Fleizach. 11050 11051 REGRESSION: Removing focus from area element causes unwanted scrolling 11052 https://bugs.webkit.org/show_bug.cgi?id=50169 11053 11054 Test: fast/images/imagemap-scroll.html 11055 11056 * html/HTMLAreaElement.cpp: 11057 (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new 11058 RenderImage::areaElementFocusChanged function. 11059 (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code 11060 here that calls setNeedsLayout on the image's renderer. This was an 11061 attempt to cause repaint of the renderer, but this function does not 11062 need to do that. Also changed this to use the imageElement function 11063 to avoid repeating code. 11064 11065 * html/HTMLAreaElement.h: Updated for above changes. 11066 11067 * rendering/RenderImage.cpp: 11068 (WebCore::RenderImage::paint): Updated for name change. 11069 (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from 11070 paintFocusRing, because it only paints area focus rings, and should 11071 not be confused with paintFocusRing functions in other classes. Also 11072 removed the unused style argument. Removed the code that used an 11073 HTMLCollection to see if the focused area element is for this image 11074 and instead just call imageElement on the area element. 11075 (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint. 11076 11077 * rendering/RenderImage.h: Added a public areaElementFocusChanged 11078 function for HTMLAreaElement to call. Made the paintFocusRing function 11079 private, renamed it to paintAreaElementFocusRing, and removed its 11080 unused style argument. 11081 11082 2011-02-01 Patrick Gansterer <paroga (a] webkit.org> 11083 11084 Unreviewed WinCE build fix for r77286. 11085 11086 * platform/graphics/wince/GraphicsContextWinCE.cpp: 11087 (WebCore::TransparentLayerDC::TransparentLayerDC): 11088 11089 2011-02-01 Chris Fleizach <cfleizach (a] apple.com> 11090 11091 Reviewed by Darin Adler. 11092 11093 AX: AXPosition of AXScrollArea is wrong 11094 https://bugs.webkit.org/show_bug.cgi?id=53511 11095 11096 AccessibilityScrollView needed to return a valid documentFrameView() object. 11097 At the same time, the code from document() should be consolidated in 11098 AccessibilityObject, so all objects can use it. 11099 11100 Test: platform/mac/accessibility/webkit-scrollarea-position.html 11101 11102 * accessibility/AccessibilityObject.cpp: 11103 (WebCore::AccessibilityObject::document): 11104 * accessibility/AccessibilityObject.h: 11105 * accessibility/AccessibilityScrollView.cpp: 11106 (WebCore::AccessibilityScrollView::accessibilityHitTest): 11107 (WebCore::AccessibilityScrollView::documentFrameView): 11108 * accessibility/AccessibilityScrollView.h: 11109 11110 2011-02-01 Zhenyao Mo <zmo (a] google.com> 11111 11112 Reviewed by Kenneth Russell. 11113 11114 getUniform should support SAMPLER_2D or SAMPLER_CUBE 11115 https://bugs.webkit.org/show_bug.cgi?id=52190 11116 11117 * html/canvas/WebGLRenderingContext.cpp: 11118 (WebCore::WebGLRenderingContext::getUniform): 11119 11120 2011-02-01 Zhenyao Mo <zmo (a] google.com> 11121 11122 Reviewed by Darin Adler. 11123 11124 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp 11125 https://bugs.webkit.org/show_bug.cgi?id=53531 11126 11127 With this fix, running WebGL conformance tests should no longer crash randomly. 11128 11129 * platform/graphics/cg/GraphicsContext3DCG.cpp: 11130 (WebCore::GraphicsContext3D::getImageData): 11131 11132 2011-02-01 Dimitri Glazkov <dglazkov (a] chromium.org> 11133 11134 One more Chromium build fix after r77286. 11135 11136 * platform/chromium/ScrollbarThemeChromiumMac.mm: 11137 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft(). 11138 11139 2011-02-01 Sam Weinig <sam (a] webkit.org> 11140 11141 Fix the build for Beth. 11142 11143 * platform/mac/ScrollAnimatorMac.mm: 11144 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): 11145 11146 2011-02-01 Sam Weinig <sam (a] webkit.org> 11147 11148 Reviewed by Beth Dakin. 11149 11150 Part 2 for <rdar://problem/8492788> 11151 Adopt WKScrollbarPainterController 11152 11153 Use header detection to define scrollbar painting controller #define. 11154 11155 * WebCore.exp.in: 11156 * platform/mac/ScrollAnimatorMac.h: 11157 * platform/mac/ScrollbarThemeMac.h: 11158 * platform/mac/WebCoreSystemInterface.h: 11159 * platform/mac/WebCoreSystemInterface.mm: 11160 11161 2011-02-01 David Hyatt <hyatt (a] apple.com> 11162 11163 Reviewed by Oliver Hunt. 11164 11165 https://bugs.webkit.org/show_bug.cgi?id=53520 11166 11167 Remove the physical terminology from IntRect and FloatRect. 11168 11169 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes, 11170 we need to update our terminology to be more accurate. 11171 11172 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and 11173 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate 11174 even for flipped rectangles. 11175 11176 * accessibility/AccessibilityRenderObject.cpp: 11177 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): 11178 * accessibility/mac/AccessibilityObjectWrapper.mm: 11179 (-[AccessibilityObjectWrapper position]): 11180 * dom/ClientRect.h: 11181 (WebCore::ClientRect::right): 11182 (WebCore::ClientRect::bottom): 11183 * html/HTMLCanvasElement.cpp: 11184 (WebCore::HTMLCanvasElement::convertLogicalToDevice): 11185 * html/canvas/CanvasRenderingContext2D.cpp: 11186 (WebCore::normalizeRect): 11187 * inspector/InspectorAgent.cpp: 11188 (WebCore::InspectorAgent::drawElementTitle): 11189 * page/DOMWindow.cpp: 11190 (WebCore::DOMWindow::adjustWindowRect): 11191 * page/DragController.cpp: 11192 (WebCore::dragLocForSelectionDrag): 11193 * page/EventHandler.cpp: 11194 (WebCore::EventHandler::sendContextMenuEventForKey): 11195 * page/PrintContext.cpp: 11196 (WebCore::PrintContext::computePageRectsWithPageSizeInternal): 11197 (WebCore::PrintContext::pageNumberForElement): 11198 * page/SpatialNavigation.cpp: 11199 (WebCore::end): 11200 (WebCore::areRectsFullyAligned): 11201 (WebCore::areRectsMoreThanFullScreenApart): 11202 (WebCore::below): 11203 (WebCore::rightOf): 11204 (WebCore::isRectInDirection): 11205 (WebCore::entryAndExitPointsForDirection): 11206 (WebCore::virtualRectForDirection): 11207 * page/WindowFeatures.cpp: 11208 (WebCore::WindowFeatures::WindowFeatures): 11209 * platform/ScrollView.cpp: 11210 (WebCore::ScrollView::wheelEvent): 11211 * platform/Scrollbar.cpp: 11212 (WebCore::Scrollbar::setFrameRect): 11213 * platform/ScrollbarThemeComposite.cpp: 11214 (WebCore::ScrollbarThemeComposite::splitTrack): 11215 * platform/chromium/ScrollbarThemeChromium.cpp: 11216 (WebCore::ScrollbarThemeChromium::paintTickmarks): 11217 * platform/graphics/FloatQuad.h: 11218 (WebCore::FloatQuad::FloatQuad): 11219 * platform/graphics/FloatRect.cpp: 11220 (WebCore::FloatRect::intersects): 11221 (WebCore::FloatRect::contains): 11222 (WebCore::FloatRect::intersect): 11223 (WebCore::FloatRect::unite): 11224 (WebCore::enclosingIntRect): 11225 * platform/graphics/FloatRect.h: 11226 (WebCore::FloatRect::maxX): 11227 (WebCore::FloatRect::maxY): 11228 (WebCore::FloatRect::contains): 11229 * platform/graphics/IntRect.cpp: 11230 (WebCore::IntRect::intersects): 11231 (WebCore::IntRect::contains): 11232 (WebCore::IntRect::intersect): 11233 (WebCore::IntRect::unite): 11234 * platform/graphics/IntRect.h: 11235 (WebCore::IntRect::maxX): 11236 (WebCore::IntRect::maxY): 11237 (WebCore::IntRect::shiftXEdgeTo): 11238 (WebCore::IntRect::shiftMaxXEdgeTo): 11239 (WebCore::IntRect::shiftYEdgeTo): 11240 (WebCore::IntRect::shiftMaxYEdgeTo): 11241 (WebCore::IntRect::contains): 11242 * platform/graphics/WidthIterator.cpp: 11243 (WebCore::WidthIterator::advance): 11244 * platform/graphics/cg/GraphicsContextCG.cpp: 11245 (WebCore::GraphicsContext::drawRect): 11246 (WebCore::GraphicsContext::fillPath): 11247 (WebCore::GraphicsContext::fillRect): 11248 * platform/graphics/cg/ImageBufferCG.cpp: 11249 (WebCore::getImageData): 11250 (WebCore::putImageData): 11251 * platform/graphics/cg/ImageCG.cpp: 11252 (WebCore::BitmapImage::draw): 11253 * platform/graphics/filters/FilterEffect.cpp: 11254 (WebCore::FilterEffect::copyImageBytes): 11255 * platform/graphics/mac/ComplexTextController.cpp: 11256 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): 11257 * platform/graphics/mac/SimpleFontDataMac.mm: 11258 (WebCore::SimpleFontData::platformBoundsForGlyph): 11259 * platform/graphics/transforms/AffineTransform.cpp: 11260 (WebCore::AffineTransform::mapRect): 11261 * platform/graphics/win/FontCGWin.cpp: 11262 (WebCore::drawGDIGlyphs): 11263 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 11264 (WebCore::MediaPlayerPrivate::paint): 11265 * platform/gtk/RenderThemeGtk.cpp: 11266 (WebCore::centerRectVerticallyInParentInputElement): 11267 * platform/mac/WidgetMac.mm: 11268 (WebCore::Widget::paint): 11269 * rendering/InlineFlowBox.cpp: 11270 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): 11271 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 11272 * rendering/InlineTextBox.cpp: 11273 (WebCore::InlineTextBox::selectionRect): 11274 (WebCore::InlineTextBox::paint): 11275 (WebCore::InlineTextBox::positionForOffset): 11276 * rendering/RenderBlock.cpp: 11277 (WebCore::RenderBlock::addOverflowFromChildren): 11278 (WebCore::RenderBlock::paintChildren): 11279 (WebCore::RenderBlock::paintEllipsisBoxes): 11280 (WebCore::RenderBlock::inlineSelectionGaps): 11281 (WebCore::RenderBlock::adjustPointToColumnContents): 11282 (WebCore::RenderBlock::flipForWritingModeIncludingColumns): 11283 (WebCore::RenderBlock::adjustForColumns): 11284 * rendering/RenderBlock.h: 11285 (WebCore::RenderBlock::FloatingObject::right): 11286 (WebCore::RenderBlock::FloatingObject::bottom): 11287 * rendering/RenderBox.cpp: 11288 (WebCore::RenderBox::reflectedRect): 11289 (WebCore::RenderBox::localCaretRect): 11290 (WebCore::RenderBox::addShadowOverflow): 11291 (WebCore::RenderBox::addLayoutOverflow): 11292 (WebCore::RenderBox::visualOverflowRectForPropagation): 11293 (WebCore::RenderBox::layoutOverflowRectForPropagation): 11294 (WebCore::RenderBox::flipForWritingMode): 11295 * rendering/RenderFrameSet.cpp: 11296 (WebCore::RenderFrameSet::paintColumnBorder): 11297 (WebCore::RenderFrameSet::paintRowBorder): 11298 * rendering/RenderInline.cpp: 11299 (WebCore::RenderInline::paintOutlineForLine): 11300 * rendering/RenderLayer.cpp: 11301 (WebCore::RenderLayer::getRectToExpose): 11302 (WebCore::cornerRect): 11303 (WebCore::RenderLayer::positionOverflowControls): 11304 (WebCore::RenderLayer::overflowBottom): 11305 (WebCore::RenderLayer::overflowRight): 11306 (WebCore::RenderLayer::paintResizer): 11307 * rendering/RenderLineBoxList.cpp: 11308 (WebCore::RenderLineBoxList::rangeIntersectsRect): 11309 (WebCore::RenderLineBoxList::paint): 11310 * rendering/RenderListItem.cpp: 11311 (WebCore::RenderListItem::positionListMarker): 11312 * rendering/RenderListMarker.cpp: 11313 (WebCore::RenderListMarker::paint): 11314 * rendering/RenderObject.cpp: 11315 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 11316 * rendering/RenderOverflow.h: 11317 (WebCore::RenderOverflow::RenderOverflow): 11318 (WebCore::RenderOverflow::addLayoutOverflow): 11319 (WebCore::RenderOverflow::addVisualOverflow): 11320 (WebCore::RenderOverflow::setLayoutOverflow): 11321 (WebCore::RenderOverflow::setVisualOverflow): 11322 (WebCore::RenderOverflow::resetLayoutOverflow): 11323 * rendering/RenderReplaced.cpp: 11324 (WebCore::RenderReplaced::shouldPaint): 11325 * rendering/RenderScrollbarTheme.cpp: 11326 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): 11327 * rendering/RenderTable.cpp: 11328 (WebCore::RenderTable::paint): 11329 * rendering/RenderTableCell.cpp: 11330 (WebCore::RenderTableCell::paint): 11331 * rendering/RenderTableSection.cpp: 11332 (WebCore::RenderTableSection::paintObject): 11333 * rendering/RenderText.cpp: 11334 (WebCore::RenderText::absoluteQuads): 11335 * rendering/RenderTextControlSingleLine.cpp: 11336 (WebCore::RenderTextControlSingleLine::forwardEvent): 11337 * rendering/RenderThemeMac.mm: 11338 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 11339 (WebCore::RenderThemeMac::paintMenuListButton): 11340 (WebCore::RenderThemeMac::paintSliderTrack): 11341 * rendering/RenderView.cpp: 11342 (WebCore::RenderView::computeRectForRepaint): 11343 (WebCore::RenderView::docBottom): 11344 (WebCore::RenderView::docRight): 11345 * rendering/RootInlineBox.cpp: 11346 (WebCore::RootInlineBox::paddedLayoutOverflowRect): 11347 * rendering/svg/RenderSVGInlineText.cpp: 11348 (WebCore::RenderSVGInlineText::localCaretRect): 11349 11350 2011-02-01 Beth Dakin <bdakin (a] apple.com> 11351 11352 Reviewed by Sam Weinig. 11353 11354 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController 11355 11356 Lots of new WebCoreSystemInterface functions to export. 11357 * WebCore.exp.in: 11358 * platform/mac/WebCoreSystemInterface.h: 11359 * platform/mac/WebCoreSystemInterface.mm: 11360 11361 Let the scrollAnimator know when the mouse has 11362 moved anywhere inside the page, and when the mouse 11363 has moved in or out of the window. 11364 * page/EventHandler.cpp: 11365 (WebCore::EventHandler::mouseMoved): 11366 (WebCore::EventHandler::updateMouseEventTargetNode): 11367 11368 Let the scrollAnimator know when the window has become 11369 active or inactive. 11370 * page/FocusController.cpp: 11371 (WebCore::FocusController::setActive): 11372 11373 Let the scrollAnimator know when all of these things 11374 are happening. 11375 * page/FrameView.cpp: 11376 (WebCore::FrameView::setContentsSize): 11377 (WebCore::FrameView::didMoveOnscreen): 11378 (WebCore::FrameView::willMoveOffscreen): 11379 (WebCore::FrameView::currentMousePosition): 11380 (WebCore::FrameView::contentsResized): 11381 11382 New functions called through WebKit2 that allow the 11383 scrollAnimator to know when a live resize starts and ends. 11384 (WebCore::FrameView::willStartLiveResize): 11385 (WebCore::FrameView::willEndLiveResize): 11386 * page/FrameView.h: 11387 11388 New functions on ScrollAnimator that pass information 11389 to the WKPainterController when we're using one. 11390 * platform/ScrollAnimator.h: 11391 (WebCore::ScrollAnimator::scrollableArea): 11392 (WebCore::ScrollAnimator::contentAreaWillPaint): 11393 (WebCore::ScrollAnimator::mouseEnteredContentArea): 11394 (WebCore::ScrollAnimator::mouseExitedContentArea): 11395 (WebCore::ScrollAnimator::mouseMovedInContentArea): 11396 (WebCore::ScrollAnimator::willStartLiveResize): 11397 (WebCore::ScrollAnimator::contentsResized): 11398 (WebCore::ScrollAnimator::willEndLiveResize): 11399 (WebCore::ScrollAnimator::contentAreaDidShow): 11400 (WebCore::ScrollAnimator::contentAreaDidHide): 11401 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 11402 (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate): 11403 (WebCore::ScrollAnimatorMac::setPainterForPainterController): 11404 (WebCore::ScrollAnimatorMac::removePainterFromPainterController): 11405 (WebCore::ScrollAnimatorMac::notityPositionChanged): 11406 (WebCore::ScrollAnimatorMac::contentAreaWillPaint): 11407 (WebCore::ScrollAnimatorMac::mouseEnteredContentArea): 11408 (WebCore::ScrollAnimatorMac::mouseExitedContentArea): 11409 (WebCore::ScrollAnimatorMac::mouseMovedInContentArea): 11410 (WebCore::ScrollAnimatorMac::willStartLiveResize): 11411 (WebCore::ScrollAnimatorMac::contentsResized): 11412 (WebCore::ScrollAnimatorMac::willEndLiveResize): 11413 (WebCore::ScrollAnimatorMac::contentAreaDidShow): 11414 (WebCore::ScrollAnimatorMac::contentAreaDidHide): 11415 11416 Let the scrollAnimator know when this is happening. 11417 * platform/ScrollView.cpp: 11418 (WebCore::ScrollView::paint): 11419 11420 New function lets the scrollAnimator get the current 11421 mouse position. 11422 * platform/ScrollView.h: 11423 (WebCore::ScrollView::currentMousePosition): 11424 11425 New function that returns the scrollAnimator when needed. 11426 * platform/ScrollableArea.h: 11427 (WebCore::ScrollableArea::scrollAnimator): 11428 11429 Keep track of if we're in a live resize using a new memeber 11430 variable. 11431 * platform/mac/ScrollAnimatorMac.h: 11432 (WebCore::ScrollAnimatorMac::inLiveResize): 11433 * platform/mac/ScrollAnimatorMac.mm: 11434 (WebCore::view): 11435 11436 New delegates for the WKPainter and WKPainterController 11437 (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]): 11438 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]): 11439 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]): 11440 (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): 11441 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]): 11442 (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]): 11443 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): 11444 (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]): 11445 (-[ScrollKnobAnimation setCurrentProgress:]): 11446 (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]): 11447 (-[ScrollbarPainterDelegate convertRectToBacking:]): 11448 (-[ScrollbarPainterDelegate convertRectFromBacking:]): 11449 (-[ScrollbarPainterDelegate layer]): 11450 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]): 11451 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): 11452 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): 11453 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): 11454 11455 Get the WKScrollbarPainterRefs to synch up with the 11456 WKScrollbarPainterControllerRefs when appropriate 11457 * platform/mac/ScrollbarThemeMac.h: 11458 * platform/mac/ScrollbarThemeMac.mm: 11459 (WebCore::ScrollbarThemeMac::registerScrollbar): 11460 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 11461 (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar): 11462 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): 11463 11464 Implement ScrollableArea's virtual function contentsSize() for access 11465 through the scrollAnimator. 11466 * rendering/RenderLayer.h: 11467 (WebCore::RenderLayer::contentsSize): 11468 11469 2011-02-01 Carol Szabo <carol.szabo (a] nokia.com> 11470 11471 Reviewed by David Hyatt. 11472 11473 layoutTestController.counterValueForElementById does not return the correct value 11474 https://bugs.webkit.org/show_bug.cgi?id=53037 11475 11476 Test: fast/css/counters/deep-before.html 11477 11478 * rendering/RenderTreeAsText.cpp: 11479 (WebCore::counterValueForElement): 11480 Modified to use the newly available RenderObject::beforePseudoElement() 11481 and RenderObject::afterPseudoElement() instead of the old imperfect 11482 algorithm to find the before and after pseudo elements. 11483 11484 2011-02-01 Anton Muhin <antonm (a] chromium.org> 11485 11486 Reviewed by Adam Barth. 11487 11488 Allow access for security origin same as this. 11489 https://bugs.webkit.org/show_bug.cgi?id=53440 11490 11491 Hard to test as newly added path currently is never hit. 11492 11493 * page/SecurityOrigin.cpp: 11494 (WebCore::SecurityOrigin::canAccess): allow access if this == other 11495 11496 2011-01-31 Oliver Hunt <oliver (a] apple.com> 11497 11498 Reviewed by Geoffrey Garen. 11499 11500 Update JSObject storage for new marking API 11501 https://bugs.webkit.org/show_bug.cgi?id=53467 11502 11503 Update WebCore to handle new anonymous slot behaviour. 11504 11505 * bindings/js/JSDOMWindowShell.cpp: 11506 (WebCore::JSDOMWindowShell::setWindow): 11507 * bindings/js/WorkerScriptController.cpp: 11508 (WebCore::WorkerScriptController::initScript): 11509 * bindings/scripts/CodeGeneratorJS.pm: 11510 11511 2011-02-01 Xiaomei Ji <xji (a] chromium.org> 11512 11513 Reviewed by David Hyatt. 11514 11515 Fix a text rendering problem when enclosing block is RTL and text runs 11516 are in different directionality. 11517 https://bugs.webkit.org/show_bug.cgi?id=34176 11518 11519 The problem happens in the following example scenario (ABC represents 11520 Hebrew characters): 11521 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div> 11522 11523 The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which 11524 TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1. 11525 TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1. 11526 11527 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2. 11528 11529 Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes() 11530 creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for 11531 the run's render object's ancestor (not only its parent) has already 11532 been constructed or has something following it on the line, in which 11533 case, create a new box for TextRun2 instead of sharing the same box with 11534 TextRun3. 11535 11536 In other words, the following 2 div should render the same results 11537 (ABC represents Hebrew characters). 11538 <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div> 11539 <div dir=rtl>this is a <span>Test <span>ABC</span></span></div> 11540 11541 Test: fast/dom/34176.html 11542 11543 * rendering/RenderBlockLineLayout.cpp: 11544 (WebCore::parentIsConstructedOrHaveNext): 11545 (WebCore::RenderBlock::createLineBoxes): 11546 11547 2011-02-01 Abhishek Arya <inferno (a] chromium.org> 11548 11549 Reviewed by Dan Bernstein. 11550 11551 Do not add a node in the document's stylesheet candidate node list if the 11552 node is already removed from document. 11553 https://bugs.webkit.org/show_bug.cgi?id=53441 11554 11555 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml 11556 11557 * dom/Document.cpp: 11558 (WebCore::Document::addStyleSheetCandidateNode): 11559 11560 2011-02-01 Dave Hyatt <hyatt (a] apple.com> 11561 11562 Reviewed by Darin Adler. 11563 11564 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work 11565 with vertical text. 11566 11567 Change printing functions to check writing-mode and properly swap width and height 11568 as needed. 11569 11570 Fix the setScrollOrigin function so that the origin doesn't cause 11571 scroll spasming during printing (this is only partially successful, but it's better 11572 than it was). 11573 11574 Rewrite computePageRects to handle both RTL documents properly as well as vertical 11575 text documents properly. 11576 11577 * WebCore.exp.in: 11578 * page/FrameView.cpp: 11579 (WebCore::FrameView::adjustViewSize): 11580 (WebCore::FrameView::forceLayoutForPagination): 11581 * page/PrintContext.cpp: 11582 (WebCore::PrintContext::computePageRects): 11583 (WebCore::PrintContext::computePageRectsWithPageSizeInternal): 11584 (WebCore::PrintContext::computeAutomaticScaleFactor): 11585 (WebCore::PrintContext::spoolPage): 11586 (WebCore::PrintContext::spoolRect): 11587 * page/PrintContext.h: 11588 * page/mac/WebCoreFrameView.h: 11589 * platform/ScrollView.cpp: 11590 (WebCore::ScrollView::wheelEvent): 11591 * platform/ScrollView.h: 11592 * platform/mac/ScrollViewMac.mm: 11593 (WebCore::ScrollView::platformSetScrollOrigin): 11594 * rendering/RenderView.cpp: 11595 (WebCore::RenderView::layout): 11596 11597 2011-02-01 Mikhail Naganov <mnaganov (a] chromium.org> 11598 11599 Reviewed by Pavel Feldman. 11600 11601 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium. 11602 11603 https://bugs.webkit.org/show_bug.cgi?id=53500 11604 11605 * inspector/InspectorProfilerAgent.cpp: 11606 (WebCore::InspectorProfilerAgent::resetFrontendProfiles): 11607 11608 2011-02-01 Mikhail Naganov <mnaganov (a] chromium.org> 11609 11610 Reviewed by Pavel Feldman. 11611 11612 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1. 11613 11614 https://bugs.webkit.org/show_bug.cgi?id=53173 11615 11616 Adding code for accessing heap snapshot data and 11617 performing graph calculations. 11618 11619 * English.lproj/localizedStrings.js: 11620 * inspector/front-end/HeapSnapshot.js: 11621 (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying. 11622 (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties. 11623 (WebInspector.HeapSnapshotEdgeIterator): 11624 (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties. 11625 (WebInspector.HeapSnapshotNodeIterator): 11626 (WebInspector.HeapSnapshot): Wrapper for the heap snapshot. 11627 (WebInspector.HeapSnapshotFilteredOrderedIterator): 11628 (WebInspector.HeapSnapshotEdgesProvider): 11629 (WebInspector.HeapSnapshotNodesProvider): 11630 (WebInspector.HeapSnapshotPathFinder): 11631 * inspector/front-end/HeapSnapshotView.js: 11632 (WebInspector.HeapSnapshotView.prototype._convertSnapshot): 11633 11634 2011-02-01 Adam Roben <aroben (a] apple.com> 11635 11636 Fix linker warnings in Release_LTCG builds 11637 11638 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all 11639 configurations, since they get pulled in via DOMAllInOne.cpp. 11640 11641 2011-02-01 Alexander Pavlov <apavlov (a] chromium.org> 11642 11643 Reviewed by Yury Semikhatsky. 11644 11645 Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane 11646 https://bugs.webkit.org/show_bug.cgi?id=53482 11647 11648 * English.lproj/localizedStrings.js: 11649 * inspector/front-end/ElementsPanel.js: 11650 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu): 11651 * inspector/front-end/inspector.js: 11652 (WebInspector.resourceForURL): 11653 (WebInspector.openLinkExternallyLabel): 11654 11655 2011-02-01 Anton Muhin <antonm (a] chromium.org> 11656 11657 Reviewed by Adam Barth. 11658 11659 Propagate parent document security origin to newly create Document XML response 11660 https://bugs.webkit.org/show_bug.cgi?id=53444 11661 11662 Covered by the existing tests. 11663 11664 * xml/XMLHttpRequest.cpp: 11665 (WebCore::XMLHttpRequest::responseXML): 11666 11667 2011-02-01 Yury Semikhatsky <yurys (a] chromium.org> 11668 11669 Unreviewed. Rollout r77230 which caused many layout tests 11670 crashes on Chromium Debug bots. 11671 11672 Async event handlers should not fire within a modal dialog 11673 https://bugs.webkit.org/show_bug.cgi?id=53202 11674 11675 * dom/Document.cpp: 11676 (WebCore::Document::Document): 11677 * dom/EventQueue.cpp: 11678 (WebCore::EventQueue::EventQueue): 11679 (WebCore::EventQueue::enqueueEvent): 11680 (WebCore::EventQueue::pendingEventTimerFired): 11681 * dom/EventQueue.h: 11682 11683 2011-02-01 Zoltan Herczeg <zherczeg (a] webkit.org> 11684 11685 Reviewed by Dirk Schulze. 11686 11687 LightElement changes does not require relayout. 11688 https://bugs.webkit.org/show_bug.cgi?id=53232 11689 11690 When an attribute of a LightElement changes, it 11691 send an update message to the lighting filters 11692 to update its corresponding LightSource objects, 11693 and repaint the filters. 11694 11695 Duplicated 'id' attributes removed from svg-filter-animation.svg. 11696 11697 Existing dynamic-update tests covers this feature. 11698 11699 5x speedup on manual-tests/svg-filter-animation.svg 11700 11701 * manual-tests/svg-filter-animation.svg: 11702 * platform/graphics/filters/DistantLightSource.h: 11703 * platform/graphics/filters/FEDiffuseLighting.cpp: 11704 (WebCore::FEDiffuseLighting::setLightingColor): 11705 (WebCore::FEDiffuseLighting::setSurfaceScale): 11706 (WebCore::FEDiffuseLighting::setDiffuseConstant): 11707 (WebCore::FEDiffuseLighting::setKernelUnitLengthX): 11708 (WebCore::FEDiffuseLighting::setKernelUnitLengthY): 11709 * platform/graphics/filters/FEDiffuseLighting.h: 11710 * platform/graphics/filters/LightSource.cpp: 11711 (WebCore::PointLightSource::setX): 11712 (WebCore::PointLightSource::setY): 11713 (WebCore::PointLightSource::setZ): 11714 (WebCore::SpotLightSource::setX): 11715 (WebCore::SpotLightSource::setY): 11716 (WebCore::SpotLightSource::setZ): 11717 (WebCore::SpotLightSource::setPointsAtX): 11718 (WebCore::SpotLightSource::setPointsAtY): 11719 (WebCore::SpotLightSource::setPointsAtZ): 11720 (WebCore::SpotLightSource::setSpecularExponent): 11721 (WebCore::SpotLightSource::setLimitingConeAngle): 11722 (WebCore::DistantLightSource::setAzimuth): 11723 (WebCore::DistantLightSource::setElevation): 11724 (WebCore::LightSource::setAzimuth): 11725 (WebCore::LightSource::setElevation): 11726 (WebCore::LightSource::setX): 11727 (WebCore::LightSource::setY): 11728 (WebCore::LightSource::setZ): 11729 (WebCore::LightSource::setPointsAtX): 11730 (WebCore::LightSource::setPointsAtY): 11731 (WebCore::LightSource::setPointsAtZ): 11732 (WebCore::LightSource::setSpecularExponent): 11733 (WebCore::LightSource::setLimitingConeAngle): 11734 * platform/graphics/filters/LightSource.h: 11735 * platform/graphics/filters/PointLightSource.h: 11736 * platform/graphics/filters/SpotLightSource.h: 11737 * rendering/svg/RenderSVGResourceFilter.cpp: 11738 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): 11739 * svg/SVGFEDiffuseLightingElement.cpp: 11740 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 11741 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged): 11742 (WebCore::SVGFEDiffuseLightingElement::build): 11743 (WebCore::SVGFEDiffuseLightingElement::findLightElement): 11744 (WebCore::SVGFEDiffuseLightingElement::findLight): 11745 * svg/SVGFEDiffuseLightingElement.h: 11746 * svg/SVGFELightElement.cpp: 11747 (WebCore::SVGFELightElement::svgAttributeChanged): 11748 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 11749 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): 11750 * svg/SVGFilterPrimitiveStandardAttributes.h: 11751 11752 2011-02-01 Roland Steiner <rolandsteiner (a] chromium.org> 11753 11754 Reviewed by Dimitri Glazkov. 11755 11756 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files 11757 https://bugs.webkit.org/show_bug.cgi?id=53289 11758 11759 Moving the nested class DocumentOrderedMap from Document into separate files, 11760 updating code where necessary. 11761 11762 No new tests. (refactoring) 11763 11764 * Android.mk: 11765 * CMakeLists.txt: 11766 * GNUMakefile.am: 11767 * WebCore.gypi: 11768 * WebCore.pro: 11769 * WebCore.vcproj/WebCore.vcproj: 11770 * WebCore.xcodeproj/project.pbxproj: 11771 * dom/Document.cpp: 11772 (WebCore::Document::getElementById): 11773 (WebCore::Document::getImageMap): 11774 * dom/Document.h: 11775 * dom/DocumentOrderedMap.cpp: Added. 11776 (WebCore::keyMatchesId): 11777 (WebCore::keyMatchesMapName): 11778 (WebCore::keyMatchesLowercasedMapName): 11779 (WebCore::DocumentOrderedMap::clear): 11780 (WebCore::DocumentOrderedMap::add): 11781 (WebCore::DocumentOrderedMap::remove): 11782 (WebCore::DocumentOrderedMap::get): 11783 (WebCore::DocumentOrderedMap::getElementById): 11784 (WebCore::DocumentOrderedMap::getElementByMapName): 11785 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): 11786 * dom/DocumentOrderedMap.h: Added. 11787 (WebCore::DocumentOrderedMap::contains): 11788 (WebCore::DocumentOrderedMap::containsMultiple): 11789 * dom/DOMAllInOne.cpp: 11790 11791 2011-02-01 Mario Sanchez Prada <msanchez (a] igalia.com> 11792 11793 Reviewed by Martin Robinson. 11794 11795 [Gtk] atk_text_set_caret_offset fails for list items 11796 https://bugs.webkit.org/show_bug.cgi?id=53388 11797 11798 Allow using text ranges across list items. 11799 11800 * accessibility/gtk/AccessibilityObjectAtk.cpp: 11801 (WebCore::AccessibilityObject::allowsTextRanges): Add list items 11802 to the list of accessibility objects supporting text ranges. 11803 11804 2011-02-01 Mario Sanchez Prada <msanchez (a] igalia.com> 11805 11806 Reviewed by Martin Robinson. 11807 11808 [GTK] character range extents is off when the end of a wrapped line is included 11809 https://bugs.webkit.org/show_bug.cgi?id=53323 11810 11811 Fixed wrong calculation getting the range extents. 11812 11813 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 11814 (webkit_accessible_text_get_range_extents): Removed '+1' since the 11815 requested interval shouldn't include the last character. 11816 11817 2011-02-01 Mario Sanchez Prada <msanchez (a] igalia.com> 11818 11819 Reviewed by Martin Robinson. 11820 11821 [GTK] Caret Offset is one off at the end of wrapped lines 11822 https://bugs.webkit.org/show_bug.cgi?id=53300 11823 11824 Consider linebreaks as special cases. 11825 11826 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 11827 (objectAndOffsetUnignored): In order to avoid getting wrong values 11828 when around linebreaks, we need to workaround this by explicitly 11829 avoiding those '\n' text nodes from affecting the result of 11830 calling to TextIterator:rangeLength(). 11831 11832 2011-02-01 Roland Steiner <rolandsteiner (a] chromium.org> 11833 11834 Unreviewed, rolling out r77229. 11835 http://trac.webkit.org/changeset/77229 11836 https://bugs.webkit.org/show_bug.cgi?id=53289 11837 11838 revert mysterious build breakage 11839 11840 * Android.mk: 11841 * CMakeLists.txt: 11842 * GNUmakefile.am: 11843 * WebCore.gypi: 11844 * WebCore.pro: 11845 * WebCore.vcproj/WebCore.vcproj: 11846 * WebCore.xcodeproj/project.pbxproj: 11847 * dom/DOMAllInOne.cpp: 11848 * dom/Document.cpp: 11849 (WebCore::Document::DocumentOrderedMap::clear): 11850 (WebCore::Document::DocumentOrderedMap::add): 11851 (WebCore::Document::DocumentOrderedMap::remove): 11852 (WebCore::Document::DocumentOrderedMap::get): 11853 (WebCore::keyMatchesId): 11854 (WebCore::Document::getElementById): 11855 (WebCore::keyMatchesMapName): 11856 (WebCore::keyMatchesLowercasedMapName): 11857 (WebCore::Document::getImageMap): 11858 * dom/Document.h: 11859 (WebCore::Document::DocumentOrderedMap::contains): 11860 (WebCore::Document::DocumentOrderedMap::containsMultiple): 11861 * dom/DocumentOrderedMap.cpp: Removed. 11862 * dom/DocumentOrderedMap.h: Removed. 11863 11864 2011-02-01 Mihai Parparita <mihaip (a] chromium.org> 11865 11866 Reviewed by James Robinson. 11867 11868 Async event handlers should not fire within a modal dialog 11869 https://bugs.webkit.org/show_bug.cgi?id=53202 11870 11871 Asychronous events that use EventQueue would currently fire while a 11872 modal dialog (e.g. window.alert()) was up. Change EventQueue to use a 11873 SuspendableTimer (which automatically gets suspended while dialogs are 11874 up and in other cases where JS execution is not allowed). 11875 11876 Test: fast/events/scroll-event-during-modal-dialog.html 11877 11878 * dom/Document.cpp: 11879 (WebCore::Document::Document): 11880 * dom/EventQueue.cpp: 11881 (WebCore::EventQueueTimer::EventQueueTimer): 11882 (WebCore::EventQueueTimer::fired): 11883 (WebCore::EventQueue::EventQueue): 11884 (WebCore::EventQueue::enqueueEvent): 11885 (WebCore::EventQueue::pendingEventTimerFired): 11886 * dom/EventQueue.h: 11887 (WebCore::EventQueue::create): 11888 11889 2011-02-01 Roland Steiner <rolandsteiner (a] chromium.org> 11890 11891 Reviewed by Dimitri Glazkov. 11892 11893 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files 11894 https://bugs.webkit.org/show_bug.cgi?id=53289 11895 11896 Moving the nested class DocumentOrderedMap from Document into separate files, 11897 updating code where necessary. 11898 11899 No new tests. (refactoring) 11900 11901 * Android.mk: 11902 * CMakeLists.txt: 11903 * GNUMakefile.am: 11904 * WebCore.gypi: 11905 * WebCore.pro: 11906 * WebCore.vcproj/WebCore.vcproj: 11907 * WebCore.xcodeproj/project.pbxproj: 11908 * dom/Document.cpp: 11909 (WebCore::Document::getElementById): 11910 (WebCore::Document::getImageMap): 11911 * dom/Document.h: 11912 * dom/DocumentOrderedMap.cpp: Added. 11913 (WebCore::keyMatchesId): 11914 (WebCore::keyMatchesMapName): 11915 (WebCore::keyMatchesLowercasedMapName): 11916 (WebCore::DocumentOrderedMap::clear): 11917 (WebCore::DocumentOrderedMap::add): 11918 (WebCore::DocumentOrderedMap::remove): 11919 (WebCore::DocumentOrderedMap::get): 11920 (WebCore::DocumentOrderedMap::getElementById): 11921 (WebCore::DocumentOrderedMap::getElementByMapName): 11922 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): 11923 * dom/DocumentOrderedMap.h: Added. 11924 (WebCore::DocumentOrderedMap::contains): 11925 (WebCore::DocumentOrderedMap::containsMultiple): 11926 * dom/DOMAllInOne.cpp: 11927 11928 2011-02-01 Naoki Takano <takano.naoki (a] gmail.com> 11929 11930 Reviewed by Darin Fisher. 11931 11932 [Chromium] Autofill should work with HTML5 form elements 11933 https://bugs.webkit.org/show_bug.cgi?id=51809 11934 http://crbug.com/65654 11935 11936 No new tests, because this fix is for Chromium project and hard to test only in WebKit project. 11937 11938 * html/InputType.h: Insert comment for canSetSuggestedValue(). 11939 * html/TextFieldInputType.cpp: 11940 (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed. 11941 * html/TextFieldInputType.h: Declare canSetSuggestedValue(). 11942 * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore. 11943 * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore. 11944 11945 2011-02-01 Kent Tamura <tkent (a] chromium.org> 11946 11947 Reviewed by Dan Bernstein. 11948 11949 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer() 11950 https://bugs.webkit.org/show_bug.cgi?id=53272 11951 11952 * editing/TextIterator.cpp: 11953 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText(). 11954 11955 2011-01-31 Alexey Proskuryakov <ap (a] apple.com> 11956 11957 Reviewed by Maciej Stachowiak. 11958 11959 https://bugs.webkit.org/show_bug.cgi?id=53466 11960 Move WebKit2 to printing via API methods 11961 11962 * WebCore.exp.in: Export IntRect::scale(). 11963 11964 2011-01-31 Patrick Gansterer <paroga (a] webkit.org> 11965 11966 Reviewed by Adam Barth. 11967 11968 Remove obsolete comment after r41871 11969 https://bugs.webkit.org/show_bug.cgi?id=53406 11970 11971 * dom/Document.h: 11972 11973 2011-01-31 Simon Fraser <simon.fraser (a] apple.com> 11974 11975 Fix according to reviewer comments: can just use Color::black now. 11976 11977 * platform/graphics/ShadowBlur.cpp: 11978 (WebCore::ShadowBlur::drawInsetShadow): 11979 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 11980 11981 2011-01-31 Simon Fraser <simon.fraser (a] apple.com> 11982 11983 Reviewed by Sam Weinig. 11984 11985 Clean up ShadowBlur 11986 https://bugs.webkit.org/show_bug.cgi?id=53472 11987 11988 Some minor ShadowBlur cleanup. 11989 11990 * platform/graphics/ShadowBlur.h: 11991 * platform/graphics/ShadowBlur.cpp: 11992 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius 11993 paramter. 11994 (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance. 11995 (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to 11996 layerRect. Make frameSize a float. 11997 (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed 11998 layerRect rather than calling calculateLayerBoundingRect() to compute 11999 it itself, since we were calling calculateLayerBoundingRect() twice. 12000 (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect() 12001 only once. The shadowRect variable was unused, so two return paths could be 12002 collapsed into one. 12003 (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before 12004 beginShadowLayer() now. 12005 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in. 12006 We always used alpha=1, so no need to pass that in. 12007 (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to 12008 pass that in. Move shadowRect down to first use. 12009 ShadowBlur::clipBounds() was unused. 12010 12011 2011-01-31 No'am Rosenthal <noam.rosenthal (a] nokia.com> 12012 12013 Reviewed by Kenneth Rohde Christiansen. 12014 12015 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all 12016 https://bugs.webkit.org/show_bug.cgi?id=46748 12017 12018 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance. 12019 Added a regression test to tst_QWebFrame. 12020 12021 * bridge/qt/qt_instance.cpp: 12022 (JSC::Bindings::QtInstance::QtInstance): 12023 12024 2011-01-27 MORITA Hajime <morrita (a] google.com> 12025 12026 Reviewed by Dimitri Glazkov. 12027 12028 Convert <progress> shadow DOM to a DOM-based shadow. 12029 https://bugs.webkit.org/show_bug.cgi?id=50660 12030 12031 * Removed RenderProgress::m_valuePart, moved the shadow node 12032 to the shadow root of HTMLProgressElement. 12033 * Removed hard-coded pseudo ID for -webkit-progress-bar-value. 12034 ProgressBarValueElement is defined only for overriding 12035 shadowPseudoId(). 12036 12037 No new tests. No behavioral change. 12038 12039 * css/CSSSelector.cpp: 12040 (WebCore::CSSSelector::pseudoId): 12041 (WebCore::nameToPseudoTypeMap): 12042 (WebCore::CSSSelector::extractPseudoType): 12043 * css/CSSSelector.h: 12044 * html/HTMLProgressElement.cpp: 12045 (WebCore::ProgressBarValueElement::ProgressBarValueElement): 12046 (WebCore::ProgressBarValueElement::shadowPseudoId): 12047 (WebCore::ProgressBarValueElement::create): 12048 (WebCore::ProgressBarValueElement::detach): 12049 (WebCore::HTMLProgressElement::parseMappedAttribute): 12050 (WebCore::HTMLProgressElement::attach): 12051 (WebCore::HTMLProgressElement::valuePart): 12052 (WebCore::HTMLProgressElement::didElementStateChange): 12053 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): 12054 * html/HTMLProgressElement.h: 12055 * rendering/RenderProgress.cpp: 12056 (WebCore::RenderProgress::~RenderProgress): 12057 (WebCore::RenderProgress::updateFromElement): 12058 (WebCore::RenderProgress::layoutParts): 12059 (WebCore::RenderProgress::shouldHaveParts): 12060 (WebCore::RenderProgress::valuePart): 12061 * rendering/RenderProgress.h: 12062 * rendering/style/RenderStyleConstants.h: 12063 12064 2011-01-31 Charlie Reis <creis (a] chromium.org> 12065 12066 Reviewed by Mihai Parparita. 12067 12068 Add sanity check to help diagnose bug 52819 12069 https://bugs.webkit.org/show_bug.cgi?id=53402 12070 12071 Crash early if the children of fromItem look invalid. 12072 12073 * loader/HistoryController.cpp: 12074 12075 2011-01-31 Kalle Vahlman <kalle.vahlman (a] movial.com> 12076 12077 Reviewed by Andreas Kling. 12078 12079 [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend 12080 https://bugs.webkit.org/show_bug.cgi?id=53325 12081 12082 Reimplement paintCurrentFrameInContext() rather than delegate the 12083 rendering to paint() to make sure we really do get the video frame 12084 content into the GraphicsContext, regardless of accelerated 12085 compositing and the video scene state. 12086 12087 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 12088 (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext): 12089 * platform/graphics/qt/MediaPlayerPrivateQt.h: 12090 12091 2011-01-31 Emil A Eklund <eae (a] chromium.org> 12092 12093 Reviewed by Darin Adler. 12094 12095 Setting "selected" attribute to false should have no effect in single line <select> 12096 https://bugs.webkit.org/show_bug.cgi?id=52436 12097 12098 Change SelectElement::setSelectedIndex to select the first selectable 12099 option when the select state of all options is set to false as required 12100 by the HTML5 specification. 12101 12102 Test: fast/dom/HTMLSelectElement/selected-false.html 12103 12104 * dom/SelectElement.cpp: 12105 (WebCore::SelectElement::setSelectedIndex): 12106 12107 2011-01-31 Alexander Pavlov <apavlov (a] chromium.org> 12108 12109 Reviewed by Yury Semikhatsky. 12110 12111 Web Inspector: Console source references need a left-margin 12112 https://bugs.webkit.org/show_bug.cgi?id=53308 12113 12114 * inspector/front-end/inspector.css: 12115 (.console-message-url): Added a 4px margin on the left. 12116 12117 2011-01-31 Carol Szabo <carol.szabo (a] nokia.com> 12118 12119 Reviewed by David Hyatt. 12120 12121 Code Changes only. 12122 12123 It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement. 12124 https://bugs.webkit.org/show_bug.cgi?id=53024 12125 12126 No new tests. No change in functionality 12127 12128 * rendering/RenderObject.h: 12129 (WebCore::RenderObject::before): 12130 (WebCore::RenderObject::after): 12131 (WebCore::RenderObject::generatingNode): 12132 Added new accessors for the use of the CSS 2.1 counters code 12133 (mainlyly) 12134 * rendering/RenderObjectChildList.cpp: 12135 (WebCore::beforeAfterContainer): 12136 (WebCore::RenderObjectChildList::invalidateCounters): 12137 (WebCore::RenderObjectChildList::before): 12138 (WebCore::RenderObjectChildList::after): 12139 Refactored the code to take advantage of the new accessors. 12140 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 12141 Changed to store the generating node in the :before and :after 12142 renderers. 12143 * rendering/RenderObjectChildList.h: 12144 12145 2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy (a] nokia.com> 12146 12147 Reviewed by David Hyatt. 12148 12149 Add background-clip to background shorthand 12150 https://bugs.webkit.org/show_bug.cgi?id=52080 12151 12152 Added background-clip to background-shorthand. Also made changes to 12153 include webkitMaskClip to the mask shorthand to keep both in sync. 12154 12155 * css/CSSParser.cpp: 12156 (WebCore::CSSParser::parseValue): 12157 (WebCore::CSSParser::parseFillShorthand): 12158 12159 2011-01-31 Darin Adler <darin (a] apple.com> 12160 12161 Reviewed by Adele Peterson. 12162 12163 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors 12164 https://bugs.webkit.org/show_bug.cgi?id=53460 12165 12166 * editing/EditorCommand.cpp: 12167 (WebCore::executeScrollPageBackward): Added. 12168 (WebCore::executeScrollPageForward): Added. 12169 (WebCore::executeScrollToBeginningOfDocument): Added. 12170 (WebCore::executeScrollToEndOfDocument): Added. 12171 (WebCore::createCommandMap): Added the four commands above to the map. 12172 12173 2011-01-31 Dan Bernstein <mitz (a] apple.com> 12174 12175 Reviewed by Adele Peterson. 12176 12177 Inter-ideograph justification should apply to hiragana and katakana as well 12178 https://bugs.webkit.org/show_bug.cgi?id=53464 12179 12180 Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol(). 12181 12182 * platform/graphics/Font.cpp: 12183 (WebCore::Font::expansionOpportunityCount): 12184 * platform/graphics/WidthIterator.cpp: 12185 (WebCore::WidthIterator::advance): 12186 * platform/graphics/mac/ComplexTextController.cpp: 12187 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): 12188 12189 2011-01-31 Dimitri Glazkov <dglazkov (a] chromium.org> 12190 12191 Reviewed by James Robinson. 12192 12193 REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports 12194 https://bugs.webkit.org/show_bug.cgi?id=53314 12195 12196 Fixes media/controls-strict.html on Chromium. 12197 12198 * css/mediaControlsChromium.css: 12199 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 12200 Added proper box-sizing to avoid differences between strict/quirks mode. 12201 12202 2011-01-31 Kent Tamura <tkent (a] chromium.org> 12203 12204 Reviewed by Dimitri Glazkov. 12205 12206 Validation message bubble shouldn't inherit text-security style 12207 https://bugs.webkit.org/show_bug.cgi?id=53457 12208 12209 No new tests because the validation message feature depends on timers 12210 and is enabled only in Chromium port. 12211 12212 * css/html.css: 12213 (::-webkit-validation-bubble): Reset -webkit-text-security. 12214 12215 2011-01-31 Michael Saboff <msaboff (a] apple.com> 12216 12217 Reviewed by Geoffrey Garen. 12218 12219 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition 12220 https://bugs.webkit.org/show_bug.cgi?id=53271 12221 12222 Reapplying this patch again. 12223 The removal of this patch in <http://trac.webkit.org/changeset/77125> 12224 as part of https://bugs.webkit.org/show_bug.cgi?id=53418, 12225 removed the both the first (failing) patch (r76893) and this fixed 12226 patch (r76969). This patch includes slight changes necessitated by 12227 r77151. 12228 12229 Reapplying this patch with the change that the second ASSERT in 12230 RootObject::removeRuntimeObject was changed to use 12231 .uncheckedGet() instead of the failing .get(). The object in question 12232 could be in the process of being GC'ed. The get() call will not return 12233 such an object while the uncheckedGet() call will return the (unsafe) 12234 object. This is the behavior we want. 12235 12236 Precautionary change. 12237 Changed RootObject to use WeakGCMap instead of HashSet. 12238 Found will looking for another issue, but can't produce a test case 12239 that is problematic. THerefore there aren't any new tests. 12240 12241 * bridge/runtime_root.cpp: 12242 (JSC::Bindings::RootObject::invalidate): 12243 (JSC::Bindings::RootObject::addRuntimeObject): 12244 (JSC::Bindings::RootObject::removeRuntimeObject): 12245 * bridge/runtime_root.h: 12246 12247 2011-01-31 Andreas Kling <kling (a] webkit.org> 12248 12249 Unbreak Qt build after r77151. 12250 12251 * bridge/qt/qt_instance.cpp: 12252 (JSC::Bindings::QtInstance::removeCachedMethod): 12253 (JSC::Bindings::QtInstance::markAggregate): 12254 12255 2011-01-31 takano takumi <takano (a] apple.com> 12256 12257 Reviewed by Dave Hyatt. 12258 12259 Implement text-combine rendering code 12260 https://bugs.webkit.org/show_bug.cgi?id=50621 12261 12262 Test: fast/text/international/text-combine-image-test.html 12263 12264 * Android.mk: Added RenderCombineText.cpp/h 12265 * CMakeLists.txt: Added RenderCombineText.cpp/h 12266 * GNUmakefile.am: Added RenderCombineText.cpp/h 12267 * WebCore.exp.in: 12268 * WebCore.gypi: Added RenderCombineText.cpp/h 12269 * WebCore.pro: Added RenderCombineText.cpp/h 12270 * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h 12271 * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h 12272 * css/CSSFontFaceSource.cpp: 12273 (WebCore::CSSFontFaceSource::getFontData): 12274 - Added fontDescription.widthVariant to SimpleFontData creation. 12275 * css/CSSStyleSelector.cpp: 12276 (WebCore::CSSStyleSelector::applyProperty): 12277 - Changed to set "Unique" flag to RenderStyle in case of TextCombine. 12278 * dom/Text.cpp: 12279 (WebCore::Text::createRenderer): 12280 - Changed to create RenderCombineText in case of TextCombine. 12281 * loader/cache/CachedFont.cpp: 12282 (WebCore::CachedFont::platformDataFromCustomData): 12283 - Added FontWidthVariant as an argument for FontPlatformData creation. 12284 * loader/cache/CachedFont.h: 12285 - Ditto. 12286 * platform/graphics/Font.h: 12287 (WebCore::Font::widthVariant): 12288 - The accessor to FontWidthVariant member variable. 12289 * platform/graphics/FontCache.cpp: 12290 - Made cache to incorporate FontWidthVariant value. 12291 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 12292 (WebCore::FontPlatformDataCacheKey::operator==): 12293 (WebCore::computeHash): 12294 (WebCore::FontCache::getCachedFontPlatformData): 12295 * platform/graphics/FontDescription.h: 12296 - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width. 12297 (WebCore::FontDescription::FontDescription): 12298 (WebCore::FontDescription::widthVariant): 12299 (WebCore::FontDescription::setWidthVariant): 12300 (WebCore::FontDescription::operator==): 12301 * platform/graphics/FontWidthVariant.h: Added. 12302 * platform/graphics/cairo/FontCustomPlatformData.h: 12303 - Changed to carry FontWidthVariant value. 12304 * platform/graphics/cocoa/FontPlatformData.h: 12305 - Changed to carry FontWidthVariant value. 12306 (WebCore::FontPlatformData::FontPlatformData): 12307 (WebCore::FontPlatformData::widthVariant): 12308 (WebCore::FontPlatformData::hash): 12309 (WebCore::FontPlatformData::operator==): 12310 * platform/graphics/cocoa/FontPlatformDataCocoa.mm: 12311 (WebCore::FontPlatformData::FontPlatformData): 12312 - Changed to carry FontWidthVariant value. 12313 (WebCore::FontPlatformData::operator=): 12314 - Ditto. 12315 (WebCore::mapFontWidthVariantToCTFeatureSelector): 12316 - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector. 12317 (WebCore::FontPlatformData::ctFont): 12318 - Changed to create CTFont with text spacing variant based on FontWidthVariant. 12319 * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: 12320 (WebCore::FontCustomPlatformData::fontPlatformData): 12321 - Changed to carry FontWidthVariant value. 12322 * platform/graphics/haiku/FontCustomPlatformData.cpp: 12323 (WebCore::FontCustomPlatformData::fontPlatformData): 12324 - Changed to carry FontWidthVariant value. 12325 * platform/graphics/haiku/FontCustomPlatformData.h: 12326 * platform/graphics/mac/FontCacheMac.mm: 12327 (WebCore::FontCache::createFontPlatformData): 12328 - Changed to carry FontWidthVariant value. 12329 * platform/graphics/mac/FontCustomPlatformData.cpp: 12330 (WebCore::FontCustomPlatformData::fontPlatformData): 12331 - Changed to carry FontWidthVariant value. 12332 * platform/graphics/mac/FontCustomPlatformData.h: 12333 - Ditto. 12334 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 12335 (WebCore::shouldUseCoreText): 12336 - Changed to skip CT path when width variant is specified. 12337 * platform/graphics/pango/FontCustomPlatformDataPango.cpp: 12338 (WebCore::FontCustomPlatformData::fontPlatformData): 12339 - Ditto. 12340 * platform/graphics/qt/FontCustomPlatformData.h: 12341 - Ditto. 12342 * platform/graphics/qt/FontCustomPlatformDataQt.cpp: 12343 (WebCore::FontCustomPlatformData::fontPlatformData): 12344 - Ditto. 12345 * platform/graphics/skia/FontCustomPlatformData.cpp: 12346 (WebCore::FontCustomPlatformData::fontPlatformData): 12347 - Ditto. 12348 * platform/graphics/skia/FontCustomPlatformData.h: 12349 - Ditto. 12350 * platform/graphics/win/FontCustomPlatformData.cpp: 12351 (WebCore::FontCustomPlatformData::fontPlatformData): 12352 - Ditto. 12353 * platform/graphics/win/FontCustomPlatformData.h: 12354 - Ditto. 12355 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: 12356 - Ditto. 12357 (WebCore::FontCustomPlatformData::fontPlatformData): 12358 - Ditto. 12359 * platform/graphics/win/FontCustomPlatformDataCairo.h: 12360 - Ditto. 12361 * platform/graphics/wince/FontCustomPlatformData.cpp: 12362 (WebCore::FontCustomPlatformData::fontPlatformData): 12363 - Ditto. 12364 * platform/graphics/wince/FontCustomPlatformData.h: 12365 - Ditto. 12366 * platform/graphics/wx/FontCustomPlatformData.cpp: 12367 (WebCore::FontCustomPlatformData::fontPlatformData): 12368 - Ditto. 12369 * platform/graphics/wx/FontCustomPlatformData.h: 12370 - Ditto. 12371 * rendering/InlineTextBox.cpp: 12372 (WebCore::InlineTextBox::paint): 12373 - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text 12374 instead of text returned from text(). 12375 * rendering/RenderBlock.cpp: 12376 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): 12377 - Made to call RenderCombinedText's prepareTextCombine() here. 12378 * rendering/RenderBlockLineLayout.cpp: 12379 (WebCore::textWidth): 12380 - Made to always use the render object's width() in case of TextCombine. 12381 (WebCore::RenderBlock::findNextLineBreak): 12382 - Made to call RenderCombinedText's prepareTextCombine() here. 12383 * rendering/RenderCombineText.cpp: Added. A subclass of RenderText. 12384 (WebCore::RenderCombineText::RenderCombineText): 12385 (WebCore::RenderCombineText::styleDidChange): 12386 - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in 12387 the next call of RenderBlock::findNextLineBreak(). 12388 (WebCore::RenderCombineText::setTextInternal): 12389 - Ditto. 12390 (WebCore::RenderCombineText::width): 12391 - Returns 1-em width in case of font combine. 12392 (WebCore::RenderCombineText::adjustTextOrigin): 12393 - Adjust drawing origin point in case of font combine. 12394 (WebCore::RenderCombineText::charactersToRender): 12395 - Return original text instead of current text in case of font combine. 12396 (WebCore::RenderCombineText::combineText): 12397 - This function tries to pack passed text with; 1) the current font as is, 2) the font created 12398 from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font 12399 with quarter-width variant. 12400 - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found, 12401 we give up text-combine as the CSS spec describes. 12402 - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to 12403 behave like a single character against text decorations. 12404 * rendering/RenderCombineText.h: Added. 12405 (WebCore::RenderCombineText::isCombined): 12406 (WebCore::RenderCombineText::combinedTextWidth): 12407 - Returns 1-em width in case of font combine. 12408 (WebCore::RenderCombineText::renderName): 12409 (WebCore::toRenderCombineText): 12410 * rendering/RenderText.cpp: 12411 (WebCore::RenderText::widthFromCache): 12412 - Made to call RenderCombineText's combinedTextWidth when the text is combined. 12413 * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp 12414 * rendering/style/RenderStyle.h: 12415 (WebCore::InheritedFlags::hasTextCombine): 12416 - Added for a quick test of TextCombine. 12417 12418 2011-01-31 Oliver Hunt <oliver (a] apple.com> 12419 12420 Convert markstack to a slot visitor API 12421 https://bugs.webkit.org/show_bug.cgi?id=53219 12422 12423 rolling r77098, r77099, r77100, r77109, and 12424 r77111 back in, along with a few more Qt fix attempts. 12425 12426 * ForwardingHeaders/runtime/WriteBarrier.h: Added. 12427 * WebCore.exp.in: 12428 * bindings/js/DOMWrapperWorld.h: 12429 (WebCore::DOMWrapperWorld::globalData): 12430 * bindings/js/JSAudioConstructor.cpp: 12431 (WebCore::JSAudioConstructor::JSAudioConstructor): 12432 * bindings/js/JSDOMBinding.cpp: 12433 (WebCore::markDOMNodesForDocument): 12434 (WebCore::markDOMObjectWrapper): 12435 (WebCore::markDOMNodeWrapper): 12436 * bindings/js/JSDOMGlobalObject.cpp: 12437 (WebCore::JSDOMGlobalObject::markChildren): 12438 (WebCore::JSDOMGlobalObject::setInjectedScript): 12439 (WebCore::JSDOMGlobalObject::injectedScript): 12440 * bindings/js/JSDOMGlobalObject.h: 12441 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 12442 (WebCore::getDOMConstructor): 12443 * bindings/js/JSDOMWindowCustom.cpp: 12444 (WebCore::JSDOMWindow::setLocation): 12445 (WebCore::DialogHandler::dialogCreated): 12446 * bindings/js/JSDOMWindowShell.cpp: 12447 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 12448 (WebCore::JSDOMWindowShell::setWindow): 12449 (WebCore::JSDOMWindowShell::markChildren): 12450 (WebCore::JSDOMWindowShell::unwrappedObject): 12451 * bindings/js/JSDOMWindowShell.h: 12452 (WebCore::JSDOMWindowShell::window): 12453 (WebCore::JSDOMWindowShell::setWindow): 12454 * bindings/js/JSDeviceMotionEventCustom.cpp: 12455 (WebCore::createAccelerationObject): 12456 (WebCore::createRotationRateObject): 12457 * bindings/js/JSEventListener.cpp: 12458 (WebCore::JSEventListener::JSEventListener): 12459 (WebCore::JSEventListener::markJSFunction): 12460 * bindings/js/JSEventListener.h: 12461 (WebCore::JSEventListener::jsFunction): 12462 * bindings/js/JSHTMLDocumentCustom.cpp: 12463 (WebCore::JSHTMLDocument::setAll): 12464 * bindings/js/JSImageConstructor.cpp: 12465 (WebCore::JSImageConstructor::JSImageConstructor): 12466 * bindings/js/JSImageDataCustom.cpp: 12467 (WebCore::toJS): 12468 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 12469 (WebCore::JSJavaScriptCallFrame::scopeChain): 12470 (WebCore::JSJavaScriptCallFrame::scopeType): 12471 * bindings/js/JSNodeFilterCondition.cpp: 12472 (WebCore::JSNodeFilterCondition::markAggregate): 12473 (WebCore::JSNodeFilterCondition::acceptNode): 12474 * bindings/js/JSNodeFilterCondition.h: 12475 * bindings/js/JSNodeFilterCustom.cpp: 12476 * bindings/js/JSOptionConstructor.cpp: 12477 (WebCore::JSOptionConstructor::JSOptionConstructor): 12478 * bindings/js/JSSQLResultSetRowListCustom.cpp: 12479 (WebCore::JSSQLResultSetRowList::item): 12480 * bindings/js/ScriptCachedFrameData.cpp: 12481 (WebCore::ScriptCachedFrameData::restore): 12482 * bindings/js/ScriptObject.cpp: 12483 (WebCore::ScriptGlobalObject::set): 12484 * bindings/js/SerializedScriptValue.cpp: 12485 (WebCore::CloneDeserializer::putProperty): 12486 * bindings/scripts/CodeGeneratorJS.pm: 12487 * bridge/qt/qt_class.cpp: 12488 (JSC::Bindings::QtClass::fallbackObject): 12489 * bridge/qt/qt_instance.cpp: 12490 (JSC::Bindings::QtInstance::QtInstance): 12491 (JSC::Bindings::QtInstance::removeCachedMethod): 12492 (JSC::Bindings::QtInstance::markAggregate): 12493 * bridge/qt/qt_instance.h: 12494 * bridge/qt/qt_runtime.cpp: 12495 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): 12496 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 12497 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 12498 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 12499 * bridge/qt/qt_runtime.h: 12500 * dom/Document.h: 12501 12502 2011-01-31 Dan Winship <danw (a] gnome.org> 12503 12504 Reviewed by Gustavo Noronha Silva. 12505 12506 wss (websockets ssl) support for gtk via new gio TLS support 12507 https://bugs.webkit.org/show_bug.cgi?id=50344 12508 12509 Update to use GPollableOutputStream and GTlsConnection to 12510 implement wss URLs 12511 12512 * platform/network/soup/SocketStreamHandle.h: 12513 * platform/network/soup/SocketStreamHandleSoup.cpp: 12514 (WebCore::SocketStreamHandle::SocketStreamHandle): 12515 (WebCore::SocketStreamHandle::connected): 12516 (WebCore::SocketStreamHandle::platformSend): 12517 (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): 12518 (WebCore::writeReadyCallback): 12519 12520 2011-01-31 Abhishek Arya <inferno (a] chromium.org> 12521 12522 Reviewed by Dimitri Glazkov. 12523 12524 Check the textarea node still exists in document before casting 12525 it to HTMLTextAreaElement. 12526 https://bugs.webkit.org/show_bug.cgi?id=53429 12527 12528 Test: fast/forms/textarea-node-removed-from-document-crash.html 12529 12530 * rendering/RenderTextControlMultiLine.cpp: 12531 (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine): 12532 12533 2011-01-27 Abhishek Arya <inferno (a] chromium.org> 12534 12535 Reviewed by Dave Hyatt. 12536 12537 If beforeChild is wrapped in an anonymous table section, we need to 12538 go the parent to find it and use it before adding childs to table. 12539 https://bugs.webkit.org/show_bug.cgi?id=53276 12540 12541 We need to make sure that beforeChild's parent is "this" before calling 12542 RenderBox::addChild. The previous condition in while is too restrictive 12543 and fails to calculate the right beforeChild value when its display 12544 style is table caption. 12545 Test: fast/table/before-child-non-table-section-add-table-crash.html 12546 12547 * rendering/RenderTable.cpp: 12548 (WebCore::RenderTable::addChild): 12549 12550 2011-01-31 Shane Stephens <shanestephens (a] google.com> 12551 12552 Reviewed by Simon Fraser. 12553 12554 AffineTransform::translateRight incorrectly computes a translateLeft. 12555 https://bugs.webkit.org/show_bug.cgi?id=52551 12556 12557 Removed translateRight and converted all uses to perform standard 12558 matrix multiplication. 12559 12560 No new tests because patch doesn't modify functionality. 12561 12562 * platform/graphics/transforms/AffineTransform.cpp: 12563 * platform/graphics/transforms/AffineTransform.h: 12564 (WebCore::AffineTransform::translation): 12565 * rendering/svg/RenderSVGResourceMarker.cpp: 12566 (WebCore::RenderSVGResourceMarker::localToParentTransform): 12567 * rendering/svg/RenderSVGRoot.cpp: 12568 (WebCore::RenderSVGRoot::localToRepaintContainerTransform): 12569 (WebCore::RenderSVGRoot::localToParentTransform): 12570 * rendering/svg/RenderSVGViewportContainer.cpp: 12571 (WebCore::RenderSVGViewportContainer::localToParentTransform): 12572 * rendering/svg/SVGTextLayoutEngine.cpp: 12573 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): 12574 12575 2011-01-31 Mario Sanchez Prada <msanchez (a] igalia.com> 12576 12577 Reviewed by Martin Robinson. 12578 12579 [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful 12580 https://bugs.webkit.org/show_bug.cgi?id=53389 12581 12582 Return FALSE when not able to set the caret at the specified offset. 12583 12584 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 12585 (webkit_accessible_text_set_caret_offset): Return FALSE when the 12586 range created is NULL and adjust offset to account for list markers. 12587 12588 2011-01-28 Pavel Feldman <pfeldman (a] chromium.org> 12589 12590 Reviewed by Yury Semikhatsky. 12591 12592 Web Inspector: copy HAR to clipboard instead of saving blob on export. 12593 https://bugs.webkit.org/show_bug.cgi?id=53328 12594 12595 * inspector/front-end/NetworkPanel.js: 12596 (WebInspector.NetworkPanel.prototype._exportAll): 12597 (WebInspector.NetworkPanel.prototype._exportResource): 12598 12599 2011-01-30 Pavel Feldman <pfeldman (a] chromium.org> 12600 12601 Reviewed by Timothy Hatcher. 12602 12603 Web Inspector: speed up network panel rendering. 12604 https://bugs.webkit.org/show_bug.cgi?id=53397 12605 12606 * inspector/front-end/DataGrid.js: 12607 (WebInspector.DataGrid.prototype.get scrollContainer): 12608 * inspector/front-end/NetworkPanel.js: 12609 (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor): 12610 (WebInspector.NetworkPanel.prototype._positionSummaryBar): 12611 (WebInspector.NetworkPanel.prototype._createTable): 12612 (WebInspector.NetworkPanel.prototype._exportResource): 12613 (WebInspector.NetworkPanel.prototype._onScroll): 12614 * inspector/front-end/networkPanel.css: 12615 (.network-sidebar .data-grid.small tr.offscreen): 12616 (.network-sidebar .data-grid tr.offscreen): 12617 (.network-sidebar .data-grid tr.offscreen td): 12618 12619 2011-01-31 Peter Varga <pvarga (a] webkit.org> 12620 12621 Reviewed by Andreas Kling. 12622 12623 Remove wrec from WebCore 12624 https://bugs.webkit.org/show_bug.cgi?id=53298 12625 12626 No new tests needed. 12627 12628 * Android.jscbindings.mk: 12629 * ForwardingHeaders/wrec/WREC.h: Removed. 12630 * WebCore.vcproj/WebCore.vcproj: 12631 * WebCore.vcproj/copyForwardingHeaders.cmd: 12632 12633 2011-01-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 12634 12635 Unreviewed, rolling out r76969. 12636 http://trac.webkit.org/changeset/76969 12637 https://bugs.webkit.org/show_bug.cgi?id=53418 12638 12639 "It is causing crashes in GTK+ and Leopard bots" (Requested by 12640 alexg__ on #webkit). 12641 12642 * bridge/runtime_root.cpp: 12643 (JSC::Bindings::RootObject::invalidate): 12644 (JSC::Bindings::RootObject::addRuntimeObject): 12645 (JSC::Bindings::RootObject::removeRuntimeObject): 12646 * bridge/runtime_root.h: 12647 12648 2011-01-31 Antti Koivisto <antti (a] apple.com> 12649 12650 Not reviewed. 12651 12652 Spelling. 12653 12654 * css/CSSSelectorList.h: 12655 (WebCore::CSSSelectorList::next): 12656 12657 2011-01-31 Yury Semikhatsky <yurys (a] chromium.org> 12658 12659 Unreviewed. Fix Chromium compilation on Linux. 12660 12661 * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard 12662 * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include 12663 12664 2011-01-31 Yury Semikhatsky <yurys (a] chromium.org> 12665 12666 Unreviewed. Fix Chromium compilation on Mac broken by r77101. 12667 12668 * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file. 12669 12670 2011-01-31 Mikhail Naganov <mnaganov (a] chromium.org> 12671 12672 Reviewed by Yury Semikhatsky. 12673 12674 WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles". 12675 12676 https://bugs.webkit.org/show_bug.cgi?id=53309 12677 12678 * English.lproj/localizedStrings.js: 12679 * inspector/front-end/ProfilesPanel.js: 12680 (WebInspector.ProfilesPanel): 12681 12682 2011-01-31 Carlos Garcia Campos <cgarcia (a] igalia.com> 12683 12684 Unreviewed, fix the build with current GTK+ 3.x. 12685 12686 * plugins/gtk/gtk2xtbin.c: 12687 * plugins/gtk/gtk2xtbin.h: 12688 12689 2011-01-30 Kenichi Ishibashi <bashi (a] google.com> 12690 12691 Reviewed by Kent Tamura. 12692 12693 Dangling form associated elements should not be registered on the document 12694 https://bugs.webkit.org/show_bug.cgi?id=53223 12695 12696 Adds insertedIntoDocument() and remvoedFromDocument() to 12697 FormAssociatedElement class to register the element on the document 12698 if and only if it actually inserted into (removed from) the document. 12699 12700 Test: fast/forms/dangling-form-element-crash.html 12701 12702 * html/FormAssociatedElement.cpp: 12703 (WebCore::FormAssociatedElement::insertedIntoDocument): Added. 12704 (WebCore::FormAssociatedElement::removedFromDocument): Ditto. 12705 (WebCore::FormAssociatedElement::insertedIntoTree): Don't register 12706 the element to a document. 12707 (WebCore::FormAssociatedElement::removedFromTree): Don't unregister 12708 the element from a document. 12709 * html/FormAssociatedElement.h: 12710 * html/HTMLFormControlElement.cpp: 12711 (WebCore::HTMLFormControlElement::insertedIntoDocument): Added. 12712 (WebCore::HTMLFormControlElement::removedFromDocument): Ditto. 12713 * html/HTMLFormControlElement.h: 12714 * html/HTMLObjectElement.cpp: 12715 (WebCore::HTMLObjectElement::insertedIntoDocument): Calls 12716 FormAssociatedElement::insertedIntoDocument(). 12717 (WebCore::HTMLObjectElement::removedFromDocument): Calls 12718 FormAssociatedElement::removedFromDocument(). 12719 12720 2011-01-30 Csaba Osztrogonc <ossy (a] webkit.org> 12721 12722 Unreviewed, rolling out r77098, r77099, r77100, r77109, and 12723 r77111. 12724 http://trac.webkit.org/changeset/77098 12725 http://trac.webkit.org/changeset/77099 12726 http://trac.webkit.org/changeset/77100 12727 http://trac.webkit.org/changeset/77109 12728 http://trac.webkit.org/changeset/77111 12729 https://bugs.webkit.org/show_bug.cgi?id=53219 12730 12731 Qt build is broken 12732 12733 * ForwardingHeaders/runtime/WriteBarrier.h: Removed. 12734 * WebCore.exp.in: 12735 * bindings/js/DOMWrapperWorld.h: 12736 * bindings/js/JSAudioConstructor.cpp: 12737 (WebCore::JSAudioConstructor::JSAudioConstructor): 12738 * bindings/js/JSDOMBinding.cpp: 12739 (WebCore::markDOMNodesForDocument): 12740 (WebCore::markDOMObjectWrapper): 12741 (WebCore::markDOMNodeWrapper): 12742 * bindings/js/JSDOMGlobalObject.cpp: 12743 (WebCore::JSDOMGlobalObject::markChildren): 12744 (WebCore::JSDOMGlobalObject::setInjectedScript): 12745 (WebCore::JSDOMGlobalObject::injectedScript): 12746 * bindings/js/JSDOMGlobalObject.h: 12747 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 12748 (WebCore::getDOMConstructor): 12749 * bindings/js/JSDOMWindowCustom.cpp: 12750 (WebCore::JSDOMWindow::setLocation): 12751 (WebCore::DialogHandler::dialogCreated): 12752 * bindings/js/JSDOMWindowShell.cpp: 12753 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 12754 (WebCore::JSDOMWindowShell::setWindow): 12755 (WebCore::JSDOMWindowShell::markChildren): 12756 (WebCore::JSDOMWindowShell::unwrappedObject): 12757 * bindings/js/JSDOMWindowShell.h: 12758 (WebCore::JSDOMWindowShell::window): 12759 (WebCore::JSDOMWindowShell::setWindow): 12760 * bindings/js/JSDeviceMotionEventCustom.cpp: 12761 (WebCore::createAccelerationObject): 12762 (WebCore::createRotationRateObject): 12763 * bindings/js/JSEventListener.cpp: 12764 (WebCore::JSEventListener::JSEventListener): 12765 (WebCore::JSEventListener::markJSFunction): 12766 * bindings/js/JSEventListener.h: 12767 (WebCore::JSEventListener::jsFunction): 12768 * bindings/js/JSHTMLDocumentCustom.cpp: 12769 (WebCore::JSHTMLDocument::setAll): 12770 * bindings/js/JSImageConstructor.cpp: 12771 (WebCore::JSImageConstructor::JSImageConstructor): 12772 * bindings/js/JSImageDataCustom.cpp: 12773 (WebCore::toJS): 12774 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 12775 (WebCore::JSJavaScriptCallFrame::scopeChain): 12776 (WebCore::JSJavaScriptCallFrame::scopeType): 12777 * bindings/js/JSNodeFilterCondition.cpp: 12778 (WebCore::JSNodeFilterCondition::markAggregate): 12779 (WebCore::JSNodeFilterCondition::acceptNode): 12780 * bindings/js/JSNodeFilterCondition.h: 12781 * bindings/js/JSNodeFilterCustom.cpp: 12782 * bindings/js/JSOptionConstructor.cpp: 12783 (WebCore::JSOptionConstructor::JSOptionConstructor): 12784 * bindings/js/JSSQLResultSetRowListCustom.cpp: 12785 (WebCore::JSSQLResultSetRowList::item): 12786 * bindings/js/ScriptCachedFrameData.cpp: 12787 (WebCore::ScriptCachedFrameData::restore): 12788 * bindings/js/ScriptObject.cpp: 12789 (WebCore::ScriptGlobalObject::set): 12790 * bindings/js/SerializedScriptValue.cpp: 12791 (WebCore::CloneDeserializer::putProperty): 12792 * bindings/scripts/CodeGeneratorJS.pm: 12793 * bridge/qt/qt_instance.cpp: 12794 (JSC::Bindings::QtInstance::QtInstance): 12795 (JSC::Bindings::QtInstance::removeCachedMethod): 12796 (JSC::Bindings::QtInstance::markAggregate): 12797 * bridge/qt/qt_instance.h: 12798 * bridge/qt/qt_runtime.cpp: 12799 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): 12800 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 12801 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 12802 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 12803 * bridge/qt/qt_runtime.h: 12804 * bridge/runtime_root.cpp: 12805 (JSC::Bindings::RootObject::invalidate): 12806 * bridge/runtime_root.h: 12807 * dom/Document.h: 12808 12809 2011-01-30 Sheriff Bot <webkit.review.bot (a] gmail.com> 12810 12811 Unreviewed, rolling out r77107. 12812 http://trac.webkit.org/changeset/77107 12813 https://bugs.webkit.org/show_bug.cgi?id=53412 12814 12815 Caused 5 new form-related test crashes (Requested by smfr on 12816 #webkit). 12817 12818 * css/CSSSelector.cpp: 12819 (WebCore::CSSSelector::pseudoId): 12820 (WebCore::nameToPseudoTypeMap): 12821 (WebCore::CSSSelector::extractPseudoType): 12822 * css/CSSSelector.h: 12823 * html/HTMLProgressElement.cpp: 12824 (WebCore::HTMLProgressElement::parseMappedAttribute): 12825 (WebCore::HTMLProgressElement::attach): 12826 * html/HTMLProgressElement.h: 12827 * rendering/RenderProgress.cpp: 12828 (WebCore::RenderProgress::~RenderProgress): 12829 (WebCore::RenderProgress::updateFromElement): 12830 (WebCore::RenderProgress::layoutParts): 12831 (WebCore::RenderProgress::shouldHaveParts): 12832 * rendering/RenderProgress.h: 12833 * rendering/style/RenderStyleConstants.h: 12834 12835 2011-01-30 Simon Fraser <simon.fraser (a] apple.com> 12836 12837 Reviewed by Sam Weinig. 12838 12839 Enhance ShadowBlur to render inset box shadows 12840 https://bugs.webkit.org/show_bug.cgi?id=51567 12841 12842 Use ShadowBlur for inset box-shadows with CG. It 12843 currently lacks a tiled version, but is still much 12844 faster than CG shadows. 12845 12846 Test: fast/box-shadow/inset-box-shadow-radius.html 12847 12848 * platform/graphics/ShadowBlur.cpp: 12849 * platform/graphics/ShadowBlur.h: New method for inset 12850 shadows. 12851 (WebCore::ShadowBlur::drawInsetShadow): 12852 12853 * platform/graphics/GraphicsContext.cpp: #ifdef out 12854 fillRectWithRoundedHole() for CG. 12855 12856 * platform/graphics/cg/GraphicsContextCG.cpp: 12857 (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's 12858 a shadow with a radius > 0, use ShadowBlur. 12859 12860 2011-01-28 Kenneth Russell <kbr (a] google.com> 12861 12862 Reviewed by Chris Marrin. 12863 12864 WebGL shows PNG Textures with indexed colors too dark 12865 https://bugs.webkit.org/show_bug.cgi?id=47477 12866 12867 Properly handle indexed PNG images by re-rendering them as RGBA 12868 images before upload. Verified with this layout test and the test 12869 cases from bugs 47477 and 53269. 12870 12871 * platform/graphics/cg/GraphicsContext3DCG.cpp: 12872 (WebCore::GraphicsContext3D::getImageData): 12873 12874 2011-01-27 MORITA Hajime <morrita (a] google.com> 12875 12876 Reviewed by Dimitri Glazkov. 12877 12878 Convert <progress> shadow DOM to a DOM-based shadow. 12879 https://bugs.webkit.org/show_bug.cgi?id=50660 12880 12881 * Removed RenderProgress::m_valuePart, moved the shadow node 12882 to the shadow root of HTMLProgressElement. 12883 * Removed hard-coded pseudo ID for -webkit-progress-bar-value. 12884 ProgressBarValueElement is defined only for overriding 12885 shadowPseudoId(). 12886 12887 No new tests. No behavioral change. 12888 12889 * css/CSSSelector.cpp: 12890 (WebCore::CSSSelector::pseudoId): 12891 (WebCore::nameToPseudoTypeMap): 12892 (WebCore::CSSSelector::extractPseudoType): 12893 * css/CSSSelector.h: 12894 * html/HTMLProgressElement.cpp: 12895 (WebCore::ProgressBarValueElement::ProgressBarValueElement): 12896 (WebCore::ProgressBarValueElement::shadowPseudoId): 12897 (WebCore::ProgressBarValueElement::create): 12898 (WebCore::HTMLProgressElement::parseMappedAttribute): 12899 (WebCore::HTMLProgressElement::attach): 12900 (WebCore::HTMLProgressElement::valuePart): 12901 (WebCore::HTMLProgressElement::didElementStateChange): 12902 (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded): 12903 * html/HTMLProgressElement.h: 12904 * rendering/RenderProgress.cpp: 12905 (WebCore::RenderProgress::~RenderProgress): 12906 (WebCore::RenderProgress::updateFromElement): 12907 (WebCore::RenderProgress::layoutParts): 12908 (WebCore::RenderProgress::shouldHaveParts): 12909 (WebCore::RenderProgress::valuePart): 12910 * rendering/RenderProgress.h: 12911 * rendering/style/RenderStyleConstants.h: 12912 12913 2011-01-30 Simon Fraser <simon.fraser (a] apple.com> 12914 12915 Reviewed by Ariya Hidayat. 12916 12917 Enhance ShadowBlur to render inset box shadows; Part 1. 12918 https://bugs.webkit.org/show_bug.cgi?id=51567 12919 12920 Add a new method to GraphicsContext to render a rect with a rounded hole, 12921 for use by inset box-shadow code. Knowledge that we're rendering a rounded 12922 hole will enable ShadowBlur to be used here in future. 12923 12924 * platform/graphics/GraphicsContext.cpp: 12925 (WebCore::GraphicsContext::fillRectWithRoundedHole): 12926 * platform/graphics/GraphicsContext.h: 12927 * rendering/RenderBoxModelObject.cpp: 12928 (WebCore::RenderBoxModelObject::paintBoxShadow): 12929 12930 2011-01-23 MORITA Hajime <morrita (a] google.com> 12931 12932 Reviewed by Eric Seidel. 12933 12934 REGRESSION: Inset shadow with too large border radius misses rounded corner. 12935 https://bugs.webkit.org/show_bug.cgi?id=52800 12936 12937 The refactoring on r76083 broke the invariant between border 12938 IntRect and its radii because RoundedIntRect::setRect() is called 12939 after getRoundedInnerBorderWithBorderWidths(), which enforces the 12940 invariant. Th rounded-rect clipping code verifies the invariant, 12941 and discard the invalid radii, that results broken paintings. 12942 12943 This change moved setRect() before 12944 getRoundedInnerBorderWithBorderWidths() not to modify the valid 12945 RoundedIntRect value. 12946 12947 Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html 12948 12949 * rendering/RenderBoxModelObject.cpp: 12950 (WebCore::RenderBoxModelObject::paintBoxShadow): 12951 12952 2011-01-30 Simon Fraser <simon.fraser (a] apple.com> 12953 12954 Attempt to fix Windows build by adding ShadowBlur.cpp/h to the 12955 vcproj. 12956 12957 * WebCore.vcproj/WebCore.vcproj: 12958 12959 2011-01-30 Simon Fraser <simon.fraser (a] apple.com> 12960 12961 Reviewed by Dan Bernstein. 12962 12963 -webkit-box-shadow causes awful scroll/resize/redraw performance 12964 https://bugs.webkit.org/show_bug.cgi?id=22102 12965 12966 Use ShadowBlur for CG, whe rendering shadows on rects and 12967 rounded rects outside of canvas. 12968 12969 CG shadows with a radius of more than 8px do not render 12970 correctly. We preserve this incorrect rendering by compensating 12971 for it when rending -webkit-box-shadow. Calls that should use 12972 this deprecated radius behavior now use setLegacyShadow(). 12973 12974 Test: fast/box-shadow/box-shadow-transformed.html 12975 12976 * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow() 12977 for canvas, to indicate that it should use the deprecated radius 12978 behavior. 12979 (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto. 12980 (WebCore::CanvasRenderingContext2D::setShadow): Ditto. 12981 (WebCore::CanvasRenderingContext2D::applyShadow): Ditto. 12982 12983 * platform/graphics/GraphicsContext.cpp: 12984 (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit. 12985 12986 * platform/graphics/GraphicsContext.h: 12987 (WebCore::GraphicsContextState::GraphicsContextState): Add a 12988 shadowsUseLegacyRadius bit to the state. 12989 12990 * platform/graphics/cg/GraphicsContextCG.cpp: 12991 (WebCore::radiusToLegacyRadius): Map from the actual radius to one 12992 that approximates CG behavior. 12993 (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow 12994 with a non-zero blur radius. 12995 (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas. 12996 (WebCore::GraphicsContext::fillRoundedRect): Ditto. 12997 (WebCore::GraphicsContext::setPlatformShadow): Comment. 12998 12999 * rendering/RenderBoxModelObject.cpp: 13000 (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow() 13001 for -webkit-box-shadow. 13002 13003 * platform/graphics/ShadowBlur.cpp: 13004 (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues 13005 by rounding up the blur radius. 13006 (WebCore::ShadowBlur::drawRectShadow): Ditto 13007 (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto. 13008 13009 2011-01-30 Oliver Hunt <oliver (a] apple.com> 13010 13011 Try to fix Qt build (again). 13012 13013 * bridge/qt/qt_runtime.cpp: 13014 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 13015 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 13016 13017 2011-01-30 Oliver Hunt <oliver (a] apple.com> 13018 13019 Try to fix Qt build. 13020 13021 * bridge/qt/qt_instance.cpp: 13022 (JSC::Bindings::QtInstance::QtInstance): 13023 (JSC::Bindings::QtInstance::removeCachedMethod): 13024 (JSC::Bindings::QtInstance::markAggregate): 13025 * bridge/qt/qt_instance.h: 13026 13027 2011-01-30 Oliver Hunt <oliver (a] apple.com> 13028 13029 Convert markstack to a slot visitor API 13030 https://bugs.webkit.org/show_bug.cgi?id=53219 13031 13032 rolling r77006 and r77020 back in. 13033 13034 * ForwardingHeaders/runtime/WriteBarrier.h: Added. 13035 * WebCore.exp.in: 13036 * bindings/js/DOMWrapperWorld.h: 13037 (WebCore::DOMWrapperWorld::globalData): 13038 * bindings/js/JSAudioConstructor.cpp: 13039 (WebCore::JSAudioConstructor::JSAudioConstructor): 13040 * bindings/js/JSDOMBinding.cpp: 13041 (WebCore::markDOMNodesForDocument): 13042 (WebCore::markDOMObjectWrapper): 13043 (WebCore::markDOMNodeWrapper): 13044 * bindings/js/JSDOMGlobalObject.cpp: 13045 (WebCore::JSDOMGlobalObject::markChildren): 13046 (WebCore::JSDOMGlobalObject::setInjectedScript): 13047 (WebCore::JSDOMGlobalObject::injectedScript): 13048 * bindings/js/JSDOMGlobalObject.h: 13049 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 13050 (WebCore::getDOMConstructor): 13051 * bindings/js/JSDOMWindowCustom.cpp: 13052 (WebCore::JSDOMWindow::setLocation): 13053 (WebCore::DialogHandler::dialogCreated): 13054 * bindings/js/JSDOMWindowShell.cpp: 13055 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 13056 (WebCore::JSDOMWindowShell::setWindow): 13057 (WebCore::JSDOMWindowShell::markChildren): 13058 (WebCore::JSDOMWindowShell::unwrappedObject): 13059 * bindings/js/JSDOMWindowShell.h: 13060 (WebCore::JSDOMWindowShell::window): 13061 (WebCore::JSDOMWindowShell::setWindow): 13062 * bindings/js/JSDeviceMotionEventCustom.cpp: 13063 (WebCore::createAccelerationObject): 13064 (WebCore::createRotationRateObject): 13065 * bindings/js/JSEventListener.cpp: 13066 (WebCore::JSEventListener::JSEventListener): 13067 (WebCore::JSEventListener::markJSFunction): 13068 * bindings/js/JSEventListener.h: 13069 (WebCore::JSEventListener::jsFunction): 13070 * bindings/js/JSHTMLDocumentCustom.cpp: 13071 (WebCore::JSHTMLDocument::setAll): 13072 * bindings/js/JSImageConstructor.cpp: 13073 (WebCore::JSImageConstructor::JSImageConstructor): 13074 * bindings/js/JSImageDataCustom.cpp: 13075 (WebCore::toJS): 13076 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 13077 (WebCore::JSJavaScriptCallFrame::scopeChain): 13078 (WebCore::JSJavaScriptCallFrame::scopeType): 13079 * bindings/js/JSNodeFilterCondition.cpp: 13080 (WebCore::JSNodeFilterCondition::markAggregate): 13081 (WebCore::JSNodeFilterCondition::acceptNode): 13082 * bindings/js/JSNodeFilterCondition.h: 13083 * bindings/js/JSNodeFilterCustom.cpp: 13084 * bindings/js/JSOptionConstructor.cpp: 13085 (WebCore::JSOptionConstructor::JSOptionConstructor): 13086 * bindings/js/JSSQLResultSetRowListCustom.cpp: 13087 (WebCore::JSSQLResultSetRowList::item): 13088 * bindings/js/ScriptCachedFrameData.cpp: 13089 (WebCore::ScriptCachedFrameData::restore): 13090 * bindings/js/ScriptObject.cpp: 13091 (WebCore::ScriptGlobalObject::set): 13092 * bindings/js/SerializedScriptValue.cpp: 13093 (WebCore::CloneDeserializer::putProperty): 13094 * bindings/scripts/CodeGeneratorJS.pm: 13095 * bridge/qt/qt_runtime.cpp: 13096 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): 13097 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 13098 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 13099 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 13100 * bridge/qt/qt_runtime.h: 13101 * bridge/runtime_root.cpp: 13102 (JSC::Bindings::RootObject::invalidate): 13103 * bridge/runtime_root.h: 13104 * dom/Document.h: 13105 13106 2011-01-30 Simon Fraser <simon.fraser (a] apple.com> 13107 13108 Reviewed by Sam Weinig. 13109 13110 Make ContextShadow code cross-platform 13111 https://bugs.webkit.org/show_bug.cgi?id=51312 13112 13113 Add a new class, ShadowBlur, that contains most of the 13114 code from ContextShadow, but is fully cross-platform. 13115 It depends on one new method, GraphicsContext::clipBounds(), 13116 which platforms will have to implement. 13117 13118 Add ShadowBlur to the Mac Xcode project, but don't use it 13119 anywhere yet. 13120 13121 * WebCore.xcodeproj/project.pbxproj: 13122 * platform/graphics/GraphicsContext.cpp: 13123 (WebCore::GraphicsContext::clipBounds): 13124 * platform/graphics/GraphicsContext.h: 13125 * platform/graphics/ShadowBlur.cpp: Added. 13126 (WebCore::roundUpToMultipleOf32): 13127 (WebCore::ScratchBuffer::ScratchBuffer): 13128 (WebCore::ScratchBuffer::getScratchBuffer): 13129 (WebCore::ScratchBuffer::scheduleScratchBufferPurge): 13130 (WebCore::ScratchBuffer::timerFired): 13131 (WebCore::ScratchBuffer::clearScratchBuffer): 13132 (WebCore::ScratchBuffer::shared): 13133 (WebCore::ShadowBlur::ShadowBlur): 13134 (WebCore::ShadowBlur::blurLayerImage): 13135 (WebCore::ShadowBlur::adjustBlurDistance): 13136 (WebCore::ShadowBlur::calculateLayerBoundingRect): 13137 (WebCore::ShadowBlur::beginShadowLayer): 13138 (WebCore::ShadowBlur::endShadowLayer): 13139 (WebCore::ShadowBlur::drawRectShadow): 13140 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 13141 (WebCore::ShadowBlur::drawRectShadowWithTiling): 13142 (WebCore::ShadowBlur::clipBounds): 13143 * platform/graphics/ShadowBlur.h: Added. 13144 (WebCore::ShadowBlur::setShadowsIgnoreTransforms): 13145 (WebCore::ShadowBlur::shadowsIgnoreTransforms): 13146 * platform/graphics/cg/GraphicsContextCG.cpp: 13147 (WebCore::GraphicsContext::clipBounds): 13148 13149 2011-01-29 Simon Fraser <simon.fraser (a] apple.com> 13150 13151 Reviewed by Dan Bernstein. 13152 13153 CSS3 gradients with em-based stops fail to repaint when font size changes 13154 https://bugs.webkit.org/show_bug.cgi?id=51845 13155 13156 Mark as uncacheable gradidients whose color stops depend on font size, 13157 and don't attempt to put these into CSSImageGeneratorValue's image cache. 13158 This means we return a new gradient each time, which is fairly cheap, and 13159 fixes repaint issues under changing font size. 13160 13161 Test: fast/repaint/gradients-em-stops-repaint.html 13162 13163 * css/CSSGradientValue.cpp: 13164 (WebCore::CSSGradientValue::image): 13165 (WebCore::CSSGradientValue::isCacheable): 13166 * css/CSSGradientValue.h: 13167 13168 2011-01-29 Geoffrey Garen <ggaren (a] apple.com> 13169 13170 Undo try to fix the Qt build. 13171 13172 My guess didn't work. 13173 13174 * WebCore.pro: 13175 13176 2011-01-29 Geoffrey Garen <ggaren (a] apple.com> 13177 13178 Try to fix the Qt build. 13179 13180 * WebCore.pro: Added platform/text/CharacterNames.h. 13181 13182 2011-01-28 Geoffrey Garen <ggaren (a] apple.com> 13183 13184 Reviewed by Maciej Stachowiak. 13185 13186 Some more Heap cleanup. 13187 https://bugs.webkit.org/show_bug.cgi?id=53357 13188 13189 Updated for JavaScriptCore changes. 13190 13191 * bindings/js/ScriptGCEvent.cpp: 13192 (WebCore::ScriptGCEvent::getHeapSize): 13193 13194 2011-01-29 Adam Barth <abarth (a] webkit.org> 13195 13196 Reviewed by Daniel Bates. 13197 13198 Fix XSSFilter crash when extracting the source for a token twice 13199 https://bugs.webkit.org/show_bug.cgi?id=53368 13200 13201 Previously, it was unsafe to extract the source for the same token 13202 twice because the HTMLSourceTracker would advance its internal 13203 representation of the SegmentedString. This patch introduces a cache 13204 to make calling HTMLSourceTracker::sourceForToken multiple times safe. 13205 13206 * html/parser/HTMLSourceTracker.cpp: 13207 (WebCore::HTMLSourceTracker::end): 13208 (WebCore::HTMLSourceTracker::sourceForToken): 13209 * html/parser/HTMLSourceTracker.h: 13210 13211 2011-01-29 Maciej Stachowiak <mjs (a] apple.com> 13212 13213 Reviewed by Dan Bernstein. 13214 13215 Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2 13216 https://bugs.webkit.org/show_bug.cgi?id=53386 13217 13218 * platform/mac/ScrollAnimatorMac.mm: 13219 (WebCore::elasticDeltaForReboundDelta): 13220 (WebCore::scrollWheelMultiplier): 13221 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): 13222 (WebCore::ScrollAnimatorMac::beginScrollGesture): 13223 (WebCore::roundTowardZero): 13224 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): 13225 13226 2011-01-29 Daniel Bates <dbates (a] rim.com> 13227 13228 Reviewed by Maciej Stachowiak. 13229 13230 Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files 13231 https://bugs.webkit.org/show_bug.cgi?id=53382 13232 13233 Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source. 13234 So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source. 13235 Therefore, we should remove such references. 13236 13237 * CMakeLists.txt: 13238 13239 2011-01-29 Sam Weinig <sam (a] webkit.org> 13240 13241 Reviewed by Jon Honeycutt. 13242 13243 Fix 32-bit build on the Mac. 13244 13245 * platform/mac/ScrollAnimatorMac.mm: 13246 (WebCore::roundTowardZero): 13247 (WebCore::roundToDevicePixelTowardZero): 13248 Use floats instead of doubles to avoid double-to-float conversion 13249 issues. 13250 13251 2011-01-29 Simon Fraser <simon.fraser (a] apple.com> 13252 13253 Reviewed by Adam Barth. 13254 13255 Use clampToInteger() functions in a few places 13256 https://bugs.webkit.org/show_bug.cgi?id=53363 13257 13258 * css/CSSStyleSelector.cpp: 13259 (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index. 13260 (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger(). 13261 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto. 13262 (WebCore::PerspectiveTransformOperation::blend): Ditto. 13263 13264 2011-01-29 Patrick Gansterer <paroga (a] webkit.org> 13265 13266 Reviewed by David Kilzer. 13267 13268 Move CharacterNames.h into WTF directory 13269 https://bugs.webkit.org/show_bug.cgi?id=49618 13270 13271 * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added. 13272 * GNUmakefile.am: 13273 * WebCore.gypi: 13274 * WebCore.vcproj/WebCore.vcproj: 13275 * WebCore.xcodeproj/project.pbxproj: 13276 * accessibility/AccessibilityObject.cpp: 13277 * accessibility/AccessibilityRenderObject.cpp: 13278 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: 13279 * bindings/js/JSHTMLDocumentCustom.cpp: 13280 * dom/Position.cpp: 13281 * dom/SelectElement.cpp: 13282 * editing/CompositeEditCommand.cpp: 13283 * editing/Editor.cpp: 13284 * editing/HTMLInterchange.cpp: 13285 * editing/InsertTextCommand.cpp: 13286 * editing/MarkupAccumulator.cpp: 13287 * editing/TextIterator.cpp: 13288 * editing/VisibleSelection.cpp: 13289 * editing/htmlediting.cpp: 13290 * editing/htmlediting.h: 13291 * editing/markup.cpp: 13292 * html/FTPDirectoryDocument.cpp: 13293 * html/HTMLFormControlElement.cpp: 13294 * html/parser/HTMLTreeBuilder.cpp: 13295 * loader/appcache/ManifestParser.cpp: 13296 * platform/chromium/PopupMenuChromium.cpp: 13297 * platform/graphics/Font.h: 13298 * platform/graphics/FontFastPath.cpp: 13299 * platform/graphics/GlyphPageTreeNode.cpp: 13300 * platform/graphics/StringTruncator.cpp: 13301 * platform/graphics/mac/ComplexTextController.cpp: 13302 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 13303 * platform/graphics/wince/GraphicsContextWinCE.cpp: 13304 * platform/mac/PasteboardMac.mm: 13305 * platform/text/TextCodecICU.cpp: 13306 * platform/text/mac/TextCodecMac.cpp: 13307 * platform/text/transcoder/FontTranscoder.cpp: 13308 * rendering/RenderBlockLineLayout.cpp: 13309 * rendering/RenderFlexibleBox.cpp: 13310 * rendering/RenderListMarker.cpp: 13311 * rendering/RenderText.cpp: 13312 * rendering/RenderTextControl.cpp: 13313 * rendering/RenderTreeAsText.cpp: 13314 * rendering/break_lines.cpp: 13315 * rendering/mathml/RenderMathMLOperator.h: 13316 * websockets/WebSocketHandshake.cpp: 13317 * wml/WMLTableElement.cpp: 13318 13319 2011-01-29 Dan Winship <danw (a] gnome.org> 13320 13321 Reviewed by Xan Lopez. 13322 13323 [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on 13324 libsoup 2.33.1 now. 13325 https://bugs.webkit.org/show_bug.cgi?id=50675 13326 13327 * platform/network/soup/CookieJarSoup.cpp: 13328 (WebCore::defaultCookieJar): 13329 (WebCore::setCookies): 13330 * platform/network/soup/ResourceHandleSoup.cpp: 13331 (WebCore::ResourceHandle::prepareForURL): 13332 (WebCore::restartedCallback): 13333 (WebCore::startHttp): 13334 * platform/network/soup/ResourceRequestSoup.cpp: 13335 (WebCore::ResourceRequest::updateSoupMessage): 13336 (WebCore::ResourceRequest::toSoupMessage): 13337 (WebCore::ResourceRequest::updateFromSoupMessage): 13338 13339 2011-01-29 Adam Barth <abarth (a] webkit.org> 13340 13341 Reviewed by Daniel Bates. 13342 13343 XSSFilter should replace URLs with about:blank instead of the empty string 13344 https://bugs.webkit.org/show_bug.cgi?id=53370 13345 13346 Using the empty string will make the URL complete to the current 13347 document's URL, which isn't really what we want. Instead, we want to 13348 use about:blank, which is safe. 13349 13350 * html/parser/XSSFilter.cpp: 13351 (WebCore::XSSFilter::filterObjectToken): 13352 (WebCore::XSSFilter::filterEmbedToken): 13353 13354 2011-01-29 Adam Barth <abarth (a] webkit.org> 13355 13356 Reviewed by Daniel Bates. 13357 13358 XSSFilter should pass xssAuditor/script-tag-addslashes* 13359 https://bugs.webkit.org/show_bug.cgi?id=53365 13360 13361 We need to canonicalize strings to avoid being tricked by addslashes. 13362 13363 * html/parser/XSSFilter.cpp: 13364 (WebCore::HTMLNames::isNonCanonicalCharacter): 13365 - This function is copied from the XSSAuditor (with some tweaks). 13366 We'll eventually remove the XSSAuditor once we've got XSSFilter 13367 working properly. 13368 (WebCore::HTMLNames::canonicalize): 13369 (WebCore::HTMLNames::decodeURL): 13370 (WebCore::XSSFilter::isContainedInRequest): 13371 13372 2011-01-29 Adam Barth <abarth (a] webkit.org> 13373 13374 Reviewed by Daniel Bates. 13375 13376 XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html 13377 and xssAuditor/script-tag-post-* 13378 https://bugs.webkit.org/show_bug.cgi?id=53364 13379 13380 We're supposed to allow loading same-origin resources even if they 13381 appear as part of the request. 13382 13383 Also, we're supposed to look at the POST data too. :) 13384 13385 * html/parser/XSSFilter.cpp: 13386 (WebCore::XSSFilter::eraseAttributeIfInjected): 13387 (WebCore::XSSFilter::isSameOriginResource): 13388 - Copy/paste from XSSAuditor::isSameOriginResource. We'll 13389 eventually remove the XSSAuditor version when XSSFilter is done. 13390 * html/parser/XSSFilter.h: 13391 13392 2011-01-29 Adam Barth <abarth (a] webkit.org> 13393 13394 Reviewed by Daniel Bates. 13395 13396 XSSFilter should pass 16 of the xssAuditor/script-tag* tests 13397 https://bugs.webkit.org/show_bug.cgi?id=53362 13398 13399 Turns out we need to replace the src attribute of script tags with 13400 about:blank to avoid loading the main document URL as a script. Also, 13401 move misplaced return statement that was triggering the console message 13402 too often. 13403 13404 * html/parser/HTMLToken.h: 13405 (WebCore::HTMLToken::appendToAttributeValue): 13406 * html/parser/XSSFilter.cpp: 13407 (WebCore::XSSFilter::filterScriptToken): 13408 (WebCore::XSSFilter::eraseAttributeIfInjected): 13409 * html/parser/XSSFilter.h: 13410 13411 2011-01-28 Jon Honeycutt <jhoneycutt (a] apple.com> 13412 13413 Downloads in WK2 on Windows should write resume data to bundle 13414 https://bugs.webkit.org/show_bug.cgi?id=53282 13415 <rdar://problem/8753077> 13416 13417 Reviewed by Alice Liu. 13418 13419 * WebCore.vcproj/WebCore.vcproj: 13420 Added new files to project. 13421 13422 * platform/network/cf/DownloadBundle.h: Added. 13423 * platform/network/win/DownloadBundleWin.cpp: Added. 13424 (WebCore::DownloadBundle::magicNumber): 13425 Moved from WebKit's WebDownload so that WebKit and WebKit2 can share 13426 it. 13427 (WebCore::DownloadBundle::fileExtension): 13428 Ditto. 13429 (WebCore::DownloadBundle::appendResumeData): 13430 Ditto - but modified to return bool rather than HRESULT and to clean up 13431 whitespace. 13432 (WebCore::DownloadBundle::extractResumeData): 13433 Ditto - modified to clean up whitespace. 13434 13435 2011-01-29 Sheriff Bot <webkit.review.bot (a] gmail.com> 13436 13437 Unreviewed, rolling out r77050. 13438 http://trac.webkit.org/changeset/77050 13439 https://bugs.webkit.org/show_bug.cgi?id=53371 13440 13441 Caused a crash in Chromium's test_shell_tests (Requested by 13442 rniwa on #webkit). 13443 13444 * html/parser/HTMLTreeBuilder.cpp: 13445 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): 13446 (WebCore::HTMLTreeBuilder::FragmentParsingContext::document): 13447 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): 13448 * html/parser/HTMLTreeBuilder.h: 13449 13450 2011-01-28 Eric Seidel <eric (a] webkit.org> 13451 13452 Reviewed by Darin Adler. 13453 13454 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% 13455 https://bugs.webkit.org/show_bug.cgi?id=48719 13456 13457 It's unclear exactly what the Peacekeeper benchmark is testing, 13458 because I haven't found a way to run it myself. 13459 13460 However, I constructed a benchmark which shows at least one possible slow point. 13461 The HTML5 spec talks about creating a new document for every time we use 13462 the fragment parsing algorithm. Document() it turns out, it a huge bloated 13463 mess, and the constructor and destructor do a huge amount of work. 13464 To avoid constructing (or destructing) documents for each innerHTML call, 13465 this patch adds a shared dummy document used by all innerHTML calls. 13466 13467 This patch brings us from 7x slower than Safari 5 on tiny-innerHTML 13468 to only 1.5x slower than Safari 5. I'm sure there is more work to do here. 13469 13470 Saving a shared Document like this is error prone. Currently 13471 DummyDocumentFactory::releaseDocument() calls removeAllChildren() 13472 in an attempt to clear the Document's state. However it's possible 13473 that that call is not sufficient and we'll have future bugs here. 13474 13475 * html/parser/HTMLTreeBuilder.cpp: 13476 (WebCore::DummyDocumentFactory::createDummyDocument): 13477 (WebCore::DummyDocumentFactory::releaseDocument): 13478 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): 13479 (WebCore::HTMLTreeBuilder::FragmentParsingContext::document): 13480 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): 13481 * html/parser/HTMLTreeBuilder.h: 13482 13483 2011-01-28 Johnny Ding <jnd (a] chromium.org> 13484 13485 Reviewed by Adam Barth. 13486 13487 Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript. 13488 The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link. 13489 https://bugs.webkit.org/show_bug.cgi?id=53244 13490 13491 Test: fast/events/popup-blocked-from-iframe-src.html 13492 13493 * bindings/ScriptControllerBase.cpp: 13494 (WebCore::ScriptController::executeIfJavaScriptURL): 13495 13496 2011-01-28 Simon Fraser <simon.fraser (a] apple.com> 13497 13498 Reviewed by Gavin Barraclough. 13499 13500 Add various clampToInt() methods to MathExtras.h 13501 https://bugs.webkit.org/show_bug.cgi?id=52910 13502 13503 Use clampToInteger() from MathExtras.h 13504 13505 * css/CSSParser.cpp: 13506 (WebCore::CSSParser::parseCounter): 13507 13508 2011-01-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 13509 13510 Unreviewed, rolling out r77006 and r77020. 13511 http://trac.webkit.org/changeset/77006 13512 http://trac.webkit.org/changeset/77020 13513 https://bugs.webkit.org/show_bug.cgi?id=53360 13514 13515 "Broke Windows tests" (Requested by rniwa on #webkit). 13516 13517 * ForwardingHeaders/runtime/WriteBarrier.h: Removed. 13518 * WebCore.exp.in: 13519 * bindings/js/DOMWrapperWorld.h: 13520 * bindings/js/JSAudioConstructor.cpp: 13521 (WebCore::JSAudioConstructor::JSAudioConstructor): 13522 * bindings/js/JSDOMBinding.cpp: 13523 (WebCore::markDOMNodesForDocument): 13524 (WebCore::markDOMObjectWrapper): 13525 (WebCore::markDOMNodeWrapper): 13526 * bindings/js/JSDOMGlobalObject.cpp: 13527 (WebCore::JSDOMGlobalObject::markChildren): 13528 (WebCore::JSDOMGlobalObject::setInjectedScript): 13529 (WebCore::JSDOMGlobalObject::injectedScript): 13530 * bindings/js/JSDOMGlobalObject.h: 13531 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 13532 (WebCore::getDOMConstructor): 13533 * bindings/js/JSDOMWindowCustom.cpp: 13534 (WebCore::JSDOMWindow::setLocation): 13535 (WebCore::DialogHandler::dialogCreated): 13536 * bindings/js/JSDOMWindowShell.cpp: 13537 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 13538 (WebCore::JSDOMWindowShell::setWindow): 13539 (WebCore::JSDOMWindowShell::markChildren): 13540 (WebCore::JSDOMWindowShell::unwrappedObject): 13541 * bindings/js/JSDOMWindowShell.h: 13542 (WebCore::JSDOMWindowShell::window): 13543 (WebCore::JSDOMWindowShell::setWindow): 13544 * bindings/js/JSDeviceMotionEventCustom.cpp: 13545 (WebCore::createAccelerationObject): 13546 (WebCore::createRotationRateObject): 13547 * bindings/js/JSEventListener.cpp: 13548 (WebCore::JSEventListener::JSEventListener): 13549 (WebCore::JSEventListener::markJSFunction): 13550 * bindings/js/JSEventListener.h: 13551 (WebCore::JSEventListener::jsFunction): 13552 * bindings/js/JSHTMLDocumentCustom.cpp: 13553 (WebCore::JSHTMLDocument::setAll): 13554 * bindings/js/JSImageConstructor.cpp: 13555 (WebCore::JSImageConstructor::JSImageConstructor): 13556 * bindings/js/JSImageDataCustom.cpp: 13557 (WebCore::toJS): 13558 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 13559 (WebCore::JSJavaScriptCallFrame::scopeChain): 13560 (WebCore::JSJavaScriptCallFrame::scopeType): 13561 * bindings/js/JSNodeFilterCondition.cpp: 13562 (WebCore::JSNodeFilterCondition::markAggregate): 13563 (WebCore::JSNodeFilterCondition::acceptNode): 13564 * bindings/js/JSNodeFilterCondition.h: 13565 * bindings/js/JSNodeFilterCustom.cpp: 13566 * bindings/js/JSOptionConstructor.cpp: 13567 (WebCore::JSOptionConstructor::JSOptionConstructor): 13568 * bindings/js/JSSQLResultSetRowListCustom.cpp: 13569 (WebCore::JSSQLResultSetRowList::item): 13570 * bindings/js/ScriptCachedFrameData.cpp: 13571 (WebCore::ScriptCachedFrameData::restore): 13572 * bindings/js/ScriptObject.cpp: 13573 (WebCore::ScriptGlobalObject::set): 13574 * bindings/js/SerializedScriptValue.cpp: 13575 (WebCore::CloneDeserializer::putProperty): 13576 * bindings/scripts/CodeGeneratorJS.pm: 13577 * bridge/qt/qt_runtime.cpp: 13578 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): 13579 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 13580 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 13581 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 13582 * bridge/qt/qt_runtime.h: 13583 * bridge/runtime_root.cpp: 13584 (JSC::Bindings::RootObject::invalidate): 13585 * bridge/runtime_root.h: 13586 * dom/Document.h: 13587 13588 2011-01-28 Adam Barth <abarth (a] webkit.org> 13589 13590 Reviewed by Eric Seidel. 13591 13592 XSSFilter should log to the console when it blocks something 13593 https://bugs.webkit.org/show_bug.cgi?id=53354 13594 13595 This patch refactors a bunch of methods in XSSFilter to return a bool 13596 indicating whether they blocked anything. Using this bool, we decide 13597 whether to log to the console. We're using the same log message as the 13598 XSSAuditor, but it seems likely we can improve this message in the 13599 future (especially by piping in the correct line number, which is now 13600 accessible via the parser). 13601 13602 * html/parser/XSSFilter.cpp: 13603 (WebCore::HTMLNames::isNameOfInlineEventHandler): 13604 (WebCore::XSSFilter::filterToken): 13605 (WebCore::XSSFilter::filterTokenInitial): 13606 (WebCore::XSSFilter::filterTokenAfterScriptStartTag): 13607 (WebCore::XSSFilter::filterScriptToken): 13608 (WebCore::XSSFilter::filterObjectToken): 13609 (WebCore::XSSFilter::filterEmbedToken): 13610 (WebCore::XSSFilter::filterAppletToken): 13611 (WebCore::XSSFilter::filterMetaToken): 13612 (WebCore::XSSFilter::filterBaseToken): 13613 (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected): 13614 * html/parser/XSSFilter.h: 13615 13616 2011-01-28 Adam Barth <abarth (a] webkit.org> 13617 13618 Reviewed by Daniel Bates. 13619 13620 Wire up settings->xssAuditorEnabled to XSSFilter 13621 https://bugs.webkit.org/show_bug.cgi?id=53345 13622 13623 * html/parser/XSSFilter.cpp: 13624 (WebCore::XSSFilter::XSSFilter): 13625 (WebCore::XSSFilter::filterToken): 13626 * html/parser/XSSFilter.h: 13627 13628 2011-01-28 Adam Barth <abarth (a] webkit.org> 13629 13630 Reviewed by Daniel Bates. 13631 13632 Teach XSSFilter about <meta> and <base> tags 13633 https://bugs.webkit.org/show_bug.cgi?id=53339 13634 13635 I'm not 100% sure we need to block <meta http-equiv>, but it seems 13636 prudent given how powerful that attribute is. We definitely need to 13637 block injection of <base href> because that can redirect script tags 13638 that use relative URLs. 13639 13640 * html/parser/XSSFilter.cpp: 13641 (WebCore::XSSFilter::filterToken): 13642 (WebCore::XSSFilter::filterMetaToken): 13643 (WebCore::XSSFilter::filterBaseToken): 13644 * html/parser/XSSFilter.h: 13645 13646 2011-01-28 Adam Barth <abarth (a] webkit.org> 13647 13648 Reviewed by Daniel Bates. 13649 13650 Teach XSSFilter about <applet> 13651 https://bugs.webkit.org/show_bug.cgi?id=53338 13652 13653 HTML5 is pretty light on information about how the <applet> tag works. 13654 According to this site: 13655 13656 http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html 13657 13658 The "code" and "object" attributes are the essential attributes for 13659 determining which piece of Java to run. We might need to expand to the 13660 codebase and archive attributes at some point, but hopefully code and 13661 object will be sufficient. 13662 13663 * html/parser/XSSFilter.cpp: 13664 (WebCore::XSSFilter::filterToken): 13665 (WebCore::XSSFilter::filterAppletToken): 13666 * html/parser/XSSFilter.h: 13667 13668 2011-01-28 Adam Barth <abarth (a] webkit.org> 13669 13670 Reviewed by Daniel Bates. 13671 13672 Teach the XSSFilter about object and embed tags 13673 https://bugs.webkit.org/show_bug.cgi?id=53336 13674 13675 For <object> and <embed>, we filter out attribute values that either 13676 indicate which piece of media to load or which plugin to load. In a 13677 perfect world, we'd only need to filter out the URLs of the media, but 13678 some plug-ins (like Flash) have lots of fun places you can hide the 13679 URL (e.g., the "movie" <param>). 13680 13681 * html/parser/XSSFilter.cpp: 13682 (WebCore::XSSFilter::filterToken): 13683 (WebCore::XSSFilter::filterScriptToken): 13684 (WebCore::XSSFilter::filterObjectToken): 13685 (WebCore::XSSFilter::filterEmbedToken): 13686 (WebCore::XSSFilter::eraseAttributeIfInjected): 13687 * html/parser/XSSFilter.h: 13688 13689 2011-01-28 Oliver Hunt <oliver (a] apple.com> 13690 13691 Fix Qt build. 13692 13693 * bridge/qt/qt_runtime.cpp: 13694 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): 13695 (JSC::Bindings::QtRuntimeMetaMethod::markChildren): 13696 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 13697 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 13698 * bridge/qt/qt_runtime.h: 13699 13700 2011-01-28 Antti Koivisto <antti (a] apple.com> 13701 13702 Reviewed by Simon Fraser. 13703 13704 CSS styles are shared based on uninitialized property values 13705 https://bugs.webkit.org/show_bug.cgi?id=53285 13706 13707 Null test. 13708 13709 * dom/NamedNodeMap.cpp: 13710 (WebCore::NamedNodeMap::mappedMapsEquivalent): 13711 13712 2011-01-27 Oliver Hunt <oliver (a] apple.com> 13713 13714 Reviewed by Geoffrey Garen. 13715 13716 Convert markstack to a slot visitor API 13717 https://bugs.webkit.org/show_bug.cgi?id=53219 13718 13719 Update WebCore to the new marking apis, correct bindings 13720 codegen. 13721 13722 * ForwardingHeaders/runtime/WriteBarrier.h: Added. 13723 * WebCore.exp.in: 13724 * bindings/js/DOMWrapperWorld.h: 13725 (WebCore::DOMWrapperWorld::globalData): 13726 * bindings/js/JSAudioConstructor.cpp: 13727 (WebCore::JSAudioConstructor::JSAudioConstructor): 13728 * bindings/js/JSDOMBinding.cpp: 13729 (WebCore::markDOMNodesForDocument): 13730 (WebCore::markDOMObjectWrapper): 13731 (WebCore::markDOMNodeWrapper): 13732 * bindings/js/JSDOMGlobalObject.cpp: 13733 (WebCore::JSDOMGlobalObject::markChildren): 13734 (WebCore::JSDOMGlobalObject::setInjectedScript): 13735 (WebCore::JSDOMGlobalObject::injectedScript): 13736 * bindings/js/JSDOMGlobalObject.h: 13737 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 13738 (WebCore::getDOMConstructor): 13739 * bindings/js/JSDOMWindowCustom.cpp: 13740 (WebCore::JSDOMWindow::setLocation): 13741 (WebCore::DialogHandler::dialogCreated): 13742 * bindings/js/JSDOMWindowShell.cpp: 13743 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 13744 (WebCore::JSDOMWindowShell::setWindow): 13745 (WebCore::JSDOMWindowShell::markChildren): 13746 (WebCore::JSDOMWindowShell::unwrappedObject): 13747 * bindings/js/JSDOMWindowShell.h: 13748 (WebCore::JSDOMWindowShell::window): 13749 (WebCore::JSDOMWindowShell::setWindow): 13750 * bindings/js/JSEventListener.cpp: 13751 (WebCore::JSEventListener::JSEventListener): 13752 (WebCore::JSEventListener::markJSFunction): 13753 * bindings/js/JSEventListener.h: 13754 (WebCore::JSEventListener::jsFunction): 13755 * bindings/js/JSHTMLDocumentCustom.cpp: 13756 (WebCore::JSHTMLDocument::setAll): 13757 * bindings/js/JSImageConstructor.cpp: 13758 (WebCore::JSImageConstructor::JSImageConstructor): 13759 * bindings/js/JSImageDataCustom.cpp: 13760 (WebCore::toJS): 13761 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 13762 (WebCore::JSJavaScriptCallFrame::scopeChain): 13763 (WebCore::JSJavaScriptCallFrame::scopeType): 13764 * bindings/js/JSNodeFilterCondition.cpp: 13765 (WebCore::JSNodeFilterCondition::markAggregate): 13766 (WebCore::JSNodeFilterCondition::acceptNode): 13767 * bindings/js/JSNodeFilterCondition.h: 13768 * bindings/js/JSNodeFilterCustom.cpp: 13769 * bindings/js/JSOptionConstructor.cpp: 13770 (WebCore::JSOptionConstructor::JSOptionConstructor): 13771 * bindings/js/JSSQLResultSetRowListCustom.cpp: 13772 (WebCore::JSSQLResultSetRowList::item): 13773 * bindings/js/ScriptCachedFrameData.cpp: 13774 (WebCore::ScriptCachedFrameData::restore): 13775 * bindings/js/ScriptObject.cpp: 13776 (WebCore::ScriptGlobalObject::set): 13777 * bindings/js/SerializedScriptValue.cpp: 13778 (WebCore::CloneDeserializer::putProperty): 13779 * bindings/scripts/CodeGeneratorJS.pm: 13780 * dom/Document.h: 13781 13782 2011-01-28 Sam Weinig <sam (a] webkit.org> 13783 13784 Reviewed by Anders Carlsson. 13785 13786 Keyboard scrolling doesnt work in WebKit2 13787 <rdar://problem/8909672> 13788 13789 * platform/mac/ScrollAnimatorMac.mm: 13790 (-[ScrollAnimationHelperDelegate convertSizeToBacking:]): 13791 (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]): 13792 Add additional necessary delegate methods. 13793 13794 2011-01-29 Darin Adler <darin (a] apple.com> 13795 13796 Reviewed by Dan Bernstein. 13797 13798 Re-land this patch with the missing null check that caused crashes in layout tests. 13799 13800 Changing cursor style has no effect until the mouse moves 13801 https://bugs.webkit.org/show_bug.cgi?id=14344 13802 rdar://problem/7563712 13803 13804 No tests added because we don't have infrastructure for testing actual cursor 13805 changes (as opposed to cursor style computation) at this time. We might add it later. 13806 13807 * page/EventHandler.cpp: 13808 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added. 13809 * page/EventHandler.h: Ditto. 13810 13811 * rendering/RenderObject.cpp: 13812 (WebCore::areNonIdenticalCursorListsEqual): Added. 13813 (WebCore::areCursorsEqual): Added. 13814 (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if 13815 cursor styles changed. 13816 13817 2011-01-28 Justin Schuh <jschuh (a] chromium.org> 13818 13819 Reviewed by Eric Seidel. 13820 13821 We should hold RefPtrs to SVG font faces 13822 https://bugs.webkit.org/show_bug.cgi?id=53270 13823 13824 Test: svg/custom/use-multiple-on-nested-disallowed-font.html 13825 13826 * css/CSSFontFaceSource.cpp: 13827 (WebCore::CSSFontFaceSource::getFontData): 13828 * css/CSSFontFaceSource.h: 13829 * svg/SVGFontFaceElement.cpp: 13830 (WebCore::SVGFontFaceElement::associatedFontElement): 13831 * svg/SVGFontFaceElement.h: 13832 13833 2011-01-28 Zhenyao Mo <zmo (a] google.com> 13834 13835 Reviewed by Kenneth Russell. 13836 13837 uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N 13838 https://bugs.webkit.org/show_bug.cgi?id=53306 13839 13840 * html/canvas/WebGLRenderingContext.cpp: 13841 (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): 13842 13843 2011-01-28 Tom Sepez <tsepez (a] chromium.org> 13844 13845 Reviewed by Eric Seidel. 13846 13847 NULL pointer crash in TextIterator::handleTextBox() 13848 https://bugs.webkit.org/show_bug.cgi?id=53267 13849 13850 Test: fast/css/rtl-nth-child-first-letter-crash.html 13851 13852 * editing/TextIterator.cpp: 13853 (WebCore::TextIterator::handleTextBox): 13854 13855 2011-01-28 Adrienne Walker <enne (a] google.com> 13856 13857 Reviewed by Kenneth Russell. 13858 13859 [chromium] Remove a spurious diagnostic CRASH check. 13860 https://bugs.webkit.org/show_bug.cgi?id=52379 13861 13862 * platform/graphics/chromium/LayerTilerChromium.cpp: 13863 (WebCore::LayerTilerChromium::invalidateRect): 13864 13865 2011-01-28 Dan Bernstein <mitz (a] apple.com> 13866 13867 Reviewed by Sam Weinig. 13868 13869 <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages 13870 https://bugs.webkit.org/show_bug.cgi?id=19785 13871 13872 Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the 13873 direction corresponding to the writing direction of the <select> element, with the checkmarks 13874 on the "start" side, and use the <option>'s writing direction rather than "natural". Made the 13875 pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(), 13876 which returns true for this pop-up behavior. 13877 13878 * loader/EmptyClients.h: 13879 (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. 13880 * manual-tests/pop-up-alignment-and-direction.html: Added. 13881 * page/Chrome.cpp: 13882 (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the 13883 client. 13884 * page/Chrome.h: 13885 * page/ChromeClient.h: 13886 * platform/PopupMenuStyle.h: 13887 (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member 13888 variable initialization. 13889 (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor. 13890 * platform/mac/PopupMenuMac.mm: 13891 (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment 13892 to match the menu's writing direction. Set items' writing direction and direction override 13893 according to their styles. 13894 * rendering/RenderMenuList.cpp: 13895 (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer. 13896 (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the 13897 menu's writing direction, use that alignment for the button as well. Also in this mode, use the 13898 item's writing direction and override setting. 13899 (WebCore::RenderMenuList::setTextFromOption): Store the option element's style. 13900 (WebCore::RenderMenuList::itemStyle): Pass the text direction override value. 13901 (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's. 13902 * rendering/RenderMenuList.h: 13903 * rendering/RenderTextControlSingleLine.cpp: 13904 (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value. 13905 13906 2011-01-28 Adam Barth <abarth (a] webkit.org> 13907 13908 Reviewed by Daniel Bates. 13909 13910 Teach XSSFilter how to filter <script> elements 13911 https://bugs.webkit.org/show_bug.cgi?id=53279 13912 13913 This patch adds the ability for the XSSFilter to block injected 13914 <script> elements. Handling script elements is slightly subtle because 13915 these elements act very differently depending on whether they have a 13916 src attribute. 13917 13918 In the "src case", which check whether the src attribute was present in 13919 the request. In the "non-src case", we check whether the start tag and 13920 the body of the script element was included in the request. Checking 13921 for the whole start tag means we miss out on some attribute splitting 13922 attacks inside of script tags, but that doesn't seem like that big a 13923 deal. 13924 13925 This patch also introduces some amount of state into the XSSFilter 13926 because inline script elements span multiple tokens. There's a lot of 13927 tuning and optimization left in these cases, some of which I've noted 13928 with FIXMEs. 13929 13930 To test this patch, I played around with some of the existing 13931 XSSAuditor tests. Hopefully I'll be able to run the test suite more 13932 systematically in the future. 13933 13934 * html/parser/HTMLToken.h: 13935 (WebCore::HTMLToken::eraseCharacters): 13936 (WebCore::HTMLToken::eraseValueOfAttribute): 13937 * html/parser/XSSFilter.cpp: 13938 (WebCore::HTMLNames::hasName): 13939 (WebCore::HTMLNames::findAttributeWithName): 13940 (WebCore::HTMLNames::isNameOfScriptCarryingAttribute): 13941 (WebCore::XSSFilter::XSSFilter): 13942 (WebCore::XSSFilter::filterToken): 13943 (WebCore::XSSFilter::filterTokenAfterScriptStartTag): 13944 (WebCore::XSSFilter::filterScriptToken): 13945 (WebCore::XSSFilter::snippetForRange): 13946 (WebCore::XSSFilter::snippetForAttribute): 13947 * html/parser/XSSFilter.h: 13948 13949 2011-01-28 Adam Barth <abarth (a] webkit.org> 13950 13951 Reviewed by Daniel Bates. 13952 13953 Sketch out new XSS filter design (disabled by default) 13954 https://bugs.webkit.org/show_bug.cgi?id=53205 13955 13956 This patch adds a basic sketch of the new XSS filter design. Rather 13957 than watching scripts as they execute, in this design, we watch tokens 13958 emitted by the tokenizer. We then map the tokens directly back into 13959 input characters, which lets us skip all the complicated logic related 13960 to HTML entities and double-decoding of JavaScript URLs. 13961 13962 This patch contains only the bare essentially machinery. I'll add more 13963 in future patches and eventually remove the previous code once this 13964 code is up and running correctly. 13965 13966 * Android.mk: 13967 * CMakeLists.txt: 13968 * GNUmakefile.am: 13969 * WebCore.gypi: 13970 * WebCore.pro: 13971 * WebCore.vcproj/WebCore.vcproj: 13972 * WebCore.xcodeproj/project.pbxproj: 13973 * html/parser/HTMLDocumentParser.cpp: 13974 (WebCore::HTMLDocumentParser::HTMLDocumentParser): 13975 (WebCore::HTMLDocumentParser::pumpTokenizer): 13976 (WebCore::HTMLDocumentParser::sourceForToken): 13977 * html/parser/HTMLDocumentParser.h: 13978 * html/parser/XSSFilter.cpp: Added. 13979 * html/parser/XSSFilter.h: Added. 13980 13981 2011-01-28 Michael Saboff <msaboff (a] apple.com> 13982 13983 Reviewed by Geoffrey Garen. 13984 13985 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition 13986 https://bugs.webkit.org/show_bug.cgi?id=53271 13987 13988 Reapplying this patch with the change that the second ASSERT in 13989 RootObject::removeRuntimeObject was changed to use 13990 .uncheckedGet() instead of the failing .get(). The object in question 13991 could be in the process of being GC'ed. The get() call will not return 13992 such an object while the uncheckedGet() call will return the (unsafe) 13993 object. This is the behavior we want. 13994 13995 Precautionary change. 13996 Changed RootObject to use WeakGCMap instead of HashSet. 13997 Found will looking for another issue, but can't produce a test case 13998 that is problematic. THerefore there aren't any new tests. 13999 14000 * bridge/runtime_root.cpp: 14001 (JSC::Bindings::RootObject::invalidate): 14002 (JSC::Bindings::RootObject::addRuntimeObject): 14003 (JSC::Bindings::RootObject::removeRuntimeObject): 14004 * bridge/runtime_root.h: 14005 14006 2011-01-28 Adam Roben <aroben (a] apple.com> 14007 14008 Notify CACFLayerTreeHost when the context is flushed 14009 14010 LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation 14011 timers were never starting. 14012 14013 Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and 14014 76858 broke ~36 animations, compositing, and transitions tests 14015 14016 Reviewed by Sam Weinig. 14017 14018 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: 14019 (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we 14020 start our render timer. 14021 14022 2011-01-28 Antti Koivisto <antti (a] apple.com> 14023 14024 Reviewed by Dan Bernstein. 14025 14026 Remove dead code that tried to map from CSS values to parser values 14027 https://bugs.webkit.org/show_bug.cgi?id=53318 14028 14029 * css/CSSFunctionValue.cpp: 14030 * css/CSSFunctionValue.h: 14031 * css/CSSPrimitiveValue.cpp: 14032 * css/CSSPrimitiveValue.h: 14033 * css/CSSValue.h: 14034 * css/CSSValueList.cpp: 14035 * css/CSSValueList.h: 14036 14037 2011-01-28 Enrica Casucci <enrica (a] apple.com> 14038 14039 Reviewed by Adam Roben. 14040 14041 Some drag and drop tests fail since r76824 14042 https://bugs.webkit.org/show_bug.cgi?id=53304 14043 14044 There were '||' instead of '&&' in the checks for valid 14045 clipboard content. 14046 14047 * platform/win/ClipboardWin.cpp: 14048 (WebCore::ClipboardWin::getData): 14049 (WebCore::ClipboardWin::types): 14050 (WebCore::ClipboardWin::files): 14051 14052 2011-01-28 Martin Robinson <mrobinson (a] igalia.com> 14053 14054 [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory 14055 https://bugs.webkit.org/show_bug.cgi?id=52889 14056 14057 Build fix for WebAudio. Include WebAudio source files on the source 14058 list when WebAudio is enabled. 14059 14060 * GNUmakefile.am: Include missing source files. 14061 14062 2011-01-28 Sam Weinig <sam (a] webkit.org> 14063 14064 Reviewed by Maciej Stachowiak. 14065 14066 Add basic rubber banding support 14067 <rdar://problem/8219429> 14068 https://bugs.webkit.org/show_bug.cgi?id=53277 14069 14070 * page/EventHandler.cpp: 14071 (WebCore::EventHandler::handleGestureEvent): 14072 Pass gesture events to the FrameView. 14073 14074 * platform/ScrollAnimator.cpp: 14075 (WebCore::ScrollAnimator::handleGestureEvent): 14076 * platform/ScrollAnimator.h: 14077 Add stubbed out implementation. 14078 14079 * platform/ScrollView.cpp: 14080 (WebCore::ScrollView::ScrollView): 14081 (WebCore::ScrollView::overhangAmount): 14082 (WebCore::ScrollView::wheelEvent): 14083 * platform/ScrollView.h: 14084 * platform/ScrollableArea.cpp: 14085 (WebCore::ScrollableArea::ScrollableArea): 14086 (WebCore::ScrollableArea::handleGestureEvent): 14087 * platform/ScrollableArea.h: 14088 (WebCore::ScrollableArea::constrainsScrollingToContentEdge): 14089 (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge): 14090 Move constrains scrolling bit to ScrollableArea from ScrollView. 14091 14092 (WebCore::ScrollableArea::contentsSize): 14093 (WebCore::ScrollableArea::overhangAmount): 14094 Add additional virtual functions for information needed by the animator. 14095 14096 * platform/mac/ScrollAnimatorMac.h: 14097 * platform/mac/ScrollAnimatorMac.mm: 14098 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 14099 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): 14100 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): 14101 (WebCore::elasticDeltaForTimeDelta): 14102 (WebCore::elasticDeltaForReboundDelta): 14103 (WebCore::reboundDeltaForElasticDelta): 14104 (WebCore::scrollWheelMultiplier): 14105 (WebCore::ScrollAnimatorMac::handleWheelEvent): 14106 (WebCore::ScrollAnimatorMac::handleGestureEvent): 14107 (WebCore::ScrollAnimatorMac::pinnedInDirection): 14108 (WebCore::ScrollAnimatorMac::allowsVerticalStretching): 14109 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching): 14110 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): 14111 (WebCore::ScrollAnimatorMac::beginScrollGesture): 14112 (WebCore::ScrollAnimatorMac::endScrollGesture): 14113 (WebCore::ScrollAnimatorMac::snapRubberBand): 14114 (WebCore::roundTowardZero): 14115 (WebCore::roundToDevicePixelTowardZero): 14116 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): 14117 Implement basic rubber banding. 14118 14119 2011-01-28 Dan Bernstein <mitz (a] apple.com> 14120 14121 Reviewed by Anders Carlsson. 14122 14123 Changing unicode-bidi doesnt force layout 14124 https://bugs.webkit.org/show_bug.cgi?id=53311 14125 14126 Test: fast/dynamic/unicode-bidi.html 14127 14128 * rendering/style/RenderStyle.cpp: 14129 (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ. 14130 14131 2011-01-27 Dimitri Glazkov <dglazkov (a] chromium.org> 14132 14133 Reviewed by Kent Tamura. 14134 14135 Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId. 14136 https://bugs.webkit.org/show_bug.cgi?id=53122 14137 14138 This is the first step in converting HTMLMediaElement to the new shadow DOM. 14139 14140 Should not regress any existing tests. No observable change in behavior. 14141 14142 * css/CSSSelector.cpp: 14143 (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors. 14144 (WebCore::nameToPseudoTypeMap): Ditto. 14145 (WebCore::CSSSelector::extractPseudoType): Ditto. 14146 * css/CSSSelector.h: Ditto. 14147 * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline. 14148 * rendering/MediaControlElements.cpp: 14149 (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement, 14150 which is now replaced with virtual shadowPseudoId on each corresponding class. 14151 (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline. 14152 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set 14153 display type in constructor. 14154 (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as 14155 constructor argument. 14156 (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added. 14157 (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added 14158 to disambiguate from the MediaControlMuteButtonElement. 14159 (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added. 14160 (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added. 14161 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as 14162 constructor argument. 14163 (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added. 14164 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as 14165 constructor argument. 14166 (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added. 14167 (WebCore::MediaControlSeekForwardButtonElement::create): Added. 14168 (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added. 14169 (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added. 14170 (WebCore::MediaControlSeekBackButtonElement::create): Added. 14171 (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added. 14172 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added. 14173 (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added. 14174 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as 14175 constructor argument. 14176 (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added. 14177 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as 14178 constructor argument. 14179 (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added. 14180 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as 14181 constructor argument. 14182 (WebCore::MediaControlTimelineElement::shadowPseudoId): Added. 14183 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as 14184 constructor argument. 14185 (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added. 14186 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as 14187 constructor argument. 14188 (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added. 14189 * rendering/MediaControlElements.h: 14190 (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added. 14191 (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added. 14192 * rendering/RenderMedia.cpp: 14193 (WebCore::RenderMedia::createMuteButton): Changed to use new constructor. 14194 (WebCore::RenderMedia::createSeekBackButton): Ditto. 14195 (WebCore::RenderMedia::createSeekForwardButton): Ditto. 14196 (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto. 14197 * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used. 14198 14199 2011-01-27 Dimitri Glazkov <dglazkov (a] chromium.org> 14200 14201 Reviewed by Eric Carlson. 14202 14203 Split MediaControls out of RenderMedia. 14204 https://bugs.webkit.org/show_bug.cgi?id=53252 14205 14206 Near-mechanical moving of stuff, no change in behavior, thus no new tests. 14207 14208 * Android.mk: Added MediaControls to build system. 14209 * CMakeLists.txt: Ditto. 14210 * GNUmakefile.am: Ditto. 14211 * WebCore.gypi: Ditto. 14212 * WebCore.pro: Ditto. 14213 * WebCore.vcproj/WebCore.vcproj: Ditto. 14214 * WebCore.xcodeproj/project.pbxproj: Ditto. 14215 * html/HTMLMediaElement.cpp: 14216 (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls. 14217 * html/shadow/MediaControls.cpp: Copied all controls-related methods from 14218 Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. 14219 * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h. 14220 * rendering/MediaControlElements.cpp: 14221 (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls. 14222 * rendering/RenderMedia.cpp: 14223 (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls. 14224 (WebCore::RenderMedia::destroy): Changed to use MediaControls. 14225 (WebCore::RenderMedia::styleDidChange): Ditto. 14226 (WebCore::RenderMedia::layout): Ditto. 14227 (WebCore::RenderMedia::updateFromElement): Ditto. 14228 * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which 14229 is only used by sub-class RenderVideo. 14230 (WebCore::RenderMedia::controls): Added. 14231 * rendering/RenderVideo.cpp: 14232 (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement(). 14233 (WebCore::RenderVideo::calculateIntrinsicSize): Ditto. 14234 (WebCore::RenderVideo::paintReplaced): Ditto. 14235 (WebCore::RenderVideo::updatePlayer): Ditto. 14236 (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto. 14237 (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto. 14238 14239 2011-01-28 Pavel Feldman <pfeldman (a] chromium.org> 14240 14241 Reviewed by Yury Semikhatsky. 14242 14243 Web Inspector: allow remote debugging with front-end 14244 served from the cloud. 14245 https://bugs.webkit.org/show_bug.cgi?id=53303 14246 14247 * inspector/front-end/inspector.js: 14248 14249 2011-01-28 Aparna Nandyal <aparna.nand (a] wipro.com> 14250 14251 Reviewed by Andreas Kling. 14252 14253 Setting value of m_PressedPos to make scrolling smooth 14254 14255 Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler. 14256 https://bugs.webkit.org/show_bug.cgi?id=51349 14257 14258 The value of m_PressedPos was getting set before moveThumb() call 14259 in all other scenarios except when "Scroll Here" option is used. 14260 Hence scrolling with this option was not as expected even in cases 14261 where scrolling was happening. The thumb would move in unexpected 14262 direction. m_PressedPos is now set to pressed position so delta is 14263 calculated. 14264 Unable to write a test case as the test needs to click on "Scroll 14265 Here" option of context sensitive menu and QTest is unable to do it. 14266 Besides no new functionality introduced. 14267 14268 * platform/qt/ScrollbarQt.cpp: 14269 (WebCore::Scrollbar::contextMenu): 14270 14271 2011-01-28 Andrey Kosyakov <caseq (a] chromium.org> 14272 14273 Reviewed by Pavel Feldman. 14274 14275 Web Inspector: [Extensions API] add JSON schema for extensions API 14276 https://bugs.webkit.org/show_bug.cgi?id=53236 14277 14278 * inspector/front-end/ExtensionAPISchema.json: Added. 14279 14280 2011-01-27 Zhenyao Mo <zmo (a] google.com> 14281 14282 Reviewed by Kenneth Russell. 14283 14284 Remove _LENGTH enumerants 14285 https://bugs.webkit.org/show_bug.cgi?id=53259 14286 14287 * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH. 14288 (WebCore::WebGLRenderingContext::getProgramParameter): 14289 (WebCore::WebGLRenderingContext::getShaderParameter): 14290 * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH. 14291 14292 2011-01-28 Alexander Pavlov <apavlov (a] chromium.org> 14293 14294 Reviewed by Yury Semikhatsky. 14295 14296 Web Inspector: syntax highlight inline JS and CSS in HTML resources 14297 https://bugs.webkit.org/show_bug.cgi?id=30831 14298 14299 * inspector/front-end/SourceHTMLTokenizer.js: 14300 (WebInspector.SourceHTMLTokenizer): 14301 (WebInspector.SourceHTMLTokenizer.prototype.set line): 14302 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 14303 * inspector/front-end/SourceHTMLTokenizer.re2js: 14304 14305 2011-01-28 Alexander Pavlov <apavlov (a] chromium.org> 14306 14307 Reviewed by Yury Semikhatsky. 14308 14309 Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword 14310 https://bugs.webkit.org/show_bug.cgi?id=53295 14311 14312 Select the current word suffix before switching to the next suggestion. 14313 14314 * inspector/front-end/StylesSidebarPane.js: 14315 (): 14316 14317 2011-01-28 Alejandro G. Castro <alex (a] igalia.com> 14318 14319 Reviewed by Xan Lopez. 14320 14321 [GTK] Fix dist compilation for the release 14322 https://bugs.webkit.org/show_bug.cgi?id=53290 14323 14324 * GNUmakefile.am: Added inspector files to the extra dist. 14325 14326 2011-01-28 Ilya Sherman <isherman (a] chromium.org> 14327 14328 Reviewed by Andreas Kling. 14329 14330 Const-correct HTMLSelectElement and WebSelectElement 14331 https://bugs.webkit.org/show_bug.cgi?id=53293 14332 14333 * html/HTMLSelectElement.cpp: 14334 (WebCore::HTMLSelectElement::value): const. 14335 * html/HTMLSelectElement.h: 14336 14337 2011-01-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 14338 14339 Unreviewed, rolling out r76893. 14340 http://trac.webkit.org/changeset/76893 14341 https://bugs.webkit.org/show_bug.cgi?id=53287 14342 14343 It made some tests crash on GTK and Qt debug bots (Requested 14344 by Ossy on #webkit). 14345 14346 * bridge/runtime_root.cpp: 14347 (JSC::Bindings::RootObject::invalidate): 14348 (JSC::Bindings::RootObject::addRuntimeObject): 14349 (JSC::Bindings::RootObject::removeRuntimeObject): 14350 * bridge/runtime_root.h: 14351 14352 2011-01-27 Greg Coletta <greg.coletta (a] nokia.com> 14353 14354 Reviewed by Laszlo Gombos. 14355 14356 Get rid of prefix header dependency for WebKit2 build system 14357 https://bugs.webkit.org/show_bug.cgi?id=50174 14358 14359 Guard EmptyProtocalDefinitions.h to make sure it's not included twice. 14360 14361 * platform/mac/EmptyProtocolDefinitions.h: 14362 14363 2011-01-27 Abhishek Arya <inferno (a] chromium.org> 14364 14365 Reviewed by Dan Bernstein. 14366 14367 Recalc table sections if needed before calculating the first line 14368 box baseline. 14369 https://bugs.webkit.org/show_bug.cgi?id=53265 14370 14371 When we try to calculate the baseline position of a table cell, 14372 we recurse through all the child sibling boxes (when children are 14373 non inline) and add their first linebox baseline values. If one of 14374 the children is a table with pending section recalc, we will access 14375 wrong table section values. We recalc table sections if it is needed. 14376 14377 Test: fast/table/recalc-section-first-body-crash-main.html 14378 14379 * rendering/RenderTable.cpp: 14380 (WebCore::RenderTable::firstLineBoxBaseline): 14381 14382 2011-01-27 Adrienne Walker <enne (a] google.com> 14383 14384 Reviewed by Kenneth Russell. 14385 14386 [chromium] Add CRASH calls to further debug tiled compositor memcpy crash. 14387 https://bugs.webkit.org/show_bug.cgi?id=52379 14388 14389 Test: LayoutTests/compositing (to verify these weren't triggered) 14390 14391 * platform/graphics/chromium/LayerTilerChromium.cpp: 14392 (WebCore::LayerTilerChromium::invalidateRect): 14393 (WebCore::LayerTilerChromium::update): 14394 14395 2011-01-27 Alexander Pavlov <apavlov (a] chromium.org> 14396 14397 Reviewed by Pavel Feldman. 14398 14399 Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact 14400 https://bugs.webkit.org/show_bug.cgi?id=53242 14401 14402 * inspector/front-end/StylesSidebarPane.js: 14403 (WebInspector.StylePropertyTreeElement.prototype): 14404 14405 2011-01-27 Sheriff Bot <webkit.review.bot (a] gmail.com> 14406 14407 Unreviewed, rolling out r76891. 14408 http://trac.webkit.org/changeset/76891 14409 https://bugs.webkit.org/show_bug.cgi?id=53280 14410 14411 Makes every layout test crash (Requested by othermaciej on 14412 #webkit). 14413 14414 * page/EventHandler.cpp: 14415 * page/EventHandler.h: 14416 * rendering/RenderObject.cpp: 14417 (WebCore::RenderObject::styleDidChange): 14418 14419 2011-01-27 Ryosuke Niwa <rniwa (a] webkit.org> 14420 14421 Unreviewed, rolling out r76839. 14422 http://trac.webkit.org/changeset/76839 14423 https://bugs.webkit.org/show_bug.cgi?id=49744 14424 14425 broke pixel tests 14426 14427 * rendering/RenderBox.cpp: 14428 (WebCore::RenderBox::localCaretRect): 14429 14430 2011-01-27 Emil A Eklund <eae (a] chromium.org> 14431 14432 Reviewed by Darin Adler. 14433 14434 contentEditable formatBlock crashes on divs with contenteditable="false" 14435 https://bugs.webkit.org/show_bug.cgi?id=53263 14436 14437 Check if editableRootForPosition returns null for position. 14438 14439 Test: editing/execCommand/format-block-contenteditable-false.html 14440 14441 * editing/FormatBlockCommand.cpp: 14442 (WebCore::FormatBlockCommand::formatRange): 14443 14444 2011-01-27 Dimitri Glazkov <dglazkov (a] chromium.org> 14445 14446 Reviewed by Darin Adler. 14447 14448 Remove RenderMedia members that aren't used. 14449 https://bugs.webkit.org/show_bug.cgi?id=53245 14450 14451 Refactoring, no change in behavior, so no new tests. 14452 14453 * rendering/RenderMedia.h: Removed unused member variables. 14454 14455 2011-01-27 Michael Saboff <msaboff (a] apple.com> 14456 14457 Reviewed by Darin Adler. 14458 14459 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition 14460 https://bugs.webkit.org/show_bug.cgi?id=53271 14461 14462 Precautionary change. 14463 Changed RootObject to use WeakGCMap instead of HashSet. 14464 Found will looking for another issue, but can't produce a test case 14465 that is problematic. THerefore there aren't any new tests. 14466 14467 * bridge/runtime_root.cpp: 14468 (JSC::Bindings::RootObject::invalidate): 14469 (JSC::Bindings::RootObject::addRuntimeObject): 14470 (JSC::Bindings::RootObject::removeRuntimeObject): 14471 * bridge/runtime_root.h: 14472 14473 2011-01-27 Kenneth Russell <kbr (a] google.com> 14474 14475 Reviewed by James Robinson. 14476 14477 Rename Typed Array slice() to subset() 14478 https://bugs.webkit.org/show_bug.cgi?id=53273 14479 14480 * bindings/js/JSArrayBufferViewHelper.h: 14481 (WebCore::constructArrayBufferView): 14482 * bindings/v8/custom/V8ArrayBufferViewCustom.h: 14483 (WebCore::constructWebGLArray): 14484 * html/canvas/Float32Array.cpp: 14485 (WebCore::Float32Array::subset): 14486 * html/canvas/Float32Array.h: 14487 * html/canvas/Float32Array.idl: 14488 * html/canvas/Int16Array.cpp: 14489 (WebCore::Int16Array::subset): 14490 * html/canvas/Int16Array.h: 14491 * html/canvas/Int16Array.idl: 14492 * html/canvas/Int32Array.cpp: 14493 (WebCore::Int32Array::subset): 14494 * html/canvas/Int32Array.h: 14495 * html/canvas/Int32Array.idl: 14496 * html/canvas/Int8Array.cpp: 14497 (WebCore::Int8Array::subset): 14498 * html/canvas/Int8Array.h: 14499 * html/canvas/Int8Array.idl: 14500 * html/canvas/TypedArrayBase.h: 14501 (WebCore::TypedArrayBase::subsetImpl): 14502 * html/canvas/Uint16Array.cpp: 14503 (WebCore::Uint16Array::subset): 14504 * html/canvas/Uint16Array.h: 14505 * html/canvas/Uint16Array.idl: 14506 * html/canvas/Uint32Array.cpp: 14507 (WebCore::Uint32Array::subset): 14508 * html/canvas/Uint32Array.h: 14509 * html/canvas/Uint32Array.idl: 14510 * html/canvas/Uint8Array.cpp: 14511 (WebCore::Uint8Array::subset): 14512 * html/canvas/Uint8Array.h: 14513 * html/canvas/Uint8Array.idl: 14514 14515 2011-01-27 Darin Adler <darin (a] apple.com> 14516 14517 Reviewed by Dan Bernstein. 14518 14519 Changing cursor style has no effect until the mouse moves 14520 https://bugs.webkit.org/show_bug.cgi?id=14344 14521 rdar://problem/7563712 14522 14523 No tests added because we don't have infrastructure for testing actual cursor 14524 changes (as opposed to cursor style computation) at this time. We might add it later. 14525 14526 * page/EventHandler.cpp: 14527 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added. 14528 * page/EventHandler.h: Ditto. 14529 14530 * rendering/RenderObject.cpp: 14531 (WebCore::areNonIdenticalCursorListsEqual): Added. 14532 (WebCore::areCursorsEqual): Added. 14533 (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if 14534 cursor styles changed. 14535 14536 2011-01-27 Leo Yang <leo.yang (a] torchmobile.com.cn> 14537 14538 Reviewed by Dirk Schulze. 14539 14540 SVG Use Cycle is not detected 14541 https://bugs.webkit.org/show_bug.cgi?id=52544 14542 14543 We should check if SVGUseElement::buildInstanceTree finds problem 14544 for every child node. If it finds problem for any children we must 14545 return immediately because otherwise the foundProblem variable may 14546 be rewritten to false. 14547 14548 Test: svg/custom/recursive-use2.svg 14549 14550 * svg/SVGUseElement.cpp: 14551 (WebCore::SVGUseElement::buildInstanceTree): 14552 14553 2011-01-27 Zhenyao Mo <zmo (a] google.com> 14554 14555 Reviewed by Kenneth Russell. 14556 14557 texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call 14558 https://bugs.webkit.org/show_bug.cgi?id=53054 14559 14560 Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html 14561 14562 * html/canvas/WebGLRenderingContext.cpp: 14563 (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match. 14564 14565 2011-01-27 Yi Shen <yi.4.shen (a] nokia.com>, Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 14566 14567 Reviewed by Andreas Kling. 14568 14569 [Qt] Add fullscreen media control button for html video 14570 https://bugs.webkit.org/show_bug.cgi?id=51543 14571 14572 Implement media control fullscreen button for QtWebKit html5 video. 14573 14574 * css/mediaControlsQt.css: 14575 (video::-webkit-media-controls-fullscreen-button): 14576 * platform/qt/RenderThemeQt.cpp: 14577 (WebCore::RenderThemeQt::paintMediaFullscreenButton): 14578 14579 2011-01-27 Nate Chapin <japhet (a] chromium.org> 14580 14581 Reviewed by Adam Barth. 14582 14583 Remove FrameLoader::url() and update callers to use 14584 Document::url(). 14585 https://bugs.webkit.org/show_bug.cgi?id=41165 14586 14587 Refactor, no new tests. 14588 14589 * WebCore.exp.in: 14590 * dom/Document.cpp: 14591 (WebCore::Document::processHttpEquiv): 14592 (WebCore::Document::removePendingSheet): 14593 * history/CachedFrame.cpp: 14594 (WebCore::CachedFrameBase::CachedFrameBase): 14595 * history/PageCache.cpp: 14596 (WebCore::logCanCacheFrameDecision): 14597 (WebCore::PageCache::canCachePageContainingThisFrame): 14598 * html/HTMLFrameElementBase.cpp: 14599 (WebCore::HTMLFrameElementBase::isURLAllowed): 14600 * html/HTMLPlugInImageElement.cpp: 14601 (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL): 14602 * inspector/InspectorAgent.cpp: 14603 (WebCore::InspectorAgent::inspectedURL): 14604 * inspector/InspectorResourceAgent.cpp: 14605 (WebCore::buildObjectForFrame): 14606 * loader/DocumentWriter.cpp: 14607 (WebCore::DocumentWriter::replaceDocument): 14608 (WebCore::DocumentWriter::deprecatedFrameEncoding): 14609 * loader/FrameLoader.cpp: 14610 * loader/FrameLoader.h: 14611 * loader/HistoryController.cpp: 14612 (WebCore::HistoryController::updateForStandardLoad): 14613 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 14614 (WebCore::HistoryController::updateForSameDocumentNavigation): 14615 * loader/NavigationScheduler.cpp: 14616 (WebCore::ScheduledHistoryNavigation::fire): 14617 (WebCore::NavigationScheduler::scheduleLocationChange): 14618 (WebCore::NavigationScheduler::scheduleRefresh): 14619 * page/FrameView.cpp: 14620 (WebCore::FrameView::updateControlTints): 14621 * page/Location.cpp: 14622 (WebCore::Location::url): 14623 (WebCore::Location::setProtocol): 14624 (WebCore::Location::setHost): 14625 (WebCore::Location::setHostname): 14626 (WebCore::Location::setPort): 14627 (WebCore::Location::setPathname): 14628 (WebCore::Location::setSearch): 14629 (WebCore::Location::setHash): 14630 (WebCore::Location::reload): 14631 * page/Page.cpp: 14632 (WebCore::Page::goToItem): 14633 14634 2011-01-27 Stephen White <senorblanco (a] chromium.org> 14635 14636 Reviewed by Darin Adler. 14637 14638 Fix performance regression in ImageQualityController::objectDestroyed(). 14639 https://bugs.webkit.org/show_bug.cgi?id=52645 14640 14641 In r72282, I inadvertently introduced this regression by using a 14642 linear search through the hash map on object destruction. This was 14643 because the hash key consisted of both object pointer and layer id, 14644 but on object destruction we only know the object pointer, requiring 14645 a search to find all the layers. 14646 By replacing the hash map with two nested hash maps, where the outer key 14647 is the object and the inner key is the layer, we can find all the 14648 relevant data for an object in one hash lookup. 14649 14650 * rendering/RenderBoxModelObject.cpp: 14651 Replace the (object,layer)->size HashMap with object->layer and 14652 layer->size HashMaps. 14653 (WebCore::ImageQualityController::isEmpty): 14654 Implement isEmpty() for the outer HashMap. 14655 (WebCore::ImageQualityController::removeLayer): 14656 When a layer is removed, remove it from the inner hash map. 14657 (WebCore::ImageQualityController::set): 14658 Implement set(): if the inner map exists, set the layer->size tuple 14659 directly. If not, create a new inner map, set the tuple, and insert 14660 it in the outer map. 14661 (WebCore::ImageQualityController::objectDestroyed): 14662 Look up the object in the outer map only. 14663 (WebCore::ImageQualityController::highQualityRepaintTimerFired): 14664 Cosmetic changes for the renamed now-outer hash map. 14665 (WebCore::ImageQualityController::shouldPaintAtLowQuality): 14666 Do both outer and inner hash map lookups. Call set() to add/update 14667 entries to the hash maps. keyDestroyed() is now removeLayer(). 14668 (WebCore::imageQualityController): 14669 Make the ImageQualityController a file-static global, so it can be 14670 created and destroyed on the fly. 14671 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 14672 If there is no ImageQualityController, don't call objectDestroyed(). 14673 If it's empty, delete it. 14674 * rendering/RenderImage.cpp: 14675 (WebCore::RenderImage::paintIntoRect): 14676 Also pass the Image* as the (void*) layer, since 0 is not a valid 14677 HashMap key. 14678 14679 2011-01-27 Adrienne Walker <enne (a] google.com> 14680 14681 Reviewed by James Robinson. 14682 14683 [chromium] Tiled compositor crashes if compositing turned off mid-paint 14684 https://bugs.webkit.org/show_bug.cgi?id=53198 14685 14686 * platform/graphics/chromium/LayerRendererChromium.cpp: 14687 (WebCore::LayerRendererChromium::drawLayers): 14688 * platform/graphics/chromium/LayerTilerChromium.cpp: 14689 (WebCore::LayerTilerChromium::update): 14690 (WebCore::LayerTilerChromium::draw): 14691 14692 2011-01-27 Carol Szabo <carol.szabo (a] nokia.com> 14693 14694 Reviewed by David Hyatt. 14695 14696 A corrupted counter tree is created when renderers are added to the 14697 tree bypassing RenderObject::addChild 14698 https://bugs.webkit.org/show_bug.cgi?id=51270 14699 14700 No new tests. This patch reimplements the fix for bugs 43812 and 14701 51637 and hence all tests are already there as part of the original 14702 fixes for those bugs. 14703 14704 * rendering/RenderCounter.cpp: 14705 (WebCore::findPlaceForCounter): 14706 Removed old workaround as this patch hopefully fixes the real 14707 problem. 14708 * rendering/RenderObject.cpp: 14709 (WebCore::RenderObject::addChild): 14710 Removed call to counter updater as it was moved to a lower level. 14711 (WebCore::RenderObject::destroy): 14712 Moved attached counter nodes destruction to after the node is 14713 removed from the tree. 14714 * rendering/RenderObjectChildList.cpp: 14715 (WebCore::RenderObjectChildList::removeChildNode): 14716 (WebCore::RenderObjectChildList::appendChildNode): 14717 (WebCore::RenderObjectChildList::insertChildNode): 14718 Added notifications to the Counter system such that the 14719 CounterForest reflects the changes to the RendererTree. 14720 * rendering/RenderWidget.cpp: 14721 (WebCore::RenderWidget::destroy): 14722 Applied the same changes as for RenderObject::destroy() 14723 since RenderObject::destroy() is not called from here. 14724 14725 2011-01-27 Adam Roben <aroben (a] apple.com> 14726 14727 Add WKCACFViewLayerTreeHost 14728 14729 This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render. 14730 14731 Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use 14732 WKCACFView for rendering 14733 14734 * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}. 14735 14736 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 14737 (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a 14738 non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window, 14739 so we need a non-empty window to perform a valid test. 14740 (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then 14741 fall back to a LegacyCACFLayerTreeHost. 14742 (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the 14743 context flush from here... 14744 (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to 14745 call this function whenever changes are flushed to the context. 14746 14747 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange. 14748 14749 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: 14750 (WebCore::LegacyCACFLayerTreeHost::createRenderer): 14751 (WebCore::LegacyCACFLayerTreeHost::resize): 14752 Changed to use flushContext instead of flushing the context manually so that we will always 14753 notify the base class when the context gets flushed. 14754 14755 (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the 14756 base class will know what happened. Moved code to schedule a render from here... 14757 (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here. 14758 14759 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange. 14760 14761 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added. 14762 (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides 14763 WKCACFView, isn't present, bail. Otherwise allocate and return a new host. 14764 (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members. 14765 (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously 14766 marked that we needed to do so, and flush the context if our layer's bounds have changed. 14767 (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to 14768 contextDidChange. 14769 (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering 14770 (if we didn't already), then call up to the base class. 14771 (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the 14772 view's layer, and hook up our "context did change" callback. 14773 (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next 14774 time we paint. 14775 (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is 14776 able to render or not. 14777 (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down 14778 to the view. 14779 (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view. 14780 (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto. 14781 (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right 14782 size, then call up to the base class. 14783 (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty 14784 rects, then ask it to draw. 14785 14786 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h. 14787 14788 2011-01-27 Adam Roben <aroben (a] apple.com> 14789 14790 Move LegacyCACFLayerTreeHost into its own files 14791 14792 More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost 14793 should use WKCACFView for rendering 14794 14795 Reviewed by Simon Fraser. 14796 14797 * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}. 14798 14799 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files. 14800 14801 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added. 14802 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added. 14803 14804 2011-01-27 Patrick Gansterer <paroga (a] webkit.org> 14805 14806 Unreviewed WinCE build fix for r76824. 14807 14808 * platform/wince/DragDataWinCE.cpp: 14809 (WebCore::DragData::dragDataMap): 14810 14811 2011-01-27 Adam Roben <aroben (a] apple.com> 14812 14813 Split CACFLayerTreeHost into base and derived classes 14814 14815 The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch 14816 will add a new derived class that replaces the D3D code with a different rendering API. 14817 14818 For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a 14819 little smaller. A later patch will move it to its own source files. 14820 14821 Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost 14822 should use WKCACFView for rendering 14823 14824 Reviewed by Simon Fraser. 14825 14826 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 14827 (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before 14828 destroying the host, as that is now the API contract that clients must fulfill. 14829 (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator. 14830 (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the 14831 new initialize function to perform initialization that has to happen after the vtable has 14832 been set up. 14833 14834 (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost): 14835 (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): 14836 (WebCore::LegacyCACFLayerTreeHost::initializeContext): 14837 (WebCore::CACFLayerTreeHost::initialize): 14838 Moved some initialization code from the CACFLayerTreeHost constructor into these new 14839 functions. 14840 14841 (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from 14842 ~CACFLayerTreeHost. 14843 (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this 14844 point (which would be too late, since we won't be able to call into the derived class's 14845 virtual functions), just assert that it has already been cleared (or was never set in the 14846 first place). 14847 (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from 14848 CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing 14849 CACFLayerTreeHost's data members directly. 14850 14851 (WebCore::LegacyCACFLayerTreeHost::destroyRenderer): 14852 (WebCore::CACFLayerTreeHost::destroyRenderer): 14853 Moved some code to the new LegacyCACFLayerTreeHost function. 14854 14855 (WebCore::LegacyCACFLayerTreeHost::resize): 14856 (WebCore::LegacyCACFLayerTreeHost::renderTimerFired): 14857 Moved these functions to LegacyCACFLayerTreeHost. 14858 14859 (WebCore::LegacyCACFLayerTreeHost::paint): 14860 (WebCore::CACFLayerTreeHost::paint): 14861 Moved some code to the new LegacyCACFLayerTreeHost function. 14862 14863 (WebCore::LegacyCACFLayerTreeHost::render): 14864 (WebCore::LegacyCACFLayerTreeHost::renderSoon): 14865 Moved these functions to LegacyCACFLayerTreeHost. 14866 14867 (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context 14868 from here... 14869 (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function. 14870 14871 (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time 14872 to this new function... 14873 (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here. 14874 14875 (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry): 14876 (WebCore::LegacyCACFLayerTreeHost::resetDevice): 14877 Moved these functions to LegacyCACFLayerTreeHost. 14878 14879 * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some 14880 members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more 14881 logically, and added some getters used by LegacyCACFLayerTreeHost. 14882 14883 2011-01-27 Adam Roben <aroben (a] apple.com> 14884 14885 Move CACFLayerTreeHostClient to its own header file 14886 14887 Rubber-stamped by Steve Falkenburg. 14888 14889 * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way 14890 with the file. 14891 14892 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include. 14893 14894 * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient. 14895 14896 * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added. 14897 14898 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here 14899 from the header file. 14900 14901 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes 14902 with more specific ones, plus a forward-declaration. 14903 14904 2011-01-27 James Simonsen <simonjam (a] chromium.org> 14905 14906 Reviewed by Tony Chang. 14907 14908 [Chromium] Simplify small caps logic in complex text on linux 14909 https://bugs.webkit.org/show_bug.cgi?id=53207 14910 14911 Test: fast/text/atsui-multiple-renderers.html 14912 fast/text/atsui-small-caps-punctuation-size.html 14913 14914 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 14915 (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes. 14916 (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above. 14917 14918 2011-01-27 Adam Barth <abarth (a] webkit.org> 14919 14920 In which I attempt to fix the EFL build. 14921 14922 * CMakeLists.txt: 14923 14924 2011-01-25 Levi Weintraub <leviw (a] chromium.org> 14925 14926 Reviewed by Darin Adler. 14927 14928 Adding border and padding to the calculation of the local caret rect for RenderBoxes. 14929 Corrected for mistake in r76625 14930 14931 Undo moves caret to invalid position 14932 https://bugs.webkit.org/show_bug.cgi?id=49744 14933 14934 Tests: editing/selection/caret-painting-after-paste-undo-rtl.html 14935 editing/selection/caret-painting-after-paste-undo.html 14936 14937 * rendering/RenderBox.cpp: 14938 (WebCore::RenderBox::localCaretRect): 14939 14940 2011-01-27 Sheriff Bot <webkit.review.bot (a] gmail.com> 14941 14942 Unreviewed, rolling out r76825. 14943 http://trac.webkit.org/changeset/76825 14944 https://bugs.webkit.org/show_bug.cgi?id=53256 14945 14946 "caused crashes on GTK and chromium" (Requested by rniwa on 14947 #webkit). 14948 14949 * rendering/RenderBoxModelObject.cpp: 14950 (WebCore::ImageQualityController::keyDestroyed): 14951 (WebCore::ImageQualityController::objectDestroyed): 14952 (WebCore::ImageQualityController::highQualityRepaintTimerFired): 14953 (WebCore::ImageQualityController::shouldPaintAtLowQuality): 14954 (WebCore::imageQualityController): 14955 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 14956 14957 2011-01-27 Adam Barth <abarth (a] webkit.org> 14958 14959 Reviewed by Eric Seidel. 14960 14961 Generalize the mechanism view-source uses to remember the source for an HTMLToken 14962 https://bugs.webkit.org/show_bug.cgi?id=53200 14963 14964 Currently view-source tracks the source associated with each HTMLToken. 14965 We want to re-use this mechanism for the new XSS auditor. This patch 14966 moves this code into its own class so it can be shared between the 14967 view-source parser and the general HTML parser. This patch also add 14968 support for tracking the source of tokens that span document.write 14969 boundaries. 14970 14971 No functional change. This code change is somewhat tested by our 14972 view-source layout tests. 14973 14974 * Android.mk: 14975 * GNUmakefile.am: 14976 * WebCore.gypi: 14977 * WebCore.pro: 14978 * WebCore.vcproj/WebCore.vcproj: 14979 * WebCore.xcodeproj/project.pbxproj: 14980 - Fun with updating build files. 14981 * html/parser/HTMLDocumentParser.cpp: 14982 (WebCore::HTMLDocumentParser::pumpTokenizer): 14983 - Teach HTMLDocumentParser to track the source for HTMLTokens. 14984 Currently, this information isn't used, but it will be shortly. 14985 I ran the HTML parser benchmark and this change didn't have a 14986 measurable effect. 14987 * html/parser/HTMLDocumentParser.h: 14988 - Composite in the HTMLSourceTracker. 14989 * html/parser/HTMLSourceTracker.cpp: Added. 14990 (WebCore::HTMLSourceTracker::HTMLSourceTracker): 14991 (WebCore::HTMLSourceTracker::start): 14992 (WebCore::HTMLSourceTracker::end): 14993 - This function should eventualy be folded into HTMLTokenizer. 14994 (WebCore::HTMLSourceTracker::sourceForToken): 14995 * html/parser/HTMLSourceTracker.h: Added. 14996 * html/parser/HTMLToken.h: 14997 - Now HTMLTokens always have a start index of zero. To do the job 14998 of the old start index, this patch introduces the notion of a 14999 baseOffset. Unlike the start index (which was used as the base 15000 offset for all the other indicies), the baseOffset can change 15001 over the lifetime of the token. We need the flexibility to 15002 change the offset for tokens that span document.write boundaries. 15003 Values are now normalized to zero-offset when stored. 15004 (WebCore::HTMLToken::clear): 15005 (WebCore::HTMLToken::setBaseOffset): 15006 (WebCore::HTMLToken::end): 15007 (WebCore::HTMLToken::beginAttributeName): 15008 (WebCore::HTMLToken::endAttributeName): 15009 (WebCore::HTMLToken::beginAttributeValue): 15010 (WebCore::HTMLToken::endAttributeValue): 15011 * html/parser/HTMLViewSourceParser.cpp: 15012 - Updates the HTMLViewSourceParser to use the new 15013 HTMLSourceTracker. 15014 (WebCore::HTMLViewSourceParser::pumpTokenizer): 15015 (WebCore::HTMLViewSourceParser::append): 15016 (WebCore::HTMLViewSourceParser::sourceForToken): 15017 - This function now just calls through to HTMLSourceTracker. 15018 * html/parser/HTMLViewSourceParser.h: 15019 * platform/text/SegmentedString.cpp: 15020 (WebCore::SegmentedString::currentColumn): 15021 (WebCore::SegmentedString::setCurrentPosition): 15022 * platform/text/SegmentedString.h: 15023 (WebCore::SegmentedString::numberOfCharactersConsumed): 15024 - We need to handle the general case now. The "slow" version 15025 doesn't turn out to be any slower in practice anyway. 15026 15027 2011-01-27 Sam Weinig <sam (a] webkit.org> 15028 15029 Fix all the builds. 15030 15031 * platform/ScrollView.cpp: 15032 (WebCore::ScrollView::paintOverhangAreas): Add parameters. 15033 15034 2011-01-27 Sam Weinig <sam (a] webkit.org> 15035 15036 Reviewed by Dave Hyatt. 15037 15038 Add ability to do an unconstrained scroll on a ScrollView 15039 https://bugs.webkit.org/show_bug.cgi?id=53249 15040 15041 * platform/ScrollView.cpp: 15042 (WebCore::ScrollView::ScrollView): 15043 Initialize m_constrainsScrollingToContentEdge to true. 15044 15045 (WebCore::ScrollView::setScrollOffset): 15046 Only constrain the offset if the m_constrainsScrollingToContentEdge is set. 15047 15048 (WebCore::ScrollView::updateScrollbars): 15049 Simplify expression converting an IntSize to an IntPoint. 15050 15051 (WebCore::ScrollView::paint): 15052 Paint the overhang if there is any. 15053 15054 (WebCore::ScrollView::calculateOverhangAreasForPainting): 15055 Calculate the overhang in viewport coordinates for painting. 15056 15057 * platform/ScrollView.h: 15058 (WebCore::ScrollView::constrainsScrollingToContentEdge): 15059 (WebCore::ScrollView::setConstrainsScrollingToContentEdge): 15060 Add bit to control whether the scroll position should be constrained 15061 to the content edge when set. 15062 15063 * platform/ScrollbarThemeComposite.cpp: 15064 (WebCore::usedTotalSize): 15065 (WebCore::ScrollbarThemeComposite::thumbPosition): 15066 (WebCore::ScrollbarThemeComposite::thumbLength): 15067 * platform/mac/ScrollbarThemeMac.mm: 15068 (WebCore::ScrollbarThemeMac::paint): 15069 Improve calculations of thumb size and position to take overhang into account. 15070 15071 2011-01-27 Dirk Schulze <krit (a] webkit.org> 15072 15073 Reviewed by Nikolas Zimmermann. 15074 15075 SVG animation of Paths with segments of different coordinate modes on begin and end 15076 https://bugs.webkit.org/show_bug.cgi?id=52984 15077 15078 At the moment we just support SVG path animations, if the number of segments on the given start path 15079 is the same as the number of segments on the given end path. But a segment on a given position must be identical 15080 on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical. 15081 If MoveToRel is on the second position on the start path a MoveToRel must be on the second position 15082 of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel 15083 in the start path, we can use MoveToAbs on the same position in the end path. 15084 15085 This patch fixes the blending code to follow the spec here. It was necessary to track the current position of 15086 both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back 15087 to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the 15088 animation. 15089 15090 Tests: svg/animations/animate-path-animation-Cc-Ss.html 15091 svg/animations/animate-path-animation-Ll-Vv-Hh.html 15092 svg/animations/animate-path-animation-Qq-Tt.html 15093 svg/animations/animate-path-animation-cC-sS-inverse.html 15094 svg/animations/animate-path-animation-lL-vV-hH-inverse.html 15095 svg/animations/animate-path-animation-qQ-tT-inverse.html 15096 15097 * svg/SVGPathBlender.cpp: 15098 (WebCore::blendFloatPoint): 15099 (WebCore::blendAnimatedFloat): 15100 (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat): 15101 (WebCore::SVGPathBlender::blendAnimatedFloatPoint): 15102 (WebCore::SVGPathBlender::blendMoveToSegment): 15103 (WebCore::SVGPathBlender::blendLineToSegment): 15104 (WebCore::SVGPathBlender::blendLineToHorizontalSegment): 15105 (WebCore::SVGPathBlender::blendLineToVerticalSegment): 15106 (WebCore::SVGPathBlender::blendCurveToCubicSegment): 15107 (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment): 15108 (WebCore::SVGPathBlender::blendCurveToQuadraticSegment): 15109 (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment): 15110 (WebCore::SVGPathBlender::blendArcToSegment): 15111 (WebCore::coordinateModeOfCommand): 15112 (WebCore::isSegmentEqual): 15113 (WebCore::SVGPathBlender::blendAnimatedPath): 15114 (WebCore::SVGPathBlender::cleanup): 15115 * svg/SVGPathBlender.h: 15116 15117 2011-01-27 Cris Neckar <cdn (a] chromium.org> 15118 15119 Reviewed by Dimitri Glazkov. 15120 15121 Clear the parent on a css keyframe's m_style when removing it from the stylesheet. 15122 https://bugs.webkit.org/show_bug.cgi?id=52320 15123 15124 Test: fast/css/css-keyframe-style-crash.html 15125 15126 * css/CSSRuleList.cpp: 15127 (WebCore::CSSRuleList::deleteRule): 15128 * css/WebKitCSSKeyframesRule.cpp: 15129 (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule): 15130 15131 2011-01-27 Rob Buis <rwlbuis (a] gmail.com> 15132 15133 Reviewed by Kent Tamura. 15134 15135 Color changes to option elements in a select multiple aren't drawn immediately 15136 https://bugs.webkit.org/show_bug.cgi?id=49790 15137 15138 Redirect style changes on <option> element to the owner <select> element. 15139 15140 Test: fast/repaint/select-option-background-color.html 15141 15142 * html/HTMLOptionElement.cpp: 15143 (WebCore::HTMLOptionElement::setRenderStyle): 15144 15145 2011-01-19 Stephen White <senorblanco (a] chromium.org> 15146 15147 Reviewed by Darin Adler. 15148 15149 Fix performance regression in ImageQualityController::objectDestroyed(). 15150 https://bugs.webkit.org/show_bug.cgi?id=52645 15151 15152 In r72282, I inadvertently introduced this regression by using a 15153 linear search through the hash map on object destruction. This was 15154 because the hash key consisted of both object pointer and layer id, 15155 but on object destruction we only know the object pointer, requiring 15156 a search to find all the layers. 15157 By replacing the hash map with two nested hash maps, where the outer key 15158 is the object and the inner key is the layer, we can find all the 15159 relevant data for an object in one hash lookup. 15160 15161 * rendering/RenderBoxModelObject.cpp: 15162 Replace the (object,layer)->size HashMap with object->layer and 15163 layer->size HashMaps. 15164 (WebCore::ImageQualityController::isEmpty): 15165 Implement isEmpty() for the outer HashMap. 15166 (WebCore::ImageQualityController::removeLayer): 15167 When a layer is removed, remove it from the inner hash map. 15168 (WebCore::ImageQualityController::set): 15169 Implement set(): if the inner map exists, set the layer->size tuple 15170 directly. If not, create a new inner map, set the tuple, and insert 15171 it in the outer map. 15172 (WebCore::ImageQualityController::objectDestroyed): 15173 Look up the object in the outer map only. 15174 (WebCore::ImageQualityController::highQualityRepaintTimerFired): 15175 Cosmetic changes for the renamed now-outer hash map. 15176 (WebCore::ImageQualityController::shouldPaintAtLowQuality): 15177 Do both outer and inner hash map lookups. Call set() to add/update 15178 entries to the hash maps. keyDestroyed() is now removeLayer(). 15179 (WebCore::imageQualityController): 15180 Make the ImageQualityController a file-static global, so it can be 15181 created and destroyed on the fly. 15182 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 15183 If there is no ImageQualityController, don't call objectDestroyed(). 15184 If it's empty, delete it. 15185 15186 15187 2011-01-26 Enrica Casucci <enrica (a] apple.com> 15188 15189 Reviewed by Darin Adler and Adam Roben. 15190 15191 WebKit2: add support for drag and drop on Windows 15192 https://bugs.webkit.org/show_bug.cgi?id=52775 15193 <rdar://problem/8514409> 15194 15195 On Windows the access to the content being dragged is 15196 provided via the IDataObject interface that is made available 15197 to the window that registers itself as drop target. 15198 Since this interface cannot be accessed from the WebProcess, 15199 in every call to one of the methods of the IDropTarget interface 15200 we serialize the content of the drag clipboard and send it over to 15201 the WebProcess. 15202 The bulk of this patch consists in the refactoring needed in DragData 15203 and ClipboardWin classes to extract the data from the serialized object. 15204 15205 * platform/DragData.cpp: 15206 * platform/DragData.h: 15207 * platform/win/ClipboardUtilitiesWin.cpp: 15208 (WebCore::getWebLocData): 15209 (WebCore::getURL): 15210 (WebCore::getPlainText): 15211 (WebCore::getTextHTML): 15212 (WebCore::getCFHTML): 15213 (WebCore::fragmentFromFilenames): 15214 (WebCore::containsFilenames): 15215 (WebCore::fragmentFromHTML): 15216 (WebCore::containsHTML): 15217 (WebCore::getClipboardData): 15218 * platform/win/ClipboardUtilitiesWin.h: 15219 * platform/win/ClipboardWin.cpp: 15220 (WebCore::Clipboard::create): 15221 (WebCore::ClipboardWin::ClipboardWin): 15222 (WebCore::ClipboardWin::getData): 15223 (WebCore::ClipboardWin::types): 15224 (WebCore::ClipboardWin::files): 15225 (WebCore::ClipboardWin::hasData): 15226 * platform/win/ClipboardWin.h: 15227 (WebCore::ClipboardWin::create): 15228 * platform/win/DragDataWin.cpp: 15229 (WebCore::DragData::DragData): 15230 (WebCore::DragData::containsURL): 15231 (WebCore::DragData::dragDataMap): 15232 (WebCore::DragData::asURL): 15233 (WebCore::DragData::containsFiles): 15234 (WebCore::DragData::asFilenames): 15235 (WebCore::DragData::containsPlainText): 15236 (WebCore::DragData::asPlainText): 15237 (WebCore::DragData::canSmartReplace): 15238 (WebCore::DragData::containsCompatibleContent): 15239 (WebCore::DragData::asFragment): 15240 15241 2011-01-27 Mario Sanchez Prada <msanchez (a] igalia.com> 15242 15243 Reviewed by Martin Robinson. 15244 15245 [GTK] Space characters in source document interfere with reported caret offset 15246 https://bugs.webkit.org/show_bug.cgi?id=53033 15247 15248 Calculate caret offset from rendered text instead of from node contents. 15249 15250 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 15251 (objectAndOffsetUnignored): Calculate the caret offset based only 15252 on positions and ranges, instead of using the computed offset in 15253 the container node. 15254 15255 2011-01-26 Alexey Proskuryakov <ap (a] apple.com> 15256 15257 Reviewed by Darin Adler. 15258 15259 https://bugs.webkit.org/show_bug.cgi?id=53197 15260 <rdar://problem/8895682> Make WebKit2 printing asynchronous 15261 15262 * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before. 15263 15264 * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same 15265 transformation as spoolPages does for consistency. 15266 15267 2011-01-27 David Grogan <dgrogan (a] google.com> 15268 15269 Reviewed by Jeremy Orlow. 15270 15271 initial support for close() in indexeddb backend 15272 https://bugs.webkit.org/show_bug.cgi?id=53150 15273 15274 Test: storage/indexeddb/transaction-after-close.html 15275 15276 * storage/IDBDatabase.cpp: 15277 (WebCore::IDBDatabase::IDBDatabase): 15278 (WebCore::IDBDatabase::transaction): 15279 (WebCore::IDBDatabase::close): 15280 * storage/IDBDatabase.h: 15281 * storage/IDBDatabase.idl: 15282 * storage/IDBDatabaseBackendImpl.cpp: 15283 (WebCore::IDBDatabaseBackendImpl::transaction): 15284 (WebCore::IDBDatabaseBackendImpl::close): 15285 15286 2011-01-27 Dirk Schulze <krit (a] webkit.org> 15287 15288 Reviewed by Nikolas Zimmermann. 15289 15290 SVG animation doesn't support calcMode discrete for number and color values. 15291 https://bugs.webkit.org/show_bug.cgi?id=53189 15292 15293 Add support for calcMode discrete on number and color animation. 15294 15295 Tests: svg/animations/animate-color-calcMode-discrete.html 15296 svg/animations/animate-number-calcMode-discrete.html 15297 15298 * svg/SVGAnimateElement.cpp: 15299 (WebCore::SVGAnimateElement::calculateAnimatedValue): 15300 15301 2011-01-26 Zhenyao Mo <zmo (a] google.com> 15302 15303 Reviewed by Kenneth Russell. 15304 15305 shaderSource needs to preserve original source 15306 https://bugs.webkit.org/show_bug.cgi?id=52833 15307 15308 Test: fast/canvas/webgl/gl-getshadersource.html 15309 15310 * html/canvas/WebGLRenderingContext.cpp: 15311 (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH. 15312 (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call. 15313 (WebCore::WebGLRenderingContext::shaderSource): Cache the source. 15314 * html/canvas/WebGLShader.cpp: Cache shader source. 15315 (WebCore::WebGLShader::WebGLShader): 15316 * html/canvas/WebGLShader.h: Ditto. 15317 (WebCore::WebGLShader::getSource): 15318 (WebCore::WebGLShader::setSource): 15319 15320 2011-01-27 Patrick Gansterer <paroga (a] webkit.org> 15321 15322 Unreviewed WinCE build fix for r76743. 15323 15324 * platform/graphics/wince/FontWinCE.cpp: 15325 (WebCore::TextRunComponent::TextRunComponent): 15326 15327 2011-01-27 Pavel Podivilov <podivilov (a] chromium.org> 15328 15329 Reviewed by Pavel Feldman. 15330 15331 Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code. 15332 https://bugs.webkit.org/show_bug.cgi?id=53234 15333 15334 * inspector/front-end/ScopeChainSidebarPane.js: 15335 (WebInspector.ScopeChainSidebarPane): 15336 (WebInspector.ScopeChainSidebarPane.prototype.update): 15337 15338 2011-01-27 Sheriff Bot <webkit.review.bot (a] gmail.com> 15339 15340 Unreviewed, rolling out r76789. 15341 http://trac.webkit.org/changeset/76789 15342 https://bugs.webkit.org/show_bug.cgi?id=53238 15343 15344 Broke GTK layout tests (Requested by podivilov on #webkit). 15345 15346 * inspector/front-end/ScopeChainSidebarPane.js: 15347 (WebInspector.ScopeChainSidebarPane): 15348 (WebInspector.ScopeChainSidebarPane.prototype.update): 15349 15350 2011-01-27 Yury Semikhatsky <yurys (a] chromium.org> 15351 15352 Reviewed by Pavel Feldman. 15353 15354 Web Inspector: store all settings related to the agents on the frontend side 15355 https://bugs.webkit.org/show_bug.cgi?id=53174 15356 15357 * CMakeLists.txt: 15358 * GNUmakefile.am: 15359 * WebCore.exp.in: 15360 * WebCore.gypi: 15361 * WebCore.pro: 15362 * WebCore.vcproj/WebCore.vcproj: 15363 * WebCore.xcodeproj/project.pbxproj: 15364 * bindings/js/ScriptDebugServer.cpp: 15365 * bindings/js/ScriptDebugServer.h: 15366 * bindings/js/ScriptProfiler.cpp: 15367 * bindings/js/ScriptProfiler.h: 15368 * bindings/v8/ScriptDebugServer.cpp: 15369 * bindings/v8/ScriptDebugServer.h: 15370 * bindings/v8/ScriptProfiler.cpp: 15371 * bindings/v8/ScriptProfiler.h: 15372 * inspector/Inspector.idl: 15373 * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored 15374 on the front-end side and will be pushed to the backend when the frontend is loaded. 15375 (WebCore::InspectorAgent::InspectorAgent): 15376 (WebCore::InspectorAgent::disconnectFrontend): 15377 (WebCore::InspectorAgent::restoreDebugger): 15378 (WebCore::InspectorAgent::restoreProfiler): 15379 (WebCore::InspectorAgent::enableProfiler): 15380 (WebCore::InspectorAgent::disableProfiler): 15381 (WebCore::InspectorAgent::showAndEnableDebugger): 15382 (WebCore::InspectorAgent::enableDebugger): 15383 (WebCore::InspectorAgent::disableDebugger): 15384 * inspector/InspectorAgent.h: 15385 * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only 15386 if the front-end was opened during current browser session and XHR logging is turned on 15387 there. 15388 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 15389 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 15390 * inspector/InspectorDebuggerAgent.cpp: 15391 * inspector/InspectorDebuggerAgent.h: 15392 * inspector/InspectorInstrumentation.cpp: 15393 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 15394 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): 15395 * inspector/InspectorProfilerAgent.cpp: 15396 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): 15397 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 15398 * inspector/InspectorSettings.cpp: Removed. 15399 * inspector/InspectorSettings.h: Removed. 15400 * inspector/InspectorState.cpp: 15401 (WebCore::InspectorState::InspectorState): 15402 * inspector/InspectorState.h: 15403 * inspector/front-end/ConsoleView.js: 15404 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): 15405 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): 15406 (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): 15407 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 15408 * inspector/front-end/ProfilesPanel.js: 15409 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 15410 * inspector/front-end/ScriptsPanel.js: 15411 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 15412 * inspector/front-end/Settings.js: 15413 (WebInspector.Settings): 15414 * inspector/front-end/inspector.js: 15415 15416 2011-01-27 Pavel Podivilov <podivilov (a] chromium.org> 15417 15418 Reviewed by Pavel Feldman. 15419 15420 Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code. 15421 https://bugs.webkit.org/show_bug.cgi?id=53234 15422 15423 * inspector/front-end/ScopeChainSidebarPane.js: 15424 (WebInspector.ScopeChainSidebarPane): 15425 (WebInspector.ScopeChainSidebarPane.prototype.update): 15426 15427 2011-01-27 Alexander Pavlov <apavlov (a] chromium.org> 15428 15429 Reviewed by Pavel Feldman. 15430 15431 Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL 15432 https://bugs.webkit.org/show_bug.cgi?id=53171 15433 15434 * inspector/front-end/inspector.js: 15435 (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only) 15436 15437 2011-01-27 Yury Semikhatsky <yurys (a] chromium.org> 15438 15439 Reviewed by Pavel Feldman. 15440 15441 [V8] Crash in WebCore::addMessageToConsole 15442 https://bugs.webkit.org/show_bug.cgi?id=53227 15443 15444 * bindings/v8/V8Proxy.cpp: check that the Frame where the error 15445 occured still has a page before getting a console object from it. 15446 (WebCore::V8Proxy::reportUnsafeAccessTo): 15447 15448 2011-01-27 Hans Wennborg <hans (a] chromium.org> 15449 15450 Reviewed by Jeremy Orlow. 15451 15452 IndexedDB: Remove IDBCallbacks::onSuccess() used for null values. 15453 https://bugs.webkit.org/show_bug.cgi?id=53178 15454 15455 Remove the IDBCallbacks::onSuccess() function that was used for 15456 null values, and replace such calls with calls to 15457 IDBCallBacks::onSuccess(SerializedScriptValue::nullValue()) 15458 instead. 15459 15460 No new functionality, so no new tests. 15461 15462 * storage/IDBCallbacks.h: 15463 * storage/IDBCursorBackendImpl.cpp: 15464 (WebCore::IDBCursorBackendImpl::updateInternal): 15465 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 15466 * storage/IDBIndexBackendImpl.cpp: 15467 (WebCore::IDBIndexBackendImpl::openCursorInternal): 15468 * storage/IDBObjectStoreBackendImpl.cpp: 15469 (WebCore::IDBObjectStoreBackendImpl::deleteInternal): 15470 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 15471 * storage/IDBRequest.cpp: 15472 * storage/IDBRequest.h: 15473 15474 2011-01-27 Sheriff Bot <webkit.review.bot (a] gmail.com> 15475 15476 Unreviewed, rolling out r76773. 15477 http://trac.webkit.org/changeset/76773 15478 https://bugs.webkit.org/show_bug.cgi?id=53230 15479 15480 breaks multiple GTK media tests (Requested by philn-tp on 15481 #webkit). 15482 15483 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 15484 (WebCore::mimeTypeCache): 15485 15486 2011-01-27 Sheriff Bot <webkit.review.bot (a] gmail.com> 15487 15488 Unreviewed, rolling out r76770. 15489 http://trac.webkit.org/changeset/76770 15490 https://bugs.webkit.org/show_bug.cgi?id=53229 15491 15492 Some inspector tests fail (Requested by yurys on #webkit). 15493 15494 * CMakeLists.txt: 15495 * GNUmakefile.am: 15496 * WebCore.exp.in: 15497 * WebCore.gypi: 15498 * WebCore.pro: 15499 * WebCore.vcproj/WebCore.vcproj: 15500 * WebCore.xcodeproj/project.pbxproj: 15501 * bindings/js/ScriptDebugServer.cpp: 15502 (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled): 15503 * bindings/js/ScriptDebugServer.h: 15504 * bindings/js/ScriptProfiler.cpp: 15505 (WebCore::ScriptProfiler::isProfilerAlwaysEnabled): 15506 * bindings/js/ScriptProfiler.h: 15507 * bindings/v8/ScriptDebugServer.cpp: 15508 (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled): 15509 * bindings/v8/ScriptDebugServer.h: 15510 * bindings/v8/ScriptProfiler.cpp: 15511 (WebCore::ScriptProfiler::isProfilerAlwaysEnabled): 15512 * bindings/v8/ScriptProfiler.h: 15513 * inspector/Inspector.idl: 15514 * inspector/InspectorAgent.cpp: 15515 (WebCore::InspectorAgent::InspectorAgent): 15516 (WebCore::InspectorAgent::disconnectFrontend): 15517 (WebCore::InspectorAgent::restoreDebugger): 15518 (WebCore::InspectorAgent::restoreProfiler): 15519 (WebCore::InspectorAgent::ensureSettingsLoaded): 15520 (WebCore::InspectorAgent::enableProfiler): 15521 (WebCore::InspectorAgent::disableProfiler): 15522 (WebCore::InspectorAgent::showAndEnableDebugger): 15523 (WebCore::InspectorAgent::enableDebugger): 15524 (WebCore::InspectorAgent::disableDebugger): 15525 * inspector/InspectorAgent.h: 15526 (WebCore::InspectorAgent::settings): 15527 * inspector/InspectorConsoleAgent.cpp: 15528 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 15529 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 15530 * inspector/InspectorDebuggerAgent.cpp: 15531 (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled): 15532 * inspector/InspectorDebuggerAgent.h: 15533 * inspector/InspectorInstrumentation.cpp: 15534 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 15535 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): 15536 * inspector/InspectorProfilerAgent.cpp: 15537 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): 15538 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 15539 * inspector/InspectorSettings.cpp: Added. 15540 (WebCore::InspectorSettings::InspectorSettings): 15541 (WebCore::InspectorSettings::getBoolean): 15542 (WebCore::InspectorSettings::setBoolean): 15543 (WebCore::InspectorSettings::getLong): 15544 (WebCore::InspectorSettings::setLong): 15545 (WebCore::InspectorSettings::registerBoolean): 15546 (WebCore::InspectorSettings::registerLong): 15547 * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h. 15548 * inspector/InspectorState.cpp: 15549 (WebCore::InspectorState::InspectorState): 15550 * inspector/InspectorState.h: 15551 * inspector/front-end/ConsoleView.js: 15552 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged): 15553 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): 15554 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 15555 * inspector/front-end/ProfilesPanel.js: 15556 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 15557 * inspector/front-end/ScriptsPanel.js: 15558 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 15559 * inspector/front-end/Settings.js: 15560 (WebInspector.Settings): 15561 * inspector/front-end/inspector.js: 15562 15563 2011-01-26 Philippe Normand <pnormand (a] igalia.com> 15564 15565 Reviewed by Martin Robinson. 15566 15567 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails 15568 https://bugs.webkit.org/show_bug.cgi?id=53125 15569 15570 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 15571 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache. 15572 15573 2011-01-26 Yury Semikhatsky <yurys (a] chromium.org> 15574 15575 Reviewed by Pavel Feldman. 15576 15577 Web Inspector: store all settings related to the agents on the frontend side 15578 https://bugs.webkit.org/show_bug.cgi?id=53174 15579 15580 * CMakeLists.txt: 15581 * GNUmakefile.am: 15582 * WebCore.exp.in: 15583 * WebCore.gypi: 15584 * WebCore.pro: 15585 * WebCore.vcproj/WebCore.vcproj: 15586 * WebCore.xcodeproj/project.pbxproj: 15587 * inspector/Inspector.idl: 15588 * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored 15589 on the front-end side and will be pushed to the backend when the frontend is loaded. 15590 (WebCore::InspectorAgent::InspectorAgent): 15591 (WebCore::InspectorAgent::disconnectFrontend): 15592 (WebCore::InspectorAgent::restoreDebugger): 15593 (WebCore::InspectorAgent::restoreProfiler): 15594 (WebCore::InspectorAgent::enableProfiler): 15595 (WebCore::InspectorAgent::disableProfiler): 15596 (WebCore::InspectorAgent::showAndEnableDebugger): 15597 (WebCore::InspectorAgent::enableDebugger): 15598 (WebCore::InspectorAgent::disableDebugger): 15599 * inspector/InspectorAgent.h: 15600 * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only 15601 if the front-end was opened during current browser session and XHR logging is turned on 15602 there. 15603 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 15604 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 15605 * inspector/InspectorInstrumentation.cpp: 15606 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 15607 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): 15608 * inspector/InspectorProfilerAgent.cpp: 15609 (WebCore::InspectorProfilerAgent::enable): 15610 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 15611 * inspector/InspectorProfilerAgent.h: 15612 * inspector/InspectorSettings.cpp: Removed. 15613 * inspector/InspectorSettings.h: Removed. 15614 * inspector/InspectorState.cpp: 15615 (WebCore::InspectorState::InspectorState): 15616 * inspector/InspectorState.h: 15617 * inspector/front-end/ConsoleView.js: 15618 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): 15619 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): 15620 (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction): 15621 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 15622 * inspector/front-end/ProfilesPanel.js: 15623 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 15624 * inspector/front-end/ScriptsPanel.js: 15625 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 15626 * inspector/front-end/Settings.js: 15627 (WebInspector.Settings): 15628 * inspector/front-end/inspector.js: 15629 15630 2011-01-27 Dan Bernstein <mitz (a] apple.com> 15631 15632 Reviewed by Sam Weinig. 15633 15634 REGRESSION (r76743): Uneven spacing in right-to-left justified text 15635 https://bugs.webkit.org/show_bug.cgi?id=53225 15636 15637 Fixes failure in fast/text/atsui-spacing-features.html 15638 15639 There was an inconsistency between rendering code and font code in the interpretation of 15640 'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of 15641 visual order rather than logical. 15642 15643 * platform/graphics/Font.cpp: 15644 (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to 15645 iterate in visual order accordingly. 15646 * platform/graphics/Font.h: 15647 * platform/graphics/WidthIterator.cpp: 15648 (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount(). 15649 (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion 15650 condition with respect to the first character, which is the trailing character in visual order. 15651 * platform/graphics/mac/ComplexTextController.cpp: 15652 (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to 15653 expansionOpportunityCount(). 15654 * rendering/RenderBlockLineLayout.cpp: 15655 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto. 15656 15657 2011-01-26 Adam Roben <aroben (a] apple.com> 15658 15659 Don't create the Direct3D device before it's first needed 15660 15661 We only need the device once we decide to render. There's no point in creating it before 15662 then. 15663 15664 Reviewed by Sam Weinig. 15665 15666 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 15667 (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here. 15668 We already have code to create it when we first try to draw. 15669 (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's 15670 bounds so that the bounds will take effect the next time we render (which could be just 15671 after this function returns). 15672 15673 2011-01-26 Adam Roben <aroben (a] apple.com> 15674 15675 Add assertions that CACFLayerTreeHost gains and loses an HWND only once 15676 15677 CACFLayerTreeHost doesn't support any other use pattern. 15678 15679 Reviewed by Sam Weinig. 15680 15681 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 15682 (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member. 15683 (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window, 15684 to having a window, to not having a window just once over the lifetime of this object. 15685 15686 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state. 15687 15688 2011-01-26 Adam Roben <aroben (a] apple.com> 15689 15690 Notify layers that their animations have started when we flush the context, not when we 15691 render 15692 15693 r76372 separated context flushing from rendering, but this bit of code got left behind. 15694 15695 Reviewed by Sam Weinig. 15696 15697 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 15698 (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to 15699 notifyAnimationsStarted. 15700 (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to 15701 notifyAnimationsStarted after we flush the context. 15702 (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed 15703 to call PlatformCALayer::animationStarted rather than calling through to the client 15704 directly. 15705 15706 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted. 15707 15708 2011-01-26 Adam Roben <aroben (a] apple.com> 15709 15710 Small cleanup in MediaPlayerPrivateFullscreenWindow 15711 15712 Reviewed by Sam Weinig. 15713 15714 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 15715 (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved 15716 code here from close(), since this was the only place that called it after the following 15717 change to createWindow. 15718 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the 15719 case where we had already created the window with an assertion that we have not already done 15720 so. Our single caller (FullscreenVideoController) did not require this behavior. 15721 15722 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView. 15723 15724 2011-01-26 Sam Weinig <sam (a] webkit.org> 15725 15726 Reviewed by Adam Roben. 15727 15728 Move ScrollView scroll wheel code to ScrollAnimator. 15729 15730 * platform/ScrollAnimator.cpp: 15731 (WebCore::ScrollAnimator::handleWheelEvent): 15732 * platform/ScrollAnimator.h: 15733 Moved implementation of handleWheelEvent from ScrollView::wheelEvent. 15734 15735 * platform/ScrollView.cpp: 15736 (WebCore::ScrollView::wheelEvent): 15737 Call down to the ScrollableArea. 15738 15739 * platform/ScrollableArea.cpp: 15740 (WebCore::ScrollableArea::handleWheelEvent): 15741 Call down to the ScrollAnimator. 15742 15743 * platform/ScrollableArea.h: 15744 (WebCore::ScrollableArea::scrollPosition): 15745 (WebCore::ScrollableArea::minimumScrollPosition): 15746 (WebCore::ScrollableArea::maximumScrollPosition): 15747 (WebCore::ScrollableArea::visibleContentRect): 15748 (WebCore::ScrollableArea::visibleHeight): 15749 (WebCore::ScrollableArea::visibleWidth): 15750 Add functions needed to implement wheel event in the animator. 15751 15752 2011-01-26 David Kilzer <ddkilzer (a] apple.com> 15753 15754 <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork 15755 <rdar://problem/8821760> 15756 15757 Reviewed by Antti Koivisto. 15758 15759 This adds support for HTTP pipelining in CFNetwork, but does not 15760 enable it. To enable it post-SnowLeopard, use this command: 15761 15762 defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES 15763 15764 Once enabled, it is possible to force the same load priority 15765 (high) to be sent to CFNetwork to allow WebCore to handle the 15766 scheduling: 15767 15768 defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES 15769 15770 * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and 15771 _wkSetHTTPPipeliningPriority. 15772 15773 * loader/DocumentThreadableLoader.cpp: 15774 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): 15775 Copy the priority to preflightRequest. 15776 15777 * loader/ResourceLoadScheduler.cpp: 15778 (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code 15779 at the end of the method to use an early return. 15780 15781 * loader/cache/CachedResourceRequest.cpp: 15782 (WebCore::CachedResourceRequest::load): Set the priority on the 15783 ResourceRequest object based on the priority of the 15784 CachedResourceRequest before calling 15785 ResourceLoadScheduler::scheduleSubresourceLoad(). 15786 15787 * loader/icon/IconLoader.cpp: 15788 (WebCore::IconLoader::startLoading): Create a ResourceRequest 15789 object and set its priority to ResourceLoadPriorityLow before 15790 passing it to ResourceLoadScheduler::scheduleSubresourceLoad(). 15791 15792 * platform/mac/WebCoreSystemInterface.h: 15793 (wkGetHTTPPipeliningPriority): Added. 15794 (wkSetHTTPPipeliningPriority): Added. 15795 * platform/mac/WebCoreSystemInterface.mm: 15796 (wkGetHTTPPipeliningPriority): Added. 15797 (wkSetHTTPPipeliningPriority): Added. 15798 15799 * platform/network/ResourceRequestBase.cpp: 15800 (WebCore::ResourceRequestBase::adopt): Set m_priority when 15801 adopting a CrossThreadResourceRequestData. 15802 (WebCore::ResourceRequestBase::copyData): Set m_priority when 15803 creating a CrossThreadResourceRequestData. 15804 (WebCore::ResourceRequestBase::priority): Added. 15805 (WebCore::ResourceRequestBase::setPriority): Added. 15806 (WebCore::equalIgnoringHeaderFields): Priorities must match when 15807 comparing two ResourceRequest objects. 15808 15809 * platform/network/ResourceRequestBase.h: 15810 (WebCore::ResourceRequestBase::ResourceRequestBase): Set default 15811 priority of new objects to ResourceLoadPriorityLow. 15812 (WebCore::ResourceRequestBase::priority): Added declaration. 15813 (WebCore::ResourceRequestBase::setPriority): Added declaration. 15814 (WebCore::isHTTPPipeliningEnabled): Added. 15815 (WebCore::shouldUseHTTPPipeliningPriority): Added. 15816 15817 * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that 15818 Mac OS X and Windows share code. 15819 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always 15820 set the HTTP connection count per host, but return an 15821 'unlimited' value when using HTTP pipelining. This method used 15822 to be defined in ResourceRequestMac.mm for Mac OS X. 15823 (WebCore::readBooleanPreference): Added. Helper method for 15824 reading boolean user defaults. 15825 (WebCore::isHTTPPipeliningEnabled): Returns value of user 15826 default key WebKitEnableHTTPPipelining, or false if not set. 15827 (WebCore::shouldUseHTTPPipeliningPriority): Returns value of 15828 user default key WebKitForceHTTPPipeliningPriorityHigh, or false 15829 if not set. 15830 * platform/network/cf/ResourceRequestCFNet.h: Updated so that 15831 Mac OS X and Windows share code. Fixed indentation. 15832 (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added. 15833 (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added. 15834 15835 * platform/network/mac/ResourceRequestMac.mm: 15836 (WebCore::ResourceRequest::doUpdatePlatformRequest): Update 15837 HTTP pipelining priority on NSMutableFURLRequest object. 15838 (WebCore::ResourceRequest::doUpdateResourceRequest): Update 15839 m_priority from the NSURLRequest object. 15840 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed. 15841 Code is now shared with Windows in ResourceRequestCFNet.cpp. 15842 15843 2011-01-26 Beth Dakin <bdakin (a] apple.com> 15844 15845 Reviewed by Darin Adler. 15846 15847 Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 15848 when using WKScrollbars. 15849 15850 New WebKitSystemInterface Functionality. 15851 * WebCore.exp.in: 15852 * platform/mac/WebCoreSystemInterface.h: 15853 * platform/mac/WebCoreSystemInterface.mm: 15854 15855 Some of the terrible static arrays are now only needed in the 15856 old non-WK code, so they are if-def'd now. 15857 * platform/mac/ScrollbarThemeMac.mm: 15858 15859 Just patching this function in a better way than I did 15860 before. 15861 (WebCore::updateArrowPlacement): 15862 15863 Call into WK for the right values. 15864 (WebCore::ScrollbarThemeMac::scrollbarThickness): 15865 (WebCore::ScrollbarThemeMac::hasThumb): 15866 (WebCore::ScrollbarThemeMac::minimumThumbLength): 15867 15868 Return false if there are no buttons. 15869 (WebCore::ScrollbarThemeMac::hasButtons): 15870 15871 Return an empty IntRect if there are not buttons. 15872 (WebCore::buttonRepaintRect): 15873 15874 2011-01-26 Sam Weinig <sam (a] webkit.org> 15875 15876 Reviewed by Maciej Stachowiak. 15877 15878 Add events to represent the start/end of a gesture scroll 15879 https://bugs.webkit.org/show_bug.cgi?id=53215 15880 15881 * WebCore.exp.in: 15882 Add new file. 15883 15884 * WebCore.xcodeproj/project.pbxproj: 15885 Add new file. 15886 15887 * page/EventHandler.cpp: 15888 (WebCore::EventHandler::handleGestureEvent): 15889 * page/EventHandler.h: 15890 Add entry point for handling gesture events. 15891 15892 * platform/PlatformGestureEvent.h: Added. 15893 (WebCore::PlatformGestureEvent::PlatformGestureEvent): 15894 (WebCore::PlatformGestureEvent::type): 15895 (WebCore::PlatformGestureEvent::position): 15896 (WebCore::PlatformGestureEvent::globalPosition): 15897 (WebCore::PlatformGestureEvent::timestamp): 15898 Add platform agnostic representation of a gesture event. 15899 15900 2011-01-26 Dan Bernstein <mitz (a] apple.com> 15901 15902 Reviewed by Dave Hyatt. 15903 15904 <rdar://problem/8446709> Allow inter-ideograph justification for CJK 15905 https://bugs.webkit.org/show_bug.cgi?id=53184 15906 15907 Tests: fast/text/justify-ideograph-complex.html 15908 fast/text/justify-ideograph-simple.html 15909 fast/text/justify-ideograph-vertical.html 15910 15911 * html/canvas/CanvasRenderingContext2D.cpp: 15912 (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter 15913 passed to the TextRun constructor and added the trailingExpansionBehavior parameter. 15914 * platform/graphics/Font.cpp: 15915 (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities 15916 for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists 15917 before the first character. On return, isAfterExpansion says whether an expansion opportunity 15918 exists after the last character. 15919 * platform/graphics/Font.h: 15920 * platform/graphics/GlyphBuffer.h: 15921 (WebCore::GlyphBuffer::expandLastAdvance): Added. 15922 * platform/graphics/TextRun.h: 15923 (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors. 15924 Renamed padding to expansion. 15925 (WebCore::TextRun::expansion): Renamed padding() to this. 15926 (WebCore::TextRun::allowsTrailingExpansion): Added this accessor. 15927 * platform/graphics/WidthIterator.cpp: 15928 (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount() 15929 and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing 15930 expansion. 15931 (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs. 15932 (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance() 15933 can expand the last advance if it is followed by a CJK ideograph. 15934 * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace 15935 to m_expansionPerOpportunity. 15936 * platform/graphics/chromium/FontChromiumWin.cpp: 15937 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15938 * platform/graphics/chromium/FontLinux.cpp: 15939 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15940 * platform/graphics/efl/FontEfl.cpp: 15941 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15942 * platform/graphics/gtk/FontGtk.cpp: 15943 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15944 * platform/graphics/haiku/FontHaiku.cpp: 15945 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15946 * platform/graphics/mac/ComplexTextController.cpp: 15947 (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use 15948 Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion 15949 opportunity but the run disallows trailing expansion. 15950 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization 15951 of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs. 15952 * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace 15953 to m_expansionPerOpportunity. 15954 * platform/graphics/mac/FontMac.mm: 15955 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15956 * platform/graphics/qt/FontQt.cpp: 15957 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15958 * platform/graphics/win/FontWin.cpp: 15959 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15960 * platform/graphics/win/UniscribeController.cpp: 15961 (WebCore::UniscribeController::UniscribeController): Updated for rename. 15962 * platform/graphics/wince/FontWinCE.cpp: 15963 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15964 * platform/graphics/wx/FontWx.cpp: 15965 (WebCore::Font::canExpandAroundIdeographsInComplexText): Added. 15966 * rendering/EllipsisBox.cpp: 15967 (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor. 15968 (WebCore::EllipsisBox::selectionRect): Ditto. 15969 (WebCore::EllipsisBox::paintSelection): Ditto. 15970 * rendering/InlineBox.h: 15971 (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion. 15972 (WebCore::InlineBox::expansion): Renamed toAdd() to this. 15973 * rendering/InlineTextBox.cpp: 15974 (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor. 15975 (WebCore::InlineTextBox::paint): Ditto. 15976 (WebCore::InlineTextBox::paintSelection): Ditto. 15977 (WebCore::InlineTextBox::paintCompositionBackground): Ditto. 15978 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. 15979 (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. 15980 (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. 15981 (WebCore::InlineTextBox::offsetForPosition): Ditto. 15982 (WebCore::InlineTextBox::positionForOffset): Ditto. 15983 * rendering/InlineTextBox.h: 15984 (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this. 15985 (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this 15986 is not the last leaf box on the line. 15987 * rendering/RenderBlockLineLayout.cpp: 15988 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts 15989 in a vector instead of computing them twice. Discard the trailing expansion opportunity in the 15990 last text box. 15991 * rendering/RenderFileUploadControl.cpp: 15992 (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor. 15993 (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto. 15994 * rendering/RenderListBox.cpp: 15995 (WebCore::RenderListBox::updateFromElement): Ditto. 15996 (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter. 15997 * rendering/RenderTextControl.cpp: 15998 (WebCore::RenderTextControl::getAvgCharWidth): Ditto. 15999 (WebCore::RenderTextControl::paintPlaceholder): Ditto. 16000 * rendering/svg/SVGInlineTextBox.cpp: 16001 (WebCore::SVGInlineTextBox::constructTextRun): Ditto. 16002 16003 2011-01-26 Andy Estes <aestes (a] apple.com> 16004 16005 Rubber-stamped by Darin Adler. 16006 16007 Inline HTMLObjectElement::hasValidClassId(). 16008 16009 * html/HTMLObjectElement.cpp: 16010 (WebCore::HTMLObjectElement::hasValidClassId): 16011 16012 2011-01-26 Evan Martin <evan (a] chromium.org> 16013 16014 Reviewed by Tony Chang. 16015 16016 [chromium] crash on getBoundingClientRect in complex text 16017 https://bugs.webkit.org/show_bug.cgi?id=53199 16018 16019 Use the correct array bound; we want the number of characters processed by 16020 the shaper, not the longest continuous script run length. 16021 16022 Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html 16023 16024 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 16025 (WebCore::ComplexTextController::nextScriptRun): 16026 * platform/graphics/chromium/ComplexTextControllerLinux.h: 16027 (WebCore::ComplexTextController::numCodePoints): 16028 16029 2011-01-26 Emil A Eklund <eae (a] chromium.org> 16030 16031 Reviewed by Alexey Proskuryakov. 16032 16033 Remove cached document reference from CSSStyleSheet and XSLStyleSheet. 16034 https://bugs.webkit.org/show_bug.cgi?id=52084 16035 16036 Test: fast/dom/css-delete-doc.html 16037 16038 * css/CSSMediaRule.cpp: 16039 (WebCore::CSSMediaRule::insertRule): 16040 (WebCore::CSSMediaRule::deleteRule): 16041 * css/CSSStyleSheet.cpp: 16042 (WebCore::CSSStyleSheet::CSSStyleSheet): 16043 (WebCore::CSSStyleSheet::document): 16044 * css/CSSStyleSheet.h: 16045 * xml/XSLStyleSheet.h: 16046 (WebCore::XSLStyleSheet::parentStyleSheet): 16047 * xml/XSLStyleSheetLibxslt.cpp: 16048 (WebCore::XSLStyleSheet::XSLStyleSheet): 16049 (WebCore::XSLStyleSheet::cachedResourceLoader): 16050 (WebCore::XSLStyleSheet::setParentStyleSheet): 16051 (WebCore::XSLStyleSheet::ownerDocument): 16052 * xml/XSLStyleSheetQt.cpp: 16053 (WebCore::XSLStyleSheet::XSLStyleSheet): 16054 (WebCore::XSLStyleSheet::cachedResourceLoader): 16055 (WebCore::XSLStyleSheet::ownerDocument): 16056 16057 2011-01-25 Dimitri Glazkov <dglazkov (a] chromium.org> 16058 16059 Reviewed by Kent Tamura. 16060 16061 Reduce ref-count churn in shadowPseudoId. 16062 https://bugs.webkit.org/show_bug.cgi?id=53136 16063 16064 Refactoring, so no new tests. 16065 16066 * dom/Element.h: 16067 (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString& 16068 * html/ValidationMessage.cpp: 16069 (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto. 16070 * html/shadow/SliderThumbElement.cpp: 16071 (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file. 16072 * html/shadow/SliderThumbElement.h: Ditto. 16073 * rendering/MediaControlElements.cpp: 16074 (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto. 16075 (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto. 16076 (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto. 16077 (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto. 16078 (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto. 16079 (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto. 16080 (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto. 16081 (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto. 16082 (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto. 16083 (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto. 16084 (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto. 16085 * rendering/MediaControlElements.h: Ditto. 16086 16087 2011-01-26 Dave Hyatt <hyatt (a] apple.com> 16088 16089 Reviewed by Dan Bernstein. 16090 16091 https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text. 16092 16093 Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl. 16094 16095 * css/html.css: 16096 Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those 16097 elements work properly. 16098 16099 * rendering/InlineFlowBox.cpp: 16100 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 16101 Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk 16102 in some cases (causing lines to all stack on top of one another). 16103 16104 * rendering/InlineTextBox.h: 16105 (WebCore::InlineTextBox::calculateBoundaries): 16106 Fix calculateBoundaries to be physical rather than logical. 16107 16108 * rendering/LayoutState.cpp: 16109 (WebCore::LayoutState::addForcedColumnBreak): 16110 * rendering/LayoutState.h: 16111 Rename childY to childLogicalOffset. 16112 16113 * rendering/RenderBlock.cpp: 16114 (WebCore::RenderBlock::layoutBlock): 16115 (WebCore::RenderBlock::addOverflowFromChildren): 16116 (WebCore::RenderBlock::addOverflowFromFloats): 16117 (WebCore::RenderBlock::collapseMargins): 16118 (WebCore::RenderBlock::estimateLogicalTopPosition): 16119 (WebCore::RenderBlock::layoutBlockChild): 16120 (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): 16121 (WebCore::RenderBlock::paintColumnRules): 16122 (WebCore::RenderBlock::paintColumnContents): 16123 (WebCore::RenderBlock::paintFloats): 16124 (WebCore::RenderBlock::selectionGaps): 16125 (WebCore::RenderBlock::removeFloatingObjectsBelow): 16126 (WebCore::RenderBlock::addOverhangingFloats): 16127 (WebCore::RenderBlock::hitTestFloats): 16128 (WebCore::RenderBlock::hitTestColumns): 16129 (WebCore::RenderBlock::calcColumnWidth): 16130 (WebCore::RenderBlock::desiredColumnWidth): 16131 (WebCore::RenderBlock::columnRectAt): 16132 (WebCore::RenderBlock::layoutColumns): 16133 (WebCore::RenderBlock::adjustPointToColumnContents): 16134 (WebCore::RenderBlock::adjustRectForColumns): 16135 (WebCore::RenderBlock::flipForWritingModeIncludingColumns): 16136 (WebCore::RenderBlock::adjustForColumns): 16137 (WebCore::RenderBlock::adjustForBorderFit): 16138 (WebCore::RenderBlock::nextPageLogicalTop): 16139 (WebCore::RenderBlock::applyBeforeBreak): 16140 (WebCore::RenderBlock::applyAfterBreak): 16141 (WebCore::RenderBlock::adjustForUnsplittableChild): 16142 (WebCore::RenderBlock::adjustLinePositionForPagination): 16143 * rendering/RenderBlock.h: 16144 (WebCore::RenderBlock::logicalRightOffsetForContent): 16145 (WebCore::RenderBlock::logicalLeftOffsetForContent): 16146 (WebCore::RenderBlock::leftForFloatIncludingMargin): 16147 (WebCore::RenderBlock::topForFloatIncludingMargin): 16148 * rendering/RenderBlockLineLayout.cpp: 16149 (WebCore::RenderBlock::layoutInlineChildren): 16150 (WebCore::RenderBlock::determineStartPosition): 16151 Reworking of all the RenderBlock column functions to support flipping and vertical modes. 16152 16153 * rendering/RenderBox.cpp: 16154 (WebCore::RenderBox::offsetFromContainer): 16155 (WebCore::RenderBox::flipForWritingModeIncludingColumns): 16156 Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts. 16157 16158 * rendering/RenderBox.h: 16159 (WebCore::RenderBox::clientLogicalBottom): 16160 Fix a bug in clientLogicalBottom where it didn't add in the right border/padding. 16161 16162 * rendering/RenderFlexibleBox.cpp: 16163 (WebCore::RenderFlexibleBox::layoutBlock): 16164 Better terminology for pagination. 16165 16166 * rendering/RenderInline.cpp: 16167 (WebCore::RenderInline::offsetFromContainer): 16168 (WebCore::RenderInline::mapLocalToContainer): 16169 * rendering/RenderLayer.cpp: 16170 (WebCore::RenderLayer::paintChildLayerIntoColumns): 16171 (WebCore::RenderLayer::hitTestChildLayerColumns): 16172 (WebCore::RenderLayer::localBoundingBox): 16173 (WebCore::RenderLayer::boundingBox): 16174 Patch painting in RenderLayers to be vertical-text-aware. 16175 16176 * rendering/RenderObject.cpp: 16177 (WebCore::RenderObject::mapLocalToContainer): 16178 Add code to be flipped block-aware with columns. 16179 16180 * rendering/RenderTable.cpp: 16181 (WebCore::RenderTable::layout): 16182 * rendering/RenderTableRow.cpp: 16183 (WebCore::RenderTableRow::layout): 16184 * rendering/RenderTableSection.cpp: 16185 (WebCore::RenderTableSection::layoutRows): 16186 Fix pagination to use better terminology. 16187 16188 * rendering/RenderText.cpp: 16189 (WebCore::RenderText::absoluteQuads): 16190 (WebCore::RenderText::absoluteQuadsForRange): 16191 Fix a bug where vertical text wasn't taken into account. 16192 16193 2011-01-26 Dimitri Glazkov <dglazkov (a] chromium.org> 16194 16195 Unreviewed, rolling out r76719. 16196 http://trac.webkit.org/changeset/76719 16197 https://bugs.webkit.org/show_bug.cgi?id=53122 16198 16199 Broke a bunch of media tests in Chromium/Qt/GTK. 16200 16201 2011-01-26 Tony Chang <tony (a] chromium.org> 16202 16203 Reviewed by Ryosuke Niwa. 16204 16205 [gtk] strip NUL characters when copying text/html on GTK+ 16206 https://bugs.webkit.org/show_bug.cgi?id=52508 16207 16208 Putting NUL characters in the text/html clipboard doesn't work in 16209 WebKit GTK+ (the pasted value is truncated at the NUL). Since we're 16210 already stripping this character for plain text (for Windows), strip 16211 it in text/html too. 16212 16213 * editing/MarkupAccumulator.h: mark function as virtual 16214 * editing/markup.cpp: 16215 (WebCore::StyledMarkupAccumulator::appendString): 16216 (WebCore::StyledMarkupAccumulator::takeResults): strip nulls 16217 16218 2011-01-26 Mario Sanchez Prada <msanchez (a] igalia.com> 16219 16220 Reviewed by Martin Robinson. 16221 16222 [GTK] Reliable crash with getTextAtOffset() 16223 https://bugs.webkit.org/show_bug.cgi?id=53131 16224 16225 Properly calculate length in bytes for a UTF8 substring. 16226 16227 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 16228 (utf8Substr): Use character instead of bytes as units to 16229 calculate the length in bytes for the UTF8 string. 16230 16231 2011-01-25 Dimitri Glazkov <dglazkov (a] chromium.org> 16232 16233 Reviewed by Kent Tamura. 16234 16235 Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId. 16236 https://bugs.webkit.org/show_bug.cgi?id=53122 16237 16238 This is the first step in converting HTMLMediaElement to the new shadow DOM. 16239 16240 Should not regress any existing tests. No observable change in behavior. 16241 16242 * css/CSSSelector.cpp: 16243 (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors. 16244 (WebCore::nameToPseudoTypeMap): Ditto. 16245 (WebCore::CSSSelector::extractPseudoType): Ditto. 16246 * css/CSSSelector.h: Ditto. 16247 * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline. 16248 * rendering/MediaControlElements.cpp: 16249 (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement, 16250 which is now replaced with virtual shadowPseudoId on each corresponding class. 16251 (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline. 16252 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set 16253 display type in constructor. 16254 (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as 16255 constructor argument. 16256 (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added. 16257 (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added 16258 to disambiguate from the MediaControlMuteButtonElement. 16259 (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added. 16260 (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added. 16261 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as 16262 constructor argument. 16263 (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added. 16264 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as 16265 constructor argument. 16266 (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added. 16267 (WebCore::MediaControlSeekForwardButtonElement::create): Added. 16268 (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added. 16269 (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added. 16270 (WebCore::MediaControlSeekBackButtonElement::create): Added. 16271 (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added. 16272 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added. 16273 (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added. 16274 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as 16275 constructor argument. 16276 (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added. 16277 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as 16278 constructor argument. 16279 (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added. 16280 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as 16281 constructor argument. 16282 (WebCore::MediaControlTimelineElement::shadowPseudoId): Added. 16283 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as 16284 constructor argument. 16285 (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added. 16286 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as 16287 constructor argument. 16288 (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added. 16289 * rendering/MediaControlElements.h: 16290 (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added. 16291 (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added. 16292 * rendering/RenderMedia.cpp: 16293 (WebCore::RenderMedia::createMuteButton): Changed to use new constructor. 16294 (WebCore::RenderMedia::createSeekBackButton): Ditto. 16295 (WebCore::RenderMedia::createSeekForwardButton): Ditto. 16296 (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto. 16297 * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used. 16298 16299 2011-01-26 Kenneth Russell <kbr (a] google.com> 16300 16301 Reviewed by James Robinson. 16302 16303 Fix multisampling support in DrawingBuffer 16304 https://bugs.webkit.org/show_bug.cgi?id=53154 16305 16306 In DrawingBuffer's multisampling code path, fixed enum usage and a 16307 bug where it would incorrectly redefine the depth and stencil 16308 buffers. Hooked up multisampling code path in Chromium port. 16309 16310 Tested manually with some accelerated 2D canvas content. 16311 Multisampling isn't being switched on for the accelerated 2D 16312 canvas at the current time because it will increase fill rate 16313 requirements and cause a large number of rebaselines. 16314 16315 * platform/graphics/Extensions3D.h: 16316 * platform/graphics/chromium/DrawingBufferChromium.cpp: 16317 (WebCore::DrawingBuffer::publishToPlatformLayer): 16318 * platform/graphics/chromium/Extensions3DChromium.h: 16319 * platform/graphics/gpu/DrawingBuffer.cpp: 16320 (WebCore::DrawingBuffer::create): 16321 (WebCore::DrawingBuffer::reset): 16322 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 16323 (WebCore::Extensions3DOpenGL::supports): 16324 16325 2011-01-26 Tony Chang <tony (a] chromium.org> 16326 16327 Unreviewed. 16328 16329 [chromium] revert r68310 because of race conditions detected by tsans 16330 https://bugs.webkit.org/show_bug.cgi?id=53185 16331 16332 Causes stability problems for Chromium, http://crbug.com/70589 16333 16334 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 16335 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 16336 16337 2011-01-26 Justin Schuh <jschuh (a] chromium.org> 16338 16339 Reviewed by Adam Barth. 16340 16341 Make fireEventsAndUpdateStyle use stack local vectors. 16342 https://bugs.webkit.org/show_bug.cgi?id=46760 16343 16344 Test: animations/animation-add-events-in-handler.html 16345 16346 * page/animation/AnimationController.cpp: 16347 (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): 16348 16349 2011-01-26 Nate Chapin <japhet (a] chromium.org> 16350 16351 Reviewed by Adam Barth. 16352 16353 Remove m_URL from FrameLoader and depend on Document::url() 16354 instead. FrameLoader::url() will be removed in a followup patch. 16355 https://bugs.webkit.org/show_bug.cgi?id=41165 16356 16357 Refactor only, no new tests. 16358 16359 * WebCore.exp.in: 16360 * dom/Document.cpp: 16361 (WebCore::Document::Document): 16362 (WebCore::Document::updateURLForPushOrReplaceState): 16363 * loader/DocumentWriter.cpp: 16364 (WebCore::DocumentWriter::begin): 16365 * loader/FrameLoader.cpp: 16366 (WebCore::FrameLoader::iconURL): 16367 (WebCore::FrameLoader::didOpenURL): 16368 (WebCore::FrameLoader::didExplicitOpen): 16369 (WebCore::FrameLoader::receivedFirstData): 16370 (WebCore::FrameLoader::url): 16371 (WebCore::FrameLoader::setOutgoingReferrer): 16372 (WebCore::FrameLoader::startIconLoader): 16373 (WebCore::FrameLoader::commitIconURLToIconDatabase): 16374 (WebCore::FrameLoader::finishedParsing): 16375 (WebCore::FrameLoader::checkIfDisplayInsecureContent): 16376 (WebCore::FrameLoader::checkIfRunInsecureContent): 16377 (WebCore::FrameLoader::updateFirstPartyForCookies): 16378 (WebCore::FrameLoader::loadInSameDocument): 16379 (WebCore::FrameLoader::commitProvisionalLoad): 16380 (WebCore::FrameLoader::open): 16381 (WebCore::FrameLoader::shouldScrollToAnchor): 16382 * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer(). 16383 16384 2011-01-25 Brian Weinstein <bweinstein (a] apple.com> 16385 16386 Reviewed by Antti Koivisto. 16387 16388 Crashes loading pages when cancelling subresource loads through WebKit 16389 https://bugs.webkit.org/show_bug.cgi?id=53123 16390 <rdar://problem/8914361> 16391 16392 Fix a crash that happened when cancelling subresource loads through WebKit. 16393 16394 When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 16395 can be called recursively on the same function, either leading to infinite recursion, or deleting 16396 an object when it is not done being used. 16397 16398 The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 16399 CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously). 16400 16401 Test: fast/loader/willSendRequest-null-for-preload.html 16402 16403 * loader/DocumentLoader.cpp: 16404 (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 16405 if our new URL is non-null. 16406 * loader/cache/CachedResourceLoader.cpp: 16407 (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer. 16408 (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 16409 function was called synchronously 16410 from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 16411 so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous. 16412 (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests. 16413 (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 16414 so use Deque methods. 16415 * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque. 16416 16417 2011-01-25 Pavel Podivilov <podivilov (a] chromium.org> 16418 16419 Reviewed by Pavel Feldman. 16420 16421 Web Inspector: evaluate in console may not work when window.console is substituted or deleted. 16422 https://bugs.webkit.org/show_bug.cgi?id=53072 16423 16424 Test: inspector/console-substituted.html 16425 16426 * inspector/InjectedScriptSource.js: 16427 (.): 16428 16429 2011-01-26 Carlos Garcia Campos <cgarcia (a] igalia.com> 16430 16431 Reviewed by Martin Robinson. 16432 16433 [cairo] Use CAIRO_OPERATOR_DARKEN when available 16434 https://bugs.webkit.org/show_bug.cgi?id=53084 16435 16436 Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of 16437 CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10. 16438 16439 * platform/graphics/cairo/CairoUtilities.cpp: 16440 (WebCore::toCairoOperator): 16441 16442 2011-01-26 Pavel Feldman <pfeldman (a] chromium.org> 16443 16444 Reviewed by Yury Semikhatsky. 16445 16446 Web Inspector: visualize \n in strings as unicode cr 16447 symbol in stack variables sidebar. 16448 https://bugs.webkit.org/show_bug.cgi?id=53162 16449 16450 * inspector/front-end/ObjectPropertiesSection.js: 16451 (WebInspector.ObjectPropertyTreeElement.prototype.update): 16452 16453 2011-01-26 Andrey Kosyakov <caseq (a] chromium.org> 16454 16455 Reviewed by Pavel Feldman. 16456 16457 Web Inspector: size is wrong for cached resources in Network panel 16458 - Set the size for 304/not modified resources from cached resource. 16459 - Add response headers size to resource transfer size. 16460 https://bugs.webkit.org/show_bug.cgi?id=52886 16461 16462 * inspector/InspectorResourceAgent.cpp: 16463 (WebCore::InspectorResourceAgent::didReceiveResponse): 16464 * inspector/front-end/Resource.js: 16465 (WebInspector.Resource): 16466 (WebInspector.Resource.prototype.get transferSize): 16467 (WebInspector.Resource.prototype.set responseHeaders): 16468 (WebInspector.Resource.prototype._headersSize): 16469 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 16470 16471 2011-01-26 Carol Szabo <carol.szabo (a] nokia.com> 16472 16473 Reviewed by Simon Hausmann. 16474 16475 Fixed TiledBacking store to take into account new dirty regions caused by 16476 paint time layouts. 16477 16478 Flawed rendering design for QtWebKit resulting in artifacts being displayed 16479 https://bugs.webkit.org/show_bug.cgi?id=49184 16480 16481 There are no new tests as this patch aims at fixing flicker that 16482 happen randomly, mostly on slow hardware, thus are hard to reproduce 16483 consistently in an automated test. 16484 16485 This patch does not fully address the said bug but it is a step in the 16486 right direction. A full solution to the bug, as currently perceived, 16487 requires either a Qt GUI API change, a performance hit for QtWebKit, 16488 or a hack, until a full solution is provided this patch is progress. 16489 16490 * platform/graphics/TiledBackingStore.cpp: 16491 (WebCore::TiledBackingStore::updateTileBuffers): 16492 Changed to take into account newly dirtied areas created during 16493 tile update initiated layouts during the same update. 16494 16495 2011-01-26 Patrick Gansterer <paroga (a] webkit.org> 16496 16497 Reviewed by Andreas Kling. 16498 16499 [SKIA] Remove "current path" of GraphicsContext 16500 https://bugs.webkit.org/show_bug.cgi?id=53124 16501 16502 * platform/graphics/GraphicsContext.h: 16503 * platform/graphics/skia/GraphicsContextSkia.cpp: 16504 (WebCore::GraphicsContext::clipPath): 16505 (WebCore::GraphicsContext::fillPath): 16506 (WebCore::GraphicsContext::strokePath): 16507 * platform/graphics/skia/PathSkia.cpp: 16508 (WebCore::Path::strokeBoundingRect): 16509 * platform/graphics/skia/PlatformContextSkia.cpp: 16510 * platform/graphics/skia/PlatformContextSkia.h: 16511 16512 2011-01-26 Zalan Bujtas <zbujtas (a] gmail.com> 16513 16514 Reviewed by Andreas Kling. 16515 16516 [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3. 16517 16518 QPainterPath returns angle values with the origo being at the top left corner, 16519 we need to account for this in normalAngleAtLength(). 16520 This Regressed with r66979. 16521 16522 No new tests as this is already covered by ACID3. 16523 16524 * platform/graphics/qt/PathQt.cpp: 16525 (WebCore::Path::normalAngleAtLength): 16526 16527 2011-01-26 Pavel Feldman <pfeldman (a] chromium.org> 16528 16529 Reviewed by Yury Semikhatsky. 16530 16531 Web Inspector: live edit does not update source snippet. 16532 https://bugs.webkit.org/show_bug.cgi?id=53097 16533 16534 * inspector/front-end/ScriptsPanel.js: 16535 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 16536 16537 2011-01-26 Pavel Feldman <pfeldman (a] chromium.org> 16538 16539 Reviewed by Yury Semikhatsky. 16540 16541 Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'. 16542 https://bugs.webkit.org/show_bug.cgi?id=53018 16543 16544 * inspector/InjectedScript.cpp: 16545 (WebCore::InjectedScript::evaluate): 16546 (WebCore::InjectedScript::evaluateOnCallFrame): 16547 (WebCore::InjectedScript::getCompletions): 16548 (WebCore::InjectedScript::getCompletionsOnCallFrame): 16549 * inspector/InjectedScript.h: 16550 * inspector/InjectedScriptSource.js: 16551 (.): 16552 * inspector/Inspector.idl: 16553 * inspector/InspectorDebuggerAgent.cpp: 16554 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 16555 (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): 16556 * inspector/InspectorDebuggerAgent.h: 16557 * inspector/InspectorRuntimeAgent.cpp: 16558 (WebCore::InspectorRuntimeAgent::evaluate): 16559 (WebCore::InspectorRuntimeAgent::getCompletions): 16560 * inspector/InspectorRuntimeAgent.h: 16561 * inspector/front-end/ConsoleView.js: 16562 (WebInspector.ConsoleView.prototype.completions): 16563 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 16564 (WebInspector.ConsoleView.prototype._enterKeyPressed): 16565 * inspector/front-end/ScriptsPanel.js: 16566 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper): 16567 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 16568 * inspector/front-end/SourceFrame.js: 16569 (WebInspector.SourceFrame.prototype._showPopup): 16570 * inspector/front-end/WatchExpressionsSidebarPane.js: 16571 (WebInspector.WatchExpressionsSection.prototype.update): 16572 16573 2011-01-26 Hironori Bono <hbono (a] chromium.org> 16574 16575 Reviewed by Kent Tamura. 16576 16577 A speculative fix for Bug 52422 - [chromium] More crash in 16578 FontFallbackList::determinePitch(const Font* font) 16579 https://bugs.webkit.org/show_bug.cgi?id=52422 16580 16581 My previous change may not work on non-US Windows whose system fonts 16582 have localized aliases matching to the system locale because of a 16583 font-name mismatch in createFontIndirectAndGetWinName(). This change 16584 tries all the fonts installed in a PC and returns the first font that we 16585 can create without errors. 16586 16587 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 16588 (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData): 16589 Added a struct used for getLastResortFallbackFontProc(). 16590 (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies(). 16591 (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font. 16592 16593 2011-01-26 James Robinson <jamesr (a] chromium.org> 16594 16595 Reviewed by Nate Chapin. 16596 16597 Add a DOMTimeStamp parameter to the requestAnimationFrame callback 16598 https://bugs.webkit.org/show_bug.cgi?id=53142 16599 16600 This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more 16601 closely match mozilla's proposal. This is useful if the page has multiple imperative animations 16602 and wants to ensure that they all remain synchronized. If each callback used Date.now() to 16603 update its animation state, they would potentially be out of sync with each other. If they use 16604 the timestamp then all callbacks for the same "frame" will update to the same state. 16605 16606 Test: fast/animation/request-animation-frame-timestamps.html 16607 16608 * bindings/scripts/CodeGeneratorV8.pm: 16609 * bindings/scripts/test/V8/V8TestCallback.cpp: 16610 (WebCore::V8TestCallback::callbackWithClass2Param): 16611 * dom/Document.cpp: 16612 (WebCore::Document::serviceScriptedAnimations): 16613 * dom/Document.h: 16614 * dom/RequestAnimationFrameCallback.h: 16615 * dom/RequestAnimationFrameCallback.idl: 16616 * page/FrameView.cpp: 16617 (WebCore::FrameView::serviceScriptedAnimations): 16618 * page/FrameView.h: 16619 16620 2011-01-25 Yuzo Fujishima <yuzo (a] google.com> 16621 16622 Unreviewed attempt to fix compilation error for Chromium Clang. 16623 16624 * platform/graphics/mac/ComplexTextController.cpp: 16625 (WebCore::ComplexTextController::advance): 16626 16627 2011-01-25 Ned Holbrook <nholbrook (a] apple.com> 16628 16629 Reviewed by Dan Bernstein. 16630 16631 ComplexTextController incorrectly conflates string length and range of indexes 16632 https://bugs.webkit.org/show_bug.cgi?id=52760 16633 16634 Test: fast/text/offsetForPosition-complex-fallback.html 16635 16636 * platform/graphics/mac/ComplexTextController.cpp: 16637 (WebCore::ComplexTextController::offsetForPosition): 16638 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): 16639 (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): 16640 (WebCore::ComplexTextController::advance): 16641 * platform/graphics/mac/ComplexTextController.h: 16642 (WebCore::ComplexTextController::ComplexTextRun::create): 16643 (WebCore::ComplexTextController::ComplexTextRun::indexEnd): 16644 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 16645 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): 16646 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 16647 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): 16648 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): 16649 16650 2011-01-25 Sam Weinig <sam (a] webkit.org> 16651 16652 Reviewed by David Hyatt. 16653 16654 Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area 16655 https://bugs.webkit.org/show_bug.cgi?id=53048 16656 16657 Test: fast/overflow/overflow-rtl-vertical-origin.html 16658 16659 * rendering/RenderLayer.cpp: 16660 (WebCore::RenderLayer::scrollPosition): 16661 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 16662 Take the scroll origin into account when calculating scrollbars in more places. 16663 16664 2011-01-25 Steve Falkenburg <sfalken (a] apple.com> 16665 16666 Windows production build fix. 16667 Use correct configuration-specific path in makefile. 16668 16669 * WebCore.vcproj/WebCore.make: 16670 16671 2011-01-25 Kent Tamura <tkent (a] chromium.org> 16672 16673 Reviewed by Dimitri Glazkov. 16674 16675 Radio button group state is not restored correctly 16676 https://bugs.webkit.org/show_bug.cgi?id=50442 16677 16678 Fixes a bug that radio button states are not restored correctly in 16679 a case that non-first radio button in a group is checked. 16680 16681 If "checked" attribute is present, the radio button is checked and 16682 other radio buttons in the group are unchecked. This behavior 16683 disturbs form state restoring. This patch changes this behavior so 16684 that the "checked" attribute handling is delayed after form state 16685 restoring. 16686 16687 Test: fast/forms/state-restore-radio-group.html 16688 16689 * html/HTMLFormControlElement.h: 16690 Make finishParsingChildren() protected so that HTMLInpuElement can call it. 16691 * html/HTMLInputElement.cpp: 16692 (WebCore::HTMLInputElement::HTMLInputElement): 16693 - Add createdByParser parameter. 16694 - Initialize m_stateRestored and m_parsingInProgress. 16695 (WebCore::HTMLInputElement::create): Sync with the constructor. 16696 (WebCore::HTMLInputElement::restoreFormControlState): 16697 Set m_stateRestored in order to refer it in finishParsingChildren(). 16698 (WebCore::HTMLInputElement::parseMappedAttribute): 16699 Don't call setChecked() during parsing. Move setNeedsValidityCheck() 16700 to setChecked(). 16701 (WebCore::HTMLInputElement::finishParsingChildren): 16702 Call setChecked() if form state is not restored. 16703 (WebCore::HTMLInputElement::setChecked): 16704 Move setNeedsValidityCheck() from parseMappedAttribute() because 16705 finishParsingChildren() also needs to call setNeedsValidityCheck(). 16706 * html/HTMLInputElement.h: 16707 - Remove the default value of HTMLFormElement* of the HTMLInputElement 16708 constructor, and add createdByParser parameter. 16709 - Introduce m_parsingInProgress and m_stateRestored. 16710 * html/HTMLIsIndexElement.cpp: 16711 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): 16712 Sync with the HTMLInputElement constructor change. 16713 * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag. 16714 * rendering/MediaControlElements.cpp: 16715 (WebCore::MediaControlInputElement::MediaControlInputElement): 16716 Sync with the HTMLInputElement constructor change. 16717 * rendering/ShadowElement.cpp: 16718 (WebCore::ShadowInputElement::ShadowInputElement): ditto. 16719 * rendering/ShadowElement.h: 16720 (WebCore::ShadowElement::ShadowElement): ditto. 16721 16722 2011-01-25 Kent Tamura <tkent (a] chromium.org> 16723 16724 Reviewed by Dimitri Glazkov. 16725 16726 HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled. 16727 https://bugs.webkit.org/show_bug.cgi?id=52565 16728 16729 * html/HTMLFormElement.cpp: 16730 (WebCore::HTMLFormElement::validateInteractively): 16731 Check checkInvalidControlsAndCollectUnhandled() result instead of 16732 checking emptiness of unhandled invalid controls list. 16733 (WebCore::HTMLFormElement::checkValidity): ditto. 16734 (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled): 16735 Renamed from collectUnhandledInvalidControls(). 16736 Returns true if there is any invalid control regardless of event canceling. 16737 * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to 16738 checkInvalidControlsAndCollectUnhandled(). 16739 16740 2011-01-25 Kent Tamura <tkent (a] chromium.org> 16741 16742 Reviewed by Dimitri Glazkov. 16743 16744 Range and number inputs should reject increment and decrement by 16745 keyboard or mouse wheel if they are disabled or read-only 16746 https://bugs.webkit.org/show_bug.cgi?id=53151 16747 16748 * html/RangeInputType.cpp: 16749 (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly(). 16750 * html/TextFieldInputType.cpp: 16751 (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto. 16752 (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto. 16753 16754 2011-01-25 Kent Tamura <tkent (a] chromium.org> 16755 16756 Reviewed by Dimitri Glazkov. 16757 16758 API to support localized numbers for <input type=number> 16759 https://bugs.webkit.org/show_bug.cgi?id=45730 16760 16761 Introduce platform/text/LocalizedNumber.h, and 16762 LocalizedNumberNone.cpp, which is an empty implementation of the 16763 functions in LocalizedNumber.h. We use LocalizedNumberNone.cpp in 16764 all platforms for now. 16765 16766 A string in a type=number field is parsed as a localized number 16767 first. If the parsing fails, it is parsed as the HTML5 number. 16768 16769 We introduce HTMLInputElement::visibleValue(). It represents a value 16770 which should be drawn by a renderer. HTMLInputElement::value() always 16771 returns a number formatted for HTML5, and visibleValue() may return a 16772 localized number. 16773 16774 No new tests because this doesn't change any behavior. 16775 16776 * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp. 16777 * CMakeLists.txt: ditto. 16778 * GNUmakefile.am: ditto. 16779 * WebCore.gypi: ditto. 16780 * WebCore.pro: ditto. 16781 * WebCore.vcproj/WebCore.vcproj: ditto. 16782 * WebCore.xcodeproj/project.pbxproj: ditto. 16783 * dom/InputElement.h: Add visibleValue(). 16784 * html/HTMLInputElement.cpp: 16785 (WebCore::HTMLInputElement::visibleValue): Added. Just call InputType::visibleValue(). 16786 * html/HTMLInputElement.h: Declare visibleValue(). 16787 * html/InputType.cpp: 16788 (WebCore::InputType::visibleValue): Add the default implementation of 16789 visibleValue(), which returns HTMLInputElement::value(). 16790 * html/InputType.h: Add declarations. 16791 * html/NumberInputType.cpp: 16792 (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter(). 16793 (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter(). 16794 (WebCore::NumberInputType::visibleValue): 16795 Returns a localized number string produced by formatLocalizedNumber(). 16796 (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber(). 16797 (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber(). 16798 * html/NumberInputType.h: Add declarations. 16799 * platform/text/LocalizedNumber.h: Added. 16800 * platform/text/LocalizedNumberNone.cpp: Added. 16801 (WebCore::parseLocalizedNumber): 16802 (WebCore::formatLocalizedNumber): 16803 (WebCore::isLocalizedNumberCharacter): 16804 * rendering/RenderTextControlSingleLine.cpp: 16805 (WebCore::RenderTextControlSingleLine::updateFromElement): 16806 Calls InputElement::visibleValue() instead of value(). 16807 * wml/WMLInputElement.h: 16808 (WebCore::WMLInputElement::visibleValue): Added. It just calls value(). 16809 16810 2011-01-25 Alexey Proskuryakov <ap (a] apple.com> 16811 16812 Reviewed by Darin Adler. 16813 16814 https://bugs.webkit.org/show_bug.cgi?id=53143 16815 Add IntRectHash 16816 16817 * WebCore.xcodeproj/project.pbxproj: 16818 * platform/graphics/IntRectHash.h: Added. 16819 16820 * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"! 16821 16822 2011-01-25 Ilya Sherman <isherman (a] chromium.org> 16823 16824 Reviewed by Ryosuke Niwa. 16825 16826 Remove trailing whitespace in HTMLInputElement.cpp 16827 https://bugs.webkit.org/show_bug.cgi?id=53152 16828 16829 * html/HTMLInputElement.cpp: 16830 (WebCore::HTMLInputElement::updateCheckedRadioButtons): 16831 (WebCore::HTMLInputElement::applyStep): 16832 (WebCore::HTMLInputElement::updateFocusAppearance): 16833 (WebCore::HTMLInputElement::mapToEntry): 16834 (WebCore::HTMLInputElement::setAutofilled): 16835 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): 16836 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): 16837 16838 2011-01-25 Mike Reed <reed (a] google.com> 16839 16840 Reviewed by James Robinson. 16841 16842 DrawingBufer::reset() today checks if the new size is the same as its 16843 m_size, and if so, returns immediately. This does not match the 16844 semantics of <canvas>, which wants to clear its contents anytime the 16845 size is specified. 16846 https://bugs.webkit.org/show_bug.cgi?id=53149 16847 16848 Test: Covered by existing <canvas> tests using gpu. 16849 16850 * platform/graphics/chromium/DrawingBufferChromium.cpp: 16851 (WebCore::DrawingBuffer::DrawingBuffer): 16852 * platform/graphics/gpu/DrawingBuffer.cpp: 16853 (WebCore::DrawingBuffer::reset): 16854 16855 2011-01-25 Cris Neckar <cdn (a] chromium.org> 16856 16857 Reviewed by Adam Barth. 16858 16859 Add a hashset of DOMURLs to ScriptExecutionContext to track back references. 16860 https://bugs.webkit.org/show_bug.cgi?id=53038 16861 16862 Test: fast/dom/window-domurl-crash.html 16863 16864 * dom/ScriptExecutionContext.cpp: 16865 (WebCore::ScriptExecutionContext::~ScriptExecutionContext): 16866 (WebCore::ScriptExecutionContext::createdDomUrl): 16867 (WebCore::ScriptExecutionContext::destroyedDomUrl): 16868 * dom/ScriptExecutionContext.h: 16869 (WebCore::ScriptExecutionContext::domUrls): 16870 * html/DOMURL.cpp: 16871 (WebCore::DOMURL::DOMURL): 16872 (WebCore::DOMURL::~DOMURL): 16873 (WebCore::DOMURL::contextDestroyed): 16874 * html/DOMURL.h: 16875 (WebCore::DOMURL::scriptExecutionContext): 16876 16877 2011-01-23 Antti Koivisto <antti (a] apple.com> 16878 16879 Reviewed by Darin Adler. 16880 16881 https://bugs.webkit.org/show_bug.cgi?id=52983 16882 Eliminate m_tagHistory pointer from CSSSelector 16883 16884 Keep the component selectors in the array in CSSSelectorList instead 16885 of maintaining a linked list between them. This allows eliminating 16886 m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance 16887 seems to improve some too due to better locality). 16888 16889 * WebCore.xcodeproj/project.pbxproj: 16890 16891 Make CSSSelector.h a private header. 16892 16893 * css/CSSGrammar.y: 16894 16895 Use CSSParserSelector during parsing to keep the tag history in 16896 a linked list. This is flattened to an array after parsing. 16897 Use accessors for setting selector values. 16898 Use OwnPtr in selector vector. 16899 16900 * css/CSSPageRule.cpp: 16901 (WebCore::CSSPageRule::CSSPageRule): 16902 * css/CSSPageRule.h: 16903 (WebCore::CSSPageRule::create): 16904 16905 Simplify. 16906 16907 * css/CSSParser.cpp: 16908 (WebCore::CSSParser::~CSSParser): 16909 (WebCore::CSSParser::createFloatingSelector): 16910 (WebCore::CSSParser::sinkFloatingSelector): 16911 (WebCore::CSSParser::createStyleRule): 16912 (WebCore::CSSParser::updateSpecifiersWithElementName): 16913 (WebCore::CSSParser::createPageRule): 16914 * css/CSSParser.h: 16915 (WebCore::CSSParser::reusableSelectorVector): 16916 16917 CSSSelector -> CSSParserSelector. 16918 Use OwnPtr in selector vector. 16919 16920 * css/CSSParserValues.cpp: 16921 (WebCore::CSSParserSelector::CSSParserSelector): 16922 (WebCore::CSSParserSelector::~CSSParserSelector): 16923 * css/CSSParserValues.h: 16924 (WebCore::CSSParserSelector::releaseSelector): 16925 (WebCore::CSSParserSelector::setTag): 16926 (WebCore::CSSParserSelector::setValue): 16927 (WebCore::CSSParserSelector::setAttribute): 16928 (WebCore::CSSParserSelector::setArgument): 16929 (WebCore::CSSParserSelector::setSimpleSelector): 16930 (WebCore::CSSParserSelector::setMatch): 16931 (WebCore::CSSParserSelector::setRelation): 16932 (WebCore::CSSParserSelector::setForPage): 16933 (WebCore::CSSParserSelector::pseudoType): 16934 (WebCore::CSSParserSelector::isUnknownPseudoElement): 16935 (WebCore::CSSParserSelector::isSimple): 16936 (WebCore::CSSParserSelector::tagHistory): 16937 (WebCore::CSSParserSelector::setTagHistory): 16938 16939 Linked list used during parsing. 16940 Avoid recursive destruction. 16941 16942 * css/CSSSelector.cpp: 16943 (WebCore::CSSSelector::extractPseudoType): 16944 (WebCore::CSSSelector::operator==): 16945 (WebCore::CSSSelector::selectorText): 16946 (WebCore::CSSSelector::setSimpleSelector): 16947 * css/CSSSelector.h: 16948 (WebCore::CSSSelector::CSSSelector): 16949 (WebCore::CSSSelector::~CSSSelector): 16950 (WebCore::CSSSelector::tagHistory): 16951 (WebCore::CSSSelector::tag): 16952 (WebCore::CSSSelector::value): 16953 (WebCore::CSSSelector::setTag): 16954 (WebCore::CSSSelector::isLastInTagHistory): 16955 (WebCore::CSSSelector::setNotLastInTagHistory): 16956 (WebCore::CSSSelector::RareData::RareData): 16957 (WebCore::CSSSelector::RareData::~RareData): 16958 (WebCore::CSSSelector::createRareData): 16959 (WebCore::CSSSelector::setValue): 16960 16961 Remove m_tagHistory. 16962 Keep m_value in the union with the rare data pointer instead. 16963 Make m_value and m_tag private, implement accessors. 16964 Add a new bit to indicate end of the tag history (multipart selector). 16965 Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain. 16966 16967 * css/CSSSelectorList.cpp: 16968 (WebCore::CSSSelectorList::adoptSelectorVector): 16969 16970 Flatten everything to an array. 16971 16972 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): 16973 * css/CSSSelectorList.h: 16974 (WebCore::CSSSelectorList::hasOneSelector): 16975 (WebCore::CSSSelectorList::next): 16976 16977 Skip over the subparts of multipart selectors to find the next selector. 16978 16979 * css/CSSStyleRule.h: 16980 (WebCore::CSSStyleRule::adoptSelectorVector): 16981 16982 CSSSelector -> CSSParserSelector. 16983 16984 * css/CSSStyleSelector.cpp: 16985 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 16986 (WebCore::CSSRuleSet::addRule): 16987 (WebCore::collectIdsAndSiblingRulesFromList): 16988 (WebCore::CSSStyleSelector::matchPageRulesForList): 16989 * dom/Node.cpp: 16990 (WebCore::Node::querySelector): 16991 * dom/SelectorNodeList.cpp: 16992 (WebCore::createSelectorNodeList): 16993 16994 Use accessors. 16995 16996 2011-01-25 James Simonsen <simonjam (a] chromium.org> 16997 16998 Reviewed by Tony Chang. 16999 17000 [Chromium] Support small caps in complex text on linux 17001 https://bugs.webkit.org/show_bug.cgi?id=53051 17002 17003 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 17004 (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries. 17005 (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed. 17006 * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string. 17007 17008 2011-01-25 Steve Falkenburg <sfalken (a] apple.com> 17009 17010 Rubber-stamped by Adam Roben. 17011 17012 Windows production build fix. 17013 Use correct environment variable escaping 17014 17015 * WebCore.vcproj/WebCore.make: 17016 17017 2011-01-25 Adam Barth <abarth (a] webkit.org> 17018 17019 Reviewed by Eric Seidel. 17020 17021 Empty URLs are never display isolated 17022 https://bugs.webkit.org/show_bug.cgi?id=53053 17023 17024 This check mirrors the check in the local case. There isn't a good way 17025 to test this with a LayoutTest, but it is tested in Chromium (where 17026 this registry is used). 17027 17028 * platform/SchemeRegistry.cpp: 17029 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated): 17030 17031 2011-01-25 Sam Weinig <sam (a] webkit.org> 17032 17033 Reviewed by Anders Carlsson. 17034 17035 Pipe a timestamp down into the PlatformWheelEvent for the Mac. 17036 https://bugs.webkit.org/show_bug.cgi?id=53111 17037 17038 * platform/PlatformWheelEvent.h: 17039 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 17040 (WebCore::PlatformWheelEvent::timestamp): 17041 Add timestamp member. 17042 17043 * platform/mac/WheelEventMac.mm: 17044 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 17045 Initialize the timestamp from the event. 17046 17047 2011-01-25 Sheriff Bot <webkit.review.bot (a] gmail.com> 17048 17049 Unreviewed, rolling out r76625. 17050 http://trac.webkit.org/changeset/76625 17051 https://bugs.webkit.org/show_bug.cgi?id=53119 17052 17053 "incorrect pixel test results" (Requested by rniwa on 17054 #webkit). 17055 17056 * rendering/RenderBox.cpp: 17057 (WebCore::RenderBox::localCaretRect): 17058 17059 2011-01-25 Patrick Gansterer <paroga (a] webkit.org> 17060 17061 Unreviewed WinCE build fix for r76614. 17062 17063 * platform/FileSystem.h: 17064 17065 2011-01-21 Levi Weintraub <leviw (a] chromium.org> 17066 17067 Reviewed by Darin Adler. 17068 17069 Adding border and padding to the calculation of the local caret rect for RenderBoxes. 17070 17071 Undo moves caret to invalid position 17072 https://bugs.webkit.org/show_bug.cgi?id=49744 17073 17074 Tests: editing/selection/caret-painting-after-paste-undo-rtl.html 17075 editing/selection/caret-painting-after-paste-undo.html 17076 17077 * rendering/RenderBox.cpp: 17078 (WebCore::RenderBox::localCaretRect): 17079 17080 2011-01-25 Sam Weinig <sam (a] webkit.org> 17081 17082 Reviewed by Anders Carlsson. 17083 17084 Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac. 17085 https://bugs.webkit.org/show_bug.cgi?id=53107 17086 17087 * platform/PlatformWheelEvent.h: 17088 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 17089 (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas): 17090 * platform/mac/WheelEventMac.mm: 17091 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 17092 17093 2011-01-20 Jer Noble <jer.noble (a] apple.com> 17094 17095 Reviewed by Eric Carlson. 17096 17097 REGRESSION (r72119): Audio never plays on Star Wars intro animation 17098 https://bugs.webkit.org/show_bug.cgi?id=52467 17099 17100 QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime 17101 type which it supports, though it handles .m4a files just fine. Change the way 17102 we build the list of supported MIME Types through a new WebKitSystemInterface 17103 function. 17104 17105 Caused by r72119, which adds system-specific extension->MIME entries to the cache 17106 before global entries, and the system-specific entries include QuickTime's registry 17107 entries which contain the audio/m4a MIME type, while its components do not. 17108 17109 Test: media/audio-mpeg4-supported.html 17110 17111 * WebCore.vcproj/QTMovieWinCommon.vsprops: 17112 * platform/graphics/win/QTMovie.cpp: 17113 (getMIMETypeCallBack): 17114 (initializeSupportedTypes): 17115 (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef. 17116 (QTMovie::getSupportedType): Ditto. 17117 17118 2011-01-25 Hans Wennborg <hans (a] chromium.org> 17119 17120 Reviewed by Jeremy Orlow. 17121 17122 IndexedDB: Remove PlatformBridge::idbShutdown() 17123 https://bugs.webkit.org/show_bug.cgi?id=53077 17124 17125 Since Chromium r72157, this is not used anymore. The previous use was 17126 to signal to the embedder that IndexedDB was shutting down, but we 17127 agreed it is better if the embedder keeps track of that itself. 17128 17129 No new tests: this does not change any functionality. 17130 17131 * platform/chromium/PlatformBridge.h: 17132 * storage/IDBFactoryBackendInterface.cpp: 17133 * storage/IDBFactoryBackendInterface.h: 17134 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): 17135 * storage/chromium/IDBFactoryBackendInterface.cpp: 17136 17137 2011-01-25 Darin Adler <darin (a] apple.com> 17138 17139 Reviewed by Anders Carlsson. 17140 17141 WebKit is using CSBackupSetItemExcluded incorrectly 17142 https://bugs.webkit.org/show_bug.cgi?id=53095 17143 rdar://problem/8790540 17144 17145 * loader/icon/IconDatabase.cpp: 17146 (WebCore::IconDatabase::performOpenInitialization): Added code to 17147 exclude the database from backup one time, and record inside the 17148 database that this has been done. 17149 (WebCore::IconDatabase::wasExcludedFromBackup): Added. 17150 (WebCore::IconDatabase::setWasExcludedFromBackup): Added. 17151 * loader/icon/IconDatabase.h: Added new functions above. 17152 17153 * platform/FileSystem.cpp: 17154 (WebCore::canExcludeFromBackup): Added. 17155 (WebCore::excludeFromBackup): Added. 17156 17157 * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup, 17158 and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted 17159 things alphabetically, particularly platform-specific sections. 17160 17161 * platform/cf/FileSystemCF.cpp: 17162 (WebCore::pathAsURL): Added. 17163 17164 * platform/mac/FileSystemMac.mm: 17165 (WebCore::canExcludeFromBackup): Added. 17166 (WebCore::excludeFromBackup): Added. 17167 17168 * platform/network/cf/FormDataStreamCFNet.cpp: 17169 (WebCore::advanceCurrentStream): Changed to call pathAsURL. 17170 * platform/network/mac/FormDataStreamMac.mm: 17171 (WebCore::advanceCurrentStream): Ditto. 17172 17173 2011-01-25 Helder Correia <helder (a] sencha.com> 17174 17175 Reviewed by Dirk Schulze. 17176 17177 REGRESSION(75139): SVG gradients are not applied to texts 17178 https://bugs.webkit.org/show_bug.cgi?id=52531 17179 17180 CGContextConcatCTM should use the CGLayer context, not the 17181 GraphicsContext. Also, the CTM needs to be adjusted (translated). 17182 This fixes SVG text gradient fill. 17183 17184 Test: svg/css/composite-shadow-text.svg 17185 17186 * platform/graphics/cg/GraphicsContextCG.cpp: 17187 (WebCore::GraphicsContext::fillRect): 17188 17189 2011-01-25 Benjamin Kalman <kalman (a] chromium.org> 17190 17191 Reviewed by Ryosuke Niwa. 17192 17193 Cannot extend or modify forward by word over a non-contenteditable region 17194 https://bugs.webkit.org/show_bug.cgi?id=53070 17195 17196 Test: editing/selection/extend-forward-by-word-over-non-editable.html 17197 17198 Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the 17199 functions which determine the end/start of words/lines/sentences in visible_units.cpp. 17200 17201 This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor 17202 inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore. 17203 The cursor is now moved to the end of the region (which is effectively a noop in this case). 17204 17205 * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to 17206 honorEditableBoundaryAtOrBefore and vice versa. 17207 (WebCore::previousWordPosition): 17208 (WebCore::nextWordPosition): 17209 (WebCore::startOfLine): 17210 (WebCore::endOfLine): 17211 (WebCore::previousSentencePosition): 17212 (WebCore::nextSentencePosition): 17213 (WebCore::logicalStartOfLine): 17214 (WebCore::logicalEndOfLine): 17215 17216 2011-01-25 Yael Aharon <yael.aharon (a] nokia.com> 17217 17218 Unreviewed build fix. 17219 After r76466, efsrv.lib is used unconditionally. 17220 Don't guard it with ENABLE_NETSCAPE_PLUGIN_API. 17221 17222 * WebCore.pro: 17223 17224 2011-01-24 Zhenyao Mo <zmo (a] google.com> 17225 17226 Reviewed by Kenneth Russell. 17227 17228 Style cleanup for WebGLRenderingContext 17229 https://bugs.webkit.org/show_bug.cgi?id=52352 17230 17231 * html/canvas/WebGLBuffer.cpp: 17232 * html/canvas/WebGLBuffer.h: 17233 * html/canvas/WebGLObject.cpp: 17234 * html/canvas/WebGLProgram.cpp: 17235 * html/canvas/WebGLRenderbuffer.cpp: 17236 * html/canvas/WebGLRenderingContext.cpp: 17237 (WebCore::WebGLRenderingContext::create): 17238 (WebCore::WebGLRenderingContext::blendFunc): 17239 (WebCore::WebGLRenderingContext::createShader): 17240 (WebCore::WebGLRenderingContext::deleteBuffer): 17241 (WebCore::WebGLRenderingContext::deleteShader): 17242 (WebCore::WebGLRenderingContext::deleteTexture): 17243 (WebCore::WebGLRenderingContext::disableVertexAttribArray): 17244 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): 17245 (WebCore::WebGLRenderingContext::validateRenderingState): 17246 (WebCore::WebGLRenderingContext::enableVertexAttribArray): 17247 (WebCore::WebGLRenderingContext::getUniform): 17248 (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): 17249 * html/canvas/WebGLRenderingContext.h: 17250 * html/canvas/WebGLShader.cpp: 17251 * html/canvas/WebGLTexture.cpp: 17252 * html/canvas/WebGLUniformLocation.cpp: 17253 * html/canvas/WebGLUniformLocation.h: 17254 17255 2011-01-24 Chris Marrin <cmarrin (a] apple.com> 17256 17257 Reviewed by Eric Seidel. 17258 17259 Change ENABLE_3D_CANVAS to ENABLE_WEBGL 17260 https://bugs.webkit.org/show_bug.cgi?id=53041 17261 17262 * Configurations/FeatureDefines.xcconfig: 17263 * DerivedSources.cpp: 17264 * GNUmakefile.am: 17265 * WebCore.pro: 17266 * bindings/generic/RuntimeEnabledFeatures.h: 17267 * bindings/js/JSArrayBufferCustom.cpp: 17268 * bindings/js/JSCanvasRenderingContextCustom.cpp: 17269 (WebCore::toJS): 17270 * bindings/js/JSDOMWindowCustom.cpp: 17271 * bindings/js/JSDataViewCustom.cpp: 17272 * bindings/js/JSDocumentCustom.cpp: 17273 * bindings/js/JSFloat32ArrayCustom.cpp: 17274 * bindings/js/JSHTMLCanvasElementCustom.cpp: 17275 (WebCore::JSHTMLCanvasElement::getContext): 17276 * bindings/js/JSInt16ArrayCustom.cpp: 17277 * bindings/js/JSInt32ArrayCustom.cpp: 17278 * bindings/js/JSInt8ArrayCustom.cpp: 17279 * bindings/js/JSUint16ArrayCustom.cpp: 17280 * bindings/js/JSUint32ArrayCustom.cpp: 17281 * bindings/js/JSUint8ArrayCustom.cpp: 17282 * bindings/js/JSWebGLRenderingContextCustom.cpp: 17283 * bindings/js/JSXMLHttpRequestCustom.cpp: 17284 (WebCore::JSXMLHttpRequest::markChildren): 17285 (WebCore::JSXMLHttpRequest::send): 17286 (WebCore::JSXMLHttpRequest::response): 17287 * bindings/v8/custom/V8ArrayBufferCustom.cpp: 17288 * bindings/v8/custom/V8ArrayBufferViewCustom.h: 17289 * bindings/v8/custom/V8DataViewCustom.cpp: 17290 * bindings/v8/custom/V8DocumentCustom.cpp: 17291 (WebCore::V8Document::getCSSCanvasContextCallback): 17292 * bindings/v8/custom/V8Float32ArrayCustom.cpp: 17293 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 17294 (WebCore::V8HTMLCanvasElement::getContextCallback): 17295 * bindings/v8/custom/V8Int16ArrayCustom.cpp: 17296 * bindings/v8/custom/V8Int32ArrayCustom.cpp: 17297 * bindings/v8/custom/V8Int8ArrayCustom.cpp: 17298 * bindings/v8/custom/V8Uint16ArrayCustom.cpp: 17299 * bindings/v8/custom/V8Uint32ArrayCustom.cpp: 17300 * bindings/v8/custom/V8Uint8ArrayCustom.cpp: 17301 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 17302 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 17303 (WebCore::V8XMLHttpRequest::responseAccessorGetter): 17304 (WebCore::V8XMLHttpRequest::sendCallback): 17305 * features.pri: 17306 * html/HTMLCanvasElement.cpp: 17307 (WebCore::HTMLCanvasElement::getContext): 17308 (WebCore::HTMLCanvasElement::reset): 17309 * html/HTMLCanvasElement.h: 17310 * html/canvas/ArrayBuffer.cpp: 17311 * html/canvas/ArrayBuffer.idl: 17312 * html/canvas/ArrayBufferView.cpp: 17313 * html/canvas/ArrayBufferView.idl: 17314 * html/canvas/DataView.cpp: 17315 * html/canvas/DataView.idl: 17316 * html/canvas/Float32Array.cpp: 17317 * html/canvas/Float32Array.idl: 17318 * html/canvas/Int16Array.cpp: 17319 * html/canvas/Int16Array.idl: 17320 * html/canvas/Int32Array.cpp: 17321 * html/canvas/Int32Array.idl: 17322 * html/canvas/Int8Array.cpp: 17323 * html/canvas/Int8Array.idl: 17324 * html/canvas/OESStandardDerivatives.cpp: 17325 * html/canvas/OESStandardDerivatives.idl: 17326 * html/canvas/OESTextureFloat.cpp: 17327 * html/canvas/OESTextureFloat.idl: 17328 * html/canvas/Uint16Array.cpp: 17329 * html/canvas/Uint16Array.idl: 17330 * html/canvas/Uint32Array.cpp: 17331 * html/canvas/Uint32Array.idl: 17332 * html/canvas/Uint8Array.cpp: 17333 * html/canvas/Uint8Array.idl: 17334 * html/canvas/WebGLActiveInfo.idl: 17335 * html/canvas/WebGLBuffer.cpp: 17336 * html/canvas/WebGLBuffer.idl: 17337 * html/canvas/WebGLContextAttributes.cpp: 17338 * html/canvas/WebGLContextAttributes.idl: 17339 * html/canvas/WebGLContextEvent.idl: 17340 * html/canvas/WebGLExtension.cpp: 17341 * html/canvas/WebGLFramebuffer.cpp: 17342 * html/canvas/WebGLFramebuffer.idl: 17343 * html/canvas/WebGLGetInfo.cpp: 17344 * html/canvas/WebGLObject.cpp: 17345 * html/canvas/WebGLProgram.cpp: 17346 * html/canvas/WebGLProgram.idl: 17347 * html/canvas/WebGLRenderbuffer.cpp: 17348 * html/canvas/WebGLRenderbuffer.idl: 17349 * html/canvas/WebGLRenderingContext.cpp: 17350 * html/canvas/WebGLRenderingContext.idl: 17351 * html/canvas/WebGLShader.cpp: 17352 * html/canvas/WebGLShader.idl: 17353 * html/canvas/WebGLTexture.cpp: 17354 * html/canvas/WebGLTexture.idl: 17355 * html/canvas/WebGLUniformLocation.cpp: 17356 * html/canvas/WebGLUniformLocation.idl: 17357 * html/canvas/WebKitLoseContext.cpp: 17358 * html/canvas/WebKitLoseContext.idl: 17359 * page/DOMWindow.idl: 17360 * platform/graphics/ANGLEWebKitBridge.cpp: 17361 * platform/graphics/GraphicsContext3D.cpp: 17362 * platform/graphics/cg/GraphicsContext3DCG.cpp: 17363 * platform/graphics/gpu/DrawingBuffer.cpp: 17364 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 17365 * platform/graphics/mac/GraphicsContext3DMac.mm: 17366 * platform/graphics/mac/WebGLLayer.mm: 17367 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 17368 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 17369 * platform/graphics/qt/Extensions3DQt.cpp: 17370 * platform/graphics/qt/GraphicsContext3DQt.cpp: 17371 * platform/graphics/qt/GraphicsLayerQt.cpp: 17372 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 17373 (WebCore::GraphicsLayerQtImpl::paint): 17374 (WebCore::GraphicsLayerQtImpl::flushChanges): 17375 * platform/graphics/qt/GraphicsLayerQt.h: 17376 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 17377 * platform/graphics/texmap/GraphicsLayerTextureMapper.h: 17378 * rendering/RenderLayerBacking.cpp: 17379 (WebCore::isAcceleratedCanvas): 17380 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 17381 (WebCore::RenderLayerBacking::containsPaintedContent): 17382 (WebCore::RenderLayerBacking::contentChanged): 17383 * webaudio/AudioBuffer.cpp: 17384 * webaudio/AudioBuffer.idl: 17385 * webaudio/RealtimeAnalyser.cpp: 17386 * webaudio/RealtimeAnalyser.h: 17387 * webaudio/RealtimeAnalyserNode.h: 17388 * webaudio/RealtimeAnalyserNode.idl: 17389 * xml/XMLHttpRequest.cpp: 17390 (WebCore::XMLHttpRequest::setResponseType): 17391 (WebCore::XMLHttpRequest::clearResponse): 17392 (WebCore::XMLHttpRequest::didReceiveData): 17393 * xml/XMLHttpRequest.h: 17394 17395 2011-01-25 Mikhail Naganov <mnaganov (a] chromium.org> 17396 17397 Reviewed by Pavel Feldman. 17398 17399 Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots. 17400 17401 - Introduce Preferences.detailedHeapProfiles flag for controlling 17402 querying of detailed heap snapshots. 17403 - Add boilerplate code for the new view. 17404 - Factor out common code. 17405 17406 https://bugs.webkit.org/show_bug.cgi?id=52624 17407 17408 * WebCore.gypi: 17409 * WebCore.vcproj/WebCore.vcproj: 17410 * bindings/js/ScriptProfiler.h: 17411 (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl): 17412 (WebCore::ScriptProfiler::takeHeapSnapshot): 17413 * bindings/v8/ScriptProfiler.cpp: 17414 (WebCore::ScriptProfiler::takeHeapSnapshot): 17415 * bindings/v8/ScriptProfiler.h: 17416 (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl): 17417 * inspector/Inspector.idl: 17418 * inspector/InspectorProfilerAgent.cpp: 17419 (WebCore::InspectorProfilerAgent::takeHeapSnapshot): 17420 * inspector/InspectorProfilerAgent.h: 17421 * inspector/front-end/DetailedHeapshotView.js: Added. 17422 (WebInspector.DetailedHeapshotView): 17423 (WebInspector.DetailedHeapshotView.prototype.get statusBarItems): 17424 (WebInspector.DetailedHeapshotView.prototype.get profile): 17425 (WebInspector.DetailedHeapshotView.prototype.set profile): 17426 (WebInspector.DetailedHeapshotView.prototype.show): 17427 (WebInspector.DetailedHeapshotView.prototype.hide): 17428 (WebInspector.DetailedHeapshotProfileType): 17429 (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip): 17430 (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle): 17431 (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked): 17432 (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage): 17433 (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile): 17434 (WebInspector.DetailedHeapshotProfileType.prototype.createView): 17435 * inspector/front-end/HeapSnapshot.js: Added. 17436 (WebInspector.HeapSnapshotEdgesIterator): 17437 (WebInspector.HeapSnapshotEdgesIterator.prototype.get done): 17438 (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement): 17439 (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden): 17440 (WebInspector.HeapSnapshotEdgesIterator.prototype.get name): 17441 (WebInspector.HeapSnapshotEdgesIterator.prototype.next): 17442 (WebInspector.HeapSnapshotEdgesIterator.prototype.get node): 17443 (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex): 17444 (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex): 17445 (WebInspector.HeapSnapshotEdgesIterator.prototype._getType): 17446 (WebInspector.HeapSnapshotNodeWrapper): 17447 (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges): 17448 (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount): 17449 (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount): 17450 (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden): 17451 (WebInspector.HeapSnapshotNodeWrapper.prototype.get name): 17452 (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize): 17453 (WebInspector.HeapSnapshotNodeWrapper.prototype._getName): 17454 (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges): 17455 (WebInspector.HeapSnapshotNodeWrapper.prototype._getType): 17456 (WebInspector.HeapSnapshot): 17457 (WebInspector.HeapSnapshot.prototype._init): 17458 (WebInspector.HeapSnapshot.prototype.get rootEdges): 17459 * inspector/front-end/HeapSnapshotView.js: 17460 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked): 17461 * inspector/front-end/ProfilesPanel.js: 17462 (WebInspector.ProfilesPanel.prototype._setRecordingProfile): 17463 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): 17464 (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile): 17465 (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress): 17466 * inspector/front-end/Settings.js: 17467 * inspector/front-end/WebKit.qrc: 17468 * inspector/front-end/inspector.html: 17469 * inspector/front-end/inspector.js: 17470 (WebInspector._createPanels): 17471 17472 2011-01-25 Yury Semikhatsky <yurys (a] chromium.org> 17473 17474 Reviewed by Pavel Feldman. 17475 17476 Web Inspector: remove "attached" state related methods from InspectorAgent 17477 https://bugs.webkit.org/show_bug.cgi?id=53086 17478 17479 * WebCore.exp.in: 17480 * inspector/InspectorAgent.cpp: 17481 * inspector/InspectorAgent.h: 17482 * inspector/InspectorFrontendClientLocal.cpp: 17483 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): 17484 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): 17485 * inspector/InspectorSettings.cpp: 17486 (WebCore::InspectorSettings::InspectorSettings): 17487 * inspector/InspectorSettings.h: 17488 17489 2011-01-25 Qi Zhang <qi.2.zhang (a] nokia.com> 17490 17491 Reviewed by Laszlo Gombos. 17492 17493 [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h 17494 https://bugs.webkit.org/show_bug.cgi?id=51873 17495 17496 Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue. 17497 No new functionality so no new tests. 17498 17499 * html/canvas/Int32Array.h: 17500 (WebCore::Int32Array::set): 17501 * html/canvas/Int8Array.h: 17502 (WebCore::Int8Array::set): 17503 * html/canvas/Uint16Array.h: 17504 (WebCore::Uint16Array::set): 17505 * html/canvas/Uint32Array.h: 17506 (WebCore::Uint32Array::set): 17507 * html/canvas/Uint8Array.h: 17508 (WebCore::Uint8Array::set): 17509 17510 2011-01-25 Zoltan Herczeg <zherczeg (a] webkit.org> 17511 17512 Reviewed by Dirk Schulze. 17513 17514 Repaint SVG elements with filter instead of relayout where possible 17515 https://bugs.webkit.org/show_bug.cgi?id=52200 17516 17517 This patch allows repainting of filters, when their 17518 attribute changes does not require relayout. 17519 17520 Existing dynamic-update tests cover this feature. 17521 17522 * platform/graphics/filters/FilterEffect.cpp: 17523 (WebCore::FilterEffect::clearResult): Clearing the currently stored image 17524 before repainting. 17525 * platform/graphics/filters/FilterEffect.h: 17526 * rendering/RenderObject.h: 17527 (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives, 17528 but filters should also be detected to allow safe testing and casting. 17529 * rendering/svg/RenderSVGResourceFilter.cpp: 17530 (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer. 17531 (WebCore::RenderSVGResourceFilter::applyResource): 17532 determineFilterPrimitiveSubregion does not require the filter anymore. 17533 (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint 17534 if lastEffect->hasResult() is false. 17535 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): 17536 Searching for all FilterEffects, whose created by the current FilterElement, 17537 and clearing all resulting images depending on those FilterEffects. 17538 * rendering/svg/RenderSVGResourceFilter.h: 17539 (WebCore::RenderSVGResourceFilter::isSVGResourceFilter): 17540 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: 17541 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): 17542 The filter argument is unnecessary anymore. But is is still kept as a static 17543 member, since the primitive renderer still does not know about the 17544 FilterEffect objects. 17545 * rendering/svg/RenderSVGResourceFilterPrimitive.h: 17546 (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): 17547 (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged): 17548 Calls RenderSVGResourceFilter::primitiveAttributeChanged. 17549 * svg/SVGFEDiffuseLightingElement.cpp: 17550 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 17551 Setting the new attribute value for each FilterEffect. 17552 (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): 17553 * svg/SVGFEDiffuseLightingElement.h: 17554 Calling primitiveAttributeChanged. 17555 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 17556 (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): 17557 This function will be removed when all FilterElement implements 17558 their setFilterEffectAttribute 17559 * svg/SVGFilterPrimitiveStandardAttributes.h: 17560 (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged): 17561 * svg/graphics/filters/SVGFilterBuilder.cpp: 17562 (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The 17563 renderers are assigned to the filter effects. 17564 (WebCore::SVGFilterBuilder::clearEffects): 17565 (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively 17566 clearing the result images for those filters, whose depend on 17567 the starting filter. 17568 * svg/graphics/filters/SVGFilterBuilder.h: 17569 (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary 17570 (WebCore::SVGFilterBuilder::effectByRenderer): returns the 17571 FilterEffect belongs to this RenderObject. 17572 17573 2011-01-25 Dirk Schulze <krit (a] webkit.org> 17574 17575 Reviewed by Nikolas Zimmermann. 17576 17577 SVG is missing to-animation support for Path 17578 https://bugs.webkit.org/show_bug.cgi?id=52982 17579 17580 SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete 17581 animation did not work and an assert was thrown, because of the missing m_fromPath. 17582 This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now. 17583 17584 Test: svg/animations/animate-path-to-animation.html 17585 17586 * svg/SVGAnimateElement.cpp: 17587 (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for 17588 m_fromPath, since 'to' animations are accumulative. 17589 (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations. 17590 (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal. 17591 * svg/SVGPathByteStream.h: 17592 (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream. 17593 17594 2011-01-25 Pavel Feldman <pfeldman (a] chromium.org> 17595 17596 Reviewed by Yury Semikhatsky. 17597 17598 Web Inspector: bind resources to URLs upon adding them into the tree. 17599 https://bugs.webkit.org/show_bug.cgi?id=53013 17600 17601 * inspector/front-end/AuditRules.js: 17602 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 17603 * inspector/front-end/CSSStyleModel.js: 17604 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 17605 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 17606 * inspector/front-end/DebuggerModel.js: 17607 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 17608 * inspector/front-end/NetworkManager.js: 17609 (WebInspector.NetworkManager.prototype._processCachedResources): 17610 (WebInspector.NetworkManager.prototype.inflightResourceForURL): 17611 (WebInspector.NetworkDispatcher): 17612 (WebInspector.NetworkDispatcher.prototype.willSendRequest): 17613 (WebInspector.NetworkDispatcher.prototype.markResourceAsCached): 17614 (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): 17615 (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength): 17616 (WebInspector.NetworkDispatcher.prototype.didFinishLoading): 17617 (WebInspector.NetworkDispatcher.prototype.didFailLoading): 17618 (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest): 17619 (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse): 17620 (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket): 17621 (WebInspector.NetworkDispatcher.prototype._appendRedirect): 17622 (WebInspector.NetworkDispatcher.prototype._startResource): 17623 (WebInspector.NetworkDispatcher.prototype._finishResource): 17624 (WebInspector.NetworkDispatcher.prototype._createResource): 17625 * inspector/front-end/ResourceTreeModel.js: 17626 (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): 17627 (WebInspector.ResourceTreeModel.prototype._bindResourceURL): 17628 (WebInspector.ResourceTreeModel.prototype._clearResources): 17629 (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): 17630 * inspector/front-end/ResourcesPanel.js: 17631 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 17632 (WebInspector.ResourcesPanel.prototype.showSourceLine): 17633 * inspector/front-end/ScriptsPanel.js: 17634 (WebInspector.ScriptsPanel.prototype._parsedScriptSource): 17635 (WebInspector.ScriptsPanel.prototype._addScript): 17636 17637 2011-01-25 Nikolas Zimmermann <nzimmermann (a] rim.com> 17638 17639 Reviewed by Dirk Schulze. 17640 17641 Introduce FontMetrics abstraction 17642 https://bugs.webkit.org/show_bug.cgi?id=51456 17643 17644 Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer. 17645 This hopefully fixes differences between 32/64 bit bots. 17646 17647 Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards. 17648 17649 * platform/graphics/SimpleFontData.cpp: 17650 (WebCore::SimpleFontData::SimpleFontData): 17651 (WebCore::SimpleFontData::initCharWidths): 17652 17653 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 17654 17655 Reviewed by Pavel Feldman. 17656 17657 Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently. 17658 https://bugs.webkit.org/show_bug.cgi?id=52999 17659 17660 * inspector/Inspector.idl: 17661 * inspector/InspectorAgent.cpp: 17662 (WebCore::InspectorAgent::didCommitLoad): 17663 (WebCore::InspectorAgent::enableDebugger): 17664 (WebCore::InspectorAgent::inspectedURLWithoutFragment): 17665 * inspector/InspectorAgent.h: 17666 * inspector/InspectorBrowserDebuggerAgent.cpp: 17667 (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): 17668 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 17669 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 17670 * inspector/InspectorBrowserDebuggerAgent.h: 17671 * inspector/InspectorDebuggerAgent.cpp: 17672 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 17673 (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints): 17674 (WebCore::InspectorDebuggerAgent::inspectedURLChanged): 17675 (WebCore::InspectorDebuggerAgent::restoreBreakpoints): 17676 * inspector/InspectorDebuggerAgent.h: 17677 * inspector/InspectorState.cpp: 17678 (WebCore::InspectorState::InspectorState): 17679 * inspector/InspectorState.h: 17680 * inspector/front-end/BreakpointManager.js: 17681 (WebInspector.BreakpointManager): 17682 (WebInspector.BreakpointManager.prototype._projectChanged): 17683 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 17684 (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend): 17685 17686 2011-01-25 Carlos Garcia Campos <cgarcia (a] igalia.com> 17687 17688 Reviewed by Martin Robinson. 17689 17690 [GTK] Crash in some pages containing flash 17691 https://bugs.webkit.org/show_bug.cgi?id=53016 17692 17693 Flash plugin can produce X errors that are handled by the GDK X 17694 error handler, which exits the process. Since we don't want to 17695 crash due to flash bugs, we install a custom error handler to show 17696 a warning when a X error happens without aborting. 17697 17698 * plugins/gtk/PluginPackageGtk.cpp: 17699 (WebCore::webkitgtkXError): 17700 (WebCore::PluginPackage::load): 17701 17702 2011-01-25 Carlos Garcia Campos <cgarcia (a] igalia.com> 17703 17704 Reviewed by Martin Robinson. 17705 17706 [GTK] Implement spin buttons in RenderThemeGtk 17707 https://bugs.webkit.org/show_bug.cgi?id=51454 17708 17709 Paint inner up/down buttons for spin button elements when building 17710 with GTK+ 3.x. 17711 17712 Test results will land with the GTK+ 2.x version of this patch. 17713 17714 * platform/gtk/RenderThemeGtk.h: 17715 * platform/gtk/RenderThemeGtk2.cpp: 17716 (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): 17717 (WebCore::RenderThemeGtk::paintInnerSpinButton): 17718 * platform/gtk/RenderThemeGtk3.cpp: 17719 (WebCore::spinButtonArrowSize): 17720 (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): 17721 (WebCore::paintSpinArrowButton): 17722 (WebCore::RenderThemeGtk::paintInnerSpinButton): 17723 17724 2011-01-24 Mihai Parparita <mihaip (a] chromium.org> 17725 17726 Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block 17727 in r76575. 17728 17729 * loader/cache/CachedResource.cpp: 17730 (WebCore::CachedResource::~CachedResource): 17731 17732 2011-01-24 Mihai Parparita <mihaip (a] chromium.org> 17733 17734 Reviewed by Tony Chang. 17735 17736 Add runtime checks for invariants in memory cache 17737 https://bugs.webkit.org/show_bug.cgi?id=53059 17738 17739 To help track down bug 53045, add some CRASH calls in addition to 17740 ASSERTs, so that we can track down failures in reliability bots. 17741 17742 Just some checks, no new tests necessary. 17743 17744 * css/CSSImageValue.cpp: 17745 (WebCore::CSSImageValue::cachedImage): 17746 * loader/cache/CachedResource.h: 17747 * loader/cache/CachedResource.cpp: 17748 (WebCore::CachedResource::~CachedResource): 17749 17750 2011-01-24 Simon Fraser <simon.fraser (a] apple.com> 17751 17752 Reviewed by Dan Bernstein. 17753 17754 Leaking CSSRuleDataList objects 17755 https://bugs.webkit.org/show_bug.cgi?id=53062 17756 17757 Fix leaked CSSRuleDataLists added to the m_pseudoRules hash. 17758 17759 * css/CSSStyleSelector.cpp: 17760 (WebCore::CSSRuleSet::~CSSRuleSet): 17761 17762 2011-01-24 Simon Fraser <simon.fraser (a] apple.com> 17763 17764 Reviewed by Eric Seidel. 17765 17766 Refcount Images used in rendering code 17767 https://bugs.webkit.org/show_bug.cgi?id=52701 17768 17769 Change StyleImage::image(RenderObject*, const IntSize&) and 17770 CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to 17771 return PassRefPtr<Image>, and adjust other code accordingly. 17772 17773 This allows us to return one-time images, for example for CSS gradients 17774 whose appearance may change depending on factors other than the renderer 17775 and the destination size. 17776 17777 * css/CSSCanvasValue.cpp: 17778 (WebCore::CSSCanvasValue::image): 17779 * css/CSSCanvasValue.h: 17780 * css/CSSGradientValue.cpp: 17781 (WebCore::CSSGradientValue::image): 17782 * css/CSSGradientValue.h: 17783 * css/CSSImageGeneratorValue.h: 17784 * rendering/RenderBoxModelObject.cpp: 17785 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 17786 (WebCore::RenderBoxModelObject::paintNinePieceImage): 17787 * rendering/RenderImage.cpp: 17788 (WebCore::RenderImage::paintReplaced): 17789 (WebCore::RenderImage::paintIntoRect): 17790 * rendering/RenderImageResource.h: 17791 (WebCore::RenderImageResource::image): 17792 * rendering/RenderImageResourceStyleImage.h: 17793 (WebCore::RenderImageResourceStyleImage::image): 17794 * rendering/RenderListMarker.cpp: 17795 (WebCore::RenderListMarker::paint): 17796 * rendering/style/StyleCachedImage.cpp: 17797 (WebCore::StyleCachedImage::image): 17798 * rendering/style/StyleCachedImage.h: 17799 * rendering/style/StyleGeneratedImage.cpp: 17800 (WebCore::StyleGeneratedImage::image): 17801 * rendering/style/StyleGeneratedImage.h: 17802 * rendering/style/StyleImage.h: 17803 * rendering/style/StylePendingImage.h: 17804 (WebCore::StylePendingImage::image): 17805 * rendering/svg/RenderSVGImage.cpp: 17806 (WebCore::RenderSVGImage::paint): 17807 17808 2011-01-24 Tony Chang <tony (a] chromium.org> 17809 17810 Unreviewed, round ascent and descent to match old code. 17811 17812 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 17813 (WebCore::SimpleFontData::platformInit): 17814 17815 2011-01-24 Simon Fraser <simon.fraser (a] apple.com> 17816 17817 Reviewed by Chris Marrin. 17818 17819 perspective() transform function should take lengths 17820 https://bugs.webkit.org/show_bug.cgi?id=52683 17821 17822 The argument to the perspective() transform function should 17823 be a Length, rather than a bare number. Bare numbers are still 17824 accepted (and treated as px), but this behavior is deprecated. 17825 17826 Test: animations/3d/transform-perspective.html 17827 transforms/3d/general/3dtransform-values.html 17828 17829 * css/CSSParser.cpp: 17830 (WebCore::CSSParser::parseTransform): Check the units for the perspective() 17831 function. Allow bare numbers for backwards compatibility. 17832 * css/CSSStyleSelector.cpp: 17833 (WebCore::CSSStyleSelector::createTransformOperations): Convert 17834 value to Length. 17835 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: 17836 (WebCore::clampToPostiveInteger): Helper. 17837 (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths. 17838 * platform/graphics/transforms/PerspectiveTransformOperation.h: 17839 (WebCore::PerspectiveTransformOperation::create): double -> Length. 17840 (WebCore::PerspectiveTransformOperation::perspective): Ditto. 17841 (WebCore::PerspectiveTransformOperation::isIdentity): Ditto. 17842 (WebCore::PerspectiveTransformOperation::apply): Ditto. 17843 (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert 17844 that the Length is a fixed type. 17845 17846 2011-01-24 Kent Tamura <tkent (a] chromium.org> 17847 17848 Reviewed by Dimitri Glazkov. 17849 17850 [Windows] Textfield <input>s have different widths. 17851 https://bugs.webkit.org/show_bug.cgi?id=48405 17852 17853 - Apply the padding override for type=text to other textfield types too. 17854 - Reset margin value of outer spin button, which is not used in Windows. 17855 - Don't add inner spin button width to the preferred text field width. 17856 Text fields should have the identical widths regardless of the 17857 existence of spin buttons. 17858 17859 Test: fast/forms/input-widths.html 17860 17861 * css/themeWin.css: 17862 (input[type="week"]): 17863 (input[type="week"]:disabled): 17864 (input[type="search"]::-webkit-search-cancel-button): 17865 (input::-webkit-outer-spin-button): 17866 * rendering/RenderTextControlSingleLine.cpp: 17867 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 17868 Don't add inner spin button width to the preferred width. 17869 17870 2011-01-24 Kent Tamura <tkent (a] chromium.org> 17871 17872 Reviewed by Dimitri Glazkov. 17873 17874 Some bugs of search cancel button and spin button about state change in 17875 an event handler. 17876 https://bugs.webkit.org/show_bug.cgi?id=46950 17877 17878 Fix the following problems: 17879 * Type=search field didn't release event capturing 17880 * Assertion failure when an input field with spin buttons was changed 17881 to another type on focus event. 17882 * A input field with spin button didn't release event capturing when it 17883 was changed to another type on focus event. 17884 17885 Tests: fast/forms/input-number-change-type-on-focus.html 17886 fast/forms/search-hide-cancel-on-cancel.html 17887 17888 * rendering/TextControlInnerElements.cpp: 17889 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): 17890 - Make the variable 'input' RefPtr. It makes the code simpler. 17891 - Remove visibility check on mouseup event. We should release capturing 17892 anyway because the cancel button may be invisible if JavaScript code 17893 called by the focus event removes the input value. 17894 (WebCore::SpinButtonElement::detach): 17895 - Release capturing on detach because it is possible that a spin button 17896 node is detached while it is capturing events. 17897 (WebCore::SpinButtonElement::defaultEventHandler): 17898 Take a reference to this and check renderer() after some functions which 17899 may run JavaScript code. 17900 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 17901 Make the variable 'input' RefPtr to align other functions in this file. 17902 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto. 17903 * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach(). 17904 17905 2011-01-24 Ryosuke Niwa <rniwa (a] webkit.org> 17906 17907 Reviewed by Ojan Vafai. 17908 17909 Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace. 17910 https://bugs.webkit.org/show_bug.cgi?id=52781 17911 17912 The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph 17913 and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and 17914 non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed. 17915 17916 Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace 17917 multiple times but instead it traverses through the string and replaces a space that immediately follows 17918 another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space. 17919 17920 * editing/CompositeEditCommand.cpp: 17921 * editing/htmlediting.cpp: 17922 (WebCore::stringWithRebalancedWhitespace): Written. 17923 * editing/htmlediting.h: 17924 (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp 17925 17926 2011-01-24 Kenneth Russell <kbr (a] google.com> 17927 17928 Reviewed by James Robinson. 17929 17930 Web Audio API: port FFTFrame to FFTW 17931 https://bugs.webkit.org/show_bug.cgi?id=52989 17932 17933 Ported FFTFrame class to the open-source FFTW library. Tested with 17934 unit tests from Chris Rogers. Made preliminary changes to GYP 17935 files for conditional compilation of these files; will need to be 17936 adjusted once FFTW is integrated as third-party source. 17937 17938 * WebCore.gyp/WebCore.gyp: 17939 * WebCore.gypi: 17940 * platform/audio/FFTFrame.h: 17941 * platform/audio/fftw: Added. 17942 * platform/audio/fftw/FFTFrameFFTW.cpp: Added. 17943 (WebCore::FFTFrame::FFTFrame): 17944 (WebCore::FFTFrame::~FFTFrame): 17945 (WebCore::FFTFrame::multiply): 17946 (WebCore::FFTFrame::doFFT): 17947 (WebCore::FFTFrame::doInverseFFT): 17948 (WebCore::FFTFrame::cleanup): 17949 (WebCore::FFTFrame::realData): 17950 (WebCore::FFTFrame::imagData): 17951 (WebCore::FFTFrame::fftwPlanForSize): 17952 17953 2011-01-24 Anders Carlsson <andersca (a] apple.com> 17954 17955 Reviewed by Dan Bernstein. 17956 17957 Reset the page scale factor on standard frame loads 17958 https://bugs.webkit.org/show_bug.cgi?id=53058 17959 <rdar://problem/8908844> 17960 17961 Add a symbol needed by WebKit2. 17962 17963 * WebCore.exp.in: 17964 17965 2011-01-24 Ryosuke Niwa <rniwa (a] webkit.org> 17966 17967 Reviewed by Eric Seidel. 17968 17969 Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand, 17970 ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp 17971 https://bugs.webkit.org/show_bug.cgi?id=52676 17972 17973 Stop instantiating legacy editing positions in the following files. 17974 17975 * editing/InsertTextCommand.cpp: 17976 (WebCore::InsertTextCommand::prepareForTextInsertion): 17977 (WebCore::InsertTextCommand::performTrivialReplace): 17978 (WebCore::InsertTextCommand::input): 17979 (WebCore::InsertTextCommand::insertTab): 17980 * editing/MoveSelectionCommand.cpp: 17981 (WebCore::MoveSelectionCommand::doApply): 17982 * editing/ReplaceSelectionCommand.cpp: 17983 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): 17984 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): 17985 (WebCore::ReplaceSelectionCommand::doApply): 17986 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): 17987 (WebCore::ReplaceSelectionCommand::performTrivialReplace): 17988 * editing/SelectionController.cpp: 17989 (WebCore::SelectionController::setSelectionFromNone): 17990 * editing/SpellChecker.cpp: 17991 (WebCore::SpellChecker::didCheck): 17992 * editing/TypingCommand.cpp: 17993 (WebCore::TypingCommand::makeEditableRootEmpty): 17994 (WebCore::TypingCommand::deleteKeyPressed): 17995 (WebCore::TypingCommand::forwardDeleteKeyPressed): 17996 * editing/markup.cpp: 17997 (WebCore::StyledMarkupAccumulator::appendText): 17998 (WebCore::StyledMarkupAccumulator::serializeNodes): 17999 (WebCore::highestAncestorToWrapMarkup): 18000 (WebCore::createMarkup): 18001 18002 2011-01-24 Peter Kasting <pkasting (a] google.com> 18003 18004 Reviewed by Darin Adler. 18005 18006 Roll back r67261 ("Don't fire onclick on middle clicks") due to 18007 regressions. 18008 https://bugs.webkit.org/show_bug.cgi?id=46733 18009 18010 * html/HTMLAnchorElement.cpp: 18011 (WebCore::isLinkClick): 18012 * html/HTMLInputElement.cpp: 18013 (WebCore::HTMLInputElement::preDispatchEventHandler): 18014 (WebCore::HTMLInputElement::postDispatchEventHandler): 18015 (WebCore::HTMLInputElement::defaultEventHandler): 18016 * page/EventHandler.cpp: 18017 (WebCore::EventHandler::handleMouseDoubleClickEvent): 18018 (WebCore::EventHandler::handleMouseReleaseEvent): 18019 18020 2011-01-24 Martin Robinson <mrobinson (a] igalia.com> 18021 18022 Reviewed by Eric Seidel. 18023 18024 [GTK] Many DOM XHTML tests time out 18025 https://bugs.webkit.org/show_bug.cgi?id=52553 18026 18027 Properly handle the situation where a synchronous load fails before the inner 18028 event loop has started. In this case, we simply do not run the inner event loop, 18029 or else it will block indefinitely (since no GIO or libsoup callbacks will fire). 18030 18031 * platform/network/soup/ResourceHandleSoup.cpp: 18032 (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous 18033 load if it fails up front. 18034 18035 2011-01-24 Zhenyao Mo <zmo (a] google.com> 18036 18037 Reviewed by Eric Seidel. 18038 18039 Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext 18040 https://bugs.webkit.org/show_bug.cgi?id=52338 18041 18042 Removed the long/unsigned long types and corresponding get functions 18043 and use int/unsigned int instead. 18044 18045 * bindings/js/JSWebGLRenderingContextCustom.cpp: 18046 (WebCore::toJS): 18047 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 18048 (WebCore::toV8Object): 18049 * html/canvas/WebGLGetInfo.cpp: 18050 (WebCore::WebGLGetInfo::WebGLGetInfo): 18051 (WebCore::WebGLGetInfo::getInt): 18052 (WebCore::WebGLGetInfo::getUnsignedInt): 18053 * html/canvas/WebGLGetInfo.h: 18054 * html/canvas/WebGLRenderingContext.cpp: 18055 (WebCore::WebGLRenderingContext::getBufferParameter): 18056 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): 18057 (WebCore::WebGLRenderingContext::getParameter): 18058 (WebCore::WebGLRenderingContext::getProgramParameter): 18059 (WebCore::WebGLRenderingContext::getRenderbufferParameter): 18060 (WebCore::WebGLRenderingContext::getShaderParameter): 18061 (WebCore::WebGLRenderingContext::getTexParameter): 18062 (WebCore::WebGLRenderingContext::getUniform): 18063 (WebCore::WebGLRenderingContext::getVertexAttrib): 18064 (WebCore::WebGLRenderingContext::getIntParameter): 18065 (WebCore::WebGLRenderingContext::getUnsignedIntParameter): 18066 * html/canvas/WebGLRenderingContext.h: 18067 18068 2011-01-24 Zhenyao Mo <zmo (a] google.com> 18069 18070 Reviewed by Darin Adler. 18071 18072 Remove sizeInBytes from GraphicsContext3D's various implementations 18073 https://bugs.webkit.org/show_bug.cgi?id=52339 18074 18075 * html/canvas/WebGLRenderingContext.cpp: 18076 (WebCore::WebGLRenderingContext::sizeInBytes): 18077 * platform/graphics/GraphicsContext3D.h: 18078 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 18079 * platform/graphics/qt/GraphicsContext3DQt.cpp: 18080 18081 2011-01-24 Adam Roben <aroben (a] apple.com> 18082 18083 Windows Production build fix 18084 18085 * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source. 18086 18087 2011-01-24 Anton Muhin <antonm (a] chromium.org> 18088 18089 Reviewed by Nate Chapin. 18090 18091 [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files. 18092 https://bugs.webkit.org/show_bug.cgi?id=52911 18093 18094 Plain refactoring, covered by the existing tests. 18095 18096 * WebCore.gypi: IntrusiveDOMWrapperMap.h added. 18097 * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class. 18098 * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class. 18099 * bindings/v8/IntrusiveDOMWrapperMap.h: Added. 18100 (WebCore::ChunkedTable::ChunkedTable): 18101 (WebCore::ChunkedTable::add): 18102 (WebCore::ChunkedTable::remove): 18103 (WebCore::ChunkedTable::clear): 18104 (WebCore::ChunkedTable::visit): 18105 (WebCore::ChunkedTable::Chunk::Chunk): 18106 (WebCore::ChunkedTable::clearEntries): 18107 (WebCore::ChunkedTable::visitEntries): 18108 (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap): 18109 (WebCore::IntrusiveDOMWrapperMap::get): 18110 (WebCore::IntrusiveDOMWrapperMap::set): 18111 (WebCore::IntrusiveDOMWrapperMap::contains): 18112 (WebCore::IntrusiveDOMWrapperMap::visit): 18113 (WebCore::IntrusiveDOMWrapperMap::removeIfPresent): 18114 (WebCore::IntrusiveDOMWrapperMap::clear): 18115 (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move): 18116 (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear): 18117 (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit): 18118 * bindings/v8/StaticDOMDataStore.h: include added. 18119 18120 2011-01-24 Shane Stephens <shanestephens (a] google.com> 18121 18122 Reviewed by Chris Marrin. 18123 18124 TransformationMatrix multiply operations apply operands in wrong order. 18125 https://bugs.webkit.org/show_bug.cgi?id=52780 18126 18127 Rename TranformationMatrix::multLeft into multiply (the method does a multRight, 18128 not a multLeft). 18129 18130 Remove TransformationMatrix::multiply, which was actually doing a multLeft. 18131 18132 Fix TransformationMatrix::operator* and operator*= such that the operand is 18133 applied to the right-hand side of the matrix that the method is called on. 18134 i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store 18135 "b * a" in "a". This has now been fixed so "a * b" computes "a * b" and 18136 "a *= b" stores "a * b" in "a". 18137 18138 Convert all call sites for these methods to provide operands in the correct order. 18139 18140 No new tests as patch adds no new functionality. 18141 18142 * css/WebKitCSSMatrix.cpp: 18143 (WebCore::WebKitCSSMatrix::multiply): 18144 * platform/graphics/transforms/Matrix3DTransformOperation.h: 18145 (WebCore::Matrix3DTransformOperation::apply): 18146 * platform/graphics/transforms/MatrixTransformOperation.h: 18147 (WebCore::MatrixTransformOperation::apply): 18148 * platform/graphics/transforms/TransformationMatrix.cpp: 18149 (WebCore::TransformationMatrix::scaleNonUniform): 18150 (WebCore::TransformationMatrix::scale3d): 18151 (WebCore::TransformationMatrix::rotate3d): 18152 (WebCore::TransformationMatrix::skew): 18153 (WebCore::TransformationMatrix::applyPerspective): 18154 (WebCore::TransformationMatrix::multiply): 18155 (WebCore::TransformationMatrix::recompose): 18156 * platform/graphics/transforms/TransformationMatrix.h: 18157 (WebCore::TransformationMatrix::operator*=): 18158 (WebCore::TransformationMatrix::operator*): 18159 * rendering/RenderLayer.cpp: 18160 (WebCore::transparencyClipBox): 18161 * rendering/RenderObject.cpp: 18162 (WebCore::RenderObject::getTransformFromContainer): 18163 * rendering/TransformState.cpp: 18164 (WebCore::TransformState::applyTransform): 18165 (WebCore::HitTestingTransformState::applyTransform): 18166 18167 2011-01-24 Andrei Popescu <andreip (a] google.com> 18168 18169 Reviewed by Nate Chapin. 18170 18171 IndexedDatabase methods should not take arguments of type OptionsObject 18172 https://bugs.webkit.org/show_bug.cgi?id=53012 18173 18174 This patch reverts all IDB methods, except IDBDatabase::createObjectStore and 18175 IDBObjectStore::createIndex, to using a plain list of arguments instead of 18176 grouping the various parameters inside a single OptionsObject argument. 18177 This decision was made on public-webapps (a] w3.org mailing list. 18178 18179 We also add support (v8 only for now) for passing DOMStringList objects as arguments to native 18180 methods. The code for obtaining a DOMStringList object from a JS array of strings existed already 18181 in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to 18182 use it. 18183 18184 * bindings/scripts/CodeGeneratorV8.pm: 18185 * bindings/v8/V8Binding.cpp: 18186 (WebCore::v8ValueToWebCoreDOMStringList): 18187 * bindings/v8/V8Binding.h: 18188 * storage/IDBDatabase.cpp: 18189 (WebCore::IDBDatabase::transaction): 18190 * storage/IDBDatabase.h: 18191 (WebCore::IDBDatabase::transaction): 18192 * storage/IDBDatabase.idl: 18193 * storage/IDBIndex.cpp: 18194 (WebCore::IDBIndex::openCursor): 18195 (WebCore::IDBIndex::openKeyCursor): 18196 * storage/IDBIndex.h: 18197 (WebCore::IDBIndex::openCursor): 18198 (WebCore::IDBIndex::openKeyCursor): 18199 * storage/IDBIndex.idl: 18200 * storage/IDBObjectStore.cpp: 18201 (WebCore::IDBObjectStore::openCursor): 18202 * storage/IDBObjectStore.h: 18203 (WebCore::IDBObjectStore::openCursor): 18204 * storage/IDBObjectStore.idl: 18205 18206 2011-01-24 Pavel Feldman <pfeldman (a] chromium.org> 18207 18208 Reviewed by Yury Semikhatsky. 18209 18210 Web Inspector: extract dispatch API from network manager. 18211 https://bugs.webkit.org/show_bug.cgi?id=53009 18212 18213 * WebCore.xcodeproj/project.pbxproj: 18214 * inspector/front-end/NetworkManager.js: 18215 (WebInspector.NetworkManager): 18216 (WebInspector.NetworkManager.prototype.reset): 18217 (WebInspector.NetworkManager.prototype.requestContent): 18218 (WebInspector.NetworkManager.prototype._processCachedResources): 18219 (WebInspector.NetworkDispatcher): 18220 (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest): 18221 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 18222 (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource): 18223 (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest): 18224 (WebInspector.NetworkDispatcher.prototype.willSendRequest): 18225 (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): 18226 (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): 18227 (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): 18228 (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket): 18229 (WebInspector.NetworkDispatcher.prototype._appendRedirect): 18230 (WebInspector.NetworkDispatcher.prototype._startResource): 18231 (WebInspector.NetworkDispatcher.prototype._updateResource): 18232 (WebInspector.NetworkDispatcher.prototype._finishResource): 18233 (WebInspector.NetworkDispatcher.prototype._addFramesRecursively): 18234 (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners): 18235 (WebInspector.NetworkDispatcher.prototype._createResource): 18236 * inspector/front-end/Resource.js: 18237 (WebInspector.Resource.prototype._innerRequestContent): 18238 * inspector/front-end/ResourceTreeModel.js: 18239 (WebInspector.ResourceTreeModel): 18240 (WebInspector.ResourceTreeModel.prototype.reset): 18241 (WebInspector.ResourceTreeModel.prototype.unbindResourceURL): 18242 18243 2011-01-24 Yury Semikhatsky <yurys (a] chromium.org> 18244 18245 Reviewed by Pavel Feldman. 18246 18247 Web Inspector: [JSC] remove ScriptDebugServer::pageCreated 18248 https://bugs.webkit.org/show_bug.cgi?id=53007 18249 18250 It's impossible to create "provisional" inspector for pages which are 18251 not yet created so there is no need to listen for page creation in ScriptDebugServer. 18252 18253 * bindings/js/ScriptDebugServer.cpp: 18254 * bindings/js/ScriptDebugServer.h: 18255 * page/Page.cpp: 18256 (WebCore::Page::Page): 18257 18258 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 18259 18260 Reviewed by Pavel Feldman. 18261 18262 Web Inspector: [REGRESSION] AppCache view on resources panel is broken. 18263 https://bugs.webkit.org/show_bug.cgi?id=53002 18264 18265 18266 * inspector/front-end/ApplicationCacheItemsView.js: 18267 (WebInspector.ApplicationCacheItemsView.prototype._update): 18268 * inspector/front-end/DOMAgent.js: 18269 (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): 18270 18271 2011-01-24 Andreas Kling <kling (a] webkit.org> 18272 18273 Reviewed by Kenneth Rohde Christiansen. 18274 18275 [Qt] Fix warnings about unregistering an invalid timer 18276 https://bugs.webkit.org/show_bug.cgi?id=53006 18277 18278 The ShadowBuffer's purge timer ID was initialized with 0 which lead 18279 to us calling QObject::killTimer(0), causing some qWarnings. 18280 18281 * platform/graphics/qt/ContextShadowQt.cpp: 18282 (WebCore::ShadowBuffer::ShadowBuffer): 18283 (WebCore::ShadowBuffer::schedulePurge): 18284 18285 2011-01-21 Mikhail Naganov <mnaganov (a] chromium.org> 18286 18287 Reviewed by Pavel Feldman. 18288 18289 Web Inspector: [Chromium] Fix heap snapshot table sorting. 18290 18291 Fix table sorting to avoid qsort instability artefacts. 18292 18293 https://bugs.webkit.org/show_bug.cgi?id=52914 18294 18295 * inspector/front-end/HeapSnapshotView.js: 18296 (WebInspector.HeapSnapshotView.prototype._sortData): 18297 (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator): 18298 (WebInspector.HeapSnapshotDataGridList.propertyComparator): 18299 18300 2011-01-24 Mikhail Naganov <mnaganov (a] chromium.org> 18301 18302 Reviewed by Yury Semikhatsky. 18303 18304 Web Inspector: Find duplicate strings in localizedStrings.js, update it. 18305 18306 https://bugs.webkit.org/show_bug.cgi?id=53005 18307 18308 * English.lproj/localizedStrings.js: 18309 18310 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 18311 18312 Unreviewed, build fix for r76509. 18313 18314 * inspector/InspectorDebuggerAgent.cpp: 18315 (WebCore::InspectorDebuggerAgent::setBreakpoint): 18316 18317 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 18318 18319 Unreviewed, build fix for r76509. 18320 18321 * bindings/js/ScriptDebugServer.h: 18322 18323 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 18324 18325 Reviewed by Yury Semikhatsky. 18326 18327 Web Inspector: set breakpoints by line:column. 18328 https://bugs.webkit.org/show_bug.cgi?id=52615 18329 18330 * CMakeLists.txt: 18331 * GNUmakefile.am: 18332 * WebCore.gypi: 18333 * WebCore.pro: 18334 * WebCore.vcproj/WebCore.vcproj: 18335 * WebCore.xcodeproj/project.pbxproj: 18336 * bindings/js/ScriptDebugServer.cpp: 18337 (WebCore::ScriptDebugServer::setBreakpoint): 18338 (WebCore::ScriptDebugServer::removeBreakpoint): 18339 (WebCore::ScriptDebugServer::hasBreakpoint): 18340 (WebCore::ScriptDebugServer::clearBreakpoints): 18341 * bindings/js/ScriptDebugServer.h: 18342 * bindings/v8/DebuggerScript.js: 18343 (): 18344 * bindings/v8/ScriptDebugServer.cpp: 18345 (WebCore::ScriptDebugServer::setBreakpoint): 18346 * bindings/v8/ScriptDebugServer.h: 18347 * inspector/Inspector.idl: 18348 * inspector/InspectorBrowserDebuggerAgent.cpp: 18349 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 18350 * inspector/InspectorDebuggerAgent.cpp: 18351 (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): 18352 (WebCore::InspectorDebuggerAgent::setBreakpoint): 18353 (WebCore::InspectorDebuggerAgent::restoreBreakpoint): 18354 (WebCore::InspectorDebuggerAgent::didParseSource): 18355 * inspector/InspectorDebuggerAgent.h: 18356 * inspector/ScriptBreakpoint.cpp: Removed. 18357 * inspector/ScriptBreakpoint.h: 18358 (WebCore::ScriptBreakpoint::ScriptBreakpoint): 18359 * inspector/front-end/Breakpoint.js: 18360 (WebInspector.Breakpoint): 18361 (WebInspector.Breakpoint.prototype.get url): 18362 * inspector/front-end/BreakpointManager.js: 18363 (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON): 18364 * inspector/front-end/DebuggerModel.js: 18365 (WebInspector.DebuggerModel.prototype.continueToLine): 18366 (WebInspector.DebuggerModel.prototype.setBreakpoint): 18367 (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend): 18368 (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): 18369 18370 2011-01-24 Peter Beverloo <peter (a] chromium.org> 18371 18372 Reviewed by Pavel Feldman. 18373 18374 Web Inspector: recognize application/x-font-woff as a valid mime-type. 18375 https://bugs.webkit.org/show_bug.cgi?id=52977 18376 18377 No new tests. 18378 18379 * inspector/front-end/inspector.js: 18380 18381 2011-01-24 Pavel Podivilov <podivilov (a] chromium.org> 18382 18383 Unreviewed, fix for r76497. 18384 18385 * inspector/front-end/ResourcesPanel.js: 18386 (WebInspector.ResourcesPanel.prototype.show): 18387 18388 2011-01-24 Andreas Kling <kling (a] webkit.org> 18389 18390 Reviewed by Tor Arne Vestb. 18391 18392 [Qt] Use rad2deg() from WTF instead of rolling our own. 18393 https://bugs.webkit.org/show_bug.cgi?id=52993 18394 18395 * platform/graphics/qt/GraphicsContextQt.cpp: 18396 (WebCore::GraphicsContext::rotate): 18397 * platform/graphics/qt/PathQt.cpp: 18398 (WebCore::Path::addArc): 18399 18400 2011-01-24 Sergio Villar Senin <svillar (a] igalia.com> 18401 18402 Reviewed by Martin Robinson. 18403 18404 [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading 18405 https://bugs.webkit.org/show_bug.cgi?id=52885 18406 18407 No new tests as it does not change functionality. We will not wait for 18408 the the input stream to close to issue didFinishLoading to 18409 WebCore. We expect a subtle performance improvement with this 18410 patch when loading complex web pages, as we wouldn't have to wait 18411 for the stream to close (which involves creating a thread among 18412 other things). 18413 18414 * platform/network/soup/ResourceHandleSoup.cpp: 18415 (WebCore::closeCallback): 18416 (WebCore::readCallback): 18417 18418 2011-01-21 Pavel Podivilov <podivilov (a] chromium.org> 18419 18420 Reviewed by Pavel Feldman. 18421 18422 Web Inspector: eliminate SourceView and ScriptView classes. 18423 https://bugs.webkit.org/show_bug.cgi?id=52896 18424 18425 SourceView and ScriptView delegate everything to SourceFrame and should be eliminated. 18426 18427 * WebCore.gypi: 18428 * WebCore.vcproj/WebCore.vcproj: 18429 * inspector/front-end/GoToLineDialog.js: 18430 (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): 18431 * inspector/front-end/ResourceView.js: 18432 (WebInspector.ResourceView.createResourceView): 18433 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 18434 (WebInspector.SourceFrameContentProviderForResource): Moved from SourceView. 18435 * inspector/front-end/ResourcesPanel.js: 18436 (WebInspector.ResourcesPanel.prototype.show): 18437 (WebInspector.ResourcesPanel.prototype._applyDiffMarkup): 18438 (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): 18439 * inspector/front-end/ScriptView.js: Removed. 18440 * inspector/front-end/ScriptsPanel.js: 18441 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 18442 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): 18443 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 18444 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 18445 (WebInspector.ScriptsPanel.prototype._formatScript): 18446 (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView. 18447 * inspector/front-end/SourceFrame.js: 18448 (WebInspector.SourceFrame): 18449 (WebInspector.SourceFrame.prototype.show): 18450 (WebInspector.SourceFrame.prototype.hide): 18451 (WebInspector.SourceFrame.prototype.hasContent): 18452 (WebInspector.SourceFrame.prototype._createTextViewer): 18453 (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches): 18454 (WebInspector.SourceFrame.prototype.performSearch): 18455 * inspector/front-end/SourceView.js: Removed. 18456 * inspector/front-end/WebKit.qrc: 18457 * inspector/front-end/inspector.html: 18458 18459 2011-01-24 Andras Becsi <abecsi (a] webkit.org> 18460 18461 Reviewed by Csaba Osztrogonc. 18462 18463 [Qt] Move project files into Source 18464 https://bugs.webkit.org/show_bug.cgi?id=52891 18465 18466 No new tests needed. 18467 18468 * WebCore.pri: 18469 * WebCore.pro: 18470 18471 2011-01-24 Kent Tamura <tkent (a] chromium.org> 18472 18473 Unreviewed, trivial fix. 18474 18475 Fix a Chromium-only assertion failure by r76491. 18476 https://bugs.webkit.org/show_bug.cgi?id=38982 18477 18478 Separate icon loading from the FileChooser constructor in order to avoid 18479 ref() before adoptRef(). 18480 18481 * platform/FileChooser.cpp: 18482 (WebCore::FileChooser::FileChooser): 18483 (WebCore::FileChooser::initialize): 18484 (WebCore::FileChooser::create): 18485 * platform/FileChooser.h: 18486 18487 2011-01-24 MORITA Hajime <morrita (a] google.com> 18488 18489 Reviewed by Kent Tamura. 18490 18491 TextControlInnerElement::m_shadowParent should be removed. 18492 https://bugs.webkit.org/show_bug.cgi?id=52998 18493 18494 No new tests. No behavioral change. 18495 18496 * rendering/TextControlInnerElements.cpp: 18497 (WebCore::TextControlInnerElement::TextControlInnerElement): 18498 * rendering/TextControlInnerElements.h: 18499 18500 2011-01-24 Yury Semikhatsky <yurys (a] chromium.org> 18501 18502 Reviewed by Pavel Feldman. 18503 18504 REGRESSION (r72895): console.trace crashes 18505 https://bugs.webkit.org/show_bug.cgi?id=52981 18506 18507 - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has 18508 non-null value. 18509 - Use PassRefPtr for objects whos ownership is passed to the inspector. 18510 18511 * GNUmakefile.am: 18512 * WebCore.gypi: 18513 * WebCore.pro: 18514 * WebCore.vcproj/WebCore.vcproj: 18515 * WebCore.xcodeproj/project.pbxproj: 18516 * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their 18517 own header to reduce compilation time of other classes that depend on the inspector instrumentation. 18518 (WebCore::InspectorInstrumentation::addMessageToConsole): 18519 (WebCore::InspectorInstrumentation::consoleCount): 18520 (WebCore::InspectorInstrumentation::startConsoleTiming): 18521 (WebCore::InspectorInstrumentation::stopConsoleTiming): 18522 (WebCore::InspectorInstrumentation::consoleMarkTimeline): 18523 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): 18524 (WebCore::InspectorInstrumentation::addProfile): 18525 (WebCore::InspectorInstrumentation::profilerEnabled): 18526 (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): 18527 * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their 18528 own header to reduce compilation time of other classes that depend on the inspector instrumentation. 18529 (WebCore::InspectorInstrumentation::didOpenDatabase): 18530 * inspector/InspectorInstrumentation.cpp: 18531 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): 18532 (WebCore::InspectorInstrumentation::consoleCountImpl): 18533 (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): 18534 (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl): 18535 (WebCore::InspectorInstrumentation::addProfileImpl): 18536 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): 18537 * inspector/InspectorInstrumentation.h: 18538 * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly. 18539 (WebCore::Console::addMessage): 18540 (WebCore::Console::trace): 18541 (WebCore::Console::count): 18542 (WebCore::Console::markTimeline): 18543 (WebCore::Console::profileEnd): 18544 (WebCore::Console::timeEnd): 18545 (WebCore::Console::group): 18546 (WebCore::Console::groupCollapsed): 18547 * storage/Database.cpp: 18548 (WebCore::Database::openDatabase): 18549 18550 2010-01-24 Kent Tamura <tkent (a] chromium.org> 18551 18552 Reviewed by Darin Fisher. 18553 18554 [Chromium] Support icon loading for <input type=file> 18555 https://bugs.webkit.org/show_bug.cgi?id=38982 18556 18557 An icon data in Chromium port is represented as WebCore::Image. We 18558 don't need OS-specific code anymore. 18559 18560 * WebCore.gypi: 18561 * platform/graphics/Icon.h: 18562 (WebCore::Icon::create): Add Chromium-specific factory. 18563 * platform/graphics/chromium/IconChromium.cpp: Added. 18564 * platform/graphics/chromium/IconChromiumLinux.cpp: Removed. 18565 * platform/graphics/chromium/IconChromiumMac.cpp: Removed. 18566 * platform/graphics/chromium/IconChromiumWin.cpp: Removed. 18567 * platform/graphics/chromium/PlatformIcon.h: 18568 18569 2011-01-21 Pavel Podivilov <podivilov (a] chromium.org> 18570 18571 Reviewed by Pavel Feldman. 18572 18573 Web Inspector: move search functions from SourceView to SourceFrame. 18574 https://bugs.webkit.org/show_bug.cgi?id=52895 18575 18576 This is the last step before eliminating SourceView and ScriptView since 18577 this classes just delegate everything to SourceFrame. 18578 18579 * inspector/front-end/SourceFrame.js: 18580 (WebInspector.SourceFrame.prototype.set visible): 18581 (WebInspector.SourceFrame.prototype._clearLineHighlight): 18582 (WebInspector.SourceFrame.prototype._createTextViewer): 18583 (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches): 18584 (WebInspector.SourceFrame.prototype.performSearch): 18585 (WebInspector.SourceFrame.prototype.searchCanceled): 18586 (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult): 18587 (WebInspector.SourceFrame.prototype.jumpToLastSearchResult): 18588 (WebInspector.SourceFrame.prototype.jumpToNextSearchResult): 18589 (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult): 18590 (WebInspector.SourceFrame.prototype.showingFirstSearchResult): 18591 (WebInspector.SourceFrame.prototype.showingLastSearchResult): 18592 (WebInspector.SourceFrame.prototype._jumpToSearchResult): 18593 * inspector/front-end/SourceView.js: 18594 (WebInspector.SourceView.prototype.hide): 18595 (WebInspector.SourceView.prototype.searchCanceled): 18596 (WebInspector.SourceView.prototype.performSearch): 18597 (WebInspector.SourceView.prototype.jumpToFirstSearchResult): 18598 (WebInspector.SourceView.prototype.jumpToLastSearchResult): 18599 (WebInspector.SourceView.prototype.jumpToNextSearchResult): 18600 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult): 18601 (WebInspector.SourceView.prototype.showingFirstSearchResult): 18602 (WebInspector.SourceView.prototype.showingLastSearchResult): 18603 (WebInspector.SourceView.prototype.clearMessages): 18604 18605 2011-01-24 Sheriff Bot <webkit.review.bot (a] gmail.com> 18606 18607 Unreviewed, rolling out r76463. 18608 http://trac.webkit.org/changeset/76463 18609 https://bugs.webkit.org/show_bug.cgi?id=52993 18610 18611 It broke canvas/philip/tests/2d.path.stroke.skew.html 18612 (Requested by Ossy on #webkit). 18613 18614 * platform/graphics/qt/GraphicsContextQt.cpp: 18615 (WebCore::GraphicsContext::rotate): 18616 * platform/graphics/qt/PathQt.cpp: 18617 (WebCore::Path::addArc): 18618 18619 2011-01-23 Andrey Kosyakov <caseq (a] chromium.org> 18620 18621 Reviewed by Pavel Feldman. 18622 18623 Web Inspector: summary bar is not resized properly with the rest of network panel 18624 https://bugs.webkit.org/show_bug.cgi?id=52881 18625 18626 * inspector/front-end/NetworkPanel.js: 18627 (WebInspector.NetworkPanel.prototype.updateSidebarWidth): 18628 (WebInspector.NetworkPanel.prototype._positionSummaryBar): 18629 (WebInspector.NetworkPanel.prototype._toggleGridMode): 18630 18631 2011-01-19 MORITA Hajime <morrita (a] google.com> 18632 18633 Reviewed by Ryosuke Niwa. 18634 18635 Space and tab characters "sent" by an input method give totally different results than typing them directly 18636 https://bugs.webkit.org/show_bug.cgi?id=5241 18637 18638 * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 18639 distinguish text input which is originated by composition. 18640 * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 18641 range of string on text node, instead of surrounding part of that. 18642 18643 Test: editing/inserting/insert-composition-whitespace.html 18644 18645 * dom/TextEvent.h: 18646 (WebCore::TextEvent::isComposition): 18647 * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType 18648 * editing/CompositeEditCommand.cpp: 18649 (WebCore::containsOnlyWhitespace): 18650 (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): 18651 (WebCore::CompositeEditCommand::canRebalance): 18652 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 18653 (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string. 18654 * editing/CompositeEditCommand.h: 18655 * editing/Editor.cpp: 18656 (WebCore::Editor::insertTextForConfirmedComposition): Added. 18657 (WebCore::Editor::insertTextWithoutSendingTextEvent): 18658 (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition(). 18659 (WebCore::Editor::setComposition): 18660 * editing/Editor.h: 18661 * editing/InsertTextCommand.cpp: 18662 (WebCore::InsertTextCommand::input): 18663 * editing/InsertTextCommand.h: 18664 * editing/TypingCommand.cpp: 18665 (WebCore::TypingCommand::TypingCommand): 18666 (WebCore::TypingCommand::insertText): 18667 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 18668 * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType 18669 (WebCore::TypingCommand::setCompositionType): Added. 18670 (WebCore::TypingCommand::create): 18671 18672 2011-01-23 Mark Rowe <mrowe (a] apple.com> 18673 18674 Follow-up to r76477. 18675 18676 Fix the scripts that detect problematic code such as static initializers 18677 and destructors, weak vtables, inappropriate files in the framework wrappers, 18678 and public headers including private headers. These had all been broken 18679 since the projects were moved in to the Source directory as the paths to the 18680 scripts were not updated at that time. 18681 18682 Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense. 18683 18684 * WebCore.xcodeproj/project.pbxproj: 18685 18686 2011-01-23 Mark Rowe <mrowe (a] apple.com> 18687 18688 Build fix after r76459. 18689 18690 Static member variables or globals of types that have constructors or destructors are bad as 18691 they generate static initializers and destructors. This is code that is run either at link time 18692 when the library is loaded in to memory or at application termination time. Both of these are 18693 terrible for performance and are thus outlawed in WebKit code. 18694 18695 The typical solution is to replace the static member or global with a function that allocates 18696 the necessary variable on the heap. The variable is leaked to prevent it from being destroyed 18697 at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little 18698 package, but sadly fails to work in this case due to the type containing multiple template 18699 parameters. 18700 18701 * inspector/InspectorInstrumentation.cpp: 18702 (WebCore::InspectorInstrumentation::inspectorAgents): 18703 * inspector/InspectorInstrumentation.h: 18704 (WebCore::InspectorInstrumentation::bindInspectorAgent): 18705 (WebCore::InspectorInstrumentation::unbindInspectorAgent): 18706 (WebCore::InspectorInstrumentation::inspectorAgentForPage): 18707 18708 2011-01-21 Vangelis Kokkevis <vangelis (a] chromium.org> 18709 18710 Reviewed by Kenneth Russell. 18711 18712 [chromium] Add support for -webkit-mask properties to the 18713 accelerated compositing path. 18714 https://bugs.webkit.org/show_bug.cgi?id=49780 18715 18716 Tests: Existing tests in LayoutTests/compositing/masks 18717 18718 * platform/graphics/chromium/ContentLayerChromium.cpp: 18719 (WebCore::ContentLayerChromium::draw): 18720 (WebCore::ContentLayerChromium::unreserveContentsTexture): 18721 (WebCore::ContentLayerChromium::bindContentsTexture): 18722 * platform/graphics/chromium/ContentLayerChromium.h: 18723 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 18724 (WebCore::GraphicsLayerChromium::setMaskLayer): 18725 * platform/graphics/chromium/GraphicsLayerChromium.h: 18726 * platform/graphics/chromium/LayerChromium.cpp: 18727 (WebCore::LayerChromium::LayerChromium): 18728 * platform/graphics/chromium/LayerChromium.h: 18729 (WebCore::LayerChromium::setMaskLayer): 18730 (WebCore::LayerChromium::maskLayer): 18731 (WebCore::LayerChromium::unreserveContentsTexture): 18732 (WebCore::LayerChromium::bindContentsTexture): 18733 * platform/graphics/chromium/LayerRendererChromium.cpp: 18734 (WebCore::LayerRendererChromium::updateLayersRecursive): 18735 * platform/graphics/chromium/LayerTexture.cpp: 18736 (WebCore::LayerTexture::bindTexture): 18737 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 18738 (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): 18739 (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): 18740 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): 18741 (WebCore::RenderSurfaceChromium::draw): 18742 * platform/graphics/chromium/RenderSurfaceChromium.h: 18743 (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram): 18744 (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation): 18745 (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation): 18746 (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation): 18747 (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation): 18748 18749 2011-01-23 Patrick Gansterer <paroga (a] webkit.org> 18750 18751 Reviewed by Darin Adler. 18752 18753 Use WTF::StringHasher in WebCore 18754 https://bugs.webkit.org/show_bug.cgi?id=52934 18755 18756 * loader/appcache/ApplicationCacheStorage.cpp: 18757 (WebCore::urlHostHash): 18758 * platform/LinkHash.cpp: 18759 (WebCore::visitedLinkHashInline): 18760 * platform/cf/BinaryPropertyList.cpp: 18761 (WebCore::IntegerArrayHash::hash): 18762 * platform/graphics/wx/FontPlatformDataWx.cpp: 18763 (WebCore::FontPlatformData::computeHash): 18764 * platform/network/ProtectionSpaceHash.h: 18765 (WebCore::ProtectionSpaceHash::hash): 18766 18767 2011-01-23 Patrick Gansterer <paroga (a] webkit.org> 18768 18769 Reviewed by David Kilzer. 18770 18771 Add an overload to base64Encode with String output 18772 https://bugs.webkit.org/show_bug.cgi?id=50122 18773 18774 This change removes duplicated code. 18775 18776 * inspector/InspectorResourceAgent.cpp: 18777 (WebCore::InspectorResourceAgent::resourceContentBase64): 18778 * page/DOMWindow.cpp: 18779 (WebCore::DOMWindow::btoa): 18780 * platform/graphics/skia/FontCustomPlatformData.cpp: 18781 (WebCore::createUniqueFontName): 18782 * platform/graphics/win/FontCustomPlatformData.cpp: 18783 (WebCore::createUniqueFontName): 18784 * platform/graphics/wince/FontCustomPlatformData.cpp: 18785 (WebCore::createUniqueFontName): 18786 * platform/network/cf/ResourceHandleCFNet.cpp: 18787 (WebCore::encodeBasicAuthorization): 18788 * platform/network/mac/ResourceHandleMac.mm: 18789 (WebCore::encodeBasicAuthorization): 18790 * platform/text/Base64.cpp: 18791 (WebCore::base64Encode): 18792 * platform/text/Base64.h: 18793 (WebCore::base64Encode): 18794 * platform/wince/KeygenWinCE.cpp: 18795 (WebCore::WebCore::signedPublicKeyAndChallengeString): 18796 18797 2011-01-23 Patrick Gansterer <paroga (a] webkit.org> 18798 18799 Reviewed by David Kilzer. 18800 18801 Add String::containsOnlyLatin1() 18802 https://bugs.webkit.org/show_bug.cgi?id=52979 18803 18804 Use String::containsOnlyLatin1() instead of isSafeToConvertCharList(). 18805 18806 * page/DOMWindow.cpp: 18807 (WebCore::DOMWindow::btoa): 18808 (WebCore::DOMWindow::atob): 18809 18810 2011-01-23 Patrick Gansterer <paroga (a] webkit.org> 18811 18812 Reviewed by Andreas Kling. 18813 18814 [CMake] Add missing CodeGenerator dependencies 18815 https://bugs.webkit.org/show_bug.cgi?id=52976 18816 18817 * CMakeLists.txt: 18818 18819 2011-01-23 Yael Aharon <yael.aharon (a] nokia.com> 18820 18821 Reviewed by Kenneth Rohde Christiansen. 18822 18823 [Qt][Symbian] Fix --minimal build 18824 https://bugs.webkit.org/show_bug.cgi?id=52839 18825 18826 Some of the plugins' functionality is reimplemented in 18827 Symbian specific files. 18828 Some of this functionality should be compiled in even if 18829 the guard NETSCAPE_PLUGIN_API is turned off. 18830 This patch moves that functionality out of the 18831 NETSCAPE_PLUGIN_API guard. 18832 18833 Build fix so no new tests. 18834 18835 * WebCore.pro: 18836 * plugins/symbian/PluginPackageSymbian.cpp: 18837 18838 2011-01-23 Andreas Kling <kling (a] webkit.org> 18839 18840 Reviewed by Tor Arne Vestb. 18841 18842 [Qt] Use rad2deg() from WTF instead of rolling our own. 18843 18844 * platform/graphics/qt/GraphicsContextQt.cpp: 18845 (WebCore::GraphicsContext::rotate): 18846 * platform/graphics/qt/PathQt.cpp: 18847 (WebCore::Path::addArc): 18848 18849 2011-01-23 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 18850 18851 Reviewed by Andreas Kling. 18852 18853 Viewport meta: Always adjust device dimensions to the device pixel ratio. 18854 18855 * dom/ViewportArguments.cpp: 18856 (WebCore::computeViewportAttributes): 18857 18858 2011-01-23 Andreas Kling <kling (a] webkit.org> 18859 18860 Reviewed by Kenneth Rohde Christiansen. 18861 18862 Don't scale absolute geometry specified by viewport meta tag. 18863 18864 * dom/ViewportArguments.cpp: 18865 (WebCore::computeViewportAttributes): 18866 18867 2011-01-23 Ilya Tikhonovsky <loislo (a] chromium.org> 18868 18869 Unreviewed build fix. 18870 18871 Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher. 18872 18873 Touch Inspector.idl. 18874 18875 * inspector/Inspector.idl: 18876 18877 2011-01-22 Ilya Tikhonovsky <loislo (a] chromium.org> 18878 18879 Reviewed by Pavel Feldman. 18880 18881 Web Inspector: next step in splitting InspectorController. 18882 18883 Splitting InspectorController is a bit tricky process. 18884 18885 As a first step I'll do the next things: 18886 1) rename existing InspectorController to InspectorAgent; 18887 2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation; 18888 3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit; 18889 18890 The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController. 18891 18892 As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch. 18893 18894 https://bugs.webkit.org/show_bug.cgi?id=52955 18895 18896 * CMakeLists.txt: 18897 * GNUmakefile.am: 18898 * WebCore.exp.in: 18899 * WebCore.gypi: 18900 * WebCore.pro: 18901 * WebCore.vcproj/WebCore.vcproj: 18902 * WebCore.xcodeproj/project.pbxproj: 18903 * bindings/js/JSInjectedScriptHostCustom.cpp: 18904 (WebCore::JSInjectedScriptHost::nodeForId): 18905 (WebCore::JSInjectedScriptHost::selectDOMStorage): 18906 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 18907 (WebCore::V8InjectedScriptHost::nodeForIdCallback): 18908 * inspector/CodeGeneratorInspector.pm: 18909 * inspector/InjectedScriptHost.cpp: 18910 (WebCore::InjectedScriptHost::InjectedScriptHost): 18911 (WebCore::InjectedScriptHost::clearConsoleMessages): 18912 (WebCore::InjectedScriptHost::databaseForId): 18913 (WebCore::InjectedScriptHost::selectDatabase): 18914 (WebCore::InjectedScriptHost::selectDOMStorage): 18915 (WebCore::InjectedScriptHost::injectedScriptForMainFrame): 18916 (WebCore::InjectedScriptHost::inspectorDOMAgent): 18917 (WebCore::InjectedScriptHost::frontend): 18918 (WebCore::InjectedScriptHost::didCreateWorker): 18919 (WebCore::InjectedScriptHost::didDestroyWorker): 18920 * inspector/InjectedScriptHost.h: 18921 (WebCore::InjectedScriptHost::create): 18922 (WebCore::InjectedScriptHost::inspectorAgent): 18923 (WebCore::InjectedScriptHost::disconnectController): 18924 * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp. 18925 (WebCore::InspectorAgent::InspectorAgent): 18926 (WebCore::InspectorAgent::~InspectorAgent): 18927 (WebCore::InspectorAgent::inspectedPageDestroyed): 18928 (WebCore::InspectorAgent::enabled): 18929 (WebCore::InspectorAgent::inspectorStartsAttached): 18930 (WebCore::InspectorAgent::setInspectorStartsAttached): 18931 (WebCore::InspectorAgent::setInspectorAttachedHeight): 18932 (WebCore::InspectorAgent::inspectorAttachedHeight): 18933 (WebCore::InspectorAgent::searchingForNodeInPage): 18934 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 18935 (WebCore::InspectorAgent::inspect): 18936 (WebCore::InspectorAgent::focusNode): 18937 (WebCore::InspectorAgent::highlight): 18938 (WebCore::InspectorAgent::highlightDOMNode): 18939 (WebCore::InspectorAgent::highlightFrame): 18940 (WebCore::InspectorAgent::hideHighlight): 18941 (WebCore::InspectorAgent::mouseDidMoveOverElement): 18942 (WebCore::InspectorAgent::handleMousePress): 18943 (WebCore::InspectorAgent::setInspectorFrontendClient): 18944 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 18945 (WebCore::InspectorAgent::setSearchingForNode): 18946 (WebCore::InspectorAgent::connectFrontend): 18947 (WebCore::InspectorAgent::show): 18948 (WebCore::InspectorAgent::showPanel): 18949 (WebCore::InspectorAgent::close): 18950 (WebCore::InspectorAgent::disconnectFrontend): 18951 (WebCore::InspectorAgent::resourceAgent): 18952 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 18953 (WebCore::InspectorAgent::populateScriptObjects): 18954 (WebCore::InspectorAgent::pushDataCollectedOffline): 18955 (WebCore::InspectorAgent::restoreDebugger): 18956 (WebCore::InspectorAgent::restoreProfiler): 18957 (WebCore::InspectorAgent::unbindAllResources): 18958 (WebCore::InspectorAgent::didCommitLoad): 18959 (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent): 18960 (WebCore::InspectorAgent::mainResourceFiredLoadEvent): 18961 (WebCore::InspectorAgent::isMainResourceLoader): 18962 (WebCore::InspectorAgent::willSendRequest): 18963 (WebCore::InspectorAgent::ensureSettingsLoaded): 18964 (WebCore::InspectorAgent::startTimelineProfiler): 18965 (WebCore::InspectorAgent::stopTimelineProfiler): 18966 (WebCore::PostWorkerNotificationToFrontendTask::create): 18967 (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask): 18968 (WebCore::PostWorkerNotificationToFrontendTask::performTask): 18969 (WebCore::InspectorAgent::postWorkerNotificationToFrontend): 18970 (WebCore::InspectorAgent::didCreateWorker): 18971 (WebCore::InspectorAgent::didDestroyWorker): 18972 (WebCore::InspectorAgent::didOpenDatabase): 18973 (WebCore::InspectorAgent::getCookies): 18974 (WebCore::InspectorAgent::buildArrayForCookies): 18975 (WebCore::InspectorAgent::buildObjectForCookie): 18976 (WebCore::InspectorAgent::deleteCookie): 18977 (WebCore::InspectorAgent::didUseDOMStorage): 18978 (WebCore::InspectorAgent::didCreateWebSocket): 18979 (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest): 18980 (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse): 18981 (WebCore::InspectorAgent::didCloseWebSocket): 18982 (WebCore::InspectorAgent::isRecordingUserInitiatedProfile): 18983 (WebCore::InspectorAgent::startUserInitiatedProfiling): 18984 (WebCore::InspectorAgent::stopUserInitiatedProfiling): 18985 (WebCore::InspectorAgent::profilerEnabled): 18986 (WebCore::InspectorAgent::enableProfiler): 18987 (WebCore::InspectorAgent::disableProfiler): 18988 (WebCore::InspectorAgent::showAndEnableDebugger): 18989 (WebCore::InspectorAgent::enableDebugger): 18990 (WebCore::InspectorAgent::disableDebugger): 18991 (WebCore::InspectorAgent::resume): 18992 (WebCore::InspectorAgent::setAllBrowserBreakpoints): 18993 (WebCore::InspectorAgent::evaluateForTestInFrontend): 18994 (WebCore::InspectorAgent::didEvaluateForTestInFrontend): 18995 (WebCore::quadToPath): 18996 (WebCore::drawOutlinedQuad): 18997 (WebCore::drawOutlinedQuadWithClip): 18998 (WebCore::drawHighlightForBox): 18999 (WebCore::drawHighlightForLineBoxesOrSVGRenderer): 19000 (WebCore::convertFromFrameToMainFrame): 19001 (WebCore::frameToMainFrameOffset): 19002 (WebCore::InspectorAgent::drawNodeHighlight): 19003 (WebCore::InspectorAgent::drawElementTitle): 19004 (WebCore::InspectorAgent::openInInspectedWindow): 19005 (WebCore::InspectorAgent::addScriptToEvaluateOnLoad): 19006 (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad): 19007 (WebCore::InspectorAgent::setInspectorExtensionAPI): 19008 (WebCore::InspectorAgent::inspectedURL): 19009 (WebCore::InspectorAgent::reloadPage): 19010 (WebCore::InspectorAgent::setExtraHeaders): 19011 * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h. 19012 (WebCore::InspectorAgent::inspectorBackendDispatcher): 19013 (WebCore::InspectorAgent::inspectorClient): 19014 (WebCore::InspectorAgent::injectedScriptHost): 19015 (WebCore::InspectorAgent::inspectedPage): 19016 (WebCore::InspectorAgent::hideDOMNodeHighlight): 19017 (WebCore::InspectorAgent::hideFrameHighlight): 19018 (WebCore::InspectorAgent::frontend): 19019 (WebCore::InspectorAgent::inspectorController): 19020 (WebCore::InspectorAgent::inspectorAgent): 19021 (WebCore::InspectorAgent::consoleAgent): 19022 (WebCore::InspectorAgent::cssAgent): 19023 (WebCore::InspectorAgent::domAgent): 19024 (WebCore::InspectorAgent::injectedScriptAgent): 19025 (WebCore::InspectorAgent::runtimeAgent): 19026 (WebCore::InspectorAgent::timelineAgent): 19027 (WebCore::InspectorAgent::databaseAgent): 19028 (WebCore::InspectorAgent::domStorageAgent): 19029 (WebCore::InspectorAgent::fileSystemAgent): 19030 (WebCore::InspectorAgent::browserDebuggerAgent): 19031 (WebCore::InspectorAgent::debuggerAgent): 19032 (WebCore::InspectorAgent::profilerAgent): 19033 (WebCore::InspectorAgent::applicationCacheAgent): 19034 (WebCore::InspectorAgent::hasInspectorFrontendClient): 19035 (WebCore::InspectorAgent::hasFrontend): 19036 (WebCore::InspectorAgent::startProfiling): 19037 (WebCore::InspectorAgent::stopProfiling): 19038 (WebCore::InspectorAgent::debuggerEnabled): 19039 (WebCore::InspectorAgent::state): 19040 (WebCore::InspectorAgent::settings): 19041 * inspector/InspectorApplicationCacheAgent.cpp: 19042 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): 19043 (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): 19044 * inspector/InspectorApplicationCacheAgent.h: 19045 * inspector/InspectorBrowserDebuggerAgent.cpp: 19046 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 19047 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 19048 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 19049 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 19050 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 19051 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 19052 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 19053 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 19054 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 19055 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 19056 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 19057 * inspector/InspectorBrowserDebuggerAgent.h: 19058 (WebCore::InspectorBrowserDebuggerAgent::create): 19059 * inspector/InspectorConsoleAgent.cpp: 19060 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 19061 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 19062 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 19063 (WebCore::InspectorConsoleAgent::addMessageToConsole): 19064 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): 19065 (WebCore::InspectorConsoleAgent::didReceiveResponse): 19066 (WebCore::InspectorConsoleAgent::didFailLoading): 19067 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 19068 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 19069 (WebCore::InspectorConsoleAgent::addConsoleMessage): 19070 * inspector/InspectorConsoleAgent.h: 19071 * inspector/InspectorController.cpp: 19072 (WebCore::InspectorController::InspectorController): 19073 * inspector/InspectorController.h: 19074 * inspector/InspectorDatabaseAgent.cpp: 19075 * inspector/InspectorDebuggerAgent.cpp: 19076 (WebCore::InspectorDebuggerAgent::create): 19077 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 19078 (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): 19079 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 19080 (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): 19081 (WebCore::InspectorDebuggerAgent::currentCallFrames): 19082 * inspector/InspectorDebuggerAgent.h: 19083 * inspector/InspectorFileSystemAgent.cpp: 19084 (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem): 19085 (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): 19086 (WebCore::InspectorFileSystemAgent::stop): 19087 (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync): 19088 (WebCore::InspectorFileSystemAgent::didGetFileSystemPath): 19089 (WebCore::InspectorFileSystemAgent::didGetFileSystemError): 19090 * inspector/InspectorFileSystemAgent.h: 19091 (WebCore::InspectorFileSystemAgent::create): 19092 * inspector/InspectorFrontendHost.cpp: 19093 (WebCore::InspectorFrontendHost::setExtensionAPI): 19094 * inspector/InspectorProfilerAgent.cpp: 19095 (WebCore::InspectorProfilerAgent::create): 19096 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): 19097 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): 19098 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): 19099 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 19100 (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): 19101 * inspector/InspectorProfilerAgent.h: 19102 19103 2011-01-22 Chris Rogers <crogers (a] google.com> 19104 19105 Rubber-stamped by Anders Carlsson. 19106 19107 Fix FFTFrameStub to compile properly 19108 https://bugs.webkit.org/show_bug.cgi?id=52969 19109 19110 No new tests since this is a build fix. 19111 19112 * platform/audio/FFTFrameStub.cpp: 19113 (WebCore::FFTFrame::FFTFrame): 19114 19115 2011-01-22 Andrei Popescu <andreip (a] google.com> 19116 19117 Reviewed by Jeremy Orlow. 19118 19119 IndexedDB corrupts data on disk 19120 https://bugs.webkit.org/show_bug.cgi?id=52890 19121 19122 We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT. 19123 Test: storage/indexeddb/data-corruption.html 19124 19125 * platform/sql/SQLiteStatement.cpp: 19126 (WebCore::SQLiteStatement::bindBlob): 19127 (WebCore::SQLiteStatement::getColumnBlobAsString): 19128 (WebCore::SQLiteStatement::getColumnBlobAsVector): 19129 * platform/sql/SQLiteStatement.h: 19130 * storage/IDBCursorBackendImpl.cpp: 19131 (WebCore::IDBCursorBackendImpl::loadCurrentRow): 19132 * storage/IDBFactoryBackendImpl.cpp: 19133 (WebCore::runCommands): 19134 (WebCore::createTables): 19135 (WebCore::createMetaDataTable): 19136 (WebCore::migrateDatabase): 19137 * storage/IDBObjectStoreBackendImpl.cpp: 19138 (WebCore::IDBObjectStoreBackendImpl::getInternal): 19139 (WebCore::putObjectStoreData): 19140 19141 2011-01-22 Nikolas Zimmermann <nzimmermann (a] rim.com> 19142 19143 Not reviewed. Fix WinCE build. 19144 19145 * platform/graphics/wince/GraphicsContextWinCE.cpp: 19146 (WebCore::GraphicsContext::drawText): 19147 * rendering/RenderThemeWinCE.cpp: 19148 (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle): 19149 19150 2011-01-22 Nikolas Zimmermann <nzimmermann (a] rim.com> 19151 19152 Reviewed by Dirk Schulze. 19153 19154 REGRESSION: Vertical line metrics incorrect 19155 https://bugs.webkit.org/show_bug.cgi?id=52960 19156 19157 SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font. 19158 That didn't influence the lineSpacing so far, but does now, causing regressions. 19159 19160 Restore old line spacing behaviour to fix the regression. 19161 Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases. 19162 19163 * platform/graphics/FontMetrics.h: 19164 (WebCore::FontMetrics::FontMetrics): 19165 (WebCore::FontMetrics::floatLineSpacing): 19166 (WebCore::FontMetrics::setLineSpacing): 19167 (WebCore::FontMetrics::lineSpacing): 19168 (WebCore::FontMetrics::reset): 19169 * platform/graphics/SimpleFontData.cpp: 19170 (WebCore::SimpleFontData::SimpleFontData): 19171 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 19172 (WebCore::SimpleFontData::platformInit): 19173 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 19174 (WebCore::SimpleFontData::platformInit): 19175 * platform/graphics/freetype/SimpleFontDataFreeType.cpp: 19176 (WebCore::SimpleFontData::platformInit): 19177 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: 19178 (WebCore::SimpleFontData::platformInit): 19179 * platform/graphics/mac/SimpleFontDataMac.mm: 19180 (WebCore::SimpleFontData::platformInit): 19181 * platform/graphics/pango/SimpleFontDataPango.cpp: 19182 (WebCore::SimpleFontData::platformInit): 19183 * platform/graphics/qt/SimpleFontDataQt.cpp: 19184 (WebCore::SimpleFontData::platformInit): 19185 * platform/graphics/win/SimpleFontDataCGWin.cpp: 19186 (WebCore::SimpleFontData::platformInit): 19187 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 19188 (WebCore::SimpleFontData::platformInit): 19189 * platform/graphics/win/SimpleFontDataWin.cpp: 19190 (WebCore::SimpleFontData::initGDIFont): 19191 * platform/graphics/wince/SimpleFontDataWinCE.cpp: 19192 (WebCore::SimpleFontData::platformInit): 19193 * platform/graphics/wx/SimpleFontDataWx.cpp: 19194 (WebCore::SimpleFontData::platformInit): 19195 19196 2011-01-22 Andreas Kling <kling (a] webkit.org> 19197 19198 Reviewed by Kenneth Rohde Christiansen. 19199 19200 [Qt] fast/backgrounds/svg-as-mask.html fails 19201 https://bugs.webkit.org/show_bug.cgi?id=52906 19202 19203 Transparency layers should start out with in SourceOver mode with 19204 alpha 1.0 (modeled after CGContextBeginTransparencyLayer.) 19205 19206 * platform/graphics/qt/TransparencyLayer.h: 19207 (WebCore::TransparencyLayer::TransparencyLayer): 19208 19209 2011-01-22 Nikolas Zimmermann <nzimmermann (a] rim.com> 19210 19211 Not reviewed. 19212 19213 Introduce FontMetrics abstraction 19214 https://bugs.webkit.org/show_bug.cgi?id=51456 19215 19216 Fix Chromium/Win build. 19217 19218 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./ 19219 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): 19220 19221 2011-01-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 19222 19223 Reviewed by Dirk Schulze. 19224 19225 Introduce FontMetrics abstraction 19226 https://bugs.webkit.org/show_bug.cgi?id=51456 19227 19228 Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of 19229 having to define them in both Font & SimpleFontData. Changed to store floating point values 19230 as default, in order to get accurate information for small sized fonts. All these methods 19231 now have floating-point and integer versions. Whenever an integer variant of these functions 19232 is called, lroundf() is used to round the value. 19233 19234 This makes it possible to support small font-sizes for SVG in a follow-up patch, as well 19235 as fixing rounding issues when using SVG Fonts. 19236 19237 Shouldn't affect existing tests. 19238 19239 * GNUmakefile.am: Add FontMetrics.h to build. 19240 * WebCore.gypi: Ditto. 19241 * WebCore.pro: Ditto. 19242 * WebCore.vcproj/WebCore.vcproj: Ditto. 19243 * WebCore.xcodeproj/project.pbxproj: Ditto. 19244 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. 19245 (baselinePositionForAccessibilityRenderObject): 19246 * css/CSSPrimitiveValue.cpp: 19247 (WebCore::CSSPrimitiveValue::computeLengthDouble): 19248 * html/canvas/CanvasRenderingContext2D.cpp: Ditto. 19249 (WebCore::CanvasRenderingContext2D::drawTextInternal): 19250 * inspector/InspectorController.cpp: Ditto. 19251 (WebCore::InspectorController::drawElementTitle): 19252 * platform/chromium/PopupMenuChromium.cpp: Ditto. 19253 (WebCore::PopupListBox::paintRow): 19254 (WebCore::PopupListBox::getRowHeight): 19255 * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor... 19256 (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here. 19257 * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information. 19258 (WebCore::Font::emphasisMarkAscent): 19259 (WebCore::Font::emphasisMarkDescent): 19260 (WebCore::Font::emphasisMarkHeight): 19261 (WebCore::Font::floatWidthForSimpleText): 19262 * platform/graphics/FontMetrics.h: Added. 19263 (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData. 19264 (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm. 19265 (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value. 19266 (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float. 19267 (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float. 19268 (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float. 19269 (WebCore::FontMetrics::setDescent): Sets the stored m_descent float. 19270 (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent(). 19271 (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float. 19272 (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float. 19273 (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float. 19274 (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float. 19275 (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix). 19276 (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float. 19277 (WebCore::FontMetrics::ascent): Returns a rounded version of ascent(). 19278 (WebCore::FontMetrics::descent): Ditto (for descent). 19279 (WebCore::FontMetrics::height): Returns ascent() + descent(). 19280 (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap(). 19281 (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing). 19282 (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData. 19283 * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone. 19284 (WebCore::SimpleFontData::SimpleFontData): 19285 (WebCore::SimpleFontData::initCharWidths): 19286 * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it. 19287 (WebCore::SimpleFontData::fontMetrics): 19288 (WebCore::SimpleFontData::avgCharWidth): 19289 * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics. 19290 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): 19291 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 19292 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): 19293 (WebCore::Font::drawComplexText): 19294 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object. 19295 (WebCore::SimpleFontData::platformInit): 19296 * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto. 19297 (WebCore::SimpleFontData::platformInit): 19298 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics. 19299 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): 19300 (WebCore::UniscribeHelperTextRun::nextWinFontData): 19301 * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object. 19302 (WebCore::SimpleFontData::platformInit): 19303 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto. 19304 (WebCore::SimpleFontData::platformInit): 19305 * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics. 19306 (WebCore::Font::floatWidthForComplexText): 19307 * platform/graphics/mac/FontMac.mm: Ditto. 19308 (WebCore::showGlyphsWithAdvances): 19309 * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object. 19310 (WebCore::SimpleFontData::platformInit): 19311 (WebCore::SimpleFontData::platformCharWidthInit): 19312 * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto. 19313 (WebCore::SimpleFontData::platformInit): 19314 * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.) 19315 (WebCore::SimpleFontData::platformInit): 19316 * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics. 19317 (WebCore::drawGDIGlyphs): 19318 * platform/graphics/win/FontWin.cpp: Ditto. 19319 (WebCore::Font::floatWidthForComplexText): 19320 * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object. 19321 (WebCore::SimpleFontData::platformInit): 19322 (WebCore::SimpleFontData::platformBoundsForGlyph): 19323 * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto. 19324 (WebCore::SimpleFontData::platformInit): 19325 * platform/graphics/win/SimpleFontDataWin.cpp: Ditto. 19326 (WebCore::SimpleFontData::initGDIFont): 19327 * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics. 19328 (WebCore::GraphicsContext::drawText): 19329 * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object. 19330 (WebCore::SimpleFontData::platformInit): 19331 * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto. 19332 (WebCore::SimpleFontData::platformInit): 19333 * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. 19334 (WebCore::PopupMenuWin::calculatePositionAndSize): 19335 (WebCore::PopupMenuWin::paint): 19336 * rendering/EllipsisBox.cpp: Ditto. 19337 (WebCore::EllipsisBox::paint): 19338 (WebCore::EllipsisBox::nodeAtPoint): 19339 * rendering/InlineBox.cpp: Ditto. 19340 (WebCore::InlineBox::logicalHeight): 19341 * rendering/InlineFlowBox.cpp: Ditto. 19342 (WebCore::verticalPositionForBox): 19343 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 19344 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 19345 * rendering/InlineTextBox.cpp: Ditto. 19346 (WebCore::InlineTextBox::paint): 19347 (WebCore::InlineTextBox::paintDecoration): 19348 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 19349 (WebCore::InlineTextBox::paintCompositionUnderline): 19350 * rendering/RenderBlock.cpp: Ditto. 19351 (WebCore::RenderBlock::baselinePosition): 19352 (WebCore::RenderBlock::firstLineBoxBaseline): 19353 (WebCore::RenderBlock::lastLineBoxBaseline): 19354 * rendering/RenderBox.cpp: Ditto. 19355 (WebCore::RenderBox::localCaretRect): 19356 * rendering/RenderEmbeddedObject.cpp: Ditto. 19357 (WebCore::RenderEmbeddedObject::paintReplaced): 19358 * rendering/RenderImage.cpp: Ditto. 19359 (WebCore::RenderImage::setImageSizeForAltText): 19360 (WebCore::RenderImage::paintReplaced): 19361 * rendering/RenderInline.cpp: Ditto. 19362 (WebCore::RenderInline::baselinePosition): 19363 * rendering/RenderListBox.cpp: Ditto. 19364 (WebCore::RenderListBox::paintItemForeground): 19365 (WebCore::RenderListBox::itemHeight): 19366 * rendering/RenderListMarker.cpp: Ditto. 19367 (WebCore::RenderListMarker::paint): 19368 (WebCore::RenderListMarker::layout): 19369 (WebCore::RenderListMarker::computePreferredLogicalWidths): 19370 (WebCore::RenderListMarker::updateMargins): 19371 (WebCore::RenderListMarker::getRelativeMarkerRect): 19372 * rendering/RenderTextControl.cpp: Ditto. 19373 (WebCore::RenderTextControl::paintPlaceholder): 19374 * rendering/RenderTextControlSingleLine.cpp: Ditto. 19375 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 19376 * rendering/RenderThemeWin.cpp: Ditto. 19377 (WebCore::RenderThemeWin::adjustMenuListButtonStyle): 19378 * rendering/mathml/RenderMathMLFraction.cpp: Ditto. 19379 (WebCore::RenderMathMLFraction::baselinePosition): 19380 * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor. 19381 (WebCore::InheritedFlags::fontMetrics): 19382 (WebCore::InheritedFlags::computedLineHeight): 19383 * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. 19384 (WebCore::RenderSVGInlineText::positionForPoint): 19385 * rendering/svg/SVGInlineTextBox.cpp: Ditto. 19386 (WebCore::SVGInlineTextBox::selectionRectForTextFragment): 19387 (WebCore::positionOffsetForDecoration): 19388 (WebCore::SVGInlineTextBox::paintDecorationWithStyle): 19389 (WebCore::SVGInlineTextBox::paintTextWithShadows): 19390 (WebCore::SVGInlineTextBox::calculateBoundaries): 19391 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto. 19392 (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): 19393 (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): 19394 (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation): 19395 * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto. 19396 (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): 19397 * rendering/svg/SVGTextMetrics.cpp: Ditto. 19398 (WebCore::SVGTextMetrics::SVGTextMetrics): 19399 * rendering/svg/SVGTextQuery.cpp: Ditto. 19400 (WebCore::calculateGlyphBoundaries): 19401 * svg/SVGFontFaceElement.cpp: 19402 (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm. 19403 * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. 19404 (WebCore::SVGLength::convertValueFromUserUnitsToEXS): 19405 (WebCore::SVGLength::convertValueFromEXSToUserUnits): 19406 19407 2011-01-22 Ryosuke Niwa <rniwa (a] webkit.org> 19408 19409 Reviewed by Eric Seidel. 19410 19411 Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock 19412 https://bugs.webkit.org/show_bug.cgi?id=52759 19413 19414 Stopped instantiating legacy editing positions in the following files. 19415 19416 * editing/VisibleSelection.cpp: 19417 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 19418 * editing/visible_units.cpp: 19419 (WebCore::previousBoundary): 19420 (WebCore::previousLinePosition): 19421 (WebCore::nextLinePosition): 19422 (WebCore::startOfBlock): 19423 * page/Frame.cpp: 19424 (WebCore::Frame::visiblePositionForPoint): 19425 * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere. 19426 * rendering/RenderBlock.h: Ditto. 19427 19428 2011-01-22 Adrienne Walker <enne (a] google.com> 19429 19430 Reviewed by James Robinson. 19431 19432 [chromium] Fix compositor repaints for offscreen fixed elements 19433 https://bugs.webkit.org/show_bug.cgi?id=52681 19434 19435 The fast path scrolling was clipping offscreen invalidations. 19436 Additionally, the compositor was ignoring all invalidations that were 19437 entirely out of the content rect. 19438 19439 Test: compositing/ to verify this caused no regressions. 19440 Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests. 19441 19442 * page/FrameView.cpp: 19443 (WebCore::FrameView::scrollContentsFastPath): 19444 * platform/graphics/chromium/LayerRendererChromium.cpp: 19445 (WebCore::LayerRendererChromium::invalidateRootLayerRect): 19446 19447 2011-01-22 Alexey Proskuryakov <ap (a] apple.com> 19448 19449 Reviewed by Dan Bernstein. 19450 19451 https://bugs.webkit.org/show_bug.cgi?id=52951 19452 WebKit2 generates a bad PDF for cross process messaging 19453 19454 * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually 19455 draw inside the requested rectangle. 19456 19457 2011-01-21 Yury Semikhatsky <yurys (a] chromium.org> 19458 19459 Reviewed by Adam Barth. 19460 19461 Regression: new window.onerror() implementation leaks cross-origin Javascript errors 19462 https://bugs.webkit.org/show_bug.cgi?id=52903 19463 19464 In case of an exception in a script from different domain only generic message 19465 will be passed to window.onerror hander. 19466 19467 Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html 19468 http/tests/security/cross-origin-script-window-onerror.html 19469 19470 * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all 19471 cross origin checks agains real script URL, not the original URL which may have resulted in a sequence 19472 of redirects to different domains. 19473 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 19474 * bindings/v8/ScriptSourceCode.h: same for v8. 19475 (WebCore::ScriptSourceCode::url): 19476 * dom/ScriptExecutionContext.cpp: 19477 (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot 19478 access provide concise "Script error." message without any information about the error source. This is 19479 what Firefox does in this case. 19480 19481 2011-01-21 Andreas Kling <kling (a] webkit.org> 19482 19483 Reviewed by Kenneth Rohde Christiansen. 19484 19485 [Qt] Always set composition mode through GraphicsContext 19486 https://bugs.webkit.org/show_bug.cgi?id=52940 19487 19488 GraphicsContext tracks the current composition mode so we should 19489 never call through to the QPainter directly. 19490 19491 * platform/graphics/GraphicsContext.h: 19492 * platform/graphics/qt/GraphicsContextQt.cpp: 19493 (WebCore::toQtCompositionMode): Changed this method to a static inline 19494 since it's only used by GraphicsContextQt.cpp now. 19495 19496 * platform/graphics/qt/ImageQt.cpp: 19497 (WebCore::Image::drawPattern): 19498 (WebCore::BitmapImage::draw): 19499 19500 2011-01-21 Dan Bernstein <mitz (a] apple.com> 19501 19502 Reviewed by Adele Peterson. 19503 19504 Inconsistent handling of no-break space in justification logic 19505 https://bugs.webkit.org/show_bug.cgi?id=52938 19506 19507 Test: fast/text/justify-nbsp.html 19508 19509 * rendering/RenderBlockLineLayout.cpp: 19510 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a 19511 space when computing the distribution of space between text boxes on the line. 19512 19513 2011-01-21 Charlie Reis <creis (a] chromium.org> 19514 19515 Reviewed by Darin Fisher. 19516 19517 Crash in WebCore::HistoryController::itemsAreClones 19518 https://bugs.webkit.org/show_bug.cgi?id=52819 19519 19520 Adds sanity checks to help diagnose the crash. 19521 19522 * loader/HistoryController.cpp: 19523 19524 2011-01-21 Andreas Kling <kling (a] webkit.org> 19525 19526 Reviewed by Ariya Hidayat. 19527 19528 [Qt] Let QPainter decide whether a composition mode is supported or not 19529 19530 Lacking Porter-Duff support in the paint engine shouldn't exclude the 19531 Source and Source-Over modes (and has nothing to do with the blend 19532 and raster-op modes.) 19533 19534 Delegate this decision to QPainter instead (this will cause warnings 19535 if an unsupported mode is used, but that's a good thing.) 19536 19537 * platform/graphics/qt/GraphicsContextQt.cpp: 19538 (WebCore::GraphicsContext::clearRect): 19539 (WebCore::GraphicsContext::setPlatformCompositeOperation): 19540 * platform/graphics/qt/TransparencyLayer.h: 19541 (WebCore::TransparencyLayer::TransparencyLayer): 19542 19543 2011-01-21 Chris Rogers <crogers (a] google.com> 19544 19545 Reviewed by Kenneth Russell. 19546 19547 fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h" 19548 https://bugs.webkit.org/show_bug.cgi?id=52933 19549 19550 No new tests since this just fixes the build 19551 19552 * webaudio/RealtimeAnalyser.h: 19553 19554 2011-01-21 Chris Rogers <crogers (a] google.com> 19555 19556 Reviewed by Kenneth Russell. 19557 19558 Fix audio build: change ChromiumBridge to PlatformBridge 19559 https://bugs.webkit.org/show_bug.cgi?id=52928 19560 19561 No new tests since audio API is not yet implemented. 19562 19563 * platform/audio/chromium/AudioBusChromium.cpp: 19564 (WebCore::AudioBus::loadPlatformResource): 19565 19566 2011-01-21 Chris Rogers <crogers (a] google.com> 19567 19568 Reviewed by Kenneth Russell. 19569 19570 Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation 19571 https://bugs.webkit.org/show_bug.cgi?id=52922 19572 19573 No new tests since audio API is not yet implemented. 19574 19575 * WebCore.gypi: 19576 * platform/audio/FFTFrameStub.cpp: Added. 19577 (WebCore::FFTFrame::FFTFrame): 19578 (WebCore::FFTFrame::~FFTFrame): 19579 (WebCore::FFTFrame::multiply): 19580 (WebCore::FFTFrame::doFFT): 19581 (WebCore::FFTFrame::doInverseFFT): 19582 (WebCore::FFTFrame::cleanup): 19583 (WebCore::FFTFrame::realData): 19584 (WebCore::FFTFrame::imagData): 19585 19586 2011-01-21 Tony Chang <tony (a] chromium.org> 19587 19588 Reviewed by Sam Weinig. 19589 19590 reduce number of FrameLoaderClient::didChangeScrollOffset calls 19591 https://bugs.webkit.org/show_bug.cgi?id=52915 19592 19593 Only notify of changes in scroll offset when there actually is a change. 19594 This regressed in r76291. 19595 19596 Covered by Chromium browser_tests. 19597 19598 * platform/ScrollAnimator.cpp: 19599 (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): 19600 19601 2011-01-21 Pavel Feldman <pfeldman (a] chromium.org> 19602 19603 Reviewed by Yury Semikhatsky. 19604 19605 Web Inspector: ~InspectorResourceAgent crashes on closing inspected page. 19606 https://bugs.webkit.org/show_bug.cgi?id=52900 19607 19608 * inspector/InspectorController.cpp: 19609 (WebCore::InspectorController::~InspectorController): 19610 (WebCore::InspectorController::inspectedPageDestroyed): 19611 19612 2011-01-21 Chris Rogers <crogers (a] google.com> 19613 19614 Reviewed by Darin Fisher. 19615 19616 Add run-time enable support for the web audio API 19617 https://bugs.webkit.org/show_bug.cgi?id=52741 19618 19619 No new tests since audio API is not yet implemented. 19620 19621 * WebCore.exp.in: 19622 * bindings/generic/RuntimeEnabledFeatures.cpp: 19623 * bindings/generic/RuntimeEnabledFeatures.h: 19624 (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled): 19625 (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled): 19626 * page/DOMWindow.idl: 19627 * page/Settings.cpp: 19628 (WebCore::Settings::Settings): 19629 (WebCore::Settings::setWebAudioEnabled): 19630 * page/Settings.h: 19631 (WebCore::Settings::webAudioEnabled): 19632 19633 2011-01-21 Martin Robinson <mrobinson (a] igalia.com> 19634 19635 Reviewed by Xan Lopez. 19636 19637 [GTK] Menulist text often collides with separator 19638 https://bugs.webkit.org/show_bug.cgi?id=51155 19639 19640 Move menulist rendering to RenderThemeGtk and correct padding code 19641 for separators in menulists. 19642 19643 * platform/gtk/RenderThemeGtk.cpp: 19644 (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members. 19645 (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added. 19646 (WebCore::RenderThemeGtk::comboBoxArrowSize): Added. 19647 (WebCore::getButtonInnerBorder): Added. 19648 (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using 19649 Mozilla code. 19650 (WebCore::RenderThemeGtk::paintMenuList): Ditto. 19651 (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer 19652 out to handle child widgets of comboboxes. 19653 (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget. 19654 (WebCore::RenderThemeGtk::gtkContainer): Added. 19655 (WebCore::getGtkComboBoxButton): Added. 19656 (WebCore::getGtkComboBoxPieces): Added. 19657 (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here. 19658 (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added. 19659 (WebCore::RenderThemeGtk::gtkComboBoxButton): Added. 19660 (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added. 19661 (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added. 19662 * platform/gtk/RenderThemeGtk.h: Added new members and methods. 19663 * platform/gtk/WidgetRenderingContext.h: Added new members and methods. 19664 * platform/gtk/WidgetRenderingContextGtk2.cpp: 19665 (WebCore::WidgetRenderingContext::gtkPaintArrow): 19666 (WebCore::WidgetRenderingContext::gtkPaintVLine): 19667 * platform/gtk/WidgetRenderingContextGtk3.cpp: 19668 (WebCore::WidgetRenderingContext::gtkPaintArrow): 19669 (WebCore::WidgetRenderingContext::gtkPaintVLine): 19670 * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons. 19671 (moz_gtk_init): 19672 (moz_gtk_get_widget_border): 19673 (moz_gtk_widget_paint): 19674 * platform/gtk/gtk3drawing.c: 19675 (moz_gtk_init): 19676 (moz_gtk_get_widget_border): 19677 (moz_gtk_widget_paint): 19678 * platform/gtk/gtkdrawing.h: 19679 19680 2011-01-21 Sam Weinig <sam (a] webkit.org> 19681 19682 Fix chromium mac build. 19683 19684 * platform/chromium/ScrollbarThemeChromiumMac.mm: 19685 (WebCore::scrollbarStateToThemeState): 19686 (WebCore::ScrollbarThemeChromiumMac::paint): 19687 19688 2011-01-21 Sam Weinig <sam (a] webkit.org> 19689 19690 Fix the windows build. 19691 19692 * platform/ScrollbarThemeComposite.cpp: 19693 (WebCore::ScrollbarThemeComposite::paint): 19694 19695 2011-01-21 Chris Rogers <crogers (a] google.com> 19696 19697 Reviewed by Kenneth Russell. 19698 19699 Add chromium bundled audio spatialization resources to WebAudio.grd 19700 https://bugs.webkit.org/show_bug.cgi?id=52651 19701 19702 No new tests since audio API is not yet implemented. 19703 19704 * WebCore.gyp/WebCore.gyp: 19705 * platform/audio/chromium/AudioBusChromium.cpp: 19706 (WebCore::AudioBus::loadPlatformResource): 19707 19708 2011-01-21 Xiyuan Xia <xiyuan (a] chromium.org> 19709 19710 Reviewed by Tony Chang. 19711 19712 Use WebThemeEngine for relevant RenderTheme parts for chromium/linux. 19713 https://bugs.webkit.org/show_bug.cgi?id=52826 19714 19715 * platform/chromium/ChromiumBridge.h: 19716 * rendering/RenderThemeChromiumLinux.cpp: 19717 (WebCore::getWebThemeState): 19718 (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): 19719 (WebCore::RenderThemeChromiumLinux::paintCheckbox): 19720 (WebCore::RenderThemeChromiumLinux::setCheckboxSize): 19721 (WebCore::RenderThemeChromiumLinux::paintRadio): 19722 (WebCore::RenderThemeChromiumLinux::setRadioSize): 19723 (WebCore::RenderThemeChromiumLinux::paintButton): 19724 (WebCore::RenderThemeChromiumLinux::paintTextField): 19725 (WebCore::RenderThemeChromiumLinux::paintMenuList): 19726 (WebCore::RenderThemeChromiumLinux::paintSliderTrack): 19727 (WebCore::RenderThemeChromiumLinux::paintSliderThumb): 19728 (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): 19729 (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): 19730 (WebCore::RenderThemeChromiumLinux::paintProgressBar): 19731 * rendering/RenderThemeChromiumLinux.h: 19732 * rendering/RenderThemeChromiumSkia.cpp: 19733 (WebCore::RenderThemeChromiumSkia::setCheckboxSize): 19734 (WebCore::RenderThemeChromiumSkia::setSizeIfAuto): 19735 (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor): 19736 * rendering/RenderThemeChromiumSkia.h: 19737 19738 2011-01-21 Sam Weinig <sam (a] webkit.org> 19739 19740 Reviewed by Anders Carlsson. 19741 19742 Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" 19743 https://bugs.webkit.org/show_bug.cgi?id=52779 19744 19745 Rename ScrollbarClient -> ScrollableArea. 19746 19747 - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea 19748 since that was its only use case. 19749 19750 * CMakeLists.txt: 19751 * GNUmakefile.am: 19752 * WebCore.gypi: 19753 * WebCore.pro: 19754 * WebCore.vcproj/WebCore.vcproj: 19755 * WebCore.xcodeproj/project.pbxproj: 19756 * accessibility/AccessibilityScrollbar.cpp: 19757 (WebCore::AccessibilityScrollbar::setValue): 19758 * css/CSSStyleSelector.cpp: 19759 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 19760 * page/FrameView.h: 19761 * platform/PopupMenuClient.h: 19762 * platform/ScrollAnimator.cpp: 19763 (WebCore::ScrollAnimator::create): 19764 (WebCore::ScrollAnimator::ScrollAnimator): 19765 (WebCore::ScrollAnimator::scroll): 19766 (WebCore::ScrollAnimator::notityPositionChanged): 19767 * platform/ScrollAnimator.h: 19768 * platform/ScrollAnimatorWin.cpp: 19769 (WebCore::ScrollAnimator::create): 19770 (WebCore::ScrollAnimatorWin::ScrollAnimatorWin): 19771 (WebCore::ScrollAnimatorWin::scroll): 19772 * platform/ScrollAnimatorWin.h: 19773 * platform/ScrollView.cpp: 19774 (WebCore::ScrollView::scroll): 19775 (WebCore::ScrollView::updateScrollbars): 19776 (WebCore::ScrollView::wheelEvent): 19777 * platform/ScrollView.h: 19778 * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp. 19779 (WebCore::ScrollableArea::ScrollableArea): 19780 (WebCore::ScrollableArea::~ScrollableArea): 19781 (WebCore::ScrollableArea::scroll): 19782 (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): 19783 (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation): 19784 (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation): 19785 (WebCore::ScrollableArea::setScrollOffsetFromAnimation): 19786 * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h. 19787 * platform/Scrollbar.cpp: 19788 (WebCore::Scrollbar::createNativeScrollbar): 19789 (WebCore::Scrollbar::Scrollbar): 19790 (WebCore::Scrollbar::offsetDidChange): 19791 (WebCore::Scrollbar::autoscrollPressedPart): 19792 (WebCore::Scrollbar::moveThumb): 19793 (WebCore::Scrollbar::mouseMoved): 19794 (WebCore::Scrollbar::isWindowActive): 19795 (WebCore::Scrollbar::invalidateRect): 19796 (WebCore::Scrollbar::convertToContainingView): 19797 (WebCore::Scrollbar::convertFromContainingView): 19798 * platform/Scrollbar.h: 19799 (WebCore::Scrollbar::disconnectFromScrollableArea): 19800 (WebCore::Scrollbar::scrollableArea): 19801 * platform/ScrollbarClient.cpp: Removed. 19802 * platform/ScrollbarClient.h: Removed. 19803 * platform/ScrollbarThemeComposite.cpp: 19804 * platform/chromium/FramelessScrollView.h: 19805 * platform/chromium/ScrollbarThemeChromium.cpp: 19806 (WebCore::ScrollbarThemeChromium::paintTickmarks): 19807 * platform/efl/ScrollbarEfl.cpp: 19808 (Scrollbar::createNativeScrollbar): 19809 (ScrollbarEfl::ScrollbarEfl): 19810 (scrollbarEflEdjeMessage): 19811 * platform/efl/ScrollbarEfl.h: 19812 * platform/gtk/MainFrameScrollbarGtk.cpp: 19813 (MainFrameScrollbarGtk::create): 19814 (MainFrameScrollbarGtk::MainFrameScrollbarGtk): 19815 (MainFrameScrollbarGtk::gtkValueChanged): 19816 * platform/gtk/MainFrameScrollbarGtk.h: 19817 * platform/mac/ScrollAnimatorMac.h: 19818 * platform/mac/ScrollAnimatorMac.mm: 19819 (WebCore::ScrollAnimator::create): 19820 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 19821 (WebCore::ScrollAnimatorMac::scroll): 19822 * platform/mac/ScrollbarThemeMac.mm: 19823 (WebCore::ScrollbarThemeMac::paint): 19824 * platform/qt/ScrollbarQt.cpp: 19825 (WebCore::Scrollbar::contextMenu): 19826 * platform/win/PopupMenuWin.cpp: 19827 (WebCore::PopupMenuWin::scrollToRevealSelection): 19828 (WebCore::PopupMenuWin::wndProc): 19829 * platform/win/PopupMenuWin.h: 19830 * platform/win/ScrollbarThemeSafari.cpp: 19831 (WebCore::ScrollbarThemeSafari::paintTrackBackground): 19832 (WebCore::ScrollbarThemeSafari::paintButton): 19833 (WebCore::ScrollbarThemeSafari::paintThumb): 19834 * platform/wx/ScrollbarThemeWx.cpp: 19835 (WebCore::ScrollbarThemeWx::paint): 19836 * rendering/RenderDataGrid.h: 19837 * rendering/RenderLayer.cpp: 19838 (WebCore::RenderLayer::scrollToOffset): 19839 (WebCore::RenderLayer::destroyScrollbar): 19840 (WebCore::RenderLayer::scroll): 19841 * rendering/RenderLayer.h: 19842 * rendering/RenderListBox.cpp: 19843 (WebCore::RenderListBox::scrollToRevealElementAtListIndex): 19844 (WebCore::RenderListBox::scroll): 19845 (WebCore::RenderListBox::logicalScroll): 19846 (WebCore::RenderListBox::setScrollTop): 19847 (WebCore::RenderListBox::destroyScrollbar): 19848 * rendering/RenderListBox.h: 19849 * rendering/RenderMenuList.cpp: 19850 (WebCore::RenderMenuList::createScrollbar): 19851 * rendering/RenderMenuList.h: 19852 * rendering/RenderScrollbar.cpp: 19853 (WebCore::RenderScrollbar::createCustomScrollbar): 19854 (WebCore::RenderScrollbar::RenderScrollbar): 19855 * rendering/RenderScrollbar.h: 19856 * rendering/RenderTextControlSingleLine.cpp: 19857 (WebCore::RenderTextControlSingleLine::createScrollbar): 19858 * rendering/RenderTextControlSingleLine.h: 19859 19860 2011-01-21 Darin Adler <darin (a] apple.com> 19861 19862 Fix Leopard build. 19863 19864 * rendering/mathml/RenderMathMLFraction.cpp: 19865 (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil. 19866 19867 2011-01-21 Anton Muhin <antonm (a] chromium.org> 19868 19869 Reviewed by Nate Chapin. 19870 19871 [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors 19872 https://bugs.webkit.org/show_bug.cgi?id=52901 19873 19874 Test: fast/dom/htmlcollection-conversion-throws-exception.html 19875 19876 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 19877 (WebCore::getItem): 19878 19879 2011-01-21 Adam Roben <aroben (a] apple.com> 19880 19881 Separate flushing layer changes from rendering in CACFLayerTreeHost 19882 19883 Old model: 19884 1) A change is made to a GraphicsLayer. 19885 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the 19886 render timer. 19887 3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the 19888 flush and then renders. 19889 19890 New model: 19891 1) A change is made to a GraphicsLayer. 19892 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new 19893 LayerChangesFlusher singleton that this host has changes that need to be flushed. 19894 3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration 19895 of the message loop. 19896 4) LayerChangesFlusher's hook is called, which calls through to 19897 CACFLayerTreeHost::flushPendingLayerChangesNow. 19898 5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes 19899 that were just flushed to the context will be rendered. 19900 19901 When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer 19902 (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of 19903 scheduling the flush. 19904 19905 This change has three advantages: 19906 1) Whenever we flush layer changes, we first update layout. This can cause the page to 19907 leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost 19908 to be dropped. By separating flushing (and thus updating layout) from rendering, we no 19909 longer have to worry about this happen during rendering. 19910 2) The new model is much more similar to how things work on the Mac, so will hopefully 19911 reduce the number of platform-specific bugs. 19912 3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a 19913 layout was pending, is no longer needed. It actually hasn't been needed since at least 19914 r75987, but removing it before now would have resulted in a crash whenever a page came 19915 out of compositing mode due to (1). 19916 19917 Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in 19918 CACFLayerTreeHost, but shouldn't be 19919 19920 Reviewed by Simon Fraser. 19921 19922 * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher. 19923 19924 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing 19925 #includes. 19926 (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member. 19927 (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes, 19928 schedule a flush. Removed the call to renderSoon(), which now happens when the flush is 19929 finished. 19930 (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also 19931 fixed a bug where we'd fail to clear the context's layer. 19932 (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which 19933 is no longer needed. Moved code to flush layer changes from here to 19934 flushPendingLayerChangesNow, which is called via the above-described mechanism. 19935 (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed 19936 code to schedule a render, which now happens after we've flushed. 19937 (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from 19938 render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying 19939 PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we 19940 schedule a render so that the changes will be rendered to the screen. 19941 19942 * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed 19943 CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and 19944 m_isFlushingLayerChanges. 19945 19946 * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. 19947 (WebCore::LayerChangesFlusher::shared): 19948 (WebCore::LayerChangesFlusher::LayerChangesFlusher): 19949 (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): 19950 (WebCore::LayerChangesFlusher::cancelPendingFlush): 19951 (WebCore::LayerChangesFlusher::hookCallback): 19952 (WebCore::LayerChangesFlusher::hookFired): 19953 (WebCore::LayerChangesFlusher::setHook): 19954 (WebCore::LayerChangesFlusher::removeHook): 19955 19956 * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added. 19957 (WebCore::LayerChangesFlusher::shared): Returns the singleton. 19958 (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members. 19959 (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of 19960 hosts with changes that need to be flushed, and set up our hook if we haven't already. 19961 (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts 19962 with changes that need to be flushed. If we have no more such hosts, remove our hook, unless 19963 we're currently in the process of calling out to our hosts, in which case we'll take care of 19964 the hook once we're done calling out. 19965 (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when 19966 our hook fires. Just calls through to hookFired on the singleton. 19967 (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be 19968 flushed that it's time to flush. If no hosts re-added themselves to our set during this 19969 process, remove our hook. 19970 (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW. 19971 (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx. 19972 19973 * platform/graphics/ca/win/LayerChangesFlusher.h: Added. 19974 19975 2011-01-21 Simon Fraser <simon.fraser (a] apple.com> 19976 19977 Reviewed by Sam Weinig. 19978 19979 GraphicsLayer should be non-copyable 19980 https://bugs.webkit.org/show_bug.cgi?id=52909 19981 19982 Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED 19983 on that and KeyframeValueList. 19984 19985 * platform/graphics/GraphicsLayer.h: 19986 19987 2011-01-21 Simon Fraser <simon.fraser (a] apple.com> 19988 19989 Reviewed by Sam Weinig. 19990 19991 Report the sized used by canvases and types arrays 19992 https://bugs.webkit.org/show_bug.cgi?id=52856 19993 19994 Report the memory cost associated with canvas elements, 19995 and typed arrays to JavaScript as extraCost, so that it 19996 can figure this into its GC behavior. 19997 19998 * bindings/js/JSArrayBufferViewHelper.h: 19999 (WebCore::toJSArrayBufferView): New templatized function, similar 20000 to getDOMObjectWrapper() but calls reportExtraMemoryCost() with 20001 the byteLength of the array. 20002 20003 * bindings/js/JSFloat32ArrayCustom.cpp: 20004 (WebCore::toJS): Use toJSArrayBufferView. 20005 * bindings/js/JSInt16ArrayCustom.cpp: 20006 (WebCore::toJS): Use toJSArrayBufferView. 20007 * bindings/js/JSInt32ArrayCustom.cpp: 20008 (WebCore::toJS): Use toJSArrayBufferView. 20009 * bindings/js/JSInt8ArrayCustom.cpp: 20010 (WebCore::toJS): Use toJSArrayBufferView. 20011 * bindings/js/JSUint16ArrayCustom.cpp: 20012 (WebCore::toJS): Use toJSArrayBufferView. 20013 * bindings/js/JSUint32ArrayCustom.cpp: 20014 (WebCore::toJS): Use toJSArrayBufferView. 20015 * bindings/js/JSUint8ArrayCustom.cpp: 20016 (WebCore::toJS): Use toJSArrayBufferView. 20017 20018 * html/HTMLCanvasElement.cpp: 20019 (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost() 20020 with the size of the canvas backing store. 20021 20022 * html/canvas/TypedArrayBase.h: 20023 (WebCore::TypedArrayBase::byteLength): byteLength needs to 20024 be public. 20025 20026 * platform/graphics/ImageBuffer.h: Add dataSize() method. 20027 20028 * platform/graphics/cairo/ImageBufferCairo.cpp: 20029 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20030 * platform/graphics/cg/ImageBufferCG.cpp: 20031 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20032 * platform/graphics/haiku/ImageBufferHaiku.cpp: 20033 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20034 * platform/graphics/qt/ImageBufferQt.cpp: 20035 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20036 * platform/graphics/skia/ImageBufferSkia.cpp: 20037 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20038 * platform/graphics/wince/ImageBufferWinCE.cpp: 20039 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20040 * platform/graphics/wx/ImageBufferWx.cpp: 20041 (WebCore::ImageBuffer::dataSize): Implement dataSize(). 20042 20043 2011-01-21 Adam Roben <aroben (a] apple.com> 20044 20045 Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client] 20046 20047 Also renamed a few functions and data members to match. 20048 20049 Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't 20050 20051 Reviewed by Simon Fraser. 20052 20053 * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths. 20054 20055 * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include 20056 path. 20057 20058 * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too. 20059 20060 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp. 20061 * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h. 20062 20063 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 20064 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 20065 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: 20066 Updated for renames. 20067 20068 2011-01-21 Patrick Gansterer <paroga (a] paroga.com> 20069 20070 Original patch from Franois Sausset <sausset (a] gmail.com> 20071 20072 Reviewed by Darin Adler. 20073 20074 Code cleaning in rendering/mathml/RenderMathMLFraction.cpp 20075 https://bugs.webkit.org/show_bug.cgi?id=52201 20076 20077 Replace unneeded doubles by floats and remove unneeded casts. 20078 20079 * rendering/mathml/RenderMathMLFraction.cpp: 20080 (WebCore::RenderMathMLFraction::paint): 20081 * rendering/mathml/RenderMathMLFraction.h: 20082 20083 2011-01-21 Dimitri Glazkov <dglazkov (a] chromium.org> 20084 20085 Reviewed by Darin Adler. 20086 20087 REGRESSION(r73618): Clicking on a search input causes a crash. 20088 https://bugs.webkit.org/show_bug.cgi?id=52905 20089 20090 The problem is caused by TextControlInnerElement being used both as 20091 shadow root and an element in a shadow subtree. The code assumed it is 20092 only used as a shadow root. 20093 20094 Since this code is all just workaround for in-progress conversion to 20095 new shadow DOM, I am just adding a check. This code will disappear 20096 completely once bug 52788 is fixed. 20097 20098 Test: fast/dom/search-shadow-host-crash.html 20099 20100 * dom/Node.cpp: 20101 (WebCore::Node::setShadowHost): Added an ASSERT for early detection 20102 of attempting to stomp on the parentNode. 20103 * rendering/TextControlInnerElements.cpp: 20104 (WebCore::TextControlInnerElement::detach): Added a check to only 20105 clear shadow host if we have one. 20106 20107 2011-01-21 Adam Roben <aroben (a] apple.com> 20108 20109 Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes" 20110 20111 This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as 20112 opposed to just "layer" because there are cases where we flush changes to CACFLayers that 20113 don't have a corresponding GraphicsLayer. 20114 20115 Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in 20116 WKCACFLayerRenderer and friends is confusing 20117 20118 Reviewed by Simon Fraser. 20119 20120 * platform/graphics/win/WKCACFLayerRenderer.cpp: 20121 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): 20122 (WebCore::WKCACFLayerRenderer::render): 20123 Updated for renames. 20124 20125 (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from 20126 syncCompositingStateSoon, and updated for other renames. 20127 20128 * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to 20129 * m_shouldFlushPendingGraphicsLayerChanges. 20130 (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from 20131 syncCompositingState. 20132 20133 2011-01-21 Adam Roben <aroben (a] apple.com> 20134 20135 Clean up PlatformCAAnimationWin 20136 20137 Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient 20138 20139 Reviewed by Simon Fraser. 20140 20141 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: 20142 (toCACFFillModeType): 20143 (fromCACFFillModeType): 20144 (toCACFValueFunctionType): 20145 (fromCACFValueFunctionType): 20146 Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just 20147 so we can later convert back to CFStringRef. 20148 20149 (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the 20150 results of CACFTimingFunctionCreate. 20151 (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through 20152 WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED(). 20153 20154 (PlatformCAAnimation::setFillMode): 20155 (PlatformCAAnimation::setTimingFunction): 20156 (PlatformCAAnimation::setValueFunction): 20157 (PlatformCAAnimation::setTimingFunctions): 20158 Updated for changes to the above conversion functions. 20159 20160 2011-01-21 Charlie Reis <creis (a] chromium.org> 20161 20162 Reviewed by Darin Fisher. 20163 20164 FrameLoader::checkLoadCompleteForThisFrame uses wrong history item 20165 https://bugs.webkit.org/show_bug.cgi?id=48812 20166 20167 Most calls to stopAllLoaders now clear the history's provisional item(s). 20168 We can now avoid resetting the back/forward state if a new navigation 20169 is in progress. 20170 20171 Test: http/tests/navigation/back-twice-without-commit.html 20172 Test: http/tests/navigation/forward-and-cancel.html 20173 20174 * loader/FrameLoader.cpp: 20175 * loader/FrameLoader.h: 20176 * loader/FrameLoaderTypes.h: 20177 * WebCore.exp.in: Update stopAllLoaders signature. 20178 20179 2011-01-21 Carlos Garcia Campos <cgarcia (a] igalia.com> 20180 20181 Reviewed by Martin Robinson. 20182 20183 [GTK] Show caps lock indicator in password fields 20184 https://bugs.webkit.org/show_bug.cgi?id=52878 20185 20186 Test: manual-tests/password-caps-lock.html 20187 20188 * platform/gtk/KeyEventGtk.cpp: 20189 (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement 20190 currentCapsLockState() using GDK API. 20191 * platform/gtk/RenderThemeGtk.cpp: 20192 (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon 20193 in the password field when the caps lock modifier is locked. 20194 * platform/gtk/RenderThemeGtk.h: 20195 20196 2011-01-21 Pavel Podivilov <podivilov (a] chromium.org> 20197 20198 Reviewed by Pavel Feldman. 20199 20200 Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent. 20201 https://bugs.webkit.org/show_bug.cgi?id=52874 20202 20203 This is the first step of debugger api refactoring (see bug 52879). 20204 JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent. 20205 The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent. 20206 20207 * inspector/Inspector.idl: 20208 * inspector/InspectorBrowserDebuggerAgent.cpp: 20209 (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): 20210 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 20211 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 20212 (WebCore::InspectorBrowserDebuggerAgent::discardBindings): 20213 (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): 20214 (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): 20215 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 20216 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 20217 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 20218 (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): 20219 (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): 20220 * inspector/InspectorBrowserDebuggerAgent.h: 20221 * inspector/InspectorController.cpp: 20222 (WebCore::InspectorController::restoreInspectorStateFromCookie): 20223 (WebCore::InspectorController::connectFrontend): 20224 (WebCore::InspectorController::didCommitLoad): 20225 (WebCore::InspectorController::enableDebugger): 20226 (WebCore::InspectorController::resume): 20227 (WebCore::InspectorController::inspectedURL): 20228 * inspector/InspectorController.h: 20229 * inspector/InspectorState.cpp: 20230 (WebCore::InspectorState::InspectorState): 20231 * inspector/InspectorState.h: 20232 * inspector/front-end/BreakpointManager.js: 20233 (WebInspector.BreakpointManager): 20234 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 20235 20236 2011-01-21 John Knottenbelt <jknotten (a] chromium.org> 20237 20238 Reviewed by Jeremy Orlow. 20239 20240 Turn off uninitialized errors for ARM linux build. 20241 https://bugs.webkit.org/show_bug.cgi?id=52893 20242 20243 Fix ARM compiler breakage. 20244 20245 * WebCore.gyp/WebCore.gyp: 20246 20247 2011-01-21 Mikhail Naganov <mnaganov (a] chromium.org> 20248 20249 Reviewed by Yury Semikhatsky. 20250 20251 Web Inspector: [Chromium] REGRESSION: Using the "Back" button 20252 while profiling causes renderer crash. 20253 20254 https://bugs.webkit.org/show_bug.cgi?id=52808 20255 20256 * inspector/InspectorProfilerAgent.cpp: 20257 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): 20258 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): 20259 20260 2011-01-20 Ilya Tikhonovsky <loislo (a] chromium.org> 20261 20262 Reviewed by Pavel Feldman. 20263 20264 Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. 20265 20266 There are some places in WebCore where we still using direct InspectorController calls. 20267 The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the 20268 Inspector facade for WebCore. 20269 20270 https://bugs.webkit.org/show_bug.cgi?id=52869 20271 20272 * inspector/InspectorController.cpp: 20273 * inspector/InspectorController.h: 20274 * inspector/InspectorInstrumentation.cpp: 20275 (WebCore::InspectorInstrumentation::addProfileImpl): 20276 (WebCore::InspectorInstrumentation::profilerEnabledImpl): 20277 (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): 20278 * inspector/InspectorInstrumentation.h: 20279 (WebCore::InspectorInstrumentation::addProfile): 20280 (WebCore::InspectorInstrumentation::profilerEnabled): 20281 (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): 20282 * page/Console.cpp: 20283 (WebCore::Console::profile): 20284 (WebCore::Console::profileEnd): 20285 20286 2011-01-12 Pavel Podivilov <podivilov (a] chromium.org> 20287 20288 Reviewed by Pavel Feldman. 20289 20290 Web Inspector: breakpoints are restored incorrectly when reverting live edit. 20291 https://bugs.webkit.org/show_bug.cgi?id=52300 20292 20293 Fix breakpoints restoring when reverting to old revision by using text diff. 20294 Move live edit logic from ScriptsPanel to DebuggerModel. 20295 Eliminate unnecessary editLine delegate in TextViewer. 20296 20297 * inspector/front-end/DebuggerModel.js: 20298 (WebInspector.DebuggerModel): 20299 (WebInspector.DebuggerModel.prototype.reset): 20300 (WebInspector.DebuggerModel.prototype.editScriptSource): 20301 (WebInspector.DebuggerModel.prototype._updateScriptSource): 20302 (WebInspector.DebuggerModel.prototype.get callFrames): 20303 (WebInspector.DebuggerModel.prototype.pausedScript): 20304 (WebInspector.DebuggerModel.prototype.resumedScript): 20305 * inspector/front-end/Script.js: 20306 (WebInspector.Script.prototype.get source): 20307 * inspector/front-end/ScriptView.js: 20308 (WebInspector.ScriptView): 20309 * inspector/front-end/ScriptsPanel.js: 20310 (WebInspector.ScriptsPanel): 20311 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 20312 * inspector/front-end/SourceFrame.js: 20313 (WebInspector.SourceFrame): 20314 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 20315 (WebInspector.SourceFrame.prototype._doubleClick.didEditLine): 20316 (WebInspector.SourceFrame.prototype._doubleClick): 20317 * inspector/front-end/SourceView.js: 20318 (WebInspector.SourceView): 20319 * inspector/front-end/TextViewer.js: 20320 (WebInspector.TextViewer): 20321 (WebInspector.TextViewer.prototype._handleKeyDown): 20322 (WebInspector.TextViewer.prototype.editLine.finishEditing): 20323 (WebInspector.TextViewer.prototype.editLine): 20324 (WebInspector.TextChunk.prototype._createRow): 20325 20326 2011-01-21 Adam Klein <adamk (a] chromium.org> 20327 20328 Reviewed by Eric Seidel. 20329 20330 [chromium] Rename ChromiumBridge to PlatformBridge 20331 https://bugs.webkit.org/show_bug.cgi?id=52471 20332 20333 No tests added as this is a rename; no change in behavior. 20334 20335 * WebCore.gypi: 20336 * bindings/v8/V8DOMWindowShell.cpp: 20337 (WebCore::reportFatalErrorInV8): 20338 * page/PageGroup.cpp: 20339 (WebCore::PageGroup::isLinkVisited): 20340 * platform/android/PlatformBridge.h: 20341 * platform/audio/chromium/AudioBusChromium.cpp: 20342 (WebCore::createBusFromInMemoryAudioFile): 20343 * platform/chromium/ChromiumBridge.h: Removed. 20344 * platform/chromium/ChromiumDataObjectLegacy.cpp: 20345 (WebCore::ChromiumDataObjectLegacy::getData): 20346 * platform/chromium/DragDataChromium.cpp: 20347 (WebCore::DragData::asURL): 20348 * platform/chromium/FileSystemChromium.cpp: 20349 (WebCore::deleteFile): 20350 (WebCore::deleteEmptyDirectory): 20351 (WebCore::getFileSize): 20352 (WebCore::getFileModificationTime): 20353 (WebCore::revealFolderInOS): 20354 (WebCore::directoryName): 20355 (WebCore::pathByAppendingComponent): 20356 (WebCore::makeAllDirectories): 20357 (WebCore::fileExists): 20358 (WebCore::openFile): 20359 (WebCore::closeFile): 20360 (WebCore::seekFile): 20361 (WebCore::truncateFile): 20362 (WebCore::readFromFile): 20363 (WebCore::writeToFile): 20364 * platform/chromium/LanguageChromium.cpp: 20365 (WebCore::platformDefaultLanguage): 20366 * platform/chromium/LinkHashChromium.cpp: 20367 (WebCore::visitedLinkHash): 20368 * platform/chromium/MIMETypeRegistryChromium.cpp: 20369 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 20370 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 20371 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 20372 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 20373 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 20374 * platform/chromium/PasteboardChromium.cpp: 20375 (WebCore::Pasteboard::writeSelection): 20376 (WebCore::Pasteboard::writePlainText): 20377 (WebCore::Pasteboard::writeURL): 20378 (WebCore::Pasteboard::writeImage): 20379 (WebCore::Pasteboard::canSmartReplace): 20380 (WebCore::Pasteboard::plainText): 20381 (WebCore::Pasteboard::documentFragment): 20382 * platform/chromium/PlatformBridge.h: 20383 * platform/chromium/PlatformScreenChromium.cpp: 20384 (WebCore::screenDepth): 20385 (WebCore::screenDepthPerComponent): 20386 (WebCore::screenIsMonochrome): 20387 (WebCore::screenRect): 20388 (WebCore::screenAvailableRect): 20389 * platform/chromium/ReadableDataObject.cpp: 20390 (WebCore::ReadableDataObject::getData): 20391 (WebCore::ReadableDataObject::urlTitle): 20392 (WebCore::ReadableDataObject::htmlBaseUrl): 20393 (WebCore::ReadableDataObject::filenames): 20394 (WebCore::ReadableDataObject::ensureTypeCacheInitialized): 20395 * platform/chromium/SSLKeyGeneratorChromium.cpp: 20396 (WebCore::signedPublicKeyAndChallengeString): 20397 * platform/chromium/ScrollbarThemeChromium.cpp: 20398 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 20399 (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): 20400 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 20401 (WebCore::ScrollbarThemeChromiumLinux::paintButton): 20402 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 20403 (WebCore::ScrollbarThemeChromiumLinux::buttonSize): 20404 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): 20405 * platform/chromium/ScrollbarThemeChromiumMac.mm: 20406 (WebCore::scrollbarStateToThemeState): 20407 (WebCore::ScrollbarThemeChromiumMac::paint): 20408 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 20409 (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): 20410 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): 20411 (WebCore::ScrollbarThemeChromiumWin::paintButton): 20412 (WebCore::ScrollbarThemeChromiumWin::paintThumb): 20413 (WebCore::ScrollbarThemeChromiumWin::buttonSize): 20414 * platform/chromium/SharedTimerChromium.cpp: 20415 (WebCore::setSharedTimerFiredFunction): 20416 (WebCore::setSharedTimerFireTime): 20417 (WebCore::stopSharedTimer): 20418 * platform/chromium/SuddenTerminationChromium.cpp: 20419 (WebCore::disableSuddenTermination): 20420 (WebCore::enableSuddenTermination): 20421 * platform/chromium/SystemTimeChromium.cpp: 20422 (WebCore::currentTime): 20423 * platform/chromium/WritableDataObject.cpp: 20424 (WebCore::WritableDataObject::setData): 20425 * platform/graphics/chromium/CrossProcessFontLoading.mm: 20426 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 20427 (WebCore::fontContainsCharacter): 20428 (WebCore::FillLogFont): 20429 * platform/graphics/chromium/FontCacheLinux.cpp: 20430 (WebCore::FontCache::getFontDataForCharacters): 20431 * platform/graphics/chromium/FontChromiumWin.cpp: 20432 (WebCore::Font::drawGlyphs): 20433 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 20434 (WebCore::FontPlatformData::scriptFontProperties): 20435 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 20436 (WebCore::FontPlatformData::querySystemForRenderStyle): 20437 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 20438 (WebCore::fillBMPGlyphs): 20439 * platform/graphics/chromium/ImageChromium.cpp: 20440 (WebCore::Image::loadPlatformResource): 20441 * platform/graphics/chromium/ImageChromiumMac.mm: 20442 (WebCore::Image::loadPlatformResource): 20443 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 20444 (WebCore::SimpleFontData::platformInit): 20445 (WebCore::SimpleFontData::determinePitch): 20446 (WebCore::SimpleFontData::platformWidthForGlyph): 20447 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: 20448 (WebCore::UniscribeHelperTextRun::tryToPreloadFont): 20449 * platform/graphics/skia/FontCustomPlatformData.cpp: 20450 (WebCore::FontCustomPlatformData::fontPlatformData): 20451 * platform/network/chromium/CookieJarChromium.cpp: 20452 (WebCore::setCookies): 20453 (WebCore::cookies): 20454 (WebCore::cookieRequestHeaderFieldValue): 20455 (WebCore::cookiesEnabled): 20456 (WebCore::getRawCookies): 20457 (WebCore::deleteCookie): 20458 * platform/network/chromium/DNSChromium.cpp: 20459 (WebCore::prefetchDNS): 20460 * platform/qt/PlatformBridge.h: 20461 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 20462 (WebCore::SQLiteFileSystem::deleteDatabaseFile): 20463 (WebCore::SQLiteFileSystem::getDatabaseFileSize): 20464 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 20465 (chromiumOpen): 20466 (chromiumDelete): 20467 (chromiumAccess): 20468 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 20469 * plugins/chromium/PluginDataChromium.cpp: 20470 (WebCore::PluginCache::plugins): 20471 * rendering/RenderThemeChromiumMac.mm: 20472 (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): 20473 * rendering/RenderThemeChromiumSkia.cpp: 20474 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 20475 * rendering/RenderThemeChromiumWin.cpp: 20476 (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): 20477 (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): 20478 (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): 20479 (WebCore::RenderThemeChromiumWin::systemColor): 20480 (WebCore::RenderThemeChromiumWin::paintButton): 20481 (WebCore::RenderThemeChromiumWin::paintSliderTrack): 20482 (WebCore::menuListButtonWidth): 20483 (WebCore::RenderThemeChromiumWin::paintMenuList): 20484 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 20485 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): 20486 (WebCore::RenderThemeChromiumWin::paintProgressBar): 20487 * storage/chromium/IDBFactoryBackendInterface.cpp: 20488 (WebCore::IDBFactoryBackendInterface::create): 20489 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): 20490 * storage/chromium/IDBKeyPathBackendImpl.cpp: 20491 (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): 20492 20493 2011-01-21 Sheriff Bot <webkit.review.bot (a] gmail.com> 20494 20495 Unreviewed, rolling out r76335. 20496 http://trac.webkit.org/changeset/76335 20497 https://bugs.webkit.org/show_bug.cgi?id=52875 20498 20499 profiler tests were broken (Requested by loislo on #webkit). 20500 20501 * inspector/InspectorController.cpp: 20502 (WebCore::InspectorController::addProfile): 20503 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 20504 * inspector/InspectorController.h: 20505 * inspector/InspectorInstrumentation.cpp: 20506 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): 20507 * inspector/InspectorInstrumentation.h: 20508 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): 20509 (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage): 20510 * page/Console.cpp: 20511 (WebCore::Console::profile): 20512 (WebCore::Console::profileEnd): 20513 20514 2011-01-21 Ilya Tikhonovsky <loislo (a] chromium.org> 20515 20516 Reviewed by Yury Semikhatsky. 20517 20518 Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation. 20519 20520 There are some places in WebCore where we still using direct InspectorController calls. 20521 The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the 20522 Inspector facade for WebCore. 20523 20524 https://bugs.webkit.org/show_bug.cgi?id=52869 20525 20526 * inspector/InspectorController.cpp: 20527 * inspector/InspectorController.h: 20528 * inspector/InspectorInstrumentation.cpp: 20529 (WebCore::InspectorInstrumentation::addProfileImpl): 20530 (WebCore::InspectorInstrumentation::profilerEnabledImpl): 20531 (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl): 20532 * inspector/InspectorInstrumentation.h: 20533 (WebCore::InspectorInstrumentation::addProfile): 20534 (WebCore::InspectorInstrumentation::profilerEnabled): 20535 (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): 20536 * page/Console.cpp: 20537 (WebCore::Console::profile): 20538 (WebCore::Console::profileEnd): 20539 20540 2011-01-20 Sam Weinig <sam (a] webkit.org> 20541 20542 Reviewed by Gavin Barraclough. 20543 20544 Fix failing tests from r76291. 20545 20546 * platform/ScrollView.cpp: 20547 (WebCore::ScrollView::scrollPosition): 20548 (WebCore::ScrollView::updateScrollbars): 20549 Take the scroll origin into account in more places. 20550 20551 2011-01-20 Kent Tamura <tkent (a] chromium.org> 20552 20553 Unreviewed, sorting an Xcode project file. 20554 20555 * WebCore.xcodeproj/project.pbxproj: 20556 20557 2011-01-20 Ben Vanik <ben.vanik (a] gmail.com> 20558 20559 Reviewed by Kenneth Russell. 20560 20561 Implementation of the OES_standard_derivatives WebGL extension. 20562 https://bugs.webkit.org/show_bug.cgi?id=51678 20563 20564 Changes are modeled off of the existing OESTextureFloat extension. New files, 20565 extension retrieval, etc all match the existing code. 20566 20567 Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler 20568 options. This supports the enabling of the standard derivatives flag when the 20569 extension is enabled. Refactored the cleanup code to make the destruction of the 20570 compilers (if they had been created) cleaner. 20571 20572 Tested with the WebGL conformance test: 20573 https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html 20574 Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows. 20575 20576 * CMakeLists.txt: 20577 * DerivedSources.make: 20578 * GNUmakefile.am: 20579 * WebCore.gypi: 20580 * WebCore.pri: 20581 * WebCore.pro: 20582 * WebCore.xcodeproj/project.pbxproj: 20583 * bindings/js/JSWebGLRenderingContextCustom.cpp: 20584 (WebCore::toJS): 20585 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 20586 (WebCore::toV8Object): 20587 * html/canvas/OESStandardDerivatives.cpp: Added. 20588 (WebCore::OESStandardDerivatives::OESStandardDerivatives): 20589 (WebCore::OESStandardDerivatives::~OESStandardDerivatives): 20590 (WebCore::OESStandardDerivatives::getName): 20591 (WebCore::OESStandardDerivatives::create): 20592 * html/canvas/OESStandardDerivatives.h: Added. 20593 * html/canvas/OESStandardDerivatives.idl: Added. 20594 * html/canvas/WebGLExtension.h: 20595 * html/canvas/WebGLRenderingContext.cpp: 20596 (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension. 20597 (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled. 20598 (WebCore::WebGLRenderingContext::getSupportedExtensions): 20599 (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled. 20600 (WebCore::WebGLRenderingContext::getNumberOfExtensions): 20601 (WebCore::WebGLRenderingContext::getExtensionNumber): 20602 * html/canvas/WebGLRenderingContext.h: 20603 * platform/graphics/ANGLEWebKitBridge.cpp: 20604 (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup. 20605 (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers. 20606 (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing 20607 ANGLE settings. 20608 (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error. 20609 * platform/graphics/ANGLEWebKitBridge.h: 20610 (WebCore::ANGLEWebKitBridge::getResources): 20611 * platform/graphics/Extensions3D.h: Added enumeration for the extension. 20612 * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D. 20613 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 20614 (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the 20615 GraphicsContext3D to handle resetting the shader compilers. 20616 (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension, 20617 so always return true. 20618 (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required. 20619 * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D. 20620 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 20621 (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to 20622 Extensions3DOpenGL. 20623 20624 2011-01-20 Xiaomei Ji <xji (a] chromium.org> 20625 20626 Reviewed by Dan Bernstein. 20627 20628 Fix regression(r71566): PDF in RTL block might messes up text directionality. 20629 https://bugs.webkit.org/show_bug.cgi?id=52776 20630 20631 Test: fast/dom/52776.html 20632 20633 * platform/text/BidiResolver.h: 20634 (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel): 20635 (WebCore::::lowerExplicitEmbeddingLevel): 20636 (WebCore::::raiseExplicitEmbeddingLevel): 20637 (WebCore::::createBidiRunsForLine): 20638 20639 2011-01-20 Beth Dakin <bdakin (a] apple.com> 20640 20641 Reviewed by Anders Carlsson. 20642 20643 Follow-on for <rdar://problem/8890255> 20644 20645 This fixes a painting error with ScrollbarPainter scrollers 20646 and the new drawing area code path. 20647 * platform/mac/ScrollbarThemeMac.mm: 20648 (WebCore::updateArrowPlacement): 20649 20650 2011-01-20 Levi Weintraub <leviw (a] chromium.org> 20651 20652 Unreviewed. 20653 20654 Fixing build breakage. 20655 20656 * editing/SelectionController.cpp: 20657 (WebCore::SelectionController::willBeModified): 20658 20659 2011-01-20 Levi Weintraub <leviw (a] chromium.org> 20660 20661 Reviewed by Ryosuke Niwa. 20662 20663 RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made 20664 https://bugs.webkit.org/show_bug.cgi?id=49511 20665 20666 Test: editing/selection/rtl-move-selection-right-left.html 20667 20668 * editing/SelectionController.cpp: 20669 (WebCore::SelectionController::willBeModified): 20670 Respecting the direction of the containing block when switching selection base and extent in 20671 RTL content. 20672 20673 (WebCore::SelectionController::modifyMovingRight): 20674 (WebCore::SelectionController::modifyMovingLeft): 20675 Using directionOfEnclosingBlock when deciding to use the selection start or end to do the 20676 correct thing for RTL. 20677 20678 2011-01-20 Nate Chapin <japhet (a] chromium.org> 20679 20680 Reviewed by Adam Barth. 20681 20682 Null-check m_frame in DOMWindow::setLocation(), since it's 20683 possible to reach this point without it having been checked 20684 already. 20685 https://bugs.webkit.org/show_bug.cgi?id=52769 20686 20687 Test: fast/dom/Window/Location/set-location-after-close.html 20688 20689 * page/DOMWindow.cpp: 20690 (WebCore::DOMWindow::setLocation): 20691 20692 2011-01-20 Chang Shu <chang.shu (a] nokia.com> 20693 20694 Reviewed by Darin Adler. 20695 20696 setContentEditable with invalid string should throw exception. 20697 https://bugs.webkit.org/show_bug.cgi?id=52057 20698 20699 Implemented exception throwing for setContentEditable according to the following spec: 20700 http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable 20701 Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 20702 string 'inherit' then the content attribute must be removed, if the new value is an ASCII 20703 case-insensitive match for the string 'true' then the content attribute must be set to the 20704 string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 20705 then the content attribute must be set to the string 'false', and otherwise the attribute 20706 setter must raise a SYNTAX_ERR exception." 20707 20708 * html/HTMLElement.cpp: 20709 (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec. 20710 * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable. 20711 * html/HTMLElement.idl: Add exception throwing support for contentEditable setter. 20712 20713 2011-01-19 Adrienne Walker <enne (a] google.com> 20714 20715 Reviewed by James Robinson. 20716 20717 [chromium] Composited render surfaces should allow writes to alpha channel. 20718 https://bugs.webkit.org/show_bug.cgi?id=52766 20719 20720 Test: LayoutTests/platform/chromium/compositing 20721 20722 * platform/graphics/chromium/LayerRendererChromium.cpp: 20723 (WebCore::LayerRendererChromium::drawLayers): 20724 20725 2011-01-14 Jer Noble <jer.noble (a] apple.com> 20726 20727 Reviewed by Eric Carlson. 20728 20729 REGRESSION (r71842): Compass video is not playing in Safari welcome page 20730 https://bugs.webkit.org/show_bug.cgi?id=52506 20731 20732 New test: LayoutTests/media/video-currentTime-delay.html 20733 20734 Call invalidateCachedTime() every time one of the cached property dependencies changes, 20735 i.e. m_paused and m_playbackRate. 20736 20737 * html/HTMLMediaElement.cpp: 20738 (WebCore::HTMLMediaElement::prepareForLoad): 20739 (WebCore::HTMLMediaElement::setReadyState): 20740 (WebCore::HTMLMediaElement::setPlaybackRate): 20741 (WebCore::HTMLMediaElement::mediaPlayerRateChanged): 20742 20743 2011-01-20 Beth Dakin <bdakin (a] apple.com> 20744 20745 Reviewed by Geoffrey Garen. 20746 20747 Fix for <rdar://problem/8890255> 20748 20749 Allow WebKitSystemInterface to draw scrollbars 20750 when appropriate. 20751 * WebCore.exp.in: 20752 * platform/mac/ScrollbarThemeMac.mm: 20753 (WebCore::scrollbarMap): 20754 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 20755 (WebCore::ScrollbarThemeMac::registerScrollbar): 20756 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 20757 (WebCore::ScrollbarThemeMac::paint): 20758 * platform/mac/WebCoreSystemInterface.h: 20759 * platform/mac/WebCoreSystemInterface.mm: 20760 20761 2011-01-20 Sam Weinig <sam (a] webkit.org> 20762 20763 Reviewed by Dave Hyatt. 20764 20765 Cleanup Scrollbar/ScrollbarClient relationship 20766 https://bugs.webkit.org/show_bug.cgi?id=52779 20767 20768 Pipe all scrolling through the ScrollbarClient/ScrollAnimator 20769 rather than through the Scrollbar. The Scrollbar now is just 20770 a "view" on the scroll position of the scrollable area it is 20771 attached to. 20772 20773 There are now two ways to scroll a scrollable area: 20774 - ScrollbarClient::scroll() 20775 - ScrollbarClient::scrollToOffsetWithoutAnimation() 20776 20777 Both of these go through the ScrollAnimator (updating its state 20778 or starting an animation). The ScrollAnimator, in turn, now calls 20779 ScrollbarClient::setScrollOffsetFromAnimation, which tells the 20780 Scrollbars to pull a new offset (via Scrollbar::offsetDidChange) 20781 and tells the class that derives from ScrollbarClient to scroll 20782 its contents (via ScrollbarClient::setScrollOffset). 20783 20784 * WebCore.xcodeproj/project.pbxproj: 20785 Move Scrollbar.cpp to the right place. 20786 20787 * accessibility/AccessibilityScrollbar.cpp: 20788 (WebCore::AccessibilityScrollbar::setValue): 20789 Initiate the scroll through the scrollbar client, rather than the 20790 scrollbar itself. 20791 20792 * page/FrameView.cpp: 20793 (WebCore::FrameView::scrollTo): 20794 * page/FrameView.h: 20795 Condense the two valueChanged overrides to a single override of the 20796 scrollTo function. 20797 20798 * platform/ScrollAnimator.cpp: 20799 (WebCore::ScrollAnimator::scroll): 20800 (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): 20801 (WebCore::ScrollAnimator::currentPosition): 20802 (WebCore::ScrollAnimator::notityPositionChanged): 20803 * platform/ScrollAnimator.h: 20804 * platform/ScrollAnimatorWin.cpp: 20805 (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation): 20806 (WebCore::ScrollAnimatorWin::animateScroll): 20807 * platform/ScrollAnimatorWin.h: 20808 * platform/mac/ScrollAnimatorMac.h: 20809 * platform/mac/ScrollAnimatorMac.mm: 20810 (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): 20811 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): 20812 Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation 20813 and bottleneck all client notification of changed position through a new 20814 notityPositionChanged() function. 20815 20816 * platform/ScrollView.cpp: 20817 (WebCore::ScrollView::setScrollOffset): 20818 (WebCore::ScrollView::scrollTo): 20819 (WebCore::ScrollView::scrollPosition): 20820 (WebCore::ScrollView::scroll): 20821 (WebCore::ScrollView::updateScrollbars): 20822 (WebCore::ScrollView::wheelEvent): 20823 * platform/ScrollView.h: 20824 (WebCore::ScrollView::horizontalScrollbar): 20825 (WebCore::ScrollView::verticalScrollbar): 20826 Update to scroll via the ScrollbarClient rather than the Scrollbar. 20827 20828 * platform/Scrollbar.cpp: 20829 (WebCore::Scrollbar::offsetDidChange): 20830 (WebCore::Scrollbar::autoscrollPressedPart): 20831 (WebCore::Scrollbar::moveThumb): 20832 (WebCore::Scrollbar::mouseMoved): 20833 * platform/Scrollbar.h: 20834 (WebCore::Scrollbar::setPressedPos): 20835 Change the scrollbar to only updates its offset in response to 20836 an offsetDidChange call. 20837 20838 * platform/ScrollbarClient.cpp: 20839 (WebCore::ScrollbarClient::scroll): 20840 (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation): 20841 (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation): 20842 (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation): 20843 (WebCore::ScrollbarClient::setScrollOffsetFromAnimation): 20844 * platform/ScrollbarClient.h: 20845 (WebCore::ScrollbarClient::horizontalScrollbar): 20846 (WebCore::ScrollbarClient::verticalScrollbar): 20847 Make the increasingly misnamed ScrollbarClient responsible for 20848 scrolling. 20849 20850 * platform/efl/ScrollbarEfl.cpp: 20851 (scrollbarEflEdjeMessage): 20852 * platform/gtk/MainFrameScrollbarGtk.cpp: 20853 (MainFrameScrollbarGtk::gtkValueChanged): 20854 * platform/qt/ScrollbarQt.cpp: 20855 (WebCore::Scrollbar::contextMenu): 20856 Update to move scrolling through the client. 20857 20858 * platform/win/PopupMenuWin.cpp: 20859 (WebCore::PopupMenuWin::scrollToRevealSelection): 20860 (WebCore::PopupMenuWin::scrollPosition): 20861 (WebCore::PopupMenuWin::setScrollOffset): 20862 (WebCore::PopupMenuWin::scrollTo): 20863 (WebCore::PopupMenuWin::wndProc): 20864 * platform/win/PopupMenuWin.h: 20865 (WebCore::PopupMenuWin::verticalScrollbar): 20866 * rendering/RenderLayer.cpp: 20867 (WebCore::RenderLayer::scrollToOffset): 20868 (WebCore::RenderLayer::scrollTo): 20869 (WebCore::RenderLayer::setScrollOffset): 20870 (WebCore::RenderLayer::scrollPosition): 20871 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 20872 (WebCore::RenderLayer::scroll): 20873 * rendering/RenderLayer.h: 20874 * rendering/RenderListBox.cpp: 20875 (WebCore::RenderListBox::scrollToRevealElementAtListIndex): 20876 (WebCore::RenderListBox::scroll): 20877 (WebCore::RenderListBox::logicalScroll): 20878 (WebCore::RenderListBox::scrollPosition): 20879 (WebCore::RenderListBox::setScrollOffset): 20880 (WebCore::RenderListBox::scrollTo): 20881 (WebCore::RenderListBox::setScrollTop): 20882 * rendering/RenderListBox.h: 20883 (WebCore::RenderListBox::verticalScrollbar): 20884 Update to scroll via the ScrollbarClient rather than the Scrollbar. 20885 20886 * rendering/RenderMarquee.cpp: 20887 (WebCore::RenderMarquee::start): 20888 Simplify initial paint to just do an immediate scroll to the position. 20889 20890 2011-01-20 Patrick Gansterer <paroga (a] webkit.org> 20891 20892 Unreviewed WinCE build fix for r76170. 20893 20894 * platform/graphics/wince/FontWinCE.cpp: Added a missing include. 20895 * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style. 20896 20897 2011-01-20 James Robinson <jamesr (a] chromium.org> 20898 20899 Reviewed by Darin Fisher. 20900 20901 Implement mozilla's requestAnimationFrame API 20902 https://bugs.webkit.org/show_bug.cgi?id=51218 20903 20904 This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that 20905 an author driving an animation from script could use window.requestAnimationFrame(callback) 20906 instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser 20907 decide when to update the animations. This avoids doing unnecessary work when the page content 20908 is offscreen or is being displayed at a different framerate than what the page author expects. 20909 20910 Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame 20911 This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the 20912 following changes: 20913 *) Only the callback syntax is supported, there is no before paint event 20914 *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate 20915 what content they intend to animate. That way if the page is being displayed but the element 20916 in question is offscreen, we can avoid invoking the callback. 20917 *) No timestamp is provided to the caller and there is no window.animationStartTime property 20918 (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) 20919 *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback 20920 using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). 20921 20922 The implementation depends on the embedder scheduling the callbacks since the callback invocation 20923 depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed 20924 to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is 20925 called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. 20926 Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the 20927 embedder has to rate limit callbacks and may not be able to tie the callback directly to the 20928 rendering loop. 20929 20930 Tests: fast/animation/request-animation-frame-cancel.html 20931 fast/animation/request-animation-frame-cancel2.html 20932 fast/animation/request-animation-frame-display.html 20933 fast/animation/request-animation-frame-within-callback.html 20934 fast/animation/request-animation-frame.html 20935 20936 * WebCore.gypi: 20937 * dom/Document.cpp: 20938 (WebCore::Document::Document): 20939 (WebCore::Document::webkitRequestAnimationFrame): 20940 (WebCore::Document::webkitCancelRequestAnimationFrame): 20941 (WebCore::Document::serviceScriptedAnimations): 20942 * dom/Document.h: 20943 * dom/RequestAnimationFrameCallback.h: Added. 20944 (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): 20945 * dom/RequestAnimationFrameCallback.idl: Added. 20946 * loader/EmptyClients.h: 20947 (WebCore::EmptyChromeClient::scheduleAnimation): 20948 * page/Chrome.cpp: 20949 (WebCore::Chrome::scheduleAnimation): 20950 * page/Chrome.h: 20951 * page/ChromeClient.h: 20952 * page/DOMWindow.cpp: 20953 (WebCore::DOMWindow::webkitRequestAnimationFrame): 20954 (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): 20955 * page/DOMWindow.h: 20956 * page/DOMWindow.idl: 20957 * page/FrameView.cpp: 20958 (WebCore::FrameView::scheduleAnimation): 20959 (WebCore::FrameView::serviceScriptedAnimations): 20960 * page/FrameView.h: 20961 * platform/HostWindow.h: 20962 20963 2011-01-20 James Robinson <jamesr (a] chromium.org> 20964 20965 Reviewed by Nate Chapin. 20966 20967 [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters 20968 https://bugs.webkit.org/show_bug.cgi?id=52837 20969 20970 When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following: 20971 v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio. Instead, if the argument count 20972 is 0, we can just pass a NULL pointer for the argv parameter. 20973 20974 Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests. This 20975 patch also includes some spurious changes to the bindings tests golden files (mostly GObject) 20976 because the old golden files were out of date. 20977 20978 * bindings/scripts/CodeGeneratorV8.pm: 20979 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: 20980 (WebDOMTestCallback::callbackWithNoParam): 20981 * bindings/scripts/test/CPP/WebDOMTestCallback.h: 20982 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: 20983 (webkit_dom_test_callback_callback_with_no_param): 20984 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: 20985 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: 20986 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: 20987 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 20988 * bindings/scripts/test/JS/JSTestCallback.cpp: 20989 (WebCore::JSTestCallback::callbackWithNoParam): 20990 * bindings/scripts/test/JS/JSTestCallback.h: 20991 * bindings/scripts/test/JS/JSTestInterface.cpp: 20992 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 20993 * bindings/scripts/test/JS/JSTestObj.cpp: 20994 * bindings/scripts/test/ObjC/DOMTestCallback.h: 20995 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 20996 (-[DOMTestCallback callbackWithNoParam]): 20997 * bindings/scripts/test/TestCallback.idl: 20998 * bindings/scripts/test/V8/V8TestCallback.cpp: 20999 (WebCore::V8TestCallback::callbackWithNoParam): 21000 * bindings/scripts/test/V8/V8TestCallback.h: 21001 * bindings/scripts/test/V8/V8TestObj.cpp: 21002 (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter): 21003 21004 2011-01-20 James Robinson <jamesr (a] chromium.org> 21005 21006 Reviewed by Eric "Baller" Seidel. 21007 21008 RenderTableSection's setNeedsCellRecalc needs to null check table() 21009 https://bugs.webkit.org/show_bug.cgi?id=52770 21010 21011 Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc. 21012 This can be null during detach(). Test constructed by Eric Seidel. 21013 21014 Test: fast/css-generated-content/table-with-scrollbar-corner.html 21015 21016 * rendering/RenderTableSection.cpp: 21017 (WebCore::RenderTableSection::setNeedsCellRecalc): 21018 * rendering/RenderTableSection.h: 21019 21020 2011-01-20 Dirk Schulze <krit (a] webkit.org> 21021 21022 Reviewed by Rob Buis. 21023 21024 SVG Pattern doesn't take preserveAspectRatio of references Pattern 21025 https://bugs.webkit.org/show_bug.cgi?id=52802 21026 21027 SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio 21028 in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element. 21029 21030 Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg 21031 21032 * rendering/svg/RenderSVGResourcePattern.cpp: 21033 (WebCore::RenderSVGResourcePattern::buildTileImageTransform): 21034 * svg/PatternAttributes.h: 21035 (WebCore::PatternAttributes::PatternAttributes): 21036 (WebCore::PatternAttributes::preserveAspectRatio): 21037 (WebCore::PatternAttributes::setPreserveAspectRatio): 21038 (WebCore::PatternAttributes::hasPreserveAspectRatio): 21039 * svg/SVGPatternElement.cpp: 21040 (WebCore::SVGPatternElement::collectPatternAttributes): 21041 21042 2011-01-20 Dan Bernstein <mitz (a] apple.com> 21043 21044 Reviewed by Adele Peterson. 21045 21046 <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1 21047 21048 <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com 21049 https://bugs.webkit.org/show_bug.cgi?id=52765 21050 21051 <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup 21052 https://bugs.webkit.org/show_bug.cgi?id=52265 21053 21054 Test: fast/block/line-layout/negative-max-height.html 21055 21056 Integer overflow detection led to a block having a huge height. This manifested as broken layout 21057 in the first bug and as extreme slowness in the latter bugs because of 21058 https://bugs.webkit.org/show_bug.cgi?id=52832 21059 21060 * rendering/RootInlineBox.cpp: 21061 (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line 21062 cannot start above this line. The negative maxHeight also caused the integer overflow detection 21063 logic to give the block a huge height. 21064 21065 2011-01-20 Yi Shen <yi.4.shen (a] nokia.com> 21066 21067 Reviewed by Eric Carlson. 21068 21069 Clean up the Media Controls CSS for Qt 21070 https://bugs.webkit.org/show_bug.cgi?id=52822 21071 21072 Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 21073 in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx 21074 rules from mediaControlsQtFullscreen.css. 21075 21076 * css/mediaControlsQt.css: 21077 (audio::-webkit-media-controls-panel): 21078 (video::-webkit-media-controls-panel): 21079 (audio::-webkit-media-controls-mute-button): 21080 (video::-webkit-media-controls-mute-button): 21081 (audio::-webkit-media-controls-play-button): 21082 (video::-webkit-media-controls-play-button): 21083 (audio::-webkit-media-controls-timeline-container): 21084 (video::-webkit-media-controls-timeline-container): 21085 (audio::-webkit-media-controls-current-time-display): 21086 (video::-webkit-media-controls-current-time-display): 21087 (audio::-webkit-media-controls-time-remaining-display): 21088 (video::-webkit-media-controls-time-remaining-display): 21089 (audio::-webkit-media-controls-timeline): 21090 (video::-webkit-media-controls-timeline): 21091 (audio::-webkit-media-controls-volume-slider-container): 21092 (video::-webkit-media-controls-volume-slider-container): 21093 (audio::-webkit-media-controls-volume-slider): 21094 (video::-webkit-media-controls-volume-slider): 21095 (audio::-webkit-media-controls-seek-back-button): 21096 (video::-webkit-media-controls-seek-back-button): 21097 (audio::-webkit-media-controls-seek-forward-button): 21098 (video::-webkit-media-controls-seek-forward-button): 21099 (audio::-webkit-media-controls-fullscreen-button): 21100 (video::-webkit-media-controls-fullscreen-button): 21101 (audio::-webkit-media-controls-rewind-button): 21102 (video::-webkit-media-controls-rewind-button): 21103 (audio::-webkit-media-controls-return-to-realtime-button): 21104 (video::-webkit-media-controls-return-to-realtime-button): 21105 (audio::-webkit-media-controls-toggle-closed-captions-button): 21106 (video::-webkit-media-controls-toggle-closed-captions-button): 21107 * css/mediaControlsQtFullscreen.css: 21108 (video::-webkit-media-controls-time-remaining-display): 21109 (video::-webkit-media-controls-seek-back-button): 21110 (video::-webkit-media-controls-seek-forward-button): 21111 (video::-webkit-media-controls-rewind-button): 21112 (video::-webkit-media-controls-return-to-realtime-button): 21113 (video::-webkit-media-controls-toggle-closed-captions-button): 21114 21115 2011-01-20 Alexander Pavlov <apavlov (a] chromium.org> 21116 21117 Reviewed by Pavel Feldman. 21118 21119 Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken 21120 https://bugs.webkit.org/show_bug.cgi?id=52816 21121 21122 * inspector/front-end/StylesSidebarPane.js: 21123 (WebInspector.StylePropertyTreeElement.prototype): 21124 21125 2011-01-20 Dawit Alemayehu <adawit (a] kde.org> 21126 21127 Reviewed by Andreas Kling. 21128 21129 [Qt] Fix Layering violation in MediaPlayerPrivateQt. 21130 https://bugs.webkit.org/show_bug.cgi?id=52733 21131 21132 No new tests. no behavioral change. 21133 21134 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 21135 (WebCore::MediaPlayerPrivateQt::commitLoad): 21136 21137 2011-01-20 Nate Chapin <japhet (a] chromium.org> 21138 21139 Reviewed by Darin Fisher. 21140 21141 [V8] Call malloc and memcpy directly instead of 21142 of strdup in convertV8ObjectToNPVariant() when 21143 converting strings. If there is a null character 21144 in the string, our use of strdup causes us to allocate 21145 too little memory, leading to out of bounds reads. 21146 21147 https://bugs.webkit.org/show_bug.cgi?id=52631 21148 21149 * bindings/v8/V8NPUtils.cpp: 21150 (WebCore::convertV8ObjectToNPVariant): 21151 21152 2011-01-20 Andreas Kling <kling (a] webkit.org> 21153 21154 Reviewed by Ariya Hidayat. 21155 21156 [Qt] Fill shadow scratch buffer with proper transparent pixels 21157 21158 QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8) 21159 so doing QImage::fill(Qt::transparent) will actually fill all pixels with 21160 the RGBA value 0x00000013. 21161 21162 * platform/graphics/qt/ContextShadowQt.cpp: 21163 (WebCore::ShadowBuffer::scratchImage): 21164 21165 2011-01-19 Adam Roben <aroben (a] apple.com> 21166 21167 Remove WKCACFContextFlusher 21168 21169 It wasn't doing anything. 21170 21171 Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused 21172 21173 Reviewed by Simon Fraser. 21174 21175 * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with 21176 the file. 21177 21178 * platform/graphics/win/WKCACFContextFlusher.cpp: Removed. 21179 * platform/graphics/win/WKCACFContextFlusher.h: Removed. 21180 21181 * platform/graphics/win/WKCACFLayerRenderer.cpp: 21182 (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): 21183 (WebCore::WKCACFLayerRenderer::layerTreeDidChange): 21184 Stop telling WKCACFContextFlusher about our context, since it never did anything with it. 21185 21186 2011-01-19 Adam Roben <aroben (a] apple.com> 21187 21188 Only flush our own context when we get resized 21189 21190 Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted 21191 changes get flushed whenever any composited page is resized 21192 21193 Reviewed by Simon Fraser. 21194 21195 * platform/graphics/win/WKCACFLayerRenderer.cpp: 21196 (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts 21197 WKCACFContextFlusher knows about. After all, ours is the only one that just got resized! 21198 21199 2011-01-19 Adam Roben <aroben (a] apple.com> 21200 21201 Make WKCACFLayerRenderer ref-counted 21202 21203 This will be needed to handle cases where the client might release its reference to us while 21204 we're calling out to it. 21205 21206 WKCACFLayerRenderer now has a setClient function, which is used rather than passing the 21207 client to create(). This allows clients to null out the client pointer when they're done 21208 with the renderer. 21209 21210 Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be 21211 ref-counted 21212 21213 Reviewed by Simon Fraser. 21214 21215 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 21216 (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): 21217 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: 21218 Updated for WKCACFLayerRenderer changes. 21219 21220 * platform/graphics/win/WKCACFLayerRenderer.cpp: 21221 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to 21222 create(). 21223 (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now 21224 returns a PassOwnPtr. 21225 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a 21226 WKCACFLayerRendererClient. 21227 21228 * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from 21229 RefCounted. 21230 (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter. 21231 21232 2011-01-20 Csaba Osztrogonc <ossy (a] webkit.org> 21233 21234 [Qt][V8] Unreviewed buildfix after r76248. 21235 21236 * bindings/v8/ScriptCachedFrameData.h: Add missing include. 21237 21238 2011-01-20 Pavel Feldman <pfeldman (a] chromium.org> 21239 21240 Reviewed by Yury Semikhatsky. 21241 21242 Web Inspector: enable resource agent upon request. 21243 https://bugs.webkit.org/show_bug.cgi?id=52815 21244 21245 We should not send network-related notifications unless front-end 21246 is interested. 21247 21248 * inspector/Inspector.idl: 21249 * inspector/InspectorController.cpp: 21250 (WebCore::InspectorController::restoreInspectorStateFromCookie): 21251 (WebCore::InspectorController::connectFrontend): 21252 (WebCore::InspectorController::resourceAgent): 21253 * inspector/InspectorController.h: 21254 (WebCore::InspectorController::consoleAgent): 21255 (WebCore::InspectorController::cssAgent): 21256 (WebCore::InspectorController::domAgent): 21257 (WebCore::InspectorController::injectedScriptAgent): 21258 (WebCore::InspectorController::runtimeAgent): 21259 (WebCore::InspectorController::databaseAgent): 21260 (WebCore::InspectorController::domStorageAgent): 21261 (WebCore::InspectorController::fileSystemAgent): 21262 * inspector/InspectorInstrumentation.cpp: 21263 (WebCore::InspectorInstrumentation::retrieveResourceAgent): 21264 * inspector/InspectorResourceAgent.cpp: 21265 (WebCore::InspectorResourceAgent::restore): 21266 (WebCore::InspectorResourceAgent::~InspectorResourceAgent): 21267 (WebCore::InspectorResourceAgent::InspectorResourceAgent): 21268 * inspector/InspectorResourceAgent.h: 21269 (WebCore::InspectorResourceAgent::create): 21270 * inspector/InspectorState.cpp: 21271 (WebCore::InspectorState::InspectorState): 21272 * inspector/InspectorState.h: 21273 21274 2011-01-20 Zoltan Horvath <zoltan (a] webkit.org> 21275 21276 Reviewed by Csaba Osztrogonc. 21277 21278 Refactoring of the custom allocation framework 21279 https://bugs.webkit.org/show_bug.cgi?id=49897 21280 21281 Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). 21282 The modification replaces Noncopyable and FastAllocBase classes and these inherits with their 21283 equivalent macro implementation at the necessary places. 21284 21285 2011-01-20 Mikhail Naganov <mnaganov (a] chromium.org> 21286 21287 Reviewed by Pavel Feldman. 21288 21289 Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth. 21290 21291 Profiles are now not cleared unless renderer instance was changed. 21292 21293 https://bugs.webkit.org/show_bug.cgi?id=52807 21294 21295 * inspector/InspectorController.cpp: 21296 (WebCore::InspectorController::restoreProfiler): 21297 * inspector/InspectorProfilerAgent.cpp: 21298 (WebCore::InspectorProfilerAgent::resetState): 21299 (WebCore::InspectorProfilerAgent::resetFrontendProfiles): 21300 * inspector/InspectorProfilerAgent.h: 21301 21302 2011-01-20 Alexander Pavlov <apavlov (a] chromium.org> 21303 21304 Unreviewed, add new JS file refs missing from r76116. 21305 21306 * WebCore.gypi: 21307 * WebCore.vcproj/WebCore.vcproj: 21308 * inspector/front-end/WebKit.qrc: 21309 21310 2011-01-20 Alexander Pavlov <apavlov (a] chromium.org> 21311 21312 Reviewed by Pavel Feldman. 21313 21314 Web Inspector: Crash when adding a rule for an ImageDocument 21315 https://bugs.webkit.org/show_bug.cgi?id=52811 21316 21317 * inspector/InspectorCSSAgent.cpp: 21318 (WebCore::InspectorCSSAgent::addRule2): 21319 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): 21320 21321 2011-01-20 Ilya Tikhonovsky <loislo (a] chromium.org> 21322 21323 Reviewed by Pavel Feldman. 21324 21325 Web Inspector: cleanup InspectorController's friends list. 21326 We have a plan to extract InspectorAgent from InspectorController. 21327 InspectorAgent will be accessible only from InspectorController. 21328 As result we can simply made some methods public and remove long 21329 friends list. 21330 21331 https://bugs.webkit.org/show_bug.cgi?id=52806 21332 21333 * inspector/InjectedScriptHost.cpp: 21334 (WebCore::InjectedScriptHost::databaseForId): 21335 (WebCore::InjectedScriptHost::selectDatabase): 21336 (WebCore::InjectedScriptHost::selectDOMStorage): 21337 (WebCore::InjectedScriptHost::inspectorDOMAgent): 21338 (WebCore::InjectedScriptHost::frontend): 21339 * inspector/InspectorBrowserDebuggerAgent.cpp: 21340 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 21341 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 21342 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 21343 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 21344 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 21345 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 21346 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 21347 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 21348 * inspector/InspectorController.h: 21349 (WebCore::InspectorController::frontend): 21350 * inspector/InspectorInstrumentation.cpp: 21351 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 21352 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 21353 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 21354 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 21355 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 21356 (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): 21357 (WebCore::InspectorInstrumentation::characterDataModifiedImpl): 21358 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 21359 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 21360 (WebCore::InspectorInstrumentation::didFailLoadingImpl): 21361 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): 21362 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): 21363 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 21364 (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent): 21365 (WebCore::InspectorInstrumentation::retrieveTimelineAgent): 21366 (WebCore::InspectorInstrumentation::retrieveResourceAgent): 21367 21368 2011-01-19 Pavel Podivilov <podivilov (a] chromium.org> 21369 21370 Reviewed by Yury Semikhatsky. 21371 21372 Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model. 21373 https://bugs.webkit.org/show_bug.cgi?id=52723 21374 21375 Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane. 21376 21377 * inspector/front-end/Breakpoint.js: 21378 (WebInspector.Breakpoint): 21379 (WebInspector.Breakpoint.prototype.get data): 21380 (WebInspector.Breakpoint.prototype.remove): 21381 * inspector/front-end/BreakpointsSidebarPane.js: 21382 (WebInspector.JavaScriptBreakpointsSidebarPane): 21383 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded): 21384 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved): 21385 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged): 21386 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked): 21387 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired): 21388 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused): 21389 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed): 21390 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement): 21391 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement): 21392 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged): 21393 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare): 21394 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints): 21395 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine): 21396 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement): 21397 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent): 21398 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled): 21399 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint): 21400 (WebInspector.NativeBreakpointsSidebarPane): 21401 (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem): 21402 * inspector/front-end/DebuggerModel.js: 21403 (WebInspector.DebuggerModel.prototype.removeBreakpoint): 21404 (WebInspector.DebuggerModel.prototype.breakpointForId): 21405 (WebInspector.DebuggerModel.prototype._pausedScript): 21406 (WebInspector.DebuggerModel.prototype._resumedScript): 21407 * inspector/front-end/ScriptsPanel.js: 21408 (WebInspector.ScriptsPanel): 21409 * inspector/front-end/inspector.js: 21410 21411 2011-01-20 Dirk Schulze <krit (a] webkit.org> 21412 21413 Reviewed by Andreas Kling. 21414 21415 SVG Pattern doesn't take the viewBox of a referenced Pattern 21416 https://bugs.webkit.org/show_bug.cgi?id=52804 21417 21418 SVGPattern element didn't use the viewBox of another SVGPattern element, referenced 21419 by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the 21420 SVGPattern element as well, if the attribute was set. 21421 This gets checked by a W3C SVG test case. 21422 21423 Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg 21424 21425 * rendering/svg/RenderSVGResourcePattern.cpp: 21426 (WebCore::RenderSVGResourcePattern::buildTileImageTransform): 21427 * svg/PatternAttributes.h: 21428 (WebCore::PatternAttributes::PatternAttributes): 21429 (WebCore::PatternAttributes::viewBox): 21430 (WebCore::PatternAttributes::setViewBox): 21431 (WebCore::PatternAttributes::hasViewBox): 21432 * svg/SVGPatternElement.cpp: 21433 (WebCore::SVGPatternElement::collectPatternAttributes): 21434 21435 2011-01-19 Stephen White <senorblanco (a] chromium.org> 21436 21437 [Re-land of r76159 with a compile fix for the Chromium linux shlib 21438 build.] 21439 21440 Reviewed by James Robinson. 21441 21442 Implement accelerated path drawing and clipping for the Canvas2D GPU 21443 path. 21444 https://bugs.webkit.org/show_bug.cgi?id=52627 21445 21446 This is done with a simple curve interpolator and the GLU tesselator, 21447 which is good enough for a 3-5X speedup on 21448 http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. 21449 21450 Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. 21451 All tests canvas/philip and fast/canvas paths pass with no 21452 regressions, although two have minor pixel differences which require 21453 rebaselining. 21454 21455 * WebCore.gyp/WebCore.gyp: 21456 Add internal_glu include path to chromium build. 21457 * WebCore.gypi: 21458 Add internal_glu files to chromium build. 21459 * html/canvas/CanvasRenderingContext2D.cpp: 21460 (WebCore::CanvasRenderingContext2D::reset): 21461 (WebCore::CanvasRenderingContext2D::platformLayer): 21462 Make CanvasRenderingContext2D more robust against failure to create 21463 a DrawingBuffer. 21464 * platform/graphics/chromium/DrawingBufferChromium.cpp: 21465 (WebCore::DrawingBuffer::DrawingBuffer): 21466 As in DrawingBufferMac.cpp, call reset() from the constructor. 21467 Also initialize size to (-1, -1), so reset() doesn't early-out. 21468 Add initializers for depthBuffer and stencilBuffer, and remove 21469 multisampleDepthStencilBuffer. 21470 * platform/graphics/chromium/GLES2Canvas.cpp: 21471 Remove some unused #includes. 21472 (WebCore::GLES2Canvas::State::State): 21473 Add clipping state, and implement save/restore via the copy constructor. 21474 (WebCore::operator*): 21475 (WebCore::Quadratic::Quadratic): 21476 (WebCore::Quadratic::fromBezier): 21477 (WebCore::Quadratic::evaluate): 21478 Quadratic Bezier curve class. 21479 (WebCore::Cubic::Cubic): 21480 (WebCore::Cubic::fromBezier): 21481 (WebCore::Cubic::evaluate): 21482 Cubic Bezier curve class. 21483 (WebCore::GLES2Canvas::clearRect): 21484 Add clipping support to clearRect(). 21485 (WebCore::GLES2Canvas::fillPath): 21486 Implement fillPath(). 21487 (WebCore::GLES2Canvas::fillRect): 21488 Add clipping support to fillRect(). 21489 (WebCore::GLES2Canvas::clipPath): 21490 Implement clipPath(). 21491 (WebCore::GLES2Canvas::clipOut): 21492 Stub out clipOut() (not called by Canvas 2D). 21493 (WebCore::GLES2Canvas::restore): 21494 When restoring, draw any remaining clipping paths to the stencil buffer. 21495 (WebCore::GLES2Canvas::drawTexturedRect): 21496 Add clipping support. 21497 (WebCore::interpolateQuadratic): 21498 (WebCore::interpolateCubic): 21499 Simple curve interpolation, using the Cubic and Quadratic classes. 21500 (WebCore::PolygonData::PolygonData): 21501 A struct to hold the tesselation data for callbacks. 21502 (WebCore::beginData): 21503 (WebCore::edgeFlagData): 21504 (WebCore::vertexData): 21505 (WebCore::endData): 21506 (WebCore::combineData): 21507 internal_glu tesselation callbacks. 21508 (WebCore::GLES2Canvas::createVertexBufferFromPath): 21509 Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. 21510 (WebCore::GLES2Canvas::beginStencilDraw): 21511 Enable stencilling, and disable draws to the color buffer. 21512 (WebCore::GLES2Canvas::applyClipping): 21513 If clipping is enabled, set the appropriate GL state. 21514 * platform/graphics/chromium/GLES2Canvas.h: 21515 Document the flavours of drawTexturedRect() a bit, so I don't get confused. 21516 * platform/graphics/gpu/DrawingBuffer.cpp: 21517 (WebCore::DrawingBuffer::clear): 21518 (WebCore::DrawingBuffer::createSecondaryBuffers): 21519 (WebCore::DrawingBuffer::resizeDepthStencil): 21520 (WebCore::DrawingBuffer::reset): 21521 * platform/graphics/gpu/DrawingBuffer.h: 21522 Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 21523 Implement separate depth and stencil buffers for when 21524 OES_packed_depth_stencil is not available. Refactor creation of 21525 multisampled and non-multisampled depth and stencil buffers into 21526 resizeDepthStencil(). 21527 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 21528 (WebCore::SharedGraphicsContext3D::create): 21529 Turn on stencil, turn off depth, turn off antialiasing (for now). 21530 (WebCore::SharedGraphicsContext3D::enableStencil): 21531 * platform/graphics/gpu/SharedGraphicsContext3D.h: 21532 Implement stencil enable/disable. 21533 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 21534 (WebCore::DrawingBuffer::DrawingBuffer): 21535 Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) 21536 on creation, so reset() doesn't early-out. Initialize m_depthBuffer 21537 and m_stencilBuffer. 21538 * platform/graphics/skia/GraphicsContextSkia.cpp: 21539 (WebCore::GraphicsContext::canvasClip): 21540 (WebCore::GraphicsContext::clipOut): 21541 (WebCore::GraphicsContext::clipPath): 21542 (WebCore::GraphicsContext::fillPath): 21543 Put in GPU hooks for path clipping, and path drawing. 21544 * platform/graphics/skia/PlatformContextSkia.cpp: 21545 (WebCore::PlatformContextSkia::canAccelerate): 21546 Don't check for clipping paths in canAccelerate() (since we can 21547 now accelerate them). 21548 (WebCore::PlatformContextSkia::uploadSoftwareToHardware): 21549 Don't do clipping when uploading software draws to hardware. 21550 * thirdparty/glu/README.webkit: 21551 * thirdparty/glu/gluos.h: 21552 #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. 21553 * thirdparty/glu/libtess/geom.c: 21554 * thirdparty/glu/libtess/priorityq.c: 21555 * thirdparty/glu/libtess/render.c: 21556 Use do{}while(0) instead of if(1)else construct in macro. 21557 * thirdparty/glu/libtess/sweep.c: 21558 (IsWindingInside): 21559 (DoneEdgeDict): 21560 Fix some warnings treated as errors for the Linux Release build. 21561 21562 21563 2011-01-20 Pavel Feldman <pfeldman (a] chromium.org> 21564 21565 Web Inspector: move releaseObjectGroup to the new Runtime agent. 21566 https://bugs.webkit.org/show_bug.cgi?id=52803 21567 (accedentally landed as r76231) 21568 21569 * inspector/InspectorContorller.h: 21570 * inspector/InspectorContorller.cpp: 21571 * inspector/InspectorRuntimeAgent.h: 21572 * inspector/InspectorRuntimeAgent.cpp: 21573 21574 2011-01-20 Pavel Feldman <pfeldman (a] chromium.org> 21575 21576 Not reviewed: build fix. 21577 21578 * inspector/InspectorState.h: 21579 (WebCore::InspectorState::setBoolean): 21580 (WebCore::InspectorState::setString): 21581 (WebCore::InspectorState::setLong): 21582 21583 2011-01-20 Pavel Feldman <pfeldman (a] chromium.org> 21584 21585 Reviewed by Yury Semikhatsky. 21586 21587 Web Inspector: further simplify InspectorState. 21588 https://bugs.webkit.org/show_bug.cgi?id=52731 21589 21590 This change moves XHR logging flag into console agent, 21591 removes InspectorState pushing to the front-end. 21592 21593 * inspector/Inspector.idl: 21594 * inspector/InspectorConsoleAgent.cpp: 21595 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 21596 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): 21597 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 21598 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 21599 (WebCore::InspectorConsoleAgent::addConsoleMessage): 21600 * inspector/InspectorConsoleAgent.h: 21601 * inspector/InspectorController.cpp: 21602 (WebCore::InspectorController::InspectorController): 21603 * inspector/InspectorController.h: 21604 (WebCore::InspectorController::state): 21605 (WebCore::InspectorController::settings): 21606 * inspector/InspectorState.cpp: 21607 (WebCore::InspectorState::InspectorState): 21608 (WebCore::InspectorState::registerBoolean): 21609 (WebCore::InspectorState::registerString): 21610 (WebCore::InspectorState::registerLong): 21611 (WebCore::InspectorState::registerObject): 21612 (WebCore::InspectorState::Property::create): 21613 * inspector/InspectorState.h: 21614 * inspector/front-end/ConsoleView.js: 21615 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared): 21616 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged): 21617 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): 21618 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 21619 * inspector/front-end/inspector.js: 21620 21621 2011-01-20 Csaba Osztrogonc <ossy (a] webkit.org> 21622 21623 Unreviewed buildfix. 21624 21625 [Qt][V8] Remove unnecessary files after r76224. 21626 21627 * WebCore.pro: 21628 21629 2011-01-20 Ilya Tikhonovsky <loislo (a] chromium.org> 21630 21631 Reviewed by Yury Semikhatsky. 21632 21633 Web Inspector: prepare for extracting InspectorAgent from InspectorController. 21634 https://bugs.webkit.org/show_bug.cgi?id=52797 21635 21636 * inspector/CodeGeneratorInspector.pm: 21637 * inspector/InspectorController.h: 21638 (WebCore::InspectorController::inspectorAgent): 21639 (WebCore::InspectorController::cssAgent): 21640 (WebCore::InspectorController::injectedScriptAgent): 21641 (WebCore::InspectorController::resourceAgent): 21642 (WebCore::InspectorController::runtimeAgent): 21643 (WebCore::InspectorController::timelineAgent): 21644 (WebCore::InspectorController::databaseAgent): 21645 (WebCore::InspectorController::domStorageAgent): 21646 (WebCore::InspectorController::fileSystemAgent): 21647 (WebCore::InspectorController::browserDebuggerAgent): 21648 (WebCore::InspectorController::debuggerAgent): 21649 (WebCore::InspectorController::profilerAgent): 21650 (WebCore::InspectorController::applicationCacheAgent): 21651 21652 2011-01-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 21653 21654 Unreviewed, rolling out r76215. 21655 http://trac.webkit.org/changeset/76215 21656 https://bugs.webkit.org/show_bug.cgi?id=52799 21657 21658 Caused regressions in Chromium; morrita is going to look at it 21659 tomrorow (Requested by jorlow on #webkit). 21660 21661 * dom/TextEvent.h: 21662 * dom/TextEventInputType.h: 21663 * editing/CompositeEditCommand.cpp: 21664 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 21665 * editing/CompositeEditCommand.h: 21666 * editing/Editor.cpp: 21667 (WebCore::Editor::insertTextWithoutSendingTextEvent): 21668 (WebCore::Editor::confirmComposition): 21669 (WebCore::Editor::setComposition): 21670 * editing/Editor.h: 21671 * editing/InsertTextCommand.cpp: 21672 (WebCore::InsertTextCommand::input): 21673 * editing/InsertTextCommand.h: 21674 * editing/TypingCommand.cpp: 21675 (WebCore::TypingCommand::TypingCommand): 21676 (WebCore::TypingCommand::insertText): 21677 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 21678 * editing/TypingCommand.h: 21679 (WebCore::TypingCommand::create): 21680 21681 2010-12-14 Yury Semikhatsky <yurys (a] chromium.org> 21682 21683 Reviewed by Adam Barth. 21684 21685 [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp 21686 https://bugs.webkit.org/show_bug.cgi?id=51044 21687 21688 * WebCore.gypi: 21689 * bindings/v8/V8ConsoleMessage.cpp: Removed. 21690 * bindings/v8/V8ConsoleMessage.h: Removed. 21691 * bindings/v8/V8DOMWindowShell.cpp: 21692 (WebCore::v8UncaughtExceptionHandler): 21693 (WebCore::reportUnsafeJavaScriptAccess): 21694 (WebCore::V8DOMWindowShell::initContextIfNeeded): 21695 * bindings/v8/V8Proxy.cpp: 21696 (WebCore::addMessageToConsole): 21697 (WebCore::logInfo): 21698 (WebCore::V8Proxy::reportUnsafeAccessTo): 21699 (WebCore::V8Proxy::runScript): 21700 (WebCore::V8Proxy::callFunction): 21701 (WebCore::V8Proxy::newInstance): 21702 * bindings/v8/V8Proxy.h: 21703 * bindings/v8/WorkerContextExecutionProxy.cpp: 21704 * bindings/v8/specialization/V8BindingState.cpp: 21705 (WebCore::::immediatelyReportUnsafeAccessTo): 21706 21707 2011-01-19 MORITA Hajime <morrita (a] google.com> 21708 21709 Reviewed by Eric Seidel. 21710 21711 ShadowElement::m_shadowParent should be removed 21712 https://bugs.webkit.org/show_bug.cgi?id=52558 21713 21714 No new tests. No behavioral change. 21715 21716 * rendering/ShadowElement.h: 21717 (WebCore::ShadowElement::ShadowElement): 21718 21719 2011-01-20 Hans Wennborg <hans (a] chromium.org> 21720 21721 Reviewed by Jeremy Orlow. 21722 21723 IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror 21724 https://bugs.webkit.org/show_bug.cgi?id=52725 21725 21726 Let IDBObjectStore.get() fire the onsuccess handler with the value 21727 'undefined' for when an object does not exist in the store. 21728 21729 Update SerializedScriptValue to provide such an undefined value. 21730 21731 * bindings/v8/SerializedScriptValue.cpp: 21732 (WebCore::SerializedScriptValue::nullValue): 21733 (WebCore::SerializedScriptValue::undefinedValue): 21734 * bindings/v8/SerializedScriptValue.h: 21735 * storage/IDBObjectStoreBackendImpl.cpp: 21736 (WebCore::IDBObjectStoreBackendImpl::getInternal): 21737 21738 2010-12-27 Yury Semikhatsky <yurys (a] chromium.org> 21739 21740 Reviewed by Pavel Feldman. 21741 21742 WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown 21743 https://bugs.webkit.org/show_bug.cgi?id=8519 21744 21745 Uncaught exceptions are propagated to window.onerror hander if one is present. 21746 The handler is expected to be a function accepting three arguments: error message, 21747 resource url and line number where the exception occured. 21748 21749 It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they 21750 were created in the same isolated world where the exception occured or not. 21751 21752 Tests: fast/events/window-onerror1.html 21753 fast/events/window-onerror10.html 21754 fast/events/window-onerror11.html 21755 fast/events/window-onerror12.html 21756 fast/events/window-onerror2.html 21757 fast/events/window-onerror3.html 21758 fast/events/window-onerror4.html 21759 fast/events/window-onerror5.html 21760 fast/events/window-onerror6.html 21761 fast/events/window-onerror7.html 21762 fast/events/window-onerror8.html 21763 fast/events/window-onerror9.html 21764 http/tests/security/window-onerror-exception-in-iframe.html 21765 userscripts/window-onerror-for-isolated-world-1.html 21766 userscripts/window-onerror-for-isolated-world-2.html 21767 21768 * Android.jscbindings.mk: 21769 * CMakeLists.txt: 21770 * GNUmakefile.am: 21771 * WebCore.gypi: 21772 * WebCore.order: 21773 * WebCore.pro: 21774 * WebCore.vcproj/WebCore.vcproj: 21775 * WebCore.xcodeproj/project.pbxproj: 21776 * bindings/js/JSBindingsAllInOne.cpp: 21777 * bindings/js/JSDOMBinding.cpp: 21778 (WebCore::reportException): 21779 * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. 21780 (WebCore::JSErrorHandler::JSErrorHandler): 21781 (WebCore::JSErrorHandler::~JSErrorHandler): 21782 (WebCore::JSErrorHandler::handleEvent): 21783 * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. 21784 (WebCore::JSErrorHandler::create): 21785 (WebCore::createJSErrorHandler): 21786 * bindings/js/JSEventListener.h: 21787 * bindings/scripts/CodeGeneratorJS.pm: 21788 * bindings/scripts/CodeGeneratorV8.pm: 21789 * bindings/v8/V8ConsoleMessage.cpp: 21790 (WebCore::V8ConsoleMessage::dispatchNow): 21791 (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception 21792 reporting mechanism which is also used by JSC bindings. 21793 * bindings/v8/V8ConsoleMessage.h: 21794 * bindings/v8/V8EventListener.h: 21795 * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. 21796 (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): 21797 (WebCore::V8WindowErrorHandler::callListenerFunction): 21798 * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp. 21799 (WebCore::V8WindowErrorHandler::create): 21800 * bindings/v8/WorkerContextExecutionProxy.cpp: 21801 (WebCore::v8MessageHandler): 21802 * bindings/v8/WorkerScriptController.cpp: 21803 (WebCore::WorkerScriptController::evaluate): 21804 * dom/Document.cpp: 21805 (WebCore::Document::errorEventTarget): 21806 (WebCore::Document::logExceptionToConsole): 21807 (WebCore::Document::addMessage): 21808 * dom/Document.h: 21809 * dom/ErrorEvent.cpp: 21810 * dom/ErrorEvent.h: 21811 * dom/Event.cpp: 21812 (WebCore::Event::isErrorEvent): 21813 * dom/Event.h: 21814 * dom/ScriptExecutionContext.cpp: 21815 (WebCore::ScriptExecutionContext::PendingException::PendingException): 21816 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 21817 (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to 21818 ensure that error event dispatching algorithm is the same in WorkerContext and in Document. 21819 (WebCore::ScriptExecutionContext::dispatchErrorEvent): 21820 * dom/ScriptExecutionContext.h: 21821 * websockets/WebSocket.cpp: 21822 (WebCore::WebSocket::connect): 21823 * websockets/WebSocketChannel.cpp: 21824 (WebCore::WebSocketChannel::didOpen): 21825 (WebCore::WebSocketChannel::didFail): 21826 (WebCore::WebSocketChannel::appendToBuffer): 21827 * websockets/WebSocketHandshake.cpp: 21828 (WebCore::WebSocketHandshake::readServerHandshake): 21829 (WebCore::WebSocketHandshake::readStatusLine): 21830 (WebCore::WebSocketHandshake::readHTTPHeaders): 21831 (WebCore::WebSocketHandshake::checkResponseHeaders): 21832 * workers/DefaultSharedWorkerRepository.cpp: 21833 (WebCore::postExceptionTask): 21834 (WebCore::postConsoleMessageTask): 21835 * workers/WorkerContext.cpp: 21836 (WebCore::WorkerContext::WorkerContext): 21837 (WebCore::WorkerContext::errorEventTarget): 21838 (WebCore::WorkerContext::logExceptionToConsole): 21839 (WebCore::WorkerContext::addMessage): 21840 * workers/WorkerContext.h: 21841 * workers/WorkerMessagingProxy.cpp: 21842 (WebCore::WorkerExceptionTask::performTask): 21843 (WebCore::postConsoleMessageTask): 21844 * xml/XMLHttpRequest.cpp: 21845 (WebCore::reportUnsafeUsage): 21846 21847 2011-01-19 MORITA Hajime <morrita (a] google.com> 21848 21849 Reviewed by Ryosuke Niwa. 21850 21851 Space and tab characters "sent" by an input method give totally different results than typing them directly 21852 https://bugs.webkit.org/show_bug.cgi?id=5241 21853 21854 * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 21855 distinguish text input which is originated by composition. 21856 * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 21857 range of string on text node, instead of surrounding part of that. 21858 21859 Test: editing/inserting/insert-composition-whitespace.html 21860 21861 * dom/TextEvent.h: 21862 (WebCore::TextEvent::isComposition): 21863 * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType 21864 * editing/CompositeEditCommand.cpp: 21865 (WebCore::containsOnlyWhitespace): 21866 (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): 21867 (WebCore::CompositeEditCommand::canRebalance): 21868 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 21869 (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string. 21870 * editing/CompositeEditCommand.h: 21871 * editing/Editor.cpp: 21872 (WebCore::Editor::insertTextForConfirmedComposition): Added. 21873 (WebCore::Editor::insertTextWithoutSendingTextEvent): 21874 (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition(). 21875 (WebCore::Editor::setComposition): 21876 * editing/Editor.h: 21877 * editing/InsertTextCommand.cpp: 21878 (WebCore::InsertTextCommand::input): 21879 * editing/InsertTextCommand.h: 21880 * editing/TypingCommand.cpp: 21881 (WebCore::TypingCommand::TypingCommand): 21882 (WebCore::TypingCommand::insertText): 21883 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 21884 * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType 21885 (WebCore::TypingCommand::setCompositionType): Added. 21886 (WebCore::TypingCommand::create): 21887 21888 2011-01-19 Dominic Cooney <dominicc (a] google.com> 21889 21890 Reviewed by Kent Tamura. 21891 21892 Make <keygen> no longer appear to be a <select> element to script. 21893 https://bugs.webkit.org/show_bug.cgi?id=52557 21894 21895 The intent is to put <keygen> options into shadow DOM. This change 21896 takes the first step by hiding the <select> element from 21897 JavaScript. 21898 21899 Test: fast/dom/HTMLKeygenElement/keygen.html 21900 21901 * CMakeLists.txt: Adds new IDL-derived wrapper. 21902 * DerivedSources.cpp: 21903 * DerivedSources.make: 21904 * GNUmakefile.am: 21905 * WebCore.gypi: 21906 * WebCore.pri: 21907 * WebCore.vcproj/WebCore.vcproj: 21908 * WebCore.xcodeproj/project.pbxproj: 21909 * bindings/gobject/GNUmakefile.am: 21910 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: 21911 (WebKit::createKeygenWrapper): 21912 (WebKit::createHTMLElementWrapper): 21913 * bindings/objc/DOM.mm: 21914 (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement 21915 * html/HTMLKeygenElement.h: 21916 (WebCore::HTMLKeygenElement::willValidate): Now public. 21917 * html/HTMLKeygenElement.idl: Added. 21918 * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement. 21919 * page/DOMWindow.idl: Add HTMLKeygenElement constructor. 21920 21921 2011-01-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 21922 21923 Unreviewed, rolling out r76203. 21924 http://trac.webkit.org/changeset/76203 21925 https://bugs.webkit.org/show_bug.cgi?id=52784 21926 21927 Broke Win compile on Chromium bots (Requested by dimich on 21928 #webkit). 21929 21930 * WebCore.gypi: 21931 * bindings/v8/V8DOMWindowShell.cpp: 21932 (WebCore::reportFatalErrorInV8): 21933 * page/PageGroup.cpp: 21934 (WebCore::PageGroup::isLinkVisited): 21935 * platform/android/PlatformBridge.h: 21936 * platform/audio/chromium/AudioBusChromium.cpp: 21937 (WebCore::createBusFromInMemoryAudioFile): 21938 * platform/chromium/ChromiumBridge.h: Added. 21939 * platform/chromium/ChromiumDataObjectLegacy.cpp: 21940 (WebCore::ChromiumDataObjectLegacy::getData): 21941 * platform/chromium/DragDataChromium.cpp: 21942 (WebCore::DragData::asURL): 21943 * platform/chromium/FileSystemChromium.cpp: 21944 (WebCore::deleteFile): 21945 (WebCore::deleteEmptyDirectory): 21946 (WebCore::getFileSize): 21947 (WebCore::getFileModificationTime): 21948 (WebCore::revealFolderInOS): 21949 (WebCore::directoryName): 21950 (WebCore::pathByAppendingComponent): 21951 (WebCore::makeAllDirectories): 21952 (WebCore::fileExists): 21953 (WebCore::openFile): 21954 (WebCore::closeFile): 21955 (WebCore::seekFile): 21956 (WebCore::truncateFile): 21957 (WebCore::readFromFile): 21958 (WebCore::writeToFile): 21959 * platform/chromium/LanguageChromium.cpp: 21960 (WebCore::platformDefaultLanguage): 21961 * platform/chromium/LinkHashChromium.cpp: 21962 (WebCore::visitedLinkHash): 21963 * platform/chromium/MIMETypeRegistryChromium.cpp: 21964 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 21965 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 21966 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 21967 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 21968 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 21969 * platform/chromium/PasteboardChromium.cpp: 21970 (WebCore::Pasteboard::writeSelection): 21971 (WebCore::Pasteboard::writePlainText): 21972 (WebCore::Pasteboard::writeURL): 21973 (WebCore::Pasteboard::writeImage): 21974 (WebCore::Pasteboard::canSmartReplace): 21975 (WebCore::Pasteboard::plainText): 21976 (WebCore::Pasteboard::documentFragment): 21977 * platform/chromium/PlatformBridge.h: 21978 * platform/chromium/PlatformScreenChromium.cpp: 21979 (WebCore::screenDepth): 21980 (WebCore::screenDepthPerComponent): 21981 (WebCore::screenIsMonochrome): 21982 (WebCore::screenRect): 21983 (WebCore::screenAvailableRect): 21984 * platform/chromium/ReadableDataObject.cpp: 21985 (WebCore::ReadableDataObject::getData): 21986 (WebCore::ReadableDataObject::urlTitle): 21987 (WebCore::ReadableDataObject::htmlBaseUrl): 21988 (WebCore::ReadableDataObject::filenames): 21989 (WebCore::ReadableDataObject::ensureTypeCacheInitialized): 21990 * platform/chromium/SSLKeyGeneratorChromium.cpp: 21991 (WebCore::signedPublicKeyAndChallengeString): 21992 * platform/chromium/ScrollbarThemeChromium.cpp: 21993 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 21994 (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): 21995 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 21996 (WebCore::ScrollbarThemeChromiumLinux::paintButton): 21997 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 21998 (WebCore::ScrollbarThemeChromiumLinux::buttonSize): 21999 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): 22000 * platform/chromium/ScrollbarThemeChromiumMac.mm: 22001 (WebCore::scrollbarStateToThemeState): 22002 (WebCore::ScrollbarThemeChromiumMac::paint): 22003 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 22004 (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): 22005 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): 22006 (WebCore::ScrollbarThemeChromiumWin::paintButton): 22007 (WebCore::ScrollbarThemeChromiumWin::paintThumb): 22008 (WebCore::ScrollbarThemeChromiumWin::buttonSize): 22009 * platform/chromium/SharedTimerChromium.cpp: 22010 (WebCore::setSharedTimerFiredFunction): 22011 (WebCore::setSharedTimerFireTime): 22012 (WebCore::stopSharedTimer): 22013 * platform/chromium/SuddenTerminationChromium.cpp: 22014 (WebCore::disableSuddenTermination): 22015 (WebCore::enableSuddenTermination): 22016 * platform/chromium/SystemTimeChromium.cpp: 22017 (WebCore::currentTime): 22018 * platform/chromium/WritableDataObject.cpp: 22019 (WebCore::WritableDataObject::setData): 22020 * platform/graphics/chromium/CrossProcessFontLoading.mm: 22021 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 22022 (WebCore::fontContainsCharacter): 22023 (WebCore::FillLogFont): 22024 * platform/graphics/chromium/FontCacheLinux.cpp: 22025 (WebCore::FontCache::getFontDataForCharacters): 22026 * platform/graphics/chromium/FontChromiumWin.cpp: 22027 (WebCore::Font::drawGlyphs): 22028 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 22029 (WebCore::FontPlatformData::scriptFontProperties): 22030 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 22031 (WebCore::FontPlatformData::querySystemForRenderStyle): 22032 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 22033 (WebCore::fillBMPGlyphs): 22034 * platform/graphics/chromium/ImageChromium.cpp: 22035 (WebCore::Image::loadPlatformResource): 22036 * platform/graphics/chromium/ImageChromiumMac.mm: 22037 (WebCore::Image::loadPlatformResource): 22038 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 22039 (WebCore::SimpleFontData::platformInit): 22040 (WebCore::SimpleFontData::determinePitch): 22041 (WebCore::SimpleFontData::platformWidthForGlyph): 22042 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: 22043 (WebCore::UniscribeHelperTextRun::tryToPreloadFont): 22044 * platform/graphics/skia/FontCustomPlatformData.cpp: 22045 (WebCore::FontCustomPlatformData::fontPlatformData): 22046 * platform/network/chromium/CookieJarChromium.cpp: 22047 (WebCore::setCookies): 22048 (WebCore::cookies): 22049 (WebCore::cookieRequestHeaderFieldValue): 22050 (WebCore::cookiesEnabled): 22051 (WebCore::getRawCookies): 22052 (WebCore::deleteCookie): 22053 * platform/network/chromium/DNSChromium.cpp: 22054 (WebCore::prefetchDNS): 22055 * platform/qt/PlatformBridge.h: 22056 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 22057 (WebCore::SQLiteFileSystem::deleteDatabaseFile): 22058 (WebCore::SQLiteFileSystem::getDatabaseFileSize): 22059 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 22060 (chromiumOpen): 22061 (chromiumDelete): 22062 (chromiumAccess): 22063 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 22064 * plugins/chromium/PluginDataChromium.cpp: 22065 (WebCore::PluginCache::plugins): 22066 * rendering/RenderThemeChromiumMac.mm: 22067 (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): 22068 * rendering/RenderThemeChromiumSkia.cpp: 22069 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 22070 * rendering/RenderThemeChromiumWin.cpp: 22071 (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): 22072 (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): 22073 (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): 22074 (WebCore::RenderThemeChromiumWin::systemColor): 22075 (WebCore::RenderThemeChromiumWin::paintButton): 22076 (WebCore::RenderThemeChromiumWin::paintSliderTrack): 22077 (WebCore::menuListButtonWidth): 22078 (WebCore::RenderThemeChromiumWin::paintMenuList): 22079 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 22080 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): 22081 (WebCore::RenderThemeChromiumWin::paintProgressBar): 22082 * storage/chromium/IDBFactoryBackendInterface.cpp: 22083 (WebCore::IDBFactoryBackendInterface::create): 22084 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): 22085 * storage/chromium/IDBKeyPathBackendImpl.cpp: 22086 (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): 22087 22088 2011-01-19 Helder Correia <helder (a] sencha.com> 22089 22090 Reviewed by Andreas Kling. 22091 22092 [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha 22093 https://bugs.webkit.org/show_bug.cgi?id=52705 22094 22095 This is related to bug 52611. The shadow color alpha must be multiplied 22096 by the context pen alpha. Fixing this results in correct behavior for 22097 Canvas path stroke() and strokeRect() [which relies on stroke()]. 22098 22099 Tests: fast/canvas/canvas-strokePath-alpha-shadow.html 22100 fast/canvas/canvas-strokeRect-alpha-shadow.html 22101 22102 * platform/graphics/qt/GraphicsContextQt.cpp: 22103 (WebCore::GraphicsContext::strokePath): 22104 22105 2011-01-19 Darin Fisher <darin (a] chromium.org> 22106 22107 Reviewed by Mihai Parparita. 22108 22109 Re-initialize the HistoryItem fully when navigating to a HistoryItem, 22110 or replacing a HistoryItem, results in a different URL. 22111 22112 https://bugs.webkit.org/show_bug.cgi?id=49654 22113 22114 This patch also forces all HistoryItems to record the post-redirect 22115 URL. Previously, frames would remember the pre-redirect URL. This is 22116 problematic since other members of the HistoryItem correspond to the 22117 post-redirect URL. 22118 22119 Tests: fast/history/history-replace-updates-current-item.html 22120 http/tests/navigation/redirect-on-back-updates-history-item.html 22121 http/tests/navigation/redirect-on-reload-updates-history-item.html 22122 22123 * history/HistoryItem.cpp: 22124 (WebCore::HistoryItem::HistoryItem): 22125 (WebCore::HistoryItem::reset): 22126 * history/HistoryItem.h: 22127 * loader/HistoryController.cpp: 22128 (WebCore::HistoryController::updateForBackForwardNavigation): 22129 (WebCore::HistoryController::updateForReload): 22130 (WebCore::HistoryController::updateForStandardLoad): 22131 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 22132 (WebCore::HistoryController::initializeItem): 22133 (WebCore::HistoryController::createItem): 22134 (WebCore::HistoryController::createItemTree): 22135 (WebCore::HistoryController::updateCurrentItem): 22136 * loader/HistoryController.h: 22137 22138 2011-01-19 Adam Klein <adamk (a] chromium.org> 22139 22140 Reviewed by Darin Fisher. 22141 22142 [chromium] Rename ChromiumBridge to PlatformBridge 22143 https://bugs.webkit.org/show_bug.cgi?id=52471 22144 22145 No tests added as this is a rename; no change in behavior. 22146 22147 * WebCore.gypi: 22148 * bindings/v8/V8DOMWindowShell.cpp: 22149 (WebCore::reportFatalErrorInV8): 22150 * page/PageGroup.cpp: 22151 (WebCore::PageGroup::isLinkVisited): 22152 * platform/android/PlatformBridge.h: 22153 * platform/audio/chromium/AudioBusChromium.cpp: 22154 (WebCore::createBusFromInMemoryAudioFile): 22155 * platform/chromium/ChromiumBridge.h: Removed. 22156 * platform/chromium/ChromiumDataObjectLegacy.cpp: 22157 (WebCore::ChromiumDataObjectLegacy::getData): 22158 * platform/chromium/DragDataChromium.cpp: 22159 (WebCore::DragData::asURL): 22160 * platform/chromium/FileSystemChromium.cpp: 22161 (WebCore::deleteFile): 22162 (WebCore::deleteEmptyDirectory): 22163 (WebCore::getFileSize): 22164 (WebCore::getFileModificationTime): 22165 (WebCore::revealFolderInOS): 22166 (WebCore::directoryName): 22167 (WebCore::pathByAppendingComponent): 22168 (WebCore::makeAllDirectories): 22169 (WebCore::fileExists): 22170 (WebCore::openFile): 22171 (WebCore::closeFile): 22172 (WebCore::seekFile): 22173 (WebCore::truncateFile): 22174 (WebCore::readFromFile): 22175 (WebCore::writeToFile): 22176 * platform/chromium/LanguageChromium.cpp: 22177 (WebCore::platformDefaultLanguage): 22178 * platform/chromium/LinkHashChromium.cpp: 22179 (WebCore::visitedLinkHash): 22180 * platform/chromium/MIMETypeRegistryChromium.cpp: 22181 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 22182 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 22183 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 22184 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 22185 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 22186 * platform/chromium/PasteboardChromium.cpp: 22187 (WebCore::Pasteboard::writeSelection): 22188 (WebCore::Pasteboard::writePlainText): 22189 (WebCore::Pasteboard::writeURL): 22190 (WebCore::Pasteboard::writeImage): 22191 (WebCore::Pasteboard::canSmartReplace): 22192 (WebCore::Pasteboard::plainText): 22193 (WebCore::Pasteboard::documentFragment): 22194 * platform/chromium/PlatformBridge.h: 22195 * platform/chromium/PlatformScreenChromium.cpp: 22196 (WebCore::screenDepth): 22197 (WebCore::screenDepthPerComponent): 22198 (WebCore::screenIsMonochrome): 22199 (WebCore::screenRect): 22200 (WebCore::screenAvailableRect): 22201 * platform/chromium/ReadableDataObject.cpp: 22202 (WebCore::ReadableDataObject::getData): 22203 (WebCore::ReadableDataObject::urlTitle): 22204 (WebCore::ReadableDataObject::htmlBaseUrl): 22205 (WebCore::ReadableDataObject::filenames): 22206 (WebCore::ReadableDataObject::ensureTypeCacheInitialized): 22207 * platform/chromium/SSLKeyGeneratorChromium.cpp: 22208 (WebCore::signedPublicKeyAndChallengeString): 22209 * platform/chromium/ScrollbarThemeChromium.cpp: 22210 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 22211 (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): 22212 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 22213 (WebCore::ScrollbarThemeChromiumLinux::paintButton): 22214 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 22215 (WebCore::ScrollbarThemeChromiumLinux::buttonSize): 22216 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): 22217 * platform/chromium/ScrollbarThemeChromiumMac.mm: 22218 (WebCore::scrollbarStateToThemeState): 22219 (WebCore::ScrollbarThemeChromiumMac::paint): 22220 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 22221 (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): 22222 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): 22223 (WebCore::ScrollbarThemeChromiumWin::paintButton): 22224 (WebCore::ScrollbarThemeChromiumWin::paintThumb): 22225 (WebCore::ScrollbarThemeChromiumWin::buttonSize): 22226 * platform/chromium/SharedTimerChromium.cpp: 22227 (WebCore::setSharedTimerFiredFunction): 22228 (WebCore::setSharedTimerFireTime): 22229 (WebCore::stopSharedTimer): 22230 * platform/chromium/SuddenTerminationChromium.cpp: 22231 (WebCore::disableSuddenTermination): 22232 (WebCore::enableSuddenTermination): 22233 * platform/chromium/SystemTimeChromium.cpp: 22234 (WebCore::currentTime): 22235 * platform/chromium/WritableDataObject.cpp: 22236 (WebCore::WritableDataObject::setData): 22237 * platform/graphics/chromium/CrossProcessFontLoading.mm: 22238 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 22239 (WebCore::fontContainsCharacter): 22240 (WebCore::FillLogFont): 22241 * platform/graphics/chromium/FontCacheLinux.cpp: 22242 (WebCore::FontCache::getFontDataForCharacters): 22243 * platform/graphics/chromium/FontChromiumWin.cpp: 22244 (WebCore::Font::drawGlyphs): 22245 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 22246 (WebCore::FontPlatformData::scriptFontProperties): 22247 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 22248 (WebCore::FontPlatformData::querySystemForRenderStyle): 22249 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 22250 (WebCore::fillBMPGlyphs): 22251 * platform/graphics/chromium/ImageChromium.cpp: 22252 (WebCore::Image::loadPlatformResource): 22253 * platform/graphics/chromium/ImageChromiumMac.mm: 22254 (WebCore::Image::loadPlatformResource): 22255 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 22256 (WebCore::SimpleFontData::platformInit): 22257 (WebCore::SimpleFontData::determinePitch): 22258 (WebCore::SimpleFontData::platformWidthForGlyph): 22259 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: 22260 (WebCore::UniscribeHelperTextRun::tryToPreloadFont): 22261 * platform/graphics/skia/FontCustomPlatformData.cpp: 22262 (WebCore::FontCustomPlatformData::fontPlatformData): 22263 * platform/network/chromium/CookieJarChromium.cpp: 22264 (WebCore::setCookies): 22265 (WebCore::cookies): 22266 (WebCore::cookieRequestHeaderFieldValue): 22267 (WebCore::cookiesEnabled): 22268 (WebCore::getRawCookies): 22269 (WebCore::deleteCookie): 22270 * platform/network/chromium/DNSChromium.cpp: 22271 (WebCore::prefetchDNS): 22272 * platform/qt/PlatformBridge.h: 22273 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 22274 (WebCore::SQLiteFileSystem::deleteDatabaseFile): 22275 (WebCore::SQLiteFileSystem::getDatabaseFileSize): 22276 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 22277 (chromiumOpen): 22278 (chromiumDelete): 22279 (chromiumAccess): 22280 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 22281 * plugins/chromium/PluginDataChromium.cpp: 22282 (WebCore::PluginCache::plugins): 22283 * rendering/RenderThemeChromiumMac.mm: 22284 (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): 22285 * rendering/RenderThemeChromiumSkia.cpp: 22286 (WebCore::RenderThemeChromiumSkia::caretBlinkInterval): 22287 * rendering/RenderThemeChromiumWin.cpp: 22288 (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): 22289 (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): 22290 (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): 22291 (WebCore::RenderThemeChromiumWin::systemColor): 22292 (WebCore::RenderThemeChromiumWin::paintButton): 22293 (WebCore::RenderThemeChromiumWin::paintSliderTrack): 22294 (WebCore::menuListButtonWidth): 22295 (WebCore::RenderThemeChromiumWin::paintMenuList): 22296 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 22297 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): 22298 (WebCore::RenderThemeChromiumWin::paintProgressBar): 22299 * storage/chromium/IDBFactoryBackendInterface.cpp: 22300 (WebCore::IDBFactoryBackendInterface::create): 22301 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface): 22302 * storage/chromium/IDBKeyPathBackendImpl.cpp: 22303 (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath): 22304 22305 2011-01-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 22306 22307 Unreviewed, rolling out r76187. 22308 http://trac.webkit.org/changeset/76187 22309 https://bugs.webkit.org/show_bug.cgi?id=52778 22310 22311 Broke caret-showing tests on SnowLeopard and Chromium 22312 (Requested by dimich on #webkit). 22313 22314 * rendering/RenderText.cpp: 22315 (WebCore::RenderText::localCaretRect): 22316 22317 2011-01-19 Yuzo Fujishima <yuzo (a] google.com> 22318 22319 Reviewed by Kent Tamura. 22320 22321 Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks 22322 https://bugs.webkit.org/show_bug.cgi?id=52279 22323 22324 In constructing text fragments to handle first-letter rule, first add 22325 the text for the non-first letters and then remove the original text, 22326 rather than the other way around. Otherwise, the text can be added to 22327 an anoymous block that is different from the original one. This breaks 22328 the assumption that a first letter render object has a non-null sibling 22329 for the non-first letters and causes a crash. 22330 22331 Test: fast/css/first-letter-anonymous-block-crash.html 22332 22333 * rendering/RenderBlock.cpp: 22334 (WebCore::RenderBlock::updateFirstLetter): 22335 22336 2011-01-19 James Robinson <jamesr (a] chromium.org> 22337 22338 Unreviewed, rolling out r76194. 22339 http://trac.webkit.org/changeset/76194 22340 https://bugs.webkit.org/show_bug.cgi?id=51218 22341 22342 Caused mysterious compile failure on the chromium win 22343 build.webkit.org bots 22344 22345 * WebCore.gypi: 22346 * dom/Document.cpp: 22347 (WebCore::Document::Document): 22348 * dom/Document.h: 22349 * dom/RequestAnimationFrameCallback.h: Removed. 22350 * dom/RequestAnimationFrameCallback.idl: Removed. 22351 * loader/EmptyClients.h: 22352 * page/Chrome.cpp: 22353 * page/Chrome.h: 22354 * page/ChromeClient.h: 22355 * page/DOMWindow.cpp: 22356 * page/DOMWindow.h: 22357 * page/DOMWindow.idl: 22358 * page/FrameView.cpp: 22359 * page/FrameView.h: 22360 * platform/HostWindow.h: 22361 22362 2011-01-19 Simon Fraser <simon.fraser (a] apple.com> 22363 22364 Reviewed by Sam Weinig. 22365 22366 GraphicsLayers in subframes can get sync'd multiple times 22367 https://bugs.webkit.org/show_bug.cgi?id=52489 22368 22369 Some cleanup that will work towards fixing this bug. 22370 22371 Tested by existing iframe compositing tests. 22372 22373 * WebCore.exp.in: syncCompositingStateRecursive() 22374 was renamed to syncCompositingStateIncludingSubframes(). 22375 22376 * page/FrameView.h: 22377 * page/FrameView.cpp: 22378 (WebCore::FrameView::syncCompositingStateForThisFrame): Some 22379 code cleanup: do all the word we need to do for this frame, 22380 including the needsLayout() check. 22381 (WebCore::FrameView::syncCompositingStateIncludingSubframes): 22382 This is no longer recursive; instead, it iterates over descendant 22383 frames via the frame tree, calling syncCompositingStateForThisFrame() 22384 on each Frame's view. 22385 22386 * rendering/RenderLayerCompositor.h: 22387 (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag. 22388 * rendering/RenderLayerCompositor.cpp: 22389 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 22390 (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain 22391 a flag to say if we're flushing, which allows us to assert on re-entrant flushes. 22392 (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers): 22393 Add the ability to get the rootmost compositor that is in the middle 22394 of a flush. 22395 22396 2011-01-19 James Robinson <jamesr (a] chromium.org> 22397 22398 Reviewed by Darin Fisher. 22399 22400 Implement mozilla's requestAnimationFrame API 22401 https://bugs.webkit.org/show_bug.cgi?id=51218 22402 22403 This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that 22404 an author driving an animation from script could use window.requestAnimationFrame(callback) 22405 instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser 22406 decide when to update the animations. This avoids doing unnecessary work when the page content 22407 is offscreen or is being displayed at a different framerate than what the page author expects. 22408 22409 Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame 22410 This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the 22411 following changes: 22412 *) Only the callback syntax is supported, there is no before paint event 22413 *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate 22414 what content they intend to animate. That way if the page is being displayed but the element 22415 in question is offscreen, we can avoid invoking the callback. 22416 *) No timestamp is provided to the caller and there is no window.animationStartTime property 22417 (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property) 22418 *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback 22419 using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime(). 22420 22421 The implementation depends on the embedder scheduling the callbacks since the callback invocation 22422 depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed 22423 to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is 22424 called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame. 22425 Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the 22426 embedder has to rate limit callbacks and may not be able to tie the callback directly to the 22427 rendering loop. 22428 22429 Tests: fast/animation/request-animation-frame-cancel.html 22430 fast/animation/request-animation-frame-cancel2.html 22431 fast/animation/request-animation-frame-display.html 22432 fast/animation/request-animation-frame-within-callback.html 22433 fast/animation/request-animation-frame.html 22434 22435 * WebCore.gypi: 22436 * dom/Document.cpp: 22437 (WebCore::Document::Document): 22438 (WebCore::Document::webkitRequestAnimationFrame): 22439 (WebCore::Document::webkitCancelRequestAnimationFrame): 22440 (WebCore::Document::serviceScriptedAnimations): 22441 * dom/Document.h: 22442 * dom/RequestAnimationFrameCallback.h: Added. 22443 (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback): 22444 * dom/RequestAnimationFrameCallback.idl: Added. 22445 * loader/EmptyClients.h: 22446 (WebCore::EmptyChromeClient::scheduleAnimation): 22447 * page/Chrome.cpp: 22448 (WebCore::Chrome::scheduleAnimation): 22449 * page/Chrome.h: 22450 * page/ChromeClient.h: 22451 * page/DOMWindow.cpp: 22452 (WebCore::DOMWindow::webkitRequestAnimationFrame): 22453 (WebCore::DOMWindow::webkitCancelRequestAnimationFrame): 22454 * page/DOMWindow.h: 22455 * page/DOMWindow.idl: 22456 * page/FrameView.cpp: 22457 (WebCore::FrameView::scheduleAnimation): 22458 (WebCore::FrameView::serviceScriptedAnimations): 22459 * page/FrameView.h: 22460 * platform/HostWindow.h: 22461 22462 2011-01-13 Martin Robinson <mrobinson (a] igalia.com> 22463 22464 Reviewed by Daniel Bates. 22465 22466 [GTK] Move progress bar painting out of gtk2drawing.c 22467 https://bugs.webkit.org/show_bug.cgi?id=52385 22468 22469 Move progress bar painting to RenderThemeGtk2 and share some animation 22470 logic between the GTK+ 2.x and GTK+ 3.x port. 22471 22472 No new tests. This should not change functionality. 22473 22474 * platform/gtk/RenderThemeGtk.cpp: 22475 (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3. 22476 (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto. 22477 (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the 22478 progress indicator given the rect for the maximum size of the indicator. 22479 * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and 22480 a new widget member for GTK+ 2.x 22481 * platform/gtk/RenderThemeGtk2.cpp: 22482 (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member. 22483 (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of 22484 calling the old Mozilla code. 22485 (WebCore::RenderThemeGtk::gtkProgressBar): Added. 22486 * platform/gtk/RenderThemeGtk3.cpp: 22487 (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get 22488 the area of the progress indicator. 22489 * platform/gtk/gtk2drawing.c: Remove unused code. 22490 (moz_gtk_get_widget_border): 22491 (moz_gtk_widget_paint): 22492 * platform/gtk/gtkdrawing.h: Ditto. 22493 22494 2011-01-19 Dmitry Titov <dimich (a] chromium.org> 22495 22496 [Chromium] Not reviewed, reverts the following changes: 22497 http://trac.webkit.org/changeset/76164 (build fix) 22498 http://trac.webkit.org/changeset/76159 (main change) 22499 22500 The change broke Chromium Linux-shlib build. 22501 22502 Original issue: 22503 Accelerated canvas2D has bad clipping performance. 22504 https://bugs.webkit.org/show_bug.cgi?id=52627 22505 22506 * WebCore.gyp/WebCore.gyp: 22507 * WebCore.gypi: 22508 * html/canvas/CanvasRenderingContext2D.cpp: 22509 (WebCore::CanvasRenderingContext2D::reset): 22510 (WebCore::CanvasRenderingContext2D::platformLayer): 22511 * platform/graphics/chromium/DrawingBufferChromium.cpp: 22512 (WebCore::DrawingBuffer::DrawingBuffer): 22513 * platform/graphics/chromium/GLES2Canvas.cpp: 22514 (WebCore::GLES2Canvas::State::State): 22515 (WebCore::GLES2Canvas::clearRect): 22516 (WebCore::GLES2Canvas::fillRect): 22517 (WebCore::GLES2Canvas::restore): 22518 (WebCore::GLES2Canvas::drawTexturedRect): 22519 * platform/graphics/chromium/GLES2Canvas.h: 22520 * platform/graphics/gpu/DrawingBuffer.cpp: 22521 (WebCore::DrawingBuffer::clear): 22522 (WebCore::DrawingBuffer::createSecondaryBuffers): 22523 (WebCore::DrawingBuffer::reset): 22524 * platform/graphics/gpu/DrawingBuffer.h: 22525 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 22526 (WebCore::SharedGraphicsContext3D::create): 22527 * platform/graphics/gpu/SharedGraphicsContext3D.h: 22528 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 22529 (WebCore::DrawingBuffer::DrawingBuffer): 22530 * platform/graphics/skia/GraphicsContextSkia.cpp: 22531 (WebCore::GraphicsContext::canvasClip): 22532 (WebCore::GraphicsContext::clipOut): 22533 (WebCore::GraphicsContext::clipPath): 22534 (WebCore::GraphicsContext::fillPath): 22535 * platform/graphics/skia/PlatformContextSkia.cpp: 22536 (WebCore::PlatformContextSkia::canAccelerate): 22537 (WebCore::PlatformContextSkia::uploadSoftwareToHardware): 22538 * thirdparty/glu/README.webkit: 22539 * thirdparty/glu/gluos.h: 22540 * thirdparty/glu/libtess/geom.c: 22541 * thirdparty/glu/libtess/priorityq.c: 22542 * thirdparty/glu/libtess/render.c: 22543 * thirdparty/glu/libtess/sweep.c: 22544 (IsWindingInside): 22545 (DoneEdgeDict): 22546 22547 2011-01-19 Levi Weintraub <leviw (a] google.com> 22548 22549 Reviewed by Darin Adler. 22550 22551 Re-committing this with the proper expected results. 22552 22553 Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and 22554 logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this 22555 resulted in the caret being placed incorrectly in overflowing editable IFrame content. 22556 22557 Long lines in non-white-space-pre editable documents show cursor in wrong place 22558 https://bugs.webkit.org/show_bug.cgi?id=48132 22559 22560 Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html 22561 22562 * rendering/RenderText.cpp: 22563 (WebCore::RenderText::localCaretRect): 22564 22565 2011-01-18 MORITA Hajime <morrita (a] google.com> 22566 22567 Reviewed by David Levin. 22568 22569 ElementRareData::m_shadowRoot should not be RefPtr. 22570 https://bugs.webkit.org/show_bug.cgi?id=51914 22571 22572 Makes ElementRareData::m_shadowRoot a raw pointer because 22573 ElementRareData::m_shadowRoot should be like a 22574 ContaineNode::m_firstChild, which is also a raw pointer. 22575 pointer. Which also means that both the shadow root and the shadow 22576 host reference each other as a parent-and-child relationship, via 22577 a raw pointer. 22578 22579 Note that it is safe not to manipulate the ref-count of 22580 m_shadowRoot because Node::m_parent of the shadow root points its 22581 shadow host, and the object isn't deleted even if the refcount is 22582 zero, as long as the node has non-null m_parent. (See TreeShared.) 22583 22584 The shadow root node is finally destroyed inside 22585 removeShadowRoot(), where we store the root node into a local 22586 RefPtr, then make the node's m_parent null, which results the 22587 destroy the node, at the end of the function, by RefPtr::~RefPtr. 22588 22589 No new tests. No behavioral change. 22590 22591 * dom/Element.cpp: 22592 (WebCore::Element::~Element): 22593 (WebCore::Element::shadowRoot): 22594 (WebCore::Element::setShadowRoot): 22595 (WebCore::Element::removeShadowRoot): 22596 * dom/ElementRareData.h: 22597 (WebCore::ElementRareData::ElementRareData): 22598 (WebCore::ElementRareData::~ElementRareData): 22599 22600 2011-01-12 Martin Robinson <mrobinson (a] igalia.com> 22601 22602 Reviewed by Gustavo Noronha Silva. 22603 22604 [GTK] Move text field painting out of gtk2drawing.c 22605 https://bugs.webkit.org/show_bug.cgi?id=52327 22606 22607 No new tests. This should not change behavior. 22608 22609 * platform/gtk/RenderThemeGtk2.cpp: 22610 (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper. 22611 (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead 22612 of calling into the Mozilla code. 22613 * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers 22614 for GTK+ theme functions. 22615 (WebCore::WidgetRenderingContext::gtkPaintFlatBox): 22616 (WebCore::WidgetRenderingContext::gtkPaintShadow): 22617 * platform/gtk/WidgetRenderingContext.h: Added new method declarations. 22618 * platform/gtk/gtk2drawing.c: Remove unused code. 22619 (moz_gtk_get_widget_border): 22620 (moz_gtk_widget_paint): 22621 * platform/gtk/gtkdrawing.h: 22622 22623 2011-01-19 Antti Koivisto <antti (a] apple.com> 22624 22625 Reviewed by Oliver Hunt. 22626 22627 Cache function offsets to speed up javascript parsing 22628 https://bugs.webkit.org/show_bug.cgi?id=52622 22629 22630 Use cache to save function offsets and some other info. 22631 This avoids quite a bit of work when reparsing the source. 22632 22633 * bindings/js/CachedScriptSourceProvider.h: 22634 (WebCore::CachedScriptSourceProvider::cache): 22635 (WebCore::CachedScriptSourceProvider::cacheSizeChanged): 22636 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 22637 * bindings/js/ScriptSourceProvider.h: 22638 (WebCore::ScriptSourceProvider::ScriptSourceProvider): 22639 * loader/cache/CachedScript.cpp: 22640 (WebCore::CachedScript::destroyDecodedData): 22641 (WebCore::CachedScript::sourceProviderCache): 22642 (WebCore::CachedScript::sourceProviderCacheSizeChanged): 22643 * loader/cache/CachedScript.h: 22644 22645 2011-01-11 Martin Robinson <mrobinson (a] igalia.com> 22646 22647 Reviewed by Gustavo Noronha Silva. 22648 22649 [GTK] Move toggle button rendering out of gtk2drawing.c 22650 https://bugs.webkit.org/show_bug.cgi?id=52258 22651 22652 * platform/gtk/RenderThemeGtk.h: 22653 * platform/gtk/RenderThemeGtk2.cpp: 22654 (WebCore::RenderThemeGtk::platformInit): Initialize new button members. 22655 (WebCore::adjustRectForFocus): Added this function which inflates a rect based 22656 on a widget's exterior focus. 22657 (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus. 22658 (WebCore::setToggleSize): Only listen to indicator-size to properly size 22659 checkboxes and radio buttons. 22660 (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly. 22661 (WebCore::paintToggle): Added. 22662 (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle. 22663 (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly. 22664 (WebCore::RenderThemeGtk::paintRadio): Call paintToggle. 22665 (WebCore::RenderThemeGtk::gtkRadioButton): Added. 22666 (WebCore::RenderThemeGtk::gtkCheckButton): Added. 22667 * platform/gtk/WidgetRenderingContext.cpp: 22668 (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space 22669 variable. This is good enough for all themes that I've tested and prevents having to 22670 pass information from RenderThemeGtk about every single type of widget. 22671 (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect 22672 to draw instead of m_paintRect. This is important when we're painting 22673 something that isn't the size of the total rect. 22674 (WebCore::WidgetRenderingContext::gtkPaintCheck): Added. 22675 (WebCore::WidgetRenderingContext::gtkPaintOption): Added. 22676 * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods. 22677 * platform/gtk/gtkdrawing.h: Remove newly unused code. 22678 * platform/gtk/gtk2drawing.c: Ditto. 22679 22680 2011-01-19 Tony Gentilcore <tonyg (a] chromium.org> 22681 22682 Unreviewed build fix. 22683 22684 Build fix for r76170 22685 https://bugs.webkit.org/show_bug.cgi?id=52758 22686 22687 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: 22688 22689 2011-01-19 David D. Kilzer <ddkilzer (a] apple.com> 22690 22691 <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO 22692 22693 Reviewed by Eric Carlson. 22694 22695 * loader/FrameLoader.cpp: Declare the methods here. 22696 (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): 22697 (WebCore::FrameLoader::showMediaPlayerProxyPlugin): 22698 * loader/FrameLoader.cpp: Moved methods to here... 22699 (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): 22700 (WebCore::FrameLoader::showMediaPlayerProxyPlugin): 22701 * loader/SubframeLoader.cpp: ...from here. 22702 (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): 22703 (WebCore::FrameLoader::showMediaPlayerProxyPlugin): 22704 22705 2011-01-19 Tony Gentilcore <tonyg (a] chromium.org> 22706 22707 Reviewed by Mihai Parparita. 22708 22709 Perform some forward declaration 22710 https://bugs.webkit.org/show_bug.cgi?id=52522 22711 22712 No new tests because no new functionality. 22713 22714 * accessibility/AccessibilityObject.h: 22715 * css/WebKitCSSMatrix.cpp: 22716 * html/HTMLAreaElement.cpp: 22717 * html/canvas/CanvasRenderingContext2D.cpp: 22718 * inspector/InspectorController.cpp: 22719 * platform/graphics/FloatPoint.cpp: 22720 * platform/graphics/Font.cpp: 22721 * platform/graphics/Font.h: 22722 * platform/graphics/FontFastPath.cpp: 22723 * platform/graphics/GraphicsContext.cpp: 22724 * platform/graphics/ImageBuffer.h: 22725 * platform/graphics/StringTruncator.cpp: 22726 * platform/graphics/WidthIterator.cpp: 22727 * platform/graphics/mac/ComplexTextController.cpp: 22728 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 22729 * platform/graphics/mac/FontComplexTextMac.cpp: 22730 * platform/graphics/transforms/TransformationMatrix.cpp: 22731 * platform/graphics/transforms/TransformationMatrix.h: 22732 * rendering/EllipsisBox.cpp: 22733 * rendering/InlineTextBox.cpp: 22734 * rendering/RenderBlock.cpp: 22735 * rendering/RenderBlockLineLayout.cpp: 22736 * rendering/RenderEmbeddedObject.cpp: 22737 * rendering/RenderFileUploadControl.cpp: 22738 * rendering/RenderFlexibleBox.cpp: 22739 * rendering/RenderImage.cpp: 22740 * rendering/RenderListBox.cpp: 22741 * rendering/RenderListMarker.cpp: 22742 * rendering/RenderMenuList.cpp: 22743 * rendering/RenderObject.h: 22744 * rendering/RenderText.cpp: 22745 * rendering/RenderTextControl.cpp: 22746 * rendering/svg/SVGInlineTextBox.cpp: 22747 * rendering/svg/SVGMarkerLayoutInfo.h: 22748 * rendering/svg/SVGTextMetrics.cpp: 22749 * svg/SVGFont.cpp: 22750 22751 2011-01-19 Adrienne Walker <enne (a] google.com> 22752 22753 Reviewed by Kenneth Russell. 22754 22755 [chromium] Tiled compositor should use texture manager 22756 https://bugs.webkit.org/show_bug.cgi?id=52418 22757 22758 Test: compositing/ 22759 22760 * platform/graphics/chromium/LayerRendererChromium.cpp: 22761 (WebCore::LayerRendererChromium::~LayerRendererChromium): 22762 (WebCore::LayerRendererChromium::cleanupSharedObjects): 22763 * platform/graphics/chromium/LayerTilerChromium.cpp: 22764 (WebCore::LayerTilerChromium::LayerTilerChromium): 22765 (WebCore::LayerTilerChromium::reset): 22766 (WebCore::LayerTilerChromium::createTile): 22767 (WebCore::LayerTilerChromium::update): 22768 (WebCore::LayerTilerChromium::draw): 22769 * platform/graphics/chromium/LayerTilerChromium.h: 22770 (WebCore::LayerTilerChromium::Tile::Tile): 22771 (WebCore::LayerTilerChromium::Tile::texture): 22772 22773 2011-01-19 Stephen White <senorblanco (a] chromium.org> 22774 22775 Unreviewed; build fix for chromium. 22776 22777 * platform/graphics/chromium/GLES2Canvas.cpp: 22778 (WebCore::GLES2Canvas::fillPath): 22779 22780 2011-01-18 Stephen White <senorblanco (a] chromium.org> 22781 22782 Reviewed by James Robinson. 22783 22784 Implement accelerated path drawing and clipping for the Canvas2D GPU 22785 path. 22786 https://bugs.webkit.org/show_bug.cgi?id=52627 22787 22788 This is done with a simple curve interpolator and the GLU tesselator, 22789 which is good enough for a 3-5X speedup on 22790 http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html. 22791 22792 Covered by canvas/philip/2d.path.clip.basic.html, and many, many more. 22793 All tests canvas/philip and fast/canvas paths pass with no 22794 regressions, although two have minor pixel differences which require 22795 rebaselining. 22796 22797 * WebCore.gyp/WebCore.gyp: 22798 Add internal_glu include path to chromium build. 22799 * WebCore.gypi: 22800 Add internal_glu files to chromium build. 22801 * html/canvas/CanvasRenderingContext2D.cpp: 22802 (WebCore::CanvasRenderingContext2D::reset): 22803 (WebCore::CanvasRenderingContext2D::platformLayer): 22804 Make CanvasRenderingContext2D more robust against failure to create 22805 a DrawingBuffer. 22806 * platform/graphics/chromium/DrawingBufferChromium.cpp: 22807 (WebCore::DrawingBuffer::DrawingBuffer): 22808 As in DrawingBufferMac.cpp, call reset() from the constructor. 22809 Also initialize size to (-1, -1), so reset() doesn't early-out. 22810 Add initializers for depthBuffer and stencilBuffer, and remove 22811 multisampleDepthStencilBuffer. 22812 * platform/graphics/chromium/GLES2Canvas.cpp: 22813 Remove some unused #includes. 22814 (WebCore::GLES2Canvas::State::State): 22815 Add clipping state, and implement save/restore via the copy constructor. 22816 (WebCore::operator*): 22817 (WebCore::Quadratic::Quadratic): 22818 (WebCore::Quadratic::fromBezier): 22819 (WebCore::Quadratic::evaluate): 22820 Quadratic Bezier curve class. 22821 (WebCore::Cubic::Cubic): 22822 (WebCore::Cubic::fromBezier): 22823 (WebCore::Cubic::evaluate): 22824 Cubic Bezier curve class. 22825 (WebCore::GLES2Canvas::clearRect): 22826 Add clipping support to clearRect(). 22827 (WebCore::GLES2Canvas::fillPath): 22828 Implement fillPath(). 22829 (WebCore::GLES2Canvas::fillRect): 22830 Add clipping support to fillRect(). 22831 (WebCore::GLES2Canvas::clipPath): 22832 Implement clipPath(). 22833 (WebCore::GLES2Canvas::clipOut): 22834 Stub out clipOut() (not called by Canvas 2D). 22835 (WebCore::GLES2Canvas::restore): 22836 When restoring, draw any remaining clipping paths to the stencil buffer. 22837 (WebCore::GLES2Canvas::drawTexturedRect): 22838 Add clipping support. 22839 (WebCore::interpolateQuadratic): 22840 (WebCore::interpolateCubic): 22841 Simple curve interpolation, using the Cubic and Quadratic classes. 22842 (WebCore::PolygonData::PolygonData): 22843 A struct to hold the tesselation data for callbacks. 22844 (WebCore::beginData): 22845 (WebCore::edgeFlagData): 22846 (WebCore::vertexData): 22847 (WebCore::endData): 22848 (WebCore::combineData): 22849 internal_glu tesselation callbacks. 22850 (WebCore::GLES2Canvas::createVertexBufferFromPath): 22851 Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling. 22852 (WebCore::GLES2Canvas::beginStencilDraw): 22853 Enable stencilling, and disable draws to the color buffer. 22854 (WebCore::GLES2Canvas::applyClipping): 22855 If clipping is enabled, set the appropriate GL state. 22856 * platform/graphics/chromium/GLES2Canvas.h: 22857 Document the flavours of drawTexturedRect() a bit, so I don't get confused. 22858 * platform/graphics/gpu/DrawingBuffer.cpp: 22859 (WebCore::DrawingBuffer::clear): 22860 (WebCore::DrawingBuffer::createSecondaryBuffers): 22861 (WebCore::DrawingBuffer::resizeDepthStencil): 22862 (WebCore::DrawingBuffer::reset): 22863 * platform/graphics/gpu/DrawingBuffer.h: 22864 Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 22865 Implement separate depth and stencil buffers for when 22866 OES_packed_depth_stencil is not available. Refactor creation of 22867 multisampled and non-multisampled depth and stencil buffers into 22868 resizeDepthStencil(). 22869 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 22870 (WebCore::SharedGraphicsContext3D::create): 22871 Turn on stencil, turn off depth, turn off antialiasing (for now). 22872 (WebCore::SharedGraphicsContext3D::enableStencil): 22873 * platform/graphics/gpu/SharedGraphicsContext3D.h: 22874 Implement stencil enable/disable. 22875 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 22876 (WebCore::DrawingBuffer::DrawingBuffer): 22877 Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1) 22878 on creation, so reset() doesn't early-out. Initialize m_depthBuffer 22879 and m_stencilBuffer. 22880 * platform/graphics/skia/GraphicsContextSkia.cpp: 22881 (WebCore::GraphicsContext::canvasClip): 22882 (WebCore::GraphicsContext::clipOut): 22883 (WebCore::GraphicsContext::clipPath): 22884 (WebCore::GraphicsContext::fillPath): 22885 Put in GPU hooks for path clipping, and path drawing. 22886 * platform/graphics/skia/PlatformContextSkia.cpp: 22887 (WebCore::PlatformContextSkia::canAccelerate): 22888 Don't check for clipping paths in canAccelerate() (since we can 22889 now accelerate them). 22890 (WebCore::PlatformContextSkia::uploadSoftwareToHardware): 22891 Don't do clipping when uploading software draws to hardware. 22892 * thirdparty/glu/README.webkit: 22893 * thirdparty/glu/gluos.h: 22894 #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build. 22895 * thirdparty/glu/libtess/geom.c: 22896 * thirdparty/glu/libtess/priorityq.c: 22897 * thirdparty/glu/libtess/render.c: 22898 Use do{}while(0) instead of if(1)else construct in macro. 22899 * thirdparty/glu/libtess/sweep.c: 22900 (IsWindingInside): 22901 (DoneEdgeDict): 22902 Fix some warnings treated as errors for the Linux Release build. 22903 22904 2011-01-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 22905 22906 Unreviewed, rolling out r76144. 22907 http://trac.webkit.org/changeset/76144 22908 https://bugs.webkit.org/show_bug.cgi?id=52737 22909 22910 Broke tests on multiple bots, mostly Chromium Canaries 22911 (Requested by dimich on #webkit). 22912 22913 * rendering/RenderText.cpp: 22914 (WebCore::RenderText::localCaretRect): 22915 22916 2011-01-19 Simon Fraser <simon.fraser (a] apple.com> 22917 22918 Reviewed by Adam Roben. 22919 22920 [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former 22921 https://bugs.webkit.org/show_bug.cgi?id=52732 22922 22923 When repeating gradient stops, make sure that the first and last stops are not at the same 22924 place, otherwise we'll add stops indefinitely and run out of memory. 22925 22926 Test: fast/gradients/zero-range-repeating-gradient-hang.html 22927 22928 * css/CSSGradientValue.cpp: 22929 (WebCore::CSSGradientValue::addStops): 22930 22931 2011-01-14 Dimitri Glazkov <dglazkov (a] chromium.org> 22932 22933 Reviewed by Darin Adler. 22934 22935 Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic. 22936 https://bugs.webkit.org/show_bug.cgi?id=52464 22937 22938 This change has two parts: 22939 22940 1) Utilize shadow DOM event retargeting to get rid of forwarding events 22941 via render tree; 22942 2) Move thumb positioning logic from RenderSlider to SliderThumbElement. 22943 22944 These two are highly co-dependent. It looked ugly when I tried to 22945 separate them. 22946 22947 No change in behavior, covered by existing tests. 22948 22949 * html/HTMLInputElement.cpp: 22950 (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of 22951 InputType::handleMouseDownEvent. 22952 * html/InputType.cpp: 22953 (WebCore::InputType::handleMouseDownEvent): Added empty decl. 22954 * html/InputType.h: Added def. 22955 * html/RangeInputType.cpp: 22956 (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case 22957 when the user clicks on the track of the slider. Also removed the 22958 forwardEvent method. 22959 * html/RangeInputType.h: Added/removed defs. 22960 * html/shadow/SliderThumbElement.cpp: 22961 (WebCore::SliderThumbElement::dragFrom): Added a helper method to start 22962 dragging from any position. 22963 (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to 22964 specified position. 22965 (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning 22966 logic in RenderSlider into this method, which is now a simple calculation 22967 and adjusting of thumb position based on supplied coordinates. 22968 (WebCore::SliderThumbElement::startDragging): Added. 22969 (WebCore::SliderThumbElement::stopDragging): Added. 22970 (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the 22971 old position-sniffing logic and replaced with simple calls to start, 22972 stop, and drag the thumb. 22973 * html/shadow/SliderThumbElement.h: Added defs. 22974 * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer 22975 necessary. 22976 * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness. 22977 22978 2011-01-19 Shane Stephens <shanestephens (a] google.com> 22979 22980 Reviewed by Chris Marrin. 22981 22982 Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major) 22983 https://bugs.webkit.org/show_bug.cgi?id=48031 22984 22985 Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and 22986 operator*= usage and switched operand order. 22987 22988 No new tests as this refactor doesn't add functionality. 22989 22990 * html/HTMLCanvasElement.cpp: 22991 (WebCore::HTMLCanvasElement::baseTransform): 22992 * html/canvas/CanvasRenderingContext2D.cpp: 22993 (WebCore::CanvasRenderingContext2D::transform): 22994 (WebCore::CanvasRenderingContext2D::setTransform): 22995 * platform/graphics/cg/PatternCG.cpp: 22996 (WebCore::Pattern::createPlatformPattern): 22997 * platform/graphics/chromium/GLES2Canvas.cpp: 22998 (WebCore::GLES2Canvas::fillRect): 22999 (WebCore::GLES2Canvas::concatCTM): 23000 (WebCore::GLES2Canvas::drawQuad): 23001 * platform/graphics/chromium/TransparencyWin.cpp: 23002 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): 23003 (WebCore::TransparencyWin::setupTransformForKeepTransform): 23004 * platform/graphics/transforms/AffineTransform.cpp: 23005 (WebCore::AffineTransform::multiply): 23006 (WebCore::AffineTransform::rotate): 23007 * platform/graphics/transforms/AffineTransform.h: 23008 (WebCore::AffineTransform::operator*=): 23009 (WebCore::AffineTransform::operator*): 23010 * platform/graphics/wince/GraphicsContextWinCE.cpp: 23011 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 23012 * platform/graphics/wince/SharedBitmap.cpp: 23013 (WebCore::SharedBitmap::drawPattern): 23014 * rendering/svg/RenderSVGResourceContainer.cpp: 23015 (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): 23016 * rendering/svg/RenderSVGResourceGradient.cpp: 23017 (WebCore::clipToTextMask): 23018 (WebCore::RenderSVGResourceGradient::applyResource): 23019 * rendering/svg/RenderSVGResourcePattern.cpp: 23020 (WebCore::RenderSVGResourcePattern::applyResource): 23021 * rendering/svg/RenderSVGRoot.cpp: 23022 (WebCore::RenderSVGRoot::localToBorderBoxTransform): 23023 * rendering/svg/SVGImageBufferTools.cpp: 23024 (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): 23025 (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): 23026 * rendering/svg/SVGTextLayoutEngine.cpp: 23027 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): 23028 * svg/SVGLocatable.cpp: 23029 (WebCore::SVGLocatable::computeCTM): 23030 (WebCore::SVGLocatable::getTransformToElement): 23031 * svg/SVGMatrix.h: 23032 (WebCore::SVGMatrix::multiply): 23033 * svg/SVGSVGElement.cpp: 23034 (WebCore::SVGSVGElement::localCoordinateSpaceTransform): 23035 (WebCore::SVGSVGElement::viewBoxToViewTransform): 23036 * svg/SVGStyledTransformableElement.cpp: 23037 (WebCore::SVGStyledTransformableElement::animatedLocalTransform): 23038 * svg/SVGTextElement.cpp: 23039 (WebCore::SVGTextElement::animatedLocalTransform): 23040 * svg/SVGTransformList.cpp: 23041 (WebCore::SVGTransformList::concatenate): 23042 23043 2011-01-19 Chang Shu <chang.shu (a] nokia.com> 23044 23045 Reviewed by Darin Adler. 23046 23047 The return value of contentEditable() function should depend on the DOM attribute 23048 instead of render style userModify. The code change fixed test cases in the bug 23049 and partially fixed test cases in other contentEditable bugs; 23050 23051 https://bugs.webkit.org/show_bug.cgi?id=52056 23052 23053 * html/HTMLElement.cpp: 23054 (WebCore::HTMLElement::contentEditable): 23055 23056 2011-01-19 Levi Weintraub <leviw (a] chromium.org> 23057 23058 Reviewed by Darin Adler. 23059 23060 Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and 23061 logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this 23062 resulted in the caret being placed incorrectly in overflowing editable IFrame content. 23063 23064 Long lines in non-white-space-pre editable documents show cursor in wrong place 23065 https://bugs.webkit.org/show_bug.cgi?id=48132 23066 23067 Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html 23068 23069 * rendering/RenderText.cpp: 23070 (WebCore::RenderText::localCaretRect): 23071 23072 2011-01-19 Chris Marrin <cmarrin (a] apple.com> 23073 23074 Reviewed by Simon Fraser. 23075 23076 WK2 - Multiple crashes in PlatformCALayer::replaceSublayer 23077 https://bugs.webkit.org/show_bug.cgi?id=52695 23078 23079 Added ASSERTs to the places we assume a non-null superlayer. 23080 23081 * platform/graphics/ca/GraphicsLayerCA.cpp: 23082 (WebCore::GraphicsLayerCA::ensureStructuralLayer): 23083 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 23084 23085 2011-01-18 Beth Dakin <bdakin (a] apple.com> 23086 23087 Reviewed by Maciej Stachowiak. 23088 23089 Fix for <rdar://problem/8882916> Overlay scrollers require 23090 content to layout underneath the scrollbar area 23091 23092 The render tree should not include scrollbar size for 23093 overlay scrollers. This patch will allow scrollers on 23094 the WebView to behave like overflow:overlay. 23095 23096 Treat overlay scrollers the same way as the !includeScrollbars 23097 case. 23098 * platform/ScrollView.cpp: 23099 (WebCore::ScrollView::visibleContentRect): 23100 23101 No corner rect for overlay scrollers. 23102 (WebCore::ScrollView::scrollCornerRect): 23103 23104 usesOverlayScrollbars() currently always returns no. 23105 * platform/ScrollbarTheme.h: 23106 (WebCore::ScrollbarTheme::usesOverlayScrollbars): 23107 * platform/mac/ScrollbarThemeMac.h: 23108 * platform/mac/ScrollbarThemeMac.mm: 23109 (WebCore::ScrollbarThemeMac::usesOverlayScrollbars): 23110 23111 includeVerticalScrollbarSize() and includeHorizontalScrollbarSize() 23112 should return false for overlay scrollers. They already return 23113 false for overflow:overlay. 23114 * rendering/RenderBox.cpp: 23115 (WebCore::RenderBox::includeVerticalScrollbarSize): 23116 (WebCore::RenderBox::includeHorizontalScrollbarSize): 23117 * rendering/RenderBox.h: 23118 23119 In the render tree, always treat overlay scrollers like 23120 they have a width and height of 0. 23121 * rendering/RenderLayer.cpp: 23122 (WebCore::RenderLayer::verticalScrollbarWidth): 23123 (WebCore::RenderLayer::horizontalScrollbarHeight): 23124 * rendering/RenderListBox.cpp: 23125 (WebCore::RenderListBox::verticalScrollbarWidth): 23126 23127 2011-01-18 Evan Martin <evan (a] chromium.org> 23128 23129 Reviewed by Tony Chang. 23130 23131 [chromium] simplify complex text code, fixing a handful of layout tests 23132 https://bugs.webkit.org/show_bug.cgi?id=52661 23133 23134 Change ComplexTextControllerLinux to lay out RTL text to the left from 23135 the starting point. (Previously it always went to the right.) This allows 23136 us to map pixel offsets more directly into offsets within the text runs, 23137 simplifying a few of the text-fiddling functions (they no longer need to 23138 track the current position, as ComplexTextController now does it). 23139 23140 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 23141 (WebCore::ComplexTextController::ComplexTextController): 23142 (WebCore::ComplexTextController::reset): 23143 (WebCore::ComplexTextController::setGlyphXPositions): 23144 * platform/graphics/chromium/ComplexTextControllerLinux.h: 23145 (WebCore::ComplexTextController::offsetX): 23146 * platform/graphics/chromium/FontLinux.cpp: 23147 (WebCore::Font::drawComplexText): 23148 (WebCore::Font::floatWidthForComplexText): 23149 (WebCore::glyphIndexForXPositionInScriptRun): 23150 (WebCore::Font::offsetForPositionForComplexText): 23151 (WebCore::Font::selectionRectForComplexText): 23152 23153 2011-01-19 Pavel Feldman <pfeldman (a] chromium.org> 23154 23155 Reviewed by Yury Semikhatsky. 23156 23157 Web Inspector: move methods from InjectedScript domain into DOM, 23158 Runtime and Debugger domains. Introduce InspectorRuntimeAgent. 23159 https://bugs.webkit.org/show_bug.cgi?id=52717 23160 23161 * CMakeLists.txt: 23162 * GNUmakefile.am: 23163 * WebCore.gypi: 23164 * WebCore.pro: 23165 * WebCore.vcproj/WebCore.vcproj: 23166 * WebCore.xcodeproj/project.pbxproj: 23167 * inspector/CodeGeneratorInspector.pm: 23168 * inspector/InjectedScript.cpp: 23169 (WebCore::InjectedScript::evaluateOnCallFrame): 23170 (WebCore::InjectedScript::getCompletions): 23171 (WebCore::InjectedScript::getCompletionsOnCallFrame): 23172 * inspector/InjectedScript.h: 23173 * inspector/InjectedScriptHost.cpp: 23174 (WebCore::InjectedScriptHost::injectedScriptForMainWorld): 23175 * inspector/InjectedScriptHost.h: 23176 * inspector/InjectedScriptSource.js: 23177 (.): 23178 (): 23179 * inspector/Inspector.idl: 23180 * inspector/InspectorController.cpp: 23181 (WebCore::InspectorController::connectFrontend): 23182 (WebCore::InspectorController::releaseFrontendLifetimeAgents): 23183 * inspector/InspectorController.h: 23184 * inspector/InspectorDOMAgent.cpp: 23185 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 23186 (WebCore::InspectorDOMAgent::resolveNode): 23187 (WebCore::InspectorDOMAgent::getNodeProperties): 23188 (WebCore::InspectorDOMAgent::getNodePrototypes): 23189 (WebCore::InspectorDOMAgent::injectedScriptForNodeId): 23190 * inspector/InspectorDOMAgent.h: 23191 (WebCore::EventListenerInfo::EventListenerInfo): 23192 (WebCore::InspectorDOMAgent::DOMListener::~DOMListener): 23193 (WebCore::InspectorDOMAgent::create): 23194 (WebCore::InspectorDOMAgent::cast): 23195 (WebCore::InspectorDOMAgent::documents): 23196 * inspector/InspectorDebuggerAgent.cpp: 23197 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 23198 (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): 23199 (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId): 23200 * inspector/InspectorDebuggerAgent.h: 23201 * inspector/InspectorRuntimeAgent.cpp: Added. 23202 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): 23203 (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): 23204 (WebCore::InspectorRuntimeAgent::evaluate): 23205 (WebCore::InspectorRuntimeAgent::getCompletions): 23206 (WebCore::InspectorRuntimeAgent::getProperties): 23207 (WebCore::InspectorRuntimeAgent::setPropertyValue): 23208 (WebCore::InspectorRuntimeAgent::pushNodeToFrontend): 23209 (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId): 23210 * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h. 23211 (WebCore::InspectorRuntimeAgent::create): 23212 * inspector/front-end/ConsoleView.js: 23213 (WebInspector.ConsoleView.prototype.completions): 23214 * inspector/front-end/ScriptsPanel.js: 23215 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 23216 23217 2011-01-18 Pavel Podivilov <podivilov (a] chromium.org> 23218 23219 Reviewed by Yury Semikhatsky. 23220 23221 Web Inspector: add UglifyJS parser and formatter files 23222 https://bugs.webkit.org/show_bug.cgi?id=51702 23223 23224 * WebCore.gypi: 23225 * WebCore.vcproj/WebCore.vcproj: 23226 * inspector/front-end/ScriptFormatter.js: 23227 (WebInspector.ScriptFormatter.positionToLocation): 23228 (WebInspector.ScriptFormatter.prototype.format.messageHandler): 23229 (WebInspector.ScriptFormatter.prototype.format): 23230 (WebInspector.ScriptFormatter.prototype._buildMapping): 23231 (WebInspector.ScriptFormatter.prototype._convertPosition): 23232 * inspector/front-end/SourceFrame.js: 23233 (WebInspector.SourceFrame.prototype.formatSource.didFormat): 23234 (WebInspector.SourceFrame.prototype.formatSource): 23235 * inspector/front-end/WebKit.qrc: 23236 * inspector/front-end/parse-js.js: Added. UglifyJS parser. 23237 * inspector/front-end/process.js: Added. UglifyJS formatter. 23238 * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code. 23239 (onmessage): 23240 (beautify): 23241 (loadModule): 23242 (require): 23243 * inspector/front-end/utilities.js: 23244 (): 23245 23246 2011-01-19 Pavel Podivilov <podivilov (a] chromium.org> 23247 23248 Reviewed by Yury Semikhatsky. 23249 23250 Web Inspector: [JSC] scripts have incorrect starting line (always 1). 23251 https://bugs.webkit.org/show_bug.cgi?id=52721 23252 23253 Test: inspector/debugger-scripts.html 23254 23255 * bindings/js/ScriptDebugServer.cpp: 23256 (WebCore::ScriptDebugServer::dispatchDidParseSource): 23257 (WebCore::ScriptDebugServer::dispatchFailedToParseSource): 23258 (WebCore::ScriptDebugServer::sourceParsed): 23259 * bindings/js/ScriptDebugServer.h: 23260 * bindings/js/ScriptSourceCode.h: 23261 (WebCore::ScriptSourceCode::ScriptSourceCode): 23262 * bindings/js/StringSourceProvider.h: 23263 (WebCore::StringSourceProvider::create): 23264 (WebCore::StringSourceProvider::startPosition): 23265 (WebCore::StringSourceProvider::StringSourceProvider): 23266 23267 2011-01-19 Satish Sampath <satish (a] chromium.org> 23268 23269 Reviewed by Jeremy Orlow. 23270 23271 Send origin/url as part of speech input requests to the embedder. 23272 https://bugs.webkit.org/show_bug.cgi?id=52718 23273 23274 * page/SpeechInput.cpp: 23275 (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter. 23276 * page/SpeechInput.h: 23277 * page/SpeechInputClient.h: 23278 * platform/mock/SpeechInputClientMock.cpp: 23279 (WebCore::SpeechInputClientMock::startRecognition): Updated prototype. 23280 * platform/mock/SpeechInputClientMock.h: 23281 * rendering/TextControlInnerElements.cpp: 23282 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request. 23283 23284 2011-01-19 Hans Wennborg <hans (a] chromium.org> 23285 23286 Reviewed by Jeremy Orlow. 23287 23288 IndexedDB: Support auto-increment keys 23289 https://bugs.webkit.org/show_bug.cgi?id=52576 23290 23291 Add support for auto-increment keys. 23292 23293 Test: storage/indexeddb/objectstore-autoincrement.html 23294 23295 * storage/IDBDatabase.cpp: 23296 (WebCore::IDBDatabase::createObjectStore): 23297 * storage/IDBObjectStoreBackendImpl.cpp: 23298 (WebCore::genAutoIncrementKey): 23299 (WebCore::IDBObjectStoreBackendImpl::putInternal): 23300 23301 2011-01-19 Csaba Osztrogonc <ossy (a] webkit.org> 23302 23303 Reviewed by Laszlo Gombos and Tor Arne Vestb. 23304 23305 [Qt] Remove unnecessary "../Source" from paths 23306 after moving source files into Source is finished. 23307 23308 * WebCore.pri: 23309 * WebCore.pro: 23310 23311 2011-01-19 Alexander Pavlov <apavlov (a] chromium.org> 23312 23313 Reviewed by Pavel Feldman. 23314 23315 Web Inspector: Employ TextPrompt for CSS property name/value autocompletion 23316 https://bugs.webkit.org/show_bug.cgi?id=52212 23317 23318 WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords 23319 for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while 23320 editing styles, in place of the old custom suggestion code. 23321 23322 * inspector/front-end/CSSCompletions.js: 23323 (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error. 23324 * inspector/front-end/CSSKeywordCompletions.js: Added. 23325 (WebInspector.CSSKeywordCompletions.forProperty): 23326 * inspector/front-end/StylesSidebarPane.js: 23327 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 23328 (WebInspector.StylePropertyTreeElement.prototype): 23329 (): 23330 * inspector/front-end/TextPrompt.js: 23331 (WebInspector.TextPrompt): 23332 (WebInspector.TextPrompt.prototype.removeFromElement): 23333 (WebInspector.TextPrompt.prototype._onKeyDown): 23334 (WebInspector.TextPrompt.prototype.tabKeyPressed): 23335 (WebInspector.TextPrompt.prototype.upKeyPressed): 23336 (WebInspector.TextPrompt.prototype.downKeyPressed): 23337 (WebInspector.TextPrompt.prototype._moveBackInHistory): 23338 (WebInspector.TextPrompt.prototype._moveForwardInHistory): 23339 * inspector/front-end/inspector.css: 23340 (.auto-complete-text, .editing .auto-complete-text): 23341 * inspector/front-end/inspector.html: 23342 23343 2011-01-19 Dai Mikurube <dmikurube (a] google.com> 23344 23345 Reviewed by Kent Tamura. 23346 23347 Implement onformchange and onforminput event handlers 23348 https://bugs.webkit.org/show_bug.cgi?id=26141 23349 23350 Tests: fast/forms/formchange-event.html 23351 fast/forms/forminput-event.html 23352 23353 * bindings/scripts/CodeGeneratorGObject.pm: Added event names. 23354 * dom/Document.h: Added event definitions. 23355 * dom/Document.idl: Added event definitions. 23356 * dom/Element.h: Added event definitions. 23357 * dom/Element.idl: Added event definitions. 23358 * dom/Event.cpp: 23359 (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures. 23360 * dom/EventNames.h: Added event definitions. 23361 * dom/InputElement.cpp: 23362 (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements. 23363 * dom/Node.cpp: 23364 (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above. 23365 (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above. 23366 (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). 23367 * dom/Node.h: 23368 * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not. 23369 * html/HTMLAttributeNames.in: Added event names. 23370 * html/HTMLElement.cpp: 23371 (WebCore::HTMLElement::parseMappedAttribute): Added event handling. 23372 (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element. 23373 (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above. 23374 (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above. 23375 * html/HTMLElement.h: 23376 * html/HTMLFormControlElement.cpp: 23377 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events. 23378 (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events. 23379 * html/HTMLFormControlElement.h: Added isResettable(). 23380 * html/HTMLFormElement.cpp: 23381 (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events. 23382 (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events. 23383 (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events. 23384 * html/HTMLFormElement.h: 23385 * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions. 23386 * html/HTMLInputElement.cpp: 23387 (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(). 23388 * html/HTMLInputElement.h: Added isResettable(). 23389 * html/HTMLKeygenElement.h: Added isResettable(). 23390 * html/HTMLObjectElement.h: Added isResettable(). 23391 * html/HTMLOutputElement.h: Added isResettable(). 23392 * html/HTMLSelectElement.h: Added isResettable(). 23393 * html/HTMLTextAreaElement.h: Added isResettable(). 23394 * page/DOMWindow.h: Added event definitions. 23395 * page/DOMWindow.idl: Added event definitions. 23396 * rendering/TextControlInnerElements.cpp: 23397 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents(). 23398 23399 2011-01-19 Andrey Kosyakov <caseq (a] chromium.org> 23400 23401 Reviewed by Pavel Feldman. 23402 23403 Web Inspector: [Extensions API] delete pending callback from callback map before invoking it 23404 https://bugs.webkit.org/show_bug.cgi?id=52707 23405 23406 * inspector/front-end/ExtensionAPI.js: 23407 (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback): 23408 23409 2011-01-19 Levi Weintraub <leviw (a] google.com> 23410 23411 Reviewed by Ryosuke Niwa. 23412 23413 Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent 23414 and simplified the logic a bit. Unfortunately, Tables and some legacy 23415 editing positions still need to be handled specifically. 23416 23417 remove rangeCompliantEquivalent and replace it with Position methods 23418 https://bugs.webkit.org/show_bug.cgi?id=25057 23419 23420 No new tests as this is a refactor that doesn't change behavior. 23421 23422 * WebCore.exp.in: 23423 * dom/Document.cpp: 23424 (WebCore::Document::caretRangeFromPoint): 23425 * dom/Position.cpp: 23426 (WebCore::Position::parentAnchoredEquivalent): 23427 * dom/Position.h: 23428 * editing/ApplyStyleCommand.cpp: 23429 (WebCore::ApplyStyleCommand::applyBlockStyle): 23430 * editing/CompositeEditCommand.cpp: 23431 (WebCore::CompositeEditCommand::insertNodeAt): 23432 (WebCore::CompositeEditCommand::moveParagraphs): 23433 * editing/DeleteSelectionCommand.cpp: 23434 (WebCore::DeleteSelectionCommand::initializePositionData): 23435 (WebCore::DeleteSelectionCommand::mergeParagraphs): 23436 * editing/Editor.cpp: 23437 (WebCore::Editor::textDirectionForSelection): 23438 (WebCore::Editor::advanceToNextMisspelling): 23439 * editing/InsertLineBreakCommand.cpp: 23440 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): 23441 * editing/InsertParagraphSeparatorCommand.cpp: 23442 (WebCore::InsertParagraphSeparatorCommand::doApply): 23443 * editing/ReplaceSelectionCommand.cpp: 23444 (WebCore::handleStyleSpansBeforeInsertion): 23445 * editing/VisiblePosition.cpp: 23446 (WebCore::makeRange): 23447 (WebCore::setStart): 23448 (WebCore::setEnd): 23449 * editing/VisibleSelection.cpp: 23450 (WebCore::VisibleSelection::firstRange): 23451 (WebCore::VisibleSelection::toNormalizedRange): 23452 (WebCore::makeSearchRange): 23453 * editing/htmlediting.cpp: 23454 (WebCore::indexForVisiblePosition): 23455 * editing/htmlediting.h: 23456 * editing/visible_units.cpp: 23457 (WebCore::previousBoundary): 23458 (WebCore::nextBoundary): 23459 * page/DOMSelection.cpp: 23460 (WebCore::anchorPosition): 23461 (WebCore::focusPosition): 23462 (WebCore::basePosition): 23463 (WebCore::extentPosition): 23464 23465 2011-01-19 Peter Rybin <peter.rybin (a] gmail.com> 23466 23467 Reviewed by Yury Semikhatsky. 23468 23469 Web Inspector: script column offset is incorrect 23470 https://bugs.webkit.org/show_bug.cgi?id=52580 23471 23472 Column is updated in 3 places, 2 less probable places contained error. 23473 Fixed now. 23474 23475 * platform/text/SegmentedString.cpp: 23476 (WebCore::SegmentedString::advanceSlowCase): 23477 * platform/text/SegmentedString.h: 23478 (WebCore::SegmentedString::advancePastNewline): 23479 23480 2011-01-18 Pavel Feldman <pfeldman (a] chromium.org> 23481 23482 Reviewed by Yury Semikhatsky. 23483 23484 Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol. 23485 https://bugs.webkit.org/show_bug.cgi?id=52652 23486 23487 Calls served by the InjectedScript should be first class protocol 23488 citizens, not dispatched via single protocol message. 23489 23490 * WebCore.gypi: 23491 * WebCore.vcproj/WebCore.vcproj: 23492 * inspector/CodeGeneratorInspector.pm: 23493 * inspector/InjectedScript.cpp: 23494 (WebCore::InjectedScript::evaluate): 23495 (WebCore::InjectedScript::evaluateInCallFrame): 23496 (WebCore::InjectedScript::evaluateOnSelf): 23497 (WebCore::InjectedScript::getCompletions): 23498 (WebCore::InjectedScript::getProperties): 23499 (WebCore::InjectedScript::pushNodeToFrontend): 23500 (WebCore::InjectedScript::resolveNode): 23501 (WebCore::InjectedScript::getNodeProperties): 23502 (WebCore::InjectedScript::getNodePrototypes): 23503 (WebCore::InjectedScript::setPropertyValue): 23504 (WebCore::InjectedScript::makeCall): 23505 * inspector/InjectedScript.h: 23506 * inspector/InjectedScriptHost.cpp: 23507 (WebCore::InjectedScriptHost::evaluate): 23508 (WebCore::InjectedScriptHost::evaluateInCallFrame): 23509 (WebCore::InjectedScriptHost::evaluateOnSelf): 23510 (WebCore::InjectedScriptHost::getCompletions): 23511 (WebCore::InjectedScriptHost::getProperties): 23512 (WebCore::InjectedScriptHost::pushNodeToFrontend): 23513 (WebCore::InjectedScriptHost::resolveNode): 23514 (WebCore::InjectedScriptHost::getNodeProperties): 23515 (WebCore::InjectedScriptHost::getNodePrototypes): 23516 (WebCore::InjectedScriptHost::setPropertyValue): 23517 (WebCore::InjectedScriptHost::injectedScriptForObjectId): 23518 (WebCore::InjectedScriptHost::injectedScriptForNodeId): 23519 (WebCore::InjectedScriptHost::injectedScriptForMainWorld): 23520 * inspector/InjectedScriptHost.h: 23521 * inspector/InjectedScriptSource.js: 23522 (.): 23523 * inspector/Inspector.idl: 23524 * inspector/InspectorController.cpp: 23525 * inspector/InspectorController.h: 23526 * inspector/InspectorValues.cpp: 23527 (WebCore::InspectorObject::getNumber): 23528 * inspector/InspectorValues.h: 23529 * inspector/front-end/AuditRules.js: 23530 (WebInspector.AuditRules.evaluateInTargetWindow): 23531 * inspector/front-end/ConsoleView.js: 23532 (WebInspector.ConsoleView.prototype.completions): 23533 (WebInspector.ConsoleView.prototype.doEvalInWindow): 23534 * inspector/front-end/ElementsTreeOutline.js: 23535 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 23536 * inspector/front-end/ExtensionPanel.js: 23537 (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression): 23538 * inspector/front-end/ExtensionServer.js: 23539 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 23540 * inspector/front-end/InjectedScriptAccess.js: Removed. 23541 * inspector/front-end/PropertiesSidebarPane.js: 23542 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 23543 (WebInspector.PropertiesSidebarPane.prototype.update): 23544 * inspector/front-end/RemoteObject.js: 23545 (WebInspector.RemoteObject.resolveNode): 23546 (WebInspector.RemoteObject.prototype.getProperties): 23547 (WebInspector.RemoteObject.prototype.setPropertyValue): 23548 (WebInspector.RemoteObject.prototype.pushNodeToFrontend): 23549 * inspector/front-end/ScriptsPanel.js: 23550 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): 23551 * inspector/front-end/WebKit.qrc: 23552 * inspector/front-end/inspector.html: 23553 23554 2011-01-18 Anton Muhin <antonm (a] chromium.org> 23555 23556 Reviewed by Adam Barth. 23557 23558 [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map 23559 https://bugs.webkit.org/show_bug.cgi?id=51683 23560 23561 Covered by the existing tests. 23562 23563 * bindings/v8/DOMDataStore.cpp: 23564 (WebCore::DOMDataStore::weakNodeCallback): 23565 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent): 23566 * bindings/v8/DOMDataStore.h: 23567 * bindings/v8/V8DOMMap.h: 23568 (WebCore::WeakReferenceMap::removeIfPresent): 23569 23570 2011-01-18 MORITA Hajime <morrita (a] google.com> 23571 23572 Reviewed by Ryosuke Niwa. 23573 23574 Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools. 23575 https://bugs.webkit.org/show_bug.cgi?id=52608 23576 23577 No new tests. no behavioral change. 23578 23579 * GNUmakefile.am: 23580 * WebCore.gypi: 23581 * WebCore.pro: 23582 * WebCore.vcproj/WebCore.vcproj: 23583 * WebCore.xcodeproj/project.pbxproj: 23584 * dom/TextEvent.cpp: 23585 (WebCore::TextEvent::create): 23586 (WebCore::TextEvent::createForDrop): 23587 (WebCore::TextEvent::TextEvent): 23588 * dom/TextEvent.h: 23589 (WebCore::TextEvent::isLineBreak): 23590 (WebCore::TextEvent::isBackTab): 23591 (WebCore::TextEvent::isPaste): 23592 (WebCore::TextEvent::isDrop): 23593 * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType. 23594 * editing/EditorCommand.cpp: 23595 (WebCore::executeInsertBacktab): 23596 (WebCore::executeInsertLineBreak): 23597 (WebCore::executeInsertNewline): 23598 (WebCore::executeInsertTab): 23599 * page/EventHandler.cpp: 23600 (WebCore::EventHandler::handleTextInputEvent): 23601 * page/EventHandler.h: 23602 23603 2011-01-18 Ben Vanik <ben.vanik (a] gmail.com> 23604 23605 Reviewed by Kenneth Russell. 23606 23607 Updating ANGLE in WebKit to r533. 23608 https://bugs.webkit.org/show_bug.cgi?id=47194 23609 23610 * platform/graphics/ANGLEWebKitBridge.cpp: 23611 (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge): 23612 (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): 23613 (WebCore::ANGLEWebKitBridge::validateShaderSource): 23614 Update to new ANGLE API for shader validation. 23615 * platform/graphics/ANGLEWebKitBridge.h: 23616 (WebCore::ANGLEWebKitBridge::setResources): 23617 Renaming types to new names. 23618 * platform/graphics/mac/GraphicsContext3DMac.mm: 23619 (WebCore::GraphicsContext3D::GraphicsContext3D): 23620 Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables. 23621 23622 2011-01-18 MORITA Hajime <morrita (a] google.com> 23623 23624 Reviewed by Simon Fraser. 23625 23626 Refactoring: Extract RoundedIntRect class 23627 https://bugs.webkit.org/show_bug.cgi?id=51664 23628 23629 RoundedIntRect is a pair of rect and four IntSize objects which represent 23630 corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. 23631 Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() 23632 return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() 23633 and other functions accept RoundedIntRect as an argument. 23634 23635 * Android.mk: 23636 * CMakeLists.txt: 23637 * GNUmakefile.am: 23638 * WebCore.gypi: 23639 * WebCore.pro: 23640 * WebCore.vcproj/WebCore.vcproj: 23641 * WebCore.xcodeproj/project.pbxproj: 23642 * platform/graphics/GraphicsContext.cpp: 23643 (WebCore::GraphicsContext::addRoundedRectClip): 23644 (WebCore::GraphicsContext::clipOutRoundedRect): 23645 (WebCore::GraphicsContext::fillRoundedRect): 23646 * platform/graphics/GraphicsContext.h: 23647 * platform/graphics/RoundedIntRect.cpp: Added. 23648 (WebCore::RoundedIntRect::Radii::isZero): 23649 (WebCore::RoundedIntRect::Radii::scale): 23650 (WebCore::RoundedIntRect::Radii::expand): 23651 (WebCore::RoundedIntRect::Radii::includeLogicalEdges): 23652 (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): 23653 (WebCore::RoundedIntRect::RoundedIntRect): 23654 (WebCore::RoundedIntRect::includeLogicalEdges): 23655 (WebCore::RoundedIntRect::excludeLogicalEdges): 23656 * platform/graphics/RoundedIntRect.h: Added. 23657 (WebCore::RoundedIntRect::Radii::Radii): 23658 (WebCore::RoundedIntRect::Radii::setTopLeft): 23659 (WebCore::RoundedIntRect::Radii::setTopRight): 23660 (WebCore::RoundedIntRect::Radii::setBottomLeft): 23661 (WebCore::RoundedIntRect::Radii::setBottomRight): 23662 (WebCore::RoundedIntRect::Radii::topLeft): 23663 (WebCore::RoundedIntRect::Radii::topRight): 23664 (WebCore::RoundedIntRect::Radii::bottomLeft): 23665 (WebCore::RoundedIntRect::Radii::bottomRight): 23666 (WebCore::RoundedIntRect::Radii::expand): 23667 (WebCore::RoundedIntRect::Radii::shrink): 23668 (WebCore::RoundedIntRect::rect): 23669 (WebCore::RoundedIntRect::radii): 23670 (WebCore::RoundedIntRect::isRounded): 23671 (WebCore::RoundedIntRect::isEmpty): 23672 (WebCore::RoundedIntRect::setRect): 23673 (WebCore::RoundedIntRect::setRadii): 23674 (WebCore::RoundedIntRect::move): 23675 (WebCore::RoundedIntRect::inflate): 23676 (WebCore::RoundedIntRect::inflateWithRadii): 23677 (WebCore::RoundedIntRect::expandRadii): 23678 (WebCore::RoundedIntRect::shrinkRadii): 23679 * rendering/RenderBox.cpp: 23680 (WebCore::RenderBox::pushContentsClip): 23681 * rendering/RenderBoxModelObject.cpp: 23682 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 23683 (WebCore::RenderBoxModelObject::paintBorder): 23684 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 23685 (WebCore::RenderBoxModelObject::paintBoxShadow): 23686 * rendering/RenderBoxModelObject.h: 23687 * rendering/RenderObject.cpp: 23688 (WebCore::RenderObject::drawBoxSideFromPath): 23689 * rendering/RenderReplaced.cpp: 23690 (WebCore::RenderReplaced::paint): 23691 * rendering/RenderThemeChromiumWin.cpp: 23692 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 23693 * rendering/RenderThemeMac.mm: 23694 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 23695 (WebCore::RenderThemeMac::paintSliderTrack): 23696 * rendering/RenderThemeSafari.cpp: 23697 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 23698 (WebCore::RenderThemeSafari::paintSliderTrack): 23699 * rendering/RenderThemeWinCE.cpp: 23700 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): 23701 * rendering/RenderWidget.cpp: 23702 (WebCore::RenderWidget::paint): 23703 * rendering/style/BorderData.h: 23704 * rendering/style/RenderStyle.cpp: 23705 (WebCore::calcRadiiFor): 23706 (WebCore::calcConstraintScaleFor): 23707 (WebCore::RenderStyle::getRoundedBorderFor): 23708 (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): 23709 * rendering/style/RenderStyle.h: 23710 (WebCore::InheritedFlags::setBorderRadius): 23711 23712 2011-01-18 MORITA Hajime <morrita (a] google.com> 23713 23714 Reviewed by Simon Fraser. 23715 23716 Refactoring: Extract RoundedIntRect class 23717 https://bugs.webkit.org/show_bug.cgi?id=51664 23718 23719 RoundedIntRect is a pair of rect and four IntSize objects which represent 23720 corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. 23721 Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() 23722 return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() 23723 and other functions accept RoundedIntRect as an argument. 23724 23725 No new tests. No behavioral change. 23726 23727 * Android.mk: 23728 * CMakeLists.txt: 23729 * WebCore.gypi: 23730 * WebCore.pro: 23731 * WebCore.xcodeproj/project.pbxproj: 23732 * platform/graphics/GraphicsContext.cpp: 23733 (WebCore::GraphicsContext::addRoundedRectClip): 23734 (WebCore::GraphicsContext::clipOutRoundedRect): 23735 (WebCore::GraphicsContext::fillRoundedRect): 23736 * platform/graphics/GraphicsContext.h: 23737 * platform/graphics/RoundedIntRect.cpp: Added. 23738 (WebCore::RoundedIntRect::Radii::isZero): 23739 (WebCore::RoundedIntRect::Radii::scale): 23740 (WebCore::RoundedIntRect::Radii::expand): 23741 (WebCore::RoundedIntRect::Radii::includeLogicalEdges): 23742 (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): 23743 (WebCore::RoundedIntRect::RoundedIntRect): 23744 (WebCore::RoundedIntRect::includeLogicalEdges): 23745 (WebCore::RoundedIntRect::excludeLogicalEdges): 23746 * platform/graphics/RoundedIntRect.h: Added. 23747 (WebCore::RoundedIntRect::Radii::Radii): 23748 (WebCore::RoundedIntRect::Radii::setTopLeft): 23749 (WebCore::RoundedIntRect::Radii::setTopRight): 23750 (WebCore::RoundedIntRect::Radii::setBottomLeft): 23751 (WebCore::RoundedIntRect::Radii::setBottomRight): 23752 (WebCore::RoundedIntRect::Radii::topLeft): 23753 (WebCore::RoundedIntRect::Radii::topRight): 23754 (WebCore::RoundedIntRect::Radii::bottomLeft): 23755 (WebCore::RoundedIntRect::Radii::bottomRight): 23756 (WebCore::RoundedIntRect::Radii::expand): 23757 (WebCore::RoundedIntRect::Radii::shrink): 23758 (WebCore::RoundedIntRect::rect): 23759 (WebCore::RoundedIntRect::radii): 23760 (WebCore::RoundedIntRect::isRounded): 23761 (WebCore::RoundedIntRect::isEmpty): 23762 (WebCore::RoundedIntRect::setRect): 23763 (WebCore::RoundedIntRect::setRadii): 23764 (WebCore::RoundedIntRect::move): 23765 (WebCore::RoundedIntRect::inflate): 23766 (WebCore::RoundedIntRect::inflateWithRadii): 23767 (WebCore::RoundedIntRect::expandRadii): 23768 (WebCore::RoundedIntRect::shrinkRadii): 23769 * rendering/RenderBox.cpp: 23770 (WebCore::RenderBox::pushContentsClip): 23771 * rendering/RenderBoxModelObject.cpp: 23772 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 23773 (WebCore::RenderBoxModelObject::paintBorder): 23774 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 23775 (WebCore::RenderBoxModelObject::paintBoxShadow): 23776 * rendering/RenderBoxModelObject.h: 23777 * rendering/RenderObject.cpp: 23778 (WebCore::RenderObject::drawBoxSideFromPath): 23779 * rendering/RenderReplaced.cpp: 23780 (WebCore::RenderReplaced::paint): 23781 * rendering/RenderThemeChromiumWin.cpp: 23782 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 23783 * rendering/RenderThemeMac.mm: 23784 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 23785 (WebCore::RenderThemeMac::paintSliderTrack): 23786 * rendering/RenderThemeSafari.cpp: 23787 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 23788 (WebCore::RenderThemeSafari::paintSliderTrack): 23789 * rendering/RenderThemeWinCE.cpp: 23790 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): 23791 * rendering/RenderWidget.cpp: 23792 (WebCore::RenderWidget::paint): 23793 * rendering/style/BorderData.h: 23794 * rendering/style/RenderStyle.cpp: 23795 (WebCore::calcRadiiFor): 23796 (WebCore::calcConstraintScaleFor): 23797 (WebCore::RenderStyle::getRoundedBorderFor): 23798 (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): 23799 * rendering/style/RenderStyle.h: 23800 (WebCore::InheritedFlags::setBorderRadius): 23801 23802 2011-01-18 Victoria Kirst <vrk (a] chromium.org> 23803 23804 Reviewed by Kenneth Russell. 23805 23806 [chromium] Adding support for YV16 video frame formats. 23807 https://bugs.webkit.org/show_bug.cgi?id=52345 23808 23809 * platform/graphics/chromium/VideoLayerChromium.cpp: 23810 (WebCore::VideoLayerChromium::determineTextureFormat): 23811 (WebCore::VideoLayerChromium::draw): 23812 23813 2011-01-18 David Hyatt <hyatt (a] apple.com> 23814 23815 Reviewed by Dan Bernstein. 23816 23817 <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com 23818 23819 Exclude floating objects from shrinking to avoid floats. They should never do this. Timing-related bugs could 23820 occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they 23821 got encountered on the correct line exposed this issue. 23822 23823 Added /fast/block/float/float-overflow-hidden-containing-block-width.html. 23824 23825 * rendering/RenderBox.cpp: 23826 (WebCore::RenderBox::shrinkToAvoidFloats): 23827 23828 2011-01-18 Zhenyao Mo <zmo (a] google.com> 23829 23830 Reviewed by Kenneth Russell. 23831 23832 Make CheckedInt<long> and CheckedInt<unsigned long> work 23833 https://bugs.webkit.org/show_bug.cgi?id=52401 23834 23835 * html/canvas/CheckedInt.h: 23836 (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob. 23837 * html/canvas/WebGLBuffer.cpp: 23838 (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>. 23839 (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto. 23840 23841 2011-01-18 Kenneth Russell <kbr (a] google.com> 23842 23843 Reviewed by David Levin. 23844 23845 Must strip comments from WebGL shaders before enforcing character set 23846 https://bugs.webkit.org/show_bug.cgi?id=52390 23847 23848 Strip comments from incoming shaders, preserving line numbers, 23849 before validating that they conform to the ESSL character set. 23850 Revert changes from http://trac.webkit.org/changeset/75735 which 23851 allowed invalid characters to be passed to certain APIs. 23852 23853 Tested with WebGL layout tests, conformance test suite and several 23854 WebGL demos in both Safari and Chromium. 23855 23856 * html/canvas/WebGLRenderingContext.cpp: 23857 (WebCore::StripComments::StripComments::process): 23858 (WebCore::WebGLRenderingContext::shaderSource): 23859 23860 2011-01-18 Ryosuke Niwa <rniwa (a] webkit.org> 23861 23862 Reviewed by Eric Seidel. 23863 23864 Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand, 23865 InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp 23866 https://bugs.webkit.org/show_bug.cgi?id=52644 23867 23868 This is a cleanup to stop instantiating legacy editing positions in the following tests. 23869 firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated 23870 because doing so requires significant code changes. They are tracked on the bug 52642. 23871 23872 * editing/DeleteSelectionCommand.cpp: 23873 (WebCore::DeleteSelectionCommand::initializeStartEnd): 23874 (WebCore::updatePositionForNodeRemoval): 23875 (WebCore::DeleteSelectionCommand::removeNode): 23876 (WebCore::updatePositionForTextRemoval): 23877 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 23878 * editing/IndentOutdentCommand.cpp: 23879 (WebCore::IndentOutdentCommand::outdentParagraph): 23880 * editing/InsertLineBreakCommand.cpp: 23881 (WebCore::InsertLineBreakCommand::doApply): 23882 * editing/InsertListCommand.cpp: 23883 (WebCore::InsertListCommand::doApplyForSingleParagraph): 23884 (WebCore::InsertListCommand::unlistifyParagraph): 23885 (WebCore::InsertListCommand::listifyParagraph): 23886 * editing/InsertParagraphSeparatorCommand.cpp: 23887 (WebCore::InsertParagraphSeparatorCommand::doApply): 23888 * editing/htmlediting.cpp: 23889 (WebCore::enclosingBlock): 23890 (WebCore::enclosingList): 23891 (WebCore::enclosingListChild): 23892 (WebCore::indexForVisiblePosition): 23893 (WebCore::isNodeVisiblyContainedWithin): 23894 (WebCore::avoidIntersectionWithNode): 23895 23896 2011-01-18 Benjamin Kalman <kalman (a] chromium.org> 23897 23898 Reviewed by Ryosuke Niwa. 23899 23900 Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch 23901 https://bugs.webkit.org/show_bug.cgi?id=52610 23902 23903 This is a purely aesthetic change. 23904 23905 * editing/TextIterator.cpp: 23906 (WebCore::SimplifiedBackwardsTextIterator::advance): 23907 * editing/visible_units.cpp: 23908 (WebCore::previousBoundary): 23909 23910 2011-01-18 Adam Klein <adamk (a] chromium.org> 23911 23912 Reviewed by Darin Fisher. 23913 23914 [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor 23915 https://bugs.webkit.org/show_bug.cgi?id=42236 23916 23917 * platform/chromium/ChromiumBridge.h: 23918 * platform/chromium/WidgetChromium.cpp: 23919 (WebCore::Widget::setCursor): 23920 23921 2011-01-18 Chris Fleizach <cfleizach (a] apple.com> 23922 23923 Reviewed by Darin Adler. 23924 23925 REGRESSION: A problem with Voiceover and finding links 23926 https://bugs.webkit.org/show_bug.cgi?id=52324 23927 23928 Fallout from recent change to make WebCore return its own scroll view. 23929 1) There were two scroll views in the hierarchy, one which no needed to be ignored. 23930 2) Hit tests for sub frames needed to be offset. 23931 3) The check for whether an attachment is ignored must happen earlier than using 23932 the helpText to determine if an element should be ignored. 23933 23934 Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html 23935 23936 * accessibility/AccessibilityObject.cpp: 23937 (WebCore::AccessibilityObject::elementAccessibilityHitTest): 23938 * accessibility/AccessibilityRenderObject.cpp: 23939 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 23940 * accessibility/mac/AccessibilityObjectWrapper.mm: 23941 (-[AccessibilityObjectWrapper scrollViewParent]): 23942 23943 2011-01-18 Adam Roben <aroben (a] apple.com> 23944 23945 Call alternate CFHTTPCookie functions if available 23946 23947 Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>. 23948 23949 Reviewed by Darin Adler. 23950 23951 * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to 23952 pull in the alternate CFHTTPCookie functions. 23953 23954 (WebCore::cookieDomain): 23955 (WebCore::cookieExpirationTime): 23956 (WebCore::cookieName): 23957 (WebCore::cookiePath): 23958 (WebCore::cookieValue): 23959 Added these wrappers around the CFHTTPCookie functions. We call the 23960 alternate functions if they exist, otherwise fall back to the current 23961 functions. 23962 23963 (WebCore::filterCookies): 23964 (WebCore::getRawCookies): 23965 (WebCore::deleteCookie): 23966 Changed to use the wrapper functions. 23967 23968 2011-01-18 Martin Robinson <mrobinson (a] igalia.com> 23969 23970 Reviewed by Eric Seidel. 23971 23972 [GTK] Filenames are converted to URLs during edit drags 23973 https://bugs.webkit.org/show_bug.cgi?id=52096 23974 23975 * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the 23976 conversion policy allows it. 23977 (WebCore::DragData::containsURL): Ditto. 23978 (WebCore::DragData::asURL): Ditto. 23979 23980 2011-01-18 Helder Correia <helder (a] sencha.com> 23981 23982 Reviewed by Kenneth Rohde Christiansen. 23983 23984 [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle 23985 https://bugs.webkit.org/show_bug.cgi?id=52611 23986 23987 This is related to bug 52559. The shadow color alpha must be multiplied 23988 by the context brush alpha. 23989 23990 Test: fast/canvas/canvas-fillPath-alpha-shadow.html 23991 23992 * platform/graphics/qt/GraphicsContextQt.cpp: 23993 (WebCore::GraphicsContext::fillPath): 23994 23995 2011-01-18 Andrey Kosyakov <caseq (a] chromium.org> 23996 23997 Reviewed by Yury Semikhatsky. 23998 23999 Web Inspector: fail resource.requestContent() immediately for WebSocket resources 24000 https://bugs.webkit.org/show_bug.cgi?id=52628 24001 24002 * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) 24003 * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete) 24004 (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): 24005 * inspector/front-end/Resource.js: 24006 (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used. 24007 (WebInspector.Resource.Type.toString): ditto. 24008 (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources. 24009 * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too) 24010 24011 2011-01-18 Helder Correia <helder (a] sencha.com> 24012 24013 Reviewed by Dirk Schulze. 24014 24015 REGRESSION(75139): SVG gradients are not applied to texts 24016 https://bugs.webkit.org/show_bug.cgi?id=52531 24017 24018 r75139 caused a problem with filling and stroking text with a gradient 24019 fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect 24020 was mixed up. 24021 24022 Test: svg/css/text-gradient-shadow.svg 24023 24024 * platform/graphics/cg/GraphicsContextCG.cpp: 24025 (WebCore::GraphicsContext::fillRect): 24026 24027 2011-01-18 Leo Yang <leo.yang (a] torchmobile.com.cn> 24028 24029 Reviewed by Nikolas Zimmermann. 24030 24031 Unable to indirectly animate visibility of SVGUseElement 24032 https://bugs.webkit.org/show_bug.cgi?id=50240 24033 24034 SVGUseElement::recalcStyle should take care of its shadow 24035 tree's style recalculation when it is called with change >= Inherit 24036 or when childNeedsStyleRecalc() is true because in these two 24037 cases needStyleRecalc() may not be true. 24038 24039 Test: svg/custom/use-inherit-style.svg 24040 24041 * svg/SVGUseElement.cpp: 24042 (WebCore::SVGUseElement::recalcStyle): 24043 24044 2011-01-18 Pavel Podivilov <podivilov (a] chromium.org> 24045 24046 Reviewed by Yury Semikhatsky. 24047 24048 Web Inspector: provide script length to frontend. 24049 https://bugs.webkit.org/show_bug.cgi?id=52620 24050 24051 * inspector/Inspector.idl: 24052 * inspector/InspectorDebuggerAgent.cpp: 24053 (WebCore::InspectorDebuggerAgent::didParseSource): 24054 * inspector/front-end/DebuggerModel.js: 24055 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 24056 (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource): 24057 * inspector/front-end/Script.js: 24058 (WebInspector.Script): 24059 24060 2011-01-18 Zoltan Herczeg <zherczeg (a] webkit.org> 24061 24062 Rubber-stamped by Csaba Osztrogonc 24063 24064 Fixing ChangeLog 24065 24066 Removing a line introduced by 24067 http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog 24068 Removing an unnecessary space before a time stamp. 24069 24070 2011-01-17 Andrey Kosyakov <caseq (a] chromium.org> 24071 24072 Reviewed by Yury Semikhatsky. 24073 24074 Web Inspector: [refactoring] use events to notify NetworkManager clients 24075 https://bugs.webkit.org/show_bug.cgi?id=52588 24076 24077 * inspector/front-end/AuditLauncherView.js: 24078 (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset(). 24079 (WebInspector.AuditLauncherView.prototype._resetResourceCount): 24080 (WebInspector.AuditLauncherView.prototype._onResourceStarted): 24081 (WebInspector.AuditLauncherView.prototype._onResourceFinished): 24082 * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events. 24083 * inspector/front-end/ExtensionServer.js: 24084 (WebInspector.ExtensionServer): 24085 (WebInspector.ExtensionServer.prototype._notifyResourceFinished): 24086 (WebInspector.ExtensionServer.prototype.initExtensions): 24087 * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients. 24088 (WebInspector.NetworkManager): 24089 (WebInspector.NetworkManager.prototype.willSendRequest): 24090 (WebInspector.NetworkManager.prototype.markResourceAsCached): 24091 (WebInspector.NetworkManager.prototype.didReceiveResponse): 24092 (WebInspector.NetworkManager.prototype.didReceiveContentLength): 24093 (WebInspector.NetworkManager.prototype.setInitialContent): 24094 (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): 24095 (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): 24096 (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): 24097 (WebInspector.NetworkManager.prototype._startResource): 24098 (WebInspector.NetworkManager.prototype._finishResource): 24099 * inspector/front-end/NetworkPanel.js: 24100 (WebInspector.NetworkPanel): 24101 (WebInspector.NetworkPanel.prototype._onResourceStarted): 24102 (WebInspector.NetworkPanel.prototype._appendResource): 24103 (WebInspector.NetworkPanel.prototype._onResourceUpdated): 24104 (WebInspector.NetworkPanel.prototype._refreshResource): 24105 (WebInspector.NetworkPanel.prototype._onMainResourceChanged): 24106 * inspector/front-end/ResourcesPanel.js: 24107 (WebInspector.ResourcesPanel): 24108 (WebInspector.ResourcesPanel.prototype._refreshResource): 24109 24110 2011-01-18 Pavel Feldman <pfeldman (a] chromium.org> 24111 24112 Reviewed by Yury Semikhatsky. 24113 24114 Web Inspector: preserve pause on exception state in settings. 24115 https://bugs.webkit.org/show_bug.cgi?id=52619 24116 24117 * inspector/InspectorController.cpp: 24118 (WebCore::InspectorController::getInspectorState): 24119 * inspector/InspectorDebuggerAgent.cpp: 24120 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 24121 * inspector/InspectorDebuggerAgent.h: 24122 * inspector/front-end/ScriptsPanel.js: 24123 (WebInspector.ScriptsPanel): 24124 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): 24125 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState): 24126 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): 24127 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 24128 * inspector/front-end/Settings.js: 24129 (WebInspector.Settings): 24130 * inspector/front-end/inspector.js: 24131 (WebInspector.doLoadedDone.populateInspectorState): 24132 24133 2011-01-18 Pavel Podivilov <podivilov (a] chromium.org> 24134 24135 Reviewed by Yury Semikhatsky. 24136 24137 Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame. 24138 https://bugs.webkit.org/show_bug.cgi?id=52623 24139 24140 * inspector/front-end/ConsoleView.js: 24141 (WebInspector.ConsoleMessage): 24142 (WebInspector.ConsoleMessage.prototype._formatMessage): 24143 24144 2011-01-18 Pavel Feldman <pfeldman (a] chromium.org> 24145 24146 Revert r76017. No need to guard InspectorInstrumentation:: in WebCore. 24147 24148 * page/Page.cpp: 24149 (WebCore::networkStateChanged): 24150 24151 2011-01-18 Konstantin Tokarev <annulen (a] yandex.ru> 24152 24153 Reviewed by Kent Tamura. 24154 24155 Fixed compilation when Inspector is disabled 24156 https://bugs.webkit.org/show_bug.cgi?id=52564 24157 24158 * page/Page.cpp: 24159 (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard 24160 24161 2011-01-18 MORITA Hajime <morrita (a] google.com> 24162 24163 Unreviewed, rolling out r76004, r76005, r76007, and r76011. 24164 http://trac.webkit.org/changeset/76004 24165 http://trac.webkit.org/changeset/76005 24166 http://trac.webkit.org/changeset/76007 24167 http://trac.webkit.org/changeset/76011 24168 https://bugs.webkit.org/show_bug.cgi?id=51664 24169 24170 The r76004 broke pixel tests. 24171 (The failure was missed due to the tolerance.) 24172 24173 * Android.mk: 24174 * CMakeLists.txt: 24175 * GNUmakefile.am: 24176 * WebCore.gypi: 24177 * WebCore.pro: 24178 * WebCore.vcproj/WebCore.vcproj: 24179 * WebCore.xcodeproj/project.pbxproj: 24180 * platform/graphics/GraphicsContext.cpp: 24181 (WebCore::GraphicsContext::addRoundedRectClip): 24182 (WebCore::GraphicsContext::clipOutRoundedRect): 24183 * platform/graphics/GraphicsContext.h: 24184 * platform/graphics/RoundedIntRect.cpp: Removed. 24185 * platform/graphics/RoundedIntRect.h: Removed. 24186 * rendering/RenderBox.cpp: 24187 (WebCore::RenderBox::pushContentsClip): 24188 * rendering/RenderBoxModelObject.cpp: 24189 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 24190 (WebCore::RenderBoxModelObject::paintBorder): 24191 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 24192 (WebCore::uniformlyExpandBorderRadii): 24193 (WebCore::RenderBoxModelObject::paintBoxShadow): 24194 * rendering/RenderBoxModelObject.h: 24195 * rendering/RenderObject.cpp: 24196 (WebCore::RenderObject::drawBoxSideFromPath): 24197 * rendering/RenderReplaced.cpp: 24198 (WebCore::RenderReplaced::paint): 24199 * rendering/RenderThemeChromiumWin.cpp: 24200 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 24201 * rendering/RenderThemeMac.mm: 24202 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 24203 (WebCore::RenderThemeMac::paintSliderTrack): 24204 * rendering/RenderThemeSafari.cpp: 24205 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 24206 (WebCore::RenderThemeSafari::paintSliderTrack): 24207 * rendering/RenderThemeWinCE.cpp: 24208 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): 24209 * rendering/RenderWidget.cpp: 24210 (WebCore::RenderWidget::paint): 24211 * rendering/style/BorderData.h: 24212 * rendering/style/RenderStyle.cpp: 24213 (WebCore::constrainCornerRadiiForRect): 24214 (WebCore::RenderStyle::getBorderRadiiForRect): 24215 (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths): 24216 * rendering/style/RenderStyle.h: 24217 24218 2011-01-17 Pavel Podivilov <podivilov (a] chromium.org> 24219 24220 Reviewed by Yury Semikhatsky. 24221 24222 Web Inspector: add source column field to debugger call frames. 24223 https://bugs.webkit.org/show_bug.cgi?id=52443 24224 24225 * bindings/js/JavaScriptCallFrame.cpp: 24226 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 24227 * bindings/js/JavaScriptCallFrame.h: 24228 (WebCore::JavaScriptCallFrame::create): 24229 (WebCore::JavaScriptCallFrame::line): 24230 (WebCore::JavaScriptCallFrame::column): 24231 (WebCore::JavaScriptCallFrame::update): 24232 * bindings/js/ScriptDebugServer.cpp: 24233 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): 24234 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): 24235 (WebCore::ScriptDebugServer::callEvent): 24236 (WebCore::ScriptDebugServer::atStatement): 24237 (WebCore::ScriptDebugServer::returnEvent): 24238 (WebCore::ScriptDebugServer::exception): 24239 (WebCore::ScriptDebugServer::willExecuteProgram): 24240 (WebCore::ScriptDebugServer::didExecuteProgram): 24241 (WebCore::ScriptDebugServer::didReachBreakpoint): 24242 * bindings/js/ScriptDebugServer.h: 24243 * bindings/v8/DebuggerScript.js: 24244 (): 24245 * bindings/v8/JavaScriptCallFrame.cpp: 24246 (WebCore::JavaScriptCallFrame::column): 24247 * bindings/v8/JavaScriptCallFrame.h: 24248 * inspector/InjectedScriptSource.js: 24249 (): 24250 * inspector/JavaScriptCallFrame.idl: 24251 24252 2011-01-18 Antti Koivisto <antti (a] apple.com> 24253 24254 Reviewed by Dave Hyatt. 24255 24256 https://bugs.webkit.org/show_bug.cgi?id=52370 24257 <rdar://problem/8856808> 24258 Style sharing optimization no longer works on major web sites 24259 24260 The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 24261 by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables 24262 the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page. 24263 24264 This patch gets the style sharing back to 25-40% range on most web sites. 24265 24266 * css/CSSMutableStyleDeclaration.h: 24267 (WebCore::CSSMutableStyleDeclaration::propertiesEqual): 24268 24269 Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent. 24270 24271 * css/CSSSelector.h: 24272 (WebCore::CSSSelector::isSiblingSelector): 24273 24274 Test for selectors that are affected by the sibling elements. 24275 24276 * css/CSSStyleSelector.cpp: 24277 (WebCore::elementCanUseSimpleDefaultStyle): 24278 (WebCore::collectSiblingRulesInDefaultStyle): 24279 (WebCore::assertNoSiblingRulesInDefaultStyle): 24280 24281 Extract sibling rules from the MathML default stylesheet. 24282 Assert that no other default stylesheet has them. 24283 24284 (WebCore::CSSStyleSelector::CSSStyleSelector): 24285 (WebCore::CSSStyleSelector::locateCousinList): 24286 (WebCore::CSSStyleSelector::matchesSiblingRules): 24287 (WebCore::CSSStyleSelector::canShareStyleWithElement): 24288 (WebCore::CSSStyleSelector::locateSharedStyle): 24289 (WebCore::CSSStyleSelector::styleForElement): 24290 (WebCore::collectIdsAndSiblingRulesFromList): 24291 (WebCore::CSSRuleSet::collectIdsAndSiblingRules): 24292 24293 Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases 24294 where style sharing can't be used. 24295 24296 * css/CSSStyleSelector.h: 24297 * dom/NamedNodeMap.cpp: 24298 (WebCore::NamedNodeMap::mappedMapsEquivalent): 24299 24300 Check also for CSSValue mutation from DOM. 24301 24302 * mathml/MathMLMathElement.cpp: 24303 (WebCore::MathMLMathElement::insertedIntoDocument): 24304 * mathml/MathMLMathElement.h: 24305 24306 MathML default style sheet has sibling rules which don't get noticed by the normal document 24307 stylesheet parsing. 24308 24309 * rendering/style/RenderStyle.h: 24310 (WebCore::InheritedFlags::setFirstChildState): 24311 (WebCore::InheritedFlags::setLastChildState): 24312 (WebCore::InheritedFlags::setChildIndex): 24313 24314 These all make style non-shareable (unique). 24315 24316 2011-01-18 MORITA Hajime <morrita (a] google.com> 24317 24318 Unreviewed crash fix on release builds. 24319 24320 * rendering/RenderBoxModelObject.cpp: 24321 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 24322 24323 2011-01-18 Pavel Podivilov <podivilov (a] chromium.org> 24324 24325 Unreviewed, update localizedStrings.js. 24326 24327 * English.lproj/localizedStrings.js: 24328 24329 2011-01-11 Pavel Podivilov <podivilov (a] chromium.org> 24330 24331 Reviewed by Pavel Feldman. 24332 24333 Web Inspector: implement script beautifier prototype. 24334 https://bugs.webkit.org/show_bug.cgi?id=51588 24335 24336 * WebCore.gypi: 24337 * WebCore.vcproj/WebCore.vcproj: 24338 * inspector/front-end/ScriptFormatter.js: Added. 24339 (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and 24340 formatted line numbers 24341 (WebInspector.ScriptFormatter.findLineEndings): 24342 (WebInspector.ScriptFormatter.locationToPosition): 24343 (WebInspector.ScriptFormatter.positionToLocation): 24344 (WebInspector.ScriptFormatter.upperBound): 24345 (WebInspector.ScriptFormatter.prototype.format): 24346 (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber): 24347 (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber): 24348 (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber): 24349 (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition): 24350 (WebInspector.ScriptFormatter.prototype._convertPosition): 24351 * inspector/front-end/ScriptsPanel.js: 24352 (WebInspector.ScriptsPanel): 24353 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): 24354 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 24355 (WebInspector.ScriptsPanel.prototype._formatScript): 24356 * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa 24357 * inspector/front-end/WebKit.qrc: 24358 * inspector/front-end/inspector.html: 24359 24360 2011-01-18 Philippe Normand <pnormand (a] igalia.com> 24361 24362 Unreviewed, GTK build fix as follow-up of r76004. 24363 24364 * GNUmakefile.am: Include RoundedIntRect files in the build 24365 24366 2011-01-18 Philippe Normand <pnormand (a] igalia.com> 24367 24368 Unreviewed, rolling out r76002. 24369 http://trac.webkit.org/changeset/76002 24370 https://bugs.webkit.org/show_bug.cgi?id=49790 24371 24372 breaks a bunch of fast/forms tests on mac and GTK 24373 24374 * html/HTMLOptionElement.cpp: 24375 (WebCore::HTMLOptionElement::setRenderStyle): 24376 24377 2011-01-18 MORITA Hajime <morrita (a] google.com> 24378 24379 Unreviewed windows build fix. 24380 24381 * WebCore.vcproj/WebCore.vcproj: 24382 24383 2011-01-17 MORITA Hajime <morrita (a] google.com> 24384 24385 Reviewed by Simon Fraser. 24386 24387 Refactoring: Extract RoundedIntRect class 24388 https://bugs.webkit.org/show_bug.cgi?id=51664 24389 24390 RoundedIntRect is a pair of rect and four IntSize objects which represent 24391 corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii. 24392 Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths() 24393 return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect() 24394 and other functions accept RoundedIntRect as an argument. 24395 24396 No new tests. No behavioral change. 24397 24398 * Android.mk: 24399 * CMakeLists.txt: 24400 * WebCore.gypi: 24401 * WebCore.pro: 24402 * WebCore.xcodeproj/project.pbxproj: 24403 * platform/graphics/GraphicsContext.cpp: 24404 (WebCore::GraphicsContext::addRoundedRectClip): 24405 (WebCore::GraphicsContext::clipOutRoundedRect): 24406 (WebCore::GraphicsContext::fillRoundedRect): 24407 * platform/graphics/GraphicsContext.h: 24408 * platform/graphics/RoundedIntRect.cpp: Added. 24409 (WebCore::RoundedIntRect::Radii::isZero): 24410 (WebCore::RoundedIntRect::Radii::scale): 24411 (WebCore::RoundedIntRect::Radii::expand): 24412 (WebCore::RoundedIntRect::Radii::includeLogicalEdges): 24413 (WebCore::RoundedIntRect::Radii::excludeLogicalEdges): 24414 (WebCore::RoundedIntRect::RoundedIntRect): 24415 (WebCore::RoundedIntRect::includeLogicalEdges): 24416 (WebCore::RoundedIntRect::excludeLogicalEdges): 24417 * platform/graphics/RoundedIntRect.h: Added. 24418 (WebCore::RoundedIntRect::Radii::Radii): 24419 (WebCore::RoundedIntRect::Radii::setTopLeft): 24420 (WebCore::RoundedIntRect::Radii::setTopRight): 24421 (WebCore::RoundedIntRect::Radii::setBottomLeft): 24422 (WebCore::RoundedIntRect::Radii::setBottomRight): 24423 (WebCore::RoundedIntRect::Radii::topLeft): 24424 (WebCore::RoundedIntRect::Radii::topRight): 24425 (WebCore::RoundedIntRect::Radii::bottomLeft): 24426 (WebCore::RoundedIntRect::Radii::bottomRight): 24427 (WebCore::RoundedIntRect::Radii::expand): 24428 (WebCore::RoundedIntRect::Radii::shrink): 24429 (WebCore::RoundedIntRect::location): 24430 (WebCore::RoundedIntRect::size): 24431 (WebCore::RoundedIntRect::x): 24432 (WebCore::RoundedIntRect::y): 24433 (WebCore::RoundedIntRect::width): 24434 (WebCore::RoundedIntRect::height): 24435 (WebCore::RoundedIntRect::right): 24436 (WebCore::RoundedIntRect::bottom): 24437 (WebCore::RoundedIntRect::rect): 24438 (WebCore::RoundedIntRect::radii): 24439 (WebCore::RoundedIntRect::isRounded): 24440 (WebCore::RoundedIntRect::isEmpty): 24441 (WebCore::RoundedIntRect::setRect): 24442 (WebCore::RoundedIntRect::setRadii): 24443 (WebCore::RoundedIntRect::move): 24444 (WebCore::RoundedIntRect::inflate): 24445 (WebCore::RoundedIntRect::inflateWithRadii): 24446 (WebCore::RoundedIntRect::expandRadii): 24447 (WebCore::RoundedIntRect::shrinkRadii): 24448 * rendering/RenderBox.cpp: 24449 (WebCore::RenderBox::pushContentsClip): 24450 * rendering/RenderBoxModelObject.cpp: 24451 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 24452 (WebCore::RenderBoxModelObject::paintBorder): 24453 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 24454 (WebCore::RenderBoxModelObject::paintBoxShadow): 24455 * rendering/RenderBoxModelObject.h: 24456 * rendering/RenderObject.cpp: 24457 (WebCore::RenderObject::drawBoxSideFromPath): 24458 * rendering/RenderReplaced.cpp: 24459 (WebCore::RenderReplaced::paint): 24460 * rendering/RenderThemeChromiumWin.cpp: 24461 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 24462 * rendering/RenderThemeMac.mm: 24463 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 24464 (WebCore::RenderThemeMac::paintSliderTrack): 24465 * rendering/RenderThemeSafari.cpp: 24466 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 24467 (WebCore::RenderThemeSafari::paintSliderTrack): 24468 * rendering/RenderThemeWinCE.cpp: 24469 (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): 24470 * rendering/RenderWidget.cpp: 24471 (WebCore::RenderWidget::paint): 24472 * rendering/style/BorderData.h: 24473 * rendering/style/RenderStyle.cpp: 24474 (WebCore::calcRadiiFor): 24475 (WebCore::calcConstraintScaleFor): 24476 (WebCore::RenderStyle::getRoundedBorderFor): 24477 (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): 24478 * rendering/style/RenderStyle.h: 24479 (WebCore::InheritedFlags::setBorderRadius): 24480 24481 2011-01-17 Rob Buis <rwlbuis (a] gmail.com> 24482 24483 Reviewed by Kent Tamura. 24484 24485 Color changes to option elements in a select multiple aren't drawn immediately 24486 https://bugs.webkit.org/show_bug.cgi?id=49790 24487 24488 Redirect style changes on <option> element to the owner <select> element. 24489 24490 Tests: fast/forms/select-option-background-color-change.html 24491 fast/forms/select-option-color-change.html 24492 fast/forms/select-option-visibility-change.html 24493 24494 * html/HTMLOptionElement.cpp: 24495 (WebCore::HTMLOptionElement::setRenderStyle): 24496 24497 2011-01-17 MORITA Hajime <morrita (a] google.com> 24498 24499 Unreviewed, rolling out r75995. 24500 http://trac.webkit.org/changeset/75995 24501 https://bugs.webkit.org/show_bug.cgi?id=51914 24502 24503 Causes assertion failures. 24504 24505 * dom/Element.cpp: 24506 (WebCore::Element::shadowRoot): 24507 (WebCore::Element::setShadowRoot): 24508 (WebCore::Element::removeShadowRoot): 24509 * dom/ElementRareData.h: 24510 (WebCore::ElementRareData::ElementRareData): 24511 24512 2011-01-17 MORITA Hajime <morrita (a] google.com> 24513 24514 Unreviewed, rolling out r75999. 24515 http://trac.webkit.org/changeset/75999 24516 24517 * dom/Element.cpp: 24518 (WebCore::Element::removeShadowRoot): 24519 24520 2011-01-17 MORITA Hajime <morrita (a] google.com> 24521 24522 Unreviewed crash fix, which introduced at r75995 24523 24524 * dom/Element.cpp: 24525 (WebCore::Element::removeShadowRoot): 24526 24527 2011-01-17 MORITA Hajime <morrita (a] google.com> 24528 24529 Reviewed by Dimitri Glazkov. 24530 24531 ElementRareData::m_shadowRoot should not be RefPtr. 24532 https://bugs.webkit.org/show_bug.cgi?id=51914 24533 24534 This change makes m_shadowRoot a raw pointer, as Node::m_parent is. 24535 This change is safe because shadow host pointer is stored as TreeShared::m_parent 24536 which prevents deletion unless set to null. 24537 24538 No test, no behavioral change. 24539 24540 * dom/Element.cpp: 24541 (WebCore::Element::shadowRoot): 24542 (WebCore::Element::setShadowRoot): 24543 (WebCore::Element::removeShadowRoot): 24544 * dom/ElementRareData.h: 24545 (WebCore::ElementRareData::ElementRareData): 24546 24547 2011-01-17 Maciej Stachowiak <mjs (a] apple.com> 24548 24549 Reviewed by Dan Bernstein. 24550 24551 Some WebKit2 layout tests crash due to focus being on a frame in the page cache 24552 https://bugs.webkit.org/show_bug.cgi?id=52607 24553 24554 No new tests. Existing tests crash in WebKit2 without this fix. 24555 24556 I suspect there are other consequences besides the WebKit2 crash, but I 24557 was unable to identify any for certain. 24558 24559 * history/CachedFrame.cpp: 24560 (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page 24561 goes in the page cache, reset focus to the main frame. 24562 24563 2011-01-17 Adam Roben <aroben (a] apple.com> 24564 24565 Simplify WKCACFLayerRenderer's API 24566 24567 createRenderer/destroyRenderer are now hidden behind setHostWindow. 24568 WKCACFLayerRendererClient::animationsStarted has been removed, as it 24569 was never called. (The work it was supposed to do was already being 24570 accomplished by WKCACFLayerRenderer::render telling each layer that 24571 animations are starting.) 24572 24573 Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use 24574 24575 Reviewed by Chris Marrin. 24576 24577 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 24578 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the 24579 call to setHostWindow here from the WM_CREATE handler. The WM_CREATE 24580 handler was causing the Direct3D device to be created, but MSDN says 24581 you shouldn't create a device while handling WM_CREATE. Removed 24582 no-longer-needed call to createRenderer (setHostWindow does this now) 24583 and the never-needed call to setNeedsDisplay (we never draw into the 24584 root layer; this was just creating an unnecessary backing store the 24585 size of the screen!). 24586 (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE 24587 code, as described above. Removed call to destroyRenderer when handling 24588 WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler 24589 to do a synchronous paint and to clear our dirty region, while I was in 24590 here. 24591 24592 * platform/graphics/win/WKCACFLayerRenderer.cpp: 24593 (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call 24594 setHostWindow instead of destroyRenderer; the former calls the latter 24595 if needed. 24596 (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the 24597 header file. Destroys our old renderer (i.e., IDirect3DDevice9) if 24598 we're losing our window, or creates a renderer if we're gaining a 24599 window. 24600 (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename. 24601 (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the 24602 D3D device from our context before releasing the device. 24603 24604 * platform/graphics/win/WKCACFLayerRenderer.h: Removed 24605 WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay. 24606 Make createRenderer, destroyRenderer, and renderSoon private. 24607 24608 2011-01-17 Adam Roben <aroben (a] apple.com> 24609 24610 Remove special-cased support for providing content for the root layer 24611 24612 Clients will just have to provide content through the normal 24613 GraphicsLayer channels now! 24614 24615 Support for <http://webkit.org/b/52582> WebView should paint directly 24616 into a GraphicsLayer when in accelerated compositing mode 24617 24618 Reviewed by Simon Fraser and Chris Marrin. 24619 24620 * platform/graphics/win/WKCACFLayerRenderer.cpp: 24621 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed 24622 initialization of m_backingStoreDirty, which has itself been removed. 24623 (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule 24624 a sync from here to syncCompositingStateSoon. We only need to call 24625 renderSoon if we don't call syncCompositingStateSoon; the latter 24626 function calls the former. 24627 (WebCore::WKCACFLayerRenderer::paint): Removed code to handle 24628 m_backingStoreDirty. We don't want to know anything about clients' 24629 backing stores. 24630 (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code 24631 came from setNeedsDisplay. 24632 24633 * platform/graphics/win/WKCACFLayerRenderer.h: 24634 Removed setRootContents[AndDisplay], setBackingStoreDirty, and 24635 m_backingStoreDirty. Made paint() public so that clients can force a 24636 synchronous render (e.g., when handling WM_PAINT). 24637 24638 2011-01-17 Adam Roben <aroben (a] apple.com> 24639 24640 Remove contexts from WKCACFContextFlusher before destroying them 24641 24642 We aren't really using WKCACFContextFlusher for anything useful at the 24643 moment, but that will probably change in the near future. 24644 24645 I couldn't come up with a way to test this because it isn't possible to 24646 resize a window in DumpRenderTree. 24647 24648 Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath 24649 WKCACFContextFlusher::flushAllContexts when resizing window on page 24650 that uses accelerated compositing 24651 24652 Reviewed by Simon Fraser. 24653 24654 * platform/graphics/win/WKCACFLayerRenderer.cpp: 24655 (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our 24656 context from WKCACFContextFlusher. (This code was erroneously removed 24657 from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more 24658 sensible place for it.) 24659 24660 2011-01-17 Adam Roben <aroben (a] apple.com> 24661 24662 Don't access the CACFLayerRef's sublayers directly from PlatformCALayer 24663 24664 There might be a secret extra sublayer (the tile parent layer) that 24665 PlatformCALayer doesn't know about. When PlatformCALayer would 24666 encounter this, it would try to use the tile parent layer's 24667 PlatformCALayer wrapper, which was null, and then would crash. We now 24668 ask PlatformCALayerWinInternal for the sublayer list, since that class 24669 knows about the tile parent layer and can exclude it from the sublayer 24670 list. 24671 24672 Covered by compositing/tiling/huge-layer-resize.html. 24673 24674 Fixes <http://webkit.org/b/52597> Crash beneath 24675 PlatformCALayer::adoptSublayers when switching out of tiling mode 24676 (null-dereference of a PlatformCALayer) 24677 24678 Reviewed by Darin Adler and Chris Marrin. 24679 24680 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 24681 (PlatformCALayer::adoptSublayers): 24682 (printLayer): 24683 Changed to use PlatformCALayerWinInternal::getSublayers. 24684 24685 * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: 24686 (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list 24687 of PlatformCALayers that represent our sublayers. Significantly, this 24688 code knows about the tile parent layer and can thus exclude it. 24689 24690 * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added 24691 getSublayers. 24692 24693 2011-01-17 Naoki Takano <takano.naoki (a] gmail.com> 24694 24695 Reviewed by Kent Tamura. 24696 24697 [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field. 24698 https://bugs.webkit.org/show_bug.cgi?id=51382 24699 http://crbug.com/60427 24700 24701 Calculate correct location of popup window whenever the items in the window change. 24702 24703 No new tests, because this fix is for Chromium project and hard to test only in WebKit project 24704 24705 * platform/chromium/PopupMenuChromium.cpp: 24706 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect. 24707 (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect(). 24708 (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location. 24709 * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh(). 24710 24711 2011-01-17 Mark Rowe <mrowe (a] apple.com> 24712 24713 Fix the 32-bit build. 24714 24715 * WebCore.exp.in: 24716 24717 2011-01-17 Dan Bernstein <mitz (a] apple.com> 24718 24719 Reviewed by Darin Adler. 24720 24721 Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font 24722 https://bugs.webkit.org/show_bug.cgi?id=52598 24723 24724 Test: fast/css/font-face-zero-hash-key.html 24725 24726 * css/CSSFontFaceSource.cpp: 24727 (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key. 24728 * css/CSSSegmentedFontFace.cpp: 24729 (WebCore::CSSSegmentedFontFace::getFontData): Ditto. 24730 24731 2011-01-17 David Kilzer <ddkilzer (a] apple.com> 24732 24733 <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project 24734 24735 Reviewed by Dan Bernstein. 24736 24737 This fixes two issues: 24738 24739 Add missing DOMDocumentFragmentPrivate.h and 24740 DOMDocumentPrivate.h files to the project. These files were 24741 never added to the the project although their *Internal.h 24742 counterparts were added in r16548 and r17390. 24743 24744 Add missing DOMDocumentFragmentInternal.h to the Headers 24745 section. It was moved from Headers to "Copy Generated Headers" 24746 in r31045, but it should have an entry in both sections. 24747 24748 * WebCore.xcodeproj/project.pbxproj: 24749 24750 2011-01-17 Helder Correia <helder (a] sencha.com> 24751 24752 Reviewed by Andreas Kling. 24753 24754 [Qt] Incorrect shadow alpha with pattern fillStyle 24755 https://bugs.webkit.org/show_bug.cgi?id=52559 24756 24757 The shadow color opacity needs to be set on the shadow painter. 24758 This is related to bug 52556. 24759 24760 Test: fast/canvas/canvas-fillPath-pattern-shadow.html 24761 24762 * platform/graphics/qt/GraphicsContextQt.cpp: 24763 (WebCore::GraphicsContext::fillPath): 24764 24765 2011-01-17 Martin Robinson <mrobinson (a] igalia.com> 24766 24767 Reviewed by Andreas Kling. 24768 24769 [GTK] Port a crash fix from libsoup upstream to the libsoup cache code 24770 https://bugs.webkit.org/show_bug.cgi?id=52586 24771 24772 No new tests. This is just a merge from upstream. 24773 24774 * platform/network/soup/cache/soup-http-input-stream.c: 24775 (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers. 24776 24777 2011-01-17 Tony Gentilcore <tonyg (a] chromium.org> 24778 24779 Reviewed by Alexey Proskuryakov. 24780 24781 Fix some headers with missing or misspelled #ifndef guards 24782 https://bugs.webkit.org/show_bug.cgi?id=52545 24783 24784 No new tests because no new functionality. 24785 24786 * ForwardingHeaders/runtime/InitializeThreading.h: 24787 * editing/SmartReplace.h: 24788 * loader/CrossOriginAccessControl.h: 24789 * loader/NetscapePlugInStreamLoader.h: 24790 * platform/chromium/ClipboardUtilitiesChromium.h: 24791 * platform/graphics/cairo/DrawErrorUnderline.h: 24792 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 24793 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 24794 * platform/graphics/cg/PDFDocumentImage.h: 24795 * platform/win/WebCoreTextRenderer.h: 24796 24797 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 24798 24799 Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation. 24800 24801 * inspector/front-end/NetworkPanel.js: 24802 (WebInspector.NetworkPanel.prototype.clear): 24803 (WebInspector.NetworkPanel.prototype.mainResourceChanged): 24804 24805 2011-01-17 Sergio Villar Senin <svillar (a] igalia.com> 24806 24807 Reviewed by Martin Robinson. 24808 24809 [Gtk] No need to content sniff 304 Not Modified responses 24810 https://bugs.webkit.org/show_bug.cgi?id=52570 24811 24812 Makes no sense to wait for the outcome of content sniffing when WebCore 24813 is validating resources. If we get a 304 Not Modified it means that we can 24814 safely use the cached version of the resource we're asking for. 24815 24816 No new tests because it does not change functionality, it just 24817 calls didReceiveResponse sooner for 304 Not Modified responses. 24818 24819 * platform/network/soup/ResourceHandleSoup.cpp: 24820 (WebCore::gotHeadersCallback): 24821 24822 2011-01-17 Jessie Berlin <jberlin (a] apple.com> 24823 24824 Reviewed by Anders Carlsson. 24825 24826 REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when 24827 navigating back to an unreachable URL 24828 https://bugs.webkit.org/show_bug.cgi?id=52388 24829 24830 Test: http/tests/navigation/go-back-to-error-page.html 24831 24832 * history/PageCache.cpp: 24833 (WebCore::PageCache::canCachePageContainingThisFrame): 24834 Do not cache any error pages (which we can recognize as having substitute data and/or an 24835 unreachableURL). 24836 24837 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 24838 24839 Not reviewed: fixing typo in r75952. 24840 24841 * inspector/front-end/NetworkPanel.js: 24842 (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): 24843 24844 2011-01-17 Enrica Casucci <enrica (a] apple.com> 24845 24846 Reviewed by Alexey Proskuryakov. 24847 24848 Drag and drop support: refactoring of image from link and image from selection 24849 https://bugs.webkit.org/show_bug.cgi?id=52496 24850 24851 This work cleans up the Mac code and makes it more similar to the Windows implementation, 24852 avoiding the use of an NSView when the FrameView can be used. 24853 The refactoring is a necessary step towards the complete support of drag and drop 24854 in WebKit2. 24855 24856 * page/mac/FrameMac.mm: 24857 (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView 24858 to generate the image for drag. 24859 24860 2011-01-17 Dan Bernstein <mitz (a] apple.com> 24861 24862 Rubber-stamped by Mark Rowe. 24863 24864 Update xcodeproj svn:ignore to include xcuserdata. 24865 24866 * WebCore.xcodeproj: Modified property svn:ignore. 24867 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore. 24868 24869 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 24870 24871 Leopard build fix. 24872 24873 * page/PrintContext.cpp: GCC complained about shortening a double value to float. 24874 24875 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 24876 24877 Reviewed by Dan Bernstein. 24878 24879 https://bugs.webkit.org/show_bug.cgi?id=52495 24880 24881 No change in behavior, so no tests. 24882 24883 * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext. 24884 24885 * page/PrintContext.cpp: 24886 (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being 24887 destroyed already. 24888 (WebCore::PrintContext::pageCount): Changed page count from int to size_t. 24889 (WebCore::PrintContext::pageRect): Ditto. 24890 (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument. 24891 PrintContext already has code to calculate scale factor, so it makes sense to make methods 24892 that contain it universal (allowHorizontalTiling is always true for Safari). 24893 Round page height to an integer, because Mac code does that, and because page height is 24894 treated as integer almost everywhere else in code. 24895 (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need 24896 to return to screen mode if e.g. "print backgounds" option changes. 24897 (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so 24898 that clients don't have to copy it. 24899 (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request 24900 comes from code that doesn't have page number. 24901 (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t. 24902 24903 * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that 24904 depends on deciding how it really needs to work (e.g. whether computePageRects() should 24905 cause relayout). 24906 24907 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 24908 24909 Reviewed by Yury Semikhatsky. 24910 24911 Web Inspector: unify image data source assignment, add image url 24912 to the image view properties list. 24913 https://bugs.webkit.org/show_bug.cgi?id=52584 24914 24915 * English.lproj/localizedStrings.js: 24916 * inspector/front-end/ImageView.js: 24917 (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad): 24918 (WebInspector.ImageView.prototype._createContentIfNeeded): 24919 * inspector/front-end/NetworkPanel.js: 24920 (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): 24921 * inspector/front-end/Resource.js: 24922 (WebInspector.Resource.prototype.populateImageSource): 24923 (WebInspector.Resource.prototype._contentURL): 24924 * inspector/front-end/ResourcesPanel.js: 24925 (WebInspector.FrameResourceTreeElement.prototype.onattach): 24926 24927 2011-01-17 Andrey Kosyakov <caseq (a] chromium.org> 24928 24929 Reviewed by Pavel Feldman. 24930 24931 Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources 24932 Make resource start/finish hanlding more consistent. 24933 https://bugs.webkit.org/show_bug.cgi?id=52452 24934 24935 * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator 24936 (WebInspector.AuditLauncherView.prototype._resetResourceCount): 24937 (WebInspector.AuditLauncherView.prototype.resourceStarted): 24938 (WebInspector.AuditLauncherView.prototype.resourceFinished): 24939 * inspector/front-end/NetworkManager.js: 24940 (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource() 24941 (WebInspector.NetworkManager.prototype.identifierForInitialRequest): 24942 (WebInspector.NetworkManager.prototype.willSendRequest): 24943 (WebInspector.NetworkManager.prototype.markResourceAsCached): 24944 (WebInspector.NetworkManager.prototype.didReceiveResponse): 24945 (WebInspector.NetworkManager.prototype.didReceiveContentLength): 24946 (WebInspector.NetworkManager.prototype.didFinishLoading): 24947 (WebInspector.NetworkManager.prototype.didFailLoading): 24948 (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): 24949 (WebInspector.NetworkManager.prototype.didCreateWebSocket): 24950 (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): 24951 (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): 24952 (WebInspector.NetworkManager.prototype.didCloseWebSocket): 24953 (WebInspector.NetworkManager.prototype._appendRedirect): 24954 (WebInspector.NetworkManager.prototype._startResource): 24955 (WebInspector.NetworkManager.prototype._finishResource): 24956 24957 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 24958 24959 Reviewed by Yury Semikhatsky. 24960 24961 Web Inspector: restore dom and network state upon frontend reuse. 24962 https://bugs.webkit.org/show_bug.cgi?id=52574 24963 24964 * inspector/Inspector.idl: 24965 * inspector/InspectorController.cpp: 24966 (WebCore::InspectorController::restoreInspectorStateFromCookie): 24967 (WebCore::InspectorController::populateScriptObjects): 24968 (WebCore::InspectorController::pushDataCollectedOffline): 24969 (WebCore::InspectorController::didCommitLoad): 24970 * inspector/InspectorController.h: 24971 * inspector/front-end/NetworkManager.js: 24972 (WebInspector.NetworkManager.prototype.reset): 24973 * inspector/front-end/NetworkPanel.js: 24974 (WebInspector.NetworkPanel.prototype.clear): 24975 (WebInspector.NetworkPanel.prototype.mainResourceChanged): 24976 * inspector/front-end/ResourceTreeModel.js: 24977 (WebInspector.ResourceTreeModel): 24978 (WebInspector.ResourceTreeModel.prototype.reloadCachedResources): 24979 * inspector/front-end/ResourcesPanel.js: 24980 (WebInspector.ResourcesPanel.prototype.clear): 24981 * inspector/front-end/inspector.js: 24982 (WebInspector.frontendReused): 24983 24984 2011-01-17 Csaba Osztrogonc <ossy (a] webkit.org> 24985 24986 Unreviewed buildfix after r75944. 24987 24988 * WebCore.pro: 24989 24990 2011-01-17 Yi Shen <yi.4.shen (a] nokia.com> 24991 24992 Reviewed by Andreas Kling. 24993 24994 [Qt] Extend the Platform Plugin to support full screen video handler 24995 https://bugs.webkit.org/show_bug.cgi?id=51249 24996 24997 Make MediaPlayerPrivateQt support a fullscreen player. 24998 24999 No new tests because LayoutTests/media/media-fullscreen-inline.html already exists. 25000 However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice. 25001 So, still skip it for Qt. 25002 25003 * WebCore.pro: 25004 * features.pri: 25005 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 25006 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): 25007 (WebCore::MediaPlayerPrivateQt::removeVideoItem): 25008 (WebCore::MediaPlayerPrivateQt::restoreVideoItem): 25009 * platform/graphics/qt/MediaPlayerPrivateQt.h: 25010 (WebCore::MediaPlayerPrivateQt::supportsFullscreen): 25011 (WebCore::MediaPlayerPrivateQt::mediaPlayer): 25012 25013 2011-01-17 Anthony Ricaud <rik (a] webkit.org> 25014 25015 Reviewed by Kent Tamura. 25016 25017 [HTML5] Revert display:none on datalist 25018 https://bugs.webkit.org/show_bug.cgi?id=52214 25019 25020 * css/html.css: 25021 25022 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 25023 25024 Reviewed by Yury Semikhatsky. 25025 25026 Web Inspector: simplify debugger enabling routine. 25027 https://bugs.webkit.org/show_bug.cgi?id=52472 25028 25029 * inspector/Inspector.idl: 25030 * inspector/InspectorController.cpp: 25031 (WebCore::InspectorController::restoreDebugger): 25032 (WebCore::InspectorController::showAndEnableDebugger): 25033 (WebCore::InspectorController::enableDebugger): 25034 * inspector/InspectorController.h: 25035 * inspector/front-end/DebuggerModel.js: 25036 * inspector/front-end/ScriptsPanel.js: 25037 (WebInspector.ScriptsPanel.prototype.show): 25038 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 25039 25040 2011-01-17 Pavel Podivilov <podivilov (a] chromium.org> 25041 25042 Reviewed by Pavel Feldman. 25043 25044 Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame. 25045 https://bugs.webkit.org/show_bug.cgi?id=51738 25046 25047 Extract content loading logic from SourceView and ScriptView to ContentProvider implementations. 25048 Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization. 25049 25050 * inspector/front-end/ScriptView.js: 25051 (WebInspector.ScriptView): 25052 (WebInspector.SourceFrameContentProviderForScript): 25053 (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource): 25054 (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent): 25055 (WebInspector.SourceFrameContentProviderForScript.prototype.scripts): 25056 * inspector/front-end/ScriptsPanel.js: 25057 (WebInspector.ScriptsPanel.prototype._addScript): 25058 (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): 25059 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): 25060 * inspector/front-end/SourceFrame.js: 25061 (WebInspector.SourceFrame): 25062 (WebInspector.SourceFrame.prototype.set visible): 25063 (WebInspector.SourceFrame.prototype._createTextViewer): 25064 (WebInspector.SourceFrame.prototype._breakpointAdded): 25065 (WebInspector.SourceFrame.prototype._breakpoints): 25066 (WebInspector.SourceFrame.prototype._sourceIDForLine): 25067 (WebInspector.SourceFrame.prototype._sourceIDSet): 25068 (WebInspector.SourceFrameContentProvider): 25069 (WebInspector.SourceFrameContentProvider.prototype.requestContent): 25070 (WebInspector.SourceFrameContentProvider.prototype.scripts): 25071 * inspector/front-end/SourceView.js: 25072 (WebInspector.SourceView): 25073 (WebInspector.SourceView.prototype.show): 25074 (WebInspector.SourceView.prototype.resize): 25075 (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches): 25076 (WebInspector.SourceView.prototype.performSearch): 25077 (WebInspector.SourceView.prototype.revealLine): 25078 (WebInspector.SourceView.prototype.highlightLine): 25079 (WebInspector.SourceView.prototype._jumpToSearchResult): 25080 (WebInspector.SourceFrameContentProviderForResource): 25081 (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent): 25082 (WebInspector.SourceFrameContentProviderForResource.prototype.scripts): 25083 25084 2011-01-17 John Knottenbelt <jknotten (a] chromium.org> 25085 25086 Reviewed by Jeremy Orlow. 25087 25088 GeolocationController should call stopUpdating on destruction 25089 https://bugs.webkit.org/show_bug.cgi?id=52216 25090 25091 Test: fast/dom/Geolocation/window-close-crash.html 25092 25093 * page/GeolocationController.cpp: 25094 (WebCore::GeolocationController::~GeolocationController): 25095 25096 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 25097 25098 Not reviewed: Qt build fix. 25099 25100 * inspector/InspectorInstrumentation.h: 25101 25102 2011-01-16 Pavel Feldman <pfeldman (a] chromium.org> 25103 25104 Reviewed by Yury Semikhatsky. 25105 25106 Web Inspector: make WebCore use InspectorInstrumentation 25107 for instrumentation calls. 25108 https://bugs.webkit.org/show_bug.cgi?id=52532 25109 25110 This change makes WebCore classes issue instrumentation signals 25111 by means of InspectorInstrumentation interface. It covered migration 25112 for Document, FrameLoader, Database, DOMStorage, etc. It fixed 25113 instrumentation handling for Console as well. This all is a part 25114 of story described in the bug 52510. 25115 25116 * dom/Document.cpp: 25117 (WebCore::Document::finishedParsing): 25118 * dom/Document.h: 25119 * dom/ScriptExecutionContext.h: 25120 * inspector/InspectorBrowserDebuggerAgent.cpp: 25121 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 25122 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 25123 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 25124 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 25125 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 25126 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 25127 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 25128 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 25129 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 25130 * inspector/InspectorBrowserDebuggerAgent.h: 25131 (WebCore::InspectorBrowserDebuggerAgent::create): 25132 * inspector/InspectorConsoleAgent.cpp: 25133 (WebCore::InspectorConsoleAgent::stopTiming): 25134 (WebCore::InspectorConsoleAgent::count): 25135 * inspector/InspectorConsoleAgent.h: 25136 * inspector/InspectorController.cpp: 25137 (WebCore::InspectorController::InspectorController): 25138 (WebCore::InspectorController::~InspectorController): 25139 (WebCore::InspectorController::handleMousePress): 25140 (WebCore::InspectorController::didClearWindowObjectInWorld): 25141 (WebCore::PostWorkerNotificationToFrontendTask::performTask): 25142 * inspector/InspectorController.h: 25143 * inspector/InspectorDOMAgent.h: 25144 * inspector/InspectorDOMStorageAgent.h: 25145 * inspector/InspectorDatabaseAgent.cpp: 25146 * inspector/InspectorDatabaseAgent.h: 25147 * inspector/InspectorFrontendHost.cpp: 25148 * inspector/InspectorFrontendHost.h: 25149 * inspector/InspectorInstrumentation.cpp: 25150 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): 25151 (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl): 25152 (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl): 25153 (WebCore::InspectorInstrumentation::handleMousePressImpl): 25154 (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl): 25155 (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl): 25156 (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): 25157 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 25158 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): 25159 (WebCore::InspectorInstrumentation::consoleCountImpl): 25160 (WebCore::InspectorInstrumentation::startConsoleTimingImpl): 25161 (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): 25162 (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl): 25163 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl): 25164 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): 25165 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): 25166 (WebCore::InspectorInstrumentation::didCreateWorkerImpl): 25167 (WebCore::InspectorInstrumentation::didDestroyWorkerImpl): 25168 (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): 25169 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): 25170 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): 25171 (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): 25172 (WebCore::InspectorInstrumentation::networkStateChangedImpl): 25173 (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): 25174 * inspector/InspectorInstrumentation.h: 25175 (WebCore::InspectorInstrumentation::inspectorControllerCreated): 25176 (WebCore::InspectorInstrumentation::inspectorControllerDeleted): 25177 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld): 25178 (WebCore::InspectorInstrumentation::inspectedPageDestroyed): 25179 (WebCore::InspectorInstrumentation::willInsertDOMNode): 25180 (WebCore::InspectorInstrumentation::didInsertDOMNode): 25181 (WebCore::InspectorInstrumentation::willRemoveDOMNode): 25182 (WebCore::InspectorInstrumentation::willModifyDOMAttr): 25183 (WebCore::InspectorInstrumentation::didModifyDOMAttr): 25184 (WebCore::InspectorInstrumentation::mouseDidMoveOverElement): 25185 (WebCore::InspectorInstrumentation::handleMousePress): 25186 (WebCore::InspectorInstrumentation::characterDataModified): 25187 (WebCore::InspectorInstrumentation::willSendXMLHttpRequest): 25188 (WebCore::InspectorInstrumentation::didScheduleResourceRequest): 25189 (WebCore::InspectorInstrumentation::didInstallTimer): 25190 (WebCore::InspectorInstrumentation::didRemoveTimer): 25191 (WebCore::InspectorInstrumentation::willCallFunction): 25192 (WebCore::InspectorInstrumentation::willChangeXHRReadyState): 25193 (WebCore::InspectorInstrumentation::willDispatchEvent): 25194 (WebCore::InspectorInstrumentation::willDispatchEventOnWindow): 25195 (WebCore::InspectorInstrumentation::willEvaluateScript): 25196 (WebCore::InspectorInstrumentation::willFireTimer): 25197 (WebCore::InspectorInstrumentation::willLayout): 25198 (WebCore::InspectorInstrumentation::willLoadXHR): 25199 (WebCore::InspectorInstrumentation::willPaint): 25200 (WebCore::InspectorInstrumentation::willRecalculateStyle): 25201 (WebCore::InspectorInstrumentation::identifierForInitialRequest): 25202 (WebCore::InspectorInstrumentation::willSendRequest): 25203 (WebCore::InspectorInstrumentation::markResourceAsCached): 25204 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): 25205 (WebCore::InspectorInstrumentation::willReceiveResourceData): 25206 (WebCore::InspectorInstrumentation::willReceiveResourceResponse): 25207 (WebCore::InspectorInstrumentation::didReceiveContentLength): 25208 (WebCore::InspectorInstrumentation::didFinishLoading): 25209 (WebCore::InspectorInstrumentation::didFailLoading): 25210 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest): 25211 (WebCore::InspectorInstrumentation::scriptImported): 25212 (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent): 25213 (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent): 25214 (WebCore::InspectorInstrumentation::frameDetachedFromParent): 25215 (WebCore::InspectorInstrumentation::didCommitLoad): 25216 (WebCore::InspectorInstrumentation::willWriteHTML): 25217 (WebCore::InspectorInstrumentation::didOpenDatabase): 25218 (WebCore::InspectorInstrumentation::didUseDOMStorage): 25219 (WebCore::InspectorInstrumentation::didCreateWorker): 25220 (WebCore::InspectorInstrumentation::didDestroyWorker): 25221 (WebCore::InspectorInstrumentation::didCreateWebSocket): 25222 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): 25223 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): 25224 (WebCore::InspectorInstrumentation::didCloseWebSocket): 25225 (WebCore::InspectorInstrumentation::networkStateChanged): 25226 (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): 25227 (WebCore::InspectorInstrumentation::addMessageToConsole): 25228 (WebCore::InspectorInstrumentation::consoleCount): 25229 (WebCore::InspectorInstrumentation::startConsoleTiming): 25230 (WebCore::InspectorInstrumentation::stopConsoleTiming): 25231 (WebCore::InspectorInstrumentation::consoleMarkTimeline): 25232 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): 25233 (WebCore::InspectorInstrumentation::inspectorControllerForContext): 25234 (WebCore::InspectorInstrumentation::inspectorControllerForFrame): 25235 (WebCore::InspectorInstrumentation::inspectorControllerForPage): 25236 (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext): 25237 (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument): 25238 (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame): 25239 (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage): 25240 * inspector/InspectorState.cpp: 25241 * loader/FrameLoader.cpp: 25242 (WebCore::FrameLoader::detachFromParent): 25243 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): 25244 (WebCore::FrameLoader::dispatchDidCommitLoad): 25245 * page/Chrome.cpp: 25246 (WebCore::Chrome::mouseDidMoveOverElement): 25247 * page/Console.cpp: 25248 (WebCore::Console::addMessage): 25249 (WebCore::Console::count): 25250 (WebCore::Console::markTimeline): 25251 (WebCore::Console::profile): 25252 (WebCore::Console::time): 25253 (WebCore::Console::timeEnd): 25254 (WebCore::Console::group): 25255 (WebCore::Console::groupCollapsed): 25256 (WebCore::Console::groupEnd): 25257 * page/DOMWindow.cpp: 25258 (WebCore::DOMWindow::sessionStorage): 25259 (WebCore::DOMWindow::localStorage): 25260 (WebCore::DOMWindow::dispatchLoadEvent): 25261 * page/EventHandler.cpp: 25262 (WebCore::EventHandler::handleMousePressEvent): 25263 * page/Page.cpp: 25264 (WebCore::Page::~Page): 25265 * storage/Database.cpp: 25266 (WebCore::Database::openDatabase): 25267 * workers/AbstractWorker.cpp: 25268 (WebCore::AbstractWorker::onDestroyWorker): 25269 * workers/SharedWorker.cpp: 25270 (WebCore::SharedWorker::create): 25271 * workers/Worker.cpp: 25272 (WebCore::Worker::create): 25273 * workers/WorkerMessagingProxy.cpp: 25274 25275 2011-01-17 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 25276 25277 Unreviewed, rolling out r75923. 25278 25279 GTK guy rolls out the r75914. 25280 25281 * platform/efl/ScrollViewEfl.cpp: 25282 (WebCore::ScrollView::platformInit): 25283 25284 2011-01-17 Helder Correia <helder (a] sencha.com> 25285 25286 Reviewed by Kenneth Rohde Christiansen. 25287 25288 [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass 25289 https://bugs.webkit.org/show_bug.cgi?id=52556 25290 25291 The shadow color opacity needs to be set on the shadow painter. 25292 Additionally, the gradient brush should be transformed. 25293 25294 * platform/graphics/qt/GraphicsContextQt.cpp: 25295 (WebCore::GraphicsContext::fillPath): 25296 25297 2011-01-17 No'am Rosenthal <noam.rosenthal (a] nokia.com> 25298 25299 Reviewed by Kenneth Rohde Christiansen. 25300 25301 [Qt] Background image rendering is slow 25302 https://bugs.webkit.org/show_bug.cgi?id=50527 25303 25304 When tiling a scaled pixmap in Image::drawPattern, scale the tile 25305 first and only then draw it to the target. Do so only when drawing 25306 more than one tile. 25307 25308 Tests in fast/backgrounds/size cover this. 25309 25310 * platform/graphics/qt/ImageQt.cpp: 25311 (WebCore::Image::drawPattern): 25312 25313 2011-01-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 25314 25315 Reviewed by Simon Hausmann. 25316 25317 [Qt] [Symbian] Fix building NPAPI support 25318 https://bugs.webkit.org/show_bug.cgi?id=51981 25319 25320 Make sure that npapi.h is always included outside of the extern "C" 25321 linkage declaration block. 25322 25323 No new tests as there is no new functionality. 25324 25325 * bridge/npruntime.h: 25326 25327 2011-01-17 Philippe Normand <pnormand (a] igalia.com> 25328 25329 Unreviewed, rolling out r75914. 25330 http://trac.webkit.org/changeset/75914 25331 https://bugs.webkit.org/show_bug.cgi?id=49177 25332 25333 multiple crashes on GTK 25334 25335 * platform/ScrollView.cpp: 25336 (WebCore::ScrollView::removeChild): 25337 (WebCore::ScrollView::wheelEvent): 25338 * platform/gtk/MainFrameScrollbarGtk.cpp: 25339 (MainFrameScrollbarGtk::attachAdjustment): 25340 (MainFrameScrollbarGtk::gtkValueChanged): 25341 * platform/gtk/ScrollViewGtk.cpp: 25342 (WebCore::ScrollView::platformInit): 25343 (WebCore::ScrollView::platformAddChild): 25344 (WebCore::ScrollView::platformRemoveChild): 25345 25346 2011-01-17 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 25347 25348 Unreviewed build fix. 25349 25350 Bug 49177's patch enabled platformInit() in super class(ScrollView). 25351 But, it didn't removed the function in ScrollViewEfl.cpp. 25352 25353 * platform/efl/ScrollViewEfl.cpp: 25354 25355 2011-01-16 Dan Bernstein <mitz (a] apple.com> 25356 25357 Reviewed by Sam Weinig. 25358 25359 <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView 25360 25361 Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty 25362 quad to a non-empty rect. 25363 25364 * rendering/RenderWidget.cpp: 25365 (WebCore::RenderWidget::setWidget): 25366 (WebCore::RenderWidget::updateWidgetPosition): 25367 25368 2011-01-16 Martin Robinson <mrobinson (a] igalia.com> 25369 25370 Reviewed by Xan Lopez. 25371 25372 [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots 25373 https://bugs.webkit.org/show_bug.cgi?id=49177 25374 25375 * platform/ScrollView.cpp: Move the platform guards around a little. GTK+ 25376 now shares the implementation of platformAddChild and platformRemoveChild, 25377 but has its own implementation of removeChild, which knows how to inform 25378 main frame scrollbars that they no longer control the WebCore scrollbar. 25379 * platform/gtk/MainFrameScrollbarGtk.cpp: 25380 (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment 25381 that we already have, bail out early. Apply the value changed signal handler 25382 after configuring the adjustment. We don't want our reset of the adjustment to 25383 stomp on WebCore values. 25384 (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore 25385 state already matches ours. This prevents some unnecessary recursion 25386 * platform/gtk/ScrollViewGtk.cpp: 25387 (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars 25388 which need their adjustments detached. 25389 25390 2011-01-13 Yuzo Fujishima <yuzo (a] google.com> 25391 25392 Reviewed by Antti Koivisto. 25393 25394 Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader 25395 https://bugs.webkit.org/show_bug.cgi?id=52427 25396 25397 In constructor/destructor of CachedResourceLoader, m_cache has been 25398 used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader 25399 while cache() is used everywhere else. 25400 25401 Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all. 25402 Remove the call sites and make MemoryCache non-friend of CachedResourceLoader. 25403 25404 No new tests because the behavior remains the same. 25405 25406 * loader/cache/CachedResourceLoader.cpp: 25407 (WebCore::CachedResourceLoader::CachedResourceLoader): 25408 (WebCore::CachedResourceLoader::~CachedResourceLoader): 25409 * loader/cache/CachedResourceLoader.h: 25410 * loader/cache/MemoryCache.cpp: 25411 * loader/cache/MemoryCache.h: 25412 25413 2011-01-16 Adam Barth <abarth (a] webkit.org> 25414 25415 Rubber-stamped by Eric Seidel. 25416 25417 Move WebKit into Source 25418 https://bugs.webkit.org/show_bug.cgi?id=52530 25419 25420 * WebCore.gyp/WebCore.gyp: 25421 * WebCore.pri: 25422 * WebCore.pro: 25423 25424 2011-01-16 Simon Fraser <simon.fraser (a] apple.com> 25425 25426 Reviewed by Dan Bernstein. 25427 25428 frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash) 25429 https://bugs.webkit.org/show_bug.cgi?id=52549 25430 25431 Fix regression from r75900; m_widget->setFrameRect() can run script that 25432 clears m_widget, so null-check it before calling setBoundsSize(). 25433 25434 Tested by fast/replaced/frame-removed-during-resize.html 25435 25436 * rendering/RenderWidget.cpp: 25437 (WebCore::RenderWidget::setWidgetGeometry): 25438 25439 2011-01-16 Simon Fraser <simon.fraser (a] apple.com> 25440 25441 Keep Leopard build happy. 25442 25443 * platform/mac/WidgetMac.mm: 25444 (WebCore::Widget::setBoundsSize): 25445 25446 2011-01-16 Robert Hogan <robert (a] webkit.org> 25447 25448 Reviewed by Andreas Kling. 25449 25450 [Qt] plugins/keyboard-events.html fails after r72717 25451 https://bugs.webkit.org/show_bug.cgi?id=50050 25452 25453 * plugins/qt/PluginViewQt.cpp: 25454 (WebCore::setXKeyEventSpecificFields): map event text to keycode 25455 25456 2011-01-16 Simon Fraser <simon.fraser (a] apple.com> 25457 25458 Reviewed by Dan Bernstein. 25459 25460 Issues with iframes and plugins when the WebView is scaled. 25461 <rdar://problem/6213380> 25462 25463 When _scaleWebView has been called on a WebView, iframes 25464 in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up. 25465 This is caused by AppKit NSViews not playing nicely with the scale 25466 applied through style. 25467 25468 Work around most of these issues by adjusting the bounds size 25469 of widgets to allow iframe contents to paint with the correct scale, 25470 and fix various places in the code where we relied on coordinate 25471 transforms via NSViews (which ignore CSS transforms). 25472 25473 * WebCore.exp.in: 25474 * platform/Widget.cpp: 25475 (WebCore::Widget::setBoundsSize): 25476 * platform/Widget.h: 25477 * platform/mac/WidgetMac.mm: 25478 (WebCore::Widget::setBoundsSize): 25479 (WebCore::Widget::paint): 25480 * rendering/RenderLayerCompositor.cpp: 25481 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): 25482 * rendering/RenderWidget.cpp: 25483 (WebCore::RenderWidget::setWidgetGeometry): 25484 (WebCore::RenderWidget::setWidget): 25485 (WebCore::RenderWidget::updateWidgetPosition): 25486 * rendering/RenderWidget.h: 25487 25488 2011-01-16 Simon Fraser <simon.fraser (a] apple.com> 25489 25490 Reviewed by Dan Bernstein. 25491 25492 RenderView needs to take transforms on its layer into account 25493 https://bugs.webkit.org/show_bug.cgi?id=52536 25494 25495 The RenderView's coordinate mapping methods failed to 25496 take into account a transform on the RenderView's layer. 25497 25498 No tests because it's not possible to get a transform 25499 on the RenderView's layer through content. 25500 25501 * rendering/RenderView.cpp: 25502 (WebCore::RenderView::mapLocalToContainer): 25503 (WebCore::RenderView::mapAbsoluteToLocalPoint): 25504 25505 2011-01-15 Sheriff Bot <webkit.review.bot (a] gmail.com> 25506 25507 Unreviewed, rolling out r75708. 25508 http://trac.webkit.org/changeset/75708 25509 https://bugs.webkit.org/show_bug.cgi?id=52521 25510 25511 Breaks Qt build if mobility is not installed. (Requested by 25512 benjaminp on #webkit). 25513 25514 * WebCore.pro: 25515 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 25516 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): 25517 * platform/graphics/qt/MediaPlayerPrivateQt.h: 25518 (WebCore::MediaPlayerPrivateQt::supportsFullscreen): 25519 25520 2011-01-15 David Kilzer <ddkilzer (a] apple.com> 25521 25522 <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset 25523 25524 Reviewed by Adele Peterson. 25525 25526 The fix for Bug 50710 in r73799 introduced an off-by-one error 25527 when copying nodes to a local NodeVector for processing. A fix 25528 was attempted for Bug 50854 in r73818, but instead of stopping 25529 at the end offset, it iterates through all the sibling nodes 25530 because the loop variable (i) is never incremented. To clean 25531 this up, revert back to the code in r73799 and fix the 25532 off-by-one error. 25533 25534 Test: fast/dom/Range/range-clone-contents.html 25535 25536 * dom/Range.cpp: 25537 (WebCore::Range::processContents): Fix the loop that copies 25538 nodes to a local NodeVector by restoring the code from r73799 25539 and fixing the off-by-one error. 25540 25541 2011-01-15 Adam Barth <abarth (a] webkit.org> 25542 25543 Rubber-stamped by Eric Seidel. 25544 25545 Move WebKit2 into Source 25546 https://bugs.webkit.org/show_bug.cgi?id=52438 25547 25548 * WebCore.pro: 25549 25550 2011-01-15 Joone Hur <joone.hur (a] collabora.co.uk> 25551 25552 Reviewed by Martin Robinson. 25553 25554 [GTK] Linux build with FileSystem API enabled fails 25555 https://bugs.webkit.org/show_bug.cgi?id=43878 25556 25557 This patch allows WebKitGtk+ to build with FileSystem API option. 25558 25559 No new tests because no new functionality. 25560 25561 * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp. 25562 * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h. 25563 25564 2011-01-14 Sam Magnuson <smagnuso (a] gmail.com> 25565 25566 Reviewed by Kenneth Rohde Christiansen. 25567 25568 [Qt] Compile with QT_NO_GRAPHICSVIEW 25569 https://bugs.webkit.org/show_bug.cgi?id=49750 25570 25571 * platform/graphics/qt/GraphicsLayerQt.cpp: 25572 * platform/graphics/qt/GraphicsLayerQt.h: 25573 * platform/qt/PlatformMouseEventQt.cpp: 25574 25575 2011-01-14 Tony Chang <tony (a] chromium.org> 25576 25577 Reviewed by Alexey Proskuryakov. 25578 25579 Strip NUL character when copying text on Windows 25580 https://bugs.webkit.org/show_bug.cgi?id=52236 25581 25582 Test: editing/pasteboard/copy-null-characters.html 25583 25584 * editing/Editor.cpp: 25585 (WebCore::Editor::selectedText): 25586 * platform/mac/PasteboardMac.mm: 25587 (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms. 25588 25589 2011-01-14 Yuzo Fujishima <yuzo (a] google.com> 25590 25591 Reviewed by Antti Koivisto. 25592 25593 Rename cache() to memoryCache() 25594 https://bugs.webkit.org/show_bug.cgi?id=52433 25595 25596 No new tests because the behavior remains the same. 25597 25598 * WebCore.exp.in: 25599 * WebCore.order: 25600 * history/PageCache.cpp: 25601 (WebCore::PageCache::releaseAutoreleasedPagesNow): 25602 * inspector/InspectorResourceAgent.cpp: 25603 (WebCore::InspectorResourceAgent::cachedResource): 25604 * loader/FrameLoader.cpp: 25605 (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): 25606 * loader/archive/cf/LegacyWebArchive.cpp: 25607 (WebCore::LegacyWebArchive::create): 25608 * loader/cache/CachedImage.cpp: 25609 (WebCore::CachedImage::allClientsRemoved): 25610 (WebCore::CachedImage::data): 25611 * loader/cache/CachedResource.cpp: 25612 (WebCore::CachedResource::~CachedResource): 25613 (WebCore::CachedResource::addClientToSet): 25614 (WebCore::CachedResource::removeClient): 25615 (WebCore::CachedResource::setDecodedSize): 25616 (WebCore::CachedResource::setEncodedSize): 25617 (WebCore::CachedResource::didAccessDecodedData): 25618 * loader/cache/CachedResourceLoader.cpp: 25619 (WebCore::CachedResourceLoader::CachedResourceLoader): 25620 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 25621 (WebCore::CachedResourceLoader::requestResource): 25622 (WebCore::CachedResourceLoader::revalidateResource): 25623 (WebCore::CachedResourceLoader::loadResource): 25624 (WebCore::CachedResourceLoader::clearPreloads): 25625 (WebCore::CachedResourceLoader::printPreloadStats): 25626 * loader/cache/CachedResourceRequest.cpp: 25627 (WebCore::CachedResourceRequest::load): 25628 (WebCore::CachedResourceRequest::didFail): 25629 (WebCore::CachedResourceRequest::didReceiveResponse): 25630 * loader/cache/MemoryCache.cpp: 25631 (WebCore::memoryCache): 25632 * loader/cache/MemoryCache.h: 25633 25634 2011-01-14 Dan Bernstein <mitz (a] apple.com> 25635 25636 Reviewed by Simon Fraser. 25637 25638 WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree] 25639 25640 * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and 25641 RenderWidget::resumeWidgetHierarchyUpdates(). 25642 * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added. 25643 * rendering/RenderWidget.cpp: 25644 (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates 25645 are disabled. When this assertion was added, this condition was a subset of the calling out to 25646 plug-in code is forbidden condition, hence the assertion was valid. The WebKit part of this 25647 change now suspends widget hierarchy updates even at times where plug-in code is expected to be 25648 called, which invalidates the assertion. 25649 25650 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25651 25652 Unreviewed build fix. 25653 25654 Fix Qt build after r75837 25655 https://bugs.webkit.org/show_bug.cgi?id=52494 25656 25657 * rendering/style/StyleRareInheritedData.cpp: 25658 * rendering/style/StyleRareNonInheritedData.cpp: 25659 25660 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25661 25662 Unreviewed build fix. 25663 25664 Fix Qt build after r75837 25665 https://bugs.webkit.org/show_bug.cgi?id=52494 25666 25667 * rendering/style/RenderStyle.cpp: 25668 25669 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25670 25671 Unreviewed build fix. 25672 25673 Fix Qt build after r75837 25674 https://bugs.webkit.org/show_bug.cgi?id=52494 25675 25676 * editing/EditorCommand.cpp: 25677 25678 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25679 25680 Unreviewed build fix. 25681 25682 Fix Qt build after r75837 25683 https://bugs.webkit.org/show_bug.cgi?id=52494 25684 25685 * editing/ApplyStyleCommand.cpp: 25686 25687 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25688 25689 Unreviewed build fix. 25690 25691 Fix Qt build after r75837 25692 https://bugs.webkit.org/show_bug.cgi?id=52494 25693 25694 * css/CSSStyleSelector.cpp: 25695 25696 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25697 25698 Unreviewed build fix. 25699 25700 Fix Qt build after r75837 25701 https://bugs.webkit.org/show_bug.cgi?id=52494 25702 25703 * rendering/InlineFlowBox.h: 25704 * rendering/RenderBoxModelObject.h: 25705 25706 2011-01-14 Tony Gentilcore <tonyg (a] chromium.org> 25707 25708 Reviewed by David Levin. 25709 25710 Do some forward declaration in RenderStyle.h 25711 https://bugs.webkit.org/show_bug.cgi?id=52453 25712 25713 No new tests because no new functionality. 25714 25715 * css/CSSComputedStyleDeclaration.cpp: 25716 * css/CSSStyleSelector.cpp: 25717 * editing/Editor.cpp: 25718 * page/EventHandler.cpp: 25719 * rendering/EllipsisBox.cpp: 25720 * rendering/InlineBox.cpp: 25721 * rendering/InlineTextBox.cpp: 25722 * rendering/RenderBlock.cpp: 25723 * rendering/RenderBlock.h: 25724 * rendering/RenderBox.cpp: 25725 * rendering/RenderBox.h: 25726 * rendering/RenderEmbeddedObject.cpp: 25727 * rendering/RenderFieldset.cpp: 25728 * rendering/RenderFileUploadControl.cpp: 25729 * rendering/RenderFrameSet.cpp: 25730 * rendering/RenderHTMLCanvas.cpp: 25731 * rendering/RenderImageResource.cpp: 25732 * rendering/RenderInputSpeech.cpp: 25733 * rendering/RenderLayer.h: 25734 * rendering/RenderLineBoxList.cpp: 25735 * rendering/RenderListBox.cpp: 25736 * rendering/RenderMediaControlsChromium.cpp: 25737 * rendering/RenderObject.cpp: 25738 * rendering/RenderObject.h: 25739 * rendering/RenderObjectChildList.cpp: 25740 * rendering/RenderProgress.cpp: 25741 * rendering/RenderScrollbarPart.cpp: 25742 * rendering/RenderTable.cpp: 25743 * rendering/RenderTable.h: 25744 * rendering/RenderTableCell.cpp: 25745 * rendering/RenderTableRow.cpp: 25746 * rendering/RenderTableSection.cpp: 25747 * rendering/RenderTheme.cpp: 25748 * rendering/RenderThemeChromiumSkia.cpp: 25749 * rendering/RenderThemeChromiumWin.cpp: 25750 * rendering/RootInlineBox.cpp: 25751 * rendering/style/RenderStyle.cpp: 25752 * rendering/style/RenderStyle.h: 25753 * rendering/style/StyleRareInheritedData.cpp: 25754 25755 2011-01-14 Ryosuke Niwa <rniwa (a] webkit.org> 25756 25757 Reviewed by Eric Seidel. 25758 25759 Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp, 25760 BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp 25761 https://bugs.webkit.org/show_bug.cgi?id=52481 25762 25763 Removed instantiation of legacy editing positions. 25764 Calls to Position::Position are replaced by calls to Position's convenience functions. 25765 25766 Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that 25767 they instantiate right positions for text nodes. 25768 25769 * accessibility/AccessibilityRenderObject.cpp: 25770 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 25771 * dom/Element.cpp: 25772 (WebCore::Element::updateFocusAppearance): 25773 * editing/BreakBlockquoteCommand.cpp: 25774 (WebCore::BreakBlockquoteCommand::doApply): 25775 * editing/CompositeEditCommand.cpp: 25776 (WebCore::CompositeEditCommand::inputText): 25777 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 25778 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 25779 (WebCore::CompositeEditCommand::moveParagraphs): 25780 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 25781 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 25782 (WebCore::CompositeEditCommand::splitTreeToNode): 25783 * editing/DeleteButtonController.cpp: 25784 (WebCore::enclosingDeletableElement): 25785 * editing/htmlediting.h: 25786 (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of 25787 positionBeforeNode for a text node. 25788 (WebCore::lastPositionInOrAfterNode): Ditto. 25789 25790 2011-01-14 Helder Correia <helder (a] sencha.com> 25791 25792 Reviewed by Simon Fraser. 25793 25794 Shadow is not drawn when filling a path with a gradient 25795 https://bugs.webkit.org/show_bug.cgi?id=51982 25796 25797 This happens in CG and is related to bug 51869, this time to be fixed 25798 in GraphicsContext::fillPath(const Path& path). We need to draw the 25799 gradient clipped to the path on a CGLayer first, and then draw the 25800 layer on the GraphicsContext. 25801 25802 Test: fast/canvas/canvas-fillPath-gradient-shadow.html 25803 25804 * platform/graphics/cg/GraphicsContextCG.cpp: 25805 (WebCore::GraphicsContext::fillPath): 25806 25807 2011-01-14 Simon Fraser <simon.fraser (a] apple.com> 25808 25809 Reviewed by Adam Roben. 25810 25811 Layer syncing should go through the compositor 25812 https://bugs.webkit.org/show_bug.cgi?id=52486 25813 25814 Rather than have FrameView go directly to GraphicsLayer to 25815 sync pending changes, route the call through RenderLayerCompositor. 25816 25817 Add a FIXME about an existing issue with flushing and subframes. 25818 25819 No behavior change, so no tests. 25820 25821 * page/FrameView.cpp: 25822 (WebCore::FrameView::syncCompositingStateForThisFrame): 25823 * rendering/RenderLayerBacking.cpp: 25824 (WebCore::RenderLayerBacking::notifySyncRequired): 25825 * rendering/RenderLayerCompositor.cpp: 25826 (WebCore::RenderLayerCompositor::scheduleLayerFlush): 25827 (WebCore::RenderLayerCompositor::flushPendingLayerChanges): 25828 * rendering/RenderLayerCompositor.h: 25829 (WebCore::RenderLayerCompositor::notifySyncRequired): 25830 25831 2011-01-14 Abhishek Arya <inferno (a] chromium.org> 25832 25833 Reviewed by David Hyatt. 25834 25835 Fix parent block calculation when trying to find top most node 25836 containing "this" float. 25837 https://bugs.webkit.org/show_bug.cgi?id=51711 25838 25839 Replace use of containingBlock and traverse the parents directly 25840 to check for float existence. containingBlock can skip parents and 25841 jump to the RenderView directly which will cause floats to not get 25842 cleared from intermediate parents. 25843 25844 Test: fast/block/float/floats-not-cleared-crash.html 25845 25846 * rendering/RenderBox.cpp: 25847 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): 25848 25849 2011-01-14 Adam Klein <adamk (a] chromium.org> 25850 25851 Reviewed by Darin Fisher. 25852 25853 [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList 25854 https://bugs.webkit.org/show_bug.cgi?id=42237 25855 25856 Remove Chromium-specific implementation from WebCore. 25857 25858 No tests added; this refactor should be covered by existing history-exercising tests. 25859 25860 * WebCore.gyp/WebCore.gyp: 25861 * WebCore.gypi: 25862 * history/BackForwardListChromium.cpp: Removed. 25863 * history/BackForwardListImpl.h: 25864 25865 2011-01-12 Satish Sampath <satish (a] chromium.org> 25866 25867 Reviewed by Dimitri Glazkov. 25868 25869 Fix a crash when accessing speech input from script. 25870 https://bugs.webkit.org/show_bug.cgi?id=52325 25871 25872 Test: fast/speech/speech-input-scripting.html 25873 25874 * html/HTMLInputElement.cpp: 25875 (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled. 25876 * rendering/RenderTextControlSingleLine.cpp: Remove unused code. 25877 * rendering/RenderTextControlSingleLine.h: 25878 * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after. 25879 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 25880 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): 25881 (WebCore::InputFieldSpeechButtonElement::detach): 25882 25883 2011-01-14 Abhishek Arya <inferno (a] chromium.org> 25884 25885 Reviewed by David Hyatt. 25886 25887 Prevent merging of anonymous blocks if one of them is already getting 25888 destroyed. 25889 https://bugs.webkit.org/show_bug.cgi?id=52402 25890 25891 Test: fast/block/merge-anonymous-block-remove-child-crash2.html 25892 25893 * rendering/RenderBlock.cpp: 25894 (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false. 25895 (WebCore::RenderBlock::destroy): set m_beingDestroyed to true. 25896 (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed. 25897 (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling. 25898 * rendering/RenderBlock.h: 25899 (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed. 25900 25901 2011-01-14 Pavel Feldman <pfeldman (a] chromium.org> 25902 25903 Not reviewed. Follow up to r75791: fix missing dispatch. 25904 https://bugs.webkit.org/show_bug.cgi?id=52442 25905 25906 * inspector/front-end/DebuggerModel.js: 25907 (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): 25908 25909 2011-01-14 Simon Fraser <simon.fraser (a] apple.com> 25910 25911 Reviewed by Adam Roben. 25912 25913 Issues with contentsScale in GraphicsLayerCA 25914 https://bugs.webkit.org/show_bug.cgi?id=52463 25915 25916 Fix various issues with the recent contentsScale changes: 25917 25918 * platform/graphics/ca/GraphicsLayerCA.cpp: 25919 (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1. 25920 (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay() 25921 if the layer draws content, otherwise we'll create backing store for empty layers. 25922 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale 25923 on the new (tiled or untiled) layer. 25924 (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too. 25925 25926 2011-01-14 Simon Fraser <simon.fraser (a] apple.com> 25927 25928 Let Xcode have it's way with the project file. 25929 25930 * WebCore.xcodeproj/project.pbxproj: 25931 25932 2011-01-14 Simon Fraser <simon.fraser (a] apple.com> 25933 25934 Reviewed by Anders Carlsson. 25935 25936 Refactor some FrameView::syncCompositingState code 25937 https://bugs.webkit.org/show_bug.cgi?id=52459 25938 25939 Refactor some code in FrameView related to synchronizing 25940 compositing layer state. 25941 25942 * page/FrameView.cpp: 25943 (WebCore::FrameView::syncCompositingStateForThisFrame): 25944 (WebCore::FrameView::syncCompositingStateRecursive): 25945 (WebCore::FrameView::paintContents): 25946 * page/FrameView.h: 25947 25948 2011-01-14 Viatcheslav Ostapenko <ostapenko.viatcheslav (a] nokia.com> 25949 25950 Reviewed by Eric Seidel. 25951 25952 [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713 25953 https://bugs.webkit.org/show_bug.cgi?id=30179 25954 25955 * plugins/symbian/PluginViewSymbian.cpp: 25956 25957 2011-01-14 Carlos Garcia Campos <cgarcia (a] igalia.com> 25958 25959 Reviewed by Martin Robinson. 25960 25961 [GTK] Add volume slider to media player 25962 https://bugs.webkit.org/show_bug.cgi?id=51532 25963 25964 * css/mediaControlsGtk.css: 25965 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 25966 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): 25967 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): 25968 * platform/gtk/RenderThemeGtk.cpp: 25969 (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): 25970 (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer): 25971 (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): 25972 (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): 25973 * platform/gtk/RenderThemeGtk.h: 25974 * platform/gtk/RenderThemeGtk2.cpp: 25975 (WebCore::RenderThemeGtk::paintSliderTrack): 25976 (WebCore::RenderThemeGtk::paintSliderThumb): 25977 (WebCore::RenderThemeGtk::adjustSliderThumbSize): 25978 * platform/gtk/RenderThemeGtk3.cpp: 25979 (WebCore::RenderThemeGtk::paintSliderTrack): 25980 (WebCore::RenderThemeGtk::paintSliderThumb): 25981 (WebCore::RenderThemeGtk::adjustSliderThumbSize): 25982 25983 2011-01-14 Joone Hur <joone.hur (a] collabora.co.uk> 25984 25985 Reviewed by David Levin. 25986 25987 [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp 25988 https://bugs.webkit.org/show_bug.cgi?id=52434 25989 25990 No new tests. This code will be tested when an implementation 25991 of beginDragWithFiles is complete. 25992 25993 * platform/gtk/FileSystemGtk.cpp: 25994 (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer. 25995 (WebCore::fileSystemRepresentation): Ditto. 25996 (WebCore::filenameForDisplay): Ditto. 25997 (WebCore::pathGetFileName): Ditto. 25998 25999 2011-01-14 Pavel Podivilov <podivilov (a] chromium.org> 26000 26001 Reviewed by Yury Semikhatsky. 26002 26003 Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload. 26004 https://bugs.webkit.org/show_bug.cgi?id=52215 26005 26006 * inspector/front-end/Breakpoint.js: 26007 (WebInspector.Breakpoint): 26008 (WebInspector.Breakpoint.prototype.populateLabelElement): 26009 * inspector/front-end/Script.js: 26010 (WebInspector.Script.prototype.get linesCount): 26011 (WebInspector.Script.prototype.sourceLine): 26012 (WebInspector.Script.prototype.sourceLine.didRequestSource): 26013 (WebInspector.Script.prototype.set source): 26014 (WebInspector.Script.prototype.requestSource.didGetScriptSource): 26015 (WebInspector.Script.prototype.requestSource): 26016 * inspector/front-end/ScriptView.js: 26017 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource): 26018 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): 26019 * inspector/front-end/SourceFrame.js: 26020 (WebInspector.SourceFrame.prototype._addBreakpoint): 26021 * inspector/front-end/utilities.js: 26022 (String.prototype.findAll): 26023 26024 2011-01-14 Pavel Podivilov <podivilov (a] chromium.org> 26025 26026 Reviewed by Yury Semikhatsky. 26027 26028 Web Inspector: provide script column offset to frontend. 26029 https://bugs.webkit.org/show_bug.cgi?id=52377 26030 26031 * bindings/js/ScriptDebugServer.cpp: 26032 (WebCore::ScriptDebugServer::dispatchDidParseSource): 26033 * bindings/js/ScriptSourceCode.h: 26034 (WebCore::ScriptSourceCode::ScriptSourceCode): 26035 * bindings/v8/DebuggerScript.js: 26036 (): 26037 * bindings/v8/ScriptDebugServer.cpp: 26038 (WebCore::ScriptDebugServer::dispatchDidParseSource): 26039 * inspector/Inspector.idl: 26040 * inspector/InspectorDebuggerAgent.cpp: 26041 (WebCore::InspectorDebuggerAgent::didParseSource): 26042 * inspector/InspectorDebuggerAgent.h: 26043 * inspector/ScriptDebugListener.h: 26044 * inspector/front-end/DebuggerModel.js: 26045 (WebInspector.DebuggerModel.prototype.parsedScriptSource): 26046 * inspector/front-end/Script.js: 26047 (WebInspector.Script): 26048 26049 2011-01-14 Ilya Tikhonovsky <loislo (a] chromium.org> 26050 26051 Unreviewed one line fix for console-xhr-logging test. 26052 26053 The problem was introduced at r75788. 26054 26055 * inspector/InspectorBrowserDebuggerAgent.cpp: 26056 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 26057 26058 2011-01-13 Yury Semikhatsky <yurys (a] chromium.org> 26059 26060 Reviewed by Pavel Feldman. 26061 26062 Web Inspector: extract console related functionality into InspectorConsoleAgent 26063 https://bugs.webkit.org/show_bug.cgi?id=52282 26064 26065 * CMakeLists.txt: 26066 * GNUmakefile.am: 26067 * WebCore.gypi: 26068 * WebCore.pro: 26069 * inspector/CodeGeneratorInspector.pm: 26070 * inspector/ConsoleMessage.cpp: 26071 (WebCore::ConsoleMessage::~ConsoleMessage): 26072 * inspector/ConsoleMessage.h: 26073 * inspector/Inspector.idl: 26074 * inspector/InspectorConsoleAgent.cpp: Added. 26075 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 26076 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 26077 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 26078 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 26079 (WebCore::InspectorConsoleAgent::reset): 26080 (WebCore::InspectorConsoleAgent::setFrontend): 26081 (WebCore::InspectorConsoleAgent::addMessageToConsole): 26082 (WebCore::InspectorConsoleAgent::startTiming): 26083 (WebCore::InspectorConsoleAgent::stopTiming): 26084 (WebCore::InspectorConsoleAgent::count): 26085 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): 26086 (WebCore::InspectorConsoleAgent::didReceiveResponse): 26087 (WebCore::InspectorConsoleAgent::didFailLoading): 26088 (WebCore::InspectorConsoleAgent::addConsoleMessage): 26089 * inspector/InspectorConsoleAgent.h: Added. 26090 * inspector/InspectorController.cpp: 26091 (WebCore::InspectorController::InspectorController): 26092 (WebCore::InspectorController::clearConsoleMessages): 26093 (WebCore::InspectorController::connectFrontend): 26094 (WebCore::InspectorController::disconnectFrontend): 26095 (WebCore::InspectorController::didCommitLoad): 26096 * inspector/InspectorController.h: 26097 (WebCore::InspectorController::consoleAgent): 26098 * inspector/InspectorInstrumentation.cpp: 26099 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 26100 (WebCore::InspectorInstrumentation::didFailLoadingImpl): 26101 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): 26102 (WebCore::InspectorInstrumentation::addMessageToConsole): 26103 (WebCore::InspectorInstrumentation::count): 26104 (WebCore::InspectorInstrumentation::startTiming): 26105 (WebCore::InspectorInstrumentation::stopTiming): 26106 (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): 26107 * inspector/InspectorInstrumentation.h: 26108 * inspector/InspectorProfilerAgent.cpp: 26109 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): 26110 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): 26111 * inspector/front-end/ConsoleView.js: 26112 (WebInspector.ConsoleView): 26113 (WebInspector.ConsoleView.prototype.addConsoleMessage): 26114 (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount): 26115 (WebInspector.ConsoleView.prototype.consoleMessagesCleared): 26116 * inspector/front-end/inspector.js: 26117 * page/Console.cpp: 26118 (WebCore::Console::addMessage): 26119 (WebCore::Console::count): 26120 (WebCore::Console::profile): 26121 (WebCore::Console::time): 26122 (WebCore::Console::timeEnd): 26123 (WebCore::Console::group): 26124 (WebCore::Console::groupCollapsed): 26125 (WebCore::Console::groupEnd): 26126 * page/Console.h: 26127 * page/Console.idl: 26128 26129 2011-01-14 Pavel Feldman <pfeldman (a] chromium.org> 26130 26131 Reviewed by Yury Semikhatsky. 26132 26133 Web Inspector: do not use this as protocol message 26134 dispatcher in models / agents. 26135 https://bugs.webkit.org/show_bug.cgi?id=52442 26136 26137 Models should never for InspectorBackend.registerDomainDispatcher("foo", this). 26138 There should be a clear way to tell whether method is being called 26139 from within front-end or by the backend. 26140 26141 * inspector/front-end/DOMAgent.js: 26142 (WebInspector.DOMAgent): 26143 (WebInspector.DOMAgent.prototype.nodeForId): 26144 (WebInspector.DOMAgent.prototype._bindNodes): 26145 (WebInspector.DOMAgent.prototype._removeBreakpoints): 26146 (WebInspector.DOMDispatcher): 26147 (WebInspector.DOMDispatcher.prototype.setDocument): 26148 (WebInspector.DOMDispatcher.prototype.attributesUpdated): 26149 (WebInspector.DOMDispatcher.prototype.characterDataModified): 26150 (WebInspector.DOMDispatcher.prototype.setChildNodes): 26151 (WebInspector.DOMDispatcher.prototype.setDetachedRoot): 26152 (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated): 26153 (WebInspector.DOMDispatcher.prototype.childNodeInserted): 26154 (WebInspector.DOMDispatcher.prototype.childNodeRemoved): 26155 (WebInspector.DOMDispatcher.prototype.didCommitLoad): 26156 (WebInspector.ApplicationCacheDispatcher): 26157 (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync): 26158 (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus): 26159 (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState): 26160 * inspector/front-end/DOMStorage.js: 26161 (WebInspector.DOMStorageDispatcher): 26162 (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage): 26163 (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage): 26164 (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage): 26165 * inspector/front-end/Database.js: 26166 (WebInspector.Database.prototype.executeSql): 26167 (WebInspector.DatabaseDispatcher): 26168 (WebInspector.DatabaseDispatcher.prototype.addDatabase): 26169 (WebInspector.DatabaseDispatcher.prototype.selectDatabase): 26170 (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded): 26171 (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed): 26172 * inspector/front-end/DebuggerModel.js: 26173 (WebInspector.DebuggerModel): 26174 (WebInspector.DebuggerModel.prototype._pausedScript): 26175 (WebInspector.DebuggerModel.prototype._resumedScript): 26176 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 26177 (WebInspector.DebuggerModel.prototype._failedToParseScriptSource): 26178 (WebInspector.DebuggerDispatcher): 26179 (WebInspector.DebuggerDispatcher.prototype.pausedScript): 26180 (WebInspector.DebuggerDispatcher.prototype.resumedScript): 26181 (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource): 26182 (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource): 26183 * inspector/front-end/FileSystemView.js: 26184 (WebInspector.FileSystemDispatcher): 26185 (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync): 26186 (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath): 26187 (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError): 26188 (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled): 26189 * inspector/front-end/ProfilesPanel.js: 26190 (WebInspector.ProfilesPanel): 26191 (WebInspector.ProfilesPanel.prototype._addProfileHeader): 26192 (WebInspector.ProfilesPanel.prototype._removeProfileHeader): 26193 (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): 26194 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 26195 (WebInspector.ProfilesPanel.prototype._setRecordingProfile): 26196 (WebInspector.ProfilerDispatcher): 26197 (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled): 26198 (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled): 26199 (WebInspector.ProfilerDispatcher.prototype.resetProfiles): 26200 (WebInspector.ProfilerDispatcher.prototype.addProfileHeader): 26201 (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk): 26202 (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot): 26203 (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile): 26204 (WebInspector.ProfileSidebarTreeElement.prototype.ondelete): 26205 * inspector/front-end/ResourceTreeModel.js: 26206 (WebInspector.ResourceTreeModel): 26207 * inspector/front-end/TimelinePanel.js: 26208 (WebInspector.TimelinePanel): 26209 (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted): 26210 (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped): 26211 (WebInspector.TimelinePanel.prototype._addRecordToTimeline): 26212 (WebInspector.TimelineDispatcher): 26213 (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted): 26214 (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped): 26215 (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline): 26216 26217 2011-01-14 Csaba Osztrogonc <ossy (a] webkit.org> 26218 26219 [Qt][V8] Unreviewed buildfix after r75788. 26220 26221 * inspector/InspectorBrowserDebuggerAgent.cpp: 26222 26223 2011-01-12 Ilya Tikhonovsky <loislo (a] chromium.org> 26224 26225 Reviewed by Yury Semikhatsky. 26226 26227 Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. 26228 We have some methods of Debugger which are related to DOM. 26229 Lets extract these methods to BrowserDebugger agent. 26230 26231 http://bugs.webkit.org/show_bug.cgi?id=52294 26232 26233 * CMakeLists.txt: 26234 * WebCore.gypi: 26235 * WebCore.pro: 26236 * WebCore.vcproj/WebCore.vcproj: 26237 * WebCore.xcodeproj/project.pbxproj: 26238 * inspector/CodeGeneratorInspector.pm: 26239 * inspector/Inspector.idl: 26240 * inspector/InspectorBrowserDebuggerAgent.cpp: Added. 26241 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 26242 (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): 26243 (WebCore::InspectorBrowserDebuggerAgent::discardBindings): 26244 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 26245 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 26246 (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): 26247 (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): 26248 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 26249 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 26250 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 26251 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 26252 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 26253 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 26254 (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): 26255 (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): 26256 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 26257 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 26258 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 26259 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 26260 (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): 26261 * inspector/InspectorBrowserDebuggerAgent.h: Added. 26262 (WebCore::InspectorBrowserDebuggerAgent::create): 26263 * inspector/InspectorController.cpp: 26264 (WebCore::InspectorController::InspectorController): 26265 (WebCore::InspectorController::inspectedPageDestroyed): 26266 (WebCore::InspectorController::didCommitLoad): 26267 (WebCore::InspectorController::enableDebuggerFromFrontend): 26268 (WebCore::InspectorController::disableDebugger): 26269 (WebCore::InspectorController::restoreStickyBreakpoints): 26270 (WebCore::InspectorController::restoreStickyBreakpoint): 26271 * inspector/InspectorController.h: 26272 * inspector/InspectorDOMAgent.cpp: 26273 (WebCore::InspectorDOMAgent::discardBindings): 26274 (WebCore::InspectorDOMAgent::didInsertDOMNode): 26275 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 26276 * inspector/InspectorDOMAgent.h: 26277 * inspector/InspectorInstrumentation.cpp: 26278 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 26279 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 26280 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 26281 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 26282 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 26283 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 26284 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 26285 26286 2011-01-14 Andrey Kosyakov <caseq (a] chromium.org> 26287 26288 Reviewed by Pavel Feldman. 26289 26290 Web Inspector: redirected resources not handled properly in Network panel 26291 https://bugs.webkit.org/show_bug.cgi?id=52292 26292 26293 * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load) 26294 * inspector/InspectorInstrumentation.cpp: Ditto. 26295 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 26296 * inspector/InspectorResourceAgent.cpp: Ditto. 26297 (WebCore::InspectorResourceAgent::identifierForInitialRequest): 26298 * inspector/InspectorResourceAgent.h: Ditto. 26299 * inspector/InspectorInstrumentation.cpp: Ditto. 26300 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection. 26301 * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map. 26302 * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource 26303 (WebInspector.ConsoleMessage.prototype._formatMessage): 26304 * inspector/front-end/ExtensionServer.js: Ditto. 26305 (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): 26306 (WebInspector.ExtensionServer.prototype._onGetResourceContent): 26307 * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map 26308 (WebInspector.HARLog.prototype.build): 26309 (WebInspector.HARLog.prototype._convertResource): 26310 * inspector/front-end/NetworkManager.js: 26311 (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource. 26312 (WebInspector.NetworkManager.prototype.identifierForInitialRequest): 26313 (WebInspector.NetworkManager.prototype.willSendRequest): 26314 (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): 26315 (WebInspector.NetworkManager.prototype.setInitialContent): 26316 (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): 26317 (WebInspector.NetworkManager.prototype.didCreateWebSocket): 26318 (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel 26319 (WebInspector.NetworkManager.prototype._appendRedirect): 26320 * inspector/front-end/NetworkPanel.js: 26321 (WebInspector.NetworkPanel): 26322 (WebInspector.NetworkPanel.prototype.get resources): 26323 (WebInspector.NetworkPanel.prototype.resourceById): 26324 (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added. 26325 (WebInspector.NetworkPanel.prototype.refreshResource): ditto. 26326 (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource. 26327 * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation. 26328 (WebInspector.ResourceTreeModel.prototype._clearResources): 26329 (WebInspector.ResourceTreeModel.prototype.unbindResourceURL): 26330 (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): 26331 (WebInspector.ResourceTreeModel.prototype.createResource): 26332 * inspector/front-end/inspector.js: 26333 (WebInspector.resourceById): 26334 26335 2011-01-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 26336 26337 Unreviewed, rolling out r75783. 26338 http://trac.webkit.org/changeset/75783 26339 https://bugs.webkit.org/show_bug.cgi?id=52439 26340 26341 a bit strange but the same patch have broken mac builds at 26342 linking stage. (Requested by loislo2 on #webkit). 26343 26344 * CMakeLists.txt: 26345 * GNUmakefile.am: 26346 * WebCore.gypi: 26347 * WebCore.pro: 26348 * WebCore.vcproj/WebCore.vcproj: 26349 * WebCore.xcodeproj/project.pbxproj: 26350 * inspector/CodeGeneratorInspector.pm: 26351 * inspector/Inspector.idl: 26352 * inspector/InspectorBrowserDebuggerAgent.cpp: Removed. 26353 * inspector/InspectorBrowserDebuggerAgent.h: Removed. 26354 * inspector/InspectorController.cpp: 26355 (WebCore::InspectorController::InspectorController): 26356 (WebCore::InspectorController::inspectedPageDestroyed): 26357 (WebCore::InspectorController::didCommitLoad): 26358 (WebCore::InspectorController::enableDebuggerFromFrontend): 26359 (WebCore::InspectorController::disableDebugger): 26360 (WebCore::InspectorController::restoreStickyBreakpoints): 26361 (WebCore::InspectorController::restoreStickyBreakpoint): 26362 (WebCore::InspectorController::setEventListenerBreakpoint): 26363 (WebCore::InspectorController::removeEventListenerBreakpoint): 26364 (WebCore::InspectorController::hasEventListenerBreakpoint): 26365 (WebCore::InspectorController::setXHRBreakpoint): 26366 (WebCore::InspectorController::removeXHRBreakpoint): 26367 (WebCore::InspectorController::hasXHRBreakpoint): 26368 * inspector/InspectorController.h: 26369 * inspector/InspectorDOMAgent.cpp: 26370 (WebCore::InspectorDOMAgent::discardBindings): 26371 (WebCore::InspectorDOMAgent::setDOMBreakpoint): 26372 (WebCore::InspectorDOMAgent::removeDOMBreakpoint): 26373 (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): 26374 (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): 26375 (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): 26376 (WebCore::InspectorDOMAgent::descriptionForDOMEvent): 26377 (WebCore::InspectorDOMAgent::didInsertDOMNode): 26378 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 26379 (WebCore::InspectorDOMAgent::hasBreakpoint): 26380 (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints): 26381 * inspector/InspectorDOMAgent.h: 26382 * inspector/InspectorInstrumentation.cpp: 26383 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 26384 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 26385 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 26386 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 26387 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 26388 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 26389 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 26390 26391 2011-01-12 Ilya Tikhonovsky <loislo (a] chromium.org> 26392 26393 Reviewed by Yury Semikhatsky. 26394 26395 Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. 26396 We have some methods of Debugger which are related to DOM. 26397 Lets extract these methods to BrowserDebugger agent. 26398 26399 http://bugs.webkit.org/show_bug.cgi?id=52294 26400 26401 * CMakeLists.txt: 26402 * WebCore.gypi: 26403 * WebCore.pro: 26404 * WebCore.vcproj/WebCore.vcproj: 26405 * WebCore.xcodeproj/project.pbxproj: 26406 * inspector/CodeGeneratorInspector.pm: 26407 * inspector/Inspector.idl: 26408 * inspector/InspectorBrowserDebuggerAgent.cpp: Added. 26409 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 26410 (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): 26411 (WebCore::InspectorBrowserDebuggerAgent::discardBindings): 26412 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 26413 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 26414 (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): 26415 (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): 26416 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 26417 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 26418 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 26419 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 26420 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 26421 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 26422 (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): 26423 (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): 26424 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 26425 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 26426 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 26427 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 26428 (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): 26429 * inspector/InspectorBrowserDebuggerAgent.h: Added. 26430 (WebCore::InspectorBrowserDebuggerAgent::create): 26431 * inspector/InspectorController.cpp: 26432 (WebCore::InspectorController::InspectorController): 26433 (WebCore::InspectorController::inspectedPageDestroyed): 26434 (WebCore::InspectorController::didCommitLoad): 26435 (WebCore::InspectorController::enableDebuggerFromFrontend): 26436 (WebCore::InspectorController::disableDebugger): 26437 (WebCore::InspectorController::restoreStickyBreakpoints): 26438 (WebCore::InspectorController::restoreStickyBreakpoint): 26439 * inspector/InspectorController.h: 26440 * inspector/InspectorDOMAgent.cpp: 26441 (WebCore::InspectorDOMAgent::discardBindings): 26442 (WebCore::InspectorDOMAgent::didInsertDOMNode): 26443 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 26444 * inspector/InspectorDOMAgent.h: 26445 * inspector/InspectorInstrumentation.cpp: 26446 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 26447 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 26448 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 26449 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 26450 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 26451 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 26452 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 26453 26454 2011-01-14 Pavel Feldman <pfeldman (a] chromium.org> 26455 26456 Not reviewed: build fix. 26457 26458 * WebCore.vcproj/WebCore.vcproj: 26459 26460 2011-01-14 Pavel Feldman <pfeldman (a] chromium.org> 26461 26462 Reviewed by Yury Semikhatsky. 26463 26464 Web Inspector: extract InspectorSettings from InspectorState, 26465 simplify it. 26466 https://bugs.webkit.org/show_bug.cgi?id=52429 26467 26468 * CMakeLists.txt: 26469 * GNUmakefile.am: 26470 * WebCore.gypi: 26471 * WebCore.pro: 26472 * WebCore.xcodeproj/project.pbxproj: 26473 * inspector/InspectorClient.h: 26474 * inspector/InspectorController.cpp: 26475 (WebCore::InspectorController::InspectorController): 26476 (WebCore::InspectorController::inspectorStartsAttached): 26477 (WebCore::InspectorController::setInspectorStartsAttached): 26478 (WebCore::InspectorController::setInspectorAttachedHeight): 26479 (WebCore::InspectorController::inspectorAttachedHeight): 26480 (WebCore::InspectorController::setMonitoringXHREnabled): 26481 (WebCore::InspectorController::restoreDebugger): 26482 (WebCore::InspectorController::restoreProfiler): 26483 (WebCore::InspectorController::ensureSettingsLoaded): 26484 (WebCore::InspectorController::enableProfiler): 26485 (WebCore::InspectorController::disableProfiler): 26486 (WebCore::InspectorController::enableDebuggerFromFrontend): 26487 (WebCore::InspectorController::disableDebugger): 26488 * inspector/InspectorController.h: 26489 * inspector/InspectorSettings.cpp: Added. 26490 (WebCore::InspectorSettings::InspectorSettings): 26491 (WebCore::InspectorSettings::getBoolean): 26492 (WebCore::InspectorSettings::setBoolean): 26493 (WebCore::InspectorSettings::getLong): 26494 (WebCore::InspectorSettings::setLong): 26495 (WebCore::InspectorSettings::registerBoolean): 26496 (WebCore::InspectorSettings::registerLong): 26497 * inspector/InspectorSettings.h: Added. 26498 * inspector/InspectorState.cpp: 26499 (WebCore::InspectorState::InspectorState): 26500 (WebCore::InspectorState::setValue): 26501 (WebCore::InspectorState::setObject): 26502 (WebCore::InspectorState::registerBoolean): 26503 (WebCore::InspectorState::registerString): 26504 (WebCore::InspectorState::registerLong): 26505 (WebCore::InspectorState::registerObject): 26506 (WebCore::InspectorState::Property::create): 26507 * inspector/InspectorState.h: 26508 (WebCore::InspectorState::setBoolean): 26509 (WebCore::InspectorState::setString): 26510 (WebCore::InspectorState::setLong): 26511 26512 2011-01-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 26513 26514 Unreviewed, rolling out r75774. 26515 http://trac.webkit.org/changeset/75774 26516 https://bugs.webkit.org/show_bug.cgi?id=52431 26517 26518 gtk builds were broken (Requested by loislo2 on #webkit). 26519 26520 * CMakeLists.txt: 26521 * WebCore.gypi: 26522 * WebCore.pro: 26523 * WebCore.vcproj/WebCore.vcproj: 26524 * WebCore.xcodeproj/project.pbxproj: 26525 * inspector/CodeGeneratorInspector.pm: 26526 * inspector/Inspector.idl: 26527 * inspector/InspectorBrowserDebuggerAgent.cpp: Removed. 26528 * inspector/InspectorBrowserDebuggerAgent.h: Removed. 26529 * inspector/InspectorController.cpp: 26530 (WebCore::InspectorController::InspectorController): 26531 (WebCore::InspectorController::inspectedPageDestroyed): 26532 (WebCore::InspectorController::didCommitLoad): 26533 (WebCore::InspectorController::enableDebuggerFromFrontend): 26534 (WebCore::InspectorController::disableDebugger): 26535 (WebCore::InspectorController::restoreStickyBreakpoints): 26536 (WebCore::InspectorController::restoreStickyBreakpoint): 26537 (WebCore::InspectorController::setEventListenerBreakpoint): 26538 (WebCore::InspectorController::removeEventListenerBreakpoint): 26539 (WebCore::InspectorController::hasEventListenerBreakpoint): 26540 (WebCore::InspectorController::setXHRBreakpoint): 26541 (WebCore::InspectorController::removeXHRBreakpoint): 26542 (WebCore::InspectorController::hasXHRBreakpoint): 26543 * inspector/InspectorController.h: 26544 * inspector/InspectorDOMAgent.cpp: 26545 (WebCore::InspectorDOMAgent::discardBindings): 26546 (WebCore::InspectorDOMAgent::setDOMBreakpoint): 26547 (WebCore::InspectorDOMAgent::removeDOMBreakpoint): 26548 (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): 26549 (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): 26550 (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): 26551 (WebCore::InspectorDOMAgent::descriptionForDOMEvent): 26552 (WebCore::InspectorDOMAgent::didInsertDOMNode): 26553 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 26554 (WebCore::InspectorDOMAgent::hasBreakpoint): 26555 (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints): 26556 * inspector/InspectorDOMAgent.h: 26557 * inspector/InspectorInstrumentation.cpp: 26558 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 26559 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 26560 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 26561 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 26562 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 26563 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 26564 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 26565 26566 2011-01-12 Ilya Tikhonovsky <loislo (a] chromium.org> 26567 26568 Reviewed by Yury Semikhatsky. 26569 26570 Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent. 26571 We have some methods of Debugger which are related to DOM. 26572 Lets extract these methods to BrowserDebugger agent. 26573 26574 http://bugs.webkit.org/show_bug.cgi?id=52294 26575 26576 * CMakeLists.txt: 26577 * WebCore.gypi: 26578 * WebCore.pro: 26579 * WebCore.vcproj/WebCore.vcproj: 26580 * WebCore.xcodeproj/project.pbxproj: 26581 * inspector/CodeGeneratorInspector.pm: 26582 * inspector/Inspector.idl: 26583 * inspector/InspectorBrowserDebuggerAgent.cpp: Added. 26584 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 26585 (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): 26586 (WebCore::InspectorBrowserDebuggerAgent::discardBindings): 26587 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 26588 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 26589 (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode): 26590 (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode): 26591 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 26592 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 26593 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 26594 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 26595 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 26596 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 26597 (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): 26598 (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints): 26599 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 26600 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 26601 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 26602 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 26603 (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation): 26604 * inspector/InspectorBrowserDebuggerAgent.h: Added. 26605 (WebCore::InspectorBrowserDebuggerAgent::create): 26606 * inspector/InspectorController.cpp: 26607 (WebCore::InspectorController::InspectorController): 26608 (WebCore::InspectorController::inspectedPageDestroyed): 26609 (WebCore::InspectorController::didCommitLoad): 26610 (WebCore::InspectorController::enableDebuggerFromFrontend): 26611 (WebCore::InspectorController::disableDebugger): 26612 (WebCore::InspectorController::restoreStickyBreakpoints): 26613 (WebCore::InspectorController::restoreStickyBreakpoint): 26614 * inspector/InspectorController.h: 26615 * inspector/InspectorDOMAgent.cpp: 26616 (WebCore::InspectorDOMAgent::discardBindings): 26617 (WebCore::InspectorDOMAgent::didInsertDOMNode): 26618 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 26619 * inspector/InspectorDOMAgent.h: 26620 * inspector/InspectorInstrumentation.cpp: 26621 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 26622 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 26623 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 26624 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 26625 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 26626 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 26627 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 26628 26629 2011-01-13 Kent Tamura <tkent (a] chromium.org> 26630 26631 Reviewed by Dimitri Glazkov. 26632 26633 Implement form validation message UI 26634 https://bugs.webkit.org/show_bug.cgi?id=48980 26635 26636 * Add four internal pseudo selectors: 26637 - -webkit-validation-bubble 26638 - -webkit-validation-bubble-message 26639 - -webkit-validation-bubble-top-outer-arrow 26640 - -webkit-validation-bubble-top-inner-arrow 26641 26642 * Implement ValidationMessage functions 26643 Show the message for <the number of characters> / 20.0 seconds. 26644 26645 No new tests because the feature is disabled by default for now and the 26646 new behavior is strongly timing-dependent. 26647 26648 * css/CSSStyleSelector.cpp: 26649 (WebCore::CSSStyleSelector::canShareStyleWithElement): 26650 Do not share a style with elements with different shadowPseudoId(). 26651 * css/html.css: Define appearance for the internal selectors. 26652 (::-webkit-validation-bubble): 26653 (::-webkit-validation-bubble-message): 26654 (::-webkit-validation-bubble-top-outer-arrow): 26655 (::-webkit-validation-bubble-top-inner-arrow): 26656 * dom/Node.cpp: 26657 (WebCore::Node::createRendererIfNeeded): 26658 Allow to add shadow renderers even if canHaveChildren() returns false. 26659 * html/HTMLFormControlElement.cpp: 26660 (WebCore::HTMLFormControlElement::detach): 26661 Remove m_validationMessage immediately because we can't use 26662 hideVisibleValidationMessage(), which calls a ValidationMessage function later. 26663 (WebCore::HTMLFormControlElement::updateVisibleValidationMessage): 26664 - Don't create ValidationMessage if the message is empty. 26665 - Remove the check for message equality. 26666 (WebCore::HTMLFormControlElement::hideVisibleValidationMessage): 26667 Don't remove m_validationMessage immediately. We shouldn't make the 26668 element needsLayout() state in this context. 26669 * html/ValidationMessage.cpp: 26670 (WebCore::ValidationMessage::~ValidationMessage): 26671 hideMessage() -> deleteBubbleTree() renaming. 26672 (WebCore::ValidationMessage::setMessage): Implemented. 26673 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): 26674 Added. This updates the validation message and starts the timer to hide it. 26675 (WebCore::ElementWithPseudoId): 26676 Added to help implementations of styled shadow nodes. 26677 (WebCore::ValidationMessage::buildBubbleTree): Added. 26678 (WebCore::ValidationMessage::requestToHideMessage): Added. 26679 (WebCore::ValidationMessage::deleteBubbleTree): 26680 Renamed from hideMessage(), and implemented. 26681 * html/ValidationMessage.h: Add declarations. 26682 26683 2011-01-13 Dan Bernstein <mitz (a] apple.com> 26684 26685 Reviewed by Alexey Proskuryakov. 26686 26687 <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL 26688 https://bugs.webkit.org/show_bug.cgi?id=52419 26689 26690 Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html 26691 26692 * loader/ResourceLoader.cpp: 26693 (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after 26694 willSendRequest(). Otherwise, willSendRequest() ends up calling into 26695 ThreadableDocumentRequest::willSendRequest(), which cancels the request. 26696 26697 2011-01-13 Dan Bernstein <mitz (a] apple.com> 26698 26699 Reviewed by Mark Rowe. 26700 26701 Dont try to compile InjectedScriptSource.js into WebCore. 26702 26703 * WebCore.xcodeproj/project.pbxproj: 26704 26705 2011-01-13 Mike Thole <mthole (a] apple.com> 26706 26707 Reviewed by Darin Adler and Brady Eidson. 26708 26709 The pageScaleFactor() should be saved/restored along with the scroll position 26710 https://bugs.webkit.org/show_bug.cgi?id=52406 26711 <rdar://problem/8714412> 26712 26713 * history/HistoryItem.cpp: 26714 (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor. 26715 (WebCore::HistoryItem::pageScaleFactor): Added getter. 26716 (WebCore::HistoryItem::setPageScaleFactor): Added setter. 26717 (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor. 26718 (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor. 26719 * history/HistoryItem.h: 26720 * loader/HistoryController.cpp: 26721 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor... 26722 (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here. 26723 26724 2011-01-13 Evan Martin <evan (a] chromium.org> 26725 26726 Reviewed by Tony Chang. 26727 26728 [chromium] drop backwards iteration in Linux complex text code 26729 https://bugs.webkit.org/show_bug.cgi?id=52403 26730 26731 ComplexTextController previously supported iterating through the text in 26732 both directions, but this resulted in duplicate code for each path. 26733 Instead, by being more careful about flipping signs where appropriate, 26734 we can refactor the code into one code path. 26735 26736 No tests, just a refactoring; should be covered by existing tests. 26737 26738 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 26739 (WebCore::ComplexTextController::ComplexTextController): 26740 (WebCore::ComplexTextController::reset): 26741 (WebCore::ComplexTextController::nextScriptRun): 26742 * platform/graphics/chromium/ComplexTextControllerLinux.h: 26743 * platform/graphics/chromium/FontLinux.cpp: 26744 (WebCore::glyphIndexForXPositionInScriptRun): 26745 (WebCore::Font::selectionRectForComplexText): 26746 26747 2011-01-13 Dimitri Glazkov <dglazkov (a] chromium.org> 26748 26749 Reviewed by Darin Adler. 26750 26751 Flip input[type=range] to use the new shadow DOM model. 26752 https://bugs.webkit.org/show_bug.cgi?id=52317 26753 26754 This is a straight-up flip, minimal change to the logic, which will be 26755 refactored in a follow-up patch. 26756 26757 Covered by existing tests. 26758 26759 * css/CSSStyleSelector.cpp: 26760 (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either 26761 host or parent node to find parent. 26762 * html/HTMLInputElement.cpp: 26763 (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating 26764 shadow DOM subtree. 26765 * html/InputType.cpp: 26766 (WebCore::InputType::createShadowSubtree): Added empty decl. 26767 (WebCore::InputType::destroyShadowSubtree): Added a method to destroy 26768 shadow subtree. 26769 * html/InputType.h: Added defs. 26770 * html/RangeInputType.cpp: 26771 (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create 26772 slider thumb. 26773 * html/RangeInputType.h: Adde def. 26774 * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class 26775 to handle cascading appearance. 26776 (WebCore::RenderSliderThumb::RenderSliderThumb): Added. 26777 (WebCore::RenderSliderThumb::layout): Moved here the logic from 26778 RenderSlider::createThumbStyle. 26779 (WebCore::SliderThumbElement::createRenderer): Added virtual method to 26780 create RenderSliderThumb instance. 26781 (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement 26782 as base class. 26783 (WebCore::SliderThumbElement::detach): Ditto. 26784 * html/shadow/SliderThumbElement.h: 26785 (WebCore::SliderThumbElement::SliderThumbElement): Ditto. 26786 (WebCore::SliderThumbElement::create): Ditto. 26787 (WebCore::toSliderThumbElement): Added a casting helper. 26788 * rendering/MediaControlElements.cpp: 26789 (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM, 26790 since the whole method is hand-rolled. 26791 (WebCore::MediaControlInputElement::updateStyle): Ditto. 26792 * rendering/RenderSlider.cpp: 26793 (WebCore::RenderSlider::~RenderSlider): Removed unneeded code. 26794 (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper. 26795 (WebCore::RenderSlider::layout): Ditto. 26796 (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access 26797 SliderThumbElement. 26798 (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper. 26799 (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto. 26800 (WebCore::RenderSlider::setValueForPosition): Ditto. 26801 (WebCore::RenderSlider::positionForOffset): Ditto. 26802 (WebCore::RenderSlider::currentPosition): Ditto. 26803 (WebCore::RenderSlider::trackSize): Ditto. 26804 (WebCore::RenderSlider::forwardEvent): Ditto. 26805 (WebCore::RenderSlider::inDragMode): Ditto. 26806 * rendering/RenderSlider.h: Added def. 26807 26808 2011-01-13 Adam Barth <abarth (a] webkit.org> 26809 26810 Reviewed by Eric Seidel. 26811 26812 Rename RGBA32Buffer to ImageFrame 26813 https://bugs.webkit.org/show_bug.cgi?id=52363 26814 26815 RGBA32Buffer is a terrible misnomer. ImageFrame is vastly 26816 more accurate. More cleanup to come. 26817 26818 * WebCore.pro: 26819 * platform/graphics/ImageSource.cpp: 26820 (WebCore::ImageSource::createFrameAtIndex): 26821 (WebCore::ImageSource::frameDurationAtIndex): 26822 (WebCore::ImageSource::frameIsCompleteAtIndex): 26823 * platform/graphics/qt/ImageDecoderQt.cpp: 26824 (WebCore::ImageDecoderQt::frameBufferAtIndex): 26825 (WebCore::ImageDecoderQt::internalReadImage): 26826 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 26827 * platform/graphics/qt/ImageDecoderQt.h: 26828 * platform/graphics/wince/ImageWinCE.cpp: 26829 (WebCore::ImageFrame::asNewNativeImage): 26830 * platform/image-decoders/ImageDecoder.cpp: 26831 (WebCore::ImageFrame::ImageFrame): 26832 (WebCore::ImageFrame::operator=): 26833 (WebCore::ImageFrame::clear): 26834 (WebCore::ImageFrame::zeroFill): 26835 (WebCore::ImageFrame::copyReferenceToBitmapData): 26836 (WebCore::ImageFrame::copyBitmapData): 26837 (WebCore::ImageFrame::setSize): 26838 (WebCore::ImageFrame::hasAlpha): 26839 (WebCore::ImageFrame::setHasAlpha): 26840 (WebCore::ImageFrame::setColorProfile): 26841 (WebCore::ImageFrame::setStatus): 26842 (WebCore::ImageFrame::width): 26843 (WebCore::ImageFrame::height): 26844 * platform/image-decoders/ImageDecoder.h: 26845 (WebCore::ImageFrame::ImageFrame): 26846 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 26847 (WebCore::BMPImageDecoder::frameBufferAtIndex): 26848 (WebCore::BMPImageDecoder::decode): 26849 * platform/image-decoders/bmp/BMPImageDecoder.h: 26850 * platform/image-decoders/bmp/BMPImageReader.cpp: 26851 (WebCore::BMPImageReader::decodeBMP): 26852 * platform/image-decoders/bmp/BMPImageReader.h: 26853 (WebCore::BMPImageReader::setBuffer): 26854 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 26855 (WebCore::ImageFrame::asNewNativeImage): 26856 * platform/image-decoders/cg/ImageDecoderCG.cpp: 26857 (WebCore::getPtrAsPixelData): 26858 (WebCore::ImageFrame::copyReferenceToBitmapData): 26859 (WebCore::ImageFrame::copyBitmapData): 26860 (WebCore::ImageFrame::setSize): 26861 (WebCore::ImageFrame::asNewNativeImage): 26862 * platform/image-decoders/gif/GIFImageDecoder.cpp: 26863 (WebCore::GIFImageDecoder::frameBufferAtIndex): 26864 (WebCore::GIFImageDecoder::clearFrameBufferCache): 26865 (WebCore::GIFImageDecoder::haveDecodedRow): 26866 (WebCore::GIFImageDecoder::frameComplete): 26867 (WebCore::GIFImageDecoder::initFrameBuffer): 26868 * platform/image-decoders/gif/GIFImageDecoder.h: 26869 * platform/image-decoders/gif/GIFImageReader.cpp: 26870 (GIFImageReader::read): 26871 * platform/image-decoders/gif/GIFImageReader.h: 26872 (GIFFrameReader::GIFFrameReader): 26873 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: 26874 (WebCore::ImageFrame::asNewNativeImage): 26875 * platform/image-decoders/ico/ICOImageDecoder.cpp: 26876 (WebCore::ICOImageDecoder::frameBufferAtIndex): 26877 (WebCore::ICOImageDecoder::decode): 26878 * platform/image-decoders/ico/ICOImageDecoder.h: 26879 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 26880 (WebCore::JPEGImageDecoder::frameBufferAtIndex): 26881 (WebCore::JPEGImageDecoder::outputScanlines): 26882 (WebCore::JPEGImageDecoder::jpegComplete): 26883 (WebCore::JPEGImageDecoder::decode): 26884 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 26885 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: 26886 (WebCore::ImageFrame::asNewNativeImage): 26887 * platform/image-decoders/png/PNGImageDecoder.cpp: 26888 (WebCore::PNGImageDecoder::frameBufferAtIndex): 26889 (WebCore::PNGImageDecoder::rowAvailable): 26890 (WebCore::PNGImageDecoder::pngComplete): 26891 * platform/image-decoders/png/PNGImageDecoder.h: 26892 (WebCore::PNGImageDecoder::isComplete): 26893 * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp. 26894 (WebCore::ImageFrame::ImageFrame): 26895 (WebCore::ImageFrame::operator=): 26896 (WebCore::ImageFrame::clear): 26897 (WebCore::ImageFrame::zeroFill): 26898 (WebCore::ImageFrame::copyBitmapData): 26899 (WebCore::ImageFrame::setSize): 26900 (WebCore::ImageFrame::asNewNativeImage): 26901 (WebCore::ImageFrame::hasAlpha): 26902 (WebCore::ImageFrame::setHasAlpha): 26903 (WebCore::ImageFrame::setColorProfile): 26904 (WebCore::ImageFrame::setStatus): 26905 (WebCore::ImageFrame::setPixmap): 26906 (WebCore::ImageFrame::width): 26907 (WebCore::ImageFrame::height): 26908 * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed. 26909 * platform/image-decoders/skia/ImageDecoderSkia.cpp: 26910 (WebCore::ImageFrame::ImageFrame): 26911 (WebCore::ImageFrame::operator=): 26912 (WebCore::ImageFrame::clear): 26913 (WebCore::ImageFrame::zeroFill): 26914 (WebCore::ImageFrame::copyBitmapData): 26915 (WebCore::ImageFrame::setSize): 26916 (WebCore::ImageFrame::asNewNativeImage): 26917 (WebCore::ImageFrame::hasAlpha): 26918 (WebCore::ImageFrame::setHasAlpha): 26919 (WebCore::ImageFrame::setColorProfile): 26920 (WebCore::ImageFrame::setStatus): 26921 (WebCore::ImageFrame::width): 26922 (WebCore::ImageFrame::height): 26923 * platform/image-decoders/webp/WEBPImageDecoder.cpp: 26924 (WebCore::WEBPImageDecoder::frameBufferAtIndex): 26925 (WebCore::WEBPImageDecoder::decode): 26926 * platform/image-decoders/webp/WEBPImageDecoder.h: 26927 * platform/image-decoders/wx/ImageDecoderWx.cpp: 26928 (WebCore::ImageFrame::asNewNativeImage): 26929 26930 2011-01-13 Dimitri Glazkov <dglazkov (a] chromium.org> 26931 26932 Reviewed by Darin Adler. 26933 26934 Transferring nodes between documents should be aware of the shadow DOM. 26935 https://bugs.webkit.org/show_bug.cgi?id=52399 26936 26937 No visible change in behavior at the moment. 26938 26939 Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following 26940 tests should no longer crash: 26941 * fast/css/pseudo-in-range-invalid-value.html 26942 * fast/css/pseudo-in-range.html 26943 * fast/forms/form-collection-elements.html 26944 * fast/forms/range-keyoperation.html 26945 26946 * dom/Document.cpp: 26947 (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively. 26948 * dom/Node.cpp: 26949 (WebCore::Node::setDocumentRecursively): Added new method, taking existing 26950 logic and adding shadow DOM traversal. 26951 (WebCore::Node::traverseNextNode): Style fix. 26952 (WebCore::Node::traverseNextSibling): Ditto. 26953 (WebCore::Node::traversePreviousNode): Ditto. 26954 (WebCore::Node::traversePreviousNodePostOrder): Ditto. 26955 (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively. 26956 (WebCore::Node::checkAddChild): Ditto. 26957 * dom/Node.h: Added def. 26958 26959 2011-01-12 Enrica Casucci <enrica (a] apple.com> 26960 26961 Reviewed by Darin Adler. 26962 26963 WebKit2: Add support for drag and drop 26964 https://bugs.webkit.org/show_bug.cgi?id=52343 26965 <rdar://problem/7660558> 26966 26967 This patch contains the changes required to support dropping content 26968 in WebKit on the Mac. The DragData class has been extended to provide 26969 additional context from the application (keyboard state, modal windows, etc.) 26970 as well as information of the drag pasteboard being used. 26971 The support for WebKit as drag source will be added with a separate patch. 26972 26973 * WebCore.exp.in: 26974 * page/DragController.cpp: 26975 (WebCore::DragController::dragIsMove): Added DragData parameter. 26976 (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove. 26977 (WebCore::DragController::concludeEditDrag): Same as above. 26978 * page/DragController.h: Added parameter to isCopyKeyDown. 26979 * page/mac/DragControllerMac.mm: 26980 The following methods have been modified to use the information stored 26981 in the DragData class. 26982 (WebCore::DragController::isCopyKeyDown): 26983 (WebCore::DragController::dragOperation): 26984 * platform/DragData.h: 26985 (WebCore::DragData::flags): 26986 * platform/DragData.cpp: Added default flags parameter to the constructor. 26987 * platform/mac/DragDataMac.mm: 26988 (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use. 26989 (WebCore::DragData::canSmartReplace): 26990 (WebCore::DragData::containsColor): 26991 (WebCore::DragData::containsFiles): 26992 (WebCore::DragData::asFilenames): 26993 (WebCore::DragData::containsPlainText): 26994 (WebCore::DragData::asPlainText): 26995 (WebCore::DragData::containsCompatibleContent): 26996 (WebCore::DragData::asURL): 26997 (WebCore::DragData::asFragment): 26998 All the following files have been modified to add the DragData 26999 parameter to isCopyKeyDown. I plan to improve this in the future 27000 and make isCopyKeyDown not platform specific. 27001 * page/android/DragControllerAndroid.cpp: 27002 (WebCore::DragController::isCopyKeyDown): 27003 * page/brew/DragControllerBrew.cpp: 27004 (WebCore::DragController::isCopyKeyDown): 27005 * page/chromium/DragControllerChromium.cpp: 27006 (WebCore::DragController::isCopyKeyDown): 27007 * page/efl/DragControllerEfl.cpp: 27008 (WebCore::DragController::isCopyKeyDown): 27009 * page/gtk/DragControllerGtk.cpp: 27010 (WebCore::DragController::isCopyKeyDown): 27011 * page/haiku/DragControllerHaiku.cpp: 27012 (WebCore::DragController::isCopyKeyDown): 27013 * page/mac/DragControllerMac.mm: 27014 (WebCore::DragController::isCopyKeyDown): 27015 (WebCore::DragController::dragOperation): 27016 * page/qt/DragControllerQt.cpp: 27017 (WebCore::DragController::isCopyKeyDown): 27018 * page/win/DragControllerWin.cpp: 27019 (WebCore::DragController::isCopyKeyDown): 27020 * page/wx/DragControllerWx.cpp: 27021 (WebCore::DragController::isCopyKeyDown): 27022 27023 2011-01-13 David Kilzer <ddkilzer (a] apple.com> 27024 27025 Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project 27026 27027 Not reviewed. 27028 27029 * WebCore.xcodeproj/project.pbxproj: Add missing headers. Note 27030 that the corresponding source files were originally added to the 27031 project in r48559. 27032 27033 2011-01-12 Zhenyao Mo <zmo (a] google.com> 27034 27035 Reviewed by Kenneth Russell. 27036 27037 Use GC3D types in WebGLRenderingContext and related WebGL classes 27038 https://bugs.webkit.org/show_bug.cgi?id=51908 27039 27040 * html/canvas/WebGLActiveInfo.h: 27041 (WebCore::WebGLActiveInfo::create): 27042 (WebCore::WebGLActiveInfo::type): 27043 (WebCore::WebGLActiveInfo::size): 27044 (WebCore::WebGLActiveInfo::WebGLActiveInfo): 27045 * html/canvas/WebGLBuffer.cpp: 27046 (WebCore::WebGLBuffer::associateBufferDataImpl): 27047 (WebCore::WebGLBuffer::associateBufferData): 27048 (WebCore::WebGLBuffer::associateBufferSubDataImpl): 27049 (WebCore::WebGLBuffer::associateBufferSubData): 27050 (WebCore::WebGLBuffer::byteLength): 27051 (WebCore::WebGLBuffer::getCachedMaxIndex): 27052 (WebCore::WebGLBuffer::setCachedMaxIndex): 27053 (WebCore::WebGLBuffer::setTarget): 27054 * html/canvas/WebGLBuffer.h: 27055 (WebCore::WebGLBuffer::getTarget): 27056 * html/canvas/WebGLFramebuffer.cpp: 27057 (WebCore::WebGLFramebuffer::setAttachment): 27058 (WebCore::WebGLFramebuffer::getAttachment): 27059 (WebCore::WebGLFramebuffer::getWidth): 27060 (WebCore::WebGLFramebuffer::getHeight): 27061 (WebCore::WebGLFramebuffer::getColorBufferFormat): 27062 (WebCore::WebGLFramebuffer::initializeRenderbuffers): 27063 * html/canvas/WebGLFramebuffer.h: 27064 * html/canvas/WebGLProgram.cpp: 27065 (WebCore::WebGLProgram::cacheActiveAttribLocations): 27066 (WebCore::WebGLProgram::numActiveAttribLocations): 27067 (WebCore::WebGLProgram::getActiveAttribLocation): 27068 (WebCore::WebGLProgram::isUsingVertexAttrib0): 27069 * html/canvas/WebGLProgram.h: 27070 (WebCore::WebGLProgram::getLinkCount): 27071 * html/canvas/WebGLRenderbuffer.h: 27072 (WebCore::WebGLRenderbuffer::setInternalFormat): 27073 (WebCore::WebGLRenderbuffer::getInternalFormat): 27074 (WebCore::WebGLRenderbuffer::setSize): 27075 (WebCore::WebGLRenderbuffer::getWidth): 27076 (WebCore::WebGLRenderbuffer::getHeight): 27077 * html/canvas/WebGLRenderingContext.cpp: 27078 (WebCore::WebGLRenderingContext::initializeNewContext): 27079 (WebCore::WebGLRenderingContext::sizeInBytes): 27080 (WebCore::WebGLRenderingContext::activeTexture): 27081 (WebCore::WebGLRenderingContext::bindAttribLocation): 27082 (WebCore::WebGLRenderingContext::bindBuffer): 27083 (WebCore::WebGLRenderingContext::bindFramebuffer): 27084 (WebCore::WebGLRenderingContext::bindRenderbuffer): 27085 (WebCore::WebGLRenderingContext::bindTexture): 27086 (WebCore::WebGLRenderingContext::blendColor): 27087 (WebCore::WebGLRenderingContext::blendEquation): 27088 (WebCore::WebGLRenderingContext::blendEquationSeparate): 27089 (WebCore::WebGLRenderingContext::blendFunc): 27090 (WebCore::WebGLRenderingContext::blendFuncSeparate): 27091 (WebCore::WebGLRenderingContext::bufferData): 27092 (WebCore::WebGLRenderingContext::bufferSubData): 27093 (WebCore::WebGLRenderingContext::checkFramebufferStatus): 27094 (WebCore::WebGLRenderingContext::clear): 27095 (WebCore::WebGLRenderingContext::clearColor): 27096 (WebCore::WebGLRenderingContext::clearDepth): 27097 (WebCore::WebGLRenderingContext::clearStencil): 27098 (WebCore::WebGLRenderingContext::colorMask): 27099 (WebCore::WebGLRenderingContext::copyTexImage2D): 27100 (WebCore::WebGLRenderingContext::copyTexSubImage2D): 27101 (WebCore::WebGLRenderingContext::createShader): 27102 (WebCore::WebGLRenderingContext::cullFace): 27103 (WebCore::WebGLRenderingContext::deleteBuffer): 27104 (WebCore::WebGLRenderingContext::depthFunc): 27105 (WebCore::WebGLRenderingContext::depthMask): 27106 (WebCore::WebGLRenderingContext::depthRange): 27107 (WebCore::WebGLRenderingContext::disable): 27108 (WebCore::WebGLRenderingContext::disableVertexAttribArray): 27109 (WebCore::WebGLRenderingContext::validateElementArraySize): 27110 (WebCore::WebGLRenderingContext::validateIndexArrayConservative): 27111 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): 27112 (WebCore::WebGLRenderingContext::validateRenderingState): 27113 (WebCore::WebGLRenderingContext::drawArrays): 27114 (WebCore::WebGLRenderingContext::drawElements): 27115 (WebCore::WebGLRenderingContext::enable): 27116 (WebCore::WebGLRenderingContext::enableVertexAttribArray): 27117 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): 27118 (WebCore::WebGLRenderingContext::framebufferTexture2D): 27119 (WebCore::WebGLRenderingContext::frontFace): 27120 (WebCore::WebGLRenderingContext::generateMipmap): 27121 (WebCore::WebGLRenderingContext::getActiveAttrib): 27122 (WebCore::WebGLRenderingContext::getActiveUniform): 27123 (WebCore::WebGLRenderingContext::getAttachedShaders): 27124 (WebCore::WebGLRenderingContext::getAttribLocation): 27125 (WebCore::WebGLRenderingContext::getBufferParameter): 27126 (WebCore::WebGLRenderingContext::getError): 27127 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): 27128 (WebCore::WebGLRenderingContext::getParameter): 27129 (WebCore::WebGLRenderingContext::getProgramParameter): 27130 (WebCore::WebGLRenderingContext::getRenderbufferParameter): 27131 (WebCore::WebGLRenderingContext::getShaderParameter): 27132 (WebCore::WebGLRenderingContext::getTexParameter): 27133 (WebCore::WebGLRenderingContext::getUniform): 27134 (WebCore::WebGLRenderingContext::getUniformLocation): 27135 (WebCore::WebGLRenderingContext::getVertexAttrib): 27136 (WebCore::WebGLRenderingContext::getVertexAttribOffset): 27137 (WebCore::WebGLRenderingContext::hint): 27138 (WebCore::WebGLRenderingContext::isBuffer): 27139 (WebCore::WebGLRenderingContext::isEnabled): 27140 (WebCore::WebGLRenderingContext::isFramebuffer): 27141 (WebCore::WebGLRenderingContext::isProgram): 27142 (WebCore::WebGLRenderingContext::isRenderbuffer): 27143 (WebCore::WebGLRenderingContext::isShader): 27144 (WebCore::WebGLRenderingContext::isTexture): 27145 (WebCore::WebGLRenderingContext::lineWidth): 27146 (WebCore::WebGLRenderingContext::linkProgram): 27147 (WebCore::WebGLRenderingContext::pixelStorei): 27148 (WebCore::WebGLRenderingContext::polygonOffset): 27149 (WebCore::WebGLRenderingContext::readPixels): 27150 (WebCore::WebGLRenderingContext::renderbufferStorage): 27151 (WebCore::WebGLRenderingContext::sampleCoverage): 27152 (WebCore::WebGLRenderingContext::scissor): 27153 (WebCore::WebGLRenderingContext::stencilFunc): 27154 (WebCore::WebGLRenderingContext::stencilFuncSeparate): 27155 (WebCore::WebGLRenderingContext::stencilMask): 27156 (WebCore::WebGLRenderingContext::stencilMaskSeparate): 27157 (WebCore::WebGLRenderingContext::stencilOp): 27158 (WebCore::WebGLRenderingContext::stencilOpSeparate): 27159 (WebCore::WebGLRenderingContext::texImage2DBase): 27160 (WebCore::WebGLRenderingContext::texImage2DImpl): 27161 (WebCore::WebGLRenderingContext::texImage2D): 27162 (WebCore::WebGLRenderingContext::texParameter): 27163 (WebCore::WebGLRenderingContext::texParameterf): 27164 (WebCore::WebGLRenderingContext::texParameteri): 27165 (WebCore::WebGLRenderingContext::texSubImage2DBase): 27166 (WebCore::WebGLRenderingContext::texSubImage2DImpl): 27167 (WebCore::WebGLRenderingContext::texSubImage2D): 27168 (WebCore::WebGLRenderingContext::uniform1f): 27169 (WebCore::WebGLRenderingContext::uniform1fv): 27170 (WebCore::WebGLRenderingContext::uniform1i): 27171 (WebCore::WebGLRenderingContext::uniform1iv): 27172 (WebCore::WebGLRenderingContext::uniform2f): 27173 (WebCore::WebGLRenderingContext::uniform2fv): 27174 (WebCore::WebGLRenderingContext::uniform2i): 27175 (WebCore::WebGLRenderingContext::uniform2iv): 27176 (WebCore::WebGLRenderingContext::uniform3f): 27177 (WebCore::WebGLRenderingContext::uniform3fv): 27178 (WebCore::WebGLRenderingContext::uniform3i): 27179 (WebCore::WebGLRenderingContext::uniform3iv): 27180 (WebCore::WebGLRenderingContext::uniform4f): 27181 (WebCore::WebGLRenderingContext::uniform4fv): 27182 (WebCore::WebGLRenderingContext::uniform4i): 27183 (WebCore::WebGLRenderingContext::uniform4iv): 27184 (WebCore::WebGLRenderingContext::uniformMatrix2fv): 27185 (WebCore::WebGLRenderingContext::uniformMatrix3fv): 27186 (WebCore::WebGLRenderingContext::uniformMatrix4fv): 27187 (WebCore::WebGLRenderingContext::vertexAttrib1f): 27188 (WebCore::WebGLRenderingContext::vertexAttrib1fv): 27189 (WebCore::WebGLRenderingContext::vertexAttrib2f): 27190 (WebCore::WebGLRenderingContext::vertexAttrib2fv): 27191 (WebCore::WebGLRenderingContext::vertexAttrib3f): 27192 (WebCore::WebGLRenderingContext::vertexAttrib3fv): 27193 (WebCore::WebGLRenderingContext::vertexAttrib4f): 27194 (WebCore::WebGLRenderingContext::vertexAttrib4fv): 27195 (WebCore::WebGLRenderingContext::vertexAttribPointer): 27196 (WebCore::WebGLRenderingContext::viewport): 27197 (WebCore::WebGLRenderingContext::getBooleanParameter): 27198 (WebCore::WebGLRenderingContext::getBooleanArrayParameter): 27199 (WebCore::WebGLRenderingContext::getFloatParameter): 27200 (WebCore::WebGLRenderingContext::getIntParameter): 27201 (WebCore::WebGLRenderingContext::getLongParameter): 27202 (WebCore::WebGLRenderingContext::getUnsignedLongParameter): 27203 (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter): 27204 (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter): 27205 (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid): 27206 (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): 27207 (WebCore::WebGLRenderingContext::validateTextureBinding): 27208 (WebCore::WebGLRenderingContext::validateSize): 27209 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): 27210 (WebCore::WebGLRenderingContext::validateTexFuncLevel): 27211 (WebCore::WebGLRenderingContext::validateTexFuncParameters): 27212 (WebCore::WebGLRenderingContext::validateTexFuncData): 27213 (WebCore::WebGLRenderingContext::validateDrawMode): 27214 (WebCore::WebGLRenderingContext::validateStencilFunc): 27215 (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): 27216 (WebCore::WebGLRenderingContext::validateBlendEquation): 27217 (WebCore::WebGLRenderingContext::validateBlendFuncFactors): 27218 (WebCore::WebGLRenderingContext::validateCapability): 27219 (WebCore::WebGLRenderingContext::validateUniformParameters): 27220 (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): 27221 (WebCore::WebGLRenderingContext::validateBufferDataParameters): 27222 (WebCore::WebGLRenderingContext::vertexAttribfImpl): 27223 (WebCore::WebGLRenderingContext::vertexAttribfvImpl): 27224 (WebCore::WebGLRenderingContext::simulateVertexAttrib0): 27225 * html/canvas/WebGLRenderingContext.h: 27226 (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): 27227 * html/canvas/WebGLShader.cpp: 27228 (WebCore::WebGLShader::create): 27229 (WebCore::WebGLShader::WebGLShader): 27230 * html/canvas/WebGLShader.h: 27231 (WebCore::WebGLShader::getType): 27232 * html/canvas/WebGLTexture.cpp: 27233 (WebCore::WebGLTexture::setTarget): 27234 (WebCore::WebGLTexture::setParameteri): 27235 (WebCore::WebGLTexture::setParameterf): 27236 (WebCore::WebGLTexture::setLevelInfo): 27237 (WebCore::WebGLTexture::generateMipmapLevelInfo): 27238 (WebCore::WebGLTexture::getInternalFormat): 27239 (WebCore::WebGLTexture::getType): 27240 (WebCore::WebGLTexture::getWidth): 27241 (WebCore::WebGLTexture::getHeight): 27242 (WebCore::WebGLTexture::isNPOT): 27243 (WebCore::WebGLTexture::mapTargetToIndex): 27244 (WebCore::WebGLTexture::computeLevelCount): 27245 (WebCore::WebGLTexture::update): 27246 (WebCore::WebGLTexture::getLevelInfo): 27247 * html/canvas/WebGLTexture.h: 27248 (WebCore::WebGLTexture::LevelInfo::setInfo): 27249 * html/canvas/WebGLUniformLocation.cpp: 27250 (WebCore::WebGLUniformLocation::create): 27251 (WebCore::WebGLUniformLocation::WebGLUniformLocation): 27252 (WebCore::WebGLUniformLocation::location): 27253 * html/canvas/WebGLUniformLocation.h: 27254 * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char. 27255 27256 2011-01-13 Jian Li <jianli (a] chromium.org> 27257 27258 Reviewed by Darin Fisher. 27259 27260 Change createObjectURL and revokeObjectURL to put under webkitURL. 27261 https://bugs.webkit.org/show_bug.cgi?id=52257 27262 27263 Note that we add "webkit" vendor prefix to URL that is introduced in 27264 the latest File API spec. 27265 27266 For the time being, we implement webkitURL as a readonly attribute 27267 instead of a constructor so that we will not expose prototype property, 27268 as required by the spec. 27269 27270 * Android.derived.jscbindings.mk: 27271 * Android.derived.v8bindings.mk: 27272 * Android.mk: 27273 * CMakeLists.txt: 27274 * DerivedSources.cpp: 27275 * DerivedSources.make: 27276 * GNUmakefile.am: 27277 * WebCore.gypi: 27278 * WebCore.pri: 27279 * WebCore.pro: 27280 * WebCore.vcproj/WebCore.vcproj: 27281 * WebCore.xcodeproj/project.pbxproj: 27282 * html/DOMURL.cpp: Added. 27283 * html/DOMURL.h: Added. 27284 * html/DOMURL.idl: Added. 27285 * inspector/front-end/NetworkPanel.js: 27286 * inspector/front-end/utilities.js: 27287 * page/DOMWindow.cpp: 27288 (WebCore::DOMWindow::webkitURL): 27289 * page/DOMWindow.h: 27290 * page/DOMWindow.idl: 27291 * workers/WorkerContext.cpp: 27292 (WebCore::WorkerContext::webkitURL): 27293 * workers/WorkerContext.h: 27294 * workers/WorkerContext.idl: 27295 27296 2011-01-13 Emil Eklund <eae (a] chromium.org> 27297 27298 Reviewed by Dimitri Glazkov. 27299 27300 Setting outerText should convert CR/LF to <br> 27301 https://bugs.webkit.org/show_bug.cgi?id=52268 27302 27303 Make set outerText support line breaks (sharing the text to fragment code 27304 with setInnerText) and handle empty text nodes the same way IE does. 27305 27306 Test: fast/dom/set-outer-text.html 27307 27308 * html/HTMLElement.cpp: 27309 (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText 27310 (WebCore::HTMLElement::setInnerText): Split out text parsing code. 27311 (WebCore::mergeWithNextTextNode): Split out text node merging code. 27312 (WebCore::HTMLElement::setOuterText): Added support for line breaks. 27313 * html/HTMLElement.h: 27314 27315 2011-01-13 Zhenyao Mo <zmo (a] google.com> 27316 27317 Reviewed by Kenneth Russell. 27318 27319 Relax the ESSL valid charset a little bit to include " ' ` 27320 https://bugs.webkit.org/show_bug.cgi?id=52396 27321 27322 * html/canvas/WebGLRenderingContext.cpp: 27323 27324 2011-01-13 Adrienne Walker <enne (a] google.com> 27325 27326 Reviewed by Kenneth Russell. 27327 27328 [chromium] Attempt to fix crash in tiled compositor memcpy 27329 https://bugs.webkit.org/show_bug.cgi?id=52379 27330 27331 * platform/graphics/chromium/LayerTilerChromium.cpp: 27332 (WebCore::LayerTilerChromium::update): 27333 27334 2011-01-13 Dimitri Glazkov <dglazkov (a] chromium.org> 27335 27336 Unreviewed, rolling out r75725. 27337 http://trac.webkit.org/changeset/75725 27338 https://bugs.webkit.org/show_bug.cgi?id=52317 27339 27340 Caused crashes in layout tests. 27341 27342 * css/CSSStyleSelector.cpp: 27343 (WebCore::CSSStyleSelector::initForStyleResolve): 27344 * html/HTMLInputElement.cpp: 27345 (WebCore::HTMLInputElement::updateType): 27346 * html/InputType.cpp: 27347 * html/InputType.h: 27348 * html/RangeInputType.cpp: 27349 * html/RangeInputType.h: 27350 * html/shadow/SliderThumbElement.cpp: 27351 (WebCore::SliderThumbElement::defaultEventHandler): 27352 (WebCore::SliderThumbElement::detach): 27353 * html/shadow/SliderThumbElement.h: 27354 (WebCore::SliderThumbElement::SliderThumbElement): 27355 (WebCore::SliderThumbElement::create): 27356 * rendering/MediaControlElements.cpp: 27357 (WebCore::MediaControlInputElement::attach): 27358 (WebCore::MediaControlInputElement::updateStyle): 27359 * rendering/RenderSlider.cpp: 27360 (WebCore::RenderSlider::~RenderSlider): 27361 (WebCore::RenderSlider::styleDidChange): 27362 (WebCore::RenderSlider::createThumbStyle): 27363 (WebCore::RenderSlider::thumbRect): 27364 (WebCore::RenderSlider::layout): 27365 (WebCore::RenderSlider::updateFromElement): 27366 (WebCore::RenderSlider::mouseEventIsInThumb): 27367 (WebCore::RenderSlider::mouseEventOffsetToThumb): 27368 (WebCore::RenderSlider::setValueForPosition): 27369 (WebCore::RenderSlider::positionForOffset): 27370 (WebCore::RenderSlider::currentPosition): 27371 (WebCore::RenderSlider::trackSize): 27372 (WebCore::RenderSlider::forwardEvent): 27373 (WebCore::RenderSlider::inDragMode): 27374 * rendering/RenderSlider.h: 27375 27376 2011-01-12 Dimitri Glazkov <dglazkov (a] chromium.org> 27377 27378 Reviewed by Darin Adler. 27379 27380 Flip input[type=range] to use the new shadow DOM model. 27381 https://bugs.webkit.org/show_bug.cgi?id=52317 27382 27383 This is a straight-up flip, minimal change to the logic, which will be 27384 refactored in a follow-up patch. 27385 27386 Covered by existing tests. 27387 27388 * css/CSSStyleSelector.cpp: 27389 (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either 27390 host or parent node to find parent. 27391 * html/HTMLInputElement.cpp: 27392 (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating 27393 shadow DOM subtree. 27394 * html/InputType.cpp: 27395 (WebCore::InputType::createShadowSubtree): Added empty decl. 27396 (WebCore::InputType::destroyShadowSubtree): Added a method to destroy 27397 shadow subtree. 27398 * html/InputType.h: Added defs. 27399 * html/RangeInputType.cpp: 27400 (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create 27401 slider thumb. 27402 * html/RangeInputType.h: Adde def. 27403 * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class 27404 to handle cascading appearance. 27405 (WebCore::RenderSliderThumb::RenderSliderThumb): Added. 27406 (WebCore::RenderSliderThumb::layout): Moved here the logic from 27407 RenderSlider::createThumbStyle. 27408 (WebCore::SliderThumbElement::createRenderer): Added virtual method to 27409 create RenderSliderThumb instance. 27410 (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement 27411 as base class. 27412 (WebCore::SliderThumbElement::detach): Ditto. 27413 * html/shadow/SliderThumbElement.h: 27414 (WebCore::SliderThumbElement::SliderThumbElement): Ditto. 27415 (WebCore::SliderThumbElement::create): Ditto. 27416 (WebCore::toSliderThumbElement): Added a casting helper. 27417 * rendering/MediaControlElements.cpp: 27418 (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM, 27419 since the whole method is hand-rolled. 27420 (WebCore::MediaControlInputElement::updateStyle): Ditto. 27421 * rendering/RenderSlider.cpp: 27422 (WebCore::RenderSlider::~RenderSlider): Removed unneeded code. 27423 (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper. 27424 (WebCore::RenderSlider::layout): Ditto. 27425 (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access 27426 SliderThumbElement. 27427 (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper. 27428 (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto. 27429 (WebCore::RenderSlider::setValueForPosition): Ditto. 27430 (WebCore::RenderSlider::positionForOffset): Ditto. 27431 (WebCore::RenderSlider::currentPosition): Ditto. 27432 (WebCore::RenderSlider::trackSize): Ditto. 27433 (WebCore::RenderSlider::forwardEvent): Ditto. 27434 (WebCore::RenderSlider::inDragMode): Ditto. 27435 * rendering/RenderSlider.h: Added def. 27436 27437 2011-01-13 Dan Bernstein <mitz (a] apple.com> 27438 27439 Reviewed by Simon Fraser. 27440 27441 <rdar://problem/8098442> Crash in Widget::setFrameRect() 27442 https://bugs.webkit.org/show_bug.cgi?id=52375 27443 27444 Test: plugins/destroy-on-setwindow.html 27445 27446 * platform/mac/WidgetMac.mm: 27447 (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling 27448 out to the view. 27449 (WebCore::Widget::getOuterView): Coding style fix. 27450 (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to 27451 the views. This is precautionary, since this function does not applear to access member variables 27452 after such calls. 27453 * platform/wx/WidgetWx.cpp: 27454 (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling 27455 out to the platform widget. 27456 27457 2011-01-13 Csaba Osztrogonc <ossy (a] webkit.org> 27458 27459 Unreviewed buildfix after r75715. 27460 27461 * WebCore.pri: 27462 * WebCore.pro: 27463 27464 2011-01-13 Pavel Feldman <pfeldman (a] chromium.org> 27465 27466 Not reviewed: Qt build fix. 27467 27468 * WebCore.pri: 27469 27470 2011-01-12 Pavel Feldman <pfeldman (a] chromium.org> 27471 27472 Reviewed by Yury Semikhatsky. 27473 27474 Web Inspector: embed injected script into the backend. 27475 https://bugs.webkit.org/show_bug.cgi?id=52312 27476 27477 InjectedScript belongs to the backend of the system and 27478 should be exposed by means of protocol, not InjectedScriptAccess. 27479 This patch makes injected script a part of the backend. 27480 It introduces single manual generation step (xxd -i) that should be 27481 automated by the build scripts for all the platforms. 27482 27483 * CMakeLists.txt: 27484 * DerivedSources.make: 27485 * GNUmakefile.am: 27486 * WebCore.gyp/WebCore.gyp: 27487 * WebCore.gypi: 27488 * WebCore.pro: 27489 * WebCore.vcproj/WebCore.vcproj: 27490 * WebCore.xcodeproj/project.pbxproj: 27491 * bindings/js/JSInjectedScriptHostCustom.cpp: 27492 (WebCore::InjectedScriptHost::injectedScriptFor): 27493 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 27494 (WebCore::InjectedScriptHost::injectedScriptFor): 27495 * inspector/InjectedScriptHost.cpp: 27496 (WebCore::InjectedScriptHost::injectedScriptSource): 27497 * inspector/InjectedScriptHost.h: 27498 * inspector/Inspector.idl: 27499 * inspector/InspectorController.cpp: 27500 (WebCore::InspectorController::restoreInspectorStateFromCookie): 27501 * inspector/InspectorState.cpp: 27502 (WebCore::InspectorState::InspectorState): 27503 * inspector/InspectorState.h: 27504 * inspector/front-end/InjectedScript.js: Removed. 27505 * inspector/front-end/WebKit.qrc: 27506 * inspector/front-end/inspector.html: 27507 * inspector/front-end/inspector.js: 27508 (WebInspector.doLoadedDone.propertyNamesCallback): 27509 (WebInspector.doLoadedDone): 27510 * inspector/xxd.pl: Added. 27511 27512 2011-01-13 Mikhail Naganov <mnaganov (a] chromium.org> 27513 27514 Reviewed by Timothy Hatcher. 27515 27516 Web Inspector: Cleanup after r75613 -- make all UI-facing strings 27517 to be passed directly to WebInspector.UIString 27518 27519 https://bugs.webkit.org/show_bug.cgi?id=52365 27520 27521 * English.lproj/localizedStrings.js: 27522 * inspector/front-end/ApplicationCacheItemsView.js: 27523 (WebInspector.ApplicationCacheItemsView.prototype._updateCallback): 27524 (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid): 27525 * inspector/front-end/AuditRules.js: 27526 (WebInspector.AuditRules.GzipRule.prototype.doRun): 27527 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): 27528 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): 27529 * inspector/front-end/BreakpointsSidebarPane.js: 27530 (WebInspector.EventListenerBreakpointsSidebarPane): 27531 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): 27532 * inspector/front-end/CookieItemsView.js: 27533 (WebInspector.CookieItemsView.prototype._updateWithCookies): 27534 * inspector/front-end/ImageView.js: 27535 (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad): 27536 (WebInspector.ImageView.prototype._createContentIfNeeded): 27537 * inspector/front-end/NetworkPanel.js: 27538 (WebInspector.NetworkTimeCalculator.prototype.formatValue): 27539 (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue): 27540 (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue): 27541 * inspector/front-end/ProfileDataGridTree.js: 27542 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): 27543 (WebInspector.ProfileDataGridNode.prototype.get data): 27544 * inspector/front-end/Resource.js: 27545 (WebInspector.Resource.Type.toUIString): 27546 (WebInspector.Resource.Type.toString): 27547 * inspector/front-end/TimelineOverviewPane.js: 27548 (WebInspector.TimelineOverviewCalculator.prototype.formatValue): 27549 * inspector/front-end/TimelinePanel.js: 27550 (WebInspector.TimelinePanel): 27551 (WebInspector.TimelineCalculator.prototype.formatValue): 27552 (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): 27553 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 27554 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 27555 * inspector/front-end/utilities.js: 27556 (): 27557 27558 2011-01-13 Viatcheslav Ostapenko <ostapenko.viatcheslav (a] nokia.com> 27559 27560 Reviewed by Simon Hausmann. 27561 27562 [Qt] Need a way to inform the application when a Netscape plugin is created. 27563 https://bugs.webkit.org/show_bug.cgi?id=30179 27564 27565 Added "c" style static method for the application to hook up for 27566 receiving notifications when a plugin is created. 27567 27568 * plugins/symbian/PluginViewSymbian.cpp: 27569 (qtwebkit_setPluginCreatedCallback): 27570 (WebCore::PluginView::platformStart): 27571 27572 2011-01-13 Yi Shen <yi.4.shen (a] nokia.com> 27573 27574 Reviewed by Eric Seidel. 27575 27576 [Qt] Use a black background color for the video element on Qt Mobile 27577 https://bugs.webkit.org/show_bug.cgi?id=52252 27578 27579 Use black as the background color for the video element on Qt Mobile. 27580 27581 * css/themeQtMobile.css: 27582 (video): 27583 27584 2011-01-13 Yi Shen <yi.4.shen (a] nokia.com> 27585 27586 Reviewed by Eric Seidel. 27587 27588 [Qt] Use a big central media play control button for video element 27589 https://bugs.webkit.org/show_bug.cgi?id=52315 27590 27591 When ChromeClient::requiresFullscreenForVideoPlayback() returns true, 27592 all other control buttons for the video element are hidden, except 27593 a big centralized play button. 27594 27595 No new tests because no client implements requiresFullscreenForVideoPlayback yet. 27596 27597 * WebCore.pri: 27598 * css/mediaControlsQtFullscreen.css: Added. 27599 (audio): 27600 (audio::-webkit-media-controls-panel): 27601 (video::-webkit-media-controls-panel): 27602 (video:-webkit-full-page-media::-webkit-media-controls-panel): 27603 (audio::-webkit-media-controls-mute-button): 27604 (video::-webkit-media-controls-mute-button): 27605 (audio::-webkit-media-controls-play-button): 27606 (video::-webkit-media-controls-play-button): 27607 (audio::-webkit-media-controls-timeline-container): 27608 (video::-webkit-media-controls-timeline-container): 27609 (audio::-webkit-media-controls-current-time-display): 27610 (video::-webkit-media-controls-current-time-display): 27611 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): 27612 (audio::-webkit-media-controls-timeline): 27613 (video::-webkit-media-controls-timeline): 27614 (audio::-webkit-media-controls-volume-slider-container): 27615 (video::-webkit-media-controls-volume-slider-container): 27616 (audio::-webkit-media-controls-volume-slider): 27617 (video::-webkit-media-controls-volume-slider): 27618 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 27619 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 27620 (audio::-webkit-media-controls-fullscreen-button): 27621 (video::-webkit-media-controls-fullscreen-button): 27622 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): 27623 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): 27624 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 27625 * platform/qt/RenderThemeQt.cpp: 27626 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 27627 27628 2011-01-13 Carlos Garcia Campos <cgarcia (a] igalia.com> 27629 27630 Reviewed by Xan Lopez. 27631 27632 [GTK] Paint toggle buttons inconsistent when the object state is indeterminate 27633 https://bugs.webkit.org/show_bug.cgi?id=52361 27634 27635 Check whether the object state is indeterminate to set the flag 27636 GTK_STATE_FLAG_INCONSISTENT before rendering check and radio 27637 buttons. 27638 27639 * platform/gtk/RenderThemeGtk3.cpp: 27640 (WebCore::paintToggle): 27641 27642 2011-01-13 Yi Shen <yi.4.shen (a] nokia.com> 27643 27644 Reviewed by Simon Hausmann. 27645 27646 [Qt] Extend the Platform Plugin to support full screen video handler 27647 https://bugs.webkit.org/show_bug.cgi?id=51249 27648 27649 Make MediaPlayerPrivateQt support a fullscreen player. 27650 27651 No new tests because LayoutTests/media/media-fullscreen-inline.html already exists. 27652 However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice. 27653 So, still skip it for Qt. 27654 27655 * WebCore.pro: 27656 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 27657 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): 27658 (WebCore::MediaPlayerPrivateQt::removeVideoItem): 27659 (WebCore::MediaPlayerPrivateQt::restoreVideoItem): 27660 * platform/graphics/qt/MediaPlayerPrivateQt.h: 27661 (WebCore::MediaPlayerPrivateQt::supportsFullscreen): 27662 (WebCore::MediaPlayerPrivateQt::mediaPlayer): 27663 27664 2011-01-13 Dan Bernstein <mitz (a] apple.com> 27665 27666 Reviewed by Dave Hyatt. 27667 27668 <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text 27669 https://bugs.webkit.org/show_bug.cgi?id=52359 27670 27671 Test: fast/ruby/text-emphasis.html 27672 27673 * css/html.css: 27674 (rt): 27675 27676 2011-01-13 Csaba Osztrogonc <ossy (a] webkit.org> 27677 27678 Rubber-stamped by David Levin. 27679 27680 Trivial fix after r75682. 27681 27682 * loader/FrameLoader.cpp: Remove accidentally committed debug code. 27683 (WebCore::FrameLoader::shouldClose): 27684 27685 2011-01-12 Ryosuke Niwa <rniwa (a] webkit.org> 27686 27687 Reviewed by Eric Seidel. 27688 27689 REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com) 27690 https://bugs.webkit.org/show_bug.cgi?id=52241 27691 27692 The bug was caused by RenderTextControl::selection's creating a Range with m_insertText 27693 which is a shadow DOM div as both start and end containers. Fixed the bug by traversing 27694 through the descendents of m_innerText and using the right start and end containers to 27695 create a Range. 27696 27697 Test: fast/forms/focus-change-on-keypress.html 27698 27699 * rendering/RenderTextControl.cpp: 27700 (WebCore::setContainerAndOffsetForRange): Added; a helper function. 27701 (WebCore::RenderTextControl::selection): See above. 27702 27703 2011-01-12 Kenichi Ishibashi <bashi (a] google.com> 27704 27705 Reviewed by Kent Tamura. 27706 27707 M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed. 27708 https://bugs.webkit.org/show_bug.cgi?id=51905 27709 27710 Calls unregisterFormElementWithFormAttribute() when 'form' attribute 27711 is removed. 27712 27713 Tests: fast/forms/form-associated-element-crash.html 27714 fast/forms/form-associated-element-crash2.html 27715 27716 * html/FormAssociatedElement.cpp: 27717 (WebCore::FormAssociatedElement::formAttributeChanged): 27718 27719 2011-01-12 Kenichi Ishibashi <bashi (a] google.com> 27720 27721 Reviewed by Kent Tamura. 27722 27723 M_formElementsWithFormAttribute not cleared when Node is moved to another document. 27724 https://bugs.webkit.org/show_bug.cgi?id=51418 27725 27726 Calls unregisterFormElementWithFormAttribute() when form associated elements 27727 are moved to another document. 27728 27729 Test: fast/forms/change-form-element-document-crash.html 27730 27731 * html/FormAssociatedElement.cpp: 27732 (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added. 27733 * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument(). 27734 * html/HTMLFormControlElement.cpp: 27735 (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added. 27736 * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument(). 27737 * html/HTMLObjectElement.cpp: 27738 (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added. 27739 * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument(). 27740 * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected. 27741 27742 2011-01-12 Ryosuke Niwa <rniwa (a] webkit.org> 27743 27744 Reviewed by Eric Seidel. 27745 27746 Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand 27747 https://bugs.webkit.org/show_bug.cgi?id=52250 27748 27749 Removed instantiation of legacy editing positions. 27750 Calls to Position::Position are replaced by calls to Position's convenience functions. 27751 27752 Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode, 27753 which are functions that return firstPositionInNode and lastPositionInNode respectively 27754 when the specified node can have children for editing purpose and return positionBeforeNode 27755 and positionAfterNode respectively otherwise. They can be used to guarantee that we never 27756 create a bogus position like [img, 0] or [br, 0]. 27757 27758 No tests are added since this is a cleanup. 27759 27760 * editing/ApplyBlockElementCommand.cpp: 27761 (WebCore::ApplyBlockElementCommand::formatSelection): 27762 * editing/ApplyStyleCommand.cpp: 27763 (WebCore::ApplyStyleCommand::applyBlockStyle): 27764 (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): 27765 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): 27766 (WebCore::ApplyStyleCommand::removeInlineStyle): 27767 (WebCore::ApplyStyleCommand::nodeFullySelected): 27768 (WebCore::ApplyStyleCommand::nodeFullyUnselected): 27769 (WebCore::ApplyStyleCommand::splitTextAtStart): 27770 (WebCore::ApplyStyleCommand::splitTextAtEnd): 27771 (WebCore::ApplyStyleCommand::splitTextElementAtStart): 27772 (WebCore::ApplyStyleCommand::splitTextElementAtEnd): 27773 (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): 27774 (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): 27775 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): 27776 (WebCore::ApplyStyleCommand::computedFontSize): 27777 (WebCore::ApplyStyleCommand::joinChildTextNodes): 27778 * editing/ApplyStyleCommand.h: 27779 * editing/htmlediting.h: 27780 (WebCore::firstPositionInOrBeforeNode): Added. 27781 (WebCore::lastPositionInOrAfterNode): Added. 27782 27783 2011-01-12 Sam Weinig <sam (a] webkit.org> 27784 27785 Another build fix. 27786 27787 * platform/mac/WheelEventMac.mm: 27788 (WebCore::phaseForEvent): 27789 27790 2011-01-12 Sam Weinig <sam (a] webkit.org> 27791 27792 Fix build. 27793 27794 * platform/mac/WheelEventMac.mm: 27795 (WebCore::phaseForEvent): 27796 27797 2011-01-12 Adam Barth <abarth (a] webkit.org> 27798 27799 Reviewed by Darin Adler. 27800 27801 Remove premature optimization from SchemeRegistry 27802 https://bugs.webkit.org/show_bug.cgi?id=52283 27803 27804 As far as I can tell, this optimization isn't necessary. I'm slightly 27805 unsure which benchmarks to run to demonstrate this numerically, but 27806 none of the benchmarks Chromium tracks were affected by adding a 27807 similar check for "display-isolated" schemes. 27808 27809 * platform/SchemeRegistry.cpp: 27810 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal): 27811 27812 2011-01-12 Beth Dakin <bdakin (a] apple.com> 27813 27814 Reviewed by Anders Carlsson. 27815 27816 Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 27817 Expose fixed layout through WebKit SPI 27818 -and corresponding- 27819 <rdar://problem/8844464> 27820 27821 And now with getters! 27822 * WebCore.exp.in: 27823 27824 2011-01-12 Sam Weinig <sam (a] webkit.org> 27825 27826 Reviewed by Anders Carlsson. 27827 27828 https://bugs.webkit.org/show_bug.cgi?id=52337 27829 PlatformWheelEvent should know about the scroll phase on the Mac 27830 27831 Add a phase parameter on Mac PlatformWheelEvents. 27832 27833 * platform/PlatformWheelEvent.h: 27834 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 27835 (WebCore::PlatformWheelEvent::phase): 27836 * platform/mac/WheelEventMac.mm: 27837 (WebCore::phaseForEvent): 27838 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 27839 27840 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27841 27842 Unreviewed. 27843 27844 A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321 27845 were omitted. 27846 27847 * platform/graphics/ca/GraphicsLayerCA.cpp: 27848 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): 27849 27850 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27851 27852 Unreviewed. 27853 27854 Getting rid of an assert that was causing build failures that turns out not to be needed. 27855 27856 * rendering/RenderLayer.cpp: 27857 (WebCore::RenderLayer::paintsWithTransform): 27858 27859 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27860 27861 Unreviewed. 27862 27863 Another fix for Gtk 27864 27865 * rendering/RenderLayer.cpp: 27866 (WebCore::RenderLayer::paintsWithTransform): 27867 27868 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27869 27870 Unreviewed. 27871 27872 Fix for Gtk and Windows builds 27873 27874 * page/Frame.cpp: 27875 (WebCore::Frame::scalePage): 27876 * page/Frame.h: 27877 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 27878 (PlatformCALayer::contentsScale): 27879 (PlatformCALayer::setContentsScale): 27880 27881 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27882 27883 UNreviewed. 27884 27885 Fix for the Windows build 27886 27887 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 27888 (contentsScale): 27889 (setContentsScale): 27890 27891 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27892 27893 Unreviewed. 27894 27895 Another build fix 27896 27897 * platform/graphics/ca/GraphicsLayerCA.cpp: 27898 (WebCore::GraphicsLayerCA::clampedContentsScaleForScale): 27899 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 27900 (PlatformCALayer::setContentsScale): 27901 27902 2011-01-11 Matthew Delaney <mdelaney (a] apple.com> 27903 27904 Reviewed by Simon Fraser. 27905 27906 Max area bound needed in creation of IOSurface in ImageBufferCG.cpp 27907 https://bugs.webkit.org/show_bug.cgi?id=52172 27908 27909 Tests: fast/canvas/canvas-large-dimensions.html 27910 27911 * platform/graphics/cg/ImageBufferCG.cpp: 27912 (WebCore::ImageBuffer::ImageBuffer): 27913 27914 2011-01-12 Daniel Bates <dbates (a] rim.com> 27915 And Benjamin C Meyer <bmeyer (a] rim.com> 27916 27917 Build fix when building with Inspector disabled 27918 https://bugs.webkit.org/show_bug.cgi?id=52313 27919 27920 After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not 27921 possible to build when the Inspector is disabled. 27922 27923 * inspector/InspectorInstrumentation.h: 27924 (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building 27925 with Inspector disabled and Offline Web Applications enabled by moving macro guard condition 27926 ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also 27927 consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other 27928 InspectorInstrumentation functions. 27929 * loader/appcache/ApplicationCacheGroup.cpp: 27930 (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector 27931 disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable 27932 ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building 27933 with the Inspector. 27934 (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto. 27935 (WebCore::ApplicationCacheGroup::didFail): Ditto. 27936 27937 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27938 27939 Unreviewed. 27940 27941 Fix a build issue from http://trac.webkit.org/changeset/75639. 27942 27943 * platform/graphics/GraphicsLayer.h: 27944 (WebCore::GraphicsLayer::contentsScale): 27945 (WebCore::GraphicsLayer::setContentsScale): 27946 27947 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27948 27949 Reviewed by Kevin Decker. 27950 27951 Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied 27952 rdar://problem/8824974 27953 27954 This prevents the rootLayer (with the WebKit rendered content) from going becoming 27955 a tiled layer when zoomed, and when there is other layered content on the page. 27956 This speeds up zooming a lot and avoids some buggy behavior in CA with a very large 27957 number of layers. 27958 27959 * rendering/RenderLayer.cpp: 27960 (WebCore::RenderLayer::paintsWithTransform): 27961 * rendering/RenderLayer.h: 27962 * rendering/RenderLayerBacking.cpp: 27963 (WebCore::RenderLayerBacking::paintingGoesToWindow): 27964 27965 2011-01-12 Chris Marrin <cmarrin (a] apple.com> 27966 27967 Reviewed by Simon Fraser. 27968 27969 Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied 27970 rdar://problem/8824974 27971 27972 When scaled, WebKit renders the page content at the scaled up size, so there are no 27973 scaling artifacts. But content drawn into a layer's backing store does not scale up. 27974 This is made worse by the fact that the root page contents become layered when there 27975 are other accelerated compositing layers present (video, plugins, etc.). 27976 27977 Plumb scaling factor from Frame::scalePage() down into all layers with content. It 27978 eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions 27979 are scaled, causing them to render larger and appear pixel perfect at the scaled 27980 page size. 27981 27982 * page/Frame.cpp: 27983 (WebCore::Frame::updateContentsScale): 27984 (WebCore::Frame::scalePage): 27985 * page/Frame.h: 27986 * platform/graphics/GraphicsLayer.h: 27987 * platform/graphics/ca/GraphicsLayerCA.cpp: 27988 (WebCore::GraphicsLayerCA::setContentsScale): 27989 (WebCore::GraphicsLayerCA::clampedContentsScaleForScale): 27990 * platform/graphics/ca/GraphicsLayerCA.h: 27991 (WebCore::GraphicsLayerCA::contentsScale): 27992 * platform/graphics/ca/PlatformCALayer.h: 27993 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 27994 (PlatformCALayer::contentsScale): 27995 (PlatformCALayer::setContentsScale): 27996 * rendering/RenderLayer.cpp: 27997 (WebCore::RenderLayer::updateContentsScale): 27998 * rendering/RenderLayer.h: 27999 * rendering/RenderLayerBacking.cpp: 28000 (WebCore::RenderLayerBacking::createGraphicsLayer): 28001 (WebCore::RenderLayerBacking::updateForegroundLayer): 28002 (WebCore::RenderLayerBacking::updateMaskLayer): 28003 (WebCore::RenderLayerBacking::updateContentsScale): 28004 * rendering/RenderLayerBacking.h: 28005 * rendering/RenderLayerCompositor.cpp: 28006 (WebCore::RenderLayerCompositor::updateContentsScale): 28007 * rendering/RenderLayerCompositor.h: 28008 28009 2011-01-12 Stephen White <senorblanco (a] chromium.org> 28010 28011 Reviewed by James Robinson. 28012 28013 Fix DrawingBuffer issues for depth/stencil, extensions, etc. 28014 https://bugs.webkit.org/show_bug.cgi?id=52310 28015 28016 1) GL_TEXTURE is not a valid argument to glFramebufferTexture2D() 28017 (should be GL_TEXTURE_2D). 28018 2) Support for the multisampling extension was being checked after 28019 the DrawingBuffer constructor was called, which calls multisample() 28020 to check for the extension. 28021 3) If depth or stencil is set, the corresponding framebuffers must 28022 be created in the DrawingBuffer constructor. 28023 4) GL_DEPTH_STENCIL is not a valid framebuffer internal type in 28024 GLES2. Must use GL_OES_DEPTH24_STENCIL8, and check for the 28025 OES_packed_depth_stencil extension. 28026 28027 * platform/graphics/chromium/DrawingBufferChromium.cpp: 28028 (WebCore::DrawingBuffer::DrawingBuffer): 28029 Record the extension support in the constructor. Create all the 28030 secondary drawing buffers (for multisampling, depth/stencil). 28031 * platform/graphics/gpu/DrawingBuffer.cpp: 28032 (WebCore::DrawingBuffer::create): 28033 Check for the extensions before calling the DrawingBuffer constructor. 28034 (WebCore::DrawingBuffer::createSecondaryBuffers): 28035 Refactor creation of the secondary buffers from DrawingBufferMac.mm to 28036 here. 28037 (WebCore::DrawingBuffer::reset): 28038 Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL. Use 28039 DEPTH_COMPONENT16, not DEPTH_COMPONENT. 28040 Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D). 28041 * platform/graphics/gpu/DrawingBuffer.h: 28042 Refactor createSecondaryBuffers(). Add extension support arguments to 28043 constructor. Add support for packed_depth_stencil extension. 28044 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 28045 (WebCore::DrawingBuffer::DrawingBuffer): 28046 Record extension support in constructor. Refactor out creation of 28047 secondary buffers. 28048 28049 2011-01-12 Beth Dakin <bdakin (a] apple.com> 28050 28051 Reviewed by Anders Carlsson. 28052 28053 Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose 28054 fixed layout through WebKit SPI 28055 -and corresponding- 28056 <rdar://problem/8844464> 28057 28058 Export symbols for ScrollView::setUseFixedLayout() and 28059 ScrollView::setFixedLayoutSize() 28060 * WebCore.exp.in: 28061 28062 2011-01-12 Robert Hogan <robert (a] webkit.org> 28063 28064 Reviewed by Kenneth Rohde Christiansen. 28065 28066 [Qt] Search input field doesn't have cancel button 28067 28068 Add a cancel button to the search field and make it customizable 28069 by the client. For now, use the close dialog button associated 28070 with the application's style as the default. 28071 28072 Unskip a bunch of search field related tests that pass now: 28073 28074 fast/forms/search-cancel-button-mouseup.html 28075 fast/forms/search-rtl.html 28076 fast/forms/search-abs-pos-cancel-button.html 28077 fast/forms/search-styled.html 28078 fast/forms/search-transformed.html 28079 fast/forms/search-zoomed.html 28080 fast/forms/search-cancel-button-style-sharing.html 28081 fast/forms/search-display-none-cancel-button.html 28082 fast/forms/search-placeholder-value-changed.html 28083 fast/repaint/search-field-cancel.html 28084 fast/forms/search-cancel-button-events.html 28085 28086 https://bugs.webkit.org/show_bug.cgi?id=42887 28087 28088 * platform/graphics/qt/ImageQt.cpp: 28089 (loadResourcePixmap): 28090 * platform/qt/RenderThemeQt.cpp: 28091 (WebCore::RenderThemeQt::isControlStyled): 28092 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 28093 (WebCore::RenderThemeQt::paintSearchField): 28094 (WebCore::RenderThemeQt::adjustSearchFieldStyle): 28095 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): 28096 (WebCore::RenderThemeQt::convertToPaintingRect): 28097 (WebCore::RenderThemeQt::paintSearchFieldCancelButton): 28098 * platform/qt/RenderThemeQt.h: 28099 28100 2011-01-12 Andrey Kosyakov <caseq (a] chromium.org> 28101 28102 Reviewed by Pavel Feldman. 28103 28104 Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view 28105 Only create cookiesTable is it hasn't been done yet. 28106 https://bugs.webkit.org/show_bug.cgi?id=52303 28107 28108 * inspector/front-end/ResourceCookiesView.js: 28109 (WebInspector.ResourceCookiesView.prototype.show): 28110 28111 2011-01-12 Koan-Sin Tan <koansin.tan (a] gmail.com> 28112 28113 Reviewed by Martin Robinson. 28114 28115 [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6 28116 https://bugs.webkit.org/show_bug.cgi?id=50867 28117 28118 * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK)) 28119 Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>. 28120 On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 28121 <xlocale/_ctype.h>, which uses isacii(). 28122 * platform/UUID.cpp: 28123 (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF) 28124 use the Chromium Linux UUID generation. 28125 28126 2011-01-12 Simon Fraser <simon.fraser (a] apple.com> 28127 28128 Reviewed by Eric Seidel. 28129 28130 [CSS Gradients] One color stop should not paint anything for linear-gradient 28131 https://bugs.webkit.org/show_bug.cgi?id=52259 28132 28133 Share color stop parsing code between linear and radial gradients. 28134 Consider the gradient invalid if it has less than two color stops. 28135 28136 * css/CSSParser.cpp: 28137 (WebCore::CSSParser::parseLinearGradient): 28138 (WebCore::CSSParser::parseRadialGradient): 28139 (WebCore::CSSParser::parseGradientColorStops): 28140 * css/CSSParser.h: 28141 28142 2011-01-12 Mikhail Naganov <mnaganov (a] chromium.org> 28143 28144 Reviewed by Pavel Feldman. 28145 28146 Fix inconsistencies in Inspector strings found by the new check-inspector-strings script. 28147 28148 https://bugs.webkit.org/show_bug.cgi?id=52295 28149 28150 * English.lproj/localizedStrings.js: 28151 * inspector/front-end/BreakpointsSidebarPane.js: 28152 (WebInspector.EventListenerBreakpointsSidebarPane): 28153 * inspector/front-end/ProfilesPanel.js: 28154 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): 28155 * inspector/front-end/Resource.js: 28156 (WebInspector.Resource.Type.toString): 28157 * inspector/front-end/ResourcesPanel.js: 28158 (WebInspector.ResourceRevisionTreeElement): 28159 * inspector/front-end/utilities.js: 28160 (): 28161 28162 2011-01-12 Yury Semikhatsky <yurys (a] chromium.org> 28163 28164 Unreviewed. Fix WML compilation on Mac. 28165 28166 * wml/WMLInputElement.cpp: 28167 (WebCore::WMLInputElement::setValue): 28168 (WebCore::WMLInputElement::setValueForUser): 28169 (WebCore::WMLInputElement::initialize): 28170 (WebCore::WMLInputElement::validateInputMask): 28171 * wml/WMLSelectElement.cpp: 28172 (WebCore::WMLSelectElement::listBoxSelectItem): 28173 28174 2011-01-12 Justin Schuh <jschuh (a] chromium.org> 28175 28176 Unreviewed build fix for debug strict compiles. 28177 28178 Use fprintf for debug statements instead of fwrite, which caused compile failures 28179 in debug strict mode because of failure to check the fwrite return value. 28180 28181 No behavior changed. 28182 28183 * rendering/CounterNode.cpp: 28184 (WebCore::showTreeAndMark): 28185 28186 2010-12-29 Yury Semikhatsky <yurys (a] chromium.org> 28187 28188 Reviewed by Pavel Feldman. 28189 28190 inspector/timeline-network-resource.html fails when run twice 28191 https://bugs.webkit.org/show_bug.cgi?id=37394 28192 28193 Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier 28194 instead of ResourceLoader::didReceiveResponse to cover the cases when resources 28195 are loaded from memory cache. 28196 28197 Network notifications are now sent to InspectorInstrumentation which dispatches 28198 them to interested agents and InspectorController. 28199 28200 * inspector/Inspector.idl: 28201 * inspector/InspectorApplicationCacheAgent.cpp: 28202 (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse): 28203 * inspector/InspectorController.cpp: 28204 (WebCore::InspectorController::InspectorController): 28205 (WebCore::InspectorController::didCommitLoad): 28206 (WebCore::InspectorController::willSendRequest): 28207 (WebCore::InspectorController::didReceiveResponse): 28208 (WebCore::InspectorController::didFailLoading): 28209 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 28210 * inspector/InspectorController.h: 28211 * inspector/InspectorInstrumentation.cpp: 28212 (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): 28213 (WebCore::InspectorInstrumentation::willSendRequestImpl): 28214 (WebCore::InspectorInstrumentation::markResourceAsCachedImpl): 28215 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): 28216 (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): 28217 (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): 28218 (WebCore::InspectorInstrumentation::didFinishLoadingImpl): 28219 (WebCore::InspectorInstrumentation::didFailLoadingImpl): 28220 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): 28221 (WebCore::InspectorInstrumentation::scriptImportedImpl): 28222 (WebCore::InspectorInstrumentation::retrieveResourceAgent): 28223 * inspector/InspectorInstrumentation.h: 28224 (WebCore::InspectorInstrumentation::identifierForInitialRequest): 28225 (WebCore::InspectorInstrumentation::willSendRequest): 28226 (WebCore::InspectorInstrumentation::markResourceAsCached): 28227 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): 28228 (WebCore::InspectorInstrumentation::willReceiveResourceResponse): 28229 (WebCore::InspectorInstrumentation::didReceiveContentLength): 28230 (WebCore::InspectorInstrumentation::didFinishLoading): 28231 (WebCore::InspectorInstrumentation::didFailLoading): 28232 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest): 28233 (WebCore::InspectorInstrumentation::scriptImported): 28234 * inspector/InspectorResourceAgent.cpp: 28235 (WebCore::InspectorResourceAgent::identifierForInitialRequest): 28236 * inspector/InspectorResourceAgent.h: 28237 * inspector/InspectorTimelineAgent.cpp: 28238 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 28239 * inspector/InspectorTimelineAgent.h: 28240 * inspector/TimelineRecordFactory.cpp: 28241 (WebCore::TimelineRecordFactory::createResourceSendRequestData): 28242 * inspector/TimelineRecordFactory.h: 28243 * inspector/front-end/NetworkManager.js: 28244 (WebInspector.NetworkManager.prototype.identifierForInitialRequest): 28245 * inspector/front-end/TimelinePanel.js: 28246 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 28247 * loader/FrameLoader.cpp: 28248 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 28249 * loader/ResourceLoadNotifier.cpp: 28250 (WebCore::ResourceLoadNotifier::didReceiveResponse): 28251 (WebCore::ResourceLoadNotifier::didFailToLoad): 28252 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 28253 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 28254 (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): 28255 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 28256 (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 28257 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): 28258 * loader/ResourceLoader.cpp: 28259 (WebCore::ResourceLoader::didReceiveResponse): 28260 * loader/appcache/ApplicationCacheGroup.cpp: 28261 (WebCore::ApplicationCacheGroup::createResourceHandle): 28262 (WebCore::ApplicationCacheGroup::didReceiveResponse): 28263 (WebCore::ApplicationCacheGroup::didReceiveData): 28264 (WebCore::ApplicationCacheGroup::didFinishLoading): 28265 (WebCore::ApplicationCacheGroup::didFail): 28266 * loader/appcache/ApplicationCacheGroup.h: 28267 * workers/DefaultSharedWorkerRepository.cpp: 28268 (WebCore::SharedWorkerScriptLoader::notifyFinished): 28269 * workers/Worker.cpp: 28270 (WebCore::Worker::notifyFinished): 28271 * workers/WorkerContext.cpp: 28272 (WebCore::WorkerContext::importScripts): 28273 * xml/XMLHttpRequest.cpp: 28274 (WebCore::XMLHttpRequest::didFinishLoading): 28275 28276 2011-01-12 Pavel Podivilov <podivilov (a] chromium.org> 28277 28278 Reviewed by Pavel Feldman. 28279 28280 Web Inspector: do not replace all tabs with spaces when editing script source 28281 https://bugs.webkit.org/show_bug.cgi?id=52291 28282 28283 * inspector/front-end/SourceFrame.js: 28284 (WebInspector.SourceFrame.prototype.setContent): 28285 (WebInspector.SourceFrame.prototype._editLine): 28286 28287 2011-01-11 Jeremy Orlow <jorlow (a] chromium.org> 28288 28289 Reviewed by Nate Chapin. 28290 28291 Enforce READ_ONLY transactions in IndexedDB 28292 https://bugs.webkit.org/show_bug.cgi?id=52229 28293 28294 Add READ_ONLY_ERR and return it whenever delete or put 28295 are called. Note that IDBCursor's delete and update 28296 are simply aliases for delete/put, which is why no 28297 extra code is required to handle those cases. 28298 28299 Test: storage/indexeddb/transaction-read-only.html 28300 28301 * dom/ExceptionCode.cpp: 28302 * storage/IDBCursorBackendImpl.cpp: 28303 (WebCore::IDBCursorBackendImpl::deleteFunction): 28304 * storage/IDBDatabase.idl: 28305 * storage/IDBDatabaseException.h: 28306 * storage/IDBDatabaseException.idl: 28307 * storage/IDBObjectStoreBackendImpl.cpp: 28308 (WebCore::IDBObjectStoreBackendImpl::put): 28309 (WebCore::IDBObjectStoreBackendImpl::deleteFunction): 28310 (WebCore::IDBObjectStoreBackendImpl::deleteIndex): 28311 28312 2011-01-11 Philippe Normand <pnormand (a] igalia.com> 28313 28314 Reviewed by Eric Seidel. 28315 28316 [GTK] minimal build breaks in RenderThemeGtk3 28317 https://bugs.webkit.org/show_bug.cgi?id=52202 28318 28319 * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around 28320 initMediaColors(). 28321 28322 2011-01-11 Philippe Normand <pnormand (a] igalia.com> 28323 28324 Reviewed by Eric Carlson. 28325 28326 [GStreamer] PlatformVideoWindowMac implementation 28327 https://bugs.webkit.org/show_bug.cgi?id=50770 28328 28329 This new implementation will be used on Mac OS to display the 28330 fullscreen video window with the GStreamer-based media player. 28331 28332 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 28333 (WebCore::gstGWorldSyncMessageCallback): 28334 * platform/graphics/gstreamer/PlatformVideoWindow.h: 28335 (WebCore::PlatformVideoWindow::window): 28336 * platform/graphics/gstreamer/PlatformVideoWindowMac.mm: 28337 (PlatformVideoWindow::PlatformVideoWindow): 28338 (PlatformVideoWindow::~PlatformVideoWindow): 28339 (PlatformVideoWindow::prepareForOverlay): 28340 28341 2011-01-11 Simon Fraser <simon.fraser (a] apple.com> 28342 28343 Reviewed by Dan Bernstein. 28344 28345 Webkit crashes when a gradient is applied using the first-line pseudo element 28346 https://bugs.webkit.org/show_bug.cgi?id=52225 28347 28348 When a pseudostyle references images, we fail to register/unregister 28349 the relevant RenderObjects as clients of the image in the style. 28350 For gradients, this caused a crash. 28351 28352 This patch fixes the crash by returning a null gradient image in this 28353 situation. 28354 28355 Test: fast/gradients/gradient-on-pseudoelement-crash.html 28356 28357 * css/CSSGradientValue.cpp: 28358 (WebCore::CSSGradientValue::image): 28359 28360 2011-01-11 Andy Estes <aestes (a] apple.com> 28361 28362 Reviewed by Darin Adler. 28363 28364 REGRESSION (r71562): servePendingRequests() no longer called when 28365 resources are done loading. 28366 https://bugs.webkit.org/show_bug.cgi?id=52264 28367 <rdar://problem/8767429> 28368 28369 In r71562, servePendingRequests() is no longer called in Loader's 28370 didFinishLoading(), didFail() and didReceiveResponse() methods. Since 28371 r71562 was intended only as a refactoring, these calls should be 28372 restored. At least one WebKit-based Mac OS X application relies on this 28373 for correct behavior. 28374 28375 * loader/cache/CachedResourceLoader.cpp: 28376 (WebCore::CachedResourceLoader::loadDone): Call 28377 resourceLoadScheduler()->servePendingRequests(). 28378 28379 2011-01-11 Patrick Gansterer <paroga (a] webkit.org> 28380 28381 Reviewed by Eric Seidel. 28382 28383 Add Document::setContent() 28384 https://bugs.webkit.org/show_bug.cgi?id=52085 28385 28386 Add a method to Document to set the whole content at once. 28387 This removes the hack of the insert method in the xml parser 28388 and is a predecessor to feed the xml parser with raw data. 28389 28390 * dom/Document.cpp: 28391 (WebCore::Document::setContent): 28392 * dom/Document.h: 28393 * dom/XMLDocumentParser.cpp: 28394 (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED(). 28395 * loader/cache/CachedFont.cpp: 28396 (WebCore::CachedFont::ensureSVGFontData): Use setContent. 28397 * xml/DOMParser.cpp: 28398 (WebCore::DOMParser::parseFromString): Ditto. 28399 * xml/XMLHttpRequest.cpp: 28400 (WebCore::XMLHttpRequest::responseXML): Ditto. 28401 * xml/XSLTProcessor.cpp: 28402 (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. 28403 28404 2011-01-11 Brent Fulgham <bfulgham (a] webkit.org> 28405 28406 Unreviewed build fix. 28407 28408 * platform/graphics/cairo/PathCairo.cpp: 28409 (WebCore::Path::addArc): Switch to MathExtra's piFloat define, 28410 rather than M_PI which is not always available. 28411 28412 2011-01-11 Nicolas Dufresne <nicolas.dufresne (a] collabora.co.uk> 28413 28414 Reviewed by Adam Barth. 28415 28416 Use plug-in DB for extensions to MIME type convertion 28417 28418 Plugins extension to MIME type conversion was not used in the 28419 frameLoader. This was causing some fallback to be use which as the side 28420 effect of loosing all the <OBJECT> parameters or <EMBED> attributes. 28421 This patch ensure that we try to convert the extension to MIME type 28422 using the plugin database beofre using this fallback. 28423 28424 Attribute lost with Flash plugin without mime type set 28425 https://bugs.webkit.org/show_bug.cgi?id=50657 28426 28427 Test: plugins/no-mime-with-valid-extension.html 28428 28429 * loader/FrameLoader.cpp: 28430 (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME 28431 28432 2011-01-11 James Simonsen <simonjam (a] chromium.org> 28433 28434 Reviewed by Eric Seidel. 28435 28436 [Web Timing] Rename sslHandshakeStart to secureConnectionStart 28437 https://bugs.webkit.org/show_bug.cgi?id=52239 28438 28439 * page/PerformanceTiming.cpp: 28440 (WebCore::PerformanceTiming::secureConnectionStart): 28441 * page/PerformanceTiming.h: 28442 * page/PerformanceTiming.idl: 28443 28444 2011-01-11 Adam Barth <abarth (a] webkit.org> 28445 28446 Reviewed by Eric Seidel. 28447 28448 Introduce the notion of a "display-isolated" URL scheme for use by 28449 Chrome-internal URLs 28450 https://bugs.webkit.org/show_bug.cgi?id=50182 28451 28452 This patch actually makes the display-isolated schemes display 28453 isolated. The behavior should be the same as the previous iteration of 28454 this patch, but re-organized a bit because reading the access white 28455 list is expensive. 28456 28457 * page/SecurityOrigin.cpp: 28458 (WebCore::SecurityOrigin::isAccessToURLWhiteListed): 28459 (WebCore::SecurityOrigin::canDisplay): 28460 * page/SecurityOrigin.h: 28461 * platform/SchemeRegistry.cpp: 28462 * platform/SchemeRegistry.h: 28463 28464 2011-01-11 Mihai Parparita <mihaip (a] chromium.org> 28465 28466 Reviewed by Darin Fisher. 28467 28468 Scroll event should be fired asynchronously 28469 https://bugs.webkit.org/show_bug.cgi?id=45631 28470 28471 Tests: fast/events/fire-scroll-event.html 28472 fast/events/fire-scroll-event-element.html 28473 fast/events/scroll-event-phase.html 28474 28475 Makes scroll events fire asynchronously to be in compliance with the 28476 CSSOM View Module and consistent with Gecko, Opera and (to some degree) 28477 IE. 28478 28479 Implemented via the EventQueue class added by r74062 (EventQueue now 28480 has a convenience enqueueScrollEvent method). 28481 28482 * dom/EventQueue.cpp: 28483 (WebCore::EventQueue::enqueueScrollEvent): 28484 (WebCore::EventQueue::pendingEventTimerFired): 28485 * dom/EventQueue.h: 28486 * page/EventHandler.cpp: 28487 (WebCore::EventHandler::sendScrollEvent): 28488 * rendering/RenderLayer.cpp: 28489 (WebCore::RenderLayer::scrollToOffset): 28490 * rendering/RenderListBox.cpp: 28491 (WebCore::RenderListBox::valueChanged): 28492 28493 2011-01-11 Patrick Gansterer <paroga (a] webkit.org> 28494 28495 Unreviewed WinCE build fix for r75523. 28496 28497 * platform/wince/DragDataWinCE.cpp: Added missing include. 28498 28499 2011-01-11 Abhishek Arya <inferno (a] chromium.org> 28500 28501 Reviewed by Dimitri Glazkov. 28502 28503 RefPtr the FrameView to prevent scrollbar from getting deleted inside 28504 its scroll event. 28505 https://bugs.webkit.org/show_bug.cgi?id=52238 28506 28507 Test: scrollbars/scrollable-iframe-remove-crash.html 28508 28509 * page/DOMWindow.cpp: 28510 (WebCore::DOMWindow::scrollTo): 28511 28512 2011-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 28513 28514 Reviewed by David Hyatt. 28515 28516 Make pseudo-style resolution less hard-coded when used to select a shadow node 28517 https://bugs.webkit.org/show_bug.cgi?id=46595 28518 28519 Essentially implements the plumbing for the XBL2 pseudo attribute: 28520 http://dev.w3.org/2006/xbl2/#the-pseudo-attribute 28521 28522 Test: fast/css/unknown-pseudo-element-matching.html 28523 28524 * css/CSSGrammar.y: Changed to handle specifier_list structure with the 28525 CSSParser::updateSpecifierWithElementName helper, added logic to 28526 keep unknown pseudo-element selectors at the top of the selector chain, 28527 so that we can easily check for them and grab them, and also because 28528 they would either not match anything or act as a descendant selector 28529 (descendant into a shadow DOM subtree that is), not a specifier. 28530 * css/CSSParser.cpp: 28531 (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined 28532 the logic adding element name to selectors and added the special case 28533 to handle unknown pseudo-element selectors. 28534 * css/CSSParser.h: Added def. 28535 * css/CSSSelector.cpp: 28536 (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB. 28537 (WebCore::nameToPseudoTypeMap): Ditto. 28538 (WebCore::CSSSelector::extractPseudoType): Ditto. 28539 * css/CSSSelector.h: Added a new ShadowDescendant relation type, 28540 removed PseudoSliderThumb def. 28541 (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method. 28542 * css/CSSSelectorList.cpp: 28543 (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor 28544 to check for an unknown pseudo-element in the list. 28545 (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added. 28546 * css/CSSSelectorList.h: Added a def. 28547 * css/CSSStyleSelector.cpp: 28548 (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash. 28549 (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements. 28550 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling 28551 of ShadowDescendant relation. 28552 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling 28553 of unknown pseudo-element selectors. 28554 (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash. 28555 * css/html.css: 28556 (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded 28557 display:block. 28558 * dom/Element.h: 28559 (WebCore::Element::shadowPseudoId): Added new virtual method to allow 28560 elements to provide the value of pseudo-element selector they would match. 28561 * dom/Node.cpp: 28562 (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors, 28563 so that we can throw a SYNTAX_ERR if found. 28564 (WebCore::Node::querySelectorAll): Ditto. 28565 * html/shadow/SliderThumbElement.h: 28566 (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb"; 28567 * rendering/RenderSlider.cpp: 28568 (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic. 28569 * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB. 28570 28571 2011-01-11 Dean Jackson <dino (a] apple.com> 28572 28573 Reviewed by Simon Fraser. 28574 28575 https://bugs.webkit.org/show_bug.cgi?id=52233 28576 28577 WebKitCSSMatrix constructor should accept 'none' 28578 as a valid string parameter. 28579 28580 * css/WebKitCSSMatrix.cpp: 28581 (WebCore::WebKitCSSMatrix::setMatrixValue): 28582 28583 2011-01-11 James Robinson <jamesr (a] chromium.org> 28584 28585 Reviewed by Dimitri Glazkov. 28586 28587 Set all RenderBlocks as replaced when an inline display type is specified 28588 https://bugs.webkit.org/show_bug.cgi?id=50858 28589 28590 When a RenderBlock is created for an element with a specified display:inline style, 28591 it should always be treated as inline-block. This situations often comes up for form 28592 controls. Previously, RenderBlock::styleWillChange set the replaced flag for display 28593 values of inline-block, inline-table, and inline-table and a number of subclasses of 28594 RenderBlock set the replaced flag in styleDidChange for a display:inline. However 28595 sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails). 28596 This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange. 28597 28598 Code cleanup only, no change in behavior so no new tests. 28599 28600 * rendering/RenderBlock.cpp: 28601 (WebCore::RenderBlock::styleWillChange): 28602 * rendering/RenderButton.cpp: 28603 (WebCore::RenderButton::styleDidChange): 28604 * rendering/RenderFieldset.cpp: 28605 * rendering/RenderFieldset.h: 28606 * rendering/RenderFileUploadControl.cpp: 28607 (WebCore::RenderFileUploadControl::styleDidChange): 28608 * rendering/RenderListBox.cpp: 28609 * rendering/RenderListBox.h: 28610 * rendering/RenderMenuList.cpp: 28611 (WebCore::RenderMenuList::styleDidChange): 28612 * rendering/RenderSlider.cpp: 28613 (WebCore::RenderSlider::styleDidChange): 28614 * rendering/RenderTextControl.cpp: 28615 (WebCore::RenderTextControl::styleDidChange): 28616 28617 2011-01-11 Dimitri Glazkov <dglazkov (a] chromium.org> 28618 28619 Reviewed by Eric Seidel. 28620 28621 REGRESSION(r71934) Can't type in search edit field on skin-one.com 28622 https://bugs.webkit.org/show_bug.cgi?id=52195 28623 28624 Restored the original behavior, where the selectstart event is not 28625 dispatched when selection changes inside of the shadow DOM. 28626 28627 * dom/Node.cpp: 28628 (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining 28629 logic into a helper function, also added a check to keep selectstart 28630 events inside of the shadow DOM. 28631 (WebCore::Node::dispatchGenericEvent): Changed to use the helper function. 28632 28633 2011-01-11 Viatcheslav Ostapenko <ostapenko.viatcheslav (a] nokia.com> 28634 28635 Reviewed by Eric Seidel. 28636 28637 [Qt] Provide plugin coordinates to windowless plugins on Symbian. 28638 https://bugs.webkit.org/show_bug.cgi?id=52213 28639 28640 * plugins/symbian/PluginViewSymbian.cpp: 28641 (WebCore::PluginView::setNPWindowIfNeeded): 28642 28643 2011-01-10 Zhenyao Mo <zmo (a] google.com> 28644 28645 Reviewed by Kenneth Russell. 28646 28647 Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe 28648 https://bugs.webkit.org/show_bug.cgi?id=52068 28649 28650 * html/canvas/WebGLRenderingContext.cpp: 28651 (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes. 28652 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. 28653 (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error. 28654 (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. 28655 (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes. 28656 * platform/graphics/GraphicsContext3D.cpp: 28657 (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment. 28658 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type. 28659 (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added. 28660 * platform/graphics/GraphicsContext3D.h: 28661 28662 2011-01-10 Enrica Casucci <enrica (a] apple.com> 28663 28664 Reviewed by Alexey Proskuryakov. 28665 28666 Paste and drag and drop use different code paths to interact with the pasteboard. 28667 https://bugs.webkit.org/show_bug.cgi?id=52093 28668 The change consists in a refactoring of the code to have only one class that 28669 deals with the pasteboard on Mac. 28670 28671 No new tests. A test is already available for this 28672 (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results. 28673 28674 * WebCore.exp.in: 28675 * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality 28676 that is in NSURLExtras. 28677 (WebCore::EmptyEditorClient::canonicalizeURL): 28678 (WebCore::EmptyEditorClient::canonicalizeURLString): 28679 * page/DragController.cpp: 28680 The following methods have been changed to pass a pointer to the Frame object 28681 to the DragData class. 28682 (WebCore::documentFragmentFromDragData): 28683 (WebCore::DragController::performDrag): 28684 (WebCore::DragController::dispatchTextInputEventFor): 28685 (WebCore::DragController::concludeEditDrag): 28686 * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality 28687 that is in NSURLExtras. 28688 The following files have been modified to pass the Frame object to the DragData method calls. 28689 * page/chromium/DragControllerChromium.cpp: 28690 (WebCore::DragController::dragOperation): 28691 * page/gtk/DragControllerGtk.cpp: 28692 (WebCore::DragController::dragOperation): 28693 * page/mac/DragControllerMac.mm: 28694 (WebCore::DragController::dragOperation): 28695 * page/qt/DragControllerQt.cpp: 28696 (WebCore::DragController::dragOperation): 28697 * page/win/DragControllerWin.cpp: 28698 (WebCore::DragController::dragOperation): 28699 * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class. 28700 * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard. 28701 The following files were all modified to match the new parameters of the methods listed. 28702 * platform/android/DragDataAndroid.cpp: 28703 (WebCore::DragData::asPlainText): 28704 (WebCore::DragData::containsURL): 28705 (WebCore::DragData::asURL): 28706 (WebCore::DragData::asFragment): 28707 * platform/chromium/DragDataChromium.cpp: 28708 (WebCore::DragData::containsURL): 28709 (WebCore::DragData::asURL): 28710 (WebCore::DragData::asPlainText): 28711 (WebCore::DragData::containsCompatibleContent): 28712 (WebCore::DragData::asFragment): 28713 * platform/gtk/DragDataGtk.cpp: 28714 (WebCore::DragData::asPlainText): 28715 (WebCore::DragData::containsCompatibleContent): 28716 (WebCore::DragData::containsURL): 28717 (WebCore::DragData::asURL): 28718 (WebCore::DragData::asFragment): 28719 * platform/haiku/DragDataHaiku.cpp: 28720 (WebCore::DragData::asPlainText): 28721 (WebCore::DragData::containsURL): 28722 (WebCore::DragData::asURL): 28723 (WebCore::DragData::asFragment): 28724 * platform/mac/DragDataMac.mm: 28725 (WebCore::DragData::DragData): 28726 (WebCore::DragData::asPlainText): 28727 (WebCore::insertablePasteboardTypes): 28728 (WebCore::DragData::containsCompatibleContent): 28729 (WebCore::DragData::containsURL): 28730 (WebCore::DragData::asURL): 28731 (WebCore::DragData::asFragment): 28732 * platform/mac/PasteboardMac.mm: 28733 (WebCore::Pasteboard::getBestURL): 28734 (WebCore::Pasteboard::asURL): 28735 * platform/qt/DragDataQt.cpp: 28736 (WebCore::DragData::asPlainText): 28737 (WebCore::DragData::containsCompatibleContent): 28738 (WebCore::DragData::containsURL): 28739 (WebCore::DragData::asURL): 28740 (WebCore::DragData::asFragment): 28741 * platform/win/DragDataWin.cpp: 28742 (WebCore::DragData::containsURL): 28743 (WebCore::DragData::asURL): 28744 (WebCore::DragData::asPlainText): 28745 (WebCore::DragData::containsCompatibleContent): 28746 (WebCore::DragData::asFragment): 28747 * platform/wince/DragDataWinCE.cpp: 28748 (WebCore::DragData::containsURL): 28749 (WebCore::DragData::asURL): 28750 (WebCore::DragData::asPlainText): 28751 (WebCore::DragData::asFragment): 28752 * platform/wx/DragDataWx.cpp: 28753 (WebCore::DragData::asPlainText): 28754 (WebCore::DragData::containsURL): 28755 (WebCore::DragData::asURL): 28756 (WebCore::DragData::asFragment): 28757 28758 2011-01-11 Abhishek Arya <inferno (a] chromium.org> 28759 28760 Reviewed by Dimitri Glazkov. 28761 28762 RefPtr text node in setOuterText since calling appendData 28763 on a text node can fire away dom event listener which might 28764 remove the text node from underneath. 28765 https://bugs.webkit.org/show_bug.cgi?id=52163 28766 28767 Test: fast/dom/text-node-append-data-remove-crash.html 28768 28769 * html/HTMLElement.cpp: 28770 (WebCore::HTMLElement::setOuterText): 28771 28772 2011-01-11 Carlos Garcia Campos <cgarcia (a] igalia.com> 28773 28774 Reviewed by Martin Robinson. 28775 28776 [GTK] Add support for <meter> element 28777 https://bugs.webkit.org/show_bug.cgi?id=48713 28778 28779 * GNUmakefile.am: Enable meter element. 28780 28781 2011-01-11 Csaba Osztrogonc <ossy (a] webkit.org> 28782 28783 Unreviewed buildfix. 28784 28785 [Qt][V8] Add missing include for debug build. 28786 28787 * loader/cache/CachedResourceLoader.cpp: 28788 28789 2011-01-11 Pavel Feldman <pfeldman (a] chromium.org> 28790 28791 Reviewed by Yury Semikhatsky. 28792 28793 Web Inspector: redirects are lost from the network panel upon navigation. 28794 https://bugs.webkit.org/show_bug.cgi?id=52210 28795 28796 * inspector/front-end/NetworkManager.js: 28797 (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): 28798 28799 2011-01-11 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 28800 28801 Reviewed by Kenneth Rohde Christiansen. 28802 28803 [Qt] Remove uses of QFuture since it isn't supported on all platforms. 28804 https://bugs.webkit.org/show_bug.cgi?id=51204 28805 28806 * platform/network/qt/QtNAMThreadSafeProxy.cpp: 28807 (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy): 28808 (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl): 28809 (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache): 28810 * platform/network/qt/QtNAMThreadSafeProxy.h: 28811 (WebCore::QtNAMThreadSafeProxy::cookiesForUrl): 28812 (WebCore::QtNAMThreadSafeProxy::willLoadFromCache): 28813 28814 2011-01-11 Pavel Podivilov <podivilov (a] chromium.org> 28815 28816 Reviewed by Pavel Feldman. 28817 28818 Web Inspector: recreate script view after live edit. 28819 https://bugs.webkit.org/show_bug.cgi?id=51751 28820 28821 * inspector/front-end/Script.js: 28822 (WebInspector.Script.prototype.set source): 28823 * inspector/front-end/ScriptView.js: 28824 (WebInspector.ScriptView): 28825 * inspector/front-end/ScriptsPanel.js: 28826 (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): 28827 (WebInspector.ScriptsPanel.prototype.editScriptSource): 28828 (WebInspector.ScriptsPanel.prototype.viewRecreated): 28829 * inspector/front-end/SourceFrame.js: 28830 (WebInspector.SourceFrame.prototype._doEditLine): 28831 28832 2011-01-11 Pavel Podivilov <podivilov (a] chromium.org> 28833 28834 Reviewed by Pavel Feldman. 28835 28836 Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager. 28837 https://bugs.webkit.org/show_bug.cgi?id=52205 28838 28839 * inspector/front-end/NetworkManager.js: 28840 (WebInspector.NetworkManager.prototype.frameDetachedFromParent): 28841 28842 2011-01-11 Alexander Pavlov <apavlov (a] chromium.org> 28843 28844 Reviewed by Pavel Feldman. 28845 28846 Web Inspector: "Audit present state" always disabled 28847 https://bugs.webkit.org/show_bug.cgi?id=52199 28848 28849 Removed all traces of resource tracking checks, as we have it no more. 28850 28851 * English.lproj/localizedStrings.js: 28852 * inspector/front-end/AuditLauncherView.js: 28853 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 28854 * inspector/front-end/AuditsPanel.js: 28855 28856 2011-01-11 Pavel Podivilov <podivilov (a] chromium.org> 28857 28858 Reviewed by Pavel Feldman. 28859 28860 Web Inspector: move delayed search implementation to SourceFrame. 28861 https://bugs.webkit.org/show_bug.cgi?id=51753 28862 28863 * inspector/front-end/SourceFrame.js: 28864 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 28865 (WebInspector.SourceFrame.prototype.findSearchMatches): 28866 (WebInspector.SourceFrame.prototype.cancelFindSearchMatches): 28867 * inspector/front-end/SourceView.js: 28868 (WebInspector.SourceView.prototype.hide): 28869 (WebInspector.SourceView.prototype.searchCanceled): 28870 (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches): 28871 (WebInspector.SourceView.prototype.performSearch): 28872 28873 2011-01-11 Ilya Tikhonovsky <loislo (a] chromium.org> 28874 28875 Reviewed by Pavel Feldman. 28876 28877 Web Inspector: innerFirstChild has a side effect which should be called explicitly. 28878 28879 If a node is a frame's owner then innerFirstChild method 28880 subscribes DOMAgent instance to the frame's doc's events. 28881 I think this should be done explicitly when we meet with 28882 the node for the first time. As I understand it happens 28883 in buildArrayForContainerChildren method. 28884 28885 https://bugs.webkit.org/show_bug.cgi?id=52204 28886 28887 * inspector/InspectorDOMAgent.cpp: 28888 (WebCore::InspectorDOMAgent::startListeningFrameDoc): 28889 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): 28890 (WebCore::InspectorDOMAgent::innerFirstChild): 28891 * inspector/InspectorDOMAgent.h: 28892 28893 2011-01-11 Adam Roben <aroben (a] apple.com> 28894 28895 Delete WKCACFLayer.{cpp,h} 28896 28897 These have been unused since r75262 28898 28899 * platform/graphics/win/WKCACFLayer.cpp: Removed. 28900 * platform/graphics/win/WKCACFLayer.h: Removed. 28901 28902 2011-01-11 Pavel Feldman <pfeldman (a] chromium.org> 28903 28904 Reviewed by Yury Semikhatsky. 28905 28906 Web Inspector: [regression] Cookies view does not allow columns resize. 28907 https://bugs.webkit.org/show_bug.cgi?id=51877 28908 28909 * inspector/front-end/CookieItemsView.js: 28910 (WebInspector.CookieItemsView.prototype._updateWithCookies): 28911 28912 2011-01-11 Noel Gordon <noel.gordon (a] gmail.com> 28913 28914 Reviewed by James Robinson. 28915 28916 [chromium] canvas.toDataURL("image/jpeg") should composite onto black. 28917 https://bugs.webkit.org/show_bug.cgi?id=51237 28918 28919 The Canvas specification requires that the canvas image is composited using 28920 the Porter-Duff operator source-over onto a black background; the resultant 28921 image should be JPEG encoded and returned as a dataURL. To composite image 28922 A and background B, for any Porter-Duff operator, produce pixels I with 28923 28924 I = c(A)F(A) + c(B)F(B) 28925 28926 where, F(X) is the fraction [0.0-1.0] contributed to the composite by image 28927 X, and c(X) are the premultiplied RGB color components of image X. Note by 28928 definition, c(B) = 0 since the background is black, so I = c(A)F(A). Since 28929 F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy 28930 I = c(A). Hence, to conform to the Canvas spec, pass the premultiplied RGB 28931 color components of the canvas image to the JPEG encoder. 28932 28933 Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html 28934 28935 * platform/image-encoders/skia/JPEGImageEncoder.cpp: 28936 (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black. 28937 28938 2011-01-11 Pavel Feldman <pfeldman (a] chromium.org> 28939 28940 Reviewed by Yury Semikhatsky. 28941 28942 Chromium DevTools: get rid of APU-related code in WebKit/chromium. 28943 https://bugs.webkit.org/show_bug.cgi?id=52152 28944 28945 * inspector/InspectorController.cpp: 28946 (WebCore::InspectorController::restoreInspectorStateFromCookie): 28947 (WebCore::InspectorController::setInjectedScriptSource): 28948 * inspector/InspectorState.cpp: 28949 (WebCore::InspectorState::InspectorState): 28950 * inspector/InspectorState.h: 28951 * inspector/front-end/inspector.js: 28952 28953 2011-01-11 Pavel Feldman <pfeldman (a] chromium.org> 28954 28955 Reviewed by Yury Semikhatsky. 28956 28957 Web Inspector: [REGRESSION] Load timing is requested 28958 for all resources (not only for the main one). 28959 https://bugs.webkit.org/show_bug.cgi?id=51749 28960 28961 * inspector/InspectorController.cpp: 28962 (WebCore::InspectorController::willSendRequest): 28963 * loader/ResourceLoadNotifier.cpp: 28964 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 28965 28966 2011-01-11 Carlos Garcia Campos <cgarcia (a] igalia.com> 28967 28968 Reviewed by Martin Robinson. 28969 28970 [GTK] GRefPtr should not be used with Gtk widgets 28971 https://bugs.webkit.org/show_bug.cgi?id=51241 28972 28973 GRefPtr breaks the widget life-cycle, the main problem is 28974 that GRefPtr calls g_object_unref() when it's destroyed, 28975 which is undesirable for widgets. In gtk+ widgets are created with 28976 a floating reference and when added to a container, the container 28977 takes the ownership of the widget consuming the floating 28978 reference. So you don't usually need to call g_object_ref/unref on 28979 widgets (only for some operations like reparent a widget) and 28980 toplevel widgets are destroyed with gtk_widget_destroy(). 28981 28982 * platform/ContextMenuItem.h: 28983 * platform/gtk/ContextMenuGtk.cpp: 28984 (WebCore::ContextMenu::ContextMenu): 28985 (WebCore::ContextMenu::~ContextMenu): 28986 (WebCore::ContextMenu::setPlatformDescription): 28987 * platform/gtk/ContextMenuItemGtk.cpp: 28988 (WebCore::ContextMenuItem::ContextMenuItem): 28989 (WebCore::ContextMenuItem::releasePlatformDescription): 28990 (WebCore::ContextMenuItem::type): 28991 (WebCore::ContextMenuItem::action): 28992 (WebCore::ContextMenuItem::setAction): 28993 (WebCore::ContextMenuItem::title): 28994 (WebCore::ContextMenuItem::setTitle): 28995 (WebCore::ContextMenuItem::platformSubMenu): 28996 (WebCore::ContextMenuItem::setSubMenu): 28997 (WebCore::ContextMenuItem::setChecked): 28998 (WebCore::ContextMenuItem::setEnabled): 28999 29000 2010-10-10 David Hyatt <hyatt (a] apple.com> 29001 29002 Reviewed by Simon Fraser. 29003 29004 https://bugs.webkit.org/show_bug.cgi?id=51119, transformed 29005 elements not responding properly to :hover after r73385. 29006 Just use the entire document area as the hit test area, 29007 since there appears to be a rounding bug/issues with relying 29008 on float math when mapping the hit test area into 29009 transformed coordinates. 29010 29011 * rendering/RenderLayer.cpp: 29012 (WebCore::RenderLayer::hitTest): 29013 29014 2011-01-10 Stephen White <senorblanco (a] chromium.org> 29015 29016 Reviewed by James Robinson. 29017 29018 Fix canvas->canvas draws on the GPU path. 29019 https://bugs.webkit.org/show_bug.cgi?id=52141 29020 29021 Two problems: according to the canvas spec, both source and 29022 destination rects can have negative width or height, but this shouldn't 29023 cause the image to be flipped. So we need to normalize the rects (in 29024 the software path, this is done by BitmapImage*::draw). Secondly, in 29025 the FBO->FBO path, the image needs to be flipped vertically, since it 29026 is drawn upside down. We were doing this by flipping the destination 29027 rect, but this doesn't work if the source rect is not the entire image, 29028 since we extract the wrong part of the image. Fixed by flipping the 29029 source rect instead (and flipping it within the image buffer's height, 29030 not the source rect's height). 29031 29032 Covered by fast/canvas/drawImage-with-negative-source-destination.html. 29033 29034 29035 * platform/graphics/skia/BitmapImageSingleFrameSkia.h: 29036 Put normalizeRect() in global scope. 29037 * platform/graphics/skia/ImageBufferSkia.cpp: 29038 (WebCore::ImageBuffer::draw): 29039 Fix as above: normalize both source and dest rects, and flip the 29040 source rect instead of the dest rect. 29041 * platform/graphics/skia/ImageSkia.cpp: 29042 (WebCore::normalizeRect): 29043 Put normalizeRect() in global scope. 29044 29045 2011-01-10 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 29046 29047 Reviewed by Csaba Osztrogonc. 29048 29049 [Qt] Baseline qt_minimal configuration 29050 https://bugs.webkit.org/show_bug.cgi?id=51313 29051 29052 No new tests as there is no new functionality. 29053 29054 * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the 29055 QT_NO_ANIMATION guard. 29056 29057 * platform/qt/WheelEventQt.cpp: 29058 (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the 29059 QT_NO_WHEELEVENT guard. 29060 29061 2011-01-10 Joe Mason <jmason (a] rim.com> 29062 29063 Reviewed by Alexey Proskuryakov. 29064 29065 WebSockets: unbounded buffer growth when server sends bad data 29066 https://bugs.webkit.org/show_bug.cgi?id=51253 29067 29068 Fail a websocket handshake after 1024 bytes without a newline, or if it 29069 contains a null byte before the first newline. 29070 29071 Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html 29072 http/tests/websocket/tests/handshake-fail-by-prepended-null.html 29073 29074 * websockets/WebSocketHandshake.cpp: 29075 (WebCore::WebSocketHandshake::readStatusLine): 29076 29077 2011-01-10 Adam Barth <abarth (a] webkit.org> 29078 29079 Reviewed by Darin Adler. 29080 29081 Introduce the notion of a "display-isolated" URL scheme for use by 29082 Chrome-internal URLs 29083 https://bugs.webkit.org/show_bug.cgi?id=50182 29084 29085 This patch adds the basic plumbing for display-isolated URL schemes. 29086 Originally, this patch also had the functional change, but I've split 29087 that off into a separate patch because the original patch caused a 29088 performance regression. 29089 29090 * page/SecurityOrigin.cpp: 29091 (WebCore::SecurityOrigin::canDisplay): 29092 * platform/SchemeRegistry.cpp: 29093 (WebCore::displayIsolatedURLSchemes): 29094 (WebCore::SchemeRegistry::registerURLSchemeAsLocal): 29095 (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal): 29096 (WebCore::SchemeRegistry::localSchemes): 29097 (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal): 29098 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal): 29099 (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated): 29100 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated): 29101 * platform/SchemeRegistry.h: 29102 29103 2011-01-10 Jer Noble <jer.noble (a] apple.com> 29104 29105 Reviewed by Simon Fraser. 29106 29107 https://bugs.webkit.org/show_bug.cgi?id=52095 29108 REGRESSION (r75277): 2 test cases (<1%) had incorrect layout 29109 29110 Fixes tests: 29111 fullscreen/full-screen-remove-ancestor.html 29112 fullscreen/full-screen-remove.html 29113 29114 Previously, the above tests were failing because DRT dumped the contents of their 29115 <script> tags, though all the explicit tests were passing. This was caused by 29116 the document's render tree being left in an inconsistent state when a full screen 29117 element's ancestor was removed from the DOM. 29118 29119 In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen(). 29120 Don't detach the documentElement, but rather simply call recalcStyle(Force). 29121 29122 * dom/Document.cpp: 29123 (WebCore::Document::nodeWillBeRemoved): 29124 * rendering/RenderFullScreen.cpp: 29125 (RenderFullScreen::setAnimating): #if ENABLED -> # if USE 29126 * rendering/RenderFullScreen.h: 29127 (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer. 29128 29129 2011-01-10 Martin Robinson <mrobinson (a] igalia.com> 29130 29131 Reviewed by Xan Lopez. 29132 29133 [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release 29134 https://bugs.webkit.org/show_bug.cgi?id=52173 29135 29136 No new tests. This is only a build fix. 29137 29138 * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x. 29139 In GTK+ 3.x, GdkCursor is just a GObject. 29140 * platform/gtk/GRefPtrGtk.h: Ditto. 29141 29142 2011-01-10 Geoffrey Garen <ggaren (a] apple.com> 29143 29144 Reviewed by Oliver Hunt. 29145 29146 Moved Collector.* => Heap.*, since the file contains a class named "Heap". 29147 29148 * ForwardingHeaders/runtime/Collector.h: Removed. 29149 * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h. 29150 * WebCore.vcproj/WebCore.vcproj: 29151 * bindings/js/GCController.cpp: 29152 * bindings/js/ScriptGCEvent.cpp: 29153 29154 2011-01-10 Leonid Ebril <leonid.ebril (a] nokia.com> 29155 29156 Reviewed by Kenneth Rohde Christiansen. 29157 29158 https://bugs.webkit.org/show_bug.cgi?id=51879 29159 29160 Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite 29161 plugin if Flash 10 or newer (for Symbian platform), setting a nulled 29162 window handler on destroy crashes WebKit. 29163 29164 * plugins/symbian/PluginPackageSymbian.cpp: 29165 (WebCore::PluginPackage::fetchInfo): 29166 (WebCore::PluginPackage::determineQuirks): 29167 29168 2011-01-10 Martin Robinson <mrobinson (a] igalia.com> 29169 29170 Reviewed by Xan Lopez. 29171 29172 [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code 29173 https://bugs.webkit.org/show_bug.cgi?id=52170 29174 29175 Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the 29176 GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and 29177 move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it 29178 GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are 29179 GTK+ 2.x only now. 29180 29181 No new tests. This should not change functionality. 29182 29183 * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c 29184 * platform/gtk/RenderThemeGtk.cpp: 29185 (WebCore::RenderThemeGtk::RenderThemeGtk): 29186 (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk. 29187 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change. 29188 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto. 29189 (WebCore::RenderThemeGtk::paintMediaButton): Ditto 29190 * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only. 29191 * platform/gtk/RenderThemeGtk2.cpp: 29192 (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method 29193 that is only used for GTK+ 2.x at the moment. 29194 (WebCore::RenderThemeGtk::~RenderThemeGtk): Added. 29195 (WebCore::getGtkStateType): Made this method static. 29196 (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk. 29197 (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType. 29198 (WebCore::RenderThemeGtk::paintButton): Ditto. 29199 (WebCore::RenderThemeGtk::paintSliderTrack): Ditto. 29200 (WebCore::RenderThemeGtk::paintSliderThumb): Ditto. 29201 * platform/gtk/RenderThemeGtk3.cpp: 29202 (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file. 29203 (WebCore::RenderThemeGtk::platformInit): Added. 29204 (WebCore::RenderThemeGtk::~RenderThemeGtk): Added. 29205 (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to 29206 fetch these colors. This was the last dependency on the old API. 29207 * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp. 29208 * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only. 29209 * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed. 29210 * platform/gtk/gtk3drawing.c: Removed. 29211 * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only. 29212 29213 2011-01-10 Benjamin Poulain <benjamin.poulain (a] nokia.com> 29214 29215 Reviewed by Kenneth Rohde Christiansen. 29216 29217 [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar 29218 https://bugs.webkit.org/show_bug.cgi?id=52081 29219 29220 Test for the availability of cookie jar to return if cookies are enabled or not. 29221 29222 * platform/qt/CookieJarQt.cpp: 29223 (WebCore::cookiesEnabled): 29224 29225 2011-01-10 W. James MacLean <wjmaclean (a] chromium.org> 29226 29227 Reviewed by Kenneth Russell. 29228 29229 [chromium] Enable reuse of RenderSurface for drawing. 29230 https://bugs.webkit.org/show_bug.cgi?id=51928 29231 29232 Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture 29233 that is already reserved, should an attempt be made to re-select a previously drawn render surface 29234 in order to continue drawing to it. This use case appears when compositing into an offscreen texture. 29235 29236 Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled. 29237 29238 * platform/graphics/chromium/LayerTexture.h: 29239 (WebCore::LayerTexture::isReserved): 29240 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 29241 (WebCore::RenderSurfaceChromium::prepareContentsTexture): 29242 * platform/graphics/chromium/TextureManager.cpp: 29243 (WebCore::TextureManager::isProtected): 29244 * platform/graphics/chromium/TextureManager.h: 29245 29246 2011-01-10 Carlos Garcia Campos <cgarcia (a] igalia.com> 29247 29248 Reviewed by Xan Lopez. 29249 29250 [GTK] Port combo box painting to GtkStyleContext 29251 https://bugs.webkit.org/show_bug.cgi?id=51828 29252 29253 Use GtkStyleContext API to paint combo boxes when building with 29254 GTK+ 3.x. Method paintButton() has been factored out and the new 29255 static method renderButton() is used by both paintButton() and 29256 paintMenuList(). 29257 29258 No new tests. This should not change functionality. 29259 29260 * platform/gtk/RenderThemeGtk3.cpp: 29261 (WebCore::RenderThemeGtk::adjustRepaintRect): 29262 (WebCore::renderButton): 29263 (WebCore::RenderThemeGtk::paintButton): 29264 (WebCore::getComboBoxMetrics): 29265 (WebCore::RenderThemeGtk::popupInternalPaddingLeft): 29266 (WebCore::RenderThemeGtk::popupInternalPaddingRight): 29267 (WebCore::RenderThemeGtk::popupInternalPaddingTop): 29268 (WebCore::RenderThemeGtk::popupInternalPaddingBottom): 29269 (WebCore::RenderThemeGtk::paintMenuList): 29270 29271 2011-01-10 Evan Martin <evan (a] chromium.org> 29272 29273 Reviewed by Tony Chang. 29274 29275 [chromium] simplify complex glyph positioning code 29276 https://bugs.webkit.org/show_bug.cgi?id=52159 29277 29278 Before, we had roughly same code duplicated for RTL and LTR. 29279 Now, use the same code for both directions by being careful about 29280 flipping signs where appropriate. 29281 29282 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 29283 (WebCore::ComplexTextController::shapeGlyphs): 29284 (WebCore::ComplexTextController::setGlyphXPositions): 29285 29286 2011-01-10 Alejandro G. Castro <alex (a] igalia.com> 29287 29288 Reviewed by Xan Lopez. 29289 29290 [GTK] Fix gtk2 compilation for master 29291 https://bugs.webkit.org/show_bug.cgi?id=51885 29292 29293 * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with 29294 2.23.0 to avoid using the old symbols in the 2.23 releases. Added 29295 support for gdk_pixmap_get_size before the 2.23.4. 29296 * platform/gtk/WidgetRenderingContextGtk2.cpp: 29297 (WebCore::WidgetRenderingContext::WidgetRenderingContext): 29298 Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size. 29299 29300 2011-01-10 Ryosuke Niwa <rniwa (a] webkit.org> 29301 29302 Unreviewed; build fix for r75385. 29303 29304 * rendering/mathml/RenderMathMLFraction.cpp: 29305 (WebCore::RenderMathMLFraction::paint): 29306 29307 2011-01-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 29308 29309 Unreviewed, rolling out r75341. 29310 http://trac.webkit.org/changeset/75341 29311 https://bugs.webkit.org/show_bug.cgi?id=52157 29312 29313 Regressions on several pixel tests (Requested by jorlow on 29314 #webkit). 29315 29316 * platform/graphics/cg/GraphicsContextCG.cpp: 29317 (WebCore::GraphicsContext::fillPath): 29318 29319 2011-01-10 Carlos Garcia Campos <cgarcia (a] igalia.com> 29320 29321 Reviewed by Martin Robinson. 29322 29323 [GTK] Port check and radio button painting to GtkStyleContext 29324 https://bugs.webkit.org/show_bug.cgi?id=51815 29325 29326 Use GtkStyleContext API to paint check and radio buttons when 29327 building with GTK+ 3.x. 29328 29329 No new tests. This should not change functionality. 29330 29331 * platform/gtk/RenderThemeGtk3.cpp: 29332 (WebCore::RenderThemeGtk::adjustRepaintRect): 29333 (WebCore::setToggleSize): 29334 (WebCore::paintToggle): 29335 (WebCore::RenderThemeGtk::setCheckboxSize): 29336 (WebCore::RenderThemeGtk::paintCheckbox): 29337 (WebCore::RenderThemeGtk::setRadioSize): 29338 (WebCore::RenderThemeGtk::paintRadio): 29339 29340 2011-01-10 Franois Sausset <sausset (a] gmail.com> 29341 29342 Reviewed by Kenneth Rohde Christiansen. 29343 29344 MathML: vertical alignment & bar thickness adjustments of fractions. 29345 https://bugs.webkit.org/show_bug.cgi?id=50018 29346 29347 The fraction bar thickness default value should follow the w3c MathML 3 recommendation: 29348 http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac 29349 The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...). 29350 29351 Test: mathml/presentation/fractions.xhtml 29352 29353 * rendering/mathml/RenderMathMLFraction.cpp: 29354 (WebCore::RenderMathMLFraction::RenderMathMLFraction): 29355 (WebCore::RenderMathMLFraction::updateFromElement): 29356 (WebCore::RenderMathMLFraction::layout): 29357 (WebCore::RenderMathMLFraction::paint): 29358 (WebCore::RenderMathMLFraction::baselinePosition): 29359 * rendering/mathml/RenderMathMLFraction.h: 29360 29361 2011-01-10 Antti Koivisto <antti (a] apple.com> 29362 29363 Reviewed by Alexey Proskuryakov. 29364 29365 https://bugs.webkit.org/show_bug.cgi?id=52044 29366 REGRESSION(r74807): No-store is ignored within a document 29367 29368 Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer). 29369 This matches a behavior that got lost in r74807. 29370 29371 Test: http/tests/misc/script-no-store.html 29372 (by Alexey Proskuryakov) 29373 29374 * loader/cache/CachedResourceLoader.cpp: 29375 (WebCore::CachedResourceLoader::determineRevalidationPolicy): 29376 29377 2011-01-10 Patrick Gansterer <paroga (a] webkit.org> 29378 29379 Reviewed by Laszlo Gombos. 29380 29381 [WIN] Add ProxyServerWin.cpp 29382 https://bugs.webkit.org/show_bug.cgi?id=52031 29383 29384 Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE. 29385 29386 * CMakeLists.txt: 29387 * CMakeListsWinCE.txt: 29388 * platform/network/win/ProxyServerWin.cpp: Added. 29389 (WebCore::proxyServersForURL): 29390 29391 2011-01-10 Alejandro G. Castro <alex (a] igalia.com> 29392 29393 Reviewed by Martin Robinson. 29394 29395 [cairo] Rendering a lot of arcs on top of each other causes time 29396 outs in some tests 29397 https://bugs.webkit.org/show_bug.cgi?id=50869 29398 29399 We avoid the situation where we have to render the same arc 29400 multiple times over itself. Now it renders just one oval and 29401 moves to the end angle. 29402 29403 * platform/graphics/cairo/PathCairo.cpp: 29404 (WebCore::Path::addArc): 29405 29406 2011-01-10 Carlos Garcia Campos <cgarcia (a] igalia.com> 29407 29408 Reviewed by Martin Robinson. 29409 29410 [GTK] Port text input control painting to GtkStyleContext 29411 https://bugs.webkit.org/show_bug.cgi?id=51870 29412 29413 Use GtkStyleContext API to paint text input controls when building 29414 with GTK+ 3.x. 29415 29416 No new tests. This should not change functionality. 29417 29418 * platform/gtk/RenderThemeGtk3.cpp: 29419 (WebCore::RenderThemeGtk::adjustRepaintRect): 29420 (WebCore::RenderThemeGtk::paintTextField): 29421 29422 2011-01-09 Tony Gentilcore <tonyg (a] chromium.org> 29423 29424 Reviewed by Alexey Proskuryakov. 29425 29426 Forward declare some headers where possible 29427 https://bugs.webkit.org/show_bug.cgi?id=52133 29428 29429 No new tests because no new functionality. 29430 29431 * css/CSSValue.h: 29432 * dom/BeforeLoadEvent.h: 29433 * dom/Event.cpp: 29434 * dom/Event.h: 29435 * dom/StyledElement.cpp: 29436 * dom/StyledElement.h: 29437 * loader/DocumentLoader.h: 29438 * loader/FrameLoader.h: 29439 * page/Frame.h: 29440 * platform/graphics/GraphicsContext.cpp: 29441 * platform/graphics/GraphicsContext.h: 29442 * platform/graphics/filters/FEBlend.cpp: 29443 * platform/graphics/filters/FEColorMatrix.cpp: 29444 * platform/graphics/filters/FEComponentTransfer.cpp: 29445 * platform/graphics/filters/FEComposite.cpp: 29446 * platform/graphics/filters/FEConvolveMatrix.cpp: 29447 * platform/graphics/filters/FEDiffuseLighting.cpp: 29448 * platform/graphics/filters/FEDisplacementMap.cpp: 29449 * platform/graphics/filters/FEFlood.cpp: 29450 * platform/graphics/filters/FEGaussianBlur.cpp: 29451 * platform/graphics/filters/FEMerge.cpp: 29452 * platform/graphics/filters/FEMorphology.cpp: 29453 * platform/graphics/filters/FEOffset.cpp: 29454 * platform/graphics/filters/FESpecularLighting.cpp: 29455 * platform/graphics/filters/FETile.cpp: 29456 * platform/graphics/filters/FETurbulence.cpp: 29457 * platform/graphics/filters/FilterEffect.cpp: 29458 * platform/graphics/filters/FilterEffect.h: 29459 * platform/graphics/filters/SourceAlpha.cpp: 29460 * platform/graphics/filters/SourceGraphic.cpp: 29461 * svg/SVGElement.cpp: 29462 * svg/SVGElement.h: 29463 * svg/SVGFEBlendElement.cpp: 29464 * svg/SVGFEColorMatrixElement.cpp: 29465 * svg/SVGFEComponentTransferElement.cpp: 29466 * svg/SVGFECompositeElement.cpp: 29467 * svg/SVGFEConvolveMatrixElement.cpp: 29468 * svg/SVGFEConvolveMatrixElement.h: 29469 * svg/SVGFEDiffuseLightingElement.cpp: 29470 * svg/SVGFEDisplacementMapElement.cpp: 29471 * svg/SVGFEGaussianBlurElement.cpp: 29472 * svg/SVGFEImageElement.h: 29473 * svg/SVGFEMergeElement.cpp: 29474 * svg/SVGFEMorphologyElement.cpp: 29475 * svg/SVGFEOffsetElement.cpp: 29476 * svg/SVGFESpecularLightingElement.cpp: 29477 * svg/SVGFETileElement.cpp: 29478 * svg/SVGFETurbulenceElement.h: 29479 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 29480 * svg/SVGFilterPrimitiveStandardAttributes.h: 29481 * svg/SVGTextContentElement.cpp: 29482 * svg/graphics/filters/SVGFEImage.cpp: 29483 * svg/graphics/filters/SVGFEImage.h: 29484 29485 2011-01-10 Adam Roben <aroben (a] apple.com> 29486 29487 Windows build fix after r75313 29488 29489 * WebCore.vcproj/build-generated-files.sh: Updated for the change in 29490 this script's path. 29491 29492 2011-01-10 Pavel Podivilov <podivilov (a] chromium.org> 29493 29494 Reviewed by Pavel Feldman. 29495 29496 Web Inspector: make properties on Array's prototype non-enumerable. 29497 https://bugs.webkit.org/show_bug.cgi?id=51776 29498 29499 * inspector/front-end/utilities.js: 29500 (): 29501 29502 2011-01-10 Yael Aharon <yael.aharon (a] nokia.com> 29503 29504 Reviewed by Simon Fraser. 29505 29506 Specificity of negated selectors apparently miscalculated 29507 https://bugs.webkit.org/show_bug.cgi?id=41206 29508 29509 Give negated selectors the specificity of the selector they are negating. 29510 This is the same as the behavior of other browsers. 29511 29512 Test: fast/css/pseudo-not.html 29513 29514 * css/CSSSelector.cpp: 29515 (WebCore::CSSSelector::specificityForOneSelector): 29516 29517 2011-01-10 Adam Roben <aroben (a] apple.com> 29518 29519 Windows build fix after r75353 29520 29521 * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the 29522 include path. 29523 29524 2011-01-10 John Knottenbelt <jknotten (a] chromium.org> 29525 29526 Reviewed by Jeremy Orlow. 29527 29528 [Chromium] Remove non-client-based Geolocation code 29529 https://bugs.webkit.org/show_bug.cgi?id=50921 29530 29531 Code clean up, covered by existing tests. 29532 29533 * WebCore.gyp/WebCore.gyp: 29534 * WebCore.gypi: 29535 * platform/chromium/ChromiumBridge.h: 29536 * platform/chromium/GeolocationServiceChromium.cpp: Removed. 29537 * platform/chromium/GeolocationServiceChromium.h: Removed. 29538 29539 2011-01-10 Ilya Tikhonovsky <loislo (a] chromium.org> 29540 29541 Reviewed by Pavel Feldman. 29542 29543 Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement. 29544 stepIntoStatement => stepInto 29545 stepOutOfFunction => stepOut 29546 stepOverStatement => stepOver 29547 29548 https://bugs.webkit.org/show_bug.cgi?id=52142 29549 29550 * inspector/Inspector.idl: 29551 * inspector/InspectorDebuggerAgent.cpp: 29552 (WebCore::InspectorDebuggerAgent::stepOver): 29553 (WebCore::InspectorDebuggerAgent::stepInto): 29554 (WebCore::InspectorDebuggerAgent::stepOut): 29555 * inspector/InspectorDebuggerAgent.h: 29556 * inspector/front-end/ScriptsPanel.js: 29557 (WebInspector.ScriptsPanel.prototype._stepOverClicked): 29558 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): 29559 (WebInspector.ScriptsPanel.prototype._stepOutClicked): 29560 29561 2011-01-10 Carlos Garcia Campos <cgarcia (a] igalia.com> 29562 29563 Reviewed by Martin Robinson. 29564 29565 [GTK] Port progressbar painting to GtkStyleContext 29566 https://bugs.webkit.org/show_bug.cgi?id=52054 29567 29568 Use GtkStyleContext API to paint progressbars when building with 29569 GTK+ 3.x. Also add support for indeterminate progressbars. 29570 29571 No new tests. This should not change functionality. 29572 29573 * platform/gtk/RenderThemeGtk.cpp: 29574 * platform/gtk/RenderThemeGtk2.cpp: 29575 (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): 29576 (WebCore::RenderThemeGtk::animationDurationForProgressBar): 29577 * platform/gtk/RenderThemeGtk3.cpp: 29578 (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): 29579 (WebCore::RenderThemeGtk::animationDurationForProgressBar): 29580 (WebCore::RenderThemeGtk::paintProgressBar): 29581 29582 2011-01-10 Andreas Kling <kling (a] webkit.org> 29583 29584 Reviewed by Darin Adler. 29585 29586 Remove unused class "Pen" in WebCore/platform/graphics 29587 https://bugs.webkit.org/show_bug.cgi?id=49955 29588 29589 * Android.mk: 29590 * CMakeLists.txt: 29591 * GNUmakefile.am: 29592 * WebCore.gypi: 29593 * WebCore.pro: 29594 * WebCore.vcproj/WebCore.vcproj: 29595 * WebCore.xcodeproj/project.pbxproj: 29596 * platform/graphics/Pen.cpp: Removed. 29597 * platform/graphics/Pen.h: Removed. 29598 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 29599 * platform/graphics/wx/GraphicsContextWx.cpp: 29600 * platform/graphics/wx/PenWx.cpp: Removed. 29601 29602 2011-01-10 Xan Lopez <xlopez (a] igalia.com> 29603 29604 Reviewed by Martin Robinson. 29605 29606 [GTK] Create intermediate libWebCore library 29607 https://bugs.webkit.org/show_bug.cgi?id=52116 29608 29609 Create intermediate libWebCore.la to avoid overflowing the linker 29610 in the final link stage. 29611 29612 * GNUmakefile.am: define the new library. 29613 29614 2011-01-09 Sheriff Bot <webkit.review.bot (a] gmail.com> 29615 29616 Unreviewed, rolling out r75337. 29617 http://trac.webkit.org/changeset/75337 29618 https://bugs.webkit.org/show_bug.cgi?id=52137 29619 29620 It made fast/dom/navigator-detached-no-crash.html crash 29621 (Requested by Ossy on #webkit). 29622 29623 * platform/qt/CookieJarQt.cpp: 29624 (WebCore::cookiesEnabled): 29625 29626 2011-01-09 Mark Rowe <mrowe (a] apple.com> 29627 29628 Fix the build. 29629 29630 * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders 29631 once more. 29632 29633 2011-01-09 Dan Bernstein <mitz (a] apple.com> 29634 29635 Reviewed by Sam Weinig. 29636 29637 <rdar://problem/8765555> WebKit2: Search field focus ring is missing 29638 29639 Provide a focus ring visible rect to AppKit. 29640 29641 * platform/mac/ThemeMac.mm: 29642 (-[WebCoreFlippedView _focusRingVisibleRect]): 29643 (-[WebCoreFlippedView _focusRingClipAncestor]): 29644 29645 2011-01-09 Dirk Schulze <krit (a] webkit.org> 29646 29647 Reviewed by Rob Buis. 29648 29649 Move MathML renderer to rendering/mathml 29650 https://bugs.webkit.org/show_bug.cgi?id=52131 29651 29652 Move all renderer of MathML to WebCore/rendering/mathml 29653 29654 No change of functionality, no new tests added. 29655 29656 * CMakeLists.txt: 29657 * GNUmakefile.am: 29658 * WebCore.gypi: 29659 * WebCore.pro: 29660 * WebCore.vcproj/WebCore.vcproj: 29661 * WebCore.xcodeproj/project.pbxproj: 29662 * mathml/RenderMathMLBlock.cpp: Removed. 29663 * mathml/RenderMathMLBlock.h: Removed. 29664 * mathml/RenderMathMLFenced.cpp: Removed. 29665 * mathml/RenderMathMLFenced.h: Removed. 29666 * mathml/RenderMathMLFraction.cpp: Removed. 29667 * mathml/RenderMathMLFraction.h: Removed. 29668 * mathml/RenderMathMLMath.cpp: Removed. 29669 * mathml/RenderMathMLMath.h: Removed. 29670 * mathml/RenderMathMLOperator.cpp: Removed. 29671 * mathml/RenderMathMLOperator.h: Removed. 29672 * mathml/RenderMathMLRoot.cpp: Removed. 29673 * mathml/RenderMathMLRoot.h: Removed. 29674 * mathml/RenderMathMLRow.cpp: Removed. 29675 * mathml/RenderMathMLRow.h: Removed. 29676 * mathml/RenderMathMLSquareRoot.cpp: Removed. 29677 * mathml/RenderMathMLSquareRoot.h: Removed. 29678 * mathml/RenderMathMLSubSup.cpp: Removed. 29679 * mathml/RenderMathMLSubSup.h: Removed. 29680 * mathml/RenderMathMLUnderOver.cpp: Removed. 29681 * mathml/RenderMathMLUnderOver.h: Removed. 29682 * rendering/mathml: Added. 29683 * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp. 29684 * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h. 29685 * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp. 29686 * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h. 29687 * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp. 29688 * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h. 29689 * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp. 29690 * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h. 29691 * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp. 29692 * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h. 29693 * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp. 29694 * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h. 29695 * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp. 29696 * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h. 29697 * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp. 29698 * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h. 29699 * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp. 29700 * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h. 29701 * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp. 29702 * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h. 29703 29704 2011-01-08 Simon Fraser <simon.fraser (a] apple.com> 29705 29706 Reviewed by Alexey Proskuryakov. 29707 29708 HTMLStyleElement.disabled doesn't work (affects jQuery) 29709 https://bugs.webkit.org/show_bug.cgi?id=25287 29710 29711 Fix the disabled property of a HTMLStyleElement to reflect, 29712 and set the disabled state of its style sheet, as required 29713 by DOM1 etc. 29714 29715 Based on initial patch by Tarun Nainani. 29716 29717 Test: fast/html/disable-style-element.html 29718 29719 * dom/StyleElement.h: 29720 (WebCore::StyleElement::sheet): Make const. 29721 29722 * html/HTMLStyleElement.h: 29723 * html/HTMLStyleElement.idl: 29724 * html/HTMLStyleElement.cpp: 29725 (WebCore::HTMLStyleElement::disabled): 29726 (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled 29727 call through to the sheet (if any). 29728 29729 2011-01-09 Dirk Schulze <krit (a] webkit.org> 29730 29731 Reviewed by Nikolas Zimmermann. 29732 29733 Rename RenderForeignObject to RenderSVGForeignObject 29734 https://bugs.webkit.org/show_bug.cgi?id=52129 29735 29736 Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg. 29737 29738 No change of functionality, no new tests. 29739 29740 * Android.mk: 29741 * CMakeLists.txt: 29742 * GNUmakefile.am: 29743 * WebCore.gypi: 29744 * WebCore.pro: 29745 * WebCore.xcodeproj/project.pbxproj: 29746 * rendering/RenderingAllInOne.cpp: 29747 * rendering/svg/RenderForeignObject.cpp: Removed. 29748 * rendering/svg/RenderForeignObject.h: Removed. 29749 * rendering/svg/RenderSVGAllInOne.cpp: 29750 * rendering/svg/RenderSVGBlock.cpp: 29751 (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): 29752 * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp. 29753 (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): 29754 (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject): 29755 (WebCore::RenderSVGForeignObject::paint): 29756 (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint): 29757 (WebCore::RenderSVGForeignObject::computeRectForRepaint): 29758 (WebCore::RenderSVGForeignObject::localToParentTransform): 29759 (WebCore::RenderSVGForeignObject::computeLogicalWidth): 29760 (WebCore::RenderSVGForeignObject::computeLogicalHeight): 29761 (WebCore::RenderSVGForeignObject::layout): 29762 (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): 29763 (WebCore::RenderSVGForeignObject::nodeAtPoint): 29764 (WebCore::RenderSVGForeignObject::mapLocalToContainer): 29765 * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h. 29766 (WebCore::RenderSVGForeignObject::renderName): 29767 * svg/SVGForeignObjectElement.cpp: 29768 (WebCore::SVGForeignObjectElement::createRenderer): 29769 29770 2011-01-09 Dirk Schulze <krit (a] webkit.org> 29771 29772 Reviewed by Nikolas Zimmermann. 29773 29774 Move all SVG renderer to WebCore/rendering/svg 29775 https://bugs.webkit.org/show_bug.cgi?id=52087 29776 29777 No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg. 29778 29779 * Android.mk: 29780 * CMakeLists.txt: 29781 * GNUmakefile.am: 29782 * WebCore.gypi: 29783 * WebCore.pro: 29784 * WebCore.vjproj/project.vjproj: 29785 * WebCore.xcodeproj/project.pbxproj: 29786 * rendering/RenderForeignObject.cpp: Removed. 29787 * rendering/RenderForeignObject.h: Removed. 29788 * rendering/RenderSVGAllInOne.cpp: Removed. 29789 * rendering/RenderSVGBlock.cpp: Removed. 29790 * rendering/RenderSVGBlock.h: Removed. 29791 * rendering/RenderSVGContainer.cpp: Removed. 29792 * rendering/RenderSVGContainer.h: Removed. 29793 * rendering/RenderSVGGradientStop.cpp: Removed. 29794 * rendering/RenderSVGGradientStop.h: Removed. 29795 * rendering/RenderSVGHiddenContainer.cpp: Removed. 29796 * rendering/RenderSVGHiddenContainer.h: Removed. 29797 * rendering/RenderSVGImage.cpp: Removed. 29798 * rendering/RenderSVGImage.h: Removed. 29799 * rendering/RenderSVGModelObject.cpp: Removed. 29800 * rendering/RenderSVGModelObject.h: Removed. 29801 * rendering/RenderSVGResource.cpp: Removed. 29802 * rendering/RenderSVGResource.h: Removed. 29803 * rendering/RenderSVGResourceClipper.cpp: Removed. 29804 * rendering/RenderSVGResourceClipper.h: Removed. 29805 * rendering/RenderSVGResourceContainer.cpp: Removed. 29806 * rendering/RenderSVGResourceContainer.h: Removed. 29807 * rendering/RenderSVGResourceFilter.cpp: Removed. 29808 * rendering/RenderSVGResourceFilter.h: Removed. 29809 * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed. 29810 * rendering/RenderSVGResourceFilterPrimitive.h: Removed. 29811 * rendering/RenderSVGResourceGradient.cpp: Removed. 29812 * rendering/RenderSVGResourceGradient.h: Removed. 29813 * rendering/RenderSVGResourceLinearGradient.cpp: Removed. 29814 * rendering/RenderSVGResourceLinearGradient.h: Removed. 29815 * rendering/RenderSVGResourceMarker.cpp: Removed. 29816 * rendering/RenderSVGResourceMarker.h: Removed. 29817 * rendering/RenderSVGResourceMasker.cpp: Removed. 29818 * rendering/RenderSVGResourceMasker.h: Removed. 29819 * rendering/RenderSVGResourcePattern.cpp: Removed. 29820 * rendering/RenderSVGResourcePattern.h: Removed. 29821 * rendering/RenderSVGResourceRadialGradient.cpp: Removed. 29822 * rendering/RenderSVGResourceRadialGradient.h: Removed. 29823 * rendering/RenderSVGResourceSolidColor.cpp: Removed. 29824 * rendering/RenderSVGResourceSolidColor.h: Removed. 29825 * rendering/RenderSVGRoot.cpp: Removed. 29826 * rendering/RenderSVGRoot.h: Removed. 29827 * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed. 29828 * rendering/RenderSVGShadowTreeRootContainer.h: Removed. 29829 * rendering/RenderSVGTransformableContainer.cpp: Removed. 29830 * rendering/RenderSVGTransformableContainer.h: Removed. 29831 * rendering/RenderSVGViewportContainer.cpp: Removed. 29832 * rendering/RenderSVGViewportContainer.h: Removed. 29833 * rendering/SVGImageBufferTools.cpp: Removed. 29834 * rendering/SVGImageBufferTools.h: Removed. 29835 * rendering/SVGMarkerData.h: Removed. 29836 * rendering/SVGMarkerLayoutInfo.cpp: Removed. 29837 * rendering/SVGMarkerLayoutInfo.h: Removed. 29838 * rendering/SVGRenderSupport.cpp: Removed. 29839 * rendering/SVGRenderSupport.h: Removed. 29840 * rendering/SVGRenderTreeAsText.cpp: Removed. 29841 * rendering/SVGRenderTreeAsText.h: Removed. 29842 * rendering/SVGResources.cpp: Removed. 29843 * rendering/SVGResources.h: Removed. 29844 * rendering/SVGResourcesCache.cpp: Removed. 29845 * rendering/SVGResourcesCache.h: Removed. 29846 * rendering/SVGResourcesCycleSolver.cpp: Removed. 29847 * rendering/SVGResourcesCycleSolver.h: Removed. 29848 * rendering/SVGShadowTreeElements.cpp: Removed. 29849 * rendering/SVGShadowTreeElements.h: Removed. 29850 * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp. 29851 * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h. 29852 * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp. 29853 * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp. 29854 * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h. 29855 * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp. 29856 * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h. 29857 * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp. 29858 * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h. 29859 * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp. 29860 * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h. 29861 * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp. 29862 * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h. 29863 * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp. 29864 * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h. 29865 * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp. 29866 * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h. 29867 * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp. 29868 * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h. 29869 * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp. 29870 * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h. 29871 * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp. 29872 * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h. 29873 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp. 29874 * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h. 29875 * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp. 29876 * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h. 29877 * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp. 29878 * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h. 29879 * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp. 29880 * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h. 29881 * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp. 29882 * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h. 29883 * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp. 29884 * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h. 29885 * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp. 29886 * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h. 29887 * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp. 29888 * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h. 29889 * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp. 29890 * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h. 29891 * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp. 29892 * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h. 29893 * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp. 29894 * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h. 29895 * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp. 29896 * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h. 29897 * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp. 29898 * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h. 29899 * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h. 29900 * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp. 29901 * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h. 29902 * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp. 29903 * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h. 29904 * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp. 29905 * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h. 29906 * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp. 29907 * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h. 29908 * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp. 29909 * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h. 29910 * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp. 29911 * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h. 29912 * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp. 29913 * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h. 29914 29915 2011-01-09 Xianzhu Wang <phnixwxz (a] gmail.com> 29916 29917 Reviewed by Darin Fisher. 29918 29919 https://bugs.webkit.org/show_bug.cgi?id=41441 29920 createWindow method should only do window-creating without URL navigation. 29921 Let client APIs know which URL a new window will start with 29922 29923 * loader/FrameLoader.cpp: 29924 (WebCore::createWindow): 29925 * page/ContextMenuController.cpp: 29926 (WebCore::openNewWindow): 29927 * page/DOMWindow.cpp: 29928 (WebCore::DOMWindow::createWindow): 29929 29930 2011-01-09 Dirk Schulze <krit (a] webkit.org> 29931 29932 Unreviewed sort of Xcode project file. 29933 29934 * WebCore.xcodeproj/project.pbxproj: 29935 29936 2011-01-09 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 29937 29938 Reviewed by Martin Robinson. 29939 29940 Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port. 29941 https://bugs.webkit.org/show_bug.cgi?id=48511 29942 29943 * platform/FileSystem.h: 29944 * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path 29945 (WebCore::applicationDirectoryPath): 29946 29947 2011-01-08 Martin Robinson <mrobinson (a] igalia.com> 29948 29949 GTK+ Build fix. Add missing headers to the source list, fixing make dist. 29950 29951 No new tests. This is only a build change. 29952 29953 * GNUmakefile.am: Add missing headers to the source list. 29954 29955 2011-01-08 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 29956 29957 Reviewed by Martin Robinson. 29958 29959 [GTK] WebKit2 GNUmakefile is out of date from trunk 29960 https://bugs.webkit.org/show_bug.cgi?id=51883 29961 29962 Added stubs for WebKit2 compilation. 29963 29964 * platform/gtk/ContextMenuGtk.cpp: 29965 (WebCore::contextMenuItemVector): 29966 * platform/gtk/ContextMenuItemGtk.cpp: 29967 (WebCore::ContextMenuItem::ContextMenuItem): 29968 (WebCore::ContextMenuItem::checked): 29969 (WebCore::ContextMenuItem::enabled): 29970 * platform/network/soup/AuthenticationChallenge.h: 29971 (WebCore::AuthenticationChallenge::authenticationClient): 29972 29973 2011-01-08 Helder Correia <helder (a] sencha.com> 29974 29975 Reviewed by Simon Fraser. 29976 29977 Shadow is not drawn when filling a path with a gradient 29978 https://bugs.webkit.org/show_bug.cgi?id=51982 29979 29980 This happens in CG and is related to bug 51869, this time to be fixed 29981 in GraphicsContext::fillPath(const Path& path). We need to draw the 29982 gradient clipped to the path on a CGLayer first, and then draw the 29983 layer on the GraphicsContext. 29984 29985 Test: fast/canvas/canvas-fillPath-gradient-shadow.html 29986 29987 * platform/graphics/cg/GraphicsContextCG.cpp: 29988 (WebCore::GraphicsContext::fillPath): 29989 29990 2011-01-08 Benjamin Poulain <benjamin.poulain (a] nokia.com> 29991 29992 Reviewed by Kenneth Rohde Christiansen. 29993 29994 [Qt] PasteboardQt.cpp has coding-style errors 29995 https://bugs.webkit.org/show_bug.cgi?id=39771 29996 29997 Update the code to follow the coding style. 29998 29999 * platform/qt/PasteboardQt.cpp: 30000 (WebCore::Pasteboard::writeSelection): 30001 (WebCore::Pasteboard::plainText): 30002 (WebCore::Pasteboard::writePlainText): 30003 (WebCore::Pasteboard::writeURL): 30004 30005 2011-01-08 Tony Gentilcore <tonyg (a] chromium.org> 30006 30007 Reviewed by Eric Seidel. 30008 30009 HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml 30010 https://bugs.webkit.org/show_bug.cgi?id=48593 30011 30012 XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML 30013 comments. 30014 30015 Test: fast/parser/xhtml-html-comment-in-style-block.xhtml 30016 30017 * dom/StyleElement.cpp: 30018 (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks. 30019 (WebCore::StyleElement::process): Factored out a condition that must remain in sync. 30020 30021 2011-01-08 Benjamin Poulain <benjamin.poulain (a] nokia.com> 30022 30023 Reviewed by Kenneth Rohde Christiansen. 30024 30025 [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar 30026 https://bugs.webkit.org/show_bug.cgi?id=52081 30027 30028 Test for the availability of cookie jar to return if cookies are enabled or not. The network access 30029 manager always exist, not the cookie jar. 30030 30031 * platform/qt/CookieJarQt.cpp: 30032 (WebCore::cookiesEnabled): 30033 30034 2011-01-08 Charlie Reis <creis (a] chromium.org> 30035 30036 Reviewed by Mihai Parparita. 30037 30038 Canceled frame loads can corrupt back forward list 30039 https://bugs.webkit.org/show_bug.cgi?id=50254 30040 30041 Avoids changing m_currentItem until the navigation commits. 30042 Also resets top-level history items if a subframe navigation is canceled. 30043 30044 * WebCore/loader/FrameLoader.cpp: 30045 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 30046 * WebCore/loader/HistoryController.cpp: 30047 * WebCore/loader/HistoryController.h: 30048 30049 2011-01-08 Chang Shu <chang.shu (a] nokia.com> 30050 30051 Reviewed by Kenneth Rohde Christiansen. 30052 30053 Support createTouchList with Touch list for test automation. 30054 Implemented JS/V8 custom functions for createTouchList. 30055 https://bugs.webkit.org/show_bug.cgi?id=51196 30056 30057 * bindings/js/JSDocumentCustom.cpp: 30058 (WebCore::JSDocument::createTouchList): 30059 * bindings/v8/custom/V8DocumentCustom.cpp: 30060 (WebCore::V8Document::createTouchListCallback): 30061 * dom/Document.idl: 30062 * dom/TouchEvent.cpp: 30063 (WebCore::TouchEvent::initTouchEvent): 30064 30065 2011-01-08 Benjamin Poulain <benjamin.poulain (a] nokia.com> 30066 30067 Reviewed by Kenneth Rohde Christiansen. 30068 30069 [Qt] CookieJarQt.cpp has coding-style errors 30070 https://bugs.webkit.org/show_bug.cgi?id=39778 30071 30072 Improve the coding style of CookieJarQt.cpp. 30073 30074 * platform/qt/CookieJarQt.cpp: 30075 (WebCore::networkAccessManager): 30076 (WebCore::cookiesEnabled): 30077 30078 2011-01-08 Jeff Miller <jeffm (a] apple.com> 30079 30080 Rubber-stamped by Dan Bernstein. 30081 30082 Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore 30083 https://bugs.webkit.org/show_bug.cgi?id=52114 30084 30085 * WebCore.vcproj/QTMovieWin.vcproj: 30086 Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper. 30087 30088 2011-01-08 Dirk Schulze <krit (a] webkit.org> 30089 30090 Reviewed by Mihai Parparita. 30091 30092 SVG rendering clean up according to the webkit style rules 2 30093 https://bugs.webkit.org/show_bug.cgi?id=52112 30094 30095 Modified the style of the license of all files in WebCore/rendering/svg to match the style 30096 in WebCore/svg. Cleaned up the code according to the webkit style rules. 30097 30098 No change of functionality. No test added. 30099 30100 * rendering/svg/RenderSVGInline.cpp: 30101 * rendering/svg/RenderSVGInline.h: 30102 * rendering/svg/RenderSVGInlineText.cpp: 30103 * rendering/svg/RenderSVGInlineText.h: 30104 * rendering/svg/RenderSVGPath.cpp: 30105 * rendering/svg/RenderSVGPath.h: 30106 * rendering/svg/RenderSVGTSpan.cpp: 30107 * rendering/svg/RenderSVGTSpan.h: 30108 * rendering/svg/RenderSVGText.cpp: 30109 * rendering/svg/RenderSVGText.h: 30110 * rendering/svg/RenderSVGTextPath.cpp: 30111 * rendering/svg/RenderSVGTextPath.h: 30112 * rendering/svg/SVGInlineFlowBox.cpp: 30113 * rendering/svg/SVGInlineFlowBox.h: 30114 * rendering/svg/SVGInlineTextBox.cpp: 30115 * rendering/svg/SVGInlineTextBox.h: 30116 * rendering/svg/SVGRootInlineBox.cpp: 30117 * rendering/svg/SVGRootInlineBox.h: 30118 * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style. 30119 (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): 30120 * rendering/svg/SVGTextQuery.cpp: 30121 * rendering/svg/SVGTextQuery.h: 30122 30123 2011-01-08 Dirk Schulze <krit (a] webkit.org> 30124 30125 Reviewed by Mihai Parparita. 30126 30127 SVG rendering clean up according to the webkit style rules 30128 https://bugs.webkit.org/show_bug.cgi?id=52107 30129 30130 Cleanup of the SVG rendering code according to the webbkit style rules. 30131 Changed style of licensing texts to match the style in WebCore/svg, no change 30132 of the licensing text itself. 30133 30134 * rendering/RenderForeignObject.cpp: 30135 * rendering/RenderForeignObject.h: 30136 * rendering/RenderSVGBlock.cpp: 30137 * rendering/RenderSVGBlock.h: 30138 * rendering/RenderSVGContainer.cpp: 30139 * rendering/RenderSVGContainer.h: 30140 * rendering/RenderSVGGradientStop.cpp: 30141 * rendering/RenderSVGGradientStop.h: 30142 * rendering/RenderSVGHiddenContainer.cpp: 30143 * rendering/RenderSVGHiddenContainer.h: 30144 (WebCore::RenderSVGHiddenContainer::renderName): 30145 (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): 30146 (WebCore::RenderSVGHiddenContainer::requiresLayer): 30147 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): 30148 * rendering/RenderSVGImage.cpp: 30149 * rendering/RenderSVGImage.h: 30150 * rendering/RenderSVGModelObject.h: 30151 * rendering/RenderSVGResource.cpp: 30152 * rendering/RenderSVGResource.h: 30153 * rendering/RenderSVGResourceClipper.cpp: 30154 * rendering/RenderSVGResourceClipper.h: 30155 * rendering/RenderSVGResourceContainer.cpp: 30156 * rendering/RenderSVGResourceContainer.h: 30157 * rendering/RenderSVGResourceFilter.cpp: 30158 * rendering/RenderSVGResourceFilter.h: 30159 * rendering/RenderSVGResourceFilterPrimitive.cpp: 30160 * rendering/RenderSVGResourceFilterPrimitive.h: 30161 * rendering/RenderSVGResourceGradient.cpp: 30162 * rendering/RenderSVGResourceGradient.h: 30163 * rendering/RenderSVGResourceLinearGradient.cpp: 30164 * rendering/RenderSVGResourceLinearGradient.h: 30165 * rendering/RenderSVGResourceMarker.cpp: 30166 * rendering/RenderSVGResourceMarker.h: 30167 * rendering/RenderSVGResourceMasker.cpp: 30168 * rendering/RenderSVGResourceMasker.h: 30169 * rendering/RenderSVGResourcePattern.cpp: 30170 * rendering/RenderSVGResourcePattern.h: 30171 * rendering/RenderSVGResourceRadialGradient.cpp: 30172 * rendering/RenderSVGResourceRadialGradient.h: 30173 * rendering/RenderSVGResourceSolidColor.cpp: 30174 * rendering/RenderSVGResourceSolidColor.h: 30175 * rendering/RenderSVGRoot.cpp: 30176 (WebCore::RenderSVGRoot::nodeAtPoint): 30177 * rendering/RenderSVGRoot.h: 30178 * rendering/RenderSVGShadowTreeRootContainer.cpp: 30179 * rendering/RenderSVGShadowTreeRootContainer.h: 30180 * rendering/RenderSVGTransformableContainer.cpp: 30181 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 30182 * rendering/RenderSVGTransformableContainer.h: 30183 (WebCore::RenderSVGTransformableContainer::localToParentTransform): 30184 (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate): 30185 (WebCore::RenderSVGTransformableContainer::localTransform): 30186 * rendering/RenderSVGViewportContainer.cpp: 30187 * rendering/RenderSVGViewportContainer.h: 30188 * rendering/SVGImageBufferTools.cpp: 30189 * rendering/SVGImageBufferTools.h: 30190 * rendering/SVGMarkerData.h: 30191 * rendering/SVGMarkerLayoutInfo.cpp: 30192 * rendering/SVGMarkerLayoutInfo.h: 30193 * rendering/SVGRenderSupport.cpp: 30194 * rendering/SVGRenderSupport.h: 30195 * rendering/SVGRenderTreeAsText.cpp: 30196 (WebCore::operator<<): 30197 * rendering/SVGRenderTreeAsText.h: 30198 * rendering/SVGResources.cpp: 30199 * rendering/SVGResources.h: 30200 * rendering/SVGResourcesCache.cpp: 30201 * rendering/SVGResourcesCache.h: 30202 * rendering/SVGResourcesCycleSolver.cpp: 30203 * rendering/SVGResourcesCycleSolver.h: 30204 * rendering/SVGShadowTreeElements.cpp: 30205 * rendering/SVGShadowTreeElements.h: 30206 30207 2011-01-07 Adam Barth <abarth (a] webkit.org> 30208 30209 Rubber-stamped by Eric Seidel. 30210 30211 Move WebCore to Source 30212 https://bugs.webkit.org/show_bug.cgi?id=52050 30213 30214 Update project files to understand WebCore's new location. I suspect 30215 there will be some follow-up patches after we land this patch. 30216 30217 * Android.derived.jscbindings.mk: 30218 * Android.jscbindings.mk: 30219 * Android.v8bindings.mk: 30220 * GNUmakefile.am: 30221 * WebCore.gyp/WebCore.gyp: 30222 * WebCore.pri: 30223 * WebCore.pro: 30224 * WebCore.vcproj/WebCore.vcproj: 30225 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: 30226 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: 30227 30228 2011-01-07 Justin Garcia <justin.garcia (a] apple.com> 30229 30230 Reviewed by Dan Bernstein. 30231 30232 https://bugs.webkit.org/show_bug.cgi?id=51851 30233 Implement RenderSVGInlineText::localCaretRect() 30234 30235 * rendering/svg/RenderSVGInlineText.cpp: 30236 (WebCore::RenderSVGInlineText::localCaretRect): Implemented. 30237 30238 2011-01-07 Ryosuke Niwa <rniwa (a] webkit.org> 30239 30240 Unreviewed; Added the missing null pointer check for r75293. 30241 30242 * dom/Document.cpp: 30243 (WebCore::Document::adoptNode): 30244 30245 2011-01-07 Stephanie Lewis <slewis (a] apple.com> 30246 30247 Reviewed by Geoff Garen. 30248 30249 <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit 30250 https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit 30251 30252 Add a sampler for printing off process memory statistics. 30253 Export file mode. 30254 30255 * WebCore.exp.in: 30256 30257 2011-01-06 Ryosuke Niwa <rniwa (a] webkit.org> 30258 30259 Reviewed by Adam Barth. 30260 30261 onbeforeunload is broken for framesets 30262 https://bugs.webkit.org/show_bug.cgi?id=19418 30263 30264 Added beforeunload event support for sub frames. WebKit's implementation tries to match 30265 that of Internet Explorer as much as possible. beforeunload event is fired for each and 30266 every descendent of a frame that is about to navigate. 30267 30268 When a value other than null is returned by a beforeunload handler, a confirmation dialog 30269 is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done 30270 for main frames. 30271 30272 In addition, navigation is forbidden while beforeunload handlers are being called. 30273 Setting values to location.href, location.reload, and other means of navigations are thus 30274 ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior. 30275 30276 Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to 30277 NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose. 30278 30279 Tests: fast/events/before-unload-adopt-subframe-to-outside.html 30280 fast/events/before-unload-adopt-within-subframes.html 30281 fast/events/before-unload-forbidden-navigation.html 30282 fast/events/before-unload-in-multiple-subframes.html 30283 fast/events/before-unload-in-subframe.html 30284 fast/events/before-unload-javascript-navigation.html 30285 fast/events/before-unload-remove-and-add-subframe.html 30286 fact/events/before-unload-remove-itself.html 30287 fast/events/before-unload-with-subframes.html 30288 30289 * loader/FrameLoader.cpp: 30290 (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's 30291 descendents. Returns true only if every call to fireBeforeUnloadEvent returned true. 30292 (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls 30293 chrome's runBeforeUnloadConfirmPanel as needed. 30294 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames. 30295 * loader/FrameLoader.h: 30296 * loader/NavigationScheduler.cpp: 30297 (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls 30298 NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme. 30299 (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation. 30300 (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. 30301 (WebCore::NavigationScheduler::scheduleRefresh): Ditto. 30302 (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto. 30303 * loader/NavigationScheduler.h: 30304 (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation. 30305 (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation 30306 when called on the last instance of NavigationDisablerForBeforeUnload. 30307 (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance 30308 of NavigationDisablerForBeforeUnload left on the stack. 30309 30310 2011-01-07 Martin Robinson <mrobinson (a] igalia.com> 30311 30312 Build fix for GTK+. 30313 30314 * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list. 30315 * rendering/RenderFullScreen.cpp: 30316 (RenderFullScreen::setAnimating): Guard the call to contentChanged 30317 with ENABLED(ACCELERATED_COMPOSITING). 30318 30319 2011-01-07 Ryosuke Niwa <rniwa (a] webkit.org> 30320 30321 Unreviewed; speculative fix for Windows debug build. 30322 30323 * bindings/js/JSBindingsAllInOne.cpp: 30324 30325 2011-01-07 Ryosuke Niwa <rniwa (a] webkit.org> 30326 30327 Reviewed by Ojan Vafai. 30328 30329 Adopting an iframe to a child frame results in stack overflow 30330 https://bugs.webkit.org/show_bug.cgi?id=52018 30331 30332 Throws an exception when a document adopts an iframe that is an ancestor 30333 of the document in the frame hierarchy. New behavior matches that of Firefox. 30334 30335 Test: fast/html/adopt-parent-frame.html 30336 30337 * dom/Document.cpp: 30338 (WebCore::Document::adoptNode): 30339 30340 2011-01-07 Mihai Parparita <mihaip (a] chromium.org> 30341 30342 Reviewed by Darin Fisher. 30343 30344 [Chromium] Scrollbar code cleanup 30345 https://bugs.webkit.org/show_bug.cgi?id=52073 30346 30347 Scrollbar code cleanup: 30348 - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use 30349 ScrollbarThemeChromiumMac.{mm|h} 30350 - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to 30351 WebThemeEngine is permanent 30352 - Fix typo in Linux scrollbar enum name 30353 30354 No new tests (compiles). 30355 30356 * WebCore.gypi: 30357 * platform/chromium/ChromiumBridge.h: 30358 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 30359 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 30360 * platform/chromium/ScrollbarThemeChromiumMac.mm: 30361 (WebCore::scrollbarStateToThemeState): 30362 (WebCore::ScrollbarThemeChromiumMac::paint): 30363 30364 2011-01-07 Jer Noble <jer.noble (a] apple.com> 30365 30366 GTK Linux build fix: isDocumentRunningFullScreenAnimation should 30367 be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING) 30368 30369 * page/FrameView.cpp: 30370 30371 2011-01-07 Rafael Weinstein <rafaelw (a] chromium.org> 30372 30373 Reviewed by Eric Seidel. 30374 30375 Cleanup: Fold shadowParentNode into shadowHost 30376 https://bugs.webkit.org/show_bug.cgi?id=51059 30377 30378 Replaces all uses of shadowParentNode. 30379 30380 No new tests because no behavior has changed. 30381 30382 * css/CSSStyleSelector.cpp: 30383 (WebCore::CSSStyleSelector::initForStyleResolve): 30384 * dom/Node.cpp: 30385 (WebCore::Node::shadowHost): 30386 (WebCore::Node::shadowAncestorNode): 30387 (WebCore::eventTargetRespectingSVGTargetRules): 30388 (WebCore::Node::getEventAncestors): 30389 * dom/Node.h: 30390 * editing/Editor.cpp: 30391 (WebCore::Editor::findString): 30392 * page/DragController.cpp: 30393 (WebCore::asFileInput): 30394 * page/EventHandler.cpp: 30395 (WebCore::EventHandler::handleMousePressEvent): 30396 (WebCore::instanceAssociatedWithShadowTreeElement): 30397 (WebCore::EventHandler::dispatchMouseEvent): 30398 * rendering/RenderBlock.cpp: 30399 (WebCore::RenderBlock::hasLineIfEmpty): 30400 * rendering/RenderSVGShadowTreeRootContainer.cpp: 30401 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): 30402 * svg/SVGStyledElement.cpp: 30403 (WebCore::SVGStyledElement::title): 30404 30405 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30406 30407 Unreviewed. 30408 30409 I mistakenly included a Windows only file in a 30410 cross platform file. 30411 30412 * platform/graphics/ca/GraphicsLayerCA.cpp: 30413 30414 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30415 30416 Unreviewed. 30417 30418 Get rid of include of <QuartzCore/QuartzCore.h> 30419 30420 * platform/graphics/ca/GraphicsLayerCA.cpp: 30421 30422 2011-01-07 Jer Noble <jer.noble (a] apple.com> 30423 30424 Further build fixes. Add a ENABLE(FULLSCREEN_API) guard around 30425 the implementation of requiresCompositingfForFullScreen. 30426 30427 * rendering/RenderLayerCompositor.cpp: 30428 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): 30429 30430 2011-01-07 Jer Noble <jer.noble (a] apple.com> 30431 30432 No review, build fix only. Removed parameter who was causing 30433 a warning in Release builds. 30434 30435 * dom/Document.cpp: 30436 (WebCore::Document::webkitDidExitFullScreenForElement): 30437 30438 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30439 30440 Unreviewed. 30441 30442 Use new wkCACFLayerGetContextUserData function 30443 30444 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 30445 30446 2011-01-07 James Robinson <jamesr (a] chromium.org> 30447 30448 Fix compile bustage due to bad merge in 75276. 30449 30450 * page/animation/AnimationController.cpp: 30451 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 30452 30453 2010-12-17 Jer Noble <jer (a] kokode.apple.com> 30454 30455 Reviewed by Simon Fraser. 30456 30457 Implement WebKit Full Screen support. 30458 https://bugs.webkit.org/show_bug.cgi?id=49481 30459 rdar://problem/8247444 30460 30461 Mark for export all those WebCore functions needed by WebFullscreenController. 30462 30463 * WebCore.exp.in: 30464 30465 2010-12-17 Jer Noble <jer (a] kokode.apple.com> 30466 30467 Reviewed by Simon Fraser. 30468 30469 Implement WebKit Full Screen support. 30470 https://bugs.webkit.org/show_bug.cgi?id=49481 30471 rdar://problem/8247444 30472 30473 screenRect is useful for more than just HTMLMediaElements. Promote it into 30474 Element. 30475 30476 * dom/Element.cpp: Moved into Element from HTMLMediaElement. 30477 * dom/Element.h: Ditto. 30478 * dom/Node.cpp: 30479 * html/HTMLMediaElement.cpp: Moved screenRect into Element. 30480 * html/HTMLMediaElement.h: Ditto. 30481 * WebCore.exp.in: Modify the exports list to reflect the new symbol name. 30482 30483 2010-12-17 Jer Noble <jer (a] kokode.apple.com> 30484 30485 Reviewed by Simon Fraser. 30486 30487 Implement WebKit Full Screen support. 30488 https://bugs.webkit.org/show_bug.cgi?id=49481 30489 rdar://problem/8247444 30490 30491 The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to 30492 be rendered outside its original Frame. Because of this, there are a few areas of the 30493 rendering code which need to be special cased: RenderFullScreen layers should not be clipped 30494 to the viewport, as they will almost always be rendering outside the viewport area; 30495 RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as 30496 the client will likely want to reparent the platformLayer into their own fullscreen platform 30497 window; the FrameView must update the RenderFullScreen graphics layer tree separately from 30498 the root layer, as the two trees are disconnected. 30499 30500 * page/FrameView.cpp: 30501 (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer. 30502 (WebCore::FrameView::syncCompositingStateRecursive): Ditto. 30503 (WebCore::FrameView::paintContents): Ditto. 30504 * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen. 30505 * rendering/RenderLayer.cpp: 30506 (WebCore::RenderLayer::contentChanged): Add support for above. 30507 * rendering/RenderLayerBacking.cpp: 30508 (WebCore::layerOrAncestorIsFullScreen): New function. 30509 (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen. 30510 * rendering/RenderLayerCompositor.cpp: 30511 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer. 30512 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto. 30513 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto. 30514 * rendering/RenderLayerCompositor.h: 30515 30516 2010-12-17 Jer Noble <jer (a] kokode.apple.com> 30517 30518 Reviewed by Simon Fraser. 30519 30520 Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to 30521 use to relocate the fullscreen element subtree. 30522 30523 https://bugs.webkit.org/show_bug.cgi?id=49481 30524 rdar://problem/8247444 30525 30526 * css/CSSStyleSelector.cpp: 30527 (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen. 30528 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. 30529 * dom/Document.cpp: 30530 (WebCore::Document::Document): Initialize m_fullScreenRenderer. 30531 (WebCore::Document::detach): Call setFullScreenRenderer(0). 30532 (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement. 30533 (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause 30534 a new RenderFullScreen renderer to be created with the new fullscreen element. 30535 (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change 30536 here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response 30537 to webkitfullscreenchange events. 30538 (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style. 30539 (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. 30540 (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer. 30541 (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new 30542 size; this keeps clients from having to access the renderer's style directly. 30543 (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto. 30544 * dom/Document.h: 30545 (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen. 30546 (WebCore::Document::fullScreenRenderer): Accessor. 30547 * dom/Document.idl: 30548 * dom/Node.cpp: 30549 (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen 30550 object to insert between the fullscreen element and its parent. 30551 * page/ChromeClient.h: 30552 (WebCore::ChromeClient::fullScreenRendererChanged): Added. 30553 * rendering/MediaControlElements.cpp: 30554 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen. 30555 30556 2010-12-17 Jer Noble <jer (a] kokode.apple.com> 30557 30558 Reviewed by Simon Fraser. 30559 30560 Implement WebKit Full Screen support. 30561 https://bugs.webkit.org/show_bug.cgi?id=49481 30562 rdar://problem/8247444 30563 30564 This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer 30565 will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the 30566 parent of the current fullscreen element, the style rules for fullscreen objects must change to 30567 match. 30568 30569 * WebCore.xcodeproj/project.pbxproj: 30570 * rendering/RenderFullScreen.cpp: Added. 30571 (RenderFullScreen::setAnimating): Sets the m_isAnimating flag. 30572 (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye 30573 for RenderFullScreen objects. 30574 * rendering/RenderFullScreen.h: Added. 30575 (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version. 30576 * rendering/RenderObject.h: 30577 (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects. 30578 * css/fullscreen.css: Modified the contained fullscreen styles. 30579 30580 30581 2011-01-07 James Robinson <jamesr (a] chromium.org> 30582 30583 Revert "Implement mozilla's animationTime property" 30584 https://bugs.webkit.org/show_bug.cgi?id=51952 30585 30586 This approach isn't quite right. 30587 30588 * Android.mk: 30589 * CMakeLists.txt: 30590 * GNUmakefile.am: 30591 * WebCore.exp.in: 30592 * WebCore.gypi: 30593 * WebCore.pro: 30594 * WebCore.vcproj/WebCore.vcproj: 30595 * WebCore.xcodeproj/project.pbxproj: 30596 * page/DOMWindow.cpp: 30597 * page/DOMWindow.h: 30598 * page/DOMWindow.idl: 30599 * page/Frame.cpp: 30600 * page/Frame.h: 30601 * page/Page.cpp: 30602 (WebCore::Page::Page): 30603 * page/Page.h: 30604 * page/animation/AnimationController.cpp: 30605 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 30606 * page/animation/AnimationTimeController.cpp: Removed. 30607 * page/animation/AnimationTimeController.h: Removed. 30608 30609 2011-01-07 Jan Erik Hanssen <jhanssen (a] sencha.com> 30610 30611 Reviewed by Andreas Kling. 30612 30613 [Qt] Black text on black buttons using a dark theme 30614 https://bugs.webkit.org/show_bug.cgi?id=35024 30615 30616 Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style. 30617 30618 * platform/qt/RenderThemeQt.cpp: 30619 (WebCore::RenderThemeQt::systemColor): 30620 * platform/qt/RenderThemeQt.h: 30621 30622 2011-01-05 Adrienne Walker <enne (a] google.com> 30623 30624 Reviewed by Kenneth Russell. 30625 30626 Add WEBKIT_lose_context WebGL extension. 30627 https://bugs.webkit.org/show_bug.cgi?id=51492 30628 30629 Tests: fast/canvas/webgl/context-lost-restored.html 30630 fast/canvas/webgl/context-lost.html 30631 30632 * CMakeLists.txt: 30633 * DerivedSources.make: 30634 * GNUmakefile.am: 30635 * WebCore.gypi: 30636 * WebCore.pri: 30637 * WebCore.pro: 30638 * WebCore.xcodeproj/project.pbxproj: 30639 * bindings/js/JSWebGLRenderingContextCustom.cpp: 30640 (WebCore::toJS): 30641 (WebCore::JSWebGLRenderingContext::getSupportedExtensions): 30642 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 30643 (WebCore::toV8Object): 30644 (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): 30645 * html/canvas/WebGLExtension.h: 30646 * html/canvas/WebGLRenderingContext.cpp: 30647 (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): 30648 (WebCore::WebGLRenderingContext::getExtension): 30649 (WebCore::WebGLRenderingContext::getSupportedExtensions): 30650 (WebCore::WebGLRenderingContext::forceLostContext): 30651 (WebCore::WebGLRenderingContext::onLostContext): 30652 (WebCore::WebGLRenderingContext::getNumberOfExtensions): 30653 (WebCore::WebGLRenderingContext::getExtensionNumber): 30654 * html/canvas/WebGLRenderingContext.h: 30655 * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h. 30656 (WebCore::WebKitLoseContext::WebKitLoseContext): 30657 (WebCore::WebKitLoseContext::~WebKitLoseContext): 30658 (WebCore::WebKitLoseContext::getName): 30659 (WebCore::WebKitLoseContext::create): 30660 (WebCore::WebKitLoseContext::loseContext): 30661 * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h. 30662 * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h. 30663 30664 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30665 30666 Unreviewed. 30667 30668 Build fix for Chromium. Missing include. 30669 30670 * page/animation/AnimationBase.cpp: 30671 30672 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30673 30674 Unreviewed. 30675 30676 Build fix. 30677 30678 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 30679 30680 2011-01-06 Gavin Barraclough <barraclough (a] apple.com> 30681 30682 Reviewed by Geoff Garen. 30683 30684 Bug 52035 - Unregistering DOMWrapperWorlds is unsafe 30685 30686 The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's 30687 destructor early, in order to release wrappers once we know we no longer intend to use them. 30688 Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to 30689 lose any state stored on them) it is not okay to deregister the world from the JSGlobalData. 30690 A sequence of events that triggers the bug would look like this: 30691 30692 (1) Create a DOMWrapperWorld. 30693 (2) Register a timer in the world. 30694 (3) Call unregisterWorld() on the world. 30695 (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document. 30696 (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've 30697 called forgetWorld() none exists. 30698 (6) Attempt to add a wrapper to a NULL map. 30699 30700 Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away. 30701 30702 * WebCore.exp.in: 30703 * bindings/js/DOMWrapperWorld.cpp: 30704 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 30705 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 30706 (WebCore::DOMWrapperWorld::clearWrappers): 30707 * bindings/js/DOMWrapperWorld.h: 30708 30709 2011-01-07 Chris Marrin <cmarrin (a] apple.com> 30710 30711 Rubber-stamped by Simon Fraser. 30712 30713 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 30714 https://bugs.webkit.org/show_bug.cgi?id=49388 30715 30716 Final step in unifying GraphicsLayer logic across Win and Mac. This 30717 implements the Windows side classes for PlatformCALayer and supporting 30718 classes. Also changed MediaPlayer to use new PlatformCALayerClient 30719 so it can use PlatformCALayer directly rather than a dummy GraphicsLayer. 30720 WKCACFLayerRenderer now does the task of notifying animations of their 30721 start time. Also commented out an assert in AnimationBase because 30722 AnimationController's frame time is not in sync with the new 30723 AnimationTimeController. I've opened a new bug for that issue: 30724 30725 https://bugs.webkit.org/show_bug.cgi?id=52037 30726 30727 This also includes the Mac side changes backed out in 30728 http://trac.webkit.org/changeset/75227. 30729 30730 * WebCore.vcproj/WebCore.vcproj: 30731 * WebCore.vcproj/WebCoreCommon.vsprops: 30732 * WebCore.vcproj/copyForwardingHeaders.cmd: 30733 * WebCore.xcodeproj/project.pbxproj: 30734 * config.h: 30735 * page/animation/AnimationBase.cpp: 30736 (WebCore::AnimationBase::freezeAtTime): 30737 (WebCore::AnimationBase::getElapsedTime): 30738 * page/animation/AnimationController.cpp: 30739 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 30740 * page/animation/KeyframeAnimation.cpp: 30741 (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): 30742 * platform/graphics/GraphicsLayer.h: 30743 (WebCore::GraphicsLayer::layerDidDisplay): 30744 (WebCore::GraphicsLayer::showDebugBorders): 30745 (WebCore::GraphicsLayer::showRepaintCounter): 30746 * platform/graphics/ca/GraphicsLayerCA.cpp: 30747 (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): 30748 (WebCore::GraphicsLayerCA::setContentsToImage): 30749 (WebCore::GraphicsLayerCA::setContentsToMedia): 30750 (WebCore::GraphicsLayerCA::layerDidDisplay): 30751 (WebCore::GraphicsLayerCA::updateSublayerList): 30752 * platform/graphics/ca/GraphicsLayerCA.h: 30753 (WebCore::GraphicsLayerCA::platformCALayer): 30754 (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): 30755 (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): 30756 (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): 30757 (WebCore::GraphicsLayerCA::platformCALayerPaintContents): 30758 (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): 30759 (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): 30760 (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): 30761 (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): 30762 (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): 30763 (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): 30764 * platform/graphics/ca/PlatformCAAnimation.h: 30765 * platform/graphics/ca/PlatformCALayer.h: 30766 (WebCore::PlatformCALayer::owner): 30767 (WebCore::PlatformCALayer::animationStarted): 30768 * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h. 30769 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 30770 (PlatformCALayer::setOwner): 30771 (PlatformCALayer::create): 30772 (PlatformCALayer::PlatformCALayer): 30773 (PlatformCALayer::contents): 30774 (PlatformCALayer::setContents): 30775 * platform/graphics/ca/win: Added. 30776 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added. 30777 * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added. 30778 * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added. 30779 * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added. 30780 (WebCore::PlatformCALayerWinInternal::owner): 30781 * platform/graphics/mac/WebGLLayer.mm: 30782 (-[WebGLLayer display]): 30783 * platform/graphics/mac/WebLayer.h: 30784 * platform/graphics/mac/WebLayer.mm: 30785 (drawLayerContents): 30786 (setLayerNeedsDisplayInRect): 30787 (-[WebLayer setNeedsDisplay]): 30788 (-[WebLayer display]): 30789 * platform/graphics/mac/WebTiledLayer.mm: 30790 (-[WebTiledLayer setNeedsDisplay]): 30791 (-[WebTiledLayer display]): 30792 * platform/graphics/win/GraphicsContextCGWin.cpp: 30793 (WebCore::CGContextWithHDC): 30794 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 30795 (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): 30796 (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): 30797 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: 30798 (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer): 30799 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 30800 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient): 30801 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges): 30802 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted): 30803 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation): 30804 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): 30805 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders): 30806 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter): 30807 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount): 30808 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque): 30809 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent): 30810 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay): 30811 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer): 30812 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): 30813 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia): 30814 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): 30815 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie): 30816 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: 30817 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 30818 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): 30819 (WebCore::MediaPlayerPrivate::createLayerForMovie): 30820 * platform/graphics/win/WKCACFLayerRenderer.cpp: 30821 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): 30822 (WebCore::WKCACFLayerRenderer::rootLayer): 30823 (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer): 30824 (WebCore::WKCACFLayerRenderer::setRootChildLayer): 30825 (WebCore::WKCACFLayerRenderer::setNeedsDisplay): 30826 (WebCore::WKCACFLayerRenderer::destroyRenderer): 30827 (WebCore::WKCACFLayerRenderer::render): 30828 * platform/graphics/win/WKCACFLayerRenderer.h: 30829 (WebCore::WKCACFLayerRendererClient::animationsStarted): 30830 (WebCore::WKCACFLayerRendererClient::syncCompositingState): 30831 * rendering/RenderLayerBacking.cpp: 30832 (WebCore::RenderLayerBacking::showDebugBorders): 30833 (WebCore::RenderLayerBacking::showRepaintCounter): 30834 * rendering/RenderLayerCompositor.cpp: 30835 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 30836 * rendering/RenderLayerCompositor.h: 30837 (WebCore::RenderLayerCompositor::compositorShowDebugBorders): 30838 (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): 30839 (WebCore::RenderLayerCompositor::notifyAnimationStarted): 30840 (WebCore::RenderLayerCompositor::notifySyncRequired): 30841 (WebCore::RenderLayerCompositor::paintContents): 30842 (WebCore::RenderLayerCompositor::showDebugBorders): 30843 (WebCore::RenderLayerCompositor::showRepaintCounter): 30844 30845 2011-01-07 Nate Chapin <japhet (a] chromium.org> 30846 30847 Reviewed by Darin Fisher. 30848 30849 Let PingLoader send cookies if FrameLoaderClient permits it. 30850 https://bugs.webkit.org/show_bug.cgi?id=51898 30851 30852 Test: http/tests/navigation/ping-cookie.html 30853 30854 * loader/PingLoader.cpp: 30855 (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage 30856 at load start time, since we won't be able to call 30857 FrameLoaderClient::shouldUseCredentialStorage() later. 30858 * loader/PingLoader.h: 30859 (WebCore::PingLoader::shouldUseCredentialStorage): 30860 30861 2011-01-07 Xan Lopez <xlopez (a] igalia.com> 30862 30863 Unreviewed, rolling out r75256. 30864 http://trac.webkit.org/changeset/75256 30865 https://bugs.webkit.org/show_bug.cgi?id=50869 30866 30867 Broke GTK+ canvas tests 30868 30869 * platform/graphics/cairo/PathCairo.cpp: 30870 (WebCore::Path::addArc): 30871 30872 2011-01-07 Carlos Garcia Campos <cgarcia (a] igalia.com> 30873 30874 Reviewed by Martin Robinson. 30875 30876 [GTK] Port scrollbar painting to GtkStyleContext 30877 https://bugs.webkit.org/show_bug.cgi?id=52051 30878 30879 Use GtkStyleContext API to paint scrollbars when building with 30880 GTK+ 3.x. 30881 30882 No new tests. This should not change functionality. 30883 30884 * platform/gtk/RenderThemeGtk.h: 30885 * platform/gtk/RenderThemeGtk3.cpp: 30886 (WebCore::RenderThemeGtk::gtkScrollbarStyle): 30887 * platform/gtk/ScrollbarThemeGtk.cpp: 30888 * platform/gtk/ScrollbarThemeGtk.h: 30889 * platform/gtk/ScrollbarThemeGtk2.cpp: 30890 (WebCore::gtkStyleSetCallback): 30891 (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): 30892 * platform/gtk/ScrollbarThemeGtk3.cpp: 30893 (WebCore::gtkStyleChangedCallback): 30894 (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): 30895 (WebCore::ScrollbarThemeGtk::updateThemeProperties): 30896 (WebCore::ScrollbarThemeGtk::paintTrackBackground): 30897 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): 30898 (WebCore::ScrollbarThemeGtk::paintThumb): 30899 (WebCore::ScrollbarThemeGtk::paintButton): 30900 30901 2011-01-07 Dan Bernstein <mitz (a] apple.com> 30902 30903 Reviewed by Darin Adler. 30904 30905 <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations 30906 https://bugs.webkit.org/show_bug.cgi?id=51267 30907 30908 Test: fast/text/emphasis-avoid-ruby.html 30909 30910 * rendering/InlineFlowBox.cpp: 30911 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if 30912 there are text emphasis marks. 30913 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto. 30914 (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto. 30915 * rendering/InlineTextBox.cpp: 30916 (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark 30917 position if the text is style with emphasis marks and there isnt a ruby annotation that should 30918 suppress them. Otherwise returns false. 30919 (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should 30920 be painted. 30921 * rendering/InlineTextBox.h: 30922 30923 2011-01-07 Alejandro G. Castro <alex (a] igalia.com> 30924 30925 Reviewed by Martin Robinson. 30926 30927 [cairo] Rendering a lot of arcs on top of each other causes time 30928 outs in some tests 30929 https://bugs.webkit.org/show_bug.cgi?id=50869 30930 30931 We avoid the situation where we have to render the same arc 30932 multiple times over itself. Now it renders just one oval and 30933 moves to the end angle. 30934 30935 * platform/graphics/cairo/PathCairo.cpp: 30936 (WebCore::Path::addArc): 30937 30938 2011-01-07 Carlos Garcia Campos <cgarcia (a] igalia.com> 30939 30940 Reviewed by Martin Robinson. 30941 30942 [GTK] Port buttons painting to GtkStyleContext 30943 https://bugs.webkit.org/show_bug.cgi?id=51812 30944 30945 Use GtkStyleContext API to paint buttons when building with GTK+ 30946 3.x. 30947 30948 No new tests. This should not change functionality. 30949 30950 * platform/gtk/RenderThemeGtk3.cpp: 30951 (WebCore::adjustRectForFocus): 30952 (WebCore::RenderThemeGtk::adjustRepaintRect): 30953 (WebCore::RenderThemeGtk::paintButton): 30954 30955 2011-01-07 Zhenyao Mo <zmo (a] google.com> 30956 30957 Unreviewed, build fix. 30958 30959 * html/canvas/WebGLRenderingContext.cpp: 30960 (WebCore::WebGLRenderingContext::copyTexSubImage2D): 30961 30962 2011-01-06 Zhenyao Mo <zmo (a] google.com> 30963 30964 Reviewed by Kenneth Russell. 30965 30966 copyTexSubImage2D shouldn't have undefined pixels 30967 https://bugs.webkit.org/show_bug.cgi?id=51559 30968 30969 * html/canvas/WebGLRenderingContext.cpp: 30970 (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D. 30971 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0. 30972 (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters. 30973 (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto. 30974 * html/canvas/WebGLRenderingContext.h: 30975 * html/canvas/WebGLTexture.cpp: 30976 (WebCore::WebGLTexture::getType): Expose the type of a texture. 30977 * html/canvas/WebGLTexture.h: 30978 30979 2011-01-07 Takashi Toyoshima <toyoshim (a] google.com> 30980 30981 Reviewed by Kenneth Russell. 30982 30983 cleanupAfterGraphicsCall() is never called in 30984 WebGLRenderingContext::checkFramebufferStatus() 30985 https://bugs.webkit.org/show_bug.cgi?id=51668 30986 30987 No new tests. This is a trivial bug. 30988 30989 * html/canvas/WebGLRenderingContext.cpp: 30990 (WebCore::WebGLRenderingContext::checkFramebufferStatus): 30991 30992 2011-01-07 Mario Sanchez Prada <msanchez (a] igalia.com> 30993 30994 Reviewed by Chris Fleizach. 30995 30996 GTK: AX: atk tests need to be updated after recent changes 30997 https://bugs.webkit.org/show_bug.cgi?id=51932 30998 30999 Make sure we can always get the right accesssible parent for an 31000 AtkObject when traversing the hierarchy bottom up. 31001 31002 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 31003 (isRootObject): New function to check whether an 31004 AccessibilityObject is the root one or not, according to the 31005 latest changes in the hierarchy. 31006 (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's 31007 GAIL as the parent of the root AtkObject from WebCore. 31008 (webkit_accessible_get_parent): Use atkParentOfRootObject. 31009 (webkit_accessible_get_index_in_parent): Ditto. 31010 (atkRole): Expose AccessibilityObjects with ScrollAreaRole as 31011 AtkObject's of role ATK_ROLE_SCROLLED_PANE. 31012 31013 2011-01-07 Zhenyao Mo <zmo (a] google.com> 31014 31015 Unreviewed, Mac 32-bit build fix. 31016 Use float instead of double in GL function arguments to avoid implicit type down casting. 31017 31018 * html/canvas/WebGLRenderingContext.cpp: 31019 (WebCore::WebGLRenderingContext::blendColor): 31020 (WebCore::WebGLRenderingContext::clearColor): 31021 (WebCore::WebGLRenderingContext::clearDepth): 31022 (WebCore::WebGLRenderingContext::depthRange): 31023 (WebCore::WebGLRenderingContext::lineWidth): 31024 (WebCore::WebGLRenderingContext::polygonOffset): 31025 (WebCore::WebGLRenderingContext::sampleCoverage): 31026 * html/canvas/WebGLRenderingContext.h: 31027 * html/canvas/WebGLRenderingContext.idl: 31028 31029 2011-01-07 Carlos Garcia Campos <cgarcia (a] igalia.com> and Martin Robinson <mrobinson (a] igalia.com> 31030 31031 Reviewed by Xan Lopez. 31032 31033 [GTK] Port slider painting to GtkStyleContext 31034 https://bugs.webkit.org/show_bug.cgi?id=51874 31035 31036 Use GtkStyleContext API to paint sliders when building with GTK+ 31037 3.x. Also move the code to adjust media slider to its own method 31038 in RenderThemeGtk.cpp since it's common to both gtk 2 and 3. 31039 31040 No new tests. This should not change functionality. 31041 31042 * platform/gtk/RenderThemeGtk.cpp: 31043 (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): 31044 * platform/gtk/RenderThemeGtk.h: 31045 * platform/gtk/RenderThemeGtk2.cpp: 31046 (WebCore::RenderThemeGtk::adjustSliderThumbSize): 31047 * platform/gtk/RenderThemeGtk3.cpp: 31048 (WebCore::RenderThemeGtk::paintSliderTrack): 31049 (WebCore::RenderThemeGtk::paintSliderThumb): 31050 (WebCore::RenderThemeGtk::adjustSliderThumbSize): 31051 31052 2011-01-07 Benjamin Poulain <benjamin.poulain (a] nokia.com> 31053 31054 Reviewed by Andreas Kling. 31055 31056 [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile 31057 https://bugs.webkit.org/show_bug.cgi?id=51992 31058 31059 Add the missing header. CString is used in debug by the calls to LOG(). 31060 31061 * fileapi/FileReader.cpp: 31062 31063 2011-01-07 Alejandro G. Castro <alex (a] igalia.com> 31064 31065 Reviewed by Martin Robinson. 31066 31067 Cairo's ContextShadow may mis-render some box shadows 31068 https://bugs.webkit.org/show_bug.cgi?id=51374 31069 31070 The space required for the internal shadow of the corners was not 31071 correctly considered. 31072 31073 * platform/graphics/cairo/ContextShadowCairo.cpp: 31074 (WebCore::ContextShadow::drawRectShadow): 31075 31076 2011-01-06 Adam Barth <abarth (a] webkit.org> 31077 31078 Reviewed by Darin Adler. 31079 31080 REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt() 31081 https://bugs.webkit.org/show_bug.cgi?id=52013 31082 31083 When excluding line numbers for composite strings, we forgot to exclude 31084 the line number for the current string! 31085 31086 Test: fast/parser/line-number-composite-segmented-string.html 31087 31088 * platform/text/SegmentedString.cpp: 31089 (WebCore::SegmentedString::setExcludeLineNumbers): 31090 31091 2011-01-06 Chris Marrin <cmarrin (a] apple.com> 31092 31093 Unreviewed. 31094 31095 Back out changes in http://trac.webkit.org/changeset/75199 31096 This breaks the Windows build. Fixing it on that side. Until 31097 then I'll back this out. 31098 31099 2011-01-06 Jenn Braithwaite <jennb (a] chromium.org> 31100 31101 Reviewed by Dmitry Titov. 31102 31103 When a live frame is moved between pages, some plug-in DOM methods cease to function 31104 https://bugs.webkit.org/show_bug.cgi?id=45770 31105 31106 Test: fast/frames/iframe-reparenting-plugins.html 31107 31108 * page/Frame.cpp: 31109 (WebCore::Frame::~Frame): 31110 (WebCore::Frame::addObserver): 31111 (WebCore::Frame::removeObserver): 31112 * page/Frame.h: 31113 (WebCore::FrameDestructionObserver::~FrameDestructionObserver): 31114 Added observer to be notified when frame is destroyed. 31115 * page/Page.cpp: 31116 (WebCore::Page::~Page): 31117 (WebCore::Page::refreshPlugins): 31118 PluginData no longer stores page pointer. 31119 * plugins/DOMMimeType.cpp: 31120 (WebCore::DOMMimeType::DOMMimeType): 31121 (WebCore::DOMMimeType::~DOMMimeType): 31122 (WebCore::DOMMimeType::enabledPlugin): 31123 * plugins/DOMMimeType.h: 31124 (WebCore::DOMMimeType::create): 31125 (WebCore::DOMMimeType::frameDestroyed): 31126 Store frame instead of page pointer in DOMMimeType. 31127 * plugins/DOMMimeTypeArray.cpp: 31128 (WebCore::DOMMimeTypeArray::item): 31129 (WebCore::DOMMimeTypeArray::namedItem): 31130 Provide frame to create DOMMimeType. 31131 * plugins/DOMPlugin.cpp: 31132 (WebCore::DOMPlugin::DOMPlugin): 31133 (WebCore::DOMPlugin::~DOMPlugin): 31134 (WebCore::DOMPlugin::item): 31135 (WebCore::DOMPlugin::namedItem): 31136 * plugins/DOMPlugin.h: 31137 (WebCore::DOMPlugin::create): 31138 (WebCore::DOMPlugin::frameDestroyed): 31139 Store frame instead of page pointer in DOMPlugin. 31140 * plugins/DOMPluginArray.cpp: 31141 (WebCore::DOMPluginArray::item): 31142 (WebCore::DOMPluginArray::namedItem): 31143 Provide frame to create DOMPlugin. 31144 * plugins/PluginData.cpp: 31145 (WebCore::PluginData::PluginData): 31146 (WebCore::PluginData::initPlugins): 31147 * plugins/PluginData.h: 31148 No longer stores a pointer to the page. 31149 Added page parameter to initPlugins. 31150 * plugins/PluginDataNone.cpp: 31151 (WebCore::PluginData::initPlugins): 31152 * plugins/chromium/PluginDataChromium.cpp: 31153 (WebCore::PluginData::initPlugins): 31154 * plugins/gtk/PluginDataGtk.cpp: 31155 (WebCore::PluginData::initPlugins): 31156 * plugins/wx/PluginDataWx.cpp: 31157 (WebCore::PluginData::initPlugins): 31158 Updated platforms to add (unused) page parameter to initPlugins. 31159 31160 2011-01-05 Zhenyao Mo <zmo (a] google.com> 31161 31162 Reviewed by Kenneth Russell. 31163 31164 Define GC3D types to match GL types and use them in GraphicsContext3D 31165 https://bugs.webkit.org/show_bug.cgi?id=45557 31166 31167 * html/canvas/WebGLRenderingContext.cpp: 31168 (WebCore::WebGLRenderingContext::readPixels): 31169 (WebCore::WebGLRenderingContext::validateTexFuncData): 31170 * platform/graphics/GraphicsContext3D.cpp: 31171 (WebCore::GraphicsContext3D::texImage2DResourceSafe): 31172 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): 31173 (WebCore::GraphicsContext3D::extractImageData): 31174 (WebCore::GraphicsContext3D::extractTextureData): 31175 * platform/graphics/GraphicsContext3D.h: 31176 * platform/graphics/cg/GraphicsContext3DCG.cpp: 31177 (WebCore::GraphicsContext3D::getImageData): 31178 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 31179 (WebCore::SharedGraphicsContext3D::enable): 31180 (WebCore::SharedGraphicsContext3D::disable): 31181 (WebCore::SharedGraphicsContext3D::clear): 31182 (WebCore::SharedGraphicsContext3D::drawArrays): 31183 (WebCore::SharedGraphicsContext3D::getError): 31184 (WebCore::SharedGraphicsContext3D::getIntegerv): 31185 (WebCore::SharedGraphicsContext3D::createFramebuffer): 31186 (WebCore::SharedGraphicsContext3D::createTexture): 31187 (WebCore::SharedGraphicsContext3D::deleteFramebuffer): 31188 (WebCore::SharedGraphicsContext3D::deleteTexture): 31189 (WebCore::SharedGraphicsContext3D::framebufferTexture2D): 31190 (WebCore::SharedGraphicsContext3D::texParameteri): 31191 (WebCore::SharedGraphicsContext3D::texImage2D): 31192 (WebCore::SharedGraphicsContext3D::texSubImage2D): 31193 (WebCore::SharedGraphicsContext3D::readPixels): 31194 (WebCore::SharedGraphicsContext3D::setActiveTexture): 31195 (WebCore::SharedGraphicsContext3D::bindTexture): 31196 (WebCore::SharedGraphicsContext3D::bindFramebuffer): 31197 * platform/graphics/gpu/SharedGraphicsContext3D.h: 31198 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 31199 (WebCore::GraphicsContext3D::activeTexture): 31200 (WebCore::GraphicsContext3D::attachShader): 31201 (WebCore::GraphicsContext3D::bindAttribLocation): 31202 (WebCore::GraphicsContext3D::bindBuffer): 31203 (WebCore::GraphicsContext3D::bindFramebuffer): 31204 (WebCore::GraphicsContext3D::bindRenderbuffer): 31205 (WebCore::GraphicsContext3D::bindTexture): 31206 (WebCore::GraphicsContext3D::blendColor): 31207 (WebCore::GraphicsContext3D::blendEquation): 31208 (WebCore::GraphicsContext3D::blendEquationSeparate): 31209 (WebCore::GraphicsContext3D::blendFunc): 31210 (WebCore::GraphicsContext3D::blendFuncSeparate): 31211 (WebCore::GraphicsContext3D::bufferData): 31212 (WebCore::GraphicsContext3D::bufferSubData): 31213 (WebCore::GraphicsContext3D::checkFramebufferStatus): 31214 (WebCore::GraphicsContext3D::clearColor): 31215 (WebCore::GraphicsContext3D::clear): 31216 (WebCore::GraphicsContext3D::clearDepth): 31217 (WebCore::GraphicsContext3D::clearStencil): 31218 (WebCore::GraphicsContext3D::colorMask): 31219 (WebCore::GraphicsContext3D::compileShader): 31220 (WebCore::GraphicsContext3D::copyTexImage2D): 31221 (WebCore::GraphicsContext3D::copyTexSubImage2D): 31222 (WebCore::GraphicsContext3D::cullFace): 31223 (WebCore::GraphicsContext3D::depthFunc): 31224 (WebCore::GraphicsContext3D::depthMask): 31225 (WebCore::GraphicsContext3D::depthRange): 31226 (WebCore::GraphicsContext3D::detachShader): 31227 (WebCore::GraphicsContext3D::disable): 31228 (WebCore::GraphicsContext3D::disableVertexAttribArray): 31229 (WebCore::GraphicsContext3D::drawArrays): 31230 (WebCore::GraphicsContext3D::drawElements): 31231 (WebCore::GraphicsContext3D::enable): 31232 (WebCore::GraphicsContext3D::enableVertexAttribArray): 31233 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 31234 (WebCore::GraphicsContext3D::framebufferTexture2D): 31235 (WebCore::GraphicsContext3D::frontFace): 31236 (WebCore::GraphicsContext3D::generateMipmap): 31237 (WebCore::GraphicsContext3D::getActiveAttrib): 31238 (WebCore::GraphicsContext3D::getActiveUniform): 31239 (WebCore::GraphicsContext3D::getAttachedShaders): 31240 (WebCore::GraphicsContext3D::getAttribLocation): 31241 (WebCore::GraphicsContext3D::getError): 31242 (WebCore::GraphicsContext3D::getString): 31243 (WebCore::GraphicsContext3D::hint): 31244 (WebCore::GraphicsContext3D::isBuffer): 31245 (WebCore::GraphicsContext3D::isEnabled): 31246 (WebCore::GraphicsContext3D::isFramebuffer): 31247 (WebCore::GraphicsContext3D::isProgram): 31248 (WebCore::GraphicsContext3D::isRenderbuffer): 31249 (WebCore::GraphicsContext3D::isShader): 31250 (WebCore::GraphicsContext3D::isTexture): 31251 (WebCore::GraphicsContext3D::lineWidth): 31252 (WebCore::GraphicsContext3D::linkProgram): 31253 (WebCore::GraphicsContext3D::pixelStorei): 31254 (WebCore::GraphicsContext3D::polygonOffset): 31255 (WebCore::GraphicsContext3D::readPixels): 31256 (WebCore::GraphicsContext3D::renderbufferStorage): 31257 (WebCore::GraphicsContext3D::sampleCoverage): 31258 (WebCore::GraphicsContext3D::scissor): 31259 (WebCore::GraphicsContext3D::stencilFunc): 31260 (WebCore::GraphicsContext3D::stencilFuncSeparate): 31261 (WebCore::GraphicsContext3D::stencilMask): 31262 (WebCore::GraphicsContext3D::stencilMaskSeparate): 31263 (WebCore::GraphicsContext3D::stencilOp): 31264 (WebCore::GraphicsContext3D::stencilOpSeparate): 31265 (WebCore::GraphicsContext3D::texParameterf): 31266 (WebCore::GraphicsContext3D::texParameteri): 31267 (WebCore::GraphicsContext3D::uniform1f): 31268 (WebCore::GraphicsContext3D::uniform1fv): 31269 (WebCore::GraphicsContext3D::uniform2f): 31270 (WebCore::GraphicsContext3D::uniform2fv): 31271 (WebCore::GraphicsContext3D::uniform3f): 31272 (WebCore::GraphicsContext3D::uniform3fv): 31273 (WebCore::GraphicsContext3D::uniform4f): 31274 (WebCore::GraphicsContext3D::uniform4fv): 31275 (WebCore::GraphicsContext3D::uniform1i): 31276 (WebCore::GraphicsContext3D::uniform1iv): 31277 (WebCore::GraphicsContext3D::uniform2i): 31278 (WebCore::GraphicsContext3D::uniform2iv): 31279 (WebCore::GraphicsContext3D::uniform3i): 31280 (WebCore::GraphicsContext3D::uniform3iv): 31281 (WebCore::GraphicsContext3D::uniform4i): 31282 (WebCore::GraphicsContext3D::uniform4iv): 31283 (WebCore::GraphicsContext3D::uniformMatrix2fv): 31284 (WebCore::GraphicsContext3D::uniformMatrix3fv): 31285 (WebCore::GraphicsContext3D::uniformMatrix4fv): 31286 (WebCore::GraphicsContext3D::useProgram): 31287 (WebCore::GraphicsContext3D::validateProgram): 31288 (WebCore::GraphicsContext3D::vertexAttrib1f): 31289 (WebCore::GraphicsContext3D::vertexAttrib1fv): 31290 (WebCore::GraphicsContext3D::vertexAttrib2f): 31291 (WebCore::GraphicsContext3D::vertexAttrib2fv): 31292 (WebCore::GraphicsContext3D::vertexAttrib3f): 31293 (WebCore::GraphicsContext3D::vertexAttrib3fv): 31294 (WebCore::GraphicsContext3D::vertexAttrib4f): 31295 (WebCore::GraphicsContext3D::vertexAttrib4fv): 31296 (WebCore::GraphicsContext3D::vertexAttribPointer): 31297 (WebCore::GraphicsContext3D::viewport): 31298 (WebCore::GraphicsContext3D::getBooleanv): 31299 (WebCore::GraphicsContext3D::getBufferParameteriv): 31300 (WebCore::GraphicsContext3D::getFloatv): 31301 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 31302 (WebCore::GraphicsContext3D::getIntegerv): 31303 (WebCore::GraphicsContext3D::getProgramiv): 31304 (WebCore::GraphicsContext3D::getProgramInfoLog): 31305 (WebCore::GraphicsContext3D::getRenderbufferParameteriv): 31306 (WebCore::GraphicsContext3D::getShaderiv): 31307 (WebCore::GraphicsContext3D::getShaderInfoLog): 31308 (WebCore::GraphicsContext3D::getTexParameterfv): 31309 (WebCore::GraphicsContext3D::getTexParameteriv): 31310 (WebCore::GraphicsContext3D::getUniformfv): 31311 (WebCore::GraphicsContext3D::getUniformiv): 31312 (WebCore::GraphicsContext3D::getUniformLocation): 31313 (WebCore::GraphicsContext3D::getVertexAttribfv): 31314 (WebCore::GraphicsContext3D::getVertexAttribiv): 31315 (WebCore::GraphicsContext3D::getVertexAttribOffset): 31316 (WebCore::GraphicsContext3D::texImage2D): 31317 (WebCore::GraphicsContext3D::texSubImage2D): 31318 (WebCore::GraphicsContext3D::createBuffer): 31319 (WebCore::GraphicsContext3D::createFramebuffer): 31320 (WebCore::GraphicsContext3D::createProgram): 31321 (WebCore::GraphicsContext3D::createRenderbuffer): 31322 (WebCore::GraphicsContext3D::createShader): 31323 (WebCore::GraphicsContext3D::createTexture): 31324 (WebCore::GraphicsContext3D::deleteBuffer): 31325 (WebCore::GraphicsContext3D::deleteFramebuffer): 31326 (WebCore::GraphicsContext3D::deleteProgram): 31327 (WebCore::GraphicsContext3D::deleteRenderbuffer): 31328 (WebCore::GraphicsContext3D::deleteShader): 31329 (WebCore::GraphicsContext3D::deleteTexture): 31330 (WebCore::GraphicsContext3D::sizeInBytes): 31331 (WebCore::GraphicsContext3D::synthesizeGLError): 31332 * platform/graphics/qt/GraphicsContext3DQt.cpp: 31333 (WebCore::GraphicsContext3D::activeTexture): 31334 (WebCore::GraphicsContext3D::attachShader): 31335 (WebCore::GraphicsContext3D::getAttachedShaders): 31336 (WebCore::GraphicsContext3D::bindAttribLocation): 31337 (WebCore::GraphicsContext3D::bindBuffer): 31338 (WebCore::GraphicsContext3D::bindFramebuffer): 31339 (WebCore::GraphicsContext3D::bindRenderbuffer): 31340 (WebCore::GraphicsContext3D::bindTexture): 31341 (WebCore::GraphicsContext3D::blendColor): 31342 (WebCore::GraphicsContext3D::blendEquation): 31343 (WebCore::GraphicsContext3D::blendEquationSeparate): 31344 (WebCore::GraphicsContext3D::blendFunc): 31345 (WebCore::GraphicsContext3D::blendFuncSeparate): 31346 (WebCore::GraphicsContext3D::bufferData): 31347 (WebCore::GraphicsContext3D::bufferSubData): 31348 (WebCore::GraphicsContext3D::checkFramebufferStatus): 31349 (WebCore::GraphicsContext3D::clearColor): 31350 (WebCore::GraphicsContext3D::clear): 31351 (WebCore::GraphicsContext3D::clearDepth): 31352 (WebCore::GraphicsContext3D::clearStencil): 31353 (WebCore::GraphicsContext3D::colorMask): 31354 (WebCore::GraphicsContext3D::compileShader): 31355 (WebCore::GraphicsContext3D::copyTexImage2D): 31356 (WebCore::GraphicsContext3D::copyTexSubImage2D): 31357 (WebCore::GraphicsContext3D::cullFace): 31358 (WebCore::GraphicsContext3D::depthFunc): 31359 (WebCore::GraphicsContext3D::depthMask): 31360 (WebCore::GraphicsContext3D::depthRange): 31361 (WebCore::GraphicsContext3D::detachShader): 31362 (WebCore::GraphicsContext3D::disable): 31363 (WebCore::GraphicsContext3D::disableVertexAttribArray): 31364 (WebCore::GraphicsContext3D::drawArrays): 31365 (WebCore::GraphicsContext3D::drawElements): 31366 (WebCore::GraphicsContext3D::enable): 31367 (WebCore::GraphicsContext3D::enableVertexAttribArray): 31368 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 31369 (WebCore::GraphicsContext3D::framebufferTexture2D): 31370 (WebCore::GraphicsContext3D::frontFace): 31371 (WebCore::GraphicsContext3D::generateMipmap): 31372 (WebCore::GraphicsContext3D::getActiveAttrib): 31373 (WebCore::GraphicsContext3D::getActiveUniform): 31374 (WebCore::GraphicsContext3D::getAttribLocation): 31375 (WebCore::GraphicsContext3D::getError): 31376 (WebCore::GraphicsContext3D::getString): 31377 (WebCore::GraphicsContext3D::hint): 31378 (WebCore::GraphicsContext3D::isBuffer): 31379 (WebCore::GraphicsContext3D::isEnabled): 31380 (WebCore::GraphicsContext3D::isFramebuffer): 31381 (WebCore::GraphicsContext3D::isProgram): 31382 (WebCore::GraphicsContext3D::isRenderbuffer): 31383 (WebCore::GraphicsContext3D::isShader): 31384 (WebCore::GraphicsContext3D::isTexture): 31385 (WebCore::GraphicsContext3D::linkProgram): 31386 (WebCore::GraphicsContext3D::pixelStorei): 31387 (WebCore::GraphicsContext3D::polygonOffset): 31388 (WebCore::GraphicsContext3D::readPixels): 31389 (WebCore::GraphicsContext3D::renderbufferStorage): 31390 (WebCore::GraphicsContext3D::sampleCoverage): 31391 (WebCore::GraphicsContext3D::scissor): 31392 (WebCore::GraphicsContext3D::stencilFunc): 31393 (WebCore::GraphicsContext3D::stencilFuncSeparate): 31394 (WebCore::GraphicsContext3D::stencilMask): 31395 (WebCore::GraphicsContext3D::stencilMaskSeparate): 31396 (WebCore::GraphicsContext3D::stencilOp): 31397 (WebCore::GraphicsContext3D::stencilOpSeparate): 31398 (WebCore::GraphicsContext3D::texParameterf): 31399 (WebCore::GraphicsContext3D::texParameteri): 31400 (WebCore::GraphicsContext3D::uniform1f): 31401 (WebCore::GraphicsContext3D::uniform1fv): 31402 (WebCore::GraphicsContext3D::uniform2f): 31403 (WebCore::GraphicsContext3D::uniform2fv): 31404 (WebCore::GraphicsContext3D::uniform3f): 31405 (WebCore::GraphicsContext3D::uniform3fv): 31406 (WebCore::GraphicsContext3D::uniform4f): 31407 (WebCore::GraphicsContext3D::uniform4fv): 31408 (WebCore::GraphicsContext3D::uniform1i): 31409 (WebCore::GraphicsContext3D::uniform1iv): 31410 (WebCore::GraphicsContext3D::uniform2i): 31411 (WebCore::GraphicsContext3D::uniform2iv): 31412 (WebCore::GraphicsContext3D::uniform3i): 31413 (WebCore::GraphicsContext3D::uniform3iv): 31414 (WebCore::GraphicsContext3D::uniform4i): 31415 (WebCore::GraphicsContext3D::uniform4iv): 31416 (WebCore::GraphicsContext3D::uniformMatrix2fv): 31417 (WebCore::GraphicsContext3D::uniformMatrix3fv): 31418 (WebCore::GraphicsContext3D::uniformMatrix4fv): 31419 (WebCore::GraphicsContext3D::useProgram): 31420 (WebCore::GraphicsContext3D::validateProgram): 31421 (WebCore::GraphicsContext3D::vertexAttrib1f): 31422 (WebCore::GraphicsContext3D::vertexAttrib1fv): 31423 (WebCore::GraphicsContext3D::vertexAttrib2f): 31424 (WebCore::GraphicsContext3D::vertexAttrib2fv): 31425 (WebCore::GraphicsContext3D::vertexAttrib3f): 31426 (WebCore::GraphicsContext3D::vertexAttrib3fv): 31427 (WebCore::GraphicsContext3D::vertexAttrib4f): 31428 (WebCore::GraphicsContext3D::vertexAttrib4fv): 31429 (WebCore::GraphicsContext3D::vertexAttribPointer): 31430 (WebCore::GraphicsContext3D::viewport): 31431 (WebCore::GraphicsContext3D::getBooleanv): 31432 (WebCore::GraphicsContext3D::getBufferParameteriv): 31433 (WebCore::GraphicsContext3D::getFloatv): 31434 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 31435 (WebCore::GraphicsContext3D::getIntegerv): 31436 (WebCore::GraphicsContext3D::getProgramiv): 31437 (WebCore::GraphicsContext3D::getProgramInfoLog): 31438 (WebCore::GraphicsContext3D::getRenderbufferParameteriv): 31439 (WebCore::GraphicsContext3D::getShaderiv): 31440 (WebCore::GraphicsContext3D::getShaderInfoLog): 31441 (WebCore::GraphicsContext3D::getShaderSource): 31442 (WebCore::GraphicsContext3D::getTexParameterfv): 31443 (WebCore::GraphicsContext3D::getTexParameteriv): 31444 (WebCore::GraphicsContext3D::getUniformfv): 31445 (WebCore::GraphicsContext3D::getUniformiv): 31446 (WebCore::GraphicsContext3D::getUniformLocation): 31447 (WebCore::GraphicsContext3D::getVertexAttribfv): 31448 (WebCore::GraphicsContext3D::getVertexAttribiv): 31449 (WebCore::GraphicsContext3D::getVertexAttribOffset): 31450 (WebCore::GraphicsContext3D::texImage2D): 31451 (WebCore::GraphicsContext3D::texSubImage2D): 31452 (WebCore::GraphicsContext3D::createBuffer): 31453 (WebCore::GraphicsContext3D::createFramebuffer): 31454 (WebCore::GraphicsContext3D::createProgram): 31455 (WebCore::GraphicsContext3D::createRenderbuffer): 31456 (WebCore::GraphicsContext3D::createShader): 31457 (WebCore::GraphicsContext3D::createTexture): 31458 (WebCore::GraphicsContext3D::deleteBuffer): 31459 (WebCore::GraphicsContext3D::deleteFramebuffer): 31460 (WebCore::GraphicsContext3D::deleteProgram): 31461 (WebCore::GraphicsContext3D::deleteRenderbuffer): 31462 (WebCore::GraphicsContext3D::deleteShader): 31463 (WebCore::GraphicsContext3D::deleteTexture): 31464 (WebCore::GraphicsContext3D::sizeInBytes): 31465 (WebCore::GraphicsContext3D::synthesizeGLError): 31466 (WebCore::GraphicsContext3D::getImageData): 31467 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 31468 (WebCore::GraphicsContext3D::getImageData): 31469 31470 2011-01-06 Martin Robinson <mrobinson (a] igalia.com> 31471 31472 Reviewed by Eric Seidel. 31473 31474 [GTK] Initial build support for WebGL 31475 https://bugs.webkit.org/show_bug.cgi?id=51716 31476 31477 Add initial build support for WebGL and insert bits of implementation 31478 necessary for clean compilation into GraphicsContext3D. 31479 31480 No new tests. This is just a build change. 31481 31482 * GNUmakefile.am: Add missing files to the source lists. 31483 * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below. 31484 Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the 31485 same across different platforms. X11 headers define the VERSION symbol, so it's 31486 necessary to undefine it, since it's used as an enum value. 31487 31488 2011-01-06 Helder Correia <helder (a] sencha.com> 31489 31490 Reviewed by Kenneth Rohde Christiansen. 31491 31492 [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow 31493 https://bugs.webkit.org/show_bug.cgi?id=52014 31494 31495 The function is only used by RenderObject to draw box sides. 31496 The shadow branch is never used and thus can be removed. 31497 31498 No new tests are necessary. 31499 31500 * platform/graphics/qt/GraphicsContextQt.cpp: 31501 (WebCore::GraphicsContext::drawConvexPolygon): 31502 31503 2011-01-06 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 31504 31505 Reviewed by Kenneth Rohde Christiansen. 31506 31507 [Qt] Make sure touch is disabled in the minimal configuration 31508 https://bugs.webkit.org/show_bug.cgi?id=51316 31509 31510 No new tests as there is no new functionality. 31511 31512 * features.pri: 31513 31514 2011-01-06 Martin Robinson <mrobinson (a] igalia.com> 31515 31516 Reviewed by Eric Seidel. 31517 31518 [GTK] Freetype backend does not support WOFF 31519 https://bugs.webkit.org/show_bug.cgi?id=51904 31520 31521 * CMakeListsEfl.txt: Add WOFF support to the sources list. 31522 * GNUmakefile.am: Add WOFF support to the sources list. 31523 * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: 31524 (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate. 31525 (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF. 31526 31527 2011-01-06 James Simonsen <simonjam (a] chromium.org> 31528 31529 Reviewed by Darin Fisher. 31530 31531 [Web Timing] Remove vendor prefix 31532 https://bugs.webkit.org/show_bug.cgi?id=48922 31533 31534 * page/DOMWindow.cpp: 31535 (WebCore::DOMWindow::performance): Rename to performance. 31536 * page/DOMWindow.h: 31537 * page/DOMWindow.idl: Rename to performance and make replaceable. 31538 31539 2011-01-06 Chris Marrin <cmarrin (a] apple.com> 31540 31541 Reviewed by Simon Fraser. 31542 31543 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 31544 https://bugs.webkit.org/show_bug.cgi?id=49388 31545 31546 Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is 31547 used to communicate from PlatformCALayer to the owner. This replaces passing 31548 GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the 31549 API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements 31550 the PlatformCALayerClient API. 31551 31552 This change has little impact on the Mac side but makes the Windows 31553 interface simpler, especially when handling video layers on Windows. 31554 31555 * WebCore.xcodeproj/project.pbxproj: 31556 * config.h: 31557 * platform/graphics/GraphicsLayer.h: 31558 (WebCore::GraphicsLayer::layerDidDisplay): 31559 (WebCore::GraphicsLayer::showDebugBorders): 31560 (WebCore::GraphicsLayer::showRepaintCounter): 31561 * platform/graphics/ca/GraphicsLayerCA.cpp: 31562 (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): 31563 (WebCore::GraphicsLayerCA::setContentsToImage): 31564 (WebCore::GraphicsLayerCA::setContentsToMedia): 31565 (WebCore::GraphicsLayerCA::layerDidDisplay): 31566 (WebCore::GraphicsLayerCA::updateSublayerList): 31567 * platform/graphics/ca/GraphicsLayerCA.h: 31568 (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): 31569 (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): 31570 (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): 31571 (WebCore::GraphicsLayerCA::platformCALayerPaintContents): 31572 (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): 31573 (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): 31574 (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): 31575 (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): 31576 (WebCore::GraphicsLayerCA::platformCALayerDrawsContent): 31577 (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): 31578 (WebCore::GraphicsLayerCA::platformCALayer): 31579 * platform/graphics/ca/PlatformCALayer.h: 31580 (WebCore::PlatformCALayer::owner): 31581 (WebCore::PlatformCALayer::animationStarted): 31582 * platform/graphics/ca/PlatformCALayerClient.h: Added. 31583 (WebCore::PlatformCALayerClient::~PlatformCALayerClient): 31584 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 31585 (PlatformCALayer::setOwner): 31586 (PlatformCALayer::create): 31587 (PlatformCALayer::PlatformCALayer): 31588 (PlatformCALayer::contents): 31589 (PlatformCALayer::setContents): 31590 * platform/graphics/mac/WebGLLayer.mm: 31591 (-[WebGLLayer display]): 31592 * platform/graphics/mac/WebLayer.h: 31593 * platform/graphics/mac/WebLayer.mm: 31594 (drawLayerContents): 31595 (setLayerNeedsDisplayInRect): 31596 (-[WebLayer setNeedsDisplay]): 31597 (-[WebLayer display]): 31598 * platform/graphics/mac/WebTiledLayer.mm: 31599 (-[WebTiledLayer setNeedsDisplay]): 31600 (-[WebTiledLayer display]): 31601 * rendering/RenderLayerBacking.cpp: 31602 (WebCore::RenderLayerBacking::showDebugBorders): 31603 (WebCore::RenderLayerBacking::showRepaintCounter): 31604 * rendering/RenderLayerCompositor.cpp: 31605 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 31606 * rendering/RenderLayerCompositor.h: 31607 (WebCore::RenderLayerCompositor::compositorShowDebugBorders): 31608 (WebCore::RenderLayerCompositor::compositorShowRepaintCounter): 31609 (WebCore::RenderLayerCompositor::notifyAnimationStarted): 31610 (WebCore::RenderLayerCompositor::notifySyncRequired): 31611 (WebCore::RenderLayerCompositor::paintContents): 31612 (WebCore::RenderLayerCompositor::showDebugBorders): 31613 (WebCore::RenderLayerCompositor::showRepaintCounter): 31614 31615 2011-01-06 Tony Gentilcore <tonyg (a] chromium.org> 31616 31617 Reviewed by Eric Seidel. 31618 31619 Allow framesets after hidden inputs 31620 https://bugs.webkit.org/show_bug.cgi?id=51998 31621 31622 This implements the HTML5 spec update in response to: 31623 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156 31624 31625 * html/parser/HTMLTreeBuilder.cpp: 31626 (WebCore::HTMLTreeBuilder::processStartTagForInBody): 31627 31628 2010-12-29 Zhenyao Mo <zmo (a] google.com> 31629 31630 Reviewed by Kenneth Russell. 31631 31632 vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size 31633 https://bugs.webkit.org/show_bug.cgi?id=51725 31634 31635 * html/canvas/WebGLRenderingContext.cpp: 31636 (WebCore::WebGLRenderingContext::vertexAttribPointer): 31637 31638 2011-01-06 Patrick Gansterer <paroga (a] webkit.org> 31639 31640 Reviewed by Eric Seidel. 31641 31642 [WINCE] Remove JSC::g_stackBase 31643 https://bugs.webkit.org/show_bug.cgi?id=51779 31644 31645 * platform/wince/SharedTimerWinCE.cpp: 31646 (WebCore::TimerWindowWndProc): 31647 31648 2011-01-06 Robert Hogan <robert (a] webkit.org> 31649 31650 Reviewed by Antonio Gomes. 31651 31652 [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge 31653 31654 This allows LayoutTestController to pass WebCore::Node back to 31655 layout tests. 31656 31657 Also amend nodesFromRect-links-and-text.html and 31658 nodesFromRect-inner-documents.html so that they do not produce 31659 platform-specific results. 31660 31661 Unskip: 31662 fast/dom/nodesFromRect-links-and-text.html 31663 fast/dom/nodesFromRect-inner-documents.html 31664 31665 https://bugs.webkit.org/show_bug.cgi?id=48957 31666 31667 * bridge/qt/qt_runtime.cpp: 31668 (JSC::Bindings::QtDRTNodeRuntime::create): 31669 (JSC::Bindings::QtDRTNodeRuntime::get): 31670 (JSC::Bindings::convertValueToQVariant): 31671 (JSC::Bindings::convertQVariantToValue): 31672 31673 2011-01-06 Joone Hur <joone.hur (a] collabora.co.uk> 31674 31675 Reviewed by Eric Seidel. 31676 31677 WML Parser should treat line/column number in a consistent way 31678 https://bugs.webkit.org/show_bug.cgi?id=51601 31679 31680 XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based. 31681 Therefore, this patch allows WML ErrorHandler to use 1-based values. 31682 31683 * dom/XMLDocumentParser.cpp: 31684 (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values. 31685 * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number. 31686 * dom/XMLDocumentParserLibxml2.cpp: 31687 (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 31688 * dom/XMLDocumentParserQt.cpp: 31689 (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 31690 * wml/WMLErrorHandling.cpp: 31691 (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number. 31692 31693 2011-01-05 Adam Roben <aroben (a] apple.com> 31694 31695 Remove some dead code from WKCACFLayerRenderer 31696 31697 Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and 31698 redundant code for reacting to changes to the layer tree 31699 31700 Reviewed by Sam Weinig. 31701 31702 * platform/graphics/win/WKCACFLayerRenderer.cpp: 31703 * platform/graphics/win/WKCACFLayerRenderer.h: 31704 Removed didFlushContext and the HashMap it depended on. We react to 31705 changes to the layer tree in layerTreeDidChange instead. 31706 31707 2011-01-06 Chris Fleizach <cfleizach (a] apple.com> 31708 31709 Reviewed by Beth Dakin. 31710 31711 AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded 31712 https://bugs.webkit.org/show_bug.cgi?id=51995 31713 31714 Test: platform/mac/accessibility/aria-expanded-standard-items.html 31715 31716 * accessibility/AccessibilityObject.cpp: 31717 (WebCore::AccessibilityObject::supportsARIAExpanded): 31718 (WebCore::AccessibilityObject::isExpanded): 31719 * accessibility/AccessibilityObject.h: 31720 * accessibility/AccessibilityRenderObject.cpp: 31721 (WebCore::AccessibilityRenderObject::isVisited): 31722 * accessibility/AccessibilityRenderObject.h: 31723 * accessibility/mac/AccessibilityObjectWrapper.mm: 31724 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 31725 31726 2010-12-28 Zhenyao Mo <zmo (a] google.com> 31727 31728 Reviewed by Kenneth Russell. 31729 31730 Must generate INVALID_VALUE errors for strings containing out-of-range characters 31731 https://bugs.webkit.org/show_bug.cgi?id=50929 31732 31733 * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1. 31734 (WebCore::WebGLRenderingContext::bindAttribLocation): 31735 (WebCore::WebGLRenderingContext::getAttribLocation): 31736 (WebCore::WebGLRenderingContext::getUniformLocation): 31737 (WebCore::WebGLRenderingContext::shaderSource): 31738 (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation. 31739 * html/canvas/WebGLRenderingContext.h: Declare validateString(). 31740 31741 2011-01-06 Yong Li <yoli (a] rim.com> 31742 31743 Reviewed by Adam Barth. 31744 Add the test case that is missed in r75066. 31745 https://bugs.webkit.org/show_bug.cgi?id=48077 31746 31747 Test case: WebCore/manual-tests/bugzilla-48077.html. 31748 31749 2011-01-06 James Robinson <jamesr (a] chromium.org> 31750 31751 Reviewed by Simon Fraser. 31752 31753 Implement mozilla's animationTime property 31754 https://bugs.webkit.org/show_bug.cgi?id=51952 31755 31756 Implements mozilla's animationTime property as described here: 31757 https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime 31758 and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/ 31759 The property is called webkitAnimationTime as calling it the 'Start' time is not very informative. 31760 This property exposes a notion of a 'current' time to use for declarative animations and allows 31761 scripts to synchronize imperative animations with declarative ones if they choose to. Once queried 31762 this time is saved and used for all declarative animation updates until the embedder paints/composites 31763 the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example 31764 if the page is in a background tab). 31765 31766 This patch also ensures that all declarative animations started in the same script execution block 31767 are synchronized even if some time elapses while script is running. 31768 31769 Test: fast/animation/animation-time.html 31770 31771 * WebCore.gypi: 31772 * page/DOMWindow.cpp: 31773 (WebCore::DOMWindow::webkitAnimationTime): 31774 * page/DOMWindow.h: 31775 * page/DOMWindow.idl: 31776 * page/Frame.cpp: 31777 (WebCore::Frame::currentAnimationTime): 31778 * page/Frame.h: 31779 * page/Page.cpp: 31780 (WebCore::Page::Page): 31781 * page/Page.h: 31782 (WebCore::Page::animationTime): 31783 * page/animation/AnimationController.cpp: 31784 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 31785 * page/animation/AnimationTimeController.cpp: Added. 31786 (WebCore::AnimationTimeController::AnimationTimeController): 31787 (WebCore::AnimationTimeController::~AnimationTimeController): 31788 (WebCore::AnimationTimeController::currentAnimationTime): 31789 (WebCore::AnimationTimeController::clearCurrentAnimationTime): 31790 (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired): 31791 * page/animation/AnimationTimeController.h: Added. 31792 (WebCore::AnimationTimeController::create): 31793 31794 2011-01-06 Abhishek Arya <inferno (a] chromium.org> 31795 31796 Reviewed by Simon Fraser. 31797 31798 Null out the parent stylesheet pointer when a css rule is removed. 31799 https://bugs.webkit.org/show_bug.cgi?id=51993 31800 31801 Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html 31802 fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html 31803 31804 * css/CSSRuleList.cpp: 31805 (WebCore::CSSRuleList::deleteRule): 31806 * css/CSSStyleSheet.cpp: 31807 (WebCore::CSSStyleSheet::deleteRule): 31808 31809 2011-01-04 Adrienne Walker <enne (a] google.com> 31810 31811 Reviewed by Kenneth Russell. 31812 31813 NaN in a TypedArray should be converted to zero only for Float32Array. 31814 https://bugs.webkit.org/show_bug.cgi?id=46990 31815 31816 Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html 31817 31818 * bindings/js/JSArrayBufferViewHelper.h: 31819 (WebCore::convertArrayValue): 31820 (WebCore::constructArrayBufferView): 31821 * html/canvas/Float32Array.h: 31822 (WebCore::Float32Array::set): 31823 (WebCore::Float32Array::item): 31824 31825 2011-01-06 Patrick Gansterer <paroga (a] webkit.org> 31826 31827 Unreviewed Windows build fix for r75161. 31828 31829 * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added. 31830 31831 2011-01-06 Patrick Gansterer <paroga (a] webkit.org> 31832 31833 Unreviewed WinCE build fix for r75139. 31834 31835 Try to remove include after adding forward-declaration in r75145. 31836 31837 * platform/graphics/Gradient.h: 31838 31839 2011-01-06 Renata Hodovan <reni (a] webkit.org> 31840 31841 Reviewed by Andreas Kling. 31842 31843 https://bugs.webkit.org/show_bug.cgi?id=51811 31844 Merge m_height and m_width members of ImageData into the new m_size member. 31845 31846 Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their 31847 width and height argument, except ImageData. This patch refactors ImageData 31848 to follow the style of other Image types in WebKit. 31849 Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore. 31850 This patch also refactors the PassRefPtr usages of ImageData. 31851 31852 It's just a refactoring, so we don't need any new tests. 31853 31854 * bindings/js/SerializedScriptValue.cpp: 31855 (WebCore::CloneSerializer::write): 31856 (WebCore::CloneDeserializer::readTerminal): 31857 * bindings/v8/SerializedScriptValue.cpp: 31858 (WebCore::ZigZag::Reader::readImageData): 31859 * html/ImageData.cpp: 31860 (WebCore::ImageData::create): 31861 (WebCore::ImageData::ImageData): 31862 * html/ImageData.h: 31863 (WebCore::ImageData::size): 31864 (WebCore::ImageData::width): 31865 (WebCore::ImageData::height): 31866 * html/canvas/CanvasRenderingContext2D.cpp: 31867 (WebCore::createEmptyImageData): 31868 (WebCore::CanvasRenderingContext2D::createImageData): 31869 (WebCore::CanvasRenderingContext2D::getImageData): 31870 * html/canvas/CanvasRenderingContext2D.h: 31871 * platform/graphics/haiku/ImageBufferHaiku.cpp: 31872 (WebCore::getImageData): 31873 31874 2011-01-06 Yael Aharon <yael.aharon (a] nokia.com> 31875 31876 Reviewed by Darin Adler. 31877 31878 document.querySelector(':nth-child(foo)') should throw a syntax error 31879 https://bugs.webkit.org/show_bug.cgi?id=51231 31880 31881 Also fixes 31882 CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector) 31883 https://bugs.webkit.org/show_bug.cgi?id=21815 31884 31885 Add a check in the parser that other than an+b, only "odd" or "even" would be allowed 31886 as parameters to nth selector. 31887 31888 Tests: fast/css/css3-nth-tokens-script.html 31889 fast/css/css3-nth-tokens-style.html 31890 31891 * css/CSSGrammar.y: 31892 * css/CSSParser.cpp: 31893 (WebCore::isValidNthToken): 31894 * css/CSSParser.h: 31895 31896 2011-01-06 Jan Erik Hanssen <jhanssen (a] sencha.com> 31897 31898 Reviewed by Andreas Kling. 31899 31900 [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded() 31901 https://bugs.webkit.org/show_bug.cgi?id=51453 31902 31903 Check if m_reply is NULL before accessing. 31904 31905 * manual-tests/load-deferrer-resume-crash.html: Added. 31906 * platform/network/qt/QNetworkReplyHandler.cpp: 31907 (WebCore::QNetworkReplyHandler::setLoadMode): 31908 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 31909 31910 2011-01-06 Andras Becsi <abecsi (a] webkit.org> 31911 31912 Reviewed by Csaba Osztrogonc. 31913 31914 [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled. 31915 31916 No new tests needed. 31917 31918 * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures. 31919 31920 2011-01-06 Helder Correia <helder (a] sencha.com> 31921 31922 Reviewed by Kenneth Rohde Christiansen. 31923 31924 [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code 31925 https://bugs.webkit.org/show_bug.cgi?id=51985 31926 31927 r75139 introduced GraphicsContext::hasShadow(). This can now simplify 31928 and unify some code in the Qt and GTK ports. 31929 31930 No new tests necessary for this refactoring. 31931 31932 * platform/graphics/cairo/GraphicsContextCairo.cpp: 31933 (WebCore::GraphicsContext::fillRect): 31934 (WebCore::GraphicsContext::fillRoundedRect): 31935 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 31936 * platform/graphics/qt/GraphicsContextQt.cpp: 31937 (WebCore::GraphicsContext::drawConvexPolygon): 31938 (WebCore::GraphicsContext::fillPath): 31939 (WebCore::GraphicsContext::strokePath): 31940 (WebCore::GraphicsContext::fillRect): 31941 (WebCore::GraphicsContext::fillRoundedRect): 31942 31943 2011-01-05 Darin Adler <darin (a] apple.com> 31944 31945 Fix Chromium Mac build. 31946 31947 * platform/graphics/Gradient.h: Forward-declare CGContextRef. 31948 This might even make it possible to remove the include of 31949 <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not 31950 do that at this time because I don't want to break the Windows 31951 build when fixing the Chromium build. 31952 31953 2011-01-05 Xianzhu Wang <wangxianzhu (a] google.com> 31954 31955 Reviewed by David Levin. 31956 31957 Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp) 31958 https://bugs.webkit.org/show_bug.cgi?id=51736 31959 31960 No new tests. This change has potential effect on @font-face CSS feature 31961 on ports using Skia. Tested on Chromium that this change won't break 31962 fast/css/font-face-remote.html. This change can make the test pass on 31963 other ports using Skia. 31964 31965 * platform/graphics/skia/FontCustomPlatformData.cpp: 31966 (WebCore::RemoteFontStream::read): 31967 31968 2011-01-05 Helder Correia <helder (a] sencha.com> 31969 31970 Reviewed by Simon Fraser. 31971 31972 Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac 31973 https://bugs.webkit.org/show_bug.cgi?id=51869 31974 31975 GraphicsContext::fillRect(const FloatRect&) is clipping to the rect. 31976 The shadow is being drawn, but getting clipped to the rect being filled. 31977 The solution is to draw the gradient into a CGLayer (when a shadow is 31978 required), then render the layer to the GraphicsContext. 31979 31980 This patch also fixes: 31981 canvas/philip/tests/2d.shadow.gradient.alpha.html 31982 canvas/philip/tests/2d.shadow.gradient.basic.html 31983 canvas/philip/tests/2d.shadow.gradient.transparent.2.html 31984 31985 Test: fast/canvas/canvas-fillRect-gradient-shadow.html 31986 31987 * platform/graphics/Gradient.h: 31988 * platform/graphics/cg/GradientCG.cpp: 31989 (WebCore::Gradient::paint): 31990 * platform/graphics/cg/GraphicsContextCG.cpp: 31991 (WebCore::GraphicsContext::fillRect): 31992 31993 2011-01-05 Steve Falkenburg <sfalken (a] apple.com> 31994 31995 Reviewed by Darin Adler. 31996 31997 Debug and Release builds on Windows clobber each other 31998 https://bugs.webkit.org/show_bug.cgi?id=49185 31999 32000 Changes the structure of WebKitBuild build products directory so we 32001 completely separate each build configuration into independent directories. 32002 32003 Although we previously had per-configuration directories for obj, this change adds 32004 per-configuration directories for bin, lib, obj, and include. Each configuration's 32005 build products are stored within a directory inside of WebKitBuild. 32006 32007 Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), 32008 defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). 32009 32010 * WebCore.vcproj/QTMovieWinCommon.vsprops: 32011 * WebCore.vcproj/QTMovieWinPostBuild.cmd: 32012 * WebCore.vcproj/QTMovieWinPreBuild.cmd: 32013 * WebCore.vcproj/WebCore.make: 32014 * WebCore.vcproj/WebCore.vcproj: 32015 * WebCore.vcproj/WebCoreCommon.vsprops: 32016 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: 32017 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: 32018 * WebCore.vcproj/WebCoreMediaQT.vsprops: 32019 * WebCore.vcproj/WebCorePostBuild.cmd: 32020 * WebCore.vcproj/WebCorePreBuild.cmd: 32021 * WebCore.vcproj/copyForwardingHeaders.cmd: 32022 * WebCore.vcproj/copyInspectorFiles.cmd: 32023 32024 2011-01-05 Simon Fraser <simon.fraser (a] apple.com> 32025 32026 Reviewed by Ariya Hidayat. 32027 32028 Directly composited SVG images fail to render 32029 https://bugs.webkit.org/show_bug.cgi?id=51975 32030 32031 There was already code, added in r67900, to detect whether an image 32032 may be directly composited, by checking to see if it's a bitmap image. 32033 32034 However, CachedImage::image() returns the nullImage() if m_image is null, 32035 which is a BitmapImage, confusing this test. 32036 32037 Test: compositing/images/direct-svg-image.html 32038 32039 * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has 32040 exactly the same method. 32041 (WebCore::CachedImage::image): Use Image::nullImage(). 32042 * loader/cache/CachedImage.h: 32043 (WebCore::CachedImage::hasImage): New method to ask whether the m_image is 32044 non-null. 32045 * rendering/RenderLayerBacking.cpp: 32046 (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage() 32047 so that we don't test the nullImage. 32048 32049 2011-01-05 Simon Fraser <simon.fraser (a] apple.com> 32050 32051 Reviewed by Darin Adler. 32052 32053 Fix percentage values in radius of radial gradients 32054 https://bugs.webkit.org/show_bug.cgi?id=51979 32055 32056 Handle percentage values for the ending size of radial gradients. 32057 32058 Test: fast/gradients/css3-radial-gradients3.html 32059 32060 * css/CSSGradientValue.cpp: 32061 (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is 32062 non-null if percentage values are allowed, and compute percentage values when we see them. 32063 (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that 32064 percentages are OK when resolving end radii. 32065 * css/CSSGradientValue.h: New parameter for resolveRadius. 32066 32067 2011-01-05 James Simonsen <simonjam (a] chromium.org> 32068 32069 Reviewed by Adam Barth. 32070 32071 [Web Timing] Zero out some values on cross-origin redirects 32072 https://bugs.webkit.org/show_bug.cgi?id=49294 32073 32074 Tests: http/tests/misc/webtiming-cross-origin-redirect.php 32075 http/tests/misc/webtiming-origins.html 32076 32077 * loader/DocumentLoadTiming.h: 32078 (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation. 32079 * loader/FrameLoader.cpp: 32080 (WebCore::FrameLoader::~FrameLoader): 32081 (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times. 32082 (WebCore::FrameLoader::completed): 32083 (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin. 32084 (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin. 32085 * loader/FrameLoader.h: 32086 * loader/MainResourceLoader.cpp: 32087 (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects. 32088 * page/PerformanceNavigation.cpp: 32089 (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set. 32090 * page/PerformanceTiming.cpp: 32091 (WebCore::PerformanceTiming::redirectStart): Ditto. 32092 (WebCore::PerformanceTiming::redirectEnd): Ditto. 32093 (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set. 32094 (WebCore::PerformanceTiming::unloadEventEnd): Ditto. 32095 32096 2011-01-05 Helder Correia <helder (a] sencha.com> 32097 32098 Reviewed by Ariya Hidayat. 32099 32100 [Qt] Default focus ring is too wide 32101 https://bugs.webkit.org/show_bug.cgi?id=51854 32102 32103 This is an intermediate step to solve this bug. Use QPalette::Highlight 32104 instead of default half-transparent black as the focus ring color. 32105 32106 * platform/graphics/qt/GraphicsContextQt.cpp: 32107 (WebCore::drawFocusRingForPath): 32108 * platform/qt/RenderThemeQt.cpp: 32109 (WebCore::RenderThemeQt::platformFocusRingColor): 32110 * platform/qt/RenderThemeQt.h: 32111 32112 2011-01-05 James Simonsen <simonjam (a] chromium.org> 32113 32114 Reviewed by Darin Fisher. 32115 32116 [Web Timing] requestStart and responseStart should be available even if the document is still loading 32117 https://bugs.webkit.org/show_bug.cgi?id=51368 32118 32119 Test: http/tests/misc/webtiming-slow-load.php 32120 32121 * page/PerformanceTiming.cpp: 32122 (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete. 32123 (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound. 32124 32125 2011-01-05 Chris Rogers <crogers (a] google.com> 32126 32127 Reviewed by Darin Fisher. 32128 32129 Add WebKitClient::createAudioDevice() for Chromium port of web audio API 32130 https://bugs.webkit.org/show_bug.cgi?id=51424 32131 32132 No new tests since audio API is not yet implemented. 32133 32134 * WebCore.gyp/WebCore.gyp: 32135 * WebCore.gypi: 32136 32137 2011-01-05 Anders Carlsson <andersca (a] apple.com> 32138 32139 Try again. 32140 32141 * WebCore.exp.in: 32142 32143 2011-01-05 Anders Carlsson <andersca (a] apple.com> 32144 32145 Attempt to fix Leopard build. 32146 32147 * WebCore.exp.in: 32148 32149 2011-01-05 Evan Martin <evan (a] chromium.org> 32150 32151 Reviewed by Tony Chang. 32152 32153 [chromium] refactor complex text on Linux 32154 https://bugs.webkit.org/show_bug.cgi?id=51956 32155 32156 Pull out TextRunWalker from FontLinux.cpp. Put it in its own file. 32157 Rename it to ComplexTextController, to match platform/graphics/mac 32158 more closely. 32159 32160 No tests because the change is just renaming a class. 32161 32162 * WebCore.gyp/WebCore.gyp: 32163 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added. 32164 (WebCore::ComplexTextController::ComplexTextController): 32165 (WebCore::ComplexTextController::~ComplexTextController): 32166 (WebCore::ComplexTextController::isWordBreak): 32167 (WebCore::ComplexTextController::determineWordBreakSpacing): 32168 (WebCore::ComplexTextController::setPadding): 32169 (WebCore::ComplexTextController::reset): 32170 (WebCore::ComplexTextController::setBackwardsIteration): 32171 (WebCore::ComplexTextController::nextScriptRun): 32172 (WebCore::ComplexTextController::widthOfFullRun): 32173 (WebCore::ComplexTextController::setupFontForScriptRun): 32174 (WebCore::ComplexTextController::allocHarfbuzzFont): 32175 (WebCore::ComplexTextController::deleteGlyphArrays): 32176 (WebCore::ComplexTextController::createGlyphArrays): 32177 (WebCore::ComplexTextController::resetGlyphArrays): 32178 (WebCore::ComplexTextController::shapeGlyphs): 32179 (WebCore::ComplexTextController::setGlyphXPositions): 32180 (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars): 32181 (WebCore::ComplexTextController::getNormalizedTextRun): 32182 * platform/graphics/chromium/ComplexTextControllerLinux.h: Added. 32183 (WebCore::ComplexTextController::setWordSpacingAdjustment): 32184 (WebCore::ComplexTextController::setLetterSpacingAdjustment): 32185 (WebCore::ComplexTextController::letterSpacing): 32186 (WebCore::ComplexTextController::setXOffsetToZero): 32187 (WebCore::ComplexTextController::rtl): 32188 (WebCore::ComplexTextController::glyphs): 32189 (WebCore::ComplexTextController::length): 32190 (WebCore::ComplexTextController::xPositions): 32191 (WebCore::ComplexTextController::advances): 32192 (WebCore::ComplexTextController::width): 32193 (WebCore::ComplexTextController::logClusters): 32194 (WebCore::ComplexTextController::numCodePoints): 32195 (WebCore::ComplexTextController::fontPlatformDataForScriptRun): 32196 (WebCore::ComplexTextController::isCodepointSpace): 32197 * platform/graphics/chromium/FontLinux.cpp: 32198 (WebCore::Font::drawComplexText): 32199 (WebCore::Font::floatWidthForComplexText): 32200 (WebCore::glyphIndexForXPositionInScriptRun): 32201 (WebCore::Font::offsetForPositionForComplexText): 32202 (WebCore::Font::selectionRectForComplexText): 32203 32204 2011-01-05 Pratik Solanki <psolanki (a] apple.com> 32205 32206 Reviewed by Darin Adler. 32207 32208 Merge cf and mac header files with same name 32209 https://bugs.webkit.org/show_bug.cgi?id=51916 32210 32211 Since most of the code in the header files is identical, we can merge them and have #if 32212 USE(CFNETWORK) to separate out the network specific parts. 32213 32214 * WebCore.xcodeproj/project.pbxproj: 32215 * platform/network/cf/AuthenticationChallenge.h: 32216 (WebCore::AuthenticationChallenge::sender): 32217 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge): 32218 * platform/network/cf/ResourceError.h: 32219 (WebCore::ResourceError::ResourceError): 32220 * platform/network/cf/ResourceRequest.h: 32221 (WebCore::ResourceRequest::ResourceRequest): 32222 * platform/network/cf/ResourceResponse.h: 32223 (WebCore::ResourceResponse::ResourceResponse): 32224 * platform/network/mac/AuthenticationChallenge.h: Removed. 32225 * platform/network/mac/ResourceError.h: Removed. 32226 * platform/network/mac/ResourceRequest.h: Removed. 32227 * platform/network/mac/ResourceResponse.h: Removed. 32228 32229 2011-01-05 Anders Carlsson <andersca (a] apple.com> 32230 32231 Reviewed by Adele Peterson. 32232 32233 Implement word transformation 32234 https://bugs.webkit.org/show_bug.cgi?id=51943 32235 32236 Export Editor functions needed by WebKit2. 32237 32238 * WebCore.exp.in: 32239 32240 2011-01-05 Simon Fraser <simon.fraser (a] apple.com> 32241 32242 Reviewed by Dave Hyatt. 32243 32244 Implement repeating CSS3 gradients 32245 https://bugs.webkit.org/show_bug.cgi?id=51843 32246 32247 Add support for repeating gradients, via the new gradient functions 32248 -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient. 32249 32250 Tests: fast/gradients/css3-repeating-linear-gradients.html 32251 fast/gradients/css3-repeating-radial-gradients.html 32252 32253 * css/CSSGradientValue.h: 32254 (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats. 32255 (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in. 32256 (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat. 32257 (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto 32258 (WebCore::CSSRadialGradientValue::create): Ditto. 32259 (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto. 32260 32261 * css/CSSGradientValue.cpp: 32262 (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which 32263 is used for repeating radial gradients. Add code to repeat the stops, 32264 adding stops before the start, and after the end until the 0-N range is 32265 covered, where N is large enough to ensure the box is covered. Fix an issue 32266 with repeating gradients where if both stops were < 0, it would fail to clamp 32267 them to 0. 32268 32269 (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients. 32270 (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1, 32271 because they are guaranteed to fill the box already. 32272 (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients. 32273 (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest 32274 corner in order to inform addStops() how much additional extent is required. 32275 32276 * css/CSSParser.cpp: 32277 (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat. 32278 (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat. 32279 (WebCore::CSSParser::parseRadialGradient): Ditto. 32280 (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions. 32281 (WebCore::CSSParser::parseGeneratedImage): Ditto. 32282 * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions. 32283 * platform/graphics/cg/GradientCG.cpp: Remove unused #include. 32284 32285 2011-01-05 Martin Robinson <mrobinson (a] igalia.com> 32286 32287 Reviewed by Ariya Hidayat. 32288 32289 ContextShadow::blurLayerImage() not endian-safe 32290 https://bugs.webkit.org/show_bug.cgi?id=51822 32291 32292 Correct the channel map in ContextShadow to reflect the different 32293 ordering of pixels on processors with different endianness. 32294 32295 No new tests. This is covered by the existing shadow tests. It was 32296 not discovered, because all of the bots using ContextShadow are 32297 little-endian. 32298 32299 * platform/graphics/ContextShadow.cpp: 32300 (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping 32301 based on machine endianness. 32302 32303 2011-01-05 Mihai Parparita <mihaip (a] chromium.org> 32304 32305 Reviewed by Nate Chapin. 32306 32307 [Chromium] Crash when drawing PDF plug-in scrollbars 32308 https://bugs.webkit.org/show_bug.cgi?id=51942 32309 32310 Pepper plug-in scrollbars don't have a parent, guard against that before 32311 seeing if the parent is a FrameView. 32312 32313 Not testable via layout tests, verified fix by hand. 32314 32315 * platform/chromium/ScrollbarThemeChromiumMac.mm: 32316 (WebCore::ScrollbarThemeChromiumMac::paint): 32317 32318 2011-01-05 Abhishek Arya <inferno (a] chromium.org> 32319 32320 Unreviewed. 32321 32322 Update FIXME comment to sound better. Also initialize the block to fix compile. 32323 32324 * rendering/RenderBlock.cpp: 32325 (WebCore::RenderBlock::removeChild): 32326 32327 2011-01-05 Abhishek Arya <inferno (a] chromium.org> 32328 32329 Reviewed by Dave Hyatt. 32330 32331 Do not merge anonymous blocks when one of them is the one getting removed. 32332 https://bugs.webkit.org/show_bug.cgi?id=51919 32333 32334 Test: fast/block/merge-anonymous-block-remove-child-crash.html 32335 32336 * rendering/RenderBlock.cpp: 32337 (WebCore::RenderBlock::removeChild): 32338 32339 2011-01-05 Ryosuke Niwa <rniwa (a] webkit.org> 32340 32341 Reviewed by Eric Seidel. 32342 32343 ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle* 32344 https://bugs.webkit.org/show_bug.cgi?id=50641 32345 32346 Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration. 32347 Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle. 32348 The font size delta is now stored as a member variable of EditingStyle as supposed to a property 32349 in CSSMutableStyleDeclration as soon as EditingStyle is instantiated. 32350 32351 No new tests are added since this is a refactoring. 32352 32353 * editing/ApplyStyleCommand.cpp: 32354 (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange. 32355 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle. 32356 * editing/ApplyStyleCommand.h: 32357 * editing/EditingStyle.cpp: 32358 (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta. 32359 (WebCore::EditingStyle::init): Ditto. 32360 (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange. 32361 (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta. 32362 (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta. 32363 (WebCore::EditingStyle::overrideWithStyle): Ditto. 32364 (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta. 32365 (WebCore::EditingStyle::copy): Calls extractFontSizeDelta. 32366 * editing/EditingStyle.h: 32367 (WebCore::EditingStyle::fontSizeDelta): Added. 32368 (WebCore::EditingStyle::hasFontSizeDelta): Added. 32369 * editing/Editor.h: 32370 32371 2011-01-05 Dan Bernstein <mitz (a] apple.com> 32372 32373 Reviewed by Darin Adler. 32374 32375 <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph 32376 https://bugs.webkit.org/show_bug.cgi?id=51915 32377 32378 This changes the results of existing tests in fast/text. 32379 32380 * platform/graphics/Font.h: 32381 * platform/graphics/FontFastPath.cpp: 32382 (WebCore::Font::primaryFontHasGlyphForCharacter): Added. 32383 * rendering/style/RenderStyle.cpp: 32384 * platform/graphics/qt/FontQt.cpp: 32385 (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub. 32386 (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a 32387 hyphen only if the primary font has a hyphen glyph, and otherwise return a 32388 hyphen-minus. 32389 32390 2011-01-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 32391 32392 Reviewed by Ariya Hidayat. 32393 32394 [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds 32395 https://bugs.webkit.org/show_bug.cgi?id=51888 32396 32397 Overrule Qt's default from qconfig.pri for non-production builds so 32398 that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed. 32399 32400 No new tests as there is no new functionality. 32401 32402 * WebCore.pro: 32403 32404 2011-01-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 32405 32406 Unreviewed, rolling out r74778. 32407 http://trac.webkit.org/changeset/74778 32408 https://bugs.webkit.org/show_bug.cgi?id=51930 32409 32410 Android and QtWebKit-V8 uses V8DOMWindowShell::setContext. 32411 (Requested by bbandix on #webkit). 32412 32413 * bindings/v8/V8DOMWindowShell.cpp: 32414 (WebCore::V8DOMWindowShell::setContext): 32415 * bindings/v8/V8DOMWindowShell.h: 32416 32417 2011-01-05 Yi Shen <yi.4.shen (a] nokia.com> 32418 32419 Reviewed by Andreas Kling. 32420 32421 [Qt] Animated GIF images does not animate 10x as expected by default. 32422 https://bugs.webkit.org/show_bug.cgi?id=36818 32423 32424 Add a test animated GIF which should be displayed 2 times and stop. 32425 32426 * manual-tests/animated-gif-looping.html: 32427 * manual-tests/resources/animated-2x.gif: Added. 32428 32429 2011-01-05 Carlos Garcia Campos <cgarcia (a] igalia.com> 32430 32431 Reviewed by Martin Robinson. 32432 32433 [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3 32434 https://bugs.webkit.org/show_bug.cgi?id=51923 32435 32436 Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and 32437 ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3. 32438 32439 No new tests. This should not change functionality. 32440 32441 * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp 32442 * platform/gtk/ScrollbarThemeGtk.cpp: 32443 (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness): 32444 * platform/gtk/ScrollbarThemeGtk.h: 32445 * platform/gtk/ScrollbarThemeGtk2.cpp: Added. 32446 (WebCore::ScrollbarThemeGtk::updateThemeProperties): 32447 (WebCore::ScrollbarThemeGtk::paintTrackBackground): 32448 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): 32449 (WebCore::ScrollbarThemeGtk::paintThumb): 32450 (WebCore::ScrollbarThemeGtk::paintButton): 32451 * platform/gtk/ScrollbarThemeGtk3.cpp: Added. 32452 (WebCore::ScrollbarThemeGtk::updateThemeProperties): 32453 (WebCore::ScrollbarThemeGtk::paintTrackBackground): 32454 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): 32455 (WebCore::ScrollbarThemeGtk::paintThumb): 32456 (WebCore::ScrollbarThemeGtk::paintButton): 32457 32458 2011-01-05 Patrick Gansterer <paroga (a] webkit.org> 32459 32460 Reviewed by Andreas Kling. 32461 32462 [CMake] Fix the usage of SOURCE_GROUP 32463 https://bugs.webkit.org/show_bug.cgi?id=51739 32464 32465 * CMakeLists.txt: 32466 32467 2011-01-05 Andras Becsi <abecsi (a] webkit.org> 32468 32469 Reviewed by Csaba Osztrogonc. 32470 32471 [Qt][V8] Fix the build after recent changes. 32472 32473 No new tests needed. 32474 32475 * WebCore.pro: Add missing files, and remove obsolete ones. 32476 32477 2011-01-05 Yong Li <yoli (a] rim.com> 32478 32479 Reviewed by Adam Barth. 32480 32481 Suspend HTMLParserScheduler when page load is deferred to 32482 avoid potential JS re-entrancy. Otherwise, when JS execution is triggered 32483 from an external script or by events, and is blocked by a modal dialog, 32484 WebKit can parse more HTML source and also start another JS execution. 32485 32486 https://bugs.webkit.org/show_bug.cgi?id=48077 32487 32488 Test case: WebCore/manual-tests/bugzilla-48077.html. 32489 32490 * dom/DocumentParser.cpp: 32491 (WebCore::DocumentParser::suspendScheduledTasks): 32492 (WebCore::DocumentParser::resumeScheduledTasks): 32493 * dom/DocumentParser.h: 32494 * html/parser/HTMLDocumentParser.cpp: 32495 (WebCore::HTMLDocumentParser::suspendScheduledTasks): 32496 (WebCore::HTMLDocumentParser::resumeScheduledTasks): 32497 * html/parser/HTMLParserScheduler.cpp: 32498 (WebCore::HTMLParserScheduler::HTMLParserScheduler): 32499 (WebCore::HTMLParserScheduler::suspend): 32500 (WebCore::HTMLParserScheduler::resume): 32501 * html/parser/HTMLParserScheduler.h: 32502 (WebCore::HTMLParserScheduler::isScheduledForResume): 32503 * page/PageGroupLoadDeferrer.cpp: 32504 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 32505 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 32506 32507 2011-01-05 Simon Hausmann <simon.hausmann (a] nokia.com> 32508 32509 Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva 32510 32511 [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably 32512 https://bugs.webkit.org/show_bug.cgi?id=51926 32513 32514 Work around potential upstream bug: Querying a GstBin for the duration, 32515 will forward the query to all sink children. Our WebKitWebSrc however 32516 is a bin with only source children, therefore the query fails. Until 32517 this is changed upstream, this patch works around it as follows, 32518 based on suggestion by Philippe Normand and Sebastian Drge: 32519 32520 When the initial query fails, attempt the same query on all source 32521 pads and take the maximum length reported. 32522 32523 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 32524 (WebCore::MediaPlayerPrivateGStreamer::totalBytes): 32525 32526 2011-01-05 Philippe Normand <pnormand (a] igalia.com> 32527 32528 Rubber-stamped by Eric Seidel. 32529 32530 [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 32531 https://bugs.webkit.org/show_bug.cgi?id=51810 32532 32533 Based on a patch by Mart Raudsepp. 32534 32535 No new tests, build fix only. 32536 32537 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 32538 (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay 32539 API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was 32540 introduced in same version as the xoverlay API change. 32541 32542 2011-01-05 Leo Yang <leo.yang (a] torchmobile.com.cn> 32543 32544 Reviewed by Dirk Schulze. 32545 32546 Malformed SVG causes crash in updateContainerOffset 32547 https://bugs.webkit.org/show_bug.cgi?id=44610 32548 32549 We should check recursive <use> at the begining of 32550 WebCore::SVGUseElement::buildInstanceTree instead 32551 of at the end of it because the target element's 32552 children may cause infinite recursive <use>. 32553 32554 Test: svg/custom/recursive-use.svg 32555 32556 * svg/SVGUseElement.cpp: 32557 (WebCore::SVGUseElement::buildInstanceTree): 32558 (WebCore::SVGUseElement::hasCycleUseReferencing): 32559 * svg/SVGUseElement.h: 32560 32561 2011-01-04 Antti Koivisto <antti (a] apple.com> 32562 32563 Reviewed by Dan Bernstein. 32564 32565 https://bugs.webkit.org/show_bug.cgi?id=51907 32566 Style selector should only be recalculated when the pending sheet count goes to zero 32567 32568 Shark says this is a significant performance improvement on some sites with lots of stylesheets. 32569 32570 * dom/Document.cpp: 32571 (WebCore::Document::removePendingSheet): 32572 32573 2011-01-05 Carlos Garcia Campos <cgarcia (a] igalia.com> 32574 32575 Reviewed by Martin Robinson. 32576 32577 [GTK] Use GtkStyleContext to get platform colors 32578 https://bugs.webkit.org/show_bug.cgi?id=51830 32579 32580 Use GtkStyleContext API to get platform colors when building with 32581 GTK+ 3.x. 32582 32583 No new tests. This should not change functionality. 32584 32585 * platform/graphics/Color.h: Add specialized constructor for GdkRGBA. 32586 * platform/graphics/gtk/ColorGtk.cpp: 32587 (WebCore::Color::Color): 32588 (WebCore::Color::operator GdkRGBA): 32589 * platform/gtk/RenderThemeGtk3.cpp: 32590 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): 32591 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): 32592 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): 32593 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): 32594 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): 32595 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): 32596 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): 32597 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): 32598 (WebCore::RenderThemeGtk::systemColor): 32599 32600 2011-01-05 Carlos Garcia Campos <cgarcia (a] igalia.com> 32601 32602 Unreviewed. Build fix for GTK when using gtk+-3 after r75009. 32603 32604 * platform/gtk/RenderThemeGtk3.cpp: 32605 (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of 32606 adoptGRefPtr which doesn't exist. 32607 32608 2011-01-05 Alexey Proskuryakov <ap (a] apple.com> 32609 32610 Reviewed by Sam Weinig. 32611 32612 https://bugs.webkit.org/show_bug.cgi?id=51903 32613 Tell UI process which subframe is largest 32614 32615 * WebCore.exp.in: Exported FrameView::contentsSize(). 32616 32617 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 32618 32619 Unreviewed. GTK build fix. 32620 32621 WK2: Support Accessibility 32622 https://bugs.webkit.org/show_bug.cgi?id=51859 32623 32624 * page/FrameView.cpp: 32625 (WebCore::FrameView::axObjectCache): 32626 32627 2011-01-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 32628 32629 Unreviewed, rolling out r74992. 32630 http://trac.webkit.org/changeset/74992 32631 https://bugs.webkit.org/show_bug.cgi?id=51917 32632 32633 Crash in HTMLDocumentParser::suspendScheduledTasks() 32634 (Requested by tkent on #webkit). 32635 32636 * dom/DocumentParser.cpp: 32637 * dom/DocumentParser.h: 32638 * html/parser/HTMLDocumentParser.cpp: 32639 * html/parser/HTMLDocumentParser.h: 32640 * html/parser/HTMLParserScheduler.cpp: 32641 (WebCore::HTMLParserScheduler::HTMLParserScheduler): 32642 * html/parser/HTMLParserScheduler.h: 32643 (WebCore::HTMLParserScheduler::isScheduledForResume): 32644 * page/PageGroupLoadDeferrer.cpp: 32645 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 32646 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 32647 32648 2011-01-04 Benjamin Poulain <benjamin.poulain (a] nokia.com> 32649 32650 Reviewed by Kenneth Rohde Christiansen. 32651 32652 [Qt] [WK2] Add support for non-trivial context menu action 32653 https://bugs.webkit.org/show_bug.cgi?id=51902 32654 32655 Fix the preprocessor guard for ContextMenuItemTagSelectAll in 32656 the implementation of ContextMenuController::contextMenuItemSelected(). The guard was 32657 inconsistent with what is defined in ContextMenuItem.h. 32658 32659 * page/ContextMenuController.cpp: 32660 (WebCore::ContextMenuController::contextMenuItemSelected): 32661 32662 2011-01-04 Tony Gentilcore <tonyg (a] chromium.org> 32663 32664 Reviewed by Ryosuke Niwa. 32665 32666 Avoid manual ref/deref in AsyncScriptRunner by using PendingScript 32667 https://bugs.webkit.org/show_bug.cgi?id=51723 32668 32669 ScriptElement should also be able to keep its Element+CachedScript in 32670 a PendingScript, and then executeScriptSoon can accept a PendingScript. 32671 Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use 32672 PendingScripts, then generic request and execute which operate on 32673 PendingScripts can be factored out to avoid code duplicate that we have. 32674 32675 No new tests because no new functionality. 32676 32677 * dom/AsyncScriptRunner.cpp: 32678 (WebCore::AsyncScriptRunner::~AsyncScriptRunner): 32679 (WebCore::AsyncScriptRunner::executeScriptSoon): 32680 (WebCore::AsyncScriptRunner::timerFired): 32681 * dom/AsyncScriptRunner.h: 32682 * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement. 32683 * dom/HTMLScriptRunner.cpp: 32684 (WebCore::HTMLScriptRunner::requestPendingScript): 32685 32686 2011-01-04 Jeff Miller <jeffm (a] apple.com> 32687 32688 Reviewed by Darin Adler. 32689 32690 Member variable and method naming cleanup to be consistent with WebKit2. 32691 https://bugs.webkit.org/show_bug.cgi?id=51228 32692 32693 * page/win/EventHandlerWin.cpp: 32694 (WebCore::EventHandler::eventActivatedView): 32695 Rename activatedWebView() to didActivateWebView(). 32696 32697 * platform/PlatformMouseEvent.h: 32698 Rename m_activatedWebView to m_didActivateWebView. 32699 32700 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 32701 Initialize platform-specific member variables in PlatformMouseEvent constructors. 32702 32703 (WebCore::PlatformMouseEvent::didActivateWebView): 32704 Rename activatedWebView() to didActivateWebView(). 32705 32706 * platform/win/PlatformMouseEventWin.cpp: 32707 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 32708 Rename m_activatedWebView to m_didActivateWebView. 32709 32710 2011-01-04 Yael Aharon <yael.aharon (a] nokia.com> 32711 32712 Reviewed by Darin Adler. 32713 32714 CSS3 :nth-child selector and valid whitespace test fails 32715 https://bugs.webkit.org/show_bug.cgi?id=36279 32716 32717 Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs. 32718 32719 Test: fast/css/css3-nth-space.html 32720 32721 * css/tokenizer.flex: 32722 32723 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 32724 32725 Unreviewed. Build fix. 32726 32727 WK2: Support Accessibility 32728 https://bugs.webkit.org/show_bug.cgi?id=51859 32729 32730 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 32731 (fallbackObject): 32732 32733 2011-01-04 Cosmin Truta <ctruta (a] chromium.org> 32734 32735 Reviewed by Eric Seidel. 32736 32737 [chromium] PNG compression settings optimized for speed 32738 https://bugs.webkit.org/show_bug.cgi?id=51719 32739 32740 Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images, 32741 it is also the slowest, by a wide margin, on easy-to-compress images. 32742 Use a more balanced configuration, based on the libpng compression defaults, 32743 but with a faster compression level (3 instead of 6), and a faster filter 32744 ("sub" instead of "all"). 32745 32746 No change in behaviour, so no new tests. 32747 32748 * platform/image-encoders/skia/PNGImageEncoder.cpp: 32749 (WebCore::PNGImageEncoder::encode): 32750 32751 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 32752 32753 Reviewed by Sam Weinig. 32754 32755 WK2: Support Accessibility 32756 https://bugs.webkit.org/show_bug.cgi?id=51859 32757 32758 WK2 doesn't use platform scroll views anymore. Accessibility code 32759 needs to have its own scroll views. 32760 32761 Test: platform/mac/accessibility/webkit-scrollarea.html 32762 32763 * CMakeLists.txt: 32764 * GNUmakefile.am: 32765 * WebCore.exp.in: 32766 * WebCore.gypi: 32767 * WebCore.pro: 32768 * WebCore.vcproj/WebCore.vcproj: 32769 * WebCore.xcodeproj/project.pbxproj: 32770 * accessibility/AXObjectCache.cpp: 32771 (WebCore::AXObjectCache::AXObjectCache): 32772 (WebCore::AXObjectCache::get): 32773 (WebCore::AXObjectCache::getOrCreate): 32774 (WebCore::AXObjectCache::rootObject): 32775 (WebCore::AXObjectCache::remove): 32776 (WebCore::AXObjectCache::handleScrollbarUpdate): 32777 * accessibility/AXObjectCache.h: 32778 (WebCore::AXObjectCache::handleScrollbarUpdate): 32779 * accessibility/AccessibilityARIAGrid.h: 32780 * accessibility/AccessibilityAllInOne.cpp: 32781 * accessibility/AccessibilityImageMapLink.cpp: 32782 * accessibility/AccessibilityImageMapLink.h: 32783 * accessibility/AccessibilityListBoxOption.cpp: 32784 * accessibility/AccessibilityListBoxOption.h: 32785 * accessibility/AccessibilityObject.cpp: 32786 (WebCore::AccessibilityObject::updateChildrenIfNecessary): 32787 (WebCore::AccessibilityObject::elementAccessibilityHitTest): 32788 (WebCore::AccessibilityObject::axObjectCache): 32789 (WebCore::AccessibilityObject::focusedUIElement): 32790 * accessibility/AccessibilityObject.h: 32791 (WebCore::AccessibilityObject::isAccessibilityScrollView): 32792 (WebCore::AccessibilityObject::isScrollView): 32793 (WebCore::AccessibilityObject::canSetNumericValue): 32794 (WebCore::AccessibilityObject::scrollBar): 32795 (WebCore::AccessibilityObject::size): 32796 (WebCore::AccessibilityObject::setValue): 32797 * accessibility/AccessibilityRenderObject.cpp: 32798 (WebCore::AccessibilityRenderObject::parentObject): 32799 (WebCore::AccessibilityRenderObject::accessibilityHitTest): 32800 (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary): 32801 (WebCore::AccessibilityRenderObject::addChildren): 32802 * accessibility/AccessibilityRenderObject.h: 32803 * accessibility/AccessibilityScrollView.cpp: Added. 32804 (WebCore::AccessibilityScrollView::AccessibilityScrollView): 32805 (WebCore::AccessibilityScrollView::create): 32806 (WebCore::AccessibilityScrollView::scrollBar): 32807 (WebCore::AccessibilityScrollView::children): 32808 (WebCore::AccessibilityScrollView::updateChildrenIfNecessary): 32809 (WebCore::AccessibilityScrollView::removeChildScrollbar): 32810 (WebCore::AccessibilityScrollView::addChildScrollbar): 32811 (WebCore::AccessibilityScrollView::addChildren): 32812 (WebCore::AccessibilityScrollView::webAreaObject): 32813 (WebCore::AccessibilityScrollView::accessibilityHitTest): 32814 (WebCore::AccessibilityScrollView::document): 32815 (WebCore::AccessibilityScrollView::elementRect): 32816 (WebCore::AccessibilityScrollView::parentObject): 32817 * accessibility/AccessibilityScrollView.h: Added. 32818 (WebCore::AccessibilityScrollView::roleValue): 32819 (WebCore::AccessibilityScrollView::scrollView): 32820 (WebCore::AccessibilityScrollView::accessibilityIsIgnored): 32821 (WebCore::AccessibilityScrollView::isAccessibilityScrollView): 32822 (WebCore::toAccessibilityScrollView): 32823 * accessibility/AccessibilityScrollbar.cpp: 32824 (WebCore::AccessibilityScrollbar::AccessibilityScrollbar): 32825 (WebCore::AccessibilityScrollbar::create): 32826 (WebCore::AccessibilityScrollbar::elementRect): 32827 (WebCore::AccessibilityScrollbar::document): 32828 (WebCore::AccessibilityScrollbar::orientation): 32829 (WebCore::AccessibilityScrollbar::isEnabled): 32830 (WebCore::AccessibilityScrollbar::valueForRange): 32831 (WebCore::AccessibilityScrollbar::setValue): 32832 * accessibility/AccessibilityScrollbar.h: 32833 (WebCore::AccessibilityScrollbar::setParent): 32834 (WebCore::AccessibilityScrollbar::canSetValueAttribute): 32835 (WebCore::AccessibilityScrollbar::canSetNumericValue): 32836 (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar): 32837 (WebCore::AccessibilityScrollbar::parentObject): 32838 (WebCore::AccessibilityScrollbar::roleValue): 32839 * accessibility/mac/AccessibilityObjectMac.mm: 32840 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 32841 * accessibility/mac/AccessibilityObjectWrapper.mm: 32842 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 32843 (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]): 32844 (-[AccessibilityObjectWrapper position]): 32845 (-[AccessibilityObjectWrapper scrollViewParent]): 32846 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 32847 (-[AccessibilityObjectWrapper accessibilityHitTest:]): 32848 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 32849 * dom/Document.cpp: 32850 (WebCore::Document::axObjectCache): 32851 * loader/EmptyClients.h: 32852 (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject): 32853 * loader/FrameLoaderClient.h: 32854 * page/FrameView.cpp: 32855 (WebCore::FrameView::~FrameView): 32856 (WebCore::FrameView::axObjectCache): 32857 * page/FrameView.h: 32858 * platform/ScrollView.cpp: 32859 (WebCore::ScrollView::setHasHorizontalScrollbar): 32860 (WebCore::ScrollView::setHasVerticalScrollbar): 32861 * platform/Scrollbar.cpp: 32862 (WebCore::Scrollbar::~Scrollbar): 32863 (WebCore::Scrollbar::scroll): 32864 (WebCore::Scrollbar::axObjectCache): 32865 * platform/Scrollbar.h: 32866 * platform/Widget.h: 32867 (WebCore::Widget::axObjectCache): 32868 32869 2011-01-04 W. James MacLean <wjmaclean (a] chromium.org> 32870 32871 Reviewed by Kenneth Russell. 32872 32873 [chromium] Add support to compositor to composite to offscreen texture. 32874 https://bugs.webkit.org/show_bug.cgi?id=50833 32875 32876 A patch to extend compositor to be able to composite into an offscreen texture instead 32877 of just directly to the display buffer. Builds on RenderSurfaceChromium support. 32878 Explicitly resets alpha channel before rendering to display. 32879 32880 * platform/graphics/chromium/LayerRendererChromium.cpp: 32881 (WebCore::LayerRendererChromium::LayerRendererChromium): 32882 (WebCore::LayerRendererChromium::updateAndDrawRootLayer): 32883 (WebCore::LayerRendererChromium::drawLayers): 32884 (WebCore::LayerRendererChromium::setCompositeOffscreen): 32885 (WebCore::LayerRendererChromium::useRenderSurface): 32886 (WebCore::LayerRendererChromium::setScissorToRect): 32887 * platform/graphics/chromium/LayerRendererChromium.h: 32888 (WebCore::LayerRendererChromium::isCompositingOffscreen): 32889 (WebCore::LayerRendererChromium::getOffscreenLayerTexture): 32890 32891 2011-01-04 Evan Martin <evan (a] chromium.org> 32892 32893 Reviewed by Tony Chang. 32894 32895 [chromium] depend on harfbuzz explicitly 32896 https://bugs.webkit.org/show_bug.cgi?id=51895 32897 32898 platform/graphics/chromium uses Harfbuzz directly. Rather than 32899 expecting Skia to adjust the include paths, be explicit about 32900 the dependency. 32901 32902 * WebCore.gyp/WebCore.gyp: 32903 32904 2011-01-04 Darin Adler <darin (a] apple.com> 32905 32906 Reviewed by Brady Eidson. 32907 32908 Add back/forward encoding and decoding to WebKit2 32909 https://bugs.webkit.org/show_bug.cgi?id=51901 32910 32911 * WebCore.exp.in: Export functions used in WebKit2. 32912 32913 * history/HistoryItem.cpp: 32914 (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers. 32915 (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto. 32916 (WebCore::HistoryItem::decodeBackForwardTree): Ditto. 32917 * history/HistoryItem.h: Ditto. 32918 * platform/network/FormData.cpp: 32919 (WebCore::encode): Ditto. 32920 (WebCore::decode): Ditto. 32921 (WebCore::FormData::encodeForBackForward): Ditto. 32922 (WebCore::FormData::decodeForBackForward): Ditto. 32923 * platform/network/FormData.h: Ditto. 32924 32925 2011-01-04 Xiaomei Ji <xji (a] chromium.org> 32926 32927 Reviewed by Dan Bernstein. 32928 32929 Implement sel.modify('move', 'left'/'right', 'lineBoundary'). 32930 https://bugs.webkit.org/show_bug.cgi?id=33435 32931 32932 * editing/SelectionController.cpp: 32933 (WebCore::SelectionController::modifyMovingRight): 32934 (WebCore::SelectionController::modifyMovingLeft): 32935 * editing/visible_units.cpp: 32936 (WebCore::logicalStartOfLine): 32937 (WebCore::logicalEndOfLine): 32938 (WebCore::leftBoundaryOfLine): 32939 (WebCore::rightBoundaryOfLine): 32940 * editing/visible_units.h: 32941 32942 2011-01-04 Martin Robinson <mrobinson (a] igalia.com> 32943 32944 Reviewed by Xan Lopez. 32945 32946 [GTK] Use the default CSS text input control border width of relying on the GTK+ theme 32947 https://bugs.webkit.org/show_bug.cgi?id=51887 32948 32949 Do not rely on the GTK+ theme to determine text control borders. This simplifies 32950 the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and 32951 doesn't break the rendering of any theme that I've encountered. 32952 32953 * platform/gtk/RenderThemeGtk.cpp: 32954 (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but 32955 still disable any border radius. 32956 * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the 32957 default style of text areas and text input controls. 32958 * platform/gtk/RenderThemeGtk2.cpp: Ditto. 32959 * platform/gtk/RenderThemeGtk3.cpp: Ditto. 32960 32961 2011-01-03 Martin Robinson <mrobinson (a] igalia.com> 32962 32963 Reviewed by Darin Adler. 32964 32965 Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr 32966 https://bugs.webkit.org/show_bug.cgi?id=51846 32967 32968 No new tests. This should not introduce any functional changes. 32969 32970 Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed 32971 all references to PlatformRefPtr in Brew code to RefPtr. 32972 32973 2011-01-04 David Kilzer <ddkilzer (a] apple.com> 32974 32975 <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network 32976 32977 Reviewed by Antti Koivisto. 32978 32979 This is needed to prevent a WebCore/platform policy violation in 32980 my next patch. 32981 32982 * WebCore.gypi: Updated for moved header. 32983 * WebCore.pro: Ditto. 32984 * WebCore.vcproj/WebCore.vcproj: Ditto. 32985 * WebCore.xcodeproj/project.pbxproj: Ditto. 32986 * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h. 32987 32988 2011-01-04 Brady Eidson <beidson (a] apple.com> 32989 32990 Reviewed by a spell checker. 32991 32992 * storage/StorageMap.h: mesured? Really? 32993 32994 2011-01-04 Carlos Garcia Campos <cgarcia (a] igalia.com> and Martin Robinson <mrobinson (a] igalia.com> 32995 32996 Reviewed by Xan Lopez. 32997 32998 [GTK] Port stock icon painting to GtkStyleContext 32999 https://bugs.webkit.org/show_bug.cgi?id=51764 33000 33001 Port stock icon painting for media and search input elements to 33002 GtkStyleContext. Also create the initial machinery for accessing 33003 style contexts for all GTK+ 3.x based widgets. 33004 33005 No new tests. This should not change functionality. 33006 33007 * platform/gtk/RenderThemeGtk.cpp: 33008 (WebCore::paintGdkPixbuf): 33009 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 33010 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 33011 (WebCore::RenderThemeGtk::paintMediaButton): 33012 * platform/gtk/RenderThemeGtk.h: 33013 * platform/gtk/RenderThemeGtk2.cpp: 33014 (WebCore::RenderThemeGtk::getStockIcon): 33015 * platform/gtk/RenderThemeGtk3.cpp: 33016 (WebCore::gtkStyleChangedCallback): 33017 (WebCore::styleContextMap): 33018 (WebCore::getStyleContext): 33019 (WebCore::RenderThemeGtk::paintMenuList): 33020 33021 2010-12-31 Antti Koivisto <antti (a] apple.com> 33022 33023 Reviewed by Dave Hyatt. 33024 33025 Scripts should not be executed before preceding stylesheets are loaded 33026 https://bugs.webkit.org/show_bug.cgi?id=8852 33027 33028 Block inline script execution on pending stylesheet loads. This matches 33029 other browsers and HTML5. 33030 33031 Tests: fast/tokenizer/inline-script-stylesheet-write.html 33032 fast/tokenizer/inline-script-stylesheet.html 33033 33034 * dom/PendingScript.cpp: 33035 (WebCore::PendingScript::releaseElementAndClear): 33036 * dom/PendingScript.h: 33037 (WebCore::PendingScript::PendingScript): 33038 (WebCore::PendingScript::operator=): 33039 (WebCore::PendingScript::startingPosition): 33040 (WebCore::PendingScript::setStartingPosition): 33041 * html/HTMLLinkElement.cpp: 33042 (WebCore::HTMLLinkElement::process): 33043 33044 This fixes an unrelated bug with beforeload events that was exposed by the other 33045 changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html). 33046 33047 * html/parser/HTMLScriptRunner.cpp: 33048 (WebCore::HTMLScriptRunner::sourceFromPendingScript): 33049 (WebCore::HTMLScriptRunner::runScript): 33050 33051 2011-01-04 Xianzhu Wang <wangxianzhu (a] google.com> 33052 33053 Reviewed by Darin Adler. 33054 33055 Let DataView.getInt8() and DataView.setInt8() use int8_t instead of 33056 ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure 33057 on ARM. 33058 https://bugs.webkit.org/show_bug.cgi?id=51861 33059 33060 By the way, changed other getIntXX() and setIntXX() methods to use 33061 more precise integer types. 33062 33063 * bindings/js/JSDataViewCustom.cpp: 33064 (WebCore::setDataViewMember): 33065 * bindings/v8/custom/V8DataViewCustom.cpp: 33066 (WebCore::V8DataView::getInt8Callback): 33067 (WebCore::V8DataView::setInt8Callback): 33068 * html/canvas/DataView.cpp: 33069 (WebCore::DataView::getInt8): 33070 (WebCore::DataView::setInt8): 33071 * html/canvas/DataView.h: 33072 * html/canvas/DataView.idl: 33073 33074 2011-01-04 Yong Li <yoli (a] rim.com> 33075 33076 Reviewed by Adam Barth. 33077 33078 Suspend HTMLParserScheduler when page load is deferred to 33079 avoid potential JS re-entrancy. Otherwise, when JS execution is triggered 33080 from an external script or by events, and is blocked by a modal dialog, 33081 WebKit can parse more HTML source and also start another JS execution. 33082 33083 https://bugs.webkit.org/show_bug.cgi?id=48077 33084 33085 Test case: WebCore/manual-tests/bugzilla-48077.html. 33086 33087 * dom/DocumentParser.cpp: 33088 (WebCore::DocumentParser::suspendScheduledTasks): 33089 (WebCore::DocumentParser::resumeScheduledTasks): 33090 * dom/DocumentParser.h: 33091 * html/parser/HTMLDocumentParser.cpp: 33092 (WebCore::HTMLDocumentParser::suspendScheduledTasks): 33093 (WebCore::HTMLDocumentParser::resumeScheduledTasks): 33094 * html/parser/HTMLParserScheduler.cpp: 33095 (WebCore::HTMLParserScheduler::HTMLParserScheduler): 33096 (WebCore::HTMLParserScheduler::suspend): 33097 (WebCore::HTMLParserScheduler::resume): 33098 * html/parser/HTMLParserScheduler.h: 33099 (WebCore::HTMLParserScheduler::isScheduledForResume): 33100 * page/PageGroupLoadDeferrer.cpp: 33101 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 33102 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 33103 33104 2011-01-04 Tony Gentilcore <tonyg (a] chromium.org> 33105 33106 Unreviewed build fix. 33107 33108 Include glib-object.h for GObject 33109 https://bugs.webkit.org/show_bug.cgi?id=51876 33110 33111 * bindings/gobject/DOMObjectCache.cpp: 33112 33113 2011-01-04 Ryosuke Niwa <rniwa (a] webkit.org> 33114 33115 Reviewed by Dan Bernstein. 33116 33117 Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side. 33118 https://bugs.webkit.org/show_bug.cgi?id=50992 33119 33120 Fixed the bug by interchanging the offset when the direction of inline text box and the containing block 33121 does not match. Reused the code added by http://trac.webkit.org/changeset/73553. 33122 33123 Test: editing/selection/caret-bidi-first-and-last-letters.html 33124 33125 * rendering/InlineTextBox.cpp: 33126 (WebCore::InlineTextBox::offsetForPosition): 33127 33128 2010-12-29 Tony Gentilcore <tonyg (a] chromium.org> 33129 33130 Reviewed by Darin Adler. 33131 33132 Remove 2 unnecessary includes from Document.h 33133 https://bugs.webkit.org/show_bug.cgi?id=51727 33134 33135 No new tests because no changed functionality. 33136 33137 * dom/Document.cpp: 33138 * dom/Document.h: 33139 * editing/Editor.cpp: 33140 * editing/SpellChecker.h: 33141 * editing/SplitTextNodeCommand.cpp: 33142 * editing/TextCheckingHelper.cpp: 33143 * page/FrameView.cpp: 33144 * page/Page.cpp: 33145 * rendering/HitTestResult.cpp: 33146 * rendering/InlineTextBox.cpp: 33147 * rendering/InlineTextBox.h: 33148 * rendering/svg/SVGInlineFlowBox.cpp: 33149 33150 2011-01-04 Patrick Gansterer <paroga (a] webkit.org> 33151 33152 Unreviewed WinCE build fix. 33153 33154 * CMakeListsWinCE.txt: Added missing include directories, files and libraries. 33155 33156 2011-01-04 Yi Shen <yi.4.shen (a] nokia.com> 33157 33158 Reviewed by Simon Hausmann. 33159 33160 Provide an interface to require using fullscreen mediaplayer 33161 https://bugs.webkit.org/show_bug.cgi?id=51133 33162 33163 Only video should be displayed in fullscreen when 33164 requiresFullscreenForVideoPlayback is specified. 33165 33166 No new tests because no client implements requiresFullscreenForVideoPlayback yet. 33167 33168 * html/HTMLMediaElement.cpp: 33169 (WebCore::HTMLMediaElement::updatePlayState): 33170 33171 2011-01-04 Benjamin Poulain <benjamin.poulain (a] nokia.com> 33172 33173 Reviewed by Kenneth Rohde Christiansen. 33174 33175 [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2 33176 https://bugs.webkit.org/show_bug.cgi?id=51825 33177 33178 Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the 33179 platform independent menu informations. 33180 33181 * platform/qt/ContextMenuQt.cpp: 33182 (WebCore::contextMenuItemVector): 33183 33184 2011-01-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 33185 33186 Unreviewed, rolling out r74960. 33187 http://trac.webkit.org/changeset/74960 33188 https://bugs.webkit.org/show_bug.cgi?id=51868 33189 33190 Rollout since we hit an assert after this patch. (Requested by 33191 krit on #webkit). 33192 33193 * svg/SVGUseElement.cpp: 33194 (WebCore::SVGUseElement::buildInstanceTree): 33195 33196 2011-01-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 33197 33198 Unreviewed, rolling out r74961. 33199 http://trac.webkit.org/changeset/74961 33200 https://bugs.webkit.org/show_bug.cgi?id=51867 33201 33202 breaks 32/64-bits debug bots build (Requested by philn-tp on 33203 #webkit). 33204 33205 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 33206 (WebCore::GStreamerGWorld::setWindowOverlay): 33207 33208 2011-01-03 Philippe Normand <pnormand (a] igalia.com> 33209 33210 Rubber-stamped by Eric Seidel. 33211 33212 [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30 33213 https://bugs.webkit.org/show_bug.cgi?id=51810 33214 33215 Based on a patch by Mart Raudsepp. 33216 33217 No new tests, build fix only. 33218 33219 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 33220 (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay 33221 API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was 33222 introduced in same version as the xoverlay API change. 33223 33224 2011-01-04 Leo Yang <leo.yang (a] torchmobile.com.cn> 33225 33226 Reviewed by Dirk Schulze. 33227 33228 Malformed SVG causes crash in updateContainerOffset 33229 https://bugs.webkit.org/show_bug.cgi?id=44610 33230 33231 We should check recursive <use> at the begining of 33232 WebCore::SVGUseElement::buildInstanceTree instead 33233 of at the end of it because the target element's 33234 children may cause infinite recursive <use>. 33235 33236 Test: svg/custom/recursive-use.svg 33237 33238 * svg/SVGUseElement.cpp: 33239 (WebCore::SVGUseElement::buildInstanceTree): 33240 33241 2011-01-04 Kent Tamura <tkent (a] chromium.org> 33242 33243 Unreviewed, build fix. 33244 33245 Try to fix Clang build. 33246 33247 * css/CSSParser.cpp: 33248 (WebCore::valueFromSideKeyword): 33249 (WebCore::CSSParser::parseLinearGradient): 33250 33251 2011-01-03 Julie-Jeongeun-Kim <Jeongeun.Kim (a] obigo.com> 33252 33253 Reviewed by Darin Adler. 33254 33255 HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml 33256 https://bugs.webkit.org/show_bug.cgi?id=48596 33257 33258 border attribute was not parsed in HTMLObjectElement. 33259 I added code for it as HTMLImageElement handled. 33260 33261 new test:fast/html/object-border.html 33262 33263 * html/HTMLObjectElement.cpp: 33264 (WebCore::HTMLObjectElement::parseMappedAttribute): 33265 33266 2011-01-03 Darin Adler <darin (a] apple.com> 33267 33268 Try to fix Chromium build. 33269 33270 * history/HistoryItem.cpp: 33271 (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here. 33272 Not sure this ever will be used with V8. 33273 (WebCore::HistoryItem::decodeBackForwardTree): Ditto. 33274 33275 2011-01-03 Darin Adler <darin (a] apple.com> 33276 33277 Try to fix Leopard build. 33278 33279 * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the 33280 size variable. 33281 33282 2011-01-03 Abhishek Arya <inferno (a] chromium.org> 33283 33284 Reviewed by Darin Adler. 33285 33286 Fixes before child calculation when adding anonymous childs to table parts. 33287 https://bugs.webkit.org/show_bug.cgi?id=50932 33288 33289 Fix in r74364 was incomplete. When before child is equal to the table part(to 33290 which the new child is getting added), it confuses the table part to add it 33291 incorrectly as an after child. The patch fixes by passing the before child as 33292 the table part's first child. 33293 33294 Tests: fast/css-generated-content/table-before-after-child-add.html 33295 fast/css-generated-content/table-cell-before-after-child-add.html 33296 fast/css-generated-content/table-row-before-after-child-add.html 33297 fast/css-generated-content/table-row-before-after-child-add.html 33298 33299 * rendering/RenderTable.cpp: 33300 (WebCore::RenderTable::addChild): 33301 * rendering/RenderTableRow.cpp: 33302 (WebCore::RenderTableRow::addChild): 33303 * rendering/RenderTableSection.cpp: 33304 (WebCore::RenderTableSection::addChild): 33305 33306 2011-01-03 Dan Bernstein <mitz (a] apple.com> 33307 33308 Reviewed by Simon Fraser. 33309 33310 Shrink HTMLTableCellElement 33311 https://bugs.webkit.org/show_bug.cgi?id=51858 33312 33313 * html/HTMLTableCellElement.cpp: 33314 (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and 33315 m_col. 33316 * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors. 33317 33318 2011-01-03 Darin Adler <darin (a] apple.com> 33319 33320 Fix build. 33321 33322 * platform/network/FormData.cpp: 33323 (WebCore::FormData::create): Roll back uint8_t change. 33324 (WebCore::FormData::flatten): Ditto. 33325 (WebCore::FormData::flattenToString): Ditto. 33326 (WebCore::encode): Ditto. 33327 (WebCore::decode): Ditto. 33328 (WebCore::FormData::encodeForBackForward): 33329 * platform/network/FormData.h: Ditto. 33330 * platform/network/mac/FormDataStreamMac.mm: 33331 (WebCore::advanceCurrentStream): Ditto. 33332 33333 2011-01-03 Darin Adler <darin (a] apple.com> 33334 33335 Reviewed by Brady Eidson. 33336 33337 Add code to encode/decode the back/forward tree 33338 https://bugs.webkit.org/show_bug.cgi?id=51853 33339 33340 * history/HistoryItem.cpp: 33341 (WebCore::HistoryItem::encodeBackForwardTree): Added. 33342 (WebCore::HistoryItem::encodeBackForwardTreeNode): Added. 33343 (WebCore::HistoryItem::decodeBackForwardTree): Added. 33344 * history/HistoryItem.h: Added functions above. 33345 33346 * platform/network/FormData.cpp: 33347 (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of 33348 Vector<char>. This type is used in our newer code for vectors of bytes. 33349 (WebCore::FormData::flatten): Ditto. 33350 (WebCore::FormData::flattenToString): Ditto. Had to add a cast here. 33351 (WebCore::FormData::encodeForBackForward): Added. 33352 (WebCore::FormData::decodeForBackForward): Added. 33353 * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of 33354 Vector<char>. Also made some single-argument constructors explicit. 33355 Also added the new functions. 33356 33357 * platform/network/mac/FormDataStreamMac.mm: 33358 (WebCore::advanceCurrentStream): Changed to use uint8_t to match above. 33359 33360 2011-01-03 Simon Fraser <simon.fraser (a] apple.com> 33361 33362 Attempt to fix GTK build. 33363 33364 * platform/graphics/gtk/FontGtk.cpp: 33365 (WebCore::drawGlyphsShadow): 33366 33367 2011-01-03 Helder Correia <helder (a] sencha.com> 33368 33369 Reviewed by Simon Fraser. 33370 33371 ContextShadow can avoid code duplication for getting the CTM 33372 https://bugs.webkit.org/show_bug.cgi?id=51799 33373 33374 ContextShadow defines its own getTransformationMatrixFromContext() 33375 which does exactly the same as GraphicsContext::getCTM(). 33376 33377 Existing tests: fast/canvas/canvas*shadow*html 33378 33379 * platform/graphics/ContextShadow.cpp: 33380 (WebCore::ContextShadow::mustUseContextShadow): 33381 (WebCore::ContextShadow::adjustBlurDistance): 33382 (WebCore::ContextShadow::calculateLayerBoundingRect): 33383 * platform/graphics/ContextShadow.h: 33384 * platform/graphics/cairo/ContextShadowCairo.cpp: 33385 (WebCore::ContextShadow::beginShadowLayer): 33386 (WebCore::ContextShadow::endShadowLayer): 33387 (WebCore::ContextShadow::drawRectShadowWithoutTiling): 33388 * platform/graphics/cairo/FontCairo.cpp: 33389 (WebCore::drawGlyphsShadow): 33390 * platform/graphics/cairo/GraphicsContextCairo.cpp: 33391 (WebCore::drawPathShadow): 33392 * platform/graphics/cairo/ImageCairo.cpp: 33393 (WebCore::BitmapImage::draw): 33394 * platform/graphics/gtk/FontGtk.cpp: 33395 (WebCore::drawGlyphsShadow): 33396 * platform/graphics/qt/ContextShadowQt.cpp: 33397 (WebCore::ContextShadow::beginShadowLayer): 33398 (WebCore::ContextShadow::endShadowLayer): 33399 * platform/graphics/qt/FontQt.cpp: 33400 (WebCore::drawTextCommon): 33401 * platform/graphics/qt/GraphicsContextQt.cpp: 33402 (WebCore::GraphicsContext::fillPath): 33403 (WebCore::GraphicsContext::strokePath): 33404 (WebCore::GraphicsContext::fillRect): 33405 (WebCore::GraphicsContext::fillRoundedRect): 33406 * platform/graphics/qt/ImageQt.cpp: 33407 (WebCore::BitmapImage::draw): 33408 * platform/graphics/qt/StillImageQt.cpp: 33409 (WebCore::StillImage::draw): 33410 33411 2011-01-03 Darin Adler <darin (a] apple.com> 33412 33413 Reviewed by Dan Bernstein. 33414 33415 InsertTextCommand::m_charactersAdded is unused 33416 https://bugs.webkit.org/show_bug.cgi?id=51849 33417 33418 * editing/InsertTextCommand.cpp: 33419 (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded. 33420 (WebCore::InsertTextCommand::input): Don't update m_charactersAdded. 33421 * editing/InsertTextCommand.h: Removed charactersAdded function and 33422 m_charactersAdded data member. 33423 33424 2011-01-03 Carlos Garcia Campos <cgarcia (a] igalia.com> 33425 33426 Reviewed by Martin Robinson. 33427 33428 [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp 33429 https://bugs.webkit.org/show_bug.cgi?id=51832 33430 33431 Method paintMenuListButton() contains code common to both gtk 2 33432 and 3, so it can be moved to RenderThemeGtk.cpp instead of 33433 duplicating it. 33434 33435 * platform/gtk/RenderThemeGtk.cpp: 33436 (WebCore::RenderThemeGtk::paintMenuListButton): 33437 * platform/gtk/RenderThemeGtk2.cpp: 33438 * platform/gtk/RenderThemeGtk3.cpp: 33439 33440 2011-01-03 Pratik Solanki <psolanki (a] apple.com> 33441 33442 Reviewed by Darin Adler. 33443 33444 https://bugs.webkit.org/show_bug.cgi?id=51850 33445 Put CFNetwork loader code inside USE(CFNETWORK) 33446 33447 Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork 33448 files to the WebCore Xcode project. 33449 33450 * WebCore.xcodeproj/project.pbxproj: 33451 * loader/cf/ResourceLoaderCFNet.cpp: 33452 * loader/mac/ResourceLoaderMac.mm: 33453 * platform/network/cf/AuthenticationCF.cpp: 33454 * platform/network/cf/AuthenticationCF.h: 33455 * platform/network/cf/CookieJarCFNet.cpp: 33456 * platform/network/cf/CookieStorageCFNet.cpp: 33457 * platform/network/cf/CookieStorageCFNet.h: 33458 * platform/network/cf/CredentialStorageCFNet.cpp: 33459 * platform/network/cf/FormDataStreamCFNet.cpp: 33460 * platform/network/cf/FormDataStreamCFNet.h: 33461 * platform/network/cf/LoaderRunLoopCF.cpp: 33462 * platform/network/cf/LoaderRunLoopCF.h: 33463 * platform/network/cf/ResourceError.h: 33464 * platform/network/cf/ResourceHandleCFNet.cpp: 33465 * platform/network/cf/ResourceRequest.h: 33466 * platform/network/cf/ResourceRequestCFNet.cpp: 33467 * platform/network/cf/ResourceRequestCFNet.h: 33468 * platform/network/cf/ResourceResponse.h: 33469 * platform/network/cf/ResourceResponseCFNet.cpp: 33470 * platform/network/mac/AuthenticationMac.h: 33471 * platform/network/mac/AuthenticationMac.mm: 33472 * platform/network/mac/FormDataStreamMac.h: 33473 * platform/network/mac/FormDataStreamMac.mm: 33474 * platform/network/mac/ResourceError.h: 33475 * platform/network/mac/ResourceHandleMac.mm: 33476 * platform/network/mac/ResourceRequest.h: 33477 * platform/network/mac/ResourceRequestMac.mm: 33478 * platform/network/mac/ResourceResponse.h: 33479 * platform/network/mac/ResourceResponseMac.mm: 33480 33481 2011-01-03 Yi Shen <yi.4.shen (a] nokia.com> 33482 33483 Reviewed by Adam Barth. 33484 33485 [Qt] Add SelectAll option to the context menu for the editor 33486 https://bugs.webkit.org/show_bug.cgi?id=50049 33487 33488 Enable SelectAll for the Qt context menu. 33489 33490 * page/ContextMenuController.cpp: 33491 (WebCore::ContextMenuController::populate): 33492 * platform/ContextMenuItem.h: 33493 * platform/LocalizationStrategy.h: 33494 * platform/LocalizedStrings.cpp: 33495 (WebCore::contextMenuItemTagSelectAll): 33496 * platform/LocalizedStrings.h: 33497 33498 2011-01-03 Dan Bernstein <mitz (a] apple.com> 33499 33500 Reviewed by Darin Adler. 33501 33502 Shrink RootInlineBox 33503 https://bugs.webkit.org/show_bug.cgi?id=51847 33504 33505 * rendering/RootInlineBox.cpp: 33506 (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType() 33507 accessor. 33508 * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to 33509 unsigned because otherwise MSVC treats it as signed. 33510 (WebCore::RootInlineBox::baselineType): Added a cast. 33511 33512 2011-01-03 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 33513 33514 Reviewed by Martin Robinson. 33515 33516 [GTK] Split webkitprivate.{cpp,h} in more manageable chunks 33517 https://bugs.webkit.org/show_bug.cgi?id=50698 33518 33519 Fix DOM bindings generation to no longer include the now-gone 33520 webkitprivate.h header, including the appropriate replacements 33521 instead. 33522 33523 * bindings/scripts/CodeGeneratorGObject.pm: 33524 33525 2011-01-03 Brady Eidson <beidson (a] apple.com> 33526 33527 Reviewed by Darin Adler. 33528 33529 Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2. 33530 33531 * ForwardingHeaders/wtf/Decoder.h: Added. 33532 * ForwardingHeaders/wtf/Encoder.h: Added. 33533 33534 2011-01-03 Chris Fleizach <cfleizach (a] apple.com> 33535 33536 Reviewed by Darin Adler. 33537 33538 AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation 33539 https://bugs.webkit.org/show_bug.cgi?id=51833 33540 33541 Make sure the web area returns the contentsSize, not the same size as what is displayed. 33542 33543 Test: platform/mac/accessibility/webarea-size-equals-content-size.html 33544 33545 * accessibility/AccessibilityRenderObject.cpp: 33546 (WebCore::AccessibilityRenderObject::boundingBoxRect): 33547 33548 2011-01-03 Simon Fraser <simon.fraser (a] apple.com> 33549 33550 Fix warning in 32-bit builds. 33551 33552 * css/CSSGradientValue.cpp: 33553 (WebCore::CSSLinearGradientValue::createGradient): 33554 33555 2011-01-03 Benjamin C Meyer <bmeyer (a] rim.com> 33556 33557 Reviewed by Daniel Bates. 33558 33559 In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block. 33560 https://bugs.webkit.org/show_bug.cgi?id=51827 33561 33562 * CMakeLists.txt: 33563 33564 2011-01-03 Dan Bernstein <mitz (a] apple.com> 33565 33566 Reviewed by Simon Fraser. 33567 33568 Remove the unused RenderTableCell::m_percentageHeight 33569 https://bugs.webkit.org/show_bug.cgi?id=51837 33570 33571 * rendering/RenderTableCell.cpp: 33572 (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight. 33573 * rendering/RenderTableCell.h: Removed m_percentageHeight. 33574 33575 2011-01-03 Simon Fraser <simon.fraser (a] apple.com> 33576 33577 Reviewed by David Hyatt. 33578 33579 Implement -webkit-linear-gradient and -webkit-radial-gradient 33580 https://bugs.webkit.org/show_bug.cgi?id=28152 33581 33582 Add support for -webkit-radial-gradients. 33583 33584 Tests: fast/gradients/css3-radial-gradients.html 33585 fast/gradients/css3-radial-gradients2.html 33586 33587 * css/CSSGradientValue.cpp: 33588 (WebCore::blend): Used to blend colors, which is necessary when truncating 33589 the start of radial gradients. 33590 (WebCore::GradientStop): Small struct to aid gradient stop processing. 33591 (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store 33592 the color so that we can blend it when truncating radial gradients. Changed 33593 to handle both linear and radial gradients. 33594 (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec. 33595 (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change. 33596 (WebCore::distanceToClosestCorner): New utility method. 33597 (WebCore::distanceToFarthestCorner): Ditto. 33598 (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and 33599 fill rules. 33600 33601 * css/CSSGradientValue.h: 33602 (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what 33603 kind of gradient it's dealing with, so add new isFooGradient methods. 33604 (WebCore::CSSGradientValue::isRadialGradient): Ditto. 33605 (WebCore::CSSLinearGradientValue::isLinearGradient): 33606 (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc. 33607 (WebCore::CSSRadialGradientValue::setSizingBehavior): 33608 (WebCore::CSSRadialGradientValue::setEndHorizontalSize): 33609 (WebCore::CSSRadialGradientValue::setEndVerticalSize): 33610 (WebCore::CSSRadialGradientValue::isRadialGradient): 33611 33612 * css/CSSParser.h: 33613 * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition() 33614 so we can use parseFillPosition() when parsing a gradient function. 33615 * css/CSSParser.cpp: 33616 (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList* 33617 (WebCore::CSSParser::parseFillPosition): Ditto 33618 (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition. 33619 (WebCore::CSSParser::parseTransformOriginShorthand): Ditto 33620 (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing. 33621 (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition. 33622 (WebCore::CSSParser::parsePerspectiveOrigin): Ditto 33623 33624 * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors. 33625 33626 * platform/graphics/Gradient.cpp: 33627 (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients. 33628 * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients. 33629 (WebCore::Gradient::create): 33630 (WebCore::Gradient::startRadius): Expose radii. 33631 (WebCore::Gradient::endRadius): 33632 (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops. 33633 (WebCore::Gradient::setEndRadius): 33634 (WebCore::Gradient::aspectRatio): 33635 * platform/graphics/cg/GradientCG.cpp: 33636 (WebCore::Gradient::paint): For elliptical gradients, scale the CTM. 33637 * platform/graphics/wince/GraphicsContextWinCE.cpp: 33638 (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1(). 33639 33640 2011-01-03 Simon Fraser <simon.fraser (a] apple.com> 33641 33642 Reviewed by David Hyatt. 33643 33644 Implement -webkit-linear-gradient and -webkit-radial-gradient 33645 https://bugs.webkit.org/show_bug.cgi?id=28152 33646 33647 Add support for the parsing and rendering of non-repeating CSS3 linear gradients, 33648 according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>. 33649 33650 Tests: fast/gradients/css3-color-stop-units.html 33651 fast/gradients/css3-color-stops.html 33652 fast/gradients/css3-gradient-parsing.html 33653 fast/gradients/css3-linear-angle-gradients.html 33654 33655 * css/CSSGradientValue.h: 33656 Add subclasses of CSSGradientValue for linear and radial gradients. 33657 33658 * css/CSSGradientValue.cpp: 33659 (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache 33660 the gradient sometimes. 33661 (WebCore::compareStops): positions are CSSValues now. 33662 (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called 33663 for old-style gradients. 33664 (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about 33665 missing positions, ensuring that stop position is ordered, and spacing out stops 33666 without positions. Also normalize gradients which use stops outside the 0-1 range 33667 so that platforms can render them correctly. 33668 (WebCore::positionFromValue): Determin the position on the gradient line for percentage, 33669 number and length values. 33670 (WebCore::CSSGradientValue::computeEndPoint): 33671 (WebCore::CSSLinearGradientValue::cssText): 33672 (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle 33673 given an angle. 33674 (WebCore::CSSLinearGradientValue::createGradient): 33675 (WebCore::CSSRadialGradientValue::cssText): 33676 (WebCore::CSSRadialGradientValue::resolveRadius): 33677 (WebCore::CSSRadialGradientValue::createGradient): 33678 33679 * css/CSSParser.cpp: 33680 (WebCore::CSSParser::parseValue): Style fix. 33681 (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage() 33682 (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage() 33683 (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage() 33684 (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient. 33685 (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient, 33686 and fixed to store CSSValues for the stop position. 33687 (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient, 33688 and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate. 33689 (WebCore::valueFromSideKeyword): 33690 (WebCore::parseGradientColorOrKeyword): Color parsing utility. 33691 (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients. 33692 (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients. 33693 (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas. 33694 (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients 33695 and CSS canvas. 33696 * css/CSSParser.h: 33697 * platform/graphics/Gradient.h: 33698 (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients. 33699 (WebCore::Gradient::setP1): Ditto. 33700 33701 2011-01-03 Noam Rosenthal <noam.rosenthal (a] nokia.com> 33702 33703 Reviewed by Andreas Kling. 33704 33705 [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget 33706 https://bugs.webkit.org/show_bug.cgi?id=51464 33707 33708 Added a way to bind any QObject created as a plugin to JavaScript, 33709 by adding a custom member (qtObject) to WebCore::Widget. 33710 Added a test to tst_qwebpage to make sure plugins created 33711 as QGraphicsWidget are accessible through JavaScript. 33712 33713 * bindings/js/ScriptControllerQt.cpp: 33714 (WebCore::ScriptController::createScriptInstanceForWidget): 33715 * platform/Widget.h: 33716 * platform/qt/WidgetQt.cpp: 33717 (WebCore::Widget::Widget): 33718 (WebCore::Widget::setBindingObject): 33719 (WebCore::Widget::bindingObject): 33720 33721 2011-01-03 David Hyatt <hyatt (a] apple.com> 33722 33723 Reviewed by Simon Fraser. 33724 33725 https://bugs.webkit.org/show_bug.cgi?id=51328 33726 33727 Printing on a page with body { height: 100% } clips out the overflow contents. This happened 33728 because the computePageRects function was never correct. It was using the layer's width and height 33729 for the document's width and height, and the layer no longer includes overflow in its width and 33730 height. It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid 33731 assumption in RTL or vertical text environments. 33732 33733 Added printing/page-count-percentage-height.html 33734 33735 * page/PrintContext.cpp: 33736 (WebCore::PrintContext::computePageRects): 33737 (WebCore::PrintContext::computePageRectsWithPageSizeInternal): 33738 33739 2011-01-03 Csaba Osztrogonc <ossy (a] webkit.org> 33740 33741 [Qt] Unreviewed buildfix for --minimal build after r74895. 33742 33743 * html/InputType.cpp: Missing include added. 33744 * html/NumberInputType.cpp: Missing include added. 33745 33746 2011-01-02 Darin Adler <darin (a] apple.com> 33747 33748 Reviewed by Kent Tamura. 33749 33750 Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming 33751 https://bugs.webkit.org/show_bug.cgi?id=51791 33752 33753 * dom/InputElement.h: Make sanitizeValueForTextField public so it can 33754 be called by InputType. 33755 33756 * html/BaseButtonInputType.cpp: 33757 (WebCore::BaseButtonInputType::accessKeyAction): Added. 33758 (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added. 33759 * html/BaseButtonInputType.h: Ditto. 33760 33761 * html/BaseCheckableInputType.cpp: 33762 (WebCore::BaseCheckableInputType::canSetStringValue): Added. 33763 (WebCore::BaseCheckableInputType::accessKeyAction): Added. 33764 (WebCore::BaseCheckableInputType::fallbackValue): Added. 33765 (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added. 33766 (WebCore::BaseCheckableInputType::isCheckable): Added. 33767 * html/BaseCheckableInputType.h: Ditto. 33768 33769 * html/BaseDateAndTimeInputType.cpp: 33770 (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added. 33771 * html/BaseDateAndTimeInputType.h: Ditto. 33772 33773 * html/BaseTextInputType.h: Made more functions private. 33774 33775 * html/ButtonInputType.cpp: 33776 (WebCore::ButtonInputType::isTextButton): Added. 33777 * html/ButtonInputType.h: Ditto. 33778 33779 * html/CheckboxInputType.cpp: 33780 (WebCore::CheckboxInputType::willDispatchClick): Added. 33781 (WebCore::CheckboxInputType::didDispatchClick): Added. 33782 (WebCore::CheckboxInputType::isCheckbox): Added. 33783 * html/CheckboxInputType.h: Ditto. 33784 33785 * html/DateTimeInputType.cpp: 33786 (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed 33787 typo in name of this function. 33788 * html/DateTimeInputType.h: Ditto. 33789 * html/DateTimeLocalInputType.cpp: 33790 (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto. 33791 * html/DateTimeLocalInputType.h: Ditto. 33792 33793 * html/EmailInputType.cpp: 33794 (WebCore::EmailInputType::isEmailField): Added. 33795 * html/EmailInputType.h: Ditto. 33796 33797 * html/FileInputType.cpp: 33798 (WebCore::FileInputType::FileInputType): Added. 33799 (WebCore::FileInputType::canSetStringValue): Added. 33800 (WebCore::FileInputType::canChangeFromAnotherType): Added. 33801 (WebCore::FileInputType::files): Added. 33802 (WebCore::FileInputType::canSetValue): Added. 33803 (WebCore::FileInputType::getTypeSpecificValue): Added. 33804 (WebCore::FileInputType::storesValueSeparateFromAttribute): Added. 33805 (WebCore::FileInputType::setFileList): Added. 33806 (WebCore::FileInputType::isFileUpload): Added. 33807 * html/FileInputType.h: Ditto. 33808 33809 * html/HTMLInputElement.cpp: 33810 (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member 33811 renaming and removal. 33812 (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue 33813 instead of checking specific type numbers. 33814 (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces): 33815 Use fastGetAttribute and fixed typo in the name of the 33816 scaledStepValueShouldBeInteger function. 33817 (WebCore::HTMLInputElement::isKeyboardFocusable): Call 33818 InputType::isKeyboardFocusable; moved most of the type-specific 33819 logic there. 33820 (WebCore::HTMLInputElement::shouldUseInputMethod): Call 33821 InputType::shouldUseInputMethod; moved the type-specific logic there. 33822 (WebCore::HTMLInputElement::handleBlurEvent): Call 33823 InputType::handleBlurEvent; moved the type-specific logic there. 33824 (WebCore::HTMLInputElement::setType): Tweak the names and types 33825 in this function. 33826 (WebCore::HTMLInputElement::updateType): Removed the code that 33827 set m_deprecatedTypeNumber. Compare types by comparing the value 33828 from formControlType. Removed file-specific logic and instead call 33829 InputType::canChangeFromAnotherType. Streamlined the logic for 33830 activation callbacks. 33831 (WebCore::HTMLInputElement::accessKeyAction): Call 33832 InputType::accessKeyAction; moved the type-specific logic there. 33833 (WebCore::HTMLInputElement::mapToEntry): Call 33834 InputType::shouldRespectHeightAndWidthAttributes and 33835 InputType::shouldRespectAlignAttribute. 33836 (WebCore::HTMLInputElement::parseMappedAttribute): Updated 33837 for name changes and the removal of m_defaultChecked. Changed the 33838 alt attribute logic to be based on the class of the renderer. 33839 Call InputType::srcAttributeChanged and moved the type-specific 33840 logic there. Call shouldRespectAlignAttribute and 33841 shouldRespectHeightAndWidthAttributes rather than having 33842 type-specific logic here. Call minOrMaxAttributeChanged. 33843 (WebCore::HTMLInputElement::rendererIsNeeded): Call 33844 InputType::rendererIsNeeded; moved the type-specific logic there. 33845 (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited 33846 flag, which was redundant with the m_haveType flag. Call 33847 InputType::attach; moved the type-specific logic there. 33848 (WebCore::HTMLInputElement::altText): Use fastGetAttribute. 33849 (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call 33850 InputType::canBeSuccessfulSubmitButton; moved the type-specific 33851 logic there. 33852 (WebCore::HTMLInputElement::isActivatedSubmit): Updated for 33853 name changes. 33854 (WebCore::HTMLInputElement::setActivatedSubmit): Ditto. 33855 (WebCore::HTMLInputElement::reset): Updated to use 33856 InputType::storesValueSeparateFromAttribute. Also use 33857 hasAttribute(checkedAttr) rather than m_defaultChecked, 33858 since both are the same. Also updated for name change. 33859 (WebCore::HTMLInputElement::setChecked): Updated for name 33860 changes. Also added call to 33861 InputType::shouldSendChangeEventAfterCheckedChanged and 33862 moved the type-specific logic there. 33863 (WebCore::HTMLInputElement::setIndeterminate): Call 33864 isCheckable to see if indeterminate is allowed. 33865 Also updated for name changes. 33866 (WebCore::HTMLInputElement::copyNonAttributeProperties): 33867 Updated for name changes and removed data members. 33868 (WebCore::HTMLInputElement::value): Call 33869 InputType::getTypeSpecificValue and InputType::fallbackValue. 33870 Moved the type-specific logic there. 33871 (WebCore::HTMLInputElement::valueWithDefault): Call 33872 InputType::defaultValue. Moved the type-specific logic there. 33873 (WebCore::HTMLInputElement::setSuggestedValue): Call 33874 InputType::canSetSuggestedValue. Moved the type-specific logic 33875 there. 33876 (WebCore::HTMLInputElement::setValue): Call 33877 InputType::canSetValue. Moved the type-specific logic there. 33878 Clear the file list if it exists rather than checking the 33879 type explicitly. We could probably do that a more elegant way. 33880 (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute. 33881 (WebCore::HTMLInputElement::setValueFromRenderer): Use the 33882 isFileUpload function in the assertion. 33883 (WebCore::HTMLInputElement::setFileListFromRenderer): Put most 33884 of the code from this function into FileInputType::setFileList. 33885 (WebCore::HTMLInputElement::preDispatchEventHandler): Changed 33886 to call InputType::willDispatchClick, which does the type-specific 33887 work. Still need to use a single struct for all types, because 33888 the type of the element could change during the event handling. 33889 (WebCore::HTMLInputElement::postDispatchEventHandler): Changed 33890 to call InputType::didDispatchClick. 33891 (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute. 33892 (WebCore::HTMLInputElement::accept): Use fastGetAttribute. 33893 (WebCore::HTMLInputElement::alt): Use fastGetAttribute. 33894 (WebCore::HTMLInputElement::src): Use fastGetAttribute. 33895 (WebCore::HTMLInputElement::setAutofilled): Updated for name 33896 changes. 33897 (WebCore::HTMLInputElement::files): Use InputType::files. 33898 (WebCore::HTMLInputElement::isAcceptableValue): Use 33899 InputType::isAcceptableValue. 33900 (WebCore::HTMLInputElement::sanitizeValue): Use 33901 InputType::sanitizeValue. 33902 (WebCore::HTMLInputElement::hasUnacceptableValue): Use 33903 InputType::hasUnacceptableValue. 33904 (WebCore::HTMLInputElement::needsActivationCallback): Use 33905 InputType::shouldResetOnDocumentActivation. 33906 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use 33907 InputType::willMoveToNewOwnerDocument. 33908 (WebCore::HTMLInputElement::dataList): Use 33909 InputType::shouldRespectListAttribute. 33910 (WebCore::HTMLInputElement::selectedOption): Tweaked logic 33911 and naming a bit. 33912 (WebCore::HTMLInputElement::stepUpFromRenderer): Use 33913 fastGetAttribute. 33914 (WebCore::HTMLInputElement::isSpeechEnabled): Use 33915 InputType::shouldRespectSpeechAttribute. 33916 (WebCore::HTMLInputElement::isTextButton): No longer inline. 33917 Calls through to InputType. 33918 (WebCore::HTMLInputElement::isRadioButton): Ditto. 33919 (WebCore::HTMLInputElement::isSearchField): Ditto. 33920 (WebCore::HTMLInputElement::isInputTypeHidden): Ditto. 33921 (WebCore::HTMLInputElement::isPasswordField): Ditto. 33922 (WebCore::HTMLInputElement::isCheckbox): Ditto. 33923 (WebCore::HTMLInputElement::isText): Ditto. 33924 (WebCore::HTMLInputElement::isEmailField): Ditto. 33925 (WebCore::HTMLInputElement::isFileUpload): Ditto. 33926 (WebCore::HTMLInputElement::isImageButton): Ditto. 33927 (WebCore::HTMLInputElement::isNumberField): Ditto. 33928 (WebCore::HTMLInputElement::isSubmitButton): Ditto. 33929 (WebCore::HTMLInputElement::isTelephoneField): Ditto. 33930 (WebCore::HTMLInputElement::isURLField): Ditto. 33931 (WebCore::HTMLInputElement::isEnumeratable): Ditto. 33932 (WebCore::HTMLInputElement::isChecked): No longer inline. 33933 Calls InputType::isCheckable. 33934 (WebCore::HTMLInputElement::hasSpinButton): No longer inline. 33935 Calls through to InputType. 33936 (WebCore::HTMLInputElement::supportsPlaceholder): No longer 33937 inline. Calls isTextType as before, but with no special case 33938 for ISINDEX. That special case was unneeded since it returns 33939 true from isTextType. 33940 (WebCore::HTMLInputElement::checkedRadioButtons): No longer 33941 inline. 33942 (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): 33943 No longer inline. 33944 33945 * html/HTMLInputElement.h: Removed multiple unneeded includes. 33946 The big one is probably InputType.h, but also HTMLFormElement.h. 33947 Removed unneeded forward declarations. Made many functions 33948 no longer inline since they now need to make virtual function 33949 dispatches. Removed the unneeded defaultChecked and 33950 webkitdirectory functions. Both are handled by HTML attribute 33951 reflection for DOM bindings, and the callers instead can get 33952 at the attribute. Made updateCheckedRadioButtons public so it 33953 can be called by an InputType class. Removed 33954 DeprecatedInputType, InputTypeMap, createTypeMap, 33955 deprecatedInputType, allowsIndeterminate, 33956 respectHeightAndWidthAttrs, storesValueSeparateFromAttribute, 33957 m_imageLoader, m_fileList, m_deprecatedTypeNumber, 33958 m_defaultChecked, and m_inited. Renamed m_checked to 33959 m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute, 33960 m_indeterminate tom_isIndeterminate, m_haveType to m_hasType, 33961 m_activeSubmit to m_isActivatedSubmit, and m_autofilled to 33962 m_isAutofilled. 33963 33964 * html/HiddenInputType.cpp: 33965 (WebCore::HiddenInputType::accessKeyAction): Added. 33966 (WebCore::HiddenInputType::rendererIsNeeded) Added.: 33967 (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added. 33968 (WebCore::HiddenInputType::isHiddenType): Added. 33969 (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added. 33970 * html/HiddenInputType.h: Ditto. 33971 33972 * html/ImageInputType.cpp: 33973 (WebCore::ImageInputType::ImageInputType): Moved out of the header file. 33974 (WebCore::ImageInputType::srcAttributeChanged): Added. 33975 (WebCore::ImageInputType::attach): Added. 33976 (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added. 33977 (WebCore::ImageInputType::shouldRespectAlignAttribute): Added. 33978 (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added. 33979 (WebCore::ImageInputType::isImageButton): Added. 33980 (WebCore::ImageInputType::isEnumeratable): Added. 33981 (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added. 33982 * html/ImageInputType.h: Ditto. 33983 33984 * html/InputType.cpp: 33985 (WebCore::InputType::create): Changed argument type to String. There 33986 is no value in taking an AtomicString here. 33987 (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in 33988 this function name. 33989 (WebCore::InputType::canSetStringValue): Added. 33990 (WebCore::InputType::isKeyboardFocusable): Added. 33991 (WebCore::InputType::shouldUseInputMethod): Added. 33992 (WebCore::InputType::handleBlurEvent): Added. 33993 (WebCore::InputType::accessKeyAction): Added. 33994 (WebCore::InputType::attach): Added. 33995 (WebCore::InputType::srcAttributeChanged): Added. 33996 (WebCore::InputType::willMoveToNewOwnerDocument): Added. 33997 (WebCore::InputType::shouldRespectAlignAttribute): Added. 33998 (WebCore::InputType::canChangeFromAnotherType): Added. 33999 (WebCore::InputType::minOrMaxAttributeChanged): Added. 34000 (WebCore::InputType::canBeSuccessfulSubmitButton): Added. 34001 (WebCore::InputType::rendererIsNeeded): Added. 34002 (WebCore::InputType::files): Added. 34003 (WebCore::InputType::getTypeSpecificValue): Added. 34004 (WebCore::InputType::fallbackValue): Added. 34005 (WebCore::InputType::defaultValue): Added. 34006 (WebCore::InputType::canSetSuggestedValue): Added. 34007 (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added. 34008 (WebCore::InputType::storesValueSeparateFromAttribute): Added. 34009 (WebCore::InputType::canSetValue): Added. 34010 (WebCore::InputType::willDispatchClick): Added. 34011 (WebCore::InputType::didDispatchClick): Added. 34012 (WebCore::InputType::isAcceptableValue): Added. 34013 (WebCore::InputType::sanitizeValue): Added. 34014 (WebCore::InputType::hasUnacceptableValue): Added. 34015 (WebCore::InputType::setFileList): Added. 34016 (WebCore::InputType::shouldResetOnDocumentActivation): Added. 34017 (WebCore::InputType::shouldRespectListAttribute): Added. 34018 (WebCore::InputType::shouldRespectSpeechAttribute): Added. 34019 (WebCore::InputType::isTextButton): Added. 34020 (WebCore::InputType::isRadioButton): Added. 34021 (WebCore::InputType::isSearchField): Added. 34022 (WebCore::InputType::isHiddenType): Added. 34023 (WebCore::InputType::isPasswordField): Added. 34024 (WebCore::InputType::isCheckbox): Added. 34025 (WebCore::InputType::isEmailField): Added. 34026 (WebCore::InputType::isFileUpload): Added. 34027 (WebCore::InputType::isImageButton): Added. 34028 (WebCore::InputType::isNumberField): Added. 34029 (WebCore::InputType::isSubmitButton): Added. 34030 (WebCore::InputType::isTelephoneField): Added. 34031 (WebCore::InputType::isURLField): Added. 34032 (WebCore::InputType::isEnumeratable): Added. 34033 (WebCore::InputType::isCheckable): Added. 34034 (WebCore::InputType::hasSpinButton): Added. 34035 (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added. 34036 34037 * html/InputType.h: Removed unneeded ExceptionCode.h include and 34038 used a typedef instead as we do when we want for forward declare it. 34039 Added includes and forward declarations needed for new functions. 34040 Added ClickHandlingState structure. Changed the argument to create 34041 to a String rather than AtomicString. Added many virtual functions. 34042 34043 * html/IsIndexInputType.cpp: 34044 (WebCore::IsIndexInputType::shouldRespectListAttribute): Added. 34045 * html/IsIndexInputType.h: Ditto. 34046 34047 * html/NumberInputType.cpp: 34048 (WebCore::NumberInputType::handleBlurEvent): Added. 34049 (WebCore::NumberInputType::isAcceptableValue): Added. 34050 (WebCore::NumberInputType::sanitizeValue): Added. 34051 (WebCore::NumberInputType::hasUnacceptableValue): Added. 34052 (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added. 34053 (WebCore::NumberInputType::isNumberField): Added. 34054 (WebCore::NumberInputType::hasSpinButton): Added. 34055 * html/NumberInputType.h: Ditto. 34056 34057 * html/PasswordInputType.cpp: 34058 (WebCore::PasswordInputType::shouldUseInputMethod): Added. 34059 (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added. 34060 (WebCore::PasswordInputType::shouldRespectListAttribute): Added. 34061 (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added. 34062 (WebCore::PasswordInputType::isPasswordField): Added. 34063 * html/PasswordInputType.h: Ditto. 34064 34065 * html/RadioInputType.cpp: 34066 (WebCore::RadioInputType::isKeyboardFocusable): Added. 34067 (WebCore::RadioInputType::attach): Added. 34068 (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added. 34069 (WebCore::RadioInputType::willDispatchClick): Added. 34070 (WebCore::RadioInputType::didDispatchClick): Added. 34071 (WebCore::RadioInputType::isRadioButton): Added. 34072 * html/RadioInputType.h: Ditto. 34073 34074 * html/RangeInputType.cpp: 34075 (WebCore::RangeInputType::accessKeyAction): Added. 34076 (WebCore::RangeInputType::minOrMaxAttributeChanged): Added. 34077 (WebCore::RangeInputType::fallbackValue): Added. 34078 (WebCore::RangeInputType::sanitizeValue): Added. 34079 (WebCore::RangeInputType::shouldRespectListAttribute): Added. 34080 * html/RangeInputType.h: Ditto. 34081 34082 * html/ResetInputType.cpp: 34083 (WebCore::ResetInputType::defaultValue): Added. 34084 (WebCore::ResetInputType::isTextButton): Added. 34085 * html/ResetInputType.h: Ditto. 34086 34087 * html/SearchInputType.cpp: 34088 (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added. 34089 (WebCore::SearchInputType::isSearchField): Added. 34090 * html/SearchInputType.h: Ditto. 34091 34092 * html/SubmitInputType.cpp: 34093 (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added. 34094 (WebCore::SubmitInputType::defaultValue): Added. 34095 (WebCore::SubmitInputType::isSubmitButton): Added. 34096 (WebCore::SubmitInputType::isTextButton): Added. 34097 * html/SubmitInputType.h: Ditto. 34098 34099 * html/TelephoneInputType.cpp: 34100 (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added. 34101 (WebCore::TelephoneInputType::isTelephoneField): Added. 34102 * html/TelephoneInputType.h: Ditto. 34103 34104 * html/TextFieldInputType.cpp: 34105 (WebCore::TextFieldInputType::shouldUseInputMethod): Added. 34106 (WebCore::TextFieldInputType::sanitizeValue): Added. 34107 (WebCore::TextFieldInputType::shouldRespectListAttribute): Added. 34108 * html/TextFieldInputType.h: Ditto. 34109 34110 * html/TextInputType.cpp: 34111 (WebCore::TextInputType::canSetSuggestedValue): Added. 34112 (WebCore::TextInputType::shouldRespectSpeechAttribute): Added. 34113 * html/TextInputType.h: Ditto. 34114 34115 * html/TimeInputType.cpp: 34116 (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed 34117 typo in the name of this function. 34118 * html/TimeInputType.h: Ditto. 34119 34120 * html/URLInputType.cpp: 34121 (WebCore::URLInputType::isURLField): Added. 34122 * html/URLInputType.h: Ditto. 34123 34124 2011-01-03 Mihai Parparita <mihaip (a] chromium.org> 34125 34126 Unreviewed. 34127 34128 NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same 34129 https://bugs.webkit.org/show_bug.cgi?id=51151 34130 34131 Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering, 34132 so that it can match Safari's (and thus use the same baselines). 34133 34134 No new tests, should be covered by layout tests (which will need 34135 expectation changes) 34136 34137 * platform/chromium/ScrollbarThemeChromiumMac.mm: 34138 34139 2011-01-03 Antonio Gomes <agomes (a] rim.com> 34140 34141 Unreviewed build fix for WebKit/Gtk+. 34142 34143 RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be 34144 guarded by ENABLE(VIDEO), as it is in its header. 34145 34146 No new tests. 34147 34148 * platform/gtk/RenderThemeGtk2.cpp: 34149 34150 2011-01-02 Dan Bernstein <mitz (a] apple.com> 34151 34152 Rubber-stamped by Simon Fraser. 34153 34154 <rdar://problem/8812159> Update copyright strings 34155 34156 * Info.plist: 34157 34158 2011-01-02 Dan Bernstein <mitz (a] apple.com> 34159 34160 Reviewed by Sam Weinig. 34161 34162 <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field 34163 https://bugs.webkit.org/show_bug.cgi?id=51623 34164 34165 * editing/Editor.cpp: 34166 (WebCore::Editor::countMatchesForText): Actually remember the original search range end 34167 container and offset and restore them when needed, instead of using two references to the 34168 same Range. 34169 * manual-tests/find-count-matches-after-text-control.html: Added. 34170 34171 2011-01-02 Benjamin Poulain <benjamin.poulain (a] nokia.com> 34172 34173 Reviewed by Csaba Osztrogonc. 34174 34175 WebKit 2 does not build on 64bits with a recent GCC 34176 https://bugs.webkit.org/show_bug.cgi?id=51754 34177 34178 Use explicitely 64 bits types for the attributes of DatabaseDetails. 34179 34180 * storage/DatabaseDetails.h: 34181 (WebCore::DatabaseDetails::expectedUsage): 34182 (WebCore::DatabaseDetails::currentUsage): 34183 34184 2011-01-02 Patrick Gansterer <paroga (a] webkit.org> 34185 34186 Unreviewed WinCE build fix for r74868. 34187 34188 * platform/graphics/wince/ImageBufferWinCE.cpp: 34189 (WebCore::getImageData): 34190 34191 2011-01-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 34192 34193 Unreviewed, rolling out r74847. 34194 http://trac.webkit.org/changeset/74847 34195 https://bugs.webkit.org/show_bug.cgi?id=51803 34196 34197 "Preprocessor guards should be in header files" (Requested by 34198 ap on #webkit). 34199 34200 * bindings/js/JSDOMWindowBase.cpp: 34201 * dom/Document.cpp: 34202 (WebCore::Document::recalcStyle): 34203 * html/HTMLDocument.cpp: 34204 * loader/FrameLoader.cpp: 34205 * loader/ResourceLoadNotifier.cpp: 34206 * page/Chrome.cpp: 34207 * page/Console.cpp: 34208 * page/ContextMenuController.cpp: 34209 * page/DOMWindow.cpp: 34210 (WebCore::DOMWindow::dispatchEvent): 34211 * page/EventHandler.cpp: 34212 * page/Page.cpp: 34213 * storage/Database.cpp: 34214 * workers/AbstractWorker.cpp: 34215 * workers/DefaultSharedWorkerRepository.cpp: 34216 * workers/SharedWorker.cpp: 34217 * workers/Worker.cpp: 34218 * workers/WorkerContext.cpp: 34219 * workers/WorkerMessagingProxy.cpp: 34220 * xml/XMLHttpRequest.cpp: 34221 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 34222 34223 2011-01-02 Patrick Gansterer <paroga (a] webkit.org> 34224 34225 [CMake] Unreviewed build fix. 34226 34227 * CMakeLists.txt: 34228 34229 2011-01-02 Dirk Schulze <krit (a] webkit.org> 34230 34231 Reviewed by Simon Fraser. 34232 34233 Clarify ImageBuffer and ImageData relationship 34234 https://bugs.webkit.org/show_bug.cgi?id=51297 34235 34236 Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code, 34237 since this was a layering violation, and replaced it by ByteArray. 34238 34239 No change of functionality, so no new test added. 34240 34241 * html/ImageData.cpp: 34242 (WebCore::ImageData::create): 34243 (WebCore::ImageData::ImageData): 34244 * html/ImageData.h: Added new constructor with ByteArray input. 34245 (WebCore::ImageData::width): 34246 (WebCore::ImageData::height): 34247 (WebCore::ImageData::data): 34248 * html/canvas/CanvasPixelArray.cpp: 34249 (WebCore::CanvasPixelArray::create): 34250 (WebCore::CanvasPixelArray::CanvasPixelArray): 34251 * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas. 34252 (WebCore::CanvasPixelArray::data): 34253 (WebCore::CanvasPixelArray::length): 34254 (WebCore::CanvasPixelArray::set): 34255 (WebCore::CanvasPixelArray::get): 34256 * html/canvas/CanvasRenderingContext2D.cpp: 34257 (WebCore::CanvasRenderingContext2D::getImageData): 34258 (WebCore::CanvasRenderingContext2D::putImageData): 34259 * platform/graphics/ImageBuffer.h: 34260 * platform/graphics/cairo/ImageBufferCairo.cpp: 34261 (WebCore::getImageData): 34262 (WebCore::ImageBuffer::getUnmultipliedImageData): 34263 (WebCore::ImageBuffer::getPremultipliedImageData): 34264 (WebCore::putImageData): 34265 (WebCore::ImageBuffer::putUnmultipliedImageData): 34266 (WebCore::ImageBuffer::putPremultipliedImageData): 34267 * platform/graphics/cg/ImageBufferCG.cpp: 34268 (WebCore::getImageData): 34269 (WebCore::ImageBuffer::getUnmultipliedImageData): 34270 (WebCore::ImageBuffer::getPremultipliedImageData): 34271 (WebCore::putImageData): 34272 (WebCore::ImageBuffer::putUnmultipliedImageData): 34273 (WebCore::ImageBuffer::putPremultipliedImageData): 34274 * platform/graphics/filters/FEBlend.cpp: 34275 (WebCore::FEBlend::apply): 34276 * platform/graphics/filters/FEColorMatrix.cpp: 34277 (WebCore::FEColorMatrix::apply): 34278 * platform/graphics/filters/FEComponentTransfer.cpp: 34279 (WebCore::FEComponentTransfer::apply): 34280 * platform/graphics/filters/FEComposite.cpp: 34281 (WebCore::FEComposite::apply): 34282 * platform/graphics/filters/FEConvolveMatrix.cpp: 34283 (WebCore::setDestinationPixels): 34284 (WebCore::FEConvolveMatrix::apply): 34285 * platform/graphics/filters/FEConvolveMatrix.h: 34286 * platform/graphics/filters/FEDisplacementMap.cpp: 34287 (WebCore::FEDisplacementMap::apply): 34288 * platform/graphics/filters/FEGaussianBlur.cpp: 34289 (WebCore::FEGaussianBlur::apply): 34290 * platform/graphics/filters/FELighting.cpp: 34291 (WebCore::FELighting::apply): 34292 * platform/graphics/filters/FEMorphology.cpp: 34293 (WebCore::FEMorphology::apply): 34294 * platform/graphics/filters/FETurbulence.cpp: 34295 (WebCore::FETurbulence::apply): 34296 * platform/graphics/filters/FilterEffect.cpp: 34297 (WebCore::FilterEffect::asImageBuffer): 34298 (WebCore::FilterEffect::asUnmultipliedImage): 34299 (WebCore::FilterEffect::asPremultipliedImage): 34300 (WebCore::FilterEffect::copyImageBytes): 34301 (WebCore::FilterEffect::copyUnmultipliedImage): 34302 (WebCore::FilterEffect::copyPremultipliedImage): 34303 (WebCore::FilterEffect::createUnmultipliedImageResult): 34304 (WebCore::FilterEffect::createPremultipliedImageResult): 34305 * platform/graphics/filters/FilterEffect.h: 34306 * platform/graphics/qt/ImageBufferQt.cpp: 34307 (WebCore::getImageData): 34308 (WebCore::ImageBuffer::getUnmultipliedImageData): 34309 (WebCore::ImageBuffer::getPremultipliedImageData): 34310 (WebCore::putImageData): 34311 (WebCore::ImageBuffer::putUnmultipliedImageData): 34312 (WebCore::ImageBuffer::putPremultipliedImageData): 34313 * platform/graphics/skia/ImageBufferSkia.cpp: 34314 (WebCore::getImageData): 34315 (WebCore::ImageBuffer::getUnmultipliedImageData): 34316 (WebCore::ImageBuffer::getPremultipliedImageData): 34317 (WebCore::putImageData): 34318 (WebCore::ImageBuffer::putUnmultipliedImageData): 34319 (WebCore::ImageBuffer::putPremultipliedImageData): 34320 * platform/graphics/wince/ImageBufferWinCE.cpp: 34321 (WebCore::getImageData): 34322 (WebCore::ImageBuffer::getUnmultipliedImageData): 34323 (WebCore::ImageBuffer::getPremultipliedImageData): 34324 (WebCore::putImageData): 34325 (WebCore::ImageBuffer::putUnmultipliedImageData): 34326 (WebCore::ImageBuffer::putPremultipliedImageData): 34327 * platform/graphics/wx/ImageBufferWx.cpp: 34328 (WebCore::ImageBuffer::getUnmultipliedImageData): 34329 (WebCore::ImageBuffer::getPremultipliedImageData): 34330 (WebCore::ImageBuffer::putUnmultipliedImageData): 34331 (WebCore::ImageBuffer::putPremultipliedImageData): 34332 * rendering/RenderSVGResourceMasker.cpp: 34333 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): 34334 34335 2011-01-01 Adam Barth <abarth (a] webkit.org> 34336 34337 Reviewed by Eric Seidel. 34338 34339 Move JavaScriptCore to Source 34340 https://bugs.webkit.org/show_bug.cgi?id=51604 34341 34342 Update references to JavaScriptCore. 34343 34344 * Android.derived.jscbindings.mk: 34345 * Android.v8bindings.mk: 34346 * CMakeLists.txt: 34347 * WebCore.gyp/WebCore.gyp: 34348 * WebCore.pro: 34349 - These changes are subtle and might not be 100% correct. 34350 * move-js-headers.sh: 34351 34352 2011-01-01 Adam Barth <abarth (a] webkit.org> 34353 34354 Reviewed by Eric Seidel. 34355 34356 forbid sandboxed frames to call top.close() when allow-same-origin is not setted 34357 https://bugs.webkit.org/show_bug.cgi?id=38340 34358 34359 We now pass the ScriptExecutionContext to window.close so it can find 34360 the Frame and check whether navigation is allowed. This check will 34361 almost always pass because you can only close top-level frames, but the 34362 check will fail when the calling script is sandboxed. 34363 34364 Tests: fast/frames/sandboxed-iframe-close-top-noclose.html 34365 fast/frames/sandboxed-iframe-close-top.html 34366 34367 * page/DOMWindow.cpp: 34368 (WebCore::DOMWindow::close): 34369 * page/DOMWindow.h: 34370 * page/DOMWindow.idl: 34371 34372 2011-01-01 Adam Barth <abarth (a] webkit.org> 34373 34374 Reviewed by Eric Seidel. 34375 34376 sandbox iframes have access to top.history methods 34377 https://bugs.webkit.org/show_bug.cgi?id=38152 34378 34379 To enforce the sandbox restrictions on History, we need to pass the 34380 ScriptExecutionContext to WebCore. This patch leaves the original 34381 History methods in place because they are used directly by folks who 34382 don't care about security checks. 34383 34384 Test: fast/frames/sandboxed-iframe-history-denied.html 34385 34386 * page/History.cpp: 34387 (WebCore::History::back): 34388 (WebCore::History::forward): 34389 (WebCore::History::go): 34390 * page/History.h: 34391 * page/History.idl: 34392 34393 2011-01-01 Adam Barth <abarth (a] webkit.org> 34394 34395 Remove empty file. 34396 34397 * Android.mk: 34398 * CMakeLists.txt: 34399 * GNUmakefile.am: 34400 * WebCore.gypi: 34401 * WebCore.pro: 34402 * WebCore.vcproj/WebCore.vcproj: 34403 * WebCore.xcodeproj/project.pbxproj: 34404 * dom/DOMAllInOne.cpp: 34405 * dom/Entity.cpp: Removed. 34406 34407 2011-01-01 Adam Barth <abarth (a] webkit.org> 34408 34409 Remove empty file. 34410 34411 * CMakeLists.txt: 34412 * GNUmakefile.am: 34413 * WebCore.pro: 34414 * WebCore.vcproj/WebCore.vcproj: 34415 * WebCore.xcodeproj/project.pbxproj: 34416 * bindings/js/JSBindingsAllInOne.cpp: 34417 * bindings/js/JSPopStateEventCustom.cpp: Removed. 34418 34419 2011-01-01 Adam Barth <abarth (a] webkit.org> 34420 34421 Remove empty files. 34422 34423 * GNUmakefile.am: 34424 * WebCore.gypi: 34425 * WebCore.vcproj/WebCore.vcproj: 34426 * WebCore.xcodeproj/project.pbxproj: 34427 * bindings/generic/BindingFrame.h: Removed. 34428 * bindings/generic/BindingLocation.h: Removed. 34429 34430 2011-01-01 Konstantin Tokarev <annulen (a] yandex.ru> 34431 34432 Reviewed by Darin Adler. 34433 34434 Don't include Inspector headers when Inspector is disabled 34435 https://bugs.webkit.org/show_bug.cgi?id=51789 34436 34437 * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when 34438 Inspector is enabled 34439 * dom/Document.cpp: Include Inspector headers when 34440 Inspector is enabled 34441 (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie 34442 handling 34443 * html/HTMLDocument.cpp: Include Inspector headers when 34444 Inspector is enabled 34445 * loader/FrameLoader.cpp: Include Inspector headers when 34446 Inspector is enabled 34447 * loader/ResourceLoadNotifier.cpp: Include Inspector headers when 34448 Inspector is enabled 34449 * page/Chrome.cpp: Include Inspector headers when 34450 Inspector is enabled 34451 * page/Console.cpp: Include Inspector headers when 34452 Inspector is enabled 34453 * page/ContextMenuController.cpp: Include Inspector headers when 34454 Inspector is enabled 34455 * page/DOMWindow.cpp: Include Inspector headers when 34456 Inspector is enabled 34457 (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie 34458 handling 34459 * page/EventHandler.cpp: Include Inspector headers when 34460 Inspector is enabled 34461 * page/Page.cpp: Include Inspector headers when 34462 Inspector is enabled 34463 * storage/Database.cpp: Include Inspector headers when 34464 Inspector is enabled 34465 * workers/AbstractWorker.cpp: Include Inspector headers when 34466 Inspector is enabled 34467 * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when 34468 Inspector is enabled 34469 * workers/SharedWorker.cpp: Include Inspector headers when 34470 Inspector is enabled 34471 * workers/Worker.cpp: Include Inspector headers when 34472 Inspector is enabled 34473 * workers/WorkerContext.cpp: Include Inspector headers when 34474 Inspector is enabled 34475 * workers/WorkerMessagingProxy.cpp: Include Inspector headers when 34476 Inspector is enabled 34477 * xml/XMLHttpRequest.cpp: Include Inspector headers when 34478 Inspector is enabled 34479 (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled 34480 InspectorInstrumentationCookie handling 34481 34482 2010-12-31 Adam Barth <abarth (a] webkit.org> 34483 34484 Reviewed by Darin Adler. 34485 34486 fast/loader/about-blank-hash-change.html fails on Chromium 34487 https://bugs.webkit.org/show_bug.cgi?id=51788 34488 34489 I'm unable to reproduce the failure locally, so this patch is slightly 34490 speculative. We need to be slighly more careful how we compare the 34491 fragment identifiers for Chromium because Chromium uses a URL parser 34492 that is more agressive about canonicalization. 34493 34494 * page/Location.cpp: 34495 (WebCore::Location::setHash): 34496 34497 2010-12-31 Martin Robinson <mrobinson (a] igalia.com> 34498 34499 Reviewed by Xan Lopez. 34500 34501 [GTK] Use GLib/GIO API for FileSystemGtk implementation 34502 https://bugs.webkit.org/show_bug.cgi?id=51617 34503 34504 Complete implementation of FileSystem platform code for GLib. This 34505 converts remaining API points using POSIX calls to platform-independent 34506 GLib calls and fixes other compilation errors. 34507 34508 No new tests. This code will be tested when an implementation 34509 of beginDragWithFiles is complete. 34510 34511 (WebCore::JSDirectoryEntry::getFile): 34512 (WebCore::JSDirectoryEntry::getDirectory): 34513 * platform/FileSystem.h: Added forward declarations for GLib types to 34514 avoid GLib includes and changed the PlatformFileHandle to be a GIOStream. 34515 * platform/gtk/FileSystemGtk.cpp: 34516 (WebCore::openTemporaryFile): Reimplement using only GLib calls. 34517 (WebCore::openFile): Ditto. 34518 (WebCore::closeFile): Ditto. 34519 (WebCore::seekFile): Added implementation. 34520 (WebCore::writeToFile): Reimplement using only GLib calls. 34521 (WebCore::readFromFile): Ditto. 34522 34523 2010-12-31 Darin Adler <darin (a] apple.com> 34524 34525 Reviewed by Dan Bernstein. 34526 34527 Some renaming and refactoring of form element code 34528 https://bugs.webkit.org/show_bug.cgi?id=51784 34529 34530 * bindings/js/JSHTMLSelectElementCustom.cpp: 34531 (WebCore::JSHTMLSelectElement::remove): Call new overload of remove 34532 for option elements instead of putting the logic in the binding. 34533 34534 * html/HTMLButtonElement.cpp: 34535 (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes. 34536 (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to 34537 "event" instead of "evt". Also updated for name changes. 34538 (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto. 34539 (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto. 34540 (WebCore::HTMLButtonElement::appendFormData): Ditto. 34541 * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit 34542 to match the getter function name. The name still doesn't seem great. 34543 34544 * html/HTMLFormElement.cpp: 34545 (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes. 34546 (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function 34547 instead of m_autocomplete data member. 34548 (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member 34549 instead of otherwise-unused isDemoted function. 34550 (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes. 34551 (WebCore::HTMLFormElement::validateInteractively): Removed code to clear 34552 m_insubmit. This is now handled by the caller, prepareForSubmission. 34553 (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for 34554 name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission 34555 here from validateInteractively. Removed unneeded check of m_doingsubmit 34556 boolean before setting it. 34557 (WebCore::HTMLFormElement::submit): Factored this function into two. 34558 One for JavaScript and one for non-JavaScript. Neither function needs a frame 34559 argument, because the question being asked, anyPageIsProcessingUserGesture, 34560 is a question asked of an entire page group, not a specific frame or page, 34561 so it's not important which is the active frame. 34562 (WebCore::HTMLFormElement::submitFromJavaScript): Ditto. 34563 (WebCore::HTMLFormElement::reset): Updated for name changes. 34564 (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse 34565 acceptAttr and got rid of code to set m_autocomplete. 34566 (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw 34567 pointer. 34568 (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer 34569 and the vector find function. Added a FIXME about the comment. 34570 (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete 34571 function instead of m_autocomplete data member. 34572 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto. 34573 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto. 34574 (WebCore::HTMLFormElement::autoComplete): Ditto. 34575 * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete 34576 function. Renamed prepareSubmit to prepareForSubmission. Got rid of the 34577 frame argument from the submit function and added a new submitFromJavaScript 34578 variant. Removed the unneeded isDemoted function. Changed the return type 34579 of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed 34580 m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to 34581 m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed, 34582 m_demoted to m_wasDemoted. Use plain bool instead of bitfields. 34583 34584 * html/HTMLFormElement.idl: Use the function named submitFromJavaScript 34585 instead of using CallWith=DynamicFrame because we don't need to know 34586 what frame is calling. If we did, it's not clear that the "dynamic" 34587 frame would be the right one anyway. 34588 34589 * html/HTMLSelectElement.cpp: 34590 (WebCore::HTMLSelectElement::remove): Added an overload that takes an option 34591 element, since the JavaScript binding supports this. 34592 * html/HTMLSelectElement.h: Ditto. 34593 34594 * html/ImageInputType.cpp: 34595 (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes. 34596 * html/ImageInputType.h: Ditto. 34597 * html/SubmitInputType.cpp: 34598 (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto. 34599 34600 2010-12-31 Daniel Bates <dbates (a] rim.com> 34601 34602 Reviewed by Darin Adler. 34603 34604 Pass style for <area> instead of associated <img> when querying whether 34605 the theme draws the focus ring for an <area> 34606 https://bugs.webkit.org/show_bug.cgi?id=51632 34607 34608 Fixes an issue where the style for the associated <img> of an <area> 34609 was passed when considering whether the theme should draw a focus ring 34610 for the <area>. Instead, we should pass the theme the style for the <area>. 34611 34612 It's not possible to test this at this time since there are no themes 34613 that override focus ring drawing for <area>s. 34614 34615 * rendering/RenderImage.cpp: 34616 (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing() 34617 such that it's called with respect to the focused <area>. 34618 34619 2010-12-31 Darin Adler <darin (a] apple.com> 34620 34621 * WebCore.xcodeproj/project.pbxproj: Added back the language. 34622 Developers should be using Xcode 3.2.5 or newer. 34623 34624 2010-12-31 Adam Barth <abarth (a] webkit.org> 34625 34626 Reviewed by Eric Seidel. 34627 34628 Move V8 to WebCore Location implementation 34629 https://bugs.webkit.org/show_bug.cgi?id=51768 34630 34631 * bindings/generic/BindingFrame.h: 34632 * bindings/generic/BindingLocation.h: 34633 * bindings/v8/V8Binding.h: 34634 * bindings/v8/V8DOMWindowShell.cpp: 34635 (WebCore::V8DOMWindowShell::setLocation): 34636 * bindings/v8/V8Utilities.cpp: 34637 * bindings/v8/V8Utilities.h: 34638 * bindings/v8/custom/V8LocationCustom.cpp: 34639 (WebCore::V8Location::hashAccessorSetter): 34640 (WebCore::V8Location::hostAccessorSetter): 34641 (WebCore::V8Location::hostnameAccessorSetter): 34642 (WebCore::V8Location::hrefAccessorSetter): 34643 (WebCore::V8Location::pathnameAccessorSetter): 34644 (WebCore::V8Location::portAccessorSetter): 34645 (WebCore::V8Location::protocolAccessorSetter): 34646 (WebCore::V8Location::searchAccessorSetter): 34647 (WebCore::V8Location::reloadCallback): 34648 (WebCore::V8Location::replaceCallback): 34649 (WebCore::V8Location::assignCallback): 34650 34651 2010-12-31 Yi Shen <yi.4.shen (a] nokia.com> 34652 34653 Reviewed by Eric Seidel. 34654 34655 Make retrieving extraMediaControlsStyleSheet be page dependent. 34656 https://bugs.webkit.org/show_bug.cgi?id=51752 34657 34658 Use themeForPage to retrieve extraMediaControlsStyleSheet for media 34659 controls. 34660 34661 No new tests because no platform-specific theme implementation uses 34662 the passed page pointer yet. 34663 34664 * css/CSSStyleSelector.cpp: 34665 (WebCore::CSSStyleSelector::styleForElement): 34666 34667 2010-12-31 Ilya Tikhonovsky <loislo (a] chromium.org> 34668 34669 Reviewed by Pavel Feldman. 34670 34671 Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken. 34672 34673 https://bugs.webkit.org/show_bug.cgi?id=51709 34674 34675 * inspector/front-end/ResourcesPanel.js: 34676 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 34677 34678 2010-12-31 Patrick Gansterer <paroga (a] webkit.org> 34679 34680 Unreviewed build fix after r74800. 34681 34682 * bindings/js/JSDOMWindowCustom.cpp: Add missing header. 34683 * bindings/js/JSLocationCustom.cpp: Ditto. 34684 34685 2010-12-31 Adam Barth <abarth (a] webkit.org> 34686 34687 Rubber-stamped by Eric Seidel. 34688 34689 Move HTML and XML parser benchmarks into PerformanceTests/Parser 34690 https://bugs.webkit.org/show_bug.cgi?id=51772 34691 34692 Remove the benchmarks folder now that it's empty. Future benchmarks 34693 should go in the PerformanceTests directory. 34694 34695 * benchmarks: Removed. 34696 * benchmarks/parser: Removed. 34697 * benchmarks/parser/html-parser.html: Removed. 34698 * benchmarks/parser/resources: Removed. 34699 * benchmarks/parser/resources/html5.html: Removed. 34700 * benchmarks/parser/resources/runner.js: Removed. 34701 * benchmarks/parser/xml-parser.html: Removed. 34702 34703 2010-12-31 Patrick Gansterer <paroga (a] webkit.org> 34704 34705 Reviewed by Adam Barth. 34706 34707 Add XML parser benchmark 34708 https://bugs.webkit.org/show_bug.cgi?id=51612 34709 34710 Move the JavaScript code of html parser into a separate file to share it with xml parser. 34711 34712 * benchmarks/parser/html-parser.html: 34713 * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html. 34714 (runFunction): 34715 (run): 34716 (start): 34717 * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html. 34718 34719 2010-12-29 Zhenyao Mo <zmo (a] google.com> 34720 34721 Reviewed by Kenneth Russell. 34722 34723 Update validation of stencil mask and ref values 34724 https://bugs.webkit.org/show_bug.cgi?id=50716 34725 34726 * html/canvas/WebGLRenderingContext.cpp: 34727 (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings. 34728 (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings. 34729 (WebCore::WebGLRenderingContext::drawElements): Ditto. 34730 (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error. 34731 (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto. 34732 (WebCore::WebGLRenderingContext::stencilMask): Ditto. 34733 (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto. 34734 (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings. 34735 * html/canvas/WebGLRenderingContext.h: Declare stencil setting members. 34736 34737 2010-12-30 Martin Robinson <mrobinson (a] igalia.com> 34738 34739 Reviewed by Xan Lopez. 34740 34741 [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3 34742 https://bugs.webkit.org/show_bug.cgi?id=51755 34743 34744 Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3 34745 if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary 34746 step to landing support for the new GTK+ 3.x theming API. 34747 34748 No new tests. This should not change functionality. 34749 34750 * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list. 34751 * platform/gtk/RenderThemeGtk.cpp: 34752 (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method. 34753 (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto. 34754 (WebCore::RenderThemeGtk::paintMediaButton): Ditto. 34755 (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto. 34756 * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that 34757 it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk. 34758 * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk 34759 that will eventually be platform-dependent. 34760 * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto. 34761 34762 2010-12-30 Justin Schuh <jschuh (a] chromium.org> 34763 34764 Reviewed by James Robinson. 34765 34766 Reverting r74292 because it introduced a crash with ruby text. 34767 https://bugs.webkit.org/show_bug.cgi?id=51637 34768 34769 Test: fast/css/counters/counter-ruby-text-cleared.html 34770 34771 * rendering/RenderCounter.cpp: 34772 (WebCore::findPlaceForCounter): 34773 * rendering/RenderObject.cpp: 34774 (WebCore::RenderObject::addChild): 34775 * rendering/RenderObjectChildList.cpp: 34776 (WebCore::RenderObjectChildList::appendChildNode): 34777 (WebCore::RenderObjectChildList::insertChildNode): 34778 34779 2010-12-30 Darin Adler <darin (a] apple.com> 34780 34781 Reviewed by David Kilzer. 34782 34783 Remove unused JSBinding source files 34784 https://bugs.webkit.org/show_bug.cgi?id=51762 34785 34786 * bindings/js/JSBinding.h: Removed. 34787 * bindings/js/specialization: Removed. 34788 * bindings/js/specialization/JSBindingState.cpp: Removed. 34789 * bindings/js/specialization/JSBindingState.h: Removed. 34790 34791 * CMakeLists.txt: Removed references to files. 34792 * GNUmakefile.am: Ditto. 34793 * WebCore.gypi: Ditto. 34794 * WebCore.pro: Ditto. 34795 * WebCore.vcproj/WebCore.vcproj: Ditto. 34796 * bindings/js/JSBindingsAllInOne.cpp: Ditto. 34797 34798 2010-12-30 Tony Gentilcore <tonyg (a] chromium.org> 34799 34800 Reviewed by Darin Adler. 34801 34802 Remove Document.h include from some headers where it isn't necessary 34803 https://bugs.webkit.org/show_bug.cgi?id=51730 34804 34805 No new tests because no new functionality. 34806 34807 * editing/EditingStyle.cpp: 34808 * editing/EditingStyle.h: 34809 * editing/SelectionController.h: 34810 * editing/visible_units.h: 34811 * html/HTMLAudioElement.h: 34812 * html/HTMLBodyElement.h: 34813 * inspector/InspectorCSSAgent.h: 34814 * inspector/InspectorDOMAgent.h: 34815 * inspector/InspectorInstrumentation.h: 34816 * xml/DOMParser.cpp: 34817 * xml/DOMParser.h: 34818 (WebCore::DOMParser::create): 34819 (WebCore::DOMParser::DOMParser): 34820 34821 2010-12-30 Benjamin C Meyer <bmeyer (a] rim.com> 34822 34823 Reviewed by Darin Adler. 34824 34825 bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build 34826 which is required when NOTIFICATIONS is enabled. 34827 34828 https://bugs.webkit.org/show_bug.cgi?id=51761 34829 34830 * CMakeLists.txt: 34831 34832 2010-12-30 Antti Koivisto <antti (a] apple.com> 34833 34834 Not reviewed. 34835 34836 Revert accidental project file change. 34837 34838 * WebCore.xcodeproj/project.pbxproj: 34839 34840 2010-12-30 Antti Koivisto <antti (a] apple.com> 34841 34842 Reviewed by Darin Adler. 34843 34844 https://bugs.webkit.org/show_bug.cgi?id=51134 34845 Move loading related code from MemoryCache to CachedResourceLoader 34846 34847 - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource 34848 - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet 34849 - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource 34850 - Add MemoryCache::add 34851 - Refactor the decision on whether to reload, revalidate or use the existing resource to 34852 a single function, CachedResourceLoader::determineRevalidationPolicy 34853 34854 * css/CSSImageValue.cpp: 34855 (WebCore::CSSImageValue::cachedImage): 34856 34857 Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed 34858 if ever taken (since it passes null CachedResourceLoader pointer). 34859 34860 * loader/ImageLoader.cpp: 34861 (WebCore::ImageLoader::updateFromElement): 34862 * loader/cache/CachedImage.cpp: 34863 * loader/cache/CachedResource.cpp: 34864 (WebCore::CachedResource::CachedResource): 34865 (WebCore::CachedResource::~CachedResource): 34866 (WebCore::CachedResource::mustRevalidateDueToCacheHeaders): 34867 34868 Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed. 34869 34870 (WebCore::CachedResource::setLoadPriority): 34871 34872 Check for Unresolved value before setting. 34873 34874 * loader/cache/CachedResource.h: 34875 (WebCore::CachedResource::setOwningCachedResourceLoader): 34876 34877 Rename to be bit less mysterious. 34878 34879 * loader/cache/CachedResourceLoader.cpp: 34880 (WebCore::createResource): 34881 34882 This was moved from MemoryCache. 34883 34884 (WebCore::CachedResourceLoader::~CachedResourceLoader): 34885 (WebCore::CachedResourceLoader::determineRevalidationPolicy): 34886 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 34887 34888 This was moved/merged from MemoryCache. 34889 34890 (WebCore::CachedResourceLoader::canRequest): 34891 (WebCore::CachedResourceLoader::requestResource): 34892 34893 This combines MemoryCache::requestResource and the existing method. 34894 34895 (WebCore::CachedResourceLoader::revalidateResource): 34896 34897 This was moved from MemoryCache. 34898 34899 (WebCore::CachedResourceLoader::loadResource): 34900 34901 New method for initiating loading. 34902 34903 (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache): 34904 34905 Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus 34906 34907 * loader/cache/CachedResourceLoader.h: 34908 * loader/cache/MemoryCache.cpp: 34909 (WebCore::MemoryCache::add): 34910 * loader/cache/MemoryCache.h: 34911 (WebCore::MemoryCache::remove): 34912 34913 2010-12-30 Steve Block <steveblock (a] google.com> 34914 34915 Reviewed by Gavin Barraclough. 34916 34917 Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled 34918 https://bugs.webkit.org/show_bug.cgi?id=51740 34919 34920 This is a policy decision for Android. 34921 34922 No new tests, simply enabling existing, tested code on Android. 34923 34924 * bindings/js/JSDOMWindowBase.cpp: 34925 (WebCore::JSDOMWindowBase::supportsRichSourceInfo): 34926 34927 2010-12-30 Yael Aharon <yael.aharon (a] nokia.com> 34928 34929 Reviewed by Adam Barth. 34930 34931 REGRESSION: fast/dom/cssTarget-crash.html fails 34932 https://bugs.webkit.org/show_bug.cgi?id=20342 34933 34934 Do not reload the page when submitting a form, using "GET" method, and the 34935 form action url matches the location url, except for the fragment. 34936 34937 Test: fast/forms/submit-change-fragment.html 34938 34939 * loader/FrameLoader.cpp: 34940 (WebCore::FrameLoader::loadURL): 34941 (WebCore::FrameLoader::loadWithDocumentLoader): 34942 (WebCore::FrameLoader::shouldScrollToAnchor): 34943 * loader/FrameLoader.h: 34944 34945 2010-12-30 Darin Adler <darin (a] apple.com> 34946 34947 Reviewed by Adam Barth. 34948 34949 Move security logic out of the JavaScript binding for location into the DOM class 34950 https://bugs.webkit.org/show_bug.cgi?id=51714 34951 34952 * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h, 34953 and JSBinding.h. Later, we'll remove them from other project files and delete 34954 the source files. 34955 34956 * bindings/js/JSBinding.h: Emptied out, marked for later deletion. 34957 34958 * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull 34959 function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL 34960 function, unused toLexicalFrame function, unused completeURL function, unused 34961 getCachedDOMStructure and cacheDOMStructure overloads, and unused 34962 getCachedDOMConstructor and cacheDOMConstruction functions. 34963 (WebCore::activeDOMWindow): Added. 34964 (WebCore::firstDOMWindow): Added. 34965 (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through 34966 JSBindingState, since the latter is an unneeded abstraction. 34967 (WebCore::processingUserGesture): Changed to call ScriptController's function 34968 rather than calling through JSBindingState, which is an unneeded abstraction 34969 34970 * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added 34971 activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly 34972 named allowsAccessFromFrame functions, which answer the question of whether 34973 script is allowed access *to* a frame. 34974 34975 * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes. 34976 (WebCore::JSDOMWindow::setLocation): Streamlined by using the new 34977 activeDOMWindow and firstDOMWindow functions. 34978 (WebCore::JSDOMWindow::open): Ditto. 34979 (WebCore::JSDOMWindow::showModalDialog): Ditto. 34980 (WebCore::JSDOMWindow::postMessage): Ditto. 34981 34982 * bindings/js/JSLocationCustom.cpp: 34983 (WebCore::JSLocation::setHref): Changed to pass the active and first windows through 34984 to the Location::setHref function, with it doing the rest of the work. This moves 34985 work out of the DOM binding that belongs in the DOM itself. Eventually such functions 34986 could even be automatically generated by the bindings script. 34987 (WebCore::JSLocation::setProtocol): Ditto. 34988 (WebCore::JSLocation::setHost): Ditto. 34989 (WebCore::JSLocation::setHostname): Ditto. 34990 (WebCore::JSLocation::setPort): Ditto. 34991 (WebCore::JSLocation::setPathname): Ditto. 34992 (WebCore::JSLocation::setSearch): Ditto. 34993 (WebCore::JSLocation::setHash): Ditto. 34994 (WebCore::JSLocation::replace): Ditto. 34995 (WebCore::JSLocation::reload): Ditto. 34996 (WebCore::JSLocation::assign): Ditto. 34997 34998 * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion. 34999 * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion. 35000 35001 * page/DOMWindow.cpp: 35002 (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us 35003 to use this function for Location::replace, which is the same as setLocation except that 35004 it locks both history and the back/forward list. 35005 * page/DOMWindow.h: Ditto. 35006 35007 * page/Location.cpp: 35008 (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security 35009 logic there does not have to be repeated or even refactored. 35010 (WebCore::Location::setProtocol): Ditto. 35011 (WebCore::Location::setHost): Ditto. 35012 (WebCore::Location::setHostname): Ditto. 35013 (WebCore::Location::setPort): Ditto. 35014 (WebCore::Location::setPathname): Ditto. 35015 (WebCore::Location::setSearch): Ditto. 35016 (WebCore::Location::setHash): Ditto. 35017 (WebCore::Location::assign): Ditto. 35018 (WebCore::Location::replace): Ditto. 35019 (WebCore::Location::reload): Added. Security logic was refactored from the code in 35020 JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems 35021 possibly unneeded. 35022 35023 * page/Location.h: Fixed indentation on the whole file. Added the new functions above. 35024 (WebCore::Location::create): 35025 (WebCore::Location::frame): 35026 35027 2010-12-30 Alexander Pavlov <apavlov (a] chromium.org> 35028 35029 Reviewed by Pavel Feldman. 35030 35031 Web Inspector: Pasting a style property with value should automatically split it into prop/value 35032 https://bugs.webkit.org/show_bug.cgi?id=51581 35033 35034 The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts 35035 of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one), 35036 and the edit focus is transferred to the value field. 35037 35038 * inspector/front-end/StylesSidebarPane.js: 35039 (WebInspector.StylePropertyTreeElement.prototype.selectElement): 35040 (WebInspector.StylePropertyTreeElement.prototype): 35041 * inspector/front-end/inspector.js: 35042 (WebInspector.completeURL): Drive-by: return full URLs as-is. 35043 (WebInspector.startEditing.cleanUpAfterEditing): 35044 (WebInspector.startEditing): 35045 (WebInspector.startEditing.pasteEventListener): 35046 (WebInspector.startEditing.keyDownEventListener): 35047 35048 2010-12-30 Pavel Podivilov <podivilov (a] chromium.org> 35049 35050 Reviewed by Pavel Feldman. 35051 35052 Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox. 35053 https://bugs.webkit.org/show_bug.cgi?id=51745 35054 35055 * inspector/front-end/Breakpoint.js: 35056 (WebInspector.Breakpoint.prototype.set enabled): 35057 35058 2010-12-30 Pavel Podivilov <podivilov (a] chromium.org> 35059 35060 Reviewed by Pavel Feldman. 35061 35062 Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping. 35063 https://bugs.webkit.org/show_bug.cgi?id=51748 35064 35065 * inspector/front-end/CallStackSidebarPane.js: 35066 (WebInspector.CallStackSidebarPane.prototype.update): 35067 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): 35068 (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): 35069 (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): 35070 35071 2010-12-30 Mikhail Naganov <mnaganov (a] chromium.org> 35072 35073 Reviewed by Pavel Feldman. 35074 35075 Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712). 35076 35077 https://bugs.webkit.org/show_bug.cgi?id=51713 35078 35079 * WebCore.gypi: 35080 * WebCore.pro: 35081 * bindings/v8/custom/V8ConsoleCustom.cpp: 35082 (WebCore::V8Console::memoryAccessorGetter): 35083 * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp. 35084 (WebCore::V8Performance::memoryAccessorGetter): 35085 * page/Console.idl: 35086 * page/Performance.idl: 35087 35088 2010-12-30 Steve Block <steveblock (a] google.com> 35089 35090 Reviewed by Sam Weinig. 35091 35092 Visiting macnn.com often causes SQL spew via geolocation database 35093 https://bugs.webkit.org/show_bug.cgi?id=51557 35094 35095 If the Geolocation position cache database path has not been set, early-out 35096 rather than using an empty path and thus failing to open the database. 35097 This avoids SQL log spew. 35098 35099 Also, avoid starting the database thread until the path has been set, and 35100 shorten the thread name to avoid warnings due to exceeding 30 characters. 35101 35102 No new tests, implementation clean-up only. 35103 35104 * page/GeolocationPositionCache.cpp: 35105 (WebCore::GeolocationPositionCache::addUser): 35106 (WebCore::GeolocationPositionCache::removeUser): 35107 (WebCore::GeolocationPositionCache::setDatabasePath): 35108 (WebCore::GeolocationPositionCache::startBackgroundThread): 35109 35110 2010-12-29 Philippe Normand <pnormand (a] igalia.com> 35111 35112 Reviewed by Martin Robinson. 35113 35114 [GTK] minimal build fails at link time due to missing sqlite3 symbols 35115 https://bugs.webkit.org/show_bug.cgi?id=51327 35116 35117 Guard the code calling sqlite3 with the ENABLE(DATABASE) check. 35118 35119 No new tests, build fix only. 35120 35121 * platform/sql/SQLiteAuthorizer.cpp: 35122 * platform/sql/SQLiteDatabase.cpp: 35123 * platform/sql/SQLiteFileSystem.cpp: 35124 * platform/sql/SQLiteStatement.cpp: 35125 * platform/sql/SQLiteTransaction.cpp: 35126 35127 2010-12-30 Justin Schuh <jschuh (a] chromium.org> 35128 35129 Reviewed by Dirk Schulze. 35130 35131 Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 35132 https://bugs.webkit.org/show_bug.cgi?id=51692 35133 35134 * svg/SVGLength.cpp: 35135 (WebCore::stringToLengthType): 35136 (WebCore::SVGLength::setValueAsString): 35137 35138 2010-12-30 Abhishek Arya <inferno (a] chromium.org> 35139 35140 Reviewed by Eric Seidel. 35141 35142 Create a helper function for finding descendent video elements for a node. 35143 https://bugs.webkit.org/show_bug.cgi?id=51696 35144 35145 Test: media/video-element-other-namespace-crash.html 35146 35147 * html/MediaDocument.cpp: 35148 (WebCore::descendentVideoElement): helper function. 35149 (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions. 35150 (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function. 35151 35152 2010-12-29 Pavel Feldman <pfeldman (a] chromium.org> 35153 35154 Reviewed by Yury Semikhatsky. 35155 35156 Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend. 35157 https://bugs.webkit.org/show_bug.cgi?id=51707 35158 35159 This change brushes up storage agents + removes redundant InspectorBackend class. 35160 35161 * CMakeLists.txt: 35162 * GNUmakefile.am: 35163 * WebCore.gypi: 35164 * WebCore.pro: 35165 * WebCore.vcproj/WebCore.vcproj: 35166 * WebCore.xcodeproj/project.pbxproj: 35167 * inspector/CodeGeneratorInspector.pm: 35168 * inspector/InjectedScriptHost.cpp: 35169 (WebCore::InjectedScriptHost::databaseForId): 35170 (WebCore::InjectedScriptHost::selectDatabase): 35171 (WebCore::InjectedScriptHost::selectDOMStorage): 35172 (WebCore::InjectedScriptHost::inspectorDOMAgent): 35173 * inspector/Inspector.idl: 35174 * inspector/InspectorBackend.cpp: Removed. 35175 * inspector/InspectorBackend.h: Removed. 35176 * inspector/InspectorController.cpp: 35177 (WebCore::InspectorController::InspectorController): 35178 (WebCore::InspectorController::~InspectorController): 35179 (WebCore::InspectorController::connectFrontend): 35180 (WebCore::InspectorController::releaseFrontendLifetimeAgents): 35181 (WebCore::InspectorController::didUseDOMStorage): 35182 (WebCore::InspectorController::setInjectedScriptSource): 35183 (WebCore::InspectorController::dispatchOnInjectedScript): 35184 (WebCore::InspectorController::releaseWrapperObjectGroup): 35185 * inspector/InspectorController.h: 35186 * inspector/InspectorDOMStorageAgent.cpp: Added. 35187 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 35188 (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): 35189 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): 35190 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): 35191 (WebCore::InspectorDOMStorageAgent::selectDOMStorage): 35192 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 35193 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 35194 * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. 35195 (WebCore::InspectorDOMStorageAgent::create): 35196 (WebCore::InspectorDOMStorageAgent::frontend): 35197 * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. 35198 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 35199 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 35200 (WebCore::InspectorDatabaseAgent::executeSQL): 35201 (WebCore::InspectorDatabaseAgent::databaseForId): 35202 (WebCore::InspectorDatabaseAgent::selectDatabase): 35203 (WebCore::InspectorDatabaseAgent::clearFrontend): 35204 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 35205 * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. 35206 (WebCore::InspectorDatabaseAgent::create): 35207 (WebCore::InspectorDatabaseAgent::frontend): 35208 * inspector/front-end/ScriptsPanel.js: 35209 (WebInspector.ScriptsPanel.prototype.show): 35210 (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): 35211 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 35212 35213 2010-12-29 Dirk Schulze <krit (a] webkit.org> 35214 35215 Reviewed by Darin Adler. 35216 35217 Cleanup SVG code according to the webkit style rules 3 35218 https://bugs.webkit.org/show_bug.cgi?id=51490 35219 35220 Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code. 35221 Just one file can't be fixed for check-webkit-style. 35222 * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning 35223 35224 No changes of functionality, so no new tests. 35225 35226 * svg/SVGAllInOne.cpp: 35227 * svg/SVGImage.cpp: 35228 * svg/SVGLength.cpp: 35229 (WebCore::SVGLength::setValue): 35230 * svg/SVGPolygonElement.h: 35231 * svg/SVGPolylineElement.h: 35232 * svg/SVGPreserveAspectRatio.cpp: 35233 (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): 35234 (WebCore::SVGPreserveAspectRatio::transformRect): 35235 * svg/SVGSVGElement.cpp: 35236 (WebCore::SVGSVGElement::viewport): 35237 * svg/SVGSetElement.h: 35238 * svg/SVGStylable.h: 35239 (WebCore::SVGStylable::~SVGStylable): 35240 * svg/SVGStyledLocatableElement.h: 35241 (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform): 35242 (WebCore::SVGStyledLocatableElement::isStyledLocatable): 35243 * svg/SVGStyledTransformableElement.cpp: 35244 (WebCore::SVGStyledTransformableElement::isKnownAttribute): 35245 * svg/SVGSwitchElement.cpp: 35246 (WebCore::SVGSwitchElement::childShouldCreateRenderer): 35247 * svg/SVGTests.cpp: 35248 (WebCore::SVGTests::parseMappedAttribute): 35249 * svg/SVGTextContentElement.cpp: 35250 (WebCore::SVGTextContentElement::isKnownAttribute): 35251 * svg/SVGTextPathElement.cpp: 35252 * svg/SVGTextPathElement.h: 35253 * svg/SVGTitleElement.h: 35254 (WebCore::SVGTitleElement::rendererIsNeeded): 35255 * svg/SVGTransformDistance.cpp: 35256 (WebCore::SVGTransformDistance::SVGTransformDistance): 35257 (WebCore::SVGTransformDistance::scaledDistance): 35258 (WebCore::SVGTransformDistance::addSVGTransforms): 35259 (WebCore::SVGTransformDistance::addSVGTransform): 35260 (WebCore::SVGTransformDistance::addToSVGTransform): 35261 (WebCore::SVGTransformDistance::isZero): 35262 * svg/SVGTransformList.cpp: 35263 * svg/SVGURIReference.cpp: 35264 (WebCore::SVGURIReference::getTarget): 35265 * svg/SVGVKernElement.h: 35266 * svg/SVGViewSpec.cpp: 35267 (WebCore::SVGViewSpec::parseViewSpec): 35268 * svg/SVGZoomAndPan.h: 35269 (WebCore::SVGZoomAndPan::SVGZoomAndPan): 35270 (WebCore::SVGZoomAndPan::~SVGZoomAndPan): 35271 (WebCore::SVGZoomAndPan::zoomAndPan): 35272 * svg/SVGZoomEvent.h: 35273 (WebCore::SVGZoomEvent::create): 35274 * svg/animation/SMILTime.cpp: 35275 (WebCore::operator*): 35276 * svg/animation/SMILTime.h: 35277 (WebCore::SMILTime::SMILTime): 35278 (WebCore::SMILTime::unresolved): 35279 (WebCore::SMILTime::indefinite): 35280 (WebCore::SMILTime::operator=): 35281 (WebCore::SMILTime::value): 35282 (WebCore::SMILTime::isFinite): 35283 (WebCore::SMILTime::isIndefinite): 35284 (WebCore::SMILTime::isUnresolved): 35285 (WebCore::operator==): 35286 (WebCore::operator!): new operator checks for 0 or infinite values. 35287 (WebCore::operator!=): 35288 (WebCore::operator>): 35289 (WebCore::operator<): 35290 (WebCore::operator>=): 35291 (WebCore::operator<=): 35292 * svg/animation/SMILTimeContainer.h: 35293 (WebCore::SMILTimeContainer::create): 35294 (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty): 35295 * svg/animation/SVGSMILElement.cpp: 35296 (WebCore::ConditionEventListener::operator==): 35297 (WebCore::SVGSMILElement::repeatingDuration): 35298 (WebCore::SVGSMILElement::resolveInterval): 35299 (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat): 35300 * svg/animation/SVGSMILElement.h: 35301 (WebCore::SVGSMILElement::timeContainer): 35302 (WebCore::SVGSMILElement::intervalBegin): 35303 (WebCore::SVGSMILElement::intervalEnd): 35304 (WebCore::SVGSMILElement::previousIntervalBegin): 35305 (WebCore::SVGSMILElement::documentOrderIndex): 35306 (WebCore::SVGSMILElement::setDocumentOrderIndex): 35307 * svg/graphics/SVGImage.h: 35308 (WebCore::SVGImage::create): 35309 (WebCore::SVGImage::destroyDecodedData): 35310 (WebCore::SVGImage::decodedSize): 35311 (WebCore::SVGImage::frameAtIndex): 35312 * svg/graphics/filters/SVGFilterBuilder.h: 35313 (WebCore::SVGFilterBuilder::create): 35314 (WebCore::SVGFilterBuilder::lastEffect): 35315 (WebCore::SVGFilterBuilder::getEffectReferences): 35316 (WebCore::SVGFilterBuilder::addBuiltinEffects): 35317 35318 2010-12-29 Abhishek Arya <inferno (a] chromium.org> 35319 35320 Reviewed by Darin Adler. 35321 35322 ASSERT(oldchild->parent() == owner) fails. 35323 https://bugs.webkit.org/show_bug.cgi?id=50480 35324 35325 In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next) 35326 is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the 35327 assertion failure when removeChildNode executes on the child(equal to prev or next). 35328 Fix a typo in canMergeContiguousAnonymousBlocks. 35329 35330 Test: fast/multicol/span/double-merge-anonymous-block-crash.html 35331 35332 * rendering/RenderBlock.cpp: 35333 (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next. 35334 (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero. 35335 35336 2010-12-29 Justin Schuh <jschuh (a] chromium.org> 35337 35338 Reviewed by Darin Adler. 35339 35340 Check SVG element type in FrameView::scrollToAnchor 35341 https://bugs.webkit.org/show_bug.cgi?id=51718 35342 35343 Test: svg/custom/scroll-to-anchor-in-symbol.svg 35344 35345 * page/FrameView.cpp: 35346 (WebCore::FrameView::scrollToAnchor): 35347 35348 2010-12-29 Anton Muhin <antonm (a] chromium.org> 35349 35350 Reviewed by Eric Seidel. 35351 35352 [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell) 35353 https://bugs.webkit.org/show_bug.cgi?id=51704 35354 35355 * bindings/v8/V8DOMWindowShell.cpp: 35356 * bindings/v8/V8DOMWindowShell.h: 35357 35358 2010-12-29 Kenichi Ishibashi <bashi (a] google.com> 35359 35360 Reviewed by Darin Adler. 35361 35362 Use a HashMap for m_continuation to save memory 35363 https://bugs.webkit.org/show_bug.cgi?id=43716 35364 35365 Saving memory consumption by applying a HashMap convention to 35366 continuation pointers of RenderInline and RenderBlock classes. 35367 35368 * rendering/RenderBlock.cpp: Removed m_continuation. 35369 (WebCore::RenderBlock::RenderBlock): 35370 (WebCore::RenderBlock::destroy): 35371 (WebCore::RenderBlock::inlineElementContinuation): 35372 (WebCore::RenderBlock::blockElementContinuation): 35373 * rendering/RenderBlock.h: Removed m_continuation. 35374 * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations. 35375 (WebCore::RenderBoxModelObject::destroy): Added an assertion. 35376 (WebCore::RenderBoxModelObject::continuation): Added. 35377 (WebCore::RenderBoxModelObject::setContinuation): Added. 35378 * rendering/RenderBoxModelObject.h: 35379 * rendering/RenderInline.cpp: Removed m_continuation. 35380 (WebCore::RenderInline::RenderInline): 35381 (WebCore::RenderInline::destroy): 35382 (WebCore::RenderInline::inlineElementContinuation): 35383 * rendering/RenderInline.h: Removed m_continuation. 35384 35385 2010-12-27 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 35386 35387 Reviewed by Martin Robinson. 35388 35389 [GTK] Enable building whatever already exists of WebKit2 35390 https://bugs.webkit.org/show_bug.cgi?id=37369 35391 35392 No new functionality added or deleted. Only makefile change. Hence, no tests added. 35393 35394 * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and 35395 added them to WebKit/gtk/GNUmakefile.am 35396 * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> 35397 and declare WEBKIT_API directly 35398 35399 2010-12-29 Eric Seidel <eric (a] webkit.org> 35400 35401 Unreviewed. 35402 35403 Simplify make-hash-tools.pl 35404 https://bugs.webkit.org/show_bug.cgi?id=49922 35405 35406 Added HashTools.h to the project file now that its not autogenerated. 35407 I also sorted the project file using sort-xcode-project-file 35408 35409 * WebCore.xcodeproj/project.pbxproj: 35410 35411 2010-12-29 Pavel Feldman <pfeldman (a] chromium.org> 35412 35413 Not reviewed: revert r74755 and 74757. 35414 35415 2010-12-29 Martin Robinson <mrobinson (a] igalia.com> 35416 35417 Reviewed by Sam Weinig. 35418 35419 JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++ 35420 https://bugs.webkit.org/show_bug.cgi?id=51722 35421 35422 Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives 35423 methods the fastcall calling convention, which leads to runtime errors when they are 35424 called from C++. Also remove a bit of unnecessary code duplication. 35425 35426 No new tests. This is covered by fast/canvas/webgl/data-view-test.html. 35427 35428 * bindings/js/JSDataViewCustom.cpp: 35429 (WebCore::getDataViewMember): Remove duplicated code. 35430 (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL. 35431 (WebCore::JSDataView::getUint8): Ditto. 35432 (WebCore::JSDataView::getFloat32): Ditto. 35433 (WebCore::JSDataView::getFloat64): Ditto. 35434 (WebCore::setDataViewMember): Remove duplicated code. 35435 (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL. 35436 (WebCore::JSDataView::setUint8): Ditto. 35437 35438 2010-12-29 Dan Bernstein <mitz (a] apple.com> 35439 35440 Reviewed by Kenneth Russel. 35441 35442 A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681 35443 35444 * html/HTMLCanvasElement.cpp: 35445 (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls 35446 CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/ 35447 attach-type style recalc. 35448 * html/HTMLCanvasElement.h: 35449 * html/canvas/CanvasRenderingContext2D.cpp: 35450 (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in 35451 r74716. A font that is loading custom fonts is okay to use, as long as it is valid. 35452 (WebCore::CanvasRenderingContext2D::accessFont): Added a call to 35453 Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place 35454 and update the font if it is invalid. 35455 * platform/graphics/Font.h: 35456 (WebCore::Font::loadingCustomFonts): Made this private. 35457 35458 2010-12-29 Pavel Feldman <pfeldman (a] chromium.org> 35459 35460 Not reviewed: Qt build fix. 35461 35462 * inspector/InspectorController.cpp: 35463 35464 2010-12-29 Pavel Feldman <pfeldman (a] chromium.org> 35465 35466 Reviewed by Yury Semikhatsky. 35467 35468 Web Inspector: extract Database & DOM Storage 35469 agents; remove InspectorBackend. 35470 https://bugs.webkit.org/show_bug.cgi?id=51707 35471 35472 This change brushes up storage agents + removes redundant 35473 InspectorBackend class. 35474 35475 * CMakeLists.txt: 35476 * GNUmakefile.am: 35477 * WebCore.gypi: 35478 * WebCore.pro: 35479 * WebCore.vcproj/WebCore.vcproj: 35480 * WebCore.xcodeproj/project.pbxproj: 35481 * inspector/CodeGeneratorInspector.pm: 35482 * inspector/InjectedScriptHost.cpp: 35483 (WebCore::InjectedScriptHost::databaseForId): 35484 (WebCore::InjectedScriptHost::selectDatabase): 35485 (WebCore::InjectedScriptHost::selectDOMStorage): 35486 (WebCore::InjectedScriptHost::inspectorDOMAgent): 35487 * inspector/Inspector.idl: 35488 * inspector/InspectorBackend.cpp: Removed. 35489 * inspector/InspectorBackend.h: Removed. 35490 * inspector/InspectorController.cpp: 35491 (WebCore::InspectorController::InspectorController): 35492 (WebCore::InspectorController::~InspectorController): 35493 (WebCore::InspectorController::connectFrontend): 35494 (WebCore::InspectorController::releaseFrontendLifetimeAgents): 35495 (WebCore::InspectorController::didUseDOMStorage): 35496 (WebCore::InspectorController::setInjectedScriptSource): 35497 (WebCore::InspectorController::dispatchOnInjectedScript): 35498 (WebCore::InspectorController::releaseWrapperObjectGroup): 35499 * inspector/InspectorController.h: 35500 * inspector/InspectorDOMStorageAgent.cpp: Added. 35501 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 35502 (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): 35503 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): 35504 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): 35505 (WebCore::InspectorDOMStorageAgent::selectDOMStorage): 35506 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 35507 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 35508 * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h. 35509 (WebCore::InspectorDOMStorageAgent::create): 35510 (WebCore::InspectorDOMStorageAgent::frontend): 35511 * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp. 35512 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 35513 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 35514 (WebCore::InspectorDatabaseAgent::executeSQL): 35515 (WebCore::InspectorDatabaseAgent::databaseForId): 35516 (WebCore::InspectorDatabaseAgent::selectDatabase): 35517 (WebCore::InspectorDatabaseAgent::clearFrontend): 35518 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 35519 * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h. 35520 (WebCore::InspectorDatabaseAgent::create): 35521 (WebCore::InspectorDatabaseAgent::frontend): 35522 * inspector/InspectorFrontendClientLocal.cpp: 35523 * inspector/InspectorFrontendClientLocal.h: 35524 * inspector/front-end/ScriptsPanel.js: 35525 (WebInspector.ScriptsPanel.prototype.show): 35526 35527 2010-12-29 Tony Gentilcore <tonyg (a] chromium.org> 35528 35529 Reviewed by Eric Seidel. 35530 35531 Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon() 35532 https://bugs.webkit.org/show_bug.cgi?id=51067 35533 35534 Typically when a script element is removed from the document, the cached script 35535 client is removed. However, during the before load event, the cached script client 35536 hasn't been created yet so it can't be removed. 35537 35538 This patch handles that case by explicitly checking if the script element was 35539 removed during the beforeload event. Also, it avoids caching the Document references 35540 over the arbitrary script execution in the before load event. 35541 35542 Test: fast/dom/HTMLScriptElement/move-in-beforeload.html 35543 fast/dom/HTMLScriptElement/remove-in-beforeload.html 35544 35545 * dom/ScriptElement.cpp: 35546 (WebCore::ScriptElement::requestScript): 35547 35548 2010-12-29 Alexander Pavlov <apavlov (a] chromium.org> 35549 35550 Reviewed by Yury Semikhatsky. 35551 35552 Web Inspector: Element highlight tooltip displays wrong element size when zoomed in 35553 https://bugs.webkit.org/show_bug.cgi?id=51703 35554 35555 * inspector/InspectorController.cpp: 35556 (WebCore::InspectorController::drawElementTitle): 35557 35558 2010-12-29 Yael Aharon <yael.aharon (a] nokia.com> 35559 35560 Reviewed by Kent Tamura. 35561 35562 [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors 35563 https://bugs.webkit.org/show_bug.cgi?id=29071 35564 35565 Use InputType::rangeUnderflow() and InputType::rangeOverflow() 35566 to determine if a control is in-range or out-of-range. 35567 35568 Tests: fast/css/pseudo-in-range-invalid-value.html 35569 fast/css/pseudo-in-range.html 35570 fast/css/pseudo-out-of-range.html 35571 35572 * css/CSSSelector.cpp: 35573 (WebCore::CSSSelector::pseudoId): 35574 (WebCore::nameToPseudoTypeMap): 35575 (WebCore::CSSSelector::extractPseudoType): 35576 * css/CSSSelector.h: 35577 * css/CSSStyleSelector.cpp: 35578 (WebCore::CSSStyleSelector::canShareStyleWithElement): 35579 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 35580 * dom/Element.h: 35581 (WebCore::Element::isInRange): 35582 (WebCore::Element::isOutOfRange): 35583 * html/BaseDateAndTimeInputType.cpp: 35584 (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation): 35585 * html/BaseDateAndTimeInputType.h: 35586 * html/HTMLInputElement.cpp: 35587 (WebCore::HTMLInputElement::isInRange): 35588 (WebCore::HTMLInputElement::isOutOfRange): 35589 * html/HTMLInputElement.h: 35590 * html/InputType.cpp: 35591 (WebCore::InputType::supportsRangeLimitation): 35592 * html/InputType.h: 35593 * html/NumberInputType.cpp: 35594 (WebCore::NumberInputType::supportsRangeLimitation): 35595 * html/NumberInputType.h: 35596 * html/RangeInputType.cpp: 35597 (WebCore::RangeInputType::supportsRangeLimitation): 35598 * html/RangeInputType.h: 35599 35600 2010-12-29 Abhishek Arya <inferno (a] chromium.org> 35601 35602 Reviewed by Eric Seidel. 35603 35604 When cloning an anonymous block, make sure to set the childrenInline flag based 35605 on the state of the block to be cloned. 35606 https://bugs.webkit.org/show_bug.cgi?id=51489 35607 35608 Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html 35609 35610 * rendering/RenderBlock.cpp: 35611 (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks. 35612 (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone(). 35613 35614 2010-12-29 Patrick Gansterer <paroga (a] webkit.org> 35615 35616 Unreviewed build fix for WinCE after r73802. 35617 35618 Reapply parts from r72585: 35619 Port ContextMenuWin.cpp to WinCE 35620 https://bugs.webkit.org/show_bug.cgi?id=48408 35621 35622 * CMakeLists.txt: 35623 * platform/ContextMenu.h: 35624 * platform/win/ContextMenuWin.cpp: 35625 (WebCore::ContextMenu::getContextMenuItems): 35626 (WebCore::ContextMenu::createNativeMenuFromItems): 35627 35628 2010-12-29 Kent Hansen <kent.hansen (a] nokia.com> 35629 35630 Reviewed by Simon Hausmann. 35631 35632 [Qt] Fix compilation with Qt in namespace 35633 https://bugs.webkit.org/show_bug.cgi?id=51701 35634 35635 * platform/graphics/ContextShadow.h: 35636 * platform/graphics/GraphicsContext3D.h: 35637 * platform/network/NetworkingContext.h: 35638 * platform/network/qt/QtNAMThreadSafeProxy.h: 35639 * plugins/PluginView.h: 35640 35641 2010-12-28 Alexander Pavlov <apavlov (a] chromium.org> 35642 35643 Reviewed by Pavel Feldman. 35644 35645 Web Inspector: A disabled style property should get enabled when edited 35646 https://bugs.webkit.org/show_bug.cgi?id=51679 35647 35648 Test: inspector/styles-disable-then-change.html 35649 35650 * inspector/front-end/CSSStyleModel.js: 35651 (WebInspector.CSSProperty.prototype.setText): 35652 (WebInspector.CSSProperty.prototype.setText.callback): 35653 35654 2010-12-29 Patrick Gansterer <paroga (a] webkit.org> 35655 35656 Reviewed by Andreas Kling. 35657 35658 [CMake] Remove WebKitGenerators 35659 https://bugs.webkit.org/show_bug.cgi?id=50445 35660 35661 * CMakeLists.txt: Pass preprocessor to generate-bindings.pl. 35662 35663 2010-12-28 Pratik Solanki <psolanki (a] apple.com> 35664 35665 Reviewed by Eric Seidel. 35666 35667 https://bugs.webkit.org/show_bug.cgi?id=51522 35668 Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB() 35669 35670 * page/win/FrameCGWin.cpp: 35671 (WebCore::imageFromRect): 35672 * platform/graphics/cg/GradientCG.cpp: 35673 (WebCore::Gradient::platformGradient): 35674 * platform/graphics/cg/GraphicsContext3DCG.cpp: 35675 (WebCore::GraphicsContext3D::paintToCanvas): 35676 * platform/graphics/cg/ImageCG.cpp: 35677 (WebCore::BitmapImage::checkForSolidColor): 35678 * platform/graphics/gstreamer/ImageGStreamerCG.mm: 35679 (ImageGStreamer::ImageGStreamer): 35680 * platform/graphics/win/GraphicsContextCGWin.cpp: 35681 (WebCore::CGContextWithHDC): 35682 (WebCore::GraphicsContext::releaseWindowsContext): 35683 (WebCore::GraphicsContext::drawWindowsBitmap): 35684 * platform/graphics/win/ImageCGWin.cpp: 35685 (WebCore::BitmapImage::create): 35686 (WebCore::BitmapImage::getHBITMAPOfSize): 35687 * platform/image-decoders/cg/ImageDecoderCG.cpp: 35688 (WebCore::createColorSpace): 35689 * platform/win/DragImageCGWin.cpp: 35690 (WebCore::allocImage): 35691 (WebCore::createCgContextFromBitmap): 35692 * rendering/RenderThemeMac.mm: 35693 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 35694 (WebCore::RenderThemeMac::paintSliderTrack): 35695 * rendering/RenderThemeSafari.cpp: 35696 (WebCore::RenderThemeSafari::paintMenuListButtonGradients): 35697 (WebCore::RenderThemeSafari::paintSliderTrack): 35698 35699 2010-12-28 Daniel Bates <dbates (a] rim.com> 35700 35701 Reviewed by Sam Weinig. 35702 35703 Substitute // MARK: for compiler-specific #pragma mark 35704 https://bugs.webkit.org/show_bug.cgi?id=51657 35705 35706 Fix compilation warnings about "#pragma mark" on GTK+ bots by 35707 substituting "// MARK:" for "#pragma mark", which provides 35708 analogous code-bookmarking functionality under Xcode. 35709 35710 * platform/graphics/cg/PathCG.cpp: 35711 * platform/graphics/mac/WebLayer.mm: 35712 35713 2010-12-28 Jan Erik Hanssen <jhanssen (a] sencha.com> 35714 35715 Reviewed by Eric Seidel. 35716 35717 [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform() 35718 https://bugs.webkit.org/show_bug.cgi?id=51687 35719 35720 Use a const reference instead of a copy of QPainter::combinedTransform() 35721 in GraphicsContext::getCTM() 35722 35723 * platform/graphics/qt/GraphicsContextQt.cpp: 35724 (WebCore::GraphicsContext::getCTM): 35725 35726 2010-12-28 Takashi Toyoshima <toyoshim (a] google.com> 35727 35728 Reviewed by Eric Seidel. 35729 35730 gcc detected 'control reaches end of non-void function' with 35731 -finstrument-functions option. 35732 https://bugs.webkit.org/show_bug.cgi?id=51669 35733 35734 No new tests. These fixes are trivial. 35735 35736 * dom/Element.cpp: 35737 (WebCore::Element::childTypeAllowed): 35738 * inspector/InspectorResourceAgent.cpp: 35739 (WebCore::cachedResourceTypeString): 35740 35741 2010-12-28 Tony Gentilcore <tonyg (a] chromium.org> 35742 35743 Reviewed by Eric Seidel. 35744 35745 Remove unused member of PendingScript 35746 https://bugs.webkit.org/show_bug.cgi?id=51684 35747 35748 This was used when HTMLScriptRunner::runScript created a PendingScript 35749 for inline scripts. But now it just calls executeScript() directly. 35750 External scripts always have the minimum starting line number. 35751 35752 No new tests because no changed functionality. 35753 35754 * dom/PendingScript.cpp: 35755 (WebCore::PendingScript::releaseElementAndClear): 35756 * dom/PendingScript.h: 35757 (WebCore::PendingScript::PendingScript): 35758 (WebCore::PendingScript::operator=): 35759 * html/parser/HTMLScriptRunner.cpp: 35760 (WebCore::HTMLScriptRunner::sourceFromPendingScript): 35761 35762 2010-12-20 Antonio Gomes <agomes (a] rim.com> 35763 35764 Reviewed by Daniel Bates. 35765 35766 Spatial Navigation: code clean up (Part VI) 35767 https://bugs.webkit.org/show_bug.cgi?id=50666 35768 35769 No new tests needed. 35770 35771 * page/FocusController.cpp: 35772 (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and 35773 isElementNode() now that we are bailing out earlier in both the 35774 FocusCandidate constructor and FocusController::findFocusCandidateInContainer(). 35775 * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection 35776 and virtualRectForAreaElementAndDirection functions. 35777 (WebCore::FocusController::findFocusCandidateInContainer): 35778 (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites 35779 of canScrollInDirection(), and added an early return if !isElementNode(). 35780 (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of 35781 virtualRectForAreaElementAndDirection(); 35782 * page/SpatialNavigation.cpp: 35783 (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node; 35784 (WebCore::isScrollableNode): Renamed from isScrollableContainerNode; 35785 (WebCore::scrollInDirection): Adjusted callsite after function name change; 35786 (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is 35787 a documentNode. 35788 (WebCore::canScrollInDirection): Signature changed. 35789 (WebCore::canBeScrolledIntoView): Ditto. 35790 (WebCore::virtualRectForAreaElementAndDirection): Ditto. 35791 35792 2010-12-28 Adrienne Walker <enne (a] google.com> 35793 35794 Reviewed by Kenneth Russell. 35795 35796 [chromium] Fix tiled compositor assertion after GPU process recovery. 35797 https://bugs.webkit.org/show_bug.cgi?id=51682 35798 35799 After the GPU process recovers, the layer size is set to IntSize(), 35800 but IntRect::unite() has a special case for empty rects. This 35801 behavior was causing the layer size to be too small, causing an 35802 out-of-bounds array access elsewhere. 35803 35804 No new tests. 35805 35806 * platform/graphics/chromium/LayerTilerChromium.cpp: 35807 (WebCore::LayerTilerChromium::growLayerToContain): 35808 35809 2010-12-23 Zhenyao Mo <zmo (a] google.com> 35810 35811 Reviewed by Kenneth Russell. 35812 35813 Initialize to 0 for undefined values in CopyTexImage2D 35814 https://bugs.webkit.org/show_bug.cgi?id=51421 35815 35816 * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer. 35817 (WebCore::WebGLFramebuffer::WebGLFramebuffer): 35818 (WebCore::WebGLFramebuffer::setAttachment): 35819 (WebCore::WebGLFramebuffer::getWidth): 35820 (WebCore::WebGLFramebuffer::getHeight): 35821 (WebCore::WebGLFramebuffer::getColorBufferFormat): 35822 * html/canvas/WebGLFramebuffer.h: 35823 * html/canvas/WebGLRenderingContext.cpp: 35824 (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0. 35825 (WebCore::WebGLRenderingContext::copyTexSubImage2D): 35826 (WebCore::WebGLRenderingContext::framebufferTexture2D): 35827 (WebCore::WebGLRenderingContext::renderbufferStorage): 35828 (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): 35829 (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): 35830 * html/canvas/WebGLRenderingContext.h: 35831 * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level. 35832 (WebCore::WebGLTexture::getInternalFormat): 35833 (WebCore::WebGLTexture::getWidth): 35834 (WebCore::WebGLTexture::getHeight): 35835 (WebCore::WebGLTexture::mapTargetToIndex): 35836 (WebCore::WebGLTexture::getLevelInfo): 35837 * html/canvas/WebGLTexture.h: 35838 (WebCore::WebGLTexture::isTexture): 35839 * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function. 35840 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 35841 (WebCore::GraphicsContext3D::getInternalFramebufferSize): 35842 * platform/graphics/qt/GraphicsContext3DQt.cpp: 35843 (WebCore::GraphicsContext3D::getInternalFramebufferSize): 35844 35845 2010-12-23 Zhenyao Mo <zmo (a] google.com> 35846 35847 Reviewed by Kenneth Russell. 35848 35849 Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D 35850 https://bugs.webkit.org/show_bug.cgi?id=39855 35851 35852 * html/canvas/WebGLRenderingContext.cpp: 35853 (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long. 35854 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. 35855 (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. 35856 (WebCore::WebGLRenderingContext::scissor): Ditto. 35857 (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. 35858 (WebCore::WebGLRenderingContext::texImage2D): Ditto. 35859 (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto. 35860 (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto. 35861 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. 35862 (WebCore::WebGLRenderingContext::viewport): Ditto. 35863 (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative. 35864 * html/canvas/WebGLRenderingContext.h: 35865 * html/canvas/WebGLRenderingContext.idl: 35866 35867 2010-12-28 Abhishek Arya <inferno (a] chromium.org> 35868 35869 Reviewed by Kenneth Russell. 35870 35871 Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the 35872 process of loading. 35873 https://bugs.webkit.org/show_bug.cgi?id=51681 35874 35875 Test: canvas/philip/tests/2d.text-custom-font-load-crash.html 35876 35877 * html/canvas/CanvasRenderingContext2D.cpp: 35878 (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading. 35879 * platform/graphics/Font.cpp: 35880 (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts() 35881 (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts() 35882 (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts() 35883 * platform/graphics/Font.h: 35884 (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading. 35885 35886 2010-12-28 Dimitri Glazkov <dglazkov (a] chromium.org> 35887 35888 Reviewed by Eric Seidel. 35889 35890 Combine setShadowRoot and clearShadowRoot into a simpler API 35891 https://bugs.webkit.org/show_bug.cgi?id=50971 35892 35893 No change in behavior, and API is not used yet. 35894 35895 * dom/Element.cpp: 35896 (WebCore::Element::setShadowRoot): Combined clearing and setting of 35897 the shadowRoot, also hooked up with setting and clearing of the 35898 corresponding shadowHost values. 35899 * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it 35900 private. 35901 * dom/Node.h: Made shadow host-related functions public so that 35902 Element::setShadowRoot can access setShadowHost. It seems logical 35903 to make shadowHost public as well to keep the defs together. 35904 35905 2010-12-28 Andrey Kosyakov <caseq (a] chromium.org> 35906 35907 Reviewed by Pavel Feldman. 35908 35909 Web Inspector: [Chromium] Expose extension API to select a node in WebInspector 35910 Do not request content for resources with non-numeric identifiers. 35911 https://bugs.webkit.org/show_bug.cgi?id=49727 35912 35913 Test: http/tests/inspector/extensions-resources-redirect.html 35914 35915 * inspector/front-end/NetworkManager.js: 35916 (WebInspector.NetworkManager.prototype._appendRedirect): 35917 35918 2010-12-28 Ilya Tikhonovsky <loislo (a] chromium.org> 35919 35920 Unreviewed build fix for Qt. 35921 35922 ResourceTreeModel.js was added. 35923 35924 * inspector/front-end/WebKit.qrc: 35925 35926 2010-12-28 Mikhail Naganov <mnaganov (a] chromium.org> 35927 35928 Reviewed by Pavel Feldman. 35929 35930 [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views. 35931 35932 https://bugs.webkit.org/show_bug.cgi?id=51680 35933 35934 * inspector/front-end/ProfilesPanel.js: 35935 (WebInspector.ProfilesPanel.prototype._reset): 35936 35937 2010-12-28 Alexander Pavlov <apavlov (a] chromium.org> 35938 35939 Reviewed by Pavel Feldman. 35940 35941 Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore 35942 https://bugs.webkit.org/show_bug.cgi?id=51663 35943 35944 The base URI is now computed correctly for links from CSS property uri(...) values. Additionally, 35945 optional quotes/apostrophes and spaces are now allowed inside uri(...). 35946 35947 Test: inspector/styles-url-linkify.html 35948 35949 * inspector/front-end/StylesSidebarPane.js: 35950 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): 35951 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 35952 35953 2010-12-21 Ilya Tikhonovsky <loislo (a] chromium.org> 35954 35955 Reviewed by Pavel Feldman. 35956 35957 Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains. 35958 35959 Domain was changed for Resources, FileSystem etc. related methods. 35960 ResourcesManager was renamed to NetworkManager. 35961 ResourceTreeModel was extracted as separate file. 35962 FileSystem, Database, DOMStorage and ApplicationCache methods were 35963 removed from NetworkManager and added to corresponding classes. 35964 35965 https://bugs.webkit.org/show_bug.cgi?id=51334 35966 35967 * WebCore.gypi: 35968 * WebCore.vcproj/WebCore.vcproj: 35969 * inspector/CodeGeneratorInspector.pm: 35970 * inspector/Inspector.idl: 35971 * inspector/front-end/AuditRules.js: 35972 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 35973 * inspector/front-end/CSSStyleModel.js: 35974 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 35975 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 35976 * inspector/front-end/ConsoleView.js: 35977 (WebInspector.ConsoleView.prototype.addMessage): 35978 (WebInspector.ConsoleView.prototype.clearMessages): 35979 * inspector/front-end/DOMAgent.js: 35980 (WebInspector.ApplicationCache.updateApplicationCacheStatus): 35981 (WebInspector.ApplicationCache.updateNetworkState): 35982 * inspector/front-end/DOMStorage.js: 35983 (WebInspector.DOMStorage.addDOMStorage): 35984 (WebInspector.DOMStorage.selectDOMStorage): 35985 (WebInspector.DOMStorage.updateDOMStorage): 35986 * inspector/front-end/Database.js: 35987 (WebInspector.Database.prototype.executeSql): 35988 (WebInspector.Database.addDatabase): 35989 (WebInspector.Database.selectDatabase): 35990 (WebInspector.Database.sqlTransactionSucceeded): 35991 (WebInspector.Database.sqlTransactionFailed): 35992 * inspector/front-end/FileSystemView.js: 35993 (WebInspector.FileSystem.didGetFileSystemPath): 35994 (WebInspector.FileSystem.didGetFileSystemError): 35995 (WebInspector.FileSystem.didGetFileSystemDisabled): 35996 * inspector/front-end/NetworkItemView.js: 35997 (WebInspector.NetworkItemView): 35998 * inspector/front-end/NetworkManager.js: Added. 35999 (WebInspector.NetworkManager): 36000 (WebInspector.NetworkManager.prototype._createResource): 36001 (WebInspector.NetworkManager.prototype.identifierForInitialRequest): 36002 (WebInspector.NetworkManager.prototype.willSendRequest): 36003 (WebInspector.NetworkManager.prototype._updateResourceWithRequest): 36004 (WebInspector.NetworkManager.prototype._appendRedirect): 36005 (WebInspector.NetworkManager.prototype.markResourceAsCached): 36006 (WebInspector.NetworkManager.prototype.didReceiveResponse): 36007 (WebInspector.NetworkManager.prototype._updateResourceWithResponse): 36008 (WebInspector.NetworkManager.prototype.didReceiveContentLength): 36009 (WebInspector.NetworkManager.prototype.didFinishLoading): 36010 (WebInspector.NetworkManager.prototype.didFailLoading): 36011 (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache): 36012 (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource): 36013 (WebInspector.NetworkManager.prototype.setInitialContent): 36014 (WebInspector.NetworkManager.prototype.didCommitLoadForFrame): 36015 (WebInspector.NetworkManager.prototype.frameDetachedFromParent): 36016 (WebInspector.NetworkManager.prototype.didCreateWebSocket): 36017 (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest): 36018 (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse): 36019 (WebInspector.NetworkManager.prototype.didCloseWebSocket): 36020 (WebInspector.NetworkManager.prototype._processCachedResources): 36021 (WebInspector.NetworkManager.prototype._addFramesRecursively): 36022 (WebInspector.NetworkManager.requestContent): 36023 * inspector/front-end/NetworkPanel.js: 36024 (WebInspector.NetworkPanel.prototype.refreshResource): 36025 * inspector/front-end/Resource.js: 36026 (WebInspector.Resource.prototype._innerRequestContent): 36027 * inspector/front-end/ResourceManager.js: Removed. 36028 * inspector/front-end/ResourceTreeModel.js: Added. 36029 (WebInspector.ResourceTreeModel): 36030 (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): 36031 (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): 36032 (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent): 36033 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): 36034 (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): 36035 (WebInspector.ResourceTreeModel.prototype._clearResources): 36036 (WebInspector.ResourceTreeModel.prototype.forAllResources): 36037 (WebInspector.ResourceTreeModel.prototype.addConsoleMessage): 36038 (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages): 36039 (WebInspector.ResourceTreeModel.prototype._callForFrameResources): 36040 (WebInspector.ResourceTreeModel.prototype.resourceForURL): 36041 (WebInspector.ResourceTreeModel.prototype.bindResourceURL): 36042 (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): 36043 (WebInspector.ResourceTreeModel.createResource): 36044 * inspector/front-end/ResourceView.js: 36045 (WebInspector.ResourceView.createResourceView): 36046 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 36047 (WebInspector.ResourceView.resourceViewForResource): 36048 (WebInspector.ResourceView.recreateResourceView): 36049 (WebInspector.ResourceView.existingResourceViewForResource): 36050 * inspector/front-end/ResourcesPanel.js: 36051 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 36052 (WebInspector.ResourcesPanel.prototype.showSourceLine): 36053 (WebInspector.ResourcesPanel.prototype.showResource): 36054 (WebInspector.ResourcesPanel.prototype.get searchableViews.callback): 36055 (WebInspector.ResourcesPanel.prototype.get searchableViews): 36056 (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): 36057 (WebInspector.FrameResourceTreeElement.prototype._contentChanged): 36058 * inspector/front-end/ScriptsPanel.js: 36059 (WebInspector.ScriptsPanel.prototype._addScript): 36060 (WebInspector.ScriptsPanel.prototype.reset): 36061 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): 36062 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 36063 * inspector/front-end/WebKit.qrc: 36064 * inspector/front-end/inspector.html: 36065 * inspector/front-end/inspector.js: 36066 (WebInspector.forAllResources): 36067 (WebInspector.resourceForURL): 36068 36069 2010-12-27 Helder Correia <helder (a] sencha.com> 36070 36071 Reviewed by Ariya Hidayat. 36072 36073 ContextShadow should use AffineTransform instead of TransformationMatrix 36074 https://bugs.webkit.org/show_bug.cgi?id=51661 36075 36076 ContextShadow needs the CTM to make sure shadows are not affected by 36077 transformations when drawing on a canvas. AffineTransform is sufficient 36078 in this case. 36079 36080 Existing tests: fast/canvas/canvas*shadow*html 36081 36082 * platform/graphics/ContextShadow.cpp: 36083 (WebCore::ContextShadow::mustUseContextShadow): 36084 (WebCore::ContextShadow::adjustBlurDistance): 36085 (WebCore::ContextShadow::calculateLayerBoundingRect): 36086 * platform/graphics/ContextShadow.h: 36087 * platform/graphics/cairo/ContextShadowCairo.cpp: 36088 (WebCore::ContextShadow::getTransformationMatrixFromContext): 36089 * platform/graphics/qt/ContextShadowQt.cpp: 36090 (WebCore::ContextShadow::getTransformationMatrixFromContext): 36091 36092 2010-12-27 Daniel Bates <dbates (a] rim.com> 36093 36094 Reviewed by Antonio Gomes. 36095 36096 Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() 36097 https://bugs.webkit.org/show_bug.cgi?id=51634 36098 36099 Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight() 36100 to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively. 36101 This will make the names of these getters consistent with the naming convention we use for 36102 getters. 36103 36104 * html/HTMLBodyElement.cpp: 36105 (WebCore::HTMLBodyElement::insertedIntoDocument): 36106 * html/HTMLFrameElementBase.h: 36107 (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth(). 36108 (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight(). 36109 * loader/SubframeLoader.cpp: 36110 (WebCore::SubframeLoader::loadSubframe): 36111 * page/FrameView.cpp: 36112 (WebCore::FrameView::init): 36113 * rendering/RenderEmbeddedObject.cpp: 36114 (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh 36115 to marginWidth and marginHeight, respectively. This makes the names of these variables 36116 consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init(). 36117 * rendering/RenderFrame.cpp: 36118 (WebCore::RenderFrame::viewCleared): Ditto. 36119 36120 2010-12-27 Martin Robinson <mrobinson (a] igalia.com> 36121 36122 Reviewed by Daniel Bates. 36123 36124 [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized 36125 https://bugs.webkit.org/show_bug.cgi?id=51654 36126 36127 Properly initialize slider members of RenderThemeGtk. This can lead to test crashes 36128 on some debug configurations. 36129 36130 No new tests. This is already covered by current slider tests. It isn't crashing on 36131 the bots, but it does crash locally. 36132 36133 * platform/gtk/RenderThemeGtk.cpp: 36134 (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members. 36135 36136 2010-12-27 Anton Muhin <antonm (a] chromium.org> 36137 36138 Reviewed by David Levin. 36139 36140 [v8] Remove unused methods to protect/unprotect wrappers during garbage collection 36141 https://bugs.webkit.org/show_bug.cgi?id=51648 36142 36143 * bindings/v8/ScriptController.cpp: 36144 * bindings/v8/ScriptController.h: 36145 * bindings/v8/V8GCController.cpp: 36146 (WebCore::V8GCController::gcEpilogue): 36147 * bindings/v8/V8GCController.h: 36148 36149 2010-12-27 Yury Semikhatsky <yurys (a] chromium.org> 36150 36151 Unreviewed. Removed trailing spaces from a localized 36152 string to make it the same as the one used in the code. 36153 36154 * English.lproj/localizedStrings.js: 36155 36156 2010-12-27 Yael Aharon <yael.aharon (a] nokia.com> 36157 36158 Reviewed by Eric Seidel. 36159 36160 Browser is failing 16 baseline test from Selector API Test Suite 36161 https://bugs.webkit.org/show_bug.cgi?id=42968 36162 36163 Throw an exception if there is no argument to querySelector or 36164 querySelectorAll. This replaces the current behavior of passing the string 36165 "undefined" as the argument. 36166 36167 No new tests, just updating the existing results for 36168 fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml. 36169 36170 * dom/Document.idl: 36171 * dom/DocumentFragment.idl: 36172 * dom/Element.idl: 36173 36174 2010-12-26 MORITA Hajime <morrita (a] google.com> 36175 36176 Reviewed by Dan Bernstein. 36177 36178 For box-shadow, non-primary shadows should have specified radii. 36179 https://bugs.webkit.org/show_bug.cgi?id=51386 36180 36181 On paintBoxShadow(), the spread value accidentally accumulated accidentally 36182 during the loop, which should be applied individually for radius of each shadow. 36183 This change makes the radii for rects computed for each shadow. 36184 36185 Test: fast/box-shadow/spread-multiple-normal.html 36186 36187 * rendering/RenderBoxModelObject.cpp: 36188 (WebCore::RenderBoxModelObject::paintBoxShadow): 36189 36190 2010-12-26 Patrick Gansterer <paroga (a] webkit.org> 36191 36192 Reviewed by Eric Seidel. 36193 36194 Improve output of HTML parser benchmark 36195 https://bugs.webkit.org/show_bug.cgi?id=51611 36196 36197 Calculate and show median, min and max values. 36198 36199 * benchmarks/parser/html-parser.html: 36200 36201 2010-12-26 Abhishek Arya <inferno (a] chromium.org> 36202 36203 Reviewed by Simon Fraser. 36204 36205 Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 36206 https://bugs.webkit.org/show_bug.cgi?id=48772 36207 36208 Test: fast/multicol/renderer-positioned-assert-crash.html 36209 36210 * rendering/RenderLayer.cpp: 36211 (WebCore::RenderLayer::paintPaginatedChildLayer): 36212 (WebCore::RenderLayer::hitTestPaginatedChildLayer): 36213 36214 2010-12-25 Peter Rybin <peter.rybin (a] gmail.com> 36215 36216 Reviewed by Adam Barth. 36217 36218 Adds currentColumn (and currentLine) to SegmentedString. Switches 36219 HTMLTreeBuilder to HTMLDocumentParser::textPosition when it 36220 needs position for a <script> tag. 36221 36222 SegmentedString should provide column position 36223 https://bugs.webkit.org/show_bug.cgi?id=51311 36224 36225 * html/parser/HTMLDocumentParser.cpp: 36226 (WebCore::HTMLDocumentParser::HTMLDocumentParser): 36227 (WebCore::HTMLDocumentParser::textPosition): 36228 * html/parser/HTMLInputStream.h: 36229 (WebCore::HTMLInputStream::current): 36230 (WebCore::InsertionPointRecord::InsertionPointRecord): 36231 (WebCore::InsertionPointRecord::~InsertionPointRecord): 36232 * html/parser/HTMLTreeBuilder.cpp: 36233 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): 36234 (WebCore::HTMLTreeBuilder::processScriptStartTag): 36235 * html/parser/HTMLTreeBuilder.h: 36236 (WebCore::HTMLTreeBuilder::create): 36237 * platform/text/SegmentedString.cpp: 36238 (WebCore::SegmentedString::operator=): 36239 (WebCore::SegmentedString::numberOfCharactersConsumedSlow): 36240 (WebCore::SegmentedString::advanceSlowCase): 36241 (WebCore::SegmentedString::currentLine): 36242 (WebCore::SegmentedString::currentColumn): 36243 (WebCore::SegmentedString::setCurrentPosition): 36244 * platform/text/SegmentedString.h: 36245 (WebCore::SegmentedString::SegmentedString): 36246 (WebCore::SegmentedString::advancePastNewline): 36247 (WebCore::SegmentedString::advance): 36248 (WebCore::SegmentedString::numberOfCharactersConsumed): 36249 36250 2010-12-25 Andreas Kling <kling (a] webkit.org> 36251 36252 Reviewed by Kenneth Rohde Christiansen. 36253 36254 GraphicsContext: Don't pass StrokeStyle (enum) as const reference 36255 https://bugs.webkit.org/show_bug.cgi?id=51608 36256 36257 * platform/graphics/GraphicsContext.cpp: 36258 (WebCore::GraphicsContext::setStrokeStyle): 36259 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36260 (WebCore::GraphicsContext::adjustLineToPixelBoundaries): 36261 * platform/graphics/GraphicsContext.h: 36262 * platform/graphics/cairo/GraphicsContextCairo.cpp: 36263 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36264 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 36265 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36266 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 36267 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36268 * platform/graphics/openvg/PainterOpenVG.cpp: 36269 (WebCore::PainterOpenVG::setStrokeStyle): 36270 * platform/graphics/openvg/PainterOpenVG.h: 36271 * platform/graphics/qt/GraphicsContextQt.cpp: 36272 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36273 * platform/graphics/skia/GraphicsContextSkia.cpp: 36274 (WebCore::GraphicsContext::setPlatformStrokeStyle): 36275 36276 2010-12-24 Dan Bernstein <mitz (a] apple.com> 36277 36278 Reviewed by Alexey Proskuryakov. 36279 36280 REGRESSION (r74648): XHR layout test failures 36281 https://bugs.webkit.org/show_bug.cgi?id=51603 36282 36283 Reverted r74648. 36284 36285 * WebCore.exp.in: 36286 36287 2010-12-24 Dan Bernstein <mitz (a] apple.com> 36288 36289 Try to fix the Qt build after r74648. 36290 36291 * WebCore.gypi: 36292 * WebCore.pro: 36293 * platform/network/qt/CredentialStorageQt.cpp: Added. 36294 (WebCore::CredentialStorage::getFromPersistentStorage): 36295 36296 2010-12-24 Simon Fraser <simon.fraser (a] apple.com> 36297 36298 Reviewed by Dan Bernstein. 36299 36300 CSSStyleSelector cleanup 36301 https://bugs.webkit.org/show_bug.cgi?id=51597 36302 36303 Make some methods const. Add assertion to checkOneSelector, with the 36304 intention of later removing the if (!e) check (this is hot code). 36305 36306 * css/CSSStyleSelector.cpp: 36307 (WebCore::CSSStyleSelector::locateCousinList): 36308 (WebCore::CSSStyleSelector::canShareStyleWithElement): 36309 (WebCore::CSSStyleSelector::locateSharedStyle): 36310 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 36311 (WebCore::CSSStyleSelector::mmLength): 36312 (WebCore::CSSStyleSelector::inchLength): 36313 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 36314 (WebCore::CSSStyleSelector::hasSelectorForAttribute): 36315 * css/CSSStyleSelector.h: 36316 (WebCore::CSSStyleSelector::fontSelector): 36317 36318 2010-12-24 Dan Bernstein <mitz (a] apple.com> 36319 36320 Reviewed by Anders Carlsson. 36321 36322 <rdar://problem/8758386> The web process uses its own credential storage 36323 https://bugs.webkit.org/show_bug.cgi?id=51599 36324 36325 * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(), 36326 and Credential::isEmpty(). 36327 36328 2010-12-24 Yury Semikhatsky <yurys (a] chromium.org> 36329 36330 Reviewed by Darin Adler. 36331 36332 [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp} 36333 https://bugs.webkit.org/show_bug.cgi?id=51595 36334 36335 * WebCore.gypi: 36336 * bindings/v8/V8DOMWrapper.cpp: 36337 * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp. 36338 (WebCore::V8EventListener::V8EventListener): 36339 (WebCore::V8EventListener::getListenerFunction): 36340 (WebCore::V8EventListener::callListenerFunction): 36341 * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h. 36342 (WebCore::V8EventListener::create): 36343 * bindings/v8/V8EventListenerList.h: 36344 * bindings/v8/V8WorkerContextEventListener.h: 36345 * bindings/v8/custom/V8DOMWindowCustom.cpp: 36346 * bindings/v8/custom/V8LocationCustom.cpp: 36347 * bindings/v8/custom/V8NodeCustom.cpp: 36348 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 36349 36350 2010-12-24 Carlos Garcia Campos <cgarcia (a] igalia.com> 36351 36352 Reviewed by Xan Lopez. 36353 36354 [GTK] Show current time / total in media player 36355 https://bugs.webkit.org/show_bug.cgi?id=51535 36356 36357 * css/mediaControlsGtk.css: 36358 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 36359 * platform/gtk/RenderThemeGtk.cpp: 36360 (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime): 36361 (WebCore::RenderThemeGtk::paintMediaCurrentTime): 36362 * platform/gtk/RenderThemeGtk.h: 36363 36364 2010-12-24 Jan Erik Hanssen <jhanssen (a] sencha.com> 36365 36366 Reviewed by Eric Seidel. 36367 36368 Clean up CSSRuleData in CSSStyleSelector.h 36369 https://bugs.webkit.org/show_bug.cgi?id=27753 36370 36371 Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file. 36372 36373 * css/CSSStyleSelector.cpp: 36374 (WebCore::CSSRuleData::CSSRuleData): 36375 (WebCore::CSSRuleData::~CSSRuleData): 36376 (WebCore::CSSRuleData::position): 36377 (WebCore::CSSRuleData::rule): 36378 (WebCore::CSSRuleData::selector): 36379 (WebCore::CSSRuleData::next): 36380 (WebCore::CSSRuleDataList::CSSRuleDataList): 36381 (WebCore::CSSRuleDataList::~CSSRuleDataList): 36382 (WebCore::CSSRuleDataList::first): 36383 (WebCore::CSSRuleDataList::last): 36384 (WebCore::CSSRuleDataList::append): 36385 * css/CSSStyleSelector.h: 36386 36387 2010-12-24 Yury Semikhatsky <yurys (a] chromium.org> 36388 36389 Unreviewed. Fix compilation on Windows. 36390 36391 * inspector/InspectorStyleSheet.cpp: 36392 (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor 36393 * inspector/InspectorStyleSheet.h: 36394 36395 2010-12-24 Yury Semikhatsky <yurys (a] chromium.org> 36396 36397 Reviewed by Darin Adler. 36398 36399 inspector/debugger-step-out.html crashing intermittently in the bots 36400 https://bugs.webkit.org/show_bug.cgi?id=50868 36401 36402 Use RefPtr rather instead of raw pointers when keeping references 36403 to refcounted objects. 36404 36405 * inspector/InspectorCSSAgent.cpp: 36406 (WebCore::InspectorCSSAgent::getStylesForNode2): 36407 (WebCore::InspectorCSSAgent::getComputedStyleForNode2): 36408 * inspector/InspectorStyleSheet.cpp: 36409 (WebCore::InspectorStyle::create): 36410 (WebCore::InspectorStyle::InspectorStyle): 36411 (WebCore::InspectorStyle::buildObjectForStyle): 36412 (WebCore::InspectorStyle::setPropertyText): 36413 (WebCore::InspectorStyle::toggleProperty): 36414 (WebCore::InspectorStyle::styleText): 36415 (WebCore::InspectorStyle::populateAllProperties): 36416 (WebCore::InspectorStyle::replacePropertyInStyleText): 36417 (WebCore::InspectorStyleSheet::create): 36418 (WebCore::InspectorStyleSheet::InspectorStyleSheet): 36419 (WebCore::InspectorStyleSheetForInlineStyle::create): 36420 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): 36421 (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): 36422 * inspector/InspectorStyleSheet.h: 36423 (WebCore::InspectorStyle::cssStyle): 36424 (WebCore::InspectorStyleSheet::pageStyleSheet): 36425 36426 2010-12-24 Justin Schuh <jschuh (a] chromium.org> 36427 36428 Reviewed by Nikolas Zimmermann. 36429 36430 SVGElementInstance::m_useElement should be cleared when use element is removed from document 36431 https://bugs.webkit.org/show_bug.cgi?id=51486 36432 36433 Test: svg/custom/use-instanceRoot-with-use-removed.svg 36434 36435 * svg/SVGElementInstance.cpp: 36436 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): 36437 * svg/SVGElementInstance.h: 36438 (WebCore::SVGElementInstance::clearUseElement): 36439 * svg/SVGUseElement.cpp: 36440 (WebCore::SVGUseElement::removedFromDocument): 36441 (WebCore::ShadowTreeUpdateBlocker::if): 36442 (WebCore::SVGUseElement::detachInstance): 36443 (WebCore::SVGUseElement::detach): 36444 * svg/SVGUseElement.h: 36445 36446 2010-12-23 Joseph Pecoraro <joepeck (a] webkit.org> 36447 36448 Reviewed by Yury Semikhatsky. 36449 36450 Web Inspector: Missing Localized Strings 36451 https://bugs.webkit.org/show_bug.cgi?id=51542 36452 36453 Added missing strings: "WebSocket", "Frames", "Text", "Transfer", 36454 "Preserve Log upon Navigation", and "Go to Line". 36455 36456 * English.lproj/localizedStrings.js: 36457 36458 2010-12-24 Alexander Pavlov <apavlov (a] chromium.org> 36459 36460 Reviewed by Yury Semikhatsky. 36461 36462 Web Inspector: Inline HTML style property out of sync with element.style in Sidebar 36463 https://bugs.webkit.org/show_bug.cgi?id=51478 36464 36465 Now the element attribute modifications (including "style") are tracked, which results in the 36466 source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend) 36467 on the "style" attribute modification through the Elements tree. Also, it appears that 36468 a complete "style" attribute removal destroys the inline style declaration 36469 (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash). 36470 36471 Test: inspector/elements-delete-inline-style.html 36472 36473 * inspector/InspectorCSSAgent.cpp: 36474 (WebCore::InspectorCSSAgent::didModifyDOMAttr): 36475 * inspector/InspectorCSSAgent.h: 36476 * inspector/InspectorDOMAgent.cpp: 36477 (WebCore::InspectorDOMAgent::didModifyDOMAttr): 36478 * inspector/InspectorDOMAgent.h: 36479 * inspector/InspectorStyleSheet.cpp: 36480 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): 36481 (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute): 36482 (WebCore::InspectorStyleSheetForInlineStyle::text): 36483 (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): 36484 (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): 36485 * inspector/InspectorStyleSheet.h: 36486 * inspector/front-end/ElementsTreeOutline.js: 36487 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 36488 36489 2010-12-24 Noel Gordon <noel.gordon (a] gmail.com> 36490 36491 Reviewed by Andreas Kling. 36492 36493 [chromium] Fix a style nit in the JPEG encoder 36494 https://bugs.webkit.org/show_bug.cgi?id=51574 36495 36496 * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone. 36497 36498 2010-12-23 Alexander Pavlov <apavlov (a] chromium.org> 36499 36500 Reviewed by Maciej Stachowiak. 36501 36502 Web Inspector: CSS shorthand properties expand unnecessarily 36503 https://bugs.webkit.org/show_bug.cgi?id=36304 36504 36505 "border-radius" is a shorthand property that has a "non-standard" format and longhands, see 36506 http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the 36507 standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method. 36508 This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value 36509 appropriately when adding implicit longhands, thus they were added as normal properties 36510 found in the CSS (neither implicit, nor longhands). This is now fixed. 36511 36512 * css/CSSParser.cpp: 36513 (WebCore::CSSParser::parseBorderRadius): 36514 36515 2010-12-24 Justin Schuh <jschuh (a] chromium.org> 36516 36517 Reviewed by Darin Adler. 36518 36519 setTargetAttributeAnimatedValue should check for a null shadowTreeElement. 36520 https://bugs.webkit.org/show_bug.cgi?id=51576 36521 36522 Disallowed elements may be pruned from the shadow tree, leaving a null 36523 shadowTreeElement. We should check for that before setting attributes. 36524 36525 Test: svg/custom/animate-disallowed-use-element.svg 36526 36527 * svg/SVGAnimationElement.cpp: 36528 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 36529 36530 2010-12-24 Evan Martin <evan (a] chromium.org> 36531 36532 Reviewed by Darin Adler. 36533 36534 TextMetrics::width is an integer, but the member is a float 36535 https://bugs.webkit.org/show_bug.cgi?id=51566 36536 36537 Change the return type to a float. 36538 36539 No tests, fixing a compiler warning. 36540 (I was unable to produce a difference in the values exposed to pages 36541 with a float versus the previous conversion to an integer.) 36542 36543 * html/TextMetrics.h: 36544 (WebCore::TextMetrics::width): 36545 36546 2010-12-24 Ryuan Choi <ryuan.choi (a] samsung.com> 36547 36548 Reviewed by Kenneth Rohde Christiansen. 36549 36550 [EFL] Add option to enable Touch Events. 36551 https://bugs.webkit.org/show_bug.cgi?id=49125 36552 36553 Add files for EFL to support TOUCH_EVENTS. 36554 36555 * CMakeLists.txt: 36556 * CMakeListsEfl.txt: 36557 * platform/PlatformTouchEvent.h: Add EFL related constructor. 36558 * platform/PlatformTouchPoint.h: ditto. 36559 * platform/efl/PlatformTouchEventEfl.cpp: Added. 36560 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 36561 * platform/efl/PlatformTouchPointEfl.cpp: Added. 36562 (WebCore::PlatformTouchPoint::PlatformTouchPoint): 36563 36564 2010-12-24 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 36565 36566 Reviewed by Kenneth Rohde Christiansen. 36567 36568 [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension() 36569 https://bugs.webkit.org/show_bug.cgi?id=51457 36570 36571 WebKit EFL can't play html5 audio because of wrong mime type checking. 36572 So, 'application/octet-stream' is changed with an empty string. 36573 36574 * platform/efl/MIMETypeRegistryEfl.cpp: 36575 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 36576 Returns an empty string instead of application/octet-stream when it can't find proper mime type. 36577 36578 2010-12-24 Justin Schuh <jschuh (a] chromium.org> 36579 36580 Reviewed by Darin Adler. 36581 36582 SVGFontFaceElement::rebuildFontFace() should exit when not in document 36583 https://bugs.webkit.org/show_bug.cgi?id=51571 36584 36585 We were hitting a NULL deref crash. Since most of the callers checked 36586 inDocument() anyway, I moved it into the start of rebuildFontFace. 36587 36588 Test: svg/custom/use-invalid-font-face.svg 36589 36590 * svg/SVGFontFaceElement.cpp: 36591 (WebCore::SVGFontFaceElement::parseMappedAttribute): 36592 (WebCore::SVGFontFaceElement::rebuildFontFace): 36593 (WebCore::SVGFontFaceElement::childrenChanged): 36594 36595 2010-12-24 Justin Schuh <jschuh (a] chromium.org> 36596 36597 Reviewed by Darin Adler. 36598 36599 Remove unnecessary check in CSSCanvasValue::canvasDestroyed(). 36600 https://bugs.webkit.org/show_bug.cgi?id=51564 36601 36602 This check was duplicating an ASSERT for a case fixed in r73927. 36603 Now that the bug is fixed the check is no longer necessary. 36604 36605 Removing dead code, so no new tests needed. 36606 36607 * css/CSSCanvasValue.cpp: 36608 (WebCore::CSSCanvasValue::canvasDestroyed): 36609 36610 2010-12-23 Evan Martin <evan (a] chromium.org> 36611 36612 Reviewed by Darin Adler. 36613 36614 ViewportArguments.h uses an enum to intialize a bool 36615 https://bugs.webkit.org/show_bug.cgi?id=50982 36616 36617 Initialize userScalable to true, rather than -1. 36618 No tests; fixes a compiler warning. 36619 36620 * dom/ViewportArguments.h: 36621 (WebCore::ViewportArguments::ViewportArguments): 36622 36623 2010-12-23 Jan Erik Hanssen <jhanssen (a] sencha.com> 36624 36625 Reviewed by Adam Barth. 36626 36627 [Qt] User name/password stripped from URLs 36628 https://bugs.webkit.org/show_bug.cgi?id=36232 36629 36630 If a username but no password or no username but a password is present 36631 in a URL, QtWebKit won't send any authentication information down to Qt 36632 as it should. 36633 36634 Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html 36635 http/tests/xmlhttprequest/basic-auth-nouser.html 36636 36637 * platform/network/qt/ResourceHandleQt.cpp: 36638 (WebCore::ResourceHandle::start): 36639 (WebCore::ResourceHandle::loadResourceSynchronously): 36640 36641 2010-12-23 Ryosuke Niwa <rniwa (a] webkit.org> 36642 36643 Reviewed by Darin Adler. 36644 36645 queryCommandValue("FormatBlock") does not respect editing boundaries 36646 https://bugs.webkit.org/show_bug.cgi?id=51219 36647 36648 Fixed the bug by checking the element we found in elementForFormatBlockCommand 36649 does not contain the editable root. 36650 36651 * editing/FormatBlockCommand.cpp: 36652 (WebCore::FormatBlockCommand::elementForFormatBlockCommand): 36653 36654 2010-12-23 Ryosuke Niwa <rniwa (a] webkit.org> 36655 36656 Reviewed by Darin Adler. 36657 36658 FormatBlock doesn't preserve typing style but it should 36659 https://bugs.webkit.org/show_bug.cgi?id=51140 36660 36661 Fixed the bug by making preserveTypingStyle return true. 36662 36663 Test: editing/execCommand/format-block-typing-style.html 36664 36665 * editing/FormatBlockCommand.h: 36666 (WebCore::FormatBlockCommand::preservesTypingStyle): 36667 36668 2010-12-23 Jessie Berlin <jberlin (a] apple.com> 36669 36670 Reviewed by Sam Weinig. 36671 36672 Need WebKit2 API to create a SecurityOrigin from protocol, host, and port 36673 https://bugs.webkit.org/show_bug.cgi?id=51563 36674 36675 Add SecurityOrigin::create(const String& protocol, const String& host, int port). 36676 36677 * WebCore.exp.in: 36678 Export the symbols for WebCore::SecurityOrigin::create(String, String, int). 36679 36680 * page/SecurityOrigin.cpp: 36681 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): 36682 Use the constant MaxAllowedPort. 36683 (WebCore::SecurityOrigin::create): 36684 Sanitizing based off of that done in createFromDatabaseIdentifier. 36685 * page/SecurityOrigin.h: 36686 36687 2010-12-23 Patrick Gansterer <paroga (a] webkit.org> 36688 36689 Unreviewed build fix for WinCE after r73802. 36690 36691 Reapply r70812: 36692 Port ContextMenuItemWin.cpp to WinCE 36693 https://bugs.webkit.org/show_bug.cgi?id=48407 36694 36695 * platform/win/ContextMenuItemWin.cpp: 36696 36697 2010-12-23 Adam Barth <abarth (a] webkit.org> 36698 36699 Remove include of non-existant file. 36700 36701 * bindings/v8/custom/V8DOMWindowCustom.cpp: 36702 36703 2010-12-23 Ryosuke Niwa <rniwa (a] webkit.org> 36704 36705 Reviewed by Darin Adler. 36706 36707 Selection becomes stale when CharacterData is manipulated directly 36708 https://bugs.webkit.org/show_bug.cgi?id=51389 36709 36710 The bug was caused by SelectionController's not adjusting selection when CharacterData's 36711 m_data is modified by its API. 36712 36713 Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in 36714 CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to 36715 textWillBeReplaced because inserting, replacing, or removing data may require moving 36716 the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement). 36717 36718 Also fixed the condition for determining whether or not a node intersects the selection 36719 in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition 36720 failed to recognize certain cases when selection started and ended with non-zero offsets. 36721 36722 Tests: editing/selection/character-data-mutation-crash.html 36723 editing/selection/character-data-mutation.html 36724 36725 * dom/CharacterData.cpp: 36726 (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate. 36727 (WebCore::CharacterData::appendData): Ditto. 36728 (WebCore::CharacterData::insertData): Ditto. 36729 (WebCore::CharacterData::deleteData): Ditto. 36730 (WebCore::CharacterData::replaceData): Ditto. 36731 (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list, 36732 and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced. 36733 * dom/CharacterData.h: 36734 * editing/SelectionController.cpp: 36735 (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines. 36736 (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved. 36737 (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved; 36738 fixed the logic to figure out whether a node is inside the range or not. 36739 (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added. 36740 (WebCore::SelectionController::textWillBeReplaced): Added. 36741 * editing/SelectionController.h: 36742 36743 2010-12-23 Adam Barth <abarth (a] webkit.org> 36744 36745 Reviewed by Darin Adler. 36746 36747 Remove unneeded V8 bindings files 36748 https://bugs.webkit.org/show_bug.cgi?id=51570 36749 36750 * WebCore.gypi: 36751 * bindings/generic/BindingDOMWindow.h: Removed. 36752 * bindings/v8/specialization/V8BindingDOMWindow.h: Removed. 36753 36754 2010-12-23 Dan Bernstein <mitz (a] apple.com> 36755 36756 Build fix. 36757 36758 * editing/EditorCommand.cpp: 36759 (WebCore::enabledDismissCorrectionPanel): 36760 36761 2010-12-23 Darin Adler <darin (a] apple.com> 36762 36763 Try to fix crash seen on GTK bot. 36764 36765 * editing/EditorCommand.cpp: 36766 (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580. 36767 36768 * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file. 36769 36770 2010-12-23 Sheriff Bot <webkit.review.bot (a] gmail.com> 36771 36772 Unreviewed, rolling out r74561. 36773 http://trac.webkit.org/changeset/74561 36774 https://bugs.webkit.org/show_bug.cgi?id=51565 36775 36776 "Broke Chromium UI tests on Vista" (Requested by kbr_google on 36777 #webkit). 36778 36779 * platform/graphics/chromium/ImageLayerChromium.cpp: 36780 (WebCore::ImageLayerChromium::updateContentsIfDirty): 36781 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 36782 (WebCore::GraphicsContext3D::getImageData): 36783 36784 2010-12-23 Mihai Parparita <mihaip (a] chromium.org> 36785 36786 Reviewed by Kent Tamura. 36787 36788 [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT 36789 https://bugs.webkit.org/show_bug.cgi?id=51507 36790 36791 Adds WebThemeEngine for the Mac (it already has parallel definitions for 36792 Windows and Linux) so that scrollbar thumb rendering can be overridden 36793 for the DRT (to be consistent with the NSScroller-based rendering 36794 used by the Mac port). 36795 36796 No new tests since the functionality is not exposed yet. Eventually will 36797 result in the Chromium/Mac port being able to use the same pixel 36798 baselines for layout tests as the Mac port. 36799 36800 * platform/chromium/ChromiumBridge.h: 36801 * platform/chromium/ScrollbarThemeChromiumMac.mm: 36802 (WebCore::scrollbarStateToThemeState): 36803 (WebCore::ScrollbarThemeChromiumMac::paint): 36804 36805 2010-12-23 Darin Adler <darin (a] apple.com> 36806 36807 Reviewed by Sam Weinig. 36808 36809 WKView should not try to do asynchronous validation for selectors that are not editor commands 36810 https://bugs.webkit.org/show_bug.cgi?id=51555 36811 36812 * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding. 36813 * editing/Editor.h: Reordered arguments in the Editor::Command constructor 36814 and the data members too so the frame is last. Added 36815 commandIsSupportedFromMenuOrKeyBinding. 36816 36817 * editing/EditorCommand.cpp: 36818 (WebCore::supported): Removed the EditorCommandSource argument. These 36819 functions are now only used when called from DOM. 36820 (WebCore::supportedFromMenuOrKeyBinding): Ditto. 36821 (WebCore::supportedCopyCut): Ditto. 36822 (WebCore::supportedPaste): Ditto. 36823 (WebCore::enabledDismissCorrectionPanel): Changed the supported function to 36824 an enabled function. It was incorrect to say that this is "supported" only 36825 when the correction panel is up. Correct to say that it is "enabled" only 36826 then. And also probably OK to enable it even when the selection is not in 36827 editable text, as long as the panel is up. 36828 (WebCore::createCommandMap): Moved conditional commands out of the main 36829 array into a separate section at the end. 36830 (WebCore::internalCommand): Added. 36831 (WebCore::Editor::command): Changed to use the new internalCommand function 36832 and simplified by relying on the null check in the Command constructor. 36833 (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added. 36834 (WebCore::Editor::Command::Command): Removed unneeded initialization of 36835 m_source, which is never looked at if m_command is 0. Added feature of 36836 passing a null command pointer to the non-default constructor. 36837 (WebCore::Editor::Command::isSupported): Changed to only call the 36838 per-command isSupported function when the command source is DOM. 36839 Accordingly that function is now called isSupportedFromDOM. 36840 36841 2010-12-23 Matthew Delaney <mdelaney (a] apple.com> 36842 36843 Reviewed by Simon Fraser. 36844 36845 Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing 36846 https://bugs.webkit.org/show_bug.cgi?id=51560 36847 36848 No new tests. 36849 36850 * platform/graphics/ca/GraphicsLayerCA.cpp: 36851 (WebCore::GraphicsLayerCA::setAcceleratesDrawing): 36852 36853 2010-12-23 Jan Erik Hanssen <jhanssen (a] sencha.com> 36854 36855 Reviewed by Andreas Kling. 36856 36857 [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown 36858 https://bugs.webkit.org/show_bug.cgi?id=35635 36859 36860 Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta> 36861 tag informing the OS that the data is in UTF-8 format. 36862 36863 * platform/qt/PasteboardQt.cpp: 36864 (WebCore::Pasteboard::writeSelection): 36865 36866 2010-12-23 Justin Schuh <jschuh (a] chromium.org> 36867 36868 Reviewed by Eric Seidel. 36869 36870 CSSCursorImageValue destructor should clear referenced element. 36871 https://bugs.webkit.org/show_bug.cgi?id=51417 36872 36873 Calls correct method to clear image and renames method to avoid future confusion. 36874 36875 Test: svg/css/cursor-image-replace.svg 36876 36877 * css/CSSCursorImageValue.cpp: 36878 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 36879 * svg/SVGElement.cpp: 36880 (WebCore::SVGElement::cursorImageValueRemoved): 36881 * svg/SVGElement.h: 36882 36883 2010-12-22 Sam Weinig <sam (a] webkit.org> 36884 36885 Reviewed by Darin Adler. 36886 36887 WebKit2 needs to mirror the frame tree in the UIProcess 36888 https://bugs.webkit.org/show_bug.cgi?id=51546 36889 36890 - Add client functions to notify that a frame has been added or 36891 removed from the page cache. 36892 36893 * history/CachedFrame.cpp: 36894 (WebCore::CachedFrameBase::restore): 36895 (WebCore::CachedFrame::CachedFrame): 36896 * history/CachedFrame.h: 36897 * loader/EmptyClients.h: 36898 (WebCore::EmptyFrameLoaderClient::didSaveToPageCache): 36899 (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache): 36900 * loader/FrameLoaderClient.h: 36901 36902 2010-12-22 Matthew Delaney <mdelaney (a] apple.com> 36903 36904 Reviewed by Simon Fraser. 36905 36906 Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces 36907 This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE) 36908 https://bugs.webkit.org/show_bug.cgi?id=51279 36909 36910 * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc 36911 * html/canvas/CanvasRenderingContext2D.cpp: Use new flag 36912 * platform/graphics/ImageBuffer.h: Use new flag 36913 * platform/graphics/cg/ImageBufferCG.cpp: Use new flag 36914 36915 2010-12-20 Adrienne Walker <enne (a] google.com> 36916 36917 Reviewed by Kenneth Russell. 36918 36919 [chromium] Tile root layer of the compositor. 36920 https://bugs.webkit.org/show_bug.cgi?id=49947 36921 36922 Refactor root layer update and drawing from LayerRendererChromium into 36923 LayerTilerChromium. The root layer is now drawn as multiple tiles 36924 rather than as one single large texture. Scrollbars are now drawn 36925 separately rather than as part of the root layer. 36926 36927 Test: LayoutTests/compositing/ 36928 36929 * WebCore.gypi: 36930 * page/FrameView.cpp: 36931 (WebCore::FrameView::repaintContentRectangle): 36932 * platform/ScrollView.cpp: 36933 (WebCore::ScrollView::ScrollView): 36934 (WebCore::ScrollView::setClipsRepaints): 36935 * platform/ScrollView.h: 36936 (WebCore::ScrollView::clipsRepaints): 36937 * platform/graphics/chromium/LayerChromium.h: 36938 * platform/graphics/chromium/LayerRendererChromium.cpp: 36939 (WebCore::LayerRendererChromium::LayerRendererChromium): 36940 (WebCore::LayerRendererChromium::~LayerRendererChromium): 36941 (WebCore::LayerRendererChromium::useShader): 36942 (WebCore::LayerRendererChromium::verticalScrollbarRect): 36943 (WebCore::LayerRendererChromium::horizontalScrollbarRect): 36944 (WebCore::LayerRendererChromium::invalidateRootLayerRect): 36945 (WebCore::LayerRendererChromium::updateAndDrawRootLayer): 36946 (WebCore::LayerRendererChromium::drawLayers): 36947 (WebCore::LayerRendererChromium::setRootLayer): 36948 (WebCore::LayerRendererChromium::initializeSharedObjects): 36949 (WebCore::LayerRendererChromium::cleanupSharedObjects): 36950 * platform/graphics/chromium/LayerRendererChromium.h: 36951 * platform/graphics/chromium/LayerTilerChromium.cpp: Added. 36952 (WebCore::LayerTilerChromium::create): 36953 (WebCore::LayerTilerChromium::LayerTilerChromium): 36954 (WebCore::LayerTilerChromium::~LayerTilerChromium): 36955 (WebCore::LayerTilerChromium::layerRendererContext): 36956 (WebCore::LayerTilerChromium::setTileSize): 36957 (WebCore::LayerTilerChromium::reset): 36958 (WebCore::LayerTilerChromium::createTile): 36959 (WebCore::LayerTilerChromium::invalidateTiles): 36960 (WebCore::LayerTilerChromium::contentRectToTileIndices): 36961 (WebCore::LayerTilerChromium::contentRectToLayerRect): 36962 (WebCore::LayerTilerChromium::layerRectToContentRect): 36963 (WebCore::LayerTilerChromium::tileIndex): 36964 (WebCore::LayerTilerChromium::tileContentRect): 36965 (WebCore::LayerTilerChromium::tileLayerRect): 36966 (WebCore::LayerTilerChromium::invalidateRect): 36967 (WebCore::LayerTilerChromium::invalidateEntireLayer): 36968 (WebCore::LayerTilerChromium::update): 36969 (WebCore::LayerTilerChromium::setLayerPosition): 36970 (WebCore::LayerTilerChromium::draw): 36971 (WebCore::LayerTilerChromium::resizeLayer): 36972 (WebCore::LayerTilerChromium::growLayerToContain): 36973 (WebCore::LayerTilerChromium::Tile::~Tile): 36974 (WebCore::LayerTilerChromium::Tile::releaseTextureId): 36975 * platform/graphics/chromium/LayerTilerChromium.h: Added. 36976 (WebCore::LayerTilerChromium::Tile::Tile): 36977 (WebCore::LayerTilerChromium::Tile::textureId): 36978 (WebCore::LayerTilerChromium::Tile::dirty): 36979 (WebCore::LayerTilerChromium::Tile::clearDirty): 36980 (WebCore::LayerTilerChromium::layerRenderer): 36981 36982 2010-12-22 Ryosuke Niwa <rniwa (a] webkit.org> 36983 36984 Reviewed by Eric Seidel. 36985 36986 Editor.h doesn't need to include SelectionController.h 36987 https://bugs.webkit.org/show_bug.cgi?id=51441 36988 36989 Removed #include <Selection.h> from Editor.h. 36990 Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection 36991 to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h 36992 36993 * WebCore.exp.in: Signature changes. 36994 * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h 36995 * accessibility/AccessibilityRenderObject.cpp: 36996 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection. 36997 * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h 36998 * editing/Editor.cpp: 36999 (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection. 37000 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto. 37001 (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto. 37002 * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h 37003 and WritingDirection.h; forward declared CSSMutableStyleDeclaration. 37004 * editing/EditorCommand.cpp: 37005 (WebCore::executeDeleteBackward): Change due to SelectionDirection. 37006 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto. 37007 (WebCore::executeDeleteForward): Ditto. 37008 (WebCore::executeDeleteToBeginningOfLine): Ditto. 37009 (WebCore::executeDeleteToBeginningOfParagraph): Ditto. 37010 (WebCore::executeDeleteToEndOfLine): Ditto. 37011 (WebCore::executeDeleteToEndOfParagraph): Ditto. 37012 (WebCore::executeDeleteWordBackward): Ditto. 37013 (WebCore::executeDeleteWordForward): Ditto. 37014 (WebCore::executeForwardDelete): Ditto. 37015 (WebCore::executeMoveBackward): Ditto. 37016 (WebCore::executeMoveBackwardAndModifySelection): Ditto. 37017 (WebCore::executeMoveDown): Ditto. 37018 (WebCore::executeMoveDownAndModifySelection): Ditto. 37019 (WebCore::executeMoveForward): Ditto. 37020 (WebCore::executeMoveForwardAndModifySelection): Ditto. 37021 (WebCore::executeMoveLeft): Ditto. 37022 (WebCore::executeMoveLeftAndModifySelection): Ditto. 37023 (WebCore::executeMoveRight): Ditto. 37024 (WebCore::executeMoveRightAndModifySelection): Ditto. 37025 (WebCore::executeMoveToBeginningOfDocument): Ditto. 37026 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto. 37027 (WebCore::executeMoveToBeginningOfLine): Ditto. 37028 (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto. 37029 (WebCore::executeMoveToBeginningOfParagraph): Ditto. 37030 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto. 37031 (WebCore::executeMoveToBeginningOfSentence): Ditto. 37032 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto. 37033 (WebCore::executeMoveToEndOfDocument): Ditto. 37034 (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto. 37035 (WebCore::executeMoveToEndOfSentence): Ditto. 37036 (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto. 37037 (WebCore::executeMoveToEndOfLine): Ditto. 37038 (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto. 37039 (WebCore::executeMoveToEndOfParagraph): Ditto. 37040 (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto. 37041 (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto. 37042 (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto. 37043 (WebCore::executeMoveUp): Ditto. 37044 (WebCore::executeMoveUpAndModifySelection): Ditto. 37045 (WebCore::executeMoveWordBackward): Ditto. 37046 (WebCore::executeMoveWordBackwardAndModifySelection): Ditto. 37047 (WebCore::executeMoveWordForward): Ditto. 37048 (WebCore::executeMoveWordForwardAndModifySelection): Ditto. 37049 (WebCore::executeMoveWordLeft): Ditto. 37050 (WebCore::executeMoveWordLeftAndModifySelection): Ditto. 37051 (WebCore::executeMoveWordRight): Ditto. 37052 (WebCore::executeMoveWordRightAndModifySelection): Ditto. 37053 (WebCore::executeMoveToLeftEndOfLine): Ditto. 37054 (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto. 37055 (WebCore::executeMoveToRightEndOfLine): Ditto. 37056 (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto. 37057 * editing/SelectionController.cpp: 37058 (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection. 37059 (WebCore::SelectionController::modify): Ditto. 37060 * editing/SelectionController.h: Change due to SelectionDirection. 37061 * editing/TypingCommand.cpp: 37062 (WebCore::TypingCommand::deleteKeyPressed): Ditto. 37063 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. 37064 * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection 37065 in SelectionController.h 37066 * editing/WritingDirection.h: Added. 37067 * page/DOMSelection.cpp: 37068 (WebCore::DOMSelection::modify): Change due to SelectionDirection. 37069 (WebCore::DOMSelection::deleteFromDocument): Ditto. 37070 * page/EventHandler.cpp: 37071 (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto. 37072 * page/Frame.h: Includes SelectionController.h. 37073 37074 2010-12-23 Adam Barth <abarth (a] webkit.org> 37075 37076 Reviewed by Darin Adler. 37077 37078 Move V8 to WebCore's implementation of showModalDialog 37079 https://bugs.webkit.org/show_bug.cgi?id=51527 37080 37081 This code is basically verbatim translation from the JavaScriptCore 37082 bindings. The only intentional difference is in the world selection 37083 for the dialog's frame. I suspect JavaScriptCore's bindings have a 37084 subtle bug there. 37085 37086 In this patch, I also remove a bunch of now-unneeded code in the 37087 generic bindings. 37088 37089 * bindings/generic/BindingDOMWindow.h: 37090 * bindings/js/JSDOMWindowCustom.cpp: 37091 (WebCore::DialogHandler::dialogCreated): 37092 (WebCore::setUpDialog): 37093 * bindings/v8/custom/V8DOMWindowCustom.cpp: 37094 (WebCore::DialogHandler::DialogHandler): 37095 (WebCore::DialogHandler::dialogCreated): 37096 (WebCore::DialogHandler::returnValue): 37097 (WebCore::setUpDialog): 37098 (WebCore::V8DOMWindow::showModalDialogCallback): 37099 (WebCore::V8DOMWindow::openCallback): 37100 * bindings/v8/specialization/V8BindingDOMWindow.h: 37101 37102 2010-12-23 Alexander Pavlov <apavlov (a] chromium.org> 37103 37104 Reviewed by Joseph Pecoraro. 37105 37106 Web Inspector: Can't backspace from CSS value to CSS key field 37107 https://bugs.webkit.org/show_bug.cgi?id=51476 37108 37109 * inspector/front-end/StylesSidebarPane.js: 37110 (WebInspector.StylePropertyTreeElement.prototype.): 37111 (WebInspector.StylePropertyTreeElement.prototype): 37112 37113 2010-12-23 W. James MacLean <wjmaclean (a] chromium.org> 37114 37115 Reviewed by Kenneth Russell. 37116 37117 [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. 37118 https://bugs.webkit.org/show_bug.cgi?id=51186 37119 37120 No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. 37121 37122 * platform/graphics/chromium/ImageLayerChromium.cpp: 37123 (WebCore::ImageLayerChromium::updateContentsIfDirty): 37124 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 37125 (WebCore::GraphicsContext3D::getImageData): 37126 37127 2010-12-23 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 37128 37129 Reviewed by Kenneth Rohde Christiansen. 37130 37131 Fix check by undefined macro 37132 https://bugs.webkit.org/show_bug.cgi?id=51531 37133 37134 Fix check by undefined macro 37135 37136 When building EFL port with libsoup, BUILDING_GTK__ is not defined, 37137 leading to warnings during compile. We actually have to use an #ifdef 37138 instead of an #if. 37139 37140 No change in functionality so no new tests. 37141 37142 * platform/network/soup/cache/webkit/soup-cache.h: 37143 37144 2010-12-23 Jonathan Dixon <joth (a] chromium.org> 37145 37146 Reviewed by Steve Block. 37147 37148 TouchEvents does not support multi-touch on a page with multiple touch targets 37149 https://bugs.webkit.org/show_bug.cgi?id=51258 37150 37151 Test: fast/events/touch/multi-touch-grouped-targets.html 37152 37153 * page/EventHandler.cpp: 37154 (WebCore::eventNameForTouchPointState): 37155 (WebCore::EventHandler::handleTouchEvent): 37156 Redesigned event handler to ensure all event targets involved in a given 37157 multitouch event get the appropriate event(s) fired. 37158 37159 * platform/PlatformTouchPoint.h: Added end-stop marker for State enum. 37160 37161 2010-12-23 Philippe Normand <pnormand (a] igalia.com> 37162 37163 Reviewed by Xan Lopez. 37164 37165 [GTK] media/audio-data-url.html fails since r75504 37166 https://bugs.webkit.org/show_bug.cgi?id=51525 37167 37168 Make the GStreamer media-player advertize 3gpp mime-types as 37169 supported if the 3gp caps are in the typefind factories. 37170 37171 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 37172 (WebCore::mimeTypeCache): 37173 37174 2010-12-23 Kent Tamura <tkent (a] chromium.org> 37175 37176 Reviewed by Dimitri Glazkov. 37177 37178 Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler() 37179 to InputTypes. 37180 https://bugs.webkit.org/show_bug.cgi?id=51093 37181 37182 Move BeforeTextInserted and Wheel event handling, event forwarding to 37183 renderers, and the isindex form submission quirk code to InputTypes. 37184 Also, change the return types of InputType event handlers from 'bool' 37185 to 'void'. We use Event::defaultHandled() to decide whether event 37186 handling should be stopped. 37187 37188 No new tests because this is just a refactoring. 37189 37190 * html/BaseButtonInputType.cpp: bool->void changes 37191 (WebCore::BaseButtonInputType::handleKeydownEvent): 37192 (WebCore::BaseButtonInputType::handleKeypressEvent): 37193 (WebCore::BaseButtonInputType::handleKeyupEvent): 37194 * html/BaseButtonInputType.h: ditto. 37195 * html/BaseCheckableInputType.cpp: ditto. 37196 (WebCore::BaseCheckableInputType::handleKeydownEvent): 37197 (WebCore::BaseCheckableInputType::handleKeypressEvent): 37198 * html/BaseCheckableInputType.h: ditto. 37199 * html/BaseDateAndTimeInputType.cpp: 37200 (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto. 37201 (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton(). 37202 * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition. 37203 * html/CheckboxInputType.cpp: bool->void change 37204 (WebCore::CheckboxInputType::handleKeyupEvent): 37205 * html/CheckboxInputType.h: ditto. 37206 * html/FileInputType.cpp: ditto. 37207 (WebCore::FileInputType::handleDOMActivateEvent): 37208 * html/FileInputType.h: ditto. 37209 * html/HTMLInputElement.cpp: 37210 (WebCore::HTMLInputElement::defaultEventHandler): 37211 - Change return-value handling of InputType event handlers 37212 - Move out beforeTextInserted/wheel event handling and isindex form quirk. 37213 * html/HTMLInputElement.h: 37214 (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): 37215 Added so that InputType can call InputElement::handleBeforeTextInsertedEvent(). 37216 * html/ImageInputType.cpp: bool->void change 37217 (WebCore::ImageInputType::handleDOMActivateEvent): 37218 * html/ImageInputType.h: ditto. 37219 * html/InputType.cpp: ditto. 37220 (WebCore::InputType::handleClickEvent): 37221 (WebCore::InputType::handleDOMActivateEvent): 37222 (WebCore::InputType::handleKeydownEvent): 37223 (WebCore::InputType::handleKeypressEvent): 37224 (WebCore::InputType::handleKeyupEvent): 37225 (WebCore::InputType::handleBeforeTextInsertedEvent): 37226 (WebCore::InputType::handleWheelEvent): Added default implementation. 37227 (WebCore::InputType::forwardEvent): ditto. 37228 (WebCore::InputType::formForSubmission): ditto. 37229 * html/InputType.h: 37230 * html/IsIndexInputType.cpp: 37231 (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp. 37232 * html/IsIndexInputType.h: 37233 * html/NumberInputType.cpp: 37234 (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp. 37235 (WebCore::NumberInputType::handleKeydownEvent): bool->void change. 37236 (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp. 37237 (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton(). 37238 * html/NumberInputType.h: 37239 * html/RadioInputType.cpp: bool->void changes. 37240 (WebCore::RadioInputType::handleClickEvent): 37241 (WebCore::RadioInputType::handleKeydownEvent): 37242 (WebCore::RadioInputType::handleKeyupEvent): 37243 * html/RadioInputType.h: 37244 * html/RangeInputType.cpp: 37245 (WebCore::RangeInputType::handleKeydownEvent): ditto. 37246 (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp. 37247 * html/RangeInputType.h: 37248 * html/ResetInputType.cpp: bool->void change. 37249 (WebCore::ResetInputType::handleDOMActivateEvent): 37250 * html/ResetInputType.h: ditto. 37251 * html/SubmitInputType.cpp: ditto. 37252 (WebCore::SubmitInputType::handleDOMActivateEvent): 37253 * html/SubmitInputType.h: ditto. 37254 * html/TextFieldInputType.cpp: 37255 (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change. 37256 (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto. 37257 (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp. 37258 (WebCore::TextFieldInputType::forwardEvent): ditto. 37259 * html/TextFieldInputType.h: 37260 37261 2010-12-23 Alexander Pavlov <apavlov (a] chromium.org> 37262 37263 Reviewed by Joseph Pecoraro. 37264 37265 Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style 37266 https://bugs.webkit.org/show_bug.cgi?id=51390 37267 37268 * inspector/front-end/StylesSidebarPane.js: 37269 (WebInspector.StylePropertyTreeElement.prototype): 37270 37271 2010-12-23 Noel Gordon <noel.gordon (a] gmail.com> 37272 37273 Reviewed by Adam Barth. 37274 37275 [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300% 37276 https://bugs.webkit.org/show_bug.cgi?id=51455 37277 37278 Chromium uses the libpng compression defaults. Good compression results, 37279 but at much larger run-time cost compared to other browsers. Chrome is 2 37280 times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3. 37281 37282 libpng has supported alternative compression methods for some time, they 37283 better meet the dual goals of good compression and run-time cost for the 37284 on-line case, and are well-documented. Here use Huffman encoding. It's 37285 2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed 37286 size is within 1% of the Safari 5.0.3 result independent of image size. 37287 37288 No change in behaviour, so no new tests. 37289 37290 * platform/image-encoders/skia/PNGImageEncoder.cpp: 37291 (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding. 37292 37293 2010-12-22 Noel Gordon <noel.gordon (a] gmail.com> 37294 37295 Reviewed by Darin Fisher. 37296 37297 [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop 37298 https://bugs.webkit.org/show_bug.cgi?id=51321 37299 37300 Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for 37301 the "image/png" encoder case viz., compute the unpremultiplication in-place. 37302 See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference. 37303 37304 No new tests: canvas.toDataURL() is covered by existing tests. 37305 37306 * platform/image-encoders/skia/PNGImageEncoder.cpp: 37307 (WebCore::preMultipliedBGRAtoRGBA): 37308 37309 2010-12-22 Ariya Hidayat <ariya (a] sencha.com> 37310 37311 Reviewed by Simon Fraser. 37312 37313 Implement skewX() and skewY() for CSSMatrix. 37314 https://bugs.webkit.org/show_bug.cgi?id=38335 37315 37316 * css/WebKitCSSMatrix.cpp: 37317 (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY(). 37318 * css/WebKitCSSMatrix.h: Added skewX() and skewY(). 37319 * css/WebKitCSSMatrix.idl: Added skewX() and skewY(). 37320 37321 2010-12-22 Simon Fraser <simon.fraser (a] apple.com> 37322 37323 Reviewed by Dan Bernstein. 37324 37325 Support unprefixed box-shadow property 37326 https://bugs.webkit.org/show_bug.cgi?id=51448 37327 37328 Add support for the box-shadow CSS property. We'll currently render this 37329 similarly to -webkit-box-shadow, but a later fix will adjust the blur radius 37330 handling to match the spec. 37331 37332 Test: fast/css/box-shadow.html 37333 37334 * css/CSSComputedStyleDeclaration.cpp: 37335 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle 37336 for box-shadow 37337 37338 * css/CSSParser.cpp: 37339 (WebCore::CSSParser::parseValue): 37340 (WebCore::ShadowParseContext::ShadowParseContext): 37341 (WebCore::ShadowParseContext::commitValue): 37342 (WebCore::ShadowParseContext::commitLength): 37343 (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow 37344 37345 * css/CSSPropertyNames.in: add box-shadow 37346 37347 * css/CSSStyleSelector.cpp: 37348 (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and 37349 store in the ShadowData if this is -webkit-box-shadow or not. We'll use this 37350 to adjust radii later. 37351 37352 * css/SVGCSSStyleSelector.cpp: 37353 (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow. 37354 37355 * page/animation/AnimationBase.cpp: 37356 (WebCore::blendFunc): 37357 (WebCore::PropertyWrapperShadow::blend): 37358 (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow. 37359 37360 * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow. 37361 (WebCore::ShadowData::ShadowData): 37362 (WebCore::ShadowData::operator==): 37363 * rendering/style/ShadowData.h: 37364 (WebCore::ShadowData::ShadowData): 37365 (WebCore::ShadowData::isWebkitBoxShadow): 37366 37367 2010-12-22 Michael Saboff <msaboff (a] apple.com> 37368 37369 Reviewed by Sam Weinig. 37370 37371 REGRESSION: Can't shadow/overwrite window.constructor 37372 (causes TypeError exception) 37373 https://bugs.webkit.org/show_bug.cgi?id=48953 37374 37375 Added code in the javascript code generator to create a setter for 37376 a constructor if the new extended attribute ReplaceableConstructor 37377 is present for the interface. 37378 37379 * bindings/scripts/CodeGeneratorJS.pm: 37380 * page/DOMWindow.idl: 37381 37382 2010-12-22 Steve Lacey <sjl (a] chromium.org> 37383 37384 Reviewed by David Levin. 37385 37386 Change css for chromium media controls to deal with the timeline 37387 not expanding when the current time disappears. This happens when 37388 the width of the control drops below 240px. 37389 37390 This change results in a minor pixel difference - the timebar now 37391 aligns better with the time and when the time is not displayed is 37392 now perfectly centered. Disabling the affected tests for now 37393 and will rebaseline. 37394 37395 https://bugs.webkit.org/show_bug.cgi?id=51500 37396 37397 * css/mediaControlsChromium.css: 37398 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): 37399 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 37400 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): 37401 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 37402 37403 2010-12-22 Mihai Parparita <mihaip (a] chromium.org> 37404 37405 Reviewed by Simon Fraser. 37406 37407 the shadow direction is negated in canvas context shadowOffsetY. 37408 https://bugs.webkit.org/show_bug.cgi?id=25619 37409 37410 Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps 37411 if we're not transforming shadows (i.e. are rendering in a canvas). Also 37412 use CG shadows if there's a non-translate/flip transform applied 37413 (shadow offsets are supposed to ignore transforms, but the naive/simple 37414 implementation was taking them into account). 37415 37416 Also does the equivalent changes to FontCGWin. 37417 37418 Test: fast/canvas/fillText-shadow.html 37419 37420 * platform/graphics/GraphicsContext.cpp: 37421 (WebCore::GraphicsContext::shadowsIgnoreTransforms): 37422 * platform/graphics/GraphicsContext.h: 37423 * platform/graphics/mac/FontMac.mm: 37424 (WebCore::Font::drawGlyphs): 37425 * platform/graphics/win/FontCGWin.cpp: 37426 (WebCore::Font::drawGlyphs): 37427 37428 2010-12-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 37429 37430 Unreviewed, rolling out r74503. 37431 http://trac.webkit.org/changeset/74503 37432 https://bugs.webkit.org/show_bug.cgi?id=51513 37433 37434 breaks chromium mac debug compile (Requested by tonyg-cr on 37435 #webkit). 37436 37437 * platform/graphics/chromium/ImageLayerChromium.cpp: 37438 (WebCore::ImageLayerChromium::updateContentsIfDirty): 37439 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 37440 (WebCore::GraphicsContext3D::getImageData): 37441 37442 2010-12-22 Dan Bernstein <mitz (a] apple.com> 37443 37444 Reviewed by Darin Adler. 37445 37446 Replace runtime checks for hyphenation API availability with compile-time checks. 37447 37448 * platform/text/cf/HyphenationCF.cpp: 37449 (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the 37450 search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale. 37451 (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available. 37452 It is identical to the implementation in Hyphenation.cpp. 37453 (WebCore::lastHyphenLocation): Ditto. 37454 37455 2010-12-22 Simon Fraser <simon.fraser (a] apple.com> 37456 37457 Reviewed by Darin Adler. 37458 37459 Cache snapshots of plug-ins before painting, to avoid script running during painting 37460 https://bugs.webkit.org/show_bug.cgi?id=51493 37461 37462 When FrameView is asked to do a flattening paint (e.g. when Safari snapshots, 37463 or when printing), plug-ins which otherwise use the CA rendering model 37464 are sent a paint event. Some plug-ins may run script while handling this event, 37465 or out of process plug-ins may process queued requests at this time. Running 37466 script while inside layout or painting can have bad consequences, because it 37467 can result in arbitrary changes to the render tree. 37468 37469 This patch avoids sending plug-ins paint events inside of painting. Instead, 37470 we ask the plug-ins to cache a snapshot before we paint, and then the software 37471 paint simply draws that snapshot. 37472 37473 Requires manual test, because the bug happens when Safari does 37474 a page snapshot. It's not possible to tell the Test Netscape Plug-in 37475 to paint without laying out, making an automated test impossible. 37476 37477 * manual-tests/plugins/plugin-paint-causes-layout.html: Added. 37478 37479 * page/FrameView.h: 37480 * page/FrameView.cpp: 37481 (WebCore::FrameView::paintContents): Notify all enclosed widgets 37482 that a flattening paint is going to happen. 37483 (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 37484 that tells the RenderView in all subframes to notify their widgets. 37485 37486 * platform/Widget.h: 37487 (WebCore::Widget::notifyWidget): Generic method that can be used 37488 to send messages to widgets. Current messages are just 'before flattening paint' 37489 and 'after flattening paint'. Message has no payload. 37490 37491 * rendering/RenderView.h: 37492 * rendering/RenderView.cpp: 37493 (WebCore::RenderView::getRetainedWidgets): 37494 (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(), 37495 since we use it in two places now. 37496 37497 (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc. 37498 (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send 37499 them all the message. 37500 37501 * rendering/RenderWidget.h: 37502 * rendering/RenderWidget.cpp: 37503 (WebCore::RenderWidget::notifyWidget): Pass the message to the widget. 37504 37505 2010-12-22 Adrienne Walker <enne (a] google.com> 37506 37507 Reviewed by Kenneth Russell. 37508 37509 Fix null pointer deref when restoring a lost WebGL context. 37510 https://bugs.webkit.org/show_bug.cgi?id=51494 37511 37512 No new tests, as context restored events are not currently testable. 37513 37514 * html/canvas/WebGLRenderingContext.cpp: 37515 (WebCore::WebGLRenderingContext::initializeNewContext): 37516 (WebCore::WebGLRenderingContext::restoreContext): 37517 37518 2010-12-22 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 37519 37520 Reviewed by Martin Robinson. 37521 37522 [GTK] Building with Blob support fails again 37523 https://bugs.webkit.org/show_bug.cgi?id=51392 37524 37525 Build fix. 37526 37527 * GNUmakefile.am: 37528 37529 2010-12-22 Dan Bernstein <mitz (a] apple.com> 37530 37531 Reviewed by Anders Carlsson. 37532 37533 canHyphenate() always returns true for the default locale 37534 https://bugs.webkit.org/show_bug.cgi?id=51506 37535 37536 No test, since this change only affects performance. 37537 37538 * platform/text/cf/HyphenationCF.cpp: 37539 (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale. 37540 (WebCore::::createValueForKey): Removed whitespace. 37541 37542 2010-12-22 Yury Semikhatsky <yurys (a] chromium.org> 37543 37544 Reviewed by Joseph Pecoraro. 37545 37546 Web Inspector: script name gets parsed as HTML in Call stack panel 37547 https://bugs.webkit.org/show_bug.cgi?id=51468 37548 37549 * inspector/front-end/Placard.js: 37550 (WebInspector.Placard.prototype.set subtitle): 37551 37552 2010-12-22 Eric Carlson <eric.carlson (a] apple.com> 37553 37554 Reviewed by Darin Adler. 37555 37556 MediaPlayer should look for MIME type in data: URL 37557 https://bugs.webkit.org/show_bug.cgi?id=51195 37558 37559 If no MIME type is passed from the media element for a data: URL, try to get it from 37560 the URL itself. 37561 37562 No new tests are possible because the MIME type is just passed to the media engine. 37563 37564 * platform/graphics/MediaPlayer.cpp: 37565 (WebCore::MediaPlayer::load): 37566 37567 2010-12-22 W. James MacLean <wjmaclean (a] chromium.org> 37568 37569 Reviewed by Kenneth Russell. 37570 37571 [chromium] Add asserts to test for contiguous-pixel Skia bitmaps. 37572 https://bugs.webkit.org/show_bug.cgi?id=51186 37573 37574 No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated. 37575 37576 * platform/graphics/chromium/ImageLayerChromium.cpp: 37577 (WebCore::ImageLayerChromium::updateContentsIfDirty): 37578 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 37579 (WebCore::GraphicsContext3D::getImageData): 37580 37581 2010-12-22 Chris Fleizach <cfleizach (a] apple.com> 37582 37583 Reviewed by Darin Adler. 37584 37585 WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar 37586 https://bugs.webkit.org/show_bug.cgi?id=51488 37587 37588 Test: platform/mac/accessibility/aria-menubar.html 37589 37590 * accessibility/AccessibilityObject.cpp: 37591 (WebCore::createARIARoleMap): 37592 37593 2010-12-22 Zhenyao Mo <zmo (a] google.com> 37594 37595 Reviewed by Kenneth Russell. 37596 37597 CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible 37598 https://bugs.webkit.org/show_bug.cgi?id=51423 37599 37600 * html/canvas/WebGLRenderingContext.cpp: 37601 (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking. 37602 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. 37603 (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo. 37604 * html/canvas/WebGLRenderingContext.h: 37605 37606 2010-12-22 Xan Lopez <xlopez (a] igalia.com> 37607 37608 Reviewed by Gustavo Noronha. 37609 37610 [GTK] Compilation fixes with GTK+ 2.91.7 37611 https://bugs.webkit.org/show_bug.cgi?id=51487 37612 37613 * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for 37614 backwards compatibility, it's now defined again in GTK+ 3.x. 37615 * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to 37616 initialize global static variables (!). These are called when the 37617 .so is loaded, and they now require GType to be initialized and 37618 will crash. Initialize them once from the ctor, which is a more 37619 common pattern anyway. 37620 (WebCore::initGdkAtoms): new method to initialize static variables. 37621 (WebCore::PasteboardHelper::PasteboardHelper): call it. 37622 * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when 37623 using GTK+ 3.x, since it's no longer installed. 37624 37625 2010-12-22 Dirk Schulze <krit (a] wbekit.org> 37626 37627 Reviewed by Nikolas Zimmermann. 37628 37629 Cleanup SVG code according to the webkit style rules 2 37630 https://bugs.webkit.org/show_bug.cgi?id=51461 37631 37632 Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code. 37633 37634 No changes of functionality, so no new tests. 37635 37636 * svg/SVGFEDisplacementMapElement.cpp: 37637 (WebCore::SVGFEDisplacementMapElement::stringToChannel): 37638 * svg/SVGFEDistantLightElement.h: 37639 * svg/SVGFEFuncAElement.h: 37640 * svg/SVGFEFuncBElement.h: 37641 * svg/SVGFEFuncGElement.h: 37642 * svg/SVGFEFuncRElement.h: 37643 * svg/SVGFEMergeElement.cpp: 37644 (WebCore::SVGFEMergeElement::build): 37645 * svg/SVGFEMorphologyElement.cpp: 37646 * svg/SVGFEPointLightElement.h: 37647 * svg/SVGFESpecularLightingElement.cpp: 37648 (WebCore::SVGFESpecularLightingElement::findLights): 37649 * svg/SVGFESpotLightElement.h: 37650 * svg/SVGFitToViewBox.cpp: 37651 (WebCore::SVGFitToViewBox::parseViewBox): 37652 (WebCore::SVGFitToViewBox::isKnownAttribute): 37653 * svg/SVGFontFaceElement.cpp: 37654 (WebCore::cssPropertyIdForSVGAttributeName): 37655 * svg/SVGFontFaceElement.h: 37656 (WebCore::SVGFontFaceElement::associatedFontElement): 37657 * svg/SVGFontFaceNameElement.h: 37658 * svg/SVGFontFaceSrcElement.cpp: 37659 * svg/SVGFontFaceSrcElement.h: 37660 * svg/SVGFontFaceUriElement.h: 37661 * svg/SVGForeignObjectElement.h: 37662 * svg/SVGGlyphElement.cpp: 37663 (WebCore::parseArabicForm): 37664 (WebCore::parseOrientation): 37665 * svg/SVGGlyphElement.h: 37666 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): 37667 (WebCore::SVGGlyphIdentifier::inheritedValue): 37668 (WebCore::SVGGlyphIdentifier::operator==): 37669 (WebCore::SVGGlyphElement::rendererIsNeeded): 37670 * svg/SVGGlyphMap.h: 37671 (WebCore::GlyphMapNode::GlyphMapNode): 37672 (WebCore::GlyphMapNode::create): 37673 (WebCore::SVGGlyphMap::SVGGlyphMap): 37674 (WebCore::SVGGlyphMap::add): 37675 (WebCore::SVGGlyphMap::compareGlyphPriority): 37676 (WebCore::SVGGlyphMap::get): 37677 (WebCore::SVGGlyphMap::clear): 37678 * svg/SVGGradientElement.cpp: 37679 * svg/SVGHKernElement.cpp: 37680 * svg/SVGHKernElement.h: 37681 (WebCore::SVGHKernElement::rendererIsNeeded): 37682 * svg/SVGImageElement.h: 37683 * svg/SVGImageLoader.cpp: 37684 * svg/SVGImageLoader.h: 37685 * svg/SVGLangSpace.cpp: 37686 (WebCore::SVGLangSpace::parseMappedAttribute): 37687 (WebCore::SVGLangSpace::isKnownAttribute): 37688 * svg/SVGLangSpace.h: 37689 (WebCore::SVGLangSpace::xmllang): 37690 * svg/SVGMetadataElement.h: 37691 * svg/SVGMissingGlyphElement.h: 37692 (WebCore::SVGMissingGlyphElement::rendererIsNeeded): 37693 * svg/SVGPaint.cpp: 37694 (WebCore::SVGPaint::cssText): 37695 * svg/SVGPaint.h: 37696 (WebCore::SVGPaint::create): 37697 (WebCore::SVGPaint::paintType): 37698 (WebCore::SVGPaint::isSVGPaint): 37699 * svg/SVGParserUtilities.cpp: 37700 * svg/SVGParserUtilities.h: 37701 (WebCore::isWhitespace): 37702 (WebCore::skipOptionalSpaces): 37703 (WebCore::skipOptionalSpacesOrDelimiter): 37704 * svg/SVGPathElement.cpp: 37705 * svg/SVGPathParserFactory.h: 37706 * svg/SVGPathSegList.h: 37707 37708 2010-12-22 Chris Fleizach <cfleizach (a] apple.com> 37709 37710 Reviewed by Sam Weinig. 37711 37712 AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property 37713 https://bugs.webkit.org/show_bug.cgi?id=51481 37714 37715 Support aria-multiline and use it to change the role of an ARIA "textbox" 37716 from AXTextArea to AXTextField. 37717 37718 Test: platform/mac/accessibility/aria-multiline.html 37719 37720 * accessibility/AccessibilityObject.cpp: 37721 (WebCore::AccessibilityObject::ariaIsMultiline): 37722 * accessibility/AccessibilityObject.h: 37723 (WebCore::AccessibilityObject::isPasswordField): 37724 (WebCore::AccessibilityObject::isTextControl): 37725 * accessibility/AccessibilityRenderObject.cpp: 37726 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 37727 * accessibility/AccessibilityRenderObject.h: 37728 * html/HTMLAttributeNames.in: 37729 37730 2010-12-22 Simon Fraser <simon.fraser (a] apple.com> 37731 37732 Reviewed by Dan Bernstein. 37733 37734 CSS 2.1 failure: counter-increment-013 fails 37735 https://bugs.webkit.org/show_bug.cgi?id=51483 37736 37737 Clamp the counter-increment property to the valid range of signed 37738 integers. 37739 37740 Test: fast/css/counters/counter-increment-overflow.html 37741 37742 * css/CSSParser.cpp: 37743 (WebCore::clampToSignedInteger): 37744 (WebCore::CSSParser::parseCounter): 37745 37746 2010-12-22 Dan Bernstein <mitz (a] apple.com> 37747 37748 Rubber-stamped by Mark Rowe. 37749 37750 Changed WebKitTools to Tools in script build phases. 37751 37752 * WebCore.xcodeproj/project.pbxproj: 37753 37754 2010-12-21 Vangelis Kokkevis <vangelis (a] chromium.org> 37755 37756 Reviewed by Kenneth Russell. 37757 37758 [chromium] Fixing crash with empty render surfaces. 37759 https://bugs.webkit.org/show_bug.cgi?id=51432 37760 37761 Test: platform/chromium/compositing/empty-render-surface-crasher.html 37762 37763 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 37764 (WebCore::RenderSurfaceChromium::draw): 37765 37766 2010-12-21 Pavel Podivilov <podivilov (a] chromium.org> 37767 37768 Reviewed by Yury Semikhatsky. 37769 37770 Web Inspector: persist JavaScript breakpoints in frontend settings. 37771 https://bugs.webkit.org/show_bug.cgi?id=48434 37772 37773 * bindings/js/ScriptDebugServer.cpp: 37774 (WebCore::ScriptDebugServer::setBreakpoint): 37775 (WebCore::ScriptDebugServer::removeBreakpoint): 37776 * bindings/js/ScriptDebugServer.h: 37777 * bindings/v8/DebuggerScript.js: 37778 (): 37779 * bindings/v8/ScriptDebugServer.cpp: 37780 (WebCore::ScriptDebugServer::setBreakpoint): 37781 (WebCore::ScriptDebugServer::removeBreakpoint): 37782 * bindings/v8/ScriptDebugServer.h: 37783 * inspector/Inspector.idl: 37784 * inspector/InspectorBackend.cpp: 37785 * inspector/InspectorController.cpp: 37786 (WebCore::InspectorController::InspectorController): 37787 (WebCore::InspectorController::enableDebuggerFromFrontend): 37788 (WebCore::InspectorController::setStickyBreakpoints): 37789 (WebCore::InspectorController::restoreStickyBreakpoint): 37790 * inspector/InspectorController.h: 37791 * inspector/InspectorDebuggerAgent.cpp: 37792 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 37793 (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): 37794 (WebCore::InspectorDebuggerAgent::setBreakpoint): 37795 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 37796 (WebCore::InspectorDebuggerAgent::restoreBreakpoint): 37797 (WebCore::InspectorDebuggerAgent::clearForPageNavigation): 37798 (WebCore::InspectorDebuggerAgent::didParseSource): 37799 * inspector/InspectorDebuggerAgent.h: 37800 * inspector/front-end/Breakpoint.js: 37801 (WebInspector.Breakpoint): 37802 (WebInspector.Breakpoint.prototype.remove): 37803 * inspector/front-end/BreakpointManager.js: 37804 (WebInspector.BreakpointManager): 37805 (WebInspector.DOMBreakpoint.prototype._serializeToJSON): 37806 (WebInspector.JavaScriptBreakpoint): 37807 (WebInspector.XHRBreakpoint.prototype._serializeToJSON): 37808 * inspector/front-end/DebuggerModel.js: 37809 (WebInspector.DebuggerModel): 37810 * inspector/front-end/ScriptsPanel.js: 37811 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 37812 * inspector/front-end/SourceFrame.js: 37813 37814 2010-12-20 Antti Koivisto <antti (a] apple.com> 37815 37816 Reviewed by Alexey Proskuryakov. 37817 37818 https://bugs.webkit.org/show_bug.cgi?id=51354 37819 Don't block rendering and script execution on deferred stylesheets 37820 37821 - Don't add low priority stylesheets to the document pending sheet count. 37822 - Resolve media attribute fully for the link element stylesheet load. 37823 37824 Test: http/tests/local/stylesheet-and-script-load-order-media-print.html 37825 37826 * html/HTMLLinkElement.cpp: 37827 (WebCore::HTMLLinkElement::HTMLLinkElement): 37828 (WebCore::HTMLLinkElement::~HTMLLinkElement): 37829 (WebCore::HTMLLinkElement::setDisabledState): 37830 (WebCore::HTMLLinkElement::process): 37831 (WebCore::HTMLLinkElement::sheetLoaded): 37832 (WebCore::HTMLLinkElement::addPendingSheet): 37833 (WebCore::HTMLLinkElement::removePendingSheet): 37834 * html/HTMLLinkElement.h: 37835 37836 2010-12-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 37837 37838 Unreviewed, rolling out r74473. 37839 http://trac.webkit.org/changeset/74473 37840 https://bugs.webkit.org/show_bug.cgi?id=51463 37841 37842 broke compilation on leopard intel release (Requested by 37843 podivilov on #webkit). 37844 37845 * bindings/js/ScriptDebugServer.cpp: 37846 (WebCore::ScriptDebugServer::setBreakpoint): 37847 (WebCore::ScriptDebugServer::removeBreakpoint): 37848 * bindings/js/ScriptDebugServer.h: 37849 * bindings/v8/DebuggerScript.js: 37850 (): 37851 * bindings/v8/ScriptDebugServer.cpp: 37852 (WebCore::ScriptDebugServer::setBreakpoint): 37853 (WebCore::ScriptDebugServer::removeBreakpoint): 37854 * bindings/v8/ScriptDebugServer.h: 37855 * inspector/Inspector.idl: 37856 * inspector/InspectorBackend.cpp: 37857 * inspector/InspectorController.cpp: 37858 (WebCore::InspectorController::InspectorController): 37859 (WebCore::InspectorController::enableDebuggerFromFrontend): 37860 (WebCore::InspectorController::setStickyBreakpoints): 37861 (WebCore::InspectorController::restoreStickyBreakpoint): 37862 (WebCore::InspectorController::breakpointsSettingKey): 37863 (WebCore::InspectorController::loadBreakpoints): 37864 (WebCore::InspectorController::saveBreakpoints): 37865 * inspector/InspectorController.h: 37866 * inspector/InspectorDebuggerAgent.cpp: 37867 (WebCore::formatBreakpointId): 37868 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 37869 (WebCore::InspectorDebuggerAgent::setBreakpoint): 37870 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 37871 (WebCore::InspectorDebuggerAgent::clearForPageNavigation): 37872 (WebCore::InspectorDebuggerAgent::md5Base16): 37873 (WebCore::InspectorDebuggerAgent::loadBreakpoints): 37874 (WebCore::InspectorDebuggerAgent::saveBreakpoints): 37875 (WebCore::InspectorDebuggerAgent::didParseSource): 37876 * inspector/InspectorDebuggerAgent.h: 37877 * inspector/front-end/Breakpoint.js: 37878 (WebInspector.Breakpoint): 37879 (WebInspector.Breakpoint.jsBreakpointId): 37880 (WebInspector.Breakpoint.prototype.set enabled): 37881 (WebInspector.Breakpoint.prototype.get id): 37882 (WebInspector.Breakpoint.prototype.set condition): 37883 (WebInspector.Breakpoint.prototype.remove): 37884 * inspector/front-end/BreakpointManager.js: 37885 (WebInspector.BreakpointManager): 37886 (WebInspector.BreakpointManager.prototype._createDOMBreakpoint): 37887 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint): 37888 (WebInspector.BreakpointManager.prototype._createXHRBreakpoint): 37889 (WebInspector.BreakpointManager.prototype._setNativeBreakpoint): 37890 (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled): 37891 (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint): 37892 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 37893 (WebInspector.BreakpointManager.prototype._projectChanged): 37894 (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): 37895 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 37896 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 37897 (WebInspector.DOMBreakpoint.prototype._serializeToJSON): 37898 (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON): 37899 (WebInspector.XHRBreakpoint.prototype._serializeToJSON): 37900 (WebInspector.NativeBreakpointView.prototype.set enabled): 37901 (WebInspector.NativeBreakpointView.prototype.remove): 37902 * inspector/front-end/DebuggerModel.js: 37903 (WebInspector.DebuggerModel): 37904 (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint): 37905 (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint): 37906 (WebInspector.DebuggerModel.prototype.setBreakpoint): 37907 (WebInspector.DebuggerModel.prototype.findBreakpoint): 37908 (WebInspector.DebuggerModel.prototype.reset): 37909 (WebInspector.DebuggerModel.prototype._setBreakpoint): 37910 (WebInspector.DebuggerModel.prototype._breakpointRemoved): 37911 (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend): 37912 (WebInspector.DebuggerModel.prototype.breakpointRestored): 37913 (WebInspector.DebuggerModel.prototype.pausedScript): 37914 (WebInspector.DebuggerModel.prototype.resumedScript): 37915 * inspector/front-end/ScriptsPanel.js: 37916 (WebInspector.ScriptsPanel.prototype.continueToLine): 37917 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 37918 * inspector/front-end/SourceFrame.js: 37919 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): 37920 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 37921 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): 37922 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): 37923 (WebInspector.SourceFrame.prototype._contextMenu): 37924 (WebInspector.SourceFrame.prototype._mouseDown): 37925 (WebInspector.SourceFrame.prototype._continueToLine): 37926 (WebInspector.SourceFrame.prototype._setBreakpoint): 37927 37928 2010-12-21 Pavel Podivilov <podivilov (a] chromium.org> 37929 37930 Reviewed by Yury Semikhatsky. 37931 37932 Web Inspector: persist JavaScript breakpoints in frontend settings. 37933 https://bugs.webkit.org/show_bug.cgi?id=48434 37934 37935 * bindings/js/ScriptDebugServer.cpp: 37936 (WebCore::ScriptDebugServer::setBreakpoint): 37937 (WebCore::ScriptDebugServer::removeBreakpoint): 37938 * bindings/js/ScriptDebugServer.h: 37939 * bindings/v8/DebuggerScript.js: 37940 (): 37941 * bindings/v8/ScriptDebugServer.cpp: 37942 (WebCore::ScriptDebugServer::setBreakpoint): 37943 (WebCore::ScriptDebugServer::removeBreakpoint): 37944 * bindings/v8/ScriptDebugServer.h: 37945 * inspector/Inspector.idl: 37946 * inspector/InspectorBackend.cpp: 37947 * inspector/InspectorController.cpp: 37948 (WebCore::InspectorController::InspectorController): 37949 (WebCore::InspectorController::enableDebuggerFromFrontend): 37950 (WebCore::InspectorController::setStickyBreakpoints): 37951 (WebCore::InspectorController::restoreStickyBreakpoint): 37952 * inspector/InspectorController.h: 37953 * inspector/InspectorDebuggerAgent.cpp: 37954 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 37955 (WebCore::InspectorDebuggerAgent::setStickyBreakpoint): 37956 (WebCore::InspectorDebuggerAgent::setBreakpoint): 37957 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 37958 (WebCore::InspectorDebuggerAgent::restoreBreakpoint): 37959 (WebCore::InspectorDebuggerAgent::clearForPageNavigation): 37960 (WebCore::InspectorDebuggerAgent::didParseSource): 37961 * inspector/InspectorDebuggerAgent.h: 37962 * inspector/front-end/Breakpoint.js: 37963 (WebInspector.Breakpoint): 37964 (WebInspector.Breakpoint.prototype.remove): 37965 * inspector/front-end/BreakpointManager.js: 37966 (WebInspector.BreakpointManager): 37967 (WebInspector.DOMBreakpoint.prototype._serializeToJSON): 37968 (WebInspector.JavaScriptBreakpoint): 37969 (WebInspector.XHRBreakpoint.prototype._serializeToJSON): 37970 * inspector/front-end/DebuggerModel.js: 37971 (WebInspector.DebuggerModel): 37972 * inspector/front-end/ScriptsPanel.js: 37973 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 37974 * inspector/front-end/SourceFrame.js: 37975 37976 2010-12-22 Dirk Schulze <krit (a] wbekit.org> 37977 37978 Reviewed by Nikolas Zimmermann. 37979 37980 Cleanup SVG code according to the webkit style rules 1 37981 https://bugs.webkit.org/show_bug.cgi?id=51411 37982 37983 First patch to fix indention and other style issues according to the WebKit style rules in the SVG code. 37984 37985 No change of functionality. 37986 37987 * svg/ColorDistance.cpp: 37988 (WebCore::ColorDistance::isZero): 37989 * svg/ColorDistance.h: 37990 * svg/ElementTimeControl.h: 37991 (WebCore::ElementTimeControl::~ElementTimeControl): 37992 * svg/LinearGradientAttributes.h: 37993 (WebCore::LinearGradientAttributes::LinearGradientAttributes): 37994 (WebCore::LinearGradientAttributes::x1): 37995 (WebCore::LinearGradientAttributes::y1): 37996 (WebCore::LinearGradientAttributes::x2): 37997 (WebCore::LinearGradientAttributes::y2): 37998 (WebCore::LinearGradientAttributes::setX1): 37999 (WebCore::LinearGradientAttributes::setY1): 38000 (WebCore::LinearGradientAttributes::setX2): 38001 (WebCore::LinearGradientAttributes::setY2): 38002 (WebCore::LinearGradientAttributes::hasX1): 38003 (WebCore::LinearGradientAttributes::hasY1): 38004 (WebCore::LinearGradientAttributes::hasX2): 38005 (WebCore::LinearGradientAttributes::hasY2): 38006 * svg/RadialGradientAttributes.h: 38007 (WebCore::RadialGradientAttributes::RadialGradientAttributes): 38008 (WebCore::RadialGradientAttributes::cx): 38009 (WebCore::RadialGradientAttributes::cy): 38010 (WebCore::RadialGradientAttributes::r): 38011 (WebCore::RadialGradientAttributes::fx): 38012 (WebCore::RadialGradientAttributes::fy): 38013 (WebCore::RadialGradientAttributes::setCx): 38014 (WebCore::RadialGradientAttributes::setCy): 38015 (WebCore::RadialGradientAttributes::setR): 38016 (WebCore::RadialGradientAttributes::setFx): 38017 (WebCore::RadialGradientAttributes::setFy): 38018 (WebCore::RadialGradientAttributes::hasCx): 38019 (WebCore::RadialGradientAttributes::hasCy): 38020 (WebCore::RadialGradientAttributes::hasR): 38021 (WebCore::RadialGradientAttributes::hasFx): 38022 (WebCore::RadialGradientAttributes::hasFy): 38023 * svg/SVGAngle.cpp: 38024 * svg/SVGAnimateColorElement.h: 38025 * svg/SVGAnimateElement.cpp: 38026 (WebCore::SVGAnimateElement::calculateAnimatedValue): 38027 (WebCore::SVGAnimateElement::calculateDistance): 38028 * svg/SVGAnimateElement.h: 38029 * svg/SVGAnimateMotionElement.cpp: 38030 * svg/SVGAnimateMotionElement.h: 38031 * svg/SVGAnimatedNumber.h: 38032 * svg/SVGAnimationElement.cpp: 38033 (WebCore::parseKeyTimes): 38034 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): 38035 (WebCore::SVGAnimationElement::updateAnimation): 38036 * svg/SVGClipPathElement.cpp: 38037 (WebCore::SVGClipPathElement::svgAttributeChanged): 38038 * svg/SVGColor.h: 38039 (WebCore::SVGColor::create): 38040 (WebCore::SVGColor::createCurrentColor): 38041 (WebCore::SVGColor::colorType): 38042 (WebCore::SVGColor::setRGBColor): 38043 (WebCore::SVGColor::color): 38044 (WebCore::SVGColor::isSVGColor): 38045 * svg/SVGCursorElement.cpp: 38046 (WebCore::SVGCursorElement::svgAttributeChanged): 38047 * svg/SVGCursorElement.h: 38048 * svg/SVGDescElement.h: 38049 (WebCore::SVGDescElement::rendererIsNeeded): 38050 * svg/SVGDocument.cpp: 38051 * svg/SVGDocument.h: 38052 (WebCore::SVGDocument::create): 38053 (WebCore::SVGDocument::isSVGDocument): 38054 * svg/SVGElement.h: 38055 (WebCore::SVGElement::isStyled): 38056 (WebCore::SVGElement::isStyledTransformable): 38057 (WebCore::SVGElement::isStyledLocatable): 38058 (WebCore::SVGElement::isSVG): 38059 (WebCore::SVGElement::isFilterEffect): 38060 (WebCore::SVGElement::isGradientStop): 38061 (WebCore::SVGElement::isTextContent): 38062 (WebCore::SVGElement::isValid): 38063 (WebCore::SVGElement::svgAttributeChanged): 38064 (WebCore::SVGElement::synchronizeProperty): 38065 (WebCore::SVGElement::supplementalTransform): 38066 (WebCore::SVGElement::invalidateSVGAttributes): 38067 (WebCore::SVGElement::rendererIsNeeded): 38068 (WebCore::SVGElement::needsPendingResourceHandling): 38069 (WebCore::SVGElement::buildPendingResource): 38070 * svg/SVGElementInstance.h: 38071 (WebCore::SVGElementInstance::create): 38072 (WebCore::SVGElementInstance::correspondingElement): 38073 (WebCore::SVGElementInstance::correspondingUseElement): 38074 (WebCore::SVGElementInstance::shadowTreeElement): 38075 (WebCore::SVGElementInstance::parentNode): 38076 (WebCore::SVGElementInstance::previousSibling): 38077 (WebCore::SVGElementInstance::nextSibling): 38078 (WebCore::SVGElementInstance::firstChild): 38079 (WebCore::SVGElementInstance::lastChild): 38080 (WebCore::SVGElementInstance::ownerDocument): 38081 (WebCore::SVGElementInstance::toNode): 38082 (WebCore::SVGElementInstance::toSVGElementInstance): 38083 (WebCore::SVGElementInstance::hasChildNodes): 38084 (WebCore::SVGElementInstance::setFirstChild): 38085 (WebCore::SVGElementInstance::setLastChild): 38086 (WebCore::SVGElementInstance::setNextSibling): 38087 (WebCore::SVGElementInstance::setPreviousSibling): 38088 (WebCore::SVGElementInstance::refEventTarget): 38089 (WebCore::SVGElementInstance::derefEventTarget): 38090 * svg/SVGElementInstanceList.h: 38091 (WebCore::SVGElementInstanceList::create): 38092 * svg/SVGException.h: 38093 (WebCore::SVGException::create): 38094 (WebCore::SVGException::SVGException): 38095 * svg/SVGFEColorMatrixElement.cpp: 38096 (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): 38097 * svg/SVGFEComponentTransferElement.cpp: 38098 (WebCore::SVGFEComponentTransferElement::build): 38099 * svg/SVGFEDiffuseLightingElement.cpp: 38100 (WebCore::SVGFEDiffuseLightingElement::findLights): 38101 * svg/SVGFont.cpp: 38102 (WebCore::convertEmUnitToPixel): 38103 * svg/SVGUseElement.cpp: 38104 (WebCore::isDirectReference): 38105 38106 2010-12-22 Dai Mikurube <dmikurube (a] google.com> 38107 38108 Reviewed by Kent Tamura. 38109 38110 https://bugs.webkit.org/show_bug.cgi?id=51289 38111 Initial state of checkValidity() and :invalid are incorrect with <select required> 38112 38113 * html/HTMLSelectElement.cpp: 38114 (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change. 38115 38116 2010-12-22 Alexander Pavlov <apavlov (a] chromium.org> 38117 38118 Reviewed by Joseph Pecoraro. 38119 38120 Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly 38121 https://bugs.webkit.org/show_bug.cgi?id=51405 38122 38123 Invoke markPropertyStart() after the parser has restored after an error. 38124 38125 * css/CSSGrammar.y: 38126 38127 2010-12-22 Dai Mikurube <dmikurube (a] google.com> 38128 38129 Reviewed by Kent Tamura. 38130 38131 Assertion failure with <select multiple required> 38132 https://bugs.webkit.org/show_bug.cgi?id=51260 38133 38134 Test: fast/css/pseudo-valid-select-click.html 38135 38136 * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache. 38137 (WebCore::SelectElement::updateListBoxSelection): 38138 38139 2010-12-21 Darin Adler <darin (a] apple.com> 38140 38141 Unreviewed correction to unreviewed build fix for r74447. 38142 38143 Inappropriate code was left behind in sourceURI function for non-Dashboard platforms. 38144 38145 * html/HTMLImageLoader.cpp: 38146 (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround 38147 logic is inside the #ifdef. 38148 38149 2010-12-21 Simon Fraser <simon.fraser (a] apple.com> 38150 38151 Reviewed by Darin Adler. 38152 38153 Include the shadow color space as part of the GraphicsContext state 38154 https://bugs.webkit.org/show_bug.cgi?id=51420 38155 38156 Include the ColorSpace for the shadow color as part of the graphics 38157 state. This will be used later for a shadow implementation that 38158 does not rely on platform shadow code. 38159 38160 * platform/graphics/GraphicsContext.cpp: 38161 (WebCore::GraphicsContext::setShadow): 38162 (WebCore::GraphicsContext::clearShadow): 38163 (WebCore::GraphicsContext::getShadow): 38164 * platform/graphics/GraphicsContext.h: 38165 (WebCore::GraphicsContextState::GraphicsContextState): 38166 * platform/graphics/chromium/FontChromiumWin.cpp: 38167 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 38168 (WebCore::Font::drawComplexText): 38169 * platform/graphics/mac/FontMac.mm: 38170 (WebCore::Font::drawGlyphs): 38171 * platform/graphics/skia/SkiaFontWin.cpp: 38172 (WebCore::windowsCanHandleDrawTextShadow): 38173 * platform/graphics/win/FontCGWin.cpp: 38174 (WebCore::drawGDIGlyphs): 38175 (WebCore::Font::drawGlyphs): 38176 * platform/graphics/wince/GraphicsContextWinCE.cpp: 38177 (WebCore::GraphicsContext::fillRoundedRect): 38178 (WebCore::GraphicsContext::drawText): 38179 38180 2010-12-21 Dan Bernstein <mitz (a] apple.com> 38181 38182 Reviewed by Sam Weinig. 38183 38184 <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent 38185 https://bugs.webkit.org/show_bug.cgi?id=51413 38186 38187 71884 was wrong in moving willSendRequest to ResourceLoader::start(). Its wrong to do all the 38188 scheduling, which is host-dependent, before calling willSendRequest, because the latter can 38189 change the host. 38190 38191 * loader/NetscapePlugInStreamLoader.cpp: 38192 (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init() 38193 and return 0 if it is false. 38194 * loader/ResourceLoader.cpp: 38195 (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest() 38196 from start() into here. Return false if willSendRequest() canceled the request. 38197 (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init(). 38198 * loader/ResourceLoader.h: 38199 * loader/SubresourceLoader.cpp: 38200 (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init() 38201 and return 0 if it is false. 38202 38203 2010-12-21 Benjamin Kalman <kalman (a] chromium.org> 38204 38205 Reviewed by Darin Adler. 38206 38207 Shift-End does not select to the end of the line 38208 https://bugs.webkit.org/show_bug.cgi?id=50610 38209 38210 Let the VisiblePosition affinity for end of line selection to be set by 38211 visibleEnd/visibleStart rather than using end/start and always using UPSTREAM. 38212 38213 Test: editing/selection/extend-to-line-boundary.html 38214 38215 * editing/SelectionController.cpp: 38216 (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than 38217 start/end. 38218 (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity. 38219 38220 2010-12-21 Jan Erik Hanssen <jhanssen (a] sencha.com> 38221 38222 Reviewed by Simon Fraser. 38223 38224 matrix3d() must take the zoom factor into account 38225 https://bugs.webkit.org/show_bug.cgi?id=51408 38226 38227 Test: transforms/3d/general/matrix-with-zoom-3d.html 38228 38229 * css/CSSStyleSelector.cpp: 38230 (WebCore::CSSStyleSelector::createTransformOperations): 38231 38232 2010-12-21 Adam Barth <abarth (a] webkit.org> 38233 38234 Reviewed by Darin Adler. 38235 38236 Move V8 to common implementation of window.open 38237 https://bugs.webkit.org/show_bug.cgi?id=51385 38238 38239 I also changed some function names to match WebKit style. There's a 38240 bunch of code we can remove in the generic bindings now. I'll do that 38241 in the next patch. 38242 38243 * bindings/generic/BindingDOMWindow.h: 38244 (WebCore::::open): 38245 * bindings/generic/BindingFrame.h: 38246 (WebCore::::navigateIfAllowed): 38247 * bindings/generic/BindingSecurity.h: 38248 (WebCore::::canAccessWindow): 38249 (WebCore::::allowPopUp): 38250 (WebCore::::shouldAllowNavigation): 38251 * bindings/generic/GenericBinding.h: 38252 (WebCore::completeURL): 38253 * bindings/js/JSDOMBinding.cpp: 38254 (WebCore::toLexicalFrame): 38255 (WebCore::toDynamicFrame): 38256 * bindings/js/specialization/JSBindingState.cpp: 38257 (WebCore::::activeFrame): 38258 (WebCore::::firstFrame): 38259 * bindings/js/specialization/JSBindingState.h: 38260 * bindings/v8/V8Utilities.cpp: 38261 (WebCore::callingOrEnteredFrame): 38262 * bindings/v8/custom/V8DOMWindowCustom.cpp: 38263 (WebCore::V8DOMWindow::locationAccessorSetter): 38264 (WebCore::V8DOMWindow::openCallback): 38265 * bindings/v8/specialization/V8BindingState.cpp: 38266 (WebCore::::activeWindow): 38267 (WebCore::::firstWindow): 38268 (WebCore::::activeFrame): 38269 (WebCore::::firstFrame): 38270 * bindings/v8/specialization/V8BindingState.h: 38271 38272 2010-12-21 Ryosuke Niwa <rniwa (a] webkit.org> 38273 38274 Unreviewed build fix for r74447. 38275 38276 Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled. 38277 38278 * html/HTMLImageLoader.cpp: 38279 (WebCore::HTMLImageLoader::sourceURI): 38280 38281 2010-12-21 Dan Bernstein <mitz (a] apple.com> 38282 38283 Reviewed by John Sullivan. 38284 38285 <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget 38286 38287 Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html 38288 38289 The Address Book widget sets the src attribute of an img element to a string that looks like a CSS 38290 URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using 38291 the wrong function to parse URL attributes (last named deprecatedParseURL). 38292 38293 * html/HTMLImageLoader.cpp: 38294 (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("' 38295 and ends with '")', and if so, strip those away. 38296 38297 2010-12-21 Ryosuke Niwa <rniwa (a] webkit.org> 38298 38299 Reviewed by Darin Adler. 38300 38301 CharacterData needs cleanup 38302 https://bugs.webkit.org/show_bug.cgi?id=51426 38303 38304 Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer. 38305 38306 * dom/CharacterData.cpp: 38307 (WebCore::CharacterData::setData): Calls setDataAndUpdate. 38308 (WebCore::CharacterData::parserAppendData): Ditto. 38309 (WebCore::CharacterData::appendData): Ditto. 38310 (WebCore::CharacterData::insertData): Ditto. 38311 (WebCore::CharacterData::deleteData): Ditto. 38312 (WebCore::CharacterData::replaceData): Ditto. 38313 (WebCore::CharacterData::setDataAndUpdate): Added. 38314 (WebCore::CharacterData::updateRenderer): Added. 38315 (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData. 38316 * dom/CharacterData.h: 38317 38318 2010-12-21 Sheriff Bot <webkit.review.bot (a] gmail.com> 38319 38320 Unreviewed, rolling out r74420. 38321 http://trac.webkit.org/changeset/74420 38322 https://bugs.webkit.org/show_bug.cgi?id=51436 38323 38324 causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash 38325 (Requested by tonyg-cr on #webkit). 38326 38327 * dom/DocumentParser.cpp: 38328 * dom/DocumentParser.h: 38329 * html/parser/HTMLDocumentParser.cpp: 38330 * html/parser/HTMLDocumentParser.h: 38331 * html/parser/HTMLParserScheduler.cpp: 38332 (WebCore::HTMLParserScheduler::HTMLParserScheduler): 38333 * html/parser/HTMLParserScheduler.h: 38334 (WebCore::HTMLParserScheduler::isScheduledForResume): 38335 * page/PageGroupLoadDeferrer.cpp: 38336 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 38337 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 38338 38339 2010-12-21 Kenneth Russell <kbr (a] google.com> 38340 38341 Reviewed by Darin Fisher. 38342 38343 Enable extensions used in accelerated 2D canvas implementation 38344 https://bugs.webkit.org/show_bug.cgi?id=51433 38345 38346 Call Extensions3D::ensureEnabled() for all supported extensions 38347 the accelerated 2D Canvas implementation uses. Tested with a few 38348 layout tests previously failing when run in Chromium due to OpenGL 38349 INVALID_ENUM and other errors. 38350 38351 * platform/graphics/gpu/DrawingBuffer.cpp: 38352 (WebCore::DrawingBuffer::create): 38353 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 38354 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 38355 (WebCore::SharedGraphicsContext3D::supportsBGRA): 38356 * platform/graphics/gpu/SharedGraphicsContext3D.h: 38357 38358 2010-12-21 Zhenyao Mo <zmo (a] google.com> 38359 38360 Reviewed by Kenneth Russell. 38361 38362 WebGLRenderingContext needs to zero textures and renderbuffers 38363 https://bugs.webkit.org/show_bug.cgi?id=49355 38364 38365 Test: fast/canvas/webgl/uninitialized-test.html 38366 38367 * html/canvas/WebGLFramebuffer.cpp: 38368 (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed. 38369 (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist. 38370 * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter. 38371 * html/canvas/WebGLRenderingContext.cpp: 38372 (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter. 38373 (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto. 38374 (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. 38375 (WebCore::WebGLRenderingContext::drawArrays): Ditto. 38376 (WebCore::WebGLRenderingContext::drawElements): Ditto. 38377 (WebCore::WebGLRenderingContext::readPixels): Ditto. 38378 (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures. 38379 * platform/graphics/GraphicsContext3D.cpp: 38380 (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0. 38381 * platform/graphics/GraphicsContext3D.h: 38382 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 38383 (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe. 38384 * platform/graphics/chromium/DrawingBufferChromium.cpp: 38385 (WebCore::generateColorTexture): Ditto. 38386 * platform/graphics/chromium/LayerRendererChromium.cpp: 38387 (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto. 38388 * platform/graphics/chromium/TextureManager.cpp: 38389 (WebCore::TextureManager::requestTexture): Ditto. 38390 * platform/graphics/chromium/VideoLayerChromium.cpp: 38391 (WebCore::VideoLayerChromium::allocateTexture): Ditto. 38392 * platform/graphics/gpu/DrawingBuffer.cpp: 38393 (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer. 38394 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 38395 (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe. 38396 * platform/graphics/gpu/Texture.cpp: 38397 (WebCore::Texture::create): Ditto. 38398 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 38399 (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in. 38400 38401 2010-12-21 Chris Rogers <crogers (a] google.com> 38402 38403 Reviewed by Kenneth Russell. 38404 38405 Add AudioBusChromium for decoding audio file data 38406 https://bugs.webkit.org/show_bug.cgi?id=51430 38407 38408 No new tests since audio API is not yet implemented. 38409 38410 * platform/audio/chromium: Added. 38411 * platform/audio/chromium/AudioBusChromium.cpp: Added. 38412 (WebCore::createBusFromInMemoryAudioFile): 38413 38414 2010-12-21 Chris Rogers <crogers (a] google.com> 38415 38416 Reviewed by Kenneth Russell. 38417 38418 Add web audio spatialization resource files 38419 https://bugs.webkit.org/show_bug.cgi?id=50998 38420 38421 No new tests since audio API is not yet implemented. 38422 38423 * platform/audio/HRTFElevation.cpp: 38424 (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation): 38425 * platform/audio/mac/AudioBusMac.mm: 38426 (WebCore::AudioBus::loadPlatformResource): 38427 * platform/audio/resources: Added. 38428 * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added. 38429 * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added. 38430 * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added. 38431 * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added. 38432 * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added. 38433 * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added. 38434 * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added. 38435 * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added. 38436 * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added. 38437 * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added. 38438 * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added. 38439 * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added. 38440 * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added. 38441 * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added. 38442 * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added. 38443 * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added. 38444 * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added. 38445 * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added. 38446 * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added. 38447 * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added. 38448 * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added. 38449 * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added. 38450 * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added. 38451 * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added. 38452 * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added. 38453 * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added. 38454 * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added. 38455 * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added. 38456 * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added. 38457 * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added. 38458 * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added. 38459 * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added. 38460 * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added. 38461 * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added. 38462 * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added. 38463 * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added. 38464 * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added. 38465 * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added. 38466 * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added. 38467 * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added. 38468 * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added. 38469 * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added. 38470 * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added. 38471 * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added. 38472 * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added. 38473 * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added. 38474 * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added. 38475 * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added. 38476 * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added. 38477 * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added. 38478 * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added. 38479 * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added. 38480 * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added. 38481 * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added. 38482 * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added. 38483 * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added. 38484 * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added. 38485 * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added. 38486 * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added. 38487 * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added. 38488 * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added. 38489 * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added. 38490 * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added. 38491 * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added. 38492 * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added. 38493 * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added. 38494 * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added. 38495 * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added. 38496 * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added. 38497 * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added. 38498 * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added. 38499 * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added. 38500 * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added. 38501 * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added. 38502 * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added. 38503 * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added. 38504 * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added. 38505 * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added. 38506 * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added. 38507 * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added. 38508 * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added. 38509 * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added. 38510 * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added. 38511 * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added. 38512 * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added. 38513 * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added. 38514 * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added. 38515 * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added. 38516 * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added. 38517 * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added. 38518 * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added. 38519 * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added. 38520 * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added. 38521 * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added. 38522 * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added. 38523 * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added. 38524 * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added. 38525 * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added. 38526 * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added. 38527 * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added. 38528 * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added. 38529 * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added. 38530 * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added. 38531 * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added. 38532 * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added. 38533 * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added. 38534 * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added. 38535 * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added. 38536 * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added. 38537 * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added. 38538 * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added. 38539 * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added. 38540 * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added. 38541 * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added. 38542 * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added. 38543 * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added. 38544 * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added. 38545 * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added. 38546 * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added. 38547 * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added. 38548 * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added. 38549 * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added. 38550 * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added. 38551 * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added. 38552 * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added. 38553 * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added. 38554 * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added. 38555 * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added. 38556 * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added. 38557 * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added. 38558 * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added. 38559 * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added. 38560 * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added. 38561 * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added. 38562 * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added. 38563 * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added. 38564 * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added. 38565 * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added. 38566 * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added. 38567 * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added. 38568 * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added. 38569 * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added. 38570 * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added. 38571 * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added. 38572 * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added. 38573 * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added. 38574 * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added. 38575 * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added. 38576 * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added. 38577 * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added. 38578 * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added. 38579 * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added. 38580 * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added. 38581 * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added. 38582 * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added. 38583 * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added. 38584 * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added. 38585 * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added. 38586 * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added. 38587 * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added. 38588 * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added. 38589 * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added. 38590 * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added. 38591 * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added. 38592 * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added. 38593 * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added. 38594 * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added. 38595 * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added. 38596 * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added. 38597 * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added. 38598 * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added. 38599 * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added. 38600 * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added. 38601 * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added. 38602 * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added. 38603 * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added. 38604 * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added. 38605 * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added. 38606 * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added. 38607 * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added. 38608 * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added. 38609 * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added. 38610 * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added. 38611 * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added. 38612 * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added. 38613 * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added. 38614 * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added. 38615 * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added. 38616 * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added. 38617 * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added. 38618 * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added. 38619 * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added. 38620 * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added. 38621 * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added. 38622 * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added. 38623 * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added. 38624 * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added. 38625 * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added. 38626 * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added. 38627 * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added. 38628 * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added. 38629 * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added. 38630 * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added. 38631 * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added. 38632 * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added. 38633 * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added. 38634 * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added. 38635 * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added. 38636 * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added. 38637 * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added. 38638 * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added. 38639 * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added. 38640 * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added. 38641 * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added. 38642 * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added. 38643 * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added. 38644 * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added. 38645 * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added. 38646 * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added. 38647 * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added. 38648 * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added. 38649 * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added. 38650 * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added. 38651 * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added. 38652 * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added. 38653 * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added. 38654 * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added. 38655 * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added. 38656 * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added. 38657 * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added. 38658 * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added. 38659 * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added. 38660 * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added. 38661 * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added. 38662 * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added. 38663 * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added. 38664 * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added. 38665 * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added. 38666 * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added. 38667 * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added. 38668 38669 2010-12-21 Geoffrey Garen <ggaren (a] apple.com> 38670 38671 Reviewed by Gavin Barraclough & Oliver Hunt. 38672 38673 Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements 38674 https://bugs.webkit.org/show_bug.cgi?id=51359 38675 38676 * ForwardingHeaders/wtf/PageAllocationAligned.h: Added. 38677 38678 2010-12-21 Ariya Hidayat <ariya (a] sencha.com> 38679 38680 Reviewed by Simon Fraser. 38681 38682 https://bugs.webkit.org/show_bug.cgi?id=49774 38683 Need to scale translation values in matrix() by the zoom factor. 38684 38685 Test: fast/transforms/matrix-with-zoom.html 38686 38687 * css/CSSStyleSelector.cpp: 38688 (WebCore::CSSStyleSelector::createTransformOperations): 38689 38690 2010-12-21 Jian Li <jianli (a] chromium.org> 38691 38692 Reviewed by Darin Adler. 38693 38694 Fix bug 51366: REGRESSION (r66452): Form data no longer contains 38695 'Content-Type' header for files with unrecognized extensions 38696 https://bugs.webkit.org/show_bug.cgi?id=51366 38697 38698 Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html 38699 38700 * platform/network/FormData.cpp: 38701 (WebCore::FormData::appendKeyValuePairItems): 38702 38703 2010-12-21 Darin Adler <darin (a] apple.com> 38704 38705 Reviewed by Sam Weinig. 38706 38707 Mac WebKit delivers an extra didCommit when loading web archives 38708 https://bugs.webkit.org/show_bug.cgi?id=51419 38709 38710 Could not find a simple way to test this in WebKit1, but in WebKit2 38711 it leads to an immediate failure when loading a web archive. Tested 38712 that making the Mac share the same code path with other platforms 38713 works fine in WebKit1. 38714 38715 * loader/FrameLoader.cpp: 38716 (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for 38717 the Mac platform. Also removed the call to isArchiveMimeType since we 38718 get a 0 from ArchiveFactory::create in that case. 38719 38720 * loader/archive/ArchiveFactory.cpp: 38721 (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by 38722 adding a special case for null and empty strings, since hash tables can't 38723 handle null strings. 38724 (WebCore::ArchiveFactory::create): Ditto. 38725 38726 2010-12-21 Yong Li <yoli (a] rim.com> 38727 38728 Reviewed by Adam Barth. 38729 38730 Suspend HTMLParserScheduler when page load is deferred to 38731 avoid potential JS re-entrancy. Otherwise, when JS execution is triggered 38732 from an external script or by events, and is blocked by a modal dialog, 38733 WebKit can parse more HTML source and also start another JS execution. 38734 38735 https://bugs.webkit.org/show_bug.cgi?id=48077 38736 38737 Test case: WebCore/manual-tests/bugzilla-48077.html. 38738 38739 * dom/DocumentParser.cpp: 38740 (WebCore::DocumentParser::suspendParsing): 38741 (WebCore::DocumentParser::resumeParsing): 38742 * dom/DocumentParser.h: 38743 * html/parser/HTMLDocumentParser.cpp: 38744 (WebCore::HTMLDocumentParser::suspendParsing): 38745 (WebCore::HTMLDocumentParser::resumeParsing): 38746 * html/parser/HTMLParserScheduler.cpp: 38747 (WebCore::HTMLParserScheduler::HTMLParserScheduler): 38748 (WebCore::HTMLParserScheduler::suspend): 38749 (WebCore::HTMLParserScheduler::resume): 38750 * html/parser/HTMLParserScheduler.h: 38751 (WebCore::HTMLParserScheduler::isScheduledForResume): 38752 * page/PageGroupLoadDeferrer.cpp: 38753 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 38754 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 38755 38756 2010-12-21 Anders Carlsson <andersca (a] apple.com> 38757 38758 Reviewed by John Sullivan. 38759 38760 Clicking missing plug-in text does not show a sheet 38761 https://bugs.webkit.org/show_bug.cgi?id=51403 38762 38763 * WebCore.exp.in: 38764 Export symbols needed by WebKit2. 38765 38766 * WebCore.xcodeproj/project.pbxproj: 38767 Make HTMLPlugInImageElement.h a private header. 38768 38769 * html/HTMLPlugInImageElement.h: 38770 (WebCore::HTMLPlugInImageElement::serviceType): 38771 (WebCore::HTMLPlugInImageElement::url): 38772 Make these member functions public. 38773 38774 2010-12-21 Andras Becsi <abecsi (a] webkit.org> 38775 38776 Unreviewed build fix. 38777 38778 [Qt] Fix the build with USE_GSTREAMER=1 38779 38780 No new tests needed. 38781 38782 * WebCore.pro: remove nonexisting DataSourceGStreamer sources. 38783 38784 2010-12-21 Mahesh Kulkarni <mahesh.kulkarni (a] nokia.com> 38785 38786 Reviewed by Andreas Kling. 38787 38788 [Qt] QtWebKit doesn't build in debug on Windows 38789 https://bugs.webkit.org/show_bug.cgi?id=41930 38790 38791 Disable incremental linking in windows 32bit debug version as webkit is so 38792 big it fails to link incremental. 38793 38794 Build fix. No new test cases added. 38795 38796 * WebCore.pro: 38797 38798 2010-12-21 Dominic Cooney <dominicc (a] google.com> 38799 38800 Reviewed by Adam Barth. 38801 38802 Rename Node::isShadowNode to isShadowRoot 38803 https://bugs.webkit.org/show_bug.cgi?id=51060 38804 38805 The method gets whether the node is the root of a shadow tree; 38806 renamed to reflect intent. 38807 38808 A simple rename--no new tests needed. 38809 38810 * css/CSSStyleSelector.cpp: 38811 (WebCore::CSSStyleSelector::initForStyleResolve): 38812 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 38813 * dom/Node.cpp: 38814 (WebCore::Node::shadowTreeRootNode): 38815 (WebCore::Node::isInShadowTree): 38816 (WebCore::eventTargetRespectingSVGTargetRules): 38817 (WebCore::Node::getEventAncestors): 38818 * dom/Node.h: 38819 (WebCore::Node::isShadowRoot): 38820 * dom/Range.cpp: 38821 (WebCore::Range::checkNodeBA): 38822 * page/DragController.cpp: 38823 (WebCore::asFileInput): 38824 * page/EventHandler.cpp: 38825 (WebCore::EventHandler::handleMousePressEvent): 38826 (WebCore::EventHandler::dispatchMouseEvent): 38827 * rendering/RenderBlock.cpp: 38828 (WebCore::RenderBlock::hasLineIfEmpty): 38829 * rendering/TextControlInnerElements.cpp: 38830 (WebCore::TextControlInnerElement::attachInnerElement): 38831 * svg/SVGStyledElement.cpp: 38832 (WebCore::SVGStyledElement::title): 38833 * svg/SVGUseElement.cpp: 38834 (WebCore::ShadowTreeUpdateBlocker::while): 38835 * svg/animation/SVGSMILElement.cpp: 38836 (WebCore::SVGSMILElement::insertedIntoDocument): 38837 38838 2010-12-20 Mahesh Kulkarni <mahesh.kulkarni (a] nokia.com> 38839 38840 Reviewed by Andreas Kling. 38841 38842 Qt port of geolocation, geoposition objects timestamp was in seconds 38843 instead of miliseconds as per HTML5 Geolocation standards. 38844 Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface 38845 http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp 38846 38847 Implemented by Asheesh Srivastava. 38848 38849 [QT] QtWebkit geolocation's position.timestamp is not in miliseconds 38850 https://bugs.webkit.org/show_bug.cgi?id=51100 38851 38852 Porting code not covered in layout testing. No new tests added. 38853 38854 * platform/qt/GeolocationServiceQt.cpp: 38855 (WebCore::GeolocationServiceQt::positionUpdated): 38856 38857 2010-12-20 Yuzo Fujishima <yuzo (a] google.com> 38858 38859 Reviewed by Eric Seidel. 38860 38861 Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded 38862 https://bugs.webkit.org/show_bug.cgi?id=26183 38863 38864 Test: fast/css/font-face-font-family-descriptor.html 38865 38866 * css/CSSParser.cpp: 38867 (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule 38868 invalid if its font-family descriptor has multiple (or zero) families. 38869 38870 2010-12-20 Pavel Feldman <pfeldman (a] chromium.org> 38871 38872 Reviewed by Yury Semikhatsky. 38873 38874 Web Inspector: fall back to object formatting in case dom is not yet loaded. 38875 https://bugs.webkit.org/show_bug.cgi?id=44273 38876 38877 Sometimes DOM is loaded after the inline message is being formatted, so we get 38878 no nodeId for it. Let us fall back to object formatting in such cases. 38879 38880 * inspector/front-end/ConsoleView.js: 38881 (WebInspector.ConsoleView.prototype._formatnode): 38882 (WebInspector.ConsoleMessage): 38883 38884 2010-12-20 Pavel Feldman <pfeldman (a] chromium.org> 38885 38886 Reviewed by Joseph Pecoraro. 38887 38888 Web Inspector: cycle through tag name / attributes / new attribute on Tab. 38889 38890 https://bugs.webkit.org/show_bug.cgi?id=38429 38891 38892 * inspector/front-end/ElementsTreeOutline.js: 38893 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): 38894 38895 2010-12-20 Yuta Kitamura <yutak (a] chromium.org> 38896 38897 Reviewed by Alexey Proskuryakov. 38898 38899 WebSocket errors should be logged to console 38900 https://bugs.webkit.org/show_bug.cgi?id=40945 38901 38902 Test: http/tests/inspector/console-websocket-error.html 38903 38904 * platform/network/SocketStreamErrorBase.cpp: 38905 (WebCore::SocketStreamErrorBase::compare): 38906 * platform/network/SocketStreamErrorBase.h: 38907 (WebCore::SocketStreamErrorBase::failingURL): 38908 (WebCore::SocketStreamErrorBase::localizedDescription): 38909 (WebCore::SocketStreamErrorBase::SocketStreamErrorBase): 38910 * platform/network/cf/SocketStreamError.h: 38911 (WebCore::SocketStreamError::SocketStreamError): 38912 * platform/network/cf/SocketStreamHandle.h: 38913 * platform/network/cf/SocketStreamHandleCFNet.cpp: 38914 (WebCore::SocketStreamHandle::readStreamCallback): 38915 (WebCore::SocketStreamHandle::writeStreamCallback): 38916 (WebCore::SocketStreamHandle::reportErrorToClient): 38917 * websockets/WebSocketChannel.cpp: 38918 (WebCore::WebSocketChannel::didFail): 38919 38920 2010-12-17 MORITA Hajime <morrita (a] google.com> 38921 38922 Reviewed by James Robinson. 38923 38924 https://bugs.webkit.org/show_bug.cgi?id=51240 38925 [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia. 38926 38927 Even after a shader was set, old color value had been remaining and passed to Skia. 38928 Then Skia refered an alpha component of that color to make pixels transparent. 38929 This change invalidates existing color value when a shader is given, 38930 which means the renderer will paint shapes with gradients or patterns. 38931 38932 Test: fast/gradients/gradient-after-transparent-border.html 38933 38934 * platform/graphics/skia/PlatformContextSkia.cpp: 38935 (WebCore::PlatformContextSkia::setStrokeShader): 38936 (WebCore::PlatformContextSkia::setFillShader): 38937 38938 2010-12-20 Xiaomei Ji <xji (a] chromium.org> 38939 38940 Reviewed by Dan Bernstein. 38941 38942 Fix move left/right by character hang. 38943 https://bugs.webkit.org/show_bug.cgi?id=51344 38944 38945 Test: editing/selection/51344.html 38946 38947 * editing/VisiblePosition.cpp: 38948 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 38949 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 38950 38951 2010-12-20 Steve Lacey <sjl (a] chromium.org> 38952 38953 Reviewed by David Levin. 38954 38955 Add missing default styles in mediaControlsChromium.css to prevent 38956 user overrides. 38957 https://bugs.webkit.org/show_bug.cgi?id=51360 38958 38959 No new tests needed as functionality is covered by existing layout 38960 tests. 38961 38962 38963 * css/mediaControlsChromium.css: 38964 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 38965 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): 38966 38967 2010-12-20 Jian Li <jianli (a] chromium.org> 38968 38969 Reviewed by David Levin. 38970 38971 Add lastModifiedDate attribute to File interface per File API spec 38972 https://bugs.webkit.org/show_bug.cgi?id=49895 38973 38974 lastModifiedDate is not supported for GObject bindings because Date is 38975 not support in code generation. 38976 38977 Test: http/tests/local/fileapi/file-last-modified.html 38978 38979 * fileapi/File.cpp: 38980 (WebCore::File::lastModifiedDate): 38981 * fileapi/File.h: 38982 * fileapi/File.idl: 38983 38984 2010-12-20 Mark Rowe <mrowe (a] apple.com> 38985 38986 Reviewed by Dan Bernstein. 38987 38988 <rdar://problem/8757601> Don't install header files in to the Resources directory. 38989 38990 * WebCore.xcodeproj/project.pbxproj: 38991 38992 2010-12-20 Andrei Popescu <andreip (a] google.com> 38993 38994 Reviewed by Jeremy Orlow. 38995 38996 [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned 38997 https://bugs.webkit.org/show_bug.cgi?id=51338 38998 38999 * bindings/v8/SerializedScriptValue.cpp: 39000 (WebCore::ZigZag::Reader::readUint32): 39001 39002 2010-12-20 Beth Dakin <bdakin (a] apple.com> 39003 39004 Reviewed by Ada Chan. 39005 39006 Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 39007 RenderMathMLSubSup::layout() because of null base 39008 -and corresponding- 39009 <rdar://problem/8712200> 39010 39011 Only use base inside if(base) block. 39012 * mathml/RenderMathMLSubSup.cpp: 39013 (WebCore::RenderMathMLSubSup::layout): 39014 39015 2010-12-20 Enrica Casucci <enrica (a] apple.com> 39016 39017 Reviewed by Darin Adler. 39018 39019 Crash at WebCore::SplitElementCommand::SplitElementCommand 39020 https://bugs.webkit.org/show_bug.cgi?id=51278 39021 <rdar://problem/7347139> 39022 39023 Executing outdent command on an inline blockquote that is 39024 not the first element in a block causes a crash. 39025 The fix consists in chaging the was the start of block is 39026 calculated in case of the inline blockquote. 39027 39028 Test: editing/execCommand/outdent-inline-blockquote.html 39029 editing/execCommand/outdent-inline-list.html 39030 39031 * editing/IndentOutdentCommand.cpp: 39032 (WebCore::IndentOutdentCommand::outdentParagraph): 39033 39034 2010-12-20 Oliver Hunt <oliver (a] apple.com> 39035 39036 Reviewed by Darin Adler. 39037 39038 Need to support serialisation of cyclic graphs in the internal structured cloning algorithm 39039 https://bugs.webkit.org/show_bug.cgi?id=51353 39040 39041 The Internal Structured Clone algorithm has been changed to allow (and 39042 correctly clone) cyclic graphs. This patch updates our implementation 39043 to provide that functionality. 39044 39045 I've bumped the serialization version number, and added ObjectReferenceTag 39046 to represent references to objects that have already been seen. 39047 39048 * bindings/js/SerializedScriptValue.cpp: 39049 (WebCore::CloneSerializer::startObjectInternal): 39050 Now that we have something a bit more complex than cycle checking 39051 I've replaced the duplicate code in startObject and startArray with 39052 a shared function that implements that logic to plant an object 39053 reference 39054 (WebCore::CloneSerializer::startObject): 39055 (WebCore::CloneSerializer::startArray): 39056 Lift out duplicate code 39057 (WebCore::CloneSerializer::endObject): 39058 Can't remove objects from the gcbuffer now as they need to remain live 39059 so we can identify graphs 39060 (WebCore::CloneSerializer::writeStringIndex): 39061 (WebCore::CloneSerializer::writeObjectIndex): 39062 (WebCore::CloneSerializer::writeConstantPoolIndex): 39063 (WebCore::CloneSerializer::write): 39064 (WebCore::CloneSerializer::serialize): 39065 (WebCore::CloneDeserializer::readStringIndex): 39066 (WebCore::CloneDeserializer::readConstantPoolIndex): 39067 (WebCore::CloneDeserializer::readTerminal): 39068 (WebCore::CloneDeserializer::deserialize): 39069 39070 2010-12-20 Xan Lopez <xlopez (a] igalia.com> 39071 39072 Reviewed by Gustavo Noronha. 39073 39074 * GNUmakefile.am: add missing files. 39075 39076 2010-12-20 Abhishek Arya <inferno (a] chromium.org> 39077 39078 Reviewed by James Robinson. 39079 39080 Pass the correct beforeChild value when adding a child to an anonymous table part. 39081 https://bugs.webkit.org/show_bug.cgi?id=50932 39082 39083 When a "before" content child was added to an anonymous table part, it was added 39084 after the last child. This patch fixes the behavior by adding it properly before 39085 the first child. 39086 39087 Test: fast/css-generated-content/table-before-child-add.html 39088 39089 * rendering/RenderTableRow.cpp: 39090 (WebCore::RenderTableRow::addChild): 39091 39092 2010-12-18 Gavin Barraclough <barraclough (a] apple.com> 39093 39094 Reviewed by Oliver Hunt. 39095 39096 Bug 26276 - Need a mechanism to determine stack extent 39097 39098 Add forwarding header for StackBounds.h. 39099 39100 * ForwardingHeaders/wtf/StackBounds.h: Added. 39101 39102 2010-12-20 James Robinson <jamesr (a] chromium.org> 39103 39104 Unreviewed, rolling out r74278. 39105 http://trac.webkit.org/changeset/74278 39106 https://bugs.webkit.org/show_bug.cgi?id=50833 39107 39108 [chromium] Causes many layout tests to crash 39109 39110 * platform/graphics/chromium/LayerRendererChromium.cpp: 39111 (WebCore::LayerRendererChromium::LayerRendererChromium): 39112 (WebCore::LayerRendererChromium::prepareToDrawLayers): 39113 (WebCore::LayerRendererChromium::drawLayers): 39114 (WebCore::LayerRendererChromium::useRenderSurface): 39115 (WebCore::LayerRendererChromium::setScissorToRect): 39116 * platform/graphics/chromium/LayerRendererChromium.h: 39117 39118 2010-12-20 Geoffrey Garen <ggaren (a] apple.com> 39119 39120 Reviewed by Sam Weinig. 39121 39122 Factored common page set management into a new PageBlock base class 39123 https://bugs.webkit.org/show_bug.cgi?id=51285 39124 39125 * ForwardingHeaders/wtf/PageBlock.h: Added. 39126 39127 2010-12-20 Steve Block <steveblock (a] google.com> 39128 39129 Reviewed by Jeremy Orlow. 39130 39131 GeolocationPositionCache should do database access on background thread 39132 https://bugs.webkit.org/show_bug.cgi?id=50825 39133 39134 Covered by existing Geolocation tests. 39135 39136 * page/Coordinates.h: 39137 (WebCore::Coordinates::threadSafeCopy): 39138 * page/GeolocationPositionCache.cpp: 39139 (WebCore::GeolocationPositionCache::GeolocationPositionCache): 39140 (WebCore::GeolocationPositionCache::addUser): 39141 (WebCore::GeolocationPositionCache::removeUser): 39142 (WebCore::GeolocationPositionCache::setDatabasePath): 39143 (WebCore::GeolocationPositionCache::setCachedPosition): 39144 (WebCore::GeolocationPositionCache::cachedPosition): 39145 (WebCore::GeolocationPositionCache::startBackgroundThread): 39146 (WebCore::GeolocationPositionCache::threadEntryPoint): 39147 (WebCore::GeolocationPositionCache::threadEntryPointImpl): 39148 (WebCore::GeolocationPositionCache::triggerReadFromDatabase): 39149 (WebCore::GeolocationPositionCache::readFromDatabase): 39150 (WebCore::GeolocationPositionCache::readFromDatabaseImpl): 39151 (WebCore::GeolocationPositionCache::triggerWriteToDatabase): 39152 (WebCore::GeolocationPositionCache::writeToDatabase): 39153 (WebCore::GeolocationPositionCache::writeToDatabaseImpl): 39154 * page/GeolocationPositionCache.h: 39155 * page/Geoposition.h: 39156 (WebCore::Geoposition::threadSafeCopy): 39157 (WebCore::Geoposition::Geoposition): 39158 39159 2010-12-20 Andras Becsi <abecsi (a] webkit.org> 39160 39161 Unreviewed build fix. 39162 39163 [Qt][V8] Add missing sources to the pro file and remove duplications to fix linking. 39164 39165 No new tests needed. 39166 39167 * WebCore.pro: 39168 39169 2010-12-20 Alexander Pavlov <apavlov (a] chromium.org> 39170 39171 Reviewed by Yury Semikhatsky. 39172 39173 Web Inspector: Make CSSCompletions a real class rather than singleton 39174 https://bugs.webkit.org/show_bug.cgi?id=51332 39175 39176 Drive-by: make use of keywords from re2js in the CSS tokenizer 39177 (apparently, various authors have presumed that re2js is processed at build time). 39178 39179 No new tests, as this is a refactoring. 39180 39181 * inspector/front-end/CSSCompletions.js: 39182 (WebInspector.CSSCompletions): 39183 (WebInspector.CSSCompletions.prototype.startsWith): 39184 (WebInspector.CSSCompletions.prototype.firstStartsWith): 39185 (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): 39186 (WebInspector.CSSCompletions.prototype.keySet): 39187 (WebInspector.CSSCompletions.prototype.next): 39188 (WebInspector.CSSCompletions.prototype.previous): 39189 (WebInspector.CSSCompletions.prototype._closest): 39190 * inspector/front-end/SourceCSSTokenizer.js: 39191 (WebInspector.SourceCSSTokenizer): 39192 * inspector/front-end/SourceCSSTokenizer.re2js: 39193 * inspector/front-end/StylesSidebarPane.js: 39194 (WebInspector.StylePropertyTreeElement.prototype): 39195 * inspector/front-end/inspector.js: 39196 (WebInspector.doLoadedDone.propertyNamesCallback): 39197 (WebInspector.doLoadedDone): 39198 39199 2010-12-10 Pavel Podivilov <podivilov (a] chromium.org> 39200 39201 Reviewed by Yury Semikhatsky. 39202 39203 Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided. 39204 https://bugs.webkit.org/show_bug.cgi?id=50813 39205 39206 * inspector/front-end/SourceFrame.js: 39207 (WebInspector.SourceFrame.prototype._addBreakpoint): 39208 (WebInspector.SourceFrame.prototype._breakpointRemoved): 39209 (WebInspector.SourceFrame.prototype._breakpointChanged): 39210 (WebInspector.SourceFrame.prototype._setBreakpointDecoration): 39211 (WebInspector.SourceFrame.prototype._removeBreakpointDecoration): 39212 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): 39213 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 39214 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): 39215 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): 39216 (WebInspector.SourceFrame.prototype._contextMenu): 39217 (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing): 39218 (WebInspector.SourceFrame.prototype._editBreakpointCondition): 39219 (WebInspector.SourceFrame.prototype._continueToLine): 39220 (WebInspector.SourceFrame.prototype._setBreakpoint): 39221 39222 2010-12-20 Andrei Popescu <andreip (a] google.com> 39223 39224 Reviewed by Jeremy Orlow. 39225 39226 IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit. 39227 https://bugs.webkit.org/show_bug.cgi?id=51112 39228 39229 Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort. 39230 39231 Test: storage/indexeddb/transaction-crash-on-abort.html 39232 39233 * storage/IDBTransactionBackendImpl.cpp: 39234 (WebCore::IDBTransactionBackendImpl::abort): 39235 (WebCore::IDBTransactionBackendImpl::commit): 39236 39237 2010-12-20 Andrei Popescu <andreip (a] google.com> 39238 39239 Reviewed by Jeremy Orlow. 39240 39241 IDBCursor::delete is not implemented. 39242 https://bugs.webkit.org/show_bug.cgi?id=51110 39243 39244 Implement IDBCursor::delete. 39245 See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete 39246 39247 Tests: storage/indexeddb/cursor-delete.html 39248 storage/indexeddb/cursor-index-delete.html 39249 39250 * storage/IDBCursor.cpp: 39251 (WebCore::IDBCursor::deleteFunction): 39252 * storage/IDBCursor.h: 39253 * storage/IDBCursor.idl: 39254 * storage/IDBCursorBackendImpl.cpp: 39255 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 39256 (WebCore::IDBCursorBackendImpl::deleteFunction): 39257 (WebCore::IDBCursorBackendImpl::loadCurrentRow): 39258 * storage/IDBCursorBackendImpl.h: 39259 (WebCore::IDBCursorBackendImpl::create): 39260 * storage/IDBCursorBackendInterface.h: 39261 * storage/IDBIndexBackendImpl.cpp: 39262 (WebCore::IDBIndexBackendImpl::openCursorInternal): 39263 * storage/IDBKey.cpp: 39264 (WebCore::IDBKey::fromQuery): 39265 * storage/IDBObjectStoreBackendImpl.cpp: 39266 (WebCore::IDBObjectStoreBackendImpl::deleteInternal): 39267 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 39268 39269 2010-12-20 Yury Semikhatsky <yurys (a] chromium.org> 39270 39271 Reviewed by Pavel Feldman. 39272 39273 Web Inspector: After a multiline command execution Console does not show the command prompt 39274 https://bugs.webkit.org/show_bug.cgi?id=51257 39275 39276 * inspector/front-end/TextPrompt.js: 39277 (WebInspector.TextPrompt.prototype._moveBackInHistory): 39278 (WebInspector.TextPrompt.prototype._moveForwardInHistory): 39279 39280 2010-12-19 Helder Correia <helder (a] sencha.com> 39281 39282 Reviewed by Ariya Hidayat. 39283 39284 [Qt] Blur distance should not be affected by transformations 39285 https://bugs.webkit.org/show_bug.cgi?id=51161 39286 39287 From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur: 39288 "The shadowBlur attribute specifies the level of the blurring effect. 39289 (The units do not map to coordinate space units, and are not affected 39290 by the current transformation matrix.)" 39291 39292 Test: fast/canvas/canvas-scale-shadowBlur.html 39293 39294 * platform/graphics/ContextShadow.cpp: 39295 (WebCore::ContextShadow::adjustBlurDistance): 39296 * platform/graphics/ContextShadow.h: 39297 * platform/graphics/cairo/ContextShadowCairo.cpp: 39298 (WebCore::ContextShadow::beginShadowLayer): 39299 * platform/graphics/qt/ContextShadowQt.cpp: 39300 (WebCore::ContextShadow::beginShadowLayer): 39301 39302 2010-12-19 Dan Bernstein <mitz (a] apple.com> 39303 39304 Reviewed by Cameron Zwarich. 39305 39306 Text emphasis marks are not repainted correctly in flipped writing modes 39307 https://bugs.webkit.org/show_bug.cgi?id=51307 39308 39309 Tests: fast/repaint/text-emphasis-h.html 39310 fast/repaint/text-emphasis-v.html 39311 39312 * rendering/InlineFlowBox.cpp: 39313 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check. 39314 39315 2010-12-19 Rob Buis <rwlbuis (a] gmail.com> 39316 39317 Reviewed by Andreas Kling. 39318 39319 Remove m_drawsContents from RenderSVGContainer.h 39320 https://bugs.webkit.org/show_bug.cgi?id=51305 39321 39322 Remove m_drawsContents, its getter and setter and the call 39323 sites, since it has no effect anymore. 39324 39325 * WebCore.order: 39326 * rendering/RenderSVGContainer.cpp: 39327 (WebCore::RenderSVGContainer::RenderSVGContainer): 39328 (WebCore::RenderSVGContainer::paint): 39329 * rendering/RenderSVGContainer.h: 39330 * rendering/RenderSVGResourceContainer.h: 39331 * rendering/SVGImageBufferTools.cpp: 39332 (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): 39333 39334 2010-12-19 Benjamin Poulain <benjamin.poulain (a] nokia.com> 39335 39336 Reviewed by Kenneth Rohde Christiansen. 39337 39338 WebKit does not build with worker but without the javascript debugger 39339 https://bugs.webkit.org/show_bug.cgi?id=51293 39340 39341 Add missing guard for calls depending on the debugger. 39342 39343 * inspector/InspectorController.cpp: 39344 (WebCore::InspectorController::populateScriptObjects): 39345 (WebCore::InspectorController::postWorkerNotificationToFrontend): 39346 39347 2010-12-18 Tom Sepez <tsepez (a] chromium.org> 39348 39349 Reviewed by David Levin. 39350 39351 https://bugs.webkit.org/show_bug.cgi?id=51055 39352 Fix a null de-reference when an XML file contains a malformed entity 39353 of the form "&:;". 39354 39355 Test: fast/parser/xml-colon-entity.html 39356 39357 * html/parser/HTMLEntitySearch.cpp: 39358 (WebCore::HTMLEntitySearch::advance): 39359 39360 2010-12-18 Noel Gordon <noel.gordon (a] gmail.com> 39361 39362 Reviewed by David Levin. 39363 39364 [chromium] Simplify the PNG encoder. 39365 https://bugs.webkit.org/show_bug.cgi?id=50905 39366 39367 Remove PNGEncoderState class - it was a proxy for the encoder output, and 39368 that is a Vector<>, so just write into it directly using append() to make 39369 use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA() 39370 and encode() routines, replace the OwnArrayPtr<> with a Vector<>. 39371 39372 canvas.toDataURL("image/png") is covered by existing tests. 39373 39374 * platform/image-encoders/skia/PNGImageEncoder.cpp: 39375 (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it. 39376 (WebCore::preMultipliedBGRAtoRGBA): simplified. 39377 (WebCore::PNGImageEncoder::encode): ditto. 39378 39379 2010-12-18 Dan Bernstein <mitz (a] apple.com> 39380 39381 Reviewed by Cameron Zwarich. 39382 39383 Text emphasis marks are not always included in the selection highlight 39384 https://bugs.webkit.org/show_bug.cgi?id=51299 39385 39386 Affects pixel results of fast/text/emphasis.html 39387 39388 Account for annotations in selectionTop() and selectionBottom(). 39389 39390 * rendering/RootInlineBox.cpp: 39391 (WebCore::RootInlineBox::selectionTop): 39392 (WebCore::RootInlineBox::selectionBottom): 39393 39394 2010-12-18 Dan Bernstein <mitz (a] apple.com> 39395 39396 Reviewed by Cameron Zwarich. 39397 39398 In flipped writing modes, opposite text emphasis marks from adjacent lines overlap 39399 https://bugs.webkit.org/show_bug.cgi?id=51298 39400 39401 Test: fast/text/emphasis-overlap.html 39402 39403 * rendering/RootInlineBox.cpp: 39404 (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -. 39405 39406 2010-12-18 Helder Correia <helder (a] sencha.com> and Martin Robinson <mrobinson (a] igalia.com> 39407 39408 Reviewed by Ariya Hidayat. 39409 39410 [Qt] Canvas shadow offset should not be affected by any transformation 39411 https://bugs.webkit.org/show_bug.cgi?id=50422 39412 39413 On a canvas context, shadows are currently affected by all 39414 transformations except scaling. According to the spec: 39415 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows 39416 39417 "The shadowOffsetX and shadowOffsetY attributes specify the distance 39418 that the shadow will be offset in the positive horizontal and positive 39419 vertical distance respectively. Their values are in coordinate space 39420 units. They are not affected by the current transformation matrix." 39421 39422 NOTE: this applies only to canvas, not to box shadows. 39423 39424 Test: fast/canvas/canvas-transforms-fillRect-shadow.html 39425 39426 * platform/graphics/ContextShadow.cpp: 39427 (WebCore::ContextShadow::ContextShadow): 39428 (WebCore::ContextShadow::calculateLayerBoundingRect): 39429 * platform/graphics/ContextShadow.h: 39430 (WebCore::ContextShadow::setShadowsIgnoreTransforms): 39431 (WebCore::ContextShadow::shadowsIgnoreTransforms): 39432 (WebCore::ContextShadow::offset): 39433 * platform/graphics/qt/ContextShadowQt.cpp: 39434 (WebCore::ContextShadow::beginShadowLayer): 39435 (WebCore::ContextShadow::endShadowLayer): 39436 * platform/graphics/qt/GraphicsContextQt.cpp: 39437 (WebCore::mustUseContextShadow): 39438 (WebCore::GraphicsContext::fillPath): 39439 (WebCore::GraphicsContext::strokePath): 39440 (WebCore::GraphicsContext::fillRect): 39441 (WebCore::GraphicsContext::fillRoundedRect): 39442 (WebCore::GraphicsContext::setPlatformShadow): 39443 39444 2010-12-18 Ariya Hidayat <ariya (a] sencha.com> 39445 39446 Reviewed by Andreas Kling. 39447 39448 [Qt] TransparencyLayer should inherit its container render hints 39449 https://bugs.webkit.org/show_bug.cgi?id=51283 39450 39451 * platform/graphics/qt/TransparencyLayer.h: 39452 (WebCore::TransparencyLayer::TransparencyLayer): 39453 39454 2010-12-18 Tony Gentilcore <tonyg (a] chromium.org> 39455 39456 Reviewed by Laszlo Gombos. 39457 39458 [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End} 39459 https://bugs.webkit.org/show_bug.cgi?id=50943 39460 39461 See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start 39462 39463 * dom/Document.cpp: 39464 (WebCore::Document::finishedParsing): 39465 * dom/DocumentTiming.h: 39466 (WebCore::DocumentTiming::DocumentTiming): 39467 * page/PerformanceTiming.cpp: 39468 (WebCore::PerformanceTiming::domContentLoadedEventStart): 39469 (WebCore::PerformanceTiming::domContentLoadedEventEnd): 39470 * page/PerformanceTiming.h: 39471 * page/PerformanceTiming.idl: 39472 39473 2010-12-17 Justin Schuh <jschuh (a] chromium.org> 39474 39475 Reviewed by Andreas Kling. 39476 39477 Style fix for r73927 39478 https://bugs.webkit.org/show_bug.cgi?id=51194 39479 39480 No functionality change. No new tests needed. 39481 39482 * html/HTMLCanvasElement.h: 39483 39484 2010-12-17 Carlos Garcia Campos <cgarcia (a] igalia.com> 39485 39486 Reviewed by Martin Robinson. 39487 39488 [GTK] Buttons rendering was broken in r74129 39489 https://bugs.webkit.org/show_bug.cgi?id=51173 39490 39491 * platform/gtk/RenderThemeGtk.cpp: 39492 (WebCore::RenderThemeGtk::paintRenderObject): 39493 39494 2010-12-17 Zoltan Herczeg <zherczeg (a] webkit.org> 39495 39496 Reviewed by Dirk Schulze. 39497 39498 Improve 'arithmetic' operator on feComposite 39499 https://bugs.webkit.org/show_bug.cgi?id=51105 39500 39501 Fixing style errors and bug description for r74177. 39502 39503 * platform/graphics/filters/FEComposite.cpp: 39504 (WebCore::arithmetic): 39505 39506 2010-12-17 Dan Bernstein <mitz (a] apple.com> 39507 39508 Rubber-stamped by Mark Rowe. 39509 39510 Updated for the renaming of WebKitTools to Tools 39511 39512 * WebCore.vcproj/build-generated-files.sh: 39513 * WebCore.vcproj/migrate-scripts.sh: 39514 39515 2010-12-17 Carol Szabo <carol.szabo (a] nokia.com> 39516 39517 Reviewed by Darin Adler. 39518 39519 A corrupted counter tree is created when renderers are added to the 39520 tree bypassing RenderObject::addChild 39521 https://bugs.webkit.org/show_bug.cgi?id=51270 39522 39523 This patch replaces the hack introduced for fixing bug 43812 39524 with code that addresses the underlying problem for that bug. 39525 No new layout tests provided as there is no identified scenario when 39526 visible behavior would be different, the internal datastructures 39527 are maintained properly through this fix so the previous hack 39528 introduced for bug 43812 is now removed. The fact that the 39529 layout test introduced for 43812 continues to pass is proof that the 39530 code works. 39531 39532 * rendering/RenderCounter.cpp: 39533 (WebCore::findPlaceForCounter): 39534 Removed hack. 39535 * rendering/RenderObject.cpp: 39536 (WebCore::RenderObject::addChild): 39537 Moved call to counter nodes updater to lower level 39538 functions to avoid bypass. 39539 * rendering/RenderObjectChildList.cpp: 39540 (WebCore::RenderObjectChildList::appendChildNode): 39541 (WebCore::RenderObjectChildList::insertChildNode): 39542 Changed to update the values of the counters that 39543 may be inserted in the tree. 39544 39545 2010-12-17 Shimeng (Simon) Wang <swang (a] google.com> 39546 39547 Reviewed by Steve Block. 39548 39549 Fix V8 JNI binding. 39550 https://bugs.webkit.org/show_bug.cgi?id=51156 39551 39552 There're LayoutTests in: 39553 http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber 39554 to exercise these code paths. 39555 Though Chromium don't run them. 39556 Tested on Android fast/events/touch tests. 39557 39558 * bridge/jni/v8/JNIUtilityPrivate.cpp: 39559 (JSC::Bindings::convertNPVariantToJValue): 39560 39561 2010-12-17 Simon Fraser <simon.fraser (a] apple.com> 39562 39563 Reviewed by Chris Marrin. 39564 39565 Interrupted accelerated animation can break later transitions 39566 <rdar://problem/8767714> 39567 https://bugs.webkit.org/show_bug.cgi?id=51264 39568 39569 If we're still waiting for the 'animationDidStart' callback when renderers 39570 get destroyed, then the m_waitingForStartTimeResponse flag could be left 39571 set to 'true', which causes later transitions to never start. 39572 39573 Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters 39574 becomes empty. 39575 39576 Test: transitions/interrupted-accelerated-transition.html 39577 39578 * page/animation/AnimationController.cpp: 39579 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): 39580 39581 2010-12-17 Simon Fraser <simon.fraser (a] apple.com> 39582 39583 Reviewed by Chris Marrin. 39584 39585 Interrupted accelerated animation can break later transitions 39586 https://bugs.webkit.org/show_bug.cgi?id=51264 39587 39588 Step 1: code cleanup. 39589 Rename "responseWait" variables to "startTimeResponseWait", to make it clear 39590 the kind of response that is being waited for. 39591 39592 Make a couple of methods private. 39593 39594 No behavioral changes, so no tests. 39595 39596 * page/animation/AnimationController.cpp: 39597 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 39598 (WebCore::AnimationControllerPrivate::endAnimationUpdate): 39599 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): 39600 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): 39601 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): 39602 (WebCore::AnimationControllerPrivate::startTimeResponse): 39603 * page/animation/AnimationControllerPrivate.h: 39604 39605 2010-12-17 Dan Bernstein <mitz (a] apple.com> 39606 39607 Reviewed by Dave Hyatt. 39608 39609 Layout and rendering of CSS text-emphasis 39610 Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property 39611 https://bugs.webkit.org/show_bug.cgi?id=48539 39612 39613 Tests: fast/text/emphasis-vertical.html 39614 fast/text/emphasis.html 39615 39616 Emphasis marks behave like they are stuck just above the ascender (or just below the 39617 descender). They occupy space in the leading and in padding, and only grow the line space 39618 if they cannot fit. 39619 39620 * rendering/InlineFlowBox.cpp: 39621 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to 39622 hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis 39623 marks. 39624 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks. 39625 (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment() 39626 to this and added adjustment for text emphasis marks. 39627 (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function, 39628 but for annotations under the glyphs. These can only be text emphasis marks. 39629 * rendering/InlineFlowBox.h: 39630 * rendering/InlineTextBox.cpp: 39631 (WebCore::paintTextWithShadows): Paint emphasis marks. 39632 (WebCore::InlineTextBox::paint): Ditto. 39633 * rendering/RenderBlockLineLayout.cpp: 39634 (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for 39635 ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non- 39636 flipped writing mode. 39637 * rendering/RenderObject.cpp: 39638 (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor(). 39639 (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor(). 39640 (WebCore::RenderObject::selectionEmphasisMarkColor): Added. 39641 * rendering/RenderObject.h: 39642 * rendering/RootInlineBox.cpp: 39643 (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members. 39644 (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members. 39645 (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this 39646 and extended to deal with annotations over and under the line and the previous line. If both lines have 39647 annotations into the space between the lines, maintain separation so that the annotations do not overlap. 39648 * rendering/RootInlineBox.h: 39649 (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor. 39650 (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto. 39651 39652 2010-12-17 W. James MacLean <wjmaclean (a] chromium.org> 39653 39654 Reviewed by James Robinson. 39655 39656 [chromium] Add support to compositor to composite to offscreen texture. 39657 https://bugs.webkit.org/show_bug.cgi?id=50833 39658 39659 A patch to extend compositor to be able to composite into an offscreen texture instead 39660 of just directly to the display buffer. Builds on RenderSurfaceChromium support. 39661 39662 External behaviour not changed, so no tests. 39663 39664 * platform/graphics/chromium/LayerRendererChromium.cpp: 39665 (WebCore::LayerRendererChromium::LayerRendererChromium): 39666 (WebCore::LayerRendererChromium::prepareToDrawLayers): 39667 (WebCore::LayerRendererChromium::drawLayers): 39668 (WebCore::LayerRendererChromium::setCompositeOffscreen): 39669 (WebCore::LayerRendererChromium::useRenderSurface): 39670 (WebCore::LayerRendererChromium::setScissorToRect): 39671 * platform/graphics/chromium/LayerRendererChromium.h: 39672 (WebCore::LayerRendererChromium::isCompositingOffscreen): 39673 (WebCore::LayerRendererChromium::getOffscreenLayerTexture): 39674 39675 2010-12-17 Ariya Hidayat <ariya (a] sencha.com> 39676 39677 Reviewed by Andreas Kling. 39678 39679 [Qt] Default image interpolation should reset the render hint 39680 https://bugs.webkit.org/show_bug.cgi?id=51233 39681 39682 Save initial SmoothPixmapTransform render hint so that it can be used 39683 with default image interpolation quality to reset back the render hints. 39684 39685 * platform/graphics/qt/GraphicsContextQt.cpp: 39686 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 39687 (WebCore::GraphicsContext::setImageInterpolationQuality): 39688 39689 2010-12-17 Hans Wennborg <hans (a] chromium.org> 39690 39691 Reviewed by Jeremy Orlow. 39692 39693 IndexedDB: Support Date objects as keys. 39694 https://bugs.webkit.org/show_bug.cgi?id=51193 39695 39696 * bindings/v8/IDBBindingUtilities.cpp: 39697 (WebCore::createIDBKeyFromValue): 39698 Use the new IDBKey factory functions, and support Date objects. 39699 * bindings/v8/custom/V8IDBKeyCustom.cpp: 39700 (WebCore::toV8): 39701 Create Date objects from DateType keys. 39702 * storage/IDBKey.cpp: 39703 (WebCore::IDBKey::fromQuery): 39704 (WebCore::IDBKey::isEqual): 39705 (WebCore::IDBKey::whereSyntax): 39706 (WebCore::IDBKey::lowerCursorWhereFragment): 39707 (WebCore::IDBKey::upperCursorWhereFragment): 39708 (WebCore::IDBKey::bind): 39709 (WebCore::IDBKey::bindWithNulls): 39710 Update all SQL related functions to handle Date keys. 39711 * storage/IDBKey.h: 39712 (WebCore::IDBKey::createNull): 39713 (WebCore::IDBKey::createNumber): 39714 (WebCore::IDBKey::createString): 39715 (WebCore::IDBKey::createDate): 39716 Rename the create factories; since both number and date is just a 39717 double, function overloading can't be used to discriminate between 39718 the factories. 39719 (WebCore::IDBKey::date): 39720 Add getter for the date value. 39721 39722 2010-12-17 Pavel Podivilov <podivilov (a] chromium.org> 39723 39724 Reviewed by Pavel Feldman. 39725 39726 Web Inspector: add scripts parsed after resource load to SourceFrame. 39727 https://bugs.webkit.org/show_bug.cgi?id=51243 39728 39729 * inspector/front-end/ScriptsPanel.js: 39730 (WebInspector.ScriptsPanel.prototype._addScript): 39731 * inspector/front-end/SourceFrame.js: 39732 (WebInspector.SourceFrame.prototype.addScript): 39733 39734 2010-12-17 Anton Muhin <antonm (a] chromium.org> 39735 39736 Reviewed by Yury Semikhatsky. 39737 39738 [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html 39739 https://bugs.webkit.org/show_bug.cgi?id=51121 39740 39741 Properly group style elements of HTML links, style elements and processing instructions. 39742 39743 * bindings/v8/V8GCController.cpp: 39744 (WebCore::NodeGrouperVisitor::visitDOMWrapper): 39745 (WebCore::NodeGrouperVisitor::addDOMObjectToGroup): 39746 39747 2010-12-17 Pavel Podivilov <podivilov (a] chromium.org> 39748 39749 Reviewed by Pavel Feldman. 39750 39751 Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload. 39752 https://bugs.webkit.org/show_bug.cgi?id=51101 39753 39754 * inspector/front-end/ResourceManager.js: 39755 (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): 39756 39757 2010-12-17 Benjamin Poulain <benjamin.poulain (a] nokia.com> 39758 39759 Reviewed by Laszlo Gombos. 39760 39761 The inspector does not compile without JAVASCRIPT_DEBUGGER 39762 https://bugs.webkit.org/show_bug.cgi?id=51246 39763 39764 Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER. 39765 39766 * inspector/InspectorController.h: 39767 39768 2010-12-17 Andrey Kosyakov <caseq (a] chromium.org> 39769 39770 Reviewed by Pavel Feldman. 39771 39772 Web Inspector: clear extra/override headers when front-end is closed 39773 https://bugs.webkit.org/show_bug.cgi?id=51244 39774 39775 * inspector/InspectorController.cpp: 39776 (WebCore::InspectorController::disconnectFrontend): 39777 (WebCore::InspectorController::willSendRequest): 39778 39779 2010-12-17 Pavel Feldman <pfeldman (a] chromium.org> 39780 39781 Reviewed by Yury Semikhatsky. 39782 39783 Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel. 39784 https://bugs.webkit.org/show_bug.cgi?id=50893 39785 39786 Now Mac shortcuts are: 39787 - Cmd F/G = find / next 39788 - Cmd L = go to line 39789 39790 Win/Linux: 39791 - Ctrl+G = go to line 39792 39793 * inspector/front-end/ScriptsPanel.js: 39794 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 39795 * inspector/front-end/inspector.js: 39796 (WebInspector._registerShortcuts): 39797 39798 2010-12-16 Sergio Villar Senin <svillar (a] igalia.com> 39799 39800 Reviewed by Martin Robinson. 39801 39802 Wrong check in ResourceHandleSoup in error cases 39803 https://bugs.webkit.org/show_bug.cgi?id=51171 39804 39805 Calling didReceiveData with no data causes a crash in debug 39806 builds. Checking for soupMsg->response_body->data is not correct as libsoup 39807 always creates a buffer for that. Instead we should check for 39808 soupMsg->response_body->length 39809 39810 * platform/network/soup/ResourceHandleSoup.cpp: 39811 (WebCore::sendRequestCallback): 39812 39813 2010-12-17 Andreas Kling <andreas.kling (a] nokia.com> 39814 39815 Reviewed by Kenneth Rohde Christiansen. 39816 39817 [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p() 39818 https://bugs.webkit.org/show_bug.cgi?id=49954 39819 39820 * platform/graphics/qt/GraphicsContextQt.cpp: 39821 (WebCore::GraphicsContext::pushTransparencyLayerInternal): 39822 (WebCore::GraphicsContext::beginTransparencyLayer): 39823 39824 2010-12-17 Carlos Garcia Campos <cgarcia (a] igalia.com> 39825 39826 Reviewed by Martin Robinson. 39827 39828 [GTK] Compile warning introduced in r74129 39829 https://bugs.webkit.org/show_bug.cgi?id=51181 39830 39831 * platform/gtk/RenderThemeGtk.cpp: 39832 (WebCore::RenderThemeGtk::gtkContainer): 39833 39834 2010-12-17 James Simonsen <simonjam (a] chromium.org> 39835 39836 Reviewed by Darin Fisher. 39837 39838 [Web Timing] Add sslHandshakeStart to interface 39839 39840 https://bugs.webkit.org/show_bug.cgi?id=50400 39841 39842 Test: http/tests/misc/webtiming-ssl.php 39843 39844 * page/PerformanceTiming.cpp: 39845 (WebCore::PerformanceTiming::connectStart): Update comment. 39846 (WebCore::PerformanceTiming::connectEnd): Remove SSL time. 39847 (WebCore::PerformanceTiming::sslHandshakeStart): Added. 39848 * page/PerformanceTiming.h: Added sslHandshakeStart. 39849 * page/PerformanceTiming.idl: Ditto. 39850 39851 2010-12-17 James Simonsen <simonjam (a] chromium.org> 39852 39853 Reviewed by Darin Fisher. 39854 39855 [Web Timing] Navigation type enums should begin with TYPE_ 39856 https://bugs.webkit.org/show_bug.cgi?id=51200 39857 39858 * page/PerformanceNavigation.cpp: 39859 (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types. 39860 * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED. 39861 * page/PerformanceNavigation.idl: Ditto. 39862 39863 2010-12-17 Steve Block <steveblock (a] google.com> 39864 39865 Unreviewed build fix. 39866 39867 Fix build when Geolocation is disabled. 39868 39869 No new tests, build fix only. 39870 39871 * page/Geolocation.h: 39872 39873 2010-12-17 Patrick Gansterer <paroga (a] webkit.org> 39874 39875 Unreviewed. WinCE build fix. 39876 39877 * platform/graphics/GraphicsContext.h: 39878 39879 2010-12-17 Ilya Tikhonovsky <loislo (a] chromium.org> 39880 39881 Reviewed by Yury Semikhatsky. 39882 39883 Web Inspector: remove unnecessary dependencies from InspectorBackendStub. 39884 39885 InspectorBackendStub is a transport-only thing but it has dependencies with 39886 Callback.js and WebInspector namespace. Callback can be integrated into 39887 InspectorBackendStub because it is the only client. 39888 Without these dependencies InspectorBackendStub can be used as an API 39889 wrapper for Inspector Protocol. 39890 39891 https://bugs.webkit.org/show_bug.cgi?id=51184 39892 39893 * WebCore.gypi: 39894 * inspector/CodeGeneratorInspector.pm: 39895 * inspector/front-end/Callback.js: Removed. 39896 * inspector/front-end/WebKit.qrc: 39897 * inspector/front-end/inspector.html: 39898 39899 2010-12-15 Andrey Kosyakov <caseq (a] chromium.org> 39900 39901 Reviewed by Pavel Feldman. 39902 39903 Web Inspector: [Extension API] add support for adding/overriding HTTP request headers 39904 https://bugs.webkit.org/show_bug.cgi?id=50493 39905 39906 Test: http/tests/inspector/extensions-headers.html 39907 39908 * inspector/Inspector.idl: 39909 * inspector/InspectorController.cpp: 39910 (WebCore::InspectorController::willSendRequest): Apply extra headers. 39911 (WebCore::InspectorController::setExtraHeaders): 39912 * inspector/InspectorController.h: 39913 * inspector/front-end/ExtensionAPI.js: 39914 (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR): 39915 (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders): 39916 * inspector/front-end/ExtensionServer.js: 39917 (WebInspector.ExtensionServer): 39918 (WebInspector.ExtensionServer.prototype._onAddRequestHeaders): 39919 39920 2010-12-16 Koan-Sin Tan <koansin.tan (a] gmail.com> 39921 39922 Reviewed by Kent Tamura. 39923 39924 Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux 39925 https://bugs.webkit.org/show_bug.cgi?id=50365 39926 39927 No new tests. But this makes Chromimium Linux show 39928 fast/blockflow/japanese-*-text.html and other vertical 39929 writing text correctly as on WebKit and Chromimum for Mac. 39930 39931 * platform/graphics/chromium/FontCacheLinux.cpp: 39932 (WebCore::FontCache::createFontPlatformData): 39933 * platform/graphics/chromium/FontLinux.cpp: 39934 (WebCore::Font::drawGlyphs): 39935 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 39936 (WebCore::FontPlatformData::FontPlatformData): 39937 (WebCore::FontPlatformData::operator=): 39938 (WebCore::FontPlatformData::operator==): 39939 (WebCore::FontPlatformData::hash): 39940 * platform/graphics/chromium/FontPlatformDataLinux.h: 39941 (WebCore::FontPlatformData::FontPlatformData): 39942 (WebCore::FontPlatformData::orientation): 39943 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 39944 (WebCore::SimpleFontData::platformInit): 39945 * platform/graphics/skia/FontCustomPlatformData.cpp: 39946 (WebCore::FontCustomPlatformData::fontPlatformData): 39947 * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: 39948 (WebCore::substituteWithVerticalGlyphs): 39949 (WebCore::GlyphPage::fill): 39950 39951 2010-12-16 Yi Shen <yi.4.shen (a] nokia.com>, Tor Arne Vestbo <tor.arne.vestbo (a] nokia.com> 39952 39953 Reviewed by Eric Carlson. 39954 39955 Provide an interface to require using fullscreen mediaplayer 39956 https://bugs.webkit.org/show_bug.cgi?id=51133 39957 39958 Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit 39959 to launch fullscreen video player for playing the html5 video. The 39960 idea is that a browser vendor can specify this behavior through the 39961 platform plugin or something else by using this interface. 39962 39963 No new tests because no client implements requiresFullscreenForVideoPlayback yet. 39964 39965 * html/HTMLMediaElement.cpp: 39966 (WebCore::HTMLMediaElement::updatePlayState): 39967 (WebCore::HTMLMediaElement::exitFullscreen): 39968 * page/Chrome.cpp: 39969 (WebCore::Chrome::requiresFullscreenForVideoPlayback): 39970 * page/Chrome.h: 39971 * page/ChromeClient.h: 39972 (WebCore::ChromeClient::requiresFullscreenForVideoPlayback): 39973 39974 2010-12-16 Steve Block <steveblock (a] google.com> 39975 39976 Reviewed by Steve Block. 39977 39978 GeolocationPositionCache needs refactoring 39979 https://bugs.webkit.org/show_bug.cgi?id=50826 39980 39981 No new tests, refactoring only. 39982 39983 * page/Geolocation.cpp: 39984 (WebCore::Geolocation::Geolocation): 39985 (WebCore::Geolocation::makeCachedPositionCallbacks): 39986 (WebCore::Geolocation::haveSuitableCachedPosition): 39987 (WebCore::Geolocation::positionChangedInternal): 39988 * page/Geolocation.h: 39989 * page/GeolocationPositionCache.cpp: 39990 (WebCore::GeolocationPositionCache::instance): 39991 (WebCore::GeolocationPositionCache::GeolocationPositionCache): 39992 (WebCore::GeolocationPositionCache::addUser): 39993 (WebCore::GeolocationPositionCache::removeUser): 39994 (WebCore::GeolocationPositionCache::setDatabasePath): 39995 (WebCore::GeolocationPositionCache::setCachedPosition): 39996 (WebCore::GeolocationPositionCache::cachedPosition): 39997 (WebCore::GeolocationPositionCache::readFromDatabase): 39998 (WebCore::GeolocationPositionCache::writeToDatabase): 39999 * page/GeolocationPositionCache.h: 40000 (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper): 40001 (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper): 40002 (WebCore::GeolocationPositionCacheWrapper::setCachedPosition): 40003 (WebCore::GeolocationPositionCacheWrapper::cachedPosition): 40004 40005 2010-12-16 Ariya Hidayat <ariya (a] sencha.com> 40006 40007 Reviewed by Andreas Kling. 40008 40009 [Qt] GraphicsContext should respect QWebView render hints 40010 https://bugs.webkit.org/show_bug.cgi?id=51208 40011 40012 GraphicsContext does not override SmoothPixmapTransform (see also 40013 r62762). To keep the same behavior, canvas default image interpolation 40014 quality is set to medium and QWebView's render hints by default also 40015 include SmoothPixmapTransform. 40016 40017 * html/HTMLCanvasElement.h: 40018 * platform/graphics/qt/GraphicsContextQt.cpp: 40019 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 40020 40021 2010-12-16 Daniel Bates <dbates (a] rim.com> 40022 40023 Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217) 40024 so as to be consistent with the formatting of the rest of this file. 40025 40026 Also, add an empty line between the win32* and wince* conditional include blocks. 40027 40028 * WebCore.pro: 40029 40030 2010-12-16 Daniel Bates <dbates (a] rim.com> 40031 40032 Reviewed by Antonio Gomes. 40033 40034 [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp 40035 on Windows if ENABLE_SMOOTH_SCROLLING=1 40036 https://bugs.webkit.org/show_bug.cgi?id=51215 40037 40038 Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building 40039 the Qt Windows with smooth scrolling enabled. 40040 40041 No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING). 40042 40043 * WebCore.pro: 40044 40045 2010-12-16 Ryosuke Niwa <rniwa (a] webkit.org> 40046 40047 Reviewed by Darin Adler. 40048 40049 execCommand('JustifyCenter') adds extra BR 40050 https://bugs.webkit.org/show_bug.cgi?id=51082 40051 40052 The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br 40053 to new block and not removing it later. Fixed the bug by removing it when the paragraph 40054 moved into the block didn't have a br at the end. 40055 40056 Test: editing/execCommand/justify.html 40057 40058 * editing/CompositeEditCommand.cpp: 40059 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 40060 40061 2010-12-16 Jian Li <jianli (a] chromium.org> 40062 40063 Unreviewed. Fixed chromium build break caused by r74207. 40064 40065 * platform/ContextMenuItem.h: 40066 40067 2010-12-16 Leandro Pereira <leandro (a] profusion.mobi> 40068 40069 [EFL] Unreviewed build fix. 40070 40071 Disable ContextMenu support for now while support for 40072 CROSS_PLATFORM_MENUS is written. 40073 40074 * CMakeListsEfl.txt: 40075 * platform/ContextMenu.h: 40076 * platform/ContextMenuItem.h: 40077 * platform/efl/ContextMenuEfl.cpp: 40078 (WebCore::ContextMenu::ContextMenu): 40079 (WebCore::ContextMenu::getContextMenuItems): 40080 (WebCore::ContextMenu::createNativeMenuFromItems): 40081 (WebCore::ContextMenu::nativeMenu): 40082 * platform/efl/ContextMenuItemEfl.cpp: 40083 (WebCore::ContextMenuItem::ContextMenuItem): 40084 (WebCore::ContextMenuItem::~ContextMenuItem): 40085 (WebCore::ContextMenuItem::nativeMenuItem): 40086 (WebCore::ContextMenuItem::type): 40087 (WebCore::ContextMenuItem::setAction): 40088 (WebCore::ContextMenuItem::action): 40089 (WebCore::ContextMenuItem::setChecked): 40090 (WebCore::ContextMenuItem::checked): 40091 (WebCore::ContextMenuItem::setEnabled): 40092 (WebCore::ContextMenuItem::enabled): 40093 (WebCore::ContextMenuItem::setSubMenu): 40094 40095 2010-12-16 Ryosuke Niwa <rniwa (a] webkit.org> 40096 40097 Reviewed by Darin Adler. 40098 40099 execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area 40100 https://bugs.webkit.org/show_bug.cgi?id=51164 40101 40102 Fixed the bug by always enabling the StyleWithCSS command. 40103 40104 Test: editing/style/stylewithcss-without-selection.html 40105 40106 * editing/EditorCommand.cpp: 40107 (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText. 40108 40109 2010-12-16 Anders Carlsson <andersca (a] apple.com> 40110 40111 Reviewed by Darin Adler. 40112 40113 Save the manual plug-in stream data and redeliver it when the plug-in is initialized 40114 https://bugs.webkit.org/show_bug.cgi?id=51201 40115 40116 Export SharedBuffer related symbols. 40117 40118 * WebCore.exp.in: 40119 40120 2010-12-16 Pavel Feldman <pfeldman (a] chromium.org> 40121 40122 Reviewed by Yury Semikhatsky. 40123 40124 Web Inspector: timeline records should only operate WebCore time. 40125 https://bugs.webkit.org/show_bug.cgi?id=51127 40126 40127 * inspector/InspectorTimelineAgent.cpp: 40128 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 40129 * inspector/TimelineRecordFactory.cpp: 40130 (WebCore::TimelineRecordFactory::createResourceFinishData): 40131 * inspector/TimelineRecordFactory.h: 40132 40133 2010-12-15 Alexey Proskuryakov <ap (a] apple.com> 40134 40135 Reviewed by Darin Adler. 40136 40137 https://bugs.webkit.org/show_bug.cgi?id=50996 40138 <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used 40139 40140 No new tests, cannot test DNS. 40141 40142 * platform/network/cf/DNSCFNet.cpp: 40143 (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use 40144 a proxy. This is only an estimate - even with a proxy is configured in system preferences, an 40145 actual request can go directly to the host if a PAC script says so. 40146 (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests. 40147 (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones. 40148 40149 2010-12-16 Yury Semikhatsky <yurys (a] chromium.org> 40150 40151 Reviewed by Pavel Feldman. 40152 40153 Web Inspector: Console always scroll to the bottom on new events 40154 https://bugs.webkit.org/show_bug.cgi?id=51189 40155 40156 When new messages are added to the console it will auto scroll 40157 only if it was already scrolled down to the last record. 40158 40159 * inspector/front-end/ConsoleView.js: 40160 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView): 40161 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView): 40162 (WebInspector.ConsoleView.prototype._isScrolledToLastMessage): 40163 (WebInspector.ConsoleView.prototype.addMessage): 40164 40165 2010-12-16 Pavel Podivilov <podivilov (a] chromium.org> 40166 40167 Reviewed by Yury Semikhatsky. 40168 40169 Web Inspector: update CallStackSidebarPane placards and status message in the same event handler. 40170 https://bugs.webkit.org/show_bug.cgi?id=51174 40171 40172 * inspector/front-end/BreakpointManager.js: 40173 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 40174 (WebInspector.BreakpointManager.prototype._debuggerPaused): 40175 (WebInspector.BreakpointManager.prototype._debuggerResumed): 40176 * inspector/front-end/CallStackSidebarPane.js: 40177 (WebInspector.CallStackSidebarPane): 40178 (WebInspector.CallStackSidebarPane.prototype.update): 40179 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): 40180 * inspector/front-end/DebuggerModel.js: 40181 (WebInspector.DebuggerModel.prototype.pausedScript): 40182 * inspector/front-end/ScriptsPanel.js: 40183 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 40184 40185 2010-12-16 Hans Wennborg <hans (a] chromium.org> 40186 40187 Reviewed by Jeremy Orlow. 40188 40189 IndexedDB: Fix IDBDatabaseError code offset bug 40190 https://bugs.webkit.org/show_bug.cgi?id=51177 40191 40192 IDBDatabaseError::code() needs to return the error code without 40193 offset. But when the IDBDatabaseError is created, the code comes with 40194 an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode). 40195 40196 However, in Chromium, IDBDatabaseErrors are sometimes also created via 40197 WebIDBDatabaseError when they are sent across IPC, and then the error 40198 code comes *without* offset. Provide a second create() function for 40199 this case. 40200 40201 * storage/IDBDatabaseError.h: 40202 (WebCore::IDBDatabaseError::create): 40203 (WebCore::IDBDatabaseError::createWithoutOffset): 40204 (WebCore::IDBDatabaseError::code): 40205 40206 2010-12-16 Sheriff Bot <webkit.review.bot (a] gmail.com> 40207 40208 Unreviewed, rolling out r74162. 40209 http://trac.webkit.org/changeset/74162 40210 https://bugs.webkit.org/show_bug.cgi?id=51185 40211 40212 More breakage in GTK+ (Requested by xan_ on #webkit). 40213 40214 * platform/text/TextCodecUTF16.cpp: 40215 (WebCore::TextCodecUTF16::registerEncodingNames): 40216 40217 2010-12-16 Alexander Pavlov <apavlov (a] chromium.org> 40218 40219 Reviewed by Pavel Feldman. 40220 40221 Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor 40222 https://bugs.webkit.org/show_bug.cgi?id=51114 40223 40224 The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes 40225 are updated once a stylesheet is reverted. 40226 40227 * inspector/front-end/ElementsPanel.js: 40228 (WebInspector.ElementsPanel.prototype._stylesPaneEdited): 40229 (WebInspector.ElementsPanel.prototype._metricsPaneEdited): 40230 (WebInspector.ElementsPanel.prototype._styleSheetChanged): 40231 40232 2010-12-16 Yury Semikhatsky <yurys (a] chromium.org> 40233 40234 Unreviewed. Fix Chromium Mac Debug Clang compilation. 40235 40236 * platform/graphics/FontFastPath.cpp: 40237 (WebCore::Font::getGlyphsAndAdvancesForSimpleText): 40238 40239 2010-12-16 Alejandro G. Castro <alex (a] igalia.com> 40240 40241 Unreviewed. Fix GTK3 compilation after 74129. 40242 40243 * platform/gtk/WidgetRenderingContextGtk3.cpp: 40244 40245 2010-12-16 Yury Semikhatsky <yurys (a] chromium.org> 40246 40247 Unreviewed. Fix Chromium Debug compilation after r74177 40248 40249 * platform/graphics/filters/FEComposite.cpp: 40250 (WebCore::arithmetic): 40251 40252 2010-12-16 Kent Tamura <tkent (a] chromium.org> 40253 40254 Unreviewed, build fix. 40255 40256 Fix a warning on 32-bit Mac. 40257 40258 * platform/graphics/mac/SimpleFontDataMac.mm: 40259 (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f 40260 40261 2010-12-16 Zoltan Herczeg <zherczeg (a] webkit.org> 40262 40263 Reviewed by Dirk Schulze. 40264 40265 Improve feArithmeticFilter 40266 https://bugs.webkit.org/show_bug.cgi?id=51105 40267 40268 In case of the arithmetic operator on feComposite filter, we could use 40269 different result passing modes depend on its type. Furthermore, the 40270 number of executed multiplications is reduced if k1 or k4 argument is zero. 40271 40272 2% speedup on WebCore/manual-tests/svg-filter-animation.svg 40273 40274 * platform/graphics/filters/FEComposite.cpp: 40275 (WebCore::computeArithmeticPixels): 40276 (WebCore::arithmetic): 40277 (WebCore::FEComposite::apply): 40278 40279 2010-12-15 Brian Weinstein <bweinstein (a] apple.com> 40280 40281 Reviewed by Jon Honeycutt. 40282 40283 WebKit2 should exit auto scrolling mode when losing focus 40284 https://bugs.webkit.org/show_bug.cgi?id=49209 40285 40286 When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We 40287 don't want to automatically scroll when a page doesn't have focus. 40288 40289 Updated manual-tests/autoscroll.html with instructions to test this bug. 40290 40291 * manual-tests/autoscroll.html: 40292 * page/FocusController.cpp: 40293 (WebCore::FocusController::setFocused): 40294 40295 2010-12-15 Dan Bernstein <mitz (a] apple.com> 40296 40297 Reviewed by Darin Adler. 40298 40299 Font support for the text-emphasis CSS property 40300 Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property 40301 https://bugs.webkit.org/show_bug.cgi?id=48539 40302 40303 * platform/graphics/Font.cpp: 40304 (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text. 40305 (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should 40306 have an emphasis mark. 40307 40308 * platform/graphics/Font.h: 40309 40310 * platform/graphics/FontFastPath.cpp: 40311 (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant 40312 parameter and made this function work with other variants. 40313 (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of 40314 the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none 40315 of the standard emphasis marks do so. 40316 (WebCore::Font::emphasisMarkAscent): Added. 40317 (WebCore::Font::emphasisMarkDescent): Added. 40318 (WebCore::Font::emphasisMarkHeight): Added. 40319 (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText() 40320 into this new function, which also has a ForTextEmphasis parameter, which is passed along to the 40321 WidthIterator. 40322 (WebCore::Font::drawSimpleText): Left the drawing part here. 40323 (WebCore::Font::drawEmphasisMarksForSimpleText): Added. 40324 (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter. 40325 (WebCore::offsetToMiddleOfGlyph): Added this helper. 40326 (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper. 40327 (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing 40328 one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn. 40329 40330 * platform/graphics/GraphicsContext.cpp: 40331 (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks(). 40332 40333 * platform/graphics/GraphicsContext.h: 40334 40335 * platform/graphics/SimpleFontData.cpp: 40336 (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members. 40337 (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens 40338 in ~DerivedFontData. 40339 (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData. 40340 (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct 40341 contains the SimpleFontData for small caps, broken ideograph and emphasis mark. 40342 (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added. 40343 40344 * platform/graphics/SimpleFontData.h: 40345 (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter(). 40346 40347 * platform/graphics/WidthIterator.cpp: 40348 (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter. 40349 (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph 40350 if they should not receive an emphasis mark. 40351 40352 * platform/graphics/WidthIterator.h: 40353 40354 * platform/graphics/chromium/FontChromiumWin.cpp: 40355 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40356 40357 * platform/graphics/chromium/FontLinux.cpp: 40358 (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter(). 40359 (WebCore::TextRunWalker::setupFontForScriptRun): Ditto. 40360 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40361 40362 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 40363 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40364 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40365 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40366 40367 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 40368 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40369 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40370 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40371 40372 * platform/graphics/efl/FontEfl.cpp: 40373 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40374 40375 * platform/graphics/freetype/SimpleFontDataFreeType.cpp: 40376 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40377 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40378 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40379 40380 * platform/graphics/gtk/FontGtk.cpp: 40381 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40382 40383 * platform/graphics/haiku/FontHaiku.cpp: 40384 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40385 40386 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: 40387 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40388 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40389 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40390 40391 * platform/graphics/mac/ComplexTextController.cpp: 40392 (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter. 40393 (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter(). 40394 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph 40395 if they should not receive an emphasis mark. 40396 40397 * platform/graphics/mac/ComplexTextController.h: 40398 40399 * platform/graphics/mac/FontComplexTextMac.cpp: 40400 (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() 40401 into this new function, which also has a ForTextEmphasis parameter, which is passed along to the 40402 ComplexTextController. 40403 (WebCore::Font::drawComplexText): Left the drawing part here. 40404 (WebCore::Font::drawEmphasisMarksForComplexText): Added. 40405 40406 * platform/graphics/mac/SimpleFontDataMac.mm: 40407 (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData. 40408 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40409 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40410 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40411 40412 * platform/graphics/pango/SimpleFontDataPango.cpp: 40413 (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. 40414 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40415 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40416 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40417 40418 * platform/graphics/qt/FontQt.cpp: 40419 (WebCore::Font::emphasisMarkAscent): Added stub. 40420 (WebCore::Font::emphasisMarkDescent): Ditto. 40421 (WebCore::Font::emphasisMarkHeight): Ditto. 40422 (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto. 40423 (WebCore::Font::drawEmphasisMarksForComplexText): Ditto. 40424 40425 * platform/graphics/win/FontWin.cpp: 40426 (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText() 40427 into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty 40428 glyph buffer for text emphasis. 40429 (WebCore::Font::drawComplexText): Left the drawing part here. 40430 (WebCore::Font::drawEmphasisMarksForComplexText): Added. 40431 40432 * platform/graphics/win/SimpleFontDataWin.cpp: 40433 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40434 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40435 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40436 40437 * platform/graphics/win/UniscribeController.cpp: 40438 (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter(). 40439 40440 * platform/graphics/wince/FontWinCE.cpp: 40441 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub. 40442 40443 * platform/graphics/wince/SimpleFontDataWinCE.cpp: 40444 (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font. 40445 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40446 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40447 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40448 40449 * platform/graphics/wx/FontWx.cpp: 40450 (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub. 40451 (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer(). 40452 (WebCore::Font::drawEmphasisMarksForComplexText): Added. 40453 40454 * platform/graphics/wx/SimpleFontDataWx.cpp: 40455 (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized. 40456 (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData(). 40457 (WebCore::SimpleFontData::emphasisMarkFontData): Added. 40458 40459 * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis(). 40460 40461 2010-12-15 Beth Dakin <bdakin (a] apple.com> 40462 40463 Reviewed by Darin Adler. 40464 40465 Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 40466 _scaleWebView SPI doesn't work on pages with compositing layers 40467 -and corresponding- 40468 <rdar://problem/8604713> 40469 40470 paintingGoesToWindow() should return false if the owning layer has 40471 a transform. 40472 * rendering/RenderLayerBacking.cpp: 40473 (WebCore::RenderLayerBacking::paintingGoesToWindow): 40474 40475 Use docWidth() and docHeight() instead of rightLayoutOverflow() and 40476 bottomLayoutOverflow() since docWidth/Height are now the preferred 40477 way to query physical dimensions of the document. 40478 * rendering/RenderLayerCompositor.cpp: 40479 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 40480 40481 2010-12-15 Alex Bredariol Grilo <abgrilo (a] profusion.mobi> 40482 40483 Reviewed by Eric Seidel. 40484 40485 [EFL] Fix timer calling time in SharedTimerEfl 40486 40487 No new features, so no tests added. 40488 40489 The usage of ecore_timer_loop_add instead of ecore_timer_add corrects 40490 the problem that the timer is not called at the correct time. Since this 40491 code runs in a single thread, all multiple thread operations were 40492 removed. 40493 40494 * platform/efl/SharedTimerEfl.cpp: 40495 (WebCore::stopSharedTimer): 40496 (WebCore::addNewTimer): 40497 40498 2010-12-15 Andreas Kling <andreas.kling (a] nokia.com> 40499 40500 Reviewed by Ariya Hidayat. 40501 40502 [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition 40503 https://bugs.webkit.org/show_bug.cgi?id=49918 40504 40505 Go through GraphicsContext::setCompositeOperation() which does the check for us. 40506 40507 * platform/graphics/qt/StillImageQt.cpp: 40508 (WebCore::StillImage::draw): 40509 40510 2010-12-15 Yong Li <yoli (a] rim.com> 40511 40512 Reviewed by Darin Adler. 40513 40514 UTF-16 and its variants should be treated as Big Endian when BOM 40515 is absent. 40516 https://bugs.webkit.org/show_bug.cgi?id=51035 40517 40518 Test: fast/encoding/char-decoding.html (changed) 40519 40520 * platform/text/TextCodecUTF16.cpp: 40521 (WebCore::TextCodecUTF16::registerEncodingNames): 40522 40523 2010-12-15 Simon Fraser <simon.fraser (a] apple.com> 40524 40525 Reviewed by Chris Marrin. 40526 40527 Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid 40528 https://bugs.webkit.org/show_bug.cgi?id=51070 40529 40530 Treat as inavlid -webkit-transform values that include a percentage value in translateZ() 40531 or in the third parameter to translate3d(). 40532 40533 Test: transforms/3d/general/3dtransform-values.html 40534 40535 * css/CSSParser.cpp: 40536 (WebCore::CSSParser::parseTransform): 40537 (WebCore::CSSParser::parseTransformOrigin): Whitespace change. 40538 40539 2010-12-15 Simon Fraser <simon.fraser (a] apple.com> 40540 40541 Reviewed by Chris Marrin. 40542 40543 Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled 40544 https://bugs.webkit.org/show_bug.cgi?id=50967 40545 40546 If a reflection on a compositied, transformed element is toggled on, off and on, 40547 then we pick up a cached layer clone that has the wrong transform set on it. 40548 40549 The fix is to reset those properties on the layer clones that get changed 40550 when the GraphicsLayer gains a structural layer (for reflection flattening). 40551 40552 Test: compositing/reflections/remove-add-reflection.html 40553 40554 * platform/graphics/ca/GraphicsLayerCA.cpp: 40555 (WebCore::GraphicsLayerCA::ensureStructuralLayer): 40556 40557 2010-12-15 Timothy Hatcher <timothy (a] apple.com> 40558 40559 Fix a regression where the Web Inspector console would be empty 40560 if the Inspector is localized. 40561 40562 https://bugs.webkit.org/show_bug.cgi?id=51145 40563 40564 Reviewed by Joseph Pecoraro. 40565 40566 * inspector/front-end/ConsoleView.js: 40567 (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string 40568 is separate from the classname. Code clean up. 40569 (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare. 40570 (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement. 40571 40572 2010-12-15 Simon Fraser <simon.fraser (a] apple.com> 40573 40574 Reviewed by Adele Peterson. 40575 40576 WebKit2 in compositing mode no longer has font smoothing 40577 https://bugs.webkit.org/show_bug.cgi?id=50733 40578 40579 Only turn off font smoothing for layers whose contents are 40580 not opaque. This allows the root GraphicsLayer in WebKit2 to 40581 set the opaque flag, and get smoothed text. 40582 40583 * platform/graphics/mac/WebLayer.mm: 40584 (drawLayerContents): 40585 40586 2010-12-15 Simon Fraser <simon.fraser (a] apple.com> 40587 40588 Reviewed by Dan Bernstein. 40589 40590 Allow disabling of font smoothing in compositing layers to be overridden by style 40591 https://bugs.webkit.org/show_bug.cgi?id=50732 40592 40593 Add methods to GraphicsContext to get and set font smoothing, 40594 and have them be part of the graphics state. 40595 40596 Fix Font::drawGlyphs() to allow the font's smoothing mode (from style) 40597 to override the current smoothing mode of the context. The global 40598 shouldUseSmoothing() still has final say. 40599 40600 Turn off smoothing in compositing layers with this, rather than 40601 the non-stateful 'allow' method. 40602 40603 * manual-tests/compositing/font-smoothing.html: Added. 40604 Manual test because DRT disables font smoothing. 40605 40606 * platform/graphics/GraphicsContext.cpp: 40607 (WebCore::GraphicsContext::setShouldSmoothFonts): 40608 (WebCore::GraphicsContext::shouldSmoothFonts): 40609 (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): 40610 * platform/graphics/GraphicsContext.h: 40611 (WebCore::GraphicsContextState::GraphicsContextState): 40612 * platform/graphics/cg/GraphicsContextCG.cpp: 40613 (WebCore::GraphicsContext::setPlatformShouldSmoothFonts): 40614 * platform/graphics/mac/FontMac.mm: 40615 (WebCore::Font::drawGlyphs): 40616 * platform/graphics/mac/WebLayer.mm: 40617 (drawLayerContents): 40618 40619 2010-12-15 Matthew Delaney <mdelaney (a] apple.com> 40620 40621 Reviewed by Simon Fraser. 40622 40623 IOSurface bounds checks on bytesPerRow and allocSize are incorrect 40624 https://bugs.webkit.org/show_bug.cgi?id=51137 40625 40626 No new tests added. For those using this new functionality, many current canvas layout tests will now pass. 40627 40628 * platform/graphics/cg/ImageBufferCG.cpp: 40629 40630 2010-12-15 Kenneth Russell <kbr (a] google.com> 40631 40632 Reviewed by James Robinson. 40633 40634 Web Audio API: port FFTFrame to MKL 40635 https://bugs.webkit.org/show_bug.cgi?id=50986 40636 40637 Ported FFTFrame to Intel's MKL. This patch contains the port and 40638 initial, though not complete, build system changes. Tested so far 40639 with a unit test by Chris Rogers (which requires code changes to 40640 AudioContext.cpp and is not being checked in). Further testing to 40641 follow once layout tests are available for the Web Audio API. 40642 40643 * WebCore.gyp/WebCore.gyp: 40644 * WebCore.gypi: 40645 * platform/audio/FFTFrame.h: 40646 * platform/audio/mkl: Added. 40647 * platform/audio/mkl/FFTFrameMKL.cpp: Added. 40648 (WebCore::FFTFrame::FFTFrame): 40649 (WebCore::FFTFrame::~FFTFrame): 40650 (WebCore::FFTFrame::multiply): 40651 (WebCore::FFTFrame::doFFT): 40652 (WebCore::FFTFrame::doInverseFFT): 40653 (WebCore::FFTFrame::cleanup): 40654 (WebCore::FFTFrame::realData): 40655 (WebCore::FFTFrame::imagData): 40656 (WebCore::FFTFrame::getUpToDateComplexData): 40657 (WebCore::FFTFrame::descriptorHandleForSize): 40658 40659 2010-12-15 Yong Li <yoli (a] rim.com> 40660 40661 Reviewed by Darin Adler. 40662 40663 Fix stack overflow when there are too many sibling inline boxes by using 40664 a loop to traverse children instead of calling each sibling from the first child. 40665 https://bugs.webkit.org/show_bug.cgi?id=48255 40666 40667 Test: fast/overflow/lots-of-sibling-inline-boxes.html 40668 40669 * rendering/InlineBox.h: 40670 (WebCore::InlineBox::setConstructed): 40671 (WebCore::InlineBox::next): 40672 * rendering/InlineFlowBox.h: 40673 (WebCore::InlineFlowBox::setConstructed): 40674 40675 2010-12-15 Sam Weinig <sam (a] webkit.org> 40676 40677 Reviewed by Anders Carlsson. 40678 40679 WebKit2: Can't add files to an <input type=file> 40680 https://bugs.webkit.org/show_bug.cgi?id=51087 40681 40682 Add exported function. 40683 40684 * WebCore.exp.in: 40685 40686 2010-12-15 Andreas Kling <andreas.kling (a] nokia.com> 40687 40688 Reviewed by Antonio Gomes. 40689 40690 [Qt] screenIsMonochrome() is broken 40691 https://bugs.webkit.org/show_bug.cgi?id=49957 40692 40693 * platform/qt/PlatformScreenQt.cpp: 40694 (WebCore::screenIsMonochrome): 40695 40696 2010-12-15 Martin Robinson <mrobinson (a] igalia.com> 40697 40698 Reviewed by Gustavo Noronha Silva. 40699 40700 [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk 40701 https://bugs.webkit.org/show_bug.cgi?id=48486 40702 40703 Implement button rendering in RenderThemeGtk. The implementation 40704 from gtk{2,3}drawing.cpp will be removed once menu list button rendering 40705 is implemented in RenderThemeGtk as well. 40706 40707 No new tests, as this should not change functionality. 40708 40709 * platform/gtk/RenderThemeGtk.cpp: 40710 (WebCore::RenderThemeGtk::paintButton): Add an implementation of button 40711 rendering that uses WidgetRenderingContext. 40712 40713 2010-10-18 Martin Robinson <mrobinson (a] igalia.com> 40714 40715 Reviewed by Gustavo Noronha Silva. 40716 40717 [GTK] Move input type=range rendering to RenderThemeGtk 40718 https://bugs.webkit.org/show_bug.cgi?id=47836 40719 40720 Begin moving widget rendering out of the old Mozilla theme drawing code, 40721 which should remove many lines of code when completed. WidgetRenderingContext 40722 now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay 40723 version agnostic. 40724 40725 No new tests as this patch does not change functionality. 40726 40727 * platform/gtk/RenderThemeGtk.cpp: 40728 (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a 40729 GtkWidget, so update the cast here. 40730 (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which 40731 converts a RenderObject state into a GtkStateType. 40732 (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for 40733 scale painting, as it's not handled by this method any longer. 40734 (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use 40735 WidgetRenderingContext. 40736 (WebCore::RenderThemeGtk::paintSliderThumb): Ditto. 40737 (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size 40738 properties directly from the widget now instead of asking the Mozilla code. 40739 (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this 40740 helper which reduces the amount of code quite a bit. 40741 (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper. 40742 (WebCore::RenderThemeGtk::gtkButton): Ditto. 40743 (WebCore::RenderThemeGtk::gtkEntry): Ditto. 40744 (WebCore::RenderThemeGtk::gtkTreeView): Ditto. 40745 (WebCore::RenderThemeGtk::gtkVScale): Added. 40746 (WebCore::RenderThemeGtk::gtkHScale): Added. 40747 (WebCore::RenderThemeGtk::platformColorsDidChange): Removed 40748 GTK_CONTAINER cast. 40749 * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and 40750 GtkVScale members. 40751 * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy 40752 gtk_paint_box, gtk_paint_focus and gtk_paint_slider. 40753 * platform/gtk/WidgetRenderingContextGtk2.cpp: 40754 (WebCore::WidgetRenderingContext::gtkPaintBox): Added. 40755 (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. 40756 (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. 40757 * platform/gtk/WidgetRenderingContextGtk3.cpp: 40758 (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto. 40759 (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. 40760 (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. 40761 * platform/gtk/gtk2drawing.c: Removed defunct code! 40762 (moz_gtk_get_widget_border): 40763 (moz_gtk_widget_paint): 40764 * platform/gtk/gtk3drawing.c: Ditto. 40765 (moz_gtk_get_widget_border): 40766 (moz_gtk_widget_paint): 40767 * platform/gtk/gtkdrawing.h: 40768 40769 2010-12-15 Sheriff Bot <webkit.review.bot (a] gmail.com> 40770 40771 Unreviewed, rolling out r74117. 40772 http://trac.webkit.org/changeset/74117 40773 https://bugs.webkit.org/show_bug.cgi?id=51113 40774 40775 This broke the GTK1 build. (Requested by mrobinson on 40776 #webkit). 40777 40778 * GNUmakefile.am: 40779 * platform/network/soup/cache/webkit/soup-cache.h: 40780 40781 2010-12-15 Jian Li <jianli (a] chromium.org> 40782 40783 Unreviewed. Fixed a clang compiling error by making the forward 40784 declaration of MediaPlayerFactory be consistent with the definition. 40785 40786 * platform/graphics/MediaPlayer.h: 40787 40788 2010-12-15 David Hyatt <hyatt (a] apple.com> 40789 40790 Reviewed by Simon Fraser. 40791 40792 Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a 40793 y-position. 40794 40795 * rendering/LayoutState.cpp: 40796 (WebCore::LayoutState::pageLogicalOffset): 40797 (WebCore::LayoutState::addForcedColumnBreak): 40798 * rendering/LayoutState.h: 40799 * rendering/RenderBlock.cpp: 40800 (WebCore::RenderBlock::layoutBlock): 40801 (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): 40802 (WebCore::RenderBlock::layoutColumns): 40803 (WebCore::RenderBlock::setPageLogicalOffset): 40804 * rendering/RenderBlock.h: 40805 (WebCore::RenderBlock::pageLogicalOffset): 40806 (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): 40807 * rendering/RenderFlexibleBox.cpp: 40808 (WebCore::RenderFlexibleBox::layoutBlock): 40809 * rendering/RenderTable.cpp: 40810 (WebCore::RenderTable::layout): 40811 * rendering/RenderTableRow.cpp: 40812 (WebCore::RenderTableRow::layout): 40813 * rendering/RenderTableSection.cpp: 40814 (WebCore::RenderTableSection::layoutRows): 40815 40816 2010-12-13 Pavel Podivilov <podivilov (a] chromium.org> 40817 40818 Reviewed by Pavel Feldman. 40819 40820 Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel. 40821 https://bugs.webkit.org/show_bug.cgi?id=50908 40822 40823 * inspector/front-end/BreakpointManager.js: 40824 (WebInspector.BreakpointManager): 40825 (WebInspector.BreakpointManager.prototype._debuggerPaused): 40826 * inspector/front-end/CallStackSidebarPane.js: 40827 (WebInspector.CallStackSidebarPane): 40828 (WebInspector.CallStackSidebarPane.prototype.update): 40829 * inspector/front-end/DebuggerModel.js: 40830 (WebInspector.DebuggerModel): 40831 (WebInspector.DebuggerModel.prototype.setBreakpoint): 40832 (WebInspector.DebuggerModel.prototype._setBreakpoint): 40833 (WebInspector.DebuggerModel.prototype.scriptForSourceID): 40834 (WebInspector.DebuggerModel.prototype.scriptsForURL): 40835 (WebInspector.DebuggerModel.prototype.queryScripts): 40836 (WebInspector.DebuggerModel.prototype.parsedScriptSource): 40837 (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): 40838 (WebInspector.DebuggerModel.prototype.breakpointRestored): 40839 (WebInspector.DebuggerModel.prototype.debuggerPaused): 40840 (WebInspector.DebuggerModel.prototype.debuggerResumed): 40841 * inspector/front-end/Resource.js: 40842 * inspector/front-end/ScriptsPanel.js: 40843 (WebInspector.ScriptsPanel): eliminate sourceIDMap 40844 * inspector/front-end/SourceFrame.js: 40845 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 40846 (WebInspector.SourceFrame.prototype._setBreakpoint): 40847 * inspector/front-end/SourceView.js: 40848 (WebInspector.SourceView): 40849 * inspector/front-end/inspector.js: 40850 (WebInspector.createJSBreakpointsSidebarPane): 40851 (WebInspector.parsedScriptSource): 40852 (WebInspector.failedToParseScriptSource): 40853 40854 2010-12-15 Eric Carlson <eric.carlson (a] apple.com> 40855 40856 Reviewed by Darin Adler. 40857 40858 MediaPlayer should try all installed media engines 40859 https://bugs.webkit.org/show_bug.cgi?id=50209 40860 40861 * platform/graphics/MediaPlayer.cpp: 40862 (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional 40863 parameter for current engine. 40864 (WebCore::nextMediaEngine): New, return the next media engine in the list. 40865 (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer. 40866 (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables. 40867 (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine. 40868 (WebCore::MediaPlayer::supportsType): Make contentType parameter const. 40869 (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine. 40870 (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's 40871 metadata has not loaded, give the next installed engine a try. 40872 * platform/graphics/MediaPlayer.h: 40873 40874 2010-12-15 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 40875 40876 Reviewed by Martin Robinson. 40877 40878 Changes to enable building WebKit2 for Gtk port 40879 (https://bugs.webkit.org/show_bug.cgi?id=37369) 40880 40881 No new functionality added or deleted. Only makefile change. Hence, no tests added. 40882 40883 * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am 40884 * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly 40885 40886 2010-12-15 Jarred Nicholls <jarred (a] sencha.com> 40887 40888 Reviewed by Andreas Kling. 40889 40890 [Qt] Implement the File API spec 40891 https://bugs.webkit.org/show_bug.cgi?id=49839 40892 40893 No new tests. fast/files tests work when manually operated. 40894 They do not automatically work due to Qt's inability to handle multi-file 40895 inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT 40896 is missing an eventSender.beginDragWithFiles implementation. 40897 40898 * WebCore.pri: 40899 * WebCore.pro: 40900 * features.pri: 40901 * platform/qt/FileSystemQt.cpp: 40902 (WebCore::directoryName): 40903 (WebCore::readFromFile): 40904 (WebCore::seekFile): 40905 40906 2010-12-14 Antti Koivisto <antti (a] apple.com> 40907 40908 Reviewed by Alexey Proskuryakov. 40909 40910 https://bugs.webkit.org/show_bug.cgi?id=49548 40911 WebCore cache stores duplicate copies of subresources with URL fragments 40912 40913 - Strip fragment identifiers from HTTP and file URLs for the memory cache. 40914 - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs 40915 instead of strings to reduce repeated URL parsing. 40916 40917 Test: http/tests/cache/subresource-fragment-identifier.html 40918 40919 * inspector/InspectorResourceAgent.cpp: 40920 (WebCore::InspectorResourceAgent::cachedResource): 40921 * loader/FrameLoader.cpp: 40922 (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): 40923 * loader/cache/CachedResource.cpp: 40924 (WebCore::CachedResource::~CachedResource): 40925 * loader/cache/CachedResourceLoader.cpp: 40926 (WebCore::CachedResourceLoader::cachedResource): 40927 (WebCore::CachedResourceLoader::checkForReload): 40928 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 40929 (WebCore::CachedResourceLoader::requestResource): 40930 * loader/cache/CachedResourceLoader.h: 40931 * loader/cache/MemoryCache.cpp: 40932 (WebCore::MemoryCache::requestResource): 40933 (WebCore::MemoryCache::requestUserCSSStyleSheet): 40934 (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded): 40935 (WebCore::MemoryCache::resourceForURL): 40936 * loader/cache/MemoryCache.h: 40937 40938 2010-12-15 Anton Muhin <antonm (a] chromium.org> 40939 40940 Reviewed by David Levin. 40941 40942 [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations 40943 https://bugs.webkit.org/show_bug.cgi?id=50965 40944 40945 * bindings/v8/V8GCController.cpp: 40946 (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): 40947 (WebCore::DOMObjectGrouperVisitor::addAllItems): 40948 40949 2010-12-13 Pavel Podivilov <podivilov (a] chromium.org> 40950 40951 Reviewed by Yury Semikhatsky. 40952 40953 Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation. 40954 https://bugs.webkit.org/show_bug.cgi?id=48858 40955 40956 BreakpointManager pushes all persistent breakpoints to backend when loaded. 40957 InspectorController restores sticky breakpoints from cookie on navigation. 40958 40959 * inspector/Inspector.idl: 40960 * inspector/InspectorController.cpp: 40961 (WebCore::InspectorController::InspectorController): 40962 (WebCore::InspectorController::disconnectFrontend): 40963 (WebCore::InspectorController::didCommitLoad): 40964 (WebCore::InspectorController::setStickyBreakpoints): 40965 (WebCore::InspectorController::restoreStickyBreakpoints): 40966 (WebCore::InspectorController::restoreStickyBreakpoint): 40967 * inspector/InspectorController.h: 40968 * inspector/InspectorState.cpp: 40969 (WebCore::InspectorState::InspectorState): 40970 (WebCore::InspectorState::getObject): 40971 (WebCore::InspectorState::setObject): 40972 (WebCore::InspectorState::registerObject): 40973 * inspector/InspectorState.h: 40974 * inspector/front-end/BreakpointManager.js: 40975 (WebInspector.BreakpointManager): 40976 * inspector/front-end/BreakpointsSidebarPane.js: 40977 (WebInspector.BreakpointsSidebarPane): 40978 (WebInspector.BreakpointsSidebarPane.prototype._removeListElement): 40979 (WebInspector.BreakpointsSidebarPane.prototype._projectChanged): 40980 (WebInspector.EventListenerBreakpointsSidebarPane): 40981 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): 40982 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded): 40983 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged): 40984 * inspector/front-end/CallStackSidebarPane.js: 40985 (WebInspector.CallStackSidebarPane): 40986 * inspector/front-end/ElementsPanel.js: 40987 (WebInspector.ElementsPanel.prototype.reset): 40988 * inspector/front-end/ScriptsPanel.js: 40989 (WebInspector.ScriptsPanel.prototype.reset): 40990 * inspector/front-end/Settings.js: 40991 (WebInspector.Settings.prototype.inspectedURLChanged): 40992 (WebInspector.Settings.prototype.get projectId): 40993 (WebInspector.Settings.prototype.findSettingForAllProjects): 40994 (WebInspector.Settings.prototype._formatProjectKey): 40995 * inspector/front-end/inspector.js: 40996 (WebInspector.createDOMBreakpointsSidebarPane): 40997 (WebInspector.createXHRBreakpointsSidebarPane): 40998 (WebInspector.reset): 40999 (WebInspector.inspectedURLChanged): 41000 41001 2010-12-15 Mario Sanchez Prada <msanchez (a] igalia.com> 41002 41003 Unreviewed, fix compilation warnings after r74066. 41004 41005 * rendering/RenderBox.cpp: 41006 (WebCore::layersUseImage): Place this static function between the 41007 same if-def region used in the only place where it's called from. 41008 41009 2010-12-15 Emil Eklund <eae (a] chromium.org> 41010 41011 Reviewed by Adam Barth. 41012 41013 Change ContainerNode::willRemoveChildren to not fire mutation events for children 41014 added as a result of a mutation event, thereby avoiding an infinite loop. 41015 https://bugs.webkit.org/show_bug.cgi?id=51079 41016 41017 Test: fast/dom/containerNode.html 41018 41019 * dom/ContainerNode.cpp: 41020 (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event. 41021 41022 2010-12-14 Dan Bernstein <mitz (a] apple.com> 41023 41024 Reviewed by Maciej Stachowiak. 41025 41026 <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value 41027 https://bugs.webkit.org/show_bug.cgi?id=51096 41028 41029 Test: fast/css/appearance-caps-lock-indicator.html 41030 41031 * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be 41032 accepted by the parser, and added comments about maintaining the list of appearance values. 41033 * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum. 41034 41035 2010-12-14 takano takumi <takano (a] apple.com> 41036 41037 Reviewed by Dan Bernstein. 41038 41039 text-combine value names have been changed in the css3 proposal. 41040 https://bugs.webkit.org/show_bug.cgi?id=51089 41041 41042 Changed text-combine's value names from "none|cluster|upright" to "none|horizontal". 41043 41044 * css/CSSParser.cpp: Changed value name. 41045 (WebCore::CSSParser::parseValue): 41046 * css/CSSPrimitiveValueMappings.h: Changed value name. 41047 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 41048 (WebCore::CSSPrimitiveValue::operator TextCombine): 41049 * css/CSSValueKeywords.in: No more text-combine specific values needed since 41050 "horizontal" is already there. 41051 * rendering/style/RenderStyleConstants.h: Changed value name. 41052 * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size. 41053 41054 2010-12-14 Koan-Sin Tan <koansin.tan (a] gmail.com> 41055 41056 Reviewed by Alexey Proskuryakov. 41057 41058 Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp 41059 https://bugs.webkit.org/show_bug.cgi?id=51012 41060 41061 Kana should be displayed correctly in vertical text with broken font. 41062 41063 Test: fast/blockflow/japanese-rl-text-with-broken-font.html 41064 41065 * platform/graphics/Font.cpp: 41066 (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms 41067 41068 2010-12-14 Dan Bernstein <mitz (a] apple.com> 41069 41070 Reviewed by Sam Weinig. 41071 41072 Additional RenderStyle support for the text-emphasis CSS property 41073 Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property 41074 https://bugs.webkit.org/show_bug.cgi?id=48539 41075 41076 No test possible, since this is just adding a function to be used by upcoming patches. 41077 41078 * platform/text/CharacterNames.h: Added characters used as emphasis marks. 41079 * rendering/style/RenderStyle.cpp: 41080 (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the 41081 emphasis mark, or the null AtomicString if there is none. 41082 * rendering/style/RenderStyle.h: 41083 41084 2010-12-14 Anton D'Auria <adauria (a] apple.com> 41085 41086 Reviewed by Darin Adler. 41087 41088 Do not allow access to existing HTML5 databases in private browsing 41089 mode https://bugs.webkit.org/show_bug.cgi?id=49332 41090 41091 Test: storage/private-browsing-noread-nowrite.html 41092 41093 Previously, read-only transactions and private browsing mode were 41094 represented by the same SQLStatement and DatabaseAuthorizer states. 41095 This patch removes the m_readOnly member variable from SQLStatement and 41096 DatabaseAuthorizer, and replaces it with m_permissions whose bit fields 41097 are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite, 41098 ReadOnly, NoAccess). A read-only transaction sets permissions to 41099 ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(), 41100 then permissions also set to NoAccess. 41101 41102 * dom/Document.cpp: 41103 (WebCore::Document::allowDatabaseAccess): this method was previously 41104 called isDatabaseReadOnly. It checks if private browsing preference is 41105 set. This method is renamed because it is used to check if private 41106 browsing restricts access to databases. 41107 * dom/Document.h: 41108 * dom/ScriptExecutionContext.h: 41109 * storage/AbstractDatabase.cpp: 41110 (WebCore::AbstractDatabase::setAuthorizerPermissions): 41111 * storage/AbstractDatabase.h: 41112 * storage/DatabaseAuthorizer.cpp: 41113 (WebCore::DatabaseAuthorizer::reset): 41114 (WebCore::DatabaseAuthorizer::createTable): 41115 (WebCore::DatabaseAuthorizer::createTempTable): 41116 (WebCore::DatabaseAuthorizer::dropTable): 41117 (WebCore::DatabaseAuthorizer::dropTempTable): 41118 (WebCore::DatabaseAuthorizer::allowAlterTable): 41119 (WebCore::DatabaseAuthorizer::createIndex): 41120 (WebCore::DatabaseAuthorizer::createTempIndex): 41121 (WebCore::DatabaseAuthorizer::dropIndex): 41122 (WebCore::DatabaseAuthorizer::dropTempIndex): 41123 (WebCore::DatabaseAuthorizer::createTrigger): 41124 (WebCore::DatabaseAuthorizer::createTempTrigger): 41125 (WebCore::DatabaseAuthorizer::dropTrigger): 41126 (WebCore::DatabaseAuthorizer::dropTempTrigger): 41127 (WebCore::DatabaseAuthorizer::createView): 41128 (WebCore::DatabaseAuthorizer::createTempView): 41129 (WebCore::DatabaseAuthorizer::dropView): 41130 (WebCore::DatabaseAuthorizer::dropTempView): 41131 (WebCore::DatabaseAuthorizer::createVTable): 41132 (WebCore::DatabaseAuthorizer::dropVTable): 41133 (WebCore::DatabaseAuthorizer::allowDelete): 41134 (WebCore::DatabaseAuthorizer::allowInsert): 41135 (WebCore::DatabaseAuthorizer::allowUpdate): 41136 (WebCore::DatabaseAuthorizer::allowRead): 41137 (WebCore::DatabaseAuthorizer::allowReindex): 41138 (WebCore::DatabaseAuthorizer::allowWrite): a new private method that 41139 checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or 41140 NoAccess mode. 41141 (WebCore::DatabaseAuthorizer::setReadOnly): 41142 (WebCore::DatabaseAuthorizer::setPermissions): 41143 * storage/DatabaseAuthorizer.h: 41144 * storage/SQLStatement.cpp: 41145 (WebCore::SQLStatement::create): 41146 (WebCore::SQLStatement::SQLStatement): 41147 (WebCore::SQLStatement::execute): 41148 * storage/SQLStatement.h: 41149 * storage/SQLStatementSync.cpp: 41150 (WebCore::SQLStatementSync::SQLStatementSync): 41151 (WebCore::SQLStatementSync::execute): 41152 * storage/SQLStatementSync.h: 41153 * storage/SQLTransaction.cpp: 41154 (WebCore::SQLTransaction::executeSQL): 41155 * storage/SQLTransactionSync.cpp: 41156 (WebCore::SQLTransactionSync::executeSQL): 41157 * workers/WorkerContext.h: 41158 (WebCore::WorkerContext::allowDatabaseAccess): 41159 41160 2010-12-02 MORITA Hajime <morrita (a] google.com> 41161 41162 Reviewed by Dimitri Glazkov. 41163 41164 [chromium] Fix drawing of inset box shadows 41165 https://bugs.webkit.org/show_bug.cgi?id=41576 41166 41167 When clearing outside clipped path, the context contains unexpected transform. 41168 Fixed to restore original state before the clear. 41169 41170 * platform/graphics/skia/PlatformContextSkia.cpp: 41171 (WebCore::PlatformContextSkia::clipPathAntiAliased): 41172 (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths): 41173 41174 2010-12-14 Anders Carlsson <andersca (a] apple.com> 41175 41176 Reviewed by Sam Weinig. 41177 41178 Mouse Events Not Received in Run Applet in their Own Process Mode 41179 https://bugs.webkit.org/show_bug.cgi?id=51078 41180 <rdar://problem/8333491> 41181 41182 Make sure that Widget::handleEvent is called for applets as well. 41183 41184 * html/HTMLAppletElement.cpp: 41185 (WebCore::HTMLAppletElement::defaultEventHandler): 41186 * html/HTMLAppletElement.h: 41187 41188 2010-12-14 Simon Fraser <simon.fraser (a] apple.com> 41189 41190 Reviewed by Chris Marrin. 41191 41192 Parts of page disappear 41193 https://bugs.webkit.org/show_bug.cgi?id=41701 41194 41195 The page has text-indent: -1000000px on an element that becomes 41196 compositing, causing a huge tiled layer to get created. 41197 41198 r63452 aimed to fix this by clamping layer bounds to the viewport, 41199 but did not do so for pages running accelerated animations (since 41200 we don't want to clamp for transform animations). However, this 41201 page only has an opacity animation. 41202 41203 So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false) 41204 for transform animations. 41205 41206 Test: compositing/geometry/limit-layer-bounds-opacity-transition.html 41207 41208 * rendering/RenderLayerBacking.cpp: 41209 (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation() 41210 with the appropriate properties, and clean up confusing logic that was used to 41211 compute the return value. We want to return true if either property is accelerated. 41212 41213 (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation() 41214 with the appropriate property. 41215 41216 * rendering/RenderLayerCompositor.h: 41217 * rendering/RenderLayerCompositor.cpp: 41218 (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in, 41219 and only turn off overlap testing if we see a transform animation. 41220 41221 2010-12-14 Brady Eidson <beidson (a] apple.com> 41222 41223 Reviewed by Alexey Proskuryakov. 41224 41225 <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138 41226 Authorization header is sent from an HTTP Auth protected site on redirect 41227 Test: http/tests/misc/authentication-sent-to-redirect.html 41228 41229 Add helper to clear the Auth headers from a resource request: 41230 * platform/network/ResourceRequestBase.cpp: 41231 (WebCore::ResourceRequestBase::clearHTTPAuthorization): 41232 * platform/network/ResourceRequestBase.h: 41233 41234 Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them: 41235 * platform/network/cf/ResourceHandleCFNet.cpp: 41236 (WebCore::ResourceHandle::willSendRequest): 41237 * platform/network/mac/ResourceHandleMac.mm: 41238 (WebCore::ResourceHandle::willSendRequest): 41239 41240 2010-12-14 Simon Fraser <simon.fraser (a] apple.com> 41241 41242 Reviewed by Chris Marrin. 41243 41244 Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL 41245 https://bugs.webkit.org/show_bug.cgi?id=51072 41246 41247 Fix a crash when painting a layer whose PlatformCALayer has been deleted, 41248 by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer 41249 is destroyed. 41250 41251 I was not able to reduce the page to a simple testcase. 41252 41253 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 41254 (PlatformCALayer::~PlatformCALayer): 41255 41256 2010-12-14 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 41257 41258 Unreviewed, build fix. 41259 41260 [Qt] Fix the list of header files in WebCore.pro after r74049. 41261 41262 No new tests as there is no new functionality. 41263 41264 * WebCore.pro: 41265 41266 2010-12-14 Yael Aharon <yael.aharon (a] nokia.com> 41267 41268 Reviewed by Andreas Kling. 41269 41270 [Qt] Focus rings are ugly, rects should be united instead of drawn individually 41271 https://bugs.webkit.org/show_bug.cgi?id=49953 41272 41273 Create a QPainterPath and add to it the focus rects, one at a time. 41274 Combine the 2 drawFocusRing functions into one function drawFocusRingForPath. 41275 41276 Tests: fast/css/focus-ring-detached.html 41277 fast/css/focus-ring-multiline.html 41278 41279 * platform/graphics/qt/GraphicsContextQt.cpp: 41280 (WebCore::drawFocusRingForPath): 41281 (WebCore::GraphicsContext::drawFocusRing): 41282 41283 2010-12-14 Mark Rowe <mrowe (a] apple.com> 41284 41285 Fix the Qt build. 41286 41287 * xml/XSLTProcessorQt.cpp: 41288 (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit 41289 since QVariant can be constructed from either a QString or a bool. 41290 41291 2010-12-14 Simon Fraser <simon.fraser (a] apple.com> 41292 41293 Reviewed by Dan Bernstein. 41294 41295 compositing/masks/simple-composited-mask.html failure 41296 https://bugs.webkit.org/show_bug.cgi?id=49746 41297 41298 Geometry of composited layers with a mask depends on the loading 41299 of the mask image, since maskClipRect() is used for the layer bounds. 41300 41301 So when RenderBox::imageChanged() is called for an image used by 41302 a mask on a layer with a composited mask, call the newly-renamed 41303 layer->contentsChanged() method. This percolates down into RenderLayerBacking, 41304 ending in a layer geometry update. 41305 41306 Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added 41307 an enum to say what changed, for somewhat more efficient updating. 41308 41309 Also, when the mask layer gets resized, make sure we mark it as needing 41310 display. 41311 41312 Tested by pixel result of compositing/masks/simple-composited-mask.html 41313 41314 * html/canvas/CanvasRenderingContext2D.cpp: 41315 (WebCore::CanvasRenderingContext2D::didDraw): 41316 * html/canvas/WebGLRenderingContext.cpp: 41317 (WebCore::WebGLRenderingContext::markContextChanged): 41318 (WebCore::WebGLRenderingContext::reshape): 41319 * rendering/RenderBox.cpp: 41320 (WebCore::layersUseImage): 41321 (WebCore::RenderBox::imageChanged): 41322 * rendering/RenderImage.cpp: 41323 (WebCore::RenderImage::imageDimensionsChanged): 41324 (WebCore::RenderImage::notifyFinished): 41325 * rendering/RenderLayer.cpp: 41326 (WebCore::RenderLayer::contentChanged): 41327 * rendering/RenderLayer.h: 41328 * rendering/RenderLayerBacking.cpp: 41329 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 41330 (WebCore::RenderLayerBacking::contentChanged): 41331 * rendering/RenderLayerBacking.h: 41332 * rendering/RenderVideo.cpp: 41333 (WebCore::RenderVideo::updatePlayer): 41334 41335 2010-12-14 Mark Rowe <mrowe (a] apple.com> 41336 41337 Reviewed by Sam Weinig. 41338 41339 <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video> 41340 41341 We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in 41342 to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly. 41343 41344 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 41345 (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string. 41346 41347 2010-12-14 David Hyatt <hyatt (a] apple.com> 41348 41349 Reviewed by Dan Bernstein. 41350 41351 https://bugs.webkit.org/show_bug.cgi?id=50970 41352 41353 It's arguably a bug, but we don't let inline flow layers paint floating 41354 descendants. The containing block of the inline flow paints them instead. 41355 However our shouldPaint logic has always been flawed and has turned off propagation 41356 of painting when an inline flow layer is enclosing the float. 41357 41358 Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise 41359 and for now limit it to RenderBoxes. 41360 41361 Added fast/block/float/floatstack.html 41362 41363 * rendering/RenderBlock.cpp: 41364 (WebCore::RenderBlock::addOverhangingFloats): 41365 * rendering/RenderBox.cpp: 41366 (WebCore::RenderBox::enclosingFloatPaintingLayer): 41367 * rendering/RenderBox.h: 41368 * rendering/RenderObject.cpp: 41369 * rendering/RenderObject.h: 41370 41371 2010-12-14 Mihai Parparita <mihaip (a] chromium.org> 41372 41373 Reviewed by Dimitri Glazkov. 41374 41375 Move asynchronous event dispatching out of Document 41376 https://bugs.webkit.org/show_bug.cgi?id=49785 41377 41378 Move asynchonous event code out of Document and into a standalone 41379 EventQueue class (which supports async events for both regular nodes 41380 and the window object). 41381 41382 No new tests necessary, since no new functionality is exposed (existing 41383 layout tests pass). 41384 41385 * Android.mk: 41386 * CMakeLists.txt: 41387 * GNUmakefile.am: 41388 * WebCore.gypi: 41389 * WebCore.pro: 41390 * WebCore.vcproj/WebCore.vcproj: 41391 * WebCore.xcodeproj/project.pbxproj: 41392 * dom/Document.cpp: 41393 (WebCore::Document::Document): 41394 (WebCore::Document::enqueueWindowEvent): 41395 (WebCore::Document::enqueueHashchangeEvent): 41396 * dom/DOMAllInOne.cpp: 41397 (WebCore::Document::eventQueue): 41398 * dom/Document.h: 41399 * dom/EventQueue.cpp: Added. 41400 (WebCore::EventQueue::EventQueue): 41401 (WebCore::EventQueue::enqueueEvent): 41402 (WebCore::EventQueue::pendingEventTimerFired): 41403 (WebCore::EventQueue::dispatchEvent): 41404 * dom/EventQueue.h: Added. 41405 * storage/StorageEventDispatcher.cpp: 41406 (WebCore::StorageEventDispatcher::dispatch): 41407 41408 2010-12-14 Kyounga Ra <kyounga.ra (a] gmail.com> 41409 41410 Reviewed by Adam Barth. 41411 41412 <noscript> is rendered with enabled XHTMLMP. 41413 https://bugs.webkit.org/show_bug.cgi?id=48493 41414 41415 * html/HTMLElement.cpp: 41416 (WebCore::HTMLElement::rendererIsNeeded): 41417 41418 2010-12-14 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 41419 41420 Reviewed by Eric Seidel. 41421 41422 [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported 41423 https://bugs.webkit.org/show_bug.cgi?id=50231 41424 41425 No new tests as there is no new functionality. 41426 41427 Guard CONFIG+=link_pkgconfig with !symbian. 41428 41429 * WebCore.pro: 41430 41431 2010-12-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 41432 41433 Unreviewed, rolling out r74040. 41434 http://trac.webkit.org/changeset/74040 41435 https://bugs.webkit.org/show_bug.cgi?id=51050 41436 41437 Breaks 2d.shadow.canvas.transparent.2 and 41438 2d.shadow.image.transparent.2 (Requested by helder on 41439 #webkit). 41440 41441 * platform/graphics/ContextShadow.cpp: 41442 (WebCore::ContextShadow::ContextShadow): 41443 (WebCore::ContextShadow::calculateLayerBoundingRect): 41444 * platform/graphics/ContextShadow.h: 41445 (WebCore::ContextShadow::offset): 41446 * platform/graphics/qt/ContextShadowQt.cpp: 41447 (WebCore::ContextShadow::beginShadowLayer): 41448 (WebCore::ContextShadow::endShadowLayer): 41449 * platform/graphics/qt/GraphicsContextQt.cpp: 41450 (WebCore::GraphicsContext::fillPath): 41451 (WebCore::GraphicsContext::strokePath): 41452 (WebCore::GraphicsContext::fillRect): 41453 (WebCore::GraphicsContext::fillRoundedRect): 41454 (WebCore::GraphicsContext::setPlatformShadow): 41455 41456 2010-12-14 Nate Chapin <japhet (a] chromium.org> 41457 41458 Unreviewed, fixing qt (hopefully for real this time). 41459 41460 Remove a couple more references to loader.h. 41461 41462 * xml/XSLStyleSheetQt.cpp: 41463 * xml/XSLTProcessorQt.cpp: 41464 41465 2010-12-14 Nate Chapin <japhet (a] chromium.org> 41466 41467 Unreviewed, fix mac and qt builds. 41468 41469 Missed a couple of references to loader.h and 41470 improperly added CachedResourceRequest.h to 41471 WebCore.xcodeproj. 41472 41473 * WebCore.xcodeproj/project.pbxproj: 41474 * platform/android/TemporaryLinkStubs.cpp: 41475 * platform/qt/TemporaryLinkStubsQt.cpp: 41476 41477 2010-12-14 Nate Chapin <japhet (a] chromium.org> 41478 41479 Reviewed by Adam Barth. 41480 41481 Rename Loader to CachedResourceRequest. 41482 https://bugs.webkit.org/show_bug.cgi?id=50848 41483 41484 No new tests, rename only. 41485 41486 * Android.mk: 41487 * CMakeLists.txt: 41488 * GNUmakefile.am: 41489 * WebCore.gypi: 41490 * WebCore.pro: 41491 * WebCore.vcproj/WebCore.vcproj: 41492 * WebCore.xcodeproj/project.pbxproj: 41493 * css/CSSStyleSelector.cpp: 41494 * loader/cache/CachedCSSStyleSheet.cpp: 41495 * loader/cache/CachedFont.cpp: 41496 * loader/cache/CachedResource.cpp: 41497 (WebCore::CachedResource::setRequest): 41498 * loader/cache/CachedResource.h: 41499 * loader/cache/CachedResourceLoader.cpp: 41500 (WebCore::CachedResourceLoader::load): 41501 (WebCore::CachedResourceLoader::loadDone): 41502 (WebCore::CachedResourceLoader::cancelRequests): 41503 * loader/cache/CachedResourceLoader.h: 41504 * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp. 41505 * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h. 41506 * loader/loader.cpp: Removed. 41507 * loader/loader.h: Removed. 41508 * xml/XSLStyleSheetLibxslt.cpp: 41509 * xml/XSLTProcessor.cpp: 41510 * xml/XSLTProcessorLibxslt.cpp: 41511 41512 2010-12-14 David Hyatt <hyatt (a] apple.com> 41513 41514 Reviewed by Tim Hatcher. 41515 41516 https://bugs.webkit.org/show_bug.cgi?id=46422 41517 41518 Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for 41519 making printing and pagination work with vertical writing modes. 41520 41521 * page/FrameView.cpp: 41522 (WebCore::FrameView::forceLayoutForPagination): 41523 * rendering/LayoutState.cpp: 41524 (WebCore::LayoutState::LayoutState): 41525 (WebCore::LayoutState::clearPaginationInformation): 41526 * rendering/LayoutState.h: 41527 (WebCore::LayoutState::LayoutState): 41528 (WebCore::LayoutState::isPaginated): 41529 (WebCore::LayoutState::pageLogicalHeight): 41530 (WebCore::LayoutState::pageLogicalHeightChanged): 41531 * rendering/RenderBlock.cpp: 41532 (WebCore::RenderBlock::layoutBlock): 41533 (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): 41534 (WebCore::RenderBlock::insertFloatingObject): 41535 (WebCore::RenderBlock::layoutColumns): 41536 (WebCore::RenderBlock::nextPageTop): 41537 (WebCore::RenderBlock::applyBeforeBreak): 41538 (WebCore::RenderBlock::applyAfterBreak): 41539 (WebCore::RenderBlock::adjustForUnsplittableChild): 41540 (WebCore::RenderBlock::adjustLinePositionForPagination): 41541 * rendering/RenderBlock.h: 41542 * rendering/RenderBox.cpp: 41543 (WebCore::RenderBox::computeLogicalHeight): 41544 * rendering/RenderFlexibleBox.cpp: 41545 (WebCore::RenderFlexibleBox::layoutBlock): 41546 * rendering/RenderTable.cpp: 41547 (WebCore::RenderTable::layout): 41548 * rendering/RenderTableRow.cpp: 41549 (WebCore::RenderTableRow::layout): 41550 * rendering/RenderTableSection.cpp: 41551 (WebCore::RenderTableSection::layoutRows): 41552 * rendering/RenderView.cpp: 41553 (WebCore::RenderView::RenderView): 41554 (WebCore::RenderView::layout): 41555 * rendering/RenderView.h: 41556 (WebCore::RenderView::pageLogicalHeight): 41557 (WebCore::RenderView::setPageLogicalHeight): 41558 41559 2010-12-14 Dimitri Glazkov <dglazkov (a] chromium.org> 41560 41561 Fix GTK build by adding source files that were accidentally skipped in 41562 r74044. Sorry! 41563 41564 * GNUmakefile.am: Added SliderThumbElement. 41565 41566 2010-12-14 Beth Dakin <bdakin (a] apple.com> 41567 41568 Reviewed by Darin Adler. 41569 41570 Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 41571 getComputedStyle() returns wrong values for zoomed elements when 41572 display is none 41573 -and corresponding- 41574 <rdar://problem/8522731> 41575 41576 If there is no renderer but the RenderStyle's value is a fixed 41577 length, send it through zoomAdjustedPixelValue(). There's not much 41578 we can do for other length types without a renderer. 41579 * css/CSSComputedStyleDeclaration.cpp: 41580 (WebCore::zoomAdjustedPixelValueForLength): 41581 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 41582 41583 2010-12-13 Dimitri Glazkov <dglazkov (a] chromium.org> 41584 41585 Reviewed by David Levin. 41586 41587 Move SliderThumbElement into its own file. 41588 https://bugs.webkit.org/show_bug.cgi?id=50973 41589 41590 No change in behavior, so no tests. 41591 41592 * Android.mk: Added SliderThumbElement. 41593 * CMakeLists.txt: Ditto. 41594 * WebCore.gyp/WebCore.gyp: Ditto. 41595 * WebCore.gypi: Ditto. 41596 * WebCore.pro: Ditto. 41597 * WebCore.vcproj/WebCore.vcproj: Ditto. 41598 * WebCore.xcodeproj/project.pbxproj: Ditto, 41599 * html/shadow/SliderThumbElement.cpp: Added. 41600 * html/shadow/SliderThumbElement.h: Added. 41601 * rendering/RenderSlider.cpp: Removed code that was moved into 41602 SliderThumbElement. 41603 41604 2010-12-13 Alexey Proskuryakov <ap (a] apple.com> 41605 41606 Reviewed by Adam Barth. 41607 41608 https://bugs.webkit.org/show_bug.cgi?id=50953 41609 DNS Prefetch should be an opt-in feature 41610 41611 No new tests, can't test DNS. 41612 41613 * dom/Document.h: Made initDNSPrefetch public, since Page now calls it. 41614 41615 * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged): 41616 * page/Page.h: 41617 Documents cache the value of this setting, so they need to be notified of changes. In particular, 41618 the first document in a page is created before settings are applied. 41619 41620 * page/Settings.cpp: 41621 (WebCore::Settings::Settings): Changed default to false. 41622 (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change. 41623 41624 2010-12-14 Helder Correia <helder (a] sencha.com> 41625 41626 Reviewed by Ariya Hidayat. 41627 41628 [Qt] Canvas shadow offset should not be affected by any transformation 41629 https://bugs.webkit.org/show_bug.cgi?id=50422 41630 41631 On a canvas context, shadows are currently affected by all 41632 transformations except scaling. According to the spec: 41633 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows 41634 41635 "The shadowOffsetX and shadowOffsetY attributes specify the distance 41636 that the shadow will be offset in the positive horizontal and positive 41637 vertical distance respectively. Their values are in coordinate space 41638 units. They are not affected by the current transformation matrix." 41639 41640 NOTE: this applies only to canvas, not to box shadows. 41641 41642 Test: fast/canvas/canvas-transforms-fillRect-shadow.html 41643 41644 * platform/graphics/ContextShadow.cpp: 41645 (WebCore::ContextShadow::ContextShadow): 41646 (WebCore::ContextShadow::calculateLayerBoundingRect): 41647 * platform/graphics/ContextShadow.h: 41648 (WebCore::ContextShadow::setShadowsIgnoreTransforms): 41649 (WebCore::ContextShadow::shadowsIgnoreTransforms): 41650 (WebCore::ContextShadow::offset): 41651 * platform/graphics/qt/ContextShadowQt.cpp: 41652 (WebCore::ContextShadow::beginShadowLayer): 41653 (WebCore::ContextShadow::endShadowLayer): 41654 * platform/graphics/qt/GraphicsContextQt.cpp: 41655 (WebCore::mustUseContextShadow): 41656 (WebCore::GraphicsContext::fillPath): 41657 (WebCore::GraphicsContext::strokePath): 41658 (WebCore::GraphicsContext::fillRect): 41659 (WebCore::GraphicsContext::fillRoundedRect): 41660 (WebCore::GraphicsContext::setPlatformShadow): 41661 41662 2010-12-14 Alexander Pavlov <apavlov (a] chromium.org> 41663 41664 Reviewed by Yury Semikhatsky. 41665 41666 Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted 41667 https://bugs.webkit.org/show_bug.cgi?id=51034 41668 41669 * inspector/front-end/CSSStyleModel.js: 41670 (WebInspector.CSSStyleModel.prototype._onRevert): 41671 * inspector/front-end/ElementsPanel.js: 41672 (WebInspector.ElementsPanel): 41673 (WebInspector.ElementsPanel.prototype._metricsPaneEdited): 41674 (WebInspector.ElementsPanel.prototype._stylesPaneEdited): 41675 (WebInspector.ElementsPanel.prototype._styleSheetChanged): 41676 41677 2010-12-14 Andreas Kling <andreas.kling (a] nokia.com> 41678 41679 Reviewed by Kenneth Rohde Christiansen. 41680 41681 [Qt] Avoid GraphicsContext save/restore in Image::drawPattern() 41682 https://bugs.webkit.org/show_bug.cgi?id=51037 41683 41684 It's enough to restore the CompositeOperator after drawing. 41685 41686 * platform/graphics/qt/ImageQt.cpp: 41687 (WebCore::Image::drawPattern): 41688 41689 2010-12-14 Eric Carlson <eric.carlson (a] apple.com> 41690 41691 Reviewed by Dan Bernstein. 41692 41693 <rdar://problem/8763862> 41694 r72017 used incorrect compiler conditional. 41695 41696 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 41697 (WebCore::MediaPlayerPrivateQTKit::createQTMovie): 41698 41699 2010-12-14 Carlos Garcia Campos <cgarcia (a] igalia.com> 41700 41701 Reviewed by Martin Robinson. 41702 41703 [GTK] Simplify context-menu handling code 41704 https://bugs.webkit.org/show_bug.cgi?id=49658 41705 41706 * platform/ContextMenuItem.h: 41707 * platform/gtk/ContextMenuGtk.cpp: 41708 (WebCore::ContextMenu::appendItem): 41709 * platform/gtk/ContextMenuItemGtk.cpp: 41710 (WebCore::ContextMenuItem::ContextMenuItem): 41711 (WebCore::ContextMenuItem::~ContextMenuItem): 41712 (WebCore::ContextMenuItem::releasePlatformDescription): 41713 (WebCore::ContextMenuItem::type): 41714 (WebCore::ContextMenuItem::setType): 41715 (WebCore::ContextMenuItem::action): 41716 (WebCore::ContextMenuItem::setAction): 41717 (WebCore::ContextMenuItem::title): 41718 (WebCore::ContextMenuItem::setTitle): 41719 (WebCore::ContextMenuItem::platformSubMenu): 41720 (WebCore::ContextMenuItem::setSubMenu): 41721 (WebCore::ContextMenuItem::setChecked): 41722 (WebCore::ContextMenuItem::setEnabled): 41723 41724 2010-12-14 Mario Sanchez Prada <msanchez (a] igalia.com> 41725 41726 Reviewed by Xan Lopez. 41727 41728 [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects 41729 https://bugs.webkit.org/show_bug.cgi?id=27048 41730 41731 Handle focus change for text objects based in caret changes. 41732 41733 As text objects (such as paragraphs) seem not to accept focus in 41734 WebCore in the same way other objects (text controls) do, a 41735 Gtk-specific workaround is needed to expose this states and the 41736 related events to ATK-based assistive technologies. 41737 41738 Test: platform/gtk/accessibility/caret-browsing-text-focus.html 41739 41740 Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE 41741 state, and that the ATK_STATE_FOCUSED state is added to those 41742 text objects containing the currently active caret selection. 41743 41744 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 41745 (selectionBelongsToObject): Moved upwards to use it from 41746 the new isTextWithCaret() function. 41747 (isTextWithCaret): New, checks whether an accessibility object 41748 represents a text object with the current caret selection on it. 41749 (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state 41750 when also when isTextWithCaret(coreObject) returns true. 41751 (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE 41752 state to text objects and those with the ATK_ROLE_PARAGRAPH role. 41753 (webkit_accessible_text_get_n_selections): Optimize return expression. 41754 41755 Make sure the proper events associated to a change of focus are 41756 emitted, based on caret changes across different accessibility 41757 objects. Also, refactored the code in more manageable and 41758 understandable helper functions. 41759 41760 * editing/gtk/SelectionControllerGtk.cpp: 41761 (WebCore::emitTextSelectionChange): New, includes the specific 41762 code formerly placed in notifyAccessibilityForSelectionChange() to 41763 emit the 'text-caret-moved' and 'text-selection-change' signals. 41764 (WebCore::maybeEmitTextFocusChange): New, takes care of emitting 41765 the 'focus-event' and 'state-changed::focused' signals when 41766 needed, that is, when a change in the selection happens across 41767 different accessible objects. 41768 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 41769 Refactored some code here, by using the new helper functions. 41770 41771 2010-12-14 Ilya Tikhonovsky <loislo (a] chromium.org> 41772 41773 Reviewed by Pavel Feldman. 41774 41775 Web Inspector: regroup Inspector.idl entries. 41776 Just for better visibility. 41777 41778 https://bugs.webkit.org/show_bug.cgi?id=51025 41779 41780 * inspector/Inspector.idl: 41781 41782 2010-12-14 Alexander Pavlov <apavlov (a] chromium.org> 41783 41784 Reviewed by Yury Semikhatsky. 41785 41786 Web Inspector: Reverted stylesheet breaks style data 41787 https://bugs.webkit.org/show_bug.cgi?id=51030 41788 41789 * inspector/InspectorStyleSheet.cpp: 41790 (WebCore::InspectorStyleSheet::reparseStyleSheet): 41791 41792 2010-12-14 Mads Ager <ager (a] chromium.org> 41793 41794 Reviewed by Pavel Feldman. 41795 41796 [V8] Reflected unsigned attributes should be in the range [0, 2^31) 41797 https://bugs.webkit.org/show_bug.cgi?id=51023 41798 41799 Follow the changes made to CodeGeneratorJS.pm to return 0 for 41800 reflected unsigned attributes that are outside the allowed range. 41801 See https://bugs.webkit.org/show_bug.cgi?id=50472 41802 41803 * bindings/scripts/CodeGeneratorV8.pm: 41804 41805 2010-12-14 Charlie Reis <creis (a] chromium.org> 41806 41807 Reviewed by Darin Adler. 41808 41809 Remove stale include of Document.h in V8DOMWrapper.h 41810 https://bugs.webkit.org/show_bug.cgi?id=50607 41811 41812 We no longer need to include Document.h or V8DOMMap.h in 41813 V8DOMWrapper. Removing them to avoid dependencies. 41814 41815 * bindings/v8/V8DOMWrapper.h: 41816 41817 2010-12-14 Julien Chaffraix <jchaffraix (a] codeaurora.org> 41818 41819 Reviewed by Darin Adler. 41820 41821 Test for: EventSource fails to connect if Content-Type header has a charset attribute 41822 https://bugs.webkit.org/show_bug.cgi?id=45372 41823 41824 Tests: http/tests/eventsource/eventsource-content-type-charset.html 41825 http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html 41826 41827 * page/EventSource.cpp: 41828 (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type 41829 header directly. This makes the detection of the "text/stream" mimeType more accurate. 41830 41831 2010-12-14 Pieter Senster <psenster (a] google.com> 41832 41833 Reviewed by Dirk Schulze. 41834 41835 Incorporate the channel offsets from the ColorMatrix filter in the filter calculation 41836 https://bugs.webkit.org/show_bug.cgi?id=50682 41837 41838 Test: svg/filters/feColorMatrix-offset.svg 41839 41840 * platform/graphics/filters/FEColorMatrix.cpp: 41841 (WebCore::matrix): 41842 41843 2010-12-14 Jarred Nicholls <jarred (a] sencha.com> 41844 41845 Reviewed by Kenneth Rohde Christiansen. 41846 41847 Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer) 41848 41849 No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles. 41850 41851 * platform/qt/ClipboardQt.cpp: 41852 (WebCore::ClipboardQt::files): 41853 41854 2010-12-13 Antonio Gomes <agomes (a] rim.com> 41855 41856 Rubber stamped by Daniel Bates. 41857 41858 Spatial Navigation: code clean up (part V) 41859 https://bugs.webkit.org/show_bug.cgi?id=50666 41860 41861 No new tests needed. 41862 41863 * page/SpatialNavigation.cpp: 41864 (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not 41865 supposed to change within this function. 41866 * page/SpatialNavigation.h: Ditto. 41867 41868 2010-12-13 takano takumi <takano (a] apple.com> 41869 41870 Reviewed by Dan Bernstein. 41871 41872 GlyphPage::fill() is slow on vertical writing (Mac) 41873 https://bugs.webkit.org/show_bug.cgi?id=50865 41874 41875 No test. Just a performance improvement. 41876 41877 * platform/graphics/Font.cpp: 41878 (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji). 41879 (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols. 41880 * platform/graphics/Font.h: 41881 * platform/graphics/FontFastPath.cpp: 41882 (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph(). 41883 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 41884 (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not. 41885 For vertical writing, if the current page contains only ideographs, we go CG path. 41886 (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path. 41887 41888 2010-12-13 Antonio Gomes <agomes (a] rim.com> 41889 41890 Reviewed by Daniel Bates. 41891 41892 Spatial Navigation: code clean up (part IV) 41893 https://bugs.webkit.org/show_bug.cgi?id=50666 41894 41895 Avoid calling canScrollInDirection more than necessary. 41896 41897 No new tests needed. 41898 41899 * page/FocusController.cpp: 41900 (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection() 41901 to within the scrollInDirection(). 41902 * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function. 41903 (WebCore::scrollInDirection): 41904 41905 2010-12-13 Antonio Gomes <agomes (a] rim.com> 41906 41907 Reviewed by Daniel Bates. 41908 41909 Spatial Navigation: code clean up (part III) 41910 https://bugs.webkit.org/show_bug.cgi?id=50666 41911 41912 No new tests needed. 41913 41914 * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and 41915 WebCore::frameOwnerElement helper functions. 41916 (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer 41917 wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false 41918 otherwise. 41919 * page/SpatialNavigation.cpp: 41920 (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with 41921 the FocusCandidate if appropriate. 41922 * page/FocusController.cpp: 41923 (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper. 41924 (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto. 41925 41926 2010-12-13 Mike Lawther <mikelawther (a] chromium.org> 41927 41928 Reviewed by Daniel Bates. 41929 41930 [skia] ignore transform for canvas shadows 41931 https://bugs.webkit.org/show_bug.cgi?id=50437 41932 41933 * platform/graphics/skia/GraphicsContextSkia.cpp: 41934 (WebCore::GraphicsContext::setPlatformShadow): 41935 41936 2010-12-13 Dai Mikurube <dmikurube (a] google.com> 41937 41938 Reviewed by Kent Tamura. 41939 41940 ValidityState's exposed functions should check if willValidate() is true before all 41941 https://bugs.webkit.org/show_bug.cgi?id=50617 41942 41943 Added checking willValidate() to exposed functions. And modified willValidate() behavior 41944 for <button type="submit"> and <input type="submit"> to return true if not disabled and 41945 not readonly. 41946 41947 * html/HTMLButtonElement.cpp: 41948 (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type. 41949 (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec. 41950 * html/HTMLButtonElement.h: 41951 * html/SubmitInputType.cpp: 41952 (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec. 41953 (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available. 41954 * html/SubmitInputType.h: 41955 * html/ValidityState.cpp: Added checking willValidate(). 41956 (WebCore::ValidityState::typeMismatch): 41957 (WebCore::ValidityState::patternMismatch): 41958 (WebCore::ValidityState::tooLong): 41959 (WebCore::ValidityState::rangeUnderflow): 41960 (WebCore::ValidityState::rangeOverflow): 41961 (WebCore::ValidityState::stepMismatch): 41962 (WebCore::ValidityState::customError): 41963 * html/ValidityState.h: 41964 41965 2010-12-13 Noel Gordon <noel.gordon (a] gmail.com> 41966 41967 Reviewed by David Levin. 41968 41969 [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil() 41970 https://bugs.webkit.org/show_bug.cgi?id=50545 41971 41972 Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling. 41973 41974 No new tests, no change in behaviour. 41975 41976 * platform/graphics/skia/ImageBufferSkia.cpp: 41977 (WebCore::putImageData): 41978 41979 2010-12-13 Gavin Peters <gavinp (a] chromium.org> 41980 41981 Reviewed by Adam Barth. 41982 41983 Re land Purpose after bad merge 41984 https://bugs.webkit.org/show_bug.cgi?id=51000 41985 41986 * loader/loader.cpp: 41987 (WebCore::Loader::load): 41988 41989 2010-12-13 Dan Bernstein <mitz (a] apple.com> 41990 41991 Reviewed by Simon Fraser. 41992 41993 <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts vertical metrics arent accounted for even when line-height is unspecified 41994 https://bugs.webkit.org/show_bug.cgi?id=50979 41995 41996 Many test results updated. 41997 41998 * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and 41999 affectsDescent in the used-fonts code path. Renamed variables for clarity. Added 42000 a check whether usedFonts is empty (which it might be if there is glyph overflow 42001 but no fallback) as an optimization. 42002 42003 2010-12-13 Mark Rowe <mrowe (a] apple.com> 42004 42005 Rubber-stamped by Jon Honeycutt. 42006 42007 Remove unnecessary include of Switch module. 42008 42009 There are no switch statements in this file. 42010 42011 * dom/make_names.pl: 42012 42013 2010-12-13 Emil Eklund <eae (a] chromium.org> 42014 42015 Reviewed by Dimitri Glazkov. 42016 42017 Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM 42018 tree instead of the render tree. 42019 https://bugs.webkit.org/show_bug.cgi?id=50989 42020 42021 * editing/SelectionController.cpp: 42022 (WebCore::SelectionController::setFocusedNodeIfNeeded): 42023 Walk up DOM/hosted tree rather than render tree and remove FIXME comment 42024 that does't apply (SelectionController and EventHandler needs different 42025 checks). 42026 42027 2010-12-13 Chris Fleizach <cfleizach (a] apple.com> 42028 42029 Reviewed by Beth Dakin. 42030 42031 AX: aria-invalid should be supported. 42032 https://bugs.webkit.org/show_bug.cgi?id=50573 42033 42034 Test: platform/mac/accessibility/aria-invalid.html 42035 42036 * accessibility/AXObjectCache.h: 42037 * accessibility/AccessibilityObject.cpp: 42038 (WebCore::AccessibilityObject::invalidStatus): 42039 * accessibility/AccessibilityObject.h: 42040 * accessibility/chromium/AXObjectCacheChromium.cpp 42041 (WebCore::AXObjectCache::postPlatformNotification): 42042 * accessibility/mac/AXObjectCacheMac.mm: 42043 (WebCore::AXObjectCache::postPlatformNotification): 42044 * accessibility/mac/AccessibilityObjectWrapper.mm: 42045 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 42046 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 42047 * dom/Element.cpp: 42048 (WebCore::Element::updateAfterAttributeChanged): 42049 * html/HTMLAttributeNames.in: 42050 42051 2010-12-13 Joone Hur <joone (a] kldp.org> 42052 42053 Reviewed by Eric Seidel. 42054 42055 WebKit fails to compile when building with WML support enabled 42056 https://bugs.webkit.org/show_bug.cgi?id=42943 42057 42058 Use TextPosition instead of lineNumber() and columNumber(). 42059 42060 No new tests are added, because this is just a build fix. 42061 42062 * dom/XMLDocumentParser.h: Make lineNumber() private. 42063 * wml/WMLErrorHandling.cpp: 42064 (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber(). 42065 42066 2010-12-13 Chris Fleizach <cfleizach (a] apple.com> 42067 42068 Reviewed by Beth Dakin. 42069 42070 AX: lists and list boxes need different attributes 42071 https://bugs.webkit.org/show_bug.cgi?id=50978 42072 42073 Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>). 42074 42075 * accessibility/mac/AccessibilityObjectWrapper.mm: 42076 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 42077 42078 2010-12-13 David Hyatt <hyatt (a] apple.com> 42079 42080 Reviewed by Sam Weinig. 42081 42082 https://bugs.webkit.org/show_bug.cgi?id=50963 42083 42084 REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView. 42085 42086 The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box 42087 of the root layer. This bounding box was only coincidentally incorporating overflow as part of the 42088 RenderLayer's bounds. Since I fixed the RenderLayer bounds to not include layout overflow any longer, 42089 this check is now exposed as incorrect. Use the entire document size when computing layer clip 42090 rects. 42091 42092 * rendering/RenderLayer.cpp: 42093 (WebCore::RenderLayer::childrenClipRect): 42094 (WebCore::RenderLayer::selfClipRect): 42095 * rendering/RenderView.h: 42096 (WebCore::RenderView::documentRect): 42097 42098 2010-12-13 Simon Fraser <simon.fraser (a] apple.com> 42099 42100 GraphicsContextPrivate.h was removed. Nuke it from the project. 42101 42102 * WebCore.xcodeproj/project.pbxproj: 42103 42104 2010-12-13 Eric Carlson <eric.carlson (a] apple.com> 42105 42106 Reviewed by Antti Koivisto. 42107 42108 HTMLMediaElement::endedPlayback should not return true if duration is zero 42109 https://bugs.webkit.org/show_bug.cgi?id=50962 42110 42111 (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 42112 media file can't play if it has no duration, therefore it can't have ended playback. 42113 42114 2010-12-13 Brent Fulgham <bfulgham (a] webkit.org> 42115 42116 Unreviewed build fix after r73840. 42117 42118 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file 42119 to pass three arguments to build-generated-files.sh, just like 42120 the official Apple port. 42121 42122 2010-12-13 David Hyatt <hyatt (a] apple.com> 42123 42124 Reviewed by Adam Roben. 42125 42126 Make sure the defaultSpaceEventHandler does logical scrolling. 42127 42128 * page/EventHandler.cpp: 42129 (WebCore::EventHandler::defaultSpaceEventHandler): 42130 42131 2010-12-13 Matthew Delaney <mdelaney (a] apple.com> 42132 42133 Reviewed by Simon Fraser. 42134 42135 https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas 42136 42137 No new tests necessary. 42138 42139 * Configurations/WebCore.xcconfig: Added IOSurface framework link. 42140 * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead. 42141 * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor. 42142 * platform/graphics/cairo/ImageBufferCairo.cpp: 42143 * platform/graphics/cg/ImageBufferCG.cpp: 42144 * platform/graphics/haiku/ImageBufferHaiku.cpp: 42145 * platform/graphics/qt/ImageBufferQt.cpp: 42146 * platform/graphics/skia/ImageBufferSkia.cpp: 42147 * platform/graphics/wince/ImageBufferWinCE.cpp: 42148 * platform/graphics/wx/ImageBufferWx.cpp: 42149 42150 2010-12-13 Sheriff Bot <webkit.review.bot (a] gmail.com> 42151 42152 Unreviewed, rolling out r73923. 42153 http://trac.webkit.org/changeset/73923 42154 https://bugs.webkit.org/show_bug.cgi?id=50944 42155 42156 Broke editing/selection/extend-selection-home-end.html on non- 42157 mac platforms. Looks like a real bug. (Requested by ojan on 42158 #webkit). 42159 42160 * editing/SelectionController.cpp: 42161 (WebCore::SelectionController::positionForPlatform): 42162 (WebCore::SelectionController::modifyExtendingForward): 42163 42164 2010-12-13 David Hyatt <hyatt (a] apple.com> 42165 42166 Reviewed by Sam Weinig. 42167 42168 https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 42169 42170 Add logical scrolling to WebCore. It basically mirrors physical scrolling but works in abstract logical 42171 directions and only converts to physical when it's time to attempt the scroll. 42172 42173 Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing 42174 frames got skipped over. 42175 42176 Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections. 42177 42178 * WebCore.exp.in: 42179 * page/EventHandler.cpp: 42180 (WebCore::EventHandler::logicalScrollOverflow): 42181 (WebCore::EventHandler::scrollRecursively): 42182 (WebCore::EventHandler::logicalScrollRecursively): 42183 * page/EventHandler.h: 42184 * page/FrameView.cpp: 42185 (WebCore::FrameView::isVerticalDocument): 42186 (WebCore::FrameView::isFlippedDocument): 42187 * page/FrameView.h: 42188 * platform/ScrollTypes.h: 42189 (WebCore::logicalToPhysical): 42190 * platform/ScrollView.cpp: 42191 (WebCore::ScrollView::scroll): 42192 (WebCore::ScrollView::logicalScroll): 42193 * platform/ScrollView.h: 42194 (WebCore::ScrollView::isVerticalDocument): 42195 (WebCore::ScrollView::isFlippedDocument): 42196 * rendering/RenderBox.cpp: 42197 (WebCore::RenderBox::logicalScroll): 42198 * rendering/RenderBox.h: 42199 * rendering/RenderLayer.cpp: 42200 (WebCore::RenderLayer::scroll): 42201 * rendering/RenderListBox.cpp: 42202 (WebCore::RenderListBox::logicalScroll): 42203 * rendering/RenderListBox.h: 42204 * rendering/RenderTextControlSingleLine.cpp: 42205 (WebCore::RenderTextControlSingleLine::logicalScroll): 42206 * rendering/RenderTextControlSingleLine.h: 42207 42208 2010-12-13 Yury Semikhatsky <yurys (a] chromium.org> 42209 42210 Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921. 42211 42212 REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit). 42213 https://bugs.webkit.org/show_bug.cgi?id=50950 42214 42215 * Android.jscbindings.mk: 42216 * CMakeLists.txt: 42217 * GNUmakefile.am: 42218 * WebCore.gypi: 42219 * WebCore.order: 42220 * WebCore.pro: 42221 * WebCore.vcproj/WebCore.vcproj: 42222 * WebCore.xcodeproj/project.pbxproj: 42223 * bindings/js/JSBindingsAllInOne.cpp: 42224 * bindings/js/JSDOMBinding.cpp: 42225 (WebCore::reportException): 42226 * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp. 42227 (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): 42228 (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): 42229 (WebCore::JSWorkerContextErrorHandler::handleEvent): 42230 * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h. 42231 (WebCore::JSWorkerContextErrorHandler::create): 42232 (WebCore::createJSWorkerContextErrorHandler): 42233 * bindings/scripts/CodeGeneratorJS.pm: 42234 * bindings/scripts/CodeGeneratorV8.pm: 42235 * bindings/v8/V8ConsoleMessage.cpp: 42236 (WebCore::V8ConsoleMessage::dispatchNow): 42237 (WebCore::V8ConsoleMessage::handler): 42238 * bindings/v8/V8ConsoleMessage.h: 42239 * bindings/v8/V8WindowErrorHandler.cpp: Removed. 42240 * bindings/v8/V8WindowErrorHandler.h: Removed. 42241 * bindings/v8/WorkerContextExecutionProxy.cpp: 42242 (WebCore::v8MessageHandler): 42243 * bindings/v8/WorkerScriptController.cpp: 42244 (WebCore::WorkerScriptController::evaluate): 42245 * dom/Document.cpp: 42246 (WebCore::Document::reportException): 42247 (WebCore::Document::addMessage): 42248 * dom/Document.h: 42249 * dom/ErrorEvent.cpp: 42250 * dom/ErrorEvent.h: 42251 * dom/Event.cpp: 42252 * dom/Event.h: 42253 * dom/ScriptExecutionContext.cpp: 42254 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 42255 * dom/ScriptExecutionContext.h: 42256 * websockets/WebSocket.cpp: 42257 (WebCore::WebSocket::connect): 42258 * websockets/WebSocketChannel.cpp: 42259 (WebCore::WebSocketChannel::didOpen): 42260 (WebCore::WebSocketChannel::appendToBuffer): 42261 * websockets/WebSocketHandshake.cpp: 42262 (WebCore::WebSocketHandshake::readServerHandshake): 42263 (WebCore::WebSocketHandshake::readStatusLine): 42264 (WebCore::WebSocketHandshake::readHTTPHeaders): 42265 (WebCore::WebSocketHandshake::checkResponseHeaders): 42266 * workers/DefaultSharedWorkerRepository.cpp: 42267 (WebCore::postExceptionTask): 42268 (WebCore::postConsoleMessageTask): 42269 * workers/WorkerContext.cpp: 42270 (WebCore::WorkerContext::WorkerContext): 42271 (WebCore::WorkerContext::reportException): 42272 (WebCore::WorkerContext::addMessage): 42273 * workers/WorkerContext.h: 42274 * workers/WorkerMessagingProxy.cpp: 42275 (WebCore::WorkerExceptionTask::performTask): 42276 (WebCore::postConsoleMessageTask): 42277 * xml/XMLHttpRequest.cpp: 42278 (WebCore::reportUnsafeUsage): 42279 42280 2010-12-13 Antti Koivisto <antti (a] apple.com> 42281 42282 Reviewed by Alexey Proskuryakov. 42283 42284 https://bugs.webkit.org/show_bug.cgi?id=50758 42285 <rdar://problem/8722094> 42286 Defer loading print stylesheets 42287 42288 - Make preload scanner skip stylesheets with non-screen media types. 42289 - Make it possible to specify non-default load priority from the client. 42290 - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else. 42291 - Move default priority code from Loader to CachedResource. 42292 - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority). 42293 - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably. 42294 42295 Tests: http/tests/local/link-stylesheet-load-order-preload.html 42296 http/tests/local/link-stylesheet-load-order.html 42297 42298 * WebCore.exp.in: 42299 * WebCore.gypi: 42300 * WebCore.pro: 42301 * WebCore.vcproj/WebCore.vcproj: 42302 * WebCore.xcodeproj/project.pbxproj: 42303 * css/CSSImageValue.cpp: 42304 (WebCore::CSSImageValue::cachedImage): 42305 * html/HTMLLinkElement.cpp: 42306 (WebCore::HTMLLinkElement::process): 42307 * html/parser/HTMLPreloadScanner.cpp: 42308 (WebCore::HTMLNames::PreloadTask::PreloadTask): 42309 (WebCore::HTMLNames::PreloadTask::processAttributes): 42310 (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet): 42311 (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen): 42312 (WebCore::HTMLNames::PreloadTask::preload): 42313 * loader/DocumentThreadableLoader.cpp: 42314 (WebCore::DocumentThreadableLoader::loadRequest): 42315 * loader/ResourceLoadPriority.h: Added. 42316 * loader/ResourceLoadScheduler.cpp: 42317 (WebCore::ResourceLoadScheduler::ResourceLoadScheduler): 42318 (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): 42319 (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad): 42320 (WebCore::ResourceLoadScheduler::scheduleLoad): 42321 (WebCore::ResourceLoadScheduler::servePendingRequests): 42322 (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): 42323 (WebCore::ResourceLoadScheduler::HostInformation::schedule): 42324 (WebCore::ResourceLoadScheduler::HostInformation::remove): 42325 (WebCore::ResourceLoadScheduler::HostInformation::hasRequests): 42326 (WebCore::ResourceLoadScheduler::HostInformation::limitRequests): 42327 * loader/ResourceLoadScheduler.h: 42328 (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled): 42329 (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): 42330 (WebCore::ResourceLoadScheduler::HostInformation::requestsPending): 42331 * loader/cache/CachedResource.cpp: 42332 (WebCore::defaultPriorityForResourceType): 42333 (WebCore::CachedResource::CachedResource): 42334 * loader/cache/CachedResource.h: 42335 (WebCore::CachedResource::loadPriority): 42336 (WebCore::CachedResource::setLoadPriority): 42337 * loader/cache/CachedResourceLoader.cpp: 42338 (WebCore::CachedResourceLoader::requestCSSStyleSheet): 42339 (WebCore::CachedResourceLoader::requestResource): 42340 (WebCore::CachedResourceLoader::requestPreload): 42341 * loader/cache/CachedResourceLoader.h: 42342 * loader/cache/MemoryCache.cpp: 42343 (WebCore::MemoryCache::requestResource): 42344 * loader/cache/MemoryCache.h: 42345 * loader/loader.cpp: 42346 (WebCore::Loader::load): 42347 42348 2010-12-13 Justin Schuh <jschuh (a] chromium.org> 42349 42350 Reviewed by Dimitri Glazkov. 42351 42352 Build fix for r73927 42353 https://bugs.webkit.org/show_bug.cgi?id=50946 42354 42355 Reverting CSSCanvasValue::canvasDestroyed to its code before r73927 42356 because it's breaking the build and I changed it only because it 42357 appeared redunudant after r73927. 42358 42359 No behavior changed so no new tests needed. 42360 42361 * css/CSSCanvasValue.cpp: 42362 (WebCore::CSSCanvasValue::canvasDestroyed): 42363 42364 2010-12-13 Matthew Delaney <mdelaney (a] apple.com> 42365 42366 Reviewed by nobody, build fix. 42367 42368 Unlinking IOSurface framework from xcodeproj. 42369 42370 * WebCore.xcodeproj/project.pbxproj: 42371 42372 2010-12-13 Justin Schuh <jschuh (a] chromium.org> 42373 42374 Reviewed by Dimitri Glazkov. 42375 42376 HTMLCanvasElement should handle multiple observers. 42377 https://bugs.webkit.org/show_bug.cgi?id=50899 42378 42379 Test: fast/canvas/canvas-bg-multiple-removal.html 42380 42381 * css/CSSCanvasValue.cpp: 42382 (WebCore::CSSCanvasValue::~CSSCanvasValue): 42383 (WebCore::CSSCanvasValue::canvasDestroyed): 42384 (WebCore::CSSCanvasValue::element): 42385 * html/HTMLCanvasElement.cpp: 42386 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 42387 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 42388 (WebCore::HTMLCanvasElement::addObserver): 42389 (WebCore::HTMLCanvasElement::removeObserver): 42390 (WebCore::HTMLCanvasElement::didDraw): 42391 (WebCore::HTMLCanvasElement::reset): 42392 * html/HTMLCanvasElement.h: 42393 42394 2010-12-13 Mihai Parparita <mihaip (a] chromium.org> 42395 42396 Reviewed by Adam Barth. 42397 42398 [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard 42399 https://bugs.webkit.org/show_bug.cgi?id=50841 42400 42401 Test: fast/canvas/strokeText-missing-args.html 42402 42403 We didn't have isfinite checks for the x and y coordinates that are 42404 passed to strokeText/drawTextInternal (unlike all the other methods, 42405 which got checks in r50910 and r59447). 42406 42407 * html/canvas/CanvasRenderingContext2D.cpp: 42408 (WebCore::CanvasRenderingContext2D::drawTextInternal): 42409 42410 2010-12-09 Matthew Delaney <mdelaney (a] apple.com> 42411 42412 Reviewed by Simon Fraser. 42413 42414 Adopt new CG API for canvas 42415 https://bugs.webkit.org/show_bug.cgi?id=50591 42416 42417 No new tests. All current layout tests are sufficient. 42418 42419 * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation. 42420 * html/canvas/CanvasRenderingContext2D.cpp: 42421 (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms. 42422 (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer. 42423 * platform/graphics/ImageBuffer.h: 42424 (WebCore::ImageBuffer::create): Plumb through new flag. 42425 * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig. 42426 * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths. 42427 * platform/graphics/cg/ImageBufferData.h: Add in surface ref 42428 * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig. 42429 * platform/graphics/qt/ImageBufferQt.cpp: ^^ 42430 * platform/graphics/skia/ImageBufferSkia.cpp: ^^ 42431 * platform/graphics/wince/ImageBufferWinCE.cpp: ^^ 42432 * platform/graphics/wx/ImageBufferWx.cpp: ^^ 42433 * platform/mac/WebCoreSystemInterface.h: Add new method sigs 42434 * platform/mac/WebCoreSystemInterface.mm: ^^ 42435 * rendering/RenderLayerBacking.cpp: 42436 * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings. 42437 42438 2010-12-13 Benjamin Kalman <kalman (a] chromium.org> 42439 42440 Reviewed by Ojan Vafai. 42441 42442 Shift-End does not select to the end of the line 42443 https://bugs.webkit.org/show_bug.cgi?id=50610 42444 42445 Test: editing/selection/extend-to-line-boundary.html 42446 42447 * editing/SelectionController.cpp: 42448 (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than 42449 start/end. 42450 (WebCore::SelectionController::modifyExtendingForward): 42451 42452 2010-12-13 Adam Roben <aroben (a] apple.com> 42453 42454 Windows build fix after r73914 42455 42456 * WebCore.vcproj/WebCore.vcproj: Fix malformed XML. 42457 42458 2010-12-13 Yury Semikhatsky <yurys (a] chromium.org> 42459 42460 Unreviewed. Qt build fix. 42461 42462 * dom/ScriptExecutionContext.cpp: 42463 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 42464 * dom/ScriptExecutionContext.h: 42465 42466 2010-12-13 Mario Sanchez Prada <msanchez (a] igalia.com> 42467 42468 Reviewed by Xan Lopez. 42469 42470 [Gtk] Additional support is needed for caret browsing 42471 https://bugs.webkit.org/show_bug.cgi?id=25526 42472 42473 Enable "MoveTo{Beginninng|End}OfDocument" commands when caret 42474 browsing is enabled. 42475 42476 This change impacts the GTK-port only as caret browsing is a 42477 feature only used in that platform so far. 42478 42479 Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html 42480 42481 * editing/EditorCommand.cpp: 42482 (WebCore::createCommandMap): Enable the commads when in caret browsing. 42483 42484 2010-12-13 Yury Semikhatsky <yurys (a] chromium.org> 42485 42486 Unreviewed. Qt build fix. 42487 42488 * dom/Event.cpp: 42489 (WebCore::Event::isErrorEvent): 42490 * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not 42491 only in workers. 42492 42493 2010-12-13 Ilya Tikhonovsky <loislo (a] chromium.org> 42494 42495 Reviewed by Yury Semikhatsky. 42496 42497 Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. 42498 42499 Debugger and Resources related notification functions of Inspector.idl were 42500 marked as such with help of "domain" attribute. The other changes in js files 42501 are reflecting this change. Some wrappers in WebInspector namespace were dropped, 42502 the others were moved to DebuggerModel class. 42503 42504 https://bugs.webkit.org/show_bug.cgi?id=50906 42505 42506 * inspector/Inspector.idl: 42507 * inspector/InspectorDebuggerAgent.cpp: 42508 (WebCore::InspectorDebuggerAgent::didParseSource): 42509 * inspector/InspectorProfilerAgent.cpp: 42510 (WebCore::InspectorProfilerAgent::resetState): 42511 * inspector/front-end/DOMAgent.js: 42512 (WebInspector.DOMAgent.prototype.didCommitLoad): 42513 * inspector/front-end/Database.js: 42514 * inspector/front-end/DebuggerModel.js: 42515 (WebInspector.DebuggerModel): 42516 (WebInspector.DebuggerModel.prototype.pausedScript): 42517 (WebInspector.DebuggerModel.prototype.resumedScript): 42518 (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): 42519 (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): 42520 (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): 42521 (WebInspector.DebuggerModel.prototype.parsedScriptSource): 42522 (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): 42523 (WebInspector.DebuggerModel.prototype.didCreateWorker): 42524 (WebInspector.DebuggerModel.prototype.didDestroyWorker): 42525 * inspector/front-end/ProfilesPanel.js: 42526 (WebInspector.ProfilesPanel): 42527 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): 42528 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): 42529 * inspector/front-end/ResourceManager.js: 42530 (WebInspector.ResourceManager): 42531 (WebInspector.ResourceManager.prototype._unbindResourceURL): 42532 (WebInspector.ResourceManager.prototype.updateDOMStorage): 42533 (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): 42534 (WebInspector.ResourceManager.prototype.didGetFileSystemPath): 42535 (WebInspector.ResourceManager.prototype.didGetFileSystemError): 42536 (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): 42537 (WebInspector.ResourceManager.prototype.updateNetworkState): 42538 (WebInspector.ResourceManager.prototype.addDOMStorage): 42539 (WebInspector.ResourceManager.prototype.selectDOMStorage): 42540 (WebInspector.ResourceManager.prototype.addDatabase): 42541 (WebInspector.ResourceManager.prototype.selectDatabase): 42542 (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded): 42543 (WebInspector.ResourceManager.prototype.sqlTransactionFailed): 42544 * inspector/front-end/WorkersSidebarPane.js: 42545 (WebInspector.Worker): 42546 * inspector/front-end/inspector.js: 42547 42548 2010-12-13 Yury Semikhatsky <yurys (a] chromium.org> 42549 42550 Unreviewed. Qt build fix. 42551 42552 * dom/ErrorEvent.cpp: 42553 * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not 42554 only in workers. 42555 42556 2010-12-13 Yury Semikhatsky <yurys (a] chromium.org> 42557 42558 Reviewed by Adam Barth. 42559 42560 WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown 42561 https://bugs.webkit.org/show_bug.cgi?id=8519 42562 42563 Uncaught exceptions are propagated to window.onerror hander if one is present. 42564 The handler is expected to be a function accepting three arguments: error message, 42565 resource url and line number where the exception occured. 42566 42567 It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they 42568 were created in the same isolated world where the exception occured or not. 42569 42570 Tests: fast/events/window-onerror1.html 42571 fast/events/window-onerror10.html 42572 fast/events/window-onerror11.html 42573 fast/events/window-onerror2.html 42574 fast/events/window-onerror3.html 42575 fast/events/window-onerror4.html 42576 fast/events/window-onerror5.html 42577 fast/events/window-onerror6.html 42578 fast/events/window-onerror7.html 42579 fast/events/window-onerror8.html 42580 fast/events/window-onerror9.html 42581 http/tests/security/window-onerror-exception-in-iframe.html 42582 userscripts/window-onerror-for-isolated-world-1.html 42583 userscripts/window-onerror-for-isolated-world-2.html 42584 42585 * Android.jscbindings.mk: 42586 * CMakeLists.txt: 42587 * GNUmakefile.am: 42588 * WebCore.gypi: 42589 * WebCore.order: 42590 * WebCore.pro: 42591 * WebCore.vcproj/WebCore.vcproj: 42592 * WebCore.xcodeproj/project.pbxproj: 42593 * bindings/js/JSBindingsAllInOne.cpp: 42594 * bindings/js/JSDOMBinding.cpp: 42595 (WebCore::reportException): 42596 * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp. 42597 (WebCore::JSErrorHandler::JSErrorHandler): 42598 (WebCore::JSErrorHandler::~JSErrorHandler): 42599 (WebCore::JSErrorHandler::handleEvent): 42600 * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. 42601 (WebCore::JSErrorHandler::create): 42602 (WebCore::createJSErrorHandler): 42603 * bindings/scripts/CodeGeneratorJS.pm: 42604 * bindings/scripts/CodeGeneratorV8.pm: 42605 * bindings/v8/V8ConsoleMessage.cpp: 42606 (WebCore::V8ConsoleMessage::dispatchNow): 42607 (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception 42608 reporting mechanism which is also used by JSC bindings. 42609 * bindings/v8/V8ConsoleMessage.h: 42610 * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h. 42611 (WebCore::V8WindowErrorHandler::V8WindowErrorHandler): 42612 (WebCore::V8WindowErrorHandler::callListenerFunction): 42613 * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h. 42614 (WebCore::V8WindowErrorHandler::create): 42615 * bindings/v8/WorkerContextExecutionProxy.cpp: 42616 (WebCore::v8MessageHandler): 42617 * bindings/v8/WorkerScriptController.cpp: 42618 (WebCore::WorkerScriptController::evaluate): 42619 * dom/Document.cpp: 42620 (WebCore::Document::errorEventTarget): 42621 (WebCore::Document::logExceptionToConsole): 42622 * dom/Document.h: 42623 * dom/ScriptExecutionContext.cpp: 42624 (WebCore::ScriptExecutionContext::PendingException::PendingException): 42625 (WebCore::ScriptExecutionContext::ScriptExecutionContext): 42626 (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to 42627 ensure that error event dispatching algorithm is the same in WorkerContext and in Document. 42628 (WebCore::ScriptExecutionContext::dispatchErrorEvent): 42629 * dom/ScriptExecutionContext.h: 42630 * workers/DefaultSharedWorkerRepository.cpp: 42631 (WebCore::postExceptionTask): 42632 * workers/WorkerContext.cpp: 42633 (WebCore::WorkerContext::WorkerContext): 42634 (WebCore::WorkerContext::errorEventTarget): 42635 (WebCore::WorkerContext::logExceptionToConsole): 42636 * workers/WorkerContext.h: 42637 * workers/WorkerMessagingProxy.cpp: 42638 (WebCore::WorkerExceptionTask::performTask): 42639 42640 2010-12-08 Alexander Pavlov <apavlov (a] chromium.org> 42641 42642 Reviewed by Joseph Pecoraro. 42643 42644 Web Inspector: Enable CSS property editing name/value-wise (like Firebug does) 42645 https://bugs.webkit.org/show_bug.cgi?id=50565 42646 42647 For CSS property editing, the property name and value have become two fields separated 42648 by a colon (rather than one field containing the full property text.) A user can tab 42649 between the name and value fields forward and backward. A colon typed in the name field 42650 and a semicolon in the value field (unless found inside a string) act as a Tab and focus 42651 the next editable field (while applying the entire property value.) 42652 42653 Now a user can tab through all editable styles for an element, even across rule boundaries. 42654 42655 * inspector/front-end/BreakpointsSidebarPane.js: 42656 (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint): 42657 * inspector/front-end/DataGrid.js: 42658 (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): 42659 (WebInspector.DataGrid.prototype._startEditing): 42660 * inspector/front-end/ElementsTreeOutline.js: 42661 (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): 42662 (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): 42663 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): 42664 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): 42665 * inspector/front-end/MetricsSidebarPane.js: 42666 (WebInspector.MetricsSidebarPane.prototype.startEditing): 42667 * inspector/front-end/ObjectPropertiesSection.js: 42668 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): 42669 * inspector/front-end/Section.js: 42670 (WebInspector.Section): 42671 (WebInspector.Section.prototype.get subtitleAsTextForTest): 42672 (WebInspector.Section.prototype.get nextSibling): 42673 (WebInspector.Section.prototype.get previousSibling): 42674 * inspector/front-end/SourceFrame.js: 42675 (WebInspector.SourceFrame.prototype._editBreakpointCondition): 42676 * inspector/front-end/StylesSidebarPane.js: 42677 (WebInspector.StylePropertiesSection.prototype.nextEditableSibling): 42678 (WebInspector.StylePropertiesSection.prototype.previousEditableSibling): 42679 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): 42680 (WebInspector.StylePropertiesSection.prototype.startEditingSelector): 42681 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 42682 (WebInspector.StylePropertyTreeElement.prototype.): 42683 (WebInspector.StylePropertyTreeElement.prototype): 42684 * inspector/front-end/TextViewer.js: 42685 (WebInspector.TextViewer.prototype._handleDoubleClick): 42686 * inspector/front-end/WatchExpressionsSidebarPane.js: 42687 (WebInspector.WatchExpressionTreeElement.prototype.startEditing): 42688 * inspector/front-end/inspector.css: 42689 (.child-editing): 42690 * inspector/front-end/inspector.js: 42691 (WebInspector.startEditing.defaultFinishHandler): 42692 (WebInspector.startEditing): 42693 * inspector/front-end/treeoutline.js: 42694 (TreeElement.prototype.select): 42695 42696 2010-12-13 Yael Aharon <yael.aharon (a] nokia.com> 42697 42698 Unreviewed. 42699 42700 Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot. 42701 42702 * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style. 42703 42704 2010-12-13 Sheriff Bot <webkit.review.bot (a] gmail.com> 42705 42706 Unreviewed, rolling out r73898. 42707 http://trac.webkit.org/changeset/73898 42708 https://bugs.webkit.org/show_bug.cgi?id=50919 42709 42710 FileSystem and Database API's were broken (Requested by loislo 42711 on #webkit). 42712 42713 * inspector/Inspector.idl: 42714 * inspector/InspectorDebuggerAgent.cpp: 42715 (WebCore::InspectorDebuggerAgent::didParseSource): 42716 * inspector/InspectorProfilerAgent.cpp: 42717 (WebCore::InspectorProfilerAgent::resetState): 42718 * inspector/front-end/DOMAgent.js: 42719 * inspector/front-end/DebuggerModel.js: 42720 (WebInspector.DebuggerModel): 42721 (WebInspector.DebuggerModel.prototype.debuggerPaused): 42722 (WebInspector.DebuggerModel.prototype.debuggerResumed): 42723 * inspector/front-end/ProfilesPanel.js: 42724 (WebInspector.ProfilesPanel): 42725 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): 42726 * inspector/front-end/ResourceManager.js: 42727 (WebInspector.ResourceManager): 42728 (WebInspector.ResourceManager.prototype._registerNotifyHandlers): 42729 (WebInspector.ResourceManager.prototype._unbindResourceURL): 42730 * inspector/front-end/inspector.js: 42731 (WebInspector.addDatabase): 42732 (WebInspector.addDOMStorage): 42733 (WebInspector.updateDOMStorage): 42734 (WebInspector.updateApplicationCacheStatus): 42735 (WebInspector.didGetFileSystemPath): 42736 (WebInspector.didGetFileSystemError): 42737 (WebInspector.didGetFileSystemDisabled): 42738 (WebInspector.updateNetworkState): 42739 (WebInspector.attachDebuggerWhenShown): 42740 (WebInspector.debuggerWasEnabled): 42741 (WebInspector.debuggerWasDisabled): 42742 (WebInspector.profilerWasEnabled): 42743 (WebInspector.profilerWasDisabled): 42744 (WebInspector.parsedScriptSource): 42745 (WebInspector.restoredBreakpoint): 42746 (WebInspector.failedToParseScriptSource): 42747 (WebInspector.pausedScript): 42748 (WebInspector.resumedScript): 42749 (WebInspector.resetProfilesPanel): 42750 (WebInspector.didCommitLoad): 42751 (WebInspector.addProfileHeader): 42752 (WebInspector.setRecordingProfile): 42753 (WebInspector.addHeapSnapshotChunk): 42754 (WebInspector.finishHeapSnapshot): 42755 42756 2010-12-13 Anton Muhin <antonm (a] chromium.org> 42757 42758 Reviewed by Pavel Feldman. 42759 42760 [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups 42761 https://bugs.webkit.org/show_bug.cgi?id=50828 42762 42763 * bindings/v8/DOMData.h: 42764 (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper): 42765 (WebCore::DOMData::removeObjectsFromWrapperMap): 42766 * bindings/v8/DOMDataStore.h: 42767 (WebCore::ChunkedTable::visit): 42768 (WebCore::ChunkedTable::visitEntries): 42769 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit): 42770 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit): 42771 * bindings/v8/V8DOMMap.cpp: 42772 (WebCore::removeAllDOMObjectsInCurrentThread): 42773 (WebCore::visitDOMNodesInCurrentThread): 42774 (WebCore::visitDOMObjectsInCurrentThread): 42775 (WebCore::visitActiveDOMObjectsInCurrentThread): 42776 (WebCore::visitDOMSVGElementInstancesInCurrentThread): 42777 * bindings/v8/V8DOMMap.h: 42778 (WebCore::WeakReferenceMap::visit): 42779 * bindings/v8/V8GCController.cpp: 42780 (WebCore::DOMObjectVisitor::visitDOMWrapper): 42781 (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper): 42782 (WebCore::GCPrologueVisitor::visitDOMWrapper): 42783 (WebCore::NodeGrouperVisitor::visitDOMWrapper): 42784 (WebCore::NodeGrouperVisitor::applyGrouping): 42785 (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): 42786 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 42787 42788 2010-12-13 Zoltan Herczeg <zherczeg (a] webkit.org> 42789 42790 Unreviewed build fix for r73894. 42791 42792 SVGFEImage should also check its hasResult() in its apply(). 42793 42794 * svg/graphics/filters/SVGFEImage.cpp: 42795 (WebCore::FEImage::apply): 42796 42797 2010-12-13 Ilya Tikhonovsky <loislo (a] chromium.org> 42798 42799 Reviewed by Yury Semikhatsky. 42800 42801 Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions. 42802 42803 Debugger and Resources related notification functions of Inspector.idl were 42804 marked as such with help of "domain" attribute. The other changes in js files 42805 are reflecting this change. Some wrappers in WebInspector namespace were dropped, 42806 the others were moved to DebuggerModel class. 42807 42808 https://bugs.webkit.org/show_bug.cgi?id=50906 42809 42810 * inspector/Inspector.idl: 42811 * inspector/InspectorDebuggerAgent.cpp: 42812 (WebCore::InspectorDebuggerAgent::didParseSource): 42813 * inspector/InspectorProfilerAgent.cpp: 42814 (WebCore::InspectorProfilerAgent::resetState): 42815 * inspector/front-end/DOMAgent.js: 42816 (WebInspector.DOMAgent.prototype.didCommitLoad): 42817 * inspector/front-end/DebuggerModel.js: 42818 (WebInspector.DebuggerModel): 42819 (WebInspector.DebuggerModel.prototype.pausedScript): 42820 (WebInspector.DebuggerModel.prototype.resumedScript): 42821 (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown): 42822 (WebInspector.DebuggerModel.prototype.debuggerWasEnabled): 42823 (WebInspector.DebuggerModel.prototype.debuggerWasDisabled): 42824 (WebInspector.DebuggerModel.prototype.parsedScriptSource): 42825 (WebInspector.DebuggerModel.prototype.failedToParseScriptSource): 42826 * inspector/front-end/ProfilesPanel.js: 42827 (WebInspector.ProfilesPanel): 42828 (WebInspector.ProfilesPanel.prototype.addHeapSnapshots): 42829 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): 42830 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): 42831 * inspector/front-end/ResourceManager.js: 42832 (WebInspector.ResourceManager): 42833 (WebInspector.ResourceManager.prototype._unbindResourceURL): 42834 (WebInspector.ResourceManager.prototype.updateDOMStorage): 42835 (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus): 42836 (WebInspector.ResourceManager.prototype.didGetFileSystemPath): 42837 (WebInspector.ResourceManager.prototype.didGetFileSystemError): 42838 (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled): 42839 (WebInspector.ResourceManager.prototype.updateNetworkState): 42840 (WebInspector.ResourceManager.prototype.addDatabase): 42841 (WebInspector.ResourceManager.prototype.addDOMStorage): 42842 * inspector/front-end/inspector.js: 42843 42844 2010-12-13 Zoltan Herczeg <zherczeg (a] webkit.org> 42845 42846 Reviewed by Dirk Schulze. 42847 42848 Better result passing in filter primitives 42849 https://bugs.webkit.org/show_bug.cgi?id=49907 42850 42851 SVG filter primitives can use the output of other filters. The 42852 input and output format of a filter can be a premultiplied or 42853 unmultiplied RGBA array, or an image buffer. All filter 42854 primitive results were converted to image buffers before, which 42855 could be an unecessary (and really costly) operation, if 42856 a filter expects its input in the same format as the output 42857 of the input filter primitive. This overhead is removed by 42858 this patch. All apply() methods are updated according to this 42859 new filter primitive interface. 42860 42861 Filters do not generate their results twice (or more) anymore, 42862 when their apply() called multiple times. 42863 42864 The existing tests cover this feature. 42865 42866 * manual-tests/svg-filter-animation.svg: Added. 42867 * platform/graphics/filters/FEBlend.cpp: 42868 (WebCore::FEBlend::apply): 42869 * platform/graphics/filters/FEColorMatrix.cpp: 42870 (WebCore::FEColorMatrix::apply): 42871 * platform/graphics/filters/FEComponentTransfer.cpp: 42872 (WebCore::FEComponentTransfer::apply): 42873 * platform/graphics/filters/FEComposite.cpp: 42874 (WebCore::FEComposite::apply): 42875 * platform/graphics/filters/FEConvolveMatrix.cpp: 42876 (WebCore::FEConvolveMatrix::apply): 42877 * platform/graphics/filters/FEDisplacementMap.cpp: 42878 (WebCore::FEDisplacementMap::apply): 42879 * platform/graphics/filters/FEFlood.cpp: 42880 (WebCore::FEFlood::apply): 42881 * platform/graphics/filters/FEGaussianBlur.cpp: 42882 (WebCore::FEGaussianBlur::apply): 42883 * platform/graphics/filters/FELighting.cpp: 42884 (WebCore::FELighting::apply): 42885 * platform/graphics/filters/FEMerge.cpp: 42886 (WebCore::FEMerge::apply): 42887 * platform/graphics/filters/FEMerge.h: 42888 * platform/graphics/filters/FEMorphology.cpp: 42889 (WebCore::FEMorphology::apply): 42890 * platform/graphics/filters/FEOffset.cpp: 42891 (WebCore::FEOffset::apply): 42892 * platform/graphics/filters/FETile.cpp: 42893 (WebCore::FETile::apply): 42894 * platform/graphics/filters/FETurbulence.cpp: 42895 (WebCore::FETurbulence::apply): 42896 * platform/graphics/filters/FilterEffect.cpp: 42897 (WebCore::FilterEffect::requestedRegionOfInputImageData): 42898 (WebCore::FilterEffect::asImageBuffer): 42899 (WebCore::FilterEffect::asUnmultipliedImage): 42900 (WebCore::FilterEffect::asPremultipliedImage): 42901 (WebCore::FilterEffect::copyImageBytes): 42902 (WebCore::FilterEffect::copyUnmultipliedImage): 42903 (WebCore::FilterEffect::copyPremultipliedImage): 42904 (WebCore::FilterEffect::createImageBufferResult): 42905 (WebCore::FilterEffect::createUnmultipliedImageResult): 42906 (WebCore::FilterEffect::createPremultipliedImageResult): 42907 * platform/graphics/filters/FilterEffect.h: 42908 (WebCore::FilterEffect::hasResult): 42909 * platform/graphics/filters/SourceAlpha.cpp: 42910 (WebCore::SourceAlpha::apply): 42911 * platform/graphics/filters/SourceGraphic.cpp: 42912 (WebCore::SourceGraphic::apply): 42913 * platform/graphics/filters/SourceGraphic.h: 42914 * rendering/RenderSVGResourceFilter.cpp: 42915 (WebCore::RenderSVGResourceFilter::postApplyResource): 42916 * svg/graphics/filters/SVGFEImage.cpp: 42917 (WebCore::FEImage::apply): 42918 42919 2010-12-13 Csaba Osztrogonc <ossy (a] webkit.org> 42920 42921 Unreviewed. 42922 42923 * WebCore.pro: Remove non-existant loader/Request.h from build system. 42924 42925 2010-12-13 Noel Gordon <noel.gordon (a] gmail.com> 42926 42927 Reviewed by Eric Seidel. 42928 42929 [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10% 42930 https://bugs.webkit.org/show_bug.cgi?id=50804 42931 42932 Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call 42933 viz., compute the unpremultiplatcion in-place. This reduces the run-time 42934 cost of jpeg encoding by 10-15% for my image test set. 42935 42936 No new tests: canvas.toDataURL() is covered by existing tests. 42937 42938 * platform/image-encoders/skia/JPEGImageEncoder.cpp: 42939 (WebCore::preMultipliedBGRAtoRGB): 42940 42941 2010-12-13 Helder Correia <helder (a] sencha.com> 42942 42943 Reviewed by Eric Seidel. 42944 42945 [Qt] StillImage::draw() should use ContextShadow 42946 https://bugs.webkit.org/show_bug.cgi?id=50849 42947 42948 The branch that checks for a shadow requirement in StillImage::draw() 42949 is executed when drawing a canvas onto a canvas with 42950 ctx1.drawImage(canvas2, x, y). The current implementation supports 42951 solid shadows only. And if transformations are present, the offset gets 42952 transformed as well. Thus, ContextShadow must be used instead in order 42953 to support blur and correct offset transformations. 42954 42955 Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html 42956 42957 * platform/graphics/qt/StillImageQt.cpp: 42958 (WebCore::StillImage::draw): 42959 42960 2010-12-12 Jon Honeycutt <jhoneycutt (a] apple.com> 42961 42962 Unreviewed build fix. 42963 42964 * editing/EditingAllInOne.cpp: 42965 Add new file to the all-in-one. 42966 42967 2010-12-12 Jon Honeycutt <jhoneycutt (a] apple.com> 42968 42969 Unreviewed build fix. 42970 42971 * WebCore.vcproj/WebCore.vcproj: 42972 Remove accidentally-committed conflict marker. 42973 42974 2010-10-28 MORITA Hajime <morrita (a] google.com> 42975 42976 Reviewed by Ojan Vafai. 42977 42978 spellcheck does not check pasted text 42979 https://bugs.webkit.org/show_bug.cgi?id=40092 42980 42981 - Introduced SpellChecker class to encapsulate asynchronous spell 42982 checker state: sequence id, requesting text and target node. 42983 This is also the first step to decompose spell-check related 42984 code to a separate class. 42985 - Added EditorClient::isAsynchronousSpellCheckingEnabled() 42986 to use async spellcheck API on the platform. 42987 These APIs are touched by SpellChecker. 42988 - Used SpellChecker to check a pasted test. Text to check is 42989 collected from the subtree under the editingRoot. 42990 - Added Setting::m_asynchronousSpellCheckingEnabled to control 42991 async spell checking. 42992 42993 Test: editing/spelling/spellcheck-paste.html 42994 42995 * CMakeLists.txt: 42996 * GNUmakefile.am: 42997 * WebCore.exp.in: 42998 * WebCore.gypi: 42999 * WebCore.pro: 43000 * WebCore.vcproj/WebCore.vcproj: 43001 * WebCore.xcodeproj/project.pbxproj: 43002 * dom/DocumentMarkerController.cpp: 43003 (WebCore::DocumentMarkerController::showMarkers): 43004 (showDocumentMarkers): 43005 * dom/DocumentMarkerController.h: 43006 * dom/PositionIterator.cpp: 43007 (WebCore::PositionIterator::setOffsetInLeafNode): 43008 * dom/PositionIterator.h: 43009 * editing/Editor.cpp: 43010 (WebCore::Editor::replaceSelectionWithFragment): 43011 (WebCore::Editor::Editor): 43012 (WebCore::findFirstMarkable): 43013 (WebCore::Editor::selectionStartHasSpellingMarkerFor): 43014 * editing/Editor.h: 43015 (WebCore::Editor::spellChecker): 43016 * editing/SpellChecker.cpp: Added. 43017 (WebCore::SpellChecker::SpellChecker): 43018 (WebCore::SpellChecker::~SpellChecker): 43019 (WebCore::SpellChecker::initRequest): 43020 (WebCore::SpellChecker::clearRequest): 43021 (WebCore::SpellChecker::isAsynchronousEnabled): 43022 (WebCore::SpellChecker::canCheckAsynchronously): 43023 (WebCore::SpellChecker::isBusy): 43024 (WebCore::SpellChecker::isValid): 43025 (WebCore::SpellChecker::isCheckable): 43026 (WebCore::SpellChecker::requestCheckingFor): 43027 (WebCore::forwardIterator): 43028 (WebCore::SpellChecker::didCheck): 43029 * editing/SpellChecker.h: Added. 43030 (WebCore::SpellCheckingResult::SpellCheckingResult): 43031 (WebCore::SpellCheckingResult::type): 43032 (WebCore::SpellCheckingResult::location): 43033 (WebCore::SpellCheckingResult::length): 43034 * loader/EmptyClients.h: 43035 (WebCore::EmptyEditorClient::requestCheckingOfString): 43036 * page/EditorClient.h: 43037 * page/Settings.cpp: 43038 (WebCore::Settings::Settings): 43039 * page/Settings.h: 43040 (WebCore::Settings::setAsynchronousSpellCheckingEnabled): 43041 (WebCore::Settings::asynchronousSpellCheckingEnabled): 43042 43043 2010-12-09 Antonio Gomes <agomes (a] rim.com> 43044 43045 Reviewed by Daniel Bates. 43046 43047 Spatial Navigation: code clean up (part II) 43048 https://bugs.webkit.org/show_bug.cgi?id=50666 43049 43050 No new tests needed. 43051 43052 * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from 43053 the top of FocusController.cpp, and added the 'static' keyword where the function is implemented; 43054 * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it; 43055 (WebCore::FocusCandidate::FocusCandidate): 43056 (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node'; 43057 * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones; 43058 Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp; 43059 And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore. 43060 43061 2010-12-12 Philippe Normand <pnormand (a] igalia.com> 43062 43063 Reviewed by Xan Lopez. 43064 43065 build-webkit --gtk --minimal fails 43066 https://bugs.webkit.org/show_bug.cgi?id=46267 43067 43068 No new tests, build fix only. 43069 43070 * GNUmakefile.am: Include some JS bindings generated headers in 43071 the build even if their corresponding feature is disabled. They 43072 are needed to make the DOM bindings build. 43073 43074 2010-12-12 Sam Magnuson <smagnuso (a] gmail.com> 43075 43076 Reviewed by Eric Seidel. 43077 43078 [Qt] Compile with QT_NO_QUUID_STRING. 43079 https://bugs.webkit.org/show_bug.cgi?id=49745 43080 43081 * platform/UUID.cpp: 43082 (WebCore::createCanonicalUUIDString): 43083 43084 2010-12-12 Ragner Magalhaes <ragner.magalhaes (a] openbossa.org> 43085 43086 Reviewed by Eric Seidel. 43087 43088 [Qt] Missing style for date pickers on Qt Mobile theme 43089 https://bugs.webkit.org/show_bug.cgi?id=50628 43090 43091 * css/themeQtMobile.css: 43092 43093 2010-12-11 Alice Liu <alice.liu (a] apple.com> 43094 43095 Mac build fix. 43096 43097 * platform/network/mac/ResourceResponseMac.mm: 43098 (WebCore::ResourceResponse::platformLazyInit): 43099 Resolve string[0] ambiguity by passing 0U. 43100 43101 2010-12-11 Adam Barth <abarth (a] webkit.org> 43102 43103 Reviewed by Sam Weinig. 43104 43105 [V8] Move to DOMWindow::setLocation 43106 https://bugs.webkit.org/show_bug.cgi?id=50876 43107 43108 Recently, JavaScriptCore moved to implementing setLocation in WebCore. 43109 This patch change V8 to use that common code path. I haven't removed 43110 the old code path because it's still used for other things (like 43111 assigning window.location.href), but I'll move the rest over in a 43112 future patch. 43113 43114 * bindings/v8/custom/V8DOMWindowCustom.cpp: 43115 (WebCore::V8DOMWindow::locationAccessorSetter): 43116 * bindings/v8/specialization/V8BindingState.cpp: 43117 (WebCore::::getFirstWindow): 43118 * bindings/v8/specialization/V8BindingState.h: 43119 43120 2010-10-11 Diego Gonzalez <diegohcg (a] webkit.org> 43121 43122 Reviewed by Kenneth Rohde Christiansen. 43123 43124 [Qt] Mock DeviceOrientation client for DRT 43125 https://bugs.webkit.org/show_bug.cgi?id=47490 43126 43127 * WebCore.pro: 43128 43129 2010-12-11 Joone Hur <joone (a] kldp.org> 43130 43131 Reviewed by Alexey Proskuryakov. 43132 43133 enumeration value ResponseTypeArrayBuffer not handled in switch 43134 https://bugs.webkit.org/show_bug.cgi?id=50871 43135 43136 Fix the warning which occurs when enumeration value is not handled in switch. 43137 43138 No new tests, no change in behavior. 43139 43140 * bindings/js/JSXMLHttpRequestCustom.cpp: 43141 (WebCore::JSXMLHttpRequest::response): 43142 43143 2010-12-11 Patrick Gansterer <paroga (a] webkit.org> 43144 43145 Reviewed by Darin Adler. 43146 43147 Add an overload to makeString for Vector<char> 43148 https://bugs.webkit.org/show_bug.cgi?id=50123 43149 43150 This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port. 43151 43152 * platform/graphics/cg/ImageBufferCG.cpp: 43153 (WebCore::ImageBuffer::toDataURL): 43154 * platform/graphics/gtk/ImageBufferGtk.cpp: 43155 (WebCore::ImageBuffer::toDataURL): 43156 * platform/graphics/haiku/ImageBufferHaiku.cpp: 43157 (WebCore::ImageBuffer::toDataURL): 43158 * platform/graphics/skia/ImageBufferSkia.cpp: 43159 (WebCore::ImageBuffer::toDataURL): 43160 43161 2010-12-10 Alexey Proskuryakov <ap (a] apple.com> 43162 43163 Mac build fix. 43164 43165 * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): 43166 Resolve string[0] ambiguity by passing 0U. 43167 43168 2010-12-10 Steve Falkenburg <sfalken (a] apple.com> 43169 43170 Windows production build fix. 43171 43172 Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts. 43173 43174 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: 43175 * WebCore.vcproj/build-generated-files.sh: 43176 43177 2010-12-10 John Knottenbelt <jknotten (a] chromium.org> 43178 43179 Reviewed by Eric Seidel. 43180 43181 Remove WebCore/platform/mac/GeolocationService.{h,mm} 43182 https://bugs.webkit.org/show_bug.cgi?id=50074 43183 43184 Remove unused non-client-based geolocation code. 43185 43186 * platform/mac/GeolocationServiceMac.h: Removed. 43187 * platform/mac/GeolocationServiceMac.mm: Removed. 43188 43189 2010-12-10 Alexey Proskuryakov <ap (a] apple.com> 43190 43191 Reviewed by Darin Adler. 43192 43193 https://bugs.webkit.org/show_bug.cgi?id=46573 43194 <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work 43195 43196 Test: http/tests/mime/quoted-charset.php 43197 43198 * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): 43199 * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit): 43200 Work around a CFNetwork issue, strip quotes if they are present. 43201 43202 2010-12-10 Vincent Scheib <scheib (a] chromium.org> 43203 43204 Reviewed by James Robinson. 43205 43206 Shader::loadShader() must initialize variable passed to getShaderiv 43207 https://bugs.webkit.org/show_bug.cgi?id=50842 43208 43209 Test: fast/canvas/canvas-largedraws.html 43210 43211 * platform/graphics/gpu/Shader.cpp: 43212 (WebCore::Shader::loadShader): 43213 43214 2010-12-10 Vincent Scheib <scheib (a] chromium.org> 43215 43216 Reviewed by James Robinson. 43217 43218 Texture::updateSubRect should pass IntRect by reference 43219 https://bugs.webkit.org/show_bug.cgi?id=50845 43220 43221 No test, changing to pass by ref. 43222 43223 * platform/graphics/gpu/Texture.cpp: 43224 (WebCore::Texture::updateSubRect): 43225 * platform/graphics/gpu/Texture.h: 43226 43227 2010-12-10 Darin Adler <darin (a] apple.com> 43228 43229 Reviewed by Sam Weinig. 43230 43231 Move open and showModalDialog implementations from bindings into DOM class DOMWindow 43232 https://bugs.webkit.org/show_bug.cgi?id=50836 43233 43234 * bindings/js/JSDOMWindowCustom.cpp: 43235 (WebCore::JSDOMWindow::open): Removed most of the code and changed to call 43236 DOMWindow::open. 43237 (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the 43238 arguments and return value in showModalDialog. 43239 (WebCore::DialogHandler::dialogCreated): Ditto. 43240 (WebCore::DialogHandler::returnValue): Ditto. 43241 (WebCore::setUpDialog): Added. Function passed to showModalDialog that just 43242 casts pointer to DialogHandler can calls dialogCreated. 43243 (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed 43244 to call DOMWindow::showModalDialog. 43245 (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by 43246 renaming local variables and getting rid of a needless ones. 43247 43248 * page/DOMWindow.cpp: 43249 (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function 43250 to the WindowFeatures class. 43251 (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame, 43252 because that's the frame we pass in here. Also added an overload so this can be 43253 called on a window rather than a frame. 43254 (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are 43255 the same as in open and showModalDialog. Factored the JavaScript security check 43256 into a new function named isInsecureScriptAccess. 43257 (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function. 43258 (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and 43259 showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp 43260 used to. 43261 (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the 43262 JavaScript language binding part, and with a bit of refactoring to share code 43263 with the rest of the DOMWindow class. 43264 (WebCore::DOMWindow::showModalDialog): Ditto. 43265 43266 * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs 43267 in alphabetical order so they are not scattered thorugh the file. Removed redundant 43268 includes. Added some blank lines for clarity. Added an open function and a 43269 showModalDialog function. Added private createWindow and isInsecureScriptAccess 43270 functions. 43271 43272 * page/WindowFeatures.cpp: 43273 (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity. 43274 (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty 43275 instead of checking length. Added a new constructor for use when making dialogs, 43276 with code from the showModalDialog function. 43277 (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef. 43278 (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef. 43279 Renamed a local variable and tweaked the comments a bit. 43280 (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from 43281 DOMWindow::parseDialogFeatures and refactored a bit. 43282 43283 * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures 43284 function, DialogFeaturesMap typedef, and made setWindowFeature function private. 43285 43286 2010-12-10 Chris Fleizach <cfleizach (a] apple.com> 43287 43288 Reviewed by Darin Adler. 43289 43290 AX: refactor AccessibilityRenderObject::doAccessibilityHitTest 43291 https://bugs.webkit.org/show_bug.cgi?id=50574 43292 43293 Refactors accessibility hit testing to allow for a more flexible model when handling elements 43294 with fake sub-elements (like sliders or list boxes). 43295 43296 Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root 43297 accessibility render object. Then subclassers are able to override 43298 elementAccessibilityHitTest to return their own specific elements. 43299 43300 * accessibility/AccessibilityListBox.cpp: 43301 (WebCore::AccessibilityListBox::elementAccessibilityHitTest): 43302 * accessibility/AccessibilityListBox.h: 43303 * accessibility/AccessibilityObject.h: 43304 (WebCore::AccessibilityObject::accessibilityHitTest): 43305 (WebCore::AccessibilityObject::elementAccessibilityHitTest): 43306 * accessibility/AccessibilityRenderObject.cpp: 43307 (WebCore::AccessibilityRenderObject::accessibilityHitTest): 43308 * accessibility/AccessibilityRenderObject.h: 43309 * accessibility/AccessibilitySlider.cpp: 43310 (WebCore::AccessibilitySlider::elementAccessibilityHitTest): 43311 * accessibility/AccessibilitySlider.h: 43312 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 43313 (webkit_accessible_component_ref_accessible_at_point): 43314 * accessibility/mac/AccessibilityObjectWrapper.mm: 43315 (-[AccessibilityObjectWrapper accessibilityHitTest:]): 43316 43317 2010-12-10 Kenneth Russell <kbr (a] google.com> 43318 43319 Reviewed by Darin Adler. 43320 43321 Clean up assertion in Extensions3DOpenGL.cpp 43322 https://bugs.webkit.org/show_bug.cgi?id=50852 43323 43324 Built Release mode to test. No functionality change. 43325 43326 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 43327 (WebCore::Extensions3DOpenGL::ensureEnabled): 43328 43329 2010-12-10 Cosmin Truta <ctruta (a] chromium.org> 43330 43331 Reviewed by Eric Seidel. 43332 43333 Crash while processing ill-formed <textPath> ouside of <text> 43334 https://bugs.webkit.org/show_bug.cgi?id=47759 43335 43336 Renderers within a <text> subtree are created only when their corresponding elements 43337 satisfy the content model. 43338 43339 Test: svg/custom/invalid-text-content.svg 43340 43341 * svg/SVGTRefElement.cpp: 43342 (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model. 43343 (WebCore::SVGTRefElement::rendererIsNeeded): Added. 43344 * svg/SVGTRefElement.h: 43345 * svg/SVGTSpanElement.cpp: 43346 (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model. 43347 (WebCore::SVGTSpanElement::rendererIsNeeded): Added. 43348 * svg/SVGTSpanElement.h: Changed indentation. 43349 * svg/SVGTextElement.cpp: 43350 (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted. 43351 * svg/SVGTextPathElement.cpp: 43352 (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model. 43353 (WebCore::SVGTextPathElement::rendererIsNeeded): Added. 43354 * svg/SVGTextPathElement.h: 43355 43356 2010-12-10 Zhenyao Mo <zmo (a] google.com> 43357 43358 Reviewed by Adam Barth. 43359 43360 Use enums instead of booleans in ImageSource/ImageDecoder constructors 43361 https://bugs.webkit.org/show_bug.cgi?id=50818 43362 43363 This patch basically defines two enum type in ImageSource: AlphaOption 43364 and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder 43365 constructor parameters instead of boolean typs. 43366 43367 * platform/graphics/ImageSource.cpp: 43368 (WebCore::ImageSource::ImageSource): 43369 (WebCore::ImageSource::setData): 43370 * platform/graphics/ImageSource.h: Define the two enum types. 43371 * platform/graphics/cg/GraphicsContext3DCG.cpp: 43372 (WebCore::GraphicsContext3D::getImageData): 43373 * platform/graphics/cg/ImageSourceCG.cpp: 43374 (WebCore::ImageSource::ImageSource): 43375 * platform/graphics/qt/ImageDecoderQt.cpp: 43376 (WebCore::ImageDecoder::create): 43377 (WebCore::ImageDecoderQt::ImageDecoderQt): 43378 * platform/graphics/qt/ImageDecoderQt.h: 43379 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 43380 (WebCore::GraphicsContext3D::getImageData): 43381 * platform/image-decoders/ImageDecoder.cpp: 43382 (WebCore::ImageDecoder::create): 43383 * platform/image-decoders/ImageDecoder.h: 43384 (WebCore::ImageDecoder::ImageDecoder): 43385 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 43386 (WebCore::BMPImageDecoder::BMPImageDecoder): 43387 * platform/image-decoders/bmp/BMPImageDecoder.h: 43388 * platform/image-decoders/gif/GIFImageDecoder.cpp: 43389 (WebCore::GIFImageDecoder::GIFImageDecoder): 43390 * platform/image-decoders/gif/GIFImageDecoder.h: 43391 * platform/image-decoders/ico/ICOImageDecoder.cpp: 43392 (WebCore::ICOImageDecoder::ICOImageDecoder): 43393 (WebCore::ICOImageDecoder::decodeAtIndex): 43394 * platform/image-decoders/ico/ICOImageDecoder.h: 43395 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 43396 (WebCore::JPEGImageDecoder::JPEGImageDecoder): 43397 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 43398 * platform/image-decoders/png/PNGImageDecoder.cpp: 43399 (WebCore::PNGImageDecoder::PNGImageDecoder): 43400 * platform/image-decoders/png/PNGImageDecoder.h: 43401 * platform/image-decoders/webp/WEBPImageDecoder.cpp: 43402 (WebCore::WEBPImageDecoder::WEBPImageDecoder): 43403 * platform/image-decoders/webp/WEBPImageDecoder.h: 43404 43405 2010-12-10 Ryosuke Niwa <rniwa (a] webkit.org> 43406 43407 Reviewed by Darin Adler. 43408 43409 REGRESSION(r73799): editing/execCommand/4920488.html fails 43410 https://bugs.webkit.org/show_bug.cgi?id=50854 43411 43412 The regression was caused by Range::processContents's not extracting 43413 m_end.container()->firstChild(). Fixed the bug by always adding the first child. 43414 43415 * dom/Range.cpp: 43416 (WebCore::Range::processContents): 43417 43418 2010-12-10 Adam Barth <abarth (a] webkit.org> 43419 43420 Reviewed by Eric Seidel. 43421 43422 REGRESSION: Infinite redirect on developer.apple.com 43423 https://bugs.webkit.org/show_bug.cgi?id=45627 43424 43425 Tests: fast/loader/form-submit-aborts-parsing.html 43426 fast/loader/location-change-aborts-parsing.html 43427 43428 This patch is not pretty, but it fixes the bug. I stole this approach 43429 from the old HTML parser (as suggested by Eric Seidel). The other 43430 approaches that folks tried for this bug are better, but it's inclear 43431 how to get them to work correctly. I've added a large FIXME comment. 43432 43433 * html/parser/HTMLDocumentParser.cpp: 43434 (WebCore::HTMLDocumentParser::pumpTokenizer): 43435 * html/parser/HTMLTreeBuilder.h: 43436 (WebCore::HTMLTreeBuilder::isParsingFragment): 43437 43438 2010-12-10 Brian Weinstein <bweinstein (a] apple.com> 43439 43440 Reviewed by Ada Chan. 43441 43442 When we are creating a ContextMenuItem, only call setSubMenu if we have 43443 a subMenu to set. 43444 43445 * platform/ContextMenuItem.cpp: 43446 (WebCore::ContextMenuItem::ContextMenuItem): 43447 43448 2010-12-10 Kenneth Russell <kbr (a] google.com> 43449 43450 Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed 43451 for Release builds. 43452 43453 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 43454 43455 2010-12-10 Kenneth Russell <kbr (a] google.com> 43456 43457 Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG. 43458 43459 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 43460 (WebCore::Extensions3DOpenGL::ensureEnabled): 43461 43462 2010-12-10 Kenneth Russell <kbr (a] google.com> 43463 43464 Reviewed by James Robinson. 43465 43466 Implement extension entry points and remove EXTENSIONS enum 43467 https://bugs.webkit.org/show_bug.cgi?id=40316 43468 43469 Implemented WebGLRenderingContext's getSupportedExtensions and 43470 getExtensions entry points, and, to verify them, added support for 43471 the first specified WebGL extension, OES_texture_float. This 43472 extension is now advertised in the Chromium and WebKit ports when 43473 the underlying hardware supports it. 43474 43475 The new OES_texture_float test in the WebGL conformance suite 43476 verifies the allocation and population of floating point textures, 43477 and their use as render targets. However, because this extension 43478 is optional, it is not easily testable with a layout test; there 43479 is only one set of expectations for a given test, and two would be 43480 needed, one when the extension is available and one when it is not. 43481 43482 Tested with the oes-texture-float.html WebGL conformance test in 43483 Chromium and WebKit on Mac OS X on hardware that supports the 43484 extension. Also verified with a configuration that does not 43485 advertise the extension that this same test passes. 43486 43487 * CMakeLists.txt: 43488 * DerivedSources.make: 43489 * GNUmakefile.am: 43490 * WebCore.gypi: 43491 * WebCore.pri: 43492 * WebCore.pro: 43493 * WebCore.xcodeproj/project.pbxproj: 43494 * bindings/js/JSWebGLRenderingContextCustom.cpp: 43495 (WebCore::toJS): 43496 (WebCore::JSWebGLRenderingContext::markChildren): 43497 (WebCore::JSWebGLRenderingContext::getExtension): 43498 (WebCore::JSWebGLRenderingContext::getSupportedExtensions): 43499 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 43500 (WebCore::toV8Object): 43501 (WebCore::V8WebGLRenderingContext::getExtensionCallback): 43502 (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback): 43503 * html/canvas/OESTextureFloat.cpp: Added. 43504 (WebCore::OESTextureFloat::OESTextureFloat): 43505 (WebCore::OESTextureFloat::~OESTextureFloat): 43506 (WebCore::OESTextureFloat::getName): 43507 (WebCore::OESTextureFloat::create): 43508 * html/canvas/OESTextureFloat.h: Added. 43509 * html/canvas/OESTextureFloat.idl: Added. 43510 * html/canvas/WebGLExtension.cpp: Added. 43511 (WebCore::WebGLExtension::WebGLExtension): 43512 (WebCore::WebGLExtension::~WebGLExtension): 43513 * html/canvas/WebGLExtension.h: Added. 43514 * html/canvas/WebGLRenderingContext.cpp: 43515 (WebCore::WebGLRenderingContext::getExtension): 43516 (WebCore::WebGLRenderingContext::getSupportedExtensions): 43517 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): 43518 (WebCore::WebGLRenderingContext::validateTexFuncData): 43519 (WebCore::WebGLRenderingContext::getNumberOfExtensions): 43520 (WebCore::WebGLRenderingContext::getExtensionNumber): 43521 * html/canvas/WebGLRenderingContext.h: 43522 * html/canvas/WebGLRenderingContext.idl: 43523 * platform/graphics/Extensions3D.h: 43524 * platform/graphics/GraphicsContext3D.cpp: 43525 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): 43526 (WebCore::GraphicsContext3D::extractTextureData): 43527 (WebCore::doUnpackingAndPacking): 43528 (WebCore::doPacking): 43529 (WebCore::doFloatingPointPacking): 43530 (WebCore::GraphicsContext3D::packPixels): 43531 * platform/graphics/GraphicsContext3D.h: 43532 * platform/graphics/chromium/Extensions3DChromium.h: 43533 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 43534 (WebCore::Extensions3DOpenGL::supports): 43535 (WebCore::Extensions3DOpenGL::ensureEnabled): 43536 * platform/graphics/opengl/Extensions3DOpenGL.h: 43537 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 43538 (WebCore::GraphicsContext3D::texImage2D): 43539 * platform/graphics/qt/Extensions3DQt.cpp: 43540 (WebCore::Extensions3DQt::ensureEnabled): 43541 * platform/graphics/qt/Extensions3DQt.h: 43542 43543 2010-12-10 Darin Adler <darin (a] apple.com> 43544 43545 Try to fix Windows build. 43546 43547 * dom/Range.cpp: 43548 (WebCore::Range::processContents): Put typedef of NodeVector inside the function 43549 instead of at the top of the file, since the use is restricted to this function. 43550 There's another NodeVector in ContainerNode.cpp. 43551 43552 2010-12-09 Brian Weinstein <bweinstein (a] apple.com> 43553 43554 Reviewed by Adam Roben. 43555 43556 Prep for WebKit2: Context menu support on Windows 43557 https://bugs.webkit.org/show_bug.cgi?id=50514 43558 43559 Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems 43560 were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to 43561 be to work in WebKit2. 43562 43563 This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform 43564 representation of context menus. This patch also has Windows adopt them. 43565 43566 Cross-platform context menus change the API of context menus and the ContextMenuClient. There 43567 is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed 43568 by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked 43569 title, action, type, and submenu). 43570 43571 This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems 43572 function to allow for customization of the context menu. 43573 43574 For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from 43575 a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done 43576 in ContextMenuWin.cpp and ContextMenuItemWin.cpp. 43577 43578 No new tests, no change in behavior. 43579 43580 * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now). 43581 * loader/EmptyClients.h: 43582 (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS 43583 is on. 43584 * page/ContextMenuClient.h: Ditto. 43585 * page/ContextMenuController.cpp: 43586 (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of 43587 getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on. 43588 * platform/ContextMenu.cpp: Added. 43589 (WebCore::ContextMenu::ContextMenu): Empty constructor. 43590 (WebCore::ContextMenu::setItems): Sets the items in the menu. 43591 (WebCore::ContextMenu::items): Returns the items in the menu. 43592 (WebCore::ContextMenu::itemAtIndex): 43593 (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending 43594 into submenus. 43595 (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu. 43596 * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for 43597 CROSS_PLATFORM_CONTEXT_MENUS. 43598 (WebCore::ContextMenu::appendItem): Appends an item to the menu. 43599 * platform/ContextMenuItem.cpp: Added. 43600 (WebCore::ContextMenuItem::ContextMenuItem): 43601 (WebCore::ContextMenuItem::~ContextMenuItem): 43602 (WebCore::ContextMenuItem::setSubMenu): 43603 * platform/ContextMenuItem.h: 43604 (WebCore::ContextMenuItem::type): Returns the type. 43605 (WebCore::ContextMenuItem::setType): Sets the type. 43606 (WebCore::ContextMenuItem::action): Returns the action. 43607 (WebCore::ContextMenuItem::setAction): Sets the action. 43608 (WebCore::ContextMenuItem::title): Returns the title. 43609 (WebCore::ContextMenuItem::setTitle): Sets the title. 43610 (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked. 43611 (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked. 43612 (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled. 43613 (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled. 43614 (WebCore::ContextMenuItem::submenu): Returns the submenu. 43615 * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if 43616 CROSS_PLATFORM_CONTEXT_MENUS is on. 43617 * platform/win/ContextMenuItemWin.cpp: 43618 (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO. 43619 (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO. 43620 * platform/win/ContextMenuWin.cpp: 43621 (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU. 43622 (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU. 43623 43624 2010-12-10 Emil Eklund <eae (a] chromium.org> 43625 43626 Reviewed by Adam Barth. 43627 43628 Fix crash in ReplaceSelectionCommand::doApply when selection is modified 43629 during execution. 43630 https://bugs.webkit.org/show_bug.cgi?id=50840 43631 43632 Test: editing/execCommand/insertHTML-mutation-crash.html 43633 43634 * editing/ReplaceSelectionCommand.cpp: 43635 (WebCore::ReplaceSelectionCommand::copyStyleToChildren): 43636 Replaced raw node pointer with RefPtr. 43637 43638 (WebCore::ReplaceSelectionCommand::doApply): 43639 Replaced raw node pointer with RefPtr and added null check. 43640 43641 2010-12-10 Emil Eklund <eae (a] chromium.org> 43642 43643 Reviewed by Adam Barth. 43644 43645 Fix crash in Range::processContents when modified during mutation event. 43646 https://bugs.webkit.org/show_bug.cgi?id=50710 43647 43648 Test: fast/dom/Range/range-extractContents.html 43649 43650 * dom/Range.cpp: 43651 (WebCore::Range::processContents): 43652 Replace raw pointers with RefPtrs and add checks. 43653 43654 2010-12-09 Enrica Casucci <enrica (a] apple.com> 43655 43656 Reviewed by Alexey Proskuryakov. 43657 43658 Implement IME support for Mac. 43659 <rdar://problem/7660589> WebKit2: Implement IME support for Mac. 43660 https://bugs.webkit.org/show_bug.cgi?id=50788 43661 43662 * dom/KeyboardEvent.h: 43663 (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor, 43664 since it is now used for more than one command. 43665 43666 2010-12-10 Jessie Berlin <jberlin (a] apple.com> 43667 43668 Windows build fix. Unreviewed. 43669 43670 * WebCore.vcproj/WebCore.vcproj: 43671 Remove duplicate </File> tag. 43672 43673 2010-12-09 Jenn Braithwaite <jennb (a] chromium.org> 43674 43675 Reviewed by Adam Barth. 43676 43677 TextResourceDecoder::checkForHeadCharset can look way past the limit. 43678 https://bugs.webkit.org/show_bug.cgi?id=47397 43679 43680 Replaced charset detection algorithm with real parser. 43681 Added tests for parser bugs mentioned in the thread for this bug report. 43682 Converted hixie's encoding parsing tests to a layout test. 43683 43684 Tests: fast/encoding/bracket-in-script.html 43685 fast/encoding/bracket-in-tag.html 43686 fast/encoding/escaped-bracket.html 43687 fast/encoding/meta-in-body.html 43688 fast/encoding/meta-in-script.html 43689 fast/encoding/meta-in-title.html 43690 fast/encoding/mismatched-end-tag.html 43691 fast/encoding/namespace-meta.html 43692 fast/encoding/not-http-equiv-content.html 43693 fast/encoding/parser-tests.html 43694 fast/encoding/quotes-in-title.html 43695 fast/encoding/tag-name-digit.html 43696 http/tests/misc/charset-sniffer-end-sniffing.html 43697 43698 * Android.mk: 43699 * CMakeLists.txt: 43700 * GNUmakefile.am: 43701 * WebCore.gypi: 43702 * WebCore.pro: 43703 * WebCore.vcproj/WebCore.vcproj: 43704 * WebCore.xcodeproj/project.pbxproj: 43705 * html/parser/HTMLMetaCharsetParser.cpp: Added. 43706 (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): 43707 (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser): 43708 (WebCore::HTMLMetaCharsetParser::extractCharset): 43709 (WebCore::HTMLMetaCharsetParser::processMeta): 43710 (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): 43711 * html/parser/HTMLMetaCharsetParser.h: Added. 43712 (WebCore::HTMLMetaCharsetParser::create): 43713 (WebCore::HTMLMetaCharsetParser::encoding): 43714 * loader/TextResourceDecoder.cpp: 43715 (WebCore::TextResourceDecoder::checkForHeadCharset): 43716 (WebCore::TextResourceDecoder::checkForMetaCharset): 43717 * loader/TextResourceDecoder.h: 43718 43719 2010-12-10 Nate Chapin <japhet (a] chromium.org> 43720 43721 Reviewed by Antti Koivisto. 43722 43723 Merge Loader and Request. Currently, Loader is a singleton attached 43724 to MemoryCache. Our goal is to remove knowledge of the loading process 43725 from MemoryCache, so we should attach Loader to CachedResourceLoader instead. 43726 Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton, 43727 which removes the main reason for Request existing as a separate class (to store per-request 43728 state that Loader couldn't). 43729 43730 Loader will be given a more descriptive name in a later patch. 43731 43732 https://bugs.webkit.org/show_bug.cgi?id=49837 43733 43734 Refactor only, no new tests. 43735 43736 * Android.mk: 43737 * CMakeLists.txt: 43738 * GNUmakefile.am: 43739 * WebCore.gypi: 43740 * WebCore.pro: 43741 * loader/FrameLoader.cpp: 43742 * loader/Request.cpp: 43743 * loader/Request.h: 43744 * loader/cache/CachedFont.cpp: 43745 * loader/cache/CachedImage.cpp: 43746 * loader/cache/CachedResource.cpp: 43747 * loader/cache/CachedResource.h: 43748 * loader/cache/CachedResourceLoader.cpp: 43749 (WebCore::CachedResourceLoader::CachedResourceLoader): 43750 (WebCore::CachedResourceLoader::~CachedResourceLoader): 43751 (WebCore::CachedResourceLoader::requestImage): 43752 (WebCore::CachedResourceLoader::setAutoLoadImages): 43753 (WebCore::CachedResourceLoader::load): 43754 (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false), 43755 plus other CachedResourceLoader cleanup that had been handled in Loader. 43756 (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader. 43757 (WebCore::CachedResourceLoader::requestCount): 43758 * loader/cache/CachedResourceLoader.h: 43759 (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true) 43760 * loader/cache/MemoryCache.h: 43761 * loader/loader.cpp: 43762 (WebCore::Loader::Loader): 43763 (WebCore::Loader::~Loader): 43764 (WebCore::Loader::load): 43765 (WebCore::Loader::willSendRequest): 43766 (WebCore::Loader::didFinishLoading): 43767 (WebCore::Loader::didFail): 43768 (WebCore::Loader::didReceiveResponse): 43769 (WebCore::Loader::didReceiveData): 43770 (WebCore::Loader::didReceiveCachedMetadata): 43771 * loader/loader.h: 43772 (WebCore::Loader::cachedResourceLoader): 43773 43774 2010-12-10 Martin Robinson <mrobinson (a] igalia.com> 43775 43776 Unreviewed, rolling out r73703. 43777 http://trac.webkit.org/changeset/73703 43778 https://bugs.webkit.org/show_bug.cgi?id=49658 43779 43780 This patch is causing crashes on the GTK+ bots. 43781 43782 * platform/ContextMenuItem.h: 43783 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): 43784 * platform/gtk/ContextMenuGtk.cpp: 43785 (WebCore::ContextMenu::appendItem): 43786 * platform/gtk/ContextMenuItemGtk.cpp: 43787 (WebCore::ContextMenuItem::ContextMenuItem): 43788 (WebCore::ContextMenuItem::~ContextMenuItem): 43789 (WebCore::ContextMenuItem::createNativeMenuItem): 43790 (WebCore::ContextMenuItem::releasePlatformDescription): 43791 (WebCore::ContextMenuItem::type): 43792 (WebCore::ContextMenuItem::setType): 43793 (WebCore::ContextMenuItem::action): 43794 (WebCore::ContextMenuItem::setAction): 43795 (WebCore::ContextMenuItem::title): 43796 (WebCore::ContextMenuItem::setTitle): 43797 (WebCore::ContextMenuItem::platformSubMenu): 43798 (WebCore::ContextMenuItem::setSubMenu): 43799 (WebCore::ContextMenuItem::setChecked): 43800 (WebCore::ContextMenuItem::setEnabled): 43801 43802 2010-12-08 Mihai Parparita <mihaip (a] chromium.org> 43803 43804 Reviewed by Darin Adler. 43805 43806 fast/canvas/canvas-getImageData-negative-source.html fails on Mac 43807 https://bugs.webkit.org/show_bug.cgi?id=47901 43808 43809 Test: fast/canvas/canvas-getImageData-rounding.html 43810 43811 static_cast<unsigned> is generally not what we want in 43812 convertLogicalToDevice. It produces inconsistent results when compiling 43813 for 32-bit vs. 64-bit, and in any case we weren't getting correct 43814 rounding behavior for source rectangles (e.g. we should get a source rect 43815 of width 2 if the source X is 0.9 and the source width is 0.2, but we 43816 were getting only one of width 1). 43817 43818 * html/HTMLCanvasElement.cpp: 43819 (WebCore::HTMLCanvasElement::convertLogicalToDevice): 43820 (WebCore::HTMLCanvasElement::convertToValidDeviceSize): 43821 * html/HTMLCanvasElement.h: 43822 43823 2010-12-10 Hironori Bono <hbono (a] chromium.org> 43824 43825 Reviewed by Ojan Vafai. 43826 43827 [Chromium] Use libjpeg-turbo instead of libjpeg 43828 https://bugs.webkit.org/show_bug.cgi?id=50054 43829 43830 This change replaces the hard-coded path to the GYP files of the JPEG 43831 library with a 'libjpeg_gyp_path' variable, which is added by Chromium 43832 r68453. (When building WebKit Chromium, this change sets its value to 43833 '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing 43834 the current behavior.) 43835 43836 No new tests since this does not change the code at all. 43837 43838 * WebCore.gyp/WebCore.gyp: 43839 43840 2010-12-10 Chris Marrin <cmarrin (a] apple.com> 43841 43842 Reviewed by Simon Fraser. 43843 43844 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 43845 https://bugs.webkit.org/show_bug.cgi?id=49388 43846 43847 Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside 43848 the implementation. 43849 43850 * platform/graphics/ca/GraphicsLayerCA.cpp: 43851 (WebCore::GraphicsLayerCA::setAnimationOnLayer): 43852 * platform/graphics/ca/PlatformCAAnimation.h: 43853 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 43854 (hasNonZeroBeginTimeFlag): 43855 (setNonZeroBeginTimeFlag): 43856 (PlatformCAAnimation::PlatformCAAnimation): 43857 (PlatformCAAnimation::setBeginTime): 43858 43859 2010-12-10 Pavel Podivilov <podivilov (a] chromium.org> 43860 43861 Reviewed by Pavel Feldman. 43862 43863 Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor. 43864 https://bugs.webkit.org/show_bug.cgi?id=50679 43865 43866 * inspector/front-end/Script.js: 43867 * inspector/front-end/ScriptView.js: 43868 (WebInspector.ScriptView): 43869 * inspector/front-end/ScriptsPanel.js: 43870 (WebInspector.ScriptsPanel.prototype.reset): 43871 * inspector/front-end/SourceFrame.js: 43872 (WebInspector.SourceFrame): 43873 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 43874 (WebInspector.SourceFrame.prototype._breakpointAdded): 43875 (WebInspector.SourceFrame.prototype._doEditLine): 43876 (WebInspector.SourceFrame.prototype._commitEditLine): 43877 (WebInspector.SourceFrame.prototype._breakpoints): 43878 (WebInspector.SourceFrame.prototype._sourceIDForLine): 43879 * inspector/front-end/SourceView.js: 43880 (WebInspector.SourceView): 43881 43882 2010-12-10 Andreas Kling <kling (a] webkit.org> 43883 43884 Reviewed by Eric Seidel. 43885 43886 Don't do GraphicsContext save/restore just to preserve the CompositeOperator 43887 https://bugs.webkit.org/show_bug.cgi?id=50070 43888 43889 Add GraphicsContext::compositeOperation() so we don't have to do a full 43890 save/restore if the only context-tainting call is setCompositeOperation(). 43891 43892 GraphicsContext::setCompositeOperation() now stores the op in its state 43893 and calls a port-specific setPlatformCompositeOperation(). 43894 43895 No new tests, this is an optimization. 43896 43897 * platform/graphics/GraphicsContext.cpp: 43898 (WebCore::GraphicsContext::setCompositeOperation): 43899 (WebCore::GraphicsContext::compositeOperation): 43900 * platform/graphics/GraphicsContext.h: 43901 * platform/graphics/GraphicsContextPrivate.h: 43902 (WebCore::GraphicsContextState::GraphicsContextState): 43903 * platform/graphics/Image.cpp: 43904 (WebCore::Image::fillWithSolidColor): 43905 * platform/graphics/cairo/GraphicsContextCairo.cpp: 43906 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43907 * platform/graphics/cg/GraphicsContextCG.cpp: 43908 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43909 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 43910 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43911 * platform/graphics/mac/GraphicsContextMac.mm: 43912 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43913 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 43914 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43915 * platform/graphics/qt/GraphicsContextQt.cpp: 43916 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43917 * platform/graphics/skia/GraphicsContextSkia.cpp: 43918 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43919 * platform/graphics/skia/SkiaUtils.cpp: 43920 (WebCore::WebCoreCompositeToSkiaComposite): 43921 * platform/graphics/wince/GraphicsContextWinCE.cpp: 43922 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43923 * platform/graphics/wx/GraphicsContextWx.cpp: 43924 (WebCore::GraphicsContext::setPlatformCompositeOperation): 43925 * rendering/RenderBoxModelObject.cpp: 43926 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 43927 * rendering/RenderView.cpp: 43928 (WebCore::RenderView::paintBoxDecorations): 43929 43930 2010-12-10 Renata Hodovan <reni (a] webkit.org> 43931 43932 Reviewed by Andreas Kling. 43933 43934 GraphicsContext: Merge m_common and m_data 43935 https://bugs.webkit.org/show_bug.cgi?id=49914 43936 43937 Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h 43938 and m_common became unnecessary. They are removed. 43939 Add two methods to GraphicsContext: platformInit() and platformDestroy(), which 43940 make the constructor of GraphicsContext clearer. 43941 Besides add a getter to the private GraphicsContext::m_state member, because some inline 43942 functions in cairo need it. 43943 43944 No new test is needed, because this is a refactoring. 43945 43946 * WebCore.xcodeproj/project.pbxproj: 43947 * platform/graphics/GraphicsContext.cpp: 43948 (WebCore::GraphicsContext::GraphicsContext): 43949 (WebCore::GraphicsContext::~GraphicsContext): 43950 (WebCore::GraphicsContext::save): 43951 (WebCore::GraphicsContext::restore): 43952 (WebCore::GraphicsContext::setStrokeThickness): 43953 (WebCore::GraphicsContext::setStrokeStyle): 43954 (WebCore::GraphicsContext::setStrokeColor): 43955 (WebCore::GraphicsContext::setShadow): 43956 (WebCore::GraphicsContext::clearShadow): 43957 (WebCore::GraphicsContext::getShadow): 43958 (WebCore::GraphicsContext::strokeThickness): 43959 (WebCore::GraphicsContext::strokeStyle): 43960 (WebCore::GraphicsContext::strokeColor): 43961 (WebCore::GraphicsContext::strokeColorSpace): 43962 (WebCore::GraphicsContext::fillRule): 43963 (WebCore::GraphicsContext::setFillRule): 43964 (WebCore::GraphicsContext::setFillColor): 43965 (WebCore::GraphicsContext::fillColor): 43966 (WebCore::GraphicsContext::fillColorSpace): 43967 (WebCore::GraphicsContext::setShouldAntialias): 43968 (WebCore::GraphicsContext::shouldAntialias): 43969 (WebCore::GraphicsContext::state): 43970 (WebCore::GraphicsContext::setStrokePattern): 43971 (WebCore::GraphicsContext::setFillPattern): 43972 (WebCore::GraphicsContext::setStrokeGradient): 43973 (WebCore::GraphicsContext::setFillGradient): 43974 (WebCore::GraphicsContext::fillGradient): 43975 (WebCore::GraphicsContext::strokeGradient): 43976 (WebCore::GraphicsContext::fillPattern): 43977 (WebCore::GraphicsContext::strokePattern): 43978 (WebCore::GraphicsContext::setShadowsIgnoreTransforms): 43979 (WebCore::GraphicsContext::updatingControlTints): 43980 (WebCore::GraphicsContext::setUpdatingControlTints): 43981 (WebCore::GraphicsContext::setPaintingDisabled): 43982 (WebCore::GraphicsContext::paintingDisabled): 43983 (WebCore::GraphicsContext::textDrawingMode): 43984 (WebCore::GraphicsContext::setTextDrawingMode): 43985 * platform/graphics/GraphicsContext.h: 43986 (WebCore::GraphicsContextState::GraphicsContextState): 43987 * platform/graphics/GraphicsContextPrivate.h: Removed. 43988 * platform/graphics/cairo/GraphicsContextCairo.cpp: 43989 (WebCore::setPlatformFill): 43990 (WebCore::setPlatformStroke): 43991 (WebCore::drawPathShadow): 43992 (WebCore::fillCurrentCairoPath): 43993 (WebCore::strokeCurrentCairoPath): 43994 (WebCore::GraphicsContext::platformInit): 43995 (WebCore::GraphicsContext::platformDestroy): 43996 (WebCore::GraphicsContext::fillPath): 43997 (WebCore::GraphicsContext::strokePath): 43998 (WebCore::GraphicsContext::fillRect): 43999 (WebCore::GraphicsContext::setPlatformShadow): 44000 (WebCore::GraphicsContext::strokeRect): 44001 (WebCore::GraphicsContext::setAlpha): 44002 (WebCore::GraphicsContext::getAlpha): 44003 * platform/graphics/cg/GraphicsContextCG.cpp: 44004 (WebCore::GraphicsContext::platformInit): 44005 (WebCore::GraphicsContext::platformDestroy): 44006 (WebCore::GraphicsContext::applyStrokePattern): 44007 (WebCore::GraphicsContext::applyFillPattern): 44008 (WebCore::GraphicsContext::drawPath): 44009 (WebCore::GraphicsContext::fillPath): 44010 (WebCore::GraphicsContext::strokePath): 44011 (WebCore::GraphicsContext::fillRect): 44012 (WebCore::GraphicsContext::setPlatformShadow): 44013 (WebCore::GraphicsContext::strokeRect): 44014 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 44015 (WebCore::GraphicsContext::platformInit): 44016 (WebCore::GraphicsContext::platformDestroy): 44017 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 44018 (WebCore::GraphicsContext::platformInit): 44019 (WebCore::GraphicsContext::platformDestroy): 44020 (WebCore::GraphicsContext::fillPath): 44021 (WebCore::GraphicsContext::strokePath): 44022 (WebCore::GraphicsContext::clip): 44023 (WebCore::GraphicsContext::clipOut): 44024 (WebCore::GraphicsContext::addInnerRoundedRectClip): 44025 * platform/graphics/qt/GraphicsContextQt.cpp: 44026 (WebCore::GraphicsContext::platformInit): 44027 (WebCore::GraphicsContext::platformDestroy): 44028 (WebCore::GraphicsContext::fillPath): 44029 (WebCore::GraphicsContext::strokePath): 44030 (WebCore::GraphicsContext::fillRect): 44031 (WebCore::GraphicsContext::setPlatformShadow): 44032 * platform/graphics/skia/GraphicsContextSkia.cpp: 44033 (WebCore::GraphicsContext::platformInit): 44034 (WebCore::GraphicsContext::platformDestroy): 44035 (WebCore::GraphicsContext::fillPath): 44036 (WebCore::GraphicsContext::setPlatformShadow): 44037 * platform/graphics/win/GraphicsContextCGWin.cpp: 44038 (WebCore::GraphicsContext::GraphicsContext): 44039 (WebCore::GraphicsContext::platformInit): 44040 * platform/graphics/win/GraphicsContextCairoWin.cpp: 44041 (WebCore::GraphicsContext::GraphicsContext): 44042 (WebCore::GraphicsContext::platformInit): 44043 * platform/graphics/wince/GraphicsContextWinCE.cpp: 44044 (WebCore::GraphicsContext::platformInit): 44045 (WebCore::GraphicsContext::platformDestroy): 44046 (WebCore::GraphicsContext::fillPath): 44047 (WebCore::GraphicsContext::fillRect): 44048 * platform/graphics/wx/GraphicsContextWx.cpp: 44049 (WebCore::GraphicsContext::platformInit): 44050 (WebCore::GraphicsContext::platformDestroy): 44051 44052 2010-12-10 Pavel Podivilov <podivilov (a] chromium.org> 44053 44054 Reviewed by Yury Semikhatsky. 44055 44056 Web Inspector: introduce a pair of set/remove methods for each breakpoint type. 44057 https://bugs.webkit.org/show_bug.cgi?id=50809 44058 44059 * inspector/Inspector.idl: 44060 * inspector/InspectorController.cpp: 44061 (WebCore::InspectorController::InspectorController): 44062 (WebCore::InspectorController::setEventListenerBreakpoint): 44063 (WebCore::InspectorController::removeEventListenerBreakpoint): 44064 (WebCore::InspectorController::hasEventListenerBreakpoint): 44065 (WebCore::InspectorController::setXHRBreakpoint): 44066 (WebCore::InspectorController::removeXHRBreakpoint): 44067 (WebCore::InspectorController::hasXHRBreakpoint): 44068 (WebCore::InspectorController::clearNativeBreakpoints): 44069 * inspector/InspectorController.h: 44070 * inspector/InspectorDOMAgent.cpp: 44071 (WebCore::InspectorDOMAgent::setDOMBreakpoint): 44072 (WebCore::InspectorDOMAgent::removeDOMBreakpoint): 44073 (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): 44074 (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): 44075 (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): 44076 (WebCore::InspectorDOMAgent::descriptionForDOMEvent): 44077 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 44078 * inspector/InspectorDOMAgent.h: 44079 * inspector/InspectorInstrumentation.cpp: 44080 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 44081 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 44082 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 44083 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 44084 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 44085 * inspector/front-end/BreakpointManager.js: 44086 (WebInspector.BreakpointManager): 44087 (WebInspector.NativeBreakpoint): 44088 (WebInspector.DOMBreakpoint): 44089 (WebInspector.EventListenerBreakpoint): 44090 (WebInspector.XHRBreakpoint): 44091 * inspector/front-end/CallStackSidebarPane.js: 44092 (WebInspector.CallStackSidebarPane): 44093 (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): 44094 * inspector/front-end/DebuggerModel.js: 44095 (WebInspector.DebuggerModel.prototype.debuggerPaused): 44096 44097 2010-12-10 Adam Roben <aroben (a] apple.com> 44098 44099 Windows production build fix after r72555 44100 44101 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use 44102 "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the 44103 .vsprops files, rather than $(WebKitLibrariesDir). 44104 44105 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44106 44107 Reviewed by nobody, build fix. 44108 44109 [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710. 44110 44111 * platform/network/qt/QtNAMThreadSafeProxy.cpp: 44112 (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): 44113 (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest): 44114 * platform/network/qt/QtNAMThreadSafeProxy.h: 44115 44116 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44117 44118 Reviewed by nobody, build fix. 44119 44120 [Qt] Fix the build with Qt 4.6 broken in 73710. 44121 44122 * platform/network/qt/QtNAMThreadSafeProxy.cpp: 44123 (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy): 44124 * platform/network/qt/QtNAMThreadSafeProxy.h: 44125 44126 2010-12-10 Emil Eklund <eae (a] chromium.org> 44127 44128 Reviewed by Eric Seidel. 44129 44130 Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal 44131 https://bugs.webkit.org/show_bug.cgi?id=49982 44132 44133 * page/EventHandler.cpp: 44134 (WebCore::EventHandler::dispatchMouseEvent): 44135 Walk up DOM/hosted tree rather than render tree. 44136 44137 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44138 44139 Reviewed by Kenneth Rohde Christiansen. 44140 44141 [Qt] Support a QNetworkAccessManager affined to a different thread. 44142 https://bugs.webkit.org/show_bug.cgi?id=50080 44143 44144 This patch introduce thread safe proxy classes for QNetworkAccessManager 44145 and QNetworkReply. 44146 If run in the same thread, these objects will forward the calls with 44147 Qt::DirectConnection bindings, while in the other case they will use 44148 Qt::QueuedConnection to carry requests accross threads. 44149 44150 This patch basically: 44151 - Makes sure that all access goes through these objects 44152 - Reorders signal connections to make sure we are connected when the 44153 signal comes 44154 - Makes sure that no QObject in the WebCore thread is a child of the 44155 reply which might be in a different thread. 44156 - Forward the data directly in QByteArrays in signals instead of collecting 44157 the data when the signal is handled. 44158 44159 New test: tst_QWebPage::networkAccessManagerOnDifferentThread 44160 44161 * WebCore.pro: 44162 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 44163 (WebCore::MediaPlayerPrivateQt::commitLoad): 44164 * platform/network/qt/QNetworkReplyHandler.cpp: 44165 (WebCore::FormDataIODevice::FormDataIODevice): 44166 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 44167 (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler): 44168 (WebCore::QNetworkReplyHandler::setLoadMode): 44169 (WebCore::QNetworkReplyHandler::abort): 44170 (WebCore::QNetworkReplyHandler::release): 44171 (WebCore::ignoreHttpError): 44172 (WebCore::QNetworkReplyHandler::finish): 44173 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 44174 (WebCore::QNetworkReplyHandler::forwardData): 44175 (WebCore::QNetworkReplyHandler::start): 44176 (WebCore::QNetworkReplyHandler::sendQueuedItems): 44177 * platform/network/qt/QNetworkReplyHandler.h: 44178 * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added. 44179 * platform/network/qt/QtNAMThreadSafeProxy.h: Added. 44180 * platform/network/qt/ResourceHandleQt.cpp: 44181 (WebCore::ResourceHandle::willLoadFromCache): 44182 * platform/qt/CookieJarQt.cpp: 44183 (WebCore::networkAccessManager): 44184 (WebCore::setCookies): 44185 (WebCore::cookies): 44186 (WebCore::cookieRequestHeaderFieldValue): 44187 (WebCore::cookiesEnabled): 44188 44189 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44190 44191 Reviewed by Kenneth Rohde Christiansen. 44192 44193 [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes. 44194 https://bugs.webkit.org/show_bug.cgi?id=50761 44195 44196 This patch change the order to check if m_reply is null instead, 44197 explicitly deleting the reply before calling start() for a redirect, 44198 or after calling didFinishLoading()/didFail() in other cases. 44199 44200 * platform/network/qt/QNetworkReplyHandler.cpp: 44201 (WebCore::QNetworkReplyHandler::finish): 44202 44203 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44204 44205 Reviewed by Kenneth Rohde Christiansen. 44206 44207 [Qt] Make sure we send the response before any data. 44208 https://bugs.webkit.org/show_bug.cgi?id=50760 44209 44210 This patch make sure the data available flag is set before 44211 we call sendResponseIfNeeded. 44212 44213 * platform/network/qt/QNetworkReplyHandler.cpp: 44214 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 44215 (WebCore::QNetworkReplyHandler::finish): 44216 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 44217 (WebCore::QNetworkReplyHandler::forwardData): 44218 (WebCore::QNetworkReplyHandler::resetState): 44219 * platform/network/qt/QNetworkReplyHandler.h: 44220 44221 2010-12-10 Koan-Sin Tan <koansin.tan (a] gmail.com> 44222 44223 Reviewed by Dan Bernstein. 44224 44225 Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp 44226 https://bugs.webkit.org/show_bug.cgi?id=50668 44227 44228 No new tests. Note that, as said in the bug report discussion, 44229 I did have a test case for the bug. However, to show the test 44230 case you need some "broken" Microsoft copyrighted fonts, such 44231 as DFKai-SB. 44232 44233 * platform/graphics/Font.cpp: 44234 (WebCore::Font::isCJKIdeograph): 44235 44236 2010-12-10 Carlos Garcia Campos <cgarcia (a] igalia.com> 44237 44238 Reviewed by Martin Robinson. 44239 44240 [GTK] Simplify context-menu handling code 44241 https://bugs.webkit.org/show_bug.cgi?id=49658 44242 44243 * platform/ContextMenuItem.h: 44244 * platform/gtk/ContextMenuGtk.cpp: 44245 (WebCore::ContextMenu::appendItem): 44246 * platform/gtk/ContextMenuItemGtk.cpp: 44247 (WebCore::ContextMenuItem::ContextMenuItem): 44248 (WebCore::ContextMenuItem::~ContextMenuItem): 44249 (WebCore::ContextMenuItem::releasePlatformDescription): 44250 (WebCore::ContextMenuItem::type): 44251 (WebCore::ContextMenuItem::setType): 44252 (WebCore::ContextMenuItem::action): 44253 (WebCore::ContextMenuItem::setAction): 44254 (WebCore::ContextMenuItem::title): 44255 (WebCore::ContextMenuItem::setTitle): 44256 (WebCore::ContextMenuItem::platformSubMenu): 44257 (WebCore::ContextMenuItem::setSubMenu): 44258 (WebCore::ContextMenuItem::setChecked): 44259 (WebCore::ContextMenuItem::setEnabled): 44260 44261 2010-12-10 Philippe Normand <pnormand (a] igalia.com> 44262 44263 Reviewed by Gustavo Noronha Silva. 44264 44265 [GStreamer] un-needed methods 44266 https://bugs.webkit.org/show_bug.cgi?id=50805 44267 44268 No new tests, code cleanup only. 44269 44270 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 44271 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 44272 44273 2010-12-10 Philippe Normand <pnormand (a] igalia.com> 44274 44275 Reviewed by Gustavo Noronha Silva. 44276 44277 [GStreamer] data: source could also support non-base64 encoded URIs 44278 https://bugs.webkit.org/show_bug.cgi?id=30007 44279 44280 Removed our ancient implementation of dataurisrc. We should now 44281 use the one in gst-plugins-bad which is more mature. 44282 44283 * GNUmakefile.am: 44284 * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed. 44285 * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed. 44286 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 44287 (WebCore::doGstInit): 44288 44289 2010-12-10 Zoltan Herczeg <zherczeg (a] webkit.org> 44290 44291 Reviewed by Eric Seidel. 44292 44293 [Qt] Fix crashes in debug mode 44294 https://bugs.webkit.org/show_bug.cgi?id=49976 44295 44296 The m_methods hashmap of QtInstance contains InternalFunctions 44297 whose depend on the current RuntimeObject. When we recreate the 44298 RuntimeObject, we should also reset this hashmap. 44299 44300 * bridge/qt/qt_instance.cpp: 44301 (JSC::Bindings::QtInstance::newRuntimeObject): 44302 44303 2010-12-10 Franois Sausset <sausset (a] gmail.com> 44304 44305 Reviewed by Eric Seidel. 44306 44307 MathML: update baselinePosition() call in RenderMathMLBlock.cpp 44308 https://bugs.webkit.org/show_bug.cgi?id=50540 44309 44310 The call of baselinePosition() is outdated: new arguments added. 44311 44312 * mathml/RenderMathMLBlock.cpp: 44313 (WebCore::RenderMathMLBlock::paint): 44314 44315 2010-12-10 Hans Wennborg <hans (a] chromium.org> 44316 44317 Reviewed by Jeremy Orlow. 44318 44319 IndexedDB: Numeric keys are floats. 44320 https://bugs.webkit.org/show_bug.cgi?id=50674 44321 44322 Use floating point to represent numeric keys, 44323 add version meta data to the SQLite db, 44324 and migrate object stores that use integers. 44325 44326 * bindings/v8/IDBBindingUtilities.cpp: 44327 (WebCore::createIDBKeyFromValue): 44328 * bindings/v8/custom/V8IDBKeyCustom.cpp: 44329 (WebCore::toV8): 44330 * storage/IDBFactoryBackendImpl.cpp: 44331 (WebCore::createTables): 44332 (WebCore::migrateDatabase): 44333 (WebCore::IDBFactoryBackendImpl::open): 44334 * storage/IDBKey.cpp: 44335 (WebCore::IDBKey::IDBKey): 44336 (WebCore::IDBKey::fromQuery): 44337 (WebCore::IDBKey::bind): 44338 (WebCore::IDBKey::bindWithNulls): 44339 * storage/IDBKey.h: 44340 (WebCore::IDBKey::create): 44341 (WebCore::IDBKey::number): 44342 44343 2010-12-10 Martin Robinson <mrobinson (a] igalia.com> 44344 44345 Reviewed by Xan Lopez. 44346 44347 [Gtk] style="font-family: courier" makes text disappear 44348 https://bugs.webkit.org/show_bug.cgi?id=47452 44349 44350 Don't ever use fonts that do not have any of the three charmaps that 44351 Fontconfig supports (Unicode, Apple Roman and Symbol). If we select 44352 a font that doesn't have one of these charmaps, use the next font in 44353 the list. 44354 44355 Test: platform/gtk/fonts/font-with-no-valid-encoding.html 44356 44357 * platform/graphics/freetype/FontCacheFreeType.cpp: 44358 (WebCore::FontCache::createFontPlatformData): Check whether the 44359 font we selected has a valid Fontconfig charmap. 44360 * platform/graphics/freetype/FontPlatformData.h: Added new method definition. 44361 * platform/graphics/freetype/FontPlatformDataFreeType.cpp: 44362 (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which 44363 verifies that a font has a valid Fontconfig charmap. 44364 44365 2010-12-09 Ryosuke Niwa <rniwa (a] webkit.org> 44366 44367 Reviewed by Ojan Vafai. 44368 44369 Make DOM Mutation Events Asynchronous 44370 https://bugs.webkit.org/show_bug.cgi?id=46936 44371 44372 Implemented DOM mutations events as scoped events. A scoped event is an event whose 44373 dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by 44374 EventQueueScope objects (RAII idiom), which increments and decrements the scoping level 44375 on its constructor and destructor respectively. 44376 44377 When the scoping level is 0 (initial level), scoped events are dispatched as soon as 44378 they are enqueued and act like synchronous events. When the scoping level is greater than 0, 44379 however, events are queued in ScopedEventQueue and their dispatches are delayed until 44380 the scoping level goes back to 0 (by the destruction of EventQueueScope). 44381 44382 DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, 44383 DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as 44384 scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches 44385 of the events until the completion of each call of EditCommand::doApply. 44386 44387 Test: fast/events/mutation/execCommands.html 44388 44389 * Android.mk: Added ScopedEventQueue.cpp. 44390 * CMakeLists.txt: Ditto. 44391 * WebCore.pro: Ditto. 44392 * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. 44393 * WebCore.gypi: Ditto. 44394 * WebCore.vcproj/project.vcproj: Ditto. 44395 * WebCore.xcodeproj/project.pbxproj: Ditto. 44396 * dom/ContainerNode.cpp: 44397 (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. 44398 (WebCore::dispatchChildRemovalEvents): Ditto. 44399 * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. 44400 * dom/Element.cpp: 44401 (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 44402 (WebCore::Element::dispatchAttrAdditionEvent): Ditto. 44403 * dom/Node.cpp: 44404 (WebCore::Node::dispatchScopedEvent): Added. 44405 (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. 44406 * dom/Node.h: 44407 * dom/ScopedEventQueue.cpp: Added. 44408 (WebCore::ScopedEventQueue::initialize): Added. 44409 (WebCore::ScopedEventQueue::enqueueEvent): Added. 44410 (WebCore::ScopedEventQueue::dispatchAllEvents): Added. 44411 (WebCore::ScopedEventQueue::dispatchEvent): Added. 44412 (WebCore::ScopedEventQueue::instance): Added. 44413 (WebCore::ScopedEventQueue::incrementScopingLevel): Added. 44414 (WebCore::ScopedEventQueue::decrementScopingLevel): Added. 44415 * dom/ScopedEventQueue.h: Added. 44416 (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. 44417 (WebCore::ScopedEventQueue::ScopedEventQueue): Added. 44418 (WebCore::EventQueueScope::EventQueueScope): Added. 44419 (WebCore::EventQueueScope::~EventQueueScope): Added. 44420 * editing/EditCommand.cpp: 44421 (WebCore::EditCommand::apply): Instantiates EventQueueScope. 44422 44423 2010-12-09 Sheriff Bot <webkit.review.bot (a] gmail.com> 44424 44425 Unreviewed, rolling out r73684. 44426 http://trac.webkit.org/changeset/73684 44427 https://bugs.webkit.org/show_bug.cgi?id=50801 44428 44429 "missing bug number" (Requested by rniwa on #webkit). 44430 44431 * Android.mk: 44432 * CMakeLists.txt: 44433 * GNUmakefile.am: 44434 * WebCore.gypi: 44435 * WebCore.pro: 44436 * WebCore.vcproj/WebCore.vcproj: 44437 * WebCore.xcodeproj/project.pbxproj: 44438 * dom/ContainerNode.cpp: 44439 (WebCore::dispatchChildInsertionEvents): 44440 (WebCore::dispatchChildRemovalEvents): 44441 * dom/DOMAllInOne.cpp: 44442 * dom/Element.cpp: 44443 (WebCore::Element::dispatchAttrRemovalEvent): 44444 (WebCore::Element::dispatchAttrAdditionEvent): 44445 * dom/Node.cpp: 44446 (WebCore::Node::dispatchSubtreeModifiedEvent): 44447 (WebCore::Node::dispatchUIEvent): 44448 * dom/Node.h: 44449 * dom/ScopedEventQueue.cpp: Removed. 44450 * dom/ScopedEventQueue.h: Removed. 44451 * editing/EditCommand.cpp: 44452 (WebCore::EditCommand::apply): 44453 44454 2010-12-09 Qi Zhang <qi.2.zhang (a] nokia.com> 44455 44456 Reviewed by Kenneth Rohde Christiansen. 44457 44458 [Qt] enable orientation flag when QtMobility available 44459 https://bugs.webkit.org/show_bug.cgi?id=50781 44460 44461 When QtMobility available, enable orientation flag by default. 44462 44463 * features.pri: 44464 44465 2010-12-09 Kenichi Ishibashi <bashi (a] google.com> 44466 44467 Reviewed by Kent Tamura. 44468 44469 Improve validation API support of <object> and <keygen> 44470 https://bugs.webkit.org/show_bug.cgi?id=50663 44471 44472 Adds validation API to HTMLObjectElement class. 44473 Makes HTMLKeygenElement::willValidate() return false. 44474 44475 Test: fast/forms/setCustomValidity-existence.html 44476 44477 * html/HTMLKeygenElement.h: 44478 (WebCore::HTMLKeygenElement::willValidate): Added. 44479 * html/HTMLObjectElement.h: 44480 (WebCore::HTMLObjectElement::validationMessage): Added. 44481 (WebCore::HTMLObjectElement::checkValidity): Added. 44482 (WebCore::HTMLObjectElement::setCustomValidity): Added. 44483 * html/HTMLObjectElement.idl: Added validation API properties. 44484 44485 2010-12-09 Sadrul Habib Chowdhury <sadrul (a] chromium.org> 44486 44487 Reviewed by Kent Tamura. 44488 44489 Make sure a non-zero value is used for tile-width to avoid a crash 44490 https://bugs.webkit.org/show_bug.cgi?id=50341 44491 44492 The scaled tile width can be very small at times (e.g. with 'style: font 1 44493 required'). So use a minimum width of 1 instead of using 0 (which leads to a 44494 crash). 44495 44496 Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html 44497 44498 * rendering/RenderThemeChromiumSkia.cpp: 44499 (WebCore::RenderThemeChromiumSkia::paintProgressBar): 44500 44501 2010-12-09 Ryosuke Niwa <rniwa (a] webkit.org> 44502 44503 Reviewed by Ojan Vafai. 44504 44505 Implemented DOM mutations events as scoped events. A scoped event is an event whose 44506 dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by 44507 EventQueueScope objects (RAII idiom), which increments and decrements the scoping level 44508 on its constructor and destructor respectively. 44509 44510 When the scoping level is 0 (initial level), scoped events are dispatched as soon as 44511 they are enqueued and act like synchronous events. When the scoping level is greater than 0, 44512 however, events are queued in ScopedEventQueue and their dispatches are delayed until 44513 the scoping level goes back to 0 (by the destruction of EventQueueScope). 44514 44515 DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, 44516 DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as 44517 scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches 44518 of the events until the completion of each call of EditCommand::doApply. 44519 44520 Test: fast/events/mutation/execCommands.html 44521 44522 * Android.mk: Added ScopedEventQueue.cpp. 44523 * CMakeLists.txt: Ditto. 44524 * WebCore.pro: Ditto. 44525 * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h. 44526 * WebCore.gypi: Ditto. 44527 * WebCore.vcproj/project.vcproj: Ditto. 44528 * WebCore.xcodeproj/project.pbxproj: Ditto. 44529 * dom/ContainerNode.cpp: 44530 (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent. 44531 (WebCore::dispatchChildRemovalEvents): Ditto. 44532 * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp. 44533 * dom/Element.cpp: 44534 (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 44535 (WebCore::Element::dispatchAttrAdditionEvent): Ditto. 44536 * dom/Node.cpp: 44537 (WebCore::Node::dispatchScopedEvent): Added. 44538 (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent. 44539 * dom/Node.h: 44540 * dom/ScopedEventQueue.cpp: Added. 44541 (WebCore::ScopedEventQueue::initialize): Added. 44542 (WebCore::ScopedEventQueue::enqueueEvent): Added. 44543 (WebCore::ScopedEventQueue::dispatchAllEvents): Added. 44544 (WebCore::ScopedEventQueue::dispatchEvent): Added. 44545 (WebCore::ScopedEventQueue::instance): Added. 44546 (WebCore::ScopedEventQueue::incrementScopingLevel): Added. 44547 (WebCore::ScopedEventQueue::decrementScopingLevel): Added. 44548 * dom/ScopedEventQueue.h: Added. 44549 (WebCore::ScopedEventQueue::~ScopedEventQueue): Added. 44550 (WebCore::ScopedEventQueue::ScopedEventQueue): Added. 44551 (WebCore::EventQueueScope::EventQueueScope): Added. 44552 (WebCore::EventQueueScope::~EventQueueScope): Added. 44553 * editing/EditCommand.cpp: 44554 (WebCore::EditCommand::apply): Instantiates EventQueueScope. 44555 44556 2010-12-09 Sam Weinig <sam (a] webkit.org> 44557 44558 Reviewed by Gavin Barraclough. 44559 44560 Fix scrolling with mouse wheel in WebKit2 views. Once 44561 we coalesce wheel events, we can re-enable this. 44562 44563 * platform/mac/ScrollAnimatorMac.mm: 44564 (WebCore::ScrollAnimatorMac::scroll): 44565 44566 2010-12-09 Abhishek Arya <inferno (a] chromium.org> 44567 44568 Reviewed by James Robinson. 44569 44570 For details element, ensure that if we ended up being inline that we set out replaced 44571 flag so that we are treated like an inline block. 44572 https://bugs.webkit.org/show_bug.cgi?id=50671 44573 44574 Test: fast/html/details-element-render-inline-crash.html 44575 44576 * rendering/RenderDetails.cpp: 44577 (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline. 44578 * rendering/RenderDetails.h: function definition. 44579 44580 2010-12-09 Jasmin Lapalme <jlapalme (a] druide.com> 44581 44582 Reviewed by Alexey Proskuryakov. 44583 44584 Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation. 44585 https://bugs.webkit.org/show_bug.cgi?id=50708 44586 44587 Test: fast/xsl/utf8-chunks.xml 44588 44589 * xml/XSLTProcessorLibxslt.cpp: 44590 (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character. 44591 44592 2010-12-09 Vincent Scheib <scheib (a] chromium.org> 44593 44594 Reviewed by James Robinson. 44595 44596 Clip update rectangle for Texture::updateSubRect to texture size 44597 https://bugs.webkit.org/show_bug.cgi?id=49929 44598 44599 Test: fast/canvas/canvas-largedraws.html 44600 44601 * platform/graphics/gpu/Texture.cpp: 44602 (WebCore::Texture::updateSubRect): 44603 44604 2010-12-09 Kenneth Russell <kbr (a] google.com> 44605 44606 Unreviewed. Another speculative Gtk build fix after r73669. Add 44607 needed derived sources to GNUmakefile.am. 44608 44609 * GNUmakefile.am: 44610 44611 2010-12-09 Kenneth Russell <kbr (a] google.com> 44612 44613 Unreviewed. Speculative Gtk build fix after 44614 https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process 44615 all of the WebGL classes' IDL files. 44616 44617 * CMakeLists.txt: 44618 44619 2010-12-09 Zhenyao Mo <zmo (a] google.com> 44620 44621 Reviewed by Kenneth Russell. 44622 44623 Expose constructor functions for instanceof checks of WebGL objects 44624 https://bugs.webkit.org/show_bug.cgi?id=36512 44625 44626 Test: fast/canvas/webgl/instanceof-test.html 44627 44628 * bindings/generic/RuntimeEnabledFeatures.h: 44629 (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled): 44630 (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled): 44631 (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled): 44632 (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled): 44633 (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled): 44634 (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled): 44635 (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled): 44636 (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled): 44637 * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor. 44638 * html/canvas/WebGLBuffer.idl: Ditto. 44639 * html/canvas/WebGLFramebuffer.idl: Ditto. 44640 * html/canvas/WebGLProgram.idl: Ditto. 44641 * html/canvas/WebGLRenderbuffer.idl: Ditto. 44642 * html/canvas/WebGLShader.idl: Ditto. 44643 * html/canvas/WebGLTexture.idl: Ditto. 44644 * html/canvas/WebGLUniformLocation.idl: Ditto. 44645 * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow. 44646 44647 2010-12-09 Timothy Hatcher <timothy (a] apple.com> 44648 44649 Export Color::white and Color::transparent. 44650 44651 Reviewed by Anders Carlsson. 44652 44653 * WebCore.exp.in: 44654 44655 2010-12-09 Sam Weinig <sam (a] webkit.org> 44656 44657 Fix failing Mac tests. 44658 44659 * platform/mac/ScrollAnimatorMac.mm: 44660 (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default 44661 AppleScrollAnimationEnabled is false. 44662 44663 2010-12-09 James Robinson <jamesr (a] chromium.org> 44664 44665 Reviewed by Kenneth Russell. 44666 44667 [chromium] Compositor needs to manage its VRAM use 44668 https://bugs.webkit.org/show_bug.cgi?id=49629 44669 44670 This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM 44671 used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and 44672 RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas, 44673 Video, and WebGL) and the root layer are still unmanaged. 44674 44675 The TextureManager works by providing tokens to callers that want to use a managed texture. 44676 The token can be used to request a texture, see if the previously requested texture is still 44677 available, and to protect/unprotect textures when they cannot be collected. Whenever a 44678 texture is created the manager attempts to free up the least recently used textures until the 44679 total memory use is below the provided threshhold. If the manager cannot satisfy the memory 44680 limit it will not return any new textures until some old textures are released. 44681 44682 A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a 44683 previously requested texture is still available for use and reserve the LayerTexture's underlying 44684 storage between the updateContentsIfDirty() and the draw() call. 44685 44686 Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single 44687 updateContentsIfDirty(). 44688 44689 Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html 44690 platform/chromium/compositing/lots-of-img-layers.html 44691 44692 * WebCore.gypi: 44693 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 44694 (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): 44695 * platform/graphics/chromium/Canvas2DLayerChromium.h: 44696 * platform/graphics/chromium/ContentLayerChromium.cpp: 44697 (WebCore::ContentLayerChromium::cleanupResources): 44698 (WebCore::ContentLayerChromium::updateContentsIfDirty): 44699 (WebCore::ContentLayerChromium::updateTextureRect): 44700 (WebCore::ContentLayerChromium::draw): 44701 * platform/graphics/chromium/ContentLayerChromium.h: 44702 * platform/graphics/chromium/ImageLayerChromium.cpp: 44703 (WebCore::ImageLayerChromium::updateContentsIfDirty): 44704 * platform/graphics/chromium/ImageLayerChromium.h: 44705 * platform/graphics/chromium/LayerChromium.h: 44706 (WebCore::LayerChromium::updateContentsIfDirty): 44707 (WebCore::LayerChromium::draw): 44708 * platform/graphics/chromium/LayerRendererChromium.cpp: 44709 (WebCore::LayerRendererChromium::LayerRendererChromium): 44710 (WebCore::LayerRendererChromium::useShader): 44711 (WebCore::LayerRendererChromium::prepareToDrawLayers): 44712 (WebCore::LayerRendererChromium::updateRootLayerTextureRect): 44713 (WebCore::LayerRendererChromium::drawLayers): 44714 (WebCore::LayerRendererChromium::getFramebufferPixels): 44715 (WebCore::LayerRendererChromium::createLayerTexture): 44716 (WebCore::LayerRendererChromium::deleteLayerTexture): 44717 (WebCore::LayerRendererChromium::updateLayersRecursive): 44718 (WebCore::LayerRendererChromium::useRenderSurface): 44719 (WebCore::LayerRendererChromium::drawLayer): 44720 (WebCore::LayerRendererChromium::setScissorToRect): 44721 (WebCore::LayerRendererChromium::setDrawViewportRect): 44722 (WebCore::LayerRendererChromium::initializeSharedObjects): 44723 (WebCore::LayerRendererChromium::cleanupSharedObjects): 44724 * platform/graphics/chromium/LayerRendererChromium.h: 44725 (WebCore::LayerRendererChromium::renderSurfaceSharedValues): 44726 (WebCore::LayerRendererChromium::textureManager): 44727 * platform/graphics/chromium/LayerTexture.cpp: Added. 44728 (WebCore::LayerTexture::LayerTexture): 44729 (WebCore::LayerTexture::~LayerTexture): 44730 (WebCore::LayerTexture::isValid): 44731 (WebCore::LayerTexture::reserve): 44732 (WebCore::LayerTexture::unreserve): 44733 (WebCore::LayerTexture::bindTexture): 44734 (WebCore::LayerTexture::framebufferTexture2D): 44735 * platform/graphics/chromium/LayerTexture.h: Added. 44736 (WebCore::LayerTexture::create): 44737 * platform/graphics/chromium/PluginLayerChromium.cpp: 44738 (WebCore::PluginLayerChromium::updateContentsIfDirty): 44739 * platform/graphics/chromium/PluginLayerChromium.h: 44740 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 44741 (WebCore::RenderSurfaceChromium::SharedValues::SharedValues): 44742 (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues): 44743 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): 44744 (WebCore::RenderSurfaceChromium::cleanupResources): 44745 (WebCore::RenderSurfaceChromium::prepareContentsTexture): 44746 (WebCore::RenderSurfaceChromium::draw): 44747 * platform/graphics/chromium/RenderSurfaceChromium.h: 44748 (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram): 44749 (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation): 44750 (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation): 44751 (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation): 44752 (WebCore::RenderSurfaceChromium::SharedValues::initialized): 44753 * platform/graphics/chromium/TextureManager.cpp: Added. 44754 (WebCore::memoryUseBytes): 44755 (WebCore::TextureManager::TextureManager): 44756 (WebCore::TextureManager::getToken): 44757 (WebCore::TextureManager::releaseToken): 44758 (WebCore::TextureManager::hasTexture): 44759 (WebCore::TextureManager::protectTexture): 44760 (WebCore::TextureManager::unprotectTexture): 44761 (WebCore::TextureManager::reduceMemoryToLimit): 44762 (WebCore::TextureManager::addTexture): 44763 (WebCore::TextureManager::removeTexture): 44764 (WebCore::TextureManager::requestTexture): 44765 * platform/graphics/chromium/TextureManager.h: Added. 44766 (WebCore::TextureManager::create): 44767 * platform/graphics/chromium/VideoLayerChromium.cpp: 44768 (WebCore::VideoLayerChromium::updateContentsIfDirty): 44769 * platform/graphics/chromium/VideoLayerChromium.h: 44770 * platform/graphics/chromium/WebGLLayerChromium.cpp: 44771 (WebCore::WebGLLayerChromium::updateContentsIfDirty): 44772 * platform/graphics/chromium/WebGLLayerChromium.h: 44773 44774 2010-12-09 Darin Adler <darin (a] apple.com> 44775 44776 Reviewed by Sam Weinig. 44777 44778 Rework my recent setLocation refactoring to use DOMWindow instead of Frame. 44779 It's difficult to make correct security decisions based on Frame since a 44780 Frame can navigate to a new document. 44781 44782 Fixes some test failures that I somehow missed before the last check-in. 44783 44784 * bindings/js/JSDOMWindowBase.cpp: 44785 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the 44786 shell DOMWindow; not sure this one matters, but it's closer to the old 44787 code before my last patch. Also pass the DOMWindow rather than the 44788 frame to crossDomainAccessErrorMessage. 44789 44790 * bindings/js/JSDOMWindowCustom.cpp: 44791 (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame 44792 to the DOMWindow::setLocation function. 44793 44794 * page/DOMWindow.cpp: 44795 (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame. 44796 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto. 44797 44798 * page/DOMWindow.h: Update new functions to take DOMWindow rather 44799 than Frame. 44800 44801 2010-12-09 Sam Weinig <sam (a] webkit.org> 44802 44803 Try and fix the mac build. 44804 44805 * WebCore.exp.in: 44806 44807 2010-12-09 Dan Bernstein <mitz (a] apple.com> 44808 44809 Reviewed by Dave Hyatt. 44810 44811 Removed an unused variable. 44812 44813 * rendering/InlineFlowBox.cpp: 44814 (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight. 44815 44816 2010-12-09 Darin Adler <darin (a] apple.com> 44817 44818 Reviewed by Geoffrey Garen. 44819 44820 Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding 44821 https://bugs.webkit.org/show_bug.cgi?id=50640 44822 44823 * bindings/js/JSDOMBinding.cpp: 44824 (WebCore::printErrorMessageForFrame): Removed body; just call through to 44825 DOMWindow::printErrorMessage. 44826 44827 * bindings/js/JSDOMWindowBase.cpp: 44828 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; 44829 just call through to DOMWindow::crossDomainAccessErrorMessage. 44830 44831 * bindings/js/JSDOMWindowCustom.cpp: 44832 (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and 44833 firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most 44834 of the body and moved it into DOMWindow::setLocation. 44835 44836 * page/DOMWindow.cpp: 44837 (WebCore::DOMWindow::setLocation): Added. Does all the same work that 44838 JSDOMWindow::setLocation used to do, but in a way that's not specific 44839 to JavaScript. 44840 (WebCore::DOMWindow::printErrorMessage): Added. 44841 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. 44842 44843 * page/DOMWindow.h: Added setLocation, printErrorMessage, and 44844 crossDomainAccessErrorMessage. 44845 44846 2010-12-09 Sam Weinig <sam (a] webkit.org> 44847 44848 Reviewed by Dan Bernstein. 44849 44850 WebKit2 needs smooth scrolling support on the mac 44851 <rdar://problem/8219402> 44852 44853 * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm. 44854 * platform/mac/ScrollAnimatorMac.cpp: Removed. 44855 * platform/mac/ScrollAnimatorMac.h: 44856 * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp. 44857 (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]): 44858 (-[ScrollAnimationHelperDelegate bounds]): 44859 (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): 44860 (-[ScrollAnimationHelperDelegate convertSizeToBase:]): 44861 (-[ScrollAnimationHelperDelegate convertSizeFromBase:]): 44862 (-[ScrollAnimationHelperDelegate superview]): 44863 (-[ScrollAnimationHelperDelegate documentView]): 44864 (-[ScrollAnimationHelperDelegate window]): 44865 (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]): 44866 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 44867 (WebCore::ScrollAnimatorMac::scroll): 44868 (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation): 44869 (WebCore::ScrollAnimatorMac::currentPosition): 44870 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): 44871 Add implementation of ScrollAnimator for the Mac. 44872 44873 2010-12-09 Brady Eidson <beidson (a] apple.com> 44874 44875 Reviewed by Anders Carlsson. 44876 44877 <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777 44878 WebKit2 ContextMenuClient support 44879 44880 Export some symbols and headers needed by WebKit2 Mac: 44881 * WebCore.exp.in: 44882 * WebCore.xcodeproj/project.pbxproj: 44883 44884 2010-12-09 Sheriff Bot <webkit.review.bot (a] gmail.com> 44885 44886 Unreviewed, rolling out r73635. 44887 http://trac.webkit.org/changeset/73635 44888 https://bugs.webkit.org/show_bug.cgi?id=50778 44889 44890 'Side-effects on 3 css tests needs closer review' (Requested 44891 by mwenge on #webkit). 44892 44893 * platform/graphics/qt/ImageQt.cpp: 44894 (loadResourcePixmap): 44895 * platform/qt/RenderThemeQt.cpp: 44896 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 44897 (WebCore::RenderThemeQt::paintSearchField): 44898 (WebCore::RenderThemeQt::adjustSearchFieldStyle): 44899 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): 44900 (WebCore::RenderThemeQt::paintSearchFieldCancelButton): 44901 * platform/qt/RenderThemeQt.h: 44902 44903 2010-12-09 Robert Hogan <robert (a] webkit.org> 44904 44905 Reviewed by Andreas Kling. 44906 44907 [Qt] Search input field doesn't have cancel button 44908 44909 Add a cancel button to the search field and make it customizable 44910 by the client. For now, use the close dialog button associated 44911 with the application's style as the default. 44912 44913 https://bugs.webkit.org/show_bug.cgi?id=42887 44914 44915 * platform/graphics/qt/ImageQt.cpp: 44916 (loadResourcePixmap): 44917 * platform/qt/RenderThemeQt.cpp: 44918 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 44919 (WebCore::RenderThemeQt::paintSearchField): 44920 (WebCore::RenderThemeQt::adjustSearchFieldStyle): 44921 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): 44922 (WebCore::RenderThemeQt::convertToPaintingRect): 44923 (WebCore::RenderThemeQt::paintSearchFieldCancelButton): 44924 * platform/qt/RenderThemeQt.h: 44925 44926 2010-12-09 Yael Aharon <yael.aharon (a] nokia.com> 44927 44928 Reviewed by Antonio Gomes. 44929 44930 Spatial Navigation: Crash when handling iframe of size 0. 44931 https://bugs.webkit.org/show_bug.cgi?id=50730 44932 44933 if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is 44934 that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node, 44935 thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial 44936 navigation algorithm. 44937 44938 Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html 44939 44940 * page/FocusController.cpp: 44941 (WebCore::updateFocusCandidateIfNeeded): 44942 44943 2010-12-09 Sheriff Bot <webkit.review.bot (a] gmail.com> 44944 44945 Unreviewed, rolling out r73616. 44946 http://trac.webkit.org/changeset/73616 44947 https://bugs.webkit.org/show_bug.cgi?id=50772 44948 44949 Breaks chromium win build (Requested by hwennborg on #webkit). 44950 44951 * bindings/v8/IDBBindingUtilities.cpp: 44952 (WebCore::createIDBKeyFromValue): 44953 * bindings/v8/custom/V8IDBKeyCustom.cpp: 44954 (WebCore::toV8): 44955 * storage/IDBFactoryBackendImpl.cpp: 44956 (WebCore::createTables): 44957 (WebCore::IDBFactoryBackendImpl::open): 44958 * storage/IDBKey.cpp: 44959 (WebCore::IDBKey::IDBKey): 44960 (WebCore::IDBKey::fromQuery): 44961 (WebCore::IDBKey::bind): 44962 (WebCore::IDBKey::bindWithNulls): 44963 * storage/IDBKey.h: 44964 (WebCore::IDBKey::create): 44965 (WebCore::IDBKey::number): 44966 44967 2010-12-09 Antonio Gomes <agomes (a] rim.com> 44968 44969 Rubber stamped by by Gustavo Noronha Silva. 44970 44971 Buildfix for GTK+ with building with -no-video. 44972 44973 paintStockIcon static function was implemented under the ENABLE(VIDEO) guard 44974 but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration() 44975 and RenderThemeGtk::paintSearchFieldCancelButton() methods. 44976 44977 * platform/gtk/RenderThemeGtk.cpp: 44978 (WebCore::getMediaElementFromRenderObject): 44979 44980 2010-12-07 Antonio Gomes <agomes (a] rim.com> 44981 44982 Reviewed by Daniel Bates. 44983 44984 Spatial Navigation: code clean up 44985 https://bugs.webkit.org/show_bug.cgi?id=50666 44986 44987 Patch unifies two FocusCandidate constructors, making caller sites 44988 simpler. Now the special handling HTMLAreaElement gets is done within 44989 the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)). 44990 44991 No new tests needed. 44992 44993 * page/FocusController.cpp: 44994 (WebCore::FocusController::findFocusCandidateInContainer): 44995 * page/SpatialNavigation.cpp: 44996 (WebCore::FocusCandidate::FocusCandidate): 44997 44998 2010-12-09 Philippe Normand <pnormand (a] igalia.com> 44999 45000 Reviewed by Eric Carlson. 45001 45002 [GStreamer] disable fullscreen on MacOS Tiger and Leopard 45003 https://bugs.webkit.org/show_bug.cgi?id=50748 45004 45005 Don't support fullscreen video on Tiger and Leopard, just like the 45006 QTKit player. 45007 45008 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 45009 (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen): 45010 45011 2010-12-06 Philippe Normand <pnormand (a] igalia.com> 45012 45013 Reviewed by Martin Robinson. 45014 45015 [GTK] Support the Mozilla-style Fullscreen Javascript API 45016 https://bugs.webkit.org/show_bug.cgi?id=50572 45017 45018 * GNUmakefile.am: enable the Javascript Fullscreen API feature if 45019 it's been requested at configure time. 45020 45021 2010-12-09 Yong Li <yoli (a] rim.com> 45022 45023 Reviewed by Darin Adler. 45024 45025 Check the return value of ImageBuffer::create() 45026 to avoid crash when ImageBuffer::create() fails. 45027 https://bugs.webkit.org/show_bug.cgi?id=50631 45028 45029 No new test because it relies on the platform implementation 45030 of ImageBuffer. It is hard to make ImageBuffer::create() fail 45031 in most ports. 45032 45033 * platform/graphics/GeneratedImage.cpp: 45034 (WebCore::GeneratedImage::drawPattern): 45035 45036 2010-12-09 Maciej Stachowiak <mjs (a] apple.com> 45037 45038 Reviewed by Dan Bernstein. 45039 45040 Implement "Use Selection for Find" in WebKit2 45041 https://bugs.webkit.org/show_bug.cgi?id=50737 45042 <rdar://problem/8564881> 45043 45044 Implement a TakeFindStringFromSelection editor command. This is 45045 used solely to implement the "Use Selection for Find" menu command 45046 on Mac, and is not made available to script. On WebKit2, it is 45047 very convenient to reuse the editing machinery since this command 45048 is very similar to Copy. 45049 45050 * editing/Editor.h: 45051 * editing/EditorCommand.cpp: 45052 (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function. 45053 (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage 45054 (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command. 45055 * editing/mac/EditorMac.mm: 45056 (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy 45057 since it would make no sense to enable "Use Selection for Find" when viewing a standalone image 45058 document. 45059 (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text 45060 to the special Find pasteboard. 45061 45062 2010-12-09 Abhishek Arya <inferno (a] chromium.org> 45063 45064 Reviewed by Dimitri Glazkov. 45065 45066 As part of r73559, I added the referenceNode check to validate whether the root 45067 node of the iterator matches the node which is getting moved to other document. 45068 referenceNode is initialized to root, however can get moved using previousNode 45069 and nextNode methods, so it is required to use root directly. 45070 https://bugs.webkit.org/show_bug.cgi?id=50764 45071 45072 Test: fast/dom/node-iterator-reference-node-moved-crash.html 45073 45074 * dom/Document.cpp: 45075 (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root. 45076 45077 2010-12-08 Dimitri Glazkov <dglazkov (a] chromium.org> 45078 45079 Reviewed by Darin Adler. 45080 45081 Provide a generic way to store shadowParent on a Node. 45082 https://bugs.webkit.org/show_bug.cgi?id=50184 45083 45084 This patch makes TreeShared::m_parent act as either parentNode() or 45085 shadowHost() for Node. The distinction is controlled by IsShadowRootFlag. 45086 45087 Refactoring, so no new tests. See performance result testing in bug. 45088 45089 * dom/Element.cpp: 45090 (WebCore::Element::recalcStyle): Changed to use parentOrHostNode(). 45091 * dom/Node.cpp: 45092 (WebCore::Node::shadowHost): Added. 45093 (WebCore::Node::setShadowHost): Added. 45094 (WebCore::Node::isContentEditable): Changed to use parentOrHostNode(). 45095 (WebCore::Node::isContentRichlyEditable): Ditto. 45096 (WebCore::Node::nextRenderer): Ditto. 45097 (WebCore::Node::virtualComputedStyle): Ditto. 45098 (WebCore::Node::canStartSelection): Ditto. 45099 (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree(). 45100 (WebCore::Node::getEventAncestors): Ditto. 45101 (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 45102 * dom/Node.h: Added an extra flag and adjusted bit counts. 45103 (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag. 45104 (WebCore::Node::parentNode): Made to recognize flag. 45105 (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const. 45106 (WebCore::Node::parentNodeGuaranteedHostFree): Added. 45107 (WebCore::Node::shadowParentNode): Made non-virtual and const. 45108 * editing/TextIterator.cpp: 45109 (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode(); 45110 (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto. 45111 (WebCore::previousInPostOrderCrossingShadowBoundaries): Ditto. 45112 (WebCore::setUpFullyClippedStack): Ditto. 45113 (WebCore::TextIterator::advance): Ditto. 45114 (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. 45115 * page/DOMSelection.cpp: 45116 (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree(). 45117 (WebCore::DOMSelection::focusNode): Ditto. 45118 (WebCore::DOMSelection::baseNode): Ditto. 45119 (WebCore::DOMSelection::extentNode): Ditto. 45120 (WebCore::DOMSelection::getRangeAt): Ditto. 45121 * rendering/MediaControlElements.cpp: 45122 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 45123 Changed to setShadowHost(). 45124 (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost(). 45125 (WebCore::MediaControlShadowRootElement::detach): Added an override to 45126 explicitly set shadowHost to 0. Otherwise, the element will leak. 45127 * rendering/MediaControlElements.h: Added detach def, removed members that are 45128 no longer needed. 45129 * rendering/RenderSVGShadowTreeRootContainer.cpp: 45130 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): 45131 Added explicit clearing of shadowHost to avoid leaking and crashes, 45132 because SVG shadow DOM can be dynamically attached/detached, producing 45133 stale nodes in over/out event handling. 45134 * rendering/RenderSlider.cpp: 45135 (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost(). 45136 * rendering/RenderTextControlSingleLine.cpp: 45137 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): 45138 Added explicit clearing of shadowHost and explicit destruction to 45139 avoid out-of-order removal of children. 45140 * rendering/RenderTreeAsText.cpp: 45141 (WebCore::nodePosition): Simplified code. 45142 * rendering/SVGShadowTreeElements.cpp: 45143 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added 45144 setting of shadowHost. 45145 (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost(). 45146 (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added. 45147 * rendering/SVGShadowTreeElements.h: Added def, removed members that are 45148 no longer needed. 45149 * rendering/ShadowElement.cpp: 45150 (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost(). 45151 * rendering/ShadowElement.h: Removed members that are no longer needed. 45152 (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost. 45153 (WebCore::ShadowElement::detach): Added. 45154 * rendering/TextControlInnerElements.cpp: 45155 (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting 45156 of shadowHost. 45157 (WebCore::TextControlInnerElement::attachInnerElement): Changed to use 45158 isShadowNode(). 45159 (WebCore::TextControlInnerElement::detach): Added. 45160 * rendering/TextControlInnerElements.h: Removed members that are no 45161 longer needed. 45162 * svg/SVGElement.cpp: 45163 (WebCore::SVGElement::ownerSVGElement): Simplified code. 45164 (WebCore::SVGElement::viewportElement): Ditto. 45165 * svg/SVGLocatable.cpp: 45166 (WebCore::SVGLocatable::computeCTM): Ditto. 45167 * svg/SVGStyledElement.cpp: 45168 (WebCore::SVGStyledElement::title): Ditto. 45169 * svg/SVGUseElement.cpp: 45170 (WebCore::ShadowTreeUpdateBlocker::while): Ditto. 45171 45172 2010-12-09 Brady Eidson <beidson (a] apple.com> 45173 45174 Reviewed by Maciej Stachowiak. 45175 45176 <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191 45177 WebKit2 Authentication Support 45178 45179 * WebCore.exp.in: 45180 45181 2010-12-09 Peter Beverloo <peter (a] lvp-media.com> 45182 45183 Reviewed by Maciej Stachowiak. 45184 45185 Default CSS definitions for the figure and figcaption elements. 45186 45187 Tests: fast/html/figcaption-element.html 45188 fast/html/figure-element.html 45189 45190 * css/html.css: 45191 (figure): The default figure-style equals a blockquote 45192 (figcaption): A non-sectioning block-level element 45193 45194 2010-12-09 Yury Semikhatsky <yurys (a] chromium.org> 45195 45196 Reviewed by Pavel Feldman. 45197 45198 Web Inspector: Console records for failed XHRs should contain call stack and request method 45199 https://bugs.webkit.org/show_bug.cgi?id=50390 45200 45201 When inspector front-end is open we capture call stack at the place where request is sent and 45202 pass the stack along with other request data. There is a new type of console messages which 45203 is NetworkErrorMessageType, all messages of that type will have requestId field initialized 45204 with the corresponding network request identifier so that later on when we need to display 45205 that message in the front-end we could pull request data from the Network panel using 45206 this identifier. If there are no data for given requestId message formatting falls back to 45207 the old implementation which lacks such things as call stack, request method and exact 45208 source location. 45209 45210 * inspector/ConsoleMessage.cpp: 45211 (WebCore::ConsoleMessage::ConsoleMessage): 45212 (WebCore::ConsoleMessage::addToFrontend): 45213 (WebCore::ConsoleMessage::isEqual): 45214 * inspector/ConsoleMessage.h: 45215 * inspector/Inspector.idl: 45216 * inspector/InspectorController.cpp: 45217 (WebCore::InspectorController::didReceiveResponse): 45218 (WebCore::InspectorController::didFailLoading): 45219 * inspector/InspectorResourceAgent.cpp: 45220 (WebCore::InspectorResourceAgent::identifierForInitialRequest): 45221 * inspector/front-end/ConsoleView.js: 45222 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): 45223 (WebInspector.ConsoleMessage): 45224 (WebInspector.ConsoleMessage.prototype._formatMessage): 45225 (WebInspector.ConsoleMessage.prototype.toMessageElement): 45226 (WebInspector.ConsoleMessage.prototype.toString): 45227 (WebInspector.ConsoleMessage.prototype.isEqual): 45228 * inspector/front-end/ResourceManager.js: 45229 (WebInspector.ResourceManager.prototype.identifierForInitialRequest): 45230 * inspector/front-end/inspector.js: 45231 (WebInspector.addConsoleMessage): 45232 * page/Console.h: 45233 45234 2010-12-09 Dai Mikurube <dmikurube (a] google.com> 45235 45236 Reviewed by Kent Tamura. 45237 45238 Implement "required" attribute for select tags 45239 https://bugs.webkit.org/show_bug.cgi?id=50380 45240 45241 Test: fast/forms/select-live-pseudo-selectors.html 45242 platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html 45243 45244 * dom/SelectElement.cpp: 45245 (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck(). 45246 (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity(). 45247 * html/HTMLSelectElement.cpp: 45248 (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. 45249 (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). 45250 (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). 45251 (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. 45252 (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. 45253 (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). 45254 (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). 45255 (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). 45256 (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). 45257 (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). 45258 (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). 45259 (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. 45260 (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). 45261 (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. 45262 (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. 45263 (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck(). 45264 * html/HTMLSelectElement.h: 45265 (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. 45266 * html/HTMLSelectElement.idl: Added a required attribute to select elements.. 45267 * html/ValidityState.cpp: 45268 (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). 45269 * wml/WMLSelectElement.h: 45270 (WebCore::WMLSelectElement::updateValidity): Added. It does nothing. 45271 45272 2010-12-07 Jeremy Orlow <jorlow (a] chromium.org> 45273 45274 Reviewed by Steve Block. 45275 45276 IndexedDB returns the wrong exceptions 45277 https://bugs.webkit.org/show_bug.cgi?id=50632 45278 45279 IndexedDB exceptions need to have an offset so they can 45280 be distinguished from DOM exceptions. We also need to 45281 add strings for the various exceptions. Lastly, make 45282 IDBDatabaseException use the common exception base class. 45283 45284 * bindings/js/JSDOMBinding.cpp: 45285 (WebCore::setDOMException): 45286 * bindings/v8/V8Proxy.cpp: 45287 (WebCore::V8Proxy::setDOMException): 45288 * dom/ExceptionCode.cpp: 45289 (WebCore::getExceptionCodeDescription): 45290 * dom/ExceptionCode.h: 45291 * storage/IDBDatabaseError.h: 45292 (WebCore::IDBDatabaseError::code): 45293 * storage/IDBDatabaseException.h: 45294 (WebCore::IDBDatabaseException::create): 45295 (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode): 45296 (WebCore::IDBDatabaseException::IDBDatabaseException): 45297 * storage/IDBDatabaseException.idl: 45298 45299 2010-12-09 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 45300 45301 Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the 45302 GDK window size. 45303 45304 * plugins/gtk/gtk2xtbin.c: 45305 (gtk_xtbin_realize): 45306 45307 2010-12-09 Siddharth Mathur <siddharth.mathur (a] nokia.com> 45308 45309 Reviewed by Laszlo Gombos. 45310 45311 Use BUILDING_WEBKIT like other ports 45312 https://bugs.webkit.org/show_bug.cgi?id=50713 45313 45314 * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT 45315 45316 2010-12-08 Erik Arvidsson <arv (a] chromium.org> 45317 45318 Reviewed by Darin Adler. 45319 45320 Replace getAttribute().isNull() with fastHasAttribute() 45321 https://bugs.webkit.org/show_bug.cgi?id=50719 45322 45323 Covered by existing tests. 45324 45325 * dom/SelectElement.cpp: 45326 (WebCore::SelectElement::reset): 45327 * html/HTMLAppletElement.cpp: 45328 (WebCore::HTMLAppletElement::rendererIsNeeded): 45329 * html/HTMLCollection.cpp: 45330 (WebCore::HTMLCollection::itemAfter): 45331 * html/HTMLFormControlElement.cpp: 45332 (WebCore::HTMLFormControlElement::formNoValidate): 45333 * html/HTMLFormElement.cpp: 45334 (WebCore::HTMLFormElement::noValidate): 45335 * html/HTMLInputElement.cpp: 45336 (WebCore::HTMLInputElement::defaultChecked): 45337 (WebCore::HTMLInputElement::multiple): 45338 (WebCore::HTMLInputElement::webkitdirectory): 45339 * html/HTMLOptionElement.cpp: 45340 (WebCore::HTMLOptionElement::defaultSelected): 45341 * html/HTMLScriptElement.cpp: 45342 (WebCore::HTMLScriptElement::asyncAttributeValue): 45343 (WebCore::HTMLScriptElement::deferAttributeValue): 45344 * rendering/RenderFileUploadControl.cpp: 45345 (WebCore::RenderFileUploadControl::allowsMultipleFiles): 45346 (WebCore::RenderFileUploadControl::allowsDirectoryUpload): 45347 45348 2010-12-08 Nicolas Dufresne <nicolas.dufresne (a] collabora.co.uk> 45349 45350 Reviewed by Martin Robinson. 45351 45352 Full page size flash plugins do not show in all situations 45353 https://bugs.webkit.org/show_bug.cgi?id=47742 45354 45355 This patch moves the plugin widget size allocation after the 45356 NPP_SetWindow is called with the effect that the resize of Flash 45357 content no longer result in grey flash. This seems logical since the 45358 widget tree cannot be fully constructed before the plugin receives 45359 the new container window. 45360 45361 Test: manual-tests/plugins/gtk-windowed-grey-glitch.html 45362 45363 * plugins/gtk/PluginViewGtk.cpp: 45364 (WebCore::PluginView::setNPWindowIfNeeded): 45365 45366 2010-12-08 David Hyatt <hyatt (a] apple.com> 45367 45368 Reviewed by Simon Fraser. 45369 45370 Fix regression from xji's wheel scroll patch. The vertical case is looking at the horizontal 45371 maximum position and not the vertical position. 45372 45373 * platform/ScrollView.cpp: 45374 (WebCore::ScrollView::wheelEvent): 45375 45376 2010-12-08 Sam Weinig <sam (a] webkit.org> 45377 45378 Reviewed by Darin Adler. 45379 45380 Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement 45381 https://bugs.webkit.org/show_bug.cgi?id=50726 45382 45383 * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h. 45384 45385 2010-12-08 Matthew Delaney <mdelaney (a] apple.com> 45386 45387 Reviewed by Simon Fraser. 45388 45389 Add getter and setters for acceleratesRendering flag on layers 45390 https://bugs.webkit.org/show_bug.cgi?id=50717 45391 45392 * platform/graphics/GraphicsLayer.cpp: 45393 * platform/graphics/ca/GraphicsLayerCA.cpp: 45394 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 45395 Plumbed through acceleratedRendering flag. 45396 45397 2010-12-07 Zhenyao Mo <zmo (a] google.com> 45398 45399 Reviewed by Kenneth Russell. 45400 45401 WebGLUniformLocation objects must be invalidated during linkProgram 45402 https://bugs.webkit.org/show_bug.cgi?id=37118 45403 45404 * html/canvas/WebGLProgram.cpp: 45405 (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0. 45406 (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead. 45407 * html/canvas/WebGLProgram.h: 45408 (WebCore::WebGLProgram::getLinkCount): Get link count. 45409 (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1. 45410 * html/canvas/WebGLRenderingContext.cpp: 45411 (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated. 45412 (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram. 45413 * html/canvas/WebGLUniformLocation.cpp: 45414 (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation. 45415 (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's. 45416 (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's. 45417 * html/canvas/WebGLUniformLocation.h: 45418 45419 2010-12-08 Adele Peterson <adele (a] apple.com> 45420 45421 Reviewed by Darin Adler. 45422 45423 Fix for https://bugs.webkit.org/show_bug.cgi?id=50725 45424 <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high 45425 45426 Test: fast/forms/placeholder-position.html 45427 45428 Since we center the inner text element for single line text controls, 45429 we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class. 45430 45431 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder): 45432 * rendering/RenderTextControl.h: 45433 * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop): 45434 * rendering/RenderTextControlMultiLine.h: 45435 * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop): 45436 * rendering/RenderTextControlSingleLine.h: 45437 45438 2010-12-08 Chris Rogers <crogers (a] google.com> 45439 45440 Reviewed by Kenneth Russell. 45441 45442 Add web audio files to mac port Xcode projects 45443 https://bugs.webkit.org/show_bug.cgi?id=50721 45444 45445 No new tests since audio API is not yet implemented. 45446 45447 * WebCore.xcodeproj/project.pbxproj: 45448 * bindings/js/JSDOMWindowCustom.cpp: 45449 (WebCore::JSDOMWindow::webkitAudioContext): 45450 45451 2010-12-08 Kent Tamura <tkent (a] chromium.org> 45452 45453 Reviewed by Alexey Proskuryakov. 45454 45455 Yensign hack should work with Shift_JIS and ISO-2022-JP encodings. 45456 https://bugs.webkit.org/show_bug.cgi?id=49714 45457 45458 IE chooses a font which shows a yensign for 0x5c code point for a page 45459 encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000, 45460 x-sjis, and Windows-31J. 45461 We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and 45462 Shift_JIS_X0213-2000. This change adds other encodings above. 45463 45464 Also, we move the HashSet initialization for isJapanese() and 45465 backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of 45466 ease of making them multi-thread safe. 45467 45468 * platform/text/TextEncoding.cpp: 45469 (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding(). 45470 (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn(). 45471 * platform/text/TextEncodingRegistry.cpp: 45472 (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName(). 45473 (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn(). 45474 (WebCore::isJapaneseEncoding): 45475 (WebCore::shouldShowBackslashAsCurrencySymbolIn): 45476 (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets(). 45477 * platform/text/TextEncodingRegistry.h: 45478 45479 2010-12-08 Andy Estes <aestes (a] apple.com> 45480 45481 Reviewed by Darin Adler. 45482 45483 Reflected unsigned attributes should be in the range [0, 2^31). 45484 https://bugs.webkit.org/show_bug.cgi?id=50472 45485 45486 HTML5 says that unsigned reflected attributes should be in the range 45487 [0, 2^31). When a value isn't in this range, a default value (or 0) 45488 should be returned instead. Update the JS bindings code generator to 45489 ensure 0 is returned when a content attribute value falls outside of 45490 this range. 45491 45492 Tests: bindings/scripts/test/TestObj.idl 45493 fast/html/marquee-element.html 45494 45495 * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the 45496 content attribute as a 32-bit signed int when converting a native value 45497 to an unsigned JS value. 45498 * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute 45499 to test code generation. 45500 * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results. 45501 * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto. 45502 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. 45503 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. 45504 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. 45505 * bindings/scripts/test/JS/JSTestObj.h: Ditto. 45506 * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. 45507 * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. 45508 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. 45509 45510 2010-12-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 45511 45512 Reviewed by Martin Robinson. 45513 45514 [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk 45515 https://bugs.webkit.org/show_bug.cgi?id=50623 45516 45517 We don't need to cache the icons since the will be cached by GTK+, 45518 and they will be rendered using the state and text direction. 45519 45520 * platform/gtk/RenderThemeGtk.cpp: 45521 (WebCore::paintStockIcon): 45522 (WebCore::getMediaButtonIconSize): 45523 (WebCore::RenderThemeGtk::initMediaColors): 45524 (WebCore::RenderThemeGtk::initMediaButtons): 45525 (WebCore::RenderThemeGtk::RenderThemeGtk): 45526 (WebCore::RenderThemeGtk::~RenderThemeGtk): 45527 (WebCore::RenderThemeGtk::gtkIconState): 45528 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): 45529 (WebCore::centerRectVerticallyInParentInputElement): 45530 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 45531 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): 45532 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 45533 (WebCore::RenderThemeGtk::platformColorsDidChange): 45534 (WebCore::RenderThemeGtk::paintMediaButton): 45535 (WebCore::RenderThemeGtk::paintMediaFullscreenButton): 45536 (WebCore::RenderThemeGtk::paintMediaMuteButton): 45537 (WebCore::RenderThemeGtk::paintMediaPlayButton): 45538 (WebCore::RenderThemeGtk::paintMediaSeekBackButton): 45539 (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): 45540 * platform/gtk/RenderThemeGtk.h: 45541 45542 2010-12-08 Abhishek Arya <inferno (a] chromium.org> 45543 45544 Reviewed by Dimitri Glazkov. 45545 45546 Detach node iterator and move to new document when node gets moved. 45547 https://bugs.webkit.org/show_bug.cgi?id=50697 45548 45549 Test: fast/dom/node-iterator-document-moved-crash.html 45550 45551 * dom/Document.cpp: Method that takes a node and new document as argument. 45552 It detaches the node iterators belonging to the current document and attaches 45553 them to the new document. 45554 (WebCore::Document::moveNodeIteratorsToNewDocument): 45555 * dom/Document.h: Function definition. 45556 * dom/Node.cpp: When node is moved to another document, call the function to move 45557 the iterators appropriately. 45558 (WebCore::Node::setDocument): 45559 45560 2010-12-08 James Robinson <jamesr (a] chromium.org> 45561 45562 Reviewed by Kenneth Russell. 45563 45564 [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate 45565 https://bugs.webkit.org/show_bug.cgi?id=50702 45566 45567 Compute the center of a large layer using floats instead of ints to avoid roundoff errors. 45568 45569 Test: compositing/text-on-large-layer.html 45570 45571 * platform/graphics/chromium/ContentLayerChromium.cpp: 45572 (WebCore::ContentLayerChromium::draw): 45573 45574 2010-12-08 Ryosuke Niwa <rniwa (a] webkit.org> 45575 45576 Reviewed by Dan Bernstein. 45577 45578 REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails 45579 https://bugs.webkit.org/show_bug.cgi?id=33503 45580 45581 The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction. 45582 When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text, 45583 and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA, 45584 then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2. 45585 45586 Case 1. CBA appears in a RTL block: 45587 In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2). 45588 Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected. 45589 Case 2. CBA appears in a LTR block: 45590 Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds 45591 to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA. 45592 Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0), 45593 and clicking on the visual right should put it at Position("CBA", 2). 45594 45595 The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block. 45596 Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition. 45597 45598 Tests: editing/selection/caret-ltr-2-left.html 45599 editing/selection/caret-ltr-2.html 45600 editing/selection/caret-ltr-right.html 45601 editing/selection/caret-ltr.html 45602 editing/selection/caret-rtl-2-left.html 45603 editing/selection/caret-rtl-right.html 45604 45605 * rendering/InlineTextBox.cpp: 45606 (WebCore::InlineTextBox::offsetForPosition): 45607 45608 2010-12-08 Anders Carlsson <andersca (a] apple.com> 45609 45610 Reviewed by Darin Adler. 45611 45612 Fix some clang++ warnings (one of which was an actual bug) 45613 https://bugs.webkit.org/show_bug.cgi?id=50700 45614 45615 * page/mac/DragControllerMac.mm: 45616 (WebCore::DragController::dragOperation): 45617 Add parentheses to silent a clang warning. 45618 45619 * page/mac/EventHandlerMac.mm: 45620 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 45621 Fix || vs && precedence bug uncovered by clang. 45622 45623 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 45624 (WebCore::GraphicsContext3D::reshape): 45625 Use an early return to avoid a warning. 45626 45627 2010-12-08 Chris Marrin <cmarrin (a] apple.com> 45628 45629 Reviewed by Simon Fraser. 45630 45631 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 45632 https://bugs.webkit.org/show_bug.cgi?id=49388 45633 45634 Added copy constructors and casting operators to go between 45635 TransformationMatrix and CATransform3D. Also added a copy 45636 constructor to go from CGAffineTransform to TransformationMatrix. 45637 Used these new methods to clean up platform CA code. This will 45638 make it easier to port to Windows. 45639 45640 I also fixed a couple of build issues found when trying out a 45641 Windows build. 45642 45643 This is a resubmission of changesets r73477 and r73483 with a 45644 fix for the SL build. The failure was because TransformationMatrix 45645 included QuartzCore/CATransform3D.h which brought in some system 45646 libraries, including Quickdraw, which has a definition for 45647 'Cursor' which clashed with WebCore's 'Cursor' class. So I had 45648 to qualify its use in WebChromeClient.cpp in WebKit2. 45649 45650 * WebCore.xcodeproj/project.pbxproj: 45651 * platform/graphics/ca/GraphicsLayerCA.cpp: 45652 (WebCore::GraphicsLayerCA::updateContentsTransform): 45653 (WebCore::GraphicsLayerCA::ensureCloneLayers): 45654 (WebCore::GraphicsLayerCA::fetchCloneLayers): 45655 * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp. 45656 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 45657 (PlatformCAAnimation::setFromValue): 45658 (PlatformCAAnimation::setToValue): 45659 (PlatformCAAnimation::setValues): 45660 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 45661 (PlatformCALayer::transform): 45662 (PlatformCALayer::setTransform): 45663 (PlatformCALayer::sublayerTransform): 45664 (PlatformCALayer::setSublayerTransform): 45665 (PlatformCALayer::contentsTransform): 45666 (PlatformCALayer::setContentsTransform): 45667 * platform/graphics/cg/TransformationMatrixCG.cpp: 45668 (WebCore::TransformationMatrix::TransformationMatrix): 45669 * platform/graphics/transforms/TransformationMatrix.h: 45670 45671 2010-12-07 Brian Weinstein <bweinstein (a] apple.com> 45672 45673 Reviewed by John Sullivan. 45674 45675 Layering Violation in ContextMenu - member variable of type HitTestResult 45676 https://bugs.webkit.org/show_bug.cgi?id=50586 45677 45678 ContextMenu had a layering violation by having a member variable of type HitTestResult, because 45679 classes in WebCore/platform can't know about classes in WebCore. 45680 45681 This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController. 45682 All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this 45683 allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it 45684 in ContextMenuController, and the rest of the code is in the platform-specific files. 45685 45686 No change in behavior, no new tests. 45687 45688 * Android.mk: Removed ContextMenu.cpp. 45689 * CMakeLists.txt: Ditto. 45690 * GNUmakefile.am: Ditto. 45691 * WebCore.gypi: Ditto. 45692 * WebCore.pro: Ditto. 45693 * WebCore.vcproj/WebCore.vcproj: Ditto. 45694 * WebCore.xcodeproj/project.pbxproj: Ditto. 45695 45696 * page/ContextMenuController.cpp: 45697 (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult. 45698 (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead 45699 of the ContextMenu. 45700 (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member 45701 variable. 45702 (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController. 45703 (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult. 45704 (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu. 45705 This allowed us to move checkOrEnableIfNeeded from ContextMenu. 45706 45707 These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController. 45708 All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care 45709 of validating the menu. 45710 (WebCore::separatorItem): Moved from ContextMenu. 45711 (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto. 45712 (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto. 45713 (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto. 45714 (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto. 45715 (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto. 45716 (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto. 45717 (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto. 45718 (WebCore::selectionContainsPossibleWord): Ditto. 45719 (WebCore::ContextMenuController::populate): Ditto. 45720 (WebCore::ContextMenuController::addInspectElementItem): Ditto. 45721 (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto. 45722 45723 * page/ContextMenuController.h: 45724 (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu. 45725 45726 * platform/ContextMenu.cpp: Removed. 45727 * platform/ContextMenu.h: 45728 * platform/efl/ContextMenuEfl.cpp: 45729 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45730 (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. 45731 * platform/gtk/ContextMenuGtk.cpp: 45732 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45733 (WebCore::ContextMenu::appendItem): Ditto. 45734 * platform/haiku/ContextMenuHaiku.cpp: 45735 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45736 (WebCore::ContextMenu::appendItem): Ditto. 45737 (WebCore::ContextMenu::insertItem): Ditto. 45738 * platform/mac/ContextMenuMac.mm: 45739 (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of 45740 the context menu. 45741 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45742 (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded. 45743 (WebCore::ContextMenu::insertItem): Ditto. 45744 * platform/win/ContextMenuWin.cpp: 45745 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45746 (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded. 45747 * platform/wx/ContextMenuWx.cpp: 45748 (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor. 45749 (ContextMenu::appendItem): Ditto. 45750 45751 2010-12-08 Martin Robinson <mrobinson (a] igalia.com> 45752 45753 Reviewed by John Sullivan. 45754 45755 [GTK] Layering violation in ContextMenuGtk.cpp 45756 https://bugs.webkit.org/show_bug.cgi?id=50676 45757 45758 ContextMenuGtk accesses the page's ContextMenuController, which is a layering 45759 violation. This was fixed for Mac with change r73469. We make a similar fix here 45760 by moving the "activated" signal connection to the WebKit layer. 45761 45762 * platform/gtk/ContextMenuGtk.cpp: 45763 (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This 45764 is a layering violation. 45765 45766 2010-12-08 Jessie Berlin <jberlin (a] apple.com> 45767 45768 Reviewed by Adam Roben. 45769 45770 WebKit2: Implement WebChromeClient::exceededDatabaseQuota 45771 https://bugs.webkit.org/show_bug.cgi?id=50656 45772 45773 * WebCore.exp.in: 45774 Export the symbol for SecurityOrigin::databaseIdentifier. 45775 45776 2010-12-08 Csaba Osztrogonc <ossy (a] webkit.org> 45777 45778 Unreviewed, rolling out r73521. 45779 http://trac.webkit.org/changeset/73521 45780 https://bugs.webkit.org/show_bug.cgi?id=50640 45781 45782 It broke 90 layout tests 45783 45784 * bindings/js/JSDOMBinding.cpp: 45785 (WebCore::printErrorMessageForFrame): 45786 * bindings/js/JSDOMWindowBase.cpp: 45787 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): 45788 * bindings/js/JSDOMWindowCustom.cpp: 45789 (WebCore::JSDOMWindow::setLocation): 45790 * page/DOMWindow.cpp: 45791 * page/DOMWindow.h: 45792 45793 2010-12-08 David Hyatt <hyatt (a] apple.com> 45794 45795 Reviewed by Anders Carlsson. 45796 45797 https://bugs.webkit.org/show_bug.cgi?id=50576 45798 45799 REGRESSION in position of autocomplete popup on RTL page. 45800 45801 RTL static position computation did not subtract out the width of the enclosing box if the 45802 immediate parent was a RenderInline. This bug was exposed by properly changing the RenderView 45803 to be RTL when the document was RTL. 45804 45805 Added three new tests in fast/block/positioning. 45806 45807 * rendering/RenderBox.cpp: 45808 (WebCore::RenderBox::computePositionedLogicalWidth): 45809 45810 2010-12-08 Xiaomei Ji <xji (a] chromium.org> 45811 45812 Reviewed by David Hyatt. 45813 45814 Fix backward mouse wheeling not working when scroll position is below 0. 45815 https://bugs.webkit.org/show_bug.cgi?id=50370 45816 45817 Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html 45818 fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html 45819 45820 * platform/ScrollView.cpp: 45821 (WebCore::ScrollView::wheelEvent): 45822 45823 2010-12-08 Simon Fraser <simon.fraser (a] apple.com> 45824 45825 Reviewed by Dan Bernstein. 45826 45827 Fix pauseAnimation API to work with shorthand properties 45828 https://bugs.webkit.org/show_bug.cgi?id=50639 45829 45830 The pause API is always called with a long-hand property, but that 45831 property may be animating via a shorthand. Detect this, and pause 45832 such shorthand animations. 45833 45834 * page/animation/AnimationBase.cpp: 45835 (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector 45836 of wrappers used by a shorthand wrapper. 45837 45838 (WebCore::gatherEnclosingShorthandProperties): Utility function that walks 45839 through the shorthand wrappers, keeping track of which can affect the given 45840 property. 45841 (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set 45842 of shorthand properties that can affect the given property. 45843 45844 * page/animation/AnimationBase.h: New method. 45845 * page/animation/CompositeAnimation.cpp: 45846 (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the 45847 property itself, check whether it's being animated via shorthands. 45848 45849 2010-12-08 David Hyatt <hyatt (a] apple.com> 45850 45851 Reviewed by Beth Dakin. 45852 45853 <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885 45854 45855 Make sure the transform applied to the RenderView for page scaling is incorporated into the 45856 docTop/Bottom/Left/Right accessors. 45857 45858 * rendering/RenderView.cpp: 45859 (WebCore::RenderView::docTop): 45860 (WebCore::RenderView::docBottom): 45861 (WebCore::RenderView::docLeft): 45862 (WebCore::RenderView::docRight): 45863 45864 2010-12-08 Ilya Tikhonovsky <loislo (a] chromium.org> 45865 45866 Reviewed by Yury Semikhatsky. 45867 45868 Web Inspector: Protocol cleanup task. Remove WebInspector wrappers 45869 for TimelineAgent functions. 45870 45871 https://bugs.webkit.org/show_bug.cgi?id=50690 45872 45873 * inspector/Inspector.idl: 45874 * inspector/front-end/TimelineAgent.js: 45875 * inspector/front-end/TimelinePanel.js: 45876 (WebInspector.TimelinePanel): 45877 (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted): 45878 (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped): 45879 45880 2010-12-08 Philippe Normand <pnormand (a] igalia.com> 45881 45882 Reviewed by Gustavo Noronha Silva. 45883 45884 [GTK] media/fullscreen* failing on 64-bits Debug 45885 https://bugs.webkit.org/show_bug.cgi?id=50394 45886 45887 Avoid emiting durationchanged in the case where the previous 45888 duration was 0 because that case is already handled by the 45889 HTMLMediaElement. 45890 45891 Test: media/media-fullscreen*.html 45892 45893 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 45894 (WebCore::MediaPlayerPrivateGStreamer::durationChanged): 45895 45896 2010-12-07 Darin Adler <darin (a] apple.com> 45897 45898 Reviewed by Geoffrey Garen. 45899 45900 Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding 45901 https://bugs.webkit.org/show_bug.cgi?id=50640 45902 45903 * bindings/js/JSDOMBinding.cpp: 45904 (WebCore::printErrorMessageForFrame): Removed body; just call through to 45905 DOMWindow::printErrorMessage. 45906 45907 * bindings/js/JSDOMWindowBase.cpp: 45908 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body; 45909 just call through to DOMWindow::crossDomainAccessErrorMessage. 45910 45911 * bindings/js/JSDOMWindowCustom.cpp: 45912 (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and 45913 firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most 45914 of the body and moved it into DOMWindow::setLocation. 45915 45916 * page/DOMWindow.cpp: 45917 (WebCore::DOMWindow::setLocation): Added. Does all the same work that 45918 JSDOMWindow::setLocation used to do, but in a way that's not specific 45919 to JavaScript. 45920 (WebCore::DOMWindow::printErrorMessage): Added. 45921 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added. 45922 45923 * page/DOMWindow.h: Added setLocation, printErrorMessage, and 45924 crossDomainAccessErrorMessage. 45925 45926 2010-12-08 Alejandro G. Castro <alex (a] igalia.com> 45927 45928 Unreviewed, rolling out r73494. 45929 http://trac.webkit.org/changeset/73494 45930 https://bugs.webkit.org/show_bug.cgi?id=50380 45931 45932 The tests added are crashing in the debug bots (macn and gtk) 45933 45934 * html/HTMLSelectElement.cpp: 45935 (WebCore::HTMLSelectElement::deselectItems): 45936 (WebCore::HTMLSelectElement::setSelectedIndex): 45937 (WebCore::HTMLSelectElement::setSelectedIndexByUser): 45938 (WebCore::HTMLSelectElement::listBoxSelectItem): 45939 (WebCore::HTMLSelectElement::add): 45940 (WebCore::HTMLSelectElement::remove): 45941 (WebCore::HTMLSelectElement::restoreFormControlState): 45942 (WebCore::HTMLSelectElement::parseMappedAttribute): 45943 (WebCore::HTMLSelectElement::selectAll): 45944 (WebCore::HTMLSelectElement::reset): 45945 (WebCore::HTMLSelectElement::updateListBoxSelection): 45946 (WebCore::HTMLSelectElement::setLength): 45947 * html/HTMLSelectElement.h: 45948 (WebCore::HTMLSelectElement::isOptionalFormControl): 45949 * html/HTMLSelectElement.idl: 45950 * html/ValidityState.cpp: 45951 (WebCore::ValidityState::valueMissing): 45952 45953 2010-12-07 Ilya Tikhonovsky <loislo (a] chromium.org> 45954 45955 Reviewed by Pavel Feldman. 45956 45957 Web Inspector: Inspector protocol cleanup task. Remove 45958 WebInspector wrappers for DOMAgent functions. 45959 45960 There were a lot of wrappers in WebInspector namespace 45961 for different WebInspector agents functions. As far as we have a 45962 generic mechanic for such functions we can remove these 45963 wrappers and register domAgent instance as a handler for 45964 DOM domain notifications. 45965 45966 https://bugs.webkit.org/show_bug.cgi?id=50626 45967 45968 * inspector/Inspector.idl: 45969 * inspector/front-end/DOMAgent.js: 45970 (WebInspector.DOMNode): 45971 (WebInspector.DOMAgent): 45972 (WebInspector.DOMAgent.prototype.attributesUpdated): 45973 (WebInspector.DOMAgent.prototype.characterDataModified): 45974 (WebInspector.DOMAgent.prototype.setDocument): 45975 (WebInspector.DOMAgent.prototype.setDetachedRoot): 45976 (WebInspector.DOMAgent.prototype.setChildNodes): 45977 (WebInspector.DOMAgent.prototype.childNodeCountUpdated): 45978 (WebInspector.DOMAgent.prototype.childNodeInserted): 45979 (WebInspector.DOMAgent.prototype.childNodeRemoved): 45980 (WebInspector.EventListeners.getEventListenersForNodeAsync): 45981 * inspector/front-end/inspector.js: 45982 (WebInspector.didCommitLoad): 45983 45984 2010-12-08 Yury Semikhatsky <yurys (a] chromium.org> 45985 45986 Reviewed by Pavel Feldman. 45987 45988 Web Inspector: remove groupLevel counter from console messages 45989 https://bugs.webkit.org/show_bug.cgi?id=50672 45990 45991 * inspector/ConsoleMessage.cpp: 45992 (WebCore::ConsoleMessage::ConsoleMessage): 45993 (WebCore::ConsoleMessage::addToFrontend): 45994 (WebCore::ConsoleMessage::isEqual): 45995 * inspector/ConsoleMessage.h: 45996 * inspector/InspectorController.cpp: 45997 (WebCore::InspectorController::InspectorController): 45998 (WebCore::InspectorController::addMessageToConsole): 45999 (WebCore::InspectorController::clearConsoleMessages): 46000 (WebCore::InspectorController::startGroup): 46001 (WebCore::InspectorController::endGroup): 46002 * inspector/InspectorController.h: 46003 * inspector/front-end/ConsoleView.js: 46004 (WebInspector.ConsoleView.createFilterElement): 46005 (WebInspector.ConsoleView): 46006 (WebInspector.ConsoleView.prototype.filter): 46007 (WebInspector.ConsoleView.prototype.afterShow): 46008 (WebInspector.ConsoleView.prototype.addMessage): 46009 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): 46010 (WebInspector.ConsoleView.prototype.clearMessages): 46011 (WebInspector.ConsoleMessage): 46012 (WebInspector.ConsoleMessage.createTextMessage): 46013 (WebInspector.ConsoleMessage.prototype.toMessageElement): 46014 (WebInspector.ConsoleMessage.prototype._addMessageHeader): 46015 (WebInspector.ConsoleMessage.prototype._updateRepeatCount): 46016 (WebInspector.ConsoleMessage.prototype.toString): 46017 (WebInspector.ConsoleMessage.prototype.isEqual): 46018 (WebInspector.ConsoleGroup): 46019 * inspector/front-end/Resource.js: 46020 (WebInspector.Resource.prototype._checkWarning): 46021 * inspector/front-end/SourceFrame.js: 46022 (WebInspector.SourceFrame.prototype._addMessageToSource): 46023 * inspector/front-end/inspector.js: 46024 (WebInspector.addConsoleMessage): 46025 (WebInspector.log.logMessage): 46026 (WebInspector.log): 46027 46028 2010-12-07 Pavel Podivilov <podivilov (a] chromium.org> 46029 46030 Reviewed by Pavel Feldman. 46031 46032 Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state. 46033 https://bugs.webkit.org/show_bug.cgi?id=50567 46034 46035 Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file. 46036 46037 * English.lproj/localizedStrings.js: 46038 * WebCore.gypi: 46039 * WebCore.vcproj/WebCore.vcproj: 46040 * inspector/front-end/Breakpoint.js: Added. 46041 (WebInspector.Breakpoint): Moved from BreakpointManager.js. 46042 * inspector/front-end/BreakpointManager.js: 46043 (WebInspector.BreakpointManager): Remove debugger-related methods. 46044 * inspector/front-end/CallStackSidebarPane.js: 46045 (WebInspector.CallStackSidebarPane): 46046 (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): 46047 (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): 46048 * inspector/front-end/DebuggerModel.js: Added. 46049 (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager. 46050 * inspector/front-end/ScriptsPanel.js: 46051 (WebInspector.ScriptsPanel): 46052 (WebInspector.ScriptsPanel.prototype.continueToLine): 46053 (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): 46054 (WebInspector.ScriptsPanel.prototype.editScriptSource): 46055 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 46056 (WebInspector.ScriptsPanel.prototype._debuggerResumed): 46057 (WebInspector.ScriptsPanel.prototype.reset): 46058 * inspector/front-end/SourceFrame.js: 46059 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 46060 (WebInspector.SourceFrameDelegate.prototype.addBreakpoint): 46061 (WebInspector.SourceFrameDelegate.prototype.breakpoints): 46062 (WebInspector.SourceFrameDelegate.prototype.findBreakpoint): 46063 * inspector/front-end/WebKit.qrc: 46064 * inspector/front-end/inspector.html: 46065 * inspector/front-end/inspector.js: 46066 (WebInspector.createJSBreakpointsSidebarPane): 46067 (WebInspector.restoredBreakpoint): 46068 (WebInspector.pausedScript): 46069 (WebInspector.resumedScript): 46070 (WebInspector.reset): 46071 46072 2010-12-08 Pavel Podivilov <podivilov (a] chromium.org> 46073 46074 Reviewed by Pavel Feldman. 46075 46076 Web Inspector: SourceFrame refactoring. 46077 https://bugs.webkit.org/show_bug.cgi?id=50223 46078 46079 SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining 46080 it's own storages. Move common code from ScriptView and SourceView to SourceFrame. 46081 46082 * inspector/front-end/BreakpointManager.js: 46083 (WebInspector.BreakpointManager.prototype.findBreakpoints): 46084 (WebInspector.BreakpointManager.prototype.findBreakpoint): 46085 * inspector/front-end/Script.js: 46086 (WebInspector.Script): 46087 (WebInspector.Script.prototype.get linesCount): 46088 (WebInspector.Script.prototype.get source): 46089 (WebInspector.Script.prototype.set source): 46090 * inspector/front-end/ScriptView.js: 46091 (WebInspector.ScriptView): 46092 (WebInspector.ScriptView.prototype._scriptSourceChanged): 46093 (WebInspector.ScriptFrameDelegateImpl): 46094 (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts): 46095 (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete): 46096 (WebInspector.ScriptFrameDelegateImpl.prototype.scripts): 46097 * inspector/front-end/ScriptsPanel.js: 46098 (WebInspector.ScriptsPanel): 46099 * inspector/front-end/SourceFrame.js: 46100 (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView. 46101 (WebInspector.SourceFrameDelegate): 46102 (WebInspector.SourceFrameDelegate.prototype.canEditScripts): 46103 (WebInspector.SourceFrameDelegate.prototype.editLineComplete): 46104 (WebInspector.SourceFrameDelegate.prototype.scripts): 46105 * inspector/front-end/SourceView.js: 46106 (WebInspector.SourceView): 46107 (WebInspector.SourceView.prototype._contentLoaded): 46108 (WebInspector.ResourceFrameDelegateImpl): 46109 (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts): 46110 (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete): 46111 (WebInspector.ResourceFrameDelegateImpl.prototype.scripts): 46112 46113 2010-12-08 Yuta Kitamura <yutak (a] chromium.org> 46114 46115 Unreviewed, rolling out r73492. 46116 http://trac.webkit.org/changeset/73492 46117 https://bugs.webkit.org/show_bug.cgi?id=49914 46118 46119 Caused a lot of pixel test failures and broke Windows build. 46120 46121 * WebCore.xcodeproj/project.pbxproj: 46122 * platform/graphics/GraphicsContext.cpp: 46123 (WebCore::GraphicsContext::createGraphicsContextPrivate): 46124 (WebCore::GraphicsContext::destroyGraphicsContextPrivate): 46125 (WebCore::GraphicsContext::save): 46126 (WebCore::GraphicsContext::restore): 46127 (WebCore::GraphicsContext::setStrokeThickness): 46128 (WebCore::GraphicsContext::setStrokeStyle): 46129 (WebCore::GraphicsContext::setStrokeColor): 46130 (WebCore::GraphicsContext::setShadow): 46131 (WebCore::GraphicsContext::clearShadow): 46132 (WebCore::GraphicsContext::getShadow): 46133 (WebCore::GraphicsContext::strokeThickness): 46134 (WebCore::GraphicsContext::strokeStyle): 46135 (WebCore::GraphicsContext::strokeColor): 46136 (WebCore::GraphicsContext::strokeColorSpace): 46137 (WebCore::GraphicsContext::fillRule): 46138 (WebCore::GraphicsContext::setFillRule): 46139 (WebCore::GraphicsContext::setFillColor): 46140 (WebCore::GraphicsContext::fillColor): 46141 (WebCore::GraphicsContext::fillColorSpace): 46142 (WebCore::GraphicsContext::setShouldAntialias): 46143 (WebCore::GraphicsContext::shouldAntialias): 46144 (WebCore::GraphicsContext::setStrokePattern): 46145 (WebCore::GraphicsContext::setFillPattern): 46146 (WebCore::GraphicsContext::setStrokeGradient): 46147 (WebCore::GraphicsContext::setFillGradient): 46148 (WebCore::GraphicsContext::fillGradient): 46149 (WebCore::GraphicsContext::strokeGradient): 46150 (WebCore::GraphicsContext::fillPattern): 46151 (WebCore::GraphicsContext::strokePattern): 46152 (WebCore::GraphicsContext::setShadowsIgnoreTransforms): 46153 (WebCore::GraphicsContext::updatingControlTints): 46154 (WebCore::GraphicsContext::setUpdatingControlTints): 46155 (WebCore::GraphicsContext::setPaintingDisabled): 46156 (WebCore::GraphicsContext::paintingDisabled): 46157 (WebCore::GraphicsContext::textDrawingMode): 46158 (WebCore::GraphicsContext::setTextDrawingMode): 46159 * platform/graphics/GraphicsContext.h: 46160 * platform/graphics/GraphicsContextPrivate.h: Added. 46161 (WebCore::GraphicsContextState::GraphicsContextState): 46162 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): 46163 * platform/graphics/cairo/GraphicsContextCairo.cpp: 46164 (WebCore::setPlatformFill): 46165 (WebCore::setPlatformStroke): 46166 (WebCore::drawPathShadow): 46167 (WebCore::fillCurrentCairoPath): 46168 (WebCore::strokeCurrentCairoPath): 46169 (WebCore::GraphicsContext::GraphicsContext): 46170 (WebCore::GraphicsContext::~GraphicsContext): 46171 (WebCore::GraphicsContext::fillPath): 46172 (WebCore::GraphicsContext::strokePath): 46173 (WebCore::GraphicsContext::fillRect): 46174 (WebCore::GraphicsContext::setPlatformShadow): 46175 (WebCore::GraphicsContext::strokeRect): 46176 (WebCore::GraphicsContext::setAlpha): 46177 (WebCore::GraphicsContext::getAlpha): 46178 * platform/graphics/cg/GraphicsContextCG.cpp: 46179 (WebCore::GraphicsContext::GraphicsContext): 46180 (WebCore::GraphicsContext::~GraphicsContext): 46181 (WebCore::GraphicsContext::applyStrokePattern): 46182 (WebCore::GraphicsContext::applyFillPattern): 46183 (WebCore::GraphicsContext::drawPath): 46184 (WebCore::GraphicsContext::fillPath): 46185 (WebCore::GraphicsContext::strokePath): 46186 (WebCore::GraphicsContext::fillRect): 46187 (WebCore::GraphicsContext::setPlatformShadow): 46188 (WebCore::GraphicsContext::strokeRect): 46189 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 46190 (WebCore::GraphicsContext::GraphicsContext): 46191 (WebCore::GraphicsContext::~GraphicsContext): 46192 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 46193 (WebCore::GraphicsContext::GraphicsContext): 46194 (WebCore::GraphicsContext::~GraphicsContext): 46195 (WebCore::GraphicsContext::fillPath): 46196 (WebCore::GraphicsContext::strokePath): 46197 (WebCore::GraphicsContext::clip): 46198 (WebCore::GraphicsContext::clipOut): 46199 (WebCore::GraphicsContext::addInnerRoundedRectClip): 46200 * platform/graphics/qt/GraphicsContextQt.cpp: 46201 (WebCore::GraphicsContext::GraphicsContext): 46202 (WebCore::GraphicsContext::~GraphicsContext): 46203 (WebCore::GraphicsContext::fillPath): 46204 (WebCore::GraphicsContext::strokePath): 46205 (WebCore::GraphicsContext::fillRect): 46206 (WebCore::GraphicsContext::setPlatformShadow): 46207 * platform/graphics/skia/GraphicsContextSkia.cpp: 46208 (WebCore::GraphicsContext::GraphicsContext): 46209 (WebCore::GraphicsContext::~GraphicsContext): 46210 (WebCore::GraphicsContext::fillPath): 46211 (WebCore::GraphicsContext::setPlatformShadow): 46212 * platform/graphics/win/GraphicsContextCGWin.cpp: 46213 (WebCore::GraphicsContext::GraphicsContext): 46214 * platform/graphics/win/GraphicsContextCairoWin.cpp: 46215 (WebCore::GraphicsContext::GraphicsContext): 46216 * platform/graphics/wince/GraphicsContextWinCE.cpp: 46217 (WebCore::GraphicsContext::GraphicsContext): 46218 (WebCore::GraphicsContext::~GraphicsContext): 46219 (WebCore::GraphicsContext::fillPath): 46220 (WebCore::GraphicsContext::fillRect): 46221 * platform/graphics/wx/GraphicsContextWx.cpp: 46222 (WebCore::GraphicsContext::GraphicsContext): 46223 (WebCore::GraphicsContext::~GraphicsContext): 46224 46225 2010-12-08 Dai Mikurube <dmikurube (a] google.com> 46226 46227 Reviewed by Kent Tamura. 46228 46229 Implement "required" attribute for select tags 46230 https://bugs.webkit.org/show_bug.cgi?id=50380 46231 46232 Test: fast/forms/select-live-pseudo-selectors.html 46233 platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html 46234 46235 * html/HTMLSelectElement.cpp: 46236 (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface. 46237 (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck(). 46238 (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck(). 46239 (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified. 46240 (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180. 46241 (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck(). 46242 (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck(). 46243 (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck(). 46244 (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck(). 46245 (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck(). 46246 (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck(). 46247 (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated.. 46248 (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck(). 46249 (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not. 46250 (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added. 46251 * html/HTMLSelectElement.h: 46252 (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required. 46253 * html/HTMLSelectElement.idl: Added a required attribute to select elements.. 46254 * html/ValidityState.cpp: 46255 (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing(). 46256 46257 2010-12-08 Renata Hodovan <reni (a] webkit.org> 46258 46259 Reviewed by Andreas Kling. 46260 46261 GraphicsContext: Merge m_common and m_data 46262 https://bugs.webkit.org/show_bug.cgi?id=49914 46263 46264 Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h 46265 and m_common became unnecessary. They are removed. 46266 Add two methods to GraphicsContext: platformInit() and platformDestroy(), which 46267 make the constructor of GraphicsContext clearer. 46268 Besides add a getter to the private GraphicsContext::m_state member, because some inline 46269 functions in cairo need it. 46270 46271 No new test is needed, because this is a refactoring. 46272 46273 * WebCore.xcodeproj/project.pbxproj: 46274 * platform/graphics/GraphicsContext.cpp: 46275 (WebCore::GraphicsContext::GraphicsContext): 46276 (WebCore::GraphicsContext::~GraphicsContext): 46277 (WebCore::GraphicsContext::save): 46278 (WebCore::GraphicsContext::restore): 46279 (WebCore::GraphicsContext::setStrokeThickness): 46280 (WebCore::GraphicsContext::setStrokeStyle): 46281 (WebCore::GraphicsContext::setStrokeColor): 46282 (WebCore::GraphicsContext::setShadow): 46283 (WebCore::GraphicsContext::clearShadow): 46284 (WebCore::GraphicsContext::getShadow): 46285 (WebCore::GraphicsContext::strokeThickness): 46286 (WebCore::GraphicsContext::strokeStyle): 46287 (WebCore::GraphicsContext::strokeColor): 46288 (WebCore::GraphicsContext::strokeColorSpace): 46289 (WebCore::GraphicsContext::fillRule): 46290 (WebCore::GraphicsContext::setFillRule): 46291 (WebCore::GraphicsContext::setFillColor): 46292 (WebCore::GraphicsContext::fillColor): 46293 (WebCore::GraphicsContext::fillColorSpace): 46294 (WebCore::GraphicsContext::setShouldAntialias): 46295 (WebCore::GraphicsContext::shouldAntialias): 46296 (WebCore::GraphicsContext::state): 46297 (WebCore::GraphicsContext::setStrokePattern): 46298 (WebCore::GraphicsContext::setFillPattern): 46299 (WebCore::GraphicsContext::setStrokeGradient): 46300 (WebCore::GraphicsContext::setFillGradient): 46301 (WebCore::GraphicsContext::fillGradient): 46302 (WebCore::GraphicsContext::strokeGradient): 46303 (WebCore::GraphicsContext::fillPattern): 46304 (WebCore::GraphicsContext::strokePattern): 46305 (WebCore::GraphicsContext::setShadowsIgnoreTransforms): 46306 (WebCore::GraphicsContext::updatingControlTints): 46307 (WebCore::GraphicsContext::setUpdatingControlTints): 46308 (WebCore::GraphicsContext::setPaintingDisabled): 46309 (WebCore::GraphicsContext::paintingDisabled): 46310 (WebCore::GraphicsContext::textDrawingMode): 46311 (WebCore::GraphicsContext::setTextDrawingMode): 46312 * platform/graphics/GraphicsContext.h: 46313 (WebCore::GraphicsContextState::GraphicsContextState): 46314 * platform/graphics/GraphicsContextPrivate.h: Removed. 46315 * platform/graphics/cairo/GraphicsContextCairo.cpp: 46316 (WebCore::setPlatformFill): 46317 (WebCore::setPlatformStroke): 46318 (WebCore::drawPathShadow): 46319 (WebCore::fillCurrentCairoPath): 46320 (WebCore::strokeCurrentCairoPath): 46321 (WebCore::GraphicsContext::platformInit): 46322 (WebCore::GraphicsContext::platformDestroy): 46323 (WebCore::GraphicsContext::fillPath): 46324 (WebCore::GraphicsContext::strokePath): 46325 (WebCore::GraphicsContext::fillRect): 46326 (WebCore::GraphicsContext::setPlatformShadow): 46327 (WebCore::GraphicsContext::strokeRect): 46328 (WebCore::GraphicsContext::setAlpha): 46329 (WebCore::GraphicsContext::getAlpha): 46330 * platform/graphics/cg/GraphicsContextCG.cpp: 46331 (WebCore::GraphicsContext::platformInit): 46332 (WebCore::GraphicsContext::platformDestroy): 46333 (WebCore::GraphicsContext::applyStrokePattern): 46334 (WebCore::GraphicsContext::applyFillPattern): 46335 (WebCore::GraphicsContext::drawPath): 46336 (WebCore::GraphicsContext::fillPath): 46337 (WebCore::GraphicsContext::strokePath): 46338 (WebCore::GraphicsContext::fillRect): 46339 (WebCore::GraphicsContext::setPlatformShadow): 46340 (WebCore::GraphicsContext::strokeRect): 46341 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 46342 (WebCore::GraphicsContext::platformInit): 46343 (WebCore::GraphicsContext::platformDestroy): 46344 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 46345 (WebCore::GraphicsContext::platformInit): 46346 (WebCore::GraphicsContext::platformDestroy): 46347 (WebCore::GraphicsContext::fillPath): 46348 (WebCore::GraphicsContext::strokePath): 46349 (WebCore::GraphicsContext::clip): 46350 (WebCore::GraphicsContext::clipOut): 46351 (WebCore::GraphicsContext::addInnerRoundedRectClip): 46352 * platform/graphics/qt/GraphicsContextQt.cpp: 46353 (WebCore::GraphicsContext::platformInit): 46354 (WebCore::GraphicsContext::platformDestroy): 46355 (WebCore::GraphicsContext::fillPath): 46356 (WebCore::GraphicsContext::strokePath): 46357 (WebCore::GraphicsContext::fillRect): 46358 (WebCore::GraphicsContext::setPlatformShadow): 46359 * platform/graphics/skia/GraphicsContextSkia.cpp: 46360 (WebCore::GraphicsContext::platformInit): 46361 (WebCore::GraphicsContext::platformDestroy): 46362 (WebCore::GraphicsContext::fillPath): 46363 (WebCore::GraphicsContext::setPlatformShadow): 46364 * platform/graphics/win/GraphicsContextCGWin.cpp: 46365 (WebCore::GraphicsContext::platformInit): 46366 * platform/graphics/win/GraphicsContextCairoWin.cpp: 46367 (WebCore::GraphicsContext::platformInit): 46368 * platform/graphics/wince/GraphicsContextWinCE.cpp: 46369 (WebCore::GraphicsContext::platformInit): 46370 (WebCore::GraphicsContext::platformDestroy): 46371 (WebCore::GraphicsContext::fillPath): 46372 (WebCore::GraphicsContext::fillRect): 46373 * platform/graphics/wx/GraphicsContextWx.cpp: 46374 (WebCore::GraphicsContext::platformInit): 46375 (WebCore::GraphicsContext::platformDestroy): 46376 46377 2010-12-07 Anton Muhin <antonm (a] chromium.org> 46378 46379 Reviewed by Nate Chapin. 46380 46381 Port http://trac.webkit.org/changeset/72819/ to v8-backed ports. 46382 https://bugs.webkit.org/show_bug.cgi?id=50246 46383 46384 * bindings/v8/V8DOMMap.h: 46385 (WebCore::AbstractWeakReferenceMap::Visitor::startMap): 46386 (WebCore::AbstractWeakReferenceMap::Visitor::endMap): 46387 (WebCore::WeakReferenceMap::visit): 46388 * bindings/v8/V8GCController.cpp: 46389 (WebCore::GrouperItem::GrouperItem): 46390 (WebCore::GrouperItem::groupId): 46391 (WebCore::makeV8ObjectGroups): 46392 (WebCore::NodeGrouperVisitor::NodeGrouperVisitor): 46393 (WebCore::NodeGrouperVisitor::visitDOMWrapper): 46394 (WebCore::NodeGrouperVisitor::applyGrouping): 46395 (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor): 46396 (WebCore::DOMObjectGrouperVisitor::startMap): 46397 (WebCore::DOMObjectGrouperVisitor::endMap): 46398 (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): 46399 (WebCore::V8GCController::gcPrologue): 46400 46401 2010-12-07 Daniel Bates <dbates (a] rim.com> 46402 46403 Reviewed by Martin Robinson. 46404 46405 Implement focus ring support for image maps 46406 https://bugs.webkit.org/show_bug.cgi?id=50371 46407 46408 Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support 46409 drawing a focus ring for image maps. 46410 46411 Tests: fast/images/imagemap-circle-focus-ring.html 46412 fast/images/imagemap-polygon-focus-ring.html 46413 46414 * platform/graphics/cairo/GraphicsContextCairo.cpp: 46415 (WebCore::adjustFocusRingColor): Added. 46416 (WebCore::adjustFocusRingLineWidth): Added. 46417 (WebCore::focusRingStrokeStyle): Added. 46418 (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color, 46419 line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(), 46420 and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...). 46421 46422 2010-12-07 Sergio Villar Senin <svillar (a] igalia.com> 46423 46424 Reviewed by Xan Lopez. 46425 46426 [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed 46427 https://bugs.webkit.org/show_bug.cgi?id=50577 46428 46429 Try to download cached resources again if they are no longer 46430 accesible by the cache. 46431 46432 * platform/network/soup/cache/soup-request-http.c: 46433 (send_async_cb): 46434 (webkit_soup_request_http_send_async): 46435 46436 2010-12-06 MORITA Hajime <morrita (a] google.com> 46437 46438 Reviewed by Dimitri Glazkov. 46439 46440 RenderIndicator subclasses should not change the render tree during layout. 46441 https://bugs.webkit.org/show_bug.cgi?id=50026 46442 46443 The old code created shadow elements during a layout computation, 46444 that makes the layout state inconsisntent and cause an assertion failure. 46445 This change created shadow elements before the layout to avoid 46446 state inconsistencies. 46447 46448 Instead of creating shadows on demand, RenderMeter and 46449 RenderProgress now create all necessary shadows before layouts, 46450 and change its visibilities during the layout: Changing 46451 visibilities doesn't trigger relayout and keep the state 46452 consistent. 46453 46454 RenderMeter uses new HidablePartElement for shadow elements, 46455 which can toggle visibiliby between hidden and original value. 46456 46457 Test: fast/dom/HTMLMeterElement/meter-element-crash.html 46458 46459 * html/HTMLMeterElement.cpp: 46460 (WebCore::HTMLMeterElement::attach): Calling updateFromElement() 46461 * html/HTMLMeterElement.h: 46462 * html/HTMLProgressElement.cpp: 46463 (WebCore::HTMLProgressElement::attach): Calling updateFromElement() 46464 * html/HTMLProgressElement.h: 46465 * rendering/RenderIndicator.cpp: 46466 * rendering/RenderIndicator.h: 46467 * rendering/RenderMeter.cpp: 46468 (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility. 46469 (WebCore::MeterPartElement::createForPart): 46470 (WebCore::MeterPartElement::hide): 46471 (WebCore::MeterPartElement::restoreVisibility): 46472 (WebCore::MeterPartElement::updateStyleForPart): 46473 (WebCore::MeterPartElement::saveVisibility): 46474 (WebCore::RenderMeter::~RenderMeter): 46475 (WebCore::RenderMeter::createPart): Extracted 46476 (WebCore::RenderMeter::updateFromElement): Had a shadow generation. 46477 (WebCore::RenderMeter::layoutParts): Removed shadow generation code. 46478 (WebCore::RenderMeter::shouldHaveParts): 46479 (WebCore::RenderMeter::valuePartRect): Adopted orientation. 46480 (WebCore::RenderMeter::orientation): Morphed from isHorizontal() 46481 (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation 46482 (WebCore::RenderMeter::barPseudoId): Adopted orientation. 46483 * rendering/RenderMeter.h: 46484 (WebCore::RenderMeter::shadowAttached): 46485 * rendering/RenderProgress.cpp: 46486 (WebCore::RenderProgress::updateFromElement): Had a shadow generation. 46487 (WebCore::RenderProgress::layoutParts): 46488 * rendering/RenderProgress.h: 46489 * rendering/ShadowElement.cpp: 46490 (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart(). 46491 (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart(). 46492 * rendering/ShadowElement.h: 46493 46494 2010-11-29 Mihai Parparita <mihaip (a] chromium.org> 46495 46496 Reviewed by Adam Barth. 46497 46498 returning to a POST result within a frame does a GET instead of a POST 46499 https://bugs.webkit.org/show_bug.cgi?id=10199 46500 46501 FrameLoader::loadURLIntoChildFrame had a check for whether a frame 46502 had a HistoryItem, and if so used that item's URL. However, that did 46503 not handle the case where the HistoryItem had FormData and thus was the 46504 result of a POST request. FrameLoader::navigateToDifferentDocument (now 46505 renamed to loadDifferentDocumentItem) does all that, so just switch to 46506 using it instead. 46507 46508 Besides the bug fix, the only difference in behavior is that we use the 46509 HistoryItem's URL instead of original URL when restoring it in a child 46510 frame. This seems desirable too (for consistency with other browsers, and 46511 so that we can avoid form double-submits for forms that that do 46512 POST-then-redirect), and is tested by 46513 fast/history/history-back-initial-vs-final-url.html. 46514 46515 Tests: fast/history/history-back-initial-vs-final-url.html 46516 http/tests/navigation/post-frames-goback1.html 46517 http/tests/navigation/postredirect-frames-goback1.html 46518 46519 * loader/FrameLoader.cpp: 46520 (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using 46521 loadDifferentDocumentItem. Also cleaned up ordering slightly (if 46522 on the archive path, there's no need to do any of the other checks). 46523 (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from 46524 navigateToDifferentDocument so that calling it from loadItem and 46525 loadURLIntoChildFrame flows more easily. 46526 (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from 46527 navigateWithinDocument. 46528 (WebCore::FrameLoader::loadItem): Update callsites to the above methods. 46529 * loader/FrameLoader.h: 46530 46531 2010-12-07 Dan Bernstein <mitz (a] apple.com> 46532 46533 Reviewed by Darin Adler. 46534 46535 Made tables repaint correctly in all writing modes 46536 Part of: Make tables work with vertical text 46537 https://bugs.webkit.org/show_bug.cgi?id=46417 46538 46539 Tests: fast/repaint/table-writing-modes-h.html 46540 fast/repaint/table-writing-modes-v.html 46541 46542 * rendering/RenderTableSection.cpp: 46543 (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and 46544 columns to repaint based on the logical extent of the repaint rect. 46545 46546 2010-12-07 Alexey Marinichev <amarinichev (a] chromium.org> 46547 46548 Reviewed by James Robinson. 46549 46550 [chromium] compositor lost context recovery fix 46551 https://bugs.webkit.org/show_bug.cgi?id=50614 46552 46553 To test, load a page that triggers the compositor, kill the GPU 46554 process and hover over a link to redraw and thus restart the GPU 46555 process. Without this patch it will assert in 46556 ContentLayerChromium::updateTextureRect; with this patch it will not. 46557 46558 * platform/graphics/chromium/LayerChromium.cpp: 46559 (WebCore::LayerChromium::setNeedsDisplay): 46560 46561 2010-12-07 Anders Carlsson <andersca (a] apple.com> 46562 46563 Fix the last clang++ build error. 46564 46565 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 46566 (PlatformCALayer::animationForKey): 46567 Cast the returned animation to the correct type. 46568 46569 2010-12-07 Anders Carlsson <andersca (a] apple.com> 46570 46571 Fix some clang++ build errors. 46572 46573 * platform/graphics/ca/GraphicsLayerCA.cpp: 46574 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 46575 Remove unused variable. 46576 46577 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 46578 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 46579 Fix constness of pointers. 46580 46581 2010-12-07 Simon Fraser <simon.fraser (a] apple.com> 46582 46583 Reviewed by Chris Marrin. 46584 46585 Fix the Color -> CGColorRef conversions for the debug colors 46586 used for compositing layers. 46587 46588 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 46589 (PlatformCALayer::setBackgroundColor): 46590 (PlatformCALayer::setBorderColor): 46591 46592 2010-12-07 Brian Weinstein <bweinstein (a] apple.com> 46593 46594 Reviewed by John Sullivan. 46595 46596 Part of Layering Violation in ContextMenu 46597 https://bugs.webkit.org/show_bug.cgi?id=50586 46598 46599 ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping 46600 a ContextMenuItem, and calling through to the ContextMenuController to validate it 46601 and call a function when it was selected. 46602 46603 It was a layering violation to have this class here, because ContextMenu can't know 46604 about ContextMenuController. 46605 46606 This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm, 46607 and sets up the menu targets there. 46608 46609 No change in behavior, no new tests. 46610 46611 * WebCore.exp.in: Added function that needs to be exported. 46612 * platform/mac/ContextMenuMac.mm: 46613 (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore. 46614 (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now). 46615 (WebCore::ContextMenu::insertItem): Ditto. 46616 46617 2010-12-07 Simon Fraser <simon.fraser (a] apple.com> 46618 46619 Reviewed by Dan Bernstein. 46620 46621 -webkit-transition Fails on Multiple text-shadow Shadows 46622 https://bugs.webkit.org/show_bug.cgi?id=42281 46623 46624 When transitioning multiple shadows, the blend function for 46625 ShadowData dropped all but the first and last shadow because 46626 of a failure to append to the end of the list. Fixed. 46627 46628 Test: transitions/multiple-text-shadow-transition.html 46629 46630 * page/animation/AnimationBase.cpp: 46631 (WebCore::PropertyWrapperShadow::blend): 46632 46633 2010-12-07 Simon Fraser <simon.fraser (a] apple.com> 46634 46635 Reviewed by Beth Dakin. 46636 46637 CSS animation doesn't work for border-radius 46638 https://bugs.webkit.org/show_bug.cgi?id=48340 46639 46640 Include CSSPropertyBorderRadius in the list of shorthand 46641 properties, so that the individual border-radius properties 46642 get animated. 46643 46644 Test: transitions/border-radius-transition.html 46645 46646 * page/animation/AnimationBase.cpp: 46647 (WebCore::addShorthandProperties): 46648 46649 2010-12-07 Maciej Stachowiak <mjs (a] apple.com> 46650 46651 Reviewed by Kent Tamura. 46652 46653 Implement HTML5 hidden attribute 46654 https://bugs.webkit.org/show_bug.cgi?id=40511 46655 46656 Test: fast/html/hidden-attr.html 46657 46658 * html/HTMLElement.cpp: 46659 (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute. 46660 (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none. 46661 46662 2010-12-07 Kenneth Russell <kbr (a] google.com> 46663 46664 Reviewed by David Levin. 46665 46666 Fix compilation of core web audio files on Windows 46667 https://bugs.webkit.org/show_bug.cgi?id=50603 46668 46669 Changed a few constructs using C99 features of math.h to use 46670 wtf/MathExtras.h instead. Changed inline definitions of a couple of 46671 const static doubles in classes to out-of-line. Built Chrome with 46672 web audio enabled on Windows and Mac OS X to test these changes. 46673 46674 No new tests since audio API is not yet implemented. 46675 46676 * WebCore.gypi: 46677 * platform/audio/AudioResampler.cpp: 46678 * platform/audio/Biquad.cpp: 46679 (WebCore::Biquad::setLowpassParams): 46680 (WebCore::Biquad::setHighpassParams): 46681 (WebCore::Biquad::setLowShelfParams): 46682 * platform/audio/Cone.cpp: 46683 (WebCore::ConeEffect::gain): 46684 * platform/audio/EqualPowerPanner.cpp: 46685 (WebCore::EqualPowerPanner::pan): 46686 * platform/audio/FFTFrame.cpp: 46687 (WebCore::FFTFrame::interpolateFrequencyComponents): 46688 (WebCore::FFTFrame::extractAverageGroupDelay): 46689 (WebCore::FFTFrame::addConstantGroupDelay): 46690 * platform/audio/HRTFKernel.cpp: 46691 * platform/audio/HRTFPanner.cpp: 46692 * webaudio/AudioBufferSourceNode.cpp: 46693 (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope): 46694 * webaudio/AudioPannerNode.cpp: 46695 (WebCore::AudioPannerNode::getAzimuthElevation): 46696 * webaudio/AudioParam.cpp: Added. 46697 (AudioParam::setValue): 46698 (AudioParam::smooth): 46699 * webaudio/AudioParam.h: 46700 * webaudio/RealtimeAnalyser.cpp: 46701 46702 2010-11-25 Philippe Normand <pnormand (a] igalia.com> 46703 46704 Reviewed by Martin Robinson. 46705 46706 [GStreamer] faster elements linking 46707 https://bugs.webkit.org/show_bug.cgi?id=50067 46708 46709 Perform less checks during GStreamer elements linking if building 46710 against GStreamer >= 0.10.30. 46711 46712 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 46713 (WebCore::GStreamerGWorld::enterFullscreen): 46714 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 46715 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 46716 46717 2010-12-07 Philippe Normand <pnormand (a] igalia.com> 46718 46719 Reviewed by Gustavo Noronha Silva. 46720 46721 [GStreamer] ::buffered() should return multiple ranges in some cases 46722 https://bugs.webkit.org/show_bug.cgi?id=45101 46723 46724 Improved the ::buffered() method thanks to the new buffering query 46725 support that landed in GStreamer 0.10.31. The method now 46726 queries the media buffered-ranges on the pipeline and queue2 46727 handles it if it's buffering the media to disk. 46728 46729 The webkitwebsrc element also gained BYTES duration query 46730 support. This is needed in the rare cases where uridecodebin 46731 configures its queue before the HTTP server returns the media 46732 Content-Length. 46733 46734 Test: http/tests/media/video-buffered.html 46735 46736 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 46737 (WebCore::MediaPlayerPrivateGStreamer::buffered): 46738 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 46739 (webkit_web_src_init): 46740 (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries 46741 if it's aware of the media content-length. 46742 * platform/gtk/RenderThemeGtk.cpp: 46743 (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of 46744 the second and next buffered ranges. 46745 46746 2010-12-07 Yael Aharon <yael.aharon (a] nokia.com> 46747 46748 Reviewed by Antonio Gomes. 46749 46750 Spatial navigation not Working for Map and Area Tags 46751 https://bugs.webkit.org/show_bug.cgi?id=47142 46752 46753 Give area elements special treatment in spatial navigation algorithm by getting the 46754 rect of the area from the associated image. Since area elements are likely to overlap 46755 if they are not rects, or if authors are not careful, we flatten the rect of area elements. 46756 46757 Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html 46758 fast/spatial-navigation/snav-imagemap-area-without-image.html 46759 fast/spatial-navigation/snav-imagemap-overlapped-areas.html 46760 fast/spatial-navigation/snav-imagemap-simple.html 46761 46762 * page/FocusController.cpp: 46763 (WebCore::FocusController::findFocusCandidateInContainer): 46764 (WebCore::FocusController::advanceFocusDirectionallyInContainer): 46765 (WebCore::FocusController::advanceFocusDirectionally): 46766 * page/SpatialNavigation.cpp: 46767 (WebCore::FocusCandidate::FocusCandidate): 46768 (WebCore::virtualRectForDirection): 46769 (WebCore::virtualRectForAreaElementAndDirection): 46770 * page/SpatialNavigation.h: 46771 (WebCore::FocusCandidate::FocusCandidate): 46772 46773 2010-12-07 Darin Adler <darin (a] apple.com> 46774 46775 Try to fix V8 build. 46776 46777 * bindings/generic/BindingDOMWindow.h: 46778 (WebCore::BindingDOMWindow::createWindow): Pass security origin. 46779 46780 2010-12-07 Darin Adler <darin (a] apple.com> 46781 46782 Another build fix. 46783 46784 * loader/CrossOriginAccessControl.cpp: Added a missing include. 46785 46786 2010-12-07 Darin Adler <darin (a] apple.com> 46787 46788 Try to fix build. 46789 46790 * plugins/PluginView.cpp: 46791 (WebCore::PluginView::start): Pass security origin. 46792 (WebCore::PluginView::getURLNotify): Ditto. 46793 (WebCore::PluginView::getURL): Ditto. 46794 (WebCore::PluginView::handlePost): Ditto. 46795 46796 2010-12-06 Darin Adler <darin (a] apple.com> 46797 46798 Reviewed by Sam Weinig. 46799 46800 Pass security origin to make local file decision correctly 46801 https://bugs.webkit.org/show_bug.cgi?id=48603 46802 46803 * bindings/generic/BindingDOMWindow.h: 46804 (WebCore::BindingDOMWindow::createWindow): Pass security origin. 46805 (WebCore::BindingDOMWindow::open): Ditto. 46806 * bindings/generic/BindingFrame.h: 46807 (WebCore::BindingFrame::navigateIfAllowed): Ditto. 46808 46809 * bindings/js/JSDOMWindowCustom.cpp: 46810 (WebCore::JSDOMWindow::setLocation): Pass security origin. 46811 (WebCore::createWindow): Ditto. 46812 (WebCore::JSDOMWindow::open): Ditto. 46813 46814 * bindings/js/JSDocumentCustom.cpp: 46815 (WebCore::JSDocument::setLocation): Pass security origin. 46816 46817 * dom/Document.cpp: 46818 (WebCore::Document::processHttpEquiv): Pass security origin. 46819 46820 * inspector/InspectorController.cpp: 46821 (WebCore::InspectorController::openInInspectedWindow): 46822 Pass security origin. 46823 46824 * loader/FrameLoader.cpp: 46825 (WebCore::FrameLoader::changeLocation): Added a security origin 46826 argument, passed through to urlSelected. 46827 (WebCore::FrameLoader::urlSelected): Replaced the resource request 46828 and frame name arguments with a frame load request arguments in one 46829 overload, and changed the other overload to pass in the current 46830 frame's document for the security origin. 46831 (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay 46832 check before the referrer computation because it no longer needs 46833 to look at the referrer. Replaced the call to canDisplay that 46834 used the target frame's security origin and the call to 46835 deprecatedCanDisplay with a single call to canDisplay that uses 46836 the requester security origin. 46837 46838 * loader/FrameLoader.h: Updated for argument changes above. 46839 46840 * loader/NavigationScheduler.cpp: 46841 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added 46842 a security origin. 46843 (WebCore::ScheduledURLNavigation::fire): Pass the security origin 46844 in to FrameLoader::changeLocation. 46845 (WebCore::ScheduledURLNavigation::securityOrigin): Added. 46846 (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security 46847 origin argument. 46848 (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto. 46849 (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto. 46850 (WebCore::ScheduledRefresh::fire): Pass the security origin in to 46851 FrameLoader::changeLocation. 46852 (WebCore::ScheduledFormSubmission::fire): Include the security 46853 origin when constructing form submission. 46854 (WebCore::NavigationScheduler::scheduleRedirect): Include the security 46855 origin when creating the scheduled navigation object. 46856 (WebCore::NavigationScheduler::scheduleLocationChange): Ditto. 46857 (WebCore::NavigationScheduler::scheduleRefresh): Ditto. 46858 46859 * loader/NavigationScheduler.h: Added the security origin argument 46860 to scheduleLocationChange. 46861 46862 * loader/SubframeLoader.cpp: 46863 (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security 46864 origin when calling scheduleLocationChange. 46865 * loader/appcache/ApplicationCacheGroup.cpp: 46866 (WebCore::ApplicationCacheGroup::selectCache): Ditto. 46867 46868 * page/ContextMenuController.cpp: 46869 (WebCore::openNewWindow): Pass in the security origin. 46870 (WebCore::ContextMenuController::contextMenuItemSelected): Ditto. 46871 46872 * page/FrameLoadRequest.h: Added a security origin called the requester 46873 to all FrameLoadRequest objects. 46874 46875 * page/XSSAuditor.cpp: 46876 (WebCore::XSSAuditor::findInRequest): Added the security origin. 46877 46878 2010-12-07 Yury Semikhatsky <yurys (a] chromium.org> 46879 46880 Reviewed by Pavel Feldman. 46881 46882 Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer 46883 https://bugs.webkit.org/show_bug.cgi?id=50627 46884 46885 * bindings/v8/ScriptDebugServer.cpp: 46886 (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has 46887 not been initialized yet. 46888 46889 2010-12-07 Csaba Osztrogonc <ossy (a] webkit.org> 46890 46891 Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey. 46892 46893 * page/animation/AnimationBase.cpp: 46894 (WebCore::addShorthandProperties): 46895 46896 2010-12-07 Martin Robinson <mrobinson (a] igalia.com> 46897 46898 Unreviewed, rolling out r73392. 46899 http://trac.webkit.org/changeset/73392 46900 https://bugs.webkit.org/show_bug.cgi?id=50489 46901 46902 This commit caused crashes on the GTK+ bots 46903 46904 * bindings/ScriptControllerBase.cpp: 46905 (WebCore::ScriptController::executeIfJavaScriptURL): 46906 * dom/Document.cpp: 46907 (WebCore::Document::Document): 46908 (WebCore::Document::close): 46909 (WebCore::Document::lastModified): 46910 (WebCore::Document::finishedParsing): 46911 (WebCore::Document::initSecurityContext): 46912 (WebCore::Document::updateURLForPushOrReplaceState): 46913 * dom/Document.h: 46914 * dom/ProcessingInstruction.cpp: 46915 (WebCore::ProcessingInstruction::checkStyleSheet): 46916 * dom/ScriptElement.cpp: 46917 (WebCore::ScriptElement::scriptCharset): 46918 * html/HTMLLinkElement.cpp: 46919 (WebCore::HTMLLinkElement::process): 46920 * html/MediaDocument.cpp: 46921 (WebCore::MediaDocument::replaceMediaElementTimerFired): 46922 * html/PluginDocument.cpp: 46923 (WebCore::PluginDocumentParser::createDocumentStructure): 46924 * loader/DocumentLoader.cpp: 46925 (WebCore::DocumentLoader::DocumentLoader): 46926 (WebCore::DocumentLoader::finishedLoading): 46927 (WebCore::DocumentLoader::commitData): 46928 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 46929 (WebCore::DocumentLoader::setFrame): 46930 * loader/DocumentLoader.h: 46931 * loader/DocumentWriter.cpp: 46932 (WebCore::DocumentWriter::begin): 46933 * loader/DocumentWriter.h: 46934 * loader/FrameLoader.cpp: 46935 (WebCore::FrameLoader::FrameLoader): 46936 (WebCore::FrameLoader::init): 46937 (WebCore::FrameLoader::clear): 46938 (WebCore::FrameLoader::receivedFirstData): 46939 (WebCore::FrameLoader::transitionToCommitted): 46940 (WebCore::FrameLoader::open): 46941 (WebCore::FrameLoader::finishedLoadingDocument): 46942 (WebCore::FrameLoader::addExtraFieldsToRequest): 46943 * loader/FrameLoader.h: 46944 (WebCore::FrameLoader::writer): 46945 * loader/cache/CachedResourceLoader.cpp: 46946 (WebCore::CachedResourceLoader::requestPreload): 46947 * platform/network/FormDataBuilder.cpp: 46948 (WebCore::FormDataBuilder::encodingFromAcceptCharset): 46949 * svg/graphics/SVGImage.cpp: 46950 (WebCore::SVGImage::dataChanged): 46951 46952 2010-12-07 Patrick Gansterer <paroga (a] webkit.org> 46953 46954 Reviewed by Andreas Kling. 46955 46956 [CMake] Remove WebKitGenerators 46957 https://bugs.webkit.org/show_bug.cgi?id=50445 46958 46959 Move remaining logic into main CMakeLists.txt. 46960 46961 * CMakeLists.txt: 46962 46963 2010-12-07 Justin Schuh <jschuh (a] chromium.org> 46964 46965 Reviewed by Nikolas Zimmermann. 46966 46967 Clear old SVG cursor entry before adding a new one 46968 https://bugs.webkit.org/show_bug.cgi?id=50549 46969 46970 Test: svg/css/cursor-replace.svg 46971 46972 * css/CSSCursorImageValue.cpp: 46973 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 46974 * svg/SVGCursorElement.cpp: 46975 (WebCore::SVGCursorElement::~SVGCursorElement): 46976 (WebCore::SVGCursorElement::removeClient): 46977 (WebCore::SVGCursorElement::removeReferencedElement): 46978 * svg/SVGCursorElement.h: 46979 * svg/SVGElement.cpp: 46980 (WebCore::SVGElement::setCursorElement): 46981 (WebCore::SVGElement::cursorElementRemoved): 46982 (WebCore::SVGElement::setCursorImageValue): 46983 (WebCore::SVGElement::cursorImageElementRemoved): 46984 * svg/SVGElement.h: 46985 46986 2010-12-07 Kenichi Ishibashi <bashi (a] google.com> 46987 46988 Reviewed by Kent Tamura. 46989 46990 Let HTMLObjectElement be a form associated element 46991 https://bugs.webkit.org/show_bug.cgi?id=48821 46992 46993 Introduces FormAssociatedElement class which would be a super class 46994 of form assocated elements. Some of member functions and variables of 46995 HTMLFormControlElement are migrated into this class. 46996 Following the HTML5 spec, HTMLFormControlElement class and 46997 HTMLObjectElement class are subclasses of it for now. 46998 46999 Test: fast/forms/form-collection-elements-order.html 47000 47001 * Android.mk: Added FormAssociatedElement.cpp 47002 * CMakeLists.txt: Ditto. 47003 * GNUmakefile.am: Added FormAssociatedElement.{cpp,h} 47004 * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*) 47005 * WebCore.gypi: Added FormAssociatedElement.{cpp,h} 47006 * WebCore.pro: Ditto. 47007 * WebCore.vcproj/WebCore.vcproj: Ditto. 47008 * WebCore.xcodeproj/project.pbxproj: Ditto. 47009 * dom/CheckedRadioButtons.h: Fixed class forward declaration order. 47010 * dom/Document.cpp: 47011 (WebCore::Document::registerFormElementWithFormAttribute): Modified to 47012 use FormAssociatedElement instead of HTMLFormControlElement 47013 (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto. 47014 (WebCore::Document::resetFormElementsOwner): 47015 * dom/Document.h: Ditto. 47016 * html/DOMFormData.cpp: Ditto. 47017 (WebCore::DOMFormData::DOMFormData): 47018 * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp. 47019 (WebCore::FormAssociatedElement::FormAssociatedElement): 47020 (WebCore::FormAssociatedElement::~FormAssociatedElement): 47021 (WebCore::FormAssociatedElement::validity): 47022 (WebCore::FormAssociatedElement::insertedIntoTree): 47023 (WebCore::FormAssociatedElement::removedFromTree): 47024 (WebCore::FormAssociatedElement::removeFromForm): 47025 (WebCore::FormAssociatedElement::resetFormOwner): 47026 (WebCore::FormAssociatedElement::formAttributeChanged): 47027 (WebCore::toHTMLElement): 47028 * html/FormAssociatedElement.h: Ditto. 47029 (WebCore::FormAssociatedElement::ref): 47030 (WebCore::FormAssociatedElement::deref): 47031 (WebCore::FormAssociatedElement::formDestroyed): 47032 (WebCore::FormAssociatedElement::setForm): 47033 * html/HTMLElement.h: Changed the access level of findFormAncestor(). 47034 * html/HTMLFormCollection.cpp: 47035 (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement 47036 instead of HTMLFormControlElement. 47037 (WebCore::HTMLFormCollection::getNamedFormItem): Ditto. 47038 (WebCore::HTMLFormCollection::updateNameCache): Ditto. 47039 * html/HTMLFormControlElement.cpp: Modified regarding with the change of class 47040 hierarchy. 47041 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 47042 (WebCore::HTMLFormControlElement::~HTMLFormControlElement): 47043 (WebCore::HTMLFormControlElement::insertedIntoTree): 47044 (WebCore::HTMLFormControlElement::removedFromTree): 47045 (WebCore::HTMLFormControlElement::supportsFocus): 47046 (WebCore::HTMLFormControlElement::checkValidity): 47047 (WebCore::HTMLFormControlElement::virtualForm): 47048 (WebCore::HTMLFormControlElement::isDefaultButtonForForm): 47049 (WebCore::HTMLFormControlElement::attributeChanged): 47050 * html/HTMLFormControlElement.h: Ditto. 47051 (WebCore::HTMLFormControlElement::form): 47052 (WebCore::HTMLFormControlElement::disabled): 47053 (WebCore::HTMLFormControlElement::type): 47054 (WebCore::HTMLFormControlElement::refFormAssociatedElement): 47055 (WebCore::HTMLFormControlElement::derefFormAssociatedElement): 47056 * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement 47057 instead of HTMLFormControlElement. 47058 (WebCore::HTMLFormElement::submitImplicitly): 47059 (WebCore::HTMLFormElement::validateInteractively): 47060 (WebCore::HTMLFormElement::submit): 47061 (WebCore::HTMLFormElement::reset): 47062 (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): 47063 (WebCore::HTMLFormElement::formElementIndex): 47064 (WebCore::HTMLFormElement::registerFormElement): 47065 (WebCore::HTMLFormElement::removeFormElement): 47066 (WebCore::HTMLFormElement::defaultButton): 47067 (WebCore::HTMLFormElement::checkValidity): 47068 (WebCore::HTMLFormElement::collectUnhandledInvalidControls): 47069 (WebCore::HTMLFormElement::documentDidBecomeActive): 47070 * html/HTMLFormElement.h: Ditto. 47071 (WebCore::HTMLFormElement::associatedElements): 47072 * html/HTMLInputElement.cpp: Ditto. 47073 (WebCore::HTMLInputElement::updateCheckedRadioButtons): 47074 * html/HTMLObjectElement.cpp: Modified regarding with the change of class 47075 hierarchy. 47076 (WebCore::HTMLObjectElement::HTMLObjectElement): 47077 (WebCore::HTMLObjectElement::~HTMLObjectElement): 47078 (WebCore::HTMLObjectElement::create): 47079 (WebCore::HTMLObjectElement::attributeChanged): 47080 (WebCore::HTMLObjectElement::insertedIntoTree): 47081 (WebCore::HTMLObjectElement::removedFromTree): 47082 (WebCore::HTMLObjectElement::appendFormData): 47083 (WebCore::HTMLObjectElement::formControlName): 47084 * html/HTMLObjectElement.h: Ditto. 47085 (WebCore::HTMLObjectElement::form): 47086 (WebCore::HTMLObjectElement::isFormControlElement): 47087 (WebCore::HTMLObjectElement::isEnumeratable): 47088 (WebCore::HTMLObjectElement::refFormAssociatedElement): 47089 (WebCore::HTMLObjectElement::derefFormAssociatedElement): 47090 * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag. 47091 * html/ValidationMessage.cpp: Modified to use FormAssociatedElement 47092 instead of HTMLFormControlElement. 47093 (WebCore::ValidationMessage::ValidationMessage): 47094 (WebCore::ValidationMessage::create): 47095 * html/ValidationMessage.h: Ditto. 47096 * html/ValidityState.cpp: Ditto. 47097 (WebCore::ValidityState::validationMessage): 47098 (WebCore::ValidityState::setCustomErrorMessage): 47099 (WebCore::ValidityState::valueMissing): 47100 (WebCore::ValidityState::typeMismatch): 47101 (WebCore::ValidityState::patternMismatch): 47102 (WebCore::ValidityState::tooLong): 47103 (WebCore::ValidityState::rangeUnderflow): 47104 (WebCore::ValidityState::rangeOverflow): 47105 (WebCore::ValidityState::stepMismatch): 47106 * html/ValidityState.h: Ditto. 47107 (WebCore::ValidityState::create): 47108 (WebCore::ValidityState::ValidityState): 47109 * loader/FormSubmission.cpp: Ditto. 47110 (WebCore::FormSubmission::create): 47111 47112 2010-12-06 Pavel Feldman <pfeldman (a] chromium.org> 47113 47114 Not reviewed. Rolling out r72988 for breaking iframes. 47115 47116 * css/CSSImportRule.cpp: 47117 (WebCore::CSSImportRule::insertedIntoParent): 47118 47119 2010-12-06 Hironori Bono <hbono (a] chromium.org> 47120 47121 Reviewed by David Levin. 47122 47123 [Chromium] Refactor FontCacheChromiumWin.cpp 47124 https://bugs.webkit.org/show_bug.cgi?id=50611 47125 47126 This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file. 47127 47128 No new tests are added since this is a refactoring. 47129 47130 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 47131 (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file. 47132 (WebCore::toGDIFontWeight): Moved to the beginning of the file. 47133 (WebCore::FillLogFont): Moved to the beginning of the file. 47134 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file. 47135 (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file. 47136 (WebCore::FontCache::platformInit): Moved after the static functions. 47137 47138 2010-12-06 Alexey Marinichev <amarinichev (a] chromium.org> 47139 47140 Reviewed by Kenneth Russell. 47141 47142 Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored. 47143 https://bugs.webkit.org/show_bug.cgi?id=50364 47144 47145 No new tests since there is currently no way to force a context lost event. 47146 47147 * html/canvas/WebGLRenderingContext.cpp: 47148 (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired): 47149 (WebCore::WebGLRenderingContext::create): 47150 (WebCore::WebGLRenderingContext::WebGLRenderingContext): 47151 (WebCore::WebGLRenderingContext::isContextLost): 47152 (WebCore::WebGLRenderingContext::loseContext): 47153 (WebCore::WebGLRenderingContext::restoreContext): 47154 * html/canvas/WebGLRenderingContext.h: 47155 (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer): 47156 47157 2010-12-06 David Hyatt <hyatt (a] apple.com> 47158 47159 Reviewed by Simon Fraser. 47160 47161 https://bugs.webkit.org/show_bug.cgi?id=50593 47162 47163 Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect. 47164 47165 Just use the RenderView's document dimensions always. 47166 47167 * rendering/RenderBox.cpp: 47168 (WebCore::RenderBox::paintRootBoxDecorations): 47169 47170 2010-12-06 Simon Fraser <simon.fraser (a] apple.com> 47171 47172 Reviewed by Beth Dakin. 47173 47174 CSS animation doesn't work for border-radius 47175 https://bugs.webkit.org/show_bug.cgi?id=48340 47176 47177 Include CSSPropertyBorderRadius in the list of shorthand 47178 properties, so that the individual border-radius properties 47179 get animated. 47180 47181 Test: transitions/border-radius-transition.html 47182 47183 * page/animation/AnimationBase.cpp: 47184 (WebCore::addShorthandProperties): 47185 47186 2010-12-06 Ryosuke Niwa <rniwa (a] webkit.org> 47187 47188 Reviewed by Tony Chang. 47189 47190 ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration 47191 https://bugs.webkit.org/show_bug.cgi?id=49938 47192 47193 Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle* 47194 instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle 47195 by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and 47196 EditingStyle::extractAndRemoveBlockProperties. 47197 47198 No new tests are added since this is a refactoring. 47199 47200 * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle. 47201 * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const. 47202 (WebCore::CSSMutableStyleDeclaration::merge): 47203 * css/CSSMutableStyleDeclaration.h: 47204 * editing/ApplyStyleCommand.cpp: 47205 (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*. 47206 (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle. 47207 * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration. 47208 (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*. 47209 * editing/CompositeEditCommand.cpp: 47210 (WebCore::CompositeEditCommand::applyStyle): Ditto. 47211 (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle. 47212 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. 47213 * editing/CompositeEditCommand.h: 47214 * editing/DeleteSelectionCommand.cpp: 47215 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto. 47216 * editing/EditCommand.cpp: 47217 * editing/EditCommand.h: 47218 * editing/EditingStyle.cpp: 47219 (WebCore::EditingStyle::~EditingStyle): Added. 47220 (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete. 47221 (WebCore::EditingStyle::copy): Added. 47222 (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete. 47223 * editing/EditingStyle.h: 47224 * editing/Editor.cpp: 47225 (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create. 47226 (WebCore::Editor::applyParagraphStyle): Ditto. 47227 (WebCore::Editor::computeAndSetTypingStyle): Ditto. 47228 * editing/InsertLineBreakCommand.cpp: 47229 (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle. 47230 * editing/InsertParagraphSeparatorCommand.cpp: 47231 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto. 47232 * editing/InsertTextCommand.cpp: 47233 (WebCore::InsertTextCommand::input): Ditto. 47234 * editing/RemoveFormatCommand.cpp: 47235 (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create. 47236 * editing/ReplaceSelectionCommand.cpp: 47237 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle. 47238 * editing/SelectionController.cpp: 47239 (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h 47240 * editing/SelectionController.h: 47241 47242 2010-12-05 Ryosuke Niwa <rniwa (a] webkit.org> 47243 47244 Reviewed by Tony Chang. 47245 47246 Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre 47247 https://bugs.webkit.org/show_bug.cgi?id=47300 47248 47249 The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode 47250 contains more than one paragraphs even when the refNode is fully selected. 47251 47252 Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in 47253 such a situation. 47254 47255 Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection 47256 is not properly updated when the end of selection resides in the node split by 47257 rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded. 47258 47259 Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html 47260 47261 * editing/ApplyBlockElementCommand.cpp: 47262 (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph. 47263 (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates 47264 m_endOfLastParagraph when the position points to the node split by this function. 47265 (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto. 47266 * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable. 47267 * editing/FormatBlockCommand.cpp: 47268 (WebCore::FormatBlockCommand::formatRange): See above. 47269 * editing/FormatBlockCommand.h: 47270 * editing/IndentOutdentCommand.cpp: 47271 (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection. 47272 * editing/IndentOutdentCommand.h: 47273 47274 2010-12-03 Zhenyao Mo <zmo (a] google.com> 47275 47276 Reviewed by Kenneth Russell. 47277 47278 Postpone gl delete* calls until shaders/programs are no longer attached 47279 https://bugs.webkit.org/show_bug.cgi?id=50501 47280 47281 * html/canvas/WebGLBuffer.cpp: 47282 (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource. 47283 * html/canvas/WebGLFramebuffer.cpp: 47284 (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto. 47285 * html/canvas/WebGLObject.cpp: 47286 (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not. 47287 * html/canvas/WebGLObject.h: 47288 (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion. 47289 (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject. 47290 (WebCore::WebGLObject::isDeleted): Make this public. 47291 * html/canvas/WebGLProgram.cpp: 47292 (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource. 47293 * html/canvas/WebGLRenderbuffer.cpp: 47294 (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto. 47295 * html/canvas/WebGLRenderingContext.cpp: 47296 (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS. 47297 (WebCore::WebGLRenderingContext::getShaderParameter): Ditto. 47298 * html/canvas/WebGLShader.cpp: 47299 (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource. 47300 * html/canvas/WebGLTexture.cpp: 47301 (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource. 47302 47303 2010-12-06 Ryosuke Niwa <rniwa (a] webkit.org> 47304 47305 Yet unreviewed another Leopard build fix for r73380. 47306 47307 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 47308 (PlatformCAAnimation::setKeyTimes): 47309 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 47310 (PlatformCALayer::platformCALayer): 47311 47312 2010-12-06 Andy Estes <aestes (a] apple.com> 47313 47314 Reviewed by Darin Adler. 47315 47316 Marquee elements do not stop animating when scrollAmount is set to 0. 47317 https://bugs.webkit.org/show_bug.cgi?id=50434 47318 47319 Test: fast/html/marquee-scrollamount.html 47320 47321 * rendering/RenderMarquee.cpp: 47322 (WebCore::RenderMarquee::timerFired): Allow increment to be 0. 47323 47324 2010-12-06 Ryosuke Niwa <rniwa (a] webkit.org> 47325 47326 Unreviewed Leopard buildfix for r73380. 47327 47328 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 47329 (PlatformCAAnimation::setTimingFunctions): 47330 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 47331 (PlatformCALayer::PlatformCALayer): 47332 47333 2010-12-06 Philippe Normand <pnormand (a] igalia.com> 47334 47335 Reviewed by Martin Robinson. 47336 47337 [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer 47338 https://bugs.webkit.org/show_bug.cgi?id=44157 47339 47340 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 47341 (webKitWebSrcNeedDataMainCb): 47342 (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code 47343 with cross-platform ResourceHandle::setDefersLoading calls. 47344 47345 2010-12-06 Ryosuke Niwa <rniwa (a] webkit.org> 47346 47347 Unreviewed Leopard build fix for r73388. 47348 47349 * accessibility/AccessibilitySlider.cpp: 47350 (WebCore::AccessibilitySlider::maxValueForRange): 47351 (WebCore::AccessibilitySlider::minValueForRange): 47352 47353 2010-12-06 Ryosuke Niwa <rniwa (a] webkit.org> 47354 47355 Unreviewed build fix for Leopard after r73379. 47356 47357 * platform/graphics/cg/GraphicsContextCG.cpp: 47358 (WebCore::GraphicsContext::setAllowsFontSmoothing): 47359 47360 2010-12-06 Nate Chapin <japhet (a] chromium.org> 47361 47362 Reviewed by Adam Barth. 47363 47364 Make DocumentWriter a member of DocumentLoader 47365 instead of FrameLoader. 47366 https://bugs.webkit.org/show_bug.cgi?id=50489 47367 47368 Refactor, no new tests. 47369 47370 * bindings/ScriptControllerBase.cpp: 47371 (WebCore::ScriptController::executeIfJavaScriptURL): 47372 * dom/Document.cpp: 47373 (WebCore::Document::Document): 47374 (WebCore::Document::close): 47375 (WebCore::Document::lastModified): 47376 (WebCore::Document::finishedParsing): 47377 (WebCore::Document::initSecurityContext): 47378 (WebCore::Document::updateURLForPushOrReplaceState): 47379 * dom/Document.h: 47380 (WebCore::Document::setDocumentLoader): 47381 (WebCore::Document::loader): 47382 * dom/ProcessingInstruction.cpp: 47383 (WebCore::ProcessingInstruction::checkStyleSheet): 47384 * dom/ScriptElement.cpp: 47385 (WebCore::ScriptElement::scriptCharset): 47386 * html/HTMLLinkElement.cpp: 47387 (WebCore::HTMLLinkElement::process): 47388 * html/MediaDocument.cpp: 47389 (WebCore::MediaDocument::replaceMediaElementTimerFired): 47390 * html/PluginDocument.cpp: 47391 (WebCore::PluginDocumentParser::createDocumentStructure): 47392 * loader/DocumentLoader.cpp: 47393 (WebCore::DocumentLoader::DocumentLoader): 47394 (WebCore::DocumentLoader::finishedLoading): 47395 (WebCore::DocumentLoader::commitData): 47396 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 47397 (WebCore::DocumentLoader::setFrame): 47398 * loader/DocumentLoader.h: 47399 (WebCore::DocumentLoader::writer): 47400 * loader/DocumentWriter.h: 47401 (WebCore::DocumentWriter::setFrame): 47402 * loader/FrameLoader.cpp: 47403 (WebCore::FrameLoader::FrameLoader): 47404 (WebCore::FrameLoader::init): 47405 (WebCore::FrameLoader::clear): 47406 (WebCore::FrameLoader::receivedFirstData): 47407 (WebCore::FrameLoader::transitionToCommitted): 47408 (WebCore::FrameLoader::open): 47409 (WebCore::FrameLoader::finishedLoadingDocument): 47410 (WebCore::FrameLoader::addExtraFieldsToRequest): 47411 * loader/FrameLoader.h: 47412 (WebCore::FrameLoader::notifier): 47413 * loader/cache/CachedResourceLoader.cpp: 47414 (WebCore::CachedResourceLoader::requestPreload): 47415 * platform/network/FormDataBuilder.cpp: 47416 (WebCore::FormDataBuilder::encodingFromAcceptCharset): 47417 * svg/graphics/SVGImage.cpp: 47418 (WebCore::SVGImage::dataChanged): 47419 47420 2010-12-06 Mark Rowe <mrowe (a] apple.com> 47421 47422 Build fix. 47423 47424 * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK. 47425 That's just plain wrong. 47426 47427 2010-12-06 Chris Fleizach <cfleizach (a] apple.com> 47428 47429 Reviewed by Darin Adler. 47430 47431 HTML5 Slider does not work correctly with VoiceOver 47432 https://bugs.webkit.org/show_bug.cgi?id=50505 47433 47434 Address a few problems with the Mac implementation for the accessibility slider. 47435 1) The value indicator is not hit testable. 47436 2) The value indicator does not return an AXValue. 47437 3) In the slider, the min/max values are not correct when min/max attributes are not present. 47438 4) When you change the value with the keyboard, it doesn't send out the right notification. 47439 5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes. 47440 47441 Test: platform/mac/accessibility/html-slider-indicator.html 47442 47443 * accessibility/AccessibilityObject.cpp: 47444 (WebCore::AccessibilityObject::getAttribute): 47445 Use fastGetAttribute on Element, instead of getAttribute. 47446 * accessibility/AccessibilityObject.h: 47447 (WebCore::AccessibilityObject::isInputSlider): 47448 * accessibility/AccessibilityRenderObject.cpp: 47449 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 47450 * accessibility/AccessibilitySlider.cpp: 47451 (WebCore::AccessibilitySlider::doAccessibilityHitTest): 47452 (WebCore::AccessibilitySlider::maxValueForRange): 47453 (WebCore::AccessibilitySlider::minValueForRange): 47454 * accessibility/AccessibilitySlider.h: 47455 (WebCore::AccessibilitySlider::isInputSlider): 47456 * accessibility/mac/AccessibilityObjectWrapper.mm: 47457 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 47458 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 47459 * html/HTMLInputElement.cpp: 47460 (WebCore::HTMLInputElement::applyStep): 47461 47462 2010-12-06 David Hyatt <hyatt (a] apple.com> 47463 47464 Reviewed by Simon Fraser. 47465 47466 Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now 47467 O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition. 47468 47469 This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow 47470 in the engine to cache all the information required to properly handle scrolling. 47471 47472 In the old code, there were two types of overflow: layout overflow and visual overflow. The former could 47473 affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow 47474 wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer 47475 boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and 47476 visual overflow rects. 47477 47478 In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow 47479 is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has 47480 been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to 47481 work with writing modes. 47482 47483 In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members. 47484 Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful). 47485 A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise 47486 a huge number of tests would change. 47487 47488 Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest. 47489 47490 * page/FrameView.cpp: 47491 (WebCore::FrameView::adjustViewSize): 47492 (WebCore::FrameView::forceLayoutForPagination): 47493 Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it 47494 to account for writing modes. 47495 47496 * platform/graphics/IntRect.h: 47497 (WebCore::IntRect::shiftLeftEdgeTo): 47498 (WebCore::IntRect::shiftRightEdgeTo): 47499 (WebCore::IntRect::shiftTopEdgeTo): 47500 (WebCore::IntRect::shiftBottomEdgeTo): 47501 New helper functions for sliding the edge of a rectangle without moving any of the other three edges. 47502 47503 * rendering/InlineBox.h: 47504 (WebCore::InlineBox::frameRect): 47505 frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect. 47506 47507 * rendering/InlineFlowBox.cpp: 47508 (WebCore::InlineFlowBox::placeBoxesInInlineDirection): 47509 All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed 47510 at once now in a single function: computeOverflow. 47511 47512 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): 47513 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 47514 (WebCore::InlineFlowBox::addReplacedChildOverflow): 47515 Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow. 47516 47517 (WebCore::InlineFlowBox::computeOverflow): 47518 The new function that computes both horizontal and vertical overflow for a line box. 47519 47520 (WebCore::InlineFlowBox::setLayoutOverflow): 47521 (WebCore::InlineFlowBox::setVisualOverflow): 47522 (WebCore::InlineFlowBox::setOverflowFromLogicalRects): 47523 New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions 47524 and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles. 47525 47526 (WebCore::InlineFlowBox::nodeAtPoint): 47527 (WebCore::InlineFlowBox::paint): 47528 Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual 47529 overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.) 47530 47531 * rendering/InlineFlowBox.h: 47532 (WebCore::InlineFlowBox::logicalLayoutOverflowRect): 47533 (WebCore::InlineFlowBox::logicalVisualOverflowRect): 47534 Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before 47535 converting to block coordinates at the end. 47536 47537 * rendering/RenderBlock.cpp: 47538 (WebCore::RenderBlock::layoutBlock): 47539 (WebCore::RenderBlock::addOverflowFromChildren): 47540 (WebCore::RenderBlock::computeOverflow): 47541 (WebCore::RenderBlock::addOverflowFromFloats): 47542 (WebCore::RenderBlock::addOverflowFromPositionedObjects): 47543 Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren 47544 method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and 47545 propagate marker overflow up, and RenderTable adds in overflow from its sections. 47546 47547 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 47548 (WebCore::RenderBlock::layoutPositionedObjects): 47549 When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single 47550 callable method: computeOverflow, makes it possible for this to be done easily. 47551 47552 (WebCore::RenderBlock::paint): 47553 visible -> visual. 47554 47555 (WebCore::RenderBlock::addOverhangingFloats): 47556 The propagation of float overflow has changed substantially. The basic rules are: 47557 (1) The float must be in our floating objects list to contribute to overflow. 47558 (2) The float must be a descendant to contribute to overflow. 47559 (3) The block must have the outermost list that contains the float, or it has a self-painting layer and 47560 so the float needs to be included in its overflow. 47561 47562 (WebCore::RenderBlock::nodeAtPoint): 47563 visible -> visual. 47564 47565 (WebCore::RenderBlock::layoutColumns): 47566 Remove column overflow computation from layoutColumns and move it to computeOverflow. 47567 47568 (WebCore::RenderBlock::adjustLinePositionForPagination): 47569 visible -> visual. 47570 47571 * rendering/RenderBlock.h: 47572 (WebCore::RenderBlock::scrollbarsChanged): 47573 Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go. 47574 47575 * rendering/RenderBlockLineLayout.cpp: 47576 (WebCore::RenderBlock::layoutInlineChildren): 47577 (WebCore::RenderBlock::determineStartPosition): 47578 (WebCore::RenderBlock::matchedEndLine): 47579 (WebCore::RenderBlock::addOverflowFromInlineChildren): 47580 (WebCore::RenderBlock::beforeSideVisualOverflowForLine): 47581 (WebCore::RenderBlock::afterSideVisualOverflowForLine): 47582 visible -> visual. 47583 47584 * rendering/RenderBox.cpp: 47585 (WebCore::RenderBox::scrollWidth): 47586 (WebCore::RenderBox::scrollHeight): 47587 Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions. 47588 47589 (WebCore::RenderBox::paintRootBoxDecorations): 47590 Use docLeft and docTop here, so that writing modes are handled. 47591 47592 (WebCore::RenderBox::clippedOverflowRectForRepaint): 47593 visible -> visual. 47594 47595 (WebCore::RenderBox::addOverflowFromChild): 47596 (WebCore::RenderBox::addLayoutOverflow): 47597 (WebCore::RenderBox::addVisualOverflow): 47598 (WebCore::RenderBox::logicalVisualOverflowRectForPropagation): 47599 (WebCore::RenderBox::visualOverflowRectForPropagation): 47600 (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation): 47601 (WebCore::RenderBox::layoutOverflowRectForPropagation): 47602 * rendering/RenderBox.h: 47603 The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes 47604 for transforms, relative positioning and writing mode differences. 47605 47606 (WebCore::RenderBox::layoutOverflowRect): 47607 (WebCore::RenderBox::topLayoutOverflow): 47608 (WebCore::RenderBox::bottomLayoutOverflow): 47609 (WebCore::RenderBox::leftLayoutOverflow): 47610 (WebCore::RenderBox::rightLayoutOverflow): 47611 Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions. 47612 47613 (WebCore::RenderBox::clientLogicalBottom): 47614 New helper for obtaining the logical bottom of the client box. 47615 47616 (WebCore::RenderBox::clientBoxRect): 47617 New helper for obtaining the clientLeft/Top/Width/Height box. 47618 47619 * rendering/RenderBoxModelObject.h: 47620 (WebCore::RenderBoxModelObject::relativePositionLogicalOffset): 47621 Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow. 47622 47623 * rendering/RenderFlexibleBox.cpp: 47624 (WebCore::RenderFlexibleBox::layoutBlock): 47625 Changed flexible boxes to just call the base class computeOverflow method. 47626 47627 * rendering/RenderInline.cpp: 47628 (WebCore::RenderInline::linesVisualOverflowBoundingBox): 47629 (WebCore::RenderInline::clippedOverflowRectForRepaint): 47630 visible -> visual. 47631 47632 * rendering/RenderInline.h: 47633 * rendering/RenderLayer.cpp: 47634 (WebCore::RenderLayer::updateLayerPosition): 47635 Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout 47636 tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting 47637 layers now.) 47638 47639 (WebCore::RenderLayer::overflowTop): 47640 (WebCore::RenderLayer::overflowBottom): 47641 (WebCore::RenderLayer::overflowLeft): 47642 (WebCore::RenderLayer::overflowRight): 47643 overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used 47644 to set up the scroll area. 47645 47646 (WebCore::RenderLayer::computeScrollDimensions): 47647 Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow. 47648 47649 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 47650 Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the 47651 bottom works. 47652 47653 (WebCore::performOverlapTests): 47654 (WebCore::RenderLayer::paintLayer): 47655 Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out 47656 of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead. 47657 47658 (WebCore::RenderLayer::hitTest): 47659 Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account 47660 for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead, 47661 so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping). 47662 47663 (WebCore::RenderLayer::localBoundingBox): 47664 visible -> visual. 47665 47666 * rendering/RenderLayer.h: 47667 Added the new overflowTop/Left/Right/Bottom accessors. 47668 47669 * rendering/RenderLineBoxList.cpp: 47670 (WebCore::RenderLineBoxList::anyLineIntersectsRect): 47671 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): 47672 (WebCore::RenderLineBoxList::paint): 47673 (WebCore::RenderLineBoxList::hitTest): 47674 visible -> visual. 47675 47676 * rendering/RenderListItem.cpp: 47677 (WebCore::RenderListItem::addOverflowFromChildren): 47678 (WebCore::RenderListItem::positionListMarker): 47679 * rendering/RenderListItem.h: 47680 RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item. 47681 47682 * rendering/RenderListMarker.cpp: 47683 (WebCore::RenderListMarker::paint): 47684 visible -> visual. 47685 47686 * rendering/RenderMarquee.cpp: 47687 (WebCore::RenderMarquee::computePosition): 47688 Changed to use overflow functions instead of rightmost/lowestPosition. 47689 47690 * rendering/RenderMedia.cpp: 47691 * rendering/RenderMedia.h: 47692 Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already. 47693 47694 * rendering/RenderOverflow.h: 47695 (WebCore::RenderOverflow::RenderOverflow): 47696 (WebCore::RenderOverflow::setLayoutOverflow): 47697 (WebCore::RenderOverflow::setVisualOverflow): 47698 Add new setters for layout and visual overflow as rects. 47699 47700 * rendering/RenderReplaced.cpp: 47701 (WebCore::RenderReplaced::shouldPaint): 47702 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 47703 visible -> visual. 47704 47705 * rendering/RenderRubyRun.cpp: 47706 (WebCore::RenderRubyRun::layout): 47707 Call computeOverflow to recompute our overflow information after we adjust the ruby. 47708 47709 * rendering/RenderTable.cpp: 47710 (WebCore::RenderTable::layout): 47711 (WebCore::RenderTable::addOverflowFromChildren): 47712 (WebCore::RenderTable::paint): 47713 * rendering/RenderTable.h: 47714 Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow. 47715 47716 * rendering/RenderTableCell.cpp: 47717 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 47718 visible -> visual. 47719 47720 (WebCore::RenderTableCell::scrollbarsChanged): 47721 Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed 47722 a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the 47723 cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic 47724 padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions. 47725 47726 * rendering/RenderTableCell.h: 47727 (WebCore::RenderTableCell::hasVisualOverflow): 47728 visible -> visual. 47729 47730 * rendering/RenderTableSection.cpp: 47731 (WebCore::RenderTableSection::layoutRows): 47732 * rendering/RenderTableSection.h: 47733 visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions. 47734 47735 * rendering/RenderTreeAsText.cpp: 47736 (WebCore::writeLayers): 47737 Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests 47738 from failing. 47739 47740 * rendering/RenderView.cpp: 47741 (WebCore::RenderView::layout): 47742 (WebCore::RenderView::docTop): 47743 (WebCore::RenderView::docBottom): 47744 (WebCore::RenderView::docLeft): 47745 (WebCore::RenderView::docRight): 47746 * rendering/RenderView.h: 47747 (WebCore::RenderView::docHeight): 47748 (WebCore::RenderView::docWidth): 47749 RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods 47750 are now the preferred way to query for the physical dimensions of a document. 47751 47752 * rendering/RootInlineBox.cpp: 47753 (WebCore::RootInlineBox::addHighlightOverflow): 47754 Changed to call setOverflowFromLogicalRects instead of the block/inline position functions. 47755 47756 (WebCore::RootInlineBox::alignBoxesInBlockDirection): 47757 Remove the computation of block direction overflow, since it now all happens at once after the line is built. 47758 47759 (WebCore::RootInlineBox::paddedLayoutOverflowRect): 47760 * rendering/RootInlineBox.h: 47761 Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret 47762 in LTR if needed. 47763 47764 2010-12-06 Chris Marrin <cmarrin (a] apple.com> 47765 47766 Reviewed by Simon Fraser. 47767 47768 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 47769 https://bugs.webkit.org/show_bug.cgi?id=49388 47770 47771 Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 47772 identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 47773 with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 47774 platform neutral as long as implementations of those two classes are available. 47775 Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 47776 rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 47777 to avoid confusion since both names were used to refer to the same thing. 47778 47779 This patch is only for Mac. Windows implementation has not changed. 47780 47781 * WebCore.xcodeproj/project.pbxproj: 47782 * platform/graphics/GraphicsLayer.h: 47783 * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp. 47784 * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h. 47785 * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h. 47786 * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h. 47787 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm. 47788 (toCAMediaTimingFunction): 47789 * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm. 47790 (PlatformCALayer::PlatformCALayer): 47791 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 47792 * platform/graphics/chromium/GraphicsLayerChromium.h: 47793 * platform/graphics/mac/GraphicsLayerMac.h: Removed. 47794 * platform/graphics/mac/GraphicsLayerMac.mm: Removed. 47795 * platform/graphics/mac/WebLayer.h: 47796 * platform/graphics/mac/WebLayer.mm: 47797 (-[WebLayer setNeedsDisplay]): 47798 (-[WebLayer setNeedsDisplayInRect:]): 47799 (-[WebLayer display]): 47800 (-[WebLayer drawInContext:]): 47801 * platform/graphics/mac/WebTiledLayer.h: 47802 * platform/graphics/mac/WebTiledLayer.mm: 47803 (-[WebTiledLayer setNeedsDisplay]): 47804 (-[WebTiledLayer setNeedsDisplayInRect:]): 47805 (-[WebTiledLayer display]): 47806 (-[WebTiledLayer drawInContext:]): 47807 * platform/graphics/qt/GraphicsLayerQt.cpp: 47808 (WebCore::GraphicsLayerQtImpl::flushChanges): 47809 * platform/graphics/qt/GraphicsLayerQt.h: 47810 * platform/graphics/win/GraphicsLayerCACF.cpp: 47811 * platform/graphics/win/GraphicsLayerCACF.h: 47812 47813 2010-12-06 Simon Fraser <simon.fraser (a] apple.com> 47814 47815 Reviewed by Dan Bernstein. 47816 47817 Font antialiasing (smoothing) changes when elements are rendered into compositing layers 47818 https://bugs.webkit.org/show_bug.cgi?id=23364 47819 47820 Text rendered by Core Graphics over a transparent background looks bad because of 47821 font smoothing, so turn off smoothing when rendering text into compositing layers. 47822 47823 * platform/graphics/GraphicsContext.h: 47824 * platform/graphics/cg/GraphicsContextCG.cpp: 47825 (WebCore::GraphicsContext::setAllowsFontSmoothing): 47826 * platform/graphics/mac/WebLayer.mm: 47827 (drawLayerContents): 47828 47829 2010-12-06 Patrick Gansterer <paroga (a] webkit.org> 47830 47831 Reviewed by Andreas Kling. 47832 47833 [WINCE] Add build system 47834 https://bugs.webkit.org/show_bug.cgi?id=50522 47835 47836 * CMakeListsWinCE.txt: Added. 47837 47838 2010-12-06 Chris Fleizach <cfleizach (a] apple.com> 47839 47840 Reviewed by Oliver Hunt. 47841 47842 AX does not support HTML5 "required" 47843 https://bugs.webkit.org/show_bug.cgi?id=50507 47844 47845 Test: platform/mac/accessibility/html5-required-attribute.html 47846 47847 * accessibility/AccessibilityRenderObject.cpp: 47848 (WebCore::AccessibilityRenderObject::isRequired): 47849 47850 2010-12-06 Alejandro G. Castro <alex (a] igalia.com> 47851 47852 Reviewed by Martin Robinson. 47853 47854 [GTK] using shadows leaks memory 47855 https://bugs.webkit.org/show_bug.cgi?id=50541 47856 47857 Fixed leaks in the shadow code. 47858 * platform/graphics/cairo/CairoUtilities.cpp: 47859 (WebCore::drawPatternToCairoContext): adoptRef instead of just 47860 getting a new reference. 47861 * platform/graphics/cairo/GraphicsContextCairo.cpp: 47862 (WebCore::drawPathShadow): handle cairo_path_t with smart 47863 pointers. 47864 47865 2010-12-06 Yury Semikhatsky <yurys (a] chromium.org> 47866 47867 Reviewed by Pavel Feldman. 47868 47869 [v8] Web Inspector: remove duplicate code for capturing stack trace 47870 https://bugs.webkit.org/show_bug.cgi?id=50461 47871 47872 No new tests. Covered with existing inspector tests. 47873 47874 * bindings/js/ScriptCallStackFactory.cpp: 47875 (WebCore::createScriptCallStack): 47876 * bindings/js/ScriptCallStackFactory.h: 47877 * bindings/v8/ScriptCallStackFactory.cpp: 47878 (WebCore::toScriptCallFrame): 47879 (WebCore::toScriptCallFramesVector): 47880 (WebCore::createScriptCallStack): 47881 * bindings/v8/ScriptCallStackFactory.h: 47882 * bindings/v8/V8ConsoleMessage.cpp: 47883 (WebCore::V8ConsoleMessage::handler): 47884 * inspector/ScriptCallFrame.cpp: 47885 (WebCore::ScriptCallFrame::ScriptCallFrame): 47886 (WebCore::ScriptCallFrame::isEqual): 47887 (WebCore::ScriptCallFrame::buildInspectorObject): 47888 * inspector/ScriptCallFrame.h: 47889 (WebCore::ScriptCallFrame::sourceURL): 47890 * inspector/ScriptCallStack.h: 47891 * inspector/TimelineRecordFactory.cpp: 47892 (WebCore::TimelineRecordFactory::createGenericRecord): 47893 * inspector/front-end/ConsoleView.js: 47894 (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): 47895 47896 == Rolled over to ChangeLog-2010-12-06 == 47897