64cd3adbc4b2e25eb87101d46480c68deb4ddf67
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-15  Antti Koivisto  <antti@apple.com>
2
3         ASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low memory warning
4         https://bugs.webkit.org/show_bug.cgi?id=106960
5
6         Reviewed by Mark Rowe.
7
8         We were scheduling a memory clearing task to terminated StorageThreads.
9         
10         Remove thread from the active thread list when terminate is scheduled. Add when thread is started.
11
12         * storage/StorageThread.cpp:
13         (WebCore::activeStorageThreads):
14         (WebCore::StorageThread::StorageThread):
15         (WebCore::StorageThread::~StorageThread):
16         (WebCore::StorageThread::start):
17         (WebCore::StorageThread::terminate):
18         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
19
20 2013-01-15  Luke Macpherson   <macpherson@chromium.org>
21
22         Don't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName() on release builds.
23         https://bugs.webkit.org/show_bug.cgi?id=106867
24
25         Reviewed by Darin Adler.
26
27         Check CSSValue::isVariableValue() before casting to CSSVariableValue.
28
29         Covered by existing variables tests.
30
31         * css/StylePropertySet.cpp:
32         (WebCore::StylePropertySet::PropertyReference::cssName):
33
34 2013-01-15  Emil A Eklund  <eae@chromium.org>
35
36         [Sub pixel layout] RTL cells with padding wraps
37         https://bugs.webkit.org/show_bug.cgi?id=106843
38
39         Reviewed by Levi Weintraub.
40         
41         At certain zoom levels table cells with padding wraps for rtl
42         content.
43
44         Test: fast/sub-pixel/table-rtl-padding.html
45
46         * rendering/RenderTable.h: Override paddingStart/End to return
47         integer values for padding as we do elsewhere in the table code.
48
49 2013-01-15  Dominic Mazzoni  <dmazzoni@google.com>
50
51         Use-after-free in AXObjectCache::notificationPostTimerFired
52         https://bugs.webkit.org/show_bug.cgi?id=106106
53
54         Reviewed by Ryosuke Niwa.
55
56         Fixes a crash that occurs when a Node is adopted by another document,
57         in particular one that isn't part of the page, and then deleted,
58         which wasn't triggering the code that removed the Node from
59         AXObjectCache. Now, a Node is removed from the AXObjectCache whenever
60         its Document changes.
61
62         Test: accessibility/crash-adopt-node-from-new-document.html
63
64         * dom/Node.cpp:
65         (WebCore::Node::didMoveToNewDocument):
66
67 2013-01-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
68
69         Add Canvas blend modes to Cairo
70         https://bugs.webkit.org/show_bug.cgi?id=105074
71
72         Reviewed by Martin Robinson.
73
74         Blend mode implementation for cairo. If BlendMode is normal, use
75         CompositeOperator; otherwise, consider CompositeOperator is
76         source-over.
77
78         Add toCairoOperator(BlendMode) to translate BlendMode to matching
79         cairo_operator_t. 
80
81         * platform/graphics/cairo/BitmapImageCairo.cpp:
82         (WebCore::BitmapImage::draw):
83         * platform/graphics/cairo/CairoUtilities.cpp:
84         (WebCore::toCairoOperator):
85         * platform/graphics/cairo/CairoUtilities.h:
86         (WebCore):
87         * platform/graphics/cairo/GraphicsContextCairo.cpp:
88         (WebCore::GraphicsContext::setPlatformCompositeOperation):
89
90 2013-01-15  Dima Gorbik  <dgorbik@apple.com>
91         Implement matching by the voice attribute for WebVTT ::cue pseudo element
92         https://bugs.webkit.org/show_bug.cgi?id=106762
93
94         Reviewed by Eric Carlson.
95
96         Implemented matching cue WebVTT elements by a voice attribute by adding a WebVTT specific voice attribute.
97         For DOM trees title attribute is used instead as this is required by specs.
98
99         * html/track/TextTrackCue.cpp:
100         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): set a title argument instead of a voice attribute for the DOM tree.
101         * html/track/TextTrackCue.h:
102         (WebCore::TextTrackCue::voiceAttributeName):
103         * html/track/WebVTTParser.cpp:
104         (WebCore::WebVTTParser::constructTreeFromToken):
105
106 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
107
108         Some ScrollingCoördinator-related cleanup in RenderLayerBacking
109         https://bugs.webkit.org/show_bug.cgi?id=106950
110
111         Reviewed by Beth Dakin.
112         
113         Wrap up code that gets the ScrollingCoordinator into a utility function.
114         Pull code out of updateGraphicsLayerGeometry() that registers layers with
115         the ScrollingCoordinator, for cleanliness.
116
117         * rendering/RenderLayerBacking.cpp:
118         (WebCore::scrollingCoordinatorFromLayer):
119         (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
120         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
121         (WebCore::RenderLayerBacking::registerScrollingLayers):
122         (WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
123         (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
124         * rendering/RenderLayerBacking.h:
125         (RenderLayerBacking):
126
127 2013-01-15  Beth Dakin  <bdakin@apple.com>
128
129         https://bugs.webkit.org/show_bug.cgi?id=106940
130         Suspend CSS animations for background tabs
131
132         Reviewed by Simon Fraser.
133
134         * page/Page.cpp:
135         (WebCore::Page::setVisibilityState):
136
137 2013-01-15  Levi Weintraub  <leviw@chromium.org>
138
139         Unreviewed, rolling out r139790.
140         http://trac.webkit.org/changeset/139790
141         https://bugs.webkit.org/show_bug.cgi?id=106948
142
143         The patch is failing its own test.
144
145         * dom/ContainerNode.cpp:
146         (WebCore::ContainerNode::parserInsertBefore):
147         (WebCore::ContainerNode::parserRemoveChild):
148         (WebCore::ContainerNode::parserAppendChild):
149         * html/parser/HTMLScriptRunner.cpp:
150         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
151         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
152         (WebCore::HTMLScriptRunner::execute):
153         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
154         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
155         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
156         (WebCore::HTMLScriptRunner::runScript):
157
158 2013-01-15  Emil A Eklund  <eae@chromium.org>
159
160         REGRESSION (r121599): incorrect border scaling when zoomed
161         https://bugs.webkit.org/show_bug.cgi?id=106944
162
163         Reviewed by Levi Weintraub.
164         
165         Fix bug in ApplyPropertyComputeLength::applyValue where zooming
166         of non-pixel values was incorrect.
167
168         Test: fast/sub-pixel/zoomed-em-border.html
169
170         * css/StyleBuilder.cpp:
171         (WebCore::ApplyPropertyComputeLength::applyValue):
172
173 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
174
175         Rename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better describe its purpose
176         https://bugs.webkit.org/show_bug.cgi?id=106947
177
178         Reviewed by Dean Jackson.
179         
180         Simple rename of m_containmentLayer to m_childContainmentLayer. I'll
181         be adding another "container" layer for background layers shortly,
182         and wanted to improve clarity.
183
184         * rendering/RenderLayerBacking.cpp:
185         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
186         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
187         (WebCore::RenderLayerBacking::updateInternalHierarchy):
188         (WebCore::RenderLayerBacking::updateClippingLayers):
189         (WebCore::RenderLayerBacking::parentForSublayers):
190         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
191         (WebCore::RenderLayerBacking::reportMemoryUsage):
192         * rendering/RenderLayerBacking.h:
193         (WebCore::RenderLayerBacking::hasClippingLayer):
194         (WebCore::RenderLayerBacking::clippingLayer):
195         (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
196         (WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
197         (RenderLayerBacking):
198
199 2013-01-15  Enrica Casucci  <enrica@apple.com>
200
201         Add a new set of WebKit2 APIs for text search and
202         search results management.
203         https://bugs.webkit.org/show_bug.cgi?id=106834.
204         <rdar://problem/12597159>
205
206         Reviewed by Simon Fraser.
207         
208         Adding new API to perform text search in WebKit2 without using
209         the stock UI. The new interface provides all the information
210         necessary to write a custom UI for search.
211
212         Added new TextWebKitAPI test.
213
214         * WebCore.exp.in: Added new exported methods.
215         * editing/Editor.cpp:
216         (WebCore::Editor::countMatchesForText): Added new parameter to store
217         all the ranges relative to the matches found.
218         * editing/Editor.h: Modified the interface of countMatchesForText and removed
219         the other definition of countMatchesForText with a different signature.
220         * page/Page.cpp:
221         (WebCore::Page::findStringMatchingRanges): Added.
222         (WebCore::Page::markAllMatchesForText): Changed to use the new unified
223         countMatchesForText.
224         * page/Page.h:
225
226 2013-01-15  Alexandru Chiculita  <achicu@adobe.com>
227
228         [Compositor] Do not disable overlap testing for layers in front of 3D transformed layers
229         https://bugs.webkit.org/show_bug.cgi?id=106721
230
231         Reviewed by Simon Fraser.
232
233         RenderLayerCompositor is checking for overlapping layers and tries to figure out all the layers that need
234         to be drawn using composited layers. It doesn't know anything about animations yet and it only works with "start"
235         and "end" states. However, it knows that animations might happen, so in that cases it will avoid to do any optimizations,
236         as layers might get moved.
237
238         The overlapping layers optimization was also disabled for 3D layers. However, 3D layers can be computed in WebKit and 
239         can be checked for overlap using just the "start"/"stop" states. In this patch I enable that optimization for 3D layers, too.
240         The result is that more layers are drawn in software mode now, so I've updated a couple of test results.
241
242         Tests: compositing/layer-creation/overlap-transformed-3d.html
243                compositing/layer-creation/overlap-transformed-preserved-3d.html
244
245         * rendering/RenderLayerCompositor.cpp:
246         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
247
248 2013-01-15  Elliott Sprehn  <esprehn@gmail.com>
249
250         HTML parser should queue MutationRecords for its operations
251         https://bugs.webkit.org/show_bug.cgi?id=89351
252
253         Reviewed by Eric Seidel.
254
255         Generate mutation records inside the parser. This is done by using a
256         ChildListMutationScope in the ContainerNode::parser* methods and then
257         adding delivery before each <script> element would be processed by
258         the parser.
259
260         Test: fast/dom/MutationObserver/parser-mutations.html
261
262         * dom/ContainerNode.cpp:
263         (WebCore::ContainerNode::parserInsertBefore):
264         (WebCore::ContainerNode::parserRemoveChild):
265         (WebCore::ContainerNode::parserAppendChild):
266         * html/parser/HTMLScriptRunner.cpp:
267         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
268         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
269         (WebCore::HTMLScriptRunner::execute):
270         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
271         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
272         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
273         (WebCore::HTMLScriptRunner::runScript):
274
275 2013-01-15  Ojan Vafai  <ojan@chromium.org>
276
277         Unreviewed, rolling out r139782.
278         http://trac.webkit.org/changeset/139782
279         https://bugs.webkit.org/show_bug.cgi?id=106939
280
281         Broke preferred widths on list markers.
282
283         * rendering/RenderListMarker.cpp:
284         (WebCore::RenderListMarker::layout):
285         (WebCore::RenderListMarker::computePreferredLogicalWidths):
286
287 2013-01-15  Elliott Sprehn  <esprehn@chromium.org>
288
289         Heap-use-after-free in WebCore::RenderObject::willBeRemovedFromTree
290         https://bugs.webkit.org/show_bug.cgi?id=106384
291
292         Reviewed by Abhishek Arya.
293
294         Always walk up from beforeChild until the parent() is the owner of the
295         child list, otherwise we can end up in situations where
296         newChild->parent() == owner but newChild->nextSibling()->parent() != owner
297         which is a recipe for security bugs. Previously we only walked up through
298         anonymous blocks, but missed anonymous inline blocks like those generated
299         by <ruby>.
300
301         Test: fast/css-generated-content/bug-106384.html
302
303         * rendering/RenderObjectChildList.cpp:
304         (WebCore::RenderObjectChildList::insertChildNode):
305
306 2013-01-15  Ojan Vafai  <ojan@chromium.org>
307
308         Remove bogus assert added in http://trac.webkit.org/changeset/139772.
309         * rendering/RenderBox.h:
310         (WebCore::RenderBox::computePreferredLogicalWidths):
311
312 2013-01-15  Ojan Vafai  <ojan@chromium.org>
313
314         Moving updating of margins from computePreferredLogicalWidths to layout
315         https://bugs.webkit.org/show_bug.cgi?id=106939
316
317         Reviewed by Levi Weintraub.
318
319         The margins don't affect it's preferred width. We should update them
320         during layout like we do in other classes (e.g. RenderBlock).
321
322         * rendering/RenderListMarker.cpp:
323         (WebCore::RenderListMarker::layout):
324         (WebCore::RenderListMarker::computePreferredLogicalWidths):
325
326 2013-01-15  Adam Barth  <abarth@webkit.org>
327
328         Generalize DocumentWeakReference into WTF::WeakPtr
329         https://bugs.webkit.org/show_bug.cgi?id=106854
330
331         Reviewed by Darin Adler.
332
333         This patch replaces DocumentWeakReference with WeakPtr. There should be
334         no change in behavior.
335
336         * dom/Document.cpp:
337         (WebCore):
338         (WebCore::Document::Document):
339         (WebCore::Document::~Document):
340         (WebCore::PerformTaskContext::PerformTaskContext):
341         (PerformTaskContext):
342         (WebCore::Document::didReceiveTask):
343         (WebCore::Document::postTask):
344         (WebCore::Document::reportMemoryUsage):
345         * dom/Document.h:
346         (WebCore):
347         (Document):
348
349 2013-01-15  James Simonsen  <simonjam@chromium.org>
350
351         [User Timing] INVALID_ACCESS_ERR should be thrown if measuring from a 0 Nav Timing value
352         https://bugs.webkit.org/show_bug.cgi?id=106935
353
354         Reviewed by Tony Gentilcore.
355
356         Test: http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html
357
358         * page/PerformanceUserTiming.cpp:
359         (WebCore::UserTiming::findExistingMarkStartTime):
360
361 2013-01-15  Tommy Widenflycht  <tommyw@google.com>
362
363         MediaStream API: Rename the [add|remove]Track callbacks to [add|remove]RemoteTrack for clarity
364         https://bugs.webkit.org/show_bug.cgi?id=106791
365
366         Reviewed by Adam Barth.
367
368         No tests needed.
369
370         * Modules/mediastream/MediaStream.cpp:
371         (WebCore::MediaStream::addRemoteTrack):
372         (WebCore::MediaStream::removeRemoteTrack):
373         * Modules/mediastream/MediaStream.h:
374         * platform/mediastream/MediaStreamCenter.cpp:
375         (WebCore::MediaStreamCenter::addMediaStreamTrack):
376         (WebCore::MediaStreamCenter::removeMediaStreamTrack):
377         * platform/mediastream/MediaStreamDescriptor.h:
378         (MediaStreamDescriptorClient):
379
380 2013-01-15  Mark Pilgrim  <pilgrim@chromium.org>
381
382         [Chromium] Move SocketStreamHandle and SocketStreamHandleInternal to WebCore/platform
383         https://bugs.webkit.org/show_bug.cgi?id=106899
384
385         Reviewed by Adam Barth.
386
387         Part of a larger refactoring series; see tracking bug 106829.
388
389         * WebCore.gypi:
390         * platform/network/chromium/SocketStreamHandle.cpp: Copied from Source/WebKit/chromium/src/SocketStreamHandle.cpp.
391         (WebCore::SocketStreamHandleInternal::send):
392         (WebCore::SocketStreamHandleInternal::didOpenStream):
393         (WebCore::SocketStreamHandleInternal::didSendData):
394         (WebCore::SocketStreamHandleInternal::didReceiveData):
395         (WebCore::SocketStreamHandleInternal::didClose):
396         (WebCore::SocketStreamHandleInternal::didFail):
397         * platform/network/chromium/SocketStreamHandleInternal.h: Copied from Source/WebKit/chromium/src/SocketStreamHandleInternal.h.
398
399 2013-01-15  Ojan Vafai  <ojan@chromium.org>
400
401         RenderText::computePreferredLogicalWidths does not need to be public
402         https://bugs.webkit.org/show_bug.cgi?id=106934
403
404         Reviewed by Levi Weintraub.
405
406         * rendering/RenderCounter.h:
407         Add OVERRIDE keyword.
408         * rendering/RenderText.h:
409         Make protected.
410
411 2013-01-15  Ojan Vafai  <ojan@chromium.org>
412
413         Cleanup visibility of some computePreferredLogicalWidths calls
414         https://bugs.webkit.org/show_bug.cgi?id=106933
415
416         Reviewed by Levi Weintraub.
417
418         No need for these to be public.
419
420         * rendering/RenderBox.h:
421         (WebCore::RenderBox::computePreferredLogicalWidths):
422         This should never get called in practice. Add an assert to that effect.
423
424         * rendering/RenderGrid.h:
425         (RenderGrid):
426         * rendering/RenderReplica.h:
427         (RenderReplica):
428         * rendering/RenderScrollbarPart.h:
429         (RenderScrollbarPart):
430
431 2013-01-13  Dirk Schulze  <dschulze@adobe.com>
432
433         [CSS Filters] brightness() function doesn't work as specified
434         https://bugs.webkit.org/show_bug.cgi?id=106674
435
436         Reviewed by Dean Jackson.
437
438         The brightness filter implementation modified the intercept instead of the slope on
439         the feComponentTransfer function. The passed amount acts as multiplier for each
440         color chanel now.
441
442         Existing tests cover the changes and were updated.
443
444         * css/CSSParser.cpp:
445         (WebCore::CSSParser::parseBuiltinFilterArguments):
446         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
447         (PlatformCALayer::setFilters):
448         * rendering/FilterEffectRenderer.cpp:
449         (WebCore::FilterEffectRenderer::build):
450
451 2013-01-15  Zan Dobersek  <zandobersek@gmail.com>
452
453         [GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
454         https://bugs.webkit.org/show_bug.cgi?id=106197
455
456         Reviewed by Martin Robinson.
457
458         No new tests - existing layout tests are being unskipped, only a few fail
459         (but their failures are of cross-platform nature).
460
461         * GNUmakefile.features.am.in: Add feature defines for all three features.
462         They are disabled by default for now.
463         * GNUmakefile.list.am: Add missing build targets.
464         * bindings/gobject/GNUmakefile.am: Ditto.
465         * bindings/js/JSPerformanceEntryCustom.cpp: Added the necessary custom bindings.
466         Mimics the custom V8 bindings.
467         (WebCore):
468         (WebCore::toJS):
469
470 2013-01-15  Alexis Menard  <alexis@webkit.org>
471
472         Unprefixed transitionend event doesn't seem to be implemented, which breaks many sites
473         https://bugs.webkit.org/show_bug.cgi?id=105647
474
475         Reviewed by Julien Chaffraix.
476
477         Add support for transitionend event delivery as part as the unprefixing
478         work on CSS Transitions. This patch adds some code in EventTarget to
479         figure out if the current event to dispatch has a prefixed version or
480         not. Then from the list of listeners we deduce which event should be delivered
481         (prefixed or unprefixed).
482
483         In the case of the CSS Transitions, WebKit will now behave as follow :
484         if an event listener is attached to the prefixed version of the
485         transition end event then only the prefixed event will be send.
486         If an event listener is attached to the unprefixed version
487         of the transition end event then only the unprefixed event will be
488         send. If there are event listeners on both unprefixed and prefixed
489         events then only the unprefixed event will be send.
490
491         The behavior was discussed here :
492         http://lists.webkit.org/pipermail/webkit-dev/2013-January/023301.html.
493
494         Tests: transitions/transition-end-event-unprefixed-01.html
495                transitions/transition-end-event-unprefixed-02.html
496
497         * dom/Document.cpp:
498         (WebCore::Document::addListenerTypeIfNeeded): Register the prefixed
499         listener too as transitionend listeners so that we properly dispatch
500         events for them.
501         * dom/EventNames.h:
502         (WebCore): Add the new transitionend name.
503         * dom/EventTarget.cpp:
504         (WebCore::createMatchingPrefixedEvent):
505         (WebCore::prefixedType):
506         (WebCore::EventTarget::fireEventListeners): Find out if somebody is
507         listening for unprefixed events, if so we always send the unprefixed
508         event, if not then we create a prefixed event and send it.
509         * page/animation/AnimationController.cpp:
510         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
511         * page/animation/ImplicitAnimation.cpp:
512         (WebCore::ImplicitAnimation::sendTransitionEvent): Always create by
513         default unprefixed events.
514
515 2013-01-15  Tony Gentilcore  <tonyg@chromium.org>
516
517         Make AtomicMarkupTokenBase use a bare UChar* for external characters
518         https://bugs.webkit.org/show_bug.cgi?id=106919
519
520         Reviewed by Eric Seidel.
521
522         This allows an arbitrary backing for external characters which is necessary for the threaded HTML parser.
523
524         No new tests because no new functionality.
525
526         * html/parser/HTMLTreeBuilder.cpp:
527         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
528         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
529         * xml/parser/MarkupTokenBase.h:
530         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
531         (WebCore::AtomicMarkupTokenBase::characters):
532         (AtomicMarkupTokenBase):
533         (WebCore::AtomicMarkupTokenBase::charactersLength):
534         (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
535         * xml/parser/XMLTreeBuilder.cpp:
536         (WebCore::XMLTreeBuilder::processCharacter):
537
538 2013-01-15  Arko Saha  <arko@motorola.com>
539
540         Microdata: propertiesCollection[name] should return undefined if item doesn't have a property named 'name'
541         https://bugs.webkit.org/show_bug.cgi?id=106849
542
543         Reviewed by Kentaro Hara.
544
545         We should return undefined if hasNamedItem() is false.
546
547         Test: fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
548
549         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
550         (WebCore::V8HTMLCollection::namedPropertyGetter):
551
552 2013-01-15  Michael Pruett  <michael@68k.org>
553
554         [GTK] Fix build after r139665
555         https://bugs.webkit.org/show_bug.cgi?id=106917
556
557         Reviewed by Dean Jackson.
558
559         * GNUmakefile.list.am:
560
561 2013-01-15  Antti Koivisto  <antti@apple.com>
562
563         Move parent pointer from TreeShared to subclass
564         https://bugs.webkit.org/show_bug.cgi?id=106910
565
566         Reviewed by Darin Adler.
567
568         This simplifies both TreeShared and clients, and makes code dealing with parents more understandable in general.
569
570         * dom/Document.h:
571         (WebCore::Node::Node):
572         * dom/Node.cpp:
573         (WebCore::Node::reportMemoryUsage):
574         * dom/Node.h:
575     
576             Add m_parentOrHostNode variable (matching the accessor names).
577
578         (Node):
579         (WebCore::Node::hasTreeSharedParent):
580         (WebCore::Node::parentNode):
581         (WebCore::Node::setParentOrHostNode):
582         (WebCore::Node::parentOrHostNode):
583         * platform/TreeShared.h:
584         (WebCore):
585         (WebCore::TreeShared::TreeShared):
586         (WebCore::TreeShared::deref):
587         
588             Call subclass hasTreeSharedParent() to figure out if it is time to delete.
589
590         (TreeShared):
591
592             Remove parent pointer and accessors.
593             Remove ParentNodeType template parameter.
594             Remove now unnecessay reportMemoryUsage().
595
596         (WebCore::adopted):
597         * svg/SVGElementInstance.cpp:
598         (WebCore::SVGElementInstance::SVGElementInstance):
599         * svg/SVGElementInstance.h:
600         
601             Add m_parentInstance variable.
602
603         (WebCore::SVGElementInstance::setParentOrHostNode):
604         (WebCore::SVGElementInstance::parentNode):
605         (SVGElementInstance):
606         (WebCore::SVGElementInstance::hasTreeSharedParent):
607
608 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
609
610         Allow tiled WKViews to have transparent backgrounds
611         https://bugs.webkit.org/show_bug.cgi?id=106400
612
613         Reviewed by Anders Carlsson.
614         
615         When WKViews were set to have transparent backgrounds, they still
616         obscured content behind the view, for several reasons.
617         
618         First, when in tiled scrolling mode, WKView set the background
619         of its layer to opaque white. Fix by using the clearColor (effectively
620         removing the background color) if the view has a non-opaque background.
621         
622         Second, RenderLayerBacking just looked at FrameViews's isTransparent()
623         when deciding to make TileCache tiles non-opaque, but it also needs to
624         consider FrameViews with a non-opaque base background color. The
625         same logic was necessary to avoid setting an opaque white background
626         color on the TileCache layer.
627         
628         Finally, for views with non-opaque backgrounds, we don't want to display
629         linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
630         to return false in that case.
631         
632         View transparency is not testable in layout tests.
633
634         * page/FrameView.cpp:
635         (WebCore::FrameView::hasOpaqueBackground):
636         * page/FrameView.h:
637         * rendering/RenderLayerBacking.cpp:
638         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
639         (WebCore::RenderLayerBacking::updateBackgroundColor):
640         * rendering/RenderLayerCompositor.cpp:
641         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
642
643 2013-01-15  Ojan Vafai  <ojan@chromium.org>
644
645         RenderView does not need to override computePreferredLogicalWidth
646         https://bugs.webkit.org/show_bug.cgi?id=106852
647
648         Reviewed by Levi Weintraub.
649
650         Calling minPreferredLogicalWidth calls computePreferredLogicalWidth,
651         which happens a few lines later in layoutWithFlattening. No need
652         to call it explicitly.
653
654         * rendering/RenderFrameBase.cpp:
655         (WebCore::RenderFrameBase::layoutWithFlattening):
656         * rendering/RenderView.cpp:
657         * rendering/RenderView.h:
658
659 2013-01-15  Vsevolod Vlasov  <vsevik@chromium.org>
660
661         Unreviewed, remove file that was accidentally added to the wrong patch.
662
663         * inspector/front-end/FileSystemWorkspaceProvider.js: Removed.
664
665 2013-01-15  Florin Malita  <fmalita@chromium.org>
666
667         [Chromium] Incorrect opaque region tracking for PlatformContextSkia::drawRRect
668         https://bugs.webkit.org/show_bug.cgi?id=106898
669
670         Reviewed by Stephen White.
671
672         Since drawRRect() doesn't cover the whole bounding rect, it needs to pass a didDrawBounded
673         notification down to the opaque region tracker (instead of didDrawRect as it currently
674         does).
675
676         Test: platform/chromium/compositing/rounded-corners.html
677
678         * platform/graphics/skia/PlatformContextSkia.h:
679         (WebCore::PlatformContextSkia::drawRRect):
680
681 2013-01-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
682
683         [Qt] WebGL does not require accelerated compositing
684         https://bugs.webkit.org/show_bug.cgi?id=106892
685
686         Reviewed by Jocelyn Turcotte.
687
688         Allow the creation of WebGL canvas even when accelerated compositing is not enabled.
689
690         * html/HTMLCanvasElement.cpp:
691         (WebCore::HTMLCanvasElement::getContext):
692
693 2013-01-15  Andrey Lushnikov  <lushnikov@chromium.org>
694
695         Web Inspector: refactor DefaultTextEditor's paintLine method
696         https://bugs.webkit.org/show_bug.cgi?id=106893
697
698         Reviewed by Pavel Feldman.
699
700         Move render ranges functionality out of paintLine method into separate subroutine.
701
702         No new tests: no change in behaviour.
703
704         * inspector/front-end/DefaultTextEditor.js:
705         (WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
706         (WebInspector.TextEditorMainPanel.prototype._paintLine):
707         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
708
709 2013-01-15  Elliott Sprehn  <esprehn@gmail.com>
710
711         display:inline's hover behavior is not applied to ::before and ::after pseudo elements
712         https://bugs.webkit.org/show_bug.cgi?id=91723
713
714         Reviewed by Eric Seidel.
715
716         When hovering over the anonymous text renderers inside :before and :after
717         we would correctly detect a hit in InlineTextBox::nodeAtPoint, but would
718         then fail to set the correct node for the hit test because in
719         RenderObject::updateHitTestResult node() is null. Instead we should walk
720         up the render tree to the PseudoElement and treat it as if we hit that.
721
722         Test: fast/css-generated-content/hover-inline.html
723
724         * rendering/RenderObject.cpp:
725         (WebCore::RenderObject::updateHitTestResult):
726
727 2013-01-15  Zeno Albisser  <zeno@webkit.org>
728
729         GraphicsSurface: Canvas with WebGL content is painted off by one pixel
730         https://bugs.webkit.org/show_bug.cgi?id=106446
731
732         When painting to TextureMapper the provided targetRect is in contents
733         coordinate system. This leads to an off by one pixel error when painting
734         outlines of 1px.
735         This needs to be taken into account in the transformation matrix
736         and in the TextureMapperGL::drawTexture call.
737
738         Test: fast/canvas/webgl/webgl-composite-modes.html
739
740         Reviewed by Noam Rosenthal.
741
742         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
743         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
744         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
745         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
746         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
747         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
748
749 2013-01-14  Kentaro Hara  <haraken@chromium.org>
750
751         [V8] Make an Isolate parameter mandatory in SerializedScriptValue methods
752         https://bugs.webkit.org/show_bug.cgi?id=106800
753
754         Reviewed by Adam Barth.
755
756         SerializedScriptValue methods are used by both V8 bindings
757         and WebCore. So they should support both an Isolate-version
758         method and an non-Isolate version method.
759
760         There are two ways to accomplish that:
761
762         [1] Use an optional Isolate parameter.
763
764         [2] Implement two versions and delegate the non-Isolate
765         version method to the Isolate version method.
766
767         I would prefer the approach [2], because I'd like to statically
768         make sure that we never pass a 0 Isolate. If we take the approach
769         [1], we need to insert ASSERT(isolate) here and there.
770
771         This patch implements the approach [2].
772
773         No tests. No change in behavior.
774
775         * bindings/v8/SerializedScriptValue.cpp:
776         (WebCore::SerializedScriptValue::create):
777         (WebCore):
778         (WebCore::SerializedScriptValue::nullValue):
779         (WebCore::SerializedScriptValue::undefinedValue):
780         (WebCore::SerializedScriptValue::booleanValue):
781         (WebCore::SerializedScriptValue::numberValue):
782         (WebCore::SerializedScriptValue::SerializedScriptValue):
783         * bindings/v8/SerializedScriptValue.h:
784         (SerializedScriptValue):
785
786 2013-01-15  Dongwoo Joshua Im  <dw.im@samsung.com>
787
788         [CSS] Rename the enum, from "ETextAlignLast" to "TextAlignLast"
789         https://bugs.webkit.org/show_bug.cgi?id=106887
790
791         Reviewed by Alexis Menard.
792
793         No new tests are added since there is no behavior changes.
794
795         * css/CSSPrimitiveValueMappings.h:
796         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
797         (WebCore::CSSPrimitiveValue::operator TextAlignLast):
798         * css/StyleBuilder.cpp:
799         (WebCore::StyleBuilder::StyleBuilder):
800         * rendering/style/RenderStyle.h:
801         * rendering/style/RenderStyleConstants.h:
802         * rendering/style/StyleRareInheritedData.h:
803         (StyleRareInheritedData):
804
805 2013-01-15  Tommy Widenflycht  <tommyw@google.com>
806
807         MediaStream API: Fixing crashing bug in MediaStream
808         https://bugs.webkit.org/show_bug.cgi?id=106886
809
810         Reviewed by Eric Seidel.
811
812         Fixing crashing bug during destruction.
813
814         No new tests needed.
815
816         * Modules/mediastream/MediaStream.cpp:
817         (WebCore::MediaStream::contextDestroyed):
818
819 2013-01-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
820
821         [Qt][CSS Shaders] Make custom filter render in Wk1 mode
822         https://bugs.webkit.org/show_bug.cgi?id=101532
823
824         Reviewed by Noam Rosenthal.
825
826         Handle ValidatedCustomFilterOperations which are used by WebKit1. To keep the cache of compiled programs working, 
827         the cache has been updated to use CustomFilterProgramInfo as a hash key. CustomFilterProgramInfo is an existing
828         class specifically designed for this purpose.
829
830         * platform/graphics/texmap/TextureMapperGL.cpp:
831         (WebCore::getPassesRequiredForFilter):
832         (WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
833         (WebCore::TextureMapperGL::drawUsingCustomFilter):
834         (WebCore::BitmapTextureGL::applyFilters):
835         * platform/graphics/texmap/TextureMapperGL.h:
836         (TextureMapperGL):
837
838 2013-01-15  Andrey Adaikin  <aandrey@chromium.org>
839
840         Web Inspector: [Canvas] introduce CallArgument type into the protocol
841         https://bugs.webkit.org/show_bug.cgi?id=106640
842
843         Reviewed by Yury Semikhatsky.
844
845         CallArgument type abstraction to describe arguments of a canvas context call.
846         Drive-by: Introduce a CanvasContext to fix the wrong contextId value in the protocol.
847         The contextId should point to the Resource that represents a context (2D or 3D canvas).
848
849         * inspector/InjectedScriptCanvasModuleSource.js:
850         (.):
851         * inspector/Inspector.json:
852         * inspector/front-end/CanvasProfileView.js:
853
854 2012-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
855
856         Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost.
857         https://bugs.webkit.org/show_bug.cgi?id=105727
858
859         Reviewed by Pavel Feldman.
860
861         File system access through isolated file system is implemented in inspector.
862         File system access requests are sent through InspectorFrontendHost.
863         Introduced IsolatedFileSystemModel encapsulating file system access logic. 
864         Introduced FileSystemMapping that provides mapping between workspace uris and file system pathes.
865         DOMFileSystem.createIsolatedFileSystem modified to accept optional registeredName parameter.
866
867         * Modules/filesystem/DOMFileSystem.cpp:
868         (WebCore::DOMFileSystem::createIsolatedFileSystem):
869         * Modules/filesystem/DOMFileSystem.h:
870         (DOMFileSystem):
871         * WebCore.gypi:
872         * WebCore.vcproj/WebCore.vcproj:
873         * inspector/InspectorFrontendClient.h:
874         (InspectorFrontendClient):
875         * inspector/InspectorFrontendClientLocal.h:
876         (WebCore::InspectorFrontendClientLocal::supportsFileSystems):
877         (WebCore::InspectorFrontendClientLocal::requestFileSystems):
878         (WebCore::InspectorFrontendClientLocal::addFileSystem):
879         (WebCore::InspectorFrontendClientLocal::removeFileSystem):
880         (InspectorFrontendClientLocal):
881         * inspector/InspectorFrontendHost.cpp:
882         (WebCore::InspectorFrontendHost::supportsFileSystems):
883         (WebCore):
884         (WebCore::InspectorFrontendHost::requestFileSystems):
885         (WebCore::InspectorFrontendHost::addFileSystem):
886         (WebCore::InspectorFrontendHost::removeFileSystem):
887         (WebCore::InspectorFrontendHost::isolatedFileSystem):
888         * inspector/InspectorFrontendHost.h:
889         (WebCore):
890         (InspectorFrontendHost):
891         * inspector/InspectorFrontendHost.idl:
892         * inspector/compile-front-end.py:
893         * inspector/front-end/FileSystemMapping.js: Added.
894         * inspector/front-end/InspectorFrontendAPI.js:
895         (InspectorFrontendAPI.fileSystemsLoaded):
896         (InspectorFrontendAPI.fileSystemRemoved):
897         (InspectorFrontendAPI.fileSystemAdded):
898         * inspector/front-end/InspectorFrontendHostStub.js:
899         (.WebInspector.InspectorFrontendHostStub.prototype.supportsFileSystems):
900         (.WebInspector.InspectorFrontendHostStub.prototype.requestFileSystems):
901         (.WebInspector.InspectorFrontendHostStub.prototype.addFileSystem):
902         (.WebInspector.InspectorFrontendHostStub.prototype.removeFileSystem):
903         (.WebInspector.InspectorFrontendHostStub.prototype.isolatedFileSystem):
904         * inspector/front-end/IsolatedFileSystemModel.js: Added.
905         * inspector/front-end/WebKit.qrc:
906         * inspector/front-end/externs.js:
907         (DOMFileSystem):
908         (InspectorFrontendHostAPI.prototype.supportsFileSystems):
909         (InspectorFrontendHostAPI.prototype.requestFileSystems):
910         (InspectorFrontendHostAPI.prototype.addFileSystem):
911         (InspectorFrontendHostAPI.prototype.removeFileSystem):
912         (InspectorFrontendHostAPI.prototype.isolatedFileSystem):
913         * inspector/front-end/inspector.html:
914         * inspector/front-end/inspector.js:
915
916 2013-01-15  Kondapally Kalyan  <kalyan.kondapally@intel.com>
917
918         [EFL][WebGL] Add error handling to carefully manage Window backing pixmaps.
919         https://bugs.webkit.org/show_bug.cgi?id=106582
920
921         Reviewed by Kenneth Rohde Christiansen.
922
923         We use XCompositeNameWindowPixmap to create a pixmap that serves as a reference to
924         the off-screen storage for a Window Handle. We expect the Window to be valid and
925         the created glx pixmap to be a valid drawable. This may not be true always.
926         This patch adds support for X Error checks and handles the generated errors.
927
928         Covered by existing WebGL layout tests.
929
930         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
931         (WebCore):
932         (WebCore::handleXPixmapCreationError):
933         (ScopedXPixmapCreationErrorHandler):
934         (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
935         (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
936         (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
937         Helper Class to catch XErrors.
938
939         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
940         (WebCore::GraphicsSurfacePrivate::createPixmap): Added support to check and handle generated XErrors.
941         (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
942         (WebCore::GraphicsSurfacePrivate::clear): Destroys GL Resources.
943         (GraphicsSurfacePrivate):
944
945 2013-01-15  Kondapally Kalyan  <kalyan.kondapally@intel.com>
946
947         [EFL] [WebGL] Minor cleanup in PlatformContext.
948         https://bugs.webkit.org/show_bug.cgi?id=106758
949
950         Reviewed by Kenneth Rohde Christiansen.
951
952         We currently have different implementations of CurrentContextWrapper for EGL and GLX.
953         This patch cleans up the code to use same implementation for both the backends.
954
955         * platform/graphics/opengl/GLPlatformContext.cpp:
956         (GLCurrentContextWrapper):
957         (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
958         (WebCore::GLCurrentContextWrapper::~GLCurrentContextWrapper):
959
960         Common implementation for both EGL and GLX.
961         (WebCore::createOffScreenContext):
962         (WebCore::GLPlatformContext::createContext):
963         * platform/graphics/surfaces/egl/EGLContext.cpp:
964         * platform/graphics/surfaces/egl/EGLContext.h:
965         * platform/graphics/surfaces/glx/GLXContext.h:
966
967         Removed code related to CurrentContextWrapper.
968
969 2013-01-14  Ryosuke Niwa  <rniwa@webkit.org>
970
971         platform/mac/accessibility/progressbar.html fails on Mac WK1 and WK2
972         https://bugs.webkit.org/show_bug.cgi?id=106850
973
974         Reviewed by Chris Fleizach.
975
976         The bug was caused by some callers of supportsFocus directly calling that of Node.
977         Fixed the bug by calling HTMLElement's so that the virtual function on Element gets
978         called as needed.
979
980         * html/HTMLMeterElement.cpp:
981         (WebCore::HTMLMeterElement::supportsFocus):
982         * html/HTMLOutputElement.cpp:
983         (WebCore::HTMLOutputElement::supportsFocus):
984         * html/HTMLProgressElement.cpp:
985         (WebCore::HTMLProgressElement::supportsFocus):
986
987 2013-01-14  Dima Gorbik  <dgorbik@apple.com>
988
989         Implement ID selector matching for the WebVTT ::cue pseudo element
990         https://bugs.webkit.org/show_bug.cgi?id=105481
991
992         Reviewed by Eric Carlson.
993
994         Implemented matching cue WebVTT elements by an identifier. Identifiers of all WebVTT nodes in the rendering tree for 
995         a given cue are set to match the cue identifier.
996
997         Existing tests were modified to cover this case.
998
999         * html/track/TextTrackCue.cpp:
1000         (WebCore::TextTrackCue::markFutureAndPastNodes):
1001
1002 2013-01-14  Mark Pilgrim  <pilgrim@chromium.org>
1003
1004         [Chromium] Use explicit WebKit prefixes in BlobRegistryProxy
1005         https://bugs.webkit.org/show_bug.cgi?id=106859
1006
1007         Reviewed by Adam Barth.
1008
1009         As requested in https://bugs.webkit.org/show_bug.cgi?id=106831#c2
1010
1011         * platform/network/chromium/BlobRegistryProxy.cpp:
1012         (WebCore::BlobRegistryProxy::registerBlobURL):
1013
1014 2013-01-14  Max Vujovic  <mvujovic@adobe.com>
1015
1016         [ANGLE] Update ANGLE in WebKit
1017         https://bugs.webkit.org/show_bug.cgi?id=106274
1018
1019         Unreviewed build fix for GTK after http://trac.webkit.org/changeset/139702
1020
1021         * GNUmakefile.am:
1022
1023 2013-01-14  Dean Jackson  <dino@apple.com>
1024
1025         Yet another unreviewed attempted QT build fix, this time because
1026         it's falling over on Filters.
1027
1028         * rendering/RenderSnapshottedPlugIn.cpp:
1029         (WebCore):
1030         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
1031
1032 2013-01-14  Dean Jackson  <dino@apple.com>
1033
1034         Unreviewed EFL build fix.
1035
1036         * CMakeLists.txt:
1037
1038 2013-01-14  Dean Jackson  <dino@apple.com>
1039
1040         Blur the label background of a snapshotted plugin
1041         https://bugs.webkit.org/show_bug.cgi?id=106630
1042
1043         Reviewed by Simon Fraser.
1044
1045         When we are showing a label indicating the plugin has been snapshotted,
1046         slightly blur the snapshot behind the label so that it is more clear. I expect
1047         that if/when other ports pick up this code, we'll need to separate the
1048         UI treatment somewhat, but this is ok for a first step.
1049
1050         * rendering/RenderSnapshottedPlugIn.cpp:
1051         (RenderSnapshottedPlugInBlurFilter): Private class to use FEGaussianBlur to blur an image.
1052         (WebCore::RenderSnapshottedPlugInBlurFilter::create):
1053         (WebCore::RenderSnapshottedPlugInBlurFilter::setSourceImageRect):
1054         (WebCore::RenderSnapshottedPlugInBlurFilter::sourceImageRect):
1055         (WebCore::RenderSnapshottedPlugInBlurFilter::filterRegion):
1056         (WebCore::RenderSnapshottedPlugInBlurFilter::output):
1057         (WebCore::RenderSnapshottedPlugInBlurFilter::RenderSnapshottedPlugInBlurFilter):
1058         (WebCore::RenderSnapshottedPlugInBlurFilter::apply):
1059         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New member variable to hold a cached version of a preblurred snapshot.
1060         (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Remember to remove the preblurred image from the cache.
1061         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Zero the preblurred version if it exists.
1062         (WebCore::RenderSnapshottedPlugIn::paintReplaced): Either paint snapshot or blurred snapshot with label.
1063         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): New method to paint a full sized snapshot.
1064         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
1065         (WebCore::snapshottedPluginImageForLabelDisplay): Static function to produce the blurred snapshot.
1066         (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel): Calls paintSnapshot with the blurred snapshot on Mac.
1067         * rendering/RenderSnapshottedPlugIn.h:
1068
1069 2013-01-14  Mark Pilgrim  <pilgrim@chromium.org>
1070
1071         [Chromium] Move BlobRegistryProxy into WebCore
1072         https://bugs.webkit.org/show_bug.cgi?id=106831
1073
1074         Reviewed by Adam Barth.
1075
1076         Part of a larger refactoring series to remove layering violations
1077         in Chromium. See tracking bug 106829.
1078
1079         * WebCore.gypi:
1080         * platform/network/chromium/BlobRegistryProxy.cpp: Added.
1081         (WebCore):
1082         (WebCore::blobRegistry):
1083         (WebCore::BlobRegistryProxy::BlobRegistryProxy):
1084         (WebCore::BlobRegistryProxy::registerBlobURL):
1085         (WebCore::BlobRegistryProxy::unregisterBlobURL):
1086         * platform/network/chromium/BlobRegistryProxy.h: Added.
1087         (WebCore):
1088         (BlobRegistryProxy):
1089         (WebCore::BlobRegistryProxy::loadResourceSynchronously):
1090         (WebCore::BlobRegistryProxy::~BlobRegistryProxy):
1091
1092 2013-01-14  Levi Weintraub  <leviw@chromium.org>
1093
1094         Rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
1095
1096         * Modules/mediastream/MediaStream.cpp:
1097         (WebCore::processTrack):
1098         * Modules/mediastream/MediaStreamTrack.cpp:
1099         (WebCore::MediaStreamTrack::readyState):
1100         * Modules/mediastream/MediaStreamTrack.h:
1101         * Modules/mediastream/MediaStreamTrack.idl:
1102
1103 2013-01-14  Levi Weintraub  <leviw@chromium.org>
1104
1105         Rolling out r139678. This triggered a number of WebAudio crashes on Debug bots.
1106
1107         * platform/audio/chromium/AudioDestinationChromium.cpp:
1108         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1109
1110 2013-01-09  Levi Weintraub <leviw@chromium.org>
1111
1112         Rolling out r139683. It broke a bunch of webkit_unit_tests.
1113
1114 2013-01-14  Ojan Vafai  <ojan@chromium.org>
1115
1116         RenderListItem does not need to override computePreferredLogicalWidth
1117         https://bugs.webkit.org/show_bug.cgi?id=106839
1118
1119         Reviewed by Levi Weintraub.
1120
1121         Apparently there was a time when the list marker was considered part of
1122         the list item's preferred width, but that is no longer the case.
1123         This code was added in r3421. The code around preferred widths has change
1124         a lot since then.
1125
1126         * rendering/RenderListItem.cpp:
1127         * rendering/RenderListItem.h:
1128
1129 2013-01-13  Dima Gorbik  <dgorbik@apple.com>
1130
1131         Implement element type selectors for the WebVTT ::cue pseudo class
1132         https://bugs.webkit.org/show_bug.cgi?id=105480
1133
1134         Reviewed by Antti Koivisto.
1135
1136         Implemented tag matching for the WebVTT specific tags "c" and "v". All common html tags like "b" and "i" are 
1137         handled without any changes to the code. Creating a rendering tree and DOM tree now use different code paths. 
1138         They both are made by cloning and modifying the tree produced by the parser. Voice tags now use spans for both 
1139         rendering and DOM trees to conform to specs. Since this changes a lot of code little refactoring has been
1140         done. Removed m_hasInnerTimestamps since it is no longer needed, it doesn't affect anything. m_documentFragment 
1141         was renamed to m_webVTTNodeTree.
1142
1143         Existing tests were modified to cover this case.
1144
1145         * html/track/TextTrackCue.cpp:
1146         (WebCore::TextTrackCue::TextTrackCue):
1147         (WebCore::TextTrackCue::setText): rename m_documentFragment to m_webVTTNodeTree
1148         (WebCore::TextTrackCue::createWebVTTNodeTree): parse the cue if it hasn't been parsed before.
1149         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): clone and prepare a node for using in the DOM tree according to specs.
1150         (WebCore::TextTrackCue::getCueAsHTML): get a DOM tree for the cue.
1151         (WebCore::TextTrackCue::createCueRenderingTree): create a rendering tree (main tree is just being cloned for now).
1152         (WebCore::TextTrackCue::markFutureAndPastNodes): tightening the argument type.
1153         (WebCore::TextTrackCue::updateDisplayTree):
1154         (WebCore::TextTrackCue::getDisplayTree): code cleanup, removed m_hasInnerTimeStamps.
1155         * html/track/TextTrackCue.h:
1156         (WebCore::TextTrackCue::voiceElementTagName):
1157         (TextTrackCue):
1158         (WebCore::TextTrackCue::classElementTagName):
1159         * html/track/WebVTTParser.cpp:
1160         (WebCore::WebVTTParser::constructTreeFromToken): type of the newly created elements was changed to Element to avoid hitting 
1161         an assertion when cloning because a cloned element will not have HTMLElement type for elements with "v" and "c" tag.
1162
1163 2013-01-14  Xianzhu Wang  <wangxianzhu@chromium.org>
1164
1165         Sometimes RenderLayer::updateNeedsCompositedScrolling is not called
1166         https://bugs.webkit.org/show_bug.cgi?id=106271
1167
1168         Reviewed by Simon Fraser.
1169
1170         1. If a layer has no out-of-flow descendant, m_hasOutOfFlowPositionedDescendant won't change and won't trigger updateNeedsCompositedScrolling in updateDescendantDependentFlags. Set m_hasOutOfFlowPositionedDescendantDirty to true and call updateNeedsCompositedScrolling when the dirty flag becomes false from true.
1171         2. When the content size changes causing change of scrollable status, updateNeedsCompositedScrolling should also be called.
1172
1173         Test: compositing/overflow/dynamic-composited-scrolling-status.html
1174
1175         * page/FrameView.cpp:
1176         (WebCore::FrameView::addScrollableArea): Returns whether the scrollable area has just been newly added.
1177         (WebCore::FrameView::removeScrollableArea): Returns whether the scrollable area has just been removed.
1178         * page/FrameView.h:
1179         (FrameView):
1180         * rendering/RenderLayer.cpp:
1181         (WebCore::RenderLayer::RenderLayer): Changed the initial value of m_hasOutOfFlowPositionedDescendantDirty to true to make sure m_hasOutOfFlowPositionedDescendant will be updated initially.
1182         (WebCore::RenderLayer::updateDescendantDependentFlags): Call updateNeedsCompositedScrolling when m_hasOutOfFlowPositionedDescendantDirty is true.
1183         (RenderLayer::updateScrollableAreaSet): Calls updateNeedsCompositedScrolling() when scrollable status changes.
1184         * rendering/RenderLayer.h:
1185         (RenderLayer):
1186
1187 2013-01-14  Ryosuke Niwa  <rniwa@webkit.org>
1188
1189         EFL build fix after r139681.
1190
1191         * dom/NodeRareData.h:
1192         (WebCore::NodeMicroDataTokenLists::NodeMicroDataTokenLists):
1193
1194 2013-01-14  Tien-Ren Chen  <trchen@chromium.org>
1195
1196         Correct FrameView::scrollableAreaBoundingBox() calculation in the presence of transforms
1197         https://bugs.webkit.org/show_bug.cgi?id=105075
1198
1199         Reviewed by Simon Fraser.
1200
1201         As mentioned by the FIXME comment, we need to ask the renderer for the
1202         absolute bounding box of a frame for correct transformation.
1203         This fixes the bug that iframe cannot be scrolled properly when it is
1204         transformed.
1205
1206         Tests: scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html
1207                scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html
1208
1209         * page/FrameView.cpp:
1210         (WebCore::FrameView::scrollableAreaBoundingBox):
1211
1212 2013-01-14  Nate Chapin  <japhet@chromium.org>
1213
1214         Enable reuse of cached main resources
1215         https://bugs.webkit.org/show_bug.cgi?id=105667
1216
1217         Reviewed by Antti Koivisto.
1218
1219         Test: http/tests/cache/cached-main-resource.html
1220
1221         * WebCore.exp.in:
1222         * dom/Document.cpp:
1223         (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
1224         * dom/Document.h:
1225         (Document):
1226         * loader/FrameLoader.cpp:
1227         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
1228             MainResourceLoader will take care of it.
1229         * loader/MainResourceLoader.cpp:
1230         (WebCore::MainResourceLoader::MainResourceLoader):
1231         (WebCore::MainResourceLoader::receivedError):
1232         (WebCore::MainResourceLoader::willSendRequest):
1233         (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
1234         (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
1235         (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
1236             ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
1237         (WebCore::MainResourceLoader::identifier):
1238         * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
1239             to better describe when it is used.
1240         * loader/cache/CachedRawResource.cpp:
1241         (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
1242         (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
1243         (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
1244         * loader/cache/CachedRawResource.h:
1245         (CachedRawResource):
1246         (RedirectPair):
1247         (WebCore::CachedRawResource::RedirectPair::RedirectPair):
1248         * loader/cache/CachedResource.cpp:
1249         (WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
1250         * loader/cache/CachedResource.h:
1251         (WebCore::CachedResource::canReuse):
1252         (CachedResource):
1253         * loader/cache/CachedResourceLoader.cpp:
1254         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
1255         * testing/Internals.cpp:
1256         (WebCore::Internals::isLoadingFromMemoryCache):
1257         (WebCore):
1258         * testing/Internals.h:
1259         (Internals):
1260         * testing/Internals.idl:
1261
1262 2013-01-11  Ryosuke Niwa  <rniwa@webkit.org>
1263
1264         Move functions from NodeRareData to ElementRareData and other classes
1265         https://bugs.webkit.org/show_bug.cgi?id=106679
1266
1267         Reviewed by Benjamin Poulain.
1268
1269         Moved tab index related functions from NodeRareData to ElementRareData since only
1270         HTMLElement uses them, and moved related functions on Node to Element accordingly.
1271
1272         Also replaced transientMutationObserverRegistry and ensureTransientMutationObserverRegistry
1273         by ensureMutationObserverData, and moved micro-data related member functions into
1274         NodeMicroDataTokenLists, and moved NodeMutationObserverData and NodeMicroDataTokenLists
1275         out of NodeRareData as they're used outside of NodeRareData now.
1276
1277         The intention is to move more code into NodeMutationObserverData and NodeMicroDataTokenLists
1278         in the follow up patches so that they can detect the removability of NodeRareData.
1279
1280         No new tests are added since there should be no behavior changes.
1281
1282         * dom/Element.cpp:
1283         (WebCore::Element::clearTabIndexExplicitlyIfNeeded):
1284         (WebCore::Element::setTabIndexExplicitly):
1285         (WebCore::Element::tabIndex):
1286         (WebCore::Element::supportsFocus):
1287         * dom/Element.h:
1288         (Element):
1289         * dom/ElementRareData.h:
1290         (ElementRareData):
1291         (WebCore::ElementRareData::tabIndex):
1292         (WebCore::ElementRareData::setTabIndexExplicitly):
1293         (WebCore::ElementRareData::tabIndexSetExplicitly):
1294         (WebCore::ElementRareData::clearTabIndexExplicitly):
1295         * dom/Node.cpp:
1296         (WebCore::Node::tabIndex):
1297         (WebCore::Node::supportsFocus):
1298         (WebCore::Node::mutationObserverRegistry):
1299         (WebCore::Node::transientMutationObserverRegistry):
1300         (WebCore::Node::registerMutationObserver):
1301         (WebCore::Node::registerTransientMutationObserver):
1302         (WebCore::Node::itemProp):
1303         (WebCore::Node::setItemProp):
1304         (WebCore::Node::itemRef):
1305         (WebCore::Node::setItemRef):
1306         (WebCore::Node::itemType):
1307         (WebCore::Node::setItemType):
1308         * dom/Node.h:
1309         (Node):
1310         * dom/NodeRareData.h:
1311         (NodeMutationObserverData):
1312         (WebCore::NodeMutationObserverData::create):
1313         (NodeMicroDataTokenLists):
1314         (WebCore::NodeMicroDataTokenLists::create):
1315         (WebCore::NodeMicroDataTokenLists::itemProp):
1316         (WebCore::NodeMicroDataTokenLists::itemRef):
1317         (WebCore::NodeMicroDataTokenLists::itemType):
1318         (NodeRareData):
1319         (WebCore::NodeRareData::mutationObserverData):
1320         (WebCore::NodeRareData::ensureMutationObserverData):
1321         (WebCore::NodeRareData::ensureMicroDataTokenLists):
1322         * html/HTMLElement.cpp:
1323         (WebCore::HTMLElement::parseAttribute):
1324
1325 2013-01-14  Ojan Vafai  <ojan@chromium.org>
1326
1327         Remove unnecessary setNeedsLayoutAndPrefWidthsRecalc from RenderTable
1328         https://bugs.webkit.org/show_bug.cgi?id=106832
1329
1330         Reviewed by Levi Weintraub.
1331
1332         These are both called from locations that either set these bits themselves
1333         or clearly don't need these bits set (e.g. computePreferredLogicalWidths).
1334
1335         * rendering/RenderTable.cpp:
1336         (WebCore::RenderTable::splitColumn):
1337         (WebCore::RenderTable::appendColumn):
1338
1339 2013-01-14  Chris Rogers  <crogers@google.com>
1340
1341         Switch AudioDestinationChromium over to new createAudioDevice() method
1342         https://bugs.webkit.org/show_bug.cgi?id=106816
1343
1344         Reviewed by James Robinson.
1345
1346         * platform/audio/chromium/AudioDestinationChromium.cpp:
1347         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1348
1349 2013-01-14  Huang Dongsung  <luxtella@company100.net>
1350
1351         [TexMap] Use a premuliplied color in TextureMapperGL.
1352         https://bugs.webkit.org/show_bug.cgi?id=105786
1353
1354         Reviewed by Noam Rosenthal.
1355
1356         TextureMapperGL always uses a premultiplied color, so we must convert
1357         an unmultiplied color to a premultiplied color before setting the uniform value of
1358         colorLocation.
1359
1360         Test: compositing/background-color/background-color-alpha-with-opacity.html
1361
1362         * platform/graphics/texmap/TextureMapperGL.cpp:
1363         (WebCore::TextureMapperGL::drawBorder):
1364         (WebCore::TextureMapperGL::drawSolidColor):
1365         (WebCore::prepareFilterProgram):
1366         * platform/graphics/texmap/TextureMapperLayer.cpp:
1367         (WebCore::blendWithOpacity):
1368         (WebCore):
1369         (WebCore::TextureMapperLayer::paintSelf):
1370             TextureMapperLayer must not convert solidColor to premultiplied
1371             color, because TextureMapperImageBuffer expects unmultiplied color.
1372
1373 2013-01-14  Arko Saha  <arko@motorola.com>
1374
1375         Microdata: REGRESSION(r138725): Causes crash in chromium port
1376         https://bugs.webkit.org/show_bug.cgi?id=106828
1377
1378         Reviewed by Ryosuke Niwa.
1379
1380         We should hold PropertyNodeList in RefPtr<PropertyNodeList>.
1381
1382         Test: fast/dom/MicroData/propertiescollection-crash.html
1383
1384         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1385         (WebCore::V8HTMLCollection::namedPropertyGetter):
1386
1387 2013-01-14  Tien-Ren Chen  <trchen@chromium.org>
1388
1389         Positioned children of an overflow:visible container should ignore scroll offset when updating layer position
1390         https://bugs.webkit.org/show_bug.cgi?id=106814
1391
1392         Reviewed by Simon Fraser.
1393
1394         This patch fixes a bug in RenderLayer::updateLayerPosition that
1395         scrollLeft / scrollTop of a block should only be effective when the
1396         block has overflow clipping. The bug results in rendering artifacts
1397         and triggers a RenderGeometryMap assertion falure.
1398
1399         Fixes http://crbug.com/167985
1400
1401         Test: fast/overflow/overflow-visible-should-ignore-scroll.html
1402
1403         * rendering/RenderLayer.cpp:
1404         (WebCore::RenderLayer::updateLayerPosition):
1405
1406 2013-01-14  Alec Flett  <alecflett@chromium.org>
1407
1408         IndexedDB: Remove IDBObjectStore/IndexBackendImpl and support functions
1409         https://bugs.webkit.org/show_bug.cgi?id=106605
1410
1411         Remove all uses of IDBObjectStoreBackendInterface and IDBIndexBackend*,
1412         as they are no longer used after recent refactoring.
1413
1414         Reviewed by Darin Fisher.
1415
1416         * GNUmakefile.list.am:
1417         * Modules/indexeddb/IDBCallbacks.h:
1418         (WebCore):
1419         * Modules/indexeddb/IDBCursor.cpp:
1420         (WebCore::IDBCursor::update):
1421         * Modules/indexeddb/IDBDatabase.cpp:
1422         (WebCore::IDBDatabase::createObjectStore):
1423         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1424         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1425         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1426         (IDBDatabaseBackendImpl):
1427         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1428         (WebCore):
1429         (IDBDatabaseBackendInterface):
1430         * Modules/indexeddb/IDBFactoryBackendImpl.h:
1431         (IDBFactoryBackendImpl):
1432         * Modules/indexeddb/IDBFactoryBackendInterface.h:
1433         (IDBFactoryBackendInterface):
1434         * Modules/indexeddb/IDBIndex.cpp:
1435         * Modules/indexeddb/IDBIndexBackendInterface.h: Removed.
1436         * Modules/indexeddb/IDBObjectStore.cpp:
1437         (WebCore::IDBObjectStore::add):
1438         (WebCore::IDBObjectStore::put):
1439         * Modules/indexeddb/IDBObjectStore.h:
1440         (IDBObjectStore):
1441         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1442         (WebCore::IDBObjectStoreBackendImpl::makeIndexWriters):
1443         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1444         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::IndexWriter):
1445         (IndexWriter):
1446         (IDBObjectStoreBackendImpl):
1447         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Removed.
1448         * Modules/indexeddb/IDBTransaction.cpp:
1449         * Modules/indexeddb/IDBTransactionBackendImpl.h:
1450         (IDBTransactionBackendImpl):
1451         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1452         (WebCore):
1453         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1454         * Target.pri:
1455         * WebCore.gypi:
1456         * WebCore.vcproj/WebCore.vcproj:
1457         * WebCore.xcodeproj/project.pbxproj:
1458
1459 2013-01-14  Max Vujovic  <mvujovic@adobe.com>
1460
1461         [ANGLE] Update ANGLE in WebKit
1462         https://bugs.webkit.org/show_bug.cgi?id=106274
1463
1464         Reviewed by Dean Jackson.
1465
1466         Update ANGLE to r1641.
1467
1468         Update the files used in the EFL and GTK builds.
1469
1470         No new tests. No change in behavior.
1471
1472         * CMakeLists.txt:
1473         * GNUmakefile.list.am:
1474
1475 2013-01-14  Julien Chaffraix  <jchaffraix@webkit.org>
1476
1477         REGRESSION (r132591): Underpainting @ uofmchildrenshospital.org
1478         https://bugs.webkit.org/show_bug.cgi?id=105861
1479
1480         Reviewed by David Hyatt.
1481
1482         Test: fast/repaint/overhanging-float-detach-repaint.html
1483
1484         The issue comes from overhanging float not contributing to their containing block's
1485         overflow. This meant that repaint() would ignore them leading to an under-repaint.
1486         The fix is simple: force all the overhanging floats to repaint themselves.
1487
1488         * rendering/RenderObject.cpp:
1489         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1490
1491 2013-01-14  Dominic Mazzoni  <dmazzoni@google.com>
1492
1493         AX: Need to implement ColorWellRole
1494         https://bugs.webkit.org/show_bug.cgi?id=106756
1495
1496         Reviewed by Chris Fleizach.
1497
1498         Maps input type=color to the accessible role ColorWellRole.
1499         Adds a new accessor to AccessibilityObject to get the color
1500         value in a cross-platform way that doesn't require parsing.
1501
1502         Test: accessibility/color-well.html
1503
1504         * accessibility/AccessibilityNodeObject.cpp:
1505         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1506         (WebCore::AccessibilityNodeObject::colorValue):
1507         (WebCore):
1508         * accessibility/AccessibilityNodeObject.h:
1509         (AccessibilityNodeObject):
1510         * accessibility/AccessibilityObject.h:
1511         (WebCore::AccessibilityObject::isColorWell):
1512         (AccessibilityObject):
1513         (WebCore::AccessibilityObject::colorValue):
1514         * accessibility/AccessibilityRenderObject.cpp:
1515         (WebCore::AccessibilityRenderObject::stringValue):
1516         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1517         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1518         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1519         * html/HTMLInputElement.cpp:
1520         (WebCore):
1521         (WebCore::HTMLInputElement::isColorControl):
1522         * html/HTMLInputElement.h:
1523         (HTMLInputElement):
1524
1525 2013-01-11  Emil A Eklund  <eae@chromium.org>
1526
1527         offsetWidth/height incorrect for images when zoomed
1528         https://bugs.webkit.org/show_bug.cgi?id=106624
1529
1530         Reviewed by Levi Weintraub.
1531         
1532         offsetWidth and height are incorrect for images at certain zoom
1533         levels due to flooring the values ones adjusted for zoom.
1534         By rounding the value instead we avoid the problem and return
1535         the right size.
1536
1537         Test: fast/images/zoomed-offset-size.html
1538
1539         * dom/Element.cpp:
1540         (WebCore::Element::offsetWidth):
1541         (WebCore::Element::offsetHeight):
1542         (WebCore::Element::clientWidth):
1543         (WebCore::Element::clientHeight):
1544         Change to round (as opposed to floor) the zoom adjusted value.
1545         
1546         * rendering/RenderObject.h:
1547         (WebCore::adjustLayoutUnitForAbsoluteZoom):
1548         * rendering/style/RenderStyle.h:
1549         (WebCore::adjustLayoutUnitForAbsoluteZoom):
1550         Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
1551         conversion.
1552
1553 2013-01-14  Mark Pilgrim  <pilgrim@chromium.org>
1554
1555         [Chromium] Move AudioDestinationChromium into WebCore
1556         https://bugs.webkit.org/show_bug.cgi?id=106803
1557
1558         Reviewed by Adam Barth.
1559
1560         This doesn't really belong in WebKit/chromium/src since it defines
1561         things directly in the WebCore namespace.
1562
1563         * WebCore.gypi:
1564         * platform/audio/chromium/AudioDestinationChromium.cpp: Added.
1565         (WebCore):
1566         (WebCore::AudioDestination::create):
1567         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1568         (WebCore::AudioDestinationChromium::~AudioDestinationChromium):
1569         (WebCore::AudioDestinationChromium::start):
1570         (WebCore::AudioDestinationChromium::stop):
1571         (WebCore::AudioDestination::hardwareSampleRate):
1572         (WebCore::AudioDestinationChromium::render):
1573         (WebCore::AudioDestinationChromium::provideInput):
1574         * platform/audio/chromium/AudioDestinationChromium.h: Added.
1575         (WebCore):
1576         (AudioDestinationChromium):
1577         (WebCore::AudioDestinationChromium::isPlaying):
1578         (WebCore::AudioDestinationChromium::sampleRate):
1579
1580 2013-01-14  Adrian Perez de Castro  <aperez@igalia.com>
1581
1582         [GTK] Fix indentation for GStreamer supported MIME types list
1583         https://bugs.webkit.org/show_bug.cgi?id=106812
1584
1585         Reviewed by Philippe Normand.
1586
1587         No tests. No change in behavior.
1588
1589         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1590
1591 2013-01-14  John Bauman  <jbauman@chromium.org>
1592
1593         Use correct size for DrawingBuffer readback
1594         https://bugs.webkit.org/show_bug.cgi?id=106744
1595
1596         Reviewed by Kenneth Russell.
1597
1598         The value getInternalFramebufferSize is bogus if there's a
1599         DrawingBuffer, so use size() instead.
1600
1601         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1602         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
1603
1604 2013-01-14  Joshua Bell  <jsbell@chromium.org>
1605
1606         Bindings: Remove special cases for DOMString[]
1607         https://bugs.webkit.org/show_bug.cgi?id=106506
1608
1609         Remove special in binding code generators that map DOMString[] to DOMStringList.
1610         Array (T[]) and sequence (sequence<T>) are supported enough now that to be used
1611         for Internals, which is the only IDL that needed updating.
1612
1613         Reviewed by Adam Barth.
1614
1615         Tests: fast/forms/file/selected-files-from-history-state.html
1616                fast/forms/state-restore-broken-state.html
1617                fast/forms/state-restore-skip-stateless.html
1618
1619         Bindings test results updated for JS/V8.
1620
1621         * bindings/scripts/CodeGenerator.pm: Remove redundant IsArrayType (use GetArrayType instead)
1622         (IsRefPtrType): Array and Sequence types are not RefPtr types.
1623         * bindings/scripts/CodeGeneratorJS.pm:
1624         (IndexGetterReturnsStrings): Remove special case for DOMString[].
1625         (AddIncludesForType): Skip Array types, just like Sequence types. (Should probably recurse
1626         for the base type, but not needed for now.)
1627         (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
1628         (GetNativeType): Remove special case for DOMString[].
1629         (GetNativeTypeForCallbacks): Ditto.
1630         (JSValueToNative): Ditto.
1631         * bindings/scripts/CodeGeneratorV8.pm:
1632         (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
1633         (GetNativeType): Remove special case for DOMString[].
1634         (JSValueToNative): Ditto.
1635         (GetV8HeaderName): Ditto.
1636         (IsWrapperType):
1637         * bindings/scripts/test/JS/JSTestObj.cpp:
1638         (WebCore):
1639         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1640         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1641         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1642         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1643         * bindings/scripts/test/JS/JSTestObj.h:
1644         (WebCore):
1645         * bindings/scripts/test/TestObj.idl: Added explicit new cases for DOMStringList
1646         * bindings/scripts/test/V8/V8TestObj.cpp:
1647         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
1648         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1649         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
1650         (TestObjV8Internal):
1651         (WebCore::TestObjV8Internal::domStringListFunctionCallback):
1652         (WebCore):
1653         (WebCore::ConfigureV8TestObjTemplate):
1654         * testing/Internals.cpp:
1655         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
1656         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
1657         (WebCore::Internals::iconURLs):
1658         (WebCore::Internals::getReferencedFilePaths):
1659         * testing/Internals.h:
1660         (Internals):
1661         * testing/Internals.idl: Produce DOMString[], consume sequence<DOMString> to match tests.
1662
1663 2013-01-14  Elliott Sprehn  <esprehn@chromium.org>
1664
1665         Clean up WebVTTNodeType code
1666         https://bugs.webkit.org/show_bug.cgi?id=106714
1667
1668         Reviewed by Tony Chang.
1669
1670         There's no reason for so many methods just to compare some enums.
1671         The existing code can also be simplified quite a bit.
1672
1673         No new tests, just refactoring.
1674
1675         * css/SelectorChecker.cpp:
1676         (WebCore::SelectorChecker::checkOne):
1677         * css/StyleResolver.cpp:
1678         (WebCore::StyleResolver::collectMatchingRules):
1679         (WebCore::StyleResolver::canShareStyleWithElement):
1680         * dom/Element.cpp:
1681         (WebCore::Element::webVTTNodeType):
1682         (WebCore::Element::setWebVTTNodeType):
1683         * dom/Element.h:
1684         (Element):
1685         * dom/ElementRareData.h:
1686         (WebCore::ElementRareData::setWebVTTNodeType):
1687         (WebCore::ElementRareData::webVTTNodeType):
1688         (ElementRareData):
1689         * dom/NodeRareData.h:
1690         (WebCore::NodeRareData::NodeRareData):
1691         (NodeRareData):
1692         * html/track/TextTrack.h:
1693         * html/track/TextTrackCue.cpp:
1694         (WebCore::TextTrackCue::markFutureAndPastNodes):
1695
1696 2013-01-14  Antti Koivisto  <antti@apple.com>
1697
1698         REGRESSION (r139218): Flaky assertion in WebCore::StorageTask::StorageTask releasing memory
1699         https://bugs.webkit.org/show_bug.cgi?id=106718
1700
1701         Reviewed by Andreas Kling.
1702
1703         Type assertion was missing a new type.
1704
1705         * storage/StorageTask.cpp:
1706         (WebCore::StorageTask::StorageTask):
1707
1708 2013-01-14  Yury Semikhatsky  <yurys@chromium.org>
1709
1710         [REGRESSION] Dev Tools popup for Workers forgets sizes/shows tiny in top left
1711         https://bugs.webkit.org/show_bug.cgi?id=106807
1712
1713         Reviewed by Pavel Feldman.
1714
1715         Open dedicated worker inspector 600x600 by default and remember its size
1716         after resizing.
1717
1718         * inspector/front-end/Settings.js:
1719         * inspector/front-end/WorkerManager.js:
1720
1721 2013-01-14  Kentaro Hara  <haraken@chromium.org>
1722
1723         [V8] Make an Isolate parameter mandatory in associateObjectWithWrapper()
1724         https://bugs.webkit.org/show_bug.cgi?id=106784
1725
1726         Reviewed by Adam Barth.
1727
1728         No tests. No change in behavior.
1729
1730         * bindings/v8/V8DOMWrapper.h:
1731         (V8DOMWrapper):
1732
1733 2013-01-14  Kentaro Hara  <haraken@chromium.org>
1734
1735         [V8] Make an Isolate parameter mandatory in ScriptDebugServer::interruptAndRun()
1736         https://bugs.webkit.org/show_bug.cgi?id=106779
1737
1738         Reviewed by Adam Barth.
1739
1740         This is one of steps to make an Isolate parameter mandatory.
1741
1742         No tests. No change in behavior.
1743
1744         * bindings/v8/ScriptDebugServer.h:
1745         (ScriptDebugServer):
1746
1747 2013-01-14  Kentaro Hara  <haraken@chromium.org>
1748
1749         [V8] Make an Isolate parameter mandatory in wrap()
1750         https://bugs.webkit.org/show_bug.cgi?id=106783
1751
1752         Reviewed by Adam Barth.
1753
1754         Now it's safe to make an Isolate parameter in wrap().
1755
1756         No tests. No change in behavior.
1757
1758         * bindings/scripts/CodeGeneratorV8.pm:
1759         (GenerateHeader):
1760         * bindings/scripts/test/V8/V8Float64Array.h:
1761         (WebCore):
1762         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1763         (WebCore::wrap):
1764         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1765         (WebCore::wrap):
1766         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1767         (WebCore::wrap):
1768         * bindings/scripts/test/V8/V8TestEventTarget.h:
1769         (WebCore::wrap):
1770         * bindings/scripts/test/V8/V8TestException.h:
1771         (WebCore::wrap):
1772         * bindings/scripts/test/V8/V8TestInterface.h:
1773         (WebCore::wrap):
1774         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1775         (WebCore::wrap):
1776         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1777         (WebCore::wrap):
1778         * bindings/scripts/test/V8/V8TestNode.h:
1779         (WebCore::wrap):
1780         * bindings/scripts/test/V8/V8TestObj.h:
1781         (WebCore::wrap):
1782         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1783         (WebCore::wrap):
1784         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1785         (WebCore::wrap):
1786
1787 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
1788
1789         MediaStream API: Update MediaStreamTrack::readyState to match specification
1790         https://bugs.webkit.org/show_bug.cgi?id=106781
1791
1792         Reviewed by Adam Barth.
1793
1794         MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
1795
1796         Existing tests expanded to cover patch.
1797
1798         * Modules/mediastream/MediaStream.cpp:
1799         (WebCore::processTrack):
1800         * Modules/mediastream/MediaStreamTrack.cpp:
1801         (WebCore::MediaStreamTrack::readyState):
1802         (WebCore::MediaStreamTrack::ended):
1803         (WebCore):
1804         * Modules/mediastream/MediaStreamTrack.h:
1805         (MediaStreamTrack):
1806         * Modules/mediastream/MediaStreamTrack.idl:
1807
1808 2013-01-14  Vsevolod Vlasov  <vsevik@chromium.org>
1809
1810         Web Inspector: Audit Tool's False Positive on Set-Cookie header
1811         https://bugs.webkit.org/show_bug.cgi?id=106794
1812
1813         Reviewed by Pavel Feldman.
1814
1815         Header value is now returned as undefined if there is no such header as it was before regression.
1816
1817         Test: http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html
1818
1819         * inspector/front-end/AuditRules.js:
1820         (WebInspector.AuditRules.CSSRuleBase.prototype.sheetsCallback): Drive-by fix, callback should be called even when there is no headers. 
1821         * inspector/front-end/NetworkRequest.js:
1822         (WebInspector.NetworkRequest.prototype._headerValue):
1823
1824 2013-01-14  Eric Carlson  <eric.carlson@apple.com>
1825
1826         Do not pass nil when initializing legible output
1827         https://bugs.webkit.org/show_bug.cgi?id=106799
1828
1829         Reviewed by Jessie Berlin.
1830
1831         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1832         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): -[AVPlayerItemLegibleOutput initWithDependencyFactory:mediaSubtypesForNativeRepresentation:]
1833             wants an empty NSArray rather than nil.
1834
1835 2013-01-14  Andrey Adaikin  <aandrey@chromium.org>
1836
1837         Web Inspector: [Canvas] UI: add control buttons for doing the replay steps
1838         https://bugs.webkit.org/show_bug.cgi?id=106788
1839
1840         Reviewed by Pavel Feldman.
1841
1842         Adding UI control buttons for doing the Canvas replay steps.
1843         Drive-by: fixed a bug in DataGrid (found by the JSCompiler).
1844
1845         * inspector/front-end/CanvasProfileView.js:
1846         (WebInspector.CanvasProfileView):
1847         (WebInspector.CanvasProfileView.prototype._createControlButton):
1848         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
1849         (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
1850         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
1851         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
1852         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
1853         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
1854         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
1855         (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
1856         * inspector/front-end/DOMExtension.js:
1857         (Element.prototype.enableStyleClass):
1858         * inspector/front-end/DataGrid.js:
1859         (WebInspector.DataGrid.prototype.setRootNode):
1860         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
1861         (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
1862         (WebInspector.DataGrid.prototype._editingCommitted):
1863         (WebInspector.DataGridNode):
1864         * inspector/front-end/canvasProfiler.css:
1865         (.canvas-replay-image):
1866         (.canvas-replay-image.wait):
1867         (.canvas-replay-controls):
1868         (.canvas-replay-log):
1869         (.canvas-control-button):
1870         (.canvas-control-button:active):
1871         (.canvas-control-button:disabled):
1872         (.canvas-control-button img):
1873         (.canvas-replay-first-step img):
1874         (.canvas-replay-next-step img):
1875         (.canvas-replay-prev-step img):
1876         (.canvas-replay-last-step img):
1877
1878 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
1879
1880         MediaStream API: Update the track accessors on MediaStream to match the latest specification
1881         https://bugs.webkit.org/show_bug.cgi?id=106660
1882
1883         Reviewed by Adam Barth.
1884
1885         The spec has significantly changed how tracks are accessed from a MediaStream:
1886         http://dev.w3.org/2011/webrtc/editor/getusermedia.html
1887
1888         In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
1889         replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
1890         MediaStreamTracks.
1891
1892         Existing tests updated and expanded to cover patch.
1893
1894         * CMakeLists.txt:
1895         * GNUmakefile.list.am:
1896         * Modules/mediastream/MediaStream.cpp:
1897         (WebCore::MediaStream::create):
1898         (WebCore::MediaStream::MediaStream):
1899         (WebCore::MediaStream::~MediaStream):
1900         (WebCore::MediaStream::readyState):
1901         (WebCore):
1902         (WebCore::MediaStream::addTrack):
1903         (WebCore::MediaStream::removeTrack):
1904         (WebCore::MediaStream::getTrackById):
1905         (WebCore::MediaStream::streamEnded):
1906         (WebCore::MediaStream::contextDestroyed):
1907         (WebCore::MediaStream::scheduleDispatchEvent):
1908         (WebCore::MediaStream::scheduledEventTimerFired):
1909         * Modules/mediastream/MediaStream.h:
1910         (MediaStream):
1911         (WebCore::MediaStream::getAudioTracks):
1912         (WebCore::MediaStream::getVideoTracks):
1913         * Modules/mediastream/MediaStream.idl:
1914         * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
1915         * Modules/mediastream/MediaStreamTrackList.h: Removed.
1916         * Modules/mediastream/MediaStreamTrackList.idl: Removed.
1917         * Modules/webaudio/AudioContext.cpp:
1918         (WebCore::AudioContext::createMediaStreamSource):
1919         * WebCore.gypi:
1920         * dom/EventTargetFactory.in:
1921         * platform/mediastream/MediaStreamDescriptor.h:
1922         (WebCore::MediaStreamDescriptor::addAudioComponent):
1923         (WebCore::MediaStreamDescriptor::removeAudioComponent):
1924         (WebCore::MediaStreamDescriptor::addVideoComponent):
1925         (WebCore::MediaStreamDescriptor::removeVideoComponent):
1926
1927 2013-01-14  Kentaro Hara  <haraken@chromium.org>
1928
1929         [V8] Add m_isolate to ScriptController, WorkerScriptController and V8DOMWindowShell
1930         https://bugs.webkit.org/show_bug.cgi?id=106771
1931
1932         Reviewed by Adam Barth.
1933
1934         This is one of the steps to pass an Isolate everywhere.
1935
1936         No tests. No change in behavior.
1937
1938         * bindings/v8/ScriptController.cpp:
1939         (WebCore::ScriptController::ScriptController):
1940         (WebCore::ScriptController::windowShell):
1941         * bindings/v8/ScriptController.h:
1942         (ScriptController):
1943         * bindings/v8/V8DOMWindowShell.cpp:
1944         (WebCore::V8DOMWindowShell::create):
1945         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
1946         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1947         (WebCore::V8DOMWindowShell::installDOMWindow):
1948         * bindings/v8/V8DOMWindowShell.h:
1949         (V8DOMWindowShell):
1950         * bindings/v8/V8Initializer.cpp:
1951         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
1952         (WebCore::V8Initializer::initializeWorker):
1953         * bindings/v8/V8Initializer.h:
1954         (V8Initializer):
1955         * bindings/v8/WorkerScriptController.cpp:
1956         (WebCore::WorkerScriptController::WorkerScriptController):
1957         (WebCore::WorkerScriptController::initializeContextIfNeeded):
1958
1959 2013-01-14  Alexander Pavlov  <apavlov@chromium.org>
1960
1961         Web Inspector: [Styles] Color names parsed inside "background-image" values
1962         https://bugs.webkit.org/show_bug.cgi?id=106770
1963
1964         Reviewed by Pavel Feldman.
1965
1966         Test: inspector/styles/url-color-swatch.html
1967
1968         Spaces were not allowed in url(...) CSS property values.
1969
1970         * inspector/front-end/StylesSidebarPane.js:
1971
1972 2013-01-14  Kentaro Hara  <haraken@chromium.org>
1973
1974         [V8] Pass an Isolate to associateObjectWithWrapper()
1975         https://bugs.webkit.org/show_bug.cgi?id=106773
1976
1977         Reviewed by Adam Barth.
1978
1979         In preparation for making an Isolate parameter mandatory
1980         in associateObjectWithWrapper(), this patch passes an
1981         Isolate to associateObjectWithWrapper().
1982
1983         No tests. No change in behavior.
1984
1985         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1986         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
1987         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1988         (WebCore::wrapArrayBufferView):
1989         (WebCore::constructWebGLArray):
1990         * bindings/v8/custom/V8AudioContextCustom.cpp:
1991         (WebCore::V8AudioContext::constructorCallbackCustom):
1992         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1993         (WebCore::V8DOMFormData::constructorCallbackCustom):
1994         * bindings/v8/custom/V8DataViewCustom.cpp:
1995         (WebCore::V8DataView::constructorCallbackCustom):
1996         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1997         (WebCore::v8HTMLImageElementConstructorCallback):
1998         * bindings/v8/custom/V8IntentCustom.cpp:
1999         (WebCore::V8Intent::constructorCallbackCustom):
2000         * bindings/v8/custom/V8MessageChannelCustom.cpp:
2001         (WebCore::V8MessageChannel::constructorCallbackCustom):
2002         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2003         (WebCore::V8MutationObserver::constructorCallbackCustom):
2004         * bindings/v8/custom/V8WebKitPointCustom.cpp:
2005         (WebCore::V8WebKitPoint::constructorCallbackCustom):
2006         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2007         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2008
2009 2013-01-14  Kentaro Hara  <haraken@chromium.org>
2010
2011         [V8] Call Isolate::GetCurrent() in a callback from WebCore
2012         https://bugs.webkit.org/show_bug.cgi?id=106766
2013
2014         Reviewed by Adam Barth.
2015
2016         The objective is to pass an Isolate everywhere.
2017         Given that a callback from WebCore is an entry point to V8,
2018         we can call Isolate::GetCurrent() at the head of the callback
2019         and pass it to other places. (In practice, handleEvent() is
2020         the only callback used in the current WebKit.)
2021
2022         No tests. No change in behavior.
2023
2024         * bindings/scripts/CodeGeneratorV8.pm:
2025         (GenerateCallbackImplementation):
2026         (NativeToJSValue):
2027         * bindings/scripts/test/V8/V8TestCallback.cpp:
2028         (WebCore::V8TestCallback::callbackWithNoParam):
2029         (WebCore::V8TestCallback::callbackWithClass1Param):
2030         (WebCore::V8TestCallback::callbackWithClass2Param):
2031         (WebCore::V8TestCallback::callbackWithStringList):
2032         (WebCore::V8TestCallback::callbackWithBoolean):
2033         (WebCore::V8TestCallback::callbackRequiresThisToPass):
2034
2035 2013-01-14  Tommy Widenflycht  <tommyw@google.com>
2036
2037         MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
2038         https://bugs.webkit.org/show_bug.cgi?id=106568
2039
2040         Reviewed by Adam Barth.
2041
2042         See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
2043
2044         Existings tests updated to cover patch.
2045
2046         * Modules/mediastream/LocalMediaStream.cpp:
2047         (WebCore::LocalMediaStream::stop):
2048         * Modules/mediastream/MediaStream.cpp:
2049         (WebCore::MediaStream::ended):
2050         (WebCore::MediaStream::streamEnded):
2051         * Modules/mediastream/MediaStream.h:
2052         (MediaStream):
2053         (WebCore::MediaStream::isLocal):
2054         * Modules/mediastream/MediaStream.idl:
2055         * Modules/mediastream/MediaStreamTrackList.cpp:
2056         (WebCore::MediaStreamTrackList::add):
2057         (WebCore::MediaStreamTrackList::remove):
2058
2059 2013-01-14  Alexander Pavlov  <apavlov@chromium.org>
2060
2061         Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used
2062         https://bugs.webkit.org/show_bug.cgi?id=106767
2063
2064         Reviewed by Vsevolod Vlasov.
2065
2066         We used to render named colors as names regardless of the selected color format option.
2067
2068         * inspector/front-end/StylesSidebarPane.js:
2069         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2070
2071 2013-01-14  Andrei Bucur  <abucur@adobe.com>
2072
2073         Crash caused by incomplete cleanup of regions information for anonymous block
2074         https://bugs.webkit.org/show_bug.cgi?id=106191
2075
2076         Reviewed by Abhishek Arya.
2077
2078         When an anonymous block is no longer required it is removed from the render tree and deleted. For example, this can happen when an anonymous block children change
2079         from inlines to blocks. The patch updates the removeLeftoverAnonymousBlock function to delete the flow thread information attached to the obsolete anonymous block.
2080         The removeFromRenderFlowThread() function is recursive and it needs to be called after the anonymous block children were reparented and the child list cleared.
2081         I've also placed the children reset operation before clearing the parent because the latter also deletes the inRenderFlowThread flag from the object and it makes
2082         flow thread ownership detection impossible.
2083
2084         Tests: fast/regions/remove-leftover-anon-block-crash.html
2085
2086         * rendering/RenderBlock.cpp:
2087         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2088
2089 2013-01-14  Kentaro Hara  <haraken@chromium.org>
2090
2091         [V8] Make an Isolate parameter mandatory in v8DateOrNull()
2092         https://bugs.webkit.org/show_bug.cgi?id=106765
2093
2094         Reviewed by Adam Barth.
2095
2096         This is one of the efforts to kill all optional Isolate parameters.
2097
2098         No tests. No change in behavior.
2099
2100         * bindings/v8/V8Binding.h:
2101         (WebCore::v8DateOrNull):
2102
2103 2013-01-14  Pablo Flouret  <pablof@motorola.com>
2104
2105         Allow nesting of at-rules
2106         https://bugs.webkit.org/show_bug.cgi?id=106696
2107
2108         Reviewed by Allan Sandfeld Jensen.
2109
2110         http://dev.w3.org/csswg/css3-conditional/ introduces the
2111         concept of grouping rules, and allows for them to be nested. In
2112         particular, this change affects @media (and is needed for @supports as
2113         well).
2114
2115         Test: fast/css/nested-at-rules.html
2116
2117         * css/CSSGrammar.y.in:
2118             Move media to the block_valid_rule list.
2119
2120         * css/RuleSet.cpp:
2121         (WebCore::RuleSet::addRegionRule):
2122         (WebCore::RuleSet::addChildRules):
2123         (WebCore::RuleSet::addRulesFromSheet):
2124         * css/RuleSet.h:
2125             Rip out the rule-adding loop into a new method, for added
2126             cleanliness and recursing.
2127
2128 2013-01-14  Eugene Klyuchnikov  <eustas@chromium.org>
2129
2130         Web Inspector: [Network] Add domain column
2131         https://bugs.webkit.org/show_bug.cgi?id=106757
2132
2133         Reviewed by Pavel Feldman.
2134
2135         Adding new column will ease domain tracking / sorting.
2136
2137         * inspector/front-end/NetworkPanel.js: Added column.
2138         * inspector/front-end/NetworkRequest.js:
2139         (WebInspector.NetworkRequest.prototype.get domain): Added getter.
2140
2141 2013-01-14  Qiankun Miao  <qiankun.miao@intel.com>
2142
2143         Fix a typo error in the comments in PlatformContextSkia.h
2144         https://bugs.webkit.org/show_bug.cgi?id=105612
2145
2146         Reviewed by Stephen White.
2147
2148         "If false we're rendering to a GraphicsContext for a web page, if false
2149         we're not (as is the case when rendering to a canvas object)." is
2150         self-contradictory. The second "flase" in the comments should be
2151         "true". If true, we're rendering to an ImageBuffer which has a canvas
2152         object.
2153
2154         * platform/graphics/skia/PlatformContextSkia.h:
2155         (PlatformContextSkia):
2156
2157 2013-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
2158
2159         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 3/3
2160         https://bugs.webkit.org/show_bug.cgi?id=106764
2161
2162         Reviewed by Vsevolod Vlasov.
2163
2164         Last three classes with not instrumented members were fixed.
2165
2166         * css/CSSGroupingRule.cpp:
2167         (WebCore::CSSGroupingRule::reportMemoryUsage):
2168         * css/StyleScopeResolver.cpp:
2169         (WebCore::StyleScopeResolver::reportMemoryUsage):
2170         * loader/cache/CachedResourceLoader.cpp:
2171         (WebCore::CachedResourceLoader::reportMemoryUsage):
2172
2173 2013-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
2174
2175         Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
2176         https://bugs.webkit.org/show_bug.cgi?id=106546
2177
2178         Reviewed by Vsevolod Vlasov.
2179
2180         Many nontrivial class members were added into reportMemoryUsage methods.
2181
2182         * bindings/v8/V8PerIsolateData.cpp:
2183         (WebCore::V8PerIsolateData::reportMemoryUsage):
2184         * css/CSSMediaRule.cpp:
2185         (WebCore::CSSMediaRule::reportMemoryUsage):
2186         * css/CSSProperty.cpp:
2187         (WebCore::CSSProperty::reportMemoryUsage):
2188         * css/CSSStyleSheet.cpp:
2189         (WebCore::CSSStyleSheet::reportMemoryUsage):
2190         * css/MediaList.cpp:
2191         (WebCore::MediaList::reportMemoryUsage):
2192         * css/RuleSet.cpp:
2193         (WebCore::RuleData::reportMemoryUsage):
2194         (WebCore::RuleSet::reportMemoryUsage):
2195         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
2196         * css/StyleResolver.cpp:
2197         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
2198         (WebCore::StyleResolver::reportMemoryUsage):
2199         * css/StyleSheetContents.cpp:
2200         (WebCore::StyleSheetContents::reportMemoryUsage):
2201         * dom/TreeScope.cpp:
2202         (WebCore::TreeScope::reportMemoryUsage):
2203         * inspector/HeapGraphSerializer.cpp:
2204         (WebCore::HeapGraphSerializer::reportMemoryUsage):
2205         * inspector/InspectorMemoryAgent.cpp:
2206         * inspector/InspectorProfilerAgent.cpp:
2207         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
2208         * inspector/MemoryInstrumentationImpl.cpp:
2209         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
2210         * loader/DocumentLoader.cpp:
2211         (WebCore::DocumentLoader::reportMemoryUsage):
2212         * loader/FrameLoader.cpp:
2213         (WebCore::FrameLoader::reportMemoryUsage):
2214         * loader/MainResourceLoader.cpp:
2215         (WebCore::MainResourceLoader::reportMemoryUsage):
2216         * loader/Prerenderer.cpp:
2217         (WebCore::Prerenderer::reportMemoryUsage):
2218         * loader/ResourceLoader.cpp:
2219         (WebCore::ResourceLoader::reportMemoryUsage):
2220         * loader/cache/CachedImage.cpp:
2221         (WebCore::CachedImage::reportMemoryUsage):
2222         * page/Page.cpp:
2223         (WebCore::Page::reportMemoryUsage):
2224
2225 2013-01-13  Levi Weintraub  <leviw@chromium.org>
2226
2227         Unreviewed gardening. Rolling out r139537. It broke platforms without sub-pixel layout.
2228
2229         * dom/Element.cpp:
2230         (WebCore::Element::offsetWidth):
2231         (WebCore::Element::offsetHeight):
2232         (WebCore::Element::clientWidth):
2233         (WebCore::Element::clientHeight):
2234         * rendering/RenderObject.h:
2235         (WebCore::adjustLayoutUnitForAbsoluteZoom):
2236         * rendering/style/RenderStyle.h:
2237         (WebCore::adjustLayoutUnitForAbsoluteZoom):
2238
2239 2013-01-13  Dima Gorbik  <dgorbik@apple.com>
2240
2241         Styling disappears from the cue that's being styled by ::cue pseudo element
2242         https://bugs.webkit.org/show_bug.cgi?id=106723
2243
2244         Reviewed by Antti Koivisto.
2245
2246         Fixes a regression caused by r138966. Setting a pseudoId in TextTrackCue::updateDisplayTree for m_allDocumentNodes
2247         was triggering recalculating styles the next run loop. Now when this was removed we append the WebVTT tree after its children have
2248         been marked by markFutureAndPastNodes so that correct styles are set within this append call.
2249
2250         Test: media/track/track-css-cue-lifetime.html
2251
2252         * html/track/TextTrackCue.cpp:
2253         (WebCore::TextTrackCue::markFutureAndPastNodes): changing the type of the first argument because DocumentFragment is not a subclass
2254         of Element.
2255         (WebCore::TextTrackCue::updateDisplayTree): appending the WebVTT rendering tree after its children have been marked properly.
2256         * html/track/TextTrackCue.h:
2257         (TextTrackCue):
2258
2259 2013-01-12  David Grogan  <dgrogan@chromium.org>
2260
2261         IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
2262         https://bugs.webkit.org/show_bug.cgi?id=106135
2263
2264         Reviewed by Tony Chang.
2265
2266         IDBEnv only changes the name of the histogram where errors are logged.
2267
2268         * platform/leveldb/LevelDBDatabase.cpp:
2269         (WebCore::LevelDBDatabase::destroy):
2270         (WebCore::LevelDBDatabase::open):
2271         (WebCore::LevelDBDatabase::openInMemory):
2272
2273 2013-01-12  Gavin Peters  <gavinp@chromium.org>
2274
2275         Regression(r119759): Heap-use-after-free in webkit_glue::WebURLLoaderImpl::Context::OnReceivedResponse
2276         https://bugs.webkit.org/show_bug.cgi?id=103563
2277
2278         A subresource could receive a body on a 404 if its call to CachedResource::error() resulted in a nested message loop.
2279         That caused a crash when data was received, as the Subresource was in the Finished state already. Now when receiving
2280         data we ignore these bodies, avoiding the crash.
2281
2282         Reviewed by Nate Chapin.
2283
2284         No new tests in WebKit, since it required a nested message loop which isn't present in chromium DumpRender tree.
2285         There's a Chrome side browser test, see https://codereview.chromium.org/11778083/
2286
2287         * loader/SubresourceLoader.cpp:
2288         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2289
2290 2013-01-12  Robert Hogan  <robert@webkit.org>
2291
2292         Available height should respect min and max height
2293         https://bugs.webkit.org/show_bug.cgi?id=106479
2294
2295         Reviewed by Ojan Vafai.
2296         
2297         When calculating a relative positioned block's offset as a percentage of its container, respect the min
2298         and max height set on the container
2299
2300         Tests: fast/block/percent-top-respects-max-height.html
2301                fast/block/percent-top-respects-min-height.html
2302
2303         * rendering/RenderBox.cpp:
2304         (WebCore::RenderBox::availableLogicalHeight):
2305
2306 2013-01-12  Victor Carbune  <victor@rosedu.org>
2307
2308         CC Button doesn't always show up
2309         https://bugs.webkit.org/show_bug.cgi?id=106653
2310
2311         Reviewed by Eric Carlson.
2312
2313         Added extra checks to existing test.
2314
2315         * html/shadow/MediaControls.cpp:
2316         (WebCore::MediaControls::closedCaptionTracksChanged):
2317         Enforced visibility of captions button whenever the track list changes.
2318         (WebCore):
2319         * html/shadow/MediaControls.h:
2320         (MediaControls):
2321
2322 2013-01-11  Dan Beam  <dbeam@chromium.org>
2323
2324         [clean up] Remove HTMLFormElement::AutocompleteResultError in favor of more specific Error reasons
2325         https://bugs.webkit.org/show_bug.cgi?id=106610
2326
2327         Reviewed by Darin Fisher.
2328
2329         No new tests (none needed).
2330
2331         * html/HTMLFormElement.cpp: 
2332         (WebCore::HTMLFormElement::finishRequestAutocomplete): Removed handling of AutocompleteResultError.
2333         * html/HTMLFormElement.h: Removed HTMLFormElement::AutocompleteResultError in favor of more specific errors.
2334
2335 2013-01-10  Filip Pizlo  <fpizlo@apple.com>
2336
2337         JITThunks should not compile only because of luck
2338         https://bugs.webkit.org/show_bug.cgi?id=105696
2339
2340         Rubber stamped by Sam Weinig.
2341
2342         All .cpp files that use the JSC internal API must now transitively include
2343         Operations.h, and none of the major JSC headers do it for you to avoid
2344         circularity. WebCore doesn't have to worry about circularity with JSC, so
2345         this changes all of the major WebCore JSC base headers to include
2346         Operations.h.
2347
2348         * bindings/js/BindingState.h:
2349         * bindings/js/JSArrayBufferViewHelper.h:
2350         * bindings/js/JSCustomXPathNSResolver.h:
2351         * bindings/js/JSDOMBinding.h:
2352         * bindings/js/JSDOMGlobalObject.h:
2353         * bindings/js/JSDictionary.h:
2354         * bindings/js/JSMessagePortCustom.h:
2355         * bindings/js/JSNodeFilterCondition.h:
2356         * bindings/js/ScriptValue.h:
2357         * bindings/js/ScriptWrappable.h:
2358         * bindings/js/SerializedScriptValue.cpp:
2359         * bridge/c/c_utility.h:
2360         * bridge/jsc/BridgeJSC.h:
2361         * dom/Node.cpp:
2362         * html/HTMLCanvasElement.cpp:
2363         * html/HTMLImageLoader.cpp:
2364         * plugins/efl/PluginViewEfl.cpp:
2365         * xml/XMLHttpRequest.cpp:
2366
2367 2013-01-11  Emil A Eklund  <eae@chromium.org>
2368
2369         offsetWidth/height incorrect for images when zoomed
2370         https://bugs.webkit.org/show_bug.cgi?id=106624
2371
2372         Reviewed by Levi Weintraub.
2373         
2374         offsetWidth and height are incorrect for images at certain zoom
2375         levels due to flooring the values ones adjusted for zoom.
2376         By rounding the value instead we avoid the problem and return
2377         the right size.
2378
2379         Test: fast/images/zoomed-offset-size.html
2380
2381         * dom/Element.cpp:
2382         (WebCore::Element::offsetWidth):
2383         (WebCore::Element::offsetHeight):
2384         (WebCore::Element::clientWidth):
2385         (WebCore::Element::clientHeight):
2386         Change to round (as opposed to floor) the zoom adjusted value.
2387         
2388         * rendering/RenderObject.h:
2389         (WebCore::adjustLayoutUnitForAbsoluteZoom):
2390         * rendering/style/RenderStyle.h:
2391         (WebCore::adjustLayoutUnitForAbsoluteZoom):
2392         Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
2393         conversion.
2394
2395 2013-01-11  Ojan Vafai  <ojan@chromium.org>
2396
2397         Fixed width overrides intrinsic min-width/max-width for text inputs and listboxes
2398         https://bugs.webkit.org/show_bug.cgi?id=106675
2399
2400         Reviewed by Emil A Eklund.
2401
2402         Implement computeIntrinsicLogicalWidths so that RenderBox::computeLogicalWidthInRegionUsing
2403         can get the correct intrinsic sizes instead of the preferred sizes.
2404
2405         Test: fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html
2406
2407         * rendering/RenderListBox.cpp:
2408         (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
2409         (WebCore):
2410         (WebCore::RenderListBox::computePreferredLogicalWidths):
2411         * rendering/RenderListBox.h:
2412         (RenderListBox):
2413         * rendering/RenderTextControl.cpp:
2414         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
2415         (WebCore):
2416         (WebCore::RenderTextControl::computePreferredLogicalWidths):
2417         * rendering/RenderTextControl.h:
2418         (RenderTextControl):
2419
2420 2013-01-10  Ojan Vafai  <ojan@chromium.org>
2421
2422         Setting width overrides intrinsic min-width/max-width on flexboxes and their subclasses
2423         https://bugs.webkit.org/show_bug.cgi?id=106617
2424
2425         Reviewed by Tony Chang.
2426
2427         Override computeIntrinsicLogicalWidths for all RenderFlexibleBox and RenderDeprecatedFlexibleBox
2428         classes that override computePreferredLogicalWidths so that RenderBox can use
2429         computeIntrinsicLogicalWidths in order to get the correct intrinsic values.
2430
2431         Tests: css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html
2432                fast/flexbox/intrinsic-min-width-applies-with-fixed-width.html
2433                fast/forms/select/intrinsic-min-width-applies-with-fixed-width.html
2434
2435         * rendering/RenderBox.cpp:
2436         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2437         fit-content needs to use the intrinsic sizes not the preferred sizes
2438         since a fixed width overrides the preferred size.
2439         As best I can tell, the sizesLogicalWidthToFitContent codepath can keep
2440         using preferred widths, which are considerably faster, since that's only used
2441         computing width values. Added a clause to that if-statement to make this more
2442         explicit.
2443
2444         * rendering/RenderDeprecatedFlexibleBox.cpp:
2445         (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
2446         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
2447         * rendering/RenderDeprecatedFlexibleBox.h:
2448         (RenderDeprecatedFlexibleBox):
2449         * rendering/RenderFlexibleBox.cpp:
2450         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
2451         (WebCore):
2452         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2453         * rendering/RenderFlexibleBox.h:
2454         * rendering/RenderMenuList.cpp:
2455         (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
2456         (WebCore):
2457         (WebCore::RenderMenuList::computePreferredLogicalWidths):
2458         * rendering/RenderMenuList.h:
2459         (RenderMenuList):
2460         * rendering/RenderSlider.cpp:
2461         (WebCore::RenderSlider::computeIntrinsicLogicalWidths):
2462         (WebCore):
2463         (WebCore::RenderSlider::computePreferredLogicalWidths):
2464         * rendering/RenderSlider.h:
2465         (RenderSlider):
2466         No logic changes in any of these computeIntrinsic methods. Just moving
2467         the code over from the computePreferred methods.
2468
2469 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
2470
2471         Move HTMLTokenTypes to its own file
2472         https://bugs.webkit.org/show_bug.cgi?id=106722
2473
2474         Reviewed by Levi Weintraub.
2475
2476         Also mark AtomicHTMLToken ctor as explicit.
2477
2478         No new tests because no new functionality.
2479
2480         * GNUmakefile.list.am:
2481         * Target.pri:
2482         * WebCore.gypi:
2483         * WebCore.vcproj/WebCore.vcproj:
2484         * WebCore.xcodeproj/project.pbxproj:
2485         * html/parser/HTMLToken.h:
2486         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2487         * html/parser/HTMLTokenTypes.h: Added.
2488         (WebCore):
2489         (HTMLTokenTypes):
2490         (DoctypeData):
2491         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
2492
2493 2013-01-11  Elliott Sprehn  <esprehn@chromium.org>
2494
2495         No need to initialize RefPtrs to 0 in ElementRareData
2496         https://bugs.webkit.org/show_bug.cgi?id=106717
2497
2498         Reviewed by Ryosuke Niwa.
2499
2500         RefPtrs initialize themself to null, so there's no reason
2501         to do it manually. This was code leftover from when
2502         PseudoElements were stored in bare ptrs instead of in
2503         RefPtrs.
2504
2505         No new tests, just refactoring.
2506
2507         * dom/ElementRareData.h:
2508         (WebCore::ElementRareData::ElementRareData):
2509
2510 2013-01-11  Huang Dongsung  <luxtella@company100.net>
2511
2512         [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
2513         https://bugs.webkit.org/show_bug.cgi?id=105760
2514
2515         Reviewed by Noam Rosenthal.
2516
2517         TextureMapperLayer has two transform members: an original value and a
2518         changeable value. The changeable value would be changed by animations.
2519         This patch puts 'current' prefix on the changeable value to clarify
2520         its purpose. Opacity and filters ditto.
2521
2522         No new tests. Refactoring only.
2523
2524         * platform/graphics/texmap/TextureMapperLayer.cpp:
2525         (WebCore::TextureMapperLayer::computeTransformsRecursive):
2526         (WebCore::TextureMapperLayer::paintSelf):
2527         (WebCore::TextureMapperLayer::paintSelfAndChildren):
2528         (WebCore::TextureMapperLayer::intermediateSurfaceRect):
2529         (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
2530         (WebCore::TextureMapperLayer::isVisible):
2531         (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
2532         (WebCore::TextureMapperLayer::paintRecursive):
2533         (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
2534         (WebCore::TextureMapperLayer::syncAnimations):
2535         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
2536         * platform/graphics/texmap/TextureMapperLayer.h:
2537         (WebCore::TextureMapperLayer::TextureMapperLayer):
2538         (TextureMapperLayer):
2539         (WebCore::TextureMapperLayer::State::State):
2540
2541 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
2542
2543         Move constructTreeFromHTMLToken into HTMLDocumentParser
2544         https://bugs.webkit.org/show_bug.cgi?id=106694
2545
2546         Reviewed by Adam Barth.
2547
2548         This way it will sit parallel to a new constructTreeFromCompactHTMLToken method.
2549
2550         No new tests because no new functionality.
2551
2552         * html/parser/HTMLDocumentParser.cpp:
2553         (WebCore::HTMLDocumentParser::pumpTokenizer):
2554         (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
2555         (WebCore):
2556         * html/parser/HTMLDocumentParser.h:
2557         * html/parser/HTMLTreeBuilder.cpp:
2558         * html/parser/HTMLTreeBuilder.h:
2559         (HTMLTreeBuilder):
2560
2561 2013-01-11  Robert Iannucci  <iannucci@chromium.org>
2562
2563         Explicitly set msvs_cygwin_shell to true for actions in WebKit
2564         https://bugs.webkit.org/show_bug.cgi?id=106706
2565
2566         Reviewed by Tony Chang.
2567
2568         Currently, msvs_cygwin_shell is set to 1 by default. This patch
2569         explicitly sets it on the actions which will break if msvs_cygwin_shell
2570         were set to 0. This is in preparation for changing the default value of
2571         msvs_cygwin_shell, which in turn is in preparation of the removal of
2572         cygwin as a buld-system requirement.
2573
2574         Since this change will have no semantic effect, no new tests are
2575         required.
2576
2577         * WebCore.gyp/WebCore.gyp:
2578
2579 2013-01-11  Joshua Bell  <jsbell@chromium.org>
2580
2581         IndexedDB: IDBTransaction should manage lifetime of IDBRequests
2582         https://bugs.webkit.org/show_bug.cgi?id=106678
2583
2584         Reviewed by Tony Chang.
2585
2586         Ensure reference count of IDBRequests don't bounce off zero if there are no script
2587         references are while the events are arriving.
2588
2589         No new tests - no detectable behavior changes.
2590
2591         * Modules/indexeddb/IDBRequest.cpp:
2592         (WebCore::IDBRequest::create): Register with transaction (which now takes a ref) here to...
2593         (WebCore::IDBRequest::IDBRequest): ...avoid having to relax adoption requirements here.
2594         * Modules/indexeddb/IDBTransaction.cpp: Keep RefPtr<>s to outstanding requests.
2595         (WebCore::IDBTransaction::~IDBTransaction):
2596         (WebCore::IDBTransaction::abort):
2597         (WebCore::IDBTransaction::onAbort):
2598         * Modules/indexeddb/IDBTransaction.h:
2599
2600 2013-01-11  James Simonsen  <simonjam@chromium.org>
2601
2602         [Resource Timing] XMLHttpRequests should have initiator type 'xmlhttprequest'
2603         https://bugs.webkit.org/show_bug.cgi?id=106409
2604
2605         Reviewed by Nate Chapin.
2606
2607         The initiator is passed through ThreadableLoaderOptions to the CachedResourceRequest. This is
2608         optional, so other users of ThreadableLoader will have the default initiator of 'request'. Note
2609         that synchronous XHRs don't show up in the Resource Timing buffer yet.
2610
2611         Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
2612
2613         * loader/DocumentThreadableLoader.cpp:
2614         (WebCore::DocumentThreadableLoader::loadRequest):
2615         * loader/ThreadableLoader.h:
2616         (ThreadableLoaderOptions):
2617         * loader/cache/CachedResourceRequestInitiators.cpp:
2618         (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
2619         * loader/cache/CachedResourceRequestInitiators.h:
2620         (CachedResourceRequestInitiators):
2621         * xml/XMLHttpRequest.cpp:
2622         (WebCore::XMLHttpRequest::createRequest):
2623
2624 2013-01-11  James Simonsen  <simonjam@chromium.org>
2625
2626         Restore old semantics to webkitRequestAnimationFrame callbacks
2627         https://bugs.webkit.org/show_bug.cgi?id=106697
2628
2629         Reviewed by James Robinson.
2630
2631         Sites that use GWT <= 2.4 are buggy and rely on Date.now()-like callback values.
2632         We'll restore that behavior to the prefixed version of webkitRequestAnimationFrame.
2633         requestAnimationFrame will continue to follow the spec.
2634
2635         Test: fast/animation/request-animation-frame-prefix.html
2636
2637         * dom/RequestAnimationFrameCallback.h:
2638         (RequestAnimationFrameCallback):
2639         * dom/ScriptedAnimationController.cpp:
2640         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
2641         * page/DOMWindow.cpp:
2642         (WebCore::DOMWindow::requestAnimationFrame):
2643         (WebCore):
2644         (WebCore::DOMWindow::webkitRequestAnimationFrame):
2645         * page/DOMWindow.h:
2646         (DOMWindow):
2647         * page/DOMWindow.idl:
2648
2649 2013-01-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2650
2651         Unreviewed, rolling out r139044.
2652         http://trac.webkit.org/changeset/139044
2653         https://bugs.webkit.org/show_bug.cgi?id=106702
2654
2655         Caused various scrolling anomolies on Mac with drag and drop
2656         (Requested by smfr on #webkit).
2657
2658         * page/AutoscrollController.cpp:
2659         (WebCore::AutoscrollController::AutoscrollController):
2660         (WebCore::AutoscrollController::autoscrollTimerFired):
2661         * page/AutoscrollController.h:
2662         (WebCore):
2663         (AutoscrollController):
2664         * page/EventHandler.cpp:
2665         (WebCore::EventHandler::updateDragAndDrop):
2666         * rendering/RenderBox.cpp:
2667         (WebCore):
2668         (WebCore::RenderBox::autoscroll):
2669         * rendering/RenderBox.h:
2670         (RenderBox):
2671         * rendering/RenderLayer.cpp:
2672         (WebCore::RenderLayer::autoscroll):
2673         * rendering/RenderLayer.h:
2674         (RenderLayer):
2675         * rendering/RenderListBox.cpp:
2676         (WebCore::RenderListBox::autoscroll):
2677         * rendering/RenderListBox.h:
2678         (RenderListBox):
2679         * rendering/RenderTextControlSingleLine.cpp:
2680         (WebCore::RenderTextControlSingleLine::autoscroll):
2681         * rendering/RenderTextControlSingleLine.h:
2682         (RenderTextControlSingleLine):
2683
2684 2013-01-11  Rafael Weinstein  <rafaelw@chromium.org>
2685
2686         Prevent HTMLPreloadScanner from fetching resources inside <template>
2687         https://bugs.webkit.org/show_bug.cgi?id=106687
2688
2689         Reviewed by Adam Barth.
2690
2691         This patch adds a simple counter to the preload scanner which increments on template start
2692         tag and decrements on template element. It only fetchs resources when the counter is at zero
2693         (i.e. for elements not contained by a template element).
2694
2695         Test re-enabled within fast/dom/HTMLTemplateElement/inertContents.html
2696
2697         * html/parser/HTMLPreloadScanner.cpp:
2698         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2699         (WebCore::HTMLPreloadScanner::processToken):
2700         * html/parser/HTMLPreloadScanner.h:
2701         (HTMLPreloadScanner):
2702
2703 2013-01-11  Tony Gentilcore  <tonyg@chromium.org>
2704
2705         We should be able to checkpoint and restore the HTMLTokenizer across threads
2706         https://bugs.webkit.org/show_bug.cgi?id=106597
2707
2708         Based on patch by Adam Barth.
2709
2710         This has the ability to create a checkpoint any time the parser is blocked on a script.
2711         We clear m_appropriateEndTagName after each end tag is flushed so that the ASSERT in
2712         canCreateCheckpoint() will pass.
2713
2714         Reviewed by Adam Barth.
2715
2716         No new tests because no new functionality.
2717
2718         * html/parser/HTMLDocumentParser.cpp:
2719         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2720         (WebCore::HTMLDocumentParser::pumpTokenizer):
2721         * html/parser/HTMLDocumentParser.h:
2722         (WebCore):
2723         (HTMLDocumentParser):
2724         * html/parser/HTMLTokenizer.cpp:
2725         (WebCore):
2726         (WebCore::HTMLTokenizer::canCreateCheckpoint):
2727         (WebCore::HTMLTokenizer::createCheckpoint):
2728         (WebCore::HTMLTokenizer::restoreFromCheckpoint):
2729         * html/parser/HTMLTokenizer.h:
2730         (HTMLTokenizer):
2731         (Checkpoint):
2732         (WebCore::HTMLTokenizer::Checkpoint::Checkpoint):
2733         * xml/parser/MarkupTokenizerBase.h:
2734         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
2735         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::skipNextNewLine):
2736         (InputStreamPreprocessor):
2737         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::reset):
2738
2739 2013-01-11  Tony Chang  <tony@chromium.org>
2740
2741         [chromium] Don't regenerate all bindings when any idl file changes
2742         https://bugs.webkit.org/show_bug.cgi?id=106604
2743
2744         Reviewed by Kentaro Hara.
2745
2746         Currently, every idl file is a dependency of generating the supplemental dependency map
2747         and generating bindings is a dependency of the map. This means that touching any idl file
2748         causes us to regenerate all the bindings.
2749
2750         Change it so that generating bindings only depends on the idl files that have Supplemental= in them.
2751         We only have 24 idl files with Supplemental (3.7% of the 638 idl files in WebCore) so modifying
2752         any of those will cause all bindings to be regenerated.
2753
2754         If you add or remove a new idl file, you have to rerun gyp which will fix up any dependencies.
2755         If you edit an existing file and add Supplemental= to it, you will now need to rerun gyp_{webkit,chromium}.
2756         I think that's a reasonable tradeoff since it seems highly unlikely that you would adding Supplemental=
2757         to an existing file without renaming it. The bots will always be fine because they always run
2758         gyp after updating.
2759
2760         No new tests, this is a build only change.
2761
2762         * WebCore.gyp/WebCore.gyp: Remove <(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp, which was causing
2763         the full rebuild. The step to generate this file is still a hard dependency so it will still be generated and
2764         used by generate-bindings.pl. Also remove <@(webcore_test_support_idl_files). This was saying we should regenerate
2765         all bindings if a test idl file changed. That doesn't make sense.
2766         * WebCore.gyp/scripts/supplemental_idl_files.py: Added.
2767         (DoMain):
2768
2769 2013-01-11  Alexandru Chiculita  <achicu@adobe.com>
2770
2771         Element is displayed behind a composited layer when clipping is used on a previous element
2772         https://bugs.webkit.org/show_bug.cgi?id=104981
2773
2774         Reviewed by Simon Fraser.
2775
2776         RenderLayerCompositor::computeCompositingRequirements uses the local bounding box of the layers to optimize the number of composited 
2777         layers that are created. That's needed in order to make sure that composited layers that are displayed behind non-composited
2778         layers are correctly promoting the layers in front to be composited. Otherwise the non-composited layers are rendered
2779         in the parent composited layer, displaying behind the other composited layers. That might be wrong as the correct paint order might not be
2780         preserved.
2781
2782         In order to make animations work, there's a flag that will disable that optimization. That's because the animations run in the platform
2783         layer and the platform layer doesn't know about the layers that are not promoted to composited layers. When the overlapping of the layers
2784         is computed it just uses the start or the stop state, but no intermediate states. For that reason, all the 'top' layers in front of animated 
2785         elements will become composited.
2786
2787         When an animation has a clipping rectangle, then we know for sure that the animation is going to be contained inside the clip area, so WebKit 
2788         uses the bounding box of the clipping area to detect the overlapping layers, so there's no need to disable the optimization in that case.
2789
2790         However, if there is a different animation displaying behind the clipping container, we cannot safely disable that optimization anymore. That's
2791         because we still don't know what are the intermediate states of that particular animated layer. The bug was that the optimization was re-enabled
2792         anyway, even in this particular case.
2793
2794         In order to fix it, I changed the logic, so that instead of re-enabling the optimization after a clipping container, it will just avoid to propagate 
2795         the internal state to the following layers when there's no need to so.
2796
2797         Note that 3D transforms behave like animations for now and disable the optimization. Because of that some of the existing tests ended up
2798         creating more layers than needed. That's because the tests had an overflow area that recreated the issue that this patch fixes, but with
2799         3D transforms instead of animations. 3D transforms will be treated in a separate patch.
2800
2801         Tests: compositing/layer-creation/overlap-animation-clipping.html
2802                compositing/layer-creation/overlap-animation-container.html
2803
2804         * rendering/RenderLayerCompositor.cpp:
2805         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2806
2807 2013-01-11  Philip Rogers  <pdr@google.com>
2808
2809         Skip CachedImage::CreateImage if we don't have image data
2810         https://bugs.webkit.org/show_bug.cgi?id=106156
2811
2812         Reviewed by Nate Chapin.
2813
2814         This patch skips image creation if we do not have image data. This can occur during
2815         cache revalidation when the revalidation request (304 not modified) comes back without
2816         any content. In this revalidation case, the http spec requires that a mimetype not be set
2817         on the response to prevent a cached resource from having a different mimetype
2818         from the revalidated resource. Because revalidation requests do not have a mimetype,
2819         CachedImage::CreateImage() will fail on SVG images. This patch prevents
2820         CachedImage::CreateImage() from being called during revalidation.
2821
2822         No new tests as there are no observable changes from this patch.
2823
2824         * loader/cache/CachedImage.cpp:
2825         (WebCore::CachedImage::data):
2826
2827 2013-01-11  Kentaro Hara  <haraken@chromium.org>
2828
2829         Unreviewed. Rebaselined run-bindings-tests.
2830
2831         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2832         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
2833         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
2834         * bindings/scripts/test/V8/V8TestException.cpp:
2835         (WebCore::TestExceptionV8Internal::nameAttrGetter):
2836         * bindings/scripts/test/V8/V8TestInterface.cpp:
2837         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
2838         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
2839         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
2840         * bindings/scripts/test/V8/V8TestObj.cpp:
2841         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
2842         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
2843         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
2844         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
2845         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
2846         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
2847         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
2848         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
2849         (WebCore::TestObjV8Internal::hashAttrGetter):
2850         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
2851
2852 2013-01-11  Levi Weintraub  <leviw@chromium.org>
2853
2854         RenderGeometryMap and TransformState disagree with sub-pixel layout and translations
2855         https://bugs.webkit.org/show_bug.cgi?id=106047
2856
2857         Reviewed by Simon Fraser.
2858
2859         Mirror RenderGeometryMap's optimization for integer-translated transforms in TransformState.
2860         This avoids the current behavior where the two can disagree on mappings, since RenderGeometryMap
2861         pixel-snapped later when a translation occurred between two sub-pixel containers.
2862
2863         Test: fast/layers/geometry-map-transform-state-translation-mismatch.html
2864
2865         * platform/graphics/transforms/TransformState.h:
2866         (WebCore::TransformState::setQuad): Clear accumulatedOffset when setting a new quad. Note: this
2867         implementation only works properly when only tracking a quad.
2868         * platform/graphics/transforms/TransformState.cpp:
2869         (WebCore::TransformState::applyTransform): apply integral translations to the accumulatedOffset
2870         for performance and consistency with RenderGeometryMap.
2871
2872 2013-01-11  Abhishek Arya  <inferno@chromium.org>
2873
2874         Heap-use-after-free in WebCore::RenderText::computePreferredLogicalWidths
2875         https://bugs.webkit.org/show_bug.cgi?id=95901
2876
2877         Reviewed by Simon Fraser.
2878
2879         Prevent re-entrancy of view layout. Loading of SVG document during font load
2880         causes it to re-enter layout and blowing the style away from underneath.
2881         
2882         Test: Go to http://www.speckproducts.com and make sure crash does not happen.
2883
2884         * dom/Document.cpp:
2885         (WebCore::Document::updateLayout):
2886
2887 2013-01-11  Kentaro Hara  <haraken@chromium.org>
2888
2889         [V8] Do not create a local handle for a cached v8 string that is returned to V8 immediately
2890         https://bugs.webkit.org/show_bug.cgi?id=106557
2891
2892         Reviewed by Adam Barth.
2893
2894         Currently we are always creating a local handle for a cached
2895         V8 string returned to V8:
2896
2897           Handle<Value> v8String(StringImpl* impl, Isolate* isolate) {
2898             ...;
2899             return Local<String>::New(isolate, m_cachedString);
2900           }
2901
2902         However, we don't need to create a local handle in a case
2903         where it is guaranteed that no V8 object allocation is conducted
2904         before a control flow returns back to V8. In particular, in a case
2905         where a cached V8 string is immediately returned to V8, we don't
2906         need to create a local handle:
2907
2908           Handle<Value> xxxxAttrGetter() {
2909             ...;
2910             return v8String(imp->xxxx(), isolate);  // This can return a persistent handle safely.
2911           }
2912
2913         This patch improves performance of div.id by 9.2%.
2914
2915         No tests. No change in behavior.
2916
2917         * bindings/scripts/CodeGeneratorV8.pm:
2918         (GenerateNormalAttrGetter):
2919         (GenerateCallbackImplementation):
2920         (GenerateFunctionCallString):
2921         (NativeToJSValue):
2922         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2923         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
2924         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
2925         * bindings/scripts/test/V8/V8TestException.cpp:
2926         (WebCore::TestExceptionV8Internal::nameAttrGetter):
2927         * bindings/scripts/test/V8/V8TestInterface.cpp:
2928         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
2929         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
2930         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
2931         * bindings/scripts/test/V8/V8TestObj.cpp:
2932         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
2933         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
2934         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
2935         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
2936         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
2937         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
2938         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
2939         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
2940         (WebCore::TestObjV8Internal::hashAttrGetter):
2941         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
2942         * bindings/v8/V8Binding.h:
2943         (WebCore::v8String):
2944         (WebCore::v8StringOrNull):
2945         (WebCore::v8StringOrUndefined):
2946         * bindings/v8/V8ValueCache.cpp:
2947         (WebCore::StringCache::v8ExternalStringSlow):
2948         * bindings/v8/V8ValueCache.h:
2949         (WebCore::StringCache::v8ExternalString):
2950         (StringCache):
2951
2952 2013-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2953
2954         Unreviewed. Fix make distcheck.
2955
2956         * GNUmakefile.list.am: Add missing header files.
2957
2958 2013-01-11  Xianzhu Wang  <wangxianzhu@chromium.org>
2959
2960         RenderLayerCompositor should let ScrollingCoordinator update main thread scrolling reasons after change of layers
2961         https://bugs.webkit.org/show_bug.cgi?id=105652
2962
2963         Reviewed by Simon Fraser.
2964
2965         Let ScrollingCoordinator know the change of ViewportConstrainedNotCompositedReason in time.
2966         By the way moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to RenderLayer::ViewportConstrainedNotCompositedReason.
2967
2968         Tests: compositing/layer-creation/fixed-position-in-view-dynamic.html
2969                compositing/layer-creation/fixed-position-out-of-view-dynamic.html
2970
2971         * page/scrolling/ScrollingCoordinator.cpp:
2972         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
2973         (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
2974         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
2975         * page/scrolling/ScrollingCoordinator.h:
2976         (ScrollingCoordinator):
2977         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2978         (WebCore::ScrollingCoordinatorMac::hasVisibleSlowRepaintViewportConstrainedObjects):
2979         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2980         (WebCore::logThreadedScrollingMode):
2981         * rendering/RenderLayer.cpp:
2982         (WebCore::RenderLayer::RenderLayer):
2983         (WebCore::RenderLayer::paintLayer):
2984         * rendering/RenderLayer.h:
2985         (RenderLayer): Moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to here and renamed it to ViewportConstrainedNotCompositedReason.
2986         (WebCore::RenderLayer::setViewportConstrainedNotCompositedReason):
2987         (WebCore::RenderLayer::viewportConstrainedNotCompositedReason):
2988         * rendering/RenderLayerCompositor.cpp:
2989         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2990         (WebCore::RenderLayerCompositor::updateBacking): Now updates ViewportConstrainedNotCompositedReason here instead of in computeCompositingRequirements before so that the reason is updated in time.
2991         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2992         (WebCore::RenderLayerCompositor::needsToBeComposited):
2993         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2994         (WebCore::RenderLayerCompositor::reasonForCompositing):
2995         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2996         (WebCore::RenderLayerCompositor::reportMemoryUsage):
2997         * rendering/RenderLayerCompositor.h:
2998         (RenderLayerCompositor):
2999
3000 2013-01-11  Kenneth Russell  <kbr@google.com>
3001
3002         [Chromium] WebGL typed array constructor crashes on exception
3003         https://bugs.webkit.org/show_bug.cgi?id=106308
3004
3005         Reviewed by Kentaro Hara.
3006
3007         Check for empty handles (indicating exception thrown) after calls
3008         into V8 VM.
3009
3010         Added new case from Khronos typed array conformance tests to
3011         fast/canvas/webgl/array-unit-tests.html.
3012
3013         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3014         (WebCore::constructWebGLArray):
3015             Check for empty handles after calls into V8 VM.
3016
3017 2013-01-11  Kentaro Hara  <haraken@chromium.org>
3018
3019         [V8] Slightly optimize getWrapperFast()
3020         https://bugs.webkit.org/show_bug.cgi?id=106667
3021
3022         Reviewed by Adam Barth.
3023
3024         This patch improves an if condition in getWrapperFast(),
3025         as commented in DOMDataStore.h.
3026
3027         This patch improves performance of div.firstChild from
3028         15.1 ns to 14.0 ns (+7.8%), although I couldn't observe
3029         performance improvement in Dromaeo/dom-traverse.
3030
3031         No tests. No change in behavior.
3032
3033         * bindings/v8/DOMDataStore.h:
3034         (WebCore::DOMDataStore::getWrapperFast):
3035
3036 2013-01-11  Florin Malita  <fmalita@chromium.org>
3037
3038         [SVG] Suppress resource rebuilding for unattached and shadow elements
3039         https://bugs.webkit.org/show_bug.cgi?id=106664
3040
3041         Reviewed by Dirk Schulze.
3042
3043         SVGStyledElement::buildPendingResourcesIfNeeded() can be called while cloning a subtree
3044         (as nodes are inserted into the clone, while still detached) or when elements are inserted
3045         into the shadow tree. Both of these cases are problematic for SVGUseElement and can trigger
3046         indirect recursion in SVGUseElement::buildPendingResource.
3047
3048         Since shadow and !inDocument() nodes are of no interest to ID dependents (they cannot be
3049         found by ID in the document), the patch short-circuits buildPendingResource() for these
3050         cases.
3051
3052         Test: svg/custom/use-rebuild-resources-crash.svg
3053
3054         * svg/SVGStyledElement.cpp:
3055         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
3056
3057 2013-01-11  Dominic Mazzoni  <dmazzoni@google.com>
3058
3059         AX: Computed hierarchical level is not consistent with aria-level
3060         https://bugs.webkit.org/show_bug.cgi?id=106638
3061
3062         Reviewed by Chris Fleizach.
3063
3064         Make hierarchicalLevel computation 1-based to match the aria-level spec.
3065
3066         Extends an existing test: platform/mac/accessibility/aria-tree.html.
3067
3068         * accessibility/AccessibilityNodeObject.cpp:
3069         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
3070         * accessibility/AccessibilityObject.h:
3071         (AccessibilityObject):
3072         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3073         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3074
3075 2013-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
3076
3077         Web Inspector: Workspace should support several projects and should not have temporary UISourceCodes.
3078         https://bugs.webkit.org/show_bug.cgi?id=105856
3079
3080         Reviewed by Pavel Feldman.
3081
3082         Workspace now supports several projects with the networkProject being a main one.
3083         Replaced temporary UISourceCodes with specific projects (debugger and liveedit).
3084         The concept of workspace reset on navigation is now replaced with project reset concept instead.
3085         Introduced snippets project (that is not reset on navigation).
3086         Script mappings are now reset on GlobalObjectCleared event.
3087
3088         * inspector/front-end/BreakpointManager.js:
3089         (WebInspector.BreakpointManager):
3090         (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
3091         (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
3092         (WebInspector.BreakpointManager.prototype.toggleAllBreakpoints):
3093         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3094         (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
3095         (WebInspector.BreakpointManager.prototype._projectWillReset):
3096         * inspector/front-end/CSSStyleModel.js:
3097         (WebInspector.CSSStyleModel):
3098         (WebInspector.CSSStyleModel.prototype._inspectedURLChanged):
3099         (WebInspector.CSSStyleModel.prototype._resetSourceMappings):
3100         (WebInspector.CSSStyleModelResourceBinding):
3101         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):
3102         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
3103         * inspector/front-end/CompilerScriptMapping.js:
3104         (WebInspector.CompilerScriptMapping):
3105         (WebInspector.CompilerScriptMapping.prototype._debuggerReset):
3106         * inspector/front-end/DebuggerScriptMapping.js:
3107         * inspector/front-end/DefaultScriptMapping.js:
3108         (WebInspector.DefaultScriptMapping):
3109         (WebInspector.DefaultScriptMapping.prototype.addScript):
3110         (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
3111         * inspector/front-end/ExtensionServer.js:
3112         (WebInspector.ExtensionServer.prototype._onGetPageResources):
3113         * inspector/front-end/FilteredItemSelectionDialog.js:
3114         (WebInspector.OpenResourceDialog.show):
3115         * inspector/front-end/LiveEditSupport.js:
3116         (WebInspector.LiveEditSupport):
3117         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
3118         (WebInspector.LiveEditSupport.prototype._debuggerReset):
3119         * inspector/front-end/NetworkUISourceCodeProvider.js:
3120         (WebInspector.NetworkUISourceCodeProvider):
3121         (WebInspector.NetworkUISourceCodeProvider.prototype._mainFrameNavigated):
3122         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
3123         (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
3124         * inspector/front-end/ResourceScriptMapping.js:
3125         (WebInspector.ResourceScriptMapping):
3126         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
3127         (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
3128         * inspector/front-end/RevisionHistoryView.js:
3129         (WebInspector.RevisionHistoryView):
3130         (WebInspector.RevisionHistoryView.prototype._projectWillReset):
3131         * inspector/front-end/SASSSourceMapping.js:
3132         (_bindUISourceCode):
3133         * inspector/front-end/ScriptSnippetModel.js:
3134         (WebInspector.ScriptSnippetModel):
3135         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3136         (WebInspector.ScriptSnippetModel.prototype.reset):
3137         * inspector/front-end/ScriptsNavigator.js:
3138         * inspector/front-end/ScriptsPanel.js:
3139         (WebInspector.ScriptsPanel):
3140         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
3141         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
3142         (WebInspector.ScriptsPanel.prototype._removeUISourceCodes):
3143         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
3144         (WebInspector.ScriptsPanel.prototype._debuggerReset):
3145         (WebInspector.ScriptsPanel.prototype._projectWillReset):
3146         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
3147         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3148         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
3149         * inspector/front-end/SimpleWorkspaceProvider.js:
3150         (WebInspector.SimpleWorkspaceProvider):
3151         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
3152         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
3153         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
3154         * inspector/front-end/StylesSourceMapping.js:
3155         (WebInspector.StylesSourceMapping):
3156         (WebInspector.StylesSourceMapping.prototype._projectWillReset):
3157         * inspector/front-end/TabbedEditorContainer.js:
3158         (WebInspector.TabbedEditorContainer.prototype.reset):
3159         * inspector/front-end/UISourceCode.js:
3160         (WebInspector.UISourceCode.prototype.project):
3161         * inspector/front-end/Workspace.js:
3162         (WebInspector.WorkspaceController):
3163         (WebInspector.WorkspaceController.prototype._inspectedURLChanged):
3164         (WebInspector.Project):
3165         (WebInspector.Project.prototype.name):
3166         (WebInspector.Project.prototype.isServiceProject):
3167         (WebInspector.Project.prototype._reset):
3168         (WebInspector.Workspace):
3169         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
3170         (WebInspector.Workspace.prototype.uiSourceCodeForURI):
3171         (WebInspector.Workspace.prototype.addProject):
3172         (WebInspector.Workspace.prototype.project):
3173         (WebInspector.Workspace.prototype.projects):
3174         (WebInspector.Workspace.prototype.uiSourceCodes):
3175         (WebInspector.Workspace.prototype.projectForUISourceCode):
3176         (WebInspector.Workspace.prototype.requestFileContent):
3177         (WebInspector.Workspace.prototype.setFileContent):
3178         (WebInspector.Workspace.prototype.searchInFileContent):
3179         * inspector/front-end/inspector.js:
3180         * inspector/front-end/utilities.js:
3181
3182 2013-01-11  Eugene Klyuchnikov  <eustas@chromium.org>
3183
3184         Web Inspector: [Resources] Make grid columns set configurable.
3185         https://bugs.webkit.org/show_bug.cgi?id=105739
3186
3187         Reviewed by Pavel Feldman.
3188
3189         Added context menu on grid header to hide/show grid columns.
3190         Hidden columns set is persisted.
3191
3192         * inspector/front-end/DataGrid.js:
3193         Fixed show/hide behavior, introduced weight control.
3194         * inspector/front-end/NetworkPanel.js:
3195         Added member to track visibility of columns in detailerd mode. Added
3196         context menu for grid header.
3197
3198 2013-01-11  Andras Becsi  <andras.becsi@digia.com>
3199
3200         [Qt] Fix the build if libxslt is not available but libxml2 is
3201         https://bugs.webkit.org/show_bug.cgi?id=106661
3202
3203         Reviewed by Simon Hausmann.
3204
3205         On Linux building the xml parser sources fails if the needed libxslt
3206         dependencies are not installed but libxml2 is.
3207
3208         * WebCore.pri: add libxml2 to pkg-config if not on mac.
3209
3210 2013-01-11  Stephen Chenney  <schenney@chromium.org>
3211         Objects can be re-added to the AXObjectCache during removal
3212         https://bugs.webkit.org/show_bug.cgi?id=104171
3213
3214         The problem occurs when a label's corresponding element is a sibling
3215         that precedes it in the render tree, and the corresponding element is
3216         removed. The corresponding element's AX render object is removed, but
3217         then recreated when accessibilityIsIgnored() invokes correspondingControl()
3218         on the label. The corresponding renderer then has an AX render object
3219         that survives beyond the deleted renderer, leading to invalid memory
3220         accesses.
3221
3222         The solution is to rearrange the calls to delete the renderer's AX
3223         render object only when we are sure it will no longer be required.
3224
3225         Reviewed by Simon Fraser.
3226
3227         Test: accessibility/corresponding-control-deleted-crash.html
3228
3229         * rendering/RenderObject.cpp:
3230         (WebCore::RenderObject::willBeDestroyed): Move the call to remove the
3231         renderer from the AXCache to after the renderer is removed from the
3232         render tree. This means that the AXObject still exists during renderer
3233         removal, as we require.
3234
3235 2013-01-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3236
3237         [Qt][WK1] Web Audio support
3238         https://bugs.webkit.org/show_bug.cgi?id=106651
3239
3240         Reviewed by Jocelyn Turcotte.
3241
3242         Convert JavaScript Uint8Array to QByteArray. This conversion is necessary to support testRunner.setAudioData().
3243
3244         * bridge/qt/qt_runtime.cpp:
3245         (JSC::Bindings::isJSUint8Array):
3246         (Bindings):
3247         (JSC::Bindings::valueRealType):
3248         (JSC::Bindings::convertValueToQVariant):
3249
3250 2013-01-11  Anton Vayvod  <avayvod@chromium.org>
3251
3252         Text Autosizing - elements much narrower than its parent autosizing clusters should be autosized separately.
3253         https://bugs.webkit.org/show_bug.cgi?id=105188
3254
3255         Reviewed by Kenneth Rohde Christiansen.
3256
3257         Some blocks of text might be narrower than their parent clusters and should be autosized separately.
3258         This helps with autosizing for the pages implementing the sidebars as a narrow blocks of text with wide margins and
3259         the main content being positioned atop this margin (or vice versa).
3260
3261         * rendering/TextAutosizer.cpp:
3262         (WebCore::TextAutosizer::isContainerAutosizingCluster):
3263
3264             Returns true if the container is more than 200 pixels narrower than its parent cluster's lowest common
3265             ancestor of all the text nodes.
3266
3267 2013-01-11  Andreas Kling  <akling@apple.com>
3268
3269         Remove unused CSSSelector(QualifiedName) constructor.
3270         <http://webkit.org/b/106652>
3271
3272         Reviewed by Antti Koivisto.
3273
3274         * css/CSSSelector.h:
3275         (CSSSelector):
3276
3277 2013-01-11  Zan Dobersek  <zandobersek@gmail.com>
3278
3279         [GTK] Disable the ENABLE_LEGACY_WEB_AUDIO feature define in release builds
3280         https://bugs.webkit.org/show_bug.cgi?id=106577
3281
3282         Reviewed by Philippe Normand.
3283
3284         The Web Audio feature is not enabled in the release builds, so there's
3285         no need to enable the legacy Web Audio API either.
3286
3287         No new tests - no new functionality.
3288
3289         * GNUmakefile.features.am.in:
3290
3291 2013-01-11  Antoine Quint  <graouts@apple.com>
3292
3293         Web Inspector: Option+Click on Node Expander Doesn't Work the First Time
3294         https://bugs.webkit.org/show_bug.cgi?id=66868
3295
3296         Up to now, the TreeElement.prototype.expandRecursively() method would correctly
3297         expand children recursively based on the provided depth, but would not wait to
3298         perform this task until all child nodes had been populated, which means that this
3299         would only work incrementally with one additional level of child nodes being shown
3300         expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy.
3301         
3302         In order to fix this, this patch adds a new optional argument to the DOMAgent's
3303         requestChildNodes() methods to provide the depth at which we want to retrieve children
3304         of a given node. The DOMAgent provides a new .getSubtree() method that calls
3305         requestChildNodes() with the provided depth.
3306
3307         Then in ElementsTreeOutline, we subclass .expandRecursively() to first call DOMAgent's
3308         new .getSubtree() method and then call the default implementation when all nodes
3309         have been retrieved from the backend.
3310
3311         Reviewed by Pavel Feldman.
3312
3313         Tests: inspector-protocol/dom-request-child-nodes-depth.html
3314                inspector/elements/expand-recursively.html
3315
3316         * inspector/Inspector.json: Add the new `depth` parameter to DOM.requestChildNodes().
3317         * inspector/InspectorDOMAgent.cpp:
3318         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): Add a new optional `depth` parameter
3319         which defaults to 1.
3320         (WebCore::InspectorDOMAgent::requestChildNodes): Add a new optional `depth` parameter
3321         which defaults to 1 and allows -1 as an unbound value.
3322         * inspector/InspectorDOMAgent.h:
3323         (InspectorDOMAgent):
3324         * inspector/front-end/DOMAgent.js:
3325         (WebInspector.DOMNode.prototype.):
3326         (WebInspector.DOMNode.prototype.getSubtree): New method allowing to specify at what depth
3327         we want to retrieve children of a given node from the backend.
3328         * inspector/front-end/ElementsTreeOutline.js:
3329         (WebInspector.ElementsTreeElement.prototype.expandRecursively): Override default implementation
3330         to first obtain the deepest subtree for the current node so that deep expansion happens as expected.
3331
3332 2013-01-11  Alexander Pavlov  <apavlov@chromium.org>
3333
3334         Web Inspector: [Elements] Search in the DOM tree does not scroll horizontally
3335         https://bugs.webkit.org/show_bug.cgi?id=106648
3336
3337         Reviewed by Vsevolod Vlasov.
3338
3339         Scroll into view the first match in every tree element, if needed.
3340
3341         * inspector/front-end/ElementsPanel.js:
3342         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
3343
3344 2013-01-11  Andrey Adaikin  <aandrey@chromium.org>
3345
3346         Web Inspector: [Canvas] a minor follow-up to r137262
3347         https://bugs.webkit.org/show_bug.cgi?id=106644
3348
3349         Reviewed by Pavel Feldman.
3350
3351         * inspector/InjectedScriptCanvasModuleSource.js:
3352         (.):
3353
3354 2013-01-11  Kent Tamura  <tkent@chromium.org>
3355
3356         BaseDateAndTimeInputType should not inherit from TextFieldInputType
3357         https://bugs.webkit.org/show_bug.cgi?id=106306
3358
3359         Reviewed by Hajime Morita.
3360
3361         Date/time input types don't need text-field features at all.
3362
3363         No new tests. This should not make any behavior changes except reduction
3364         of memory usage.
3365
3366         * html/BaseDateAndTimeInputType.h:
3367         Inherit InputType instead of TextFieldInputType.
3368         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
3369         (BaseDateAndTimeInputType): Update function declarations.
3370         * html/BaseDateAndTimeInputType.cpp:
3371         Remove handleKeydownEvent and convertFromVisibleValue, which are for
3372         TextFieldInputType.
3373         (WebCore::BaseDateAndTimeInputType::shouldRespectListAttribute):
3374         Added. This is necessary for <datalist> support. TextFieldInputType has
3375         the same code.
3376         (WebCore::BaseDateAndTimeInputType::valueMissing):
3377         Added. This is necessary for validity.valueMissing. TextFieldInputType
3378         has the same code.
3379
3380         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
3381         Remove unnecessary functions which cancel TextFieldInputType behavior.
3382         * html/BaseChooserOnlyDateAndTimeInputType.h:
3383         (BaseChooserOnlyDateAndTimeInputType): Remove declarations for them.
3384
3385         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3386         Remove unnecessary functions which cancel TextFieldInputType behavior.
3387         * html/BaseMultipleFieldsDateAndTimeInputType.h:
3388         (BaseMultipleFieldsDateAndTimeInputType):
3389         Add SpinButtonOwner interface. We didn't need it because
3390         TextFieldInputType implements it.
3391
3392 2013-01-11  Mary Wu  <mary.wu@torchmobile.com.cn>
3393
3394         [BlackBerry] Enable concatenating headers with same field name
3395         https://bugs.webkit.org/show_bug.cgi?id=106625
3396
3397         Reviewed by Rob Buis.
3398
3399         RFC 2616 specifies that headers could concatenate with comma if they have
3400         same field name. We should enable this if the header allows multiple values.
3401
3402         RIM PR# 275508, internally reviewed by Joe Mason
3403
3404         (WebCore):
3405         (WebCore::isAppendableHeader):
3406         (WebCore::NetworkJob::handleNotifyHeaderReceived):
3407
3408 2013-01-11  Jochen Eisinger  <jochen@chromium.org>
3409
3410         Connect UserGestureIndicator for mousedown and mouseup events
3411         https://bugs.webkit.org/show_bug.cgi?id=105138
3412
3413         Reviewed by Adam Barth.
3414
3415         Ports that consume user gestures to prevent certain types of pop-ups
3416         need to be able to connect mousedown and mouseup events, otherwise, a
3417         single mouse click will allow for opening multiple pop-ups.
3418
3419         Note that a mousedown is not always followed by a mouseup and vice
3420         versa, e.g. when the mousedown results in a context menu being shown, or
3421         something is dragged into the page.
3422
3423         Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-two-events.html
3424
3425         * page/EventHandler.cpp:
3426         (WebCore::EventHandler::clear):
3427         (WebCore::EventHandler::handleMousePressEvent):
3428         (WebCore::EventHandler::handleMouseReleaseEvent):
3429         * page/EventHandler.h:
3430
3431 2013-01-11  Eugene Klyuchnikov  <eustas@chromium.org>
3432
3433         Web Inspector: [Resources] "Delete" cookie deletes all cookies with matching name.
3434         https://bugs.webkit.org/show_bug.cgi?id=105633
3435
3436         Reviewed by Pavel Feldman.
3437
3438         "Delete" cookie deletes all cookies with matching name,
3439         ignoring domain and path.
3440
3441         * inspector/Inspector.json: Change argument "domain" to "url"
3442         * inspector/InspectorPageAgent.cpp:
3443         (WebCore::InspectorPageAgent::deleteCookie): Use url to delte cookies.
3444         * inspector/InspectorPageAgent.h: Adopt new signature.
3445         * inspector/front-end/CookieItemsView.js:
3446         (WebInspector.CookieItemsView.prototype._deleteCookie): Ditto.
3447
3448 2013-01-11  KwangYong Choi  <ky0.choi@samsung.com>
3449
3450         [EFL] Fix unused parameter build error
3451         https://bugs.webkit.org/show_bug.cgi?id=106639
3452
3453         Reviewed by Kentaro Hara.
3454
3455         Use UNUSED_PARAM macro to fix build error.
3456
3457         No new tests, no behavior change.
3458
3459         * platform/efl/EflScreenUtilities.cpp:
3460         (WebCore::isUsingEcoreX):
3461         * platform/efl/RenderThemeEfl.cpp:
3462         (WebCore::RenderThemeEfl::supportsDataListUI):
3463
3464 2013-01-11  Pavel Feldman  <pfeldman@chromium.org>
3465
3466         Web Inspector [chromium]: Debugger.globalObjectCleared is not dispatched on reload after renderer swap
3467         https://bugs.webkit.org/show_bug.cgi?id=106555
3468
3469         Reviewed by Vsevolod Vlasov.
3470
3471         Wrong ::enable was made virtual in the InspectorDebuggerAgent.
3472
3473         Test: inspector/debugger/debugger-scripts-reload.html
3474
3475         * inspector/InspectorDebuggerAgent.h:
3476         (InspectorDebuggerAgent):
3477         * inspector/PageDebuggerAgent.cpp:
3478         (WebCore::PageDebuggerAgent::enable):
3479         (WebCore::PageDebuggerAgent::disable):
3480         * inspector/PageDebuggerAgent.h:
3481         (PageDebuggerAgent):
3482
3483 2013-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
3484
3485         Web Inspector: Refactoring, move NetworkWorkspaceProvider to NetworkUISourceCodeProvider.js and rename its parent to SimpleWorkspaceProvider.
3486         https://bugs.webkit.org/show_bug.cgi?id=106635
3487
3488         Reviewed by Pavel Feldman.
3489
3490         * WebCore.gypi:
3491         * WebCore.vcproj/WebCore.vcproj:
3492         * inspector/compile-front-end.py:
3493         * inspector/front-end/DebuggerScriptMapping.js:
3494         (WebInspector.DebuggerScriptMapping):
3495         * inspector/front-end/DefaultScriptMapping.js:
3496         (WebInspector.DefaultScriptMapping):
3497         (WebInspector.DefaultScriptMapping.prototype.addScript):
3498         (WebInspector.DebuggerWorkspaceProvider):
3499         (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
3500         * inspector/front-end/LiveEditSupport.js:
3501         (WebInspector.LiveEditSupport):
3502         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
3503         (WebInspector.LiveEditWorkspaceProvider):
3504         (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
3505         * inspector/front-end/NetworkUISourceCodeProvider.js:
3506         (WebInspector.NetworkWorkspaceProvider):
3507         (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
3508         * inspector/front-end/SimpleWorkspaceProvider.js: Renamed from Source/WebCore/inspector/front-end/NetworkWorkspaceProvider.js.
3509         (WebInspector.SimpleWorkspaceProvider):
3510         (WebInspector.SimpleWorkspaceProvider.uriForURL):
3511         (WebInspector.SimpleWorkspaceProvider.prototype.requestFileContent):
3512         (WebInspector.SimpleWorkspaceProvider.prototype.setFileContent):
3513         (WebInspector.SimpleWorkspaceProvider.prototype.searchInFileContent):
3514         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
3515         (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
3516         (WebInspector.SimpleWorkspaceProvider.prototype.uniqueURI):
3517         (WebInspector.SimpleWorkspaceProvider.prototype.reset):
3518         * inspector/front-end/WebKit.qrc:
3519         * inspector/front-end/inspector.html:
3520         * inspector/front-end/inspector.js:
3521
3522 2013-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3523
3524         On Linux, should be able to get spelling suggestions without selecting the misspelled word
3525         https://bugs.webkit.org/show_bug.cgi?id=103520
3526
3527         Reviewed by Ryosuke Niwa.
3528
3529         Allow to get/insert spelling suggestions without selecting the misspelled word for
3530         Linux WebKit ports. WebCore assumes that the misspelled word has to be selected
3531         to get its suggestions.
3532
3533         In compliance with native application behaviour a new editing policy is introduced,
3534         to do not highlight the misspelled word to just get its guesses.
3535
3536         No new tests, covered by context-menu-suggestions.html.
3537
3538         * WebCore.exp.in:
3539         Remove _ZN7WebCore6Editor21isSelectionMisspelledEv symbol as Mac port doesn't
3540         need it any longer.
3541
3542         * editing/EditingBehavior.h:
3543         (EditingBehavior):
3544         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
3545         Add a new behavior for Linux, to allow spelling suggestions without selecting
3546         the misspelled word.
3547
3548         * editing/Editor.cpp:
3549         (WebCore::Editor::isContinuousSpellCheckingEnabled):
3550         Add missing const modifier, to use this method in 'misspelledWordAtCaretOrRange() const'.
3551
3552         (WebCore::Editor::misspelledWordAtCaretOrRange):
3553         Allow to check spelling under the caret or selected word.
3554         Does nothing for selection made on the multiple words.
3555
3556         (WebCore::Editor::misspelledSelectionString):
3557         Return the misspelled selection.
3558
3559         (WebCore::Editor::guessesForMisspelledWord):
3560         Remove 'Selection' from method name as it may return guesses without selection.
3561
3562         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
3563         Ditto.
3564
3565         * page/ContextMenuController.cpp:
3566         (WebCore::ContextMenuController::contextMenuItemSelected):
3567         Select the word under caret to meet the conditions from misspelledWordAtCaretOrRange.
3568
3569         (WebCore::ContextMenuController::populate):
3570         Update guessesForMisspelledOrUngrammatical call.
3571
3572 2013-01-10  Hajime Morrita  <morrita@google.com>
3573
3574         https://bugs.webkit.org/show_bug.cgi?id=106283
3575         [Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM
3576
3577         Reviewed by Kentaro Hara.
3578
3579         No new tests. Covered by existing tests.
3580
3581         This change moves <content> and <shadow> behind
3582         ENABLE(SHADOW_DOM). Note that empty stub definitions are remaining
3583         even after this change. They are for minimizing #if/#endif usage
3584         and won't hurt code size.
3585
3586         * WebCore.exp.in:
3587         * html/InputType.cpp:
3588         (WebCore::InputType::destroyShadowSubtree):
3589         * html/shadow/ContentDistributor.cpp:
3590         (WebCore::ContentDistributor::distribute):
3591         * html/shadow/HTMLContentElement.cpp:
3592         (WebCore):
3593         (WebCore::HTMLContentElement::create):
3594         (WebCore::HTMLContentElement::HTMLContentElement):
3595         * html/shadow/HTMLContentElement.h:
3596         (WebCore):
3597         (HTMLContentElement):
3598         * html/shadow/HTMLShadowElement.cpp:
3599         * html/shadow/HTMLShadowElement.h:
3600         (WebCore):
3601         (WebCore::isHTMLShadowElement):
3602         (WebCore::toHTMLShadowElement):
3603         * html/shadow/TextFieldDecorationElement.cpp:
3604         (WebCore::TextFieldDecorationElement::decorate):
3605         * testing/Internals.cpp:
3606         (WebCore::Internals::createContentElement):
3607         (WebCore::Internals::isValidContentSelect):
3608
3609 2013-01-10  Takashi Sakamoto  <tasak@google.com>
3610
3611         Implement CSSGroupingRule for @host @-rules and @supports.
3612         https://bugs.webkit.org/show_bug.cgi?id=106418
3613
3614         Reviewed by Antti Koivisto.
3615
3616         CSSGroupingRule is to share code between CSSMediaRule, CSSSupportsRule
3617         and CSSHostRule. @supports and @host @-rules are dervied from
3618         CSSGroupingRule:
3619         http://www.w3.org/TR/2012/WD-css3-conditional/#the-cssgroupingrule-interface
3620         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface
3621         Since @media is also derived from CSSGroupingRule and @region has the
3622         same interface as CSSGroupingRule, modify to use CSSGroupingRule:
3623         http://dev.w3.org/csswg/css3-regions/#the-at-region-style-rule
3624
3625         No new tests, because no new feature is implemented.
3626
3627         * CMakeLists.txt:
3628         * GNUmakefile.list.am:
3629         * Target.pri:
3630         * WebCore.gypi:
3631         * WebCore.vcproj/WebCore.vcproj:
3632         * WebCore.xcodeproj/project.pbxproj:
3633         Added CSSGroupingRule.h and CSSGroupingRule.cpp.
3634         * css/CSSAllInOne.cpp:
3635         Modified to include CSSGroupingRule.cpp.
3636         * css/CSSGroupingRule.cpp: Added.
3637         (WebCore):
3638         (WebCore::CSSGroupingRule::CSSGroupingRule):
3639         (WebCore::CSSGroupingRule::~CSSGroupingRule):
3640         (WebCore::CSSGroupingRule::insertRule):
3641         (WebCore::CSSGroupingRule::deleteRule):
3642         (WebCore::CSSGroupingRule::appendCssTextForItems):
3643         (WebCore::CSSGroupingRule::length):
3644         (WebCore::CSSGroupingRule::item):
3645         (WebCore::CSSGroupingRule::cssRules):
3646         (WebCore::CSSGroupingRule::reattach):
3647         (WebCore::CSSGroupingRule::reportMemoryUsage):
3648         These codes are moved from CSSMediaRule and WebKitCSSRegionRule.
3649         * css/CSSGroupingRule.h:
3650         (WebCore):
3651         (CSSGroupingRule):
3652         * css/CSSMediaRule.cpp:
3653         (WebCore::CSSMediaRule::CSSMediaRule):
3654         (WebCore::CSSMediaRule::~CSSMediaRule):
3655         Make CSSMediaRule inherit CSSGroupingRule.
3656         (WebCore::CSSMediaRule::media):
3657         (WebCore::CSSMediaRule::reattach):
3658         Keep the code for updating media queries' CSSOMWrapper.
3659         (WebCore::CSSMediaRule::reportMemoryUsage):
3660         We need to report media queries' CSSOMWrapper memory usage.
3661         (WebCore::CSSMediaRule::mediaQueries):
3662         (WebCore::CSSMediaRule::cssText):
3663         * css/CSSMediaRule.h:
3664         * css/WebKitCSSRegionRule.cpp:
3665         Make WebKitCSSRegionRule inherit CSSGroupingRule.
3666         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
3667         (WebCore::WebKitCSSRegionRule::cssText):
3668         * css/WebKitCSSRegionRule.h:
3669         * css/StyleRule.h:
3670         Added inlined accessor to obtain StyleRuleMedia* and StyleRuleRegion*
3671         from StyleRuleBlock*.
3672
3673 2012-12-28  Andrey Adaikin  <aandrey@chromium.org>
3674
3675         Web Inspector: [Canvas] add an option to reload the page if there is an uninstrumented canvas
3676         https://bugs.webkit.org/show_bug.cgi?id=105822
3677
3678         Reviewed by Pavel Feldman.
3679
3680         Show in the front-end an option to reload the page if there is an uninstrumented canvas.
3681
3682         * inspector/front-end/CanvasProfileView.js:
3683         (WebInspector.CanvasProfileType):
3684         (WebInspector.CanvasProfileType.prototype.decorationElement):
3685         (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
3686         (WebInspector.CanvasProfileType.prototype._onReloadPageButtonClick):
3687         * inspector/front-end/ProfileLauncherView.js:
3688         (WebInspector.ProfileLauncherView.prototype.addProfileType):
3689         * inspector/front-end/ProfilesPanel.js:
3690         (WebInspector.ProfileType.prototype.decorationElement):
3691
3692 2013-01-10  Dimitri Glazkov  <dglazkov@chromium.org>
3693
3694         The word "selector" is somewhat redundant redundantly used in SelectorChecker.
3695         https://bugs.webkit.org/show_bug.cgi?id=106413
3696
3697         In https://bugs.webkit.org/show_bug.cgi?id=105864, Antti suggested reducing some of the redundant uses of the word
3698         "selector" in SelectorChecker. Here's a start.
3699
3700         Reviewed by Antti Koivisto.
3701
3702         Simple renames, no change in behavior.
3703
3704         * css/SelectorChecker.cpp:
3705         (WebCore::SelectorChecker::match): Renamed.
3706         (WebCore):
3707         (WebCore::SelectorChecker::fastCheck): Ditto,
3708         (WebCore::SelectorChecker::checkOne): Ditto.
3709         * css/SelectorChecker.h:
3710         (SelectorChecker):
3711         * css/StyleResolver.cpp:
3712         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use new name.
3713         (WebCore::StyleResolver::ruleMatches): Renamed from checkSelector to better match argument and return value.
3714         (WebCore::StyleResolver::checkRegionSelector): Changed to use new names.
3715         * css/StyleResolver.h:
3716         (StyleResolver):
3717         * dom/SelectorQuery.cpp:
3718         (WebCore::SelectorDataList::matches): Ditto.
3719         (WebCore::SelectorDataList::execute): Ditto.
3720         * html/shadow/ContentSelectorQuery.cpp:
3721         (WebCore::ContentSelectorChecker::checkContentSelector): Ditto.
3722
3723 2013-01-10  John J. Barton  <johnjbarton@chromium.org>
3724
3725         Web Inspector: Pass the script url to the script-preprocessor script
3726         https://bugs.webkit.org/show_bug.cgi?id=104384
3727
3728         Reviewed by Pavel Feldman.
3729
3730         Add url argument to the script-preprocessor script in PageAgent.reload()
3731
3732         Test: inspector/debugger/debugger-script-preprocessor.html
3733
3734         * bindings/v8/DebuggerScript.js:
3735         * bindings/v8/ScriptDebugServer.cpp:
3736         (WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
3737         (WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
3738         (WebCore::ScriptDebugServer::handleV8DebugEvent):
3739         * bindings/v8/custom/V8InjectedScriptManager.cpp:
3740         (WebCore::InjectedScriptManager::createInjectedScript):
3741
3742 2013-01-10  Eugene Klyuchnikov  <eustas@chromium.org>
3743
3744         Web Inspector: DataGrid refactoring: make cell editing more generic.
3745         https://bugs.webkit.org/show_bug.cgi?id=105849
3746
3747         Reviewed by Pavel Feldman.
3748
3749         Editing feature has been added to DataGrid to edit localStorage.
3750         Column numbers (0 and 1) are hardcoded.
3751
3752         This patch makes column editing feature more generic: remove hardcoded
3753         colums, take "editable" column property into account.
3754
3755         This patch is a prerequisite for cookie editing.
3756
3757         * inspector/front-end/DOMStorageItemsView.js:
3758         Use meaningful column names.
3759         * inspector/front-end/DataGrid.js:
3760         (WebInspector.DataGrid.prototype._ondblclick): Check column editability.
3761         (WebInspector.DataGrid.prototype._contextMenuInDataTable): Ditto.
3762         (WebInspector.DataGridNode.prototype.createCell):
3763         Supply cell element with column id.
3764         (WebInspector.DataGrid.prototype.columnIdentifierFromNode):
3765         Added utility method.
3766         (WebInspector.DataGrid.prototype._nextEditableColumn): Ditto.
3767         (WebInspector.DataGrid.prototype._keyDown): Calculate editable column.
3768         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
3769         (WebInspector.DataGrid.prototype._startEditing): Ditto.
3770         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
3771         Refined parameter type / name.
3772         (WebInspector.DataGrid.prototype._resizerDragging):
3773         Fix resizer index property names.
3774         (WebInspector.DataGrid.prototype._startResizerDragging): Ditto.
3775         (WebInspector.DataGrid.prototype._positionResizers): Ditto.
3776         * inspector/front-end/NetworkPanel.js:
3777         (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded): Ditto.
3778
3779 2013-01-10  Matt Falkenhagen  <falken@chromium.org>
3780
3781         Elements must be reattached when inserted/removed from top layer
3782         https://bugs.webkit.org/show_bug.cgi?id=105489
3783
3784         Reviewed by Julien Chaffraix.
3785
3786         Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
3787         as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.
3788
3789         We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
3790         only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
3791         followed immediately by show() results in no style change.
3792
3793         Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html
3794                fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html
3795
3796         * dom/Element.cpp:
3797         (WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
3798         removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
3799         (WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.
3800
3801 2013-01-10  Shinya Kawanaka  <shinyak@chromium.org>
3802
3803         When a selected node in nested ShadowDOM is deleted, selection have wrong range.
3804         https://bugs.webkit.org/show_bug.cgi?id=106526
3805
3806         Reviewed by Ryosuke Niwa.
3807
3808         Since FrameSelection and htmlediting did not consider nested Shadow DOM, the FrameSelection still selects
3809         removed elements if selected nodes in nested Shadow DOM are removed.
3810
3811         We have to use containsIncludingShadowDOM to handle with nested Shadow DOM correctly.
3812
3813         Test: fast/dom/shadow/selection-in-nested-shadow.html
3814
3815         * editing/FrameSelection.cpp:
3816         (WebCore::removingNodeRemovesPosition):
3817         * editing/htmlediting.cpp:
3818         (WebCore::updatePositionForNodeRemoval):
3819
3820 2013-01-10  Hajime Morrita  <morrita@google.com>
3821
3822         [Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks
3823         https://bugs.webkit.org/show_bug.cgi?id=106614
3824
3825         Reviewed by Dimitri Glazkov.
3826
3827         This change simplifies InsertionPoint overrides and give some flexibility to it.
3828
3829         The change
3830
3831         - Removes InsertionPoint::isSelectValid(). now ContentSelectorQuery parses given selector anyway.
3832           Invalid select attribute is handled by newly introduced matchTypeFor() method.
3833         - Introduces InsertionPoint::matchTypeFor() to give a chance each InsertionPoint to decide whether it
3834           accepts the given node as its distribution. Then it lets DetailsSummaryElement adopt it.
3835         - Pulls some HTMLShadowElement overrides up to InsertionPoint so that other upcoming InsertionPoint
3836           subclasses don't need to override them.
3837
3838         No new tests. Refactoring.
3839
3840         * html/HTMLDetailsElement.cpp:
3841         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
3842         - Implemented matchTypeFor() to get rid of HTMLContentElement machinery which is compiled out in the upcoming change.
3843         (DetailsSummaryElement):
3844         * html/shadow/ContentSelectorQuery.cpp:
3845         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
3846         (WebCore::ContentSelectorQuery::matches):
3847         * html/shadow/HTMLContentElement.cpp:
3848         (WebCore::HTMLContentElement::matchTypeFor): Added.
3849         (WebCore):
3850         * html/shadow/HTMLContentElement.h:
3851         (HTMLContentElement):
3852         (WebCore::isHTMLContentElement):
3853         * html/shadow/HTMLShadowElement.cpp:
3854         * html/shadow/HTMLShadowElement.h:
3855         (HTMLShadowElement):
3856         * html/shadow/InsertionPoint.cpp:
3857         (WebCore::InsertionPoint::emptySelectorList): Moved from HTMLShadowElement.
3858         (WebCore):
3859         * html/shadow/InsertionPoint.h:
3860         (WebCore::InsertionPoint::matchTypeFor): Added.
3861         (WebCore::InsertionPoint::selectorList): Moved from HTMLShadowElement.
3862         (InsertionPoint):
3863         * testing/Internals.cpp:
3864         (WebCore::Internals::isValidContentSelect):
3865
3866 2013-01-10  Dean Jackson  <dino@apple.com>
3867
3868         Plugin snapshot label should take device resolution and inset into account
3869         https://bugs.webkit.org/show_bug.cgi?id=106619
3870
3871         Reviewed by Simon Fraser.
3872
3873         * rendering/RenderSnapshottedPlugIn.cpp:
3874         (WebCore::RenderSnapshottedPlugIn::paintLabel): Take into account the inset in the label image.
3875         (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel): Look at the page's device scale, and adjust the label image accordingly.
3876
3877 2013-01-10  James Robinson  <jamesr@chromium.org>
3878
3879         [chromium] Store scrollable layer's contents size for coordinated scrollable layers
3880         https://bugs.webkit.org/show_bug.cgi?id=106518
3881
3882         Reviewed by Adrienne Walker.
3883
3884         This stores a scrollable layer's contentsSize in the scroll layer's bounds, which is otherwise not useful. This
3885         value is currently calculated based on fragile knowledge of the tree structure immediately beneath a scrollable
3886         layer.
3887
3888         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3889         (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
3890
3891 2013-01-10  Dan Beam  <dbeam@chromium.org>
3892
3893         Implement AutocompleteErrorEvent#reason
3894         https://bugs.webkit.org/show_bug.cgi?id=105568
3895
3896         Reviewed by Adam Barth.
3897
3898         Test: fast/events/constructors/autocomplete-error-event-constructor.html
3899
3900         * WebCore.gypi: Added AutocompleteErrorEvent.idl and AutocompleteErrorEvent.h for chromium port's build.
3901         * dom/AutocompleteErrorEvent.h: Added.
3902         (WebCore): Added new type of error named AutocompleteErrorEvent.
3903         (AutocompleteErrorEventInit): Added init params for AutocompleteErrorEvents (so initEvent() can be used).
3904         (AutocompleteErrorEvent): Added a new error event that inherits from Event but also has a reason for failure.
3905         (WebCore::AutocompleteErrorEvent::create): Factory function to create AutocompleteErrorEvents.
3906         (WebCore::AutocompleteErrorEvent::reason): The reason why a requestAutocomplete() invocation failed. Can be
3907                                                    "disabled", "cancel", or "invalid".
3908         (WebCore::AutocompleteErrorEvent::interfaceName): The name of the event's interface (for event.toString()).
3909         (WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent): Various ways of constructing the error event.
3910         * dom/AutocompleteErrorEvent.idl: Added.
3911         * dom/EventNames.in: Added AutocompleteError to this list, based on REQUEST_AUTOCOMPLETE conditional.
3912         * html/HTMLFormElement.cpp: Updated form elements to dispatch AutocompleteErrorEvents on errors and to give
3913                                     more details (event.reason) when the request fails.
3914         (WebCore::HTMLFormElement::requestAutocomplete): Changed to newly added failure type "disabled".
3915         (WebCore::HTMLFormElement::finishRequestAutocomplete): Changed
3916         * html/HTMLFormElement.h: Added new results (ErrorDisabled, ErrorCancel, ErrorInvalid).
3917         * page/DOMWindow.idl: Added global event constructor for new AutocompleteErrorEvent() style event creation.
3918
3919 2013-01-10  Yong Li  <yoli@rim.com>
3920
3921         HTMLMediaElement::resume() should schedule a load rather than load immediately
3922         https://bugs.webkit.org/show_bug.cgi?id=106587
3923
3924         Reviewed by Eric Carlson.
3925
3926         It is not always safe to start the jobs at the time resume() is called. That is why the jobs are
3927         suspended. It can also be suspended again right after being resumed.
3928
3929         No new tests as there is no visible functional change, also it is a theoretically good-to-have change
3930         that doesn't fix any known cross-platform issue.
3931
3932         * html/HTMLMediaElement.cpp:
3933         (WebCore::HTMLMediaElement::resume): Replace load() with scheduleLoad().
3934
3935 2013-01-10  Adam Barth  <abarth@webkit.org>
3936
3937         Add an ENABLE macro and a WebCore::Setting for the threaded parser
3938         https://bugs.webkit.org/show_bug.cgi?id=106595
3939
3940         Reviewed by Benjamin Poulain.
3941
3942         This patch adds both a WebCore::Setting and an ENABLE macro for the
3943         threaded parser. We plan to keep the ENABLE macro off by default for a
3944         while. The runtime setting will let us more easily conduct A/B
3945         experiments when the time arises.
3946
3947         * page/Settings.in:
3948
3949 2013-01-10  Xianzhu Wang  <wangxianzhu@chromium.org>
3950
3951         Regression(r129944): Heap-use-after-free in WebCore::computeNonFastScrollableRegion
3952         https://bugs.webkit.org/show_bug.cgi?id=99515
3953
3954         Reviewed by Simon Fraser.
3955
3956         The object used-after-freed is a destructed FrameView that is still in the m_scrollableAreas set of the parent FrameView. Actually it has been removed from m_scrollableAreas when setParent(0), but then is added back in updateScrollableAreaSet() because its frameViewParent() is still not 0 (though parent() is already 0).
3957
3958         No new tests. The heap-use-after-free doesn't always cause crash so it can't be stably tested with a test case. Memory analysis tools like asan discovered the heap-use-after-free and verified that the patch can fix the issue.
3959
3960         * page/FrameView.cpp:
3961         (WebCore::FrameView::parentFrameView): Checks if the FrameView has been removed from the parent.
3962
3963 2013-01-10  John Mellor  <johnme@chromium.org>
3964
3965         Fix scale of screen.width, window.outerWidth and @media device-width when page scale not applied in compositor.
3966         https://bugs.webkit.org/show_bug.cgi?id=106460
3967
3968         Reviewed by Kenneth Rohde Christiansen.
3969
3970         screen.width, window.outerWidth and @media device-width should be in
3971         density independent (UI) pixels, not physical screen pixels.
3972
3973         This already works on most ports (including iOS). However Chrome for
3974         Android currently internally sizes its windows in physical screen pixels
3975         instead of density independent pixels, and this leaks through in the
3976         sizes provided to WebCore.
3977
3978         This patch scales these sizes appropriately before they reach JavaScript,
3979         on platforms where the applyPageScaleFactorInCompositor setting is false
3980         (i.e. just Chrome for Android). Once Chrome for Android switches over to
3981         the same coordinate space, the applyPageScaleFactorInCompositor setting
3982         will be removed, along with any code (such as this) that depends on it.
3983
3984         The effect of this patch on Chrome for Android when viewing a page with
3985         a width=device-width viewport on a Galaxy Nexus (720x1280 @ dPR 2) is:
3986             @media device-width      changes from 720 to 360
3987             screen.width             changes from 720 to 360
3988             screen.availWidth        changes from 720 to 360
3989             window.outerWidth        changes from 720 to 360
3990             window.innerWidth                    remains 360 (at overview zoom)
3991             @media width                         remains 360
3992             document.documentElement.clientWidth remains 360
3993             document.documentElement.offsetWidth remains 360
3994             document.documentElement.scrollWidth remains 360
3995             document.body.clientWidth            remains 360
3996             document.body.offsetWidth            remains 360
3997             document.body.scrollWidth            remains 360
3998         And similarly for heights (though they are slightly less than 640, since
3999         toolbars etc. get subtracted from the available height).
4000
4001         No new tests, as applyDeviceScaleFactorInCompositor appears to always be
4002         true in DumpRenderTree, so this situation cannot occur there.
4003
4004         * page/Settings.in:
4005             Added applyDeviceScaleFactorInCompositor setting, which allows
4006             detecting whether we need to normalize the scale.
4007         * platform/chromium/PlatformScreenChromium.cpp:
4008         (WebCore::toUserSpace):
4009             Static function for normalizing screen rect scale.
4010         (WebCore::screenRect):
4011             Uses toUserSpace.
4012         (WebCore::screenAvailableRect):
4013             Uses toUserSpace.
4014         * rendering/TextAutosizer.cpp:
4015         (WebCore::TextAutosizer::processSubtree):
4016             Use applyDeviceScaleFactorInCompositor instead of
4017             applyPageScaleFactorInCompositor, to scale the window rect correctly
4018             on platforms other than Chrome for Android.
4019
4020 2013-01-10  Florin Malita  <fmalita@chromium.org>
4021
4022         Rename GraphicsContext::addRoundedRectClip
4023         https://bugs.webkit.org/show_bug.cgi?id=106581
4024
4025         Reviewed by Simon Fraser.
4026
4027         This patch renames GraphicsContext::addRoundedRectClip to clipRoundedRect for consistency
4028         with the other GC clipping methods.
4029
4030         No new tests: no functional changes.
4031
4032         * WebCore.order:
4033         * platform/graphics/GraphicsContext.cpp:
4034         (WebCore::GraphicsContext::clipRoundedRect):
4035         * platform/graphics/GraphicsContext.h:
4036         (GraphicsContext):
4037         * platform/graphics/skia/GraphicsContextSkia.cpp:
4038         (WebCore::GraphicsContext::clipRoundedRect):
4039         * rendering/RenderBox.cpp:
4040         (WebCore::RenderBox::paintBoxDecorations):
4041         (WebCore::RenderBox::pushContentsClip):
4042         * rendering/RenderBoxModelObject.cpp:
4043         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
4044         (WebCore::RenderBoxModelObject::paintBorder):
4045         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
4046         * rendering/RenderLayer.cpp:
4047         (WebCore::RenderLayer::clipToRect):
4048         * rendering/RenderThemeChromiumWin.cpp:
4049         (WebCore):
4050         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
4051         * rendering/RenderThemeMacShared.mm:
4052         (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
4053         (WebCore::RenderThemeMacShared::paintSliderTrack):
4054         * rendering/RenderThemeSafari.cpp:
4055         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
4056         (WebCore::RenderThemeSafari::paintSliderTrack):
4057         * rendering/RenderThemeWinCE.cpp:
4058         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
4059
4060 2013-01-10  Tommy Widenflycht  <tommyw@google.com>
4061
4062         MediaStream API: Adding the new id attribute to MediaStream and MediaStreamTrack
4063         https://bugs.webkit.org/show_bug.cgi?id=106564
4064
4065         Reviewed by Adam Barth.