1 2012-05-16 Jon Lee <jonlee@apple.com>
3 Animated GIFs in page cache get updated
4 https://bugs.webkit.org/show_bug.cgi?id=86668
5 <rdar://problem/11395549>
7 Reviewed by Brady Eidson.
9 Test: fast/loader/image-in-page-cache.html
11 * rendering/RenderImage.cpp:
12 (WebCore::RenderImage::imageChanged): When we are notified by the CachedImage that the image has
13 changed, we check to see if the document is in the page cache. If so, we should not be updating,
16 2012-05-16 Tim Horton <timothy_horton@apple.com>
18 Crash if SVG gradient stop has display: none set
19 https://bugs.webkit.org/show_bug.cgi?id=86686
20 <rdar://problem/10751905>
22 Reviewed by Dean Jackson.
24 Create a renderer for SVGStopElement regardless of the "display" property.
25 This matches the behavior of Opera and the SVG specification.
27 Test: svg/custom/gradient-stop-display-none-crash.svg
29 * svg/SVGStopElement.cpp:
30 (WebCore::SVGStopElement::rendererIsNeeded):
32 * svg/SVGStopElement.h:
35 2012-05-16 Dana Jansens <danakj@chromium.org>
37 [chromium] Clear the m_private pointer when destroying WebFilterOperations to avoid assert in WebPrivateOwnPtr
38 https://bugs.webkit.org/show_bug.cgi?id=86654
40 Reviewed by James Robinson.
42 * platform/chromium/support/WebFilterOperations.cpp:
43 (WebKit::WebFilterOperations::reset):
44 (WebKit::WebFilterOperations::destroy):
47 2012-05-16 Ryosuke Niwa <rniwa@webkit.org>
49 REGRESSION(r92823): WebKit strips font-weight: normal from b element when copying
50 https://bugs.webkit.org/show_bug.cgi?id=86663
52 Reviewed by Tony Chang.
54 The bug was caused by removeStyleFromRulesAndContext incorrectly stripping font-weight property
55 even when the context had no font-weight property because of a property name mismatch in getPropertiesNotIn.
59 Test: editing/pasteboard/paste-text-with-style-5.html
61 * editing/EditingStyle.cpp:
62 (WebCore::getPropertiesNotIn):
64 2012-05-16 Ryosuke Niwa <rniwa@webkit.org>
66 Merge nextRootInlineBox with nextLinePosition
67 https://bugs.webkit.org/show_bug.cgi?id=81593
69 Reviewed by Enrica Casucci.
71 Call previousRootInlineBox and nextRootInlineBox in previousLinePosition and nextLinePosition respectively
72 to share the code. Moved out the nullity check of startBox and extracted the renderer's node from the former
73 two, and added editableType to their argument lists to match the interface in both use cases.
75 Also moved out the code to extract root inline box using RenderedPosition from those two functions and
76 expanded in call sites since previousLinePosition and nextLinePosition need to return the candidate position
77 even when the root inline box doesn't exist. To this end, renamed previousRootInlineBox and nextRootInlineBox
78 to previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition respectively.
80 In addition, got rid of one version of nextLeafWithSameEditability that adjusted node with respect to offset
83 Node* child = node->childNode(offset);
84 node = child ? child->nextLeafNode() : node->lastDescendant()->nextLeafNode();
88 node = node->nextLeafNode();
90 at the beginning of the function. Observe that the former code is logically equivalent to:
92 Node* child = node->childNode(offset);
93 node = child ? child : node->lastDescendant();
94 node = node->nextLeafNode();
96 Thus, the first two lines of this logically equivalent code is added in nextLinePosition wherein we used to
97 call the removed variant.
99 This refactoring with no behavioral change would help us resolving the bug 81490.
101 * editing/visible_units.cpp:
102 (WebCore::previousRootInlineBoxCandidatePosition): Renamed from previousRootInlineBox.
103 (WebCore::nextRootInlineBoxCandidatePosition): Renamed from nextRootInlineBox.
104 (WebCore::logicallyPreviousBox): Checks the nullity of startBox's renderer and node. Also extracts the root
105 inline box out of the position per the interface change.
106 (WebCore::logicallyNextBox): Ditto.
107 (WebCore::previousLinePosition): Calls previousRootInlineBoxCandidatePosition.
108 (WebCore::nextLinePosition): Calls nextRootInlineBoxCandidatePosition.
110 2012-05-16 Noel Gordon <noel.gordon@gmail.com>
112 [chromium] Remove ImageDecoderCG.cpp from platform/image-decoders
113 https://bugs.webkit.org/show_bug.cgi?id=86346
115 Reviewed by Adam Barth.
117 ImageDecoderCG.cpp was added for use in the Chromium port in r70846. Remove the
118 implementation now that Chromium uses Skia on Mac OSX by default.
120 No new tests. No change in behavior.
122 * WebCore.gypi: Remove ImageDecoderCG.cpp from the gyp project.
123 * platform/graphics/ImageSource.h: Revert the r70846 changes.
124 * platform/image-decoders/ImageDecoder.cpp: Remove copyReferenceToBitmapData().
125 (WebCore::ImageFrame::operator=): Return to using copyBitmapData() (as it was)
126 given the removal of copyReferenceToBitmapData() above.
127 * platform/image-decoders/ImageDecoder.h:
128 (ImageFrame): Remove copyReferenceToBitmapData() declaration.
129 * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed, and it was the only
130 decoder with a port-specific implementation of copyReferenceToBitmapData().
132 2012-05-16 Raymond Toy <rtoy@google.com>
134 Simplify AudioNode ref-counting by removing RefTypeDisabled
135 https://bugs.webkit.org/show_bug.cgi?id=85681
137 Reviewed by Chris Rogers.
139 Existing tests should cover these changes.
141 * Modules/webaudio/AudioNode.cpp: Remove RefTypeDiabled and m_disabledRefCount.
142 (WebCore::AudioNode::AudioNode):
143 (WebCore::AudioNode::~AudioNode):
144 (WebCore::AudioNode::enableOutputsIfNecessary): New
145 (WebCore::AudioNode::ref):
146 (WebCore::AudioNode::disableOutputsIfNecessary): New
147 (WebCore::AudioNode::finishDeref):
148 * Modules/webaudio/AudioNode.h: Remove RefTypeDisabled and m_disabledRefCount.
149 * Modules/webaudio/AudioNodeInput.cpp: Removed uses of RefTypeDisbled.
150 (WebCore::AudioNodeInput::disconnect):
151 (WebCore::AudioNodeInput::disable):
152 (WebCore::AudioNodeInput::enable):
154 2012-05-16 Ojan Vafai <ojan@chromium.org>
156 Fix perf regression from r116487
157 https://bugs.webkit.org/show_bug.cgi?id=86680
159 Reviewed by Ryosuke Niwa.
161 http://trac.webkit.org/changeset/116487 caused a 6% regression on
162 Dromaeo's dom-attr test. The issue is that we invalidated NodeList
163 caches whenever an id/checked/type attribute changed.
165 First, we don't need to invalidate on checked/type since that only
166 affects the values return by NodeList items, not the list of items.
167 Second, we only need to invalidate NodeList caches when an id attribute
168 changes on a FormControlElement.
170 Incidentally, we also don't need to invalidate caches for changes
171 to attributes that don't have an ownerElement.
173 No new tests. This is strictly a performance improvement.
176 (WebCore::Attr::setValue):
177 (WebCore::Attr::childrenChanged):
179 (WebCore::Element::attributeChanged):
181 (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
185 2012-04-22 Robert Hogan <robert@webkit.org>
187 CSS 2.1 failure: inline-table-001 fails
188 https://bugs.webkit.org/show_bug.cgi?id=84167
190 Reviewed by Julien Chaffraix.
192 Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline
193 of the text in the first row of the table. This allows inline tables to find the
194 correct baseline to align to.
197 css2.1/20110323/inline-table-001.htm
198 css2.1/20110323/inline-table-002a.htm
199 css2.1/20110323/inline-table-003.htm
200 fast/css/empty-cell-baseline.html
202 * rendering/RenderTable.cpp:
203 (WebCore::getLineBoxBaseline):
205 (WebCore::RenderTable::lastLineBoxBaseline):
206 (WebCore::RenderTable::firstLineBoxBaseline):
207 * rendering/RenderTable.h:
209 * rendering/RenderTableSection.cpp:
210 (WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a
211 baseline. Tested by fast/css/empty-cell-baseline.html
213 2012-05-16 Joshua Bell <jsbell@chromium.org>
215 IndexedDB: Rename valid/finished methods to isValid/isFinished to match coding standard
216 https://bugs.webkit.org/show_bug.cgi?id=86655
218 Reviewed by Tony Chang.
220 No new tests - no functional changes.
222 * Modules/indexeddb/IDBKey.h:
223 (WebCore::IDBKey::isValid): valid() => isValid()
224 * Modules/indexeddb/IDBObjectStore.cpp:
225 (WebCore::IDBObjectStore::deleteFunction):
226 (WebCore::IDBObjectStore::index):
227 (WebCore::IDBObjectStore::transactionFinished):
228 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
229 (WebCore::IDBObjectStoreBackendImpl::put):
230 (WebCore::IDBObjectStoreBackendImpl::putInternal):
231 (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
232 * Modules/indexeddb/IDBRequest.cpp:
233 (WebCore::IDBRequest::onSuccess):
234 * Modules/indexeddb/IDBTransaction.cpp:
235 (WebCore::IDBTransaction::isFinished): finished() => isFinished()
236 * Modules/indexeddb/IDBTransaction.h:
237 * inspector/InspectorIndexedDBAgent.cpp:
240 2012-05-16 Jeffrey Pfau <jpfau@apple.com>
242 ImageLoader can still dispatch beforeload events for ImageDocuments
243 https://bugs.webkit.org/show_bug.cgi?id=86658
244 <rdar://problem/11465863>
246 Reviewed by Brady Eidson.
248 Prevent flags regarding sending beforeload events from being set on ImageDocuments.
250 No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
252 * loader/ImageLoader.cpp:
253 (WebCore::ImageLoader::updateFromElement):
255 2012-05-16 Julien Chaffraix <jchaffraix@webkit.org>
257 layerX/layerY warning should be removed
258 https://bugs.webkit.org/show_bug.cgi?id=86264
260 Reviewed by James Robinson.
262 Covered by: fast/dom/Window/window-xy-properties.html
263 fast/events/init-events.html
264 fast/events/mouse-relative-position.html
265 fast/events/mouseclick-target-and-positioning.html
266 fast/events/simulated-click-coords.html
269 This change just removes the warning pending proper investigation.
271 Longer explanation: The layerX/layerY warning was added prematurely
272 as we didn't assess the web-compatibility potential breakage vs the
273 maintenance cost. There is also not readily available replacement.
275 * dom/MouseRelatedEvent.cpp:
276 (WebCore::MouseRelatedEvent::layerX):
277 (WebCore::MouseRelatedEvent::layerY):
279 (WebCore::UIEvent::layerX):
280 (WebCore::UIEvent::layerY):
282 Removed warnDeprecatedLayerXYUsage and all the associated calls.
284 2012-05-16 Joshua Bell <jsbell@chromium.org>
286 IndexedDB: Use accessors for backing store / database id in store/index backends
287 https://bugs.webkit.org/show_bug.cgi?id=86652
289 Reviewed by Tony Chang.
291 Hide the private members m_backingStore and m_databaseId of IDBObjectStoreBackendImpl
292 and IDBIndexBackendImpl behind accessors. This is preparation for removing these
293 members and only holding references to the IDBDatabaseBackendImpl: webkit.org/b/83074
295 No new tests - no functional changes.
297 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
298 (WebCore::IDBIndexBackendImpl::openCursorInternal):
299 (WebCore::IDBIndexBackendImpl::countInternal):
300 (WebCore::IDBIndexBackendImpl::getInternal):
301 (WebCore::IDBIndexBackendImpl::getByRangeInternal):
302 (WebCore::IDBIndexBackendImpl::getKeyInternal):
303 (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
304 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
305 * Modules/indexeddb/IDBIndexBackendImpl.h:
306 (WebCore::IDBIndexBackendImpl::backingStore): Added.
307 (WebCore::IDBIndexBackendImpl::databaseId): Added.
308 (IDBIndexBackendImpl):
309 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
310 (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
311 (WebCore::IDBObjectStoreBackendImpl::getInternal):
312 (WebCore::IDBObjectStoreBackendImpl::putInternal):
313 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
314 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
316 (WebCore::IDBObjectStoreBackendImpl::createIndex):
317 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
318 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
319 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
320 (WebCore::IDBObjectStoreBackendImpl::countInternal):
321 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
322 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
323 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
324 (WebCore::IDBObjectStoreBackendImpl::backingStore): Added.
325 (WebCore::IDBObjectStoreBackendImpl::databaseId): Added.
326 (IDBObjectStoreBackendImpl):
328 2012-05-15 Peter Kasting <pkasting@google.com>
330 Malformed GIF can cause decoder to read off end of heap buffer
331 https://bugs.webkit.org/show_bug.cgi?id=86531
333 Reviewed by Adam Barth.
335 Test: fast/images/read-past-end-of-buffer.html
336 This test is only expected to catch problems if run under Address
337 Sanitizer or a similar memory-checking utility.
339 * platform/image-decoders/gif/GIFImageReader.cpp:
340 (GIFImageReader::read):
342 2012-05-16 Varun Jain <varunjain@google.com>
344 [chromium] No modifier flags (shift/ctrl/alt) in drag&drop events on chromium linux
345 https://bugs.webkit.org/show_bug.cgi?id=86236
347 Reviewed by Tony Chang.
349 ManualTests: ManualTests/chromium/modifiers-during-drag-and-drop.html
351 * page/DragController.cpp:
352 (WebCore::createMouseEvent):
353 * platform/DragData.cpp:
355 (WebCore::DragData::modifierKeyState):
356 * platform/DragData.h:
358 * platform/chromium/ChromiumDataObject.cpp:
359 (WebCore::ChromiumDataObject::ChromiumDataObject):
360 * platform/chromium/ChromiumDataObject.h:
361 (WebCore::ChromiumDataObject::modifierKeyState):
362 (WebCore::ChromiumDataObject::setModifierKeyState):
363 (ChromiumDataObject):
364 * platform/chromium/DragDataChromium.cpp:
365 (WebCore::DragData::modifierKeyState):
368 2012-05-16 Jer Noble <jer.noble@apple.com>
370 <video> elements with no video tracks report false for webkitSupportsFullscreen.
371 https://bugs.webkit.org/show_bug.cgi?id=86650
373 Reviewed by Eric Carlson.
375 No new tests; updated media/media-fullscreen-inline.html.
377 With the new Full Screen API, the restriction that only video elements with
378 video tracks can enter full screen seems arbitrary. Some media types will
379 occasionally determine they have video tracks long after loadedmetadata, which
380 breaks websites who check for webkitSupportsFullscreen(). Relax the restriction
381 on webkitSupportsFullscreen() for ports where the Full Screen API is enabled and
382 supported so as to no longer require hasVideo().
384 * html/HTMLVideoElement.cpp:
385 (WebCore::HTMLVideoElement::supportsFullscreen):
387 2012-05-16 Andreas Kling <kling@webkit.org>
389 Avoid reparsing the style attribute when cloning elements.
390 <http://webkit.org/b/86574>
392 Reviewed by Antti Koivisto.
394 Refactor cloning of attributes a bit to dodge the styleAttr reparse previously
395 caused by ElementAttributeData::setAttributes().
397 Introduced Element::cloneDataFromElement() which takes care of cloning the
398 ElementAttributeData as well as "non-attribute properties" (which is currently
399 specific to HTMLInputElement.)
401 Also includes some additional dodging of attribute vector traversal to find
402 old/new 'id' and 'name' attributes.
404 I'm seeing a ~10% improvement on PerformanceTests/DOM/CloneNodes locally.
407 (WebCore::Document::importNode):
409 (WebCore::Element::cloneElementWithoutChildren):
410 (WebCore::Element::cloneAttributesFromElement):
411 (WebCore::Element::cloneDataFromElement):
413 (WebCore::Element::copyNonAttributePropertiesFromElement):
414 * dom/ElementAttributeData.cpp:
415 (WebCore::ElementAttributeData::cloneDataFrom):
416 * dom/ElementAttributeData.h:
417 (ElementAttributeData):
419 * dom/StyledElement.cpp:
420 (WebCore::StyledElement::styleAttributeChanged):
421 (WebCore::StyledElement::parseAttribute):
422 * dom/StyledElement.h:
423 * editing/ReplaceNodeWithSpanCommand.cpp:
424 (WebCore::swapInNodePreservingAttributesAndChildren):
425 * html/HTMLElement.cpp:
426 * html/HTMLInputElement.cpp:
427 (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
428 * html/HTMLInputElement.h:
429 * inspector/DOMPatchSupport.cpp:
430 (WebCore::DOMPatchSupport::innerPatchNode):
431 * inspector/InspectorDOMAgent.cpp:
432 (WebCore::InspectorDOMAgent::setNodeName):
433 * svg/SVGUseElement.cpp:
434 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
435 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
437 2012-05-16 Brent Fulgham <bfulgham@webkit.org>
439 [WinCairo] Unreviewed build change after r115385. Several Cairo
440 image routines were modified to use new wrapper classes, but the
441 relevant WinCairo sources were not updated to match.
443 * WebCore.vcproj/WebCore.vcproj:
444 * platform/graphics/win/ImageCairoWin.cpp:
445 (WebCore::BitmapImage::create):
446 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
447 * platform/win/DragImageCairoWin.cpp:
448 (WebCore::createDragImageFromImage):
450 2012-05-16 Tim Horton <timothy_horton@apple.com>
452 Scrollbar layers should respect accelerated drawing setting
453 https://bugs.webkit.org/show_bug.cgi?id=86644
454 <rdar://problem/11462038>
456 Reviewed by Simon Fraser.
458 When creating scrollbar layers, pass through the accelerated drawing setting.
462 * rendering/RenderLayerCompositor.cpp:
463 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
465 2012-05-16 Tim Horton <timothy_horton@apple.com>
467 FrameView::scrollContentsFastPath should use painted area to determine whether to drop out of the fast path
468 https://bugs.webkit.org/show_bug.cgi?id=86651
469 <rdar://problem/11459243>
471 Reviewed by Simon Fraser.
473 Previously, we decided to fall out of the fast scrolling path by the number of fixed-position elements
474 on the page. This was less than ideal if a single fixed position element took up a significant portion
475 of the page, or if there were many small, cheap-to-paint fixed elements.
477 Instead, we should use the fast path if less than 50% of the page will be repainted by fixed-position
478 elements, and otherwise fall back to the slow path.
480 I've tested a few different thresholds with an internal test; 50% seems to work relatively well,
481 but the ideal value is hard to determine and likely depends on hardware.
483 No new tests, performance improvement with few large fixed-position objects or many small ones.
485 * page/FrameView.cpp:
486 (WebCore::FrameView::scrollContentsFastPath):
488 2012-05-16 David Reveman <reveman@chromium.org>
490 [Chromium] Use ThrottledTextureUploader with threaded compositing.
491 https://bugs.webkit.org/show_bug.cgi?id=85848
493 Reviewed by Adrienne Walker.
495 Switch to ThrottledUploader in CCThreadProxy.
497 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
499 2012-05-15 Emil A Eklund <eae@chromium.org>
501 Change ascents and descent back to ints for now
502 https://bugs.webkit.org/show_bug.cgi?id=86518
504 Reviewed by Eric Seidel.
506 Change ascents and descent calculation back to integers for now as it
507 looks like we'll need to support both the 1/60 and 1/1 implementations of
508 FractionalLayoutUnit for the immediate future to ensure that text is
509 rendered at the same offset and with the height regardless of the
510 ENABLE_SUBPIXEL_LAYOUT flag.
512 This ensures that most websites will look the same at 100% zoom
513 regardless of the flag and also allows us to the same test expectations
514 for the vast majority of layout tests.
516 Eventually we want to move those back to FractionalLayoutUnits as that
517 will result in more correct rendering.
519 No new tests, no change in functionality.
521 * rendering/InlineFlowBox.cpp:
522 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
523 * rendering/RootInlineBox.cpp:
524 (WebCore::setAscentAndDescent):
525 (WebCore::RootInlineBox::ascentAndDescentForBox):
526 * rendering/RootInlineBox.h:
529 2012-05-16 Ken Buchanan <kenrb@chromium.org>
531 Crash due to first-letter not getting computed on RenderTableCell
532 https://bugs.webkit.org/show_bug.cgi?id=86133
534 Reviewed by Abhishek Arya.
536 RenderTableCell overrides RenderBlock::layout() but doesn't call
537 updateFirstLetter() in it. This is normally not a problem because
538 updateFirstLetter() gets called during preferred logical width
539 computation, but there exist rare occasions when layout of the table
540 cell happens without preferred logical widths being dirty, in which
541 case the first-letter update can be skipped.
543 This patch adds a call to updateFirstLetter() to
544 RenderTableCell::layout(). This ensures that the first-letter is up
545 to date before commencing block layout.
547 * rendering/RenderTableCell.cpp:
548 (WebCore::RenderTableCell::layout)
550 2012-05-16 Mikhail Naganov <mnaganov@chromium.org>
552 Avoid jumpscroll when entering new text in a multi-line editor.
553 https://bugs.webkit.org/show_bug.cgi?id=82875
555 Reviewed by Ryosuke Niwa.
557 Scroll caret to the edge of the viewport in case if a line break or a paragraph
558 separator is inserted at the end of a multi-line editor. This avoids
559 undesirable jumpscroll in cases when there is content under the editor.
561 Tests: editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable.html
562 editing/input/scroll-to-edge-if-line-break-at-end-of-document-textarea.html
563 editing/input/scroll-to-edge-if-paragraph-separator-at-end-of-document-contenteditable.html
565 * editing/Editor.cpp:
566 (WebCore::Editor::insertLineBreak):
567 (WebCore::Editor::insertParagraphSeparator):
568 (WebCore::Editor::revealSelectionAfterEditingOperation):
572 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
574 Web Inspector: Pressing esc after requesting snippet creation should remove snippet.
575 https://bugs.webkit.org/show_bug.cgi?id=86639
577 Reviewed by Pavel Feldman.
579 Added committed parameter to NavigatorView.rename() callback.
581 * inspector/front-end/NavigatorView.js:
582 (WebInspector.NavigatorView.prototype.rename.commitHandler):
583 (WebInspector.NavigatorView.prototype.rename.cancelHandler):
584 (WebInspector.NavigatorView.prototype.rename.afterEditing):
585 * inspector/front-end/ScriptsNavigator.js:
586 * inspector/front-end/ScriptsPanel.js:
587 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
588 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
590 2012-05-16 Abhishek Arya <inferno@chromium.org>
592 Missing RenderApplet cast check in HTMLAppletElement::renderWidgetForJSBindings.
593 https://bugs.webkit.org/show_bug.cgi?id=86627
595 Reviewed by Andreas Kling.
597 Test: java/inline-applet-crash.html
599 * html/HTMLAppletElement.cpp:
600 (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
602 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
604 Web Inspector: extract CompositeUISourceCodeProvider from DebuggerScriptMapping.
605 https://bugs.webkit.org/show_bug.cgi?id=86634
607 Reviewed by Vsevolod Vlasov.
611 * inspector/front-end/DebuggerScriptMapping.js:
612 (WebInspector.DebuggerScriptMapping):
613 (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodeProviders):
614 (WebInspector.DebuggerScriptMapping.prototype._parsedScriptSource):
615 * inspector/front-end/ScriptsPanel.js:
616 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
617 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
618 (WebInspector.CompositeUISourceCodeProvider):
619 (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
620 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
621 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
622 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
623 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
624 * inspector/front-end/UISourceCode.js:
625 (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
626 (WebInspector.UISourceCodeProvider.prototype.addEventListener):
627 (WebInspector.UISourceCodeProvider.prototype.removeEventListener):
629 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
631 Web Inspector: Double Clicking on "No watch expressions" should add an expression
632 https://bugs.webkit.org/show_bug.cgi?id=86631
634 Reviewed by Vsevolod Vlasov.
636 A double-click listener for the section element adds a new watch expression if the correct element
638 Drive-by: do not persist deleted (null) watch expressions.
640 * inspector/front-end/WatchExpressionsSidebarPane.js:
641 (WebInspector.WatchExpressionsSection.prototype._sectionDoubleClick):
642 (WebInspector.WatchExpressionsSection.prototype.updateExpression):
644 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
646 Web Inspector: Support script snippets saving.
647 https://bugs.webkit.org/show_bug.cgi?id=86632
649 Reviewed by Pavel Feldman.
651 Added SnippetJavaScriptSource extending JavaScriptSource and overriding isEditable() and commitWorkingCopy() methods.
652 ScriptSnippetModel now creates instances of this new class for snippets.
653 Also maps in ScriptSnippetModel simplified.
655 * inspector/front-end/JavaScriptSource.js:
656 (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
658 * inspector/front-end/JavaScriptSourceFrame.js:
659 (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
660 * inspector/front-end/ScriptSnippetModel.js:
661 (WebInspector.ScriptSnippetModel):
662 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
663 (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
664 (WebInspector.ScriptSnippetModel.prototype.renameScriptSnippet):
665 (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
666 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
667 (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
668 (WebInspector.SnippetJavaScriptSource):
669 (WebInspector.SnippetJavaScriptSource.prototype.isEditable):
670 (WebInspector.SnippetJavaScriptSource.prototype.commitWorkingCopy):
671 (WebInspector.SnippetJavaScriptSource.prototype.get snippetId):
672 * inspector/front-end/ScriptsPanel.js:
673 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
674 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
675 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
677 2012-05-16 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
679 [EFL] Memory leak in RenderThemeEfl
680 https://bugs.webkit.org/show_bug.cgi?id=86609
682 Reviewed by Martin Robinson.
684 Fix a memory leak by freeing the cairo surface with
685 cairo_surface_destroy.
687 * platform/efl/RenderThemeEfl.cpp:
688 (WebCore::RenderThemeEfl::cacheThemePartFlush):
690 2012-05-16 Alexei Filippov <alexeif@chromium.org>
692 Web Inspector: Speedup heap snapshot postprocessing
693 https://bugs.webkit.org/show_bug.cgi?id=86635
695 Reviewed by Yury Semikhatsky.
697 * inspector/front-end/HeapSnapshot.js:
698 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
700 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
702 Unreviewed, followup for r117273 that fixes the Web Inspector's Computed Style pane layout.
704 * inspector/front-end/elementsPanel.css:
705 (.styles-section.computed-style.expanded .properties > li):
706 (.styles-section.computed-style.expanded .properties > li .webkit-css-property):
708 2012-05-16 Andrey Kosyakov <caseq@chromium.org>
710 Web Inspector: [Extensions API] expose evaluateOptions in audit formatters
711 https://bugs.webkit.org/show_bug.cgi?id=86617
713 Reviewed by Pavel Feldman.
715 Test: inspector/extensions/extensions-audits-content-script.html
717 - apply extension-specific audit formatters earlier (in ExtensionAduitCategory, not along with the rest in AuditFormatters);
718 - use ExtensionServer.evaluate() to handle evaluateOptions instead of PageAgent.evaluate();
720 * inspector/front-end/AuditFormatters.js: Move node and object formatters to ExtensionAuditCategory.
721 (WebInspector.partiallyApplyFormatters): Added a method to traverse formatters tree and apply formatters that are passed as input.
722 * inspector/front-end/ExtensionAuditCategory.js:
723 (WebInspector.ExtensionAuditCategory): Pass extensionOrigin.
724 (WebInspector.ExtensionAuditCategoryResults.prototype._addNode): Apply extensions formatters before adding the result.
725 (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
726 (WebInspector.ExtensionAuditCategoryResults.prototype.evaluate): moved from AuditFormatters.
727 (WebInspector.ExtensionAuditFormatters.object.onEvaluate):
728 (WebInspector.ExtensionAuditFormatters.object):
729 (WebInspector.ExtensionAuditFormatters.node.onNodeAvailable):
730 (WebInspector.ExtensionAuditFormatters.node.onEvaluate):
731 (WebInspector.ExtensionAuditFormatters.node):
732 * inspector/front-end/ExtensionServer.js:
733 (WebInspector.ExtensionServer.prototype._onAddAuditCategory): Plumb extensionOrigin through to audit category.
735 2012-05-16 Donald Carr <donald.carr@nokia.com>
737 Fixes the build with Qt 5 HEAD
739 Reviewed by Csaba Osztrogonác.
742 * platform/graphics/texmap/TextureMapperGL.cpp:
743 * plugins/qt/PluginViewQt.cpp:
745 2012-05-16 Rob Buis <rbuis@rim.com>
747 SVGSVGElement checkIntersection and checkEnclosure Mem corruption
748 https://bugs.webkit.org/show_bug.cgi?id=67923
750 Reviewed by Nikolas Zimmermann.
752 Only call checkIntersection/checkEnclosure when we have a valid renderer.
754 Test: svg/custom/intersection-list-null.svg
756 * svg/SVGSVGElement.cpp:
757 (WebCore::SVGSVGElement::checkIntersection):
758 (WebCore::SVGSVGElement::checkEnclosure):
760 2012-05-16 Simon Hausmann <simon.hausmann@nokia.com>
762 Unreviewed, rolling out r110699.
763 http://trac.webkit.org/changeset/110699
764 https://bugs.webkit.org/show_bug.cgi?id=80982
766 Not needed anymore and broke modal event loops
768 * platform/qt/RunLoopQt.cpp:
769 (WebCore::RunLoop::TimerObject::TimerObject):
770 (WebCore::RunLoop::TimerObject::performWork):
771 (RunLoop::TimerObject):
773 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
775 Web Inspector: split ScriptMapping into UISourceCodeProvider and SourceMapping.
776 https://bugs.webkit.org/show_bug.cgi?id=86616
778 Reviewed by Vsevolod Vlasov.
780 This change simply splits the interface.
783 * WebCore.vcproj/WebCore.vcproj:
784 * inspector/compile-front-end.py:
785 * inspector/front-end/CompilerScriptMapping.js:
786 (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodes):
787 (WebInspector.CompilerScriptMapping.prototype.reset):
788 * inspector/front-end/DebuggerModel.js:
789 * inspector/front-end/DebuggerResourceBinding.js:
790 (WebInspector.DebuggerResourceBinding):
791 (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
792 * inspector/front-end/DebuggerScriptMapping.js:
793 (WebInspector.DebuggerScriptMapping):
794 (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodes):
795 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
796 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
797 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
798 * inspector/front-end/FilteredItemSelectionDialog.js:
799 (WebInspector.OpenScriptDialog):
800 (WebInspector.OpenScriptDialog.install):
801 (WebInspector.OpenScriptDialog._show):
802 * inspector/front-end/PresentationConsoleMessageHelper.js:
803 (WebInspector.PresentationConsoleMessageHelper):
804 (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
805 * inspector/front-end/ResourceScriptMapping.js:
806 (WebInspector.ResourceScriptMapping.prototype.uiSourceCodes):
807 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
808 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
809 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
810 * inspector/front-end/Script.js:
811 * inspector/front-end/ScriptSnippetModel.js:
812 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodes):
813 (WebInspector.SnippetScriptMapping.prototype.uiSourceCodes):
814 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
815 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
816 * inspector/front-end/ScriptsPanel.js:
817 * inspector/front-end/ScriptsSearchScope.js:
818 (WebInspector.ScriptsSearchScope):
819 (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
820 * inspector/front-end/SourceMapping.js: Renamed from Source/WebCore/inspector/front-end/ScriptMapping.js.
821 * inspector/front-end/UISourceCode.js:
822 (WebInspector.UISourceCodeProvider):
823 (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
824 (WebInspector.UILocation):
825 (WebInspector.UILocation.prototype.uiLocationToRawLocation):
826 * inspector/front-end/WebKit.qrc:
827 * inspector/front-end/inspector.html:
829 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
831 Web Inspector: Implement snippet creation/renaming in ScriptsNavigator.
832 https://bugs.webkit.org/show_bug.cgi?id=82622
834 Reviewed by Pavel Feldman.
836 Implemented snippet creation and renaming.
837 Added TitleChanged event to UISourceCode.
839 * inspector/front-end/NavigatorOverlayController.js:
840 (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
841 (WebInspector.NavigatorOverlayController.prototype.isNavigatorPinned):
842 (WebInspector.NavigatorOverlayController.prototype.isNavigatorHidden):
843 * inspector/front-end/NavigatorView.js:
844 (WebInspector.NavigatorView.prototype._uiSourceCodeTitleChanged):
845 (WebInspector.NavigatorView.prototype._updateScriptTitle):
846 (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
847 (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
848 (WebInspector.NavigatorView.prototype._fileRenamed):
849 (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
850 * inspector/front-end/ScriptSnippetModel.js:
851 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
852 * inspector/front-end/ScriptsNavigator.js:
853 (WebInspector.ScriptsNavigator):
854 (WebInspector.ScriptsNavigator.prototype._snippetsNavigatorViewForUISourceCode):
855 (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
856 (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
857 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
858 (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
859 (WebInspector.ScriptsNavigator.prototype.rename):
860 (WebInspector.ScriptsNavigator.prototype._fileRenamed):
861 (WebInspector.ScriptsNavigator.prototype._snippetCreationRequested):
862 (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
863 (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
864 * inspector/front-end/ScriptsPanel.js:
865 (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
866 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
867 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
868 (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
869 * inspector/front-end/TabbedEditorContainer.js:
870 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
871 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
872 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeTitleChanged):
873 * inspector/front-end/UISourceCode.js:
874 (WebInspector.UISourceCode.prototype.urlChanged):
876 2012-05-16 Alexander Pavlov <apavlov@chromium.org>
878 Web Inspector: gradient properties are painful to inspect / author.
879 https://bugs.webkit.org/show_bug.cgi?id=86379
881 Reviewed by Pavel Feldman.
883 The CSS styles layout has been changed to allow property values to wrap onto subsequent lines
884 to let the users see the entire value text.
886 * inspector/front-end/StylesSidebarPane.js:
887 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): Avoid line breaks between the color swatch and value.
888 * inspector/front-end/elementsPanel.css:
889 (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
890 (.styles-section .properties li):
891 (.styles-section .properties li .webkit-css-property):
892 (.styles-section.expanded .properties > li):
893 (.styles-section .properties > li .webkit-css-property):
894 (.styles-section .properties > li.child-editing):
895 (.styles-section .properties > li.child-editing .webkit-css-property):
896 (.styles-section .properties .enabled-button):
898 2012-05-16 Yury Semikhatsky <yurys@chromium.org>
900 Web Inspector: rename ProfileView.js to CPUProfileView.js
901 https://bugs.webkit.org/show_bug.cgi?id=86612
903 Reviewed by Pavel Feldman.
905 Renamed ProfileView.js to CPUProfileView.js to match the file content.
908 * WebCore.vcproj/WebCore.vcproj:
909 * inspector/compile-front-end.py:
910 * inspector/front-end/CPUProfileView.js: Renamed from Source/WebCore/inspector/front-end/ProfileView.js.
911 (WebInspector.CPUProfileView.profileCallback):
912 (WebInspector.CPUProfileView.prototype.get statusBarItems):
913 (WebInspector.CPUProfileView.prototype.get profile):
914 (WebInspector.CPUProfileView.prototype.set profile):
915 (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
916 (WebInspector.CPUProfileView.prototype.get topDownProfileDataGridTree):
917 (WebInspector.CPUProfileView.prototype.get currentTree):
918 (WebInspector.CPUProfileView.prototype.set currentTree):
919 (WebInspector.CPUProfileView.prototype.willHide):
920 (WebInspector.CPUProfileView.prototype.refresh):
921 (WebInspector.CPUProfileView.prototype.refreshVisibleData):
922 (WebInspector.CPUProfileView.prototype.refreshShowAsPercents):
923 (WebInspector.CPUProfileView.prototype.searchCanceled):
924 (WebInspector.CPUProfileView.prototype.performSearch.matchesQuery):
925 (WebInspector.CPUProfileView.prototype.performSearch):
926 (WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult):
927 (WebInspector.CPUProfileView.prototype.jumpToLastSearchResult):
928 (WebInspector.CPUProfileView.prototype.jumpToNextSearchResult):
929 (WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult):
930 (WebInspector.CPUProfileView.prototype.showingFirstSearchResult):
931 (WebInspector.CPUProfileView.prototype.showingLastSearchResult):
932 (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
933 (WebInspector.CPUProfileView.prototype._changeView.set else):
934 (WebInspector.CPUProfileView.prototype._focusClicked):
935 (WebInspector.CPUProfileView.prototype._excludeClicked):
936 (WebInspector.CPUProfileView.prototype._resetClicked):
937 (WebInspector.CPUProfileView.prototype._dataGridNodeSelected):
938 (WebInspector.CPUProfileView.prototype._dataGridNodeDeselected):
939 (WebInspector.CPUProfileView.prototype._sortProfile):
940 (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
941 (WebInspector.CPUProfileType):
942 (WebInspector.CPUProfileType.prototype.get buttonTooltip):
943 (WebInspector.CPUProfileType.prototype.buttonClicked):
944 (WebInspector.CPUProfileType.prototype.get treeItemTitle):
945 (WebInspector.CPUProfileType.prototype.get description):
946 (WebInspector.CPUProfileType.prototype.isRecordingProfile):
947 (WebInspector.CPUProfileType.prototype.startRecordingProfile):
948 (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
949 (WebInspector.CPUProfileType.prototype.setRecordingProfile):
950 (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
951 (WebInspector.CPUProfileType.prototype.createView):
952 (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
953 (WebInspector.CPUProfileType.prototype.createProfile):
954 * inspector/front-end/HeapSnapshotView.js:
955 (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
956 * inspector/front-end/WebKit.qrc:
957 * inspector/front-end/inspector.html:
959 2012-05-16 Arpita Bahuguna <arpitabahuguna@gmail.com>
961 "border: collapse" + "display: none" rows in the tbody while having thead or tfoot doesn't render the opposite border
962 https://bugs.webkit.org/show_bug.cgi?id=67877
964 Reviewed by Antti Koivisto.
966 Test: fast/css/table-collapsed-borders.html
968 * rendering/RenderTableCell.cpp:
969 (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
970 When getting the previous row group's after border, pass SkipEmptySections as the second param
971 to the RenderTable::sectionAbove() call. Thus if the currSection is the top most section of the
972 table passing SkipEmptySections to sectionAbove() would return null which should be the expected
975 (WebCore::RenderTableCell::computeCollapsedAfterBorder):
976 When getting the following row group's before border, pass SkipEmptySections as the second param
977 to the RenderTable::sectionBelow() call. Thus if the currSection is the bottom most section of the
978 table passing SkipEmptySections to sectionBelow() would return null which should be the expected
981 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
983 Web Inspector: follow up to r117267 - fixing typo and removing unnecessary dispatch.
984 https://bugs.webkit.org/show_bug.cgi?id=86613
986 Reviewed by Vsevolod Vlasov.
988 * inspector/front-end/ResourceScriptMapping.js:
989 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
990 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
992 2012-05-16 Vsevolod Vlasov <vsevik@chromium.org>
994 Web Inspector: Move edit/save script source logic to JavaScriptSource.
995 https://bugs.webkit.org/show_bug.cgi?id=86604
997 Reviewed by Pavel Feldman.
999 Added working copy notion to UISourceCode.
1000 Moved DebuggerResourceBinding content edit calls to JavaScriptSource.
1001 Added WorkingCopyChanged event to UISourceCode.
1003 * inspector/front-end/CompilerScriptMapping.js:
1004 * inspector/front-end/DebuggerResourceBinding.js:
1005 (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
1006 * inspector/front-end/JavaScriptSource.js:
1007 (WebInspector.JavaScriptSource):
1008 (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
1009 (WebInspector.JavaScriptSource.prototype.isEditable):
1010 (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
1012 * inspector/front-end/JavaScriptSourceFrame.js:
1013 (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
1014 (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
1015 (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1016 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1017 (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1018 (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1019 (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1020 * inspector/front-end/NavigatorView.js:
1021 (WebInspector.NavigatorView.prototype._uiSourceCodeWorkingCopyChanged):
1022 (WebInspector.NavigatorView.prototype._uiSourceCodeContentChanged):
1023 (WebInspector.NavigatorView.prototype._updateScriptTitle):
1024 (WebInspector.NavigatorView.prototype._removeUISourceCode):
1025 (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
1026 (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
1027 (WebInspector.NavigatorView.prototype.reset):
1028 * inspector/front-end/RawSourceCode.js:
1029 (WebInspector.RawSourceCode.prototype._createUISourceCode):
1030 * inspector/front-end/ScriptSnippetModel.js:
1031 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1032 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1033 * inspector/front-end/ScriptsPanel.js:
1034 * inspector/front-end/TabbedEditorContainer.js:
1035 (WebInspector.TabbedEditorContainer):
1036 (WebInspector.TabbedEditorContainer.prototype._titleForFile):
1037 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1038 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1039 (WebInspector.TabbedEditorContainer.prototype._updateFileTitle.get if):
1040 (WebInspector.TabbedEditorContainer.prototype._updateFileTitle):
1041 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeWorkingCopyChanged):
1042 (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeContentChanged):
1043 * inspector/front-end/UISourceCode.js:
1044 (WebInspector.UISourceCode):
1045 (WebInspector.UISourceCode.prototype.contentChanged):
1046 (WebInspector.UISourceCode.prototype.isEditable):
1047 (WebInspector.UISourceCode.prototype.workingCopy):
1048 (WebInspector.UISourceCode.prototype.setWorkingCopy):
1049 (WebInspector.UISourceCode.prototype.isDirty):
1050 (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1052 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
1054 Web Inspector: get rid of UISourceCodeListChanged event.
1055 https://bugs.webkit.org/show_bug.cgi?id=86601
1057 Reviewed by Vsevolod Vlasov.
1059 There was unnecessary conversion between this event and UISourceCodeAdded/Removed/Replaced.
1061 * inspector/front-end/CompilerScriptMapping.js:
1062 (WebInspector.CompilerScriptMapping.prototype.reset):
1063 * inspector/front-end/DebuggerScriptMapping.js:
1064 (WebInspector.DebuggerScriptMapping):
1065 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
1066 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
1067 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
1068 * inspector/front-end/NavigatorView.js:
1069 * inspector/front-end/ResourceScriptMapping.js:
1070 (WebInspector.ResourceScriptMapping.prototype.addScript):
1071 (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
1072 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
1073 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
1074 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
1075 (WebInspector.ResourceScriptMapping.prototype.reset):
1076 * inspector/front-end/ScriptMapping.js:
1077 * inspector/front-end/ScriptSnippetModel.js:
1078 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1079 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1080 (WebInspector.ScriptSnippetModel.prototype._reset):
1081 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
1082 (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
1083 * inspector/front-end/ScriptsNavigator.js:
1084 (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
1085 * inspector/front-end/ScriptsPanel.js:
1086 (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1087 * inspector/front-end/TabbedEditorContainer.js:
1089 2012-05-16 Keishi Hattori <keishi@webkit.org>
1091 [chromium] Add WebKit API to access inner text value of input element
1092 https://bugs.webkit.org/show_bug.cgi?id=85353
1094 Reviewed by Kent Tamura.
1096 Test: fast/forms/editing-value.html
1098 We need this to implement the datalist UI for <input type=email multiple>.
1099 HTMLInputElement.value gives you the sanitized value so the whitespace between values are trimmed.
1100 We need to append the selected suggestion to the end without modifying the rest of the text.
1102 * WebCore.exp.in: Added HTMLInputElement::setEditingValue
1103 * html/HTMLInputElement.cpp:
1104 (WebCore::HTMLInputElement::setEditingValue):
1106 * html/HTMLInputElement.h:
1108 * testing/Internals.cpp:
1109 (WebCore::Internals::setEditingValue):
1111 * testing/Internals.h:
1113 * testing/Internals.idl:
1115 2012-05-16 Jason Liu <jason.liu@torchmobile.com.cn>
1117 [BlackBerry] Cookies should be checked during parsing to improve performance.
1118 https://bugs.webkit.org/show_bug.cgi?id=85028
1120 Reviewed by George Staikos.
1122 We shouldn't waste time and memery on invalid cookies. It is better to drop them during parsing.
1123 We shouldn't check the default domain since it is set with host. So we only check domains which are parsed
1124 from response headers.
1126 No new tests. No functionality change.
1128 * platform/blackberry/CookieManager.cpp:
1129 (WebCore::CookieManager::setCookies):
1130 * platform/blackberry/CookieManager.h:
1131 * platform/blackberry/CookieParser.cpp:
1132 (WebCore::CookieParser::parseOneCookie):
1134 2012-05-15 Pierre Rossi <pierre.rossi@gmail.com>
1136 [Qt] Enable SVG Fonts by default
1137 https://bugs.webkit.org/show_bug.cgi?id=86463
1139 Reviewed by Nikolas Zimmermann.
1141 Another feature we can get for free after switching to using
1142 the font fast path with QRawFont.
1143 It will get disabled in features.prf if either SVG support is
1144 disabled or if we are not using QRawFont (e.g. for Qt 4).
1146 Covered by a series of tests that were skipped for the
1147 Qt port up until now.
1149 * platform/graphics/qt/FontPlatformData.h:
1150 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
1151 Initialize the platform data used as fallback in conjunction with SVG
1152 fonts so it will honor size, weight and oblique-ness.
1153 * rendering/svg/SVGTextMetricsBuilder.cpp: Avoid forcing the complex path.
1154 (WebCore::SVGTextMetricsBuilder::advance):
1155 (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
1156 (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
1157 * svg/SVGFontElement.cpp:
1158 (WebCore::SVGFontElement::ensureGlyphCache): avoid ambiguity with String(const QString&)
1160 2012-05-16 Kenichi Ishibashi <bashi@chromium.org>
1162 [Chromium] WebTransformationMatrixTest.verifyDefaultConstructorCreatesIdentityMatrix is failing
1163 https://bugs.webkit.org/show_bug.cgi?id=86589
1165 Reviewed by Kent Tamura.
1167 Need to call m_private.reset(0) before destructing WebTransformationMatrix objects.
1169 No new tests. WebTransformationMatrixTest should pass on debug build.
1171 * platform/chromium/support/WebTransformationMatrix.cpp:
1172 (WebKit::WebTransformationMatrix::~WebTransformationMatrix):
1175 2012-05-16 Shinya Kawanaka <shinyak@chromium.org>
1177 ShadowRoot.selection should return the seleciton whose range is in a shadow tree.
1178 https://bugs.webkit.org/show_bug.cgi?id=82698
1180 Reviewed by Ryosuke Niwa.
1182 The selection object returned from shadowRoot.selection should be able to see
1183 the inner object of the shadowRoot.
1185 In the previous code, the node out of the shadow subtree was returned for
1186 anchorNode, focusNode, baseNode, and extentNode. This patch enables us to get
1187 the corresponding shadow ancestor in the specified TreeScope (m_treeScope).
1189 Tests: editing/shadow/selection-of-orphan-shadowroot.html
1190 editing/shadow/selection-of-shadowroot.html
1192 * dom/ShadowRoot.cpp:
1193 (WebCore::ShadowRoot::selection):
1196 * dom/TreeScope.cpp:
1197 (WebCore::TreeScope::getSelection): When shadow DOM feature is not enabled, we want to use the same
1198 instance of DOMSelection among Document and ShadowRoot.
1199 * dom/TreeScopeAdjuster.cpp:
1200 (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
1201 (WebCore::TreeScopeAdjuster::ancestorInThisScope): Since node could be null, I've added a node check code.
1202 * dom/TreeScopeAdjuster.h:
1203 (TreeScopeAdjuster):
1204 (WebCore::TreeScopeAdjuster::treeScope):
1205 * page/DOMSelection.cpp:
1206 (WebCore::DOMSelection::anchorNode):
1207 (WebCore::DOMSelection::anchorOffset):
1208 (WebCore::DOMSelection::focusNode):
1209 (WebCore::DOMSelection::focusOffset):
1210 (WebCore::DOMSelection::baseNode):
1211 (WebCore::DOMSelection::baseOffset):
1212 (WebCore::DOMSelection::extentNode):
1213 (WebCore::DOMSelection::extentOffset):
1214 (WebCore::DOMSelection::shadowAdjustedNode): Gets the corresponding node in the m_treeScope from the Position.
1216 (WebCore::DOMSelection::shadowAdjustedOffset): Gets the corresponding node offset in the m_treeScope from the Position.
1217 * page/DOMSelection.h:
1221 2012-05-16 Jason Liu <jason.liu@torchmobile.com.cn>
1223 [BlackBerry] xhr request to non existent file response is 0 and not 404.
1224 https://bugs.webkit.org/show_bug.cgi?id=86344
1226 Reviewed by George Staikos.
1228 NetworkJob receives 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
1229 There are no data received because its method is HEAD.
1230 This case should not be treated as a failure.
1232 Add shouldNotifyClientFailed() to treat XMLHttpRequest as a special case.
1233 XMLHttpRequest will fail when status code is smaller than zero.
1235 If we use "GET" and receive 404 without body, NetworkJob won't go through failing code path, too.
1236 So add http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
1239 Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
1240 http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
1241 * platform/network/blackberry/NetworkJob.cpp:
1242 (WebCore::NetworkJob::sendResponseIfNeeded):
1244 2012-05-16 MORITA Hajime <morrita@google.com>
1246 HasCustomWillOrDidRecalcStyleFlag and family should live in a bit.
1247 https://bugs.webkit.org/show_bug.cgi?id=86175
1249 Reviewed by Ryosuke Niwa.
1251 This change unifies following flags into one HasCustomCallbacksFlag.
1252 - HasCustomWillOrDidRecalcStyleFlag
1253 - HasCustomStyleForRendererFlag
1254 - IsFrameOwnerElementFlag
1256 By this change, some callbacks can be called even if there are no override.
1257 So all custom callbacks should just pass these invocations.
1259 No new tests. No behavior change.
1261 * dom/ContainerNodeAlgorithms.h:
1262 (WebCore::ChildFrameDisconnector::collectDescendant):
1264 (WebCore::Element::styleForRenderer):
1265 (WebCore::Element::recalcStyle):
1266 (WebCore::Element::willRecalcStyle):
1268 (WebCore::Element::didRecalcStyle):
1269 (WebCore::Element::customStyleForRenderer):
1273 (WebCore::Node::isFrameOwnerElement):
1274 (WebCore::Node::hasCustomCallbacks):
1275 (WebCore::Node::setHasCustomCallbacks):
1277 (WebCore::Text::recalcTextStyle):
1278 (WebCore::Text::willRecalcTextStyle):
1282 * html/HTMLFormControlElement.cpp:
1283 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1284 * html/HTMLFrameOwnerElement.cpp:
1285 (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
1286 * html/HTMLFrameOwnerElement.h:
1287 * html/HTMLFrameSetElement.cpp:
1288 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
1289 * html/HTMLIFrameElement.cpp:
1290 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
1291 * html/HTMLMediaElement.cpp:
1292 (WebCore::HTMLMediaElement::HTMLMediaElement):
1293 * html/HTMLPlugInImageElement.cpp:
1294 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1295 (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
1296 (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
1297 (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
1298 * html/HTMLPlugInImageElement.h:
1299 (HTMLPlugInImageElement):
1300 * html/shadow/TextControlInnerElements.cpp:
1301 (WebCore::TextControlInnerElement::TextControlInnerElement):
1302 (WebCore::TextControlInnerElement::customStyleForRenderer):
1303 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
1304 (WebCore::TextControlInnerTextElement::customStyleForRenderer):
1305 * html/shadow/TextControlInnerElements.h:
1306 (TextControlInnerElement):
1307 (TextControlInnerTextElement):
1308 * html/shadow/TextFieldDecorationElement.cpp:
1309 (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
1310 (WebCore::TextFieldDecorationElement::customStyleForRenderer):
1311 * html/shadow/TextFieldDecorationElement.h:
1312 (TextFieldDecorationElement):
1313 * svg/SVGElement.cpp:
1314 (WebCore::SVGElement::SVGElement):
1315 (WebCore::SVGElement::customStyleForRenderer):
1318 * svg/SVGTRefElement.cpp:
1319 (WebCore::SVGShadowText::SVGShadowText):
1320 * svg/SVGUseElement.cpp:
1321 (WebCore::SVGUseElement::SVGUseElement):
1323 2012-05-16 Yury Semikhatsky <yurys@chromium.org>
1325 Web Inspector: exception when switching to heap profiler comparison view
1326 https://bugs.webkit.org/show_bug.cgi?id=86224
1328 Reviewed by Pavel Feldman.
1330 Make sure the messages are dispatched in the same order as they are sent in
1331 case a fake worker is used for heap snapshot processing.
1333 * inspector/front-end/HeapSnapshotProxy.js:
1334 (WebInspector.AsyncTaskQueue):
1335 (WebInspector.AsyncTaskQueue.prototype.addTask):
1336 (WebInspector.AsyncTaskQueue.prototype._onTimeout):
1337 (WebInspector.AsyncTaskQueue.prototype._scheduleTimer):
1338 (WebInspector.HeapSnapshotFakeWorker):
1339 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
1340 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
1342 2012-05-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
1344 [EFL] PlatformKeyboardEvent: figures, letters and printscreen key handling
1345 https://bugs.webkit.org/show_bug.cgi?id=85503
1347 Reviewed by Gustavo Noronha Silva.
1349 * platform/efl/EflKeyboardUtilities.cpp:
1350 (WebCore::addCharactersToKeyMap): aux function
1352 (WebCore::createKeyMap): Figures and letters keys are added to the keyMap
1353 (WebCore::addCharactersToWinKeyMap): aux function
1354 (WebCore::createWindowsKeyMap): Capital letters keys are added to the windowsKeyMap. Corrected value for printscreen key.
1355 (WebCore::singleCharacterString): Return empty text for printscreen key.
1357 2012-05-16 Pavel Feldman <pfeldman@chromium.org>
1359 Web Inspector: rename DebuggerPresentationModel to DebuggerScriptMapping, make it private to ScriptsPanel.
1360 https://bugs.webkit.org/show_bug.cgi?id=86594
1362 Reviewed by Vsevolod Vlasov.
1364 This change completes the elimination of the presentation model.
1367 * WebCore.vcproj/WebCore.vcproj:
1368 * inspector/compile-front-end.py:
1369 * inspector/front-end/AuditFormatters.js:
1370 (WebInspector.AuditFormatters.resourceLink):
1371 * inspector/front-end/DebuggerResourceBinding.js:
1372 (WebInspector.DebuggerResourceBinding):
1373 (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
1374 * inspector/front-end/DebuggerScriptMapping.js: Renamed from Source/WebCore/inspector/front-end/DebuggerPresentationModel.js.
1375 (WebInspector.DebuggerScriptMapping):
1376 (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeListChanged):
1377 * inspector/front-end/FilteredItemSelectionDialog.js:
1378 (WebInspector.OpenScriptDialog):
1379 (WebInspector.OpenScriptDialog.install):
1380 (WebInspector.OpenScriptDialog._show):
1381 * inspector/front-end/JavaScriptSourceFrame.js:
1382 (WebInspector.JavaScriptSourceFrame):
1383 * inspector/front-end/PresentationConsoleMessageHelper.js:
1384 (WebInspector.PresentationConsoleMessageHelper):
1385 (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
1386 * inspector/front-end/ScriptsPanel.js:
1387 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
1388 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1389 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1390 * inspector/front-end/ScriptsSearchScope.js:
1391 (WebInspector.ScriptsSearchScope):
1392 (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
1393 * inspector/front-end/UISourceCode.js:
1394 (WebInspector.UISourceCodeProject):
1395 (WebInspector.UISourceCodeProject.prototype.uiSourceCodes):
1396 * inspector/front-end/WebKit.qrc:
1397 * inspector/front-end/inspector.html:
1398 * inspector/front-end/inspector.js:
1399 (WebInspector._createPanels):
1401 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
1403 Web Inspector: use separate fields for storing HeapSnapshotLoaderProxy and HeapSnapshotProxy
1404 https://bugs.webkit.org/show_bug.cgi?id=86488
1406 Reviewed by Pavel Feldman.
1408 Simplified heap profiler snapshot loading code. Introduced dedicated fields for
1409 snapshot loader proxy and for snapshot proxy.
1411 * inspector/front-end/HeapSnapshotProxy.js:
1412 (WebInspector.HeapSnapshotWorker):
1413 (WebInspector.HeapSnapshotLoaderProxy):
1414 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
1415 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
1416 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
1417 (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
1418 (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
1419 (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
1420 * inspector/front-end/HeapSnapshotView.js:
1421 (WebInspector.HeapSnapshotView.profileCallback):
1422 (WebInspector.HeapSnapshotView):
1423 (WebInspector.HeapSnapshotView.prototype.dispose):
1424 (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
1425 (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
1426 (WebInspector.HeapSnapshotView.prototype._changeView):
1427 (WebInspector.HeapProfileHeader): split _proxy field into _loaderProxy and _snapshotProxy
1428 (WebInspector.HeapProfileHeader.prototype.snapshotProxy):
1429 (WebInspector.HeapProfileHeader.prototype.load):
1430 (WebInspector.HeapProfileHeader.prototype._setupWorker):
1431 (WebInspector.HeapProfileHeader.prototype.dispose):
1432 (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
1433 (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
1434 (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1435 (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
1436 (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
1437 (WebInspector.HeapProfileHeader.prototype.loadFromFile):
1439 2012-05-16 Eugene Klyuchnikov <eustas.bug@gmail.com>
1441 Web Inspector: Use CSS columns feature for HelpScreen contents.
1442 https://bugs.webkit.org/show_bug.cgi?id=86367
1444 Reviewed by Yury Semikhatsky.
1446 Right-docked inspector should show shortcuts/settings in one column.
1447 Bottom-docked inspector should use horizontal space more effectively
1448 (more than 2 columns in shortcuts/settings).
1450 Please see attached screenshots.
1452 UI adjustments, no new tests.
1454 * inspector/front-end/SettingsScreen.js:
1455 (WebInspector.SettingsScreen): Turned table to div.
1456 (WebInspector.SettingsScreen.prototype._appendSection): Removed.
1457 * inspector/front-end/ShortcutsScreen.js:
1458 (WebInspector.ShortcutsScreen.prototype._buildTable): Removed "balancing" algorithm.
1459 (WebInspector.ShortcutsSection.prototype.renderSection): Turned table to div.
1460 (WebInspector.ShortcutsSection.prototype._renderHeader): Ditto.
1461 * inspector/front-end/helpScreen.css: Use CSS columns feature.
1462 (.help-container): Added columns container.
1463 (.help-block): Added "section".
1464 (.help-line): Added key shortcut line.
1465 (.help-key-cell): Added key shortcut cell.
1467 (.help-section-title): Combined title classes
1468 (.help-content p): Adjusted spacing.
1470 2012-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
1472 Unreviewed, rolling out r117050.
1473 http://trac.webkit.org/changeset/117050
1474 https://bugs.webkit.org/show_bug.cgi?id=86587
1476 "Some heap profiler tests started timing out" (Requested by
1479 * inspector/front-end/HeapSnapshotProxy.js:
1480 (WebInspector.HeapSnapshotFakeWorker):
1481 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
1482 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
1484 2012-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
1486 Unreviewed, rolling out r117206.
1487 http://trac.webkit.org/changeset/117206
1488 https://bugs.webkit.org/show_bug.cgi?id=86583
1490 breaks chromium browser_tests (Requested by bashi1 on
1493 * loader/MainResourceLoader.cpp:
1494 (WebCore::MainResourceLoader::continueAfterContentPolicy):
1495 * loader/archive/mhtml/MHTMLArchive.cpp:
1496 (WebCore::MHTMLArchive::create):
1498 2012-05-16 Nikolas Zimmermann <nzimmermann@rim.com>
1500 REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
1501 https://bugs.webkit.org/show_bug.cgi?id=83405
1503 Reviewed by Darin Adler.
1505 Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
1506 To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
1507 the management of all caches (text positioning element cache / metrics map / layout attributes) in
1508 RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
1509 called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
1510 Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
1511 synchronized with the current state of the render tree. Fixes highcharts problems.
1513 Tests: svg/text/add-tspan-position-bug.html
1514 svg/text/highcharts-assertion.html
1515 svg/text/modify-tspan-position-bug.html
1517 * rendering/svg/RenderSVGBlock.h:
1519 * rendering/svg/RenderSVGInline.cpp:
1520 (WebCore::RenderSVGInline::addChild):
1521 (WebCore::RenderSVGInline::removeChild):
1522 * rendering/svg/RenderSVGInline.h:
1524 * rendering/svg/RenderSVGInlineText.cpp:
1525 (WebCore::RenderSVGInlineText::setTextInternal):
1526 (WebCore::RenderSVGInlineText::styleDidChange):
1527 * rendering/svg/RenderSVGInlineText.h:
1528 * rendering/svg/RenderSVGText.cpp:
1529 (WebCore::RenderSVGText::RenderSVGText):
1530 (WebCore::RenderSVGText::~RenderSVGText):
1531 (WebCore::collectLayoutAttributes):
1532 (WebCore::RenderSVGText::subtreeChildWasAdded):
1533 (WebCore::findPreviousAndNextAttributes):
1534 (WebCore::checkLayoutAttributesConsistency):
1535 (WebCore::RenderSVGText::willBeDestroyed):
1536 (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
1537 (WebCore::RenderSVGText::subtreeChildWasRemoved):
1538 (WebCore::RenderSVGText::subtreeStyleDidChange):
1539 (WebCore::RenderSVGText::subtreeTextDidChange):
1540 (WebCore::updateFontInAllDescendants):
1541 (WebCore::RenderSVGText::layout):
1542 (WebCore::RenderSVGText::addChild):
1543 (WebCore::RenderSVGText::removeChild):
1544 * rendering/svg/RenderSVGText.h:
1546 * rendering/svg/SVGRenderSupport.cpp:
1547 (WebCore::SVGRenderSupport::layoutChildren):
1548 * rendering/svg/SVGRootInlineBox.cpp:
1549 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1550 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1551 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1552 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
1553 (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
1554 (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
1555 * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1556 (SVGTextLayoutAttributesBuilder):
1557 (WebCore::SVGTextLayoutAttributesBuilder::numberOfTextPositioningElements):
1558 * svg/SVGAElement.cpp:
1559 * svg/SVGAElement.h:
1561 * svg/SVGTextContentElement.cpp:
1562 * svg/SVGTextContentElement.h:
1563 (SVGTextContentElement):
1565 2012-05-15 Abhishek Arya <inferno@chromium.org>
1567 Crash in Document::nodeChildrenWillBeRemoved.
1568 https://bugs.webkit.org/show_bug.cgi?id=85247
1570 Reviewed by Hajime Morita.
1572 Reverse ordering of commands to ref ptr the children set
1573 first before calling nodeChildrenWillBeRemoved, since it
1574 can fire mutation events.
1576 Test: fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml
1578 * dom/ContainerNode.cpp:
1579 (WebCore::willRemoveChildren):
1581 2012-05-15 Igor Oliveira <igor.o@sisa.samsung.com>
1583 regression(111639): Issue with simultaneous CSS animations
1584 https://bugs.webkit.org/show_bug.cgi?id=85929
1586 Currently, previousTimeToNextService is just saving the previous CompositeAnimation::timeToNextService
1587 for AnimationControllerPrivate::updateAnimationTimerForRenderer, however CompositeAnimation::timeToNextService
1588 is also called and used by updateAnimationTimer. Make sure we save the existing timeToNextService from
1589 both places, updateAnimationTimerForRenderer and updateAnimationTimer.
1591 Reviewed by Dean Jackson.
1593 Test: animations/fill-mode-forwards.html
1595 * page/animation/AnimationController.cpp:
1596 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
1597 (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
1598 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1599 * page/animation/AnimationControllerPrivate.h:
1600 (AnimationControllerPrivate):
1602 2012-05-15 Tien-Ren Chen <trchen@chromium.org>
1604 [Chromium] CCTimer::isActive() is incorrect inside tick callback
1605 https://bugs.webkit.org/show_bug.cgi?id=86513
1607 This patch implements CCTimer::isActive() by clearing the task pointer
1608 when the timer fires.
1610 Reviewed by James Robinson.
1612 No new tests. Existing tests updated accordingly.
1614 * platform/graphics/chromium/cc/CCTimer.cpp:
1615 (WebCore::CCTimerTask::performTask):
1616 * rendering/RenderLayerBacking.cpp:
1618 2012-05-15 Kentaro Hara <haraken@chromium.org>
1620 Unreviewed. Rebaselined run-bindings-tests results.
1622 * bindings/scripts/test/JS/JSFloat64Array.cpp:
1623 (WebCore::JSFloat64Array::getOwnPropertySlot):
1624 (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
1625 (WebCore::JSFloat64Array::put):
1626 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1627 (WebCore::JSTestEventTarget::getOwnPropertySlot):
1628 (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
1630 2012-05-15 Shinya Kawanaka <shinyak@chromium.org>
1632 Rename Node::shadowTreeRootNode() to Node::shadowRoot()
1633 https://bugs.webkit.org/show_bug.cgi?id=86449
1635 Reviewed by Darin Adler.
1637 Since Node::shadowTreeRootNode() returns always a ShadowRoot now, shadowRoot() is
1638 mure suitable than shadowTreeRootNode().
1640 This patch changes the method name.
1642 No new tests, no change in behavior.
1646 (WebCore::Node::rendererIsEditable):
1647 (WebCore::Node::shadowAncestorNode):
1648 (WebCore::Node::shadowRoot):
1651 * dom/NodeRenderingContext.cpp:
1652 (WebCore::NodeRenderingContext::NodeRenderingContext):
1654 (WebCore::Range::shadowRoot):
1657 * editing/Editor.cpp:
1658 (WebCore::Editor::nextVisibleRange):
1659 (WebCore::Editor::countMatchesForText):
1660 * editing/TextIterator.cpp:
1661 (WebCore::TextIterator::handleReplacedElement):
1662 * editing/htmlediting.cpp:
1663 (WebCore::indexForVisiblePosition):
1664 * html/shadow/ContentSelectorQuery.cpp:
1665 (WebCore::ContentSelectorQuery::matches):
1666 * html/shadow/HTMLContentElement.cpp:
1667 (WebCore::HTMLContentElement::parseAttribute):
1668 * html/shadow/InsertionPoint.cpp:
1669 (WebCore::InsertionPoint::detach):
1670 * page/EventHandler.cpp:
1671 (WebCore::instanceAssociatedWithShadowTreeElement):
1672 * svg/SVGElement.cpp:
1673 (WebCore::SVGElement::correspondingElement):
1674 (WebCore::collectInstancesForSVGElement):
1676 2012-05-15 Nico Weber <thakis@chromium.org>
1678 [chromium] Remove some unused gyp lines
1679 https://bugs.webkit.org/show_bug.cgi?id=86545
1681 Reviewed by Dirk Pranke.
1683 mac_framework_dirs adds directories to search for frameworks
1684 (similar to -I for includes), it doesn't add any frameworks.
1685 Having something that ends in .framewok in mac_framework_dirs
1688 No intended functionality change.
1690 * WebCore.gyp/WebCore.gyp:
1692 2012-05-13 Philippe Normand <pnormand@igalia.com>
1694 [GStreamer] build a static list of mime-types
1695 https://bugs.webkit.org/show_bug.cgi?id=86331
1697 Reviewed by Martin Robinson.
1699 Don't bother parsing the gstreamer typefind factories and doing
1700 ugly hacks around this. Instead build a static list and let our
1701 ::supportsType() method return MediaPlayer::MayBeSupported or
1702 MediaPlayer::IsSupported for them. Playback will still fail if a
1703 demuxer or decoder is missing for one of these mime-types but we
1704 will handle that case more properly soon by fixing bug 34085 and
1707 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1709 2012-05-15 Greg Spencer <gspencer@chromium.org>
1711 MHTML files should be loadable from all schemes considered local,
1714 https://bugs.webkit.org/show_bug.cgi?id=86540
1716 Reviewed by Adam Barth.
1718 Current tests should assure that loading is still allowed locally.
1720 * loader/MainResourceLoader.cpp:
1721 (WebCore::MainResourceLoader::continueAfterContentPolicy):
1722 * loader/archive/mhtml/MHTMLArchive.cpp:
1723 (WebCore::MHTMLArchive::create):
1725 2012-05-15 Fady Samuel <fsamuel@chromium.org>
1727 [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
1728 https://bugs.webkit.org/show_bug.cgi?id=86535
1730 Reviewed by Darin Fisher.
1732 When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
1733 to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin
1735 * html/HTMLPlugInElement.cpp:
1736 (WebCore::HTMLPlugInElement::resetInstance):
1738 * html/HTMLPlugInElement.h:
1739 (HTMLPlugInElement):
1741 2012-05-15 Robert Hogan <robert@webkit.org>
1743 Heap-use-after-free in WebCore::RenderBlock::layoutRunsAndFloats
1744 https://bugs.webkit.org/show_bug.cgi?id=86206
1746 Reviewed by Abhishek Arya.
1748 Revert https://trac.webkit.org/changeset/116438/. It caused three different regressions on
1751 * rendering/RenderBlock.cpp:
1752 (WebCore::RenderBlock::updateFirstLetter):
1753 * rendering/RenderBlock.h:
1756 2012-05-15 Beth Dakin <bdakin@apple.com>
1758 https://bugs.webkit.org/show_bug.cgi?id=86549
1759 Page Scale + Tiled Drawing: Twitter sign in page content disappears
1760 after typing into name and enabling password field
1762 <rdar://problem/11415352>
1764 Reviewed by Oliver Hunt.
1766 The enormous rect we used to use would overflow in CA and do nothing
1767 when there was any scale > 1 on the context. Instead, just call
1768 setNeedsDisplay on each tile.
1769 * platform/graphics/ca/mac/TileCache.mm:
1770 (WebCore::TileCache::setNeedsDisplay):
1772 2012-05-15 Andreas Kling <kling@webkit.org>
1774 Pass Attribute by const reference as much as possible.
1775 <http://webkit.org/b/86487>
1777 Reviewed by Darin Adler.
1779 Switch to passing around "const Attribute&" instead of "Attribute*" wherever possible.
1780 This helps enforce the constness and non-nullity of these arguments at compile time.
1782 Also renamed 'attr' to 'attribute' in the touched code. Attr and Attribute are two
1783 different classes, so having "Attribute attr" just looks wrong.
1785 * bindings/js/ScriptEventListener.cpp:
1786 (WebCore::createAttributeEventListener):
1787 * bindings/js/ScriptEventListener.h:
1788 * bindings/v8/ScriptEventListener.cpp:
1789 (WebCore::createAttributeEventListener):
1790 * bindings/v8/ScriptEventListener.h:
1792 (WebCore::Attr::setPrefix):
1793 (WebCore::Attr::setValue):
1794 (WebCore::Attr::childrenChanged):
1795 (WebCore::Attr::style):
1796 (WebCore::Attr::elementAttribute):
1799 (WebCore::Element::setAttributeInternal):
1800 (WebCore::Element::attributeChanged):
1801 (WebCore::Element::parserSetAttributes):
1802 (WebCore::Element::didAddAttribute):
1803 (WebCore::Element::didModifyAttribute):
1804 (WebCore::Element::didRemoveAttribute):
1806 * dom/ElementAttributeData.cpp:
1807 (WebCore::ElementAttributeData::addAttribute):
1808 (WebCore::ElementAttributeData::setAttributes):
1809 (WebCore::ElementAttributeData::replaceAttribute):
1810 * dom/StyledElement.cpp:
1811 (WebCore::StyledElement::attributeChanged):
1812 (WebCore::StyledElement::parseAttribute):
1813 (WebCore::StyledElement::updateAttributeStyle):
1814 * dom/StyledElement.h:
1815 (WebCore::StyledElement::collectStyleForAttribute):
1816 * html/HTMLAnchorElement.cpp:
1817 (WebCore::HTMLAnchorElement::parseAttribute):
1818 * html/HTMLAnchorElement.h:
1819 * html/HTMLAppletElement.cpp:
1820 (WebCore::HTMLAppletElement::parseAttribute):
1821 * html/HTMLAppletElement.h:
1822 * html/HTMLAreaElement.cpp:
1823 (WebCore::HTMLAreaElement::parseAttribute):
1824 * html/HTMLAreaElement.h:
1825 * html/HTMLBRElement.cpp:
1826 (WebCore::HTMLBRElement::collectStyleForAttribute):
1827 * html/HTMLBRElement.h:
1828 * html/HTMLBaseElement.cpp:
1829 (WebCore::HTMLBaseElement::parseAttribute):
1830 * html/HTMLBaseElement.h:
1831 * html/HTMLBodyElement.cpp:
1832 (WebCore::HTMLBodyElement::collectStyleForAttribute):
1833 (WebCore::HTMLBodyElement::parseAttribute):
1834 * html/HTMLBodyElement.h:
1835 * html/HTMLButtonElement.cpp:
1836 (WebCore::HTMLButtonElement::parseAttribute):
1837 * html/HTMLButtonElement.h:
1838 * html/HTMLCanvasElement.cpp:
1839 (WebCore::HTMLCanvasElement::parseAttribute):
1840 * html/HTMLCanvasElement.h:
1841 * html/HTMLDetailsElement.cpp:
1842 (WebCore::HTMLDetailsElement::parseAttribute):
1843 * html/HTMLDetailsElement.h:
1844 * html/HTMLDivElement.cpp:
1845 (WebCore::HTMLDivElement::collectStyleForAttribute):
1846 * html/HTMLDivElement.h:
1847 * html/HTMLElement.cpp:
1848 (WebCore::parseBorderWidthAttribute):
1849 (WebCore::HTMLElement::applyBorderAttributeToStyle):
1850 (WebCore::HTMLElement::mapLanguageAttributeToLocale):
1851 (WebCore::HTMLElement::collectStyleForAttribute):
1852 (WebCore::HTMLElement::parseAttribute):
1853 (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1854 (WebCore::HTMLElement::dirAttributeChanged):
1855 * html/HTMLElement.h:
1856 * html/HTMLEmbedElement.cpp:
1857 (WebCore::HTMLEmbedElement::collectStyleForAttribute):
1858 (WebCore::HTMLEmbedElement::parseAttribute):
1859 * html/HTMLEmbedElement.h:
1860 * html/HTMLFontElement.cpp:
1861 (WebCore::HTMLFontElement::collectStyleForAttribute):
1862 * html/HTMLFontElement.h:
1863 * html/HTMLFormControlElement.cpp:
1864 (WebCore::HTMLFormControlElement::parseAttribute):
1865 * html/HTMLFormControlElement.h:
1866 * html/HTMLFormElement.cpp:
1867 (WebCore::HTMLFormElement::parseAttribute):
1868 * html/HTMLFormElement.h:
1869 * html/HTMLFrameElement.cpp:
1870 (WebCore::HTMLFrameElement::parseAttribute):
1871 * html/HTMLFrameElement.h:
1872 * html/HTMLFrameElementBase.cpp:
1873 (WebCore::HTMLFrameElementBase::parseAttribute):
1874 * html/HTMLFrameElementBase.h:
1875 (HTMLFrameElementBase):
1876 * html/HTMLFrameSetElement.cpp:
1877 (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
1878 (WebCore::HTMLFrameSetElement::parseAttribute):
1879 * html/HTMLFrameSetElement.h:
1880 * html/HTMLHRElement.cpp:
1881 (WebCore::HTMLHRElement::collectStyleForAttribute):
1882 * html/HTMLHRElement.h:
1883 * html/HTMLIFrameElement.cpp:
1884 (WebCore::HTMLIFrameElement::collectStyleForAttribute):
1885 (WebCore::HTMLIFrameElement::parseAttribute):
1886 * html/HTMLIFrameElement.h:
1887 * html/HTMLImageElement.cpp:
1888 (WebCore::HTMLImageElement::collectStyleForAttribute):
1889 (WebCore::HTMLImageElement::parseAttribute):
1890 * html/HTMLImageElement.h:
1891 * html/HTMLInputElement.cpp:
1892 (WebCore::HTMLInputElement::updateType):
1893 (WebCore::HTMLInputElement::collectStyleForAttribute):
1894 (WebCore::HTMLInputElement::parseAttribute):
1895 (WebCore::HTMLInputElement::parseMaxLengthAttribute):
1896 * html/HTMLInputElement.h:
1897 * html/HTMLKeygenElement.cpp:
1898 (WebCore::HTMLKeygenElement::parseAttribute):
1899 * html/HTMLKeygenElement.h:
1900 * html/HTMLLIElement.cpp:
1901 (WebCore::HTMLLIElement::collectStyleForAttribute):
1902 (WebCore::HTMLLIElement::parseAttribute):
1903 * html/HTMLLIElement.h:
1904 * html/HTMLLinkElement.cpp:
1905 (WebCore::HTMLLinkElement::parseAttribute):
1906 * html/HTMLLinkElement.h:
1907 * html/HTMLMapElement.cpp:
1908 (WebCore::HTMLMapElement::parseAttribute):
1909 * html/HTMLMapElement.h:
1910 * html/HTMLMarqueeElement.cpp:
1911 (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
1912 * html/HTMLMarqueeElement.h:
1913 * html/HTMLMediaElement.cpp:
1914 (WebCore::HTMLMediaElement::parseAttribute):
1915 * html/HTMLMediaElement.h:
1916 * html/HTMLMetaElement.cpp:
1917 (WebCore::HTMLMetaElement::parseAttribute):
1918 * html/HTMLMetaElement.h:
1919 * html/HTMLMeterElement.cpp:
1920 (WebCore::HTMLMeterElement::parseAttribute):
1921 * html/HTMLMeterElement.h:
1922 * html/HTMLOListElement.cpp:
1923 (WebCore::HTMLOListElement::collectStyleForAttribute):
1924 (WebCore::HTMLOListElement::parseAttribute):
1925 * html/HTMLOListElement.h:
1926 * html/HTMLObjectElement.cpp:
1927 (WebCore::HTMLObjectElement::collectStyleForAttribute):
1928 (WebCore::HTMLObjectElement::parseAttribute):
1929 * html/HTMLObjectElement.h:
1930 * html/HTMLOptGroupElement.cpp:
1931 (WebCore::HTMLOptGroupElement::parseAttribute):
1932 * html/HTMLOptGroupElement.h:
1933 * html/HTMLOptionElement.cpp:
1934 (WebCore::HTMLOptionElement::parseAttribute):
1935 * html/HTMLOptionElement.h:
1936 * html/HTMLOutputElement.cpp:
1937 (WebCore::HTMLOutputElement::parseAttribute):
1938 * html/HTMLOutputElement.h:
1939 * html/HTMLParagraphElement.cpp:
1940 (WebCore::HTMLParagraphElement::collectStyleForAttribute):
1941 * html/HTMLParagraphElement.h:
1942 * html/HTMLPlugInElement.cpp:
1943 (WebCore::HTMLPlugInElement::collectStyleForAttribute):
1944 * html/HTMLPlugInElement.h:
1945 * html/HTMLPreElement.cpp:
1946 (WebCore::HTMLPreElement::collectStyleForAttribute):
1947 * html/HTMLPreElement.h:
1948 * html/HTMLProgressElement.cpp:
1949 (WebCore::HTMLProgressElement::parseAttribute):
1950 * html/HTMLProgressElement.h:
1951 * html/HTMLScriptElement.cpp:
1952 (WebCore::HTMLScriptElement::parseAttribute):
1953 * html/HTMLScriptElement.h:
1954 * html/HTMLSelectElement.cpp:
1955 (WebCore::HTMLSelectElement::parseAttribute):
1956 (WebCore::HTMLSelectElement::parseMultipleAttribute):
1957 * html/HTMLSelectElement.h:
1958 * html/HTMLStyleElement.cpp:
1959 (WebCore::HTMLStyleElement::parseAttribute):
1960 * html/HTMLStyleElement.h:
1961 * html/HTMLTableCaptionElement.cpp:
1962 (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
1963 * html/HTMLTableCaptionElement.h:
1964 * html/HTMLTableCellElement.cpp:
1965 (WebCore::HTMLTableCellElement::collectStyleForAttribute):
1966 (WebCore::HTMLTableCellElement::parseAttribute):
1967 * html/HTMLTableCellElement.h:
1968 * html/HTMLTableColElement.cpp:
1969 (WebCore::HTMLTableColElement::collectStyleForAttribute):
1970 (WebCore::HTMLTableColElement::parseAttribute):
1971 * html/HTMLTableColElement.h:
1972 * html/HTMLTableElement.cpp:
1973 (WebCore::HTMLTableElement::collectStyleForAttribute):
1974 (WebCore::HTMLTableElement::parseAttribute):
1975 * html/HTMLTableElement.h:
1976 * html/HTMLTablePartElement.cpp:
1977 (WebCore::HTMLTablePartElement::collectStyleForAttribute):
1978 * html/HTMLTablePartElement.h:
1979 * html/HTMLTextAreaElement.cpp:
1980 (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
1981 (WebCore::HTMLTextAreaElement::parseAttribute):
1982 * html/HTMLTextAreaElement.h:
1983 * html/HTMLTextFormControlElement.cpp:
1984 (WebCore::HTMLTextFormControlElement::parseAttribute):
1985 * html/HTMLTextFormControlElement.h:
1986 * html/HTMLTrackElement.cpp:
1987 (WebCore::HTMLTrackElement::parseAttribute):
1988 * html/HTMLTrackElement.h:
1989 * html/HTMLUListElement.cpp:
1990 (WebCore::HTMLUListElement::collectStyleForAttribute):
1991 * html/HTMLUListElement.h:
1992 * html/HTMLVideoElement.cpp:
1993 (WebCore::HTMLVideoElement::collectStyleForAttribute):
1994 (WebCore::HTMLVideoElement::parseAttribute):
1995 * html/HTMLVideoElement.h:
1996 * html/shadow/HTMLContentElement.cpp:
1997 (WebCore::HTMLContentElement::parseAttribute):
1998 * html/shadow/HTMLContentElement.h:
1999 * mathml/MathMLElement.cpp:
2000 (WebCore::MathMLElement::collectStyleForAttribute):
2001 * mathml/MathMLElement.h:
2002 * svg/SVGAElement.cpp:
2003 (WebCore::SVGAElement::parseAttribute):
2004 * svg/SVGAElement.h:
2005 * svg/SVGAnimateMotionElement.cpp:
2006 (WebCore::SVGAnimateMotionElement::parseAttribute):
2007 * svg/SVGAnimateMotionElement.h:
2008 * svg/SVGAnimateTransformElement.cpp:
2009 (WebCore::SVGAnimateTransformElement::parseAttribute):
2010 * svg/SVGAnimateTransformElement.h:
2011 * svg/SVGAnimationElement.cpp:
2012 (WebCore::SVGAnimationElement::parseAttribute):
2013 * svg/SVGAnimationElement.h:
2014 * svg/SVGCircleElement.cpp:
2015 (WebCore::SVGCircleElement::parseAttribute):
2016 * svg/SVGCircleElement.h:
2017 * svg/SVGClipPathElement.cpp:
2018 (WebCore::SVGClipPathElement::parseAttribute):
2019 * svg/SVGClipPathElement.h:
2020 * svg/SVGComponentTransferFunctionElement.cpp:
2021 (WebCore::SVGComponentTransferFunctionElement::parseAttribute):
2022 * svg/SVGComponentTransferFunctionElement.h:
2023 * svg/SVGCursorElement.cpp:
2024 (WebCore::SVGCursorElement::parseAttribute):
2025 * svg/SVGCursorElement.h:
2026 * svg/SVGElement.cpp:
2027 (WebCore::SVGElement::reportAttributeParsingError):
2028 (WebCore::SVGElement::parseAttribute):
2029 (WebCore::SVGElement::attributeChanged):
2031 * svg/SVGEllipseElement.cpp:
2032 (WebCore::SVGEllipseElement::parseAttribute):
2033 * svg/SVGEllipseElement.h:
2034 * svg/SVGExternalResourcesRequired.cpp:
2035 (WebCore::SVGExternalResourcesRequired::parseAttribute):
2036 * svg/SVGExternalResourcesRequired.h:
2037 (SVGExternalResourcesRequired):
2038 * svg/SVGFEBlendElement.cpp:
2039 (WebCore::SVGFEBlendElement::parseAttribute):
2040 * svg/SVGFEBlendElement.h:
2041 * svg/SVGFEColorMatrixElement.cpp:
2042 (WebCore::SVGFEColorMatrixElement::parseAttribute):
2043 * svg/SVGFEColorMatrixElement.h:
2044 * svg/SVGFEComponentTransferElement.cpp:
2045 (WebCore::SVGFEComponentTransferElement::parseAttribute):
2046 * svg/SVGFEComponentTransferElement.h:
2047 * svg/SVGFECompositeElement.cpp:
2048 (WebCore::SVGFECompositeElement::parseAttribute):
2049 * svg/SVGFECompositeElement.h:
2050 * svg/SVGFEConvolveMatrixElement.cpp:
2051 (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
2052 * svg/SVGFEConvolveMatrixElement.h:
2053 * svg/SVGFEDiffuseLightingElement.cpp:
2054 (WebCore::SVGFEDiffuseLightingElement::parseAttribute):
2055 * svg/SVGFEDiffuseLightingElement.h:
2056 * svg/SVGFEDisplacementMapElement.cpp:
2057 (WebCore::SVGFEDisplacementMapElement::parseAttribute):
2058 * svg/SVGFEDisplacementMapElement.h:
2059 * svg/SVGFEDropShadowElement.cpp:
2060 (WebCore::SVGFEDropShadowElement::parseAttribute):
2061 * svg/SVGFEDropShadowElement.h:
2062 * svg/SVGFEGaussianBlurElement.cpp:
2063 (WebCore::SVGFEGaussianBlurElement::parseAttribute):
2064 * svg/SVGFEGaussianBlurElement.h:
2065 * svg/SVGFEImageElement.cpp:
2066 (WebCore::SVGFEImageElement::parseAttribute):
2067 * svg/SVGFEImageElement.h:
2068 * svg/SVGFELightElement.cpp:
2069 (WebCore::SVGFELightElement::parseAttribute):
2070 * svg/SVGFELightElement.h:
2071 * svg/SVGFEMergeNodeElement.cpp:
2072 (WebCore::SVGFEMergeNodeElement::parseAttribute):
2073 * svg/SVGFEMergeNodeElement.h:
2074 * svg/SVGFEMorphologyElement.cpp:
2075 (WebCore::SVGFEMorphologyElement::parseAttribute):
2076 * svg/SVGFEMorphologyElement.h:
2077 * svg/SVGFEOffsetElement.cpp:
2078 (WebCore::SVGFEOffsetElement::parseAttribute):
2079 * svg/SVGFEOffsetElement.h:
2080 * svg/SVGFESpecularLightingElement.cpp:
2081 (WebCore::SVGFESpecularLightingElement::parseAttribute):
2082 * svg/SVGFESpecularLightingElement.h:
2083 * svg/SVGFETileElement.cpp:
2084 (WebCore::SVGFETileElement::parseAttribute):
2085 * svg/SVGFETileElement.h:
2086 * svg/SVGFETurbulenceElement.cpp:
2087 (WebCore::SVGFETurbulenceElement::parseAttribute):
2088 * svg/SVGFETurbulenceElement.h:
2089 * svg/SVGFilterElement.cpp:
2090 (WebCore::SVGFilterElement::parseAttribute):
2091 * svg/SVGFilterElement.h:
2092 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2093 (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
2094 * svg/SVGFilterPrimitiveStandardAttributes.h:
2095 (SVGFilterPrimitiveStandardAttributes):
2096 * svg/SVGFitToViewBox.cpp:
2097 (WebCore::SVGFitToViewBox::parseAttribute):
2098 * svg/SVGFitToViewBox.h:
2100 * svg/SVGFontFaceElement.cpp:
2101 (WebCore::SVGFontFaceElement::parseAttribute):
2102 * svg/SVGFontFaceElement.h:
2103 * svg/SVGFontFaceUriElement.cpp:
2104 (WebCore::SVGFontFaceUriElement::parseAttribute):
2105 * svg/SVGFontFaceUriElement.h:
2106 * svg/SVGForeignObjectElement.cpp:
2107 (WebCore::SVGForeignObjectElement::parseAttribute):
2108 * svg/SVGForeignObjectElement.h:
2109 * svg/SVGGElement.cpp:
2110 (WebCore::SVGGElement::parseAttribute):
2111 * svg/SVGGElement.h:
2112 * svg/SVGGlyphElement.cpp:
2113 (WebCore::SVGGlyphElement::parseAttribute):
2114 * svg/SVGGlyphElement.h:
2115 * svg/SVGGlyphRefElement.cpp:
2116 (WebCore::SVGGlyphRefElement::parseAttribute):
2117 * svg/SVGGlyphRefElement.h:
2118 * svg/SVGGradientElement.cpp:
2119 (WebCore::SVGGradientElement::parseAttribute):
2120 * svg/SVGGradientElement.h:
2121 * svg/SVGImageElement.cpp:
2122 (WebCore::SVGImageElement::collectStyleForAttribute):
2123 (WebCore::SVGImageElement::parseAttribute):
2124 * svg/SVGImageElement.h:
2125 * svg/SVGImageLoader.cpp:
2126 (WebCore::SVGImageLoader::sourceURI):
2127 * svg/SVGLangSpace.cpp:
2128 (WebCore::SVGLangSpace::parseAttribute):
2129 * svg/SVGLangSpace.h:
2131 * svg/SVGLineElement.cpp:
2132 (WebCore::SVGLineElement::parseAttribute):
2133 * svg/SVGLineElement.h:
2134 * svg/SVGLinearGradientElement.cpp:
2135 (WebCore::SVGLinearGradientElement::parseAttribute):
2136 * svg/SVGLinearGradientElement.h:
2137 * svg/SVGMPathElement.cpp:
2138 (WebCore::SVGMPathElement::parseAttribute):
2139 * svg/SVGMPathElement.h:
2140 * svg/SVGMarkerElement.cpp:
2141 (WebCore::SVGMarkerElement::parseAttribute):
2142 * svg/SVGMarkerElement.h:
2143 * svg/SVGMaskElement.cpp:
2144 (WebCore::SVGMaskElement::parseAttribute):
2145 * svg/SVGMaskElement.h:
2146 * svg/SVGPathElement.cpp:
2147 (WebCore::SVGPathElement::parseAttribute):
2148 * svg/SVGPathElement.h:
2149 * svg/SVGPatternElement.cpp:
2150 (WebCore::SVGPatternElement::parseAttribute):
2151 * svg/SVGPatternElement.h:
2152 * svg/SVGPolyElement.cpp:
2153 (WebCore::SVGPolyElement::parseAttribute):
2154 * svg/SVGPolyElement.h:
2155 * svg/SVGRadialGradientElement.cpp:
2156 (WebCore::SVGRadialGradientElement::parseAttribute):
2157 * svg/SVGRadialGradientElement.h:
2158 * svg/SVGRectElement.cpp:
2159 (WebCore::SVGRectElement::parseAttribute):
2160 * svg/SVGRectElement.h:
2161 * svg/SVGSVGElement.cpp:
2162 (WebCore::SVGSVGElement::parseAttribute):
2163 * svg/SVGSVGElement.h:
2164 * svg/SVGScriptElement.cpp:
2165 (WebCore::SVGScriptElement::parseAttribute):
2166 * svg/SVGScriptElement.h:
2167 * svg/SVGStopElement.cpp:
2168 (WebCore::SVGStopElement::parseAttribute):
2169 * svg/SVGStopElement.h:
2170 * svg/SVGStyleElement.cpp:
2171 (WebCore::SVGStyleElement::parseAttribute):
2172 * svg/SVGStyleElement.h:
2173 * svg/SVGStyledElement.cpp:
2174 (WebCore::SVGStyledElement::collectStyleForAttribute):
2175 (WebCore::SVGStyledElement::parseAttribute):
2176 * svg/SVGStyledElement.h:
2177 * svg/SVGStyledTransformableElement.cpp:
2178 (WebCore::SVGStyledTransformableElement::parseAttribute):
2179 * svg/SVGStyledTransformableElement.h:
2180 * svg/SVGSymbolElement.cpp:
2181 (WebCore::SVGSymbolElement::parseAttribute):
2182 * svg/SVGSymbolElement.h:
2183 * svg/SVGTRefElement.cpp:
2184 (WebCore::SVGTRefElement::parseAttribute):
2185 * svg/SVGTRefElement.h:
2187 (WebCore::SVGTests::parseAttribute):
2190 * svg/SVGTextContentElement.cpp:
2191 (WebCore::SVGTextContentElement::collectStyleForAttribute):
2192 (WebCore::SVGTextContentElement::parseAttribute):
2193 * svg/SVGTextContentElement.h:
2194 * svg/SVGTextElement.cpp:
2195 (WebCore::SVGTextElement::parseAttribute):
2196 * svg/SVGTextElement.h:
2197 * svg/SVGTextPathElement.cpp:
2198 (WebCore::SVGTextPathElement::parseAttribute):
2199 * svg/SVGTextPathElement.h:
2200 * svg/SVGTextPositioningElement.cpp:
2201 (WebCore::SVGTextPositioningElement::parseAttribute):
2202 * svg/SVGTextPositioningElement.h:
2203 * svg/SVGURIReference.cpp:
2204 (WebCore::SVGURIReference::parseAttribute):
2205 * svg/SVGURIReference.h:
2207 * svg/SVGUseElement.cpp:
2208 (WebCore::SVGUseElement::parseAttribute):
2209 * svg/SVGUseElement.h:
2210 * svg/SVGViewElement.cpp:
2211 (WebCore::SVGViewElement::parseAttribute):
2212 * svg/SVGViewElement.h:
2213 * svg/SVGZoomAndPan.cpp:
2214 (WebCore::SVGZoomAndPan::parseAttribute):
2215 * svg/SVGZoomAndPan.h:
2217 * svg/animation/SVGSMILElement.cpp:
2218 (WebCore::SVGSMILElement::parseAttribute):
2219 * svg/animation/SVGSMILElement.h:
2221 2012-05-15 Kenneth Russell <kbr@google.com>
2223 Assertion failure running Mozilla's WebGL performance regression tests
2224 https://bugs.webkit.org/show_bug.cgi?id=85942
2226 Reviewed by Stephen White.
2228 Fixed incorrect assumptions about source formats and buffer sizes
2229 when uploading to floating-point textures. Added code paths
2230 supporting the necessary conversions.
2232 Tests have been added to the WebGL conformance suite which cover
2233 these new code paths; they verify uploads of HTMLCanvasElement,
2234 HTMLImageElement, HTMLVideoElement, and ImageData to
2235 floating-point textures. However, because floating-point texture
2236 support is optional, and generally only supported on bots which
2237 run with real GPUs and not in virtual machines, it isn't feasible
2238 to incorporate these tests as layout tests.
2240 Ran the new WebGL conformance tests in Chromium on Linux; all
2243 * platform/graphics/GraphicsContext3D.cpp:
2244 (WebCore::GraphicsContext3D::extractImageData):
2245 Properly compute size of destination buffer.
2248 Add pack/unpack routines for converting RGBA8/BGRA8 to floating point.
2250 (WebCore::doFloatingPointPacking):
2251 Support RGBA8 and BGRA8 source formats.
2253 (WebCore::isFloatingPointSource):
2254 Factored out logic for assertions.
2256 (WebCore::GraphicsContext3D::packPixels):
2257 Generalized assertions and logic.
2259 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2260 (WebCore::GraphicsContext3D::getImageData):
2261 Properly compute size of destination buffer.
2263 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2264 (WebCore::GraphicsContext3D::getImageData):
2265 Properly compute size of destination buffer.
2267 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2268 (WebCore::GraphicsContext3D::getImageData):
2269 Properly compute size of destination buffer.
2271 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2272 (WebCore::GraphicsContext3D::getImageData):
2273 Properly compute size of destination buffer.
2275 2012-05-15 James Robinson <jamesr@chromium.org>
2277 [chromium] Chromium port never sets USE(CG) so code behind it is dead
2278 https://bugs.webkit.org/show_bug.cgi?id=86537
2280 Reviewed by Adrienne Walker.
2282 Deletes code behind USE(CG) in chromium-specific code and removes unneeded USE(SKIA) guards.
2284 * platform/chromium/DragImageRef.h:
2286 * platform/chromium/MIMETypeRegistryChromium.cpp:
2287 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
2288 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2289 (WebCore::ScrollbarThemeChromiumMac::paint):
2290 * platform/chromium/ThemeChromiumMac.mm:
2291 (WebCore::paintStepper):
2292 * platform/graphics/chromium/PlatformImage.cpp:
2293 (WebCore::PlatformImage::updateFromImage):
2295 2012-05-15 Keyar Hood <keyar@chromium.org>
2297 Skia does not respect a specified InterpolationQuality
2298 https://bugs.webkit.org/show_bug.cgi?id=86249
2300 Reviewed by Stephen White.
2302 The added functionality is not exposed to higher layers of webkit.
2303 Tests will be added that will exercise these changes when bug 82804 is
2306 * platform/graphics/GraphicsContext.cpp:
2307 (WebCore::GraphicsContext::drawImage):
2308 (WebCore::GraphicsContext::drawImageBuffer):
2309 Code to have the useLowQualityScale cause the InterpolationQuality be
2310 be set to low for Chromium but remain as none for other platforms.
2311 * platform/graphics/skia/ImageSkia.cpp:
2312 (WebCore::limitResamplingMode): Added
2314 (WebCore::paintSkBitmap):
2315 (WebCore::Image::drawPattern):
2316 We now limit the resampling choice based on what InterpolationQuality
2317 is set as. InterpolationNone restricts resampling to RESAMPLE_NONE,
2318 InterpolationLow and InterpolationMedium restricts resampling to
2319 RESAMPLE_LINEAR. InterpolationHigh and InterpolationDefault do not
2320 change the resampling.
2322 Furthermore, the choice on how to set the filter bitmap flag in
2323 paintSkBitmap was made to be consistent with that in
2327 2012-05-15 Jeffrey Pfau <jpfau@apple.com>
2329 ImageDocuments erroneously trigger beforeload events for the main resource
2330 https://bugs.webkit.org/show_bug.cgi?id=86543
2331 <rdar://problem/11309013>
2333 Reviewed by Brady Eidson.
2335 No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
2337 * loader/ImageLoader.cpp:
2338 (WebCore::ImageLoader::updateFromElement):
2340 2012-05-15 Dirk Pranke <dpranke@chromium.org>
2342 [chromium] ScrollElasticityController.mm doesn't compile with the 10.6 SDK on mac
2343 https://bugs.webkit.org/show_bug.cgi?id=86544
2345 Reviewed by Anders Carlsson.
2347 This is a build fix for now until we can figure out what a
2348 better way to approach this is.
2350 * platform/mac/ScrollElasticityController.mm:
2353 2012-05-15 Nate Chapin <japhet@chromium.org>
2355 MainResourceLoader::load() always returns true, so make it return
2356 void and delete the related dead code.
2357 https://bugs.webkit.org/show_bug.cgi?id=86413
2359 Reviewed by Alexey Proskuryakov.
2361 No new tests, cleanup only.
2363 * loader/DocumentLoader.cpp:
2364 (WebCore::DocumentLoader::startLoadingMainResource):
2365 * loader/MainResourceLoader.cpp:
2366 (WebCore::MainResourceLoader::load):
2367 * loader/MainResourceLoader.h:
2368 (MainResourceLoader):
2370 2012-05-15 Ian Vollick <vollick@chromium.org>
2372 [chromium] Ensure animations get ticked at least once when added.
2373 https://bugs.webkit.org/show_bug.cgi?id=86013
2375 Reviewed by James Robinson.
2378 CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
2379 CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
2380 CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
2381 CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded
2383 * platform/graphics/chromium/LayerChromium.cpp:
2384 (WebCore::LayerChromium::addAnimation):
2385 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2386 (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2387 (WebCore::CCLayerTreeHost::didAddAnimation):
2389 (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2390 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2392 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2393 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2394 * platform/graphics/chromium/cc/CCProxy.h:
2396 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2397 (CCSingleThreadProxyAnimationTimer):
2398 (WebCore::CCSingleThreadProxyAnimationTimer::create):
2399 (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
2401 (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2402 (WebCore::CCSingleThreadProxy::didAddAnimation):
2403 (WebCore::CCSingleThreadProxy::doComposite):
2404 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2406 * platform/graphics/chromium/cc/CCThreadProxy.h:
2408 2012-05-15 Alexandre Elias <aelias@google.com>
2410 [chromium] Fix unsafe viewport tag dispatch
2411 https://bugs.webkit.org/show_bug.cgi?id=80554
2413 Reviewed by Adam Barth.
2415 In some uncommon situations (such as window.open() new tab on
2416 Android), dispatchViewportPropertiesDidChange may early-return without
2417 setting the page scale because the window size is not yet
2418 available from the embedder. At that point, the previous behavior was
2419 to call it again in layoutUpdated(), but this is unsafe since it
2420 leaves a pending needsLayout.
2422 I moved the dispatch call into WebViewImpl::didChangeContentsSize and
2423 WebViewImpl::resize() instead -- these represent more explicitly the
2424 situations where the inputs to the viewport tag calculation change. I
2425 removed the other dispatch call from setFrameRect as it's now
2428 Covered by FixedLayoutInitializeAtMinimumPageScale test introduced
2429 in http://webk.it/82949 (an assertion will fire there without
2432 * page/FrameView.cpp:
2433 (WebCore::FrameView::setFrameRect):
2435 2012-05-15 Jer Noble <jer.noble@apple.com>
2437 r117147 causes a null-deref crash in DOMImplementation::createDocument()
2438 https://bugs.webkit.org/show_bug.cgi?id=86532
2440 Reviewed by James Robinson.
2442 No new tests, but fixes many crashing tests.
2444 Protect against the possibility of being passed a NULL frame in
2445 DOMImplementation::createDocument().
2447 * dom/DOMImplementation.cpp:
2448 (WebCore::DOMImplementation::createDocument):
2450 2012-05-15 Julien Chaffraix <jchaffraix@webkit.org>
2452 Use posZOrderList() / negZOrderList() everywhere to avoid querying dirtied lists
2453 https://bugs.webkit.org/show_bug.cgi?id=86416
2455 Reviewed by Simon Fraser.
2457 Covered by existing tests that are not ASSERTing after this change.
2459 * rendering/RenderLayerBacking.cpp:
2460 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2461 * rendering/RenderLayer.cpp:
2462 (WebCore::RenderLayer::update3DTransformedDescendantStatus):
2463 Added a call to updateZOrderLists() to the previous sites as nothing guarantees
2464 that we have recomputed our z-order lists.
2466 (WebCore::RenderLayer::paintLayerContents):
2467 (WebCore::RenderLayer::hitTestLayer):
2468 * rendering/RenderLayerCompositor.cpp:
2469 (WebCore::RenderLayerCompositor::needsContentsCompositingLayer):
2470 Converted those functions to use the safe getters.
2472 * rendering/RenderLayer.h:
2473 (WebCore::RenderLayer::hasNegativeZOrderList):
2474 Newly added funtion to return if we have a negative z-order list.
2476 2012-05-15 Abhishek Arya <inferno@chromium.org>
2478 Crash due shadow tree parent confusion in SVG.
2479 https://bugs.webkit.org/show_bug.cgi?id=84248
2481 Reviewed by Nikolas Zimmermann.
2483 Test: svg/foreignObject/viewport-foreignobject-crash.html
2485 When we try to make a decision on whether we need an outer
2486 SVGRoot container, we detect if we are in shadow tree or not.
2487 We also need to make sure that our parentOrHostElement is also
2490 * svg/SVGElement.cpp:
2491 (WebCore::SVGElement::isOutermostSVGSVGElement):
2493 2012-05-15 Lauro Neto <lauro.neto@openbossa.org>
2495 [File API] URL methods handling null arguments
2496 https://bugs.webkit.org/show_bug.cgi?id=69693
2498 Reviewed by Adam Barth.
2500 Per the latest editor's draft of the File API:
2501 http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL
2503 Use null instead of undefined as return value when a
2504 null blob is given to URL.createObjectURL.
2506 Test: fast/files/url-null.html
2510 2012-05-15 Jer Noble <jer.noble@apple.com>
2512 Unreviewed build fix [Qt].
2514 Protect the definition of DOMImplementationSupportsTypeClient class with
2515 #if ENABLE(VIDEO) so as not to cause compilation errors on ports with
2518 * dom/DOMImplementation.cpp:
2520 2012-05-14 Jer Noble <jer.noble@apple.com>
2522 Site-specific hack: Disclaim WebM as a supported type on Mac for YouTube.
2523 https://bugs.webkit.org/show_bug.cgi?id=86409
2525 Reviewed by Darin Adler.
2527 No new tests; site specific hack.
2529 Add a Mac-only site-specific hack which disclaims both video/webm and video/x-flv
2530 as supported types when the media element's document has a host of youtube.com.
2532 Add a new, pure-virtual prototype class for use by MediaPlayer::supportsType:
2533 * platform/graphics/MediaPlayer.h:
2534 (MediaPlayerSupportsTypeClient):
2535 (WebCore::MediaPlayerSupportsTypeClient::~MediaPlayerSupportsTypeClient):
2536 (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks):
2537 (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost):
2539 Use these new client calls to determine whether to apply the site-specific
2541 * platform/graphics/MediaPlayer.cpp:
2542 (WebCore::MediaPlayer::supportsType):
2544 Add this prototype class as a superclass of HTMLMediaElement. Pass in the
2545 HTMLMediaElement's this pointer when calling MediaPlayer::supportsType():
2546 * html/HTMLMediaElement.cpp:
2547 (WebCore::HTMLMediaElement::canPlayType):
2548 (WebCore::HTMLMediaElement::selectNextSourceChild):
2549 (WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
2550 (WebCore::HTMLMediaElement::mediaPlayerDocumentHost):
2551 * html/HTMLMediaElement.h:
2553 As is HTMLMediaElement, a MediaPlayerSupportsTypeClient class is needed. Add a
2554 new class DOMImplementationSupportsTypeClient, an instance of which will be
2555 passed to MediaPlayer::supportsType():
2556 * dom/DOMImplementation.cpp:
2557 (DOMImplementationSupportsTypeClient):
2558 (WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient):
2559 (WebCore::DOMImplementation::createDocument):
2560 (WebCore::DOMImplementation::mediaPlayerNeedsSiteSpecificHacks):
2561 (WebCore::DOMImplementation::mediaPlayerDocumentHost):
2562 * dom/DOMImplementation.h:
2564 2012-05-15 Anders Carlsson <andersca@apple.com>
2566 Use unaccelerated scrolling deltas when rubber-banding
2567 https://bugs.webkit.org/show_bug.cgi?id=86503
2568 <rdar://problem/11378742>
2570 Reviewed by Sam Weinig.
2573 * platform/PlatformWheelEvent.h:
2574 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2575 (PlatformWheelEvent):
2576 (WebCore::PlatformWheelEvent::scrollCount):
2577 (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaX):
2578 (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaY):
2579 Add scroll count and unaccelerated scrolling deltas.
2581 * platform/mac/ScrollElasticityController.mm:
2582 (WebCore::elasticDeltaForTimeDelta):
2583 (WebCore::elasticDeltaForReboundDelta):
2584 (WebCore::reboundDeltaForElasticDelta):
2585 Call the new WKSI functions.
2587 (WebCore::ScrollElasticityController::handleWheelEvent):
2588 Use the unaccelerated scrolling deltas when needed.
2590 * platform/mac/WebCoreSystemInterface.h:
2591 * platform/mac/WebCoreSystemInterface.mm:
2592 Add new WKSI functions.
2594 2012-05-15 Terry Anderson <tdanderson@chromium.org>
2596 [chromium] Compute the best target node on a GestureTap event
2597 https://bugs.webkit.org/show_bug.cgi?id=85101
2599 Reviewed by Adam Barth.
2601 Using the tests in the touchadjustment/ directory.
2604 Include TouchAdjustment.* files.
2605 * page/TouchAdjustment.cpp:
2606 (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
2607 (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
2608 No longer using the INFINITY constant due to problems with compiling
2611 2012-05-15 Chris Rogers <crogers@google.com>
2613 Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)
2614 https://bugs.webkit.org/show_bug.cgi?id=86396
2616 Reviewed by Kenneth Russell.
2618 No new tests. Existing layout tests already extensively test summing.
2621 * GNUmakefile.list.am:
2622 Add AudioSummingJunction files to makefiles.
2624 * Modules/webaudio/AudioContext.cpp:
2625 * Modules/webaudio/AudioContext.h:
2626 (WebCore::AudioContext::handlePreRenderTasks):
2627 (WebCore::AudioContext::handlePostRenderTasks):
2628 (WebCore::AudioContext::deleteMarkedNodes):
2629 (WebCore::AudioContext::markSummingJunctionDirty):
2630 (WebCore::AudioContext::removeMarkedSummingJunction):
2631 (WebCore::AudioContext::handleDirtyAudioSummingJunctions):
2632 Simple munge from AudioNodeInput -> AudioSummingJunction
2634 * Modules/webaudio/AudioNodeInput.cpp:
2635 * Modules/webaudio/AudioNodeInput.h:
2636 (WebCore::AudioNodeInput::AudioNodeInput):
2637 (WebCore::AudioNodeInput::didUpdate):
2638 Remove logic from AudioNodeInput which now is being moved to AudioSummingJunction.
2640 * Modules/webaudio/AudioSummingJunction.cpp: Added.
2641 * Modules/webaudio/AudioSummingJunction.h: Added.
2642 (WebCore::AudioSummingJunction::AudioSummingJunction):
2643 (WebCore::AudioSummingJunction::~AudioSummingJunction):
2644 (WebCore::AudioSummingJunction::changedOutputs):
2645 (WebCore::AudioSummingJunction::updateRenderingState):
2646 (WebCore::AudioSummingJunction::context):
2647 (WebCore::AudioSummingJunction::numberOfRenderingConnections):
2648 (WebCore::AudioSummingJunction::renderingOutput):
2649 (WebCore::AudioSummingJunction::isConnected):
2650 (WebCore::AudioSummingJunction::numberOfConnections):
2651 Add AudioSummingJunction which is an abstraction to manage/track the connections from AudioNodeOutputs
2652 representing the fan-in points for unity gain summing junctions.
2655 * WebCore.xcodeproj/project.pbxproj:
2656 Add AudioSummingJunction files to makefiles.
2658 2012-05-15 Dan Bernstein <mitz@apple.com>
2660 Ruby annotation is incorrectly identified as a paragraph boundary
2661 https://bugs.webkit.org/show_bug.cgi?id=86507
2663 Reviewed by Darin Adler.
2665 Test: editing/selection/paragraph-with-ruby.html
2667 * editing/htmlediting.cpp:
2668 (WebCore::isBlock): Changed to return false for ruby text.
2670 2012-05-15 Philippe Normand <pnormand@igalia.com>
2672 [GTK] Un-used GStreamer linker options
2673 https://bugs.webkit.org/show_bug.cgi?id=86407
2675 Reviewed by Martin Robinson.
2677 * GNUmakefile.am: Remove no-longer used webcore_libadd variable.
2679 2012-05-15 Beth Dakin <bdakin@apple.com>
2681 https://bugs.webkit.org/show_bug.cgi?id=86506
2682 REGRESSION (tiled drawing): No scrollbar while page is loading
2684 <rdar://problem/11444589>
2686 Reviewed by Anders Carlsson.
2688 We have always had a mechanism in place to suppress painting overlay
2689 scrollbars while the page is loading. However, that mechaism is
2690 overriden if the page has been scrolled. It should be, anyway. It was
2691 not being overriden when the scrolling was handled as a wheel event by
2692 the scrolling tree. This patch takes advantage of the fact that
2693 ScrollingTree::handleWheelEvent() already calls back to the main
2694 thread for handleWheelEventPhase() and just patches
2695 handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
2696 * platform/mac/ScrollAnimatorMac.mm:
2697 (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
2699 2012-05-15 Jessie Berlin <jberlin@apple.com>
2701 WKContextSetCacheModel(contextref, kWKCacheModelDocumentViewer) doesn't prevent pages from
2702 going into the PageCache.
2703 https://bugs.webkit.org/show_bug.cgi?id=85891
2705 Reviewed by Brady Eidson.
2707 Do not claim that it is possible to cache a page when the page cache has a capacity of 0.
2709 Covered by the modified DOMWindowExtensionNoCache WK2 API test.
2711 * history/PageCache.cpp:
2712 (WebCore::PageCache::canCache):
2714 * history/PageCache.h:
2716 * loader/FrameLoader.cpp:
2717 (WebCore::FrameLoader::commitProvisionalLoad):
2718 canCache is no longer static on PageCache.
2720 2012-05-15 James Robinson <jamesr@chromium.org>
2722 Unreviewed, rolling out r116811.
2723 http://trac.webkit.org/changeset/116811
2724 https://bugs.webkit.org/show_bug.cgi?id=86257
2726 Introduced layering violation
2730 2012-05-15 Darin Adler <darin@apple.com>
2732 Font copy constructor unnecessarily recalculates transcoding
2733 https://bugs.webkit.org/show_bug.cgi?id=86490
2735 Reviewed by Dan Bernstein.
2737 * platform/graphics/Font.cpp:
2738 (WebCore::Font::Font): Copy m_needsTranscoding instead of recomputing it.
2740 2012-05-15 Andreas Kling <kling@webkit.org>
2742 Deep copy PluginModuleInfo before passing across thread boundary.
2743 <http://webkit.org/b/86491>
2744 <rdar://problem/11451178>
2746 Reviewed by Anders Carlsson.
2748 * plugins/PluginData.h:
2750 (WebCore::MimeClassInfo::isolatedCopy):
2752 (WebCore::PluginInfo::isolatedCopy):
2754 2012-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
2756 Unreviewed, rolling out r116712.
2757 http://trac.webkit.org/changeset/116712
2758 https://bugs.webkit.org/show_bug.cgi?id=86484
2760 This patch is causing crashes in Chromium Canary builds
2761 (Requested by pilgrim_google__ on #webkit).
2763 * storage/StorageArea.h:
2765 * storage/StorageAreaImpl.cpp:
2766 (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
2767 (WebCore::StorageAreaImpl::setItem):
2768 (WebCore::StorageAreaImpl::removeItem):
2769 (WebCore::StorageAreaImpl::clear):
2770 * storage/StorageAreaImpl.h:
2773 2012-05-15 Darin Adler <darin@apple.com>
2775 Optimize save/restore with no drawing operations between them (shows up on some canvas benchmarks)
2776 https://bugs.webkit.org/show_bug.cgi?id=86448
2778 Reviewed by Simon Fraser.
2780 Since canvas programmers sometimes end up doing extra save/restore pairs with no actual drawing
2781 in between, optimize that case by not realizing saves until we have to. This is doubly important
2782 because saves are costly.
2784 * html/canvas/CanvasRenderingContext2D.cpp:
2785 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Initialize m_unrealizedSaveCount.
2786 (WebCore::CanvasRenderingContext2D::isAccelerated): Improve performance by calling the
2787 drawingContext function only once.
2788 (WebCore::CanvasRenderingContext2D::reset): Set m_unrealizedSaveCount to 0.
2789 (WebCore::CanvasRenderingContext2D::realizeSavesLoop): Added. Replaces the save function as the
2790 function that actually pushes context onto the state stack.
2791 (WebCore::CanvasRenderingContext2D::restore): Added code to do an early return if we can do the
2792 restore just by decrementing the unrealized save count.
2793 (WebCore::CanvasRenderingContext2D::setStrokeStyle): Added calls to realizeSaves and replaced
2794 calls to state with calls to modifiableState.
2795 (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
2796 (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. Also added an early out for cases where
2797 the line width is not changing.
2798 (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
2799 (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
2800 (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
2801 (WebCore::CanvasRenderingContext2D::setShadowOffsetX): Ditto.
2802 (WebCore::CanvasRenderingContext2D::setShadowOffsetY): Ditto.
2803 (WebCore::CanvasRenderingContext2D::setShadowBlur): Ditto.
2804 (WebCore::CanvasRenderingContext2D::setShadowColor): Ditto.
2805 (WebCore::CanvasRenderingContext2D::setWebkitLineDash): Ditto.
2806 (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset): Ditto.
2807 (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
2808 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
2809 (WebCore::CanvasRenderingContext2D::scale): Ditto.
2810 (WebCore::CanvasRenderingContext2D::rotate): Ditto.
2811 (WebCore::CanvasRenderingContext2D::translate): Ditto.
2812 (WebCore::CanvasRenderingContext2D::transform): Ditto.
2813 (WebCore::CanvasRenderingContext2D::setTransform): Ditto.
2814 (WebCore::CanvasRenderingContext2D::setStrokeColor): Ditto.
2815 (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
2816 (WebCore::CanvasRenderingContext2D::clip): Ditto.
2817 (WebCore::CanvasRenderingContext2D::clearRect): Changed implementation so it does not save
2818 the graphics context in the common case where shadows, global alpha, and global compositing
2819 operators do not interfer with the function's operation. This allowed us to get rid of the
2820 setAllAttributesToDefault function, which was used nowhere else.
2821 (WebCore::CanvasRenderingContext2D::setShadow): Added a new common bottleneck and made all
2822 the setShadow functions call it.
2823 (WebCore::CanvasRenderingContext2D::clearShadow): Changed to call the new setShadow.
2824 (WebCore::CanvasRenderingContext2D::setFont): Renamed tempDecl to the more friendly
2825 parsedStyle. Changed code structure so the CSS parser is deleted right after parsing is
2826 done. Used string concatenation instead of more expensive string append. Added calls to
2827 realizeSaves and modifiableState.
2828 (WebCore::CanvasRenderingContext2D::setTextAlign): Added calls to realizeSaves and replaced
2829 calls to state with calls to modifiableState. Also added an early out for cases where the
2830 alignment is not changing.
2831 (WebCore::CanvasRenderingContext2D::setTextBaseline): Ditto.
2833 * html/canvas/CanvasRenderingContext2D.h: Made save an inline function that bumps
2834 m_unrealizedSaveCount. Removed setAllAttributesToDefault. Added OVERRIDE for all the
2835 virtual function overrides, and made them all private. Moved m_path down with the other data
2836 members. Renamed the non-const state function to modifiableState. Added a realizeSaves
2837 function and the realizeSavesLoop for the unusual case where there is work to do.
2838 Added m_unrealizedSaveCount.
2840 2012-05-15 Tommy Widenflycht <tommyw@google.com>
2842 MediaStream API: Setting onended on a LocalMediaStream triggers an assertion in V8
2843 https://bugs.webkit.org/show_bug.cgi?id=86459
2845 Reviewed by Adam Barth.
2847 LocalMediaStream inherits from MediaStream, but only MediaStream have the
2848 EventTarget idl attribute. Adding the attribute to LocalMediaStream as well fixes the issue.
2850 Test: fast/mediastream/LocalMediaStream-onended.html
2852 * Modules/mediastream/LocalMediaStream.idl:
2854 2012-05-15 Terry Anderson <tdanderson@chromium.org>
2856 [chromium] Remove unused code for tap target fuzzing
2857 https://bugs.webkit.org/show_bug.cgi?id=86252
2859 Reviewed by Adam Barth.
2861 No tests required since this is a cleanup of unused code.
2863 * page/EventHandler.cpp:
2864 (WebCore::EventHandler::handleGestureTap):
2865 * page/EventHandler.h:
2867 The touch adjustment code will be used to determine the best target
2868 for a GestureTap event instead of passing in a pre-targeted node.
2869 * platform/PlatformGestureEvent.h:
2870 (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2871 (PlatformGestureEvent):
2872 A rectangular touch region is defined by the touch center and the
2873 delta values only, so gammaX and gammaY are not needed.
2875 2012-05-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
2877 [Qt] WebKit with Qt5 hangs on Mac
2878 https://bugs.webkit.org/show_bug.cgi?id=79785
2880 Reviewed by Tor Arne Vestbø.
2882 Delay the initialization of our QNetworkConfigurationManager used in
2883 NetworkStateNotifierPrivate. On Mac it was causing a race condition because it
2884 spawns a thread that triggers a static initializer in Qt, while in the main
2885 thread NetworkStateNotifier is being static initialized. On Mac the lock for
2886 static initializers is shared between all of them, causing a deadlock.
2888 The issue was also reported in http://openradar.appspot.com/11217150.
2890 * platform/network/qt/NetworkStateNotifierPrivate.h:
2891 (NetworkStateNotifierPrivate):
2892 (WebCore::NetworkStateNotifierPrivate::effectivelyOnline):
2893 * platform/network/qt/NetworkStateNotifierQt.cpp:
2894 (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
2895 (WebCore::NetworkStateNotifierPrivate::setNetworkAccessAllowed):
2896 (WebCore::NetworkStateNotifierPrivate::setOnlineState):
2897 (WebCore::NetworkStateNotifierPrivate::initialize):
2899 (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
2900 (WebCore::NetworkStateNotifier::updateState):
2901 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2902 (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
2904 2012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2906 Factor HitTestPoint out of HitTestResult.
2907 https://bugs.webkit.org/show_bug.cgi?id=85965
2909 Reviewed by Simon Fraser.
2911 In preparation for handling transformations on area-based hit-testing,
2912 we need to factor test-point and test-area out of HitTestResult so that
2913 it can be transformed independently.
2915 To maintain the current API as closely as possible HitTestResult now
2916 inherit from HitTestPoint, representing the original untransformed
2919 No change in functionality. No new tests.
2921 * rendering/HitTestResult.cpp:
2922 (WebCore::HitTestPoint::HitTestPoint):
2923 (WebCore::HitTestPoint::~HitTestPoint):
2924 (WebCore::HitTestPoint::operator=):
2925 (WebCore::HitTestPoint::rectForPoint):
2926 (WebCore::HitTestResult::HitTestResult):
2927 (WebCore::HitTestResult::operator=):
2928 (WebCore::HitTestResult::isSelected):
2929 (WebCore::HitTestResult::spellingToolTip):
2930 (WebCore::HitTestResult::replacedString):
2931 * rendering/HitTestResult.h:
2933 (WebCore::HitTestPoint::point):
2934 (WebCore::HitTestPoint::roundedPoint):
2935 (WebCore::HitTestPoint::setPoint):
2936 (WebCore::HitTestPoint::isRectBasedTest):
2937 (WebCore::HitTestPoint::topPadding):
2938 (WebCore::HitTestPoint::rightPadding):
2939 (WebCore::HitTestPoint::bottomPadding):
2940 (WebCore::HitTestPoint::leftPadding):
2942 (WebCore::HitTestResult::hitTestPoint):
2943 (WebCore::HitTestPoint::rectForPoint):
2944 * rendering/RenderLayer.cpp:
2945 (WebCore::RenderLayer::hitTestLayer):
2946 (WebCore::RenderLayer::hitTestList):
2948 2012-05-15 Rob Buis <rbuis@rim.com>
2950 Refactor SVG parts of Node::addEventListener/removeEventListener
2951 https://bugs.webkit.org/show_bug.cgi?id=86426
2953 Reviewed by Nikolas Zimmermann.
2955 Move SVG parts of Node::addEventListener/removeEventListener into svg/. Now we do not
2956 have to check in Node::addEventListener/removeEventListener if we are dealing with an SVG
2957 element. Make tryAddEventListener/tryRemoveEventListener protected methods on Node to be able to use
2960 No new tests, since no change in behavior, just refactoring.
2963 (WebCore::tryAddEventListener):
2964 (WebCore::Node::addEventListener):
2965 (WebCore::tryRemoveEventListener):
2966 (WebCore::Node::removeEventListener):
2967 * svg/SVGElement.cpp:
2968 (WebCore::collectInstancesForSVGElement):
2970 (WebCore::SVGElement::addEventListener):
2971 (WebCore::SVGElement::removeEventListener):
2975 2012-05-15 Andreas Kling <kling@webkit.org>
2977 RuleSet::addToRuleSet wastes a bit of Vector capacity.
2978 <http://webkit.org/b/86434>
2980 Reviewed by Antti Koivisto.
2982 Have makeRuleSet call shrinkToFit() on the vectors before returning them.
2983 This avoids wasting space for the rulesets constructed in collectFeatures().
2985 * css/StyleResolver.cpp:
2986 (WebCore::makeRuleSet):
2988 2012-05-15 Darin Adler <darin@apple.com>
2990 [CG] CGImageCreateWithImageInRect is too slow, but for now we still need to use it
2991 https://bugs.webkit.org/show_bug.cgi?id=86340
2993 Reviewed by Geoffrey Garen.
2995 This patch adds a subimage cache to defray the cost of CGImageCreateWithImageInRect.
2996 Later, we will restructure the code so it doesn't use that function, but at the
2997 moment there are CG issues blocking that change.
2999 * platform/graphics/cg/GraphicsContextCG.cpp:
3000 (SubimageCacheEntry): Added. An entry in the cache.
3001 (SubimageCacheEntryTraits): Added. Traits for the cache.
3002 (SubimageCacheHash): Added. Hash function for the cache.
3003 (SubimageCacheTimer): Added. Timer that clears the cache after a second
3005 (SubimageCacheWithTimer): Added. Cache and its timer.
3006 (WebCore::subimageCache): Added. Function returning the single global timer.
3007 (WebCore::SubimageCacheTimer::restart): Added. Start the timer.
3008 (WebCore::SubimageCacheTimer::fired): Added. Clear the cache when the timer fires.
3009 (SubimageRequest): Added. A key to look up in the cache.
3010 (SubimageCacheAdder): Added. Translator to add to the cache.
3011 (WebCore::subimage): Added. Puts an entry in the cache.
3012 (WebCore::GraphicsContext::drawNativeImage): Changed to call the subimage function.
3014 2012-05-15 Eugene Klyuchnikov <eustas.bug@gmail.com>
3016 Web Inspector: AdvancedSearchController is not stopped then view is hidden.
3017 https://bugs.webkit.org/show_bug.cgi?id=86466
3019 Reviewed by Vsevolod Vlasov.
3021 AdvancedSearchController overrides "wasHidden" method instead of "willHide".
3023 UI event-flow, not tested.
3025 * inspector/front-end/AdvancedSearchController.js:
3026 (WebInspector.SearchView.prototype.willHide): Renamed function.
3028 2012-05-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
3030 [Qt] http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html times out
3031 https://bugs.webkit.org/show_bug.cgi?id=84016
3033 Reviewed by Simon Hausmann.
3035 Calling didFail abort the connection and doesn't activate the HEADERS_RECEIVED state.
3036 Since the goal of HEAD is to test then the request should be marked as finished
3037 also in cases of HTTP errors.
3038 This matches other ports behavior.
3040 * platform/network/qt/QNetworkReplyHandler.cpp:
3041 (WebCore::shouldIgnoreHttpError):
3043 2012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
3045 [Qt][WK2] Fix scrolling in touch mode
3046 https://bugs.webkit.org/show_bug.cgi?id=75006
3048 Reviewed by Kenneth Rohde Christiansen.
3050 * page/FrameView.cpp:
3051 (WebCore::FrameView::setFixedVisibleContentRect):
3052 On changes to fixedVisibleContentRect update scroll-animators position, and
3053 recalculate page-step sizes in scrollbars.
3054 * platform/ScrollView.cpp:
3055 (WebCore::ScrollView::scrollTo):
3056 Forward scrolling-request to the host window.
3057 (WebCore::ScrollView::updateScrollbars):
3058 Allow ScrollViews to have invisible scrollbars when scrolling is delegated.
3059 * platform/ScrollView.h:
3062 2012-05-15 Vsevolod Vlasov <vsevik@chromium.org>
3064 Web Inspector: Refactor SnippetsModel: extract SnippetStorage, make SnippetScriptMapping delegate calls to ScriptSnippetModel and provide public interface on ScriptSnippetModel in terms of uiSourceCodes
3065 https://bugs.webkit.org/show_bug.cgi?id=86477
3067 Reviewed by Pavel Feldman.
3069 Extracted SnippetStorage to be reused for other snippet types.
3070 Made SnippetScriptMapping delegate all calls to ScriptSnippetModel and injected it in DebuggerPresentationModel.
3071 ScriptSnippetModel now provides public interface for ScriptsPanel in terms of uiSourceCodes.
3073 Tests: inspector/debugger/script-snippet-model.html
3074 inspector/snippet-storage.html
3077 * WebCore.vcproj/WebCore.vcproj:
3078 * inspector/compile-front-end.py:
3079 * inspector/front-end/DebuggerPresentationModel.js:
3080 (WebInspector.DebuggerPresentationModel):
3081 * inspector/front-end/ScriptSnippetModel.js: Added.
3082 (WebInspector.ScriptSnippetModel):
3083 (WebInspector.ScriptSnippetModel.prototype.get scriptMapping):
3084 (WebInspector.ScriptSnippetModel.prototype.createScriptSnippet):
3085 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3086 (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
3087 (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation.get if):
3088 (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation):
3089 (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
3090 (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
3091 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3092 (WebInspector.ScriptSnippetModel.prototype._sourceURLForSnippet):
3093 (WebInspector.ScriptSnippetModel.prototype._snippetIdForSourceURL):
3094 (WebInspector.ScriptSnippetModel.prototype._snippetForSourceURL):
3095 (WebInspector.ScriptSnippetModel.prototype._reset):
3096 (WebInspector.SnippetScriptMapping):
3097 (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
3098 (WebInspector.SnippetScriptMapping.prototype.uiLocationToRawLocation):
3099 (WebInspector.SnippetScriptMapping.prototype.uiSourceCodeList):
3100 (WebInspector.SnippetScriptMapping.prototype.snippetIdForSourceURL):
3101 (WebInspector.SnippetScriptMapping.prototype.addScript):
3102 (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesAdded):
3103 (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesRemoved):
3104 (WebInspector.SnippetScriptMapping.prototype.reset):
3105 (WebInspector.SnippetContentProvider):
3106 * inspector/front-end/SnippetStorage.js: Added.
3107 (WebInspector.SnippetStorage):
3108 (WebInspector.SnippetStorage.prototype.get namePrefix):
3109 (WebInspector.SnippetStorage.prototype._saveSettings):
3110 (WebInspector.SnippetStorage.prototype.set snippets):
3111 (WebInspector.SnippetStorage.prototype.snippetForId):
3112 (WebInspector.SnippetStorage.prototype.deleteSnippet):
3113 (WebInspector.SnippetStorage.prototype._snippetAdded):
3114 (WebInspector.SnippetStorage.prototype.reset.set this):
3115 (WebInspector.Snippet):
3116 (WebInspector.Snippet.fromObject):
3117 (WebInspector.Snippet.prototype.get id):
3118 (WebInspector.Snippet.prototype.get name):
3119 (WebInspector.Snippet.prototype.set name):
3120 (WebInspector.Snippet.prototype.get content):
3121 (WebInspector.Snippet.prototype.set content):
3122 (WebInspector.Snippet.prototype.serializeToObject):
3123 * inspector/front-end/SnippetsModel.js: Removed.
3124 * inspector/front-end/WebKit.qrc:
3125 * inspector/front-end/inspector.html:
3126 * inspector/front-end/inspector.js:
3128 2012-05-15 Pavel Feldman <pfeldman@chromium.org>
3130 Web Inspector: add show/hide debugger sidebar button.
3131 https://bugs.webkit.org/show_bug.cgi?id=86478
3133 Reviewed by Vsevolod Vlasov.
3135 As with the navigator, but with no overlay. See the screenshot.
3137 * English.lproj/localizedStrings.js:
3138 * inspector/front-end/NavigatorOverlayController.js:
3139 (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3140 * inspector/front-end/ScriptsPanel.js:
3141 (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3142 (WebInspector.ScriptsPanel.prototype._debuggerResumed):
3143 (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
3144 (WebInspector.ScriptsPanel.prototype._installDebuggerSidebarController.clickHandler):
3145 (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
3146 (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
3147 * inspector/front-end/scriptsPanel.css:
3148 (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
3149 (button.status-bar-item.scripts-debugger-show-hide-button):
3150 (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
3151 (.status-bar-item.scripts-debugger-show-hide-button.toggled-shown > .glyph):
3152 (.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden > .glyph):
3154 2012-05-15 Zoltan Herczeg <zherczeg@webkit.org>
3156 NEONizing forceValidPreMultipliedPixels
3157 https://bugs.webkit.org/show_bug.cgi?id=86468
3159 Reviewed by Nikolas Zimmermann.
3161 Optimize forceValidPreMultipliedPixels with ARM-NEON intrinsics.
3163 Existing tests cover this feature.
3165 * platform/graphics/filters/FilterEffect.cpp:
3166 (WebCore::FilterEffect::forceValidPreMultipliedPixels):
3168 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3170 Web Inspector: remove unnecessary setTimeout in HeapSnapshotGridNodes.js
3171 https://bugs.webkit.org/show_bug.cgi?id=86464
3173 Reviewed by Pavel Feldman.
3175 * inspector/front-end/HeapSnapshotGridNodes.js:
3176 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved): Posting
3177 a message to worker is already asynchronous, no need to postpone the call via setTimeout.
3178 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
3180 2012-05-15 Florin Malita <fmalita@chromium.org>
3182 Mask deformations when masked content is rotated
3183 https://bugs.webkit.org/show_bug.cgi?id=76527
3185 Reviewed by Nikolas Zimmermann.
3187 Test: svg/repaint/mask-clip-target-transform.svg
3189 RenderSVGResource::markForLayoutAndParentResourceInvalidation() needs to also
3190 invalidate parent mask and clip resources, not just filters.
3192 * rendering/svg/RenderSVGResource.cpp:
3193 (WebCore::removeFromCacheAndInvalidateDependencies):
3194 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
3196 2012-05-15 Pavel Feldman <pfeldman@chromium.org>
3198 Web Inspector: merge show navigator with pin navigator buttons.
3199 https://bugs.webkit.org/show_bug.cgi?id=86469
3201 Reviewed by Vsevolod Vlasov.
3203 See screenshots attached to the bug.
3205 * English.lproj/localizedStrings.js:
3206 * inspector/front-end/Images/navigatorPinButton.png: Removed.
3207 * inspector/front-end/Images/navigatorShowHideButton.png:
3208 * inspector/front-end/NavigatorOverlayController.js:
3209 (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
3210 (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3211 (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
3212 (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
3213 (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
3214 * inspector/front-end/SidebarOverlay.js:
3215 (WebInspector.SidebarOverlay):
3216 (WebInspector.SidebarOverlay.prototype.show):
3217 (WebInspector.SidebarOverlay.prototype.hide):
3218 * inspector/front-end/navigatorView.css:
3219 (.navigator-tabbed-pane .tabbed-pane-header-contents):
3220 * inspector/front-end/scriptsPanel.css:
3221 (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
3222 (.status-bar-item.scripts-navigator-show-hide-button.toggled-shown > .glyph):
3223 (.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay > .glyph):
3224 (button.status-bar-item.scripts-navigator-show-hide-button):
3225 (button.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay):
3227 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3229 Web Inspector: implement "Reveal in Dominators view" context menu action
3230 https://bugs.webkit.org/show_bug.cgi?id=86455
3232 Reviewed by Pavel Feldman.
3234 Implemented "Reveal in Dominators view" context menu action for objects
3237 Test: inspector/profiler/heap-snapshot-reveal-in-dominators-view.html
3239 * English.lproj/localizedStrings.js:
3240 * inspector/front-end/HeapSnapshot.js:
3241 (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
3242 (WebInspector.HeapSnapshot.prototype.nodeClassName):
3243 (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
3244 * inspector/front-end/HeapSnapshotDataGrids.js:
3245 (WebInspector.HeapSnapshotDominatorsDataGrid):
3246 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
3247 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
3248 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetDominators):
3249 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.expandNextDominator):
3250 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
3251 * inspector/front-end/HeapSnapshotGridNodes.js:
3252 (WebInspector.HeapSnapshotGridNode.prototype.childForPosition):
3253 (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
3254 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
3255 (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
3256 (WebInspector.HeapSnapshotGridNode.prototype.sort):
3257 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
3258 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didGetNodePosition):
3259 (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didPopulateChildren):
3260 * inspector/front-end/HeapSnapshotProxy.js:
3261 (WebInspector.HeapSnapshotProxy.prototype.dominatorIdsForNode):
3262 * inspector/front-end/ProfilesPanel.js:
3263 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
3264 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
3265 (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
3267 2012-05-15 Yury Semikhatsky <yurys@chromium.org>
3269 Web Inspector: exception when switching to heap profiler comparison view
3270 https://bugs.webkit.org/show_bug.cgi?id=86224
3272 Reviewed by Pavel Feldman.
3274 Make sure the messages are dispatched in the same order as they are sent in
3275 case a fake worker is used for heap snapshot processing.
3277 * inspector/front-end/HeapSnapshotProxy.js:
3278 (WebInspector.TimerQueue):
3279 (WebInspector.TimerQueue.prototype.addTask):
3280 (WebInspector.TimerQueue.prototype._onTimeout):
3281 (WebInspector.TimerQueue.prototype._scheduleTimer):
3282 (WebInspector.HeapSnapshotFakeWorker):
3283 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
3284 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
3286 2012-05-15 Zoltan Herczeg <zherczeg@webkit.org>
3288 The ARM NEON optimized filters does not compile on THUMB2
3289 https://bugs.webkit.org/show_bug.cgi?id=86457
3291 Reviewed by Csaba Osztrogonác.
3293 We should disable the compilation on Thumb2 until we fix the code.
3295 * platform/graphics/filters/FEComposite.cpp:
3296 (WebCore::FEComposite::platformArithmeticSoftware):
3297 * platform/graphics/filters/FEGaussianBlur.cpp:
3298 (WebCore::FEGaussianBlur::platformApplyWorker):
3299 (WebCore::FEGaussianBlur::platformApply):
3300 * platform/graphics/filters/FELighting.cpp:
3301 (WebCore::FELighting::platformApply):
3302 * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
3303 * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
3304 * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
3305 * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
3306 * platform/graphics/filters/arm/FELightingNEON.cpp:
3307 * platform/graphics/filters/arm/FELightingNEON.h:
3309 2012-05-15 MORITA Hajime <morrita@google.com>
3311 Kill unnecessary RuntimeEnabledFeatures.h inclusion
3312 https://bugs.webkit.org/show_bug.cgi?id=86451
3314 Reviewed by Kentaro Hara.
3316 No new tests. No behavior change.
3319 * dom/ElementShadow.cpp:
3320 * dom/TreeScope.cpp:
3322 2012-05-14 Shinya Kawanaka <shinyak@chromium.org>
3324 document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
3325 https://bugs.webkit.org/show_bug.cgi?id=86341
3327 Reviewed by Ryosuke Niwa.
3329 When document.execCommand('Indent') is executed in the direct child of ShadowRoot,
3330 the scope variable of TextIterator becomes ShadowRoot. However, an element is assumed for it,
3331 so a crash happended.
3333 This patch enables TextIterator to have ShadowRoot as a scope variable.
3335 Test: editing/shadow/execcommand-indent-in-shadow.html
3338 * editing/ApplyBlockElementCommand.cpp:
3339 (WebCore::ApplyBlockElementCommand::doApply):
3340 * editing/InsertListCommand.cpp:
3341 (WebCore::InsertListCommand::doApply):
3342 * editing/TextIterator.cpp:
3343 (WebCore::TextIterator::rangeFromLocationAndLength):
3344 * editing/TextIterator.h:
3346 * editing/htmlediting.cpp:
3347 (WebCore::indexForVisiblePosition):
3348 (WebCore::visiblePositionForIndex):
3349 * editing/htmlediting.h:
3352 2012-05-14 Shinya Kawanaka <shinyak@chromium.org>
3354 Node::shadowTreeRootNode() should return ShadowRoot instead of Node.
3355 https://bugs.webkit.org/show_bug.cgi?id=86428
3357 Reviewed by Hajime Morita.
3359 Since Node::shadowTreeRootNode() returns only ShadowRoot or 0 now, its return type should be ShadowRoot.
3360 This patch changes the return type and adds include directive to build.
3362 No new tests, no change in behavior.
3365 (WebCore::Node::shadowAncestorNode):
3366 (WebCore::Node::shadowTreeRootNode):
3370 * dom/NodeRenderingContext.cpp:
3371 (WebCore::NodeRenderingContext::NodeRenderingContext):
3373 (WebCore::Range::shadowTreeRootNode):
3376 * editing/Editor.cpp:
3377 * editing/TextIterator.cpp:
3378 * editing/htmlediting.cpp:
3379 * html/shadow/ContentSelectorQuery.cpp:
3380 * html/shadow/HTMLContentElement.cpp:
3381 (WebCore::HTMLContentElement::parseAttribute):
3382 * html/shadow/InsertionPoint.cpp:
3383 (WebCore::InsertionPoint::detach):
3384 * page/EventHandler.cpp:
3386 2012-05-14 Luke Macpherson <macpherson@chromium.org>
3388 Make StyleResolver::applyMatchedProperties and ::applyProperties use enum template parameter instead of bool.
3389 https://bugs.webkit.org/show_bug.cgi?id=86424
3391 Reviewed by Dimitri Glazkov.
3393 This patch changes from using a boolean template parameter for StyleResolver::applyMatchedProperties and
3394 StyleResolver::applyProperties functions. The motivation for this change is that it paves the way for
3395 CSS Variables to make the value tri-state, which is a requirement because variable definitions must occur
3396 before high priority CSS properties such that they can be referenced by the latter. This change affects
3397 only the type signatures of those functions, and not their behavior.
3399 * css/StyleResolver.cpp:
3400 (WebCore::StyleResolver::collectMatchingRulesForList):
3401 * css/StyleResolver.h:
3403 2012-05-14 MORITA Hajime <morrita@google.com>
3405 [Refactoring] Get rid of ContentDistribution::Item
3406 https://bugs.webkit.org/show_bug.cgi?id=86350
3408 This change replaces the linked list on ContentDistribution with a Vector.
3409 We no longer link item class ContentDistribution::Item.
3410 This simplification also allows ContentDistribution to go.
3411 ContentDistribution is now just a typedef of Vector<RefPtr<Node> >.
3413 Reviewed by Dimitri Glazkov.
3415 No new tests. Covered by existing tests.
3417 * dom/ComposedShadowTreeWalker.cpp:
3418 (WebCore::ComposedShadowTreeWalker::traverseNode):
3419 (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
3420 * dom/ElementShadow.cpp:
3421 * dom/ElementShadow.h:
3423 * dom/NodeRenderingContext.cpp:
3424 (WebCore::nextRendererOfInsertionPoint):
3425 (WebCore::previousRendererOfInsertionPoint):
3426 (WebCore::firstRendererOfInsertionPoint):
3427 (WebCore::lastRendererOfInsertionPoint):
3428 * html/shadow/ContentDistributor.cpp:
3429 (WebCore::ContentDistributor::distribute):
3430 (WebCore::ContentDistributor::clearDistribution):
3431 (WebCore::ContentDistributor::findInsertionPointFor):
3432 * html/shadow/ContentDistributor.h:
3434 (ContentDistributor):
3435 * html/shadow/InsertionPoint.cpp:
3436 (WebCore::InsertionPoint::InsertionPoint):
3437 (WebCore::InsertionPoint::attachDistributedNode):
3438 (WebCore::InsertionPoint::assignShadowRoot):
3439 (WebCore::InsertionPoint::nextTo):
3441 (WebCore::InsertionPoint::previousTo):
3442 * html/shadow/InsertionPoint.h: Added a set of delegate method to m_distribution.
3443 (WebCore::InsertionPoint::hasDistribution):
3444 (WebCore::InsertionPoint::indexOf):
3445 (WebCore::InsertionPoint::size):
3446 (WebCore::InsertionPoint::at):
3447 (WebCore::InsertionPoint::first):
3448 (WebCore::InsertionPoint::last):
3451 2012-05-14 Tim Horton <timothy_horton@apple.com>
3453 RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
3454 https://bugs.webkit.org/show_bug.cgi?id=86429
3455 <rdar://problem/11445132>
3457 Reviewed by Simon Fraser.
3459 Change repaintRectIncludingDescendants to not include repaint rects for composited child layers,
3460 and rename the function to make it more clear that that's what it does now.
3462 No new tests, scrolling performance optimization.
3464 * page/FrameView.cpp:
3465 (WebCore::FrameView::scrollContentsFastPath):
3466 * rendering/RenderLayer.cpp:
3467 (WebCore::RenderLayer::repaintRectIncludingNonCompositingDescendants):
3468 * rendering/RenderLayer.h:
3471 2012-05-14 Gavin Peters <gavinp@chromium.org>
3473 Add Prerenderer, PrerenderHandle and a chromium interface for Prerendering.
3474 https://bugs.webkit.org/show_bug.cgi?id=85005
3476 Reviewed by Adam Barth.
3478 The prerender case isn't quite a resource load, and using resource loading to
3479 retrieve them has constrained the API, and unnecessarily complicated the loader.
3481 The new Prerenderer and PrerenderHandle let <link rel=prerender...> elements signal
3482 removal and unload to their platform.
3484 No new tests, as this interface requires a full platform to work, and doesn't affect layout. Test
3485 it with your platform when implemented for it.
3487 * GNUmakefile.list.am:
3490 * WebCore.vcproj/WebCore.vcproj:
3491 * WebCore.xcodeproj/project.pbxproj:
3493 (WebCore::Document::Document):
3497 (WebCore::Document::prerenderer):
3498 * html/HTMLLinkElement.cpp:
3499 (WebCore::HTMLLinkElement::removedFrom):
3500 * html/LinkRelAttribute.cpp:
3501 (WebCore::LinkRelAttribute::LinkRelAttribute):
3502 * html/LinkRelAttribute.h:
3504 * loader/LinkLoader.cpp:
3505 (WebCore::LinkLoader::loadLink):
3506 (WebCore::LinkLoader::released):
3507 * loader/LinkLoader.h:
3510 * loader/Prerenderer.cpp: Added.
3512 (WebCore::Prerenderer::create):
3513 (WebCore::Prerenderer::Prerenderer):
3514 (WebCore::Prerenderer::~Prerenderer):
3515 (WebCore::Prerenderer::render):
3516 (WebCore::Prerenderer::stop):
3517 (WebCore::Prerenderer::suspend):
3518 (WebCore::Prerenderer::resume):
3519 (WebCore::Prerenderer::document):
3520 (WebCore::Prerenderer::client):
3521 * loader/Prerenderer.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
3524 * loader/PrerendererClient.cpp: Copied from Source/WebCore/html/LinkRelAttribute.h.
3526 (WebCore::PrerendererClient::supplementName):
3527 (WebCore::PrerendererClient::from):
3528 (WebCore::providePrerendererClientTo):
3529 * loader/PrerendererClient.h: Copied from Source/WebCore/html/LinkRelAttribute.h.
3531 (PrerendererClient):
3532 (WebCore::PrerendererClient::~PrerendererClient):
3533 (WebCore::PrerendererClient::PrerendererClient):
3534 * loader/cache/CachedResource.cpp:
3535 (WebCore::defaultPriorityForResourceType):
3536 (WebCore::cachedResourceTypeToTargetType):
3537 (WebCore::CachedResource::load):
3538 * loader/cache/CachedResource.h:
3539 (WebCore::CachedResource::ignoreForRequestCount):
3540 * loader/cache/CachedResourceLoader.cpp:
3541 (WebCore::createResource):
3542 (WebCore::CachedResourceLoader::requestLinkResource):
3543 (WebCore::CachedResourceLoader::checkInsecureContent):
3544 (WebCore::CachedResourceLoader::canRequest):
3545 * platform/PrerenderHandle.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
3548 * platform/chromium/Prerender.cpp: Added.
3550 (WebCore::Prerender::Prerender):
3551 (WebCore::Prerender::~Prerender):
3552 (WebCore::Prerender::setState):
3553 (WebCore::Prerender::add):
3554 (WebCore::Prerender::cancel):
3555 (WebCore::Prerender::abandon):
3556 (WebCore::Prerender::suspend):
3557 (WebCore::Prerender::resume):
3558 * platform/chromium/Prerender.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
3562 (WebCore::Prerender::ExtraData::~ExtraData):
3563 (WebCore::Prerender::url):
3564 (WebCore::Prerender::referrer):
3565 (WebCore::Prerender::referrerPolicy):
3566 (WebCore::Prerender::setExtraData):
3567 (WebCore::Prerender::extraData):
3568 * platform/chromium/PrerenderHandle.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
3570 (WebCore::PrerenderHandle::create):
3571 (WebCore::PrerenderHandle::PrerenderHandle):
3572 (WebCore::PrerenderHandle::~PrerenderHandle):
3573 (WebCore::PrerenderHandle::prerender):
3574 (WebCore::PrerenderHandle::add):
3575 (WebCore::PrerenderHandle::cancel):
3576 (WebCore::PrerenderHandle::abandon):
3577 (WebCore::PrerenderHandle::suspend):
3578 (WebCore::PrerenderHandle::resume):
3579 (WebCore::PrerenderHandle::url):
3580 (WebCore::PrerenderHandle::referrer):
3581 (WebCore::PrerenderHandle::referrerPolicy):
3582 * platform/chromium/support/WebPrerender.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
3583 (WebKit::WebPrerender::WebPrerender):
3585 (WebKit::WebPrerender::~WebPrerender):
3586 (WebKit::WebPrerender::url):
3587 (WebKit::WebPrerender::referrer):
3588 (WebKit::WebPrerender::referrerPolicy):
3589 (WebKit::WebPrerender::setExtraData):
3590 (WebKit::WebPrerender::extraData):
3591 * platform/network/blackberry/ResourceRequest.h:
3592 * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3593 (WebCore::platformTargetTypeForRequest):
3594 * platform/network/chromium/ResourceRequest.h:
3596 2012-05-14 Luke Macpherson <macpherson@chromium.org>
3598 Introduce ENABLE_CSS_VARIABLES compile flag.
3599 https://bugs.webkit.org/show_bug.cgi?id=86338
3601 Reviewed by Dimitri Glazkov.
3603 Add a configuration option for CSS Variables support, disabling it by default.
3605 No new tests. This patch only introduces an unused build flag.
3607 * Configurations/FeatureDefines.xcconfig:
3609 2012-05-14 Eric Seidel <eric@webkit.org>
3611 Styles are not recalculated when the seamless attribute is dynamically added/removed
3612 https://bugs.webkit.org/show_bug.cgi?id=86315
3614 Reviewed by Andreas Kling.
3616 Covered by fast/frames/seamless/seamless-css-cascade.html.
3618 * html/HTMLIFrameElement.cpp:
3619 (WebCore::HTMLIFrameElement::isPresentationAttribute):
3620 - Make seamless a presentational attribute, which means style on the <iframe> will
3621 be forced to recalculate when it changes. This is correct, but not observable
3622 until the layout changes are landed (as then the iframe should correctly revert to not
3623 being sized to fit its content if seamless is removed).
3624 (WebCore::HTMLIFrameElement::parseAttribute):
3625 - When the seamless attribute is added or remove, force the content document to recalc
3626 its style resolver, which will refresh the list of inherited stylesheets from the
3627 parent. This doesn't need to happen synchronously. When the layout changes land
3628 the content document will actually cause that recalc to redirect to the parent document
3629 in the seamless case anyway, but it's more correct to ask the content document directly.
3631 2012-05-14 Alexandre Elias <aelias@google.com>
3633 [chromium] Prevent KeyCodeConversionAndroid from breaking on next NDK roll
3634 https://bugs.webkit.org/show_bug.cgi?id=86415
3636 Reviewed by Adam Barth.
3638 The new enum values added in this file have been added in recent
3639 versions of the NDK, so this file will fail to compile with duplicate
3640 enum error when we roll NDK to r7c or higher. A workaround is
3641 to move our enum values to the WebCore namespace. When the NDK
3642 upgrade is complete, we can delete them.
3644 No new tests. (No-op change.)
3646 * platform/chromium/KeyCodeConversionAndroid.cpp:
3649 2012-05-14 Beth Dakin <bdakin@apple.com>
3651 https://bugs.webkit.org/show_bug.cgi?id=86420
3652 ScrollbarPainter should support expansionTransitionProgress
3654 Reviewed by Sam Weinig.
3656 expansionTransitionProgress works the same as
3657 uiStateTransitionProgress. This code just echoes that code, but for
3658 expansion instead of uiState.
3659 * platform/mac/NSScrollerImpDetails.h:
3660 * platform/mac/ScrollAnimatorMac.mm:
3661 (supportsExpansionTransitionProgress):
3662 (-[WebScrollbarPartAnimation setCurrentProgress:]):
3663 (-[WebScrollbarPainterDelegate cancelAnimations]):
3664 (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
3665 (-[WebScrollbarPainterDelegate invalidate]):
3667 2012-05-14 Andy Estes <aestes@apple.com>
3669 Fix RunLoopCF.cpp's copyright string.
3671 * platform/cf/RunLoopCF.cpp:
3673 2012-05-14 Andy Estes <aestes@apple.com>
3675 Move the parts of RunLoopMac.mm that aren't Mac-specific into RunLoopCF.cpp
3676 https://bugs.webkit.org/show_bug.cgi?id=86411
3678 Reviewed by Anders Carlsson.
3680 Most of RunLoopMac.mm was written in terms of CF API. Move these bits
3681 to a new file called RunLoopCF.cpp, leaving only the bits dealing with
3684 * WebCore.xcodeproj/project.pbxproj: Xcode decided to give
3685 VisitedLinks.* new UUIDs. I'll allow it.
3686 * platform/cf/RunLoopCF.cpp: Copied from Source/WebCore/platform/mac/RunLoopMac.mm.
3687 * platform/mac/RunLoopMac.mm:
3689 2012-05-14 Erik Arvidsson <arv@chromium.org>
3691 [V8] Add "stack" property to DOMException
3692 https://bugs.webkit.org/show_bug.cgi?id=85057
3694 Reviewed by Kentaro Hara.
3696 When we create a DOM exception we define a V8 accessor for the stack property. This
3697 accessor uses a new Error object to get the underlying stack string.
3699 Test: fast/dom/DOMException/stack-trace.html
3701 * bindings/v8/V8Proxy.cpp:
3702 (WebCore::DOMExceptionStackGetter):
3704 (WebCore::DOMExceptionStackSetter):
3705 (WebCore::V8Proxy::setDOMException):
3707 2012-05-14 Michael Saboff <msaboff@apple.com>
3709 Enh: Add the Ability to Disable / Enable JavaScript GC Timer
3710 https://bugs.webkit.org/show_bug.cgi?id=86382
3712 Reviewed by Darin Adler.
3714 Plumbing to set / clear JS GC activity timer enable flag.
3717 * bindings/js/GCController.cpp:
3718 (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
3719 * bindings/js/GCController.h:
3721 2012-05-14 Nate Chapin <japhet@chromium.org>
3723 [V8] Crash in npObjectGetProperty() in V8NPObject.cpp
3724 https://bugs.webkit.org/show_bug.cgi?id=86131
3726 Reviewed by Adam Barth.
3728 Tests: plugins/npruntime/delete-plugin-within-getProperty.html
3729 plugins/npruntime/delete-plugin-within-hasProperty-return-false.html
3730 plugins/npruntime/delete-plugin-within-hasProperty-return-true.html
3731 plugins/npruntime/delete-plugin-within-invoke.html
3732 plugins/npruntime/delete-plugin-within-setProperty.html
3734 * bindings/v8/NPV8Object.cpp:
3735 (_NPN_EvaluateHelper):
3736 * bindings/v8/V8NPObject.cpp: Check NPN_IsAlive in a bunch of places we're not currently.
3737 (WebCore::npObjectInvokeImpl):
3738 (WebCore::npObjectGetProperty):
3739 (WebCore::npObjectSetProperty):
3741 2012-05-14 Brent Fulgham <bfulgham@webkit.org>
3743 [WinCairo] Unreviewed build correction.
3745 * platform/win/DragImageCairoWin.cpp: Add missing include for
3746 new NativeImageCairo.h type.
3748 2012-05-14 Takashi Sakamoto <tasak@google.com>
3750 Crash in WebCore::RenderObject::repaint
3751 https://bugs.webkit.org/show_bug.cgi?id=86162
3753 Reviewed by Abhishek Arya.
3755 As RenderScrollbarPart has no parent renderer, we crash in
3756 WebCore::RenderBoxModelObject::paddingLeft when paddingLeft has
3757 percent value, e.g. 5%. However if we set the scrollbar's parent
3758 renderer to a renderer owning the scrollbar by using setParent method,
3759 RenderScrollbarPart::styleWillChange will invoke parent renderer's
3760 repaint. This causes crash in WebCore::RenderObject::repaint if the
3761 owning renderer is already destroyed.
3762 To fix the first crash without the second crash, modify
3763 RenderObject::containingBlock() to check isRenderScrollbarPart or not,
3765 If so, use scrollbar's owningRenderer from RenderScrollbarPart.
3767 Test: scrollbars/scrollbar-percent-padding-crash.html
3768 scrollbars/scrollbar-scrollbarparts-repaint-crash.html
3770 * rendering/RenderObject.cpp:
3771 (WebCore::RenderObject::containingBlock):
3772 Modifying containingBlock. If parent() is 0 and isRenderScrollbarPart()
3773 is true, use RenderScrollbarPart's m_scrollbar->owningRenderer()
3774 instead of parent().
3775 * rendering/RenderObject.h:
3776 (WebCore::RenderObject::isRenderScrollbarPart):
3778 Adding a new method, isRenderScrollbarPart.
3779 * rendering/RenderScrollbarPart.cpp:
3780 (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
3782 Adding a new method, scrollbarOwningRenderer to obtain m_scrollar's
3784 * rendering/RenderScrollbarPart.h:
3785 (RenderScrollbarPart):
3786 Removing "friend class RenderScrollbar".
3787 (WebCore::RenderScrollbarPart::isRenderScrollbarPart):
3788 (WebCore::toRenderScrollbarPart):
3790 Implementing isRenderScrollbarPart and toRenderScrollbarPart.
3792 2012-05-14 Mike West <mike@mikewest.org>
3794 Content Security Policy console errors include violated directive.
3795 https://bugs.webkit.org/show_bug.cgi?id=86323
3797 Reviewed by Adam Barth.
3799 Console errors generated when resources, inline script/style, or eval
3800 are blocked by Content Security Policy directives should include the
3801 text of the directive that's been violated. This gives developers more
3802 of the information they need to resolve the issue.
3804 Test: http/tests/security/contentSecurityPolicy/*
3806 * page/ContentSecurityPolicy.cpp:
3807 (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
3808 (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
3809 (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
3810 (WebCore::CSPDirectiveList::allowJavaScriptURLs):
3811 (WebCore::CSPDirectiveList::allowInlineEventHandlers):
3812 (WebCore::CSPDirectiveList::allowInlineScript):
3813 (WebCore::CSPDirectiveList::allowInlineStyle):
3814 (WebCore::CSPDirectiveList::allowEval):
3816 2012-05-14 Julien Chaffraix <jchaffraix@webkit.org>
3818 Crash in FrameView::windowClipRectForFrameOwner after r116371
3819 https://bugs.webkit.org/show_bug.cgi?id=86035
3821 Reviewed by David Hyatt.
3823 Added a NULL-check for |parentView| as nothing guarantees it to be
3824 non-NULL. Unfortunately no test as this is a crasher I couldn't
3825 reproduce on my machine and the user logs were not helpful.
3827 * page/FrameView.cpp:
3828 (WebCore::FrameView::windowClipRect):
3830 2012-05-14 Beth Dakin <bdakin@apple.com>
3832 https://bugs.webkit.org/show_bug.cgi?id=86403
3833 ASSERTION FAILED: m_verticalScrollbarPainterDelegate on recent builds
3835 <rdar://problem/11448841>
3837 Reviewed by Simon Fraser.
3839 http://trac.webkit.org/changeset/116476 accidentally started calling
3840 these functions for custom scrollbars. This change replaces that
3842 * rendering/RenderLayer.cpp:
3843 (WebCore::RenderLayer::destroyScrollbar):
3845 2012-05-14 Simon Fraser <simon.fraser@apple.com>
3847 Remove redundant pixel snapping in calculateCompositedBounds()
3848 https://bugs.webkit.org/show_bug.cgi?id=86400
3850 Reviewed by Sam Weinig.
3852 RenderLayer::calculateLayerBounds() returns a pixel-snapped rect,
3853 so we don't need to pixel-snap it again.
3855 * rendering/RenderLayerCompositor.cpp:
3856 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3858 2012-05-14 Simon Fraser <simon.fraser@apple.com>
3860 Avoid logging related to setting shadow-related properties on a transform-only layer
3861 https://bugs.webkit.org/show_bug.cgi?id=86398
3863 Reviewed by Dan Bernstein.
3865 When making a CATransformLayer to support transform-style: preserve-3d, avoid trying
3866 to set filters on the transform layer. We should never have this combination,
3867 because filters force flattening to occur.
3869 * platform/graphics/ca/GraphicsLayerCA.cpp:
3870 (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3872 2012-05-14 Sheriff Bot <webkit.review.bot@gmail.com>
3874 Unreviewed, rolling out r116983.
3875 http://trac.webkit.org/changeset/116983
3876 https://bugs.webkit.org/show_bug.cgi?id=86397
3878 Does not compile on chromium-win (Requested by abarth on
3882 * page/TouchAdjustment.cpp:
3884 2012-05-14 Dan Bernstein <mitz@apple.com>
3886 Pagination splits lines that could fit on a single page if it were not for their top leading
3887 https://bugs.webkit.org/show_bug.cgi?id=86388
3889 Reviewed by Darin Adler.
3891 Test: fast/multicol/split-in-top-margin.html
3893 When a line’s visible content fits on a page, but adding the top leading makes it taller than
3894 a page, instead of giving up and splitting the line in an arbitrary position, add a strut
3895 to push it downwards so that the split occurs in the top leading, and the visible content is
3896 fully contained on a single page.
3898 * rendering/RenderBlock.cpp:
3899 (WebCore::RenderBlock::adjustLinePositionForPagination):
3901 2012-05-14 Terry Anderson <tdanderson@chromium.org>
3903 [chromium] Compute the best target node on a GestureTap event
3904 https://bugs.webkit.org/show_bug.cgi?id=85101
3906 Reviewed by Adam Barth.
3908 Using tests in the touchadjustment/ directory.
3911 Include TouchAdjustment.* files.
3912 * page/TouchAdjustment.cpp:
3913 Included math.h because of an 'Undeclared identifier: INFINITY' when
3914 this patch was landed before.
3916 2012-05-14 Adrienne Walker <enne@google.com>
3918 [chromium] Add compositor debug asserts for blocked main thread
3919 https://bugs.webkit.org/show_bug.cgi?id=86384
3921 Reviewed by James Robinson.
3923 Where we depend for thread-safety that the main thread is blocked,
3924 assert that this is actually the case.
3926 * platform/graphics/chromium/cc/CCProxy.cpp:
3928 (WebCore::CCProxy::isMainThreadBlocked):
3929 (WebCore::CCProxy::setMainThreadBlocked):
3930 * platform/graphics/chromium/cc/CCProxy.h:
3933 (DebugScopedSetMainThreadBlocked):
3934 (WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
3935 (WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
3936 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3937 (WebCore::CCSingleThreadProxy::doCommit):
3938 (WebCore::CCSingleThreadProxy::stop):
3939 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3940 (WebCore::CCThreadProxy::stop):
3941 (WebCore::CCThreadProxy::beginFrame):
3942 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3943 (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
3944 (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
3946 2012-05-14 Swapna P <spottabathini@innominds.com>
3948 Reviewed by Eric Seidel.
3950 Bug: Cannot resize frames because frameborder=0
3951 https://bugs.webkit.org/show_bug.cgi?id=23750
3953 Removed check for frameborder, in order to allow resize of frames even in case of frameborder=0.
3955 Test: fast/frames/frames-with-frameborder-zero-can-be-resized.html
3957 * rendering/RenderFrameSet.cpp:
3958 (WebCore::RenderFrameSet::startResizing):
3959 (WebCore::RenderFrameSet::canResizeRow):
3960 (WebCore::RenderFrameSet::canResizeColumn):
3962 2012-05-14 David Barton <dbarton@mathscribe.com>
3964 Unify RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
3965 https://bugs.webkit.org/show_bug.cgi?id=86319
3967 Reviewed by Darin Adler.
3969 Most of RenderMathMLSquareRoot.cpp is duplicated in RenderMathMLRoot.cpp and can be
3970 eliminated. We also define RenderMathMLRoot::computePreferredLogicalWidths().
3972 Test: mathml/presentation/mroot-pref-width.html
3974 * rendering/mathml/RenderMathMLRoot.cpp:
3975 (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
3976 (WebCore::RenderMathMLRoot::layout):
3977 (WebCore::RenderMathMLRoot::paint):
3978 * rendering/mathml/RenderMathMLRoot.h:
3979 * rendering/mathml/RenderMathMLSquareRoot.cpp:
3980 (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
3981 (WebCore::RenderMathMLSquareRoot::addChild):
3982 * rendering/mathml/RenderMathMLSquareRoot.h:
3984 2012-05-14 MORITA Hajime <morrita@google.com>
3986 [Shadow DOM][Refactoring] HTMLContentSelector family should have better name
3987 https://bugs.webkit.org/show_bug.cgi?id=86064
3989 Reviewed by Dimitri Glazkov.
3991 This change renames classes around shadow content distribution.
3992 - Renamed HTMLContentSelector to ContentDistributor
3993 - Renamed HTMLContentSelectionList to ContentDistribution
3994 - Renamed HTMLContentSelection to ContentDistribution::Item
3995 - Inlined HTMLContentSelectionSet into ContentDistributor
3997 Associated rename and inlining are also happening for method names.
3999 No new tests. No behavior change.
4002 * GNUmakefile.list.am:
4005 * WebCore.vcproj/WebCore.vcproj:
4006 * WebCore.xcodeproj/project.pbxproj:
4007 * dom/ComposedShadowTreeWalker.cpp:
4008 (WebCore::ComposedShadowTreeWalker::traverseNode):
4009 (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
4010 (WebCore::ComposedShadowTreeWalker::traverseParent):
4011 * dom/ElementShadow.cpp:
4012 (WebCore::ElementShadow::ElementShadow):
4013 (WebCore::ElementShadow::attach):
4014 (WebCore::ElementShadow::insertionPointFor):
4015 (WebCore::ElementShadow::distributionItemFor):
4016 (WebCore::ElementShadow::recalcStyle):
4017 (WebCore::ElementShadow::needsRedistributing):
4018 (WebCore::ElementShadow::hostChildrenChanged):
4019 (WebCore::ElementShadow::setNeedsRedistributing):
4020 * dom/ElementShadow.h:
4023 (WebCore::ElementShadow::distributor):
4024 (WebCore::ElementShadow::clearNeedsRedistributing):
4025 * dom/NodeRenderingContext.cpp:
4026 (WebCore::NodeRenderingContext::NodeRenderingContext):
4027 (WebCore::nextRendererOfInsertionPoint):
4028 (WebCore::previousRendererOfInsertionPoint):
4029 (WebCore::firstRendererOfInsertionPoint):
4030 (WebCore::lastRendererOfInsertionPoint):
4031 * dom/ShadowRoot.cpp:
4034 * html/shadow/ContentDistributor.cpp: Renamed from Source/WebCore/html/shadow/HTMLContentSelector.cpp.
4036 (WebCore::ContentDistribution::ContentDistribution):
4037 (WebCore::ContentDistribution::~ContentDistribution):
4038 (WebCore::ContentDistribution::find):
4039 (WebCore::ContentDistribution::clear):
4040 (WebCore::ContentDistribution::append):
4041 (WebCore::ContentDistributor::ContentDistributor):
4042 (WebCore::ContentDistributor::~ContentDistributor):
4043 (WebCore::ContentDistributor::distribute):
4044 (WebCore::ContentDistributor::clearDistribution):
4045 (WebCore::ContentDistributor::findFor):
4046 (WebCore::ContentDistributor::findInsertionPointFor):
4047 (WebCore::ContentDistributor::willDistribute):
4048 (WebCore::ContentDistributor::didDistribute):
4049 (WebCore::ContentDistributor::preparePoolFor):
4050 * html/shadow/ContentDistributor.h: Added.
4052 (ContentDistribution):
4054 (WebCore::ContentDistribution::Item::insertionPoint):
4055 (WebCore::ContentDistribution::Item::node):
4056 (WebCore::ContentDistribution::Item::next):
4057 (WebCore::ContentDistribution::Item::previous):
4058 (WebCore::ContentDistribution::Item::create):
4059 (WebCore::ContentDistribution::Item::Item):
4060 (WebCore::ContentDistribution::first):
4061 (WebCore::ContentDistribution::last):
4062 (WebCore::ContentDistribution::firstNode):
4063 (WebCore::ContentDistribution::lastNode):
4064 (WebCore::ContentDistribution::isEmpty):
4065 (ContentDistributor):
4067 (WebCore::ContentDistributor::Translator::hash):
4068 (WebCore::ContentDistributor::Translator::equal):
4069 (WebCore::ContentDistributor::Hash::hash):
4070 (WebCore::ContentDistributor::Hash::equal):