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