1 2012-04-18 Benjamin Poulain <bpoulain@apple.com>
3 Remove m_subclassData from JSArray, move the attribute to subclass as needed
4 https://bugs.webkit.org/show_bug.cgi?id=84249
6 Reviewed by Geoffrey Garen.
8 * bridge/runtime_array.cpp:
9 (JSC::RuntimeArray::RuntimeArray):
10 (JSC::RuntimeArray::finishCreation):
11 * bridge/runtime_array.h:
12 (JSC::RuntimeArray::getLength):
13 (JSC::RuntimeArray::getConcreteArray):
16 2012-04-18 Luiz Agostini <luiz.agostini@palm.com>
18 matchMedia() MediaQueryList not updating
19 https://bugs.webkit.org/show_bug.cgi?id=75903
21 Reviewed by Antti Koivisto.
23 Test: fast/media/media-query-list-08.html
25 Viewport related MediaQueryList listeners were not triggered and the value
26 of matches were not updated if the document's style selector were not
27 affected by viewport changes.
29 The new method evaluateMediaQueries() is now called by FrameView instead of
30 styleSelectorChanged() if the style selector is not affected by viewport changes.
33 (WebCore::Document::evaluateMediaQueries):
35 (WebCore::Document::styleSelectorChanged):
39 (WebCore::FrameView::layout):
41 2012-04-18 Emil A Eklund <eae@chromium.org>
43 Use explicit casts for size_t to unsigned conversion
44 https://bugs.webkit.org/show_bug.cgi?id=83602
46 Reviewed by Eric Seidel.
48 No new tests, no change in functinality.
50 Not all platforms have implicit casts from size_t to unsigned and we
51 can't add size_t versions of the operators to FractionalLayoutUnit for
52 all platforms as it would conflict with the unsigned versions of same.
54 Change support methods to take unsigned instead of size_t and use
55 explicit casts when multiplying or dividing a FractionalLayoutUnit with
56 a size_t and the other way around.
58 * rendering/RenderBlock.cpp:
59 (WebCore::RenderBlock::adjustForColumns):
60 * rendering/RenderFlexibleBox.cpp:
61 (WebCore::initialPackingOffset):
62 (WebCore::packingSpaceBetweenChildren):
63 (WebCore::initialLinePackingOffset):
64 (WebCore::linePackingSpaceBetweenChildren):
65 (WebCore::RenderFlexibleBox::packFlexLines):
66 * rendering/RenderFrameSet.cpp:
67 (WebCore::RenderFrameSet::layout):
69 2012-04-18 Pavel Feldman <pfeldman@chromium.org>
71 Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
72 https://bugs.webkit.org/show_bug.cgi?id=84166
76 * bindings/v8/V8IsolatedContext.cpp:
77 (WebCore::setInjectedScriptContextDebugId):
79 (WebCore::V8IsolatedContext::V8IsolatedContext):
80 * bindings/v8/V8Proxy.cpp:
81 (WebCore::V8Proxy::evaluateInIsolatedWorld):
82 * bindings/v8/V8Proxy.h:
85 2012-04-18 Pavel Feldman <pfeldman@chromium.org>
87 Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
88 https://bugs.webkit.org/show_bug.cgi?id=84244
90 Reviewed by Vsevolod Vlasov.
92 Overlay logic is well separable from the scripts panel and does not belong there.
93 Extracting it into a separate class.
95 * inspector/front-end/ScriptsNavigator.js:
96 (WebInspector.ScriptsNavigatorController.prototype.wasShown):
97 (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
98 (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
99 (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
100 (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
101 (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
102 (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
103 (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
104 (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
105 * inspector/front-end/ScriptsPanel.js:
106 (WebInspector.ScriptsPanel.prototype.wasShown):
107 (WebInspector.ScriptsPanel.prototype._editorClosed):
108 (WebInspector.ScriptsPanel.prototype._editorSelected):
109 (WebInspector.ScriptsPanel.prototype._scriptSelected):
111 2012-04-18 Alexandru Chiculita <achicu@adobe.com>
113 Unreviewed, trying to fix QT build.
115 It was using a FilterEffectRenderer::prepare that changed to allocateBackingStoreIfNeeded in 114529.
117 * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
118 (WebCore::BitmapTextureImageBuffer::applyFilters):
120 2012-04-18 Pavel Feldman <pfeldman@chromium.org>
122 Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
123 https://bugs.webkit.org/show_bug.cgi?id=84244
125 Reviewed by Vsevolod Vlasov.
127 Overlay logic is well separable from the scripts panel and does not belong there.
128 Extracting it into a separate class.
130 * inspector/front-end/ScriptsNavigator.js:
131 (WebInspector.ScriptsNavigatorController.prototype.wasShown):
132 (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
133 (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
134 (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
135 (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
136 (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
137 (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
138 (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
139 (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
140 * inspector/front-end/ScriptsPanel.js:
141 (WebInspector.ScriptsPanel.prototype.wasShown):
142 (WebInspector.ScriptsPanel.prototype._editorClosed):
143 (WebInspector.ScriptsPanel.prototype._editorSelected):
144 (WebInspector.ScriptsPanel.prototype._scriptSelected):
146 2012-04-18 Sheriff Bot <webkit.review.bot@gmail.com>
148 Unreviewed, rolling out r114497.
149 http://trac.webkit.org/changeset/114497
150 https://bugs.webkit.org/show_bug.cgi?id=84253
152 Broke compile on Win, including stdio did not help (Requested
153 by dimich on #webkit).
155 * bindings/v8/V8IsolatedContext.cpp:
156 (WebCore::V8IsolatedContext::V8IsolatedContext):
157 * bindings/v8/V8Proxy.cpp:
158 (WebCore::V8Proxy::evaluateInIsolatedWorld):
159 (WebCore::V8Proxy::setInjectedScriptContextDebugId):
161 * bindings/v8/V8Proxy.h:
164 2012-04-18 Alexandru Chiculita <achicu@adobe.com>
166 [CSS Filters] Drop-shadow and blur can avoid using full source image
167 https://bugs.webkit.org/show_bug.cgi?id=81263
169 Reviewed by Dean Jackson.
171 Instead of using the full bounding box of the RenderLayer we now compute the exact rectangle that is needed to
172 compute filter inside the dirty rectangle on screen. That's easy to calculate by reversing the filter outsets.
173 Even if the element is completely offscreen, but its shadow is in the viewport, we can still compute the source
174 rectangle that needs to be drawn in order to update the shadow correctly.
176 No new tests, this change doesn't have visible results and the functionality should
177 already be covered by previous filter tests.
179 * rendering/FilterEffectRenderer.cpp:
180 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
181 (WebCore::FilterEffectRenderer::build): Save the outsets of the filters, so that we can use them in computeSourceImageRectForDirtyRect.
182 (WebCore::FilterEffectRenderer::updateBackingStoreRect): Only allocate a new source image if the size of the source rectangle changed.
183 (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): There's no need to call clearIntermediateResults() in this function. We do that after
184 the filter is computed.
185 (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
187 (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
188 (WebCore::FilterEffectRendererHelper::beginFilterEffect):
189 * rendering/FilterEffectRenderer.h:
190 (FilterEffectRendererHelper):
191 (WebCore::FilterEffectRendererHelper::repaintRect):
192 (FilterEffectRenderer):
193 * rendering/RenderLayer.cpp:
194 (WebCore::RenderLayer::paintLayerContents):
196 2012-04-18 Dominik Röttsches <dominik.rottsches@linux.intel.com>
198 [EFL][DRT] @font-face support fails on EFL
199 https://bugs.webkit.org/show_bug.cgi?id=83264
201 Reviewed by Dimitri Glazkov.
203 STORE_FONT_CUSTOM_PLATFORM_DATA was not defined for EFL.
204 Fixing that by removing a long standing FIXME with the intention
205 to turn the whitelist for this switch into a blacklist.
207 * loader/cache/CachedFont.cpp:
209 2012-04-18 Levi Weintraub <leviw@chromium.org>
211 Convert ShadowData and DropShadowFilterOperation to use IntPoint
212 https://bugs.webkit.org/show_bug.cgi?id=84098
214 Reviewed by Eric Seidel.
216 Shadows do not flow with the page, so sub-pixel layout doesn't actually offer any benefit that
217 couldn't have been attained before that conversion. With that in mind, this patch reverts
218 drop shadow offsets to integers, but also cleans up the code by switching the x/y location pair
221 No new tests. No change in behavior.
223 * css/CSSComputedStyleDeclaration.cpp:
224 (WebCore::CSSComputedStyleDeclaration::valueForFilter):
225 * css/CSSStyleSelector.cpp:
226 (WebCore::CSSStyleSelector::collectMatchingRulesForList):
227 * css/SVGCSSStyleSelector.cpp:
228 (WebCore::CSSStyleSelector::applySVGProperty):
229 * page/animation/AnimationBase.cpp:
230 (WebCore::blendFunc):
231 (WebCore::shadowForBlending):
232 * platform/animation/AnimationUtilities.h:
233 (WebCore::blend): New blend function that operates on IntPoints.
235 * platform/chromium/support/WebFilterOperations.cpp:
236 (WebKit::WebDropShadowFilterOperation):
237 * platform/graphics/filters/FilterOperation.cpp:
238 (WebCore::DropShadowFilterOperation::blend):
239 * platform/graphics/filters/FilterOperation.h:
240 (WebCore::DropShadowFilterOperation::clone):
241 (WebCore::DropShadowFilterOperation::x):
242 (WebCore::DropShadowFilterOperation::y):
243 (WebCore::DropShadowFilterOperation::location): Preserved the comment about lengths.
244 (WebCore::DropShadowFilterOperation::operator==):
245 (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
246 (DropShadowFilterOperation):
247 * rendering/RenderBoxModelObject.cpp:
248 (WebCore::areaCastingShadowInHole): Reverted to integers since this operates on the IntRect from
250 (WebCore::RenderBoxModelObject::paintBoxShadow): Reduced the complexity and unnecessary conversion
251 between LayoutUnits and integers by using all integers after we calculate the pixel-snapped
252 RoundedRect that we use for painting.
253 * rendering/style/RenderStyle.cpp:
254 (WebCore::RenderStyle::getShadowExtent):
255 (WebCore::RenderStyle::getShadowHorizontalExtent):
256 (WebCore::RenderStyle::getShadowVerticalExtent):
257 * rendering/style/ShadowData.cpp:
258 (WebCore::ShadowData::ShadowData):
259 (WebCore::ShadowData::operator==):
260 (WebCore::calculateShadowExtent):
261 (WebCore::ShadowData::adjustRectForShadow):
262 * rendering/style/ShadowData.h:
263 (WebCore::ShadowData::ShadowData):
264 (WebCore::ShadowData::x):
265 (WebCore::ShadowData::y):
266 (WebCore::ShadowData::location):
269 2012-04-17 Kentaro Hara <haraken@chromium.org>
271 [V8] Add an optional Isolate argument to wrap()
272 https://bugs.webkit.org/show_bug.cgi?id=84202
274 Reviewed by Nate Chapin.
276 The final objective is to pass Isolate around in V8 bindings.
277 This patch adds an optional Isolate argument to wrap().
278 After rewriting all wrap() callers so that they pass Isolate
279 to wrap(), I'll make the Isolate argument non-optional.
281 No tests. No change in behavior.
283 * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
285 * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
287 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
289 * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
291 * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
293 * dom/make_names.pl: Ditto.
294 (printWrapperFactoryCppFile):
296 * bindings/scripts/test/V8/V8Float64Array.h:
297 Updated run-bindings-tests results.
299 (WebCore::V8Float64Array::wrap):
300 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
301 (V8TestActiveDOMObject):
302 (WebCore::V8TestActiveDOMObject::wrap):
304 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
305 (V8TestCustomNamedGetter):
306 (WebCore::V8TestCustomNamedGetter::wrap):
308 * bindings/scripts/test/V8/V8TestEventConstructor.h:
309 (V8TestEventConstructor):
310 (WebCore::V8TestEventConstructor::wrap):
312 * bindings/scripts/test/V8/V8TestEventTarget.h:
314 (WebCore::V8TestEventTarget::wrap):
316 * bindings/scripts/test/V8/V8TestInterface.h:
318 (WebCore::V8TestInterface::wrap):
320 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
321 (V8TestMediaQueryListListener):
322 (WebCore::V8TestMediaQueryListListener::wrap):
324 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
325 (V8TestNamedConstructor):
326 (WebCore::V8TestNamedConstructor::wrap):
328 * bindings/scripts/test/V8/V8TestNode.h:
330 (WebCore::V8TestNode::wrap):
332 * bindings/scripts/test/V8/V8TestObj.h:
334 (WebCore::V8TestObj::wrap):
336 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
337 (V8TestSerializedScriptValueInterface):
338 (WebCore::V8TestSerializedScriptValueInterface::wrap):
341 2012-04-18 Alexandru Chiculita <achicu@adobe.com>
343 [CSS Filters] Do not use clipping rect when calculating the bounds of a layer
344 https://bugs.webkit.org/show_bug.cgi?id=83960
346 Reviewed by Simon Fraser.
348 The local clip rect should not be used when calculating the bounds of a filter area. Otherwise
349 drop-shadow might not know about the pixels outside the clipping rectangle, even though the actual shadow might
352 No new tests added in this patch, but this patch fixes two existing tests that fail.
353 LayoutTests/css3/filters/filter-repaint-shadow-clipped.html
354 LayoutTests/css3/filters/filter-repaint-shadow-rotated.html
356 * rendering/RenderLayer.cpp:
357 (WebCore::RenderLayer::paintLayerContents):
358 (WebCore::RenderLayer::calculateLayerBounds):
359 * rendering/RenderLayer.h:
361 2012-04-18 Mark Pilgrim <pilgrim@chromium.org>
363 Followup to "Call incrementStatsCounter directly"
364 https://bugs.webkit.org/show_bug.cgi?id=83109
366 Reviewed by Kentaro Hara.
368 Now that incrementStatsCounter has been moved from
369 PlatformSupport.h to Platform.h, we need to be able to call it directly
370 from WebCore/bindings/v8/v8Proxy.h (for the INC_STATS macro). That
371 means we need a new StatsCounter class in WebCore/platform/ and an
373 WebCore/platform/chromium/StatsCounterChromium.cpp. Other ports
374 are welcome to implement their own stats counters if they
375 wish. This pattern was based on the
376 HistogramSupport/HistogramSupportChromium classes.
379 * GNUmakefile.list.am:
382 * WebCore.vcproj/WebCore.vcproj:
383 * WebCore.xcodeproj/project.pbxproj:
384 * bindings/v8/V8Proxy.h:
385 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
386 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
387 (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
388 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
389 (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
390 (WebCore::V8NotificationCenter::createNotificationCallback):
391 (WebCore::V8NotificationCenter::requestPermissionCallback):
392 * bindings/v8/custom/V8WorkerContextCustom.cpp:
393 (WebCore::V8WorkerContext::importScriptsCallback):
394 (WebCore::V8WorkerContext::setTimeoutCallback):
395 (WebCore::V8WorkerContext::setIntervalCallback):
396 * platform/StatsCounter.cpp: Added.
398 (WebCore::StatsCounter::incrementStatsCounter):
399 * platform/StatsCounter.h: Added.
402 * platform/chromium/StatsCounterChromium.cpp: Added.
404 (WebCore::StatsCounter::incrementStatsCounter):
406 2012-04-18 Alexander Pavlov <apavlov@chromium.org>
408 [Chromium] REGRESSION: Popup shrinks because of autocomplete
409 https://bugs.webkit.org/show_bug.cgi?id=84139
410 http://code.google.com/p/chromium/issues/detail?id=123432
412 Do not update the window rect on the wrong client but instead return the popup widget's
413 new screen coordinates from the refresh() method.
415 Reviewed by Kent Tamura.
417 * platform/chromium/PopupContainer.cpp:
418 (WebCore::PopupContainer::refresh):
419 * platform/chromium/PopupContainer.h:
422 2012-04-18 Simon Fraser <simon.fraser@apple.com>
424 ASSERT when a layer with a foreground layer is in 'paint into ancestor' mode
425 https://bugs.webkit.org/show_bug.cgi?id=84221
427 Reviewed by Dean Jackson.
429 When a RenderLayerBacking doesn't require its own backing store, and is
430 in "paintIntoCompositingAncestor" mode, we would assert when trying to
431 paint its m_foregroundLayer if it had one (because of a negative z-index child).
433 The fix is to set the 'drawsContent' state on the m_foregroundLayer
434 as well as m_graphicsLayer.
436 Test: compositing/backing/no-backing-foreground-layer.html
438 * rendering/RenderLayerBacking.cpp:
439 (WebCore::RenderLayerBacking::updateDrawsContent):
441 2012-04-18 Yury Semikhatsky <yurys@chromium.org>
443 Web Inspector: DataGrid should use explicit root node
444 https://bugs.webkit.org/show_bug.cgi?id=84240
446 DataGrid now has an explicit root node. All children are added/removed
449 Reviewed by Pavel Feldman.
451 * inspector/front-end/ApplicationCacheItemsView.js:
452 (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
453 (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
454 * inspector/front-end/CSSSelectorProfileView.js:
455 (WebInspector.CSSSelectorProfileView):
456 (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
457 (WebInspector.CSSSelectorProfileView.prototype.refreshData):
458 * inspector/front-end/CookieItemsView.js:
459 (WebInspector.SimpleCookiesTable):
460 (WebInspector.SimpleCookiesTable.prototype.setCookies):
461 * inspector/front-end/CookiesTable.js:
462 (WebInspector.CookiesTable):
463 (WebInspector.CookiesTable.prototype._rebuildTable):
464 * inspector/front-end/DOMStorageItemsView.js:
465 (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
466 * inspector/front-end/DataGrid.js:
467 (WebInspector.DataGrid):
468 (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
469 (WebInspector.DataGrid.createSortableDataGrid):
470 (WebInspector.DataGrid.prototype.setRootNode):
471 (WebInspector.DataGrid.prototype.rootNode):
472 (WebInspector.DataGrid.prototype.autoSizeColumns):
473 (WebInspector.DataGrid.prototype._enumerateChildren):
474 (WebInspector.DataGrid.prototype._keyDown):
475 (WebInspector.DataGrid.prototype._contextMenuInDataTable):
476 (WebInspector.DataGridNode.prototype.get revealed):
477 (WebInspector.DataGridNode.prototype.get depth):
478 (WebInspector.DataGridNode.prototype.appendChild):
479 (WebInspector.DataGridNode.prototype.insertChild):
480 (WebInspector.DataGridNode.prototype.removeChild):
481 (WebInspector.DataGridNode.prototype.removeChildren):
482 (WebInspector.DataGridNode.prototype.collapse):
483 (WebInspector.DataGridNode.prototype.expand):
484 (WebInspector.DataGridNode.prototype.reveal):
485 (WebInspector.DataGridNode.prototype.revealAndSelect):
486 (WebInspector.DataGridNode.prototype.traverseNextNode):
487 (WebInspector.DataGridNode.prototype.traversePreviousNode):
488 * inspector/front-end/HeapSnapshotDataGrids.js:
489 (WebInspector.HeapSnapshotSortableDataGrid):
490 (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
491 (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
492 (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
493 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
494 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
495 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
496 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
497 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
498 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
499 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
500 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
501 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
502 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
503 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
504 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
505 * inspector/front-end/HeapSnapshotGridNodes.js:
506 (WebInspector.HeapSnapshotGenericObjectNode):
507 * inspector/front-end/HeapSnapshotView.js:
508 (WebInspector.HeapSnapshotView.prototype.performSearch):
509 (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
510 * inspector/front-end/IndexedDBViews.js:
511 (WebInspector.IDBDataView.prototype._createDataGrid):
512 (WebInspector.IDBDataView.prototype._updateData.callback):
513 (WebInspector.IDBDataView.prototype._updateData):
514 (WebInspector.IDBDataView.prototype.clear):
515 * inspector/front-end/NetworkPanel.js:
516 (WebInspector.NetworkLogView.prototype._createTable):
517 (WebInspector.NetworkLogView.prototype.refresh):
518 (WebInspector.NetworkLogView.prototype._reset):
519 * inspector/front-end/ProfileDataGridTree.js:
520 (WebInspector.ProfileDataGridNode.prototype.insertChild):
521 (WebInspector.ProfileDataGridNode.prototype.removeChild):
522 (WebInspector.ProfileDataGridNode.prototype.removeChildren):
523 * inspector/front-end/ProfileView.js:
524 (WebInspector.CPUProfileView.prototype.refresh):
525 * inspector/front-end/treeoutline.js:
527 2012-04-18 Vineet Chaudhary <rgf748@motorola.com>
529 Add PassThis=* to support the callbacks which requires to pass "this" value.
530 https://bugs.webkit.org/show_bug.cgi?id=84232
532 Reviewed by Kentaro Hara.
534 Adding PassThisToCallback=XXX to attributes will be useful for the callbacks which requires to pass "this".
535 This will help to identify the type(XXX) of "this" value in codegenerator.
537 Tests: bindings/scripts/test/TestCallback.idl
539 * bindings/scripts/CodeGeneratorJS.pm:
540 (GenerateCallbackImplementation): Modified codegenerator to support [PassThisToCallback]
541 * bindings/scripts/CodeGeneratorV8.pm:
542 (GenerateCallbackImplementation): Ditto.
543 * bindings/scripts/IDLAttributes.txt: Added PassThisToCallback=*
544 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Modofied results from run-bindings-tests.
545 (WebDOMTestCallback::callbackWithBoolean):
546 (WebDOMTestCallback::callbackRequiresThisToPass):
547 * bindings/scripts/test/CPP/WebDOMTestCallback.h: Ditto.
548 (WebDOMTestCallback):
549 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Ditto.
550 (webkit_dom_test_callback_callback_with_boolean):
551 (webkit_dom_test_callback_callback_requires_this_to_pass):
552 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Ditto.
553 * bindings/scripts/test/JS/JSTestCallback.cpp: Ditto.
554 (WebCore::JSTestCallback::callbackWithBoolean):
556 (WebCore::JSTestCallback::callbackRequiresThisToPass):
557 * bindings/scripts/test/JS/JSTestCallback.h: Ditto.
559 * bindings/scripts/test/ObjC/DOMTestCallback.h: Ditto.
560 * bindings/scripts/test/ObjC/DOMTestCallback.mm: Ditto.
561 (-[DOMTestCallback callbackWithBoolean:]):
562 (-[DOMTestCallback callbackRequiresThisToPass:thisClassParam:]):
563 * bindings/scripts/test/TestCallback.idl: Added test to verify generated code.
564 * bindings/scripts/test/V8/V8TestCallback.cpp: Ditto.
565 (WebCore::V8TestCallback::callbackWithBoolean):
567 (WebCore::V8TestCallback::callbackRequiresThisToPass):
568 * bindings/scripts/test/V8/V8TestCallback.h: Ditto.
571 2012-04-18 'Pavel Feldman' <pfeldman@chromium.org>
573 Not reviewed: fixing Chromium win compilation.
575 * bindings/v8/V8IsolatedContext.cpp:
577 2012-04-18 Luke Macpherson <macpherson@chromium.org>
579 Remove unnecessary variable reassignment in CSSParser::parseImageSet().
580 https://bugs.webkit.org/show_bug.cgi?id=84204
582 Reviewed by Kentaro Hara.
584 Code calls next and then current instead of reusing the result of next.
586 No new tests / no functionality changed.
589 (WebCore::CSSParser::parseImageSet):
591 2012-04-18 Jason Liu <jason.liu@torchmobile.com.cn>
593 [BlackBerry] HTTP GET header has a "Cookie" when refreshing a page after cookies have been cleared.
594 https://bugs.webkit.org/show_bug.cgi?id=84223
596 Reviewed by George Staikos.
598 Webkit uses the old ResourceRequest when refreshing. Its cookies' header isn't removed after clicking
599 "clear cookies" button. We need to set cookies for this request again.
601 We must click "clear button" to test, so have to write a manual test case.
603 Test: ManualTests/blackberry/clear-cookie-refresh.php
605 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
606 (WebCore::ResourceRequest::initializePlatformRequest):
608 2012-04-17 Pavel Feldman <pfeldman@chromium.org>
610 Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
611 https://bugs.webkit.org/show_bug.cgi?id=84166
613 Reviewed by Yury Semikhatsky.
615 V8IsolatedContext was getting debug id assigned post-construction. At the same time, it was compiling all
616 its module scripts within the constructor. As a result, scripts ended up in the main world's list.
618 * bindings/v8/V8IsolatedContext.cpp:
619 (WebCore::setInjectedScriptContextDebugId):
621 (WebCore::V8IsolatedContext::V8IsolatedContext):
622 * bindings/v8/V8Proxy.cpp:
623 (WebCore::V8Proxy::evaluateInIsolatedWorld):
624 * bindings/v8/V8Proxy.h:
627 2012-04-17 Pavel Feldman <pfeldman@chromium.org>
629 Web Inspector: document.open removes the documentElement, but does not clear the elements panel.
630 https://bugs.webkit.org/show_bug.cgi?id=84179
632 Reviewed by Yury Semikhatsky.
634 Perform total update upon modifications of the document node.
636 Test: inspector/elements/delete-from-document.html
638 * inspector/InspectorDOMAgent.cpp:
639 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
640 * inspector/front-end/ElementsTreeOutline.js:
642 2012-04-18 Max Feil <mfeil@rim.com>
644 [BlackBerry] Tab awareness for HTML5 concurrent audio
645 https://bugs.webkit.org/show_bug.cgi?id=82930
646 Support for concurrent HTML5 audio improvements being made in
647 the platform library, which need to be aware of tabs and tab
650 Reviewed by George Staikos.
652 Test: media/audio-concurrent-supported.html
654 * platform/blackberry/PageClientBlackBerry.h:
655 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
656 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
657 (WebCore::MediaPlayerPrivate::showErrorDialog):
658 (WebCore::MediaPlayerPrivate::isTabVisible):
660 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
661 (MediaPlayerPrivate):
663 2012-04-18 Noel Gordon <noel.gordon@gmail.com>
665 [CG] ImageBuffer: check getPremultipliedImageData() error return
666 https://bugs.webkit.org/show_bug.cgi?id=84022
668 Reviewed by Eric Seidel.
670 ImageBuffer::getPremultipliedImageData() can fail. toDataURL() should check for a
671 failure return, and return "data:," if so.
673 No new tests. Covered by existing toDataURL tests, in particular:
674 canvas/philip/tests/toDataURL.jpeg.alpha.html
676 * platform/graphics/cg/ImageBufferCG.cpp:
677 (WebCore::ImageBuffer::toDataURL): Rename |arr| variable to premultipliedData and
678 return "data:," if premultipliedData is empty. Clean up whitespace and a comment.
680 2012-04-17 Rachel Blum <groby@chromium.org>
682 Skia OOM error when upscaling small subsets of images by large quantities
683 https://bugs.webkit.org/show_bug.cgi?id=84225
685 Reviewed by David Levin.
687 Tested with manual tests.
689 * platform/graphics/skia/NativeImageSkia.cpp:
690 (WebCore::NativeImageSkia::shouldCacheResampling):
692 2012-04-17 MORITA Hajime <morrita@google.com>
694 ShadowRoot shouldn't be adopted by any Document.
695 https://bugs.webkit.org/show_bug.cgi?id=84127
697 Reviewed by Dimitri Glazkov.
699 ShadowRoot cannot cannot be removed from its host, which means
700 ShadowRoot cannot be adopted by any Document directly because the
701 adoptNode() tries to remove it from its parent but it doesn't make
702 sense for ShadowRoot.
704 This change adds a guard to check such a case.
706 Test: fast/dom/shadow/adopt-node-with-shadow-root.html
709 (WebCore::Document::adoptNode):
711 2012-04-17 John Bauman <jbauman@chromium.org>
713 [chromium] Ensure RateLimiter waits for Swapbuffers completion
714 https://bugs.webkit.org/show_bug.cgi?id=83649
716 Reviewed by James Robinson.
718 We were waiting only on the canvas context, which with the new GPU
719 scheduling was causing the RateLimiter not to ratelimit enough. We
720 need to insert no-op commands in the compositor context, so that we'll
721 wait for the canvas context and SwapBuffers as well.
723 * platform/graphics/chromium/LayerRendererChromium.cpp:
724 (WebCore::LayerRendererChromium::doNoOp):
726 * platform/graphics/chromium/LayerRendererChromium.h:
727 (LayerRendererChromium):
728 * platform/graphics/chromium/RateLimiter.cpp:
729 (WebCore::RateLimiter::create):
730 (WebCore::RateLimiter::RateLimiter):
731 (WebCore::RateLimiter::rateLimitContext):
732 * platform/graphics/chromium/RateLimiter.h:
736 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
737 (WebCore::CCLayerTreeHost::startRateLimiter):
738 (WebCore::CCLayerTreeHost::rateLimit):
740 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
742 * platform/graphics/chromium/cc/CCProxy.h:
744 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
745 (WebCore::CCSingleThreadProxy::forceNoOpCommand):
747 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
748 (CCSingleThreadProxy):
749 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
750 (WebCore::CCThreadProxy::forceNoOpCommand):
752 (WebCore::CCThreadProxy::forceNoOpCommandOnImplThread):
753 * platform/graphics/chromium/cc/CCThreadProxy.h:
756 2012-04-17 Andreas Kling <kling@webkit.org>
758 CSSValuePool: Made identifier value cache a fixed-size array.
759 <http://webkit.org/b/84219>
761 Reviewed by Antti Koivisto.
763 Change the identifier CSSPrimitiveValue cache in CSSValuePool from a HashMap to a
764 fixed-size array of RefPtr<CSSPrimitiveValue>s.
766 We have ~700 values total, so this is quite space efficient now that the CSSValuePool
767 is globally shared. More importantly it avoids a hash lookup every time we need an
770 * css/CSSValuePool.h:
771 * css/CSSValuePool.cpp:
772 (WebCore::CSSValuePool::createIdentifierValue):
774 2012-04-17 Antoine Labour <piman@chromium.org>
776 [Chromium] Clean up texture ids on the impl side when losing the context
777 https://bugs.webkit.org/show_bug.cgi?id=84122
779 Reviewed by James Robinson.
781 Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext.
783 * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
784 (WebCore::CCTextureLayerImpl::didLoseContext):
785 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
786 (WebCore::CCTiledLayerImpl::didLoseContext):
788 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
790 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
791 (WebCore::CCVideoLayerImpl::didLoseContext):
793 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
796 2012-04-17 Emil A Eklund <eae@chromium.org>
798 Change RenderThemeChromiumSkia paint methods to use pixel snapping
799 https://bugs.webkit.org/show_bug.cgi?id=84175
801 Reviewed by Eric Seidel.
803 No new tests, no change in functionality.
805 Change RenderThemeChromiumSkia to use subpixel types and pixel snap
806 values just before painting.
808 * rendering/RenderThemeChromiumSkia.cpp:
809 (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
810 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
811 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
812 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
813 * rendering/RenderThemeChromiumSkia.h:
815 2012-04-17 Levi Weintraub <leviw@chromium.org>
817 Clean up outstanding LayoutUnit misuse in WebCore
818 https://bugs.webkit.org/show_bug.cgi?id=84209
820 Reviewed by Eric Seidel.
822 Small changes to a handful of files to prepare trunk for FractionalLayoutUnits.
823 For more details, see https://trac.webkit.org/wiki/LayoutUnit
825 No new tests. No change in behavior.
827 * css/CSSComputedStyleDeclaration.cpp:
828 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves
829 sub-pixel precision, so we should avoid unnecessarily using integers.
830 * platform/graphics/FractionalLayoutPoint.h:
831 (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from
832 FractionalLayoutSizes. This mirrors a method in IntPoint.
833 * rendering/RenderBoxModelObject.cpp:
834 (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects,
835 which are already pixel-snapped.
836 * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable.
837 * rendering/RenderTable.cpp:
838 (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we
839 need to explicitly calculate the width to be integral as well to avoid pushing the next element
840 over by a pixel that we won't later paint with our own box decorations.
841 * rendering/RenderText.h:
842 (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox
843 between the header and implementation.
844 * rendering/style/RenderStyle.cpp:
845 (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border
846 rect to pass to calcRadiiFor (which takes an IntRect). Correcting this.
848 2012-04-17 Luke Macpherson <macpherson@chromium.org>
850 Ensure CSSParser member variables are initialized.
851 https://bugs.webkit.org/show_bug.cgi?id=84205
853 Reviewed by Andreas Kling.
855 No new tests / code cleanup only.
858 (WebCore::CSSParser::CSSParser):
860 2012-04-16 Alexandru Chiculita <achicu@adobe.com>
862 Regression(114172): Use after free in CustomFilterProgram::notifyClients
863 https://bugs.webkit.org/show_bug.cgi?id=84000
865 Reviewed by Dean Jackson.
867 The function returned early and the shaders didn't have a chance to be saved. Moving
868 those two lines before the return false just to make sure that FilterEffectRenderer never adds
869 itself as a client for a shader without keeping track of that.
871 No new tests. The problem reproduces with existing tests.
872 css3/filters/custom/custom-filter-property-computed-style.html
873 css3/filters/custom/effect-custom-combined-missing.html
875 * rendering/FilterEffectRenderer.cpp:
876 (WebCore::FilterEffectRenderer::build):
878 2012-04-17 Alec Flett <alecflett@chromium.org>
880 IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor
881 https://bugs.webkit.org/show_bug.cgi?id=60746
883 Reviewed by Ojan Vafai.
885 When iterating backwards with PREV_NO_DUPLICATE, keep walking past
886 the 'prev' key until it changes, then walk forward one time. This
887 covers the object store and index cases.
889 Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html
891 * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
894 2012-04-17 Yi Shen <yi.4.shen@nokia.com>
896 Caret is not rendered properly inside an input element with text-indent
897 https://bugs.webkit.org/show_bug.cgi?id=82688
899 Reviewed by Ryosuke Niwa.
901 For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides
902 the caret position for rendering the caret in the empty input element. To get correct caret rect,
903 textIndentOffset() should be used to adjust the caret's position.
905 Test: editing/style/text-indent.html
907 * rendering/RenderBlock.cpp:
908 (WebCore::RenderBlock::localCaretRect):
910 2012-04-17 Filip Pizlo <fpizlo@apple.com>
912 It should be possible to create an inheritorID for the global this object without crashing
913 https://bugs.webkit.org/show_bug.cgi?id=84200
914 <rdar://problem/11251082>
916 Reviewed by Oliver Hunt.
918 No new tests, because the circumstances necessary to make this happen are rather hairy.
920 * bindings/js/JSDOMWindowShell.h:
921 (WebCore::JSDOMWindowShell::window):
922 (WebCore::JSDOMWindowShell::setWindow):
924 2012-04-17 Luke Macpherson <macpherson@chromium.org>
926 Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct.
927 https://bugs.webkit.org/show_bug.cgi?id=83544
929 Reviewed by Kentaro Hara.
931 No new tests / code cleanup only.
933 The code as it stands appears to be correct, but static analysis was concerned that value could become null.
934 This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct.
937 (WebCore::CSSParser::parseValue):
939 2012-04-17 David Reveman <reveman@chromium.org>
941 [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads.
942 https://bugs.webkit.org/show_bug.cgi?id=83972
944 Reviewed by James Robinson.
946 Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery.
949 * platform/graphics/chromium/LayerRendererChromium.cpp:
950 (WebCore::LayerRendererChromium::initializeSharedObjects):
951 (WebCore::LayerRendererChromium::cleanupSharedObjects):
952 * platform/graphics/chromium/LayerRendererChromium.h:
953 (WebCore::LayerRendererChromium::textureUploader):
954 (LayerRendererChromium):
955 * platform/graphics/chromium/TextureUploader.cpp: Added.
957 (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader):
958 (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader):
959 (WebCore::AcceleratedTextureUploader::uploadTexture):
960 * platform/graphics/chromium/TextureUploader.h: Added.
963 (WebCore::TextureUploader::~TextureUploader):
964 (AcceleratedTextureUploader):
965 (WebCore::AcceleratedTextureUploader::create):
966 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
967 (WebCore::CCSingleThreadProxy::doCommit):
968 * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
969 (WebCore::CCTextureUpdater::update):
970 * platform/graphics/chromium/cc/CCTextureUpdater.h:
973 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
974 (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
976 2012-04-17 Luke Macpherson <macpherson@chromium.org>
978 Clean up CSSParser::parseFillRepeat().
979 https://bugs.webkit.org/show_bug.cgi?id=83547
981 Reviewed by Kentaro Hara.
983 Removed multiple unnecessary calls to m_valueList->current().
984 Restructured logic for parsing second value to make it clearer.
986 No new tests / code cleanup only.
989 (WebCore::CSSParser::parseFillRepeat):
991 2012-04-17 Kentaro Hara <haraken@chromium.org>
993 [V8] Pass Isolate to toV8Slow()
994 https://bugs.webkit.org/show_bug.cgi?id=84173
996 Reviewed by Nate Chapin.
998 The final objective is to pass Isolate around in V8 bindings.
999 This patch passes the Isolate to toV8Slow().
1001 No tests. No change in behavior.
1003 * bindings/scripts/CodeGeneratorV8.pm:
1005 * bindings/v8/custom/V8NodeCustom.cpp:
1006 (WebCore::toV8Slow):
1008 2012-04-17 Julien Chaffraix <jchaffraix@webkit.org>
1010 Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering
1011 https://bugs.webkit.org/show_bug.cgi?id=83816
1013 Reviewed by James Robinson.
1015 No change in behavior expected.
1017 This code adds several functions on RenderBoxModelObject to forward
1018 to the associated layer. This removes the RenderLayer dependencies
1021 Currently only RenderBoxModelObject can be hardware accelerated as
1022 we need a RenderLayer, this looks like the best place to put those
1025 * rendering/RenderBoxModelObject.cpp:
1026 (WebCore::RenderBoxModelObject::contentChanged):
1027 (WebCore::RenderBoxModelObject::hasAcceleratedCompositing):
1028 (WebCore::RenderBoxModelObject::startTransition):
1029 (WebCore::RenderBoxModelObject::transitionPaused):
1030 (WebCore::RenderBoxModelObject::transitionFinished):
1031 (WebCore::RenderBoxModelObject::startAnimation):
1032 (WebCore::RenderBoxModelObject::animationPaused):
1033 (WebCore::RenderBoxModelObject::animationFinished):
1034 (WebCore::RenderBoxModelObject::suspendAnimations):
1035 * rendering/RenderBoxModelObject.h:
1036 Added the previous functions to hide the layer need.
1038 * rendering/RenderLayer.cpp:
1039 (WebCore::RenderLayer::hasAcceleratedCompositing):
1040 * rendering/RenderLayer.h:
1041 Removed the previous method as it was superseeded by the
1042 one on RenderBoxModelObject. Also moved the ContentChangeType
1045 * rendering/RenderLayerBacking.cpp:
1046 (WebCore::RenderLayerBacking::contentChanged):
1047 * rendering/RenderLayerBacking.h:
1048 (RenderLayerBacking):
1049 Updated after the ContentChangeType enumaration move.
1051 * html/HTMLCanvasElement.cpp:
1052 (WebCore::HTMLCanvasElement::reset):
1053 (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
1054 * html/canvas/CanvasRenderingContext2D.cpp:
1055 (WebCore::CanvasRenderingContext2D::didDraw):
1056 * html/canvas/WebGLRenderingContext.cpp:
1057 (WebCore::WebGLRenderingContext::markContextChanged):
1058 (WebCore::WebGLRenderingContext::reshape):
1059 * page/animation/AnimationBase.cpp:
1060 (WebCore::AnimationBase::freezeAtTime):
1061 * page/animation/ImplicitAnimation.cpp:
1062 (WebCore::ImplicitAnimation::startAnimation):
1063 (WebCore::ImplicitAnimation::pauseAnimation):
1064 (WebCore::ImplicitAnimation::endAnimation):
1065 * page/animation/KeyframeAnimation.cpp:
1066 (WebCore::KeyframeAnimation::startAnimation):
1067 (WebCore::KeyframeAnimation::pauseAnimation):
1068 (WebCore::KeyframeAnimation::endAnimation):
1069 * rendering/RenderBox.cpp:
1070 (WebCore::RenderBox::imageChanged):
1071 * rendering/RenderImage.cpp:
1072 (WebCore::RenderImage::imageDimensionsChanged):
1073 (WebCore::RenderImage::notifyFinished):
1074 * rendering/RenderVideo.cpp:
1075 (WebCore::RenderVideo::updatePlayer):
1076 Updated all those call sites to use the new functions. Also
1077 removed unneeded RenderLayer.h include as we went.
1079 2012-04-16 Andy Estes <aestes@apple.com>
1081 -webkit-mask-box-image does not draw when layer tree flattening is enabled
1082 https://bugs.webkit.org/show_bug.cgi?id=84111
1084 Reviewed by Simon Fraser.
1086 No new tests since taking pixel test results with
1087 PaintBehaviorFlattenCompositingLayers set is not currently supported.
1088 <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this.
1090 When painting mask images, we should take the non-composited path if
1091 layers are being flattened.
1093 * rendering/InlineFlowBox.cpp:
1094 (WebCore::InlineFlowBox::paintMask):
1095 * rendering/RenderBox.cpp:
1096 (WebCore::RenderBox::paintMaskImages):
1098 2012-04-17 Emil A Eklund <eae@chromium.org>
1100 Rollout r114404 as it broke a couple of chromium builds.
1102 * platform/FractionalLayoutUnit.h:
1103 (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
1104 (WebCore::FractionalLayoutUnit::isInBounds):
1107 2012-04-17 Ben Murdoch <benm@google.com>
1109 `localStorage.setItem` can overwrite `localStorage` methods
1110 https://bugs.webkit.org/show_bug.cgi?id=30996
1112 Update the JSC and V8 bindings such that if the name of the DOM
1113 Storage property being retrieved is a match for a property in the
1114 prototype, always return the prototype version. If there is a DOM
1115 Storage key of the same name, it can still be retrieved via the
1116 getItem method. This prevents storage methods from being
1117 accidentally hidden. This brings WebKit behavior in line with the
1118 de facto standard implemented by FireFox and IE.
1120 Reviewed by Kentaro Hara.
1122 Test: storage/domstorage/storage-functions-not-overwritten.html
1124 * bindings/js/JSStorageCustom.cpp:
1125 (WebCore::JSStorage::nameGetter):
1126 * bindings/v8/custom/V8StorageCustom.cpp:
1127 (WebCore::V8Storage::namedPropertyGetter):
1129 2012-04-17 Emil A Eklund <eae@chromium.org>
1131 Fix Chromium/Windows build broken by r114404.
1133 * platform/FractionalLayoutUnit.h:
1135 2012-04-17 Kentaro Hara <haraken@chromium.org>
1137 [Performance][V8] Skip Isolate look-up to find StringCache
1138 https://bugs.webkit.org/show_bug.cgi?id=84103
1140 Reviewed by Nate Chapin.
1142 This patch improves the performance of a lot of DOM attribute
1143 getters that return a string.
1145 - Improves the performance of Dromaeo/dom-attr.html(element.property)
1147 - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
1149 - Improves the performance of div.id, div.className,
1150 div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
1152 The followings are the test results in my Linux desktop.
1154 Performance test: Dromaeo/dom-attr.html
1155 Total: 674.64runs/s -> 707.03runs/s (+ 4.8%)
1156 getAttribute: 1537.60runs/s -> 1700.20runs/s (+10.6%)
1157 element.property: 1389.00runs/s -> 1774.20runs/s (+27.7%)
1158 setAttribute: 538.88runs/s -> 548.87runs/s (+ 1.9%)
1159 element.property = value: 644.07runs/s -> 656.67runs/s (+ 2.0%)
1160 element.expando = value: 219.76runs/s -> 207.14runs/s (- 6.8%)
1161 element.expando: 578.77runs/s -> 554.67runs/s (- 4.2%)
1163 Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
1164 div.id: 30.70ns -> 26.70ns (+15%)
1165 div.className: 31.10ns -> 26.40ns (+18%)
1166 div.nodeName: 37.70ns -> 33.00ns (+14%)
1167 text.nodeValue: 31.40ns -> 25.90ns (+21%)
1168 text.textContent: 51.50ns -> 45.90ns (+12%)
1170 Previously V8 bindings need to look up an Isolate to find
1171 an Isolate-local StringCache. This patch skips the look-up
1172 by getting the Isolate from AccessorInfo.GetIsolate()
1173 or Arguments.GetIsolate().
1175 No tests. No change in behavior.
1177 * bindings/scripts/CodeGeneratorV8.pm:
1178 (GenerateNormalAttrGetter):
1179 (GenerateFunctionCallString):
1181 * bindings/v8/V8Binding.cpp:
1182 (WebCore::getElementStringAttr):
1183 * bindings/v8/V8Binding.h:
1184 (WebCore::v8ExternalString): Make 'isolate' an optional argument.
1185 Ideally we want to make 'isolate' a non-optional argument,
1186 but it is difficult to rewrite all v8ExternalString() callers
1187 at a breath. We can rewrite them incrementally.
1188 (WebCore::v8String): Ditto.
1189 (WebCore::v8StringOrNull): Ditto.
1190 (WebCore::v8StringOrUndefined): Ditto.
1191 (WebCore::v8StringOrFalse): Ditto.
1193 * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
1194 (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
1195 (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
1196 * bindings/scripts/test/V8/V8TestInterface.cpp:
1197 (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
1198 (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
1199 * bindings/scripts/test/V8/V8TestObj.cpp:
1200 (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
1201 (WebCore::TestObjV8Internal::stringAttrAttrGetter):
1202 (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
1203 (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
1204 (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
1205 (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1206 (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
1207 (WebCore::TestObjV8Internal::hashAttrGetter):
1208 (WebCore::TestObjV8Internal::conditionalMethod1Callback):
1210 2012-04-17 Chris Fleizach <cfleizach@apple.com>
1212 Crash in invalid index for _textMarkerForIndex
1213 https://bugs.webkit.org/show_bug.cgi?id=84104
1215 Reviewed by Beth Dakin.
1217 Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html
1219 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1220 (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
1222 2012-04-17 Jer Noble <jer.noble@apple.com>
1224 HTML5 Video Full Screen button broken (looks like white square)
1225 https://bugs.webkit.org/show_bug.cgi?id=84101
1227 Reviewed by Dan Bernstein.
1229 No new tests; updated platform results which were previously rebaselined.
1231 Use the correct CSS keyword for the -webkit-appearance of the full screen button.
1233 * css/mediaControls.css:
1234 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1236 2012-04-17 Tom Sepez <tsepez@chromium.org>
1238 Framesniffing defense is too aggressive.
1239 https://bugs.webkit.org/show_bug.cgi?id=83721
1241 Reviewed by James Robinson.
1243 The RenderLayer code currently propagates scroll position to parent frames
1244 without any cross-origin checks. This gives it a quick origin boundary check
1245 that is set by FrameLoader only when performing a fragment navigation. This
1246 allows us to safely relax the restriction on not scrolling at load time in
1247 FrameLoader since the safe thing will happen later on at scroll time.
1249 Test: http/tests/navigation/anchor-frames-same-origin.html
1252 (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
1255 * loader/FrameLoader.cpp:
1256 (WebCore::FrameLoader::finishedParsing):
1257 (WebCore::FrameLoader::loadInSameDocument):
1258 (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
1259 * loader/FrameLoader.h:
1261 * page/FrameView.cpp:
1262 (WebCore::FrameView::FrameView):
1263 (WebCore::FrameView::reset):
1265 (WebCore::FrameView::safeToPropagateScrollToParent):
1266 (WebCore::FrameView::setSafeToPropagateScrollToParent):
1268 * rendering/RenderLayer.cpp:
1269 (WebCore::RenderLayer::scrollRectToVisible):
1271 2012-04-17 Emil A Eklund <eae@chromium.org>
1273 Add size_t versions of multiplication and division operators to FractionalLayoutUnit
1274 https://bugs.webkit.org/show_bug.cgi?id=83848
1276 Reviewed by Julien Chaffraix.
1278 Add size_t versions of operator* and operator/ for platforms where there
1279 is no ambiguity between unsigned int and size_t.
1281 No new tests, no new functionality.
1283 * platform/FractionalLayoutUnit.h:
1284 (FractionalLayoutUnit):
1285 (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
1286 (WebCore::FractionalLayoutUnit::isInBounds):
1288 (WebCore::operator*):
1289 (WebCore::operator/):
1291 2012-04-17 Kentaro Hara <haraken@chromium.org>
1293 [V8] Add an optional Isolate argument to toV8().
1294 https://bugs.webkit.org/show_bug.cgi?id=84161
1296 Reviewed by Nate Chapin.
1298 The final objective is to pass Isolate around in V8 bindings.
1299 This patch adds an optional Isolate argument to toV8().
1300 After rewriting all toV8() callers so that they pass Isolate,
1301 I will make the Isolate argument non-optional.
1303 No tests. No change in behavior.
1305 * bindings/scripts/CodeGeneratorV8.pm:
1306 Modified as described above.
1309 * bindings/v8/custom/V8BlobCustom.cpp:
1311 * bindings/v8/custom/V8CSSRuleCustom.cpp:
1313 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1315 * bindings/v8/custom/V8CSSValueCustom.cpp:
1317 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
1319 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1321 * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1323 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1325 * bindings/v8/custom/V8DataViewCustom.cpp:
1327 * bindings/v8/custom/V8DocumentCustom.cpp:
1329 * bindings/v8/custom/V8EntryCustom.cpp:
1331 * bindings/v8/custom/V8EntrySyncCustom.cpp:
1333 * bindings/v8/custom/V8EventCustom.cpp:
1335 * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1337 * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1339 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1341 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1343 * bindings/v8/custom/V8HTMLElementCustom.cpp:
1345 * bindings/v8/custom/V8IDBAnyCustom.cpp:
1347 * bindings/v8/custom/V8IDBKeyCustom.cpp:
1349 * bindings/v8/custom/V8ImageDataCustom.cpp:
1351 * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1353 * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1355 * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1357 * bindings/v8/custom/V8LocationCustom.cpp:
1359 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1361 * bindings/v8/custom/V8NodeCustom.cpp:
1362 (WebCore::toV8Slow):
1363 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1365 * bindings/v8/custom/V8SVGElementCustom.cpp:
1367 * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1369 * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1371 * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1373 * bindings/v8/custom/V8StyleSheetCustom.cpp:
1375 * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1377 * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1379 * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1381 * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1383 * bindings/v8/custom/V8WorkerContextCustom.cpp:
1386 * bindings/scripts/test/V8/V8Float64Array.h:
1387 Updated run-bindings-tests results.
1390 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1392 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1394 * bindings/scripts/test/V8/V8TestEventConstructor.h:
1396 * bindings/scripts/test/V8/V8TestEventTarget.h:
1398 * bindings/scripts/test/V8/V8TestInterface.h:
1400 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1402 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1404 * bindings/scripts/test/V8/V8TestNode.h:
1406 * bindings/scripts/test/V8/V8TestObj.h:
1408 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1411 2012-04-17 Yury Semikhatsky <yurys@chromium.org>
1413 Web Inspector: move heap snapshot data grids into their own file
1414 https://bugs.webkit.org/show_bug.cgi?id=84160
1416 Moved heap snapshot data grids into a separate file.
1418 Reviewed by Pavel Feldman.
1421 * WebCore.vcproj/WebCore.vcproj:
1422 * inspector/compile-front-end.py:
1423 * inspector/front-end/DataGrid.js:
1424 * inspector/front-end/HeapSnapshotDataGrids.js: Added.
1425 (WebInspector.HeapSnapshotSortableDataGrid):
1426 (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
1427 (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
1428 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
1429 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
1430 (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
1431 (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
1432 (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
1433 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
1434 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
1435 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
1436 (WebInspector.HeapSnapshotContainmentDataGrid):
1437 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
1438 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
1439 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
1440 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
1441 (WebInspector.HeapSnapshotRetainmentDataGrid):
1442 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
1443 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
1444 (WebInspector.HeapSnapshotConstructorsDataGrid):
1445 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
1446 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1447 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
1448 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
1449 (WebInspector.HeapSnapshotDiffDataGrid):
1450 (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
1451 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
1452 (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
1453 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
1454 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
1455 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
1456 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
1457 (WebInspector.HeapSnapshotDominatorsDataGrid):
1458 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
1459 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
1460 * inspector/front-end/HeapSnapshotView.js:
1461 * inspector/front-end/WebKit.qrc:
1462 * inspector/front-end/inspector.html:
1464 2012-04-17 Vivek Galatage <vivekgalatage@gmail.com>
1466 Script make_names.pl should generate consistent .h & .cpp files
1467 https://bugs.webkit.org/show_bug.cgi?id=84140
1469 Reviewed by Kentaro Hara.
1471 Added a newline character and removed ';' after the DEFINE_GLOBAL
1473 No test cases required for this change.
1475 * dom/make_names.pl:
1476 (printNamesCppFile):
1478 2012-04-17 Aaron Colwell <acolwell@chromium.org>
1480 Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement
1481 and propagate calls to the MediaPlayerPrivate interface.
1482 These are needed to bring the Media Source implementation
1483 up to date with the new 0.4 version of the Media Source spec.
1484 http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html
1485 https://bugs.webkit.org/show_bug.cgi?id=83616
1487 Reviewed by Eric Carlson, Darin Fisher.
1489 Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
1491 * html/HTMLMediaElement.cpp:
1493 (WebCore::HTMLMediaElement::isValidSourceId):
1494 (WebCore::HTMLMediaElement::webkitSourceAddId):
1495 (WebCore::HTMLMediaElement::webkitSourceRemoveId):
1496 (WebCore::HTMLMediaElement::setSourceState):
1497 * html/HTMLMediaElement.h:
1499 * html/HTMLMediaElement.idl:
1500 * platform/graphics/MediaPlayer.cpp:
1501 (WebCore::NullMediaPlayerPrivate::sourceAddId):
1502 (WebCore::NullMediaPlayerPrivate::sourceRemoveId):
1504 (WebCore::MediaPlayer::sourceAddId):
1505 (WebCore::MediaPlayer::sourceRemoveId):
1506 * platform/graphics/MediaPlayer.h:
1507 * platform/graphics/MediaPlayerPrivate.h:
1508 (WebCore::MediaPlayerPrivateInterface::sourceAddId):
1509 (WebCore::MediaPlayerPrivateInterface::sourceRemoveId):
1511 2012-04-17 Alexander Pavlov <apavlov@chromium.org>
1513 Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
1514 https://bugs.webkit.org/show_bug.cgi?id=84154
1516 Check that a node inserted actually has a parent.
1518 Reviewed by Yury Semikhatsky.
1520 Test: inspector/elements/elements-panel-reload-assert.html
1522 * inspector/InspectorDOMAgent.cpp:
1523 (WebCore::InspectorDOMAgent::didInsertDOMNode):
1525 2012-04-17 Dana Jansens <danakj@chromium.org>
1527 [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
1528 https://bugs.webkit.org/show_bug.cgi?id=83543
1530 Reviewed by Adrienne Walker.
1532 It should not be possible to make a rect in layer space that is clipped
1533 by the camera but for which the screen space transform gives a
1534 rectilinear output. But use consistent methods for checking that the
1535 result remains enclosed within the actual pixels.
1537 One day when clipped is true, we can find an interior axis-aligned rect
1538 within the clipped result, and checking clipped explicitly makes this
1541 Covered by existing tests.
1543 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1544 (WebCore::computeOcclusionBehindLayer):
1545 (WebCore::::markOccludedBehindLayer):
1547 2012-04-17 Vsevolod Vlasov <vsevik@chromium.org>
1549 Web Inspector: Suggest box appears after the command was executed in console sometimes.
1550 https://bugs.webkit.org/show_bug.cgi?id=84148
1552 Reviewed by Pavel Feldman.
1554 TextPrompt.complete() requests completions asynchronously, this change adds a flag
1555 that informs TextPrompt._completionsReady() whether completions should still be shown.
1557 * inspector/front-end/TextPrompt.js:
1558 (WebInspector.TextPrompt.prototype.clearAutoComplete):
1559 (WebInspector.TextPrompt.prototype.complete):
1560 (WebInspector.TextPrompt.prototype._completionsReady):
1562 2012-04-17 Yong Li <yoli@rim.com>
1564 REGRESSION (r105453): Crash when handling touch events
1565 https://bugs.webkit.org/show_bug.cgi?id=81958
1567 Reviewed by Antonio Gomes.
1569 Always perform sanity checks when handling every touch point
1570 because the node and document may have been destroyed or detached.
1572 ManualTests/touch-stale-iframe-crash.html added.
1573 (DumpRenderTree doesn't support transiting touch states in one shot yet)
1575 * page/EventHandler.cpp:
1576 (WebCore::EventHandler::handleTouchEvent):
1578 2012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1580 Asserts in XMLHttpRequestProgressEventThrottle
1581 https://bugs.webkit.org/show_bug.cgi?id=81506
1583 Reviewed by Julien Chaffraix.
1585 The asserts were incorrectly triggered because suspending active DOM objects
1586 (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript
1587 from running or suspend any running loader we may have. The previous code would
1588 assume those 2 cases were impossible.
1590 When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object
1591 is suspended the object may attempt to dispatch events. This patch defers these events
1592 until the object is resumed.
1594 Progress events are coalesced similar to normal throttling, and readystate-change events
1595 are coalesced to avoid identical events emitted right after eachother.
1597 On resume the events are dispatched after a timer to avoid interfering with
1598 ScriptExecutionContext which is iterating over suspended objects.
1600 Test: fast/events/pagehide-xhr-open.html
1602 * xml/XMLHttpRequestProgressEventThrottle.cpp:
1603 (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
1604 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
1605 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
1606 (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
1607 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
1608 (WebCore::XMLHttpRequestProgressEventThrottle::fired):
1609 (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
1610 (WebCore::XMLHttpRequestProgressEventThrottle::resume):
1611 * xml/XMLHttpRequestProgressEventThrottle.h:
1612 (XMLHttpRequestProgressEventThrottle):
1614 2012-04-16 Vsevolod Vlasov <vsevik@chromium.org>
1616 Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store.
1617 https://bugs.webkit.org/show_bug.cgi?id=84035
1619 Reviewed by Pavel Feldman.
1621 Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it.
1623 * inspector/InspectorIndexedDBAgent.cpp:
1626 2012-04-17 Pavel Feldman <pfeldman@chromium.org>
1628 Web Inspector: [regression r112413]content scripts tree outline is not added to the tab.
1629 https://bugs.webkit.org/show_bug.cgi?id=84146
1631 Reviewed by Vsevolod Vlasov.
1633 Adding the tree to the container.
1635 * inspector/front-end/ScriptsNavigator.js:
1636 (WebInspector.ScriptsNavigator):
1638 2012-04-17 Mariusz Grzegorczyk <mariusz.g@samsung.com>
1640 [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
1641 https://bugs.webkit.org/show_bug.cgi?id=83285
1643 Reviewed by Ryosuke Niwa.
1645 * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle.
1647 * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef.
1649 2012-04-17 Kent Tamura <tkent@chromium.org>
1651 Introduce an internal feature for a fixed placeholder
1652 https://bugs.webkit.org/show_bug.cgi?id=84009
1654 Reviewed by Hajime Morita.
1656 This change adds a framework to support fixed placeholder string for
1657 textfield-like <input> without the palceholder attribute support. This
1658 doesn't change any behavior of input types which support the
1659 'placeholder' attribute.
1661 According to the standard, <input type=date> doesn't support the
1662 'placeholder' attribute. However it is a kind of text field in WebKit
1663 platforms with ENABLE_CALENDAR_PICKER, and we may show something useful
1664 information as the default placeholder.
1666 No new tests because of no behavior changes.
1668 * html/HTMLTextFormControlElement.h:
1669 (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual.
1670 * html/HTMLInputElement.h:
1671 (HTMLInputElement): Overrides isPlaceholderEmpty().
1672 * html/HTMLInputElement.cpp:
1673 (WebCore::HTMLInputElement::isPlaceholderEmpty):
1674 Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder().
1675 * html/InputType.cpp:
1676 (WebCore::InputType::usesFixedPlaceholder): Added. Returns false.
1677 (WebCore::InputType::fixedPlaceholder): Added. Returns a null string.
1679 (InputType): Add usesFixedPlaceholder() and fixedPlaceholder().
1680 * html/TextFieldInputType.cpp:
1681 (WebCore::TextFieldInputType::updatePlaceholderText):
1682 Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder().
1684 2012-04-17 Kent Tamura <tkent@chromium.org>
1686 Move some code of LocalizedNumberICU.cpp to ICULocale.cpp
1687 https://bugs.webkit.org/show_bug.cgi?id=84128
1689 Reviewed by Hajime Morita.
1691 No new tests. No behavior change.
1693 * WebCore.gypi: Add ICULocale.cpp
1694 * platform/text/ICULocale.cpp:
1695 Added. Move some code from LocalizedNumberICU.cpp
1696 * platform/text/ICULocale.h:
1697 (ICULocale): Add currentLocale().
1698 * platform/text/LocalizedNumberICU.cpp:
1699 (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale().
1700 (WebCore::convertFromLocalizedNumber): ditto.
1702 2012-04-17 Bang Kwang min <justine.bang@samsung.com>
1704 [Plugins] delete ws_info regardless of window mode.
1705 https://bugs.webkit.org/show_bug.cgi?id=83004
1707 Reviewed by Simon Hausmann.
1709 m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak.
1710 Every plugin works well after this patch without any crash.
1711 Additionally, change casting syntax to C++ style.
1713 * plugins/PluginView.cpp:
1714 (WebCore::PluginView::stop):
1716 2012-04-17 Kent Tamura <tkent@chromium.org>
1718 Calendar Picker: Support RTL layout
1719 https://bugs.webkit.org/show_bug.cgi?id=83668
1721 Reviewed by Hajime Morita.
1723 Manual test: ManualTests/forms/calendar-picker.html
1725 * Resources/calendarPicker.js:
1726 (layout): If params.isRTL, add dir=rtl to the body.
1727 (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL.
1728 * html/shadow/CalendarPickerElement.cpp:
1729 (WebCore::addProperty): Add addProperty() with a bool value.
1730 (WebCore::CalendarPickerElement::writeDocument):
1731 Check the direction of the first character of localized January label,
1732 and pass it as isRTL property.
1734 2012-04-16 Carlos Garcia Campos <cgarcia@igalia.com>
1736 Unreviewed. Fix make distcheck issues.
1738 * GNUmakefile.list.am: Add missing files.
1740 2012-04-16 Hajime Morrita <morrita@chromium.org>
1742 insertedIntoDocument and insertedIntoTree should be unitifed.
1743 https://bugs.webkit.org/show_bug.cgi?id=82701
1745 Reviewed by Ryosuke Niwa.
1747 Both Node::insertedIntoTree() and Node::insertedIntoDocument() are
1748 served as lifecycle callbacks which are invoked when a node is
1749 inserted into its new parent. There are also removedFromTree()
1750 and removedFromDocument() respectively. Considering that this pair
1751 of virtual functions are laid onto the hot path, it's worth
1752 merging them into one, to gain some speedup. Such
1753 unification could clarify the semantics as well.
1755 This change makes following change to merge these functions.
1757 - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier.
1758 - letting new Node::insertInto() do the job for its own, but not
1759 for its children and
1760 - Pass the parent of each insertion root as a parameter of insertedInto().
1761 This root node can tell inserted node where it is inserted,
1762 specifically whetehr the insertion is to the document or not.
1764 Same pattern is also applied to Node::removedFromDocument() and
1765 Node::removedFromTree(), which are factored to Node::removedFrom()
1766 and ChildNodeRemovalNotifier respectively.
1768 Speed up on Dromaeo/dom-modify.html is about 2%.
1769 Further speed-up by de-virtulization would be possible.
1773 There is possible situation where a node need to invoke
1774 insertedInto() after its children is nofitied, instead of before
1775 that. It was represented naturally with previous
1776 traversal-by-ContainerNode pattern, but is no longer simple with
1777 this new external traversal. To support this scenario, we
1778 introduced the InsertionNotificationRequest as a return value of insertedInto()
1779 and a supplemental hook Node::didNotifyDescendantInseretions(). See for
1780 example HTMLFormElement.cpp to learn how it works.
1782 No new tests. Covered by existing tests.
1785 * GNUmakefile.list.am:
1788 * WebCore.xcodeproj/project.pbxproj:
1789 * dom/ContainerNode.cpp:
1790 (WebCore::ContainerNode::parserInsertBefore):
1791 (WebCore::ContainerNode::removeChild):
1792 (WebCore::ContainerNode::parserRemoveChild):
1793 (WebCore::ContainerNode::removeChildren):
1794 (WebCore::ContainerNode::parserAddChild):
1795 (WebCore::updateTreeAfterInsertion):
1796 * dom/ContainerNode.h:
1798 (WebCore::Node::highestAncestor):
1800 * dom/ContainerNodeAlgorithms.cpp: Added.
1802 (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
1803 (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
1804 (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
1805 (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
1806 * dom/ContainerNodeAlgorithms.h:
1807 (ChildNodeInsertionNotifier):
1808 (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier):
1810 (ChildNodeRemovalNotifier):
1811 (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
1812 (WebCore::removeAllChildrenInContainer):
1813 (WebCore::appendChildToContainer):
1815 (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1816 (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
1817 (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument):
1818 (WebCore::ChildNodeInsertionNotifier::notify):
1819 (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
1820 (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
1821 (WebCore::ChildNodeRemovalNotifier::notify):
1822 * dom/DOMAllInOne.cpp:
1823 * dom/DocumentType.cpp:
1824 (WebCore::DocumentType::insertedInto):
1825 (WebCore::DocumentType::removedFrom):
1826 * dom/DocumentType.h:
1829 (WebCore::Element::insertedInto):
1830 (WebCore::Element::removedFrom):
1834 (WebCore::Node::insertedInto):
1835 (WebCore::Node::removedFrom):
1838 (WebCore::Node::didNotifyDescendantInseretions):
1839 * dom/ProcessingInstruction.cpp:
1840 (WebCore::ProcessingInstruction::insertedInto):
1841 (WebCore::ProcessingInstruction::removedFrom):
1842 * dom/ProcessingInstruction.h:
1843 (ProcessingInstruction):
1844 * dom/ScriptElement.cpp:
1845 (WebCore::ScriptElement::insertedInto):
1846 * dom/ScriptElement.h:
1849 * dom/ShadowTree.cpp:
1850 (WebCore::ShadowTree::addShadowRoot):
1851 (WebCore::ShadowTree::removeAllShadowRoots):
1855 (WebCore::ShadowRootVector::ShadowRootVector):
1857 * html/FormAssociatedElement.cpp:
1858 (WebCore::FormAssociatedElement::insertedInto):
1859 (WebCore::FormAssociatedElement::removedFrom):
1860 (WebCore::FormAssociatedElement::formRemovedFromTree):
1861 * html/FormAssociatedElement.h:
1862 (FormAssociatedElement):
1863 * html/HTMLBaseElement.cpp:
1864 (WebCore::HTMLBaseElement::insertedInto):
1865 (WebCore::HTMLBaseElement::removedFrom):
1866 * html/HTMLBaseElement.h:
1868 * html/HTMLBodyElement.cpp:
1869 (WebCore::HTMLBodyElement::insertedInto):
1870 (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
1871 * html/HTMLBodyElement.h:
1873 * html/HTMLFormControlElement.cpp:
1874 (WebCore::HTMLFormControlElement::insertedInto):
1875 (WebCore::HTMLFormControlElement::removedFrom):
1876 * html/HTMLFormControlElement.h:
1877 (HTMLFormControlElement):
1878 * html/HTMLFormElement.cpp:
1879 (WebCore::HTMLFormElement::insertedInto):
1880 (WebCore::HTMLFormElement::didNotifyDescendantInseretions):
1881 (WebCore::HTMLFormElement::removedFrom):
1882 * html/HTMLFormElement.h:
1884 * html/HTMLFrameElementBase.cpp:
1885 (WebCore::HTMLFrameElementBase::insertedInto):
1887 (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions):
1888 * html/HTMLFrameElementBase.h:
1889 (HTMLFrameElementBase):
1890 * html/HTMLFrameSetElement.cpp:
1891 (WebCore::HTMLFrameSetElement::insertedInto):
1892 (WebCore::HTMLFrameSetElement::removedFrom):
1893 * html/HTMLFrameSetElement.h:
1894 (HTMLFrameSetElement):
1895 * html/HTMLIFrameElement.cpp:
1896 (WebCore::HTMLIFrameElement::insertedInto):
1897 (WebCore::HTMLIFrameElement::removedFrom):
1898 * html/HTMLIFrameElement.h:
1899 (HTMLIFrameElement):
1900 * html/HTMLImageElement.cpp:
1901 (WebCore::HTMLImageElement::insertedInto):
1902 (WebCore::HTMLImageElement::removedFrom):
1903 * html/HTMLImageElement.h:
1905 * html/HTMLInputElement.cpp:
1906 (WebCore::HTMLInputElement::insertedInto):
1907 (WebCore::HTMLInputElement::removedFrom):
1908 * html/HTMLInputElement.h:
1909 * html/HTMLLinkElement.cpp:
1910 (WebCore::HTMLLinkElement::insertedInto):
1911 (WebCore::HTMLLinkElement::removedFrom):
1912 * html/HTMLLinkElement.h:
1914 * html/HTMLMapElement.cpp:
1915 (WebCore::HTMLMapElement::insertedInto):
1916 (WebCore::HTMLMapElement::removedFrom):
1917 * html/HTMLMapElement.h:
1919 * html/HTMLMediaElement.cpp:
1920 (WebCore::HTMLMediaElement::insertedInto):
1921 (WebCore::HTMLMediaElement::removedFrom):
1922 * html/HTMLMediaElement.h:
1924 * html/HTMLMetaElement.cpp:
1925 (WebCore::HTMLMetaElement::insertedInto):
1926 * html/HTMLMetaElement.h:
1928 * html/HTMLObjectElement.cpp:
1929 (WebCore::HTMLObjectElement::insertedInto):
1930 (WebCore::HTMLObjectElement::removedFrom):
1931 * html/HTMLObjectElement.h:
1932 (HTMLObjectElement):
1933 * html/HTMLOptionElement.cpp:
1934 (WebCore::HTMLOptionElement::insertedInto):
1935 * html/HTMLOptionElement.h:
1936 (HTMLOptionElement):
1937 * html/HTMLQuoteElement.cpp:
1938 (WebCore::HTMLQuoteElement::insertedInto):
1939 * html/HTMLQuoteElement.h:
1941 * html/HTMLScriptElement.cpp:
1942 (WebCore::HTMLScriptElement::insertedInto):
1943 * html/HTMLScriptElement.h:
1944 (HTMLScriptElement):
1945 * html/HTMLSelectElement.cpp:
1946 (WebCore::HTMLSelectElement::insertedInto):
1947 * html/HTMLSelectElement.h:
1948 * html/HTMLSourceElement.cpp:
1949 (WebCore::HTMLSourceElement::insertedInto):
1950 * html/HTMLSourceElement.h:
1951 (HTMLSourceElement):
1952 * html/HTMLStyleElement.cpp:
1953 (WebCore::HTMLStyleElement::insertedInto):
1954 (WebCore::HTMLStyleElement::removedFrom):
1955 * html/HTMLStyleElement.h:
1957 * html/HTMLTextFormControlElement.cpp:
1958 (WebCore::HTMLTextFormControlElement::insertedInto):
1959 * html/HTMLTextFormControlElement.h:
1960 * html/HTMLTitleElement.cpp:
1961 (WebCore::HTMLTitleElement::insertedInto):
1962 (WebCore::HTMLTitleElement::removedFrom):
1963 * html/HTMLTitleElement.h:
1965 * html/HTMLTrackElement.cpp:
1966 (WebCore::HTMLTrackElement::insertedInto):
1967 * html/HTMLTrackElement.h:
1969 * mathml/MathMLMathElement.cpp:
1970 (WebCore::MathMLMathElement::insertedInto):
1971 * mathml/MathMLMathElement.h:
1972 (MathMLMathElement):
1973 * svg/SVGElement.cpp:
1974 (WebCore::SVGElement::removedFrom):
1977 * svg/SVGFEImageElement.cpp:
1978 (WebCore::SVGFEImageElement::insertedInto):
1979 (WebCore::SVGFEImageElement::removedFrom):
1980 * svg/SVGFEImageElement.h:
1981 (SVGFEImageElement):
1982 * svg/SVGFontFaceElement.cpp:
1983 (WebCore::SVGFontFaceElement::insertedInto):
1984 (WebCore::SVGFontFaceElement::removedFrom):
1985 * svg/SVGFontFaceElement.h:
1986 (SVGFontFaceElement):
1987 * svg/SVGFontFaceUriElement.cpp:
1988 (WebCore::SVGFontFaceUriElement::insertedInto):
1989 * svg/SVGFontFaceUriElement.h:
1990 (SVGFontFaceUriElement):
1991 * svg/SVGGlyphElement.cpp:
1992 (WebCore::SVGGlyphElement::insertedInto):
1993 (WebCore::SVGGlyphElement::removedFrom):
1994 * svg/SVGGlyphElement.h:
1996 * svg/SVGHKernElement.cpp:
1997 (WebCore::SVGHKernElement::insertedInto):
1998 (WebCore::SVGHKernElement::removedFrom):
1999 * svg/SVGHKernElement.h:
2001 * svg/SVGImageElement.cpp:
2002 (WebCore::SVGImageElement::insertedInto):
2003 * svg/SVGImageElement.h:
2005 * svg/SVGSVGElement.cpp:
2006 (WebCore::SVGSVGElement::insertedInto):
2007 (WebCore::SVGSVGElement::removedFrom):
2008 * svg/SVGSVGElement.h:
2010 * svg/SVGScriptElement.cpp:
2011 (WebCore::SVGScriptElement::insertedInto):
2012 * svg/SVGScriptElement.h:
2014 * svg/SVGStyleElement.cpp:
2015 (WebCore::SVGStyleElement::insertedInto):
2016 (WebCore::SVGStyleElement::removedFrom):
2017 * svg/SVGStyleElement.h:
2019 * svg/SVGStyledElement.cpp:
2020 (WebCore::SVGStyledElement::insertedInto):
2021 (WebCore::SVGStyledElement::removedFrom):
2022 (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
2023 * svg/SVGStyledElement.h:
2025 * svg/SVGTRefElement.cpp:
2026 (WebCore::SVGTRefElement::buildPendingResource):
2027 (WebCore::SVGTRefElement::insertedInto):
2028 (WebCore::SVGTRefElement::removedFrom):
2029 * svg/SVGTRefElement.h:
2031 * svg/SVGTextPathElement.cpp:
2032 (WebCore::SVGTextPathElement::insertedInto):
2033 * svg/SVGTextPathElement.h:
2034 * svg/SVGTitleElement.cpp:
2035 (WebCore::SVGTitleElement::insertedInto):
2036 (WebCore::SVGTitleElement::removedFrom):
2037 * svg/SVGTitleElement.h:
2039 * svg/SVGUseElement.cpp:
2040 (WebCore::SVGUseElement::insertedInto):
2041 (WebCore::SVGUseElement::removedFrom):
2042 * svg/SVGUseElement.h:
2044 * svg/SVGVKernElement.cpp:
2045 (WebCore::SVGVKernElement::insertedInto):
2046 (WebCore::SVGVKernElement::removedFrom):
2047 * svg/SVGVKernElement.h:
2049 * svg/animation/SVGSMILElement.cpp:
2050 (WebCore::SVGSMILElement::insertedInto):
2051 (WebCore::SVGSMILElement::removedFrom):
2052 * svg/animation/SVGSMILElement.h:
2055 2012-04-16 David Barr <davidbarr@chromium.org>
2057 Stack overflow in CSS parser caused by recursive stylesheet import
2058 https://bugs.webkit.org/show_bug.cgi?id=83545
2060 Reviewed by Ryosuke Niwa.
2062 Test: http/tests/css/css-imports-redirect-cycle.html
2064 * css/CSSImportRule.cpp:
2065 (WebCore::StyleRuleImport::requestStyleSheet):
2067 2012-04-16 Kent Tamura <tkent@chromium.org>
2069 Rename LocalizedNumberICU.h to ICULocale.h
2070 https://bugs.webkit.org/show_bug.cgi?id=84119
2072 Reviewed by Kentaro Hara.
2074 LocalizedNumberICU.h contains only ICULocale class. It should be
2075 named as ICULocale.h. We're going to move some functions in
2076 LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale,
2077 and add unit tests for them.
2079 * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h
2080 * platform/text/ICULocale.h:
2081 Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h.
2082 * platform/text/LocalizedNumberICU.cpp:
2083 Rename LocalizedNumberICU.h to ICULocale.h
2085 2012-04-16 James Robinson <jamesr@chromium.org>
2087 [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer
2088 https://bugs.webkit.org/show_bug.cgi?id=84066
2090 Reviewed by Adrienne Walker.
2092 WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for
2093 printing, etc), but this path no longer has any compositor interaction. This moves the code into
2094 DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL.
2096 * platform/graphics/chromium/DrawingBufferChromium.cpp:
2097 (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2098 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2099 * platform/graphics/chromium/WebGLLayerChromium.h:
2100 (WebGLLayerChromium):
2102 2012-04-16 Dana Jansens <danakj@chromium.org>
2104 [chromium] Expose compositor filters to Aura through WebLayer
2105 https://bugs.webkit.org/show_bug.cgi?id=80054
2107 Reviewed by James Robinson.
2109 Adds WebFilterOperation that wraps WebCore::FilterOperation and
2110 WebFilterOperations that wraps WebCore::FilterOperations.
2112 We add support for most of the FilterOperation subclasses, and
2113 allow the user to set the WebFilterOperations for both layer
2114 content filters and background filters.
2117 * platform/chromium/support/WebFilterOperation.cpp: Added.
2119 (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation):
2120 (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation):
2121 (WebKit::WebBlurFilterOperation::toFilterOperation):
2122 (WebKit::WebDropShadowFilterOperation::toFilterOperation):
2123 * platform/chromium/support/WebFilterOperations.cpp: Added.
2125 (WebKit::WebFilterOperations::WebFilterOperations):
2126 (WebKit::WebFilterOperations::append):
2127 (WebKit::WebFilterOperations::clear):
2128 (WebKit::WebFilterOperations::toFilterOperations):
2130 2012-04-16 Andrei Burago <aburago@chromium.org>
2132 Auto-sized frames may be taller than expected
2133 https://bugs.webkit.org/show_bug.cgi?id=84106
2135 Reviewed by David Levin.
2137 No new tests. The repro steps require using Chrome notifications on Win.
2139 * page/FrameView.cpp:
2140 (WebCore::FrameView::autoSizeIfEnabled):
2142 2012-04-13 James Robinson <jamesr@chromium.org>
2144 [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
2145 https://bugs.webkit.org/show_bug.cgi?id=83963
2147 Reviewed by Adrienne Walker.
2149 Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
2150 WebCore VideoFrameProvider.
2153 * platform/graphics/chromium/VideoLayerChromium.cpp:
2154 (WebCore::VideoLayerChromium::create):
2155 (WebCore::VideoLayerChromium::VideoLayerChromium):
2156 * platform/graphics/chromium/VideoLayerChromium.h:
2159 (VideoLayerChromium):
2160 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2161 (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
2162 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2163 (WebCore::CCVideoLayerImpl::create):
2166 2012-04-16 Takashi Sakamoto <tasak@google.com>
2168 [Shadow DOM] InsertionPoint should have isActive() member function.
2169 https://bugs.webkit.org/show_bug.cgi?id=82010
2171 Reviewed by Hajime Morita.
2173 This patch adds isActive public member function to InsertionPoint and
2174 makes InsertionPoint elements consider whether active or not.
2175 If an InsertionPoint is inactive, the element is not shadow boundary
2176 and is needed to be rendered.
2177 c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point
2179 Test: update existing tests, i.e.
2180 LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
2181 LayoutTests/fast/dom/shadow/shadow-contents-fallback.html
2183 * html/shadow/InsertionPoint.cpp:
2184 (WebCore::InsertionPoint::isActive):
2185 A new public method for checking whether an insertion point is active or inactive.
2186 If active, returns true. Otherwise, false.
2187 (WebCore::InsertionPoint::isShadowBoundary):
2188 Make the method consider whether an insertin point is active or inactive.
2189 (WebCore::InsertionPoint::rendererIsNeeded):
2190 Changed to return true If an insertion point is inactive.
2191 (WebCore::InsertionPoint::attach):
2192 Changed to call only HTMLElement::attach If an insertion point is inactive.
2193 (WebCore::InsertionPoint::detach):
2194 Changed to call only HTMLElement::detach If an insertion point is inactive.
2195 * html/shadow/InsertionPoint.h:
2197 Added isActive public method.
2198 * dom/NodeRenderingContext.cpp:
2199 (WebCore::NodeRenderingContext::NodeRenderingContext):
2200 Changed to take into account an insertion point's activeness when parent is an insertion point.
2201 (WebCore::NodeRenderingContext::firstRendererOf):
2202 (WebCore::NodeRenderingContext::lastRendererOf):
2203 Changed to take into account an insertion point's activeness.
2205 2012-04-16 MORITA Hajime <morrita@google.com>
2207 Type tags in NodeFlags could be compressed
2208 https://bugs.webkit.org/show_bug.cgi?id=79299
2210 Because existing node flags which indicate the class of each node
2211 are mutually exclusive, these flags can be represented as a enum.
2212 This patch introduces Node::NodeTypeTag to turn these flags into a
2213 enum, and embeds it into Node::m_nodeFlags.
2215 Reviewed by Antti Koivisto.
2217 No new tests. No bahavior change.
2224 (WebCore::Node::typeTag):
2225 (WebCore::Node::parentNode):
2226 (WebCore::Node::parentNodeGuaranteedHostFree):
2227 (WebCore::Node::isContainerNode):
2228 (WebCore::Node::isElementNode):
2229 (WebCore::Node::isStyledElement):
2230 (WebCore::Node::isTextNode):
2231 (WebCore::Node::isHTMLElement):
2232 (WebCore::Node::isSVGElement):
2233 (WebCore::Node::isShadowRoot):
2235 2012-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
2237 Unreviewed, rolling out r114285.
2238 http://trac.webkit.org/changeset/114285
2239 https://bugs.webkit.org/show_bug.cgi?id=84107
2241 broke fast/media/media-query-list-08.html in Mac (Requested by
2242 andersca on #webkit).
2245 (WebCore::Document::styleSelectorChanged):
2248 * page/FrameView.cpp:
2249 (WebCore::FrameView::layout):
2251 2012-04-16 Nate Chapin <japhet@chromium.org>
2253 Remove unused variable CachedResourceLoader::m_loadFinishing
2254 https://bugs.webkit.org/show_bug.cgi?id=84100
2256 Reviewed by Alexey Proskuryakov.
2258 No new tests, removing dead code.
2260 * loader/cache/CachedResourceLoader.cpp:
2261 (WebCore::CachedResourceLoader::CachedResourceLoader):
2262 (WebCore::CachedResourceLoader::loadDone):
2263 (WebCore::CachedResourceLoader::decrementRequestCount):
2264 * loader/cache/CachedResourceLoader.h:
2265 (CachedResourceLoader):
2266 (WebCore::CachedResourceLoader::requestCount):
2268 2012-04-16 Andreas Kling <kling@webkit.org>
2270 Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
2271 <http://webkit.org/b/83988>
2273 Reviewed by Antti Koivisto.
2275 Remove the 'context style sheet' argument to <font face> value parsing.
2276 It was only ever used to grab at the CSSValuePool back when they were per-Document.
2279 * css/CSSParser.cpp:
2280 (WebCore::CSSParser::parseFontFaceValue):
2281 * css/CSSValuePool.h:
2282 * css/CSSValuePool.cpp:
2283 (WebCore::CSSValuePool::createFontFaceValue):
2284 * html/HTMLFontElement.cpp:
2285 (WebCore::HTMLFontElement::collectStyleForAttribute):
2287 2012-04-16 Dana Jansens <danakj@chromium.org>
2289 [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
2290 https://bugs.webkit.org/show_bug.cgi?id=83543
2292 Reviewed by Adrienne Walker.
2294 It should not be possible to make a rect in layer space that is clipped
2295 by the camera but for which the screen space transform gives a
2296 rectilinear output. But use consistent methods for checking that the
2297 result remains enclosed within the actual pixels.
2299 One day when clipped is true, we can find an interior axis-aligned rect
2300 within the clipped result, and checking clipped explicitly makes this
2303 Covered by existing tests.
2305 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2306 (WebCore::computeOcclusionBehindLayer):
2307 (WebCore::::markOccludedBehindLayer):
2309 2012-04-16 Erik Arvidsson <arv@chromium.org>
2311 [V8] Don't delete the per context data until the V8IsolatedContext is deleted
2312 https://bugs.webkit.org/show_bug.cgi?id=83831
2314 Reviewed by Nate Chapin.
2316 Test: http/tests/security/isolatedWorld/context-destroy.html
2318 * bindings/v8/V8IsolatedContext.cpp:
2319 (WebCore::V8IsolatedContext::destroy):
2321 2012-04-16 Greg Billock <gbillock@google.com>
2323 Add V8 code generation support for MessagePortArray attributes.
2324 https://bugs.webkit.org/show_bug.cgi?id=83943
2326 Reviewed by Kentaro Hara.
2328 * bindings/scripts/CodeGeneratorV8.pm:
2329 (GenerateNormalAttrGetter):
2330 * bindings/scripts/IDLAttributes.txt:
2331 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
2332 (WebDOMTestSerializedScriptValueInterface::ports):
2333 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
2334 (WebDOMTestSerializedScriptValueInterface):
2335 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2336 (webkit_dom_test_serialized_script_value_interface_get_property):
2337 (webkit_dom_test_serialized_script_value_interface_class_init):
2338 (webkit_dom_test_serialized_script_value_interface_get_ports):
2339 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2340 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2342 (WebCore::jsTestSerializedScriptValueInterfacePorts):
2343 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2345 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2346 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
2347 (-[DOMTestSerializedScriptValueInterface ports]):
2348 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2349 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2350 (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
2351 (TestSerializedScriptValueInterfaceInternal):
2354 2012-04-16 Xiaomei Ji <xji@chromium.org>
2356 platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
2357 https://bugs.webkit.org/show_bug.cgi?id=83521
2359 Reviewed by David Levin.
2361 No functionality change, so no new tests.
2363 * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
2364 (WebCore::GlyphPage::fill):
2366 2012-04-16 Levi Weintraub <leviw@chromium.org>
2368 Make borderBoxRect sub-pixel precise and add a pixel snapped version
2369 https://bugs.webkit.org/show_bug.cgi?id=84063
2371 Reviewed by Eric Seidel.
2373 In an effort to prevent misuse, we previously decided to have borderBoxRect return a
2374 pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
2375 at (0,0), and therefore won't snap to the same size as the element it's covering.
2377 There are a couple uses of borderBoxRect that don't pixel snap the values and require
2378 sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
2379 explicit, and moves uses that would otherwise pixel snap the rect to this version to
2380 avoid producing a rect of the incorrect size. For details about pixel snapping with
2381 LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit
2383 No new tests. No change in behavior.
2385 * html/shadow/TextControlInnerElements.cpp:
2386 (WebCore::SpinButtonElement::defaultEventHandler):
2387 * rendering/RenderBlock.cpp:
2388 (WebCore::RenderBlock::addVisualOverflowFromTheme):
2389 * rendering/RenderBox.h:
2390 (WebCore::RenderBox::borderBoxRect):
2391 (WebCore::RenderBox::pixelSnappedBorderBoxRect):
2392 (WebCore::RenderBox::borderBoundingBox):
2393 (WebCore::RenderBox::hasVisualOverflow):
2394 * rendering/RenderLayer.cpp:
2395 (WebCore::RenderLayer::scrollCornerRect):
2396 (WebCore::RenderLayer::scrollCornerAndResizerRect):
2397 (WebCore::RenderLayer::horizontalScrollbarStart):
2398 (WebCore::RenderLayer::positionOverflowControls):
2399 (WebCore::RenderLayer::paintResizer):
2400 (WebCore::RenderLayer::hitTestOverflowControls):
2401 * rendering/RenderLayerBacking.cpp:
2402 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2403 (WebCore::RenderLayerBacking::startAnimation):
2404 (WebCore::RenderLayerBacking::startTransition):
2405 * rendering/RenderTable.cpp:
2406 (WebCore::RenderTable::addOverflowFromChildren):
2407 * rendering/RenderThemeMac.mm:
2408 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2409 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2410 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2411 * rendering/svg/RenderSVGRoot.cpp:
2412 (WebCore::RenderSVGRoot::paintReplaced):
2413 (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
2415 2012-04-16 Anders Carlsson <andersca@apple.com>
2417 Crash when running some editing related tests
2418 https://bugs.webkit.org/show_bug.cgi?id=84091
2420 Reviewed by Andreas Kling.
2422 Null check triggeringEvent.
2424 * editing/Editor.cpp:
2425 (WebCore::Editor::insertTextWithoutSendingTextEvent):
2427 2012-04-16 Simon Fraser <simon.fraser@apple.com>
2429 Rename to updateZOrderListsSlowCase to rebuildZOrderLists
2430 https://bugs.webkit.org/show_bug.cgi?id=84071
2432 Reviewed by Antti Koivisto.
2434 Use a better name for updateZOrderListsSlowCase().
2436 * rendering/RenderLayer.cpp:
2437 (WebCore::RenderLayer::rebuildZOrderLists):
2438 * rendering/RenderLayer.h:
2440 (WebCore::RenderLayer::updateZOrderLists):
2442 2012-04-16 Terry Anderson <tdanderson@chromium.org>
2444 [chromium] Allow WebGestureEvent to store four floating point values
2445 https://bugs.webkit.org/show_bug.cgi?id=84053
2447 Reviewed by Darin Fisher.
2449 See bug description for an explanation of the changes made.
2451 * platform/PlatformGestureEvent.h:
2452 (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2453 (PlatformGestureEvent):
2454 (WebCore::PlatformGestureEvent::gammaX):
2455 (WebCore::PlatformGestureEvent::gammaY):
2457 2012-04-16 Kentaro Hara <haraken@chromium.org>
2459 [Refactoring][V8] Remove $indent from NativeToJSValue()
2460 https://bugs.webkit.org/show_bug.cgi?id=84077
2462 Reviewed by Nate Chapin.
2464 $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
2465 This patch removes it.
2467 No new tests. No change in behavior.
2469 * bindings/scripts/CodeGeneratorV8.pm:
2470 (GenerateNormalAttrGetter):
2471 (GenerateFunctionCallString):
2474 2012-04-16 Luiz Agostini <luiz.agostini@palm.com>
2476 matchMedia() MediaQueryList not updating
2477 https://bugs.webkit.org/show_bug.cgi?id=75903
2479 Reviewed by Antti Koivisto.
2481 Test: fast/media/media-query-list-08.html
2483 Viewport related MediaQueryList listeners were not triggered and the value
2484 of matches were not updated if the document's style selector were not
2485 affected by viewport changes.
2487 The new method evaluateMediaQueries() is now called by FrameView instead of
2488 styleSelectorChanged() if the style selector is not affected by viewport changes.
2491 (WebCore::Document::evaluateMediaQueries):
2493 (WebCore::Document::styleSelectorChanged):
2496 * page/FrameView.cpp:
2497 (WebCore::FrameView::layout):
2499 2012-04-16 James Robinson <jamesr@chromium.org>
2501 [chromium] Delete uncalled unreserveContentsTextures function
2502 https://bugs.webkit.org/show_bug.cgi?id=84005
2504 Reviewed by Adrienne Walker.
2506 This is vestigal dead code.
2508 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2509 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2510 (Canvas2DLayerChromium):
2511 * platform/graphics/chromium/LayerChromium.h:
2512 * platform/graphics/chromium/cc/CCLayerImpl.h:
2515 2012-04-13 Simon Fraser <simon.fraser@apple.com>
2517 Avoid using backing store for compositing layers that just need to clip
2518 https://bugs.webkit.org/show_bug.cgi?id=40547
2520 Reviewed by Dean Jackson.
2522 If a layer becomes composited because it needs to clip composited
2523 descendants, or if it has perspective, then it doesn't actually
2524 needs its own backing store; its contents can be painted by an
2525 ancestor, and we can just have an empty layer that does the clipping
2526 or applies the perspective transform.
2528 This saves backing store memory on some pages.
2530 Tests: compositing/backing/no-backing-for-clip-overlap.html
2531 compositing/backing/no-backing-for-clip.html
2532 compositing/backing/no-backing-for-perspective.html
2534 * rendering/RenderLayer.cpp:
2536 (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
2537 (WebCore::RenderLayer::paintLayer):
2538 * rendering/RenderLayer.h:
2540 * rendering/RenderLayerBacking.cpp:
2541 (WebCore::RenderLayerBacking::RenderLayerBacking):
2542 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2543 (WebCore::RenderLayerBacking::containsPaintedContent):
2544 (WebCore::RenderLayerBacking::setContentsNeedDisplay):
2545 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2546 (WebCore::RenderLayerBacking::paintIntoLayer):
2547 * rendering/RenderLayerBacking.h:
2548 (RenderLayerBacking):
2549 (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
2550 (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
2551 * rendering/RenderLayerCompositor.cpp:
2552 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2553 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2554 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2555 (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
2557 * rendering/RenderLayerCompositor.h:
2558 * rendering/RenderObject.cpp:
2559 (WebCore::RenderObject::containerForRepaint):
2560 * rendering/RenderTreeAsText.cpp:
2562 * rendering/RenderView.cpp:
2563 (WebCore::RenderView::paintBoxDecorations):
2565 2012-04-16 Brady Eidson <beidson@apple.com>
2567 <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
2568 WebKit2 back/forward items in the page cache are never removed when the page is closed
2570 Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
2572 * WebCore.exp.in: Export PageCache::remove()
2574 2012-04-16 Philippe Normand <pnormand@igalia.com>
2576 Unreviewed, GTK build fix after r114269.
2578 * GNUmakefile.list.am:
2580 2012-04-16 Andrey Kosyakov <caseq@chromium.org>
2582 Web Inspector: timeline. Range selection works incorrect with right click
2583 https://bugs.webkit.org/show_bug.cgi?id=83870
2585 Reviewed by Pavel Feldman.
2587 - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)
2589 * inspector/front-end/TimelineOverviewPane.js:
2590 (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
2592 2012-04-16 Andrey Kosyakov <caseq@chromium.org>
2594 Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
2595 https://bugs.webkit.org/show_bug.cgi?id=83946
2597 Reviewed by Pavel Feldman.
2599 Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
2600 support for moving overview window with horizontal swype over lower timeline pane, thus removing
2601 an irritating situation when we try to both change overview window and scroll lower timeline pane
2602 upon a single touchpad gesture. Those willing to move timeline window now would need to position
2603 mouse over overview.
2605 * inspector/front-end/TimelineOverviewPane.js:
2606 (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
2607 (WebInspector.TimelineOverviewWindow.prototype._zoom):
2608 * inspector/front-end/TimelinePanel.js:
2609 (WebInspector.TimelinePanel):
2611 2012-04-16 Yury Semikhatsky <yurys@chromium.org>
2613 Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
2614 https://bugs.webkit.org/show_bug.cgi?id=84038
2616 A bunch of renames "detailed heapshot" -> "heap snapshot".
2618 Reviewed by Pavel Feldman.
2620 Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
2621 inspector/profiler/heap-snapshot-comparison-show-all.html
2622 inspector/profiler/heap-snapshot-comparison-show-next.html
2623 inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
2624 inspector/profiler/heap-snapshot-comparison-sorting.html
2625 inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
2626 inspector/profiler/heap-snapshot-containment-show-all.html
2627 inspector/profiler/heap-snapshot-containment-show-next.html
2628 inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
2629 inspector/profiler/heap-snapshot-containment-sorting.html
2630 inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
2631 inspector/profiler/heap-snapshot-dominators-show-all.html
2632 inspector/profiler/heap-snapshot-dominators-show-next.html
2633 inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
2634 inspector/profiler/heap-snapshot-dominators-sorting.html
2635 inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
2636 inspector/profiler/heap-snapshot-summary-show-all.html
2637 inspector/profiler/heap-snapshot-summary-show-next.html
2638 inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
2639 inspector/profiler/heap-snapshot-summary-sorting.html
2642 * WebCore.vcproj/WebCore.vcproj:
2643 * inspector/compile-front-end.py:
2644 * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
2645 (WebInspector.HeapSnapshotGridNode):
2646 (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
2647 (WebInspector.HeapSnapshotGridNode.prototype.createCell):
2648 (WebInspector.HeapSnapshotGridNode.prototype.dispose):
2649 (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
2650 (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
2651 (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
2652 (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
2653 (WebInspector.HeapSnapshotGridNode.prototype._populate):
2654 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
2655 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
2656 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
2657 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2658 (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
2659 (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
2660 (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
2661 (WebInspector.HeapSnapshotGridNode.prototype.sort):
2662 (WebInspector.HeapSnapshotLazyGridNode):
2663 (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
2664 (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
2665 (WebInspector.HeapSnapshotGenericObjectNode):
2666 (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
2667 (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2668 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2669 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
2670 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
2671 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
2672 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
2673 (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
2674 (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
2675 (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
2676 (WebInspector.HeapSnapshotObjectNode):
2677 (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
2678 (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
2679 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
2680 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
2681 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
2682 (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
2683 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2684 (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2685 (WebInspector.HeapSnapshotInstanceNode):
2686 (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
2687 (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
2688 (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
2689 (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2690 (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
2691 (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
2692 (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
2693 (WebInspector.HeapSnapshotConstructorNode):
2694 (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
2695 (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
2696 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
2697 (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2698 (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
2699 (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
2700 (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2701 (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
2702 (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
2703 (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
2704 (WebInspector.HeapSnapshotIteratorsTuple):
2705 (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
2706 (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
2707 (WebInspector.HeapSnapshotDiffNode):
2708 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
2709 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
2710 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
2711 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
2712 (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
2713 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
2714 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2715 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
2716 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
2717 (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
2718 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
2719 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
2720 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
2721 (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
2722 (WebInspector.HeapSnapshotDiffNode.prototype.get data):
2723 (WebInspector.HeapSnapshotDominatorObjectNode):
2724 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
2725 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
2726 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
2727 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
2728 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
2729 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
2730 (MixInSnapshotNodeFunctions):
2731 * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
2732 (WebInspector.HeapSnapshotSortableDataGrid):
2733 (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
2734 (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
2735 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
2736 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
2737 (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
2738 (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
2739 (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
2740 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
2741 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
2742 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
2743 (WebInspector.HeapSnapshotContainmentDataGrid):
2744 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
2745 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
2746 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
2747 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
2748 (WebInspector.HeapSnapshotRetainmentDataGrid):
2749 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
2750 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
2751 (WebInspector.HeapSnapshotConstructorsDataGrid):
2752 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
2753 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
2754 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2755 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
2756 (WebInspector.HeapSnapshotDiffDataGrid):
2757 (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
2758 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
2759 (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
2760 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
2761 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
2762 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
2763 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
2764 (WebInspector.HeapSnapshotDominatorsDataGrid):
2765 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
2766 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
2767 (WebInspector.HeapSnapshotView.profileCallback):
2768 (WebInspector.HeapSnapshotView):
2769 (WebInspector.HeapSnapshotView.prototype.dispose):
2770 (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
2771 (WebInspector.HeapSnapshotView.prototype.get profile):
2772 (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
2773 (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2774 (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
2775 (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
2776 (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
2777 (WebInspector.HeapSnapshotView.prototype.wasShown):
2778 (WebInspector.HeapSnapshotView.prototype.willHide):
2779 (WebInspector.HeapSnapshotView.prototype.onResize):
2780 (WebInspector.HeapSnapshotView.prototype.searchCanceled):
2781 (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
2782 (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
2783 (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
2784 (WebInspector.HeapSnapshotView.prototype.performSearch):
2785 (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
2786 (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
2787 (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
2788 (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
2789 (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
2790 (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
2791 (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
2792 (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
2793 (WebInspector.HeapSnapshotView.prototype._changeBase):
2794 (WebInspector.HeapSnapshotView.prototype._changeFilter):
2795 (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
2796 (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
2797 (WebInspector.HeapSnapshotView.prototype._profiles):
2798 (WebInspector.HeapSnapshotView.prototype._loadProfile):
2799 (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
2800 (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
2801 (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
2802 (WebInspector.HeapSnapshotView.prototype._selectionChanged):
2803 (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
2804 (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
2805 (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
2806 (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
2807 (WebInspector.HeapSnapshotView.prototype.changeView):
2808 (WebInspector.HeapSnapshotView.prototype._changeView):
2809 (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
2810 (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
2811 (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
2812 (WebInspector.HeapSnapshotView.prototype._helpClicked):
2813 (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
2814 (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
2815 (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
2816 (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
2817 (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
2818 (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
2819 (WebInspector.HeapSnapshotProfileType):
2820 (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
2821 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2822 (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
2823 (WebInspector.HeapSnapshotProfileType.prototype.get description):
2824 (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
2825 (WebInspector.HeapSnapshotProfileType.prototype.createView):
2826 * inspector/front-end/ProfilesPanel.js:
2827 (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
2828 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2829 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2830 * inspector/front-end/WebKit.qrc:
2831 * inspector/front-end/heapProfiler.css:
2832 (.heap-snapshot-view):
2833 (.heap-snapshot-view.visible):
2834 (.heap-snapshot-view .view):
2835 (.heap-snapshot-view .view.visible):
2836 (.heap-snapshot-view .data-grid tr:empty):
2837 (.heap-snapshot-view .data-grid):
2838 (.heap-snapshot-view .data-grid td.count-column):
2839 (.heap-snapshot-view .data-grid td.addedCount-column):
2840 (.heap-snapshot-view .data-grid td.removedCount-column):
2841 (.heap-snapshot-view .data-grid td.countDelta-column):
2842 (.heap-snapshot-view .data-grid td.addedSize-column):
2843 (.heap-snapshot-view .data-grid td.removedSize-column):
2844 (.heap-snapshot-view .data-grid td.sizeDelta-column):
2845 (.heap-snapshot-view .data-grid td.shallowSize-column):
2846 (.heap-snapshot-view .data-grid td.retainedSize-column):
2847 (.heap-snapshot-view .data-grid td.distanceToWindow-column):
2848 (.heap-snapshot-view .data-grid span.percent-column):
2849 (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
2850 (.heap-snapshot-view .console-formatted-string):
2851 (.heap-snapshot-view .console-formatted-id):
2852 (.heap-snapshot-view .data-grid tr.selected *):
2853 (.heap-snapshot-view .data-grid:focus tr.selected *):
2854 (.heap-snapshot-view .delimiter):
2855 (.heap-snapshot-view .views-container):
2856 (.heap-snapshot-view .views-container .view):
2857 (.heap-snapshot-view .retaining-paths-view):
2858 (.heap-snapshot-view .class-view-grid):
2859 (.heap-snapshot-view .class-view-toolbar):
2860 (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
2861 (.heap-snapshot-view .retainers-view-header):
2862 (.heap-snapshot-view .retainers-view-header .title > span):
2863 (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
2864 (.heap-snapshot-view td.object-column span.grayed):
2865 (.heap-snapshot-help-status-bar-item .glyph):
2866 (table.heap-snapshot-help):
2867 * inspector/front-end/inspector.html:
2869 2012-04-16 Andrey Kosyakov <caseq@chromium.org>
2871 Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
2872 https://bugs.webkit.org/show_bug.cgi?id=83946
2874 Reviewed by Pavel Feldman.
2876 Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
2877 support for moving overview window with horizontal swype over lower timeline pane, thus removing
2878 an irritating situation when we try to both change overview window and scroll lower timeline pane
2879 upon a single touchpad gesture. Those willing to move timeline window now would need to position
2880 mouse over overview.
2882 * inspector/front-end/TimelineOverviewPane.js:
2883 (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
2884 (WebInspector.TimelineOverviewWindow.prototype._zoom):
2885 * inspector/front-end/TimelinePanel.js:
2886 (WebInspector.TimelinePanel):
2888 2012-04-11 Philippe Normand <pnormand@igalia.com>
2890 [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
2891 https://bugs.webkit.org/show_bug.cgi?id=78095
2893 Reviewed by Martin Robinson.
2895 Moved the GStreamer initialization logic to a new
2896 GStreamerUtilities module, used by the MediaPlayer and the
2897 AudioContext. I also removed the static variables as
2898 gst_init_check already handles cases where it's called multiple
2901 * GNUmakefile.list.am:
2902 * Modules/webaudio/AudioContext.cpp:
2903 (WebCore::AudioContext::constructCommon):
2904 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2905 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
2906 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2907 (WebCore::AudioFileReader::createBus):
2908 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2911 (WTF::GstElementFactory):
2912 * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2914 * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
2916 (WebCore::initializeGStreamer):
2917 * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
2919 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2920 (WebCore::doGstInit):
2922 2012-04-16 ChangSeok Oh <shivamidow@gmail.com>
2924 Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
2925 https://bugs.webkit.org/show_bug.cgi?id=83982
2927 Reviewed by Martin Robinson.
2929 GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
2930 To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
2931 in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
2932 And some other issues to build with GLES are gone with this patch.
2934 No new tests, since no new feature.
2936 * platform/graphics/GraphicsContext3D.h:
2937 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2938 (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2940 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2941 (WebCore::GraphicsContext3D::readRenderingResults):
2942 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2943 (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2945 (WebCore::GraphicsContext3D::reshapeFBOs):
2946 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
2948 2012-04-16 Xiaomei Ji <xji@chromium.org>
2950 [chromium] wrong justification for arabic/persian page in cr-win.
2951 https://bugs.webkit.org/show_bug.cgi?id=83227
2953 Reviewed by Kent Tamura.
2955 Disable kashida justification if using Skia to draw.
2957 Test: fast/text/international/arabic-justify.html
2959 * platform/graphics/chromium/UniscribeHelper.cpp:
2960 (WebCore::UniscribeHelper::justify):
2962 2012-04-16 Jia Pu <jpu@apple.com>
2966 Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
2967 correct. This patch amends change set 114231.
2970 * editing/DictationAlternative.cpp:
2971 (WebCore::DictationAlternative::DictationAlternative):
2972 * editing/DictationAlternative.h:
2973 (DictationAlternative):
2975 2012-04-16 Antti Koivisto <antti@apple.com>
2977 REGRESSION (r104445): Style is not recomputed on serenaandlily.com
2978 https://bugs.webkit.org/show_bug.cgi?id=83663
2980 Reviewed by Andreas Kling.
2982 CSS class and id selectors are case insensitive in non-strict modes. The code
2983 that invalidated the scope elements used getElementByID() which is case
2984 sensitive in all modes. As a result we would fail to invalidate elements
2985 that would match a style rule but used different case in id.
2987 The new code invalidates by crawling the DOM tree. This often (when there are classes)
2988 actually faster than the existing code as we can now handle everything in a single pass.
2989 Each class scope required a crawl with the old code.
2991 The code uses the same functions as the selector matching code to get the same behavior.
2993 The maximum class limit is lifted as number of classes does not affect complexity anymore.
2995 Test: fast/css/id-or-class-before-stylesheet-strict.html
2997 * css/SelectorChecker.h:
2998 (WebCore::SelectorChecker::elementMatchesSelectorScopes):
3001 (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
3004 2012-04-16 Uday Kiran <udaykiran@motorola.com>
3006 CSS3 Selectors failures on css3test.com
3007 https://bugs.webkit.org/show_bug.cgi?id=83885
3009 Reviewed by Zoltan Herczeg.
3011 Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
3012 with values -n-b and n-b as they are of valid form an+b where a and b are integers.
3013 http://www.w3.org/TR/selectors/#structural-pseudos
3015 Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
3016 However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
3017 The original code only checked this if the string was n- or -n- but this is not enough.
3018 We need to check everything which starts with an n- or -n- prefix.
3020 Test: css3/parsing-css3-nthchild.html
3022 * css/CSSParser.cpp:
3023 (WebCore::CSSParser::lex):
3025 2012-04-16 Eric Carlson <eric.carlson@apple.com>
3027 ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
3028 https://bugs.webkit.org/show_bug.cgi?id=83949
3030 Reviewed by Antti Koivisto.
3032 No new tests. I was not able to create a reproducible test case, but I have been unable
3033 to reproduce the ASSERT that occassionally fired in existing tests since I have been
3034 living on these changes.
3036 * html/HTMLMediaElement.cpp:
3037 (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
3038 (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
3039 (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
3040 media element is not in a Document.
3042 2012-04-16 Eric Carlson <eric.carlson@apple.com>
3044 Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
3045 https://bugs.webkit.org/show_bug.cgi?id=82269
3047 Reviewed by Antti Koivisto.
3049 No new tests, already tested by media/track/track-delete-during-setup.html.
3051 * html/HTMLTrackElement.cpp:
3052 (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
3053 the track element is inserted into the document.
3054 * html/HTMLTrackElement.h:
3056 2012-04-16 Yael Aharon <yael.aharon@nokia.com>
3058 [Qt][WK2] Fixed elements position is wrong after zooming.
3059 https://bugs.webkit.org/show_bug.cgi?id=83981
3061 Reviewed by Kenneth Rohde Christiansen.
3063 When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
3064 In order to find these elements, RenderView maintains a list of fixed elements.
3065 They are added and removed at the same time that they are added and removed from their parent RenderBlock.
3066 The idea is taken from the iOS5.1 branch, at opensource.apple.com.
3067 Added a manual test that allows removing and adding fixed elements at will.
3069 * page/FrameView.cpp:
3070 (WebCore::FrameView::setFixedVisibleContentRect):
3071 * rendering/RenderBlock.cpp:
3072 (WebCore::RenderBlock::insertPositionedObject):
3073 (WebCore::RenderBlock::removePositionedObject):
3074 * rendering/RenderView.cpp:
3075 (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
3077 (WebCore::RenderView::insertFixedPositionedObject):
3078 (WebCore::RenderView::removeFixedPositionedObject):
3079 * rendering/RenderView.h:
3082 2012-04-13 Pavel Feldman <pfeldman@chromium.org>
3084 Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
3085 https://bugs.webkit.org/show_bug.cgi?id=83922
3087 Reviewed by Yury Semikhatsky.
3089 We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
3090 There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.
3093 * WebCore.vcproj/WebCore.vcproj:
3094 * inspector/compile-front-end.py:
3095 * inspector/front-end/BreakpointsSidebarPane.js:
3096 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
3097 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
3098 * inspector/front-end/ContentProvider.js: Added.
3099 (WebInspector.ContentProvider):
3100 (WebInspector.ContentProvider.prototype.contentURL):
3101 (WebInspector.ContentProvider.prototype.requestContent):
3102 (WebInspector.ContentProvider.prototype.searchInContent):
3103 (WebInspector.ContentProvider.SearchMatch):
3104 * inspector/front-end/ContentProviders.js:
3105 (WebInspector.ScriptContentProvider.prototype.contentURL):
3106 (WebInspector.ScriptContentProvider.prototype.requestContent):
3107 (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
3108 (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
3109 (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
3110 (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
3111 (WebInspector.StaticContentProvider.prototype.contentURL):
3112 (WebInspector.StaticContentProvider.prototype.requestContent):
3113 * inspector/front-end/DebuggerPresentationModel.js:
3114 * inspector/front-end/ExtensionServer.js:
3115 (WebInspector.ExtensionServer.prototype._getResourceContent):
3116 * inspector/front-end/JavaScriptSourceFrame.js:
3117 (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
3118 * inspector/front-end/NetworkItemView.js:
3119 (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
3120 (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
3121 * inspector/front-end/NetworkRequest.js:
3122 (WebInspector.NetworkRequest.prototype.contentURL):
3123 (WebInspector.NetworkRequest.prototype.requestContent):
3124 (WebInspector.NetworkRequest.prototype.searchInContent):
3125 (WebInspector.NetworkRequest.prototype.populateImageSource):
3126 (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
3127 (WebInspector.NetworkRequest.prototype._innerRequestContent):
3128 * inspector/front-end/RawSourceCode.js:
3129 (WebInspector.RawSourceCode.prototype._createContentProvider):
3130 (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
3131 (WebInspector.RawSourceCode.prototype._createSourceMapping):
3132 * inspector/front-end/Resource.js:
3133 (WebInspector.Resource.prototype.contentURL):
3134 (WebInspector.Resource.prototype.requestContent):
3135 (WebInspector.Resource.prototype._innerRequestContent.callback):
3136 (WebInspector.Resource.prototype._innerRequestContent):
3137 (WebInspector.ResourceRevision.prototype.contentURL):
3138 (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
3139 (WebInspector.ResourceRevision.prototype.requestContent):
3140 (WebInspector.ResourceRevision.prototype.searchInContent):
3141 * inspector/front-end/ResourceView.js:
3142 (WebInspector.ResourceSourceFrame.prototype.requestContent):
3143 (WebInspector.ResourceSourceFrame.prototype._contentChanged):
3144 (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
3145 * inspector/front-end/ScriptFormatter.js:
3146 * inspector/front-end/ScriptsPanel.js:
3147 (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
3148 * inspector/front-end/SourceFrame.js:
3149 (WebInspector.SourceFrame.prototype.setContent):
3150 * inspector/front-end/UISourceCode.js:
3151 (WebInspector.UISourceCode):
3152 (WebInspector.UISourceCode.prototype.requestContent):
3153 (WebInspector.UISourceCode.prototype._didRequestContent):
3154 * inspector/front-end/WebKit.qrc:
3155 * inspector/front-end/inspector.html:
3157 2012-04-16 Jason Liu <jason.liu@torchmobile.com.cn>
3159 [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
3160 https://bugs.webkit.org/show_bug.cgi?id=83866
3162 Reviewed by George Staikos.
3164 We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
3165 There are no data received because its method is HEAD.
3166 This case shouldn't be treated as a failure.
3168 Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
3170 * platform/network/blackberry/NetworkJob.cpp:
3171 (WebCore::NetworkJob::handleNotifyClose):
3173 2012-04-16 Jon Lee <jonlee@apple.com>
3178 * editing/DictationAlternative.cpp:
3179 (WebCore::DictationAlternative::DictationAlternative):
3180 * editing/DictationAlternative.h:
3181 (DictationAlternative):
3183 2012-04-16 George Staikos <staikos@webkit.org>
3185 Fix signed/unsigned mismatch warning for BlackBerry debug builds.
3186 https://bugs.webkit.org/show_bug.cgi?id=80790
3188 Reviewed by Rob Buis.
3190 * platform/blackberry/CookieMap.cpp:
3191 (WebCore::CookieMap::removeCookieAtIndex):
3193 2012-04-15 Kent Tamura <tkent@chromium.org>
3195 WebCore::weekDayShortLabels() for ICU always returns the fallback labels
3196 https://bugs.webkit.org/show_bug.cgi?id=83991
3198 Reviewed by Hajime Morita.
3200 We need to specfiy 1-based index to udat_getSymbols() with
3201 UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
3204 No new tests because this behavior depends on locale setting.
3206 * platform/text/LocalizedCalendarICU.cpp:
3207 (WebCore::createLabelVector): Add startIndex argument.
3208 (WebCore::createMonthLabels):
3209 Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
3210 (WebCore::createWeekDayShortLabels):
3211 Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
3213 2012-04-15 MORITA Hajime <morrita@google.com>
3215 Unreviewed attempt to chromium-win build fix.
3217 * editing/DictationAlternative.h:
3219 2012-04-15 Noel Gordon <noel.gordon@gmail.com>
3221 Align JSC/V8 bindings canvas.toDataURL() code flows
3222 https://bugs.webkit.org/show_bug.cgi?id=84003
3224 Reviewed by Eric Seidel.
3226 Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
3227 code implementations read alike.
3229 No new tests. Covered by existing cnavas toDataURL tests.
3231 * bindings/js/JSHTMLCanvasElementCustom.cpp:
3232 (WebCore::JSHTMLCanvasElement::toDataURL):
3234 2012-04-15 Jia Pu <jpu@apple.com>
3236 Introducing DictationCommand.
3237 https://bugs.webkit.org/show_bug.cgi?id=83549
3239 Reviewed by Hajime Morita.
3241 No new tests. This patch doesn't introduce any change of new functionality. It prepares for
3242 additional changes which will inlude tests.
3244 On OS X, alternative dictation results need to be stored as document markers. This patch introduces
3245 following changes to achieve this:
3246 1. Added DictationMarkDetails to store non-string type maker detail.
3247 2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
3249 3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
3250 4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.
3252 Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
3253 introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
3254 base class of both TypingCommand and DictationCommand.
3256 This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
3257 object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
3258 add document markers to the inserted text.
3261 * GNUmakefile.list.am:
3265 * WebCore.vcproj/WebCore.vcproj:
3266 * WebCore.xcodeproj/project.pbxproj:
3268 (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
3269 by AlternativeTextController.
3273 * dom/DocumentMarker.cpp:
3274 (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
3276 * dom/DocumentMarker.h:
3277 (WebCore::DocumentMarker::AllMarkers::AllMarkers):
3279 * dom/DocumentMarkerController.cpp:
3280 (WebCore::DocumentMarkerController::addMarker):
3282 * dom/DocumentMarkerController.h:
3283 (DocumentMarkerController):
3284 * dom/TextEvent.cpp:
3285 (WebCore::TextEvent::createForDictation):
3287 (WebCore::TextEvent::TextEvent):
3288 * dom/TextEvent.h: Added member variable for dictation alternatives.
3290 (WebCore::TextEvent::isDictation):
3291 (WebCore::TextEvent::dictationAlternatives):
3292 * dom/TextEventInputType.h:
3293 * editing/AlternativeTextController.cpp:
3294 (WebCore::AlternativeTextController::AlternativeTextController):
3295 (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
3297 * editing/AlternativeTextController.h:
3299 (DictationMarkerDetails):
3300 (WebCore::DictationMarkerDetails::create):
3301 (WebCore::DictationMarkerDetails::originalText):
3302 (WebCore::DictationMarkerDetails::dictationContext):
3303 (WebCore::DictationMarkerDetails::DictationMarkerDetails):
3304 (AlternativeTextController):
3305 * editing/CompositeEditCommand.h:
3306 (WebCore::CompositeEditCommand::isDictationCommand):
3307 * editing/DictationAlternative.cpp: Added.
3309 (WebCore::DictationAlternative::DictationAlternative):
3310 * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
3311 (DictationAlternative):
3313 * editing/DictationCommand.cpp: Added.
3315 (DictationCommandLineOperation):
3316 (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
3317 (WebCore::DictationCommandLineOperation::operator()):
3318 (DictationMarkerSupplier):
3319 (WebCore::DictationMarkerSupplier::create):
3320 (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
3321 (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
3322 (WebCore::DictationCommand::DictationCommand):
3323 (WebCore::DictationCommand::insertText):
3324 (WebCore::DictationCommand::doApply):
3325 (WebCore::DictationCommand::insertTextRunWithoutNewlines):
3326 (WebCore::DictationCommand::insertParagraphSeparator):
3327 (WebCore::DictationCommand::collectDictationAlternativesInRange):
3328 * editing/DictationCommand.h: Added.
3331 (WebCore::DictationCommand::isDictationCommand):
3332 (WebCore::DictationCommand::create):
3333 * editing/EditingAllInOne.cpp:
3334 * editing/Editor.cpp:
3335 (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
3337 (WebCore::Editor::insertTextWithoutSendingTextEvent):
3338 (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
3341 * editing/InsertTextCommand.cpp:
3342 (WebCore::InsertTextCommand::InsertTextCommand):
3344 (WebCore::InsertTextCommand::doApply):
3345 * editing/InsertTextCommand.h:
3347 (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
3348 (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
3349 (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
3350 (WebCore::InsertTextCommand::createWithMarkerSupplier):
3351 (InsertTextCommand):
3352 * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
3354 (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
3355 (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
3356 (WebCore::dispatchBeforeTextInsertedEvent):
3357 (WebCore::canAppendNewLineFeedToSelection):
3358 * editing/TextInsertionBaseCommand.h: Added.
3360 (TextInsertionBaseCommand):
3361 (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
3362 (WebCore::forEachLineInString):
3363 * editing/TypingCommand.cpp:
3364 (TypingCommandLineOperation):
3365 (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
3366 (WebCore::TypingCommandLineOperation::operator()):
3367 (WebCore::TypingCommand::TypingCommand):
3368 (WebCore::TypingCommand::insertText):
3369 (WebCore::TypingCommand::insertLineBreak):
3370 (WebCore::TypingCommand::insertParagraphSeparator):
3371 * editing/TypingCommand.h:
3372 * page/EventHandler.cpp:
3373 * rendering/InlineTextBox.cpp:
3374 (WebCore::lineStyleForMarkerType):
3375 (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
3376 (WebCore::InlineTextBox::paintDocumentMarkers):
3377 * rendering/InlineTextBox.h:
3379 * testing/Internals.cpp:
3380 (WebCore::markerTypesFrom):
3382 2012-04-15 James Robinson <jamesr@chromium.org>
3384 [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
3385 https://bugs.webkit.org/show_bug.cgi?id=83415
3387 Reviewed by Adrienne Walker.
3389 This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
3390 moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
3391 First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
3392 LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
3393 ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
3394 to the CCHeadsUpDisplay which takes ownership of the atlas.
3396 * platform/graphics/chromium/LayerRendererChromium.cpp:
3397 (WebCore::LayerRendererChromium::create):
3398 (WebCore::LayerRendererChromium::initialize):
3399 (WebCore::LayerRendererChromium::~LayerRendererChromium):
3400 (WebCore::LayerRendererChromium::beginDrawingFrame):
3401 (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
3403 (WebCore::LayerRendererChromium::finishDrawingFrame):
3404 (WebCore::LayerRendererChromium::swapBuffers):
3405 * platform/graphics/chromium/LayerRendererChromium.h:
3406 (LayerRendererChromiumClient):
3407 (LayerRendererChromium):
3408 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3409 (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
3410 (WebCore::CCHeadsUpDisplay::setFontAtlas):
3412 (WebCore::CCHeadsUpDisplay::enabled):
3413 (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
3414 (WebCore::CCHeadsUpDisplay::draw):
3415 (WebCore::CCHeadsUpDisplay::drawHudContents):
3416 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3418 (WebCore::CCHeadsUpDisplay::create):
3420 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3421 (WebCore::CCLayerTreeHost::initialize):
3422 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3424 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3425 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3426 (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
3427 (WebCore::CCLayerTreeHostImpl::canDraw):
3428 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3429 (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3430 (WebCore::CCLayerTreeHostImpl::drawLayers):
3431 (WebCore::CCLayerTreeHostImpl::swapBuffers):
3432 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3433 (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
3434 (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
3436 (WebCore::CCLayerTreeHostImpl::setFontAtlas):
3437 (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
3438 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3439 (CCLayerTreeHostImpl):
3440 (WebCore::CCLayerTreeHostImpl::rootLayer):
3441 * platform/graphics/chromium/cc/CCProxy.h:
3444 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3445 (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3446 (WebCore::CCSingleThreadProxy::recreateContext):
3447 (WebCore::CCSingleThreadProxy::setFontAtlas):
3449 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3450 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3451 (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
3452 (WebCore::CCThreadProxy::setFontAtlas):