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