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