1 2011-04-13 Brian Salomon <bsalomon@google.com>
3 Reviewed by Kenneth Russell.
5 Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object
6 https://bugs.webkit.org/show_bug.cgi?id=58363
8 No new tests needed, exercised by all existing canvas2d tests.
10 * platform/graphics/chromium/DrawingBufferChromium.cpp:
11 (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc):
12 * platform/graphics/gpu/DrawingBuffer.h:
13 * platform/graphics/skia/PlatformContextSkia.cpp:
14 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
16 2011-04-13 Andrey Kosyakov <caseq@chromium.org>
18 Unreviewed. Fix chromium clang build problem:
19 ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method
20 with a different signature in base class instead of overriding it.
22 * css/CSSStyleApplyProperty.cpp:
23 (WebCore::ApplyPropertyExpandingSuppressValue::applyValue):
25 2011-04-13 Kinuko Yasuda <kinuko@chromium.org>
27 Reviewed by David Levin.
29 Add mock implementation and plumbing code for unified Quota API
30 https://bugs.webkit.org/show_bug.cgi?id=57927
32 Added mock implementation and some plumbing code for the quota API,
33 that is based on the discussion on public-webapps:
34 http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html
36 No new tests: tests will be added when we expose the API.
38 * CMakeLists.txt: Added new file entries.
39 * DerivedSources.cpp: Added new file entries.
40 * DerivedSources.make: Added new file entries.
41 * GNUmakefile.am: Added new file entries.
42 * WebCore.gypi: Added new file entries.
43 * WebCore.pro: Added new file entries.
44 * WebCore.vcproj/WebCore.vcproj: Added new file entries.
45 * WebCore.xcodeproj/project.pbxproj: Added new file entries.
46 * storage/StorageInfo.cpp: Added.
47 * storage/StorageInfo.h: Added.
48 * storage/StorageInfoErrorCallback.h: Added.
49 * storage/StorageInfoQuotaCallback.h: Added.
50 * storage/StorageInfoUsageCallback.h: Added.
52 2011-04-13 Gustavo Noronha Silva <gns@gnome.org>
54 Reviewed by Martin Robinson.
56 [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself
57 https://bugs.webkit.org/show_bug.cgi?id=58297
59 Make sure we do not load plugins that use symbols of a different
60 GTK+ major version to avoid bugs and crashes.
62 * plugins/gtk/PluginPackageGtk.cpp:
63 (WebCore::moduleMixesGtkSymbols):
64 (WebCore::PluginPackage::load):
66 2011-04-13 Andrey Adaikin <aandrey@google.com>
68 Reviewed by Pavel Feldman.
70 Web Inspector: Implement undo/redo in text editor
71 https://bugs.webkit.org/show_bug.cgi?id=58426
73 Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.)
74 Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z).
75 FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo.
77 * inspector/front-end/SourceFrame.js:
78 (WebInspector.SourceFrame.prototype.endEditing):
79 * inspector/front-end/TextEditorModel.js:
80 (WebInspector.TextEditorModel.prototype.setText):
81 (WebInspector.TextEditorModel.prototype._innerSetText):
82 (WebInspector.TextEditorModel.prototype._pushUndoableCommand):
83 (WebInspector.TextEditorModel.prototype.undo):
84 (WebInspector.TextEditorModel.prototype.redo):
85 (WebInspector.TextEditorModel.prototype._doUndo):
86 * inspector/front-end/TextViewer.js:
87 (WebInspector.TextViewer.prototype._textChanged):
88 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
89 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
90 (WebInspector.TextViewer.prototype._registerShortcuts):
91 (WebInspector.TextViewer.prototype._cancelEditing):
92 (WebInspector.TextViewer.prototype._handleUndoRedo):
93 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
94 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
95 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
96 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
97 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
98 (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
99 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
100 (WebInspector.TextEditorMainPanel.prototype.textChanged):
101 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
103 2011-04-13 Pavel Feldman <pfeldman@chromium.org>
105 Reviewed by Yury Semikhatsky.
107 Web Inspector: make optional event parameter last to prevent regressions.
108 https://bugs.webkit.org/show_bug.cgi?id=58433
110 * inspector/Inspector.json:
111 * inspector/InspectorResourceAgent.cpp:
112 (WebCore::InspectorResourceAgent::willSendRequest):
113 * inspector/front-end/NetworkManager.js:
114 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
116 2011-04-13 Pavel Feldman <pfeldman@chromium.org>
118 Not reviewed: revert Inspector.json change for breaking world.
120 * inspector/Inspector.json:
122 2011-04-13 Pavel Feldman <pfeldman@chromium.org>
124 Not reviewed: swap methods in the Inspector.json.
126 * inspector/Inspector.json:
128 2011-04-13 Csaba Osztrogonác <ossy@webkit.org>
130 Unreviewed, rolling out r83695.
131 http://trac.webkit.org/changeset/83695
132 https://bugs.webkit.org/show_bug.cgi?id=58375
134 [Qt][WK2]It broke http tests
136 * platform/network/qt/QNetworkReplyHandler.cpp:
137 (WebCore::QNetworkReplyHandler::start):
138 (WebCore::QNetworkReplyHandler::synchronousLoad):
139 * platform/network/qt/QNetworkReplyHandler.h:
140 * platform/network/qt/ResourceHandleQt.cpp:
141 (WebCore::WebCoreSynchronousLoader::resourceResponse):
142 (WebCore::WebCoreSynchronousLoader::resourceError):
143 (WebCore::WebCoreSynchronousLoader::data):
144 (WebCore::WebCoreSynchronousLoader::setReplyFinished):
145 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
146 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
147 (WebCore::WebCoreSynchronousLoader::didReceiveData):
148 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
149 (WebCore::WebCoreSynchronousLoader::didFail):
150 (WebCore::WebCoreSynchronousLoader::waitForCompletion):
151 (WebCore::ResourceHandle::loadResourceSynchronously):
153 2011-04-13 Pavel Podivilov <podivilov@chromium.org>
155 Reviewed by Pavel Feldman.
157 Web Inspector: inactive style sheets should be read only.
158 https://bugs.webkit.org/show_bug.cgi?id=58423
160 * inspector/front-end/ResourceView.js:
161 (WebInspector.CSSSourceFrame):
162 (WebInspector.CSSSourceFrame.prototype.isContentEditable):
163 (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId):
164 (WebInspector.CSSSourceFrame.prototype._loadStyleSheet):
166 2011-04-13 Mikhail Naganov <mnaganov@chromium.org>
168 Reviewed by Pavel Feldman.
170 Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers.
171 https://bugs.webkit.org/show_bug.cgi?id=58320
173 Introduce a proxy object that emulates worker behavior and change UI code to cope with it.
176 * WebCore.vcproj/WebCore.vcproj:
177 * inspector/front-end/DetailedHeapshotGridNodes.js:
178 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted):
179 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
180 (WebInspector.HeapSnapshotGridNode.prototype._populate):
181 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
182 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
183 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
184 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate):
185 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort):
186 (WebInspector.HeapSnapshotGridNode.prototype.sort):
187 (WebInspector.HeapSnapshotGenericObjectNode):
188 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
189 (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
190 (WebInspector.HeapSnapshotObjectNode):
191 (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
192 (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
193 (WebInspector.HeapSnapshotInstanceNode):
194 (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
195 (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
196 (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
197 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
198 (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
199 (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff):
200 (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
201 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
202 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
203 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
204 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
205 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
206 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
207 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
208 (WebInspector.HeapSnapshotDominatorObjectNode):
209 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
210 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
211 * inspector/front-end/DetailedHeapshotView.js:
212 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
213 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
214 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
215 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
216 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived):
217 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds):
218 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived):
219 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
220 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
221 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
222 (WebInspector.HeapSnapshotRetainingPathsList):
223 (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
224 (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
225 (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
226 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
227 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
228 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
229 (WebInspector.DetailedHeapshotView.profileCallback):
230 (WebInspector.DetailedHeapshotView):
231 (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
232 (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
233 (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1):
234 (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
235 (WebInspector.DetailedHeapshotView.prototype.show):
236 (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
237 * inspector/front-end/HeapSnapshot.js:
238 * inspector/front-end/HeapSnapshotProxy.js: Added.
239 * inspector/front-end/PleaseWaitMessage.js:
240 * inspector/front-end/ProfilesPanel.js:
241 (WebInspector.ProfilesPanel.prototype._reset):
242 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
243 (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
244 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
245 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
246 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
247 * inspector/front-end/WebKit.qrc:
248 * inspector/front-end/inspector.html:
250 2011-04-13 Alexander Pavlov <apavlov@chromium.org>
252 Reviewed by Pavel Feldman.
254 Web Inspector: Web Page Performance auditing fails
255 https://bugs.webkit.org/show_bug.cgi?id=58322
257 * inspector/front-end/AuditRules.js:
258 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
259 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
260 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
261 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
262 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
263 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
264 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
265 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
266 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
267 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
268 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
270 2011-04-13 Pavel Feldman <pfeldman@google.com>
272 Reviewed by Yury Semikhatsky.
274 Web Inspector: enumerate properties in Inspector.json using array, not object keys.
275 https://bugs.webkit.org/show_bug.cgi?id=58418
277 * inspector/Inspector.json:
279 2011-04-06 Pavel Podivilov <podivilov@chromium.org>
281 Reviewed by Pavel Feldman.
283 Web Inspector: add "De-obfuscate Source" item to source frame text area context menu.
284 https://bugs.webkit.org/show_bug.cgi?id=57942
286 * English.lproj/localizedStrings.js:
287 * inspector/front-end/DebuggerPresentationModel.js:
288 (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled):
289 * inspector/front-end/ScriptsPanel.js:
290 (WebInspector.ScriptsPanel):
291 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
292 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
293 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles):
294 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
295 * inspector/front-end/SourceFrame.js:
296 (WebInspector.SourceFrame.prototype._contextMenu):
297 (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu):
298 (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
299 (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
300 (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles):
301 (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
303 2011-04-13 Nikolas Zimmermann <nzimmermann@rim.com>
305 Reviewed by Dirk Schulze.
307 SVGTextContentElements textLength returns 0
308 https://bugs.webkit.org/show_bug.cgi?id=52543
310 Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition.
312 If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal"
313 will return the same as "textContentElement.getComputedTextLength()". If it's set the values
314 aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the
315 lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes.
316 This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength()
317 and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored
318 in the SVG Text DOM API.
320 Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory).
321 Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes).
323 Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization
324 with getComputedTextLength().
326 Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
327 svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html
328 svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html
329 svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html
330 svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html
332 * rendering/svg/RenderSVGInlineText.cpp:
333 (WebCore::RenderSVGInlineText::positionForPoint):
334 * rendering/svg/SVGInlineFlowBox.cpp:
335 (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
336 * rendering/svg/SVGInlineTextBox.cpp:
337 (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
338 (WebCore::SVGInlineTextBox::selectionRect):
339 (WebCore::SVGInlineTextBox::paintSelectionBackground):
340 (WebCore::SVGInlineTextBox::paint):
341 (WebCore::SVGInlineTextBox::calculateBoundaries):
342 * rendering/svg/SVGTextChunkBuilder.cpp:
343 (WebCore::SVGTextChunkBuilder::buildTextChunks):
344 (WebCore::SVGTextChunkBuilder::layoutTextChunks):
345 (WebCore::SVGTextChunkBuilder::addTextChunk):
346 (WebCore::SVGTextChunkBuilder::processTextChunk):
347 (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection):
348 (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection):
349 * rendering/svg/SVGTextFragment.h:
350 (WebCore::SVGTextFragment::SVGTextFragment):
351 (WebCore::SVGTextFragment::buildFragmentTransform):
352 (WebCore::SVGTextFragment::transformAroundOrigin):
353 (WebCore::SVGTextFragment::buildTransformForTextOnPath):
354 (WebCore::SVGTextFragment::buildTransformForTextOnLine):
355 * rendering/svg/SVGTextLayoutEngine.cpp:
356 (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
357 (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
358 (WebCore::dumpTextBoxes):
359 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
360 (WebCore::SVGTextLayoutEngine::finishLayout):
361 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
362 * rendering/svg/SVGTextQuery.cpp:
363 (WebCore::SVGTextQuery::textLengthCallback):
364 (WebCore::SVGTextQuery::subStringLengthCallback):
365 (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
366 (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
367 (WebCore::SVGTextQuery::rotationOfCharacterCallback):
368 (WebCore::calculateGlyphBoundaries):
369 * svg/SVGTextContentElement.cpp:
370 (WebCore::SVGTextContentElement::SVGTextContentElement):
371 (WebCore::SVGTextContentElement::synchronizeTextLength):
372 (WebCore::SVGTextContentElement::textLengthAnimated):
373 (WebCore::SVGTextContentElement::parseMappedAttribute):
374 (WebCore::SVGTextContentElement::svgAttributeChanged):
375 * svg/SVGTextContentElement.h:
376 (WebCore::SVGTextContentElement::specifiedTextLength):
377 * svg/SVGTextPathElement.cpp:
378 (WebCore::SVGTextPathElement::svgAttributeChanged):
379 * svg/SVGTextPositioningElement.cpp:
380 (WebCore::SVGTextPositioningElement::svgAttributeChanged):
382 2011-04-13 Pavel Feldman <pfeldman@google.com>
384 Reviewed by Yury Semikhatsky.
386 Web Inspector: requestDocument can result in race condition in DOMAgent.js
387 https://bugs.webkit.org/show_bug.cgi?id=58415
389 * inspector/front-end/DOMAgent.js:
390 (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
391 (WebInspector.DOMAgent.prototype.requestDocument):
393 2011-04-12 Pavel Feldman <pfeldman@google.com>
395 Reviewed by Yury Semikhatsky.
397 Web Inspector: another pass of protocol renames.
398 https://bugs.webkit.org/show_bug.cgi?id=58340
400 * inspector/Inspector.json:
401 * inspector/InspectorDOMAgent.cpp:
402 (WebCore::InspectorDOMAgent::getDocument):
403 (WebCore::InspectorDOMAgent::performSearch):
404 (WebCore::InspectorDOMAgent::setSearchingForNode):
405 * inspector/InspectorDOMAgent.h:
406 * inspector/InspectorDebuggerAgent.cpp:
407 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
408 * inspector/InspectorDebuggerAgent.h:
409 * inspector/InspectorRuntimeAgent.cpp:
410 (WebCore::InspectorRuntimeAgent::evaluate):
411 * inspector/InspectorRuntimeAgent.h:
412 * inspector/front-end/ElementsPanel.js:
413 (WebInspector.ElementsPanel.prototype._setSearchingForNode):
414 (WebInspector.ElementsPanel.prototype.setSearchingForNode):
416 2011-04-12 Luke Macpherson <macpherson@chromium.org>
418 Reviewed by Dimitri Glazkov.
420 Implement remaining Background and Mask css properties in CSSStyleApplyProperty
421 https://bugs.webkit.org/show_bug.cgi?id=58390
423 No new tests required as no functionality changed.
425 * css/CSSStyleApplyProperty.cpp:
426 (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties.
427 (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue.
429 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
430 (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty.
432 2011-04-12 Sergey Glazunov <serg.glazunov@gmail.com>
434 Reviewed by Dimitri Glazkov.
436 Element::setAttribute should check the namespace of an id attribute
437 https://bugs.webkit.org/show_bug.cgi?id=58359
439 Test: fast/dom/id-attribute-with-namespace-crash.html
442 (WebCore::Element::setAttribute):
444 2011-04-12 Mike Lawther <mikelawther@chromium.org>
446 Reviewed by James Robinson.
448 Update boolean operators in RenderStyle to be compatible with check-webkit-style
449 https://bugs.webkit.org/show_bug.cgi?id=58409
451 No new functionality, so no new tests.
453 * rendering/style/RenderStyle.cpp:
454 (WebCore::RenderStyle::operator==):
455 (WebCore::RenderStyle::inheritedNotEqual):
456 (WebCore::positionedObjectMoved):
457 (WebCore::RenderStyle::diff):
458 (WebCore::RenderStyle::applyTransform):
459 * rendering/style/RenderStyle.h:
460 (WebCore::InheritedFlags::isOriginalDisplayInlineType):
462 2011-04-12 Luiz Agostini <luiz.agostini@openbossa.org>
464 Reviewed by Andreas Kling.
466 [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
467 https://bugs.webkit.org/show_bug.cgi?id=58375
469 As QNAM now makes actual synchronous loads there is no need for a nested event loop
472 Moving the call for QNetworkReplyWrapper::synchronousLoad from
473 ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
474 redirections to work in synchronous requests.
476 * platform/network/qt/QNetworkReplyHandler.cpp:
477 (WebCore::QNetworkReplyHandler::start):
478 * platform/network/qt/QNetworkReplyHandler.h:
479 * platform/network/qt/ResourceHandleQt.cpp:
480 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
481 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
482 (WebCore::WebCoreSynchronousLoader::didReceiveData):
483 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
484 (WebCore::WebCoreSynchronousLoader::didFail):
485 (WebCore::ResourceHandle::loadResourceSynchronously):
487 2011-04-12 Vangelis Kokkevis <vangelis@chromium.org>
489 Reviewed by James Robinson.
491 [chromium] Move the calculation of the layer's z coordinate to the
492 right spot so that it can be picked up by its sublayers.
493 https://bugs.webkit.org/show_bug.cgi?id=58397
495 Test: platform/chromium/compositing/child-layer-3d-sorting.html
497 * platform/graphics/chromium/LayerRendererChromium.cpp:
498 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
500 2011-04-12 Luiz Agostini <luiz.agostini@openbossa.org>
502 Reviewed by Andreas Kling.
504 [Qt] QNetworkReplyHandler refactoring: signal queue
505 https://bugs.webkit.org/show_bug.cgi?id=57075
507 The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
508 stop that queue when loading is deferred. This way almost all the deferred logic can be removed
509 from QNetworkReplyHandler class and encapsulated in its own class.
511 To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
512 methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
513 This together with empting the queue at wrapper destruction time makes sure that the handler will
514 not receive calls from a dead wrapper.
516 The new class is named QNetworkReplyHandlerCallQueue.
518 * platform/network/qt/QNetworkReplyHandler.cpp:
519 (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
520 (WebCore::QNetworkReplyHandlerCallQueue::push):
521 (WebCore::QNetworkReplyHandlerCallQueue::lock):
522 (WebCore::QNetworkReplyHandlerCallQueue::unlock):
523 (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
524 (WebCore::QNetworkReplyHandlerCallQueue::flush):
525 (WebCore::QueueLocker::QueueLocker):
526 (WebCore::QueueLocker::~QueueLocker):
527 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
528 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
529 (WebCore::QNetworkReplyWrapper::receiveMetaData):
530 (WebCore::QNetworkReplyWrapper::readyRead):
531 (WebCore::QNetworkReplyWrapper::didReceiveFinished):
532 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
533 (WebCore::QNetworkReplyHandler::resetState):
534 (WebCore::QNetworkReplyHandler::release):
535 (WebCore::QNetworkReplyHandler::finish):
536 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
537 (WebCore::QNetworkReplyHandler::forwardData):
538 (WebCore::QNetworkReplyHandler::start):
539 (WebCore::QNetworkReplyHandler::synchronousLoad):
540 * platform/network/qt/QNetworkReplyHandler.h:
541 (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
542 (WebCore::QNetworkReplyHandlerCallQueue::clear):
543 (WebCore::QNetworkReplyWrapper::synchronousLoad):
544 (WebCore::QNetworkReplyHandler::setLoadingDeferred):
545 * platform/network/qt/ResourceHandleQt.cpp:
546 (WebCore::ResourceHandle::loadResourceSynchronously):
548 2011-04-12 Kenichi Ishibashi <bashi@chromium.org>
550 Reviewed by Kent Tamura.
552 Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex.
553 https://bugs.webkit.org/show_bug.cgi?id=58247
555 - Increment m_associatedElementsAfterIndex when the form owner and an
556 inserted form associated element have the same parent chain.
557 - Always iterate over m_associatedElements to decrease indexes when a
558 form associated element is removed. This is needed for a case that the
559 form associated element is removed from the form element due to
560 deleting the 'form' attribute. No behavioral change expected with this
563 Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html
564 fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html
566 * html/HTMLFormElement.cpp:
567 (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
568 Incremet m_associatedElementsAfterIndex when compareDocumentPosition()
569 returns DOCUMENT_POSITION_CONTAINED_BY.
570 (WebCore::HTMLFormElement::removeFormElement):
571 Always iterate m_associatedElements to adjust indexes.
573 2011-04-12 Diego Gonzalez <diegohcg@webkit.org>
575 Reviewed by Kenneth Rohde Christiansen.
577 [Qt] Do not show scrollbars when use mobile theme
578 https://bugs.webkit.org/show_bug.cgi?id=58380
580 * platform/qt/ScrollbarThemeQt.cpp:
581 (WebCore::ScrollbarThemeQt::scrollbarThickness):
583 2011-04-12 Anantanarayanan G Iyengar <ananta@chromium.org>
585 Reviewed by Alexey Proskuryakov.
587 The default backspace event handler should mark the event as handled if navigation succeeds.
588 https://bugs.webkit.org/show_bug.cgi?id=58379
590 We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
591 These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
592 where history is managed by an external browser like IE.
594 No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
595 It is non trivial to simulate this environment.
597 * page/EventHandler.cpp:
598 (WebCore::EventHandler::defaultBackspaceEventHandler):
600 2011-04-12 Ryosuke Niwa <rniwa@webkit.org>
602 Reviewed by Eric Seidel.
604 Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth
605 https://bugs.webkit.org/show_bug.cgi?id=58400
607 Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth.
609 * rendering/RenderBlock.h:
610 * rendering/RenderBlockLineLayout.cpp:
611 (WebCore::LineWidth::LineWidth):
612 (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth.
613 (WebCore::LineWidth::availableWidth): Added.
614 (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets.
615 (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates
617 (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock.
618 (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
620 2011-04-12 Alexis Menard <alexis.menard@openbossa.org>
622 Unreviewed warning fix.
624 MediaControlElements has been moved to html/shadow.
628 2011-04-12 Yael Aharon <yael.aharon@nokia.com>
630 Reviewed by Eric Seidel.
632 Rename onEndChain and make it a static method.
633 https://bugs.webkit.org/show_bug.cgi?id=58403
635 No new tests since this is refactoring only.
637 * rendering/InlineFlowBox.cpp:
638 (WebCore::isLastChildForRenderer):
639 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
640 * rendering/InlineFlowBox.h:
642 2011-04-12 Eric Carlson <eric.carlson@apple.com>
644 Not reviewed, build fix.
646 Fix non-accelerated build after r83667.
648 * html/HTMLMediaElement.cpp:
649 (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to
650 mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING.
652 2011-04-12 Adrienne Walker <enne@google.com>
654 Reviewed by James Robinson.
656 [chromium] TilingData mishandles very small texture sizes
657 https://bugs.webkit.org/show_bug.cgi?id=58364
659 Use zero tiles when the texture size is too small for tiling.
661 * platform/graphics/gpu/TilingData.cpp:
662 (WebCore::TilingData::TilingData):
663 (WebCore::TilingData::setMaxTextureSize):
665 2011-04-12 Csaba Osztrogonác <ossy@webkit.org>
667 Unreviewed, rolling out r83634 and r83659.
668 http://trac.webkit.org/changeset/83634
669 http://trac.webkit.org/changeset/83659
670 https://bugs.webkit.org/show_bug.cgi?id=57075
672 It made 2 tests time out
674 * platform/network/qt/QNetworkReplyHandler.cpp:
675 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
676 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
677 (WebCore::QNetworkReplyWrapper::receiveMetaData):
678 (WebCore::QNetworkReplyWrapper::didReceiveFinished):
679 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
680 (WebCore::QNetworkReplyHandler::resetState):
681 (WebCore::QNetworkReplyHandler::setLoadingDeferred):
682 (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
683 (WebCore::QNetworkReplyHandler::release):
684 (WebCore::QNetworkReplyHandler::finish):
685 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
686 (WebCore::QNetworkReplyHandler::forwardData):
687 (WebCore::QNetworkReplyHandler::start):
688 * platform/network/qt/QNetworkReplyHandler.h:
689 * platform/network/qt/ResourceHandleQt.cpp:
690 (WebCore::WebCoreSynchronousLoader::resourceResponse):
691 (WebCore::WebCoreSynchronousLoader::resourceError):
692 (WebCore::WebCoreSynchronousLoader::data):
693 (WebCore::WebCoreSynchronousLoader::setReplyFinished):
694 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
695 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
696 (WebCore::WebCoreSynchronousLoader::didReceiveData):
697 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
698 (WebCore::WebCoreSynchronousLoader::didFail):
699 (WebCore::WebCoreSynchronousLoader::waitForCompletion):
700 (WebCore::ResourceHandle::loadResourceSynchronously):
702 2011-04-12 Sam Weinig <sam@webkit.org>
704 Reviewed by Simon Fraser.
706 Frames prevent scrolling containing page
707 <rdar://problem/8990409>
708 https://bugs.webkit.org/show_bug.cgi?id=58392
711 Should rubber-band on pages with no scrollbars
712 <rdar://problem/9034280>
714 * page/FrameView.cpp:
715 (WebCore::FrameView::FrameView):
716 Make the main frame rubber-band horizontally and vertically always.
718 * platform/ScrollTypes.h:
719 Add ScrollElasticity enum.
721 * platform/ScrollableArea.cpp:
722 Default to no elasticity.
724 (WebCore::ScrollableArea::ScrollableArea):
725 * platform/ScrollableArea.h:
726 (WebCore::ScrollableArea::setVerticalScrollElasticity):
727 (WebCore::ScrollableArea::verticalScrollElasticity):
728 (WebCore::ScrollableArea::setHorizontalScrollElasticity):
729 (WebCore::ScrollableArea::horizontalScrollElasticity):
730 Add state for horizontal and vertical elasticity.
732 * platform/mac/ScrollAnimatorMac.mm:
733 (WebCore::ScrollAnimatorMac::handleWheelEvent):
734 Bail out of new scrolling behavior if we can't rubber-band. By bailing before
735 accepting the wheel event, we allow the wheel event to be forwarded. We will
736 need to refine this logic to allow subframe scrolling in the future.
738 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
739 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
740 Switch stretching behavior based on the ScrollableArea's elasticity.
742 2011-04-12 Geoffrey Garen <ggaren@apple.com>
746 Try to fix the Chromium build.
748 Why have one URL when you can have two at twice the price?
751 (WebCore::KURL::KURL):
752 (WebCore::KURL::isHashTableDeletedValue):
753 * platform/KURLGoogle.cpp:
754 (WebCore::KURLGooglePrivate::KURLGooglePrivate):
755 * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash
756 table deleted value constructor.
758 2011-04-12 Stephanie Lewis <slewis@apple.com>
760 Reviewed by Oliver Hunt.
761 https://bugs.webkit.org/show_bug.cgi?id=58280
762 Fix a layout test by correctly comparing enums, and not adding exceptions.
764 * bindings/js/SerializedScriptValue.cpp:
765 (WebCore::SerializedScriptValue::create):
766 (WebCore::SerializedScriptValue::deserialize):
767 * bindings/js/SerializedScriptValue.h:
769 2011-04-12 Eric Carlson <eric.carlson@apple.com>
771 Reviewed by Simon Fraser.
773 Apple movie trailers play only audio
774 https://bugs.webkit.org/show_bug.cgi?id=58339
775 <rdar://problem/9237606>
777 No new tests, covered by existing layout and manual tests.
779 * html/HTMLMediaElement.cpp:
780 (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions.
781 (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster
782 change the display mode to Video and force a style recalc so the video layer gets hooked
783 up the the render tree.
784 * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we
785 want to stop displaying the poster as soon as the first frame of video is available.
787 * html/HTMLVideoElement.cpp:
788 (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when
789 we want to display Video but the media engines doesn't have the first frame yet.
790 * html/HTMLVideoElement.h:
791 (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode
792 is PosterWaitingForVideo.
794 * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes.
796 * platform/graphics/MediaPlayer.cpp:
797 (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element.
798 * platform/graphics/MediaPlayer.h:
799 (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable):
801 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
802 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize
803 m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable.
804 (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first
805 frame of video has loaded, or audio will begin to play before we can show video.
806 (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable.
807 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is
808 available, inform elment and begin playback if it was previousl requested.
809 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
811 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
812 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
813 (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging.
814 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto.
815 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play.
816 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause.
818 2011-04-12 Jian Li <jianli@chromium.org>
820 Unreviewed, rolling out r83649.
821 http://trac.webkit.org/changeset/83649
822 https://bugs.webkit.org/show_bug.cgi?id=57563
824 This patch causes compiling errors for chromium
826 * platform/graphics/chromium/FontChromiumWin.cpp:
827 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
828 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
829 (WebCore::Font::drawComplexText):
830 * platform/graphics/chromium/ImageBufferData.h:
831 * platform/graphics/chromium/LayerChromium.h:
832 * platform/graphics/chromium/LayerRendererChromium.h:
833 * platform/graphics/chromium/PlatformCanvas.cpp:
834 (WebCore::PlatformCanvas::resize):
835 * platform/graphics/chromium/PlatformCanvas.h:
836 * platform/graphics/chromium/TransparencyWin.cpp:
837 (WebCore::TransparencyWin::compositeTextComposite):
838 (WebCore::TransparencyWin::makeLayerOpaque):
839 * platform/graphics/skia/ImageBufferSkia.cpp:
840 (WebCore::ImageBuffer::ImageBuffer):
841 * platform/graphics/skia/ImageSkia.cpp:
842 (WebCore::paintSkBitmap):
843 (WebCore::Image::drawPattern):
844 * platform/graphics/skia/PlatformContextSkia.cpp:
845 (WebCore::PlatformContextSkia::PlatformContextSkia):
846 (WebCore::PlatformContextSkia::setCanvas):
847 (WebCore::PlatformContextSkia::isPrinting):
848 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
849 * platform/graphics/skia/PlatformContextSkia.h:
850 (WebCore::PlatformContextSkia::canvas):
852 2011-04-12 Enrica Casucci <enrica@apple.com>
854 Reviewed by Alexey Proskuryakov.
856 Implement non-activating clicks to allow dragging out of a background window.
857 https://bugs.webkit.org/show_bug.cgi?id=55053
858 <rdar://problem/9042197>
860 * WebCore.exp.in: Added new exported method.
862 2011-04-12 Geoffrey Garen <ggaren@apple.com>
864 Reviewed by Geoffrey Garen.
866 Cleaned up hash traits, and added hash traits for handles
867 https://bugs.webkit.org/show_bug.cgi?id=58381
869 * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication.
872 (WebCore::KURL::KURL):
873 (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table
874 deleted value constructor, to be more explicit and enable use of
875 SimpleClassHashTraits.
877 * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication.
879 * platform/graphics/FontCache.cpp: Ditto.
880 * platform/network/ProtectionSpaceHash.h: Ditto.
881 * svg/properties/SVGAnimatedPropertyDescription.h: Ditto.
883 2011-04-12 Luiz Agostini <luiz.agostini@openbossa.org>
885 Reviewed by Andreas Kling.
887 [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
888 https://bugs.webkit.org/show_bug.cgi?id=58375
890 As QNAM now makes actual synchronous loads there is no need for a nested event loop
893 Moving the call for QNetworkReplyWrapper::synchronousLoad from
894 ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
895 redirections to work in synchronous requests.
897 * platform/network/qt/QNetworkReplyHandler.cpp:
898 (WebCore::QNetworkReplyHandler::start):
899 * platform/network/qt/QNetworkReplyHandler.h:
900 * platform/network/qt/ResourceHandleQt.cpp:
901 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
902 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
903 (WebCore::WebCoreSynchronousLoader::didReceiveData):
904 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
905 (WebCore::WebCoreSynchronousLoader::didFail):
906 (WebCore::ResourceHandle::loadResourceSynchronously):
908 2011-04-11 Jer Noble <jer.noble@apple.com>
910 Reviewed by Simon Fraser.
912 REGRESSION: Vimeo fullscreen video displays incorrectly
913 https://bugs.webkit.org/show_bug.cgi?id=58291
915 Set the RenderFullScreen's zIndex to the max. And make sure to override
916 a video element's specified width and height by making its full screen rules
917 important. Also, always show the controls when a media element is in full
920 Test: fullscreen/video-specified-size.html
921 Test: fullscreen/full-screen-zIndex.html
923 * css/fullscreen.css:
924 (video:-webkit-full-screen):
925 * html/HTMLMediaElement.cpp:
926 (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode.
927 (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen
928 change event and hide or show the controls accordingly.
929 * html/HTMLMediaElement.h:
930 * rendering/RenderFullScreen.cpp:
931 (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a
932 vertical flexbox instead of a horizontal one.
934 2011-04-12 Chris Marrin <cmarrin@apple.com>
936 Reviewed by Simon Fraser.
938 Page tears and stutters in WebKit2 when page is > 2048 pixels wide
939 https://bugs.webkit.org/show_bug.cgi?id=58330
941 Added API to GraphicsLayer to disable switching to tiled layers. This is
942 set in the nonCompositedContentLayer in WK2, causing that layer to never
943 switch to tiles and avoiding the asynchronous update of the content during
946 * platform/graphics/ca/GraphicsLayerCA.cpp:
947 Implement setAllowTiledLayer() to simulate a SizeChanged action to
948 properly switch between tiled and untiled layer.
949 * platform/graphics/ca/GraphicsLayerCA.h:
951 2011-04-12 Alok Priyadarshi <alokp@chromium.org>
953 Reviewed by James Robinson.
955 Remove dependency on chromium skia::PlatformCanvas
956 https://bugs.webkit.org/show_bug.cgi?id=57563
958 This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas.
959 The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium.
960 We will eventually define an API that every port using skia will define.
962 * platform/graphics/chromium/FontChromiumWin.cpp:
963 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
964 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
965 (WebCore::Font::drawComplexText):
966 * platform/graphics/chromium/ImageBufferData.h:
967 * platform/graphics/chromium/LayerChromium.h:
968 * platform/graphics/chromium/LayerRendererChromium.h:
969 * platform/graphics/chromium/PlatformCanvas.cpp:
970 (WebCore::PlatformCanvas::resize):
971 * platform/graphics/chromium/PlatformCanvas.h:
972 * platform/graphics/chromium/TransparencyWin.cpp:
973 (WebCore::TransparencyWin::compositeTextComposite):
974 (WebCore::TransparencyWin::makeLayerOpaque):
975 * platform/graphics/skia/ImageBufferSkia.cpp:
976 (WebCore::ImageBuffer::ImageBuffer):
977 * platform/graphics/skia/ImageSkia.cpp:
978 (WebCore::paintSkBitmap):
979 (WebCore::Image::drawPattern):
980 * platform/graphics/skia/PlatformContextSkia.cpp:
981 (WebCore::PlatformContextSkia::PlatformContextSkia):
982 (WebCore::PlatformContextSkia::setCanvas):
983 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
984 * platform/graphics/skia/PlatformContextSkia.h:
985 (WebCore::PlatformContextSkia::canvas):
986 (WebCore::PlatformContextSkia::printing):
987 (WebCore::PlatformContextSkia::setPrinting):
989 2011-04-11 Stephanie Lewis <slewis@apple.com>
991 Reviewed by Oliver Hunt.
993 https://bugs.webkit.org/show_bug.cgi?id=58280
994 <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
995 Currently serialization and deserialization can throw javascript exceptions. Since SerializedScriptValue is called in
996 several places that do not always involve direct calls into javascript have the functions return an error code and the callers
997 decide whether or not to throw exceptions.
999 Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h. Walking that object creates
1000 additional objects which eventually causes serialization to end up throwing a stack overflow error. Instead fail immediately.
1002 Untangle header includes. SerializedScriptValue was inheriting ScriptValue.h, but not using it. Since ScriptValue depends on
1003 SerializedScriptValue this could lead to a circular header dependency.
1005 No change in functionality, covered by current tests
1008 * bindings/js/JSMessageEventCustom.cpp:
1009 (WebCore::JSMessageEvent::initMessageEvent):
1010 * bindings/js/ScriptValue.cpp:
1011 (WebCore::ScriptValue::serialize):
1012 (WebCore::ScriptValue::deserialize):
1013 * bindings/js/ScriptValue.h:
1014 * bindings/js/SerializedScriptValue.cpp:
1015 (WebCore::CloneSerializer::serialize):
1016 (WebCore::CloneSerializer::dumpIfTerminal):
1017 (WebCore::CloneDeserializer::deserialize):
1018 (WebCore::SerializedScriptValue::create):
1019 (WebCore::SerializedScriptValue::deserialize):
1020 (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
1021 (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully):
1022 * bindings/js/SerializedScriptValue.h:
1024 * bindings/js/JSWorkerContextBase.cpp: header include fix
1025 * loader/FrameLoader.h: header include fix
1026 * page/Frame.cpp: header include fix
1028 2011-03-28 Adam Barth <abarth@webkit.org>
1030 Reviewed by Kenneth Russell.
1032 Move libtess from WebCore/thirdparty to ThirdParty
1033 https://bugs.webkit.org/show_bug.cgi?id=57288
1035 * WebCore.gyp/WebCore.gyp:
1036 - Add libtess as a legit dependency.
1038 - Remove libtess files from the gypi.
1039 * thirdparty/glu: Removed.
1041 2011-04-12 Ryosuke Niwa <rniwa@webkit.org>
1043 Reviewed by David Hyatt.
1045 Bundle w and tmpW in findNextLineBreak together as a class
1046 https://bugs.webkit.org/show_bug.cgi?id=58362
1048 Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth,
1049 and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class
1052 * rendering/RenderBlockLineLayout.cpp:
1053 (WebCore::LineWidth::LineWidth): Added.
1054 (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width.
1055 (WebCore::LineWidth::uncommittedWidth): Added.
1056 (WebCore::LineWidth::committedWidth): Added.
1057 (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width.
1058 (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width.
1059 (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
1061 2011-04-12 Yael Aharon <yael.aharon@nokia.com>
1063 Reviewed by Eric Seidel.
1065 REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html
1066 https://bugs.webkit.org/show_bug.cgi?id=57459
1068 Slightly change the way we decide if a InlineFlowBox is the last box for its renderer.
1069 We include the border in that box under these conditions:
1070 (1) The next line was not created, or it is constructed. We check the previous line for rtl.
1071 (2) The logicallyLastRun is not a descendant of this renderer.
1072 (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line.
1073 I added the tests from bug 47210, because now the draw the borders correctly.
1075 Tests: fast/borders/bidi-002.html
1076 fast/borders/bidi-004.html
1077 fast/borders/bidi-009a.html
1079 * rendering/InlineFlowBox.cpp:
1080 (WebCore::InlineFlowBox::onEndChain):
1081 (WebCore::isAnsectorAndWithinBlock):
1082 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1083 * rendering/InlineFlowBox.h:
1084 * rendering/RenderBlock.h:
1085 * rendering/RenderBlockLineLayout.cpp:
1086 (WebCore::RenderBlock::constructLine):
1087 (WebCore::RenderBlock::layoutInlineChildren):
1089 2011-04-12 Geoffrey Garen <ggaren@apple.com>
1091 Reviewed by Sam Weinig.
1093 Cleaned up some Vector traits, and added missing Vector traits for handles
1094 https://bugs.webkit.org/show_bug.cgi?id=58372
1096 * platform/graphics/BitmapImage.h: Added a FIXME because the current
1097 Vector traits for FrameData are logically incorrect, but I couldn't find
1098 a place where this currently results in bad behavior, and it's not
1099 immediately obvious what the right solution is.
1101 2011-04-12 Dimitri Glazkov <dglazkov@chromium.org>
1103 Reviewed by Eric Seidel.
1105 Move MediaControlElements to html/shadow.
1106 https://bugs.webkit.org/show_bug.cgi?id=58347
1108 Mechanical move of the files.
1110 * Android.mk: Updated the build file.
1111 * CMakeLists.txt: Ditto.
1112 * GNUmakefile.list.am: Ditto.
1113 * WebCore.gypi: Ditto.
1114 * WebCore.pro: Ditto.
1115 * WebCore.vcproj/WebCore.vcproj: Ditto.
1116 * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files.
1117 * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp.
1118 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
1119 * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h.
1120 * rendering/MediaControlElements.cpp: Removed.
1121 * rendering/MediaControlElements.h: Removed.
1122 * rendering/RenderingAllInOne.cpp: Removed the files that were moved.
1124 2011-04-12 Luiz Agostini <luiz.agostini@openbossa.org>
1126 Reviewed by Andreas Kling.
1128 [Qt] QNetworkReplyHandler refactoring: signal queue
1129 https://bugs.webkit.org/show_bug.cgi?id=57075
1131 The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
1132 stop that queue when loading is deferred. This way almost all the deferred logic can be removed
1133 from QNetworkReplyHandler class and encapsulated in its own class.
1135 To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
1136 methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
1137 This together with empting the queue at wrapper destruction time makes sure that the handler will
1138 not receive calls from a dead wrapper.
1140 The new class is named QNetworkReplyHandlerCallQueue.
1142 * platform/network/qt/QNetworkReplyHandler.cpp:
1143 (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
1144 (WebCore::QNetworkReplyHandlerCallQueue::push):
1145 (WebCore::QNetworkReplyHandlerCallQueue::lock):
1146 (WebCore::QNetworkReplyHandlerCallQueue::unlock):
1147 (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
1148 (WebCore::QueueLocker::QueueLocker):
1149 (WebCore::QueueLocker::~QueueLocker):
1150 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1151 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
1152 (WebCore::QNetworkReplyWrapper::receiveMetaData):
1153 (WebCore::QNetworkReplyWrapper::readyRead):
1154 (WebCore::QNetworkReplyWrapper::didReceiveFinished):
1155 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1156 (WebCore::QNetworkReplyHandler::resetState):
1157 (WebCore::QNetworkReplyHandler::release):
1158 (WebCore::QNetworkReplyHandler::finish):
1159 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1160 (WebCore::QNetworkReplyHandler::forwardData):
1161 (WebCore::QNetworkReplyHandler::start):
1162 (WebCore::QNetworkReplyHandler::synchronousLoad):
1163 * platform/network/qt/QNetworkReplyHandler.h:
1164 (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
1165 (WebCore::QNetworkReplyHandlerCallQueue::clear):
1166 (WebCore::QNetworkReplyWrapper::synchronousLoad):
1167 (WebCore::QNetworkReplyHandler::setLoadingDeferred):
1168 * platform/network/qt/ResourceHandleQt.cpp:
1169 (WebCore::ResourceHandle::loadResourceSynchronously):
1171 2011-04-12 David Hyatt <hyatt@apple.com>
1173 Reviewed by Dan Bernstein.
1175 https://bugs.webkit.org/show_bug.cgi?id=58176
1177 Inline replaced elements following positioned elements on lines are not rendered. Make sure the
1178 logic for skipping run construction in appendRunsForObject matches the new logic that I added
1179 to findNextLineBreak. If they don't match up, you risk confusing the run construction code and
1180 causing it to not make runs for objects that follow the positioned object on the line.
1182 Added fast/inline/positioned-object-between-replaced-elements.html
1184 * rendering/RenderBlockLineLayout.cpp:
1185 (WebCore::RenderBlock::appendRunsForObject):
1187 2011-04-12 Alice Liu <alice.liu@apple.com>
1189 Reviewed by Sam Weinig.
1191 https://bugs.webkit.org/show_bug.cgi?id=58292
1192 Provide new setting to allow site icon loading despite disabling automatic image loading in general.
1194 Test: http/tests/misc/favicon-loads-with-icon-loading-override.html
1196 * WebCore.exp.in: Added export symbol
1197 * loader/FrameLoader.cpp:
1198 (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded.
1199 * page/Settings.cpp:
1200 (WebCore::Settings::Settings): Add initializer for new setting
1201 (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting.
1202 * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting.
1203 (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter.
1205 2011-04-12 Ryosuke Niwa <rniwa@webkit.org>
1207 Reviewed by Eric Seidel.
1209 Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle
1210 https://bugs.webkit.org/show_bug.cgi?id=55974
1212 Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand
1213 to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue,
1214 setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles,
1215 diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn.
1217 Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp
1219 * editing/ApplyStyleCommand.cpp:
1220 * editing/ApplyStyleCommand.h:
1221 * editing/EditingStyle.cpp:
1222 (WebCore::reconcileTextDecorationProperties):
1223 (WebCore::StyleChange::StyleChange):
1224 (WebCore::setTextDecorationProperty):
1225 (WebCore::getRGBAFontColor):
1226 (WebCore::StyleChange::extractTextStyles):
1227 (WebCore::diffTextDecorations):
1228 (WebCore::fontWeightIsBold):
1229 (WebCore::getTextAlignment):
1230 (WebCore::getPropertiesNotIn):
1231 (WebCore::getIdentifierValue):
1232 (WebCore::isCSSValueLength):
1233 (WebCore::legacyFontSizeFromCSSValue):
1234 * editing/EditingStyle.h:
1235 (WebCore::StyleChange::cssStyle):
1236 (WebCore::StyleChange::applyBold):
1237 (WebCore::StyleChange::applyItalic):
1238 (WebCore::StyleChange::applyUnderline):
1239 (WebCore::StyleChange::applyLineThrough):
1240 (WebCore::StyleChange::applySubscript):
1241 (WebCore::StyleChange::applySuperscript):
1242 (WebCore::StyleChange::applyFontColor):
1243 (WebCore::StyleChange::applyFontFace):
1244 (WebCore::StyleChange::applyFontSize):
1245 (WebCore::StyleChange::fontColor):
1246 (WebCore::StyleChange::fontFace):
1247 (WebCore::StyleChange::fontSize):
1248 (WebCore::StyleChange::operator==):
1249 (WebCore::StyleChange::operator!=):
1251 2011-04-12 Diego Gonzalez <diegohcg@webkit.org>
1253 Reviewed by Kenneth Rohde Christiansen.
1255 [Qt] Better padding for inputs and comboxes in mobile theme
1256 https://bugs.webkit.org/show_bug.cgi?id=58248
1258 * platform/qt/RenderThemeQt.cpp:
1259 (WebCore::RenderThemeQt::setButtonPadding):
1260 (WebCore::RenderThemeQt::adjustTextFieldStyle):
1261 (WebCore::RenderThemeQt::paintTextField):
1262 (WebCore::RenderThemeQt::adjustMenuListStyle):
1264 2011-04-11 Abhishek Arya <inferno@chromium.org>
1266 Reviewed by Dave Hyatt.
1268 Replace insertChildNode with addChild in handleRunIn's reparenting
1269 of inlineRunIn to currBlock.
1270 https://bugs.webkit.org/show_bug.cgi?id=58228
1272 Use addChild instead of insertChildNode since it handles
1273 correct placement of the children, esp where we cannot insert
1274 anything before the first child. e.g. details tag requires that its
1275 first child be a summary child and won't be able to remove child if
1276 that is not the case.
1278 Test: fast/runin/runin-reparent-crash.html
1280 * rendering/RenderBlock.cpp:
1281 (WebCore::RenderBlock::handleRunInChild):
1283 2011-04-12 Chris Fleizach <cfleizach@apple.com>
1285 Unreviewed. Fixing Leopard build.
1287 REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
1288 https://bugs.webkit.org/show_bug.cgi?id=58304
1290 checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING).
1292 * accessibility/mac/AccessibilityObjectWrapper.mm:
1293 (AXAttributeStringSetSpelling):
1295 2011-04-12 Mario Sanchez Prada <msanchez@igalia.com>
1297 Unreviewed. Added missing files to GNUmakefile.list.am.
1299 * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp].
1301 2011-04-12 Cris Neckar <cdn@chromium.org>
1303 Reviewed by Nikolas Zimmermann.
1305 Add handling for non-svg inline text boxes in text box lists.
1306 https://bugs.webkit.org/show_bug.cgi?id=57933
1308 Test: svg/text/svg-rtl-text-crash.html
1310 * rendering/svg/RenderSVGInlineText.cpp:
1311 (WebCore::RenderSVGInlineText::positionForPoint):
1312 * rendering/svg/SVGInlineFlowBox.cpp:
1313 (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1314 * rendering/svg/SVGRenderTreeAsText.cpp:
1315 (WebCore::writeSVGInlineTextBoxes):
1316 * rendering/svg/SVGRootInlineBox.cpp:
1317 (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
1318 (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
1319 * rendering/svg/SVGTextQuery.cpp:
1320 (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
1322 2011-04-12 Mario Sanchez Prada <msanchez@igalia.com>
1324 Reviewed by Chris Fleizach.
1326 [GTK] Expose menu items and menus as children of a menu bar
1327 https://bugs.webkit.org/show_bug.cgi?id=56659
1329 Ensure menu items get exposed when they're children of menu bars.
1331 * accessibility/AccessibilityRenderObject.cpp:
1332 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1333 Consider menu bars as potential parent objects for menu items.
1335 2011-04-12 Pavel Feldman <pfeldman@google.com>
1337 Reviewed by Yury Semikhatsky.
1339 Web Inspector: remove scriptWorldType from the protocol.
1340 https://bugs.webkit.org/show_bug.cgi?id=58324
1342 * inspector/Inspector.json:
1343 * inspector/InspectorDebuggerAgent.cpp:
1344 (WebCore::InspectorDebuggerAgent::didParseSource):
1345 * inspector/ScriptDebugListener.h:
1346 (WebCore::ScriptDebugListener::~ScriptDebugListener):
1347 * inspector/front-end/DebuggerModel.js:
1348 (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1349 (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1350 * inspector/front-end/Script.js:
1351 (WebInspector.Script):
1352 * inspector/front-end/ScriptsPanel.js:
1353 * inspector/front-end/SourceFile.js:
1354 (WebInspector.SourceFile):
1356 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
1358 Reviewed by Eric Carlson.
1360 Should MediaControls::changedNetworkState fiddle with Fullscreen controls?
1361 https://bugs.webkit.org/show_bug.cgi?id=58163
1363 Covered by existing tests and manual-tests/media-controls.html.
1365 * html/shadow/MediaControls.cpp:
1366 (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here.
1367 (WebCore::MediaControls::changedNetworkState): ... from here.
1369 2011-04-12 Ilya Tikhonovsky <loislo@chromium.org>
1371 Reviewed by Pavel Feldman.
1373 Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
1374 https://bugs.webkit.org/show_bug.cgi?id=58335
1376 It was the method for Inspector layout tests.
1377 We can use RuntimeAgent.evaluate instead.
1379 * inspector/Inspector.json:
1380 * inspector/InspectorAgent.cpp:
1381 * inspector/InspectorAgent.h:
1382 * inspector/InspectorController.cpp:
1383 (WebCore::InspectorController::connectFrontend):
1384 * inspector/front-end/TestController.js:
1385 (WebInspector.TestController.prototype.notifyDone):
1387 2011-04-12 Philippe Normand <pnormand@igalia.com>
1389 Reviewed by Martin Robinson.
1391 [GStreamer] some public callbacks remain
1392 https://bugs.webkit.org/show_bug.cgi?id=58307
1394 Cleanup of the player public/private APIs. Moving the GstMessage
1395 handling code inside of the player allowed some APIs to move to
1396 the private scope of the class.
1398 No new tests, this patch is a cleanup and should not affect
1399 current tests coverage.
1401 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1402 (WebCore::mediaPlayerPrivateMessageCallback):
1403 (WebCore::mediaPlayerPrivateSourceChangedCallback):
1404 (WebCore::mediaPlayerPrivateVolumeChangedCallback):
1405 (WebCore::mediaPlayerPrivateMuteChangedCallback):
1406 (WebCore::mediaPlayerPrivateRepaintCallback):
1407 (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
1408 (WebCore::MediaPlayerPrivateGStreamer::currentTime):
1409 (WebCore::MediaPlayerPrivateGStreamer::seek):
1410 (WebCore::MediaPlayerPrivateGStreamer::setRate):
1411 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1412 (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
1413 (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
1414 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1416 2011-04-12 Philippe Normand <pnormand@igalia.com>
1418 Reviewed by Martin Robinson.
1420 [GStreamer] advertize HTTP Live Streaming mime-type
1421 https://bugs.webkit.org/show_bug.cgi?id=58318
1423 Register the hls mime-type in the internal cache if found in the
1426 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1427 (WebCore::mimeTypeCache):
1429 2011-04-11 MORITA Hajime <morrita@google.com>
1431 Reviewed by Ryosuke Niwa.
1433 RenderIndicator and ShadowBlockElement are no longer used.
1434 https://bugs.webkit.org/show_bug.cgi?id=58277
1436 Removed RenderIndicator and ShadowBlockElement.
1438 No new tests. Just removed unused code.
1441 * GNUmakefile.list.am:
1444 * WebCore.vcproj/WebCore.vcproj:
1445 * WebCore.xcodeproj/project.pbxproj:
1446 * rendering/RenderIndicator.cpp: Removed.
1447 * rendering/RenderIndicator.h: Removed.
1448 * rendering/RenderMeter.h:
1449 * rendering/RenderingAllInOne.cpp:
1450 * rendering/ShadowElement.cpp:
1451 * rendering/ShadowElement.h:
1453 2011-04-12 Csaba Osztrogonác <ossy@webkit.org>
1455 Reviewed by Benjamin Poulain.
1457 fast/css/dashboard-regions-attr-crash.html asserts
1458 https://bugs.webkit.org/show_bug.cgi?id=58233
1460 Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
1461 not to generate incorrect properties into CSSPropertyNames.h.
1463 * CodeGenerators.pri:
1466 2011-04-12 Chris Fleizach <cfleizach@apple.com>
1468 Reviewed by Dan Bernstein.
1470 REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
1471 https://bugs.webkit.org/show_bug.cgi?id=58304
1473 checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
1474 checkTextOfParagraph in order to retrieve misspelled ranges.
1476 Existing tests cover this functionality.
1478 * accessibility/mac/AccessibilityObjectWrapper.mm:
1479 (AXAttributeStringSetSpelling):
1481 2011-04-12 Sergio Villar Senin <svillar@igalia.com>
1483 Reviewed by Martin Robinson.
1485 [GTK] Remove m_idleHandler from ResourceHandleSoup
1486 https://bugs.webkit.org/show_bug.cgi?id=58319
1488 The m_idleHandler attribute is no longer used in ResourceHandleSoup.
1489 No new tests needed, no functionality change.
1491 * platform/network/ResourceHandleInternal.h:
1492 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1493 * platform/network/soup/ResourceHandleSoup.cpp:
1494 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1496 2011-04-12 Andrey Adaikin <aandrey@google.com>
1498 Reviewed by Yury Semikhatsky.
1500 Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
1501 https://bugs.webkit.org/show_bug.cgi?id=58314
1503 * inspector/front-end/SourceFrame.js:
1504 (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
1506 2011-04-11 Pavel Podivilov <podivilov@chromium.org>
1508 Reviewed by Pavel Feldman.
1510 Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
1511 https://bugs.webkit.org/show_bug.cgi?id=58238
1513 Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
1515 * inspector/front-end/SourceFrame.js:
1516 (WebInspector.SourceFrame):
1517 (WebInspector.SourceFrame.prototype.isContentEditable):
1518 (WebInspector.SourceFrame.prototype._createTextViewer):
1519 (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
1520 (WebInspector.SourceFrame.prototype.commitEditing):
1521 (WebInspector.SourceFrame.prototype.cancelEditing):
1522 * inspector/front-end/TextViewer.js:
1523 (WebInspector.TextViewer.prototype._doubleClick):
1524 (WebInspector.TextViewer.prototype._registerShortcuts):
1525 (WebInspector.TextViewer.prototype._handleKeyDown):
1526 (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
1527 (WebInspector.TextViewer.prototype._commitEditing):
1528 (WebInspector.TextViewer.prototype._cancelEditing):
1529 (WebInspector.TextViewerDelegate.prototype.endEditing):
1530 (WebInspector.TextViewerDelegate.prototype.commitEditing):
1531 (WebInspector.TextViewerDelegate.prototype.cancelEditing):
1533 2011-04-12 Pavel Feldman <pfeldman@google.com>
1535 Reviewed by Yury Semikhatsky.
1537 Web Inspector: cookies view is empty even for sites with cookies.
1538 https://bugs.webkit.org/show_bug.cgi?id=58316
1540 Test: http/tests/inspector/resource-tree-model.html
1542 * inspector/front-end/ResourceTreeModel.js:
1543 (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
1545 2011-04-11 Stephen White <senorblanco@chromium.org>
1547 Reviewed by James Robinson.
1549 [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
1550 https://bugs.webkit.org/show_bug.cgi?id=58258
1552 When one accelerated canvas is drawn to another via drawImage(), if the
1553 prior call in the source canvas was non-accelerated, the
1554 hardware canvas is not up-to-date, and the results will be incorrect.
1555 Fixed by calling prepareForHardwareDraw() on the source context.
1557 Test: fast/canvas/canvas-to-canvas.html
1559 * platform/graphics/skia/ImageBufferSkia.cpp:
1560 (WebCore::ImageBuffer::draw):
1562 2011-04-12 Mikhail Naganov <mnaganov@chromium.org>
1564 Reviewed by Pavel Feldman.
1566 Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
1567 https://bugs.webkit.org/show_bug.cgi?id=58146
1569 Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
1570 inspector/profiler/detailed-heapshots-comparison-show-all.html
1571 inspector/profiler/detailed-heapshots-comparison-show-next.html
1572 inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
1573 inspector/profiler/detailed-heapshots-comparison-sorting.html
1574 inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
1575 inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
1576 inspector/profiler/detailed-heapshots-dominators-show-all.html
1577 inspector/profiler/detailed-heapshots-dominators-show-next.html
1578 inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
1579 inspector/profiler/detailed-heapshots-dominators-sorting.html
1580 inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
1582 * inspector/front-end/DetailedHeapshotView.js:
1583 (WebInspector.HeapSnapshotDiffDataGrid):
1585 2011-04-12 Ilya Tikhonovsky <loislo@chromium.org>
1587 Reviewed by Yury Semikhatsky.
1589 Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
1590 https://bugs.webkit.org/show_bug.cgi?id=58305
1592 It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
1594 * inspector/CodeGeneratorInspector.pm:
1596 2011-04-11 Pavel Podivilov <podivilov@chromium.org>
1598 Reviewed by Pavel Feldman.
1600 Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
1601 https://bugs.webkit.org/show_bug.cgi?id=58232
1605 2011-04-12 Pavel Podivilov <podivilov@chromium.org>
1607 Reviewed by Pavel Feldman.
1609 Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
1610 https://bugs.webkit.org/show_bug.cgi?id=58273
1612 * inspector/front-end/SourceFrame.js:
1613 (WebInspector.SourceFrame):
1614 (WebInspector.SourceFrame.prototype.get visible):
1615 (WebInspector.SourceFrame.prototype.set visible):
1616 (WebInspector.SourceFrame.prototype.show):
1617 (WebInspector.SourceFrame.prototype.hide):
1618 (WebInspector.SourceFrame.prototype.detach):
1619 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1620 (WebInspector.SourceFrame.prototype.markDiff):
1621 (WebInspector.SourceFrame.prototype.addMessage):
1622 (WebInspector.SourceFrame.prototype.clearMessages):
1623 (WebInspector.SourceFrame.prototype.get scrollTop):
1624 (WebInspector.SourceFrame.prototype.set scrollTop):
1625 (WebInspector.SourceFrame.prototype.highlightLine):
1626 (WebInspector.SourceFrame.prototype._clearLineHighlight):
1627 (WebInspector.SourceFrame.prototype._initializeTextViewer):
1628 (WebInspector.SourceFrame.prototype.performSearch):
1629 (WebInspector.SourceFrame.prototype.searchCanceled):
1630 (WebInspector.SourceFrame.prototype._jumpToSearchResult):
1631 (WebInspector.SourceFrame.prototype.setExecutionLine):
1632 (WebInspector.SourceFrame.prototype.clearExecutionLine):
1633 (WebInspector.SourceFrame.prototype.resize):
1635 2011-04-12 Pavel Feldman <pfeldman@google.com>
1637 Reviewed by Yury Semikhatsky.
1639 Web Inspector: document runtime agent, share remote object definition between domains.
1640 https://bugs.webkit.org/show_bug.cgi?id=58246
1642 * inspector/Inspector.json:
1644 2011-04-12 Pavel Feldman <pfeldman@google.com>
1646 Reviewed by Yury Semikhatsky.
1648 Web Inspector: document console domain, support cross-domain type references.
1649 https://bugs.webkit.org/show_bug.cgi?id=58240
1651 * inspector/ConsoleMessage.cpp:
1652 (WebCore::messageSourceValue):
1653 (WebCore::messageTypeValue):
1654 (WebCore::messageLevelValue):
1655 (WebCore::ConsoleMessage::addToFrontend):
1656 * inspector/Inspector.json:
1657 * inspector/ScriptCallFrame.cpp:
1658 (WebCore::ScriptCallFrame::buildInspectorObject):
1659 * inspector/front-end/ConsoleView.js:
1660 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
1661 (WebInspector.ConsoleMessage):
1662 (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1663 (WebInspector.ConsoleMessage.prototype.isEqual):
1664 * inspector/front-end/NetworkManager.js:
1665 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1666 * inspector/generate-inspector-idl:
1669 2011-04-06 Philippe Normand <pnormand@igalia.com>
1671 Reviewed by Martin Robinson.
1673 [GStreamer] RTSP playback broken
1674 https://bugs.webkit.org/show_bug.cgi?id=56930
1676 Rely on {audio,video}-changed playbin2 signals instead of the
1677 -tags-changed signals because some media don't provide tags and
1678 then can trick the media-player to not paint video, for instance.
1680 Also trigger a video size calculation after the video sink
1681 negotiated its caps. This is useful in the cases where
1682 audio-changed signal is emitted but the video sink takes more time
1683 to negociate caps with its peer.
1685 This patch also fixes the rtsp manual-test with a new stream url
1686 which seems to be more permanent than the previous WWDC keynote
1689 * manual-tests/video-rtsp.html:
1690 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1691 (WebCore::mediaPlayerPrivateVideoChangedCallback):
1692 (WebCore::mediaPlayerPrivateAudioChangedCallback):
1693 (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
1694 (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
1695 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1696 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1697 (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
1698 (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1699 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
1700 (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1701 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
1702 (WebCore::MediaPlayerPrivateGStreamer::paint):
1703 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1704 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1706 2011-04-12 Vsevolod Vlasov <vsevik@chromium.org>
1708 Reviewed by Pavel Feldman.
1710 Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
1711 https://bugs.webkit.org/show_bug.cgi?id=58135
1713 Added statuses for failed/canceled resource loading.
1715 * English.lproj/localizedStrings.js:
1716 * inspector/Inspector.json:
1717 * inspector/InspectorResourceAgent.cpp:
1718 (WebCore::InspectorResourceAgent::didFailLoading):
1719 * inspector/front-end/NetworkManager.js:
1720 * inspector/front-end/NetworkPanel.js:
1721 * inspector/front-end/Resource.js:
1723 2011-04-12 Steve Block <steveblock@google.com>
1725 Reviewed by Oliver Hunt.
1727 Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
1728 https://bugs.webkit.org/show_bug.cgi?id=40012
1730 Covered by fast/dom/Geolocation/argument-types.html
1732 * bindings/js/CallbackFunction.cpp:
1733 (WebCore::checkFunctionOnlyCallback):
1735 2011-04-07 Philippe Normand <pnormand@igalia.com>
1737 Reviewed by Martin Robinson.
1739 [GStreamer] report playback statistics
1740 https://bugs.webkit.org/show_bug.cgi?id=58033
1742 Provide media playback statistics using fpsdisplaysink and
1745 * manual-tests/video-statistics.html: Added.
1746 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1747 (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
1748 (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
1749 (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
1750 (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
1751 (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
1752 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1753 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1754 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1756 2011-04-11 Philippe Normand <pnormand@igalia.com>
1758 Reviewed by Martin Robinson.
1760 [GStreamer] warnings in media/video-set-rate-from-pause.html
1761 https://bugs.webkit.org/show_bug.cgi?id=58220
1763 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1764 (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
1765 pipeline if new rate is zero, like advised in the GStreamer
1766 documentation of gst_event_new_seek().
1768 2011-04-11 Vangelis Kokkevis <vangelis@chromium.org>
1770 Reviewed by James Robinson.
1772 [chromium] Properly invalidate the contents of ImageLayerChromium's
1773 when the actual image contents change.
1774 https://bugs.webkit.org/show_bug.cgi?id=58181
1776 Test: compositing/images/content-image-change.html
1778 * platform/graphics/chromium/ContentLayerChromium.cpp:
1779 (WebCore::ContentLayerChromium::updateTexture):
1780 * platform/graphics/chromium/ImageLayerChromium.cpp:
1781 (WebCore::ImageLayerChromium::ImageLayerChromium):
1782 (WebCore::ImageLayerChromium::setContents):
1783 (WebCore::ImageLayerChromium::paintContentsIfDirty):
1784 * platform/graphics/chromium/ImageLayerChromium.h:
1786 2011-04-11 Simon Fraser <simon.fraser@apple.com>
1788 Reviewed by Dan Bernstein.
1790 -webkit-box-shadow:inset does not animate transform as an inset shadow
1791 https://bugs.webkit.org/show_bug.cgi?id=45176
1794 1. Don't run transitions between different shadow styles (normal vs. inset).
1795 2. When either source or destination is null, use a default shadow with a
1796 matching style so that the transition runs.
1798 Test: transitions/mismatched-shadow-styles.html
1800 * page/animation/AnimationBase.cpp:
1801 (WebCore::blendFunc):
1802 (WebCore::PropertyWrapperShadow::blend):
1804 2011-04-11 John Bates <jbates@google.com>
1806 Reviewed by Kenneth Russell.
1808 chromium support for glSetLatch and glWaitLatch between 3D contexts
1809 https://bugs.webkit.org/show_bug.cgi?id=58003
1811 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1812 (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
1813 (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
1814 (WebCore::Canvas2DLayerChromium::setLayerRenderer):
1815 * platform/graphics/chromium/Canvas2DLayerChromium.h:
1816 * platform/graphics/chromium/Extensions3DChromium.h:
1817 * platform/graphics/chromium/GLES2Canvas.cpp:
1818 (WebCore::Cubic::Cubic):
1819 * platform/graphics/chromium/LayerRendererChromium.cpp:
1820 (WebCore::LayerRendererChromium::LayerRendererChromium):
1821 (WebCore::LayerRendererChromium::updateAndDrawLayers):
1822 (WebCore::LayerRendererChromium::updateLayers):
1823 (WebCore::LayerRendererChromium::addChildContext):
1824 (WebCore::LayerRendererChromium::removeChildContext):
1825 * platform/graphics/chromium/LayerRendererChromium.h:
1826 * platform/graphics/chromium/WebGLLayerChromium.cpp:
1827 (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
1828 (WebCore::WebGLLayerChromium::updateCompositorResources):
1829 (WebCore::WebGLLayerChromium::setContext):
1830 (WebCore::WebGLLayerChromium::setLayerRenderer):
1831 * platform/graphics/chromium/WebGLLayerChromium.h:
1833 2011-04-11 Alexey Marinichev <amarinichev@chromium.org>
1835 Reviewed by James Robinson.
1837 LayerChromium/CCLayerImpl ownership fix
1838 https://bugs.webkit.org/show_bug.cgi?id=58283
1840 CCLayerImpl's m_owner field lifetime should match the lifetime of the
1841 corresponding LayerChromium. This change moves resetting of m_owner
1842 into LayerChromium's destructor.
1844 Tested similarly to bug 57577.
1846 * platform/graphics/chromium/LayerChromium.cpp:
1847 (WebCore::LayerChromium::~LayerChromium):
1848 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1849 (WebCore::CCLayerImpl::cleanupResources):
1850 * platform/graphics/chromium/cc/CCLayerImpl.h:
1851 (WebCore::CCLayerImpl::resetOwner):
1853 2011-04-11 Daniel Bates <dbates@rim.com>
1855 Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
1856 (https://bugs.webkit.org/show_bug.cgi?id=53556).
1858 * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
1860 2011-04-11 Brady Eidson <beidson@apple.com>
1862 Reviewed by Maciej Stachowiak.
1864 <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
1865 URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
1867 Test: fast/loader/stateobjects/state-url-sets-links-visited.html
1869 * loader/HistoryController.cpp:
1870 (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
1871 (WebCore::HistoryController::replaceState): Ditto.
1873 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
1875 Reviewed by Eric Carlson.
1877 Rename MediaControls to MediaControlRootElement.
1878 https://bugs.webkit.org/show_bug.cgi?id=58250
1880 Mechanical move using do-webcore-rename.
1882 2011-04-11 Dean Jackson <dino@apple.com>
1884 Reviewed by Simon Fraser.
1886 https://bugs.webkit.org/show_bug.cgi?id=58285
1887 CompositeAnimation is cleared while an AnimationBase is waiting for notification
1889 Occasionally hardware animations would trigger a state where
1890 they would tell the AnimationControllerPrivate that it should notify
1891 any waiting animations that they are ready to start, even though
1892 the RenderObject had gone away and hence the CompositeAnimation
1893 had been destroyed. The fix is to zero the pointer from AnimationBase
1894 when the CompositeAnimation destructor runs (or its animations are
1895 cleared) and test the validity of the CompositeAnimation before it
1896 is used in AnimationBase.
1898 * page/animation/AnimationBase.cpp:
1899 (WebCore::AnimationBase::updateStateMachine):
1900 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1901 (WebCore::AnimationBase::updatePlayState):
1902 (WebCore::AnimationBase::freezeAtTime):
1903 (WebCore::AnimationBase::beginAnimationUpdateTime):
1904 - test that the CompositeAnimation exists
1905 * page/animation/AnimationBase.h:
1906 (WebCore::AnimationBase::clear):
1907 - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
1908 * page/animation/CompositeAnimation.cpp:
1909 (WebCore::CompositeAnimation::clearRenderer):
1910 (WebCore::CompositeAnimation::updateKeyframeAnimations):
1911 - call clear() rather than clearRenderer()
1913 2011-04-11 Justin Novosad <junov@chromium.org>
1915 Reviewed by Kenneth Russell.
1917 [Chromium] Text anti-aliasing fails when rendering text with shadow
1918 https://bugs.webkit.org/show_bug.cgi?id=57584
1920 * platform/graphics/chromium/FontChromiumWin.cpp:
1921 (WebCore::drawGlyphsWin): new static function, code factored-out
1922 from WebCore::Font::drawGlyphs
1923 (WebCore::Font::drawGlyphs): may separate font rendering into two
1924 passes to allow foreground glyphs to be rendered with GDI when Skia
1925 is required for rendering shadows
1926 * platform/graphics/skia/SkiaFontWin.cpp:
1927 (WebCore::windowsCanHandleDrawTextShadow):
1928 Modified method so that it does not assume a shadow is present, and
1929 returns true if there is no shadow (GDI can draw 'no shadow')
1930 (WebCore::windowsCanHandleTextDrawing):
1931 Factored out into sub methods so that the the shadow and foregound
1932 glyph properties can be tested separately independently.
1933 (WebCore::windowsCanHandleTextDrawingWithoutShadow):
1934 New method returns true if the foreground glyph only has effect
1935 that can be draw with GDI
1936 (WebCore::paintSkiaText):
1937 * platform/graphics/skia/SkiaFontWin.h:
1939 2011-04-11 Ryosuke Niwa <rniwa@webkit.org>
1941 Unreviewed, rolling out r83515.
1942 http://trac.webkit.org/changeset/83515
1943 https://bugs.webkit.org/show_bug.cgi?id=57178
1945 Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
1947 * rendering/InlineBox.cpp:
1948 (WebCore::InlineBox::nextOnLineExists):
1949 (WebCore::InlineBox::prevOnLineExists):
1950 * rendering/InlineBox.h:
1951 (WebCore::InlineBox::InlineBox):
1953 2011-04-11 Brady Eidson <beidson@apple.com>
1955 Reverting, seeing something else still broken. Sorry.
1957 * html/HTMLTrackElement.cpp:
1959 2011-04-11 Brady Eidson <beidson@apple.com>
1963 * html/HTMLTrackElement.cpp: Case-sensitive, please.
1965 2011-04-11 Alexis Menard <alexis.menard@openbossa.org>
1967 Unreviewed build fix for Mac.
1969 An idl file was added in the wrong place.
1971 * WebCore.xcodeproj/project.pbxproj:
1973 2011-04-11 Chris Marrin <cmarrin@apple.com>
1975 Rubberstamped by Dan Bernstein.
1977 xhr.responseType = 'arraybuffer' works on Mac but not on Windows
1978 https://bugs.webkit.org/show_bug.cgi?id=50334
1980 Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
1981 are always turned on now, so there's not need for the guard. I reenabled the
1982 test that was Skipped on Windows and it works now.
1984 * bindings/js/JSXMLHttpRequestCustom.cpp:
1985 (WebCore::JSXMLHttpRequest::markChildren):
1986 (WebCore::JSXMLHttpRequest::send):
1987 (WebCore::JSXMLHttpRequest::response):
1988 * xml/XMLHttpRequest.cpp:
1989 (WebCore::XMLHttpRequest::responseArrayBuffer):
1990 (WebCore::XMLHttpRequest::setResponseType):
1991 (WebCore::XMLHttpRequest::send):
1992 (WebCore::XMLHttpRequest::clearResponseBuffers):
1993 (WebCore::XMLHttpRequest::didReceiveData):
1994 * xml/XMLHttpRequest.h:
1995 (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
1997 2011-04-11 Anna Cavender <annacc@chromium.org>
1999 Reviewed by Eric Carlson.
2001 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
2002 https://bugs.webkit.org/show_bug.cgi?id=53556
2004 No new tests. No real functionality added just yet.
2007 * CodeGenerators.pri:
2008 * Configurations/FeatureDefines.xcconfig:
2009 * DerivedSources.make:
2011 * GNUmakefile.list.am:
2013 * WebCore.xcodeproj/project.pbxproj:
2015 * html/HTMLAttributeNames.in:
2016 * html/HTMLTagNames.in:
2017 * html/HTMLTrackElement.cpp: Added.
2018 (WebCore::HTMLTrackElement::HTMLTrackElement):
2019 (WebCore::HTMLTrackElement::create):
2020 (WebCore::HTMLTrackElement::insertedIntoTree):
2021 (WebCore::HTMLTrackElement::willRemove):
2022 (WebCore::HTMLTrackElement::src):
2023 (WebCore::HTMLTrackElement::setSrc):
2024 (WebCore::HTMLTrackElement::kind):
2025 (WebCore::HTMLTrackElement::setKind):
2026 (WebCore::HTMLTrackElement::srclang):
2027 (WebCore::HTMLTrackElement::setSrclang):
2028 (WebCore::HTMLTrackElement::label):
2029 (WebCore::HTMLTrackElement::setLabel):
2030 (WebCore::HTMLTrackElement::isDefault):
2031 (WebCore::HTMLTrackElement::setIsDefault):
2032 (WebCore::HTMLTrackElement::isURLAttribute):
2033 * html/HTMLTrackElement.h: Added.
2034 * html/HTMLTrackElement.idl: Added.
2036 2011-04-11 Ben Taylor <bentaylor.solx86@gmail.com>
2038 Reviewed by David Levin.
2040 https://bugs.webkit.org/show_bug.cgi?id=57535
2042 Better compile fix for Solaris 10/Sun Studio 12 CC
2043 needing <sys/time.h>
2045 * loader/icon/IconRecord.h:
2047 * platform/network/ResourceResponseBase.h:
2049 2011-04-11 Alexey Proskuryakov <ap@apple.com>
2051 Reviewed by Maciej Stachowiak.
2053 WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
2054 https://bugs.webkit.org/show_bug.cgi?id=58265
2055 <rdar://problem/9221468>
2057 * page/EventHandler.cpp:
2058 (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
2059 (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
2060 other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
2061 (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
2062 goes forward. All browsers do it.
2063 (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
2064 for a correct event.
2065 (WebCore::EventHandler::defaultTabEventHandler): Ditto.
2067 * page/EventHandler.h: Added defaultBackspaceEventHandler.
2069 2011-04-11 Matthew Delaney <mdelaney@apple.com>
2071 Reviewed by Dan Bernstein.
2073 [CG] drawImage with a subimage bleeds pixel data at borders
2074 https://bugs.webkit.org/show_bug.cgi?id=58267
2076 Test: fast/canvas/DrawImageSinglePixelStretch.html
2078 * platform/graphics/cg/ImageCG.cpp:
2079 (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
2081 2011-04-11 Chris Marrin <cmarrin@apple.com>
2083 Reviewed by Simon Fraser.
2085 iframe/compositing propagation should also work for <object> and framesets
2086 https://bugs.webkit.org/show_bug.cgi?id=39037
2088 Generalized the code that handles the parenting of composited <iframe> elements
2089 to include <frame> and <object> elements. This includes forcing the parent
2090 element to be composited and constructing the layer tree in the child document
2091 and properly parenting it. Much of the change is giving the function calls more
2092 generic names (from ...IFrame... to ...Frame...)
2094 Compositing tests that were done in RenderIFrame have been moved to RenderPart
2095 since this is the highest base class common to all 3 elements.
2097 I also renamed several ...IFrame... functions to
2098 ...Frame... and changed them so they work on a RenderPart for determining
2099 if the renderer is composited. One other detail is that <iframe> and
2100 <object> never share style since they might be composited. I had to add
2101 <frame> to that list.
2103 Tests: compositing/framesets/composited-frame-alignment.html
2104 compositing/objects/composited-object-alignment.html
2106 * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
2107 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2108 * page/FrameView.cpp:
2109 (WebCore::FrameView::hasCompositedContentIncludingDescendants):
2110 (WebCore::FrameView::setIsOverlapped):
2111 * rendering/RenderIFrame.cpp: Moved methods to RenderPart
2112 * rendering/RenderIFrame.h:
2113 * rendering/RenderLayerBacking.cpp:
2114 (WebCore::RenderLayerBacking::updateAfterWidgetResize):
2115 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2116 (WebCore::RenderLayerBacking::paintingGoesToWindow):
2117 * rendering/RenderLayerCompositor.cpp:
2118 (WebCore::RenderLayerCompositor::updateBacking):
2119 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2120 (WebCore::RenderLayerCompositor::frameContentsCompositor):
2121 (WebCore::RenderLayerCompositor::parentFrameContentLayers):
2122 (WebCore::RenderLayerCompositor::didMoveOnscreen):
2123 (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
2124 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
2125 (WebCore::RenderLayerCompositor::enclosingFrameElement):
2126 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2127 (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2128 (WebCore::RenderLayerCompositor::requiresScrollLayer):
2129 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2130 (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
2131 (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
2132 * rendering/RenderLayerCompositor.h:
2133 * rendering/RenderPart.cpp: Functions moved from RenderIFrame
2134 (WebCore::RenderPart::requiresLayer):
2135 (WebCore::RenderPart::requiresAcceleratedCompositing):
2136 * rendering/RenderPart.h:
2138 2011-04-11 Yael Aharon <yael.aharon@nokia.com>
2140 Reviewed by Eric Seidel.
2142 InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
2143 https://bugs.webkit.org/show_bug.cgi?id=57178
2145 Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
2146 No new tests needed because this is cleanup only.
2148 * rendering/InlineBox.cpp:
2149 * rendering/InlineBox.h:
2150 (WebCore::InlineBox::InlineBox):
2151 (WebCore::InlineBox::setPrevOnLine):
2153 2011-04-11 David Hyatt <hyatt@apple.com>
2155 Reviewed by Dan Bernstein.
2157 https://bugs.webkit.org/show_bug.cgi?id=58261
2159 Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
2160 to the new overflow model, I messed up the math and passed a bottom value where I should have
2161 passed a height value. This patch fixes the code to be logically equivalent to the way it
2162 was prior to my changes.
2164 Added fast/overflow/trailing-float-linebox.html.
2166 * rendering/RenderBlockLineLayout.cpp:
2167 (WebCore::RenderBlock::layoutInlineChildren):
2169 2011-04-11 Adrienne Walker <enne@google.com>
2171 Unreviewed, rolling out r83500.
2172 http://trac.webkit.org/changeset/83500
2173 https://bugs.webkit.org/show_bug.cgi?id=57113
2175 Regresses huge-layer-rotated test
2177 * platform/graphics/chromium/ContentLayerChromium.cpp:
2178 (WebCore::ContentLayerChromium::ContentLayerChromium):
2179 (WebCore::ContentLayerChromium::~ContentLayerChromium):
2180 (WebCore::ContentLayerChromium::cleanupResources):
2181 (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2182 (WebCore::ContentLayerChromium::paintContentsIfDirty):
2183 (WebCore::ContentLayerChromium::resizeUploadBuffer):
2184 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2185 (WebCore::ContentLayerChromium::updateTexture):
2186 (WebCore::ContentLayerChromium::draw):
2187 (WebCore::ContentLayerChromium::updateCompositorResources):
2188 (WebCore::ContentLayerChromium::unreserveContentsTexture):
2189 (WebCore::ContentLayerChromium::bindContentsTexture):
2190 (WebCore::ContentLayerChromium::dumpLayerProperties):
2191 * platform/graphics/chromium/ContentLayerChromium.h:
2192 (WebCore::ContentLayerChromium::drawsContent):
2193 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2194 (WebCore::GraphicsLayerChromium::setMaskLayer):
2195 * platform/graphics/chromium/ImageLayerChromium.cpp:
2196 (WebCore::ImageLayerChromium::paintContentsIfDirty):
2197 (WebCore::ImageLayerChromium::updateTextureIfNeeded):
2198 * platform/graphics/chromium/ImageLayerChromium.h:
2199 * platform/graphics/chromium/LayerChromium.h:
2200 (WebCore::LayerChromium::draw):
2201 * platform/graphics/chromium/LayerRendererChromium.cpp:
2202 (WebCore::LayerRendererChromium::drawRootLayer):
2203 (WebCore::LayerRendererChromium::drawLayers):
2204 (WebCore::LayerRendererChromium::paintContentsRecursive):
2205 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2206 (WebCore::LayerRendererChromium::drawLayer):
2207 (WebCore::LayerRendererChromium::initializeSharedObjects):
2208 (WebCore::LayerRendererChromium::cleanupSharedObjects):
2209 * platform/graphics/chromium/LayerRendererChromium.h:
2210 (WebCore::LayerRendererChromium::contentLayerProgram):
2211 * platform/graphics/chromium/LayerTilerChromium.cpp:
2212 (WebCore::LayerTilerChromium::invalidateRect):
2213 (WebCore::LayerTilerChromium::update):
2214 (WebCore::LayerTilerChromium::updateFromPixels):
2215 (WebCore::LayerTilerChromium::draw):
2216 * platform/graphics/chromium/LayerTilerChromium.h:
2217 * platform/graphics/chromium/PlatformCanvas.cpp:
2218 (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2219 (WebCore::PlatformCanvas::Painter::Painter):
2220 * platform/graphics/chromium/PlatformCanvas.h:
2221 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2222 (WebCore::RenderSurfaceChromium::draw):
2223 * platform/graphics/chromium/RenderSurfaceChromium.h:
2224 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2225 (WebCore::CCCanvasLayerImpl::draw):
2226 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2227 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2228 (WebCore::CCHeadsUpDisplay::draw):
2229 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2230 (WebCore::CCLayerImpl::draw):
2231 * platform/graphics/chromium/cc/CCLayerImpl.h:
2232 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2233 (WebCore::CCPluginLayerImpl::draw):
2234 * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2235 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2236 (WebCore::CCVideoLayerImpl::draw):
2237 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2239 2011-04-11 Jon Honeycutt <jhoneycutt@apple.com>
2241 <rdar://problem/9267042> Assertion failure on launch in
2242 LayerChangesFlusher::setHook().
2244 https://bugs.webkit.org/show_bug.cgi?id=58270
2246 Reviewed by Adam Roben.
2248 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2249 (WebCore::LayerChangesFlusher::setHook):
2250 MSDN says that the HINSTANCE passed in must be null if the thread ID
2251 passed is a thread created by this process and the hook procedure is
2252 within this process.
2254 2011-04-11 MORITA Hajime <morrita@google.com>
2256 Unreviewed build fix.
2258 Changeset 83492 broke Leopard build.
2259 https://bugs.webkit.org/show_bug.cgi?id=58268
2261 * editing/Editor.cpp:
2262 (WebCore::Editor::markMisspellingsAfterTypingToWord):
2264 2011-03-25 Adrienne Walker <enne@google.com>
2266 Reviewed by James Robinson.
2268 [chromium] Tile content and image layers
2269 https://bugs.webkit.org/show_bug.cgi?id=57113
2271 Layers tile by default if any dimension is larger than 512. Smaller
2272 layers are contained within a single texture but still use the tiler
2273 infrastructure so that there's only one code path.
2275 Remove large layer support from content layers. Content layers no
2276 longer own a platform canvas--they own a tiler. Refactor tiler to
2277 allow for better separation of update/upload/paint. Add rect
2278 parameter to update and draw functions on layers for the layer-space
2279 rect of interest. This is necessary to know which tiles need to be
2282 * platform/graphics/chromium/ContentLayerChromium.cpp:
2283 (WebCore::ContentLayerChromium::ContentLayerChromium):
2284 (WebCore::ContentLayerChromium::~ContentLayerChromium):
2285 (WebCore::ContentLayerPainter::ContentLayerPainter):
2286 (WebCore::ContentLayerPainter::paint):
2287 (WebCore::ContentLayerChromium::paintContentsIfDirty):
2288 (WebCore::ContentLayerChromium::setLayerRenderer):
2289 (WebCore::ContentLayerChromium::tilingTransform):
2290 (WebCore::ContentLayerChromium::visibleLayerRect):
2291 (WebCore::ContentLayerChromium::layerBounds):
2292 (WebCore::ContentLayerChromium::updateLayerSize):
2293 (WebCore::ContentLayerChromium::draw):
2294 (WebCore::ContentLayerChromium::createTilerIfNeeded):
2295 (WebCore::ContentLayerChromium::updateCompositorResources):
2296 (WebCore::ContentLayerChromium::setTilingOption):
2297 (WebCore::ContentLayerChromium::bindContentsTexture):
2298 (WebCore::ContentLayerChromium::unreserveContentsTexture):
2299 (WebCore::ContentLayerChromium::setIsMask):
2300 (WebCore::ContentLayerChromium::dumpLayerProperties):
2301 * platform/graphics/chromium/ContentLayerChromium.h:
2302 (WebCore::ContentLayerChromium::drawsContent):
2303 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2304 (WebCore::GraphicsLayerChromium::setMaskLayer):
2305 * platform/graphics/chromium/ImageLayerChromium.cpp:
2306 (WebCore::ImageLayerChromium::paintContentsIfDirty):
2307 (WebCore::ImageLayerChromium::updateCompositorResources):
2308 (WebCore::ImageLayerChromium::layerBounds):
2309 (WebCore::ImageLayerChromium::tilingTransform):
2310 * platform/graphics/chromium/ImageLayerChromium.h:
2311 * platform/graphics/chromium/LayerChromium.h:
2312 (WebCore::LayerChromium::invalidateRect):
2313 (WebCore::LayerChromium::paintContentsIfDirty):
2314 (WebCore::LayerChromium::setIsMask):
2315 (WebCore::LayerChromium::draw):
2316 * platform/graphics/chromium/LayerRendererChromium.cpp:
2317 (WebCore::LayerRendererChromium::drawRootLayer):
2318 (WebCore::LayerRendererChromium::drawLayers):
2319 (WebCore::LayerRendererChromium::paintContentsRecursive):
2320 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2321 (WebCore::LayerRendererChromium::drawLayer):
2322 (WebCore::LayerRendererChromium::initializeSharedObjects):
2323 (WebCore::LayerRendererChromium::cleanupSharedObjects):
2324 * platform/graphics/chromium/LayerRendererChromium.h:
2325 * platform/graphics/chromium/LayerTilerChromium.cpp:
2326 (WebCore::LayerTilerChromium::getSingleTexture):
2327 (WebCore::LayerTilerChromium::invalidateRect):
2328 (WebCore::LayerTilerChromium::update):
2329 (WebCore::LayerTilerChromium::uploadCanvas):
2330 (WebCore::LayerTilerChromium::updateFromPixels):
2331 (WebCore::LayerTilerChromium::draw):
2332 (WebCore::LayerTilerChromium::unreserveTextures):
2333 * platform/graphics/chromium/LayerTilerChromium.h:
2334 (WebCore::LayerTilerChromium::setLayerRenderer):
2335 (WebCore::LayerTilerChromium::skipsDraw):
2336 * platform/graphics/chromium/PlatformCanvas.cpp:
2337 (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2338 (WebCore::PlatformCanvas::Painter::Painter):
2339 * platform/graphics/chromium/PlatformCanvas.h:
2340 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2341 (WebCore::RenderSurfaceChromium::draw):
2342 * platform/graphics/chromium/RenderSurfaceChromium.h:
2343 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2344 (WebCore::CCCanvasLayerImpl::draw):
2345 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2346 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2347 (WebCore::CCHeadsUpDisplay::draw):
2348 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2349 (WebCore::CCLayerImpl::draw):
2350 * platform/graphics/chromium/cc/CCLayerImpl.h:
2351 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2352 (WebCore::CCPluginLayerImpl::draw):
2353 * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2354 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2355 (WebCore::CCVideoLayerImpl::draw):
2356 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2358 2011-04-11 Eric Carlson <eric.carlson@apple.com>
2360 Reviewed by Simon Fraser.
2362 Ignore context change callbacks when not on the main thread
2363 https://bugs.webkit.org/show_bug.cgi?id=58256
2364 <rdar://problem/9266090>
2366 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
2367 (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
2368 on the main thread. This should only happen when no changes have actually
2369 been committed to the context, eg. when a video frame has been added to an image
2370 queue, so return without triggering animations etc.
2372 2011-04-11 Daniel Cheng <dcheng@chromium.org>
2374 Reviewed by Dmitry Titov.
2376 [chromium] Implement image/png support in DataTransferItems
2377 https://bugs.webkit.org/show_bug.cgi?id=58106
2379 This patch implements DataTransferItem::getAsFile() using Blobs. In
2380 addition, plumbing for image/png has been added so image paste will be
2381 supported as long as the renderer makes that data available.
2383 Tests: editing/pasteboard/data-transfer-items-image-png.html
2385 * dom/DataTransferItem.h:
2386 * dom/DataTransferItem.idl:
2387 * platform/chromium/ClipboardMimeTypes.cpp:
2388 * platform/chromium/ClipboardMimeTypes.h:
2389 * platform/chromium/DataTransferItemChromium.cpp:
2390 (WebCore::DataTransferItemChromium::getAsString):
2391 (WebCore::DataTransferItemChromium::getAsFile):
2392 * platform/chromium/DataTransferItemChromium.h:
2393 * platform/chromium/PlatformBridge.h:
2395 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
2397 Reviewed by Chris Fleizach.
2399 [Gtk] Implement support for Embedded Objects
2400 https://bugs.webkit.org/show_bug.cgi?id=52148
2402 Expose special OBJECT character for replaced elements, implementing
2403 AtkText and AtkHyperlink when required.
2405 * accessibility/AccessibilityRenderObject.cpp:
2406 (WebCore::textIteratorBehaviorForTextRange): New helper function,
2407 to return the right behavior, depending on the platform, so it
2408 ensures that object replacement characters get emitted for GTK.
2409 (WebCore::AccessibilityRenderObject::textUnderElement): Use the
2410 new helper function textIteratorBehaviorForTextRange.
2411 (WebCore::AccessibilityRenderObject::stringValue): Ditto.
2412 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2413 Consider replaced elements when calculating range length in GTK.
2415 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2416 (textForRenderer): Ouput the 'object replacement character' for
2418 (getSelectionOffsetsForObject): Consider replaced elements when
2419 calculating range length in GTK.
2420 (webkitAccessibleHypertextGetLink): Remove wrong extra check that
2421 were causing only links to be considered.
2422 (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
2423 check with the right one, by checking that the right ATK interface
2424 is being implemented by the AtkObject.
2425 (getInterfaceMaskFromObject): Implement the Hyperlink interface
2426 both for links and replaced objects.
2427 (objectAndOffsetUnignored): Consider replaced elements when
2428 calculating range length in GTK.
2430 * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
2431 (getRangeLengthForObject): Ensure spaces are used for replaced
2432 elements when calling to TextIterator::rangeLength().
2434 * editing/TextIterator.h: New value in the TextIteratorBehavior
2435 enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
2436 private variable to consider that new option internally.
2437 * editing/TextIterator.cpp:
2438 (WebCore::TextIterator::TextIterator): Initialize the new private
2439 attribute m_emitsObjectReplacementCharacters in constructors.
2440 (WebCore::TextIterator::handleReplacedElement): Emit the 'object
2441 replacement character' when m_emitsObjectReplacementCharacters.
2443 2011-04-11 Jia Pu <jpu@apple.com>
2445 Reviewed by Adele Peterson.
2447 Shouldn't carry out autocorrection when start typing a new word
2448 https://bugs.webkit.org/show_bug.cgi?id=58241
2449 <rdar://problem/9264736>
2451 Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
2452 platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
2454 In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
2455 only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
2458 * editing/Editor.cpp:
2459 (WebCore::Editor::markMisspellingsAfterTypingToWord):
2461 * editing/TypingCommand.cpp:
2462 (WebCore::TypingCommand::markMisspellingsAfterTyping):
2464 2011-04-11 Vsevolod Vlasov <vsevik@chromium.org>
2466 Reviewed by Pavel Feldman.
2468 PerformanceTiming returns inconsistent values when timing is null.
2469 https://bugs.webkit.org/show_bug.cgi?id=58143
2471 Made PerformanceTiming returned values consistent when there is no timing object.
2473 * page/PerformanceTiming.cpp:
2474 (WebCore::PerformanceTiming::domainLookupStart):
2475 (WebCore::PerformanceTiming::domainLookupEnd):
2476 (WebCore::PerformanceTiming::connectStart):
2477 (WebCore::PerformanceTiming::connectEnd):
2478 (WebCore::PerformanceTiming::requestStart):
2479 (WebCore::PerformanceTiming::responseStart):
2480 (WebCore::PerformanceTiming::domLoading):
2482 2011-04-05 Stephen White <senorblanco@chromium.org>
2484 Fix for jittering when animating a rotated image.
2485 https://bugs.webkit.org/show_bug.cgi?id=50775
2487 Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
2489 * platform/graphics/cg/GraphicsContextCG.cpp:
2490 (WebCore::GraphicsContext::roundToDevicePixels):
2492 2011-04-06 Xiaomei Ji <xji@chromium.org>
2494 Reviewed by Ryosuke Niwa.
2496 Continue experiment with moving caret by word in visual order.
2497 https://bugs.webkit.org/show_bug.cgi?id=57806
2499 This is the 2nd patch, which adds implementation when caret is inside box
2500 (not at boundaries). If the word break is inside the same box and not at the boundaries
2501 either, the word break will be returned. If need to search the adjacent boxes for word
2502 breaks, then, only the cases implemented in bug 57336 work.
2504 * editing/visible_units.cpp:
2505 (WebCore::leftmostPositionInRTLBoxInLTRBlock):
2506 (WebCore::rightmostPositionInLTRBoxInRTLBlock):
2507 (WebCore::lastWordBreakInBox):
2508 (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
2509 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
2510 (WebCore::WordBoundaryEntry::WordBoundaryEntry):
2511 (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
2512 (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
2513 (WebCore::greatestValueUnder):
2514 (WebCore::smallestOffsetAbove):
2515 (WebCore::positionIsInsideBox):
2516 (WebCore::positionBeforeNextWord):
2517 (WebCore::positionAfterPreviousWord):
2518 (WebCore::leftWordPosition):
2519 (WebCore::rightWordPosition):
2521 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
2523 Reviewed by Chris Fleizach.
2525 [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
2526 https://bugs.webkit.org/show_bug.cgi?id=58040
2528 Don't expose objects of role SliderThumbRoles in GTK.
2530 * accessibility/AccessibilitySlider.cpp:
2531 (WebCore::AccessibilitySlider::addChildren): Allow the platform
2532 make a final decision before including children in the hierarchy.
2533 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
2534 Implemented by relying on accessibilityPlatformIncludesObject().
2536 * accessibility/gtk/AccessibilityObjectAtk.cpp:
2537 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2538 Ignore accessibility objects with role SliderThumbRole.
2540 2011-04-11 Simon Fraser <simon.fraser@apple.com>
2542 Reviewed by Dan Bernstein.
2544 Divide by zero in calcColumnWidth
2545 https://bugs.webkit.org/show_bug.cgi?id=58230
2547 Test: fast/multicol/huge-column-count.html
2549 Make sure we have at least one column, to avoid divide by zero.
2551 * rendering/RenderBlock.cpp:
2552 (WebCore::RenderBlock::calcColumnWidth):
2554 2011-04-09 Gavin Barraclough <barraclough@apple.com>
2556 Reviewed by Sam Weinig.
2558 Bug 58198 - Clean up JSValue implementation for JSVALUE64
2560 JSNumberCell.h has been deprecated.
2562 * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
2563 * bindings/scripts/CodeGeneratorJS.pm:
2564 * bridge/c/c_instance.cpp:
2566 2011-04-11 Dan Bernstein <mitz@apple.com>
2570 * html/canvas/CanvasRenderingContext2D.cpp:
2571 (WebCore::CanvasRenderingContext2D::State::State):
2573 2011-04-11 Antti Koivisto <antti@apple.com>
2575 Reviewed by Tony Gentilcore.
2577 Document source preload scanned repeatedly
2578 https://bugs.webkit.org/show_bug.cgi?id=58123
2580 Don't clear the preload scanner after execution resumes. This would lose the current
2581 scanning point and lead to rescanning when the preload scanner would get reconstructed
2582 due to main parser blocking again.
2584 Instead clear the scanner only in the specific case of receiving new data while the main
2585 parser has already reached the end of the current input.
2587 Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
2589 The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by
2590 http/tests/loading/preload-slow-loading.php.
2592 * html/parser/HTMLDocumentParser.cpp:
2593 (WebCore::HTMLDocumentParser::insert):
2594 (WebCore::HTMLDocumentParser::append):
2595 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2597 2011-04-11 Dan Bernstein <mitz@apple.com>
2601 * html/canvas/CanvasRenderingContext2D.cpp:
2602 (WebCore::CanvasRenderingContext2D::State::State):
2604 2011-04-11 Dan Bernstein <mitz@apple.com>
2606 Reviewed by Alexey Proskuryakov.
2608 Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
2609 https://bugs.webkit.org/show_bug.cgi?id=58229
2611 * html/canvas/CanvasRenderingContext2D.cpp:
2612 (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
2613 the font selector if needed.
2614 (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
2615 registration with the font selector as needed.
2616 * html/canvas/CanvasRenderingContext2D.h:
2618 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
2620 Reviewed by Chris Fleizach.
2622 [GTK] ARIA tables not exposing cells as HTML tables do
2623 https://bugs.webkit.org/show_bug.cgi?id=57463
2625 Expose cells for ARIA grids consistently with HTML tables in GTK,
2626 keeping the same behaviour for the other platforms.
2628 * accessibility/AccessibilityARIAGrid.cpp:
2629 (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
2630 to the accessibility hierarchy when accessibility objects for rows
2631 are ignoring accessibility, otherwise add the row.
2632 (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
2633 this point whether every child of the table ignores or not
2634 accessibility, letting addChild() make the proper decision later.
2636 * accessibility/AccessibilityARIAGridCell.cpp:
2637 (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
2638 rows could be ignoring accessibility, hence the parent could be
2639 retrieved in the first call to parentObjectUnignored().
2640 (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
2641 (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
2643 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2644 (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
2646 2011-04-11 Sergio Villar Senin <svillar@igalia.com>
2648 Reviewed by Martin Robinson.
2650 [GTK] Fix make distcheck
2651 https://bugs.webkit.org/show_bug.cgi?id=58224
2653 Removed a file that is no longer in the source tree.
2655 * GNUmakefile.list.am:
2657 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
2659 Reviewed by Martin Robinson.
2661 REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
2662 https://bugs.webkit.org/show_bug.cgi?id=58204
2664 Covered by existing tests.
2666 * platform/gtk/RenderThemeGtk.h:
2667 (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
2668 the the state of media controls.
2670 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
2672 Remove obsolete comment, which was mistakenly landed in r83397.
2674 Though potentially a work of art, the comment lost its functional meaning a long time ago.
2676 * html/shadow/MediaControls.cpp:
2677 (WebCore::MediaControls::create): Removed comment.
2679 2011-04-05 Hans Wennborg <hans@chromium.org>
2681 Reviewed by Steve Block.
2683 IndexedDB: Introduce skeleton for LevelDB backend
2684 https://bugs.webkit.org/show_bug.cgi?id=57827
2686 No new tests: no new functionality (yet).
2688 * WebCore.gyp/WebCore.gyp:
2689 Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
2692 * storage/IDBBackingStore.h:
2693 (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
2694 Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
2695 backend uses integers to refer to a specific row in a table, but
2696 the LevelDB backend will use something else.
2697 * storage/IDBDatabaseBackendImpl.cpp:
2698 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2699 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2700 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
2701 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
2702 Change functions to pass along the database id for operations that
2703 concern object stores. We want to be able to group object stores
2705 * storage/IDBFactoryBackendImpl.cpp:
2706 (WebCore::IDBFactoryBackendImpl::open):
2707 Decide which backend to use based on the backingStoreType
2709 * storage/IDBIndexBackendImpl.cpp:
2710 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
2711 (WebCore::IDBIndexBackendImpl::openCursorInternal):
2712 (WebCore::IDBIndexBackendImpl::getInternal):
2713 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
2714 * storage/IDBIndexBackendImpl.h:
2715 (WebCore::IDBIndexBackendImpl::create):
2716 Pass database and object store id to backend functions concerning
2718 * storage/IDBLevelDBBackingStore.cpp: Added.
2719 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
2720 (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
2721 (WebCore::IDBLevelDBBackingStore::open):
2722 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
2723 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
2724 (WebCore::IDBLevelDBBackingStore::getObjectStores):
2725 (WebCore::IDBLevelDBBackingStore::createObjectStore):
2726 (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
2727 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
2728 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
2729 (WebCore::IDBLevelDBBackingStore::clearObjectStore):
2730 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
2731 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
2732 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
2733 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
2734 (WebCore::IDBLevelDBBackingStore::getIndexes):
2735 (WebCore::IDBLevelDBBackingStore::createIndex):
2736 (WebCore::IDBLevelDBBackingStore::deleteIndex):
2737 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
2738 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
2739 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
2740 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
2741 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
2742 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
2743 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
2744 (WebCore::IDBLevelDBBackingStore::openIndexCursor):
2745 (WebCore::IDBLevelDBBackingStore::createTransaction):
2746 * storage/IDBLevelDBBackingStore.h: Added.
2747 Add an empty implementation of the LevelDB backend.
2748 * storage/IDBObjectStoreBackendImpl.cpp:
2749 Keep track of database id, use the new RecordIdentifier.
2750 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
2751 (WebCore::IDBObjectStoreBackendImpl::getInternal):
2752 (WebCore::IDBObjectStoreBackendImpl::putInternal):
2753 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2754 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
2755 (WebCore::populateIndex):
2756 (WebCore::IDBObjectStoreBackendImpl::createIndex):
2757 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2758 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
2759 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2760 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
2761 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
2762 * storage/IDBObjectStoreBackendImpl.h:
2763 (WebCore::IDBObjectStoreBackendImpl::create):
2764 (WebCore::IDBObjectStoreBackendImpl::databaseId):
2765 * storage/IDBSQLiteBackingStore.cpp:
2766 (WebCore::IDBSQLiteBackingStore::open):
2767 (WebCore::IDBSQLiteBackingStore::createObjectStore):
2768 (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
2769 (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
2770 (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
2771 (WebCore::IDBSQLiteBackingStore::clearObjectStore):
2772 (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
2773 (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
2774 (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
2775 (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
2776 (WebCore::IDBSQLiteBackingStore::getIndexes):
2777 (WebCore::IDBSQLiteBackingStore::createIndex):
2778 (WebCore::IDBSQLiteBackingStore::deleteIndex):
2779 (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
2780 (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
2781 (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
2782 (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
2783 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
2784 (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
2785 (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
2786 (WebCore::IDBSQLiteBackingStore::openIndexCursor):
2787 * storage/IDBSQLiteBackingStore.h:
2789 2011-04-11 Alexander Pavlov <apavlov@chromium.org>
2791 Reviewed by Yury Semikhatsky.
2793 Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
2794 https://bugs.webkit.org/show_bug.cgi?id=58226
2796 * inspector/InspectorStyleSheet.cpp:
2797 (WebCore::InspectorStyle::populateAllProperties):
2799 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
2801 Reviewed by Pavel Feldman.
2803 Web Inspector: get rid of source frame delegates for resources panel.
2804 https://bugs.webkit.org/show_bug.cgi?id=58041
2806 Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
2808 * inspector/front-end/ResourceView.js:
2809 (WebInspector.ResourceView.createResourceView):
2810 (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2811 (WebInspector.ResourceSourceFrame):
2812 (WebInspector.ResourceSourceFrame.prototype.get resource):
2813 (WebInspector.ResourceSourceFrame.prototype.contentEditable):
2814 (WebInspector.ResourceSourceFrame.prototype._requestContent):
2815 (WebInspector.CSSSourceFrame):
2816 (WebInspector.CSSSourceFrame.prototype.contentEditable):
2817 (WebInspector.CSSSourceFrame.prototype._editContent):
2818 (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
2819 (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
2820 * inspector/front-end/SourceFrame.js:
2821 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2822 (WebInspector.SourceFrame.prototype._requestContent):
2823 (WebInspector.SourceFrame.prototype._handleSave):
2824 (WebInspector.SourceFrame.prototype._editContent):
2826 2011-04-11 Alexis Menard <alexis.menard@openbossa.org>
2828 Reviewed by Andreas Kling.
2830 [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
2831 https://bugs.webkit.org/show_bug.cgi?id=58076
2833 State_Sunken is more generic than pressed. It is used by items such as frames or
2834 line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
2835 by some style like Oxygen. Therefore only in the mobile theme we check if the object
2838 * platform/qt/RenderThemeQt.cpp:
2839 (WebCore::RenderThemeQt::paintTextField):
2841 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
2843 Reviewed by Yury Semikhatsky.
2845 Web Inspector: add support for optional output parameters.
2846 https://bugs.webkit.org/show_bug.cgi?id=58207
2848 Output parameters such as "redirectResponse" are optional, but
2849 do not allow specifying them as such.
2851 * inspector/CodeGeneratorInspector.pm:
2852 * inspector/Inspector.json:
2853 * inspector/InspectorResourceAgent.cpp:
2854 (WebCore::buildObjectForResourceResponse):
2855 (WebCore::buildObjectForCachedResource):
2856 * inspector/front-end/NetworkManager.js:
2857 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2858 * inspector/generate-inspector-idl:
2860 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
2862 Reviewed by Yury Semikhatsky.
2864 Web Inspector: refactor / document call frames in debugger domain.
2865 https://bugs.webkit.org/show_bug.cgi?id=58187
2867 Note that we are not special casing with(element) and with(document) anymore
2868 and do not tell user that it is "Event target" and "Event document". Strictly speaking,
2869 we should not have done it for with(element) not necessarily being related to an event.
2871 * English.lproj/localizedStrings.js:
2872 * inspector/InjectedScriptSource.js:
2873 * inspector/Inspector.json:
2874 * inspector/front-end/ScopeChainSidebarPane.js:
2875 (WebInspector.ScopeChainSidebarPane.prototype.update):
2877 2011-04-10 ChangSeok Oh <shivamidow@gmail.com>
2879 Reviewed by Eric Seidel.
2881 Make correspondence of file name related with event to other port.
2882 https://bugs.webkit.org/show_bug.cgi?id=57416
2884 Some file names are changed to make correspondence naming rule.
2885 Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
2886 This has made user hard to find a specific file related with event for GTK port.
2888 No test required. This patch just changes some file names.
2890 * GNUmakefile.list.am:
2891 * platform/gtk/KeyEventGtk.cpp: Removed.
2892 * platform/gtk/MouseEventGtk.cpp: Removed.
2893 * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
2894 * platform/gtk/PlatformMouseEventGtk.cpp: Added.
2895 * platform/gtk/PlatformWheelEventGtk.cpp: Added.
2896 * platform/gtk/WheelEventGtk.cpp: Removed.
2898 2011-04-10 Simon Fraser <simon.fraser@apple.com>
2900 Revert the FloatRect.cpp part of r83422, since
2901 clampToInteger() is broken for some inputs. I filed
2902 https://bugs.webkit.org/show_bug.cgi?id=58216
2904 * platform/graphics/FloatRect.cpp:
2905 (WebCore::safeFloatToInt):
2906 (WebCore::enclosingIntRect):
2908 2011-04-10 Simon Fraser <simon.fraser@apple.com>
2910 Reviewed by Maciej Stachowiak.
2912 Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
2913 https://bugs.webkit.org/show_bug.cgi?id=56660
2915 When overflow on an element changes, we need to inform compositing
2916 layers which create and position an "ancestor clipping" layer based
2917 on that overflow. Do this by triggering a rebuild of compositing layers
2918 when overflow changes on a layer whose stacking context has compositing
2919 descendants. (We can't just check whether the layer itself has compositing
2920 descendants, because overflow follows the render tree, but compositing
2921 follows the z-order tree.)
2923 Test: compositing/geometry/ancestor-overflow-change.html
2925 * rendering/RenderLayer.cpp:
2926 (WebCore::RenderLayer::styleChanged):
2927 * rendering/RenderLayer.h:
2928 * rendering/RenderLayerBacking.cpp:
2929 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2931 2011-04-10 Simon Fraser <simon.fraser@apple.com>
2933 Reviewed by Ariya Hidayat.
2935 Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
2936 https://bugs.webkit.org/show_bug.cgi?id=58161
2938 ShadowBlur already has a singleton scratch buffer that is re-used
2939 between shadows. Enhance use of this scratch buffer to avoid drawing
2940 and blurring the shadow if the results will match what is already
2943 Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
2944 which ended up with little reusable code after adding the re-use logic.
2946 * platform/graphics/FloatRect.cpp:
2947 (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
2948 clampToInteger() from MathExtras.h
2950 * platform/graphics/FloatSize.h:
2951 (WebCore::expandedIntSize): New method to safely ceil() the size.
2953 * platform/graphics/RoundedIntRect.h:
2954 Add operator== for Radii and RoundedIntRect.
2956 * platform/graphics/ShadowBlur.cpp:
2957 (WebCore::ScratchBuffer::ScratchBuffer):
2958 (WebCore::ScratchBuffer::setLastShadowValues):
2959 (WebCore::ScratchBuffer::setLastInsetShadowValues):
2960 (WebCore::ScratchBuffer::matchesLastShadow):
2961 (WebCore::ScratchBuffer::matchesLastInsetShadow):
2962 (WebCore::ScratchBuffer::clearScratchBuffer):
2963 Have the scratch buffer remember what shadow parameters were used
2964 to render the buffer contents.
2966 (WebCore::ShadowBlur::drawShadowBuffer):
2967 Renamed from endShadowLayer(), and only contains the drawing
2970 (WebCore::ShadowBlur::drawRectShadow):
2971 Promote some code from beginShadowLayer().
2973 (WebCore::ShadowBlur::drawInsetShadow):
2974 Promote some code from beginShadowLayer().
2976 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2977 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2978 (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2979 (WebCore::ShadowBlur::drawRectShadowWithTiling):
2980 These methods now check to see if the buffer already matches
2981 their required parameters, and avoid work if it does.
2983 (WebCore::ShadowBlur::blurShadowBuffer):
2984 Factored some code into this new method.
2986 (WebCore::ShadowBlur::blurAndColorShadowBuffer):
2989 * platform/graphics/ShadowBlur.h:
2991 2011-04-10 Geoffrey Garen <ggaren@apple.com>
2993 Build fix: Updated for file move.
2995 * bindings/js/GCController.cpp:
2996 * bindings/js/ScriptGCEvent.cpp:
2998 2011-04-10 Geoffrey Garen <ggaren@apple.com>
3000 Rubber-stamped by Beth Dakin.
3002 Moved Heap.h and Heap.cpp to the heap folder, because anything less
3003 would be uncivilized.
3005 * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
3006 * ForwardingHeaders/runtime/Heap.h: Removed.
3008 2011-04-10 Luke Macpherson <macpherson@chromium.org>
3010 Reviewed by Simon Fraser.
3012 Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
3013 https://bugs.webkit.org/show_bug.cgi?id=58212
3015 No new tests - function renaming only / no functionality changes.
3017 * css/CSSStyleApplyProperty.cpp:
3018 Rename all instances of inherit, initial and value.
3019 * css/CSSStyleApplyProperty.h:
3020 Rename all instances of inherit, initial and value.
3021 * css/CSSStyleSelector.cpp:
3022 Rename all instances of inherit, initial and value.
3024 2011-04-10 Mike Lawther <mikelawther@chromium.org>
3026 Reviewed by Ojan Vafai.
3028 flex/bison tokens and grammar for CSS calc
3029 https://bugs.webkit.org/show_bug.cgi?id=54412
3031 Tests: css3/calc/calc-errors.html
3032 css3/calc/lexer-regression-57581-2.html
3033 css3/calc/lexer-regression-57581-3.html
3034 css3/calc/lexer-regression-57581.html
3035 css3/calc/minmax-errors.html
3036 css3/calc/nested-rounded-corners.html
3037 css3/calc/simple-calcs.html
3038 css3/calc/simple-minmax.html
3041 * css/CSSParserValues.cpp:
3042 (WebCore::CSSParserValueList::insertValueAt):
3043 (WebCore::CSSParserValueList::extend):
3044 * css/CSSParserValues.h:
3045 * css/tokenizer.flex:
3047 2011-04-10 Alice Boxhall <aboxhall@chromium.org>
3049 Reviewed by Ryosuke Niwa.
3051 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
3052 https://bugs.webkit.org/show_bug.cgi?id=57923
3054 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
3055 rather than a Node* and an IntPoint&, as the selection may actually not
3056 extend into the Node found by the HitTest.
3058 No new tests. Refactoring only.
3060 * page/EventHandler.cpp:
3061 (WebCore::EventHandler::handleMouseDraggedEvent):
3062 (WebCore::EventHandler::updateSelectionForMouseDrag):
3063 * page/EventHandler.h:
3065 2011-04-10 Kent Tamura <tkent@chromium.org>
3067 Unreviewed, rolling out r83353.
3068 http://trac.webkit.org/changeset/83353
3069 https://bugs.webkit.org/show_bug.cgi?id=58106
3071 The new test doesn't pass on all Chromium platforms.
3073 * dom/DataTransferItem.h:
3074 * dom/DataTransferItem.idl:
3075 * platform/chromium/ClipboardMimeTypes.cpp:
3076 * platform/chromium/ClipboardMimeTypes.h:
3077 * platform/chromium/DataTransferItemChromium.cpp:
3078 (WebCore::DataTransferItemChromium::getAsString):
3079 * platform/chromium/DataTransferItemChromium.h:
3080 * platform/chromium/PlatformBridge.h:
3082 2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3084 Reviewed by Eric Carlson.
3086 [EFL] Add seek forward / backward buttons to MediaControl UI.
3087 https://bugs.webkit.org/show_bug.cgi?id=56810
3089 Add seek forward / backward buttons to media control. And, change formType name
3092 * platform/efl/RenderThemeEfl.cpp:
3093 (WebCore::RenderThemeEfl::edjeGroupFromFormType):
3094 (WebCore::RenderThemeEfl::emitMediaButtonSignal):
3095 (WebCore::RenderThemeEfl::paintMediaMuteButton):
3096 (WebCore::RenderThemeEfl::paintMediaPlayButton):
3097 (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
3098 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
3099 * platform/efl/RenderThemeEfl.h:
3101 2011-04-10 Chris Guillory <chris.guillory@google.com>
3103 Reviewed by Eric Seidel.
3105 Remove unused function declaration in PlatformContextSkia.h.
3106 https://bugs.webkit.org/show_bug.cgi?id=55983
3108 * platform/graphics/skia/PlatformContextSkia.h:
3110 2011-04-10 Patrick Gansterer <paroga@webkit.org>
3112 Unreviewed build fix for !ENABLE(XSLT) after r82562.
3114 * dom/XMLDocumentParserLibxml2.cpp:
3115 (WebCore::XMLDocumentParser::doEnd):
3117 2011-04-10 Patrick Gansterer <paroga@webkit.org>
3119 Unreviewed build fix for !ENABLE(XSLT) after r82562.
3121 * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
3123 2011-04-10 Dimitri Glazkov <dglazkov@chromium.org>
3125 Reviewed by Anders Carlsson.
3127 REGRESSION(r83256): Text-decoration bleeds into shadow DOM
3128 https://bugs.webkit.org/show_bug.cgi?id=58205
3130 Now that the shadow root is a never-styled element, we need to walk to
3131 parent to find out if we're inside of a shadow DOM subtree.
3133 Test: media/controls-styling.html
3135 * css/CSSStyleSelector.cpp:
3136 (WebCore::isAtShadowBoundary): Added helper function.
3137 (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
3139 2011-04-07 Dimitri Glazkov <dglazkov@chromium.org>
3141 Reviewed by Eric Carlson.
3143 [Meta] Convert HTMLMediaElement to use the new shadow DOM
3144 https://bugs.webkit.org/show_bug.cgi?id=53020
3146 This conversion is non-trivial, for several reasons:
3148 1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
3149 and showing controls does not result in destroying and re-creating the
3150 shadow DOM tree. Instead, the tree is created as needed and shown/hidden
3151 using inline styles.
3153 2) Instead of detaching/attaching on each style change, the control parts
3154 are now using a set of higher fidelity callbacks that notify MediaControls
3155 about changes to which it should react. Each reaction results in hiding,
3156 showing, or changing the state of the control parts using inline styles
3159 3) Hiding and showing controls is accomplished using inline styles, rather
3160 than wiring rendererIsNeeded, because renderers are now re-created less
3163 4) Instead of constantly querying RenderTheme about visibility of a particular
3164 control part, we let the theme determine which parts are supported and
3165 which parts are visible in certain conditions.
3167 5) Custom hit-testing, event forwarding, and style updates are completely
3168 removed, since they are now unnecessary.
3170 6) Fading controls in/out is now done as CSS animation, since shadow DOM
3173 Test: manual-tests/media-controls.html
3175 2011-04-09 Dan Bernstein <mitz@apple.com>
3177 Reviewed by Beth Dakin.
3179 <rdar://problem/9215280> Detached canvas draws with incorrect font
3181 Test: fast/canvas/font-update.html
3183 The existing mechanism for updating the font in a canvas 2D context was lacking in at least
3184 two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
3185 was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
3188 This change takes the responsibility for font updates away from the canvas element and gives it
3189 to the canvas context and its graphics state.
3191 * css/CSSFontSelector.cpp:
3192 (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
3193 font selector clients.
3194 (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
3195 registered font selector clients.
3196 (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
3197 clients and forces a style recalc on the document.
3198 (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
3199 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
3200 * css/CSSFontSelector.h:
3201 * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
3202 * html/HTMLCanvasElement.h:
3203 * html/canvas/CanvasRenderingContext2D.cpp:
3204 (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
3205 (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
3206 when its fonts need to be updated. Updates the font.
3207 (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
3208 * html/canvas/CanvasRenderingContext2D.h:
3209 * platform/graphics/FontSelector.h:
3210 (WebCore::FontSelectorClient::~FontSelectorClient):
3212 2011-04-09 Geoffrey Garen <ggaren@apple.com>
3216 Try recommitting some things svn left out of my last commit.
3218 * bridge/qt/qt_runtime.h:
3220 2011-04-09 Geoffrey Garen <ggaren@apple.com>
3224 Try recommitting some things svn left out of my last commit.
3226 * ForwardingHeaders/collector: Removed.
3227 * ForwardingHeaders/collector/handles: Removed.
3228 * ForwardingHeaders/collector/handles/Global.h: Removed.
3230 2011-04-08 Dimitri Glazkov <dglazkov@chromium.org>
3232 Reviewed by Ojan Vafai.
3234 Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
3235 https://bugs.webkit.org/show_bug.cgi?id=55515
3237 This implements XBL 2.0's specified handling of mouseover/mouseout events:
3238 http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
3241 1) calculate lowest common ancestor between relatedTarget and target, and
3242 the nearest boundaries around them: the outer (common) boundary, and the
3243 inner (specific to relatedTarget) boundary. Then, we
3244 2) ensure that events only propagate up to the common boundary (or
3245 all the way if boundary is not found), while
3246 3) updating relatedTarget be the inner boundary.
3248 We also detect the most common case when no common boundary could exist
3249 and provide a fast path to short-circuit most of the boundary detection
3252 Test: fast/events/shadow-boundary-crossing.html
3254 * dom/EventDispatcher.cpp:
3255 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
3256 common ancestor, the boundaries around it, and compute adjustments
3257 to relatedTarget and event target ancestor chain.
3258 (WebCore::ancestorsCrossShadowBoundaries): Added.
3259 (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
3260 inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
3261 (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
3262 (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
3263 converted to use initialization flag, rather than testing for empty.
3264 * dom/EventDispatcher.h: Adjusted decls.
3265 * dom/MouseEvent.cpp:
3266 (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
3267 to adjustRelatedTarget.
3269 2011-04-08 Geoffrey Garen <ggaren@apple.com>
3271 Reviewed by Oliver Hunt.
3273 A few heap-related renames and file moves.
3275 WeakGCPtr<T> => Weak<T>
3276 Global<T> => Strong<T>
3278 collector/* => heap/*
3279 runtime/WeakGCPtr.h => heap/Weak.h
3281 (Eventually, even more files should move into the heap directory. Like
3282 Heap.h and Heap.cpp, for example.)
3285 * ForwardingHeaders/collector: Removed.
3286 * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
3287 * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
3288 * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
3289 * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
3290 * WebCore.vcproj/WebCore.vcproj:
3291 * WebCore.vcproj/copyForwardingHeaders.cmd:
3292 * bindings/js/JSCallbackData.h:
3293 * bindings/js/JSCustomVoidCallback.h:
3294 * bindings/js/JSDOMWindowBase.h:
3295 * bindings/js/JSDOMWindowShell.cpp:
3296 (WebCore::JSDOMWindowShell::setWindow):
3297 * bindings/js/JSDataGridDataSource.h:
3298 * bindings/js/JSEventListener.h:
3299 * bindings/js/ScheduledAction.cpp:
3300 (WebCore::ScheduledAction::ScheduledAction):
3301 * bindings/js/ScheduledAction.h:
3302 * bindings/js/ScriptCachedFrameData.cpp:
3303 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3304 * bindings/js/ScriptCachedFrameData.h:
3305 * bindings/js/ScriptController.cpp:
3306 (WebCore::ScriptController::createWindowShell):
3307 * bindings/js/ScriptController.h:
3308 * bindings/js/ScriptObject.h:
3309 * bindings/js/ScriptState.h:
3310 * bindings/js/ScriptValue.cpp:
3311 * bindings/js/ScriptValue.h:
3312 * bindings/js/ScriptWrappable.h:
3313 * bindings/js/WorkerScriptController.cpp:
3314 (WebCore::WorkerScriptController::initScript):
3315 * bindings/js/WorkerScriptController.h:
3316 * bridge/jsc/BridgeJSC.h:
3317 * bridge/qt/qt_runtime.h:
3318 * bridge/runtime_root.h:
3319 * xml/XMLHttpRequest.cpp:
3321 2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>
3323 Reviewed by Laszlo Gombos.
3325 [Qt] Don't link against fontconfig or X11 if embedded
3326 https://bugs.webkit.org/show_bug.cgi?id=58104
3328 No functional change so no new tests.
3330 * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
3332 2011-04-09 Csaba Osztrogonác <ossy@webkit.org>
3334 [Qt] Unreviewed trivial fix after r83344.
3336 * WebCore.pro: Update HEADERS list.
3338 2011-04-09 Jon Lee <jonlee@apple.com>
3340 Reviewed by Beth Dakin.
3342 Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
3343 https://bugs.webkit.org/show_bug.cgi?id=58180
3344 <rdar://problem/9047984>
3346 * platform/mac/ScrollAnimatorMac.mm:
3347 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
3348 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
3349 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
3351 2011-04-09 Sreeram Ramachandran <sreeram@google.com>
3353 Reviewed by Ryosuke Niwa.
3355 Gather data on modal dialogs shown during unload events
3356 https://bugs.webkit.org/show_bug.cgi?id=58115
3358 Add a new method to the ChromeClient API to allow clients to receive
3359 notifications of modal dialogs dispatched during page dismissal events.
3360 The new method has a default empty definition; only chromium overrides
3361 it to keep track of histograms.
3363 No tests because this is a no-op for all ports except chromium (and it's
3364 not clear how to test chromium histograms from webkit).
3367 (WebCore::isDuringPageDismissal):
3368 (WebCore::willRunModalDialog):
3369 (WebCore::Chrome::runJavaScriptAlert):
3370 (WebCore::Chrome::runJavaScriptConfirm):
3371 (WebCore::Chrome::runJavaScriptPrompt):
3372 (WebCore::Chrome::willRunModalHTMLDialog):
3374 * page/ChromeClient.h:
3375 (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
3376 * page/DOMWindow.cpp:
3377 (WebCore::DOMWindow::showModalDialog):
3379 2011-04-08 David Humphrey <david.humphrey@senecac.on.ca>
3381 Reviewed by Eric Carlson.
3383 Fix call order of media element muted and play(), such that setting muted before play() works.
3384 https://bugs.webkit.org/show_bug.cgi?id=57673
3385 https://code.google.com/p/chromium/issues/detail?id=70777
3387 Manual test added: manual-tests/media-muted.html
3389 * html/HTMLMediaElement.cpp:
3390 (WebCore::HTMLMediaElement::updatePlayState):
3391 * manual-tests/media-muted.html: Added.
3393 2011-04-08 Nat Duca <nduca@chromium.org>
3395 Reviewed by David Levin.
3397 [chromium] Fix windows assertion on ~CCThread
3398 https://bugs.webkit.org/show_bug.cgi?id=58153
3400 Because ~CCThread uses waitForThreadCompletion,
3401 calling detachThread is not necessary.
3403 * platform/graphics/chromium/cc/CCThread.cpp:
3404 (WebCore::CCThread::runLoop):
3406 2011-04-08 Jian Li <jianli@chromium.org>
3408 Unreviewed, rolling out r83348.
3409 http://trac.webkit.org/changeset/83348
3410 https://bugs.webkit.org/show_bug.cgi?id=49508
3412 Breaks layout tests in QT, Win7 and Chromium.
3414 * rendering/RenderText.cpp:
3415 (WebCore::RenderText::localCaretRect):
3417 2011-04-08 MORITA Hajime <morrita@google.com>
3419 Reviewed by Simon Fraser.
3421 Negative spread should not make a sharp corner rounded
3422 https://bugs.webkit.org/show_bug.cgi?id=58162
3424 Handled inset shadow path for rounded and non-rounded rect
3425 differently as normal shadow path is doing.
3427 * rendering/RenderBoxModelObject.cpp:
3428 (WebCore::RenderBoxModelObject::paintBoxShadow):
3430 2011-04-07 Simon Fraser <simon.fraser@apple.com>
3432 Reviewed by Martin Robinson.
3434 REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
3435 https://bugs.webkit.org/show_bug.cgi?id=55180
3437 The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
3438 data we get back from ImageBuffer::getImageData() do not vary in
3441 * platform/graphics/ShadowBlur.cpp:
3442 (WebCore::ShadowBlur::blurLayerImage):
3444 2011-04-08 Erik Arvidsson <arv@chromium.org>
3446 Reviewed by Dimitri Glazkov.
3448 IFrame is getting the focus even though it is hidden
3449 https://bugs.webkit.org/show_bug.cgi?id=55861
3451 Test: fast/dom/hidden-iframe-no-focus.html
3453 * html/HTMLFrameOwnerElement.cpp:
3454 (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
3455 * html/HTMLFrameOwnerElement.h:
3457 2011-04-08 Jeff Timanus <twiz@chromium.org>
3459 Reviewed by Kenneth Russell.
3461 Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
3462 https://bugs.webkit.org/show_bug.cgi?id=57768
3464 * html/canvas/CanvasRenderingContext2D.cpp:
3465 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3466 (WebCore::CanvasRenderingContext2D::reset):
3467 * platform/graphics/gpu/DrawingBuffer.cpp:
3468 (WebCore::DrawingBuffer::reset):
3469 * platform/graphics/gpu/DrawingBuffer.h:
3471 2011-04-08 Daniel Cheng <dcheng@chromium.org>