1 2012-05-16 Martin Robinson <mrobinson@igalia.com>
3 Fix the indexed database build for GTK+.
5 * GNUmakefile.list.am: Add missing files to the build.
6 * bindings/gobject/GNUmakefile.am: Be smarter about filtering out deactivating indexed database.
7 * bindings/scripts/CodeGeneratorGObject.pm:
8 (SkipAttribute): Always skip attributes that return indexed database types.
10 2012-05-16 Jon Lee <jonlee@apple.com>
12 Animated GIFs in page cache get updated
13 https://bugs.webkit.org/show_bug.cgi?id=86668
14 <rdar://problem/11395549>
16 Reviewed by Brady Eidson.
18 Test: fast/loader/image-in-page-cache.html
20 * rendering/RenderImage.cpp:
21 (WebCore::RenderImage::imageChanged): When we are notified by the CachedImage that the image has
22 changed, we check to see if the document is in the page cache. If so, we should not be updating,
25 2012-05-16 Tim Horton <timothy_horton@apple.com>
27 Crash if SVG gradient stop has display: none set
28 https://bugs.webkit.org/show_bug.cgi?id=86686
29 <rdar://problem/10751905>
31 Reviewed by Dean Jackson.
33 Create a renderer for SVGStopElement regardless of the "display" property.
34 This matches the behavior of Opera and the SVG specification.
36 Test: svg/custom/gradient-stop-display-none-crash.svg
38 * svg/SVGStopElement.cpp:
39 (WebCore::SVGStopElement::rendererIsNeeded):
41 * svg/SVGStopElement.h:
44 2012-05-16 Dana Jansens <danakj@chromium.org>
46 [chromium] Clear the m_private pointer when destroying WebFilterOperations to avoid assert in WebPrivateOwnPtr
47 https://bugs.webkit.org/show_bug.cgi?id=86654
49 Reviewed by James Robinson.
51 * platform/chromium/support/WebFilterOperations.cpp:
52 (WebKit::WebFilterOperations::reset):
53 (WebKit::WebFilterOperations::destroy):
56 2012-05-16 Ryosuke Niwa <rniwa@webkit.org>
58 REGRESSION(r92823): WebKit strips font-weight: normal from b element when copying
59 https://bugs.webkit.org/show_bug.cgi?id=86663
61 Reviewed by Tony Chang.
63 The bug was caused by removeStyleFromRulesAndContext incorrectly stripping font-weight property
64 even when the context had no font-weight property because of a property name mismatch in getPropertiesNotIn.
68 Test: editing/pasteboard/paste-text-with-style-5.html
70 * editing/EditingStyle.cpp:
71 (WebCore::getPropertiesNotIn):
73 2012-05-16 Ryosuke Niwa <rniwa@webkit.org>
75 Merge nextRootInlineBox with nextLinePosition
76 https://bugs.webkit.org/show_bug.cgi?id=81593
78 Reviewed by Enrica Casucci.
80 Call previousRootInlineBox and nextRootInlineBox in previousLinePosition and nextLinePosition respectively
81 to share the code. Moved out the nullity check of startBox and extracted the renderer's node from the former
82 two, and added editableType to their argument lists to match the interface in both use cases.
84 Also moved out the code to extract root inline box using RenderedPosition from those two functions and
85 expanded in call sites since previousLinePosition and nextLinePosition need to return the candidate position
86 even when the root inline box doesn't exist. To this end, renamed previousRootInlineBox and nextRootInlineBox
87 to previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition respectively.
89 In addition, got rid of one version of nextLeafWithSameEditability that adjusted node with respect to offset
92 Node* child = node->childNode(offset);
93 node = child ? child->nextLeafNode() : node->lastDescendant()->nextLeafNode();
97 node = node->nextLeafNode();
99 at the beginning of the function. Observe that the former code is logically equivalent to:
101 Node* child = node->childNode(offset);
102 node = child ? child : node->lastDescendant();
103 node = node->nextLeafNode();
105 Thus, the first two lines of this logically equivalent code is added in nextLinePosition wherein we used to
106 call the removed variant.
108 This refactoring with no behavioral change would help us resolving the bug 81490.
110 * editing/visible_units.cpp:
111 (WebCore::previousRootInlineBoxCandidatePosition): Renamed from previousRootInlineBox.
112 (WebCore::nextRootInlineBoxCandidatePosition): Renamed from nextRootInlineBox.
113 (WebCore::logicallyPreviousBox): Checks the nullity of startBox's renderer and node. Also extracts the root
114 inline box out of the position per the interface change.
115 (WebCore::logicallyNextBox): Ditto.
116 (WebCore::previousLinePosition): Calls previousRootInlineBoxCandidatePosition.
117 (WebCore::nextLinePosition): Calls nextRootInlineBoxCandidatePosition.
119 2012-05-16 Noel Gordon <noel.gordon@gmail.com>
121 [chromium] Remove ImageDecoderCG.cpp from platform/image-decoders
122 https://bugs.webkit.org/show_bug.cgi?id=86346
124 Reviewed by Adam Barth.
126 ImageDecoderCG.cpp was added for use in the Chromium port in r70846. Remove the
127 implementation now that Chromium uses Skia on Mac OSX by default.
129 No new tests. No change in behavior.
131 * WebCore.gypi: Remove ImageDecoderCG.cpp from the gyp project.
132 * platform/graphics/ImageSource.h: Revert the r70846 changes.
133 * platform/image-decoders/ImageDecoder.cpp: Remove copyReferenceToBitmapData().
134 (WebCore::ImageFrame::operator=): Return to using copyBitmapData() (as it was)
135 given the removal of copyReferenceToBitmapData() above.
136 * platform/image-decoders/ImageDecoder.h:
137 (ImageFrame): Remove copyReferenceToBitmapData() declaration.
138 * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed, and it was the only
139 decoder with a port-specific implementation of copyReferenceToBitmapData().
141 2012-05-16 Raymond Toy <rtoy@google.com>
143 Simplify AudioNode ref-counting by removing RefTypeDisabled
144 https://bugs.webkit.org/show_bug.cgi?id=85681
146 Reviewed by Chris Rogers.
148 Existing tests should cover these changes.
150 * Modules/webaudio/AudioNode.cpp: Remove RefTypeDiabled and m_disabledRefCount.
151 (WebCore::AudioNode::AudioNode):
152 (WebCore::AudioNode::~AudioNode):
153 (WebCore::AudioNode::enableOutputsIfNecessary): New
154 (WebCore::AudioNode::ref):
155 (WebCore::AudioNode::disableOutputsIfNecessary): New
156 (WebCore::AudioNode::finishDeref):
157 * Modules/webaudio/AudioNode.h: Remove RefTypeDisabled and m_disabledRefCount.
158 * Modules/webaudio/AudioNodeInput.cpp: Removed uses of RefTypeDisbled.
159 (WebCore::AudioNodeInput::disconnect):
160 (WebCore::AudioNodeInput::disable):
161 (WebCore::AudioNodeInput::enable):
163 2012-05-16 Ojan Vafai <ojan@chromium.org>
165 Fix perf regression from r116487
166 https://bugs.webkit.org/show_bug.cgi?id=86680
168 Reviewed by Ryosuke Niwa.
170 http://trac.webkit.org/changeset/116487 caused a 6% regression on
171 Dromaeo's dom-attr test. The issue is that we invalidated NodeList
172 caches whenever an id/checked/type attribute changed.
174 First, we don't need to invalidate on checked/type since that only
175 affects the values return by NodeList items, not the list of items.
176 Second, we only need to invalidate NodeList caches when an id attribute
177 changes on a FormControlElement.
179 Incidentally, we also don't need to invalidate caches for changes
180 to attributes that don't have an ownerElement.
182 No new tests. This is strictly a performance improvement.
185 (WebCore::Attr::setValue):
186 (WebCore::Attr::childrenChanged):
188 (WebCore::Element::attributeChanged):
190 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
194 2012-04-22 Robert Hogan <robert@webkit.org>
196 CSS 2.1 failure: inline-table-001 fails
197 https://bugs.webkit.org/show_bug.cgi?id=84167
199 Reviewed by Julien Chaffraix.
201 Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline
202 of the text in the first row of the table. This allows inline tables to find the
203 correct baseline to align to.
206 css2.1/20110323/inline-table-001.htm
207 css2.1/20110323/inline-table-002a.htm
208 css2.1/20110323/inline-table-003.htm
209 fast/css/empty-cell-baseline.html
211 * rendering/RenderTable.cpp:
212 (WebCore::getLineBoxBaseline):
214 (WebCore::RenderTable::lastLineBoxBaseline):
215 (WebCore::RenderTable::firstLineBoxBaseline):
216 * rendering/RenderTable.h:
218 * rendering/RenderTableSection.cpp:
219 (WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a
220 baseline. Tested by fast/css/empty-cell-baseline.html
222 2012-05-16 Joshua Bell <jsbell@chromium.org>
224 IndexedDB: Rename valid/finished methods to isValid/isFinished to match coding standard
225 https://bugs.webkit.org/show_bug.cgi?id=86655
227 Reviewed by Tony Chang.
229 No new tests - no functional changes.
231 * Modules/indexeddb/IDBKey.h:
232 (WebCore::IDBKey::isValid): valid() => isValid()
233 * Modules/indexeddb/IDBObjectStore.cpp:
234 (WebCore::IDBObjectStore::deleteFunction):
235 (WebCore::IDBObjectStore::index):
236 (WebCore::IDBObjectStore::transactionFinished):
237 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
238 (WebCore::IDBObjectStoreBackendImpl::put):
239 (WebCore::IDBObjectStoreBackendImpl::putInternal):
240 (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
241 * Modules/indexeddb/IDBRequest.cpp:
242 (WebCore::IDBRequest::onSuccess):
243 * Modules/indexeddb/IDBTransaction.cpp:
244 (WebCore::IDBTransaction::isFinished): finished() => isFinished()
245 * Modules/indexeddb/IDBTransaction.h:
246 * inspector/InspectorIndexedDBAgent.cpp:
249 2012-05-16 Jeffrey Pfau <jpfau@apple.com>
251 ImageLoader can still dispatch beforeload events for ImageDocuments
252 https://bugs.webkit.org/show_bug.cgi?id=86658
253 <rdar://problem/11465863>
255 Reviewed by Brady Eidson.
257 Prevent flags regarding sending beforeload events from being set on ImageDocuments.
259 No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
261 * loader/ImageLoader.cpp:
262 (WebCore::ImageLoader::updateFromElement):
264 2012-05-16 Julien Chaffraix <jchaffraix@webkit.org>
266 layerX/layerY warning should be removed
267 https://bugs.webkit.org/show_bug.cgi?id=86264
269 Reviewed by James Robinson.
271 Covered by: fast/dom/Window/window-xy-properties.html
272 fast/events/init-events.html
273 fast/events/mouse-relative-position.html
274 fast/events/mouseclick-target-and-positioning.html
275 fast/events/simulated-click-coords.html
278 This change just removes the warning pending proper investigation.
280 Longer explanation: The layerX/layerY warning was added prematurely
281 as we didn't assess the web-compatibility potential breakage vs the
282 maintenance cost. There is also not readily available replacement.
284 * dom/MouseRelatedEvent.cpp:
285 (WebCore::MouseRelatedEvent::layerX):
286 (WebCore::MouseRelatedEvent::layerY):
288 (WebCore::UIEvent::layerX):
289 (WebCore::UIEvent::layerY):
291 Removed warnDeprecatedLayerXYUsage and all the associated calls.
293 2012-05-16 Joshua Bell <jsbell@chromium.org>
295 IndexedDB: Use accessors for backing store / database id in store/index backends
296 https://bugs.webkit.org/show_bug.cgi?id=86652
298 Reviewed by Tony Chang.
300 Hide the private members m_backingStore and m_databaseId of IDBObjectStoreBackendImpl
301 and IDBIndexBackendImpl behind accessors. This is preparation for removing these
302 members and only holding references to the IDBDatabaseBackendImpl: webkit.org/b/83074
304 No new tests - no functional changes.
306 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
307 (WebCore::IDBIndexBackendImpl::openCursorInternal):
308 (WebCore::IDBIndexBackendImpl::countInternal):
309 (WebCore::IDBIndexBackendImpl::getInternal):
310 (WebCore::IDBIndexBackendImpl::getByRangeInternal):
311 (WebCore::IDBIndexBackendImpl::getKeyInternal):
312 (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
313 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
314 * Modules/indexeddb/IDBIndexBackendImpl.h:
315 (WebCore::IDBIndexBackendImpl::backingStore): Added.
316 (WebCore::IDBIndexBackendImpl::databaseId): Added.
317 (IDBIndexBackendImpl):
318 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
319 (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
320 (WebCore::IDBObjectStoreBackendImpl::getInternal):
321 (WebCore::IDBObjectStoreBackendImpl::putInternal):
322 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
323 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
325 (WebCore::IDBObjectStoreBackendImpl::createIndex):
326 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
327 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
328 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
329 (WebCore::IDBObjectStoreBackendImpl::countInternal):
330 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
331 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
332 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
333 (WebCore::IDBObjectStoreBackendImpl::backingStore): Added.
334 (WebCore::IDBObjectStoreBackendImpl::databaseId): Added.
335 (IDBObjectStoreBackendImpl):
337 2012-05-15 Peter Kasting <pkasting@google.com>
339 Malformed GIF can cause decoder to read off end of heap buffer
340 https://bugs.webkit.org/show_bug.cgi?id=86531
342 Reviewed by Adam Barth.
344 Test: fast/images/read-past-end-of-buffer.html
345 This test is only expected to catch problems if run under Address
346 Sanitizer or a similar memory-checking utility.
348 * platform/image-decoders/gif/GIFImageReader.cpp:
349 (GIFImageReader::read):
351 2012-05-16 Varun Jain <varunjain@google.com>
353 [chromium] No modifier flags (shift/ctrl/alt) in drag&drop events on chromium linux
354 https://bugs.webkit.org/show_bug.cgi?id=86236
356 Reviewed by Tony Chang.
358 ManualTests: ManualTests/chromium/modifiers-during-drag-and-drop.html
360 * page/DragController.cpp:
361 (WebCore::createMouseEvent):
362 * platform/DragData.cpp:
364 (WebCore::DragData::modifierKeyState):
365 * platform/DragData.h:
367 * platform/chromium/ChromiumDataObject.cpp:
368 (WebCore::ChromiumDataObject::ChromiumDataObject):
369 * platform/chromium/ChromiumDataObject.h:
370 (WebCore::ChromiumDataObject::modifierKeyState):
371 (WebCore::ChromiumDataObject::setModifierKeyState):
372 (ChromiumDataObject):
373 * platform/chromium/DragDataChromium.cpp:
374 (WebCore::DragData::modifierKeyState):
377 2012-05-16 Jer Noble <jer.noble@apple.com>
379 <video> elements with no video tracks report false for webkitSupportsFullscreen.
380 https://bugs.webkit.org/show_bug.cgi?id=86650
382 Reviewed by Eric Carlson.
384 No new tests; updated media/media-fullscreen-inline.html.
386 With the new Full Screen API, the restriction that only video elements with
387 video tracks can enter full screen seems arbitrary. Some media types will
388 occasionally determine they have video tracks long after loadedmetadata, which
389 breaks websites who check for webkitSupportsFullscreen(). Relax the restriction
390 on webkitSupportsFullscreen() for ports where the Full Screen API is enabled and
391 supported so as to no longer require hasVideo().
393 * html/HTMLVideoElement.cpp:
394 (WebCore::HTMLVideoElement::supportsFullscreen):
396 2012-05-16 Andreas Kling <kling@webkit.org>
398 Avoid reparsing the style attribute when cloning elements.
399 <http://webkit.org/b/86574>
401 Reviewed by Antti Koivisto.
403 Refactor cloning of attributes a bit to dodge the styleAttr reparse previously
404 caused by ElementAttributeData::setAttributes().
406 Introduced Element::cloneDataFromElement() which takes care of cloning the
407 ElementAttributeData as well as "non-attribute properties" (which is currently
408 specific to HTMLInputElement.)
410 Also includes some additional dodging of attribute vector traversal to find
411 old/new 'id' and 'name' attributes.
413 I'm seeing a ~10% improvement on PerformanceTests/DOM/CloneNodes locally.
416 (WebCore::Document::importNode):
418 (WebCore::Element::cloneElementWithoutChildren):
419 (WebCore::Element::cloneAttributesFromElement):
420 (WebCore::Element::cloneDataFromElement):
422 (WebCore::Element::copyNonAttributePropertiesFromElement):
423 * dom/ElementAttributeData.cpp:
424 (WebCore::ElementAttributeData::cloneDataFrom):
425 * dom/ElementAttributeData.h:
426 (ElementAttributeData):
428 * dom/StyledElement.cpp:
429 (WebCore::StyledElement::styleAttributeChanged):
430 (WebCore::StyledElement::parseAttribute):
431 * dom/StyledElement.h:
432 * editing/ReplaceNodeWithSpanCommand.cpp:
433 (WebCore::swapInNodePreservingAttributesAndChildren):
434 * html/HTMLElement.cpp:
435 * html/HTMLInputElement.cpp:
436 (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
437 * html/HTMLInputElement.h:
438 * inspector/DOMPatchSupport.cpp:
439 (WebCore::DOMPatchSupport::innerPatchNode):
440 * inspector/InspectorDOMAgent.cpp:
441 (WebCore::InspectorDOMAgent::setNodeName):
442 * svg/SVGUseElement.cpp:
443 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
444 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
446 2012-05-16 Brent Fulgham <bfulgham@webkit.org>
448 [WinCairo] Unreviewed build change after r115385. Several Cairo
449 image routines were modified to use new wrapper classes, but the
450 relevant WinCairo sources were not updated to match.
452 * WebCore.vcproj/WebCore.vcproj:
453 * platform/graphics/win/ImageCairoWin.cpp:
454 (WebCore::BitmapImage::create):
455 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
456 * platform/win/DragImageCairoWin.cpp:
457 (WebCore::createDragImageFromImage):
459 2012-05-16 Tim Horton <timothy_horton@apple.com>
461 Scrollbar layers should respect accelerated drawing setting
462 https://bugs.webkit.org/show_bug.cgi?id=86644
463 <rdar://problem/11462038>
465 Reviewed by Simon Fraser.
467 When creating scrollbar layers, pass through the accelerated drawing setting.
471 * rendering/RenderLayerCompositor.cpp:
472 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
474 2012-05-16 Tim Horton <timothy_horton@apple.com>
476 FrameView::scrollContentsFastPath should use painted area to determine whether to drop out of the fast path
477 https://bugs.webkit.org/show_bug.cgi?id=86651
478 <rdar://problem/11459243>
480 Reviewed by Simon Fraser.
482 Previously, we decided to fall out of the fast scrolling path by the number of fixed-position elements
483 on the page. This was less than ideal if a single fixed position element took up a significant portion
484 of the page, or if there were many small, cheap-to-paint fixed elements.
486 Instead, we should use the fast path if less than 50% of the page will be repainted by fixed-position
487 elements, and otherwise fall back to the slow path.
489 I've tested a few different thresholds with an internal test; 50% seems to work relatively well,
490 but the ideal value is hard to determine and likely depends on hardware.
492 No new tests, performance improvement with few large fixed-position objects or many small ones.
494 * page/FrameView.cpp:
495 (WebCore::FrameView::scrollContentsFastPath):
497 2012-05-16 David Reveman <reveman@chromium.org>
499 [Chromium] Use ThrottledTextureUploader with threaded compositing.
500 https://bugs.webkit.org/show_bug.cgi?id=85848
502 Reviewed by Adrienne Walker.
504 Switch to ThrottledUploader in CCThreadProxy.
506 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
508 2012-05-15 Emil A Eklund <eae@chromium.org>
510 Change ascents and descent back to ints for now
511 https://bugs.webkit.org/show_bug.cgi?id=86518
513 Reviewed by Eric Seidel.
515 Change ascents and descent calculation back to integers for now as it
516 looks like we'll need to support both the 1/60 and 1/1 implementations of
517 FractionalLayoutUnit for the immediate future to ensure that text is
518 rendered at the same offset and with the height regardless of the
519 ENABLE_SUBPIXEL_LAYOUT flag.
521 This ensures that most websites will look the same at 100% zoom
522 regardless of the flag and also allows us to the same test expectations
523 for the vast majority of layout tests.
525 Eventually we want to move those back to FractionalLayoutUnits as that
526 will result in more correct rendering.
528 No new tests, no change in functionality.
530 * rendering/InlineFlowBox.cpp:
531 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
532 * rendering/RootInlineBox.cpp:
533 (WebCore::setAscentAndDescent):
534 (WebCore::RootInlineBox::ascentAndDescentForBox):
535 * rendering/RootInlineBox.h:
538 2012-05-16 Ken Buchanan <kenrb@chromium.org>
540 Crash due to first-letter not getting computed on RenderTableCell
541 https://bugs.webkit.org/show_bug.cgi?id=86133
543 Reviewed by Abhishek Arya.
545 RenderTableCell overrides RenderBlock::layout() but doesn't call
546 updateFirstLetter() in it. This is normally not a problem because
547 updateFirstLetter() gets called during preferred logical width
548 computation, but there exist rare occasions when layout of the table
549 cell happens without preferred logical widths being dirty, in which
550 case the first-letter update can be skipped.
552 This patch adds a call to updateFirstLetter() to
553 RenderTableCell::layout(). This ensures that the first-letter is up
554 to date before commencing block layout.
556 * rendering/RenderTableCell.cpp:
557 (WebCore::RenderTableCell::layout)
559 2012-05-16 Mikhail Naganov <mnaganov@chromium.org>
561 Avoid jumpscroll when entering new text in a multi-line editor.
562 https://bugs.webkit.org/show_bug.cgi?id=82875
564 Reviewed by Ryosuke Niwa.
566 Scroll caret to the edge of the viewport in case if a line break or a paragraph
567 separator is inserted at the end of a multi-line editor. This avoids
568 undesirable jumpscroll in cases when there is content under the editor.
570 Tests: editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable.html
571 editing/input/scroll-to-edge-if-line-break-at-end-of-document-textarea.html
572 editing/input/scroll-to-edge-if-paragraph-separator-at-end-of-document-contenteditable.html
574 * editing/Editor.cpp:
575 (WebCore::Editor::insertLineBreak):
576 (WebCore::Editor::insertParagraphSeparator):
577 (WebCore::Editor::revealSelectionAfterEditingOperation):
581 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
583 Web Inspector: Pressing esc after requesting snippet creation should remove snippet.
584 https://bugs.webkit.org/show_bug.cgi?id=86639
586 Reviewed by Pavel Feldman.
588 Added committed parameter to NavigatorView.rename() callback.
590 * inspector/front-end/NavigatorView.js:
591 (WebInspector.NavigatorView.prototype.rename.commitHandler):
592 (WebInspector.NavigatorView.prototype.rename.cancelHandler):
593 (WebInspector.NavigatorView.prototype.rename.afterEditing):
594 * inspector/front-end/ScriptsNavigator.js:
595 * inspector/front-end/ScriptsPanel.js:
596 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
597 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
599 2012-05-16 Abhishek Arya <inferno@chromium.org>
601 Missing RenderApplet cast check in HTMLAppletElement::renderWidgetForJSBindings.
602 https://bugs.webkit.org/show_bug.cgi?id=86627
604 Reviewed by Andreas Kling.
606 Test: java/inline-applet-crash.html
608 * html/HTMLAppletElement.cpp:
609 (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
611 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
613 Web Inspector: extract CompositeUISourceCodeProvider from DebuggerScriptMapping.
614 https://bugs.webkit.org/show_bug.cgi?id=86634
616 Reviewed by Vsevolod Vlasov.
620 * inspector/front-end/DebuggerScriptMapping.js:
621 (WebInspector.DebuggerScriptMapping):
622 (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodeProviders):
623 (WebInspector.DebuggerScriptMapping.prototype._parsedScriptSource):
624 * inspector/front-end/ScriptsPanel.js:
625 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
626 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
627 (WebInspector.CompositeUISourceCodeProvider):
628 (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
629 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
630 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
631 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
632 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
633 * inspector/front-end/UISourceCode.js:
634 (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
635 (WebInspector.UISourceCodeProvider.prototype.addEventListener):
636 (WebInspector.UISourceCodeProvider.prototype.removeEventListener):
638 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
640 Web Inspector: Double Clicking on "No watch expressions" should add an expression
641 https://bugs.webkit.org/show_bug.cgi?id=86631
643 Reviewed by Vsevolod Vlasov.
645 A double-click listener for the section element adds a new watch expression if the correct element
647 Drive-by: do not persist deleted (null) watch expressions.
649 * inspector/front-end/WatchExpressionsSidebarPane.js:
650 (WebInspector.WatchExpressionsSection.prototype._sectionDoubleClick):
651 (WebInspector.WatchExpressionsSection.prototype.updateExpression):
653 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
655 Web Inspector: Support script snippets saving.
656 https://bugs.webkit.org/show_bug.cgi?id=86632
658 Reviewed by Pavel Feldman.
660 Added SnippetJavaScriptSource extending JavaScriptSource and overriding isEditable() and commitWorkingCopy() methods.
661 ScriptSnippetModel now creates instances of this new class for snippets.
662 Also maps in ScriptSnippetModel simplified.
664 * inspector/front-end/JavaScriptSource.js:
665 (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
667 * inspector/front-end/JavaScriptSourceFrame.js:
668 (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
669 * inspector/front-end/ScriptSnippetModel.js:
670 (WebInspector.ScriptSnippetModel):
671 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
672 (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
673 (WebInspector.ScriptSnippetModel.prototype.renameScriptSnippet):
674 (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
675 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
676 (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
677 (WebInspector.SnippetJavaScriptSource):
678 (WebInspector.SnippetJavaScriptSource.prototype.isEditable):
679 (WebInspector.SnippetJavaScriptSource.prototype.commitWorkingCopy):
680 (WebInspector.SnippetJavaScriptSource.prototype.get snippetId):
681 * inspector/front-end/ScriptsPanel.js:
682 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
683 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
684 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
686 2012-05-16 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
688 [EFL] Memory leak in RenderThemeEfl
689 https://bugs.webkit.org/show_bug.cgi?id=86609
691 Reviewed by Martin Robinson.
693 Fix a memory leak by freeing the cairo surface with
694 cairo_surface_destroy.
696 * platform/efl/RenderThemeEfl.cpp:
697 (WebCore::RenderThemeEfl::cacheThemePartFlush):
699 2012-05-16 Alexei Filippov <alexeif@chromium.org>
701 Web Inspector: Speedup heap snapshot postprocessing
702 https://bugs.webkit.org/show_bug.cgi?id=86635
704 Reviewed by Yury Semikhatsky.
706 * inspector/front-end/HeapSnapshot.js:
707 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
709 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
711 Unreviewed, followup for r117273 that fixes the Web Inspector's Computed Style pane layout.
713 * inspector/front-end/elementsPanel.css:
714 (.styles-section.computed-style.expanded .properties > li):
715 (.styles-section.computed-style.expanded .properties > li .webkit-css-property):
717 2012-05-16 Andrey Kosyakov <caseq@chromium.org>
719 Web Inspector: [Extensions API] expose evaluateOptions in audit formatters
720 https://bugs.webkit.org/show_bug.cgi?id=86617
722 Reviewed by Pavel Feldman.
724 Test: inspector/extensions/extensions-audits-content-script.html
726 - apply extension-specific audit formatters earlier (in ExtensionAduitCategory, not along with the rest in AuditFormatters);
727 - use ExtensionServer.evaluate() to handle evaluateOptions instead of PageAgent.evaluate();
729 * inspector/front-end/AuditFormatters.js: Move node and object formatters to ExtensionAuditCategory.
730 (WebInspector.partiallyApplyFormatters): Added a method to traverse formatters tree and apply formatters that are passed as input.
731 * inspector/front-end/ExtensionAuditCategory.js:
732 (WebInspector.ExtensionAuditCategory): Pass extensionOrigin.
733 (WebInspector.ExtensionAuditCategoryResults.prototype._addNode): Apply extensions formatters before adding the result.
734 (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
735 (WebInspector.ExtensionAuditCategoryResults.prototype.evaluate): moved from AuditFormatters.
736 (WebInspector.ExtensionAuditFormatters.object.onEvaluate):
737 (WebInspector.ExtensionAuditFormatters.object):
738 (WebInspector.ExtensionAuditFormatters.node.onNodeAvailable):
739 (WebInspector.ExtensionAuditFormatters.node.onEvaluate):
740 (WebInspector.ExtensionAuditFormatters.node):
741 * inspector/front-end/ExtensionServer.js:
742 (WebInspector.ExtensionServer.prototype._onAddAuditCategory): Plumb extensionOrigin through to audit category.
744 2012-05-16 Donald Carr <donald.carr@nokia.com>
746 Fixes the build with Qt 5 HEAD
748 Reviewed by Csaba Osztrogonác.
751 * platform/graphics/texmap/TextureMapperGL.cpp:
752 * plugins/qt/PluginViewQt.cpp:
754 2012-05-16 Rob Buis <rbuis@rim.com>
756 SVGSVGElement checkIntersection and checkEnclosure Mem corruption
757 https://bugs.webkit.org/show_bug.cgi?id=67923
759 Reviewed by Nikolas Zimmermann.
761 Only call checkIntersection/checkEnclosure when we have a valid renderer.
763 Test: svg/custom/intersection-list-null.svg
765 * svg/SVGSVGElement.cpp:
766 (WebCore::SVGSVGElement::checkIntersection):
767 (WebCore::SVGSVGElement::checkEnclosure):
769 2012-05-16 Simon Hausmann <simon.hausmann@nokia.com>
771 Unreviewed, rolling out r110699.
772 http://trac.webkit.org/changeset/110699
773 https://bugs.webkit.org/show_bug.cgi?id=80982
775 Not needed anymore and broke modal event loops
777 * platform/qt/RunLoopQt.cpp:
778 (WebCore::RunLoop::TimerObject::TimerObject):
779 (WebCore::RunLoop::TimerObject::performWork):
780 (RunLoop::TimerObject):
782 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
784 Web Inspector: split ScriptMapping into UISourceCodeProvider and SourceMapping.
785 https://bugs.webkit.org/show_bug.cgi?id=86616
787 Reviewed by Vsevolod Vlasov.
789 This change simply splits the interface.
792 * WebCore.vcproj/WebCore.vcproj:
793 * inspector/compile-front-end.py:
794 * inspector/front-end/CompilerScriptMapping.js:
795 (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodes):
796 (WebInspector.CompilerScriptMapping.prototype.reset):
797 * inspector/front-end/DebuggerModel.js:
798 * inspector/front-end/DebuggerResourceBinding.js:
799 (WebInspector.DebuggerResourceBinding):
800 (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
801 * inspector/front-end/DebuggerScriptMapping.js:
802 (WebInspector.DebuggerScriptMapping):
803 (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodes):
804 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
805 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
806 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
807 * inspector/front-end/FilteredItemSelectionDialog.js:
808 (WebInspector.OpenScriptDialog):
809 (WebInspector.OpenScriptDialog.install):
810 (WebInspector.OpenScriptDialog._show):
811 * inspector/front-end/PresentationConsoleMessageHelper.js:
812 (WebInspector.PresentationConsoleMessageHelper):
813 (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
814 * inspector/front-end/ResourceScriptMapping.js:
815 (WebInspector.ResourceScriptMapping.prototype.uiSourceCodes):
816 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
817 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
818 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
819 * inspector/front-end/Script.js:
820 * inspector/front-end/ScriptSnippetModel.js:
821 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodes):
822 (WebInspector.SnippetScriptMapping.prototype.uiSourceCodes):
823 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
824 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
825 * inspector/front-end/ScriptsPanel.js:
826 * inspector/front-end/ScriptsSearchScope.js:
827 (WebInspector.ScriptsSearchScope):
828 (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
829 * inspector/front-end/SourceMapping.js: Renamed from Source/WebCore/inspector/front-end/ScriptMapping.js.
830 * inspector/front-end/UISourceCode.js:
831 (WebInspector.UISourceCodeProvider):
832 (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
833 (WebInspector.UILocation):
834 (WebInspector.UILocation.prototype.uiLocationToRawLocation):
835 * inspector/front-end/WebKit.qrc:
836 * inspector/front-end/inspector.html:
838 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
840 Web Inspector: Implement snippet creation/renaming in ScriptsNavigator.
841 https://bugs.webkit.org/show_bug.cgi?id=82622
843 Reviewed by Pavel Feldman.
845 Implemented snippet creation and renaming.
846 Added TitleChanged event to UISourceCode.
848 * inspector/front-end/NavigatorOverlayController.js:
849 (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
850 (WebInspector.NavigatorOverlayController.prototype.isNavigatorPinned):
851 (WebInspector.NavigatorOverlayController.prototype.isNavigatorHidden):
852 * inspector/front-end/NavigatorView.js:
853 (WebInspector.NavigatorView.prototype._uiSourceCodeTitleChanged):
854 (WebInspector.NavigatorView.prototype._updateScriptTitle):
855 (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
856 (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
857 (WebInspector.NavigatorView.prototype._fileRenamed):
858 (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
859 * inspector/front-end/ScriptSnippetModel.js:
860 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
861 * inspector/front-end/ScriptsNavigator.js:
862 (WebInspector.ScriptsNavigator):
863 (WebInspector.ScriptsNavigator.prototype._snippetsNavigatorViewForUISourceCode):
864 (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
865 (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
866 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
867 (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
868 (WebInspector.ScriptsNavigator.prototype.rename):
869 (WebInspector.ScriptsNavigator.prototype._fileRenamed):
870 (WebInspector.ScriptsNavigator.prototype._snippetCreationRequested):
871 (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
872 (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
873 * inspector/front-end/ScriptsPanel.js:
874 (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
875 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
876 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
877 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
878 * inspector/front-end/TabbedEditorContainer.js:
879 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
880 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
881 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeTitleChanged):
882 * inspector/front-end/UISourceCode.js:
883 (WebInspector.UISourceCode.prototype.urlChanged):
885 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
887 Web Inspector: gradient properties are painful to inspect / author.
888 https://bugs.webkit.org/show_bug.cgi?id=86379
890 Reviewed by Pavel Feldman.
892 The CSS styles layout has been changed to allow property values to wrap onto subsequent lines
893 to let the users see the entire value text.
895 * inspector/front-end/StylesSidebarPane.js:
896 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): Avoid line breaks between the color swatch and value.
897 * inspector/front-end/elementsPanel.css:
898 (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
899 (.styles-section .properties li):
900 (.styles-section .properties li .webkit-css-property):
901 (.styles-section.expanded .properties > li):
902 (.styles-section .properties > li .webkit-css-property):
903 (.styles-section .properties > li.child-editing):
904 (.styles-section .properties > li.child-editing .webkit-css-property):
905 (.styles-section .properties .enabled-button):
907 2012-05-16 Yury Semikhatsky <yurys@chromium.org>
909 Web Inspector: rename ProfileView.js to CPUProfileView.js
910 https://bugs.webkit.org/show_bug.cgi?id=86612
912 Reviewed by Pavel Feldman.
914 Renamed ProfileView.js to CPUProfileView.js to match the file content.
917 * WebCore.vcproj/WebCore.vcproj:
918 * inspector/compile-front-end.py:
919 * inspector/front-end/CPUProfileView.js: Renamed from Source/WebCore/inspector/front-end/ProfileView.js.
920 (WebInspector.CPUProfileView.profileCallback):
921 (WebInspector.CPUProfileView.prototype.get statusBarItems):
922 (WebInspector.CPUProfileView.prototype.get profile):
923 (WebInspector.CPUProfileView.prototype.set profile):
924 (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
925 (WebInspector.CPUProfileView.prototype.get topDownProfileDataGridTree):
926 (WebInspector.CPUProfileView.prototype.get currentTree):
927 (WebInspector.CPUProfileView.prototype.set currentTree):
928 (WebInspector.CPUProfileView.prototype.willHide):
929 (WebInspector.CPUProfileView.prototype.refresh):
930 (WebInspector.CPUProfileView.prototype.refreshVisibleData):
931 (WebInspector.CPUProfileView.prototype.refreshShowAsPercents):
932 (WebInspector.CPUProfileView.prototype.searchCanceled):
933 (WebInspector.CPUProfileView.prototype.performSearch.matchesQuery):
934 (WebInspector.CPUProfileView.prototype.performSearch):
935 (WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult):
936 (WebInspector.CPUProfileView.prototype.jumpToLastSearchResult):
937 (WebInspector.CPUProfileView.prototype.jumpToNextSearchResult):
938 (WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult):
939 (WebInspector.CPUProfileView.prototype.showingFirstSearchResult):
940 (WebInspector.CPUProfileView.prototype.showingLastSearchResult):
941 (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
942 (WebInspector.CPUProfileView.prototype._changeView.set else):
943 (WebInspector.CPUProfileView.prototype._focusClicked):
944 (WebInspector.CPUProfileView.prototype._excludeClicked):
945 (WebInspector.CPUProfileView.prototype._resetClicked):
946 (WebInspector.CPUProfileView.prototype._dataGridNodeSelected):
947 (WebInspector.CPUProfileView.prototype._dataGridNodeDeselected):
948 (WebInspector.CPUProfileView.prototype._sortProfile):
949 (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
950 (WebInspector.CPUProfileType):
951 (WebInspector.CPUProfileType.prototype.get buttonTooltip):
952 (WebInspector.CPUProfileType.prototype.buttonClicked):
953 (WebInspector.CPUProfileType.prototype.get treeItemTitle):
954 (WebInspector.CPUProfileType.prototype.get description):
955 (WebInspector.CPUProfileType.prototype.isRecordingProfile):
956 (WebInspector.CPUProfileType.prototype.startRecordingProfile):
957 (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
958 (WebInspector.CPUProfileType.prototype.setRecordingProfile):
959 (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
960 (WebInspector.CPUProfileType.prototype.createView):
961 (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
962 (WebInspector.CPUProfileType.prototype.createProfile):
963 * inspector/front-end/HeapSnapshotView.js:
964 (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
965 * inspector/front-end/WebKit.qrc:
966 * inspector/front-end/inspector.html:
968 2012-05-16 Arpita Bahuguna <arpitabahuguna@gmail.com>
970 "border: collapse" + "display: none" rows in the tbody while having thead or tfoot doesn't render the opposite border
971 https://bugs.webkit.org/show_bug.cgi?id=67877
973 Reviewed by Antti Koivisto.
975 Test: fast/css/table-collapsed-borders.html
977 * rendering/RenderTableCell.cpp:
978 (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
979 When getting the previous row group's after border, pass SkipEmptySections as the second param
980 to the RenderTable::sectionAbove() call. Thus if the currSection is the top most section of the
981 table passing SkipEmptySections to sectionAbove() would return null which should be the expected
984 (WebCore::RenderTableCell::computeCollapsedAfterBorder):
985 When getting the following row group's before border, pass SkipEmptySections as the second param
986 to the RenderTable::sectionBelow() call. Thus if the currSection is the bottom most section of the
987 table passing SkipEmptySections to sectionBelow() would return null which should be the expected
990 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
992 Web Inspector: follow up to r117267 - fixing typo and removing unnecessary dispatch.
993 https://bugs.webkit.org/show_bug.cgi?id=86613
995 Reviewed by Vsevolod Vlasov.
997 * inspector/front-end/ResourceScriptMapping.js:
998 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
999 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
1001 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
1003 Web Inspector: Move edit/save script source logic to JavaScriptSource.
1004 https://bugs.webkit.org/show_bug.cgi?id=86604
1006 Reviewed by Pavel Feldman.
1008 Added working copy notion to UISourceCode.
1009 Moved DebuggerResourceBinding content edit calls to JavaScriptSource.
1010 Added WorkingCopyChanged event to UISourceCode.
1012 * inspector/front-end/CompilerScriptMapping.js:
1013 * inspector/front-end/DebuggerResourceBinding.js:
1014 (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
1015 * inspector/front-end/JavaScriptSource.js:
1016 (WebInspector.JavaScriptSource):
1017 (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
1018 (WebInspector.JavaScriptSource.prototype.isEditable):
1019 (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
1021 * inspector/front-end/JavaScriptSourceFrame.js:
1022 (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
1023 (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
1024 (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1025 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1026 (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1027 (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1028 (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1029 * inspector/front-end/NavigatorView.js:
1030 (WebInspector.NavigatorView.prototype._uiSourceCodeWorkingCopyChanged):
1031 (WebInspector.NavigatorView.prototype._uiSourceCodeContentChanged):
1032 (WebInspector.NavigatorView.prototype._updateScriptTitle):
1033 (WebInspector.NavigatorView.prototype._removeUISourceCode):
1034 (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
1035 (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
1036 (WebInspector.NavigatorView.prototype.reset):
1037 * inspector/front-end/RawSourceCode.js:
1038 (WebInspector.RawSourceCode.prototype._createUISourceCode):
1039 * inspector/front-end/ScriptSnippetModel.js:
1040 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1041 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1042 * inspector/front-end/ScriptsPanel.js:
1043 * inspector/front-end/TabbedEditorContainer.js:
1044 (WebInspector.TabbedEditorContainer):
1045 (WebInspector.TabbedEditorContainer.prototype._titleForFile):
1046 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1047 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1048 (WebInspector.TabbedEditorContainer.prototype._updateFileTitle.get if):
1049 (WebInspector.TabbedEditorContainer.prototype._updateFileTitle):
1050 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeWorkingCopyChanged):
1051 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeContentChanged):
1052 * inspector/front-end/UISourceCode.js:
1053 (WebInspector.UISourceCode):
1054 (WebInspector.UISourceCode.prototype.contentChanged):
1055 (WebInspector.UISourceCode.prototype.isEditable):
1056 (WebInspector.UISourceCode.prototype.workingCopy):
1057 (WebInspector.UISourceCode.prototype.setWorkingCopy):
1058 (WebInspector.UISourceCode.prototype.isDirty):
1059 (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1061 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
1063 Web Inspector: get rid of UISourceCodeListChanged event.
1064 https://bugs.webkit.org/show_bug.cgi?id=86601
1066 Reviewed by Vsevolod Vlasov.
1068 There was unnecessary conversion between this event and UISourceCodeAdded/Removed/Replaced.
1070 * inspector/front-end/CompilerScriptMapping.js:
1071 (WebInspector.CompilerScriptMapping.prototype.reset):
1072 * inspector/front-end/DebuggerScriptMapping.js:
1073 (WebInspector.DebuggerScriptMapping):
1074 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
1075 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
1076 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
1077 * inspector/front-end/NavigatorView.js:
1078 * inspector/front-end/ResourceScriptMapping.js:
1079 (WebInspector.ResourceScriptMapping.prototype.addScript):
1080 (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
1081 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
1082 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
1083 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
1084 (WebInspector.ResourceScriptMapping.prototype.reset):
1085 * inspector/front-end/ScriptMapping.js:
1086 * inspector/front-end/ScriptSnippetModel.js:
1087 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1088 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1089 (WebInspector.ScriptSnippetModel.prototype._reset):
1090 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
1091 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
1092 * inspector/front-end/ScriptsNavigator.js:
1093 (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
1094 * inspector/front-end/ScriptsPanel.js:
1095 (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1096 * inspector/front-end/TabbedEditorContainer.js:
1098 2012-05-16 Keishi Hattori <keishi@webkit.org>
1100 [chromium] Add WebKit API to access inner text value of input element
1101 https://bugs.webkit.org/show_bug.cgi?id=85353
1103 Reviewed by Kent Tamura.
1105 Test: fast/forms/editing-value.html
1107 We need this to implement the datalist UI for <input type=email multiple>.
1108 HTMLInputElement.value gives you the sanitized value so the whitespace between values are trimmed.
1109 We need to append the selected suggestion to the end without modifying the rest of the text.
1111 * WebCore.exp.in: Added HTMLInputElement::setEditingValue
1112 * html/HTMLInputElement.cpp:
1113 (WebCore::HTMLInputElement::setEditingValue):
1115 * html/HTMLInputElement.h:
1117 * testing/Internals.cpp:
1118 (WebCore::Internals::setEditingValue):
1120 * testing/Internals.h:
1122 * testing/Internals.idl:
1124 2012-05-16 Jason Liu <jason.liu@torchmobile.com.cn>
1126 [BlackBerry] Cookies should be checked during parsing to improve performance.
1127 https://bugs.webkit.org/show_bug.cgi?id=85028
1129 Reviewed by George Staikos.
1131 We shouldn't waste time and memery on invalid cookies. It is better to drop them during parsing.
1132 We shouldn't check the default domain since it is set with host. So we only check domains which are parsed
1133 from response headers.
1135 No new tests. No functionality change.
1137 * platform/blackberry/CookieManager.cpp:
1138 (WebCore::CookieManager::setCookies):
1139 * platform/blackberry/CookieManager.h:
1140 * platform/blackberry/CookieParser.cpp:
1141 (WebCore::CookieParser::parseOneCookie):
1143 2012-05-15 Pierre Rossi <pierre.rossi@gmail.com>
1145 [Qt] Enable SVG Fonts by default
1146 https://bugs.webkit.org/show_bug.cgi?id=86463
1148 Reviewed by Nikolas Zimmermann.
1150 Another feature we can get for free after switching to using
1151 the font fast path with QRawFont.
1152 It will get disabled in features.prf if either SVG support is
1153 disabled or if we are not using QRawFont (e.g. for Qt 4).
1155 Covered by a series of tests that were skipped for the
1156 Qt port up until now.
1158 * platform/graphics/qt/FontPlatformData.h:
1159 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
1160 Initialize the platform data used as fallback in conjunction with SVG
1161 fonts so it will honor size, weight and oblique-ness.
1162 * rendering/svg/SVGTextMetricsBuilder.cpp: Avoid forcing the complex path.
1163 (WebCore::SVGTextMetricsBuilder::advance):
1164 (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
1165 (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
1166 * svg/SVGFontElement.cpp:
1167 (WebCore::SVGFontElement::ensureGlyphCache): avoid ambiguity with String(const QString&)
1169 2012-05-16 Kenichi Ishibashi <bashi@chromium.org>
1171 [Chromium] WebTransformationMatrixTest.verifyDefaultConstructorCreatesIdentityMatrix is failing
1172 https://bugs.webkit.org/show_bug.cgi?id=86589
1174 Reviewed by Kent Tamura.
1176 Need to call m_private.reset(0) before destructing WebTransformationMatrix objects.
1178 No new tests. WebTransformationMatrixTest should pass on debug build.
1180 * platform/chromium/support/WebTransformationMatrix.cpp:
1181 (WebKit::WebTransformationMatrix::~WebTransformationMatrix):
1184 2012-05-16 Shinya Kawanaka <shinyak@chromium.org>
1186 ShadowRoot.selection should return the seleciton whose range is in a shadow tree.
1187 https://bugs.webkit.org/show_bug.cgi?id=82698
1189 Reviewed by Ryosuke Niwa.
1191 The selection object returned from shadowRoot.selection should be able to see
1192 the inner object of the shadowRoot.
1194 In the previous code, the node out of the shadow subtree was returned for
1195 anchorNode, focusNode, baseNode, and extentNode. This patch enables us to get
1196 the corresponding shadow ancestor in the specified TreeScope (m_treeScope).
1198 Tests: editing/shadow/selection-of-orphan-shadowroot.html
1199 editing/shadow/selection-of-shadowroot.html
1201 * dom/ShadowRoot.cpp:
1202 (WebCore::ShadowRoot::selection):
1205 * dom/TreeScope.cpp:
1206 (WebCore::TreeScope::getSelection): When shadow DOM feature is not enabled, we want to use the same
1207 instance of DOMSelection among Document and ShadowRoot.
1208 * dom/TreeScopeAdjuster.cpp:
1209 (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
1210 (WebCore::TreeScopeAdjuster::ancestorInThisScope): Since node could be null, I've added a node check code.
1211 * dom/TreeScopeAdjuster.h:
1212 (TreeScopeAdjuster):
1213 (WebCore::TreeScopeAdjuster::treeScope):
1214 * page/DOMSelection.cpp:
1215 (WebCore::DOMSelection::anchorNode):
1216 (WebCore::DOMSelection::anchorOffset):
1217 (WebCore::DOMSelection::focusNode):
1218 (WebCore::DOMSelection::focusOffset):
1219 (WebCore::DOMSelection::baseNode):
1220 (WebCore::DOMSelection::baseOffset):
1221 (WebCore::DOMSelection::extentNode):
1222 (WebCore::DOMSelection::extentOffset):
1223 (WebCore::DOMSelection::shadowAdjustedNode): Gets the corresponding node in the m_treeScope from the Position.
1225 (WebCore::DOMSelection::shadowAdjustedOffset): Gets the corresponding node offset in the m_treeScope from the Position.
1226 * page/DOMSelection.h:
1230 2012-05-16 Jason Liu <jason.liu@torchmobile.com.cn>
1232 [BlackBerry] xhr request to non existent file response is 0 and not 404.
1233 https://bugs.webkit.org/show_bug.cgi?id=86344
1235 Reviewed by George Staikos.
1237 NetworkJob receives 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
1238 There are no data received because its method is HEAD.
1239 This case should not be treated as a failure.
1241 Add shouldNotifyClientFailed() to treat XMLHttpRequest as a special case.
1242 XMLHttpRequest will fail when status code is smaller than zero.
1244 If we use "GET" and receive 404 without body, NetworkJob won't go through failing code path, too.
1245 So add http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
1248 Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
1249 http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
1250 * platform/network/blackberry/NetworkJob.cpp:
1251 (WebCore::NetworkJob::sendResponseIfNeeded):
1253 2012-05-16 MORITA Hajime <morrita@google.com>
1255 HasCustomWillOrDidRecalcStyleFlag and family should live in a bit.
1256 https://bugs.webkit.org/show_bug.cgi?id=86175
1258 Reviewed by Ryosuke Niwa.
1260 This change unifies following flags into one HasCustomCallbacksFlag.
1261 - HasCustomWillOrDidRecalcStyleFlag
1262 - HasCustomStyleForRendererFlag
1263 - IsFrameOwnerElementFlag
1265 By this change, some callbacks can be called even if there are no override.
1266 So all custom callbacks should just pass these invocations.
1268 No new tests. No behavior change.
1270 * dom/ContainerNodeAlgorithms.h:
1271 (WebCore::ChildFrameDisconnector::collectDescendant):
1273 (WebCore::Element::styleForRenderer):
1274 (WebCore::Element::recalcStyle):
1275 (WebCore::Element::willRecalcStyle):
1277 (WebCore::Element::didRecalcStyle):
1278 (WebCore::Element::customStyleForRenderer):
1282 (WebCore::Node::isFrameOwnerElement):
1283 (WebCore::Node::hasCustomCallbacks):
1284 (WebCore::Node::setHasCustomCallbacks):
1286 (WebCore::Text::recalcTextStyle):
1287 (WebCore::Text::willRecalcTextStyle):
1291 * html/HTMLFormControlElement.cpp:
1292 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1293 * html/HTMLFrameOwnerElement.cpp:
1294 (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
1295 * html/HTMLFrameOwnerElement.h:
1296 * html/HTMLFrameSetElement.cpp:
1297 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
1298 * html/HTMLIFrameElement.cpp:
1299 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
1300 * html/HTMLMediaElement.cpp:
1301 (WebCore::HTMLMediaElement::HTMLMediaElement):
1302 * html/HTMLPlugInImageElement.cpp:
1303 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1304 (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
1305 (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
1306 (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
1307 * html/HTMLPlugInImageElement.h:
1308 (HTMLPlugInImageElement):
1309 * html/shadow/TextControlInnerElements.cpp:
1310 (WebCore::TextControlInnerElement::TextControlInnerElement):
1311 (WebCore::TextControlInnerElement::customStyleForRenderer):
1312 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
1313 (WebCore::TextControlInnerTextElement::customStyleForRenderer):
1314 * html/shadow/TextControlInnerElements.h:
1315 (TextControlInnerElement):
1316 (TextControlInnerTextElement):
1317 * html/shadow/TextFieldDecorationElement.cpp:
1318 (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
1319 (WebCore::TextFieldDecorationElement::customStyleForRenderer):
1320 * html/shadow/TextFieldDecorationElement.h:
1321 (TextFieldDecorationElement):
1322 * svg/SVGElement.cpp:
1323 (WebCore::SVGElement::SVGElement):
1324 (WebCore::SVGElement::customStyleForRenderer):
1327 * svg/SVGTRefElement.cpp:
1328 (WebCore::SVGShadowText::SVGShadowText):
1329 * svg/SVGUseElement.cpp:
1330 (WebCore::SVGUseElement::SVGUseElement):
1332 2012-05-16 Yury Semikhatsky <yurys@chromium.org>
1334 Web Inspector: exception when switching to heap profiler comparison view
1335 https://bugs.webkit.org/show_bug.cgi?id=86224
1337 Reviewed by Pavel Feldman.
1339 Make sure the messages are dispatched in the same order as they are sent in
1340 case a fake worker is used for heap snapshot processing.
1342 * inspector/front-end/HeapSnapshotProxy.js:
1343 (WebInspector.AsyncTaskQueue):
1344 (WebInspector.AsyncTaskQueue.prototype.addTask):
1345 (WebInspector.AsyncTaskQueue.prototype._onTimeout):
1346 (WebInspector.AsyncTaskQueue.prototype._scheduleTimer):
1347 (WebInspector.HeapSnapshotFakeWorker):
1348 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
1349 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
1351 2012-05-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1353 [EFL] PlatformKeyboardEvent: figures, letters and printscreen key handling
1354 https://bugs.webkit.org/show_bug.cgi?id=85503
1356 Reviewed by Gustavo Noronha Silva.
1358 * platform/efl/EflKeyboardUtilities.cpp:
1359 (WebCore::addCharactersToKeyMap): aux function
1361 (WebCore::createKeyMap): Figures and letters keys are added to the keyMap
1362 (WebCore::addCharactersToWinKeyMap): aux function
1363 (WebCore::createWindowsKeyMap): Capital letters keys are added to the windowsKeyMap. Corrected value for printscreen key.
1364 (WebCore::singleCharacterString): Return empty text for printscreen key.
1366 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
1368 Web Inspector: rename DebuggerPresentationModel to DebuggerScriptMapping, make it private to ScriptsPanel.
1369 https://bugs.webkit.org/show_bug.cgi?id=86594
1371 Reviewed by Vsevolod Vlasov.
1373 This change completes the elimination of the presentation model.
1376 * WebCore.vcproj/WebCore.vcproj:
1377 * inspector/compile-front-end.py:
1378 * inspector/front-end/AuditFormatters.js:
1379 (WebInspector.AuditFormatters.resourceLink):
1380 * inspector/front-end/DebuggerResourceBinding.js:
1381 (WebInspector.DebuggerResourceBinding):
1382 (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
1383 * inspector/front-end/DebuggerScriptMapping.js: Renamed from Source/WebCore/inspector/front-end/DebuggerPresentationModel.js.
1384 (WebInspector.DebuggerScriptMapping):
1385 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeListChanged):
1386 * inspector/front-end/FilteredItemSelectionDialog.js:
1387 (WebInspector.OpenScriptDialog):
1388 (WebInspector.OpenScriptDialog.install):
1389 (WebInspector.OpenScriptDialog._show):
1390 * inspector/front-end/JavaScriptSourceFrame.js:
1391 (WebInspector.JavaScriptSourceFrame):
1392 * inspector/front-end/PresentationConsoleMessageHelper.js:
1393 (WebInspector.PresentationConsoleMessageHelper):
1394 (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
1395 * inspector/front-end/ScriptsPanel.js:
1396 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
1397 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1398 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1399 * inspector/front-end/ScriptsSearchScope.js:
1400 (WebInspector.ScriptsSearchScope):
1401 (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
1402 * inspector/front-end/UISourceCode.js:
1403 (WebInspector.UISourceCodeProject):
1404 (WebInspector.UISourceCodeProject.prototype.uiSourceCodes):
1405 * inspector/front-end/WebKit.qrc:
1406 * inspector/front-end/inspector.html:
1407 * inspector/front-end/inspector.js:
1408 (WebInspector._createPanels):
1410 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
1412 Web Inspector: use separate fields for storing HeapSnapshotLoaderProxy and HeapSnapshotProxy
1413 https://bugs.webkit.org/show_bug.cgi?id=86488
1415 Reviewed by Pavel Feldman.
1417 Simplified heap profiler snapshot loading code. Introduced dedicated fields for
1418 snapshot loader proxy and for snapshot proxy.
1420 * inspector/front-end/HeapSnapshotProxy.js:
1421 (WebInspector.HeapSnapshotWorker):
1422 (WebInspector.HeapSnapshotLoaderProxy):
1423 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
1424 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
1425 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
1426 (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
1427 (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
1428 (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
1429 * inspector/front-end/HeapSnapshotView.js:
1430 (WebInspector.HeapSnapshotView.profileCallback):
1431 (WebInspector.HeapSnapshotView):
1432 (WebInspector.HeapSnapshotView.prototype.dispose):
1433 (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
1434 (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
1435 (WebInspector.HeapSnapshotView.prototype._changeView):
1436 (WebInspector.HeapProfileHeader): split _proxy field into _loaderProxy and _snapshotProxy
1437 (WebInspector.HeapProfileHeader.prototype.snapshotProxy):
1438 (WebInspector.HeapProfileHeader.prototype.load):
1439 (WebInspector.HeapProfileHeader.prototype._setupWorker):
1440 (WebInspector.HeapProfileHeader.prototype.dispose):
1441 (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
1442 (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
1443 (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1444 (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
1445 (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
1446 (WebInspector.HeapProfileHeader.prototype.loadFromFile):
1448 2012-05-16 Eugene Klyuchnikov <eustas.bug@gmail.com>
1450 Web Inspector: Use CSS columns feature for HelpScreen contents.
1451 https://bugs.webkit.org/show_bug.cgi?id=86367
1453 Reviewed by Yury Semikhatsky.
1455 Right-docked inspector should show shortcuts/settings in one column.
1456 Bottom-docked inspector should use horizontal space more effectively
1457 (more than 2 columns in shortcuts/settings).
1459 Please see attached screenshots.
1461 UI adjustments, no new tests.
1463 * inspector/front-end/SettingsScreen.js:
1464 (WebInspector.SettingsScreen): Turned table to div.
1465 (WebInspector.SettingsScreen.prototype._appendSection): Removed.
1466 * inspector/front-end/ShortcutsScreen.js:
1467 (WebInspector.ShortcutsScreen.prototype._buildTable): Removed "balancing" algorithm.
1468 (WebInspector.ShortcutsSection.prototype.renderSection): Turned table to div.
1469 (WebInspector.ShortcutsSection.prototype._renderHeader): Ditto.
1470 * inspector/front-end/helpScreen.css: Use CSS columns feature.
1471 (.help-container): Added columns container.
1472 (.help-block): Added "section".
1473 (.help-line): Added key shortcut line.
1474 (.help-key-cell): Added key shortcut cell.
1476 (.help-section-title): Combined title classes
1477 (.help-content p): Adjusted spacing.
1479 2012-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
1481 Unreviewed, rolling out r117050.
1482 http://trac.webkit.org/changeset/117050
1483 https://bugs.webkit.org/show_bug.cgi?id=86587
1485 "Some heap profiler tests started timing out" (Requested by
1488 * inspector/front-end/HeapSnapshotProxy.js:
1489 (WebInspector.HeapSnapshotFakeWorker):
1490 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
1491 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
1493 2012-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
1495 Unreviewed, rolling out r117206.
1496 http://trac.webkit.org/changeset/117206
1497 https://bugs.webkit.org/show_bug.cgi?id=86583
1499 breaks chromium browser_tests (Requested by bashi1 on
1502 * loader/MainResourceLoader.cpp:
1503 (WebCore::MainResourceLoader::continueAfterContentPolicy):
1504 * loader/archive/mhtml/MHTMLArchive.cpp:
1505 (WebCore::MHTMLArchive::create):
1507 2012-05-16 Nikolas Zimmermann <nzimmermann@rim.com>
1509 REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
1510 https://bugs.webkit.org/show_bug.cgi?id=83405
1512 Reviewed by Darin Adler.
1514 Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
1515 To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
1516 the management of all caches (text positioning element cache / metrics map / layout attributes) in
1517 RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
1518 called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
1519 Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
1520 synchronized with the current state of the render tree. Fixes highcharts problems.
1522 Tests: svg/text/add-tspan-position-bug.html
1523 svg/text/highcharts-assertion.html
1524 svg/text/modify-tspan-position-bug.html
1526 * rendering/svg/RenderSVGBlock.h:
1528 * rendering/svg/RenderSVGInline.cpp:
1529 (WebCore::RenderSVGInline::addChild):
1530 (WebCore::RenderSVGInline::removeChild):
1531 * rendering/svg/RenderSVGInline.h:
1533 * rendering/svg/RenderSVGInlineText.cpp:
1534 (WebCore::RenderSVGInlineText::setTextInternal):
1535 (WebCore::RenderSVGInlineText::styleDidChange):
1536 * rendering/svg/RenderSVGInlineText.h:
1537 * rendering/svg/RenderSVGText.cpp:
1538 (WebCore::RenderSVGText::RenderSVGText):
1539 (WebCore::RenderSVGText::~RenderSVGText):
1540 (WebCore::collectLayoutAttributes):
1541 (WebCore::RenderSVGText::subtreeChildWasAdded):
1542 (WebCore::findPreviousAndNextAttributes):
1543 (WebCore::checkLayoutAttributesConsistency):
1544 (WebCore::RenderSVGText::willBeDestroyed):
1545 (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
1546 (WebCore::RenderSVGText::subtreeChildWasRemoved):
1547 (WebCore::RenderSVGText::subtreeStyleDidChange):
1548 (WebCore::RenderSVGText::subtreeTextDidChange):
1549 (WebCore::updateFontInAllDescendants):
1550 (WebCore::RenderSVGText::layout):
1551 (WebCore::RenderSVGText::addChild):
1552 (WebCore::RenderSVGText::removeChild):
1553 * rendering/svg/RenderSVGText.h:
1555 * rendering/svg/SVGRenderSupport.cpp:
1556 (WebCore::SVGRenderSupport::layoutChildren):
1557 * rendering/svg/SVGRootInlineBox.cpp:
1558 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1559 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1560 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1561 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
1562 (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
1563 (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
1564 * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1565 (SVGTextLayoutAttributesBuilder):
1566 (WebCore::SVGTextLayoutAttributesBuilder::numberOfTextPositioningElements):
1567 * svg/SVGAElement.cpp:
1568 * svg/SVGAElement.h:
1570 * svg/SVGTextContentElement.cpp:
1571 * svg/SVGTextContentElement.h:
1572 (SVGTextContentElement):
1574 2012-05-15 Abhishek Arya <inferno@chromium.org>
1576 Crash in Document::nodeChildrenWillBeRemoved.
1577 https://bugs.webkit.org/show_bug.cgi?id=85247
1579 Reviewed by Hajime Morita.
1581 Reverse ordering of commands to ref ptr the children set
1582 first before calling nodeChildrenWillBeRemoved, since it
1583 can fire mutation events.
1585 Test: fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml
1587 * dom/ContainerNode.cpp:
1588 (WebCore::willRemoveChildren):
1590 2012-05-15 Igor Oliveira <igor.o@sisa.samsung.com>
1592 regression(111639): Issue with simultaneous CSS animations
1593 https://bugs.webkit.org/show_bug.cgi?id=85929
1595 Currently, previousTimeToNextService is just saving the previous CompositeAnimation::timeToNextService
1596 for AnimationControllerPrivate::updateAnimationTimerForRenderer, however CompositeAnimation::timeToNextService
1597 is also called and used by updateAnimationTimer. Make sure we save the existing timeToNextService from
1598 both places, updateAnimationTimerForRenderer and updateAnimationTimer.
1600 Reviewed by Dean Jackson.
1602 Test: animations/fill-mode-forwards.html
1604 * page/animation/AnimationController.cpp:
1605 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
1606 (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
1607 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1608 * page/animation/AnimationControllerPrivate.h:
1609 (AnimationControllerPrivate):
1611 2012-05-15 Tien-Ren Chen <trchen@chromium.org>
1613 [Chromium] CCTimer::isActive() is incorrect inside tick callback
1614 https://bugs.webkit.org/show_bug.cgi?id=86513
1616 This patch implements CCTimer::isActive() by clearing the task pointer
1617 when the timer fires.
1619 Reviewed by James Robinson.
1621 No new tests. Existing tests updated accordingly.
1623 * platform/graphics/chromium/cc/CCTimer.cpp:
1624 (WebCore::CCTimerTask::performTask):
1625 * rendering/RenderLayerBacking.cpp:
1627 2012-05-15 Kentaro Hara <haraken@chromium.org>
1629 Unreviewed. Rebaselined run-bindings-tests results.
1631 * bindings/scripts/test/JS/JSFloat64Array.cpp:
1632 (WebCore::JSFloat64Array::getOwnPropertySlot):
1633 (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
1634 (WebCore::JSFloat64Array::put):
1635 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1636 (WebCore::JSTestEventTarget::getOwnPropertySlot):
1637 (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
1639 2012-05-15 Shinya Kawanaka <shinyak@chromium.org>
1641 Rename Node::shadowTreeRootNode() to Node::shadowRoot()
1642 https://bugs.webkit.org/show_bug.cgi?id=86449
1644 Reviewed by Darin Adler.
1646 Since Node::shadowTreeRootNode() returns always a ShadowRoot now, shadowRoot() is
1647 mure suitable than shadowTreeRootNode().
1649 This patch changes the method name.
1651 No new tests, no change in behavior.
1655 (WebCore::Node::rendererIsEditable):
1656 (WebCore::Node::shadowAncestorNode):
1657 (WebCore::Node::shadowRoot):
1660 * dom/NodeRenderingContext.cpp:
1661 (WebCore::NodeRenderingContext::NodeRenderingContext):
1663 (WebCore::Range::shadowRoot):
1666 * editing/Editor.cpp:
1667 (WebCore::Editor::nextVisibleRange):
1668 (WebCore::Editor::countMatchesForText):
1669 * editing/TextIterator.cpp:
1670 (WebCore::TextIterator::handleReplacedElement):
1671 * editing/htmlediting.cpp:
1672 (WebCore::indexForVisiblePosition):
1673 * html/shadow/ContentSelectorQuery.cpp:
1674 (WebCore::ContentSelectorQuery::matches):
1675 * html/shadow/HTMLContentElement.cpp:
1676 (WebCore::HTMLContentElement::parseAttribute):
1677 * html/shadow/InsertionPoint.cpp:
1678 (WebCore::InsertionPoint::detach):
1679 * page/EventHandler.cpp:
1680 (WebCore::instanceAssociatedWithShadowTreeElement):
1681 * svg/SVGElement.cpp:
1682 (WebCore::SVGElement::correspondingElement):
1683 (WebCore::collectInstancesForSVGElement):
1685 2012-05-15 Nico Weber <thakis@chromium.org>
1687 [chromium] Remove some unused gyp lines
1688 https://bugs.webkit.org/show_bug.cgi?id=86545
1690 Reviewed by Dirk Pranke.
1692 mac_framework_dirs adds directories to search for frameworks
1693 (similar to -I for includes), it doesn't add any frameworks.
1694 Having something that ends in .framewok in mac_framework_dirs
1697 No intended functionality change.
1699 * WebCore.gyp/WebCore.gyp:
1701 2012-05-13 Philippe Normand <pnormand@igalia.com>
1703 [GStreamer] build a static list of mime-types
1704 https://bugs.webkit.org/show_bug.cgi?id=86331
1706 Reviewed by Martin Robinson.
1708 Don't bother parsing the gstreamer typefind factories and doing
1709 ugly hacks around this. Instead build a static list and let our
1710 ::supportsType() method return MediaPlayer::MayBeSupported or
1711 MediaPlayer::IsSupported for them. Playback will still fail if a
1712 demuxer or decoder is missing for one of these mime-types but we
1713 will handle that case more properly soon by fixing bug 34085 and
1716 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1718 2012-05-15 Greg Spencer <gspencer@chromium.org>
1720 MHTML files should be loadable from all schemes considered local,
1723 https://bugs.webkit.org/show_bug.cgi?id=86540
1725 Reviewed by Adam Barth.
1727 Current tests should assure that loading is still allowed locally.
1729 * loader/MainResourceLoader.cpp:
1730 (WebCore::MainResourceLoader::continueAfterContentPolicy):
1731 * loader/archive/mhtml/MHTMLArchive.cpp:
1732 (WebCore::MHTMLArchive::create):
1734 2012-05-15 Fady Samuel <fsamuel@chromium.org>
1736 [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
1737 https://bugs.webkit.org/show_bug.cgi?id=86535
1739 Reviewed by Darin Fisher.
1741 When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
1742 to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin
1744 * html/HTMLPlugInElement.cpp:
1745 (WebCore::HTMLPlugInElement::resetInstance):
1747 * html/HTMLPlugInElement.h:
1748 (HTMLPlugInElement):
1750 2012-05-15 Robert Hogan <robert@webkit.org>
1752 Heap-use-after-free in WebCore::RenderBlock::layoutRunsAndFloats
1753 https://bugs.webkit.org/show_bug.cgi?id=86206
1755 Reviewed by Abhishek Arya.
1757 Revert https://trac.webkit.org/changeset/116438/. It caused three different regressions on
1760 * rendering/RenderBlock.cpp:
1761 (WebCore::RenderBlock::updateFirstLetter):
1762 * rendering/RenderBlock.h:
1765 2012-05-15 Beth Dakin <bdakin@apple.com>
1767 https://bugs.webkit.org/show_bug.cgi?id=86549
1768 Page Scale + Tiled Drawing: Twitter sign in page content disappears
1769 after typing into name and enabling password field
1771 <rdar://problem/11415352>
1773 Reviewed by Oliver Hunt.
1775 The enormous rect we used to use would overflow in CA and do nothing
1776 when there was any scale > 1 on the context. Instead, just call
1777 setNeedsDisplay on each tile.
1778 * platform/graphics/ca/mac/TileCache.mm:
1779 (WebCore::TileCache::setNeedsDisplay):
1781 2012-05-15 Andreas Kling <kling@webkit.org>
1783 Pass Attribute by const reference as much as possible.
1784 <http://webkit.org/b/86487>
1786 Reviewed by Darin Adler.
1788 Switch to passing around "const Attribute&" instead of "Attribute*" wherever possible.
1789 This helps enforce the constness and non-nullity of these arguments at compile time.
1791 Also renamed 'attr' to 'attribute' in the touched code. Attr and Attribute are two
1792 different classes, so having "Attribute attr" just looks wrong.
1794 * bindings/js/ScriptEventListener.cpp:
1795 (WebCore::createAttributeEventListener):
1796 * bindings/js/ScriptEventListener.h:
1797 * bindings/v8/ScriptEventListener.cpp:
1798 (WebCore::createAttributeEventListener):
1799 * bindings/v8/ScriptEventListener.h:
1801 (WebCore::Attr::setPrefix):
1802 (WebCore::Attr::setValue):
1803 (WebCore::Attr::childrenChanged):
1804 (WebCore::Attr::style):
1805 (WebCore::Attr::elementAttribute):
1808 (WebCore::Element::setAttributeInternal):
1809 (WebCore::Element::attributeChanged):
1810 (WebCore::Element::parserSetAttributes):
1811 (WebCore::Element::didAddAttribute):
1812 (WebCore::Element::didModifyAttribute):
1813 (WebCore::Element::didRemoveAttribute):
1815 * dom/ElementAttributeData.cpp:
1816 (WebCore::ElementAttributeData::addAttribute):
1817 (WebCore::ElementAttributeData::setAttributes):
1818 (WebCore::ElementAttributeData::replaceAttribute):
1819 * dom/StyledElement.cpp:
1820 (WebCore::StyledElement::attributeChanged):
1821 (WebCore::StyledElement::parseAttribute):
1822 (WebCore::StyledElement::updateAttributeStyle):
1823 * dom/StyledElement.h:
1824 (WebCore::StyledElement::collectStyleForAttribute):
1825 * html/HTMLAnchorElement.cpp:
1826 (WebCore::HTMLAnchorElement::parseAttribute):
1827 * html/HTMLAnchorElement.h:
1828 * html/HTMLAppletElement.cpp:
1829 (WebCore::HTMLAppletElement::parseAttribute):
1830 * html/HTMLAppletElement.h:
1831 * html/HTMLAreaElement.cpp:
1832 (WebCore::HTMLAreaElement::parseAttribute):
1833 * html/HTMLAreaElement.h:
1834 * html/HTMLBRElement.cpp:
1835 (WebCore::HTMLBRElement::collectStyleForAttribute):
1836 * html/HTMLBRElement.h:
1837 * html/HTMLBaseElement.cpp:
1838 (WebCore::HTMLBaseElement::parseAttribute):
1839 * html/HTMLBaseElement.h:
1840 * html/HTMLBodyElement.cpp:
1841 (WebCore::HTMLBodyElement::collectStyleForAttribute):
1842 (WebCore::HTMLBodyElement::parseAttribute):
1843 * html/HTMLBodyElement.h:
1844 * html/HTMLButtonElement.cpp:
1845 (WebCore::HTMLButtonElement::parseAttribute):
1846 * html/HTMLButtonElement.h:
1847 * html/HTMLCanvasElement.cpp:
1848 (WebCore::HTMLCanvasElement::parseAttribute):
1849 * html/HTMLCanvasElement.h:
1850 * html/HTMLDetailsElement.cpp:
1851 (WebCore::HTMLDetailsElement::parseAttribute):
1852 * html/HTMLDetailsElement.h:
1853 * html/HTMLDivElement.cpp:
1854 (WebCore::HTMLDivElement::collectStyleForAttribute):
1855 * html/HTMLDivElement.h:
1856 * html/HTMLElement.cpp:
1857 (WebCore::parseBorderWidthAttribute):
1858 (WebCore::HTMLElement::applyBorderAttributeToStyle):
1859 (WebCore::HTMLElement::mapLanguageAttributeToLocale):
1860 (WebCore::HTMLElement::collectStyleForAttribute):
1861 (WebCore::HTMLElement::parseAttribute):
1862 (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1863 (WebCore::HTMLElement::dirAttributeChanged):
1864 * html/HTMLElement.h:
1865 * html/HTMLEmbedElement.cpp:
1866 (WebCore::HTMLEmbedElement::collectStyleForAttribute):
1867 (WebCore::HTMLEmbedElement::parseAttribute):
1868 * html/HTMLEmbedElement.h:
1869 * html/HTMLFontElement.cpp:
1870 (WebCore::HTMLFontElement::collectStyleForAttribute):
1871 * html/HTMLFontElement.h:
1872 * html/HTMLFormControlElement.cpp:
1873 (WebCore::HTMLFormControlElement::parseAttribute):
1874 * html/HTMLFormControlElement.h:
1875 * html/HTMLFormElement.cpp:
1876 (WebCore::HTMLFormElement::parseAttribute):
1877 * html/HTMLFormElement.h:
1878 * html/HTMLFrameElement.cpp:
1879 (WebCore::HTMLFrameElement::parseAttribute):
1880 * html/HTMLFrameElement.h:
1881 * html/HTMLFrameElementBase.cpp:
1882 (WebCore::HTMLFrameElementBase::parseAttribute):
1883 * html/HTMLFrameElementBase.h:
1884 (HTMLFrameElementBase):
1885 * html/HTMLFrameSetElement.cpp:
1886 (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
1887 (WebCore::HTMLFrameSetElement::parseAttribute):
1888 * html/HTMLFrameSetElement.h:
1889 * html/HTMLHRElement.cpp:
1890 (WebCore::HTMLHRElement::collectStyleForAttribute):
1891 * html/HTMLHRElement.h:
1892 * html/HTMLIFrameElement.cpp:
1893 (WebCore::HTMLIFrameElement::collectStyleForAttribute):
1894 (WebCore::HTMLIFrameElement::parseAttribute):
1895 * html/HTMLIFrameElement.h:
1896 * html/HTMLImageElement.cpp:
1897 (WebCore::HTMLImageElement::collectStyleForAttribute):
1898 (WebCore::HTMLImageElement::parseAttribute):
1899 * html/HTMLImageElement.h:
1900 * html/HTMLInputElement.cpp:
1901 (WebCore::HTMLInputElement::updateType):
1902 (WebCore::HTMLInputElement::collectStyleForAttribute):
1903 (WebCore::HTMLInputElement::parseAttribute):
1904 (WebCore::HTMLInputElement::parseMaxLengthAttribute):
1905 * html/HTMLInputElement.h:
1906 * html/HTMLKeygenElement.cpp:
1907 (WebCore::HTMLKeygenElement::parseAttribute):
1908 * html/HTMLKeygenElement.h:
1909 * html/HTMLLIElement.cpp:
1910 (WebCore::HTMLLIElement::collectStyleForAttribute):
1911 (WebCore::HTMLLIElement::parseAttribute):
1912 * html/HTMLLIElement.h:
1913 * html/HTMLLinkElement.cpp:
1914 (WebCore::HTMLLinkElement::parseAttribute):
1915 * html/HTMLLinkElement.h:
1916 * html/HTMLMapElement.cpp:
1917 (WebCore::HTMLMapElement::parseAttribute):
1918 * html/HTMLMapElement.h:
1919 * html/HTMLMarqueeElement.cpp:
1920 (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
1921 * html/HTMLMarqueeElement.h:
1922 * html/HTMLMediaElement.cpp:
1923 (WebCore::HTMLMediaElement::parseAttribute):
1924 * html/HTMLMediaElement.h:
1925 * html/HTMLMetaElement.cpp:
1926 (WebCore::HTMLMetaElement::parseAttribute):
1927 * html/HTMLMetaElement.h:
1928 * html/HTMLMeterElement.cpp:
1929 (WebCore::HTMLMeterElement::parseAttribute):
1930 * html/HTMLMeterElement.h:
1931 * html/HTMLOListElement.cpp:
1932 (WebCore::HTMLOListElement::collectStyleForAttribute):
1933 (WebCore::HTMLOListElement::parseAttribute):
1934 * html/HTMLOListElement.h:
1935 * html/HTMLObjectElement.cpp:
1936 (WebCore::HTMLObjectElement::collectStyleForAttribute):
1937 (WebCore::HTMLObjectElement::parseAttribute):
1938 * html/HTMLObjectElement.h:
1939 * html/HTMLOptGroupElement.cpp:
1940 (WebCore::HTMLOptGroupElement::parseAttribute):
1941 * html/HTMLOptGroupElement.h:
1942 * html/HTMLOptionElement.cpp:
1943 (WebCore::HTMLOptionElement::parseAttribute):
1944 * html/HTMLOptionElement.h:
1945 * html/HTMLOutputElement.cpp:
1946 (WebCore::HTMLOutputElement::parseAttribute):
1947 * html/HTMLOutputElement.h:
1948 * html/HTMLParagraphElement.cpp:
1949 (WebCore::HTMLParagraphElement::collectStyleForAttribute):
1950 * html/HTMLParagraphElement.h:
1951 * html/HTMLPlugInElement.cpp:
1952 (WebCore::HTMLPlugInElement::collectStyleForAttribute):
1953 * html/HTMLPlugInElement.h:
1954 * html/HTMLPreElement.cpp:
1955 (WebCore::HTMLPreElement::collectStyleForAttribute):
1956 * html/HTMLPreElement.h:
1957 * html/HTMLProgressElement.cpp:
1958 (WebCore::HTMLProgressElement::parseAttribute):
1959 * html/HTMLProgressElement.h:
1960 * html/HTMLScriptElement.cpp:
1961 (WebCore::HTMLScriptElement::parseAttribute):
1962 * html/HTMLScriptElement.h:
1963 * html/HTMLSelectElement.cpp:
1964 (WebCore::HTMLSelectElement::parseAttribute):
1965 (WebCore::HTMLSelectElement::parseMultipleAttribute):
1966 * html/HTMLSelectElement.h:
1967 * html/HTMLStyleElement.cpp:
1968 (WebCore::HTMLStyleElement::parseAttribute):
1969 * html/HTMLStyleElement.h:
1970 * html/HTMLTableCaptionElement.cpp:
1971 (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
1972 * html/HTMLTableCaptionElement.h:
1973 * html/HTMLTableCellElement.cpp:
1974 (WebCore::HTMLTableCellElement::collectStyleForAttribute):
1975 (WebCore::HTMLTableCellElement::parseAttribute):
1976 * html/HTMLTableCellElement.h:
1977 * html/HTMLTableColElement.cpp:
1978 (WebCore::HTMLTableColElement::collectStyleForAttribute):
1979 (WebCore::HTMLTableColElement::parseAttribute):
1980 * html/HTMLTableColElement.h:
1981 * html/HTMLTableElement.cpp:
1982 (WebCore::HTMLTableElement::collectStyleForAttribute):
1983 (WebCore::HTMLTableElement::parseAttribute):
1984 * html/HTMLTableElement.h:
1985 * html/HTMLTablePartElement.cpp:
1986 (WebCore::HTMLTablePartElement::collectStyleForAttribute):
1987 * html/HTMLTablePartElement.h:
1988 * html/HTMLTextAreaElement.cpp:
1989 (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
1990 (WebCore::HTMLTextAreaElement::parseAttribute):
1991 * html/HTMLTextAreaElement.h:
1992 * html/HTMLTextFormControlElement.cpp:
1993 (WebCore::HTMLTextFormControlElement::parseAttribute):
1994 * html/HTMLTextFormControlElement.h:
1995 * html/HTMLTrackElement.cpp:
1996 (WebCore::HTMLTrackElement::parseAttribute):
1997 * html/HTMLTrackElement.h:
1998 * html/HTMLUListElement.cpp:
1999 (WebCore::HTMLUListElement::collectStyleForAttribute):
2000 * html/HTMLUListElement.h:
2001 * html/HTMLVideoElement.cpp:
2002 (WebCore::HTMLVideoElement::collectStyleForAttribute):
2003 (WebCore::HTMLVideoElement::parseAttribute):
2004 * html/HTMLVideoElement.h:
2005 * html/shadow/HTMLContentElement.cpp:
2006 (WebCore::HTMLContentElement::parseAttribute):
2007 * html/shadow/HTMLContentElement.h:
2008 * mathml/MathMLElement.cpp:
2009 (WebCore::MathMLElement::collectStyleForAttribute):
2010 * mathml/MathMLElement.h:
2011 * svg/SVGAElement.cpp:
2012 (WebCore::SVGAElement::parseAttribute):
2013 * svg/SVGAElement.h:
2014 * svg/SVGAnimateMotionElement.cpp:
2015 (WebCore::SVGAnimateMotionElement::parseAttribute):
2016 * svg/SVGAnimateMotionElement.h:
2017 * svg/SVGAnimateTransformElement.cpp:
2018 (WebCore::SVGAnimateTransformElement::parseAttribute):
2019 * svg/SVGAnimateTransformElement.h:
2020 * svg/SVGAnimationElement.cpp:
2021 (WebCore::SVGAnimationElement::parseAttribute):
2022 * svg/SVGAnimationElement.h:
2023 * svg/SVGCircleElement.cpp:
2024 (WebCore::SVGCircleElement::parseAttribute):
2025 * svg/SVGCircleElement.h:
2026 * svg/SVGClipPathElement.cpp:
2027 (WebCore::SVGClipPathElement::parseAttribute):
2028 * svg/SVGClipPathElement.h:
2029 * svg/SVGComponentTransferFunctionElement.cpp:
2030 (WebCore::SVGComponentTransferFunctionElement::parseAttribute):
2031 * svg/SVGComponentTransferFunctionElement.h:
2032 * svg/SVGCursorElement.cpp:
2033 (WebCore::SVGCursorElement::parseAttribute):
2034 * svg/SVGCursorElement.h:
2035 * svg/SVGElement.cpp:
2036 (WebCore::SVGElement::reportAttributeParsingError):
2037 (WebCore::SVGElement::parseAttribute):
2038 (WebCore::SVGElement::attributeChanged):
2040 * svg/SVGEllipseElement.cpp:
2041 (WebCore::SVGEllipseElement::parseAttribute):
2042 * svg/SVGEllipseElement.h:
2043 * svg/SVGExternalResourcesRequired.cpp:
2044 (WebCore::SVGExternalResourcesRequired::parseAttribute):
2045 * svg/SVGExternalResourcesRequired.h:
2046 (SVGExternalResourcesRequired):
2047 * svg/SVGFEBlendElement.cpp:
2048 (WebCore::SVGFEBlendElement::parseAttribute):
2049 * svg/SVGFEBlendElement.h:
2050 * svg/SVGFEColorMatrixElement.cpp:
2051 (WebCore::SVGFEColorMatrixElement::parseAttribute):
2052 * svg/SVGFEColorMatrixElement.h:
2053 * svg/SVGFEComponentTransferElement.cpp:
2054 (WebCore::SVGFEComponentTransferElement::parseAttribute):
2055 * svg/SVGFEComponentTransferElement.h:
2056 * svg/SVGFECompositeElement.cpp:
2057 (WebCore::SVGFECompositeElement::parseAttribute):
2058 * svg/SVGFECompositeElement.h:
2059 * svg/SVGFEConvolveMatrixElement.cpp:
2060 (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
2061 * svg/SVGFEConvolveMatrixElement.h:
2062 * svg/SVGFEDiffuseLightingElement.cpp:
2063 (WebCore::SVGFEDiffuseLightingElement::parseAttribute):
2064 * svg/SVGFEDiffuseLightingElement.h:
2065 * svg/SVGFEDisplacementMapElement.cpp:
2066 (WebCore::SVGFEDisplacementMapElement::parseAttribute):
2067 * svg/SVGFEDisplacementMapElement.h:
2068 * svg/SVGFEDropShadowElement.cpp:
2069 (WebCore::SVGFEDropShadowElement::parseAttribute):
2070 * svg/SVGFEDropShadowElement.h:
2071 * svg/SVGFEGaussianBlurElement.cpp:
2072 (WebCore::SVGFEGaussianBlurElement::parseAttribute):
2073 * svg/SVGFEGaussianBlurElement.h:
2074 * svg/SVGFEImageElement.cpp:
2075 (WebCore::SVGFEImageElement::parseAttribute):
2076 * svg/SVGFEImageElement.h:
2077 * svg/SVGFELightElement.cpp:
2078 (WebCore::SVGFELightElement::parseAttribute):
2079 * svg/SVGFELightElement.h:
2080 * svg/SVGFEMergeNodeElement.cpp:
2081 (WebCore::SVGFEMergeNodeElement::parseAttribute):
2082 * svg/SVGFEMergeNodeElement.h:
2083 * svg/SVGFEMorphologyElement.cpp:
2084 (WebCore::SVGFEMorphologyElement::parseAttribute):
2085 * svg/SVGFEMorphologyElement.h:
2086 * svg/SVGFEOffsetElement.cpp:
2087 (WebCore::SVGFEOffsetElement::parseAttribute):
2088 * svg/SVGFEOffsetElement.h:
2089 * svg/SVGFESpecularLightingElement.cpp:
2090 (WebCore::SVGFESpecularLightingElement::parseAttribute):
2091 * svg/SVGFESpecularLightingElement.h:
2092 * svg/SVGFETileElement.cpp:
2093 (WebCore::SVGFETileElement::parseAttribute):
2094 * svg/SVGFETileElement.h:
2095 * svg/SVGFETurbulenceElement.cpp:
2096 (WebCore::SVGFETurbulenceElement::parseAttribute):
2097 * svg/SVGFETurbulenceElement.h:
2098 * svg/SVGFilterElement.cpp:
2099 (WebCore::SVGFilterElement::parseAttribute):
2100 * svg/SVGFilterElement.h:
2101 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2102 (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
2103 * svg/SVGFilterPrimitiveStandardAttributes.h:
2104 (SVGFilterPrimitiveStandardAttributes):
2105 * svg/SVGFitToViewBox.cpp:
2106 (WebCore::SVGFitToViewBox::parseAttribute):
2107 * svg/SVGFitToViewBox.h:
2109 * svg/SVGFontFaceElement.cpp:
2110 (WebCore::SVGFontFaceElement::parseAttribute):
2111 * svg/SVGFontFaceElement.h:
2112 * svg/SVGFontFaceUriElement.cpp:
2113 (WebCore::SVGFontFaceUriElement::parseAttribute):
2114 * svg/SVGFontFaceUriElement.h:
2115 * svg/SVGForeignObjectElement.cpp:
2116 (WebCore::SVGForeignObjectElement::parseAttribute):
2117 * svg/SVGForeignObjectElement.h:
2118 * svg/SVGGElement.cpp:
2119 (WebCore::SVGGElement::parseAttribute):
2120 * svg/SVGGElement.h:
2121 * svg/SVGGlyphElement.cpp:
2122 (WebCore::SVGGlyphElement::parseAttribute):
2123 * svg/SVGGlyphElement.h:
2124 * svg/SVGGlyphRefElement.cpp:
2125 (WebCore::SVGGlyphRefElement::parseAttribute):
2126 * svg/SVGGlyphRefElement.h:
2127 * svg/SVGGradientElement.cpp:
2128 (WebCore::SVGGradientElement::parseAttribute):
2129 * svg/SVGGradientElement.h:
2130 * svg/SVGImageElement.cpp:
2131 (WebCore::SVGImageElement::collectStyleForAttribute):
2132 (WebCore::SVGImageElement::parseAttribute):
2133 * svg/SVGImageElement.h:
2134 * svg/SVGImageLoader.cpp:
2135 (WebCore::SVGImageLoader::sourceURI):
2136 * svg/SVGLangSpace.cpp:
2137 (WebCore::SVGLangSpace::parseAttribute):
2138 * svg/SVGLangSpace.h:
2140 * svg/SVGLineElement.cpp:
2141 (WebCore::SVGLineElement::parseAttribute):
2142 * svg/SVGLineElement.h:
2143 * svg/SVGLinearGradientElement.cpp:
2144 (WebCore::SVGLinearGradientElement::parseAttribute):
2145 * svg/SVGLinearGradientElement.h:
2146 * svg/SVGMPathElement.cpp:
2147 (WebCore::SVGMPathElement::parseAttribute):
2148 * svg/SVGMPathElement.h:
2149 * svg/SVGMarkerElement.cpp:
2150 (WebCore::SVGMarkerElement::parseAttribute):
2151 * svg/SVGMarkerElement.h:
2152 * svg/SVGMaskElement.cpp:
2153 (WebCore::SVGMaskElement::parseAttribute):
2154 * svg/SVGMaskElement.h:
2155 * svg/SVGPathElement.cpp:
2156 (WebCore::SVGPathElement::parseAttribute):
2157 * svg/SVGPathElement.h:
2158 * svg/SVGPatternElement.cpp:
2159 (WebCore::SVGPatternElement::parseAttribute):
2160 * svg/SVGPatternElement.h:
2161 * svg/SVGPolyElement.cpp:
2162 (WebCore::SVGPolyElement::parseAttribute):
2163 * svg/SVGPolyElement.h:
2164 * svg/SVGRadialGradientElement.cpp:
2165 (WebCore::SVGRadialGradientElement::parseAttribute):
2166 * svg/SVGRadialGradientElement.h:
2167 * svg/SVGRectElement.cpp:
2168 (WebCore::SVGRectElement::parseAttribute):
2169 * svg/SVGRectElement.h:
2170 * svg/SVGSVGElement.cpp:
2171 (WebCore::SVGSVGElement::parseAttribute):
2172 * svg/SVGSVGElement.h:
2173 * svg/SVGScriptElement.cpp:
2174 (WebCore::SVGScriptElement::parseAttribute):
2175 * svg/SVGScriptElement.h:
2176 * svg/SVGStopElement.cpp:
2177 (WebCore::SVGStopElement::parseAttribute):
2178 * svg/SVGStopElement.h:
2179 * svg/SVGStyleElement.cpp:
2180 (WebCore::SVGStyleElement::parseAttribute):
2181 * svg/SVGStyleElement.h:
2182 * svg/SVGStyledElement.cpp:
2183 (WebCore::SVGStyledElement::collectStyleForAttribute):
2184 (WebCore::SVGStyledElement::parseAttribute):
2185 * svg/SVGStyledElement.h:
2186 * svg/SVGStyledTransformableElement.cpp:
2187 (WebCore::SVGStyledTransformableElement::parseAttribute):
2188 * svg/SVGStyledTransformableElement.h:
2189 * svg/SVGSymbolElement.cpp:
2190 (WebCore::SVGSymbolElement::parseAttribute):
2191 * svg/SVGSymbolElement.h:
2192 * svg/SVGTRefElement.cpp:
2193 (WebCore::SVGTRefElement::parseAttribute):
2194 * svg/SVGTRefElement.h:
2196 (WebCore::SVGTests::parseAttribute):
2199 * svg/SVGTextContentElement.cpp:
2200 (WebCore::SVGTextContentElement::collectStyleForAttribute):
2201 (WebCore::SVGTextContentElement::parseAttribute):
2202 * svg/SVGTextContentElement.h:
2203 * svg/SVGTextElement.cpp:
2204 (WebCore::SVGTextElement::parseAttribute):
2205 * svg/SVGTextElement.h:
2206 * svg/SVGTextPathElement.cpp:
2207 (WebCore::SVGTextPathElement::parseAttribute):
2208 * svg/SVGTextPathElement.h:
2209 * svg/SVGTextPositioningElement.cpp:
2210 (WebCore::SVGTextPositioningElement::parseAttribute):
2211 * svg/SVGTextPositioningElement.h:
2212 * svg/SVGURIReference.cpp:
2213 (WebCore::SVGURIReference::parseAttribute):
2214 * svg/SVGURIReference.h:
2216 * svg/SVGUseElement.cpp:
2217 (WebCore::SVGUseElement::parseAttribute):
2218 * svg/SVGUseElement.h:
2219 * svg/SVGViewElement.cpp:
2220 (WebCore::SVGViewElement::parseAttribute):
2221 * svg/SVGViewElement.h:
2222 * svg/SVGZoomAndPan.cpp:
2223 (WebCore::SVGZoomAndPan::parseAttribute):
2224 * svg/SVGZoomAndPan.h:
2226 * svg/animation/SVGSMILElement.cpp:
2227 (WebCore::SVGSMILElement::parseAttribute):
2228 * svg/animation/SVGSMILElement.h:
2230 2012-05-15 Kenneth Russell <kbr@google.com>
2232 Assertion failure running Mozilla's WebGL performance regression tests
2233 https://bugs.webkit.org/show_bug.cgi?id=85942
2235 Reviewed by Stephen White.
2237 Fixed incorrect assumptions about source formats and buffer sizes
2238 when uploading to floating-point textures. Added code paths
2239 supporting the necessary conversions.
2241 Tests have been added to the WebGL conformance suite which cover
2242 these new code paths; they verify uploads of HTMLCanvasElement,
2243 HTMLImageElement, HTMLVideoElement, and ImageData to
2244 floating-point textures. However, because floating-point texture
2245 support is optional, and generally only supported on bots which
2246 run with real GPUs and not in virtual machines, it isn't feasible
2247 to incorporate these tests as layout tests.
2249 Ran the new WebGL conformance tests in Chromium on Linux; all
2252 * platform/graphics/GraphicsContext3D.cpp:
2253 (WebCore::GraphicsContext3D::extractImageData):
2254 Properly compute size of destination buffer.
2257 Add pack/unpack routines for converting RGBA8/BGRA8 to floating point.
2259 (WebCore::doFloatingPointPacking):
2260 Support RGBA8 and BGRA8 source formats.
2262 (WebCore::isFloatingPointSource):
2263 Factored out logic for assertions.
2265 (WebCore::GraphicsContext3D::packPixels):
2266 Generalized assertions and logic.
2268 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2269 (WebCore::GraphicsContext3D::getImageData):
2270 Properly compute size of destination buffer.
2272 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2273 (WebCore::GraphicsContext3D::getImageData):
2274 Properly compute size of destination buffer.
2276 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2277 (WebCore::GraphicsContext3D::getImageData):
2278 Properly compute size of destination buffer.
2280 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2281 (WebCore::GraphicsContext3D::getImageData):
2282 Properly compute size of destination buffer.
2284 2012-05-15 James Robinson <jamesr@chromium.org>
2286 [chromium] Chromium port never sets USE(CG) so code behind it is dead
2287 https://bugs.webkit.org/show_bug.cgi?id=86537
2289 Reviewed by Adrienne Walker.
2291 Deletes code behind USE(CG) in chromium-specific code and removes unneeded USE(SKIA) guards.
2293 * platform/chromium/DragImageRef.h:
2295 * platform/chromium/MIMETypeRegistryChromium.cpp:
2296 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
2297 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2298 (WebCore::ScrollbarThemeChromiumMac::paint):
2299 * platform/chromium/ThemeChromiumMac.mm:
2300 (WebCore::paintStepper):
2301 * platform/graphics/chromium/PlatformImage.cpp:
2302 (WebCore::PlatformImage::updateFromImage):
2304 2012-05-15 Keyar Hood <keyar@chromium.org>
2306 Skia does not respect a specified InterpolationQuality
2307 https://bugs.webkit.org/show_bug.cgi?id=86249
2309 Reviewed by Stephen White.
2311 The added functionality is not exposed to higher layers of webkit.
2312 Tests will be added that will exercise these changes when bug 82804 is
2315 * platform/graphics/GraphicsContext.cpp:
2316 (WebCore::GraphicsContext::drawImage):
2317 (WebCore::GraphicsContext::drawImageBuffer):
2318 Code to have the useLowQualityScale cause the InterpolationQuality be
2319 be set to low for Chromium but remain as none for other platforms.
2320 * platform/graphics/skia/ImageSkia.cpp:
2321 (WebCore::limitResamplingMode): Added
2323 (WebCore::paintSkBitmap):
2324 (WebCore::Image::drawPattern):
2325 We now limit the resampling choice based on what InterpolationQuality
2326 is set as. InterpolationNone restricts resampling to RESAMPLE_NONE,
2327 InterpolationLow and InterpolationMedium restricts resampling to
2328 RESAMPLE_LINEAR. InterpolationHigh and InterpolationDefault do not
2329 change the resampling.
2331 Furthermore, the choice on how to set the filter bitmap flag in
2332 paintSkBitmap was made to be consistent with that in
2336 2012-05-15 Jeffrey Pfau <jpfau@apple.com>
2338 ImageDocuments erroneously trigger beforeload events for the main resource
2339 https://bugs.webkit.org/show_bug.cgi?id=86543
2340 <rdar://problem/11309013>
2342 Reviewed by Brady Eidson.
2344 No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
2346 * loader/ImageLoader.cpp:
2347 (WebCore::ImageLoader::updateFromElement):
2349 2012-05-15 Dirk Pranke <dpranke@chromium.org>
2351 [chromium] ScrollElasticityController.mm doesn't compile with the 10.6 SDK on mac
2352 https://bugs.webkit.org/show_bug.cgi?id=86544
2354 Reviewed by Anders Carlsson.
2356 This is a build fix for now until we can figure out what a
2357 better way to approach this is.
2359 * platform/mac/ScrollElasticityController.mm:
2362 2012-05-15 Nate Chapin <japhet@chromium.org>
2364 MainResourceLoader::load() always returns true, so make it return
2365 void and delete the related dead code.
2366 https://bugs.webkit.org/show_bug.cgi?id=86413
2368 Reviewed by Alexey Proskuryakov.
2370 No new tests, cleanup only.
2372 * loader/DocumentLoader.cpp:
2373 (WebCore::DocumentLoader::startLoadingMainResource):
2374 * loader/MainResourceLoader.cpp:
2375 (WebCore::MainResourceLoader::load):
2376 * loader/MainResourceLoader.h:
2377 (MainResourceLoader):
2379 2012-05-15 Ian Vollick <vollick@chromium.org>
2381 [chromium] Ensure animations get ticked at least once when added.
2382 https://bugs.webkit.org/show_bug.cgi?id=86013
2384 Reviewed by James Robinson.
2387 CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
2388 CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
2389 CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
2390 CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded
2392 * platform/graphics/chromium/LayerChromium.cpp:
2393 (WebCore::LayerChromium::addAnimation):
2394 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2395 (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2396 (WebCore::CCLayerTreeHost::didAddAnimation):
2398 (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2399 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2401 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2402 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2403 * platform/graphics/chromium/cc/CCProxy.h:
2405 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2406 (CCSingleThreadProxyAnimationTimer):
2407 (WebCore::CCSingleThreadProxyAnimationTimer::create):
2408 (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
2410 (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2411 (WebCore::CCSingleThreadProxy::didAddAnimation):
2412 (WebCore::CCSingleThreadProxy::doComposite):
2413 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2415 * platform/graphics/chromium/cc/CCThreadProxy.h:
2417 2012-05-15 Alexandre Elias <aelias@google.com>
2419 [chromium] Fix unsafe viewport tag dispatch
2420 https://bugs.webkit.org/show_bug.cgi?id=80554
2422 Reviewed by Adam Barth.
2424 In some uncommon situations (such as window.open() new tab on
2425 Android), dispatchViewportPropertiesDidChange may early-return without
2426 setting the page scale because the window size is not yet
2427 available from the embedder. At that point, the previous behavior was
2428 to call it again in layoutUpdated(), but this is unsafe since it
2429 leaves a pending needsLayout.
2431 I moved the dispatch call into WebViewImpl::didChangeContentsSize and
2432 WebViewImpl::resize() instead -- these represent more explicitly the
2433 situations where the inputs to the viewport tag calculation change. I
2434 removed the other dispatch call from setFrameRect as it's now
2437 Covered by FixedLayoutInitializeAtMinimumPageScale test introduced
2438 in http://webk.it/82949 (an assertion will fire there without
2441 * page/FrameView.cpp:
2442 (WebCore::FrameView::setFrameRect):
2444 2012-05-15 Jer Noble <jer.noble@apple.com>
2446 r117147 causes a null-deref crash in DOMImplementation::createDocument()
2447 https://bugs.webkit.org/show_bug.cgi?id=86532
2449 Reviewed by James Robinson.
2451 No new tests, but fixes many crashing tests.
2453 Protect against the possibility of being passed a NULL frame in
2454 DOMImplementation::createDocument().
2456 * dom/DOMImplementation.cpp:
2457 (WebCore::DOMImplementation::createDocument):
2459 2012-05-15 Julien Chaffraix <jchaffraix@webkit.org>
2461 Use posZOrderList() / negZOrderList() everywhere to avoid querying dirtied lists
2462 https://bugs.webkit.org/show_bug.cgi?id=86416
2464 Reviewed by Simon Fraser.
2466 Covered by existing tests that are not ASSERTing after this change.
2468 * rendering/RenderLayerBacking.cpp:
2469 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2470 * rendering/RenderLayer.cpp:
2471 (WebCore::RenderLayer::update3DTransformedDescendantStatus):
2472 Added a call to updateZOrderLists() to the previous sites as nothing guarantees
2473 that we have recomputed our z-order lists.
2475 (WebCore::RenderLayer::paintLayerContents):
2476 (WebCore::RenderLayer::hitTestLayer):
2477 * rendering/RenderLayerCompositor.cpp:
2478 (WebCore::RenderLayerCompositor::needsContentsCompositingLayer):
2479 Converted those functions to use the safe getters.
2481 * rendering/RenderLayer.h:
2482 (WebCore::RenderLayer::hasNegativeZOrderList):
2483 Newly added funtion to return if we have a negative z-order list.
2485 2012-05-15 Abhishek Arya <inferno@chromium.org>
2487 Crash due shadow tree parent confusion in SVG.
2488 https://bugs.webkit.org/show_bug.cgi?id=84248
2490 Reviewed by Nikolas Zimmermann.
2492 Test: svg/foreignObject/viewport-foreignobject-crash.html
2494 When we try to make a decision on whether we need an outer
2495 SVGRoot container, we detect if we are in shadow tree or not.
2496 We also need to make sure that our parentOrHostElement is also
2499 * svg/SVGElement.cpp:
2500 (WebCore::SVGElement::isOutermostSVGSVGElement):
2502 2012-05-15 Lauro Neto <lauro.neto@openbossa.org>
2504 [File API] URL methods handling null arguments
2505 https://bugs.webkit.org/show_bug.cgi?id=69693
2507 Reviewed by Adam Barth.
2509 Per the latest editor's draft of the File API:
2510 http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL
2512 Use null instead of undefined as return value when a
2513 null blob is given to URL.createObjectURL.
2515 Test: fast/files/url-null.html
2519 2012-05-15 Jer Noble <jer.noble@apple.com>
2521 Unreviewed build fix [Qt].
2523 Protect the definition of DOMImplementationSupportsTypeClient class with
2524 #if ENABLE(VIDEO) so as not to cause compilation errors on ports with
2527 * dom/DOMImplementation.cpp:
2529 2012-05-14 Jer Noble <jer.noble@apple.com>
2531 Site-specific hack: Disclaim WebM as a supported type on Mac for YouTube.
2532 https://bugs.webkit.org/show_bug.cgi?id=86409
2534 Reviewed by Darin Adler.
2536 No new tests; site specific hack.
2538 Add a Mac-only site-specific hack which disclaims both video/webm and video/x-flv
2539 as supported types when the media element's document has a host of youtube.com.
2541 Add a new, pure-virtual prototype class for use by MediaPlayer::supportsType:
2542 * platform/graphics/MediaPlayer.h:
2543 (MediaPlayerSupportsTypeClient):
2544 (WebCore::MediaPlayerSupportsTypeClient::~MediaPlayerSupportsTypeClient):
2545 (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks):
2546 (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost):
2548 Use these new client calls to determine whether to apply the site-specific
2550 * platform/graphics/MediaPlayer.cpp:
2551 (WebCore::MediaPlayer::supportsType):
2553 Add this prototype class as a superclass of HTMLMediaElement. Pass in the
2554 HTMLMediaElement's this pointer when calling MediaPlayer::supportsType():
2555 * html/HTMLMediaElement.cpp:
2556 (WebCore::HTMLMediaElement::canPlayType):
2557 (WebCore::HTMLMediaElement::selectNextSourceChild):
2558 (WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
2559 (WebCore::HTMLMediaElement::mediaPlayerDocumentHost):
2560 * html/HTMLMediaElement.h:
2562 As is HTMLMediaElement, a MediaPlayerSupportsTypeClient class is needed. Add a
2563 new class DOMImplementationSupportsTypeClient, an instance of which will be
2564 passed to MediaPlayer::supportsType():
2565 * dom/DOMImplementation.cpp:
2566 (DOMImplementationSupportsTypeClient):
2567 (WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient):
2568 (WebCore::DOMImplementation::createDocument):
2569 (WebCore::DOMImplementation::mediaPlayerNeedsSiteSpecificHacks):
2570 (WebCore::DOMImplementation::mediaPlayerDocumentHost):
2571 * dom/DOMImplementation.h:
2573 2012-05-15 Anders Carlsson <andersca@apple.com>
2575 Use unaccelerated scrolling deltas when rubber-banding
2576 https://bugs.webkit.org/show_bug.cgi?id=86503
2577 <rdar://problem/11378742>
2579 Reviewed by Sam Weinig.
2582 * platform/PlatformWheelEvent.h:
2583 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2584 (PlatformWheelEvent):
2585 (WebCore::PlatformWheelEvent::scrollCount):
2586 (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaX):
2587 (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaY):
2588 Add scroll count and unaccelerated scrolling deltas.
2590 * platform/mac/ScrollElasticityController.mm:
2591 (WebCore::elasticDeltaForTimeDelta):
2592 (WebCore::elasticDeltaForReboundDelta):
2593 (WebCore::reboundDeltaForElasticDelta):
2594 Call the new WKSI functions.
2596 (WebCore::ScrollElasticityController::handleWheelEvent):
2597 Use the unaccelerated scrolling deltas when needed.
2599 * platform/mac/WebCoreSystemInterface.h:
2600 * platform/mac/WebCoreSystemInterface.mm:
2601 Add new WKSI functions.
2603 2012-05-15 Terry Anderson <tdanderson@chromium.org>
2605 [chromium] Compute the best target node on a GestureTap event
2606 https://bugs.webkit.org/show_bug.cgi?id=85101
2608 Reviewed by Adam Barth.
2610 Using the tests in the touchadjustment/ directory.
2613 Include TouchAdjustment.* files.
2614 * page/TouchAdjustment.cpp:
2615 (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
2616 (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
2617 No longer using the INFINITY constant due to problems with compiling
2620 2012-05-15 Chris Rogers <crogers@google.com>
2622 Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)
2623 https://bugs.webkit.org/show_bug.cgi?id=86396
2625 Reviewed by Kenneth Russell.
2627 No new tests. Existing layout tests already extensively test summing.
2630 * GNUmakefile.list.am:
2631 Add AudioSummingJunction files to makefiles.
2633 * Modules/webaudio/AudioContext.cpp:
2634 * Modules/webaudio/AudioContext.h:
2635 (WebCore::AudioContext::handlePreRenderTasks):
2636 (WebCore::AudioContext::handlePostRenderTasks):
2637 (WebCore::AudioContext::deleteMarkedNodes):
2638 (WebCore::AudioContext::markSummingJunctionDirty):
2639 (WebCore::AudioContext::removeMarkedSummingJunction):
2640 (WebCore::AudioContext::handleDirtyAudioSummingJunctions):
2641 Simple munge from AudioNodeInput -> AudioSummingJunction
2643 * Modules/webaudio/AudioNodeInput.cpp:
2644 * Modules/webaudio/AudioNodeInput.h:
2645 (WebCore::AudioNodeInput::AudioNodeInput):
2646 (WebCore::AudioNodeInput::didUpdate):
2647 Remove logic from AudioNodeInput which now is being moved to AudioSummingJunction.
2649 * Modules/webaudio/AudioSummingJunction.cpp: Added.
2650 * Modules/webaudio/AudioSummingJunction.h: Added.
2651 (WebCore::AudioSummingJunction::AudioSummingJunction):
2652 (WebCore::AudioSummingJunction::~AudioSummingJunction):
2653 (WebCore::AudioSummingJunction::changedOutputs):
2654 (WebCore::AudioSummingJunction::updateRenderingState):
2655 (WebCore::AudioSummingJunction::context):
2656 (WebCore::AudioSummingJunction::numberOfRenderingConnections):
2657 (WebCore::AudioSummingJunction::renderingOutput):
2658 (WebCore::AudioSummingJunction::isConnected):
2659 (WebCore::AudioSummingJunction::numberOfConnections):
2660 Add AudioSummingJunction which is an abstraction to manage/track the connections from AudioNodeOutputs
2661 representing the fan-in points for unity gain summing junctions.
2664 * WebCore.xcodeproj/project.pbxproj:
2665 Add AudioSummingJunction files to makefiles.
2667 2012-05-15 Dan Bernstein <mitz@apple.com>
2669 Ruby annotation is incorrectly identified as a paragraph boundary
2670 https://bugs.webkit.org/show_bug.cgi?id=86507
2672 Reviewed by Darin Adler.
2674 Test: editing/selection/paragraph-with-ruby.html
2676 * editing/htmlediting.cpp:
2677 (WebCore::isBlock): Changed to return false for ruby text.
2679 2012-05-15 Philippe Normand <pnormand@igalia.com>
2681 [GTK] Un-used GStreamer linker options
2682 https://bugs.webkit.org/show_bug.cgi?id=86407
2684 Reviewed by Martin Robinson.
2686 * GNUmakefile.am: Remove no-longer used webcore_libadd variable.
2688 2012-05-15 Beth Dakin <bdakin@apple.com>
2690 https://bugs.webkit.org/show_bug.cgi?id=86506
2691 REGRESSION (tiled drawing): No scrollbar while page is loading
2693 <rdar://problem/11444589>
2695 Reviewed by Anders Carlsson.
2697 We have always had a mechanism in place to suppress painting overlay
2698 scrollbars while the page is loading. However, that mechaism is
2699 overriden if the page has been scrolled. It should be, anyway. It was
2700 not being overriden when the scrolling was handled as a wheel event by
2701 the scrolling tree. This patch takes advantage of the fact that
2702 ScrollingTree::handleWheelEvent() already calls back to the main
2703 thread for handleWheelEventPhase() and just patches
2704 handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
2705 * platform/mac/ScrollAnimatorMac.mm:
2706 (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
2708 2012-05-15 Jessie Berlin <jberlin@apple.com>
2710 WKContextSetCacheModel(contextref, kWKCacheModelDocumentViewer) doesn't prevent pages from
2711 going into the PageCache.
2712 https://bugs.webkit.org/show_bug.cgi?id=85891
2714 Reviewed by Brady Eidson.
2716 Do not claim that it is possible to cache a page when the page cache has a capacity of 0.
2718 Covered by the modified DOMWindowExtensionNoCache WK2 API test.
2720 * history/PageCache.cpp:
2721 (WebCore::PageCache::canCache):
2723 * history/PageCache.h:
2725 * loader/FrameLoader.cpp:
2726 (WebCore::FrameLoader::commitProvisionalLoad):
2727 canCache is no longer static on PageCache.
2729 2012-05-15 James Robinson <jamesr@chromium.org>
2731 Unreviewed, rolling out r116811.
2732 http://trac.webkit.org/changeset/116811
2733 https://bugs.webkit.org/show_bug.cgi?id=86257
2735 Introduced layering violation
2739 2012-05-15 Darin Adler <darin@apple.com>
2741 Font copy constructor unnecessarily recalculates transcoding
2742 https://bugs.webkit.org/show_bug.cgi?id=86490
2744 Reviewed by Dan Bernstein.
2746 * platform/graphics/Font.cpp:
2747 (WebCore::Font::Font): Copy m_needsTranscoding instead of recomputing it.
2749 2012-05-15 Andreas Kling <kling@webkit.org>
2751 Deep copy PluginModuleInfo before passing across thread boundary.
2752 <http://webkit.org/b/86491>
2753 <rdar://problem/11451178>
2755 Reviewed by Anders Carlsson.
2757 * plugins/PluginData.h:
2759 (WebCore::MimeClassInfo::isolatedCopy):
2761 (WebCore::PluginInfo::isolatedCopy):
2763 2012-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
2765 Unreviewed, rolling out r116712.
2766 http://trac.webkit.org/changeset/116712
2767 https://bugs.webkit.org/show_bug.cgi?id=86484
2769 This patch is causing crashes in Chromium Canary builds
2770 (Requested by pilgrim_google__ on #webkit).
2772 * storage/StorageArea.h:
2774 * storage/StorageAreaImpl.cpp:
2775 (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
2776 (WebCore::StorageAreaImpl::setItem):
2777 (WebCore::StorageAreaImpl::removeItem):
2778 (WebCore::StorageAreaImpl::clear):
2779 * storage/StorageAreaImpl.h:
2782 2012-05-15 Darin Adler <darin@apple.com>
2784 Optimize save/restore with no drawing operations between them (shows up on some canvas benchmarks)
2785 https://bugs.webkit.org/show_bug.cgi?id=86448
2787 Reviewed by Simon Fraser.
2789 Since canvas programmers sometimes end up doing extra save/restore pairs with no actual drawing
2790 in between, optimize that case by not realizing saves until we have to. This is doubly important
2791 because saves are costly.
2793 * html/canvas/CanvasRenderingContext2D.cpp:
2794 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Initialize m_unrealizedSaveCount.
2795 (WebCore::CanvasRenderingContext2D::isAccelerated): Improve performance by calling the
2796 drawingContext function only once.
2797 (WebCore::CanvasRenderingContext2D::reset): Set m_unrealizedSaveCount to 0.
2798 (WebCore::CanvasRenderingContext2D::realizeSavesLoop): Added. Replaces the save function as the
2799 function that actually pushes context onto the state stack.
2800 (WebCore::CanvasRenderingContext2D::restore): Added code to do an early return if we can do the
2801 restore just by decrementing the unrealized save count.
2802 (WebCore::CanvasRenderingContext2D::setStrokeStyle): Added calls to realizeSaves and replaced
2803 calls to state with calls to modifiableState.
2804 (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
2805 (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. Also added an early out for cases where
2806 the line width is not changing.
2807 (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
2808 (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
2809 (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
2810 (WebCore::CanvasRenderingContext2D::setShadowOffsetX): Ditto.
2811 (WebCore::CanvasRenderingContext2D::setShadowOffsetY): Ditto.
2812 (WebCore::CanvasRenderingContext2D::setShadowBlur): Ditto.
2813 (WebCore::CanvasRenderingContext2D::setShadowColor): Ditto.
2814 (WebCore::CanvasRenderingContext2D::setWebkitLineDash): Ditto.
2815 (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset): Ditto.
2816 (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
2817 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
2818 (WebCore::CanvasRenderingContext2D::scale): Ditto.
2819 (WebCore::CanvasRenderingContext2D::rotate): Ditto.
2820 (WebCore::CanvasRenderingContext2D::translate): Ditto.
2821 (WebCore::CanvasRenderingContext2D::transform): Ditto.
2822 (WebCore::CanvasRenderingContext2D::setTransform): Ditto.
2823 (WebCore::CanvasRenderingContext2D::setStrokeColor): Ditto.
2824 (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
2825 (WebCore::CanvasRenderingContext2D::clip): Ditto.
2826 (WebCore::CanvasRenderingContext2D::clearRect): Changed implementation so it does not save
2827 the graphics context in the common case where shadows, global alpha, and global compositing
2828 operators do not interfer with the function's operation. This allowed us to get rid of the
2829 setAllAttributesToDefault function, which was used nowhere else.
2830 (WebCore::CanvasRenderingContext2D::setShadow): Added a new common bottleneck and made all
2831 the setShadow functions call it.
2832 (WebCore::CanvasRenderingContext2D::clearShadow): Changed to call the new setShadow.
2833 (WebCore::CanvasRenderingContext2D::setFont): Renamed tempDecl to the more friendly
2834 parsedStyle. Changed code structure so the CSS parser is deleted right after parsing is
2835 done. Used string concatenation instead of more expensive string append. Added calls to
2836 realizeSaves and modifiableState.
2837 (WebCore::CanvasRenderingContext2D::setTextAlign): Added calls to realizeSaves and replaced
2838 calls to state with calls to modifiableState. Also added an early out for cases where the
2839 alignment is not changing.
2840 (WebCore::CanvasRenderingContext2D::setTextBaseline): Ditto.
2842 * html/canvas/CanvasRenderingContext2D.h: Made save an inline function that bumps
2843 m_unrealizedSaveCount. Removed setAllAttributesToDefault. Added OVERRIDE for all the
2844 virtual function overrides, and made them all private. Moved m_path down with the other data
2845 members. Renamed the non-const state function to modifiableState. Added a realizeSaves
2846 function and the realizeSavesLoop for the unusual case where there is work to do.
2847 Added m_unrealizedSaveCount.
2849 2012-05-15 Tommy Widenflycht <tommyw@google.com>
2851 MediaStream API: Setting onended on a LocalMediaStream triggers an assertion in V8
2852 https://bugs.webkit.org/show_bug.cgi?id=86459
2854 Reviewed by Adam Barth.
2856 LocalMediaStream inherits from MediaStream, but only MediaStream have the
2857 EventTarget idl attribute. Adding the attribute to LocalMediaStream as well fixes the issue.
2859 Test: fast/mediastream/LocalMediaStream-onended.html
2861 * Modules/mediastream/LocalMediaStream.idl:
2863 2012-05-15 Terry Anderson <tdanderson@chromium.org>
2865 [chromium] Remove unused code for tap target fuzzing
2866 https://bugs.webkit.org/show_bug.cgi?id=86252
2868 Reviewed by Adam Barth.
2870 No tests required since this is a cleanup of unused code.
2872 * page/EventHandler.cpp:
2873 (WebCore::EventHandler::handleGestureTap):
2874 * page/EventHandler.h:
2876 The touch adjustment code will be used to determine the best target
2877 for a GestureTap event instead of passing in a pre-targeted node.
2878 * platform/PlatformGestureEvent.h:
2879 (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2880 (PlatformGestureEvent):
2881 A rectangular touch region is defined by the touch center and the
2882 delta values only, so gammaX and gammaY are not needed.
2884 2012-05-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2886 [Qt] WebKit with Qt5 hangs on Mac
2887 https://bugs.webkit.org/show_bug.cgi?id=79785
2889 Reviewed by Tor Arne Vestbø.
2891 Delay the initialization of our QNetworkConfigurationManager used in
2892 NetworkStateNotifierPrivate. On Mac it was causing a race condition because it
2893 spawns a thread that triggers a static initializer in Qt, while in the main
2894 thread NetworkStateNotifier is being static initialized. On Mac the lock for
2895 static initializers is shared between all of them, causing a deadlock.
2897 The issue was also reported in http://openradar.appspot.com/11217150.
2899 * platform/network/qt/NetworkStateNotifierPrivate.h:
2900 (NetworkStateNotifierPrivate):
2901 (WebCore::NetworkStateNotifierPrivate::effectivelyOnline):
2902 * platform/network/qt/NetworkStateNotifierQt.cpp:
2903 (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
2904 (WebCore::NetworkStateNotifierPrivate::setNetworkAccessAllowed):
2905 (WebCore::NetworkStateNotifierPrivate::setOnlineState):
2906 (WebCore::NetworkStateNotifierPrivate::initialize):
2908 (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
2909 (WebCore::NetworkStateNotifier::updateState):
2910 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2911 (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
2913 2012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2915 Factor HitTestPoint out of HitTestResult.
2916 https://bugs.webkit.org/show_bug.cgi?id=85965
2918 Reviewed by Simon Fraser.
2920 In preparation for handling transformations on area-based hit-testing,
2921 we need to factor test-point and test-area out of HitTestResult so that
2922 it can be transformed independently.
2924 To maintain the current API as closely as possible HitTestResult now
2925 inherit from HitTestPoint, representing the original untransformed
2928 No change in functionality. No new tests.
2930 * rendering/HitTestResult.cpp:
2931 (WebCore::HitTestPoint::HitTestPoint):
2932 (WebCore::HitTestPoint::~HitTestPoint):
2933 (WebCore::HitTestPoint::operator=):
2934 (WebCore::HitTestPoint::rectForPoint):
2935 (WebCore::HitTestResult::HitTestResult):
2936 (WebCore::HitTestResult::operator=):
2937 (WebCore::HitTestResult::isSelected):
2938 (WebCore::HitTestResult::spellingToolTip):
2939 (WebCore::HitTestResult::replacedString):
2940 * rendering/HitTestResult.h:
2942 (WebCore::HitTestPoint::point):
2943 (WebCore::HitTestPoint::roundedPoint):
2944 (WebCore::HitTestPoint::setPoint):
2945 (WebCore::HitTestPoint::isRectBasedTest):
2946 (WebCore::HitTestPoint::topPadding):
2947 (WebCore::HitTestPoint::rightPadding):
2948 (WebCore::HitTestPoint::bottomPadding):
2949 (WebCore::HitTestPoint::leftPadding):
2951 (WebCore::HitTestResult::hitTestPoint):
2952 (WebCore::HitTestPoint::rectForPoint):
2953 * rendering/RenderLayer.cpp:
2954 (WebCore::RenderLayer::hitTestLayer):
2955 (WebCore::RenderLayer::hitTestList):
2957 2012-05-15 Rob Buis <rbuis@rim.com>
2959 Refactor SVG parts of Node::addEventListener/removeEventListener
2960 https://bugs.webkit.org/show_bug.cgi?id=86426
2962 Reviewed by Nikolas Zimmermann.
2964 Move SVG parts of Node::addEventListener/removeEventListener into svg/. Now we do not
2965 have to check in Node::addEventListener/removeEventListener if we are dealing with an SVG
2966 element. Make tryAddEventListener/tryRemoveEventListener protected methods on Node to be able to use
2969 No new tests, since no change in behavior, just refactoring.
2972 (WebCore::tryAddEventListener):
2973 (WebCore::Node::addEventListener):
2974 (WebCore::tryRemoveEventListener):
2975 (WebCore::Node::removeEventListener):
2976 * svg/SVGElement.cpp:
2977 (WebCore::collectInstancesForSVGElement):
2979 (WebCore::SVGElement::addEventListener):
2980 (WebCore::SVGElement::removeEventListener):
2984 2012-05-15 Andreas Kling <kling@webkit.org>
2986 RuleSet::addToRuleSet wastes a bit of Vector capacity.
2987 <http://webkit.org/b/86434>
2989 Reviewed by Antti Koivisto.
2991 Have makeRuleSet call shrinkToFit() on the vectors before returning them.
2992 This avoids wasting space for the rulesets constructed in collectFeatures().
2994 * css/StyleResolver.cpp:
2995 (WebCore::makeRuleSet):
2997 2012-05-15 Darin Adler <darin@apple.com>
2999 [CG] CGImageCreateWithImageInRect is too slow, but for now we still need to use it
3000 https://bugs.webkit.org/show_bug.cgi?id=86340
3002 Reviewed by Geoffrey Garen.
3004 This patch adds a subimage cache to defray the cost of CGImageCreateWithImageInRect.
3005 Later, we will restructure the code so it doesn't use that function, but at the
3006 moment there are CG issues blocking that change.
3008 * platform/graphics/cg/GraphicsContextCG.cpp:
3009 (SubimageCacheEntry): Added. An entry in the cache.
3010 (SubimageCacheEntryTraits): Added. Traits for the cache.
3011 (SubimageCacheHash): Added. Hash function for the cache.
3012 (SubimageCacheTimer): Added. Timer that clears the cache after a second
3014 (SubimageCacheWithTimer): Added. Cache and its timer.
3015 (WebCore::subimageCache): Added. Function returning the single global timer.
3016 (WebCore::SubimageCacheTimer::restart): Added. Start the timer.
3017 (WebCore::SubimageCacheTimer::fired): Added. Clear the cache when the timer fires.
3018 (SubimageRequest): Added. A key to look up in the cache.
3019 (SubimageCacheAdder): Added. Translator to add to the cache.
3020 (WebCore::subimage): Added. Puts an entry in the cache.
3021 (WebCore::GraphicsContext::drawNativeImage): Changed to call the subimage function.
3023 2012-05-15 Eugene Klyuchnikov <eustas.bug@gmail.com>
3025 Web Inspector: AdvancedSearchController is not stopped then view is hidden.
3026 https://bugs.webkit.org/show_bug.cgi?id=86466
3028 Reviewed by Vsevolod Vlasov.
3030 AdvancedSearchController overrides "wasHidden" method instead of "willHide".
3032 UI event-flow, not tested.
3034 * inspector/front-end/AdvancedSearchController.js:
3035 (WebInspector.SearchView.prototype.willHide): Renamed function.
3037 2012-05-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3039 [Qt] http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html times out
3040 https://bugs.webkit.org/show_bug.cgi?id=84016
3042 Reviewed by Simon Hausmann.
3044 Calling didFail abort the connection and doesn't activate the HEADERS_RECEIVED state.
3045 Since the goal of HEAD is to test then the request should be marked as finished
3046 also in cases of HTTP errors.
3047 This matches other ports behavior.
3049 * platform/network/qt/QNetworkReplyHandler.cpp:
3050 (WebCore::shouldIgnoreHttpError):
3052 2012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
3054 [Qt][WK2] Fix scrolling in touch mode
3055 https://bugs.webkit.org/show_bug.cgi?id=75006
3057 Reviewed by Kenneth Rohde Christiansen.
3059 * page/FrameView.cpp:
3060 (WebCore::FrameView::setFixedVisibleContentRect):
3061 On changes to fixedVisibleContentRect update scroll-animators position, and
3062 recalculate page-step sizes in scrollbars.
3063 * platform/ScrollView.cpp:
3064 (WebCore::ScrollView::scrollTo):
3065 Forward scrolling-request to the host window.
3066 (WebCore::ScrollView::updateScrollbars):
3067 Allow ScrollViews to have invisible scrollbars when scrolling is delegated.
3068 * platform/ScrollView.h:
3071 2012-05-15 Vsevolod Vlasov <vsevik@chromium.org>
3073 Web Inspector: Refactor SnippetsModel: extract SnippetStorage, make SnippetScriptMapping delegate calls to ScriptSnippetModel and provide public interface on ScriptSnippetModel in terms of uiSourceCodes
3074 https://bugs.webkit.org/show_bug.cgi?id=86477
3076 Reviewed by Pavel Feldman.
3078 Extracted SnippetStorage to be reused for other snippet types.
3079 Made SnippetScriptMapping delegate all calls to ScriptSnippetModel and injected it in DebuggerPresentationModel.
3080 ScriptSnippetModel now provides public interface for ScriptsPanel in terms of uiSourceCodes.
3082 Tests: inspector/debugger/script-snippet-model.html
3083 inspector/snippet-storage.html
3086 * WebCore.vcproj/WebCore.vcproj:
3087 * inspector/compile-front-end.py:
3088 * inspector/front-end/DebuggerPresentationModel.js:
3089 (WebInspector.DebuggerPresentationModel):
3090 * inspector/front-end/ScriptSnippetModel.js: Added.
3091 (WebInspector.ScriptSnippetModel):
3092 (WebInspector.ScriptSnippetModel.prototype.get scriptMapping):
3093 (WebInspector.ScriptSnippetModel.prototype.createScriptSnippet):
3094 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3095 (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
3096 (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation.get if):
3097 (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation):
3098 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
3099 (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
3100 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3101 (WebInspector.ScriptSnippetModel.prototype._sourceURLForSnippet):
3102 (WebInspector.ScriptSnippetModel.prototype._snippetIdForSourceURL):
3103 (WebInspector.ScriptSnippetModel.prototype._snippetForSourceURL):
3104 (WebInspector.ScriptSnippetModel.prototype._reset):
3105 (WebInspector.SnippetScriptMapping):
3106 (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
3107 (WebInspector.SnippetScriptMapping.prototype.uiLocationToRawLocation):
3108 (WebInspector.SnippetScriptMapping.prototype.uiSourceCodeList):
3109 (WebInspector.SnippetScriptMapping.prototype.snippetIdForSourceURL):
3110 (WebInspector.SnippetScriptMapping.prototype.addScript):
3111 (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesAdded):
3112 (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesRemoved):
3113 (WebInspector.SnippetScriptMapping.prototype.reset):
3114 (WebInspector.SnippetContentProvider):
3115 * inspector/front-end/SnippetStorage.js: Added.
3116 (WebInspector.SnippetStorage):
3117 (WebInspector.SnippetStorage.prototype.get namePrefix):
3118 (WebInspector.SnippetStorage.prototype._saveSettings):
3119 (WebInspector.SnippetStorage.prototype.set snippets):
3120 (WebInspector.SnippetStorage.prototype.snippetForId):
3121 (WebInspector.SnippetStorage.prototype.deleteSnippet):
3122 (WebInspector.SnippetStorage.prototype._snippetAdded):
3123 (WebInspector.SnippetStorage.prototype.reset.set this):
3124 (WebInspector.Snippet):
3125 (WebInspector.Snippet.fromObject):
3126 (WebInspector.Snippet.prototype.get id):
3127 (WebInspector.Snippet.prototype.get name):
3128 (WebInspector.Snippet.prototype.set name):
3129 (WebInspector.Snippet.prototype.get content):
3130 (WebInspector.Snippet.prototype.set content):
3131 (WebInspector.Snippet.prototype.serializeToObject):
3132 * inspector/front-end/SnippetsModel.js: Removed.
3133 * inspector/front-end/WebKit.qrc:
3134 * inspector/front-end/inspector.html:
3135 * inspector/front-end/inspector.js:
3137 2012-05-15 Pavel Feldman <pfeldman@chromium.org>
3139 Web Inspector: add show/hide debugger sidebar button.
3140 https://bugs.webkit.org/show_bug.cgi?id=86478
3142 Reviewed by Vsevolod Vlasov.
3144 As with the navigator, but with no overlay. See the screenshot.
3146 * English.lproj/localizedStrings.js:
3147 * inspector/front-end/NavigatorOverlayController.js:
3148 (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3149 * inspector/front-end/ScriptsPanel.js:
3150 (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3151 (WebInspector.ScriptsPanel.prototype._debuggerResumed):
3152 (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
3153 (WebInspector.ScriptsPanel.prototype._installDebuggerSidebarController.clickHandler):
3154 (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
3155 (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
3156 * inspector/front-end/scriptsPanel.css:
3157 (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
3158 (button.status-bar-item.scripts-debugger-show-hide-button):
3159 (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
3160 (.status-bar-item.scripts-debugger-show-hide-button.toggled-shown > .glyph):
3161 (.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden > .glyph):
3163 2012-05-15 Zoltan Herczeg <zherczeg@webkit.org>
3165 NEONizing forceValidPreMultipliedPixels
3166 https://bugs.webkit.org/show_bug.cgi?id=86468
3168 Reviewed by Nikolas Zimmermann.
3170 Optimize forceValidPreMultipliedPixels with ARM-NEON intrinsics.
3172 Existing tests cover this feature.
3174 * platform/graphics/filters/FilterEffect.cpp:
3175 (WebCore::FilterEffect::forceValidPreMultipliedPixels):
3177 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3179 Web Inspector: remove unnecessary setTimeout in HeapSnapshotGridNodes.js
3180 https://bugs.webkit.org/show_bug.cgi?id=86464
3182 Reviewed by Pavel Feldman.
3184 * inspector/front-end/HeapSnapshotGridNodes.js:
3185 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved): Posting
3186 a message to worker is already asynchronous, no need to postpone the call via setTimeout.
3187 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
3189 2012-05-15 Florin Malita <fmalita@chromium.org>
3191 Mask deformations when masked content is rotated
3192 https://bugs.webkit.org/show_bug.cgi?id=76527
3194 Reviewed by Nikolas Zimmermann.
3196 Test: svg/repaint/mask-clip-target-transform.svg
3198 RenderSVGResource::markForLayoutAndParentResourceInvalidation() needs to also
3199 invalidate parent mask and clip resources, not just filters.
3201 * rendering/svg/RenderSVGResource.cpp:
3202 (WebCore::removeFromCacheAndInvalidateDependencies):
3203 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
3205 2012-05-15 Pavel Feldman <pfeldman@chromium.org>
3207 Web Inspector: merge show navigator with pin navigator buttons.
3208 https://bugs.webkit.org/show_bug.cgi?id=86469
3210 Reviewed by Vsevolod Vlasov.
3212 See screenshots attached to the bug.
3214 * English.lproj/localizedStrings.js:
3215 * inspector/front-end/Images/navigatorPinButton.png: Removed.
3216 * inspector/front-end/Images/navigatorShowHideButton.png:
3217 * inspector/front-end/NavigatorOverlayController.js:
3218 (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
3219 (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3220 (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
3221 (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
3222 (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
3223 * inspector/front-end/SidebarOverlay.js:
3224 (WebInspector.SidebarOverlay):
3225 (WebInspector.SidebarOverlay.prototype.show):
3226 (WebInspector.SidebarOverlay.prototype.hide):
3227 * inspector/front-end/navigatorView.css:
3228 (.navigator-tabbed-pane .tabbed-pane-header-contents):
3229 * inspector/front-end/scriptsPanel.css:
3230 (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
3231 (.status-bar-item.scripts-navigator-show-hide-button.toggled-shown > .glyph):
3232 (.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay > .glyph):
3233 (button.status-bar-item.scripts-navigator-show-hide-button):
3234 (button.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay):
3236 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3238 Web Inspector: implement "Reveal in Dominators view" context menu action
3239 https://bugs.webkit.org/show_bug.cgi?id=86455
3241 Reviewed by Pavel Feldman.
3243 Implemented "Reveal in Dominators view" context menu action for objects
3246 Test: inspector/profiler/heap-snapshot-reveal-in-dominators-view.html
3248 * English.lproj/localizedStrings.js:
3249 * inspector/front-end/HeapSnapshot.js:
3250 (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
3251 (WebInspector.HeapSnapshot.prototype.nodeClassName):
3252 (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
3253 * inspector/front-end/HeapSnapshotDataGrids.js:
3254 (WebInspector.HeapSnapshotDominatorsDataGrid):
3255 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
3256 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
3257 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetDominators):
3258 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.expandNextDominator):
3259 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
3260 * inspector/front-end/HeapSnapshotGridNodes.js:
3261 (WebInspector.HeapSnapshotGridNode.prototype.childForPosition):
3262 (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
3263 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
3264 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
3265 (WebInspector.HeapSnapshotGridNode.prototype.sort):
3266 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
3267 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didGetNodePosition):
3268 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didPopulateChildren):
3269 * inspector/front-end/HeapSnapshotProxy.js:
3270 (WebInspector.HeapSnapshotProxy.prototype.dominatorIdsForNode):
3271 * inspector/front-end/ProfilesPanel.js:
3272 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
3273 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
3274 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
3276 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3278 Web Inspector: exception when switching to heap profiler comparison view
3279 https://bugs.webkit.org/show_bug.cgi?id=86224
3281 Reviewed by Pavel Feldman.
3283 Make sure the messages are dispatched in the same order as they are sent in
3284 case a fake worker is used for heap snapshot processing.
3286 * inspector/front-end/HeapSnapshotProxy.js:
3287 (WebInspector.TimerQueue):
3288 (WebInspector.TimerQueue.prototype.addTask):
3289 (WebInspector.TimerQueue.prototype._onTimeout):
3290 (WebInspector.TimerQueue.prototype._scheduleTimer):
3291 (WebInspector.HeapSnapshotFakeWorker):
3292 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
3293 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
3295 2012-05-15 Zoltan Herczeg <zherczeg@webkit.org>
3297 The ARM NEON optimized filters does not compile on THUMB2
3298 https://bugs.webkit.org/show_bug.cgi?id=86457
3300 Reviewed by Csaba Osztrogonác.
3302 We should disable the compilation on Thumb2 until we fix the code.
3304 * platform/graphics/filters/FEComposite.cpp:
3305 (WebCore::FEComposite::platformArithmeticSoftware):
3306 * platform/graphics/filters/FEGaussianBlur.cpp:
3307 (WebCore::FEGaussianBlur::platformApplyWorker):
3308 (WebCore::FEGaussianBlur::platformApply):
3309 * platform/graphics/filters/FELighting.cpp:
3310 (WebCore::FELighting::platformApply):
3311 * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
3312 * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
3313 * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
3314 * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
3315 * platform/graphics/filters/arm/FELightingNEON.cpp:
3316 * platform/graphics/filters/arm/FELightingNEON.h:
3318 2012-05-15 MORITA Hajime <morrita@google.com>
3320 Kill unnecessary RuntimeEnabledFeatures.h inclusion
3321 https://bugs.webkit.org/show_bug.cgi?id=86451
3323 Reviewed by Kentaro Hara.
3325 No new tests. No behavior change.
3328 * dom/ElementShadow.cpp:
3329 * dom/TreeScope.cpp:
3331 2012-05-14 Shinya Kawanaka <shinyak@chromium.org>
3333 document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
3334 https://bugs.webkit.org/show_bug.cgi?id=86341
3336 Reviewed by Ryosuke Niwa.
3338 When document.execCommand('Indent') is executed in the direct child of ShadowRoot,
3339 the scope variable of TextIterator becomes ShadowRoot. However, an element is assumed for it,
3340 so a crash happended.
3342 This patch enables TextIterator to have ShadowRoot as a scope variable.
3344 Test: editing/shadow/execcommand-indent-in-shadow.html
3347 * editing/ApplyBlockElementCommand.cpp:
3348 (WebCore::ApplyBlockElementCommand::doApply):
3349 * editing/InsertListCommand.cpp:
3350 (WebCore::InsertListCommand::doApply):
3351 * editing/TextIterator.cpp:
3352 (WebCore::TextIterator::rangeFromLocationAndLength):
3353 * editing/TextIterator.h:
3355 * editing/htmlediting.cpp:
3356 (WebCore::indexForVisiblePosition):
3357 (WebCore::visiblePositionForIndex):
3358 * editing/htmlediting.h:
3361 2012-05-14 Shinya Kawanaka <shinyak@chromium.org>
3363 Node::shadowTreeRootNode() should return ShadowRoot instead of Node.
3364 https://bugs.webkit.org/show_bug.cgi?id=86428
3366 Reviewed by Hajime Morita.
3368 Since Node::shadowTreeRootNode() returns only ShadowRoot or 0 now, its return type should be ShadowRoot.
3369 This patch changes the return type and adds include directive to build.
3371 No new tests, no change in behavior.
3374 (WebCore::Node::shadowAncestorNode):
3375 (WebCore::Node::shadowTreeRootNode):
3379 * dom/NodeRenderingContext.cpp:
3380 (WebCore::NodeRenderingContext::NodeRenderingContext):
3382 (WebCore::Range::shadowTreeRootNode):
3385 * editing/Editor.cpp:
3386 * editing/TextIterator.cpp:
3387 * editing/htmlediting.cpp:
3388 * html/shadow/ContentSelectorQuery.cpp:
3389 * html/shadow/HTMLContentElement.cpp:
3390 (WebCore::HTMLContentElement::parseAttribute):
3391 * html/shadow/InsertionPoint.cpp:
3392 (WebCore::InsertionPoint::detach):
3393 * page/EventHandler.cpp:
3395 2012-05-14 Luke Macpherson <macpherson@chromium.org>
3397 Make StyleResolver::applyMatchedProperties and ::applyProperties use enum template parameter instead of bool.
3398 https://bugs.webkit.org/show_bug.cgi?id=86424
3400 Reviewed by Dimitri Glazkov.
3402 This patch changes from using a boolean template parameter for StyleResolver::applyMatchedProperties and
3403 StyleResolver::applyProperties functions. The motivation for this change is that it paves the way for
3404 CSS Variables to make the value tri-state, which is a requirement because variable definitions must occur
3405 before high priority CSS properties such that they can be referenced by the latter. This change affects
3406 only the type signatures of those functions, and not their behavior.
3408 * css/StyleResolver.cpp:
3409 (WebCore::StyleResolver::collectMatchingRulesForList):
3410 * css/StyleResolver.h:
3412 2012-05-14 MORITA Hajime <morrita@google.com>
3414 [Refactoring] Get rid of ContentDistribution::Item
3415 https://bugs.webkit.org/show_bug.cgi?id=86350
3417 This change replaces the linked list on ContentDistribution with a Vector.
3418 We no longer link item class ContentDistribution::Item.
3419 This simplification also allows ContentDistribution to go.
3420 ContentDistribution is now just a typedef of Vector<RefPtr<Node> >.
3422 Reviewed by Dimitri Glazkov.
3424 No new tests. Covered by existing tests.
3426 * dom/ComposedShadowTreeWalker.cpp:
3427 (WebCore::ComposedShadowTreeWalker::traverseNode):
3428 (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
3429 * dom/ElementShadow.cpp:
3430 * dom/ElementShadow.h:
3432 * dom/NodeRenderingContext.cpp:
3433 (WebCore::nextRendererOfInsertionPoint):
3434 (WebCore::previousRendererOfInsertionPoint):
3435 (WebCore::firstRendererOfInsertionPoint):
3436 (WebCore::lastRendererOfInsertionPoint):
3437 * html/shadow/ContentDistributor.cpp:
3438 (WebCore::ContentDistributor::distribute):
3439 (WebCore::ContentDistributor::clearDistribution):
3440 (WebCore::ContentDistributor::findInsertionPointFor):
3441 * html/shadow/ContentDistributor.h:
3443 (ContentDistributor):
3444 * html/shadow/InsertionPoint.cpp:
3445 (WebCore::InsertionPoint::InsertionPoint):
3446 (WebCore::InsertionPoint::attachDistributedNode):
3447 (WebCore::InsertionPoint::assignShadowRoot):
3448 (WebCore::InsertionPoint::nextTo):
3450 (WebCore::InsertionPoint::previousTo):
3451 * html/shadow/InsertionPoint.h: Added a set of delegate method to m_distribution.
3452 (WebCore::InsertionPoint::hasDistribution):
3453 (WebCore::InsertionPoint::indexOf):
3454 (WebCore::InsertionPoint::size):
3455 (WebCore::InsertionPoint::at):
3456 (WebCore::InsertionPoint::first):
3457 (WebCore::InsertionPoint::last):
3460 2012-05-14 Tim Horton <timothy_horton@apple.com>
3462 RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
3463 https://bugs.webkit.org/show_bug.cgi?id=86429
3464 <rdar://problem/11445132>
3466 Reviewed by Simon Fraser.