Cleanup: 'ExceptionCode& ec', not 'ExceptionCode &ec'.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-03  Mike West  <mkwst@chromium.org>
2
3         Cleanup: 'ExceptionCode& ec', not 'ExceptionCode &ec'.
4         https://bugs.webkit.org/show_bug.cgi?id=108769
5
6         Reviewed by Eric Seidel.
7
8         Does what it says on the tin: reference parameters should read
9         'type& name', and this patch fixes the two occurances of 'type &name'
10         that cropped up for ExceptionCode.
11
12         Pure style change; no effect on behavior.
13
14         * html/HTMLOptionsCollection.cpp:
15         (WebCore::HTMLOptionsCollection::add):
16
17 2013-02-02  Jun Jiang  <jun.a.jiang@intel.com>
18
19         Optimize some operations for float type in texture format conversions of WebGL
20         https://bugs.webkit.org/show_bug.cgi?id=107526
21
22         Reviewed by Darin Adler.
23
24         Some small changes are made to optimize the operations for float type in the texture format conversion of WebGL to improve performance.
25
26         Already covered by current tests.
27
28         * platform/graphics/GraphicsContext3D.cpp:
29         (WebCore):
30
31 2013-02-02  Simon Fraser  <simon.fraser@apple.com>
32
33         Clean up the storage of dirty bits on nodes in the scrolling state tree
34         https://bugs.webkit.org/show_bug.cgi?id=108744
35
36         Reviewed by Sam Weinig.
37
38         ScrollingStateNode and its subclasses used different techniques for
39         tracking which properties changed. ScrollingStateNode tracked its layers
40         via a bool member and some layer-specific methods, but also had virtual
41         methods to allow subclasses to track properties via a bit mask.
42         
43         Clean this up by having the base class store the bit mask, and use
44         enums to specify bits for the various properties. All properties are thus
45         tracked in the same way. Bits are read and written through non-virtual member
46         functions on ScrollingStateNode. All bit checking is done via hasChangedProperty().
47
48         * page/scrolling/ScrollingStateFixedNode.cpp:
49         (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode): m_changedProperties is now on the base class.
50         (WebCore::ScrollingStateFixedNode::updateConstraints): Use setPropertyChanged()
51         * page/scrolling/ScrollingStateFixedNode.h: Remove overrides that are no longer needed.
52         * page/scrolling/ScrollingStateNode.cpp:
53         (WebCore::ScrollingStateNode::ScrollingStateNode): Initialize m_changedProperties,
54         m_scrollLayerDidChange no longer tracked separately.
55         (WebCore::ScrollingStateNode::cloneAndReset):
56         * page/scrolling/ScrollingStateNode.h:
57         (WebCore::ScrollingStateNode::hasChangedProperties):
58         (WebCore::ScrollingStateNode::hasChangedProperty): Tests the bit.
59         (WebCore::ScrollingStateNode::resetChangedProperties): Set all bits to 0.
60         (WebCore::ScrollingStateNode::setPropertyChanged): Set the bit.
61         (WebCore::ScrollingStateNode::changedProperties): Private to discourage incorrect usage
62         (changeProperties() & foo).
63         * page/scrolling/ScrollingStateScrollingNode.cpp:
64         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Base class does the copying now.
65         (WebCore::ScrollingStateScrollingNode::setViewportRect): Use setPropertyChanged().
66         (WebCore::ScrollingStateScrollingNode::setContentsSize): Ditto.
67         (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Etc.
68         (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
69         (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
70         (WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
71         (WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
72         (WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
73         (WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
74         (WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
75         (WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
76         (WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
77         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
78         (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
79         * page/scrolling/ScrollingStateScrollingNode.h:
80         (ScrollingStateScrollingNode):
81         * page/scrolling/ScrollingStateStickyNode.cpp:
82         (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
83         (WebCore::ScrollingStateStickyNode::updateConstraints):
84         * page/scrolling/ScrollingStateStickyNode.h:
85         * page/scrolling/ScrollingTree.cpp:
86         (WebCore::ScrollingTree::commitNewTreeState):
87         * page/scrolling/ScrollingTreeScrollingNode.cpp:
88         (WebCore::ScrollingTreeScrollingNode::update):
89         * page/scrolling/mac/ScrollingStateNodeMac.mm:
90         (WebCore::ScrollingStateNode::setScrollLayer):
91         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
92         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
93         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
94         (WebCore::ScrollingTreeFixedNode::update):
95         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
96         (WebCore::ScrollingTreeScrollingNodeMac::update):
97         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
98         (WebCore::ScrollingTreeStickyNode::update):
99
100 2013-02-02  Simon Fraser  <simon.fraser@apple.com>
101
102         Fixed and sticky nodes have no nodeID set
103         https://bugs.webkit.org/show_bug.cgi?id=108734
104
105         Reviewed by Sam Weinig.
106         
107         Push ScrollingNodeIDs onto scrolling nodes at construction time, and thereafter
108         treat them as readonly. Previously, only the root scrolling node would have a node ID.
109         
110         Node IDs aren't actually used by the scrolling tree yet, but are useful for debugging.
111
112         Not testable since we only dump the scrolling state tree, not the scrolling
113         node tree in tests.
114
115         * page/scrolling/ScrollingTree.cpp:
116         (WebCore::ScrollingTree::ScrollingTree): No longer create the root node here;
117         we can only create it when we know what its ID will be.
118         (WebCore::ScrollingTree::updateTreeFromStateNode): Create the root node if
119         necessary. Pass node IDs into create methods.
120         * page/scrolling/ScrollingTreeNode.cpp:
121         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
122         * page/scrolling/ScrollingTreeNode.h:
123         * page/scrolling/ScrollingTreeScrollingNode.cpp:
124         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
125         * page/scrolling/ScrollingTreeScrollingNode.h:
126         * page/scrolling/mac/ScrollingTreeFixedNode.h:
127         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
128         (WebCore::ScrollingTreeFixedNode::create):
129         (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
130         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
131         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
132         (WebCore::ScrollingTreeScrollingNode::create):
133         (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
134         * page/scrolling/mac/ScrollingTreeStickyNode.h:
135         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
136         (WebCore::ScrollingTreeStickyNode::create):
137         (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
138
139 2013-02-02  Takashi Sakamoto  <tasak@google.com>
140
141         Making -webkit-image-set() the first value of background property causes crash.
142         https://bugs.webkit.org/show_bug.cgi?id=108409
143
144         Reviewed by Beth Dakin.
145
146         CSSParser::addFillValue should use lval->isBaseValueList() instead
147         of lval->isValueList(). If lval is -webkit-image-set, rval is appended
148         to -webkit-image-set.
149
150         Test: fast/css/image-set-value-crash-in-fillImageSet.html
151
152         * css/CSSParser.cpp:
153         (WebCore::CSSParser::addFillValue):
154         If lval is not a value list, lval is initialized by using
155         CSSValueList::createCommaSeparated(). So we have to check whether
156         lval is created by CSSValueList::createCommaSeparated() or not.
157
158 2013-02-02  David Kilzer  <ddkilzer@apple.com>
159
160         Upstream iOS FeatureDefines
161         <http://webkit.org/b/108753>
162
163         Reviewed by Anders Carlsson.
164
165         * Configurations/FeatureDefines.xcconfig:
166         - ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
167         - ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
168         - FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
169           PLATFORM_NAME variant to reduce future merge conflicts. 
170
171 2013-02-02  Philippe Normand  <pnormand@igalia.com>
172
173         [GStreamer] Media tests fix after r141695.
174
175         Rubber-stamped by Martin Robinson.
176
177         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
178         (WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL): Remove
179         both fragment and query string for file:// uris before loading.
180
181 2013-02-02  Patrick Gansterer  <paroga@webkit.org>
182
183         Build fix for WinCE after r141637.
184
185         * platform/graphics/wince/ImageBufferWinCE.cpp:
186
187 2013-02-01  Philippe Normand  <pnormand@igalia.com>
188
189         [GStreamer] webkitwebsrc is exposed to application-side
190         https://bugs.webkit.org/show_bug.cgi?id=108088
191
192         Reviewed by Martin Robinson.
193
194         Switch the webkitwebsrc to handle webkit+http(s) uris so it is now
195         explicit that this element is meant to be used preferrably inside
196         WebKit. This change is internal to the player.
197
198         No new tests, covered by existing http/tests/media tests.
199
200         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
201         (WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL):
202         (WebCore):
203         (WebCore::MediaPlayerPrivateGStreamer::load):
204         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
205         (MediaPlayerPrivateGStreamer):
206         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
207         (webKitWebSrcGetProtocols):
208         (webKitWebSrcSetUri):
209
210 2013-02-02  Simon Hausmann  <simon.hausmann@digia.com>
211
212         Unreviewed trivial prospective build fix for A17n disabled
213         configurations.
214
215         The dummy computed object attriute cache control functions need to be defined
216         as being member functions of AXObjectCache, because that's where they are
217         declared.
218
219         * accessibility/AXObjectCache.h:
220         (WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
221         (WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
222
223 2013-02-02  Antoine Quint  <graouts@apple.com>
224
225         Creating a WebInspector.ContextMenu without an event crashes WebCore when calling .show()
226         https://bugs.webkit.org/show_bug.cgi?id=108636
227
228         Reviewed by Pavel Feldman.
229
230         Return early if InspectorFrontendHost::showContextMenu() is called without an event and
231         assert in ContextMenuController::createContextMenu() in case no event was provided.
232
233         * inspector/InspectorFrontendHost.cpp:
234         (WebCore::InspectorFrontendHost::showContextMenu):
235         * page/ContextMenuController.cpp:
236         (WebCore::ContextMenuController::createContextMenu):
237
238 2013-02-02  Jonathan Feldstein  <jfeldstein@rim.com>
239
240         [BlackBerry] Improper initialization of ANGLEResources
241         https://bugs.webkit.org/show_bug.cgi?id=101489
242
243         Reviewed by Antonio Gomes.
244
245         MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle have already been initialized through ShBuiltInResources function and these fields do not need to be set again in GraphicsContext3dBlackBerry.cpp. In addition, the extension flags cannot be set to true without getExtension having been called (Khronos WebGL specs, section 5.14.14.). Thus these lines need to be removed.
246
247         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
248         (WebCore::GraphicsContext3D::GraphicsContext3D):
249
250 2013-02-02  Vivek Galatage  <vivek.vg@samsung.com>
251
252         Web Inspector: Refactor InspectorDOMStorageAgent::getDOMStorageEntries to report the error messages
253         https://bugs.webkit.org/show_bug.cgi?id=108611
254
255         Reviewed by Pavel Feldman.
256
257         Added reporting of various error messages. Moved the modification of output
258         parameter at a later stage when there are no errors reported.
259
260         No new tests as code refactoring.
261
262         * inspector/InspectorDOMStorageAgent.cpp:
263         (WebCore::hadException):
264         (WebCore):
265         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
266
267 2013-02-02  Andrey Lushnikov  <lushnikov@chromium.org>
268
269         Web Inspector: fix bug in highlighting single chars via highlightRange API of DTE
270         https://bugs.webkit.org/show_bug.cgi?id=108685
271
272         Reviewed by Pavel Feldman.
273
274         Use Math.min instead of Math.max in rangesForLine method.
275
276         Updated test: text-editor-highlight-api.html
277
278         * inspector/front-end/DefaultTextEditor.js:
279         (WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.rangesForLine):
280
281 2013-02-02  Tony Gentilcore  <tonyg@chromium.org>
282
283         Continue making XSSAuditor thread safe: Remove unsafe AtomicString compares
284         https://bugs.webkit.org/show_bug.cgi?id=108557
285
286         Reviewed by Adam Barth.
287
288         Unfortunately HTMLNames comparisons will always be false on a non-main thread
289         with our current design, so we have to use some "threadSafeMatch" helpers written
290         for the HTMLBackgroundParser.
291
292         Also factor out threadSafeMatch() methods to HTMLParserIdioms.
293
294         No new tests because no new functionality.
295
296         * html/parser/BackgroundHTMLParser.cpp:
297         (WebCore):
298         * html/parser/HTMLParserIdioms.cpp:
299         (WebCore::threadSafeEqual):
300         (WebCore):
301         (WebCore::threadSafeMatch):
302         * html/parser/HTMLParserIdioms.h:
303         (WebCore):
304         * html/parser/XSSAuditor.cpp:
305         (WebCore::XSSAuditor::eraseAttributeIfInjected):
306
307 2013-02-01  James Simonsen  <simonjam@chromium.org>
308
309         Add didChangePriority() to ResourceHandle
310         https://bugs.webkit.org/show_bug.cgi?id=107995
311
312         Reviewed by Darin Fisher.
313
314         For PLT, it's important that preloads remain a lower priority than parser requested resources.
315         This can lead to a 5% improvement.
316
317         The plan is to use this plumbing to expose the desired behavior. This patch simply allows a
318         resource's priority to change and have it propagate to the network layer. An upcoming patch will
319         lower the priority of preloads and then increase the priority when the parser officially requests
320         it.
321
322         No new tests. No visible change, because priority doesn't change yet.
323
324         * loader/cache/CachedResource.cpp:
325         (WebCore):
326         (WebCore::CachedResource::setLoadPriority):
327         * loader/cache/CachedResourceLoader.cpp:
328         (WebCore::CachedResourceLoader::requestResource): Allow loads to modify priority.
329         * loader/cache/CachedResourceRequest.h:
330         (WebCore::CachedResourceRequest::setPriority): Notify when priority changes.
331         * platform/network/ResourceHandle.cpp:
332         (WebCore::ResourceHandle::didChangePriority): Added.
333         (WebCore):
334         * platform/network/ResourceHandle.h:
335         (ResourceHandle):
336         * platform/network/chromium/ResourceHandle.cpp:
337         (WebCore::ResourceHandleInternal::didChangePriority):
338         (WebCore):
339         (WebCore::ResourceHandle::didChangePriority):
340         * platform/network/chromium/ResourceHandleInternal.h:
341         (ResourceHandleInternal):
342
343 2013-02-01  Roger Fong  <roger_fong@apple.com>
344
345         Unreviewed. Clean up WebCore VS2010 project.
346
347         * WebCore.vcxproj/WebCore.vcxproj:
348         * WebCore.vcxproj/WebCore.vcxproj.filters:
349         * WebCore.vcxproj/WebCoreCommon.props:
350         * WebCore.vcxproj/WebCoreGenerated.make:
351         * WebCore.vcxproj/WebCorePreLink.cmd: Removed.
352         * WebCore.vcxproj/build-generated-files.sh:
353
354 2013-02-01  Sam Weinig  <sam@webkit.org>
355
356         Don't use deprecated method -[NSImage dissolveToPoint:fraction:]
357         <rdar://problem/11723792>
358         https://bugs.webkit.org/show_bug.cgi?id=108739
359
360         Reviewed by Anders Carlsson.
361
362         * platform/mac/DragImageMac.mm:
363         (WebCore::dissolveDragImageToFraction):
364         Remove use of deprecated NSImage methods and simplify a bit.
365
366 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
367
368         Web Inspector: fix "DOM Exception 8" when deleting lines containing decoration in DTE.
369         https://bugs.webkit.org/show_bug.cgi?id=108689
370
371         Reviewed by Alexander Pavlov.
372
373         Add a check that decoration element is still added to the line before trying to delete it. This
374         won't be true if the whole line is deleted in contentEditable,
375         and this is the reason for the exception to be thrown.
376
377         No new tests.
378
379         * inspector/front-end/DefaultTextEditor.js:
380         (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
381
382 2013-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
383
384         Unreviewed, rolling out r141669.
385         http://trac.webkit.org/changeset/141669
386         https://bugs.webkit.org/show_bug.cgi?id=108728
387
388         Broke the windows build. (Requested by leviw on #webkit).
389
390         * rendering/RenderBoxModelObject.cpp:
391         (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
392         (WebCore):
393         (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
394         (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
395         (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
396         (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
397         (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
398         (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
399         (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
400         * rendering/RenderBoxModelObject.h:
401         (RenderBoxModelObject):
402
403 2013-02-01  Emil A Eklund  <eae@chromium.org>
404
405         Remove duplicate code in RenderBoxModelObject::computedCSSPadding*
406         https://bugs.webkit.org/show_bug.cgi?id=108707
407
408         Reviewed by Levi Weintraub.
409         
410         The computedCSSPaddingTop/Bottom/... methods in
411         RenderBoxModelObject all do pretty much exactly the same thing
412         yet share no code.
413         
414         Break out shared code into computedCSSPadding method and have
415         the top/bottom/left/right/... ones call it with the appropriate
416         length value.
417
418         No new tests, no change in functionality.
419
420         * rendering/RenderBoxModelObject.cpp:
421         (WebCore::RenderBoxModelObject::computedCSSPadding):
422         * rendering/RenderBoxModelObject.h:
423         (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
424         (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
425         (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
426         (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
427         (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
428         (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
429         (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
430         (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
431         (RenderBoxModelObject):
432
433 2013-02-01  Mark Lam  <mark.lam@apple.com>
434
435         Replace ExceptionCode with DatabaseError in the openDatabase() code path.
436         https://bugs.webkit.org/show_bug.cgi?id=108724.
437
438         Reviewed by Alexey Proskuryakov.
439
440         Also made DatabaseBackend::performOpenAndVerify() a little more
441         straightforward and less repetitive.
442
443         No new tests.
444
445         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
446         (WebCore::DOMWindowWebDatabase::openDatabase):
447         * Modules/webdatabase/Database.cpp:
448         (WebCore::Database::openAndVerifyVersion):
449         (WebCore::Database::performOpenAndVerify):
450         * Modules/webdatabase/Database.h:
451         (Database):
452         * Modules/webdatabase/DatabaseBackend.cpp:
453         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
454         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
455         (DoneCreatingDatabaseOnExitCaller):
456         (WebCore::DoneCreatingDatabaseOnExitCaller::openSucceeded):
457         (WebCore::DatabaseBackend::performOpenAndVerify):
458         * Modules/webdatabase/DatabaseBackend.h:
459         * Modules/webdatabase/DatabaseManager.cpp:
460         (WebCore::DatabaseManager::openDatabase):
461         (WebCore::DatabaseManager::openDatabaseSync):
462         * Modules/webdatabase/DatabaseManager.h:
463         (DatabaseManager):
464         * Modules/webdatabase/DatabaseSync.cpp:
465         (WebCore::DatabaseSync::openAndVerifyVersion):
466         * Modules/webdatabase/DatabaseSync.h:
467         (DatabaseSync):
468         * Modules/webdatabase/DatabaseTask.cpp:
469         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
470         (WebCore::Database::DatabaseOpenTask::doPerformTask):
471         * Modules/webdatabase/DatabaseTask.h:
472         (WebCore::Database::DatabaseOpenTask::create):
473         (Database::DatabaseOpenTask):
474         * Modules/webdatabase/WorkerContextWebDatabase.cpp:
475         (WebCore::WorkerContextWebDatabase::openDatabase):
476         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
477         * WebCore.gypi:
478
479 2013-02-01  Yongjun Zhang  <yongjun_zhang@apple.com>
480
481         Document is never released if an image's src attribute is changed to a url blocked by content-security-policy.
482         https://bugs.webkit.org/show_bug.cgi?id=108545
483
484         If we just scheduled an error event due to an null newImage, we should not cancel it when newImage and oldImage
485         is not the same.  Otherwise we will ref the sourceElement in updateHasPendingEvent (m_hasPendingErrorEvent is true)
486         but never deref it since we already cancelled the error event.
487
488         Reviewed by Alexey Proskuryakov.
489
490         Test: fast/images/image-error-event-not-firing.html
491
492         * loader/ImageLoader.cpp:
493         (WebCore::ImageLoader::updateFromElement): don't cancel error event if newImage is null, we want the
494             error event to fire.
495
496 2013-02-01  Benjamin Poulain  <bpoulain@apple.com>
497
498         Clean the String->AtomicString conversion for AnimationController::pauseAnimationAtTime
499         https://bugs.webkit.org/show_bug.cgi?id=108558
500
501         Reviewed by Dean Jackson.
502
503         This is a step torward killing the implicit conversion from String to AtomicString.
504
505         The animation name are AtomicString. The API is changed all the way to the callers
506         to take an AtomicString. When needed, we use explicit conversion.
507
508         * WebCore.exp.in:
509         * page/animation/AnimationController.cpp:
510         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
511         (WebCore::AnimationController::pauseAnimationAtTime):
512         * page/animation/AnimationController.h:
513         (AnimationController):
514         * page/animation/AnimationControllerPrivate.h:
515         (AnimationControllerPrivate):
516         * page/animation/CompositeAnimation.cpp:
517         (WebCore::CompositeAnimation::pauseAnimationAtTime):
518         We should not null check the name. Getting a null name from the HashMap would be
519         an error from the tests, and the HashMap would never return a value anyway.
520         * testing/Internals.cpp:
521         (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
522
523 2013-02-01  Dominic Mazzoni  <dmazzoni@google.com>
524
525         AX: memoize expensive computation during blocks where tree doesn't change
526         https://bugs.webkit.org/show_bug.cgi?id=106497
527
528         Reviewed by Ryosuke Niwa.
529
530         Add a cache for computed attributes of AXObjects.
531         The cache can be enabled at the start of a batch of
532         read-only operations on the accessibility tree, and
533         it's cleared automatically when the tree mutates.
534         Currently accessibilityIsIgnored is cached, since it's
535         frequently called and relatively expensive to compute.
536
537         No new tests.
538
539         * accessibility/AXObjectCache.cpp:
540         (WebCore):
541         (WebCore::AXComputedObjectAttributeCache::getIgnored):
542         (WebCore::AXComputedObjectAttributeCache::setIgnored):
543         (WebCore::AXObjectCache::postNotification):
544         (WebCore::AXObjectCache::nodeTextChangeNotification):
545         (WebCore::AXObjectCache::handleScrollbarUpdate):
546         (WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
547         (WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
548         * accessibility/AXObjectCache.h:
549         (AXComputedObjectAttributeCache):
550         (WebCore::AXComputedObjectAttributeCache::create):
551         (WebCore::AXComputedObjectAttributeCache::AXComputedObjectAttributeCache):
552         (WebCore::AXComputedObjectAttributeCache::CachedAXObjectAttributes::CachedAXObjectAttributes):
553         (CachedAXObjectAttributes):
554         (WebCore):
555         (WebCore::AXObjectCache::computedObjectAttributeCache):
556         (AXObjectCache):
557         (WebCore::AXComputedObjectAttributeCache::getIgnored):
558         (WebCore::AXComputedObjectAttributeCache::setIgnored):
559         (WebCore::startCachingComputedObjectAttributesUntilTreeMutates):
560         (WebCore::stopCachingComputedObjectAttributes):
561         * accessibility/AccessibilityObject.cpp:
562         (WebCore::AccessibilityObject::findMatchingObjects):
563         * accessibility/AccessibilityRenderObject.cpp:
564         (WebCore):
565         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
566         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
567         * accessibility/AccessibilityRenderObject.h:
568         (AccessibilityRenderObject):
569
570 2013-02-01  Alexey Proskuryakov  <ap@apple.com>
571
572         Build fix.
573
574         * Modules/webdatabase/DatabaseBackend.cpp: (DoneCreatingDatabaseOnExitCaller):
575         Don't fail because of an unused member variable in cross-plaform code path.
576
577 2013-02-01  Kevin Ellis  <kevers@chromium.org>
578
579         [chromium] Fat scrollbars on Windows in high-DPI mode.
580         https://bugs.webkit.org/show_bug.cgi?id=108637
581
582         Updates mechanism for retrieving scrollbar metrics on the
583         Windows port of Chromium.  Previously, GetSystemMetrics calls
584         were used, which fetches prescaled sizes in pixel rather than
585         logical units, resulting in a double scaling when a device
586         scale factor is set.  With the patch, the size is retrieved
587         from the theme engine in DIP.
588
589         Reviewed by Adam Barth.
590
591         No new tests.
592
593         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
594         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
595         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
596         * rendering/RenderThemeChromiumWin.cpp:
597         (WebCore):
598         (WebCore::menuListButtonWidth):
599
600 2013-02-01  Mark Lam  <mark.lam@apple.com>
601
602         Clean up calls to DatabaseTracker::add/removeOpenDatabase().
603         https://bugs.webkit.org/show_bug.cgi?id=108431
604
605         Reviewed by Geoffrey Garen.
606
607         Also adapted the chromium port to work with this new code.
608         Chromium parts reviewed by Michael Nordman and David Levin.
609
610         This is part of the webdatabase refactoring effort.
611
612         No new tests.
613
614         * Modules/webdatabase/AbstractDatabaseServer.h:
615         (AbstractDatabaseServer):
616         * Modules/webdatabase/Database.cpp:
617         (WebCore::Database::openAndVerifyVersion):
618         (WebCore::Database::close):
619         * Modules/webdatabase/DatabaseBackend.cpp:
620         (WebCore::DatabaseBackend::DatabaseBackend):
621         (WebCore::DatabaseBackend::closeDatabase):
622         (DoneCreatingDatabaseOnExitCaller):
623         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
624         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
625         (WebCore::DatabaseBackend::performOpenAndVerify):
626         * Modules/webdatabase/DatabaseManager.cpp:
627         (WebCore::DatabaseManager::openDatabase):
628         (WebCore::DatabaseManager::openDatabaseSync):
629         * Modules/webdatabase/DatabaseManager.h:
630         (DatabaseManager):
631         * Modules/webdatabase/DatabaseServer.cpp:
632         * Modules/webdatabase/DatabaseServer.h:
633         * Modules/webdatabase/DatabaseSync.cpp:
634         (WebCore::DatabaseSync::~DatabaseSync):
635         (WebCore::DatabaseSync::openAndVerifyVersion):
636         (WebCore::DatabaseSync::closeImmediately):
637         * Modules/webdatabase/DatabaseSync.h:
638         (DatabaseSync):
639         * Modules/webdatabase/DatabaseTracker.cpp:
640         (WebCore::DatabaseTracker::doneCreatingDatabase):
641         (WebCore::DatabaseTracker::addOpenDatabase):
642         * Modules/webdatabase/DatabaseTracker.h:
643         (DatabaseTracker):
644         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
645         (WebCore::DatabaseTracker::addOpenDatabase):
646         (WebCore::DatabaseTracker::prepareToOpenDatabase):
647         (WebCore::DatabaseTracker::failedToOpenDatabase):
648
649 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
650
651         Web Inspector: remove extra padding around overlay highlight.
652         https://bugs.webkit.org/show_bug.cgi?id=108679
653
654         Reviewed by Alexander Pavlov.
655
656         No new tests: no change in behaviour.
657
658         Remove extraWidth from overlay highlight spans.
659
660         * inspector/front-end/DefaultTextEditor.js:
661         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
662
663 2013-02-01  Philip Rogers  <pdr@google.com>
664
665         Prevent skipped repaints for children of inner SVG elements
666         https://bugs.webkit.org/show_bug.cgi?id=108429
667
668         Reviewed by Eric Seidel.
669
670         This patch fixes a bug caused by r108699 and r133786 where we would not repaint children
671         of inner SVG elements because "m_didTransformToRootUpdate" was never reset on viewport
672         containers. The stale m_didTransformToRootUpdate variable caused us to skip child repaints.
673
674         I verified that the Robohornet SVG benchmark performance gains in r133786 are not regressed
675         with this patch.
676
677         Test: svg/repaint/svgsvgelement-repaint-children.html
678
679         * rendering/svg/RenderSVGViewportContainer.cpp:
680         (WebCore::RenderSVGViewportContainer::calcViewport):
681
682             This can be removed because setNeedsTransformUpdate() will set m_needsTransformUpdate.
683
684         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
685
686             This change is straightforward and is similar to the equivalent assignment in
687             RenderSVGTransformableContainer::calculateLocalTransform().
688
689 2013-02-01  Philip Rogers  <pdr@google.com>
690
691         Change hasAlpha to isKnownToBeOpaque and correct the return value for SVG images.
692         https://bugs.webkit.org/show_bug.cgi?id=106966
693
694         Reviewed by Stephen White.
695
696         Previously, Image::currentFrameHasAlpha's default implementation returned false so SVG
697         images always returned false for currentFrameHasAlpha. Additionally, currentFrameHasAlpha
698         was treated as returning whether the frame had alpha when it would actually conservatively
699         return true.
700
701         This patch renames hasAlpha and currentFrameHasAlpha to isKnownToBeOpaque and
702         currentFrameIsKnownToBeOpaque, respectively. This rename better describes the actual
703         functionality. This patch also makes Image::isKnownToBeOpaque a pure virtual function and
704         correctly implements it for SVG images.
705
706         All users of isKnownToBeOpaque access SVG images using CachedImage::imageForRenderer which
707         currently returns a cached bitmap image. Therefore, this patch will not affect existing
708         functionality. A regression test has been added that will catch if this changes in the
709         future (e.g., WK106159 which proposes not returning cached bitmaps). The now unnecessary
710         isBitmapImage() calls have been removed in this patch.
711
712         image-box-shadow.html has been modified to test SVG images.
713
714         * css/CSSCrossfadeValue.cpp:
715         (WebCore::subimageKnownToBeOpaque):
716         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
717
718             Mostly straightforward rename but note the logic has been slightly altered: AND -> OR.
719
720         * css/CSSCrossfadeValue.h:
721         (CSSCrossfadeValue):
722         * css/CSSGradientValue.cpp:
723         (WebCore::CSSGradientValue::knownToBeOpaque):
724         * css/CSSGradientValue.h:
725         (CSSGradientValue):
726         * css/CSSImageGeneratorValue.cpp:
727         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
728         * css/CSSImageGeneratorValue.h:
729         (CSSImageGeneratorValue):
730         * css/CSSImageValue.cpp:
731         (WebCore::CSSImageValue::knownToBeOpaque):
732         * css/CSSImageValue.h:
733         (CSSImageValue):
734         * loader/cache/CachedImage.cpp:
735         (WebCore::CachedImage::currentFrameKnownToBeOpaque):
736         * loader/cache/CachedImage.h:
737         (CachedImage):
738         * platform/graphics/BitmapImage.cpp:
739         (WebCore::BitmapImage::currentFrameKnownToBeOpaque):
740         * platform/graphics/BitmapImage.h:
741         (BitmapImage):
742         * platform/graphics/GeneratedImage.h:
743         (GeneratedImage):
744         * platform/graphics/Image.h:
745
746             Note: now a pure virtual function!
747
748         (Image):
749         * platform/graphics/blackberry/LayerTiler.cpp:
750         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
751
752             Removed unnecessary isBitmapImage() checks.
753
754         * platform/graphics/cg/GraphicsContext3DCG.cpp:
755         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
756
757             Removed unnecessary isBitmapImage() checks.
758
759         * platform/graphics/cg/PDFDocumentImage.h:
760         (PDFDocumentImage):
761         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
762
763             Removed unnecessary isBitmapImage() checks.
764
765         (WebCore::GraphicsLayerChromium::setContentsToImage):
766         * platform/graphics/qt/StillImageQt.cpp:
767         (WebCore::StillImage::currentFrameKnownToBeOpaque):
768         * platform/graphics/qt/StillImageQt.h:
769         (StillImage):
770         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp:
771         (WebCore::BitmapImageSingleFrameSkia::currentFrameKnownToBeOpaque):
772         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
773         (BitmapImageSingleFrameSkia):
774         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
775         (WebCore::TextureMapperTile::updateContents):
776         (WebCore::TextureMapperTiledBackingStore::updateContents):
777         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
778         (WebCore::CoordinatedImageBacking::update):
779         * rendering/RenderImage.cpp:
780         (WebCore::RenderImage::backgroundIsObscured):
781
782             Removed unnecessary isBitmapImage() checks and slightly reworked the logic.
783
784         * rendering/style/FillLayer.cpp:
785         (WebCore::FillLayer::hasOpaqueImage):
786         * rendering/style/StyleCachedImage.cpp:
787         (WebCore::StyleCachedImage::knownToBeOpaque):
788         * rendering/style/StyleCachedImage.h:
789         (StyleCachedImage):
790         * rendering/style/StyleCachedImageSet.cpp:
791         (WebCore::StyleCachedImageSet::knownToBeOpaque):
792         * rendering/style/StyleCachedImageSet.h:
793         (StyleCachedImageSet):
794         * rendering/style/StyleGeneratedImage.cpp:
795         (WebCore::StyleGeneratedImage::knownToBeOpaque):
796         * rendering/style/StyleGeneratedImage.h:
797         (StyleGeneratedImage):
798         * rendering/style/StyleImage.h:
799         (StyleImage):
800         * rendering/style/StylePendingImage.h:
801         (WebCore::StylePendingImage::knownToBeOpaque):
802         * svg/graphics/SVGImage.h:
803         (SVGImage):
804
805 2013-02-01  Brady Eidson  <beidson@apple.com>
806
807         Clean up WebArchive loading with the NetworkProcess
808         <rdar://problem/12695840> and https://bugs.webkit.org/show_bug.cgi?id=108673
809
810         Reviewed by Alexey Proskuryakov.
811
812         No new tests (No change in WebCore behavior).
813
814         Remove a now unneeded function and add a needed export.
815
816         * WebCore.exp.in:
817         * loader/ResourceLoadScheduler.cpp:
818         * loader/ResourceLoadScheduler.h:
819
820 2013-02-01  Alok Priyadarshi  <alokp@chromium.org>
821
822         Print GraphicsLayer::m_contentsOpaque if non-default (true)
823         https://bugs.webkit.org/show_bug.cgi?id=108354
824
825         Reviewed by Simon Fraser.
826
827         No new tests. This change facilitates testing of GraphicsLayer opaqueness.
828
829         * platform/graphics/GraphicsLayer.cpp:
830         (WebCore::GraphicsLayer::dumpProperties):
831
832 2013-02-01  Tony Gentilcore  <tonyg@chromium.org>
833
834         Continue making XSSAuditor thread safe: Remove dependency on parser's Document URL
835         https://bugs.webkit.org/show_bug.cgi?id=108655
836
837         Reviewed by Adam Barth.
838
839         No new tests because no new functionality.
840
841         * html/parser/XSSAuditor.cpp:
842         (WebCore::XSSAuditor::XSSAuditor):
843         (WebCore::XSSAuditor::init):
844         (WebCore::XSSAuditor::isLikelySafeResource):
845         * html/parser/XSSAuditor.h:
846
847 2013-02-01  Jer Noble  <jer.noble@apple.com>
848
849         REGRESSION (r141281): Navigating to this HTTP Live Streaming (application/vnd.apple.mpegurl) URL downloads a file instead of playing it in the browser
850         https://bugs.webkit.org/show_bug.cgi?id=108674
851         <rdar://problem/13133595>
852
853         Reviewed by Eric Carlson.
854
855         When passed a HashSet of available MIME types to fill out, QTKit was overwriting the contents, which were
856         AVFoundation's supported types. Instead, it should be appending to the list of supported types.
857
858         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
859         (WebCore::concatenateHashSets): Added static utility function.
860         (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Concatenate instead of overwriting the passed in MIME types.
861
862 2013-02-01  Beth Dakin  <bdakin@apple.com>
863
864         Another speculative windows build fix.
865
866         * platform/ScrollAnimator.h:
867
868 2013-01-31  Dirk Schulze  <krit@webkit.org>
869
870         [canvas] Add more constructors to Path
871         https://bugs.webkit.org/show_bug.cgi?id=108587
872
873         Reviewed by Dean Jackson.
874
875         Add more constructors to Path object to make it possible
876         to copy Path objects and parse SVG strings into a Path
877         object that can be used on the canvas context afterwards.
878
879         Test: fast/canvas/canvas-path-constructors.html
880
881         * html/canvas/DOMPath.h: New constructors for Path.
882         (WebCore::DOMPath::create):
883         (WebCore::DOMPath::DOMPath):
884         * html/canvas/DOMPath.idl: Ditto.
885
886 2013-02-01  Zan Dobersek  <zdobersek@igalia.com>
887
888         [GTK] Add WTFURL source files to the build
889         https://bugs.webkit.org/show_bug.cgi?id=108215
890
891         Reviewed by Benjamin Poulain.
892
893         * platform/KURLWTFURL.cpp:
894         (WebCore): Only use the stub implementation of the fileSystemPath method for the
895         Apple ports, other ports should for now still rely on their platform-specific implementations.
896
897 2013-02-01  Mike West  <mkwst@chromium.org>
898
899         Remove call to SecurityOrigin::canAccessDatabase from IDB constructor.
900         https://bugs.webkit.org/show_bug.cgi?id=108477
901
902         Reviewed by Adam Barth.
903
904         This change removes the 'SecurityOrigin::canAccessDatabase' check from
905         the constructor for the 'indexedDB' property on both DOMWindow and
906         WorkerContext. After the patch for http://wkbug.com/94171 this check
907         is redundant, as all the entry points to IDB are now gated on access
908         being granted.
909
910         As a side-effect, dropping the check in WorkerContextIndexedDatabase
911         allows us to stop holding a pointer to the ScriptExecutionContext we're
912         extending, which can only be a good thing.
913
914         The tests in storage/indexeddb should continue to pass.
915
916         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
917         (WebCore::DOMWindowIndexedDatabase::indexedDB):
918             Drop the SecurityOrigin::canAccessDatabase check.
919         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
920         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
921         (WebCore::WorkerContextIndexedDatabase::from):
922             Drop the ScriptExecutionContext parameter from the class's
923             constructor and callsites.
924         (WebCore::WorkerContextIndexedDatabase::indexedDB):
925             Drop the SecurityOrigin::canAccessDatabase check.
926         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
927         (WorkerContextIndexedDatabase):
928             Drop the stored pointer to ScriptExecutionContext, as we no longer
929             need it in ::indexedDB.
930
931 2013-02-01  Beth Dakin  <bdakin@apple.com>
932
933         Speculative Windows build fix. 
934
935         * platform/ScrollAnimator.h:
936         (WebCore):
937
938 2013-02-01  Ryosuke Niwa  <rniwa@webkit.org>
939
940         Smart link can erroneously move caret after an URL when typing immediately before it
941         https://bugs.webkit.org/show_bug.cgi?id=92812
942
943         Reviewed by Enrica Casucci.
944
945         The bug was caused by smart link being triggered even when a user finished typing a word
946         immediately before an URL. We already had a logic to avoid smart-linking an URL when the caret
947         was after the URL but we were missing a check for when the caret is before the URL.
948
949         Fixed the bug by adding this check.
950
951         Test: editing/inserting/smart-link-when-caret-is-moved-before-URL.html
952
953         * editing/Editor.cpp:
954         (WebCore::Editor::markAndReplaceFor):
955
956 2013-02-01  Roger Fong  <roger_fong@apple.com>
957
958         Unreviewed. Windows build fix. FloatSize.cpp was not included in the project.
959
960         * WebCore.vcproj/WebCore.vcproj:
961
962 2013-02-01  Julien Chaffraix  <jchaffraix@webkit.org>
963
964         [CSS Grid Layout] computePreferredLogicalWidths doesn't handle minmax tracks
965         https://bugs.webkit.org/show_bug.cgi?id=108403
966
967         Reviewed by Ojan Vafai.
968
969         Test: fast/css-grid-layout/grid-preferred-logical-widths.html
970
971         The code before this change was only handling minmax() with 2 fixed widths.
972         The new code was updated to remove this artificial limitation and we now
973         support all combination of minmax().
974
975         * rendering/RenderGrid.cpp:
976         (WebCore::RenderGrid::computePreferredLogicalWidths):
977         Updated to use computePreferredTrackWidth..
978
979         (WebCore::RenderGrid::computePreferredTrackWidth):
980         Added this helper function that implements the core of the preferred width
981         computation.
982
983         * rendering/RenderGrid.h: Added computePreferredTrackWidth.
984
985 2013-02-01  Nate Chapin  <japhet@chromium.org>
986
987         Cached main resources report a zero identifer on 304s
988         https://bugs.webkit.org/show_bug.cgi?id=108402
989
990         Reviewed by Adam Barth.
991
992         Test: http/tests/cache/iframe-304-crash.html
993
994         * loader/MainResourceLoader.cpp:
995         (WebCore::MainResourceLoader::responseReceived): Throughout, check m_identifierForLoadWithoutResourceLoader
996             instead of !loader() to determine whether MainResourceLoader needs to synthesize resource load callbacks.
997         (WebCore::MainResourceLoader::dataReceived):
998         (WebCore::MainResourceLoader::didFinishLoading):
999
1000 2013-02-01  Nico Weber  <thakis@chromium.org>
1001
1002         [chromium] Build webkit with enable_web_intents set to 0.
1003         https://bugs.webkit.org/show_bug.cgi?id=108408
1004
1005         Reviewed by Tony Chang.
1006
1007         I'll then make chromium build fine with that, then switch
1008         enable_web_intents to 0, roll that into webkit, and then
1009         actually remove the code hidden behind this flag.
1010
1011         * bindings/v8/custom/V8IntentCustom.cpp:
1012
1013 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
1014
1015         Web Inspector: make console object state hint non-active
1016         https://bugs.webkit.org/show_bug.cgi?id=108642
1017
1018         Reviewed by Vsevolod Vlasov.
1019
1020         Otherwise it seems like an active element user could click.
1021
1022         * inspector/front-end/inspector.css:
1023         (.object-info-state-note):
1024
1025 2013-02-01  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
1026
1027         Zero size gradient should paint nothing on canvas
1028         https://bugs.webkit.org/show_bug.cgi?id=102654
1029
1030         Reviewed by Dirk Schulze.
1031
1032         The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
1033         should paint nothing on canvas when the canvas fillStyle/strokeStyle
1034         is set to a zero size gradient.
1035  
1036         Tests: fast/canvas/canvas-fill-zeroSizeGradient.html
1037                fast/canvas/canvas-fillRect-zeroSizeGradient.html
1038                fast/canvas/canvas-fillText-zeroSizeGradient.html
1039                fast/canvas/canvas-stroke-zeroSizeGradient.html
1040                fast/canvas/canvas-strokeRect-zeroSizeGradient.html
1041                fast/canvas/canvas-strokeText-zeroSizeGradient.html
1042
1043         * html/canvas/CanvasRenderingContext2D.cpp:
1044         (WebCore::CanvasRenderingContext2D::fill):
1045         (WebCore::CanvasRenderingContext2D::stroke):
1046         (WebCore::CanvasRenderingContext2D::strokeRect):
1047         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1048
1049 2013-02-01  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1050
1051         HRTFElevation segfault if a null AudioBus is returned by loadPlatformResource
1052         https://bugs.webkit.org/show_bug.cgi?id=108504
1053
1054         Reviewed by Kenneth Russell.
1055
1056         Fixed a segfault by checking if the returned AudioBus is null or not.
1057         If it is, we should early return in the same way it was being done already
1058         in HRTFElevation::calculateKernelsForAzimuthElevation();
1059
1060         No new tests, covered by existing tests.
1061
1062         * platform/audio/HRTFElevation.cpp:
1063         (WebCore::getConcatenatedImpulseResponsesForSubject):
1064
1065 2013-02-01  Beth Dakin  <bdakin@apple.com>
1066
1067         ScrollAnimatorMac should adopt contentAreaScrolledInDirection
1068         https://bugs.webkit.org/show_bug.cgi?id=108647
1069         -and corresponding-
1070         <rdar://problem/12434779>
1071
1072         Reviewed by Anders Carlsson.
1073
1074         This patch makes notifyContentAreaScrolled() and notifyPositionChanged() take a 
1075         FloatSize parameter that represents the scroll delta so that it can be passed 
1076         along to contentAreaScrolledInDirection:. 
1077
1078         Pass along the scroll delta.
1079         * platform/ScrollAnimator.cpp:
1080         (WebCore::ScrollAnimator::scroll):
1081         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
1082
1083         The delta is not needed in this base-class implementation. It will only be needed 
1084         in the ScrollAnimatorMac override.
1085         (WebCore::ScrollAnimator::notifyPositionChanged):
1086         * platform/ScrollAnimator.h:
1087         (WebCore::ScrollAnimator::notifyContentAreaScrolled):
1088
1089         Pass along the delta.
1090         * platform/ScrollAnimatorNone.cpp:
1091         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
1092         (WebCore::ScrollAnimatorNone::animationTimerFired):
1093         * platform/ScrollableArea.cpp:
1094         (WebCore::ScrollableArea::scrollPositionChanged):
1095
1096         Add contentAreaScrolledInDirection: to the NSScrollerImpDetails.
1097         * platform/mac/NSScrollerImpDetails.h:
1098
1099         New member variable m_contentAreaScrolledTimerScrollDelta stores the current 
1100         scroll delta while we are waiting for m_sendContentAreaScrolledTimer to fire.
1101         * platform/mac/ScrollAnimatorMac.h:
1102
1103         We need this so that we can call just contentAreaScrolled if 
1104         contentAreaScrolledInDirection: is not available.
1105         * platform/mac/ScrollAnimatorMac.mm:
1106         (supportsContentAreaScrolledInDirection):
1107
1108         Pass along the delta.
1109         (WebCore::ScrollAnimatorMac::immediateScrollTo):
1110         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
1111         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
1112         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1113         (WebCore::ScrollAnimatorMac::immediateScrollBy):
1114         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
1115
1116         If contentAreaScrolledInDirection: is available, call it with the delta, and then 
1117         reset our delta. Otherwise, still call contentAreaScrolled.
1118         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
1119
1120 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
1121
1122         Web Inspector: [file selector dialog] for mixed case queries, score uppercase letters only when assessing camelcase.
1123         https://bugs.webkit.org/show_bug.cgi?id=108639
1124
1125         Reviewed by Vsevolod Vlasov.
1126
1127         * inspector/front-end/FilteredItemSelectionDialog.js:
1128         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
1129
1130 2013-02-01  Robert Hogan  <robert@webkit.org>
1131
1132         Padding in a parent inline preceding an empty inline child should be counted towards width
1133         https://bugs.webkit.org/show_bug.cgi?id=108226
1134
1135         Reviewed by Levi Weintraub.
1136
1137         Add the border/padding/margin from an empty inline's parent inline if it is the first or last
1138         child of the inline. 
1139
1140         Tests: fast/inline/parent-inline-element-padding-contributes-width.html
1141                fast/inline/positioned-element-padding-contributes-width.html
1142
1143         * rendering/RenderBlockLineLayout.cpp:
1144         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1145
1146 2013-02-01  Tony Gentilcore  <tonyg@chromium.org>
1147
1148         Continue making XSSAuditor thread safe: Remove dependencies on m_parser from init()
1149         https://bugs.webkit.org/show_bug.cgi?id=108531
1150
1151         Reviewed by Adam Barth.
1152
1153         The threaded HTML parser will create and init() the XSSAuditor on the main thread, but filterToken() will be called on the background.
1154
1155         No new tests because no change in functionality.
1156
1157         * html/parser/HTMLDocumentParser.cpp:
1158         (WebCore::HTMLDocumentParser::pumpTokenizer):
1159         * html/parser/XSSAuditor.cpp:
1160         (WebCore::XSSAuditor::XSSAuditor):
1161         (WebCore::XSSAuditor::init):
1162         (WebCore::XSSAuditor::filterToken):
1163         * html/parser/XSSAuditor.h:
1164         (WebCore):
1165         (XSSAuditor):
1166
1167 2013-02-01  Brady Eidson  <beidson@apple.com>
1168
1169         Remove unnecessary parameter from DocumentLoader::scheduleArchiveLoad
1170         https://bugs.webkit.org/show_bug.cgi?id=108654
1171
1172         Reviewed by Alexey Proskuryakov.
1173
1174         No new tests (No behavior change.)
1175
1176         Remove the KURL parameter parameter from this method which, in practice,
1177         is always the same as the url of the ResourceRequest parameter.
1178
1179         * loader/DocumentLoader.cpp:
1180         (WebCore::DocumentLoader::scheduleArchiveLoad):
1181         * loader/DocumentLoader.h:
1182
1183         * loader/ResourceLoader.cpp:
1184         (WebCore::ResourceLoader::start):
1185
1186 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
1187
1188         Web Inspector: relax goto file matching again.
1189         https://bugs.webkit.org/show_bug.cgi?id=108346
1190
1191         Reviewed by Vsevolod Vlasov.
1192
1193         This change brings back behavior introduced in r116244.
1194
1195         * inspector/front-end/FilteredItemSelectionDialog.js:
1196         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
1197         (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegex):
1198         (WebInspector.FilteredItemSelectionDialog.prototype._createScoringRegex):
1199         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems.compareFunction):
1200         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
1201         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
1202         (WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
1203         (WebInspector.OpenResourceDialog):
1204         * inspector/front-end/utilities.js:
1205         (String.regexSpecialCharacters):
1206         (String.prototype.escapeForRegExp):
1207
1208 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1209
1210         Web Inspector: Navigator should not create tree elements for uiSourceCodes unless neededm should populate folders on expand only.
1211         https://bugs.webkit.org/show_bug.cgi?id=108601
1212
1213         Reviewed by Pavel Feldman.
1214
1215         Tree elememnts for uiSourceCodes are not created until really needed anymore.
1216         They are now created when parent folder tree elememnts are expanded or when uiSourceCode is revealed in navigator.
1217
1218         * inspector/front-end/NavigatorView.js:
1219         (WebInspector.NavigatorView):
1220         (WebInspector.NavigatorView.prototype.addUISourceCode):
1221         (WebInspector.NavigatorView.prototype._getOrCreateScriptTreeElement):
1222         (WebInspector.NavigatorView.prototype._getScriptTreeElement):
1223         (WebInspector.NavigatorView.prototype._createScriptTreeElement):
1224         (WebInspector.NavigatorView.prototype._removeScriptTreeElement):
1225         (WebInspector.NavigatorView.prototype._updateScriptTitle):
1226         (WebInspector.NavigatorView.prototype.isScriptSourceAdded):
1227         (WebInspector.NavigatorView.prototype.revealUISourceCode):
1228         (WebInspector.NavigatorView.prototype.removeUISourceCode):
1229         (WebInspector.NavigatorView.prototype.reset):
1230         (WebInspector.NavigatorView.prototype.createFolderTreeElement):
1231         (WebInspector.NavigatorView.prototype._populateFolderTreeElement):
1232         (WebInspector.NavigatorView.prototype._addScriptTreeElement):
1233         (WebInspector.NavigatorView.prototype._adoptUISourceCode):
1234         (WebInspector.NavigatorFolderTreeElement):
1235         (WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
1236
1237 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1238
1239         Web Inspector: TabbedEditorContainer.History performance optimization.
1240         https://bugs.webkit.org/show_bug.cgi?id=108581
1241
1242         Introduced history items indexing by url.
1243
1244         Reviewed by Pavel Feldman.
1245
1246         Covered by existing test.
1247
1248         * inspector/front-end/TabbedEditorContainer.js:
1249         (WebInspector.TabbedEditorContainer.History):
1250         (WebInspector.TabbedEditorContainer.History.prototype.index):
1251         (WebInspector.TabbedEditorContainer.History.prototype._rebuildItemIndex):
1252         (WebInspector.TabbedEditorContainer.History.prototype.update):
1253         (WebInspector.TabbedEditorContainer.History.prototype.remove):
1254
1255 2013-02-01  Geoffrey Garen  <ggaren@apple.com>
1256
1257         Added TriState to WTF and started using it in one place
1258         https://bugs.webkit.org/show_bug.cgi?id=108628
1259
1260         Reviewed by Beth Dakin.
1261
1262         * editing/EditingStyle.h:
1263         (WebCore): Moved TriState to WTF so it can be used in more places.
1264
1265 2013-02-01  Pavel Feldman  <pfeldman@chromium.org>
1266
1267         Web Inspector: Follow up to r141260: fixing renamed style.
1268         Not reviewed.
1269
1270         * inspector/front-end/FilteredItemSelectionDialog.js:
1271         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
1272         (WebInspector.FilteredItemSelectionDialog.prototype._onClick):
1273         (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
1274
1275 2013-02-01  Alexis Menard  <alexis@webkit.org>
1276
1277         Enable unprefixed CSS transitions by default.
1278         https://bugs.webkit.org/show_bug.cgi?id=108216
1279
1280         Reviewed by Dean Jackson.
1281
1282         Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
1283         to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to 
1284         guard the unprefixing work for CSS Transforms and animations. Remove the
1285         various #ifdefs and conditional generations.
1286
1287         * Configurations/FeatureDefines.xcconfig:
1288         * DerivedSources.cpp:
1289         * GNUmakefile.features.am.in:
1290         * css/CSSPropertyNames.in:
1291         * dom/EventNames.in:
1292         * dom/TransitionEvent.cpp:
1293         * dom/TransitionEvent.h:
1294         * dom/TransitionEvent.idl:
1295         * page/DOMWindow.idl:
1296         * page/animation/AnimationController.cpp:
1297         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
1298
1299 2013-02-01  Kentaro Hara  <haraken@chromium.org>
1300
1301         Unreviewed, rolling out r141548.
1302         http://trac.webkit.org/changeset/141548
1303         https://bugs.webkit.org/show_bug.cgi?id=108579
1304
1305         userscript-plugin-document.html is flaky
1306
1307         * bindings/v8/DOMDataStore.h:
1308         (WebCore::DOMDataStore::setWrapperInObject):
1309         * bindings/v8/V8GCController.cpp:
1310         (WebCore):
1311         (WebCore::gcTree):
1312         (WebCore::V8GCController::didCreateWrapperForNode):
1313         (WebCore::V8GCController::gcPrologue):
1314         (WebCore::V8GCController::minorGCPrologue):
1315         (WebCore::V8GCController::majorGCPrologue):
1316         * bindings/v8/V8GCController.h:
1317         (V8GCController):
1318
1319 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
1320
1321         Web Inspector: fix jscompiler warnings
1322         https://bugs.webkit.org/show_bug.cgi?id=108604
1323
1324         Reviewed by Pavel Feldman.
1325
1326         * inspector/front-end/ConsoleView.js:
1327         (WebInspector.ConsoleGroup.prototype.addMessage):
1328         * inspector/front-end/ContextMenu.js:
1329         (WebInspector.ContextSubMenuItem):
1330         * inspector/front-end/ImageView.js:
1331         (WebInspector.ImageView.prototype._copyImageURL):
1332         (WebInspector.ImageView.prototype._openInNewTab):
1333         * inspector/front-end/NetworkPanel.js:
1334         (WebInspector.NetworkLogView.prototype._clearBrowserCache):
1335         (WebInspector.NetworkLogView.prototype._clearBrowserCookies):
1336         * inspector/front-end/ResourcesPanel.js:
1337         (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
1338         * inspector/front-end/ScriptsNavigator.js:
1339         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
1340         (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
1341         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1342         (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
1343         * inspector/front-end/Toolbar.js:
1344         (WebInspector.Toolbar.prototype._isDockedToBottom):
1345
1346 2013-02-01  Jae Hyun Park  <jae.park@company100.net>
1347
1348
1349         Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
1350         https://bugs.webkit.org/show_bug.cgi?id=108590
1351
1352         Reviewed by Noam Rosenthal.
1353
1354         Sort CoordinatedGraphics files in Target.pri in alphabetical order.
1355
1356         No new tests. No change in behavior.
1357
1358         * Target.pri:
1359
1360 2013-02-01  Ilya Tikhonovsky  <loislo@chromium.org>
1361
1362         Web Inspector: Native Memory Instrumentation: provide edge names to class members in all WebCore instrumented classes.
1363         https://bugs.webkit.org/show_bug.cgi?id=107369
1364
1365         Reviewed by Yury Semikhatsky.
1366
1367         It is almost mechanical change generated by a script.
1368         Late I'll implement name to edge name consistency check in clang plugin.
1369
1370         * Modules/webaudio/AudioContext.cpp:
1371         (WebCore::AudioContext::reportMemoryUsage):
1372         * Modules/webaudio/AudioNode.cpp:
1373         (WebCore::AudioNode::reportMemoryUsage):
1374         * bindings/js/ScriptWrappable.h:
1375         (WebCore::ScriptWrappable::reportMemoryUsage):
1376         * bindings/v8/DOMDataStore.cpp:
1377         (WebCore::DOMDataStore::reportMemoryUsage):
1378         * bindings/v8/DOMWrapperMap.h:
1379         (WebCore::DOMWrapperMap::reportMemoryUsage):
1380         * bindings/v8/V8PerIsolateData.cpp:
1381         (WebCore::V8PerIsolateData::reportMemoryUsage):
1382         * bindings/v8/V8ValueCache.cpp:
1383         (WebCore::StringCache::reportMemoryUsage):
1384         * css/CSSBorderImageSliceValue.cpp:
1385         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
1386         * css/CSSCalculationValue.cpp:
1387         * css/CSSCanvasValue.cpp:
1388         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
1389         * css/CSSCharsetRule.cpp:
1390         (WebCore::CSSCharsetRule::reportMemoryUsage):
1391         * css/CSSComputedStyleDeclaration.cpp:
1392         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
1393         * css/CSSCrossfadeValue.cpp:
1394         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
1395         * css/CSSCursorImageValue.cpp:
1396         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
1397         * css/CSSFontFaceRule.cpp:
1398         (WebCore::CSSFontFaceRule::reportMemoryUsage):
1399         * css/CSSFontFaceSrcValue.cpp:
1400         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
1401         * css/CSSFunctionValue.cpp:
1402         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
1403         * css/CSSGradientValue.cpp:
1404         (WebCore::CSSGradientColorStop::reportMemoryUsage):
1405         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
1406         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
1407         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
1408         * css/CSSGroupingRule.cpp:
1409         (WebCore::CSSGroupingRule::reportMemoryUsage):
1410         * css/CSSImageGeneratorValue.cpp:
1411         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
1412         * css/CSSImageSetValue.cpp:
1413         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
1414         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
1415         * css/CSSImageValue.cpp:
1416         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
1417         * css/CSSImportRule.cpp:
1418         (WebCore::CSSImportRule::reportMemoryUsage):
1419         * css/CSSMediaRule.cpp:
1420         (WebCore::CSSMediaRule::reportMemoryUsage):
1421         * css/CSSPageRule.cpp:
1422         (WebCore::CSSPageRule::reportMemoryUsage):
1423         * css/CSSPrimitiveValue.cpp:
1424         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
1425         * css/CSSProperty.cpp:
1426         (WebCore::CSSProperty::reportMemoryUsage):
1427         * css/CSSReflectValue.cpp:
1428         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
1429         * css/CSSRule.cpp:
1430         (WebCore::CSSRule::reportMemoryUsage):
1431         * css/CSSRuleList.cpp:
1432         (WebCore::StaticCSSRuleList::reportMemoryUsage):
1433         * css/CSSRuleList.h:
1434         * css/CSSSelectorList.cpp:
1435         (WebCore::CSSSelectorList::reportMemoryUsage):
1436         * css/CSSStyleRule.cpp:
1437         (WebCore::CSSStyleRule::reportMemoryUsage):
1438         * css/CSSStyleSheet.cpp:
1439         (WebCore::CSSStyleSheet::reportMemoryUsage):
1440         * css/CSSValue.cpp:
1441         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
1442         * css/CSSValueList.cpp:
1443         (WebCore::CSSValueList::reportDescendantMemoryUsage):
1444         * css/CSSVariableValue.h:
1445         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
1446         * css/FontFeatureValue.cpp:
1447         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
1448         * css/FontValue.cpp:
1449         (WebCore::FontValue::reportDescendantMemoryUsage):
1450         * css/MediaList.cpp:
1451         (WebCore::MediaQuerySet::reportMemoryUsage):
1452         (WebCore::MediaList::reportMemoryUsage):
1453         * css/MediaQuery.cpp:
1454         (WebCore::MediaQuery::reportMemoryUsage):
1455         * css/MediaQueryExp.cpp:
1456         (WebCore::MediaQueryExp::reportMemoryUsage):
1457         * css/PropertySetCSSStyleDeclaration.cpp:
1458         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
1459         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
1460         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
1461         * css/RuleFeature.cpp:
1462         (WebCore::RuleFeatureSet::reportMemoryUsage):
1463         * css/RuleSet.cpp:
1464         (WebCore::RuleData::reportMemoryUsage):
1465         (WebCore::RuleSet::reportMemoryUsage):
1466         (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
1467         * css/ShadowValue.cpp:
1468         (WebCore::ShadowValue::reportDescendantMemoryUsage):
1469         * css/StylePropertySet.cpp:
1470         (WebCore::StylePropertySet::reportMemoryUsage):
1471         * css/StyleResolver.cpp:
1472         (WebCore::StyleResolver::MatchedProperties::reportMemoryUsage):
1473         (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
1474         (WebCore::MediaQueryResult::reportMemoryUsage):
1475         (WebCore::StyleResolver::reportMemoryUsage):
1476         * css/StyleRule.cpp:
1477         (WebCore::StyleRule::reportDescendantMemoryUsage):
1478         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
1479         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
1480         (WebCore::StyleRuleGroup::reportDescendantMemoryUsage):
1481         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
1482         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
1483         (WebCore::StyleRuleViewport::reportDescendantMemoryUsage):
1484         * css/StyleRuleImport.cpp:
1485         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
1486         * css/StyleScopeResolver.cpp:
1487         (WebCore::StyleScopeResolver::reportMemoryUsage):
1488         * css/StyleSheetContents.cpp:
1489         (WebCore::StyleSheetContents::reportMemoryUsage):
1490         * css/WebKitCSSKeyframeRule.cpp:
1491         (WebCore::StyleKeyframe::reportMemoryUsage):
1492         (WebCore::WebKitCSSKeyframeRule::reportMemoryUsage):
1493         * css/WebKitCSSKeyframesRule.cpp:
1494         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1495         (WebCore::WebKitCSSKeyframesRule::reportMemoryUsage):
1496         * css/WebKitCSSSVGDocumentValue.cpp:
1497         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
1498         * css/WebKitCSSShaderValue.cpp:
1499         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
1500         * css/WebKitCSSViewportRule.cpp:
1501         (WebCore::WebKitCSSViewportRule::reportMemoryUsage):
1502         * dom/Attribute.h:
1503         (WebCore::Attribute::reportMemoryUsage):
1504         * dom/CharacterData.cpp:
1505         (WebCore::CharacterData::reportMemoryUsage):
1506         * dom/ContainerNode.cpp:
1507         (WebCore::ContainerNode::reportMemoryUsage):
1508         * dom/ContainerNode.h:
1509         (ContainerNode):
1510         * dom/Document.cpp:
1511         (WebCore::Document::reportMemoryUsage):
1512         * dom/DocumentEventQueue.cpp:
1513         (WebCore::DocumentEventQueue::reportMemoryUsage):
1514         * dom/DocumentOrderedMap.cpp:
1515         (WebCore::DocumentOrderedMap::reportMemoryUsage):
1516         * dom/DocumentStyleSheetCollection.cpp:
1517         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
1518         * dom/Element.cpp:
1519         (WebCore::Element::reportMemoryUsage):
1520         * dom/ElementAttributeData.cpp:
1521         (WebCore::ElementAttributeData::reportMemoryUsage):
1522         * dom/ElementRareData.cpp:
1523         (WebCore::ElementRareData::reportMemoryUsage):
1524         * dom/ElementShadow.cpp:
1525         (WebCore::ElementShadow::reportMemoryUsage):
1526         * dom/Event.cpp:
1527         (WebCore::Event::reportMemoryUsage):
1528         * dom/LiveNodeList.cpp:
1529         (WebCore::LiveNodeListBase::reportMemoryUsage):
1530         * dom/Node.cpp:
1531         (WebCore::Node::reportMemoryUsage):
1532         * dom/NodeRareData.cpp:
1533         (WebCore::NodeListsNodeData::reportMemoryUsage):
1534         (WebCore::NodeRareData::reportMemoryUsage):
1535         * dom/QualifiedName.cpp:
1536         (WebCore::QualifiedName::reportMemoryUsage):
1537         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
1538         * dom/ScriptExecutionContext.cpp:
1539         (WebCore::ScriptExecutionContext::reportMemoryUsage):
1540         * dom/SecurityContext.cpp:
1541         (WebCore::SecurityContext::reportMemoryUsage):
1542         * dom/ShadowRoot.cpp:
1543         (WebCore::ShadowRoot::reportMemoryUsage):
1544         * dom/TreeScope.cpp:
1545         (WebCore::TreeScope::reportMemoryUsage):
1546         * html/HTMLCanvasElement.cpp:
1547         (WebCore::HTMLCanvasElement::reportMemoryUsage):
1548         * html/HTMLFormControlElement.cpp:
1549         (WebCore::HTMLFormControlElement::reportMemoryUsage):
1550         * html/HTMLImageElement.cpp:
1551         (WebCore::HTMLImageElement::reportMemoryUsage):
1552         * html/HTMLInputElement.cpp:
1553         (WebCore::HTMLInputElement::reportMemoryUsage):
1554         * html/HTMLMediaElement.cpp:
1555         (WebCore::HTMLMediaElement::reportMemoryUsage):
1556         * html/HTMLTextFormControlElement.cpp:
1557         (WebCore::HTMLTextFormControlElement::reportMemoryUsage):
1558         * inspector/HeapGraphSerializer.cpp:
1559         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
1560         (WebCore::HeapGraphSerializer::reportNode):
1561         (WebCore::HeapGraphSerializer::reportMemoryUsage):
1562         * inspector/HeapGraphSerializer.h:
1563         (HeapGraphSerializer):
1564         * inspector/InspectorBaseAgent.cpp:
1565         (WebCore::InspectorBaseAgentInterface::reportMemoryUsage):
1566         * inspector/InspectorController.cpp:
1567         (WebCore::InspectorController::reportMemoryUsage):
1568         * inspector/InspectorDOMStorageAgent.cpp:
1569         (WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
1570         * inspector/InspectorDOMStorageResource.cpp:
1571         (WebCore::InspectorDOMStorageResource::reportMemoryUsage):
1572         * inspector/InspectorDebuggerAgent.cpp:
1573         (WebCore::InspectorDebuggerAgent::reportMemoryUsage):
1574         (WebCore::ScriptDebugListener::Script::reportMemoryUsage):
1575         * inspector/InspectorMemoryAgent.cpp:
1576         (WebCore::InspectorMemoryAgent::reportMemoryUsage):
1577         * inspector/InspectorOverlay.cpp:
1578         (WebCore::InspectorOverlay::reportMemoryUsage):
1579         * inspector/InspectorProfilerAgent.cpp:
1580         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
1581         * inspector/InspectorResourceAgent.cpp:
1582         (WebCore::InspectorResourceAgent::reportMemoryUsage):
1583         * inspector/MemoryInstrumentationImpl.cpp:
1584         (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
1585         (WebCore::MemoryInstrumentationImpl::reportMemoryUsage):
1586         * inspector/NetworkResourcesData.cpp:
1587         (WebCore::XHRReplayData::reportMemoryUsage):
1588         (WebCore::NetworkResourcesData::ResourceData::reportMemoryUsage):
1589         (WebCore::NetworkResourcesData::reportMemoryUsage):
1590         * loader/CachedMetadata.cpp:
1591         (WebCore::CachedMetadata::reportMemoryUsage):
1592         * loader/DocumentLoader.cpp:
1593         (WebCore::DocumentLoader::reportMemoryUsage):
1594         * loader/FrameLoader.cpp:
1595         (WebCore::FrameLoader::reportMemoryUsage):
1596         * loader/MainResourceLoader.cpp:
1597         (WebCore::MainResourceLoader::reportMemoryUsage):
1598         * loader/Prerenderer.cpp:
1599         (WebCore::Prerenderer::reportMemoryUsage):
1600         * loader/ResourceBuffer.cpp:
1601         (WebCore::ResourceBuffer::reportMemoryUsage):
1602         * loader/ResourceLoader.cpp:
1603         (WebCore::ResourceLoader::reportMemoryUsage):
1604         * loader/SubresourceLoader.cpp:
1605         (WebCore::SubresourceLoader::reportMemoryUsage):
1606         * loader/SubstituteData.cpp:
1607         (WebCore::SubstituteData::reportMemoryUsage):
1608         * loader/cache/CachedCSSStyleSheet.cpp:
1609         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1610         * loader/cache/CachedFont.cpp:
1611         (WebCore::CachedFont::reportMemoryUsage):
1612         * loader/cache/CachedImage.cpp:
1613         (WebCore::CachedImage::reportMemoryUsage):
1614         * loader/cache/CachedResource.cpp:
1615         (WebCore::CachedResource::reportMemoryUsage):
1616         * loader/cache/CachedResourceHandle.cpp:
1617         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
1618         * loader/cache/CachedResourceLoader.cpp:
1619         (WebCore::CachedResourceLoader::reportMemoryUsage):
1620         * loader/cache/CachedSVGDocument.cpp:
1621         (WebCore::CachedSVGDocument::reportMemoryUsage):
1622         * loader/cache/CachedScript.cpp:
1623         (WebCore::CachedScript::reportMemoryUsage):
1624         * loader/cache/CachedShader.cpp:
1625         (WebCore::CachedShader::reportMemoryUsage):
1626         * loader/cache/CachedXSLStyleSheet.cpp:
1627         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1628         * loader/cache/MemoryCache.cpp:
1629         (WebCore::MemoryCache::reportMemoryUsage):
1630         * page/DOMTimer.cpp:
1631         (WebCore::DOMTimer::reportMemoryUsage):
1632         * page/Frame.cpp:
1633         (WebCore::Frame::reportMemoryUsage):
1634         * page/Page.cpp:
1635         (WebCore::Page::reportMemoryUsage):
1636         * platform/KURL.cpp:
1637         (WebCore::KURL::reportMemoryUsage):
1638         * platform/KURLGoogle.cpp:
1639         (WebCore::KURLGooglePrivate::reportMemoryUsage):
1640         * platform/KURLWTFURLImpl.h:
1641         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
1642         * platform/ScrollableArea.cpp:
1643         (WebCore::ScrollableArea::reportMemoryUsage):
1644         * platform/SharedBuffer.cpp:
1645         (WebCore::SharedBuffer::reportMemoryUsage):
1646         * platform/audio/AudioArray.h:
1647         (WebCore::AudioArray::reportMemoryUsage):
1648         * platform/audio/FFTFrame.cpp:
1649         (WebCore::FFTFrame::reportMemoryUsage):
1650         * platform/audio/HRTFDatabase.cpp:
1651         (WebCore::HRTFDatabase::reportMemoryUsage):
1652         * platform/audio/HRTFDatabaseLoader.cpp:
1653         (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
1654         * platform/audio/HRTFElevation.cpp:
1655         (WebCore::HRTFElevation::reportMemoryUsage):
1656         * platform/audio/HRTFKernel.cpp:
1657         (WebCore::HRTFKernel::reportMemoryUsage):
1658         * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
1659         (reportMemoryUsage):
1660         * platform/graphics/BitmapImage.cpp:
1661         (WebCore::BitmapImage::reportMemoryUsage):
1662         (WebCore::FrameData::reportMemoryUsage):
1663         * platform/graphics/CrossfadeGeneratedImage.cpp:
1664         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
1665         * platform/graphics/GeneratorGeneratedImage.cpp:
1666         (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
1667         * platform/graphics/GraphicsLayer.cpp:
1668         (WebCore::GraphicsLayer::reportMemoryUsage):
1669         * platform/graphics/ImageBuffer.cpp:
1670         (WebCore::ImageBuffer::reportMemoryUsage):
1671         * platform/graphics/ImageSource.cpp:
1672         (WebCore::ImageSource::reportMemoryUsage):
1673         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1674         (WebCore::GraphicsLayerChromium::reportMemoryUsage):
1675         * platform/graphics/skia/ImageBufferSkia.cpp:
1676         (WebCore::ImageBufferData::reportMemoryUsage):
1677         * platform/graphics/skia/MemoryInstrumentationSkia.cpp:
1678         (reportMemoryUsage):
1679         * platform/graphics/skia/NativeImageSkia.cpp:
1680         (WebCore::NativeImageSkia::reportMemoryUsage):
1681         * platform/image-decoders/ImageDecoder.cpp:
1682         (WebCore::ImageFrame::reportMemoryUsage):
1683         (WebCore):
1684         (WebCore::ImageDecoder::reportMemoryUsage):
1685         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1686         (WebCore::ImageFrame::reportMemoryUsage):
1687         * platform/network/FormData.cpp:
1688         (WebCore::FormData::reportMemoryUsage):
1689         (WebCore::FormDataElement::reportMemoryUsage):
1690         * platform/network/ResourceRequestBase.cpp:
1691         (WebCore::ResourceRequestBase::reportMemoryUsageBase):
1692         * platform/network/ResourceResponseBase.cpp:
1693         (WebCore::ResourceResponseBase::reportMemoryUsage):
1694         * platform/network/chromium/ResourceRequest.cpp:
1695         (WebCore::ResourceRequest::reportMemoryUsage):
1696         * rendering/InlineBox.cpp:
1697         (WebCore::InlineBox::reportMemoryUsage):
1698         * rendering/InlineFlowBox.cpp:
1699         (WebCore::InlineFlowBox::reportMemoryUsage):
1700         * rendering/InlineTextBox.cpp:
1701         (WebCore::InlineTextBox::reportMemoryUsage):
1702         * rendering/RenderBlock.cpp:
1703         (WebCore::RenderBlock::reportMemoryUsage):
1704         * rendering/RenderBox.cpp:
1705         (WebCore::RenderBox::reportMemoryUsage):
1706         * rendering/RenderFrameSet.cpp:
1707         (WebCore::RenderFrameSet::reportMemoryUsage):
1708         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
1709         * rendering/RenderInline.cpp:
1710         (WebCore::RenderInline::reportMemoryUsage):
1711         * rendering/RenderLayer.cpp:
1712         (WebCore::RenderLayer::reportMemoryUsage):
1713         * rendering/RenderLayerBacking.cpp:
1714         (WebCore::RenderLayerBacking::reportMemoryUsage):
1715         * rendering/RenderLayerCompositor.cpp:
1716         (WebCore::RenderLayerCompositor::reportMemoryUsage):
1717         * rendering/RenderListMarker.cpp:
1718         (WebCore::RenderListMarker::reportMemoryUsage):
1719         * rendering/RenderObject.cpp:
1720         (WebCore::RenderObject::reportMemoryUsage):
1721         * rendering/RenderTableCol.cpp:
1722         (WebCore::RenderTableCol::reportMemoryUsage):
1723         * rendering/RenderTableRow.cpp:
1724         (WebCore::RenderTableRow::reportMemoryUsage):
1725         * rendering/RenderTableSection.cpp:
1726         (WebCore::RenderTableSection::reportMemoryUsage):
1727         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
1728         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
1729         * rendering/RenderText.cpp:
1730         (WebCore::RenderText::reportMemoryUsage):
1731         * rendering/RenderView.cpp:
1732         (WebCore::RenderView::reportMemoryUsage):
1733         * rendering/style/DataRef.h:
1734         (WebCore::DataRef::reportMemoryUsage):
1735         * rendering/style/RenderStyle.cpp:
1736         (WebCore::RenderStyle::reportMemoryUsage):
1737         * rendering/style/StyleRareInheritedData.cpp:
1738         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1739         * rendering/style/StyleRareNonInheritedData.cpp:
1740         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1741         * svg/SVGPaint.cpp:
1742         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1743         * svg/graphics/SVGImage.cpp:
1744         (WebCore::SVGImage::reportMemoryUsage):
1745         * xml/XMLHttpRequest.cpp:
1746         (WebCore::XMLHttpRequest::reportMemoryUsage):
1747
1748 2013-02-01  Philippe Normand  <pnormand@igalia.com>
1749
1750         [GTK][GStreamer] FullscreenVideoControllerGtk implementation
1751         https://bugs.webkit.org/show_bug.cgi?id=107398
1752
1753         Reviewed by Gustavo Noronha Silva.
1754
1755         NATIVE_FULLSCREEN_VIDEO support for the GTK port. The previous
1756         FullscreenVideoController implementation was refactored as a
1757         sub-class of FullscreenVideoControllerGStreamer and hooked in the
1758         MediaPlayerPrivateGStreamer backend.
1759
1760         * GNUmakefile.list.am:
1761         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1762         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1763         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1764         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp.
1765         * platform/graphics/gtk/FullscreenVideoControllerGtk.h: Renamed from Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h.
1766
1767 2013-02-01  Andrey Lushnikov  <lushnikov@chromium.org>
1768
1769         Web Inspector: fix cursor location in Source Frame
1770         https://bugs.webkit.org/show_bug.cgi?id=108592
1771
1772         Reviewed by Pavel Feldman.
1773
1774         Normalize range before computing amount of lines in
1775         _updateSourcePosition.
1776
1777         No new tests.
1778
1779         * inspector/front-end/SourceFrame.js:
1780         (WebInspector.SourceFrame.prototype._updateSourcePosition): Normalize text range.
1781         * inspector/front-end/inspector.css: Slightly bigger left padding for the text.
1782         (.source-frame-position):
1783
1784 2013-02-01  Kentaro Hara  <haraken@chromium.org>
1785
1786         Unreviewed build fix after r141553.
1787
1788         * bindings/scripts/CodeGeneratorV8.pm:
1789         (GenerateImplementation):
1790         * bindings/scripts/test/V8/V8Float64Array.cpp:
1791         (WebCore::V8Float64Array::HasInstance):
1792         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1793         (WebCore::V8TestActiveDOMObject::HasInstance):
1794         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1795         (WebCore::V8TestCustomNamedGetter::HasInstance):
1796         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1797         (WebCore::V8TestEventConstructor::HasInstance):
1798         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1799         (WebCore::V8TestEventTarget::HasInstance):
1800         * bindings/scripts/test/V8/V8TestException.cpp:
1801         (WebCore::V8TestException::HasInstance):
1802         * bindings/scripts/test/V8/V8TestInterface.cpp:
1803         (WebCore::V8TestInterface::HasInstance):
1804         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1805         (WebCore::V8TestMediaQueryListListener::HasInstance):
1806         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1807         (WebCore::V8TestNamedConstructor::HasInstance):
1808         * bindings/scripts/test/V8/V8TestNode.cpp:
1809         (WebCore::V8TestNode::HasInstance):
1810         * bindings/scripts/test/V8/V8TestObj.cpp:
1811         (WebCore::V8TestObj::HasInstance):
1812         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1813         (WebCore::V8TestOverloadedConstructors::HasInstance):
1814         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1815         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1816
1817 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1818
1819         Web Inspector: Sources panel navigator reveal and expand fixes.
1820         https://bugs.webkit.org/show_bug.cgi?id=108584
1821
1822         Reviewed by Pavel Feldman.
1823
1824         Navigator folders are not expanded by default anymore.
1825         Made domain folder expanded for inspected page main frame domain.
1826         UISourceCodes are now added to navigator before editor container
1827         so that they could be revealed if editor container decides to show them.
1828
1829         * inspector/front-end/NavigatorView.js:
1830         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
1831         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1832         * inspector/front-end/ScriptsPanel.js:
1833         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1834
1835 2013-02-01  Andrey Adaikin  <aandrey@chromium.org>
1836
1837         Web Inspector: [Canvas] drop trace log in the backend when deleting profile in frontend
1838         https://bugs.webkit.org/show_bug.cgi?id=108591
1839
1840         Reviewed by Pavel Feldman.
1841
1842         Send a dropTraceLog command to the backend when deleting a profile header from the sidebar.
1843         Before we were sending the command only upon deleting an existing view of a profile, so we  would not
1844         sent the command if the view was not created or if a profile header was removed via context menu (the ondelete() method).
1845         Drive-by: fixed an odd formatting of property functions.
1846
1847         * inspector/front-end/CanvasProfileView.js:
1848         (WebInspector.CanvasProfileView.prototype.dispose):
1849         (WebInspector.CanvasProfileHeader.prototype.reset):
1850         * inspector/front-end/ProfilesPanel.js:
1851         (WebInspector.ProfileHeader.prototype.reset):
1852         (WebInspector.ProfileHeader.prototype.load):
1853         (WebInspector.ProfileHeader.prototype.canSaveToFile):
1854         (WebInspector.ProfileHeader.prototype.saveToFile):
1855         (WebInspector.ProfileHeader.prototype.loadFromFile):
1856         (WebInspector.ProfileHeader.prototype.fromFile):
1857         (WebInspector.ProfilesPanel):
1858         (WebInspector.ProfilesPanel.prototype._reset):
1859         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1860
1861 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
1862
1863         AX: when aria-activedescendant is used with a ComboBox role, focus should not be changed
1864         https://bugs.webkit.org/show_bug.cgi?id=108596
1865
1866         Reviewed by Ryosuke Niwa.
1867
1868         Normally, an aria-activedescendant change causes a focus change to be triggered.
1869         However, when used in conjunction with a combo box, this causes problems for screen readers.
1870         Namely, the user expects focus to remain in the text field so that the user can keep typing. 
1871         If focus moves to an item in the combobox list, it is not possible to keep typing.
1872
1873         The solution is to not trigger a focus change in this case and instead use a selected children change notification.
1874
1875         Test: platform/mac/accessibility/combobox-activedescendant-notifications.html
1876
1877         * accessibility/AccessibilityRenderObject.cpp:
1878         (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant):
1879         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
1880         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1881         * accessibility/AccessibilityRenderObject.h:
1882         (AccessibilityRenderObject):
1883         * accessibility/mac/AXObjectCacheMac.mm:
1884         (WebCore::AXObjectCache::postPlatformNotification):
1885
1886 2013-02-01  Chris Fleizach  <cfleizach@apple.com>
1887
1888         [Mac] REGRESSION(r140974): accessibility/lists.html fails on Lion=
1889         https://bugs.webkit.org/show_bug.cgi?id=108291
1890
1891         Reviewed by Ryosuke Niwa.
1892
1893         This accounts for differences in what AppKit gives for accessibility role descriptions between platforms
1894         when the subrole is not recognized, and standardizes it for WebKit.
1895
1896         Unskip a failing Lion test
1897
1898         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1899         (-[WebAccessibilityObjectWrapper roleDescription]):
1900
1901 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1902
1903         Web Inspector: Replace localeCompare in NavigatorView with compareTo.
1904         https://bugs.webkit.org/show_bug.cgi?id=108585
1905
1906         Reviewed by Pavel Feldman.
1907
1908         Replaced String.prototype.localeCompare with String.prototype.compareTo
1909         in NavigatorView to improve performance.
1910
1911         * inspector/front-end/NavigatorView.js:
1912         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1913
1914 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
1915
1916         Web Inspector: File system pending requests list is not cleared after processing.
1917         https://bugs.webkit.org/show_bug.cgi?id=108573
1918
1919         Reviewed by Pavel Feldman.
1920
1921         * inspector/front-end/IsolatedFileSystemModel.js:
1922         (WebInspector.IsolatedFileSystemModel.prototype._processPendingFileSystemRequests):
1923
1924 2013-02-01  Tom Sepez  <tsepez@chromium.org>
1925
1926         Dubious cast from HTMLCollection to HTMLAllCollection
1927         https://bugs.webkit.org/show_bug.cgi?id=108538
1928
1929         Reviewed by Adam Barth.
1930
1931         Patch is tested by enabling V8 binding integrity on HTMLAllCollection and
1932         running the existing tests without introducing new crashes.
1933
1934         * dom/Document.cpp:
1935         (WebCore::Document::all):
1936         Pass correct type to template.
1937         
1938         * html/HTMLAllCollection.cpp:
1939         (WebCore::HTMLAllCollection::create):
1940         (WebCore::HTMLAllCollection::HTMLAllCollection):
1941         * html/HTMLAllCollection.h:
1942         (HTMLAllCollection):
1943         Make create() method arguments compatible with template above.
1944
1945         * html/HTMLAllCollection.idl:
1946         Enable binding integrity.
1947
1948 2013-02-01  Ken Kania  <kkania@chromium.org>
1949
1950         Web Inspector: Add support for handling modal dialogs
1951         https://bugs.webkit.org/show_bug.cgi?id=107883
1952
1953         Reviewed by Pavel Feldman.
1954
1955         Introduce support for being notified when a JavaScript modal dialog
1956         is opening and closing, as well as a new command for accepting or
1957         dismissing the dialog.
1958
1959         Test: inspector-protocol/page/willRunJavaScriptDialog.html
1960
1961         * inspector/Inspector.json:
1962         * inspector/InspectorClient.h:
1963         (WebCore::InspectorClient::handleJavaScriptDialog):
1964         (InspectorClient):
1965         * inspector/InspectorInstrumentation.cpp:
1966         (WebCore):
1967         (WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
1968         (WebCore::InspectorInstrumentation::didRunJavaScriptDialogImpl):
1969         * inspector/InspectorInstrumentation.h:
1970         (InspectorInstrumentation):
1971         (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
1972         (WebCore):
1973         (WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
1974         * inspector/InspectorPageAgent.cpp:
1975         (WebCore::InspectorPageAgent::willRunJavaScriptDialog):
1976         (WebCore):
1977         (WebCore::InspectorPageAgent::didRunJavaScriptDialog):
1978         (WebCore::InspectorPageAgent::handleJavaScriptDialog):
1979         * inspector/InspectorPageAgent.h:
1980         * inspector/front-end/ResourceTreeModel.js:
1981         (WebInspector.PageDispatcher.prototype.frameStartedLoading):
1982         (WebInspector.PageDispatcher.prototype.frameStoppedLoading):
1983         (WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
1984         (WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):
1985         (WebInspector.PageDispatcher.prototype.javascriptDialogOpening):
1986         (WebInspector.PageDispatcher.prototype.javascriptDialogClosed):
1987         * page/Chrome.cpp:
1988         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1989         (WebCore::Chrome::runJavaScriptAlert):
1990         (WebCore::Chrome::runJavaScriptConfirm):
1991         (WebCore::Chrome::runJavaScriptPrompt):
1992
1993 2013-02-01  Dan Alcantara  <dfalcantara@chromium.org>
1994
1995         Touch disambiguation blacklist is not being queried properly
1996         https://bugs.webkit.org/show_bug.cgi?id=108222
1997
1998         Reviewed by Adam Barth.
1999
2000         TEST=WebFrameTest::DisambiguationPopupBlacklist
2001
2002         Fix the blacklist so that we check it for the right nodes.
2003         Add a chromium test to check that the blacklist is being built and used
2004         correctly.  Also update the other DisambiguationPopup tests to
2005         use the new page scale method.
2006
2007         * page/TouchDisambiguation.cpp:
2008         (WebCore::findGoodTouchTargets):
2009
2010 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2011
2012         [V8] Add a temporary optional Isolate parameter to HasInstance()
2013         https://bugs.webkit.org/show_bug.cgi?id=108567
2014
2015         Reviewed by Adam Barth.
2016
2017         The optional Isolate parameter will be removed once all call sites have an Isolate.
2018         It will require several patches.
2019
2020         No tests. No change in behavior.
2021
2022         * bindings/scripts/CodeGeneratorV8.pm:
2023         (GenerateHeader):
2024         (GenerateNormalAttrSetter):
2025         (GenerateParametersCheckExpression):
2026         (GenerateParametersCheck):
2027         (GenerateImplementation):
2028         * bindings/scripts/test/V8/V8Float64Array.cpp:
2029         (WebCore::V8Float64Array::HasInstance):
2030         * bindings/scripts/test/V8/V8Float64Array.h:
2031         (V8Float64Array):
2032         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2033         (WebCore::V8TestActiveDOMObject::HasInstance):
2034         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2035         (V8TestActiveDOMObject):
2036         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2037         (WebCore::V8TestCustomNamedGetter::HasInstance):
2038         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2039         (V8TestCustomNamedGetter):
2040         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2041         (WebCore::V8TestEventConstructor::HasInstance):
2042         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2043         (V8TestEventConstructor):
2044         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2045         (WebCore::V8TestEventTarget::HasInstance):
2046         * bindings/scripts/test/V8/V8TestEventTarget.h:
2047         (V8TestEventTarget):
2048         * bindings/scripts/test/V8/V8TestException.cpp:
2049         (WebCore::V8TestException::HasInstance):
2050         * bindings/scripts/test/V8/V8TestException.h:
2051         (V8TestException):
2052         * bindings/scripts/test/V8/V8TestInterface.cpp:
2053         (WebCore::V8TestInterface::HasInstance):
2054         * bindings/scripts/test/V8/V8TestInterface.h:
2055         (V8TestInterface):
2056         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2057         (WebCore::V8TestMediaQueryListListener::HasInstance):
2058         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2059         (V8TestMediaQueryListListener):
2060         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2061         (WebCore::V8TestNamedConstructor::HasInstance):
2062         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2063         (V8TestNamedConstructor):
2064         * bindings/scripts/test/V8/V8TestNode.cpp:
2065         (WebCore::V8TestNode::HasInstance):
2066         * bindings/scripts/test/V8/V8TestNode.h:
2067         (V8TestNode):
2068         * bindings/scripts/test/V8/V8TestObj.cpp:
2069         (WebCore::TestObjV8Internal::overloadedMethodCallback):
2070         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
2071         (WebCore::V8TestObj::HasInstance):
2072         * bindings/scripts/test/V8/V8TestObj.h:
2073         (V8TestObj):
2074         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2075         (WebCore::V8TestOverloadedConstructors::constructorCallback):
2076         (WebCore::V8TestOverloadedConstructors::HasInstance):
2077         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2078         (V8TestOverloadedConstructors):
2079         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2080         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2081         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2082         (V8TestSerializedScriptValueInterface):
2083
2084 2013-02-01  Nils Barth  <nbarth@google.com>
2085
2086         [CPP,GObject,ObjC] Add 'static' skip to CodeGenerator{CPP,GObject,ObjC}.pm
2087         https://bugs.webkit.org/show_bug.cgi?id=108578
2088
2089         Reviewed by Kentaro Hara.
2090
2091         Since CPP/GObject/ObjC code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
2092         do not support static attributes, add test to skip these.
2093         This lets us remove #if macro from static in test files and not need
2094         these in future.
2095
2096         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
2097         Test: bindings/scripts/test/TestSupplemental.idl (run-bindings-test)
2098
2099         * bindings/scripts/CodeGeneratorCPP.pm:
2100         (SkipAttribute):
2101         * bindings/scripts/CodeGeneratorGObject.pm:
2102         (SkipAttribute):
2103         * bindings/scripts/CodeGeneratorObjC.pm:
2104         (SkipAttribute):
2105         * bindings/scripts/test/TestObj.idl:
2106         * bindings/scripts/test/TestSupplemental.idl:
2107
2108 2013-02-01  Kentaro Hara  <haraken@chromium.org>
2109
2110         [V8] Remove V8GCController::m_edenNodes
2111         https://bugs.webkit.org/show_bug.cgi?id=108579
2112
2113         Reviewed by Adam Barth.
2114
2115         Currently V8GCController::m_edenNodes stores a list of nodes whose
2116         wrappers have been created since the latest GC. The reason why we
2117         needed m_edenNodes is that there was no way to know a list of wrappers
2118         in the new space of V8. By using m_edenNodes, we had been approximating
2119         'wrappers in the new space' by 'wrappers that have been created since
2120         the latest GC'.
2121
2122         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
2123         can know a list of wrappers in the new space. By using the API, we can
2124         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
2125         need to keep m_edenNodes and that (2) it enables more precise minor
2126         DOM GC (Remember that m_edenNodes was just an approximation).
2127
2128         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
2129         The benchmark runs 300 iterations, each of which creates 100000 elements.
2130         The benchmark measures average, min, median, max and stdev of execution times
2131         of the 300 iterations. This will tell us the worst-case overhead of this change.
2132
2133         Before:
2134           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
2135
2136         After:
2137           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
2138
2139         As shown above, I couldn't observe any performance regression.
2140
2141         No tests. No change in behavior.
2142
2143         * bindings/v8/DOMDataStore.h:
2144         (WebCore::DOMDataStore::setWrapperInObject):
2145         * bindings/v8/V8GCController.cpp:
2146         (WebCore::gcTree):
2147         (WebCore):
2148         (MinorGCWrapperVisitor):
2149         (WebCore::MinorGCWrapperVisitor::notifyFinished):
2150         (WebCore::V8GCController::gcPrologue):
2151         (WebCore::V8GCController::minorGCPrologue):
2152         (WebCore::V8GCController::majorGCPrologue):
2153         * bindings/v8/V8GCController.h:
2154         (V8GCController):
2155
2156 2013-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
2157
2158         Web Inspector: Use String.prototype.startsWith instead of String.prototype.indexOf when possible
2159         https://bugs.webkit.org/show_bug.cgi?id=108575
2160
2161         Reviewed by Yury Semikhatsky.
2162
2163         * inspector/front-end/FileMapping.js:
2164         (WebInspector.FileMapping.prototype._entryMatchesURL):
2165         (WebInspector.FileMapping.prototype.urlForURI):
2166         * inspector/front-end/FileSystemMapping.js:
2167         (get WebInspector.FileSystemMappingImpl.prototype.fileForURI):
2168         (get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
2169
2170 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
2171
2172         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
2173         https://bugs.webkit.org/show_bug.cgi?id=107737
2174
2175         Reviewed by Ryosuke Niwa.
2176
2177         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
2178         to the focused editing field. Most of other WebKit ports were already doing this check
2179         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
2180         Editor so every port and use the same code.
2181
2182         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
2183         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
2184
2185         * editing/Editor.cpp:
2186         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
2187             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
2188         (WebCore):
2189         * editing/Editor.h:
2190         (Editor):
2191
2192 2013-01-31  Jae Hyun Park  <jae.park@company100.net>
2193
2194         Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
2195         https://bugs.webkit.org/show_bug.cgi?id=108149
2196
2197         Reviewed by Noam Rosenthal.
2198
2199         This patch moves Coordinated Graphics related code to WebCore. To
2200         implement Threaded Coordinated Graphics, most of Coordianted Graphics
2201         code should be shared. Therefore, they should reside in WebCore instead of
2202         WebKit2.
2203
2204         When moving to WebCore, two renamings have been done.
2205
2206         1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
2207
2208         2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
2209         CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
2210         respectively.
2211
2212         No new tests, covered by existing tests.
2213
2214         * CMakeLists.txt:
2215         * Target.pri:
2216         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2217         * platform/graphics/texmap/coordinated/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp.
2218         * platform/graphics/texmap/coordinated/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h.
2219         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
2220         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
2221         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterOperation.h.
2222         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/WebCustomFilterProgram.h.
2223         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp.
2224         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h.
2225         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp.
2226         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h.
2227         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp.
2228         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h.
2229         * platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedLayerInfo.h.
2230         * platform/graphics/texmap/coordinated/CoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.cpp.
2231         * platform/graphics/texmap/coordinated/CoordinatedSurface.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h.
2232         * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp.
2233         * platform/graphics/texmap/coordinated/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h.
2234         * platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/CoordinatedGraphics/SurfaceUpdateInfo.h.
2235         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp.
2236         * platform/graphics/texmap/coordinated/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h.
2237
2238 2013-01-31  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2239
2240         [Qt] Add support for text decoration "wavy" style
2241         https://bugs.webkit.org/show_bug.cgi?id=93507
2242
2243         Reviewed by Simon Hausmann.
2244
2245         Add support for text decoration "wavy" style for Qt platform.
2246
2247         * platform/graphics/qt/GraphicsContextQt.cpp:
2248         (WebCore::toQPenStyle):
2249         Remove FIXME comments obsoleted by this patch.
2250         (WebCore::GraphicsContext::drawLine):
2251         Implement wavy style line tracer.
2252
2253 2013-01-31  Nils Barth  <nbarth@google.com>
2254
2255         [CPP,GObject,ObjC] Add 'enum' skip to CodeGenerator{CPP,GObject,ObjC}.pm
2256         https://bugs.webkit.org/show_bug.cgi?id=108565
2257
2258         Reviewed by Kentaro Hara.
2259
2260         Since legacy code generators (CodeGenerator{CPP,GObject,ObjC}.pm)
2261         do not support enumerations, add test to skip attributes of enum type.
2262         This lets us remove #if macro from enum in test file and not need
2263         these in future.
2264         Also minor associated code cleaning:
2265           auxiliary variable: $type = $attribute->signature->type.
2266
2267         Test: bindings/scripts/test/TestObj.idl (run-bindings-test)
2268
2269         * bindings/scripts/CodeGeneratorCPP.pm:
2270         (SkipAttribute):
2271         * bindings/scripts/CodeGeneratorGObject.pm:
2272         (SkipAttribute):
2273         * bindings/scripts/CodeGeneratorObjC.pm:
2274         (SkipAttribute):
2275         * bindings/scripts/test/TestObj.idl: remove #if macro
2276
2277 2013-01-31  Kent Tamura  <tkent@chromium.org>
2278
2279         Refactoring: Remove the default argument value for Node::setFocus
2280         https://bugs.webkit.org/show_bug.cgi?id=108554
2281
2282         Reviewed by Kentaro Hara.
2283
2284         There is no code to use the default argument.
2285         No new tests. Just a refactoring.
2286
2287         * dom/Node.h: Remove default argument value for setFocus.
2288         * dom/ContainerNode.h:
2289         (ContainerNode): Ditto.
2290         * html/HTMLAreaElement.h:
2291         (HTMLAreaElement): Add OVERRIDE to setFocus.
2292         * html/HTMLFrameElementBase.h:
2293         (HTMLFrameElementBase): Ditto.
2294
2295 2013-01-31  Victor Carbune  <vcarbune@chromium.org>
2296
2297         [Track] Closed Caption button shouldn't be visible if all the track resources have failed loading
2298         https://bugs.webkit.org/show_bug.cgi?id=106285
2299
2300         Reviewed by Eric Carlson.
2301
2302         Updated existing test cases.
2303
2304         * html/HTMLMediaElement.cpp:
2305         (WebCore::HTMLMediaElement::textTracksAreReady): Checked whether there are tracks not loaded
2306         when the algorithm began.
2307         (WebCore::HTMLMediaElement::textTrackReadyStateChanged): If the ready state changed to
2308         FailedToLoad the media controls should check whether there are other caption tracks
2309         and hide the button if not.
2310         (WebCore::HTMLMediaElement::didAddTrack): Added trigger to closedCaptionsTrackChanged.
2311         (WebCore::HTMLMediaElement::hasClosedCaptions): Updated check to skip tracks that
2312         failed to load.
2313         * html/shadow/MediaControls.cpp:
2314         (WebCore::MediaControls::reset): Used the newly added method.
2315         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility): Added container method for
2316         default behaviour for refreshing the visibility of the caption button.
2317         (WebCore::MediaControls::closedCaptionTracksChanged): Used the newly added method.
2318         (WebCore):
2319         * html/shadow/MediaControls.h:
2320         (MediaControls):
2321
2322         * html/HTMLMediaElement.cpp:
2323         (WebCore::HTMLMediaElement::textTracksAreReady):
2324         (WebCore::HTMLMediaElement::textTrackReadyStateChanged):
2325         (WebCore::HTMLMediaElement::setReadyState):
2326         (WebCore::HTMLMediaElement::didAddTrack):
2327         (WebCore::HTMLMediaElement::hasClosedCaptions):
2328         * html/shadow/MediaControls.cpp:
2329         (WebCore::MediaControls::reset):
2330         (WebCore::MediaControls::refreshClosedCaptionsButtonVisibility):
2331         (WebCore::MediaControls::closedCaptionTracksChanged):
2332         (WebCore):
2333         * html/shadow/MediaControls.h:
2334         (MediaControls):
2335
2336 2013-01-31  Dima Gorbik  <dgorbik@apple.com>
2337
2338         REGRESSION(r140231): media track layout tests crashing
2339         https://bugs.webkit.org/show_bug.cgi?id=107579
2340
2341         Reviewed by Eric Carlson.
2342
2343         We were using non-standard element names with HTMLElement, which made v8 try to cast
2344         WebVTTElements to HTMLUnknownElements which was not possible. Subclassing Element instead
2345         of HTMLElement, though this requires building HTMLElements from WebVTTElements for creating
2346         a DOM tree. The code has been refactored to move WebVTT node type to QuialifiedName mappings 
2347         inside the WebVTTElement class. All WebVTTElements in the shadow dom tree now are in the 
2348         namespace defined by 'NullAtom'. This prevents regular styles from being applied to <b>, <i>
2349         and similar tags. Those have to be styled separately without reusing existing QualifiedNames
2350         and their styles. https://bugs.webkit.org/show_bug.cgi?id=107214
2351
2352         Unskipping tests to cover this.
2353
2354         * css/SelectorChecker.cpp:
2355         (WebCore::SelectorChecker::checkOne):
2356         * css/StyleResolver.cpp:
2357         (WebCore::StyleResolver::collectMatchingRules):
2358         (WebCore::StyleResolver::canShareStyleWithElement):
2359         * html/track/TextTrackCue.cpp:
2360         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree):
2361         (WebCore::TextTrackCue::getCueAsHTML):
2362         (WebCore::TextTrackCue::createCueRenderingTree):
2363         (WebCore::TextTrackCue::markFutureAndPastNodes):
2364         * html/track/TextTrackCue.h:
2365         (WebCore::TextTrackCue::cueShadowPseudoId):
2366         * html/track/WebVTTElement.cpp:
2367         (WebCore::nodeTypeToTagName): get a QualifiedName to use in the shadow DOM tree.
2368         (WebCore::WebVTTElement::WebVTTElement):
2369         (WebCore::WebVTTElement::create):
2370         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
2371         (WebCore::WebVTTElement::createEquivalentHTMLElement): create an HTMLElement to use in the DOM tree.
2372         * html/track/WebVTTElement.h:
2373         (WebCore::WebVTTElement::setWebVTTNodeType):
2374         (WebCore::WebVTTElement::webVTTNodeType):
2375         (WebCore::WebVTTElement::isPastNode):
2376         (WebCore::WebVTTElement::setIsPastNode):
2377         (WebCore::WebVTTElement::voiceAttributeName):
2378         * html/track/WebVTTParser.cpp:
2379         (WebCore::tokenToNodeType): determine a WebVTT node type for the token.
2380         (WebCore::WebVTTParser::constructTreeFromToken):
2381
2382 2013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2383
2384         Unreviewed, rolling out r141479.
2385         http://trac.webkit.org/changeset/141479
2386         https://bugs.webkit.org/show_bug.cgi?id=108564
2387
2388         breaks chromium test (Requested by morrita on #webkit).
2389
2390         * editing/Editor.cpp:
2391         * editing/Editor.h:
2392         (Editor):
2393
2394 2013-01-31  Changhun Kang  <temoochin@company100.net>
2395
2396         Rename from parentOrHost* to parentOrShadowHost* in Node.h.
2397         https://bugs.webkit.org/show_bug.cgi?id=108308
2398
2399         Reviewed by Dimitri Glazkov.
2400
2401         No new tests. No change in behavior.
2402
2403 2013-01-31  Alec Flett  <alecflett@chromium.org>
2404
2405         IndexedDB: remove old transaction backend bootstrap code
2406         https://bugs.webkit.org/show_bug.cgi?id=103923
2407
2408         Reviewed by Dimitri Glazkov.
2409
2410         Finally remove all leftover code from the IndexedDB "giant
2411         async refactor of 2012." This includes removal of all
2412         IDBTransaction* interfaces that were shared between
2413         the frontend and backend and a few straggling methods
2414         like onUpgradeNeeded and onSuccess that were left from
2415         the last stage of refactoring.
2416
2417         * Modules/indexeddb/IDBCallbacks.h:
2418         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2419         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2420         (WebCore):
2421         (WebCore::IDBDatabaseBackendImpl::metadata):
2422         (IDBDatabaseBackendImpl):
2423         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2424         (WebCore):
2425         (IDBDatabaseBackendInterface):
2426         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2427         (WebCore):
2428         * Modules/indexeddb/IDBTransaction.h:
2429         (WebCore):
2430         (IDBTransaction):
2431         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2432         (WebCore):
2433         (IDBTransactionBackendImpl):
2434         * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
2435         * Modules/indexeddb/IDBTransactionCallbacks.h: Removed.
2436         * Modules/indexeddb/IDBTransactionCoordinator.h:
2437         (WebCore):
2438         * Target.pri:
2439         * WebCore.gypi:
2440         * WebCore.xcodeproj/project.pbxproj:
2441
2442 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2443
2444         Unreviewed, rolling out r141502.
2445         http://trac.webkit.org/changeset/141502
2446         https://bugs.webkit.org/show_bug.cgi?id=108441
2447
2448         Hit assert in SVGElementInstance
2449
2450         * bindings/scripts/CodeGeneratorV8.pm:
2451         (GetInternalFields):
2452         * dom/EventTarget.idl:
2453         * svg/SVGElementInstance.idl:
2454
2455 2013-01-31  Ojan Vafai  <ojan@chromium.org>
2456
2457         Assert that computePreferredLogicalWidths never calls setNeedsLayout
2458         https://bugs.webkit.org/show_bug.cgi?id=108539
2459
2460         Reviewed by Tony Chang.
2461
2462         computePreferredLogicalWidths should only set m_minPreferredLogicalWidth
2463         and m_maxPreferredLogicalWidth. It shouldn't have other side-effects.
2464         This is take 2 after this was rolled out because it was missing the guards
2465         in RenderCounter/RenderQuote.
2466
2467         * rendering/RenderBox.cpp:
2468         (WebCore::RenderBox::minPreferredLogicalWidth):
2469         (WebCore::RenderBox::maxPreferredLogicalWidth):
2470         * rendering/RenderCounter.cpp:
2471         (WebCore::RenderCounter::computePreferredLogicalWidths):
2472         * rendering/RenderQuote.cpp:
2473         (WebCore::RenderQuote::computePreferredLogicalWidths):
2474         * rendering/mathml/RenderMathMLOperator.cpp:
2475         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
2476         * rendering/mathml/RenderMathMLRoot.cpp:
2477         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
2478         * rendering/mathml/RenderMathMLRow.cpp:
2479         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
2480
2481 2013-01-31  Abhishek Arya  <inferno@chromium.org>
2482
2483         Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM
2484         https://bugs.webkit.org/show_bug.cgi?id=108490
2485  
2486         Reviewed by Eric Seidel.
2487
2488         * dom/ContainerNode.h:
2489         (WebCore::toContainerNode):
2490         * dom/Element.h:
2491         (WebCore::toElement):
2492         * dom/ShadowRoot.h:
2493         (WebCore::toShadowRoot):
2494         * dom/Text.h:
2495         (WebCore::toText):
2496         * html/HTMLElement.h:
2497         (HTMLElement):
2498         (WebCore::toHTMLElement):
2499         * html/HTMLFrameOwnerElement.h:
2500         (WebCore::toFrameOwnerElement):
2501         * html/HTMLMediaElement.cpp:
2502         (WebCore::HTMLMediaElement::hasMediaControls):
2503         * html/HTMLTemplateElement.cpp:
2504         (WebCore::toHTMLTemplateElement):
2505         * html/HTMLUnknownElement.h:
2506         (WebCore::toHTMLUnknownElement):
2507         * html/shadow/InsertionPoint.h:
2508         (WebCore::toInsertionPoint):
2509         * html/shadow/MediaControlElementTypes.cpp:
2510         (WebCore::mediaControlElementType):
2511         * html/shadow/MediaControls.h:
2512         (WebCore::toMediaControls):
2513         * html/shadow/SliderThumbElement.h:
2514         (WebCore::toSliderThumbElement):
2515         * html/shadow/TextControlInnerElements.h:
2516         (WebCore::toInputFieldSpeechButtonElement):
2517         * html/shadow/TextFieldDecorationElement.h:
2518         (WebCore::toTextFieldDecorationElement):
2519         * html/track/WebVTTElement.h:
2520         (WebCore::toWebVTTElement):
2521         * mathml/MathMLElement.h:
2522         (WebCore::toMathMLElement):
2523         * page/scrolling/ScrollingStateFixedNode.h:
2524         (WebCore::toScrollingStateFixedNode):
2525         * page/scrolling/ScrollingStateScrollingNode.h:
2526         (WebCore::toScrollingStateScrollingNode):
2527         * page/scrolling/ScrollingStateStickyNode.h:
2528         (WebCore::toScrollingStateStickyNode):
2529         * rendering/RenderLayer.cpp:
2530         (WebCore::RenderLayer::resize):
2531         * rendering/svg/SVGResources.cpp:
2532         (WebCore::registerPendingResource):
2533         (WebCore::SVGResources::buildCachedResources):
2534         * svg/SVGElement.h:
2535         (WebCore::toSVGElement):
2536         * svg/SVGStyledElement.h:
2537         (WebCore::toSVGStyledElement):
2538
2539 2013-01-31  Christopher Cameron  <ccameron@chromium.org>
2540
2541         Fix rubber-band effect on non-scrollable pages
2542         https://bugs.webkit.org/show_bug.cgi?id=107611
2543
2544         Reviewed by Antonio Gomes.
2545
2546         Handle a FrameView's wheel event even if it is not scrollable
2547         because Chrome relies on handling these wheel events for the
2548         over-scroll rubber-band effect.
2549  
2550         This had been removed in r138378
2551         [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
2552         by kenneth@chromium.org
2553
2554         Tests: platform/chromium/rubberbanding/wheelevent-overhang-e.html
2555                platform/chromium/rubberbanding/wheelevent-overhang-n.html
2556                platform/chromium/rubberbanding/wheelevent-overhang-s.html
2557                platform/chromium/rubberbanding/wheelevent-overhang-w.html
2558
2559         * page/FrameView.cpp:
2560         (WebCore::FrameView::wheelEvent):
2561
2562 2013-01-31  Enrica Casucci  <enrica@apple.com>
2563
2564         Mac: Editor::baseWritingDirectionForSelectionStart should return WritingDirection instead of NSWritingDirection.
2565         https://bugs.webkit.org/show_bug.cgi?id=108519.
2566
2567         Reviewed by Sam Weinig.
2568
2569         No new tests, no change in behavior.
2570
2571         There is no need to use AppKit types here.
2572         baseWritingDirectionForSelectionStart now returns WritingDirection and
2573         WebHTMLView toggleWritingDirection has been modified accordingly.
2574         
2575         * editing/Editor.h:
2576         * editing/mac/EditorMac.mm:
2577         (WebCore::Editor::baseWritingDirectionForSelectionStart):
2578
2579 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2580
2581         [V8] Pass an Isolate to GetTemplate() in CodeGeneratorV8.pm
2582         https://bugs.webkit.org/show_bug.cgi?id=108445
2583
2584         Reviewed by Adam Barth.
2585
2586         No tests. No change in behavior.
2587
2588         * bindings/scripts/CodeGeneratorV8.pm:
2589         (GenerateDomainSafeFunctionGetter):
2590         (GenerateDomainSafeFunctionSetter):
2591         (GenerateNormalAttrGetter):
2592         (GenerateNamedConstructorCallback):
2593         (GenerateImplementation):
2594         * bindings/scripts/test/V8/V8Float64Array.cpp:
2595         (WebCore::ConfigureV8Float64ArrayTemplate):
2596         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2597         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2598         (WebCore::TestActiveDOMObjectV8Internal::TestActiveDOMObjectDomainSafeFunctionSetter):
2599         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2600         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2601         * bindings/scripts/test/V8/V8TestNode.cpp:
2602         (WebCore::ConfigureV8TestNodeTemplate):
2603
2604 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2605
2606         [V8] Clean up Dictionary::get() by removing redundant FindInstanceInPrototypeChain()
2607         https://bugs.webkit.org/show_bug.cgi?id=108443
2608
2609         Reviewed by Adam Barth.
2610
2611         In Dictionary::get(), wrapper->FindInstanceInPrototypeChain(V8XXX::GetTemplate())
2612         is unnecessary for DOM wrappers other than DOMWindow. For wrappers other than
2613         DOMWindow, we can simply use V8XXX::HasInstance(wrapper).
2614
2615         Tests: fast/events/constructors/*
2616
2617         * bindings/v8/Dictionary.cpp:
2618         (WebCore::Dictionary::get):
2619
2620 2013-01-31  Julien Chaffraix  <jchaffraix@webkit.org>
2621
2622         [CSS Grid Layout] Support implicit rows and columns
2623         https://bugs.webkit.org/show_bug.cgi?id=103573
2624
2625         Reviewed by Ojan Vafai.
2626
2627         Tests: fast/css-grid-layout/implicit-columns-auto-resolution.html
2628                fast/css-grid-layout/implicit-rows-auto-resolution.html
2629
2630         This change makes us properly initialize our GridTrack vectors's size
2631         so that we can safely query any items during layout.
2632
2633         * rendering/RenderGrid.cpp:
2634         (WebCore::RenderGrid::gridTrackSize):
2635         Added this helper function to return the track size from the grid
2636         element's columns' / rows' definitions or the default value.
2637
2638         (WebCore::RenderGrid::maximumIndexInDirection):
2639         Added this helper function to get the maximum index in a direction
2640         taking grid item's implicit indexes into account.
2641
2642         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
2643         Changed the funtion to not append the new tracks as we are properly
2644         sized now.
2645
2646         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
2647         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
2648         Updated these functions to use the new helper functions.
2649
2650         (WebCore::RenderGrid::layoutGridItems):
2651         Changed this function to size both vectors when initializing them.
2652         Also removed an unneeded bounds check as it shouldn't be needed anymore.
2653
2654         * rendering/RenderGrid.h:
2655         Added the new helper functions.
2656
2657         * rendering/style/GridTrackSize.h:
2658         (WebCore::GridTrackSize::GridTrackSize):
2659         Added a constructor taking a LengthType.
2660
2661 2013-01-31  Joanmarie Diggs  <jdiggs@igalia.com>
2662
2663         [GTK] fast/css/relative-positioned-block-crash.html is intermittently crashing
2664         https://bugs.webkit.org/show_bug.cgi?id=108200
2665
2666         Reviewed by Martin Robinson.
2667
2668         Getting the Position of a PseudoElement now triggers an assertion.
2669         This can occur when clicking on empty space in a render block.
2670         Looking to the unignored parent's node (and passing that accessible
2671         object on in a signal to Assistive Technologies) seems like the most
2672         reasonable thing to do here.
2673
2674         No new tests; instead skipping two tests that were crashing as a result.
2675
2676         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2677         (objectFocusedAndCaretOffsetUnignored):
2678
2679 2013-01-31  Kentaro Hara  <haraken@chromium.org>
2680
2681         [V8] Simplify CodeGeneratorV8.pm by using InheritsExtendedAttribute("EventTarget")
2682         https://bugs.webkit.org/show_bug.cgi?id=108441
2683
2684         Reviewed by Adam Barth.
2685
2686         A complicated condition in GetInternalFields() can be simplified
2687         by using InheritsExtendedAttribute("EventTarget").
2688
2689         No tests. No change in behavior.
2690
2691         * bindings/scripts/CodeGeneratorV8.pm:
2692         (GetInternalFields):
2693         * dom/EventTarget.idl: Added [EventTarget] which should have been added.
2694         * svg/SVGElementInstance.idl: Ditto.
2695
2696 2013-01-31  Youenn Fablet  <youennf@gmail.com>
2697
2698         Quadratic and bezier curves with coincident endpoints rendered incorrectly
2699         https://bugs.webkit.org/show_bug.cgi?id=105650
2700
2701         Reviewed by Kenneth Russell.
2702
2703         Tests: fast/canvas/canvas-bezier-same-endpoint.html
2704                fast/canvas/canvas-quadratic-same-endpoint.html
2705
2706         * html/canvas/CanvasPathMethods.cpp:
2707         (WebCore::CanvasPathMethods::quadraticCurveTo):
2708         (WebCore::CanvasPathMethods::bezierCurveTo):
2709
2710 2013-01-31  Mark Lam  <mark.lam@apple.com>
2711
2712         Abstraction for hiding enum class.
2713         https://bugs.webkit.org/show_bug.cgi?id=108533
2714
2715         Reviewed by Anders Carlsson.
2716
2717         No new tests.
2718
2719         * Modules/webdatabase/DatabaseError.h:
2720         (WebCore::ENUM_CLASS_BEGIN):
2721
2722 2013-01-31  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2723
2724         [Gtk] drag and drop has black background without composition
2725         https://bugs.webkit.org/show_bug.cgi?id=108376
2726
2727         Reviewed by Martin Robinson.
2728
2729         Use gtk_drag_set_icon_surface (or gtk_drag_set_icon_pixbuf) when the
2730         screen is not composited. That way, drag window will be decomposited
2731         and rendered transparent with Xshape.
2732
2733         To determine which parts of the window must be transparent, gtk checks
2734         if a pixel is more than 50% opaque. With dissolveDragImageToFraction,
2735         all pixels are made 25% transparent. With antialiasing, opacity goes
2736         below the threshold for some pixels, which makes the resulting image
2737         messy. So, we need to skip dissolveDragImageToFraction when we use
2738         gtk_drag_set_icon_surface.
2739
2740         * platform/gtk/DragIcon.cpp:
2741         (WebCore::DragIcon::DragIcon):
2742         (WebCore::DragIcon::~DragIcon):
2743         (WebCore::DragIcon::setImage):
2744         (WebCore::DragIcon::useForDrag):
2745         * platform/gtk/DragIcon.h:
2746         (DragIcon):
2747         * platform/gtk/DragImageGtk.cpp:
2748         (WebCore::dissolveDragImageToFraction):
2749
2750 2013-01-31  Tony Gentilcore  <tonyg@chromium.org>
2751
2752         Begin to make XSSAuditor thread aware
2753         https://bugs.webkit.org/show_bug.cgi?id=108394
2754
2755         Reviewed by Adam Barth.
2756
2757         This patch moves the parts of filterToken() that depend on Frame, Document, etc. to a delegate class.
2758         The new didBlockScript delegate method is invoked with the resulting DidBlockScriptRequest which will
2759         be owned by the CompactHTMLToken in the threaded case.
2760
2761         This is just the first step as there is more to do to make XSSAuditor thread safe.
2762
2763         No new tests because covered by existing tests.
2764
2765         * CMakeLists.txt:
2766         * GNUmakefile.list.am:
2767         * Target.pri:
2768         * WebCore.gypi:
2769         * WebCore.vcproj/WebCore.vcproj:
2770         * WebCore.vcxproj/WebCore.vcxproj:
2771         * WebCore.vcxproj/WebCore.vcxproj.filters:
2772         * WebCore.xcodeproj/project.pbxproj:
2773         * html/parser/BackgroundHTMLParser.cpp:
2774         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2775         * html/parser/HTMLDocumentParser.cpp:
2776         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2777         (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
2778         (WebCore::HTMLDocumentParser::pumpTokenizer):
2779         * html/parser/HTMLDocumentParser.h:
2780         (HTMLDocumentParser):
2781         * html/parser/XSSAuditor.cpp:
2782         (WebCore::XSSAuditor::filterToken):
2783         * html/parser/XSSAuditor.h:
2784         (WebCore):
2785         (XSSAuditor):
2786         * html/parser/XSSAuditorDelegate.cpp: Added.
2787         (WebCore):
2788         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
2789         (WebCore::XSSAuditorDelegate::didBlockScript):
2790         * html/parser/XSSAuditorDelegate.h: Added.
2791         (WebCore):
2792         (DidBlockScriptRequest):
2793         (WebCore::DidBlockScriptRequest::create):
2794         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
2795         (XSSAuditorDelegate):
2796
2797         * CMakeLists.txt:
2798         * GNUmakefile.list.am:
2799         * Target.pri:
2800         * WebCore.gypi:
2801         * WebCore.vcproj/WebCore.vcproj:
2802         * WebCore.vcxproj/WebCore.vcxproj:
2803         * WebCore.vcxproj/WebCore.vcxproj.filters:
2804         * WebCore.xcodeproj/project.pbxproj:
2805         * html/parser/BackgroundHTMLParser.cpp:
2806         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2807         * html/parser/HTMLDocumentParser.cpp:
2808         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2809         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2810         (WebCore::HTMLDocumentParser::pumpTokenizer):
2811         * html/parser/HTMLDocumentParser.h:
2812         (HTMLDocumentParser):
2813         * html/parser/XSSAuditor.cpp:
2814         (WebCore::XSSAuditor::XSSAuditor):
2815         (WebCore::XSSAuditor::filterToken):
2816         * html/parser/XSSAuditor.h:
2817         (WebCore):
2818         (XSSAuditor):
2819         * html/parser/XSSAuditorDelegate.cpp: Added.
2820         (WebCore):
2821         (WebCore::XSSAuditorDelegate::XSSAuditorDelegate):
2822         (WebCore::XSSAuditorDelegate::didBlockScript):
2823         * html/parser/XSSAuditorDelegate.h: Added.
2824         (WebCore):
2825         (DidBlockScriptRequest):
2826         (WebCore::DidBlockScriptRequest::create):
2827         (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
2828         (XSSAuditorDelegate):
2829
2830 2013-01-31  Uday Kiran  <udaykiran@motorola.com>
2831
2832         CSS3's vh attribute is not adjusting while browser resizes
2833         https://bugs.webkit.org/show_bug.cgi?id=86418
2834
2835         Reviewed by Antti Koivisto.
2836
2837         Elements with viewport percentage units needs layout whenever
2838         viewport size changes. Check for viewport percentage unit
2839         was missing for height.
2840
2841         Test: css3/viewport-percentage-lengths/vh-resize.html
2842
2843         * rendering/RenderBlock.cpp:
2844         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
2845         * rendering/RenderBox.cpp:
2846         (WebCore::RenderBox::hasViewportPercentageLogicalHeight): Check if style
2847         is specified in viewport percentage units.
2848         (WebCore):
2849         * rendering/RenderBox.h:
2850         (RenderBox):
2851         * rendering/RenderView.cpp:
2852         (WebCore::RenderView::layout): Elements with viewport percentage units
2853         needs relayout when viewport size changes.
2854
2855 2013-01-31  Anton Vayvod  <avayvod@chromium.org>
2856
2857         TextAutosizing: refactor the cluster related method parameters into a single struct.
2858         https://bugs.webkit.org/show_bug.cgi?id=108384
2859
2860         This anticipates adding more cluster related information in the following patches.
2861         
2862         Reviewed by Kenneth Rohde Christiansen.
2863
2864         Just a refactoring so no new tests.
2865
2866         * rendering/TextAutosizer.cpp: define the new struct and pass it to every method instead of
2867         a cluster and its descendant block containing all text.
2868         * rendering/TextAutosizer.h: change method prototypes to receive the new struct
2869         as a parameter defining an autosizing cluster.
2870
2871         * rendering/TextAutosizer.cpp:
2872         (WebCore::TextAutosizingClusterInfo::TextAutosizingClusterInfo):
2873         (TextAutosizingClusterInfo):
2874         (WebCore):
2875         (WebCore::TextAutosizer::processSubtree):
2876         (WebCore::TextAutosizer::processCluster):
2877         (WebCore::TextAutosizer::processContainer):
2878         (WebCore::TextAutosizer::isAutosizingCluster):
2879         (WebCore::TextAutosizer::clusterShouldBeAutosized):
2880         (WebCore::TextAutosizer::measureDescendantTextWidth):
2881         * rendering/TextAutosizer.h:
2882         (WebCore):
2883
2884 2013-01-31  Jacky Jiang  <zhajiang@rim.com>
2885
2886         [BlackBerry] Bing Images viewport causes layout "fun"
2887         https://bugs.webkit.org/show_bug.cgi?id=108393
2888
2889         Reviewed by Yong Li.
2890         Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
2891
2892         PR: 277855
2893         On bing.com image search page, JS generated styles for the divs which
2894         contained images based on the window.screen and window.innerWidth.
2895         Unfortunately the styles for the divs weren't good enough on our device
2896         which resulted in three images being overlapped in the same viewport.
2897         On our port, we calculate the screen rect base on the physical screen
2898         pixels. However, iOS and lastest Android Chrome port already changed it
2899         to density-independent (logical) pixels. And also to my knowledge that
2900         some websites would generate bad styles for us as well through
2901         @media device-width/device-height.
2902         To be consistent and fix such kinds of issues, we should use
2903         density-independent pixels instead of physical screen pixels. Mainly
2904         ported from Chrome port change r139356. The patch will affect
2905         screen.width/height, window.outerWidth/outerHeight and
2906         @media device-width/device-height.
2907
2908         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2909         (WebCore):
2910         (WebCore::toUserSpace):
2911         (WebCore::screenAvailableRect):
2912         (WebCore::screenRect):
2913
2914 2013-01-31  Max Vujovic  <mvujovic@adobe.com>
2915
2916         [CSS Shaders] Parse custom filter function with the at-rule reference syntax
2917         https://bugs.webkit.org/show_bug.cgi?id=108351
2918
2919         Reviewed by Dean Jackson.
2920
2921         This patch implements the parsing for the new custom filter function "at-rule reference"
2922         syntax. It does not implement the style resolution yet.
2923
2924         The custom function syntax has changed in the spec. Instead of including all of the custom
2925         filter information inline, the custom function can now reference an @filter rule by name.
2926         The custom function can still accept a list of parameters.
2927
2928         The syntax is defined as the following, where IDENT is the name of the @filter rule:
2929         filter: custom(IDENT [, <param>]*)
2930
2931         In practice, it can look like this:
2932         filter: custom(page-curl, direction 90, amount 0.5);
2933
2934         Spec: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#customident-ltparamgt
2935
2936         Tests: css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid.html
2937                css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid.html
2938
2939         * css/CSSParser.cpp:
2940         (WebCore::CSSParser::parseCustomFilterParameters):
2941             Factor out a new function that just parses custom filter parameters. This is used by the
2942             previous inline syntax and the new at-rule reference syntax.
2943         (WebCore):
2944         (WebCore::CSSParser::parseCustomFilterFunctionWithAtRuleReferenceSyntax):
2945             This method parses the new at-rule reference syntax. When we remove the inline syntax,
2946             we can rename this method to "parseCustomFilterFunction" and call it directly.
2947         (WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):
2948             Move the previous inline syntax parsing code into a new function.
2949         (WebCore::CSSParser::parseCustomFilterFunction):
2950             This method looks ahead in the CSS parser values and decides whether to parse the custom
2951             function with the previous inline syntax or with the new at-rule reference syntax.
2952         (WebCore::CSSParser::parseFilter):
2953             I renamed the "parseCustomFilter" method to "parseCustomFilterFunction" to be more
2954             explicit. Here, we update the name in the call site.
2955         * css/CSSParser.h:
2956         * css/StyleResolver.cpp:
2957         (WebCore::StyleResolver::createCustomFilterOperationWithAtRuleReferenceSyntax):
2958             This is a stub method. In the future, style resolution for the at-rule reference
2959             syntax will happen here. When we remove the inline syntax, we can rename this method 
2960         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2961             This method contains the previous inline syntax style resolution code.
2962         (WebCore):
2963         (WebCore::StyleResolver::createCustomFilterOperation):
2964             This method decides which syntax we should use to resolve the style.
2965         * css/StyleResolver.h:
2966         (StyleResolver):
2967
2968 2013-01-31  Aurimas Liutikas  <aurimas@chromium.org>
2969
2970         Editor::m_compositionNode not updated on HTMLInputElement::setValue()
2971         https://bugs.webkit.org/show_bug.cgi?id=107737
2972
2973         Reviewed by Ryosuke Niwa.
2974
2975         Chromium has a bug where the IME composition did not get cancelled on JavaScript changes
2976         to the focused editing field. Most of other WebKit ports were already doing this check
2977         in their EditorClient::respondToChangedSelection. I took that logic and moved it to the
2978         Editor so every port and use the same code.
2979
2980         An existing test editing/input/setting-input-value-cancel-ime-composition.html covers this change.
2981         This test used to have an expectation to fail on Chromium and after this patch it will start passing.
2982
2983         * editing/Editor.cpp:
2984         (WebCore::Editor::cancelCompositionIfSelectionIsInvalid):
2985             Adding a call that can be used by any the port to cancel the composition if it's no longer valid.
2986         (WebCore):
2987         * editing/Editor.h:
2988         (Editor):
2989
2990 2013-01-31  Joseph Pecoraro  <pecoraro@apple.com>
2991
2992         Disable ENABLE_FULLSCREEN_API on iOS
2993         https://bugs.webkit.org/show_bug.cgi?id=108250
2994
2995         Reviewed by Benjamin Poulain.
2996
2997         * Configurations/FeatureDefines.xcconfig:
2998
2999 2013-01-31  Mark Pilgrim  <pilgrim@chromium.org>
3000
3001         [Chromium] Move LocalizedStrings to WebCore
3002         https://bugs.webkit.org/show_bug.cgi?id=108488
3003
3004         Reviewed by Adam Barth.
3005
3006         Part of a larger refactoring series; see tracking bug 106829.
3007
3008         * WebCore.gypi:
3009         * platform/chromium/LocalizedStringsChromium.cpp: Copied from Source/WebKit/chromium/src/LocalizedStrings.cpp.
3010         (WebCore::imageTitle):
3011
3012 2013-01-31  Enrica Casucci  <enrica@apple.com>
3013
3014         WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
3015         https://bugs.webkit.org/show_bug.cgi?id=108396.
3016         <rdar://problem/12920461>
3017
3018         Reviewed by Alexey Proskuryakov.
3019
3020         Adds support in WebCore to new EditorClient methods to support the modified
3021         client bundle API in WebKit2.
3022
3023         * WebCore.exp.in:
3024         * editing/Editor.cpp:
3025         (WebCore::Editor::cut): Added call to willWriteSelectionToPasteboard.
3026         (WebCore::Editor::copy): Ditto.
3027         (WebCore::Editor::willWriteSelectionToPasteboard): Added.
3028         * editing/Editor.h:
3029         * loader/EmptyClients.h: Added empty client implementation
3030         for the new methods.
3031         (WebCore::EmptyEditorClient::willWriteSelectionToPasteboard):
3032         (WebCore::EmptyEditorClient::getClientPasteboardDataForRange):
3033         * page/EditorClient.h:
3034         * platform/mac/PasteboardMac.mm:
3035         (WebCore::Pasteboard::writeSelectionForTypes): Added call to getClientPasteboardDataForRange.
3036
3037 2013-01-31  David Kilzer  <ddkilzer@apple.com>
3038
3039         Use OS() and PLATFORM() macros in WebCorePrefix.h for readability
3040         <http://webkit.org/b/108374>
3041
3042         Reviewed by Laszlo Gombos.
3043
3044         * WebCorePrefix.h: Replaced all possible checks with OS() or
3045         PLATFORM() macros other than __APPLE__.
3046
3047 2013-01-31  Mike West  <mkwst@chromium.org>
3048
3049         Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
3050         https://bugs.webkit.org/show_bug.cgi?id=108476
3051
3052         Reviewed by Jochen Eisinger.
3053
3054         Rather than diving through 'frame()->top()' or 'topDocument()' to get
3055         the SecurityOrigin of the top-level document in a frame, we can now
3056         directly grab the 'topOrigin()' off of a ScriptExecutionContext. This
3057         patch adjusts a few callsites to use the new hotness rather than the
3058         old brokenness.
3059
3060         This is a pure refactoring: No web-visible changes should result.
3061
3062         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
3063         (WebCore::DOMWindowWebDatabase::openDatabase):
3064         * page/DOMWindow.cpp:
3065         (WebCore::DOMWindow::sessionStorage):
3066         (WebCore::DOMWindow::localStorage):
3067         * workers/SharedWorker.cpp:
3068         (WebCore::SharedWorker::create):
3069         * workers/WorkerMessagingProxy.cpp:
3070         (WebCore::WorkerMessagingProxy::startWorkerContext):
3071
3072 2013-01-31  peavo@outlook.com  <peavo@outlook.com>
3073
3074         [Curl] There is no way for a WebKit client to set the Curl cookie jar path
3075         https://bugs.webkit.org/show_bug.cgi?id=107692
3076
3077         Reviewed by Brent Fulgham.
3078
3079         Set default cookie jar path.
3080         Get the cookie jar path for Curl from the environment variable CURL_COOKIE_JAR_PATH.
3081
3082         * platform/network/curl/ResourceHandleManager.cpp:
3083         (WebCore::cookieJarPath): Added helper function to set cookie jar path.
3084         (WebCore::ResourceHandleManager::ResourceHandleManager): Call helper function.
3085
3086 2013-01-31  Maciej Stachowiak  <mjs@apple.com>
3087
3088         REGRESSION (r138962): Fails to show "confirm form resubmission", hangs browser
3089         https://bugs.webkit.org/show_bug.cgi?id=108214
3090
3091         Reviewed by Adam Barth.
3092         
3093         Attempt a workaround suggested by Nate Chapin by putting some code
3094         in #ifdef !PLATFORM(CHROMIUM).
3095
3096         * loader/MainResourceLoader.cpp:
3097         (WebCore::MainResourceLoader::notifyFinished):
3098
3099 2013-01-31  Ojan Vafai  <ojan@chromium.org>
3100
3101         REGRESSION(r128517): Percentage heights in quirks mode collapse when printing
3102         https://bugs.webkit.org/show_bug.cgi?id=108382
3103
3104         Reviewed by David Hyatt.
3105
3106         r128517 clean up our containing block finding logic, but broke percentage
3107         heights in quirks mode during printing since the RenderView would have 0 height.
3108         Turns out we already had a long-standing bug where we'd incorrectly
3109         treat collapse percentage heights on the body when printing as well.
3110
3111         Fix both bugs by changing the way we grab the logical height on the RenderView.
3112         RenderView::computeLogicalHeight returns 0 when printing. For the purposes of
3113         stretching and percentage heights, we instead need to return the pageLogicalHeight.
3114
3115         Tests: printing/quirks-percentage-height-body.html
3116                printing/quirks-percentage-height.html
3117                printing/standards-percentage-heights.html
3118
3119         * rendering/RenderBox.cpp:
3120         (WebCore::RenderBox::computeLogicalHeight):
3121         This FIXME is outdated and already fixed. Also, call viewLogicalHeightForPercentages
3122         which does the same logic except also correctly handles column RenderViews.
3123         (WebCore::RenderBox::viewLogicalHeightForPercentages):
3124         (WebCore::RenderBox::computePercentageLogicalHeight):
3125         * rendering/RenderBox.h:
3126
3127         * rendering/RenderBox.cpp:
3128         (WebCore::RenderBox::computeLogicalHeight):
3129         (WebCore::RenderBox::viewLogicalHeightForPercentages):
3130         (WebCore):
3131         (WebCore::RenderBox::computePercentageLogicalHeight):
3132         * rendering/RenderBox.h:
3133         (RenderBox):
3134
3135 2013-01-31  Dirk Schulze  <krit@webkit.org>
3136
3137         [canvas] Implement currentPath to get and set the current path of the context
3138         https://bugs.webkit.org/show_bug.cgi?id=108246
3139
3140         Reviewed by Dean Jackson.
3141
3142         Add currentPath attribute to CanvasRenderingContext2d interface. This allows
3143         setting the current context path by an existing Path object as well as getting
3144         the current context path as new Path object. The returned and the set Paths
3145         are not live.
3146
3147         This feature is behind the CANVAS_PATH compiler flag which is disabled by
3148         default for now.
3149
3150         Test: fast/canvas/canvas-currentPath.html
3151
3152         * html/canvas/CanvasPathMethods.cpp: Rename transformIsInvertible to
3153             isTransformInvertible for harmonizing naming schema.
3154         (WebCore::CanvasPathMethods::moveTo): Ditto.
3155         (WebCore::CanvasPathMethods::lineTo): Ditto.
3156         (WebCore::CanvasPathMethods::quadraticCurveTo): Ditto.
3157         (WebCore::CanvasPathMethods::bezierCurveTo): Ditto.
3158         (WebCore::CanvasPathMethods::arcTo): Ditto.
3159         (WebCore::CanvasPathMethods::arc): Ditto.
3160         (WebCore::CanvasPathMethods::rect): Ditto.
3161         * html/canvas/CanvasPathMethods.h: Ditto.
3162         (CanvasPathMethods):
3163         (WebCore::CanvasPathMethods::isTransformInvertible):
3164         * html/canvas/CanvasRenderingContext2D.cpp:
3165         (WebCore):
3166         (WebCore::CanvasRenderingContext2D::currentPath): Getter for currentPath.
3167         (WebCore::CanvasRenderingContext2D::setCurrentPath): Setter for currentPath.
3168         * html/canvas/CanvasRenderingContext2D.h:
3169         (WebCore):
3170         (CanvasRenderingContext2D):
3171         (WebCore::CanvasRenderingContext2D::isTransformInvertible):
3172         * html/canvas/CanvasRenderingContext2D.idl: Add currentPath attribute.
3173         * html/canvas/DOMPath.h: Add new constructor and getter for Path object.
3174         (WebCore::DOMPath::create): New static function for new ctor.
3175         (DOMPath):
3176         (WebCore::DOMPath::path): Getter for Path object.
3177         (WebCore::DOMPath::DOMPath):
3178
3179 2013-01-31  Alexandre Elias  <aelias@chromium.org>
3180
3181         Call FrameView::contentsResized() when setting fixed layout size
3182         https://bugs.webkit.org/show_bug.cgi?id=107922
3183
3184         Reviewed by James Robinson.
3185
3186         In fixed layout mode, we should be calling contentsResized() when the
3187         fixed layout size is changed, but not laying out when the visible
3188         content rect changes.
3189
3190         Previously landed as r140869 but was reverted due to a bug in bundled
3191         Chromium-specific code. This patch includes just the minimum needed in
3192         WebCore.
3193
3194         New WebFrameTest: FrameViewNeedsLayoutOnFixedLayoutResize.  Some
3195         flaky and obsolete tests for the old page scale mode are also deleted.
3196
3197         * page/FrameView.cpp:
3198         (WebCore::FrameView::visibleContentsResized):
3199         * platform/ScrollView.cpp:
3200         (WebCore::ScrollView::setFixedLayoutSize):
3201         (WebCore::ScrollView::setUseFixedLayout):
3202
3203 2013-01-31  Otto Derek Cheung  <otcheung@rim.com>
3204
3205         [BlackBerry] CookieParser should ignore invalid/unsupported attributes instead of ignoring the cookie
3206         https://bugs.webkit.org/show_bug.cgi?id=108494
3207
3208         PR 287832
3209         Reviewed by Rob Buis.
3210         Internally Reviewed by Liam Quinn.
3211
3212         A short-term fix for CookieParser to not blow up when a Set-Cookie header has an invalid
3213         or unsupported cookie attribute.
3214
3215         We will ignore the attribute only, not the entire cookie.
3216
3217         Also, making sure the parser won't replace values of valid attributes when evaluating an unsupported
3218         cookie with the same length and same first character as a supported attribute.
3219
3220         Tested using opera cookie and browser.swlab.rim.net cookies test suite. Tested using regular sites that
3221         has a login mechanism.
3222
3223         * platform/blackberry/CookieParser.cpp:
3224         (WebCore::CookieParser::parseOneCookie):
3225
3226 2013-01-31  Tommy Widenflycht  <tommyw@google.com>
3227
3228         [chromium] MediaStream API: Rename WebMediaStreamDescriptor and WebMediaStreamComponent to WebMediaStream and WebMediaStreamTrack
3229         https://bugs.webkit.org/show_bug.cgi?id=108458
3230
3231         Reviewed by Adam Barth.
3232
3233         Only renames, no other code changes.
3234
3235         * WebCore.gypi:
3236         * platform/chromium/support/WebMediaStream.cpp: Added.
3237         (WebKit::WebMediaStream::WebMediaStream):
3238         (WebKit):
3239         (WebKit::WebMediaStream::reset):
3240         (WebKit::WebMediaStream::label):
3241         (WebKit::WebMediaStream::id):
3242         (WebKit::WebMediaStream::extraData):
3243         (WebKit::WebMediaStream::setExtraData):
3244         (WebKit::WebMediaStream::audioSources):
3245         (WebKit::WebMediaStream::videoSources):
3246         (WebKit::WebMediaStream::operator=):
3247         (WebKit::WebMediaStream::operator PassRefPtr<WebCore::MediaStreamDescriptor>):
3248         (WebKit::WebMediaStream::operator WebCore::MediaStreamDescriptor*):
3249         (WebKit::WebMediaStream::initialize):
3250         (WebKit::WebMediaStream::assign):
3251         * platform/chromium/support/WebMediaStreamComponent.cpp: Removed.
3252         * platform/chromium/support/WebMediaStreamDescriptor.cpp: Removed.
3253         * platform/chromium/support/WebMediaStreamTrack.cpp: Added.
3254         (WebKit):
3255         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
3256         (WebKit::WebMediaStreamTrack::operator=):
3257         (WebKit::WebMediaStreamTrack::initialize):
3258         (WebKit::WebMediaStreamTrack::reset):
3259         (WebKit::WebMediaStreamTrack::operator PassRefPtr<MediaStreamComponent>):
3260         (WebKit::WebMediaStreamTrack::operator MediaStreamComponent*):
3261         (WebKit::WebMediaStreamTrack::isEnabled):
3262         (WebKit::WebMediaStreamTrack::id):
3263         (WebKit::WebMediaStreamTrack::stream):
3264         (WebKit::WebMediaStreamTrack::source):
3265         (WebKit::WebMediaStreamTrack::assign):
3266         * platform/chromium/support/WebRTCStatsRequest.cpp:
3267         (WebKit::WebRTCStatsRequest::stream):
3268         (WebKit::WebRTCStatsRequest::component):
3269         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
3270         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
3271         (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
3272         (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
3273         (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
3274         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
3275         (WebKit):
3276         (MediaStreamCenterChromium):
3277         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3278         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
3279         (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
3280         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3281         (WebKit):
3282         (RTCPeerConnectionHandlerChromium):
3283
3284 2013-01-31  Dmitry Zvorygin  <zvorygin@chromium.org>
3285
3286         Web Inspector: searching for <u> in elements panel finds all tags containing "u"
3287         https://bugs.webkit.org/show_bug.cgi?id=108176
3288
3289         Reviewed by Pavel Feldman.
3290
3291         When searching for tag name check that tag name must either start from
3292         search query, or must end with it.
3293
3294         * inspector/InspectorDOMAgent.cpp:
3295         (WebCore::InspectorDOMAgent::performSearch):
3296
3297 2013-01-30  Mark Lam  <mark.lam@apple.com>
3298
3299         DatabaseContext needs to outlive the ScriptExecutionContext.
3300         https://bugs.webkit.org/show_bug.cgi?id=108355.
3301
3302         Reviewed by Geoffrey Garen.
3303
3304         Added a RefPtr<DatabaseContext> in ScriptExecutionContext to keep the
3305         DatabaseContext alive until after ScriptExecutionContext destructs.
3306
3307         No new tests.
3308
3309         * Modules/webdatabase/DatabaseContext.cpp:
3310         (WebCore::DatabaseContext::DatabaseContext):
3311         * dom/ScriptExecutionContext.cpp:
3312         (WebCore::ScriptExecutionContext::setDatabaseContext):
3313         * dom/ScriptExecutionContext.h:
3314         (ScriptExecutionContext):
3315
3316 2013-01-31  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3317
3318         On Linux, can't get spelling suggestions without selection when unified text checker is enabled
3319         https://bugs.webkit.org/show_bug.cgi?id=107684
3320
3321         Reviewed by Ryosuke Niwa.
3322
3323         No new tests, covered by context-menu-suggestions.html.
3324
3325         * editing/Editor.cpp:
3326         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
3327         For Linux, extend selection range to the closest word to get
3328         the spelling suggestions when unified text checker is enabled.
3329
3330 2013-01-31  Florin Malita  <fmalita@chromium.org>
3331
3332         [Skia] Update SkiaImageFilterBuilder's brightness matrix to match Chromium's implementation
3333         https://bugs.webkit.org/show_bug.cgi?id=107841
3334
3335         Reviewed by Stephen White.
3336
3337         Update Skia's brightness filter to match the spec after http://trac.webkit.org/changeset/139770.
3338
3339         No new tests: covered by existing tests (currently disabled pending rebaseline).
3340
3341         * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
3342
3343 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
3344
3345         Web Inspector: show cursor location in DTE
3346         https://bugs.webkit.org/show_bug.cgi?id=108478
3347
3348         Reviewed by Pavel Feldman.
3349
3350         Add a new status bar element to SourceFrame to display current
3351         DefaultTextEditor cursor position.
3352
3353         No new tests.
3354
3355         * English.lproj/localizedStrings.js:
3356         * inspector/front-end/DefaultTextEditor.js:
3357         (WebInspector.DefaultTextEditor.prototype.copyRange):
3358         * inspector/front-end/SourceFrame.js:
3359         (WebInspector.SourceFrame):
3360         (WebInspector.SourceFrame.prototype.statusBarItems):
3361         (WebInspector.SourceFrame.prototype.selectionChanged):
3362         (WebInspector.SourceFrame.prototype._updateSourcePosition):
3363         * inspector/front-end/TextEditor.js:
3364         (WebInspector.TextEditor.prototype.copyRange):
3365         * inspector/front-end/inspector.css:
3366         (.source-frame-position):
3367
3368 2013-01-31  Andrey Lushnikov  <lushnikov@chromium.org>
3369
3370         Web Inspector: overlay highlight in DTE gets messed up when zoom factor changes.
3371         https://bugs.webkit.org/show_bug.cgi?id=108486
3372
3373         Reviewed by Pavel Feldman.
3374
3375         Repaint overlay highlight when zoom factor changes.
3376
3377         No new tests.
3378
3379         * inspector/front-end/DefaultTextEditor.js:
3380         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
3381         (WebInspector.TextEditorMainPanel.prototype.removeHighlight):
3382         (WebInspector.TextEditorMainPanel.prototype.highlightRange):
3383         (WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptors):
3384         (WebInspector.TextEditorMainPanel.prototype.resize):
3385
3386 2013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
3387
3388         [Qt] Fix minor memory leak in slot execution
3389
3390         Reviewed by Allan Sandfeld Jensen.
3391
3392         Don't leak the "length" string when executing a slot in JavaScript.
3393
3394         * bridge/qt/qt_runtime.cpp:
3395         (JSC::Bindings::QtConnectionObject::execute):
3396
3397 2013-01-31  Mike West  <mkwst@chromium.org>
3398
3399         Allow blocking of IndexedDB in third-party contexts
3400         https://bugs.webkit.org/show_bug.cgi?id=94171
3401
3402         Reviewed by Jochen Eisinger.
3403
3404         This patch ensures that the origin of the top window is passed into
3405         SecurityOrigin::canAccessDatabase when working with IndexedDB. Giving
3406         SecurityOrigin access to this data means that it can properly check
3407         whether the database is being opened in a third-party context, and
3408         therefore properly enforce the third-party access checks that were
3409         added in http://trac.webkit.org/changeset/125736.
3410
3411         Third-party checks are added to IDBFactory::open,
3412         IDBFactory::deleteDatabase, and IDBFactory::getDatabaseNames; each will
3413         now throw a SECURITY_ERR exception when access in a third-party context
3414         if third-party access checks are enabled.
3415
3416         To make this process slightly more clear, and avoid some ugly casting
3417         logic, this patch adds a 'topOrigin'  method to ScriptExecutionContext,
3418         and implements it on both WorkerContext and Document.
3419
3420         Tests: http/tests/security/cross-origin-indexeddb-allowed.html
3421                http/tests/security/cross-origin-indexeddb.html
3422                http/tests/security/cross-origin-worker-indexeddb-allowed.html
3423                http/tests/security/cross-origin-worker-indexeddb.html
3424
3425         * Modules/indexeddb/IDBFactory.cpp:
3426         (WebCore::IDBFactory::getDatabaseNames):
3427         (WebCore::IDBFactory::openInternal):
3428         (WebCore::IDBFactory::deleteDatabase):
3429             Grab the SecurityOrigin of the current context's top-level origin,
3430             and pass it to SecurityOrigin::canAccessDatabase to ensure that
3431             access checks are properly applied to these three methods.
3432         * dom/Document.cpp:
3433         (WebCore::Document::topOrigin):
3434         (WebCore):
3435         * dom/Document.h:
3436         (Document):
3437         * dom/ScriptExecutionContext.h:
3438         (ScriptExecutionContext):
3439             Add a topOrigin() method to ScriptExecutionContext, and implement it
3440             on Document in order to give callers access to the top document's
3441             SecurityOrigin without casting ScriptExecutionContext.
3442         * workers/WorkerContext.h:
3443             Change the existing topOrigin() method to override the new method
3444             on ScriptExecutionContext.
3445
3446 2013-01-31  Eugene Klyuchnikov  <eustas@chromium.org>
3447
3448         Web Inspector: [Network] Add cookie column to show presence of request/response cookies.
3449         https://bugs.webkit.org/show_bug.cgi?id=107441
3450
3451         Reviewed by Pavel Feldman.
3452
3453         In some use cases only responses that contain "set-cookie" headers
3454         are interesting.
3455
3456         * English.lproj/localizedStrings.js: Added "Set-Cookies" string.
3457         * inspector/front-end/NetworkPanel.js:
3458         (WebInspector.NetworkLogView.prototype._createTable): Added columns.
3459         (WebInspector.NetworkLogView.prototype._createSortingFunctions): Ditto.
3460         (WebInspector.NetworkDataGridNode.prototype.createCells): Ditto.
3461         (WebInspector.NetworkDataGridNode.prototype.refreshRequest): Ditto.
3462         (WebInspector.NetworkDataGridNode.prototype._refreshCookiesCell): Added.
3463         (WebInspector.NetworkDataGridNode.prototype._refreshSetCookiesCell): Added.
3464         (WebInspector.NetworkDataGridNode.RequestCookiesCountComparator): Added.
3465         (WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator): Added.
3466
3467 2013-01-31  Andrey Adaikin  <aandrey@chromium.org>
3468
3469         Web Inspector: Exception in HeapSnapshotView.js
3470         https://bugs.webkit.org/show_bug.cgi?id=108456