REGRESSION: flexbox content-size fails to exclude scrollbar
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-31  Tony Chang  <tony@chromium.org>
2
3         REGRESSION: flexbox content-size fails to exclude scrollbar
4         https://bugs.webkit.org/show_bug.cgi?id=92667
5
6         Reviewed by Ojan Vafai.
7
8         In r123909, we switched to computing the height using computeContentLogicalHeightUsing().
9         Unfortunately, this includes the scrollbar when we want the content height. Add a helper
10         method for computing the value needed by flexbox.
11
12         Test: css3/flexbox/content-height-with-scrollbars.html
13
14         * rendering/RenderFlexibleBox.cpp:
15         (WebCore::RenderFlexibleBox::mainAxisContentExtent): Use computeLogicalClientHeight
16         (WebCore::RenderFlexibleBox::computeLogicalClientHeight): Add new method for taking scrollbar into consideration.
17         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use computeLogicalClientHeight
18         (WebCore::RenderFlexibleBox::lineBreakLength): Use computeLogicalClientHeight
19         * rendering/RenderFlexibleBox.h:
20
21 2012-07-31  Kwang Yul Seo  <skyul@company100.net>
22
23         Remove unused method HTMLElementStack::bottom()
24         https://bugs.webkit.org/show_bug.cgi?id=92807
25
26         Reviewed by Kentaro Hara.
27
28         HTMLElementStack::bottom() was replaced with HTMLElementStack::rootNode()
29         in r80231.
30
31         No functional change, so no new tests.
32
33         * html/parser/HTMLElementStack.cpp:
34         * html/parser/HTMLElementStack.h:
35         (HTMLElementStack):
36
37 2012-07-31  Tony Chang  <tony@chromium.org>
38
39         -webkit-order should take an integer, not a number
40         https://bugs.webkit.org/show_bug.cgi?id=92688
41
42         Reviewed by Ojan Vafai.
43
44         The spec changed back from floats to integers:
45         http://lists.w3.org/Archives/Public/www-style/2012Jul/0607.html
46
47         Tests: css3/flexbox/css-properties.html: Updated.
48                css3/flexbox/flex-order.html: Test cases modified.
49
50
51         * css/CSSComputedStyleDeclaration.cpp:
52         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
53         * css/CSSParser.cpp:
54         (WebCore::CSSParser::parseValue):
55         * css/StyleBuilder.cpp:
56         (WebCore::StyleBuilder::StyleBuilder):
57         * rendering/RenderFlexibleBox.cpp:
58         (WebCore):
59         (RenderFlexibleBox::OrderHashTraits):
60         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
61         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
62         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
63         (RenderFlexibleBox::OrderIterator):
64         * rendering/RenderFlexibleBox.h:
65         * rendering/style/RenderStyle.h:
66         * rendering/style/StyleRareNonInheritedData.h:
67         (StyleRareNonInheritedData):
68
69 2012-07-31  James Robinson  <jamesr@chromium.org>
70
71         [chromium] Use skia directly in CCHeadsUpDisplayLayerImpl
72         https://bugs.webkit.org/show_bug.cgi?id=92810
73
74         Reviewed by Adrienne Walker.
75
76         The chromium compositor HUD doesn't need to use a full GraphicsContext/etc, all it draws are rectangles and a
77         simple stroked path. This draws the HUD with straight skia calls and removes the now unnecessary PlatformCanvas
78         wrapper.
79
80         * WebCore.gypi:
81         * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
82         * platform/graphics/chromium/PlatformCanvas.h: Removed.
83         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
84         (WebCore::CCFontAtlas::drawText):
85         * platform/graphics/chromium/cc/CCFontAtlas.h:
86         (CCFontAtlas):
87         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
88         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
89         (WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
90         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
91         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
92         (WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):
93         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
94         (WebCore):
95
96 2012-07-31  Dean Jackson  <dino@apple.com>
97
98         ImageCG doesn't initialize m_decodedPropertiesSize in BitmapImage constructor
99         https://bugs.webkit.org/show_bug.cgi?id=92418
100
101         Reviewed by Dan Bernstein.
102
103         Tested by existing content.
104
105         * platform/graphics/cg/ImageCG.cpp:
106         (WebCore::BitmapImage::BitmapImage): initialize m_decodedPropertiesSize to zero.
107
108 2012-07-31  Shawn Singh  <shawnsingh@chromium.org>
109
110         [chromium] Hit test points are being clipped by layers that should not clip
111         https://bugs.webkit.org/show_bug.cgi?id=92786
112
113         Reviewed by James Robinson.
114
115         On impl-side hit testing for chromium compositor, we are
116         accidentally checking all ancestor layers for clipping, instead of
117         only layers that actually clip something. This patch fixes it.
118
119         Added new unit test that reproduces the scenario:
120           CCLayerTreeHostCommonTest.verifyHitTestingForNonClippingIntermediateLayer
121
122         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
123         (WebCore::pointIsClippedBySurfaceOrClipRect):
124
125 2012-07-31  James Robinson  <jamesr@chromium.org>
126
127         [chromium] REGRESSION(r123644) Compositor HUD crashes immediately with --show-paint-rects
128         https://bugs.webkit.org/show_bug.cgi?id=92775
129
130         Reviewed by Adrienne Walker.
131
132         In r123644, the compositor HUD was turned into a normal layer. When the HUD is supposed to cover the entire
133         viewport - for instance if the showPlatformLayerTree or showDebugRects settings are true -
134         HeadsUpDisplayLayerChromium's constructor tries to size itself to its layerTreeHost()'s device viewport size.
135         Unfortunately, its layerTreeHost pointer is always nil in the constructor since the layer is not yet in the
136         tree. Additionally, this doesn't handle resize at all.
137
138         To fix this, this grabs the device viewport size and settings in a LayerChromium::update() OVERRIDE. Also
139         changes CCLayerTreeHost::willCommit to only reparent the HUD layer if needed instead of on every frame.
140
141         Tested manually, we don't have any layout tests for the debug HUD.
142
143         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
144         (WebCore::HeadsUpDisplayLayerChromium::create):
145         (WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
146         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
147         (HeadsUpDisplayLayerChromium):
148         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
149         (WebCore::CCLayerTreeHost::willCommit):
150
151 2012-07-31  Sam Weinig  <sam@webkit.org>
152
153         Stop masking 8 bits off of the visited link hash. We need all the bits!
154         https://bugs.webkit.org/show_bug.cgi?id=92799
155
156         Reviewed by Anders Carlsson.
157
158         * loader/appcache/ApplicationCacheStorage.cpp:
159         (WebCore::urlHostHash):
160         * platform/network/blackberry/CredentialBackingStore.cpp:
161         (WebCore::hashCredentialInfo):
162         * plugins/blackberry/PluginPackageBlackBerry.cpp:
163         (WebCore::PluginPackage::hash):
164         Update for new function names.
165
166 2012-07-31  Chris Rogers  <crogers@google.com>
167
168         Allow AudioDestination to support local/live audio input
169         https://bugs.webkit.org/show_bug.cgi?id=90318
170
171         Reviewed by Kenneth Russell.
172
173         * WebCore.gypi:
174         * WebCore.xcodeproj/project.pbxproj:
175         * GNUmakefile.list.am:
176         Add AudioIOCallback.h to make files.
177
178         * Modules/webaudio/AudioDestinationNode.h:
179         * Modules/webaudio/AudioDestinationNode.cpp:
180         (WebCore::AudioDestinationNode::render):
181         Change provideInput() method to render() to support optional audio input.
182
183         (AudioDestinationNode):
184         (WebCore::AudioDestinationNode::localAudioInputProvider):
185         Expose public access to an AudioSourceProvider for local/live audio input.
186
187         (LocalAudioInputProvider):
188         (WebCore::AudioDestinationNode::LocalAudioInputProvider::LocalAudioInputProvider):
189         (WebCore::AudioDestinationNode::LocalAudioInputProvider::set):
190         (WebCore::AudioDestinationNode::LocalAudioInputProvider::provideInput):
191         Add simple AudioSourceProvider implementation which dishes out a single AudioBus each
192         render quantum for optional local/live audio input.
193
194         * Modules/webaudio/OfflineAudioDestinationNode.h:
195         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
196         (WebCore::OfflineAudioDestinationNode::startRendering):
197         (WebCore::OfflineAudioDestinationNode::offlineRenderEntry):
198         (WebCore::OfflineAudioDestinationNode::offlineRender):
199         Simple name change using "offline" prefix to avoid confusion with AudioDestinationNode::render() method (implementing AudioIOCallback)
200
201         * platform/audio/AudioDestination.h:
202         Switch create() method to take an AudioIOCallback instead of AudioSourceProvider.
203
204         * platform/audio/AudioIOCallback.h:
205         (WebCore::AudioIOCallback::~AudioIOCallback):
206         Add new AudioIOCallback interface for audio input/output.
207
208         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
209         (WebCore::AudioDestination::create):
210         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
211         * platform/audio/gstreamer/AudioDestinationGStreamer.h:
212         (AudioDestinationGStreamer):
213         (WebCore::AudioDestinationGStreamer::callback):
214         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
215         (_WebKitWebAudioSourcePrivate):
216         (webKitWebAudioSrcSetProperty):
217         (webKitWebAudioSrcLoop):
218         Small tweaks to AudioDestinationGStreamer implementation to account for switch to AudioIOCallback.
219
220         * platform/audio/mac/AudioDestinationMac.cpp:
221         (WebCore::AudioDestination::create):
222         (WebCore::AudioDestinationMac::AudioDestinationMac):
223         (WebCore::AudioDestinationMac::render):
224         * platform/audio/mac/AudioDestinationMac.h:
225         (AudioDestinationMac):
226         Small tweaks to AudioDestinationMac implementation to account for switch to AudioIOCallback.
227
228 2012-07-31  Kwang Yul Seo  <skyul@company100.net>
229
230         Read tag names and attributes from the saved tokens in HTMLTreeBuilder::processEndTag(AtomicHTMLToken*)
231         https://bugs.webkit.org/show_bug.cgi?id=92715
232
233         Reviewed by Adam Barth.
234
235         This is a follow-up patch for r123577. Changed oneBelowTop to return HTMLStackItem*.
236
237         No new tests, covered by existing tests.
238
239         * html/parser/HTMLConstructionSite.h:
240         (WebCore::HTMLConstructionSite::oneBelowTop):
241         * html/parser/HTMLElementStack.cpp:
242         (WebCore::HTMLElementStack::oneBelowTop):
243         * html/parser/HTMLElementStack.h:
244         (HTMLElementStack):
245
246 2012-07-31  Eric Seidel  <eric@webkit.org>
247
248         StyleResolver::canShareStyleWithElement does not need to use getAttribute for classAttr in the non-SVG case
249         https://bugs.webkit.org/show_bug.cgi?id=92687
250
251         Reviewed by Antti Koivisto.
252
253         Previously 10% of samples in canShareStyleWithElement hit this line, after this change < 1% do.
254         This is a small speedup for the non-SVG case.  Since this call is made for every element
255         when style is resolved, any small speedup in this function matters on large documents.
256
257         * css/StyleResolver.cpp:
258         (WebCore::StyleResolver::collectMatchingRulesForList):
259
260 2012-07-31  Luke Macpherson   <macpherson@chromium.org>
261
262         Heap-use-after-free in WebCore::StyleResolver::loadPendingImage
263         https://bugs.webkit.org/show_bug.cgi?id=92606
264
265         Reviewed by Abhishek Arya.
266
267         Changes StyleResolver's m_pendingImageProperties set to a map, such that for each property we keep
268         a RefPtr to the CSSValue used to set that property. This ensures that CSSValues are not freed before
269         they are needed by loadPendingImage.
270
271         Test: fast/css/variables/deferred-image-load-from-variable.html
272
273         * css/StyleResolver.cpp:
274         * css/StyleResolver.h:
275
276 2012-07-31  Chris Rogers  <crogers@google.com>
277
278         Add stub implementation for MediaStreamAudioSourceNode
279         https://bugs.webkit.org/show_bug.cgi?id=90110
280
281         Reviewed by Kenneth Russell.
282
283         Test: webaudio/mediastreamaudiosourcenode.html
284
285         * CMakeLists.txt:
286         * DerivedSources.make:
287         * GNUmakefile.list.am:
288         * WebCore.gypi:
289         * WebCore.xcodeproj/project.pbxproj:
290         Add MediaStreamAudioSourceNode files to make files.
291
292         * Modules/webaudio/AudioContext.cpp:
293         * Modules/webaudio/AudioContext.h:
294         * Modules/webaudio/AudioContext.idl:
295         (WebCore::AudioContext::createMediaStreamSource):
296         Add new createMediaStreamSource() method.
297
298         * Modules/webaudio/AudioNode.h:
299         Add NodeTypeMediaStreamAudioSource.
300
301         * Modules/webaudio/MediaStreamAudioSourceNode.cpp: Added.
302         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added.
303         (WebCore::MediaStreamAudioSourceNode::create):
304         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
305         (WebCore::MediaStreamAudioSourceNode::~MediaStreamAudioSourceNode):
306         (WebCore::MediaStreamAudioSourceNode::setFormat):
307         (WebCore::MediaStreamAudioSourceNode::process):
308         (WebCore::MediaStreamAudioSourceNode::reset):
309         (WebCore::MediaStreamAudioSourceNode::mediaStream):
310         (WebCore::MediaStreamAudioSourceNode::audioSourceProvider):
311         Basic MediaStreamAudioSourceNode implementation.
312
313         * Modules/webaudio/MediaStreamAudioSourceNode.idl: Added.
314
315 2012-07-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
316
317         FractionalLayoutUnit minor math bugs
318         https://bugs.webkit.org/show_bug.cgi?id=86065
319
320         Reviewed by Levi Weintraub.
321
322         Implement a consistent set of subject modifying operators, to ensure
323         operations that need to be in float are performed in float.
324
325         Scale FractionalLayoutSize in FractionalLayoutUnits instead of intergers.
326
327         No new functionality. No new tests.
328
329         * platform/FractionalLayoutUnit.h:
330         (WebCore::operator-=):
331         (WebCore::operator*=):
332         (WebCore::operator/=):
333         * platform/graphics/FractionalLayoutSize.h:
334         (WebCore::FractionalLayoutSize::scale):
335
336 2012-07-31  Joshua Netterfield  <jnetterfield@rim.com>
337
338         [BlackBerry] Enable CSS Filter Effects
339         https://bugs.webkit.org/show_bug.cgi?id=92685
340
341         Reviewed by Rob Buis.
342
343         Enable CSS filter effects, with the exception of custom effects (CSS shaders) and reference effects (SVG effects)
344
345         No new tests, because this is covered by tests from other platforms.
346
347         Internally reviewed by Arvid Nilsson <anilsson@rim.com> and Antonio Gomes <agomes@rim.com>.
348
349         * CMakeLists.txt:
350         * PlatformBlackBerry.cmake:
351         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
352         (WebCore):
353         (WebCore::GraphicsLayerBlackBerry::setFilters):
354         (WebCore::GraphicsLayerBlackBerry::updateFilters):
355         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
356         (GraphicsLayerBlackBerry):
357         (WebCore::GraphicsLayerBlackBerry::filters):
358         * platform/graphics/blackberry/LayerCompositingThread.h:
359         (LayerOverride):
360         (WebCore):
361         (WebCore::LayerCompositingThread::filterOperationsChanged):
362         (WebCore::LayerCompositingThread::setFilterOperationsChanged):
363         (LayerCompositingThread):
364         (WebCore::LayerCompositingThread::filterActions):
365         (WebCore::LayerCompositingThread::setFilterActions):
366         * platform/graphics/blackberry/LayerData.h:
367         (LayerData):
368         (WebCore::LayerData::filters):
369         * platform/graphics/blackberry/LayerFilterRenderer.cpp: Added.
370         (WebCore):
371         (WebCore::operationTypeToProgramID):
372         (WebCore::Uniformf::Uniformf):
373         (WebCore::Uniform1f::apply):
374         (WebCore::Uniform1f::create):
375         (WebCore::Uniform1f::Uniform1f):
376         (WebCore::Uniform2f::apply):
377         (WebCore::Uniform2f::create):
378         (WebCore::Uniform2f::Uniform2f):
379         (WebCore::Uniform3f::apply):
380         (WebCore::Uniform3f::create):
381         (WebCore::Uniform3f::Uniform3f):
382         (WebCore::LayerFilterRendererAction::create):
383         (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
384         (WebCore::LayerFilterRendererAction::~LayerFilterRendererAction):
385         (WebCore::LayerFilterRendererAction::useActionOn):
386         (WebCore::LayerFilterRenderer::create):
387         (WebCore::LayerFilterRenderer::LayerFilterRenderer):
388         (WebCore::LayerFilterRenderer::bindCommonAttribLocation):
389         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
390         (WebCore::LayerFilterRenderer::ping):
391         (WebCore::LayerFilterRenderer::pong):
392         (WebCore::LayerFilterRenderer::pushSnapshot):
393         (WebCore::LayerFilterRenderer::popSnapshot):
394         (WebCore::LayerFilterRenderer::actionsForOperations):
395         (WebCore::LayerFilterRenderer::applyActions):
396         * platform/graphics/blackberry/LayerFilterRenderer.h: Added.
397         (WebCore):
398         (Uniformf):
399         (WebCore::Uniformf::location):
400         (Uniform1f):
401         (Uniform2f):
402         (Uniform3f):
403         (LayerFilterRendererAction):
404         (WebCore::LayerFilterRendererAction::shouldPushSnapshot):
405         (WebCore::LayerFilterRendererAction::setPushSnapshot):
406         (WebCore::LayerFilterRendererAction::shouldPopSnapshot):
407         (WebCore::LayerFilterRendererAction::setPopSnapshot):
408         (WebCore::LayerFilterRendererAction::appendUniform):
409         (LayerFilterRenderer):
410         (WebCore::LayerFilterRenderer::isEnabled):
411         (WebCore::LayerFilterRenderer::disable):
412         * platform/graphics/blackberry/LayerRenderer.cpp:
413         (WebCore::LayerRenderer::loadShader):
414         (WebCore::LayerRenderer::loadShaderProgram):
415         (WebCore::LayerRenderer::drawLayersOnSurfaces):
416         (WebCore::LayerRenderer::updateLayersRecursive):
417         (WebCore):
418         (WebCore::LayerRenderer::initializeSharedGLObjects):
419         * platform/graphics/blackberry/LayerRenderer.h:
420         (LayerRenderer):
421         * platform/graphics/blackberry/LayerWebKitThread.cpp:
422         (WebCore::LayerWebKitThread::LayerWebKitThread):
423         (WebCore::LayerWebKitThread::commitOnCompositingThread):
424         (WebCore):
425         (WebCore::LayerWebKitThread::filtersCanBeComposited):
426         * platform/graphics/blackberry/LayerWebKitThread.h:
427         (LayerWebKitThread):
428         (WebCore::LayerWebKitThread::setFilters):
429         * platform/graphics/filters/FECustomFilter.cpp:
430         (WebCore::FECustomFilter::platformApplySoftware):
431         (WebCore::FECustomFilter::resizeContext):
432         (WebCore::FECustomFilter::bindProgramAndBuffers):
433         * platform/graphics/filters/FilterOperation.h:
434         (WebCore):
435         (FilterOperation):
436
437 2012-07-31  Alexis Menard  <alexis.menard@openbossa.org>
438
439         Get rid of "parser" type casts in CSSGrammar.y
440         https://bugs.webkit.org/show_bug.cgi?id=92760
441
442         Reviewed by Adam Barth.
443
444         r124099 now type the parser parameter, it is therefore not needed to
445         cast to CSSParser* everywhere as we know have a CSSParser* type
446         already.
447
448         No new tests : refactor with no behavior change expected.
449
450         * css/CSSGrammar.y:
451
452 2012-07-31  Ian Vollick  <vollick@chromium.org>
453
454         [chromium] Use WebAnimation and related classes in GraphicsLayerChromium and AnimTranslationUtil
455         https://bugs.webkit.org/show_bug.cgi?id=90468
456
457         Reviewed by James Robinson.
458
459         No new tests. No new functionality.
460
461         * WebCore.gypi:
462         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
463         (WebCore::appendKeyframe):
464         (WebCore::WebTransformAnimationCurve):
465         (WebCore::createWebAnimation):
466         * platform/graphics/chromium/AnimationTranslationUtil.h:
467         (WebKit):
468         (WebCore):
469         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
470         (WebCore::GraphicsLayerChromium::willBeDestroyed):
471         (WebCore::GraphicsLayerChromium::addAnimation):
472         (WebCore::GraphicsLayerChromium::pauseAnimation):
473         (WebCore::GraphicsLayerChromium::removeAnimation):
474         (WebCore::GraphicsLayerChromium::suspendAnimations):
475         (WebCore::GraphicsLayerChromium::resumeAnimations):
476         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
477         * platform/graphics/chromium/GraphicsLayerChromium.h:
478         (GraphicsLayerChromium):
479         * platform/graphics/chromium/LayerChromium.cpp:
480         * platform/graphics/chromium/LayerChromium.h:
481         (WebKit):
482         (WebCore):
483         (WebCore::LayerChromium::setLayerAnimationDelegate):
484         (LayerChromium):
485         * platform/graphics/chromium/LinkHighlight.h:
486         (LinkHighlight):
487
488 2012-07-31  Taiju Tsuiki  <tzik@chromium.org>
489
490         Fix potential build error on LocalFileSystem::deleteFileSystem.
491         https://bugs.webkit.org/show_bug.cgi?id=92695
492
493         Non-Chrome build of WebKit with FILE_SYSTEM flag will be broken at
494         LocalFileSystem::deleteFileSystem.
495         Chrome does not use this source and most of other ports don't turn on
496         FILE_SYSTEM flag for now. So, we've not seen the breakage explicitly yet.
497
498         Reviewed by Adam Barth.
499
500         Non-Chrome WebKit build with FILE_SYSTEM should be finished successfully.
501
502         * Modules/filesystem/LocalFileSystem.cpp:
503         (WebCore::LocalFileSystem::deleteFileSystem):
504
505 2012-07-31  Li Yin  <li.yin@intel.com>
506
507         AudioPannerNode should raise exception when distanceModel is set incorrectly
508         https://bugs.webkit.org/show_bug.cgi?id=90952
509
510         Reviewed by Chris Rogers.
511
512         Spec: http://www.w3.org/TR/webaudio/#AudioPannerNode-section
513         The distance model can be only set to LINEAR_DISTANCE, INVERSE_DISTANCE or EXPONENTIAL_DISTANCE.
514         If the incorrect value is set, it will raise the exception.
515         Use the unsigned short to replace unsigned long in AudioPannerNode.idl.
516
517         Test: webaudio/audiopannernode-basic.html
518
519         * Modules/webaudio/AudioPannerNode.cpp:
520         (WebCore::AudioPannerNode::setDistanceModel): raise exception
521         (WebCore):
522         * Modules/webaudio/AudioPannerNode.h:
523         (AudioPannerNode):
524         * Modules/webaudio/AudioPannerNode.idl: using unsigned short to replace unsigned long
525
526 2012-07-31  Max Vujovic  <mvujovic@adobe.com>
527
528         [CSS Shaders] CSS parser rejects parameter names that are also CSS keywords
529         https://bugs.webkit.org/show_bug.cgi?id=92537
530
531         Reviewed by Dirk Schulze.
532
533         Remove the CSS keyword check for CSS Shaders parameter names. Parameters are allowed to be
534         any valid CSS identifier, including CSS keywords. See the spec:
535         https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustom
536
537         The CSS parser was rejecting input like the following because it uses a CSS keyword
538         "background" as a parameter name:
539         -webkit-filter: custom(none url(fragment.shader), background 0 1 0 1);
540
541         Test: css3/filters/custom/custom-filter-css-keyword-as-parameter-name.html
542
543         * css/CSSParser.cpp:
544         (WebCore::CSSParser::parseCustomFilter): Do not return early when the parameter name is a
545         CSS keyword (i.e. when the CSSParserValue has a non-zero id).
546
547 2012-07-31  Pravin D  <pravind.2k4@gmail.com>
548
549         Caret position is wrong when a editable container has word-wrap:normal set
550         https://bugs.webkit.org/show_bug.cgi?id=89649
551
552         Reviewed by Levi Weintraub.
553
554         Correcting the incorrect addumption that the min and max position for the caret rect is constrained to 
555         the logical containing block width. This assumption is incorrect when the text has word-wrap:normal and 
556         flows beyound the visible rect of the container.
557
558         Test: editing/input/editable-container-with-word-wrap-normal.html
559
560         * rendering/RenderText.cpp:
561         (WebCore::RenderText::localCaretRect):
562
563 2012-07-31  Antti Koivisto  <antti@apple.com>
564
565         Crash in FrameLoader::checkLoadComplete with non-browser client app
566         https://bugs.webkit.org/show_bug.cgi?id=92774
567
568         Reviewed by Alexey Proskuryakov..
569
570         Speculative fix. It is possible that CSSFontSelector could get deleted during the timer callback
571         and memory reused, making m_document point to some garbage when it is tested at the end.
572
573         * css/CSSFontSelector.cpp:
574         (WebCore::CSSFontSelector::beginLoadTimerFired):
575
576 2012-07-31  Hans Wennborg  <hans@chromium.org>
577
578         Speech JavaScript API: Throw exception for start() when already started
579         https://bugs.webkit.org/show_bug.cgi?id=92756
580
581         Reviewed by Adam Barth.
582
583         Make the start() function throw an exception if the SpeechRecognition
584         object was already started.
585
586         Test: fast/speech/scripted/start-exception.html
587
588         * Modules/speech/SpeechRecognition.cpp:
589         (WebCore::SpeechRecognition::start):
590         (WebCore::SpeechRecognition::stopFunction):
591         (WebCore::SpeechRecognition::abort):
592         (WebCore::SpeechRecognition::didReceiveError):
593         (WebCore::SpeechRecognition::didEnd):
594         (WebCore::SpeechRecognition::SpeechRecognition):
595         * Modules/speech/SpeechRecognition.h:
596         (SpeechRecognition):
597         * Modules/speech/SpeechRecognition.idl:
598
599 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
600
601         Unreviewed, rolling out r124207.
602         http://trac.webkit.org/changeset/124207
603         https://bugs.webkit.org/show_bug.cgi?id=92773
604
605         Patch causes crashes on the 64-bit debug builder (and other
606         builders likely) (Requested by zdobersek on #webkit).
607
608         * GNUmakefile.am:
609         * GNUmakefile.list.am:
610         * platform/text/gtk/TextCheckerEnchant.cpp: Removed.
611         * platform/text/gtk/TextCheckerEnchant.h: Removed.
612
613 2012-07-07  Philippe Normand  <pnormand@igalia.com>
614
615         [GStreamer] Live stream support is weak
616         https://bugs.webkit.org/show_bug.cgi?id=90084
617
618         Reviewed by Martin Robinson.
619
620         Make sure on-disk buffering is disabled for live streams. It is
621         enabled initially when loading any remote media file if preload is
622         set to Auto. Later on if the player detects that the media is live
623         it disables on-disk buffering. This patch also adds support for
624         caching the total size of the media.
625
626         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
627         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
628         (WebCore::MediaPlayerPrivateGStreamer::load): Keep track of the
629         media url as an instance attribute.
630         (WebCore::MediaPlayerPrivateGStreamer::duration): Logging improvement.
631         (WebCore::MediaPlayerPrivateGStreamer::setRate): use the new
632         isLiveStream() method.
633         (WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
634         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Indicate
635         source of duration message.
636         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Perform an
637         anonymous duration change emission, mostly to cache its value.
638         (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Return
639         cached size when available.
640         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Use the new
641         isLiveStream() method and handle state change corner cases for live streams.
642         (WebCore::MediaPlayerPrivateGStreamer::durationChanged): Cache
643         media total size and re-enable on-disk buffering if caching succeeds.
644         (WebCore::MediaPlayerPrivateGStreamer::movieLoadType): New
645         implementation handling on-disk buffered and live streaming cases.
646         (WebCore::MediaPlayerPrivateGStreamer::setPreload): Remember the
647         case where preload is updated from Auto to another value, do
648         on-disk buffering only for Auto preload attribute.
649         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
650         (MediaPlayerPrivateGStreamer):
651         (WebCore::MediaPlayerPrivateGStreamer::isLiveStream): Utility
652         method, a stream is live if it goes to PAUSE without prerolling.
653
654 2012-07-17  Antonio Gomes  <agomes@rim.com>
655
656         [Blackberry][FullScreen] HTML5 <video> controls are scaled differently depending on the current webpage scale
657         https://bugs.webkit.org/show_bug.cgi?id=90884
658         PR #162839
659
660         Reviewed by Rob Buis.
661
662         The way the BlackBerry port implements the FULLSCREEN_API for media
663         elements might result in the controls being oversized, proportionally
664         to the current page scale. That happens because the fullscreen element
665         gets sized to be as big as the viewport size, and the viewport size might
666         get outstretched to fit to the screen dimensions.
667
668         In order to fix that, the patch strips out the Page scale factor from
669         the media controls multiplier.
670
671         Patch also changes many integer-based calculations to be float-based, in
672         order to get the needed precision.
673
674         Internally reviewed by Jacky Jiang.
675
676         * platform/blackberry/RenderThemeBlackBerry.cpp:
677         (WebCore):
678         (WebCore::determineFullScreenMultiplier):
679         (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
680         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
681         (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
682         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
683         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
684
685 2012-07-31  Stephen White  <senorblanco@chromium.org>
686
687         Remove the clone() method from FilterOperation (and subclasses).
688         https://bugs.webkit.org/show_bug.cgi?id=92757
689
690         Reviewed by Kentaro Hara.
691
692         Since the move to WebFilterOperation in Chromium, this is now dead
693         code.
694
695         Covered by existing tests in css3/filters.
696
697         * platform/graphics/filters/CustomFilterOperation.h:
698         * platform/graphics/filters/FilterOperation.h:
699
700 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
701
702         Regression(r124135): SVG tests crashing on ports using Cairo
703         https://bugs.webkit.org/show_bug.cgi?id=92752
704
705         Reviewed by Martin Robinson.
706
707         * platform/graphics/cairo/PathCairo.cpp:
708         (WebCore::Path::operator=):
709
710 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
711
712         Unreviewed, rolling out r124208.
713         http://trac.webkit.org/changeset/124208
714         https://bugs.webkit.org/show_bug.cgi?id=92765
715
716         it broke compilation on mac (Requested by loislo on #webkit).
717
718         * CMakeLists.txt:
719         * GNUmakefile.list.am:
720         * Target.pri:
721         * WebCore.gypi:
722         * WebCore.vcproj/WebCore.vcproj:
723         * WebCore.xcodeproj/project.pbxproj:
724         * inspector/InspectorAllInOne.cpp:
725         * inspector/InspectorMemoryAgent.cpp:
726         (WebCore):
727         * inspector/MemoryInstrumentationImpl.cpp: Removed.
728         * inspector/MemoryInstrumentationImpl.h: Removed.
729
730 2012-07-31  Stephen Chenney  <schenney@chromium.org>
731
732         xmlserializer strips xlink from xlink:html svg image tag
733         https://bugs.webkit.org/show_bug.cgi?id=79586
734
735         Reviewed by Nikolas Zimmermann.
736
737         Adding code to ensure the correct prefix on attributes in the xml,
738         xmlns and xlink namespaces. We now follow the rules in
739         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments
740         (circa the time of this change).
741
742         Rob Buis wrote the original test for this patch and did the initial work.
743
744         Tests: fast/dom/XMLSerializer-xml-namespace.html
745                svg/custom/xlink-prefix-in-attributes.html
746
747         * editing/MarkupAccumulator.cpp:
748         (WebCore::attributeIsInSerializedNamespace): Test for an attribute in
749         a specially serialized namespace: xml, xmlns, xlink.
750         (WebCore):
751         (WebCore::MarkupAccumulator::appendAttribute): Check the namespace of
752         attributes upon serialization, and add any necessary prefixes.
753         * html/parser/HTMLTreeBuilder.cpp:
754         (WebCore::adjustForeignAttributes): Use WTF::xmlAtom etc for AtomicString arguments.
755
756 2012-07-31  Mike Reed  <reed@google.com>
757
758         skia: switch to conical gradient to match css/svg spec for two-point gradients
759         https://bugs.webkit.org/show_bug.cgi?id=92754
760
761         Reviewed by Stephen White.
762
763         Switching to skia's TwoPointConical gradient, which has been written explicitly to match the css/svg spec.
764         Leaving the existing TwoPointRadial gradient in skia, for other callers that may want the old behavior.
765
766         No new tests. existing layouttests exercise this change (9 pending rebaselines associated with this CL).
767
768         * platform/graphics/skia/GradientSkia.cpp:
769         (WebCore::Gradient::platformGradient):
770
771 2012-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
772
773         Web Inspector: extract MemoryInstrumentationImpl into separate files for future reusing in unit tests
774         https://bugs.webkit.org/show_bug.cgi?id=92751
775
776         Reviewed by Yury Semikhatsky.
777
778         * CMakeLists.txt:
779         * GNUmakefile.list.am:
780         * Target.pri:
781         * WebCore.gypi:
782         * WebCore.vcproj/WebCore.vcproj:
783         * inspector/InspectorAllInOne.cpp:
784         * inspector/InspectorMemoryAgent.cpp:
785         (WebCore):
786         * inspector/MemoryInstrumentationImpl.cpp: Added.
787         (WebCore):
788         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
789         (WebCore::MemoryInstrumentationImpl::processDeferredInstrumentedPointers):
790         (WebCore::MemoryInstrumentationImpl::countObjectSize):
791         (WebCore::MemoryInstrumentationImpl::deferInstrumentedPointer):
792         (WebCore::MemoryInstrumentationImpl::visited):
793         (WebCore::MemoryInstrumentationImpl::selfSize):
794         * inspector/MemoryInstrumentationImpl.h: Added.
795         (WebCore):
796         (MemoryInstrumentationImpl):
797         (WebCore::MemoryInstrumentationImpl::totalTypeSize):
798
799 2012-07-31  Mario Sanchez Prada  <msanchez@igalia.com>
800
801         [GTK] Add a new and reusable enchant-based spellchecker in WebCore
802         https://bugs.webkit.org/show_bug.cgi?id=90269
803
804         Reviewed by Martin Robinson.
805
806         Move enchant specific code down to WebCore, into a new class
807         TextCheckerEnchant, that we can use from WK1 and WK2.
808
809         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
810         * GNUmakefile.list.am: Added new files.
811         * platform/text/gtk/TextCheckerEnchant.cpp: Added.
812         (getAvailableDictionariesCallback):
813         (TextCheckerEnchant::TextCheckerEnchant):
814         (TextCheckerEnchant::~TextCheckerEnchant):
815         (TextCheckerEnchant::ignoreWord):
816         (TextCheckerEnchant::learnWord):
817         (TextCheckerEnchant::checkSpellingOfString):
818         (TextCheckerEnchant::getGuessesForWord):
819         (TextCheckerEnchant::updateSpellCheckingLanguages):
820         (TextCheckerEnchant::freeEnchantBrokerDictionaries):
821         * platform/text/gtk/TextCheckerEnchant.h: Added.
822         (WebCore):
823         (TextCheckerEnchant):
824         (WebCore::TextCheckerEnchant::create):
825
826 2012-07-31  Joe Mason  <jmason@rim.com>
827
828         [BlackBerry] Support Negotiate auth
829         https://bugs.webkit.org/show_bug.cgi?id=91871
830
831         Reviewed by George Staikos.
832
833         Add Negotiate to the list of auth schemes allowed in the platform request.
834
835         Add "success" and "requireCredentials" parameters to notifyAuthReceived (which is now called
836         with success = true on successful authentication, as well as on failures).
837
838         When success is true, update the stored credential to use the auth scheme actually reported
839         rather than that set in the request. (This is used when Negotiate auth can't get a ticket
840         and falls back to a different supported auth type.)
841
842         When requireCredentials is false, just set the auth type and start a new request using empty
843         credentials.
844
845         RIM PR# 166514
846         Internally reviewed by Jonathan Dong
847
848         * platform/network/blackberry/NetworkJob.cpp:
849         (WebCore::NetworkJob::notifyAuthReceived): Add Negotiate to the auth scheme switch. Handle
850         success param by updating auth type in stored credentials; pass requireCredentials param on
851         to sendRequestWithCredentials.
852         (WebCore::NetworkJob::startNewJobWithRequest): Fix typo in increaseRedirectCount parameter
853         name.
854         (WebCore::NetworkJob::sendRequestWithCredentials): Use empty credentials if
855         requireCredentials is false.
856         * platform/network/blackberry/NetworkJob.h:
857         (NetworkJob):
858         * platform/network/blackberry/NetworkManager.cpp:
859         (WebCore::NetworkManager::startJob): Add Negotiate to the auth scheme switch.
860
861 2012-07-31  Alexei Filippov  <alexeif@chromium.org>
862
863         Web Inspector: take into account the whole security origin instead of just host
864         https://bugs.webkit.org/show_bug.cgi?id=92740
865
866         Reviewed by Pavel Feldman.
867
868         Make the DOM Storage Agent take into account all the
869         information relevant to the security origin, i.e. protocol, host, and
870         port. Previously only the host was taken into account. That caused
871         inspector to show the first storage only in the case a page operated
872         over several security origins sharing the same host (but having
873         different protocols e.g. http and https).
874
875         * inspector/InspectorDOMStorageAgent.cpp:
876         (WebCore::InspectorDOMStorageAgent::storageId):
877         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
878         * inspector/InspectorDOMStorageResource.cpp:
879         (WebCore::InspectorDOMStorageResource::isSameOriginAndType):
880         (WebCore::InspectorDOMStorageResource::bind):
881         * inspector/InspectorDOMStorageResource.h:
882         (InspectorDOMStorageResource):
883
884 2012-07-31  Keishi Hattori  <keishi@webkit.org>
885
886         Slider ticks are drawn at wrong positions
887         https://bugs.webkit.org/show_bug.cgi?id=92720
888
889         Reviewed by Kent Tamura.
890
891         Slider tick marks for vertical sliders were drawn reversed. And the tick
892         mark positions were slightly off from the thumb position because of rounding.
893
894         No new tests. Covered in input-appearance-range-with-datalist.html.
895
896         * rendering/RenderTheme.cpp:
897         (WebCore::RenderTheme::paintSliderTicks):
898
899 2012-07-31  Shinya Kawanaka  <shinyak@chromium.org>
900
901         Older ShadowDOM is still rendered when a new ShadowDOM is added when they don't have any InsertionPoints.
902         https://bugs.webkit.org/show_bug.cgi?id=92456
903
904         Reviewed by Hajime Morita.
905
906         When adding a new ShadowRoot to an element having other ShadowRoots, and they don't have any InsretionPoint,
907         the older ShadowDOM is still rendered.
908
909         When ContentDistributor's validity is 'Undetermined', ElementShadow reattaches the host and the whole shadow
910         subtree. Since adding a new ShadowRoot makes the validity 'Undetermined', we have had to make it 'Undetermined'.
911
912         This change enables us to remove a unnecessary InvalidationType flag from the code. We should call
913         setValidityUndetermined() instead of using InvalidateAndForceReattach.
914
915         Test: fast/dom/shadow/invalidate-distribution.html
916
917         * dom/ElementShadow.cpp:
918         (WebCore::ElementShadow::addShadowRoot): Calls setValidityUndetermined().
919         (WebCore::ElementShadow::removeAllShadowRoots):
920         (WebCore::ElementShadow::setValidityUndetermined):
921         (WebCore::ElementShadow::invalidateDistribution): When validity is undetermined, we will reattach the
922         host and the shadow subtree.
923         * dom/ElementShadow.h:
924         (ElementShadow):
925         * html/shadow/ContentDistributor.cpp:
926         * html/shadow/ContentDistributor.h:
927         (WebCore::ContentDistributor::setValidity):
928         (ContentDistributor):
929         * html/shadow/InsertionPoint.cpp:
930         (WebCore::InsertionPoint::insertedInto): Calls setValidityUndetermined().
931
932 2012-07-31  Tommy Widenflycht  <tommyw@google.com>
933
934         Introduce a minimal RTCPeerConnection together with Dictionary changes
935         https://bugs.webkit.org/show_bug.cgi?id=92380
936
937         Reviewed by Kentaro Hara.
938
939         This patch introduces a shell RTCPeerConnection together with neccecary changes to
940         Dictionary.
941
942         The W3C specification can be found here:
943         http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcpeerconnection
944
945         Since Dictionaries can't be fully copied around adding
946         get(const String& name, Vector<Dictionary>& result)
947         isn't feasible so I have added a new ArrayValue class.
948
949         Test: fast/mediastream/RTCPeerConnection.html
950
951         * CMakeLists.txt:
952         * GNUmakefile.list.am:
953         * Modules/mediastream/DOMWindowMediaStream.idl:
954         * Modules/mediastream/RTCPeerConnection.cpp: Added.
955         (WebCore):
956         (RTCIceServer):
957         (WebCore::RTCIceServer::create):
958         (WebCore::RTCIceServer::~RTCIceServer):
959         (WebCore::RTCIceServer::uri):
960         (WebCore::RTCIceServer::credential):
961         (WebCore::RTCIceServer::RTCIceServer):
962         (RTCConfiguration):
963         (WebCore::RTCConfiguration::create):
964         (WebCore::RTCConfiguration::~RTCConfiguration):
965         (WebCore::RTCConfiguration::appendServer):
966         (WebCore::RTCConfiguration::numberOfServers):
967         (WebCore::RTCConfiguration::server):
968         (WebCore::RTCConfiguration::RTCConfiguration):
969         (WebCore::RTCPeerConnection::parseConfiguration):
970         (WebCore::RTCPeerConnection::create):
971         (WebCore::RTCPeerConnection::RTCPeerConnection):
972         (WebCore::RTCPeerConnection::~RTCPeerConnection):
973         (WebCore::RTCPeerConnection::interfaceName):
974         (WebCore::RTCPeerConnection::scriptExecutionContext):
975         (WebCore::RTCPeerConnection::stop):
976         (WebCore::RTCPeerConnection::eventTargetData):
977         (WebCore::RTCPeerConnection::ensureEventTargetData):
978         * Modules/mediastream/RTCPeerConnection.h: Added.
979         (WebCore):
980         (RTCPeerConnection):
981         (WebCore::RTCPeerConnection::refEventTarget):
982         (WebCore::RTCPeerConnection::derefEventTarget):
983         * Modules/mediastream/RTCPeerConnection.idl: Added.
984         * Target.pri:
985         * UseJSC.cmake:
986         * WebCore.gypi:
987         * WebCore.vcproj/WebCore.vcproj:
988         * WebCore.xcodeproj/project.pbxproj:
989         * bindings/generic/RuntimeEnabledFeatures.h:
990         (WebCore::RuntimeEnabledFeatures::webkitRTCPeerConnectionEnabled):
991         * bindings/js/ArrayValue.cpp: Added.
992         (WebCore):
993         (WebCore::ArrayValue::ArrayValue):
994         (WebCore::ArrayValue::operator=):
995         (WebCore::ArrayValue::isUndefinedOrNull):
996         (WebCore::ArrayValue::length):
997         (WebCore::ArrayValue::get):
998         * bindings/js/ArrayValue.h: Added.
999         (WebCore):
1000         (ArrayValue):
1001         * bindings/js/JSBindingsAllInOne.cpp:
1002         * bindings/js/JSDictionary.cpp:
1003         (WebCore::JSDictionary::convertValue):
1004         (WebCore):
1005         * bindings/js/JSDictionary.h:
1006         (WebCore):
1007         * bindings/v8/ArrayValue.cpp: Added.
1008         (WebCore):
1009         (WebCore::ArrayValue::operator=):
1010         (WebCore::ArrayValue::isUndefinedOrNull):
1011         (WebCore::ArrayValue::length):
1012         (WebCore::ArrayValue::get):
1013         * bindings/v8/ArrayValue.h: Added.
1014         (WebCore):
1015         (ArrayValue):
1016         (WebCore::ArrayValue::ArrayValue):
1017         (WebCore::ArrayValue::~ArrayValue):
1018         * bindings/v8/Dictionary.cpp:
1019         (WebCore::Dictionary::get):
1020         (WebCore):
1021         * bindings/v8/Dictionary.h:
1022         (WebCore):
1023         (Dictionary):
1024         * dom/EventTargetFactory.in:
1025
1026 2012-07-31  Raul Hudea  <rhudea@adobe.com>
1027
1028         Inspector crashes when trying to inspect a page with CSS region styling
1029         https://bugs.webkit.org/show_bug.cgi?id=91503
1030
1031         Reviewed by Alexander Pavlov.
1032
1033         Fix by making sure a CSSRuleSourceData is always created when parsing @-webkit-region rules.
1034
1035         Test: inspector/styles/region-style-crash.html
1036
1037         * css/CSSGrammar.y: Made ruleset called explicitly markRuleBodyStart instead of depending on updateLastSelectorLineAndPosition to call it.
1038         * css/CSSParser.cpp:
1039         (WebCore::CSSParser::updateLastSelectorLineAndPosition): markRuleBodyStart should be called via at_rule_body_start. 
1040         * css/CSSPropertySourceData.h:
1041
1042 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1043
1044         Unreviewed, rolling out r124179.
1045         http://trac.webkit.org/changeset/124179
1046         https://bugs.webkit.org/show_bug.cgi?id=92730
1047
1048         Breaks Chromium Linux 32 bots with "error: integer constant is
1049         too large for 'long' type" in IDBLevelDBCodingTest.cpp
1050         (Requested by apavlov on #webkit).
1051
1052         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1053         (WebCore::IDBLevelDBCoding::encodeByte):
1054         (WebCore::IDBLevelDBCoding::encodeBool):
1055         (WebCore::IDBLevelDBCoding::encodeInt):
1056         (WebCore::IDBLevelDBCoding::encodeVarInt):
1057         (WebCore::IDBLevelDBCoding::encodeString):
1058         (WebCore::IDBLevelDBCoding::encodeDouble):
1059         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1060         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1061         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
1062         * Modules/indexeddb/IDBLevelDBCoding.h:
1063         (IDBLevelDBCoding):
1064
1065 2012-07-31  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1066
1067         add Farstream flags/deps to WebKit, for WebRTC
1068         https://bugs.webkit.org/show_bug.cgi?id=87524
1069
1070         Reviewed by Philippe Normand.
1071
1072         Since Farstream will be used as the backend for GTK's WebRTC, this
1073         patch adds it as a dependency to the build system.
1074
1075         No new features or code changes were added, so new tests aren't necessary.
1076
1077         * GNUmakefile.am:
1078
1079 2012-07-31  Zan Dobersek  <zandobersek@gmail.com>
1080
1081         Unreviewed crash fix after r124135.
1082
1083         * platform/graphics/cairo/PathCairo.cpp:
1084         (WebCore::Path::Path): Ensure the Cairo path when acquiring its context,
1085         crashes ensue otherwise.
1086
1087 2012-07-31  Yoshifumi Inoue  <yosin@chromium.org>
1088
1089         Change Element::isReadOnlyFormControl to Element::shouldMatchReadOnlySelector/shouldMatchReadWriteSelector or HTMLFormControlElement::readOnly
1090         https://bugs.webkit.org/show_bug.cgi?id=92602
1091
1092         Reviewed by Kent Tamura.
1093
1094         This patch replaces Element::isReadOnlyFormControl() by
1095         Element::shouldMatchReadOnlySelector/shouldMatchReadOnlySelector or
1096         HTMLFormControlElement::readOnly() to make intention of functions
1097         self descriptive.
1098
1099         No new tests. This patch doesn't change behavior.
1100
1101         * css/SelectorChecker.cpp:
1102         (WebCore::SelectorChecker::checkOneSelector): Replaced isReadOnlyFormControl() by shouldMatchReadOnlySelector() for :read-only pseudo class, and replaced isReadOnlyFormControl() by shouldMatchReadOnlySelector() for :read-only pseudo class.
1103         * dom/Element.cpp:
1104         (WebCore::Element::shouldMatchReadOnlySelector): Added for default implementation.
1105         (WebCore::Element::shouldMatchReadWriteSelector): for default implementation.
1106         * dom/Element.h:
1107         (Element): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
1108         * html/HTMLFormControlElement.cpp:
1109         (WebCore::HTMLFormControlElement::shouldMatchReadOnlySelector): Added.
1110         (WebCore::HTMLFormControlElement::shouldMatchReadWriteSelector): Added.
1111         * html/HTMLFormControlElement.h:
1112         (HTMLFormControlElement): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
1113         * html/shadow/SliderThumbElement.cpp:
1114         (WebCore::SliderThumbElement::shouldMatchReadOnlySelector): Added.
1115         (WebCore::SliderThumbElement::shouldMatchReadWriteSelector): Added.
1116         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
1117         (WebCore::SliderThumbElement::willRespondToMouseClickEvents): ditto.
1118         (SliderThumbElement):
1119         * html/shadow/TextControlInnerElements.cpp:
1120         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1121         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto.
1122         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto.
1123         (WebCore::SpinButtonElement::shouldMatchReadOnlySelector): Added.
1124         (WebCore::SpinButtonElement::shouldMatchReadWriteSelector): Added.
1125         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1126         * html/shadow/TextControlInnerElements.h:
1127         (SpinButtonElement): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
1128         * rendering/RenderTheme.cpp:
1129         (WebCore::RenderTheme::isReadOnlyControl): Replaced isReadOnlyControl() by shouldMatchReadOnlySelector().
1130
1131 2012-07-31  Xingnan Wang  <xingnan.wang@intel.com>
1132
1133         IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
1134         https://bugs.webkit.org/show_bug.cgi?id=91813
1135
1136         Reviewed by Kentaro Hara.
1137
1138         To avoid memory re-allocation in Vector, init the capability or size of Vector in encodeInt(), encodeVarInt(),
1139         encodeBool(), encodeIDBKey() etc.
1140
1141         No new tests - Low level functions covered by existing layout tests and also covered by Chromium
1142         webkit_unit_tests IDBLevelIDBCodingTest.* which validates the sizes of buffers returned by encodeVarInt.
1143
1144         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1145         (WebCore::IDBLevelDBCoding::encodeInt):
1146         (WebCore::IDBLevelDBCoding::encodeVarInt):
1147         (WebCore::IDBLevelDBCoding::encodeString):
1148
1149 2012-07-30  Huang Dongsung  <luxtella@company100.net>
1150
1151         [Texmap] Remove the backing store after 'style.visibility' for an element sets 'hidden'.
1152         https://bugs.webkit.org/show_bug.cgi?id=92492
1153
1154         Reviewed by Noam Rosenthal.
1155
1156         This patch's purpose is to save vram memory.
1157         When visibility of the element sets hidden, we do not need to draw the element,
1158         so we do not need to keep a texture of the backing store.
1159         Currently, Texmap does not draw the element with visibility:hidden because
1160         RenderLayerBacking::paintIntoLayer does not draw anything.
1161         This patch just removes unused textures.
1162
1163         No new tests - no new testable functionality.
1164
1165         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1166         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
1167         (WebCore):
1168         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1169         (GraphicsLayerTextureMapper):
1170         * platform/graphics/texmap/TextureMapperLayer.cpp:
1171         (WebCore::TextureMapperLayer::updateBackingStore):
1172         (WebCore::TextureMapperLayer::paintSelf):
1173         (WebCore::TextureMapperLayer::isVisible):
1174         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
1175         * platform/graphics/texmap/TextureMapperLayer.h:
1176         (State):
1177         (WebCore::TextureMapperLayer::State::State):
1178
1179 2012-07-30  Keishi Hattori  <keishi@webkit.org>
1180
1181         Implement datalist UI for input type color for Chromium
1182         https://bugs.webkit.org/show_bug.cgi?id=92075
1183
1184         Reviewed by Kent Tamura.
1185
1186         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
1187
1188         * rendering/RenderThemeChromiumCommon.cpp:
1189         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
1190
1191 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1192
1193         Unreviewed, rolling out r124171.
1194         http://trac.webkit.org/changeset/124171
1195         https://bugs.webkit.org/show_bug.cgi?id=92712
1196
1197         Start failing fast/css/square-button-appearance.html
1198         (Requested by yosin on #webkit).
1199
1200         * css/SelectorChecker.cpp:
1201         (WebCore::SelectorChecker::checkOneSelector):
1202         * dom/Element.cpp:
1203         * dom/Element.h:
1204         (Element):
1205         (WebCore::Element::isReadOnlyFormControl):
1206         * html/HTMLFormControlElement.h:
1207         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
1208         * html/shadow/SliderThumbElement.cpp:
1209         (WebCore::SliderThumbElement::isReadOnlyFormControl):
1210         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
1211         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
1212         * html/shadow/SliderThumbElement.h:
1213         (SliderThumbElement):
1214         * html/shadow/TextControlInnerElements.cpp:
1215         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
1216         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents):
1217         (WebCore::SpinButtonElement::willRespondToMouseClickEvents):
1218         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
1219         * html/shadow/TextControlInnerElements.h:
1220         (WebCore::SpinButtonElement::isReadOnlyFormControl):
1221         * rendering/RenderTheme.cpp:
1222         (WebCore::RenderTheme::isReadOnlyControl):
1223
1224 2012-07-30  Yoshifumi Inoue  <yosin@chromium.org>
1225
1226         [CSS] Change Element::isReadOnlyFormControl to shouldMatchReadWriteSelector or HTMLTextFormControlElement::readOnly
1227         https://bugs.webkit.org/show_bug.cgi?id=92602
1228
1229         Reviewed by Kent Tamura.
1230
1231         This patch renames Element::isReadOnlyFormControl() to Element::shouldMatchReadWriteSelector()
1232         or HTMLTextFormControlElement::readOnly() to make intention of
1233         shouldMatchReadWriteSelector(was isReadOnlyFormControl) self descriptive.
1234
1235         No new tests. This patch doesn't change behavior.
1236
1237         * css/SelectorChecker.cpp:
1238         (WebCore::SelectorChecker::checkOneSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
1239         * dom/Element.cpp:
1240         (WebCore::Element::shouldMatchReadWriteSelector): Added default implementation.
1241         * dom/Element.h:
1242         (WebCore::Element::shouldMatchReadWriteSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
1243         * html/HTMLFormControlElement.h:
1244         * html/shadow/SliderThumbElement.cpp:
1245         (WebCore::SliderThumbElement::shouldMatchReadWriteSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
1246         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
1247         (WebCore::SliderThumbElement::willRespondToMouseClickEvents): ditto.
1248         * html/shadow/SliderThumbElement.h:
1249         (SliderThumbElement): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
1250         * html/shadow/TextControlInnerElements.cpp:
1251         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1252         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
1253         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1254         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1255         * html/shadow/TextControlInnerElements.h:
1256         * rendering/RenderTheme.cpp:
1257         (WebCore::RenderTheme::isReadOnlyControl): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
1258
1259 2012-07-30  Julien Chaffraix  <jchaffraix@webkit.org>
1260
1261         Remove overflow: scroll handling in block flow layout methods
1262         https://bugs.webkit.org/show_bug.cgi?id=92689
1263
1264         Reviewed by Simon Fraser.
1265
1266         The overflow: scroll scrollbars creation was done at layout time for all RenderBlocks and
1267         descendants. This was not only wrong ('overflow' only changes at style change time) but it
1268         was also introducing some code duplication.
1269
1270         The gist of this change is to share the code by moving it to RenderLayer::updateScrollbarsAfterStyleChange,
1271         this includes the code from bug 69993 to special case list box part.
1272
1273         Covered by existing tests:
1274         - All fast/overflow ones.
1275         - For the list box change:
1276             fast/forms/select-overflow-scroll-inherited.html
1277             fast/forms/select-overflow-scroll.html
1278         - For the flexbox:
1279             css3/flexbox/preferred-widths-orthogonal.html
1280             css3/flexbox/preferred-widths.html
1281
1282         * rendering/RenderBlock.cpp:
1283         (WebCore::RenderBlock::layoutBlock):
1284         * rendering/RenderDeprecatedFlexibleBox.cpp:
1285         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1286         * rendering/RenderGrid.cpp:
1287         (WebCore::RenderGrid::layoutBlock):
1288         * rendering/RenderFlexibleBox.cpp:
1289         (WebCore::RenderFlexibleBox::layoutBlock):
1290         Removed the common code here.
1291
1292         * rendering/RenderFlexibleBox.cpp:
1293         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
1294         Changed to an ASSERT now that the right scrollbars are created. This is
1295         fine as overflow-x/y are physical coordinates and our access was following that.
1296
1297         * rendering/RenderLayer.cpp:
1298         (WebCore::RenderLayer::invalidateScrollbarRect):
1299         Added an early return here if we are not attached yet as RenderLayer::styleChanged
1300         is called at attachment time before we are inserted in the tree. This is fine as the
1301         scrollbars are part of the object which will be painted after the first layout.
1302
1303         (WebCore::overflowRequiresAScrollbar):
1304         (WebCore::overflowDefinesAutomaticScrollbar):
1305         Split the logic in those 2 functions.
1306
1307         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1308         Updated to use the require / can-have functions. Also added
1309         an early return for list box parts as required by bug 69993.
1310
1311         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
1312         Added an early return for list box parts as required by bug 69993,
1313         also removed some unneeded NULL-checks that were added for list box parts.
1314
1315 2012-07-30  Vivek Galatage  <vivekgalatage@gmail.com>
1316
1317         fillWithEmptyClients method should also initialize chromeClient with EmptyChromeClient
1318         https://bugs.webkit.org/show_bug.cgi?id=92703
1319
1320         Reviewed by Kent Tamura.
1321
1322         fillWithEmptyClients should also intialize PageClients.chromeClient with EmptyChromeClient 
1323         as its required for creating a Empty page and to minimize the exported symbols.
1324
1325         No new tests as no change in functionality.
1326
1327         * loader/EmptyClients.cpp:
1328         (WebCore::fillWithEmptyClients):
1329
1330 2012-07-30  Adrienne Walker  <enne@google.com>
1331
1332         [chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer
1333         https://bugs.webkit.org/show_bug.cgi?id=91032
1334
1335         Reviewed by James Robinson.
1336
1337         Modify ScrollingCoordinatorChromium to operate on WebScrollbarLayer
1338         instead of ScrollbarLayerChromium. This removes the dependency on
1339         ScrollbarLayerChromium.
1340
1341         No change in functionality, so no new tests.
1342
1343         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1344         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1345         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1346         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1347         (ScrollingCoordinatorPrivate):
1348         (WebCore::createScrollbarLayer):
1349
1350 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
1351
1352         Another Qt build fix attempt after r124098.
1353         "interface" is a keyword. Don't use it. 
1354
1355         * dom/GestureEvent.cpp:
1356         (WebCore::GestureEvent::interfaceName):
1357
1358 2012-07-30  Elliott Sprehn  <esprehn@gmail.com>
1359
1360         Make QuotesData use a Vector of pairs
1361         https://bugs.webkit.org/show_bug.cgi?id=92448
1362
1363         Reviewed by Julien Chaffraix.
1364
1365         QuotesData::create returned an array of memory that contained in place instantiations
1366         of a QuotesData and then String instances. This changes the code to use a Vector of
1367         pairs making it safer and ensuring that quotes are always balanced. This also uses a
1368         HashMap directly in the QuoteRenderer instead of building it on first access reducing
1369         the amount of code needed for picking quotes by language.
1370
1371         Test: fast/css-generated-content/close-quote-negative-depth.html
1372
1373         * css/StyleResolver.cpp:
1374         (WebCore::StyleResolver::collectMatchingRulesForList): Create pairs and use the new QuotesData API.
1375         * rendering/RenderQuote.cpp:
1376         (WebCore):
1377         (WebCore::quotesDataLanguageMap): New function that returns the HashMap of languages.
1378         (WebCore::basicQuotesData): Returns the simple form of quotes, " and '.
1379         (WebCore::defaultQuotes): Changed to use the new map.
1380         (WebCore::RenderQuote::styleDidChange):
1381         (WebCore::RenderQuote::originalText): Changed to use the new getOpenQuote and getCloseQuote which ensure bounds checks.
1382         * rendering/style/QuotesData.cpp:
1383         (WebCore::QuotesData::create): Now returns a plain instance of QuotesData without the in place allocation.
1384         (WebCore):
1385         (WebCore::QuotesData::addPair): Adds an std::pair of strings ensuring quotes are always balanced.
1386         (WebCore::QuotesData::getOpenQuote):
1387         (WebCore::QuotesData::getCloseQuote):
1388         (WebCore::QuotesData::equals): Renamed equals (added the s).
1389         * rendering/style/QuotesData.h:
1390         (WebCore::QuotesData::create):
1391         (QuotesData):
1392         (WebCore::QuotesData::QuotesData):
1393         * rendering/style/RenderStyle.cpp:
1394         (WebCore::RenderStyle::setQuotes):
1395         * rendering/style/StyleRareInheritedData.cpp:
1396         (WebCore::StyleRareInheritedData::operator==):
1397
1398 2012-07-30  MORITA Hajime  <morrita@google.com>
1399
1400         Node::replaceChild() can create bad DOM topology with MutationEvent
1401         https://bugs.webkit.org/show_bug.cgi?id=92619
1402
1403         Reviewed by Ryosuke Niwa.
1404
1405         Node::replaceChild() calls insertBeforeCommon() after dispatching
1406         a MutationEvent event for removeChild(). But insertBeforeCommon()
1407         expects call sites to check the invariant and doesn't have
1408         suffient check. So a MutationEvent handler can let some bad tree
1409         topology to slip into insertBeforeCommon().
1410
1411         This change adds a guard for checking the invariant using
1412         checkReplaceChild() between removeChild() and insertBeforeCommon().
1413
1414         Test: fast/events/mutation-during-replace-child.html
1415
1416         * dom/ContainerNode.cpp:
1417         (WebCore::ContainerNode::replaceChild): Added a guard.
1418
1419 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
1420
1421         Qt Windows build fix attempt after r124098.
1422
1423         * dom/GestureEvent.cpp:
1424
1425 2012-07-30  Wei James  <james.wei@intel.com>
1426
1427         [Chromium] Enable web audio IPP for x86 chromium android
1428         https://bugs.webkit.org/show_bug.cgi?id=91973
1429
1430         Reviewed by Tony Chang.
1431
1432         Include the IPP libraries at link-time for Android builds when
1433         compiling the Web Audio API with IPP support.
1434
1435         * WebCore.gyp/WebCore.gyp:
1436
1437 2012-07-30  Yoshifumi Inoue  <yosin@chromium.org>
1438
1439         [Forms] Get rid of Element::isReadOnlyFormControl other than CSS related
1440         https://bugs.webkit.org/show_bug.cgi?id=92612
1441
1442         Reviewed by Kent Tamura.
1443
1444         This patch replaces Element::isReadOnlyFormControl() not related to
1445         CSS selector matching to HTMLFormControlElement::readOnly() for
1446         preparation of introducing Element::shouldMatchReadWriteSelector(), bug 92602.
1447
1448         No new tests. This patch doesn't change behavior.
1449
1450         * html/shadow/SliderThumbElement.cpp:
1451         (WebCore::SliderThumbElement::defaultEventHandler): Changed isReadOnlyFormControl() to readOnly().
1452         * html/shadow/TextControlInnerElements.cpp:
1453         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Changed isReadOnlyFormControl() to readOnly().
1454         (WebCore::SpinButtonElement::defaultEventHandler): ditto.
1455         (WebCore::SpinButtonElement::step): ditto.
1456         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): ditto.
1457         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
1458         * rendering/RenderTextControl.cpp:
1459         (updateUserModifyProperty): Changed isReadOnlyFormControl() to readOnly().
1460         * rendering/RenderThemeMac.mm:
1461         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Changed isReadOnlyFormControl() to readOnly().
1462
1463 2012-07-30  Eric Seidel  <eric@webkit.org>
1464
1465         Grid Demo spends 1.5% of total time allocating Path objects in RenderBoxModelObject::paintBorderSides
1466         https://bugs.webkit.org/show_bug.cgi?id=92252
1467
1468         Reviewed by Simon Fraser.
1469
1470         This change introduces the concept of a "null Path" very similar to a null WTF::String.
1471         Just like String functions as a RefPtr around a StringImpl, Path (for most ports)
1472         functions as an OwnPtr around a PlatformPathPtr.
1473
1474         In various places in the code, we declare a local Path variable, but don't necessarily
1475         use that Path variable in all code paths, or might pass that Path variable along to GraphicsContext
1476         functions, without ever actually adding points to that Path.
1477         On most platforms, this Path default constructor was causing a malloc!
1478         In some of these case, the code-path in question (like paintBorderSides) can be quite hot.
1479         Introducing this null-Path and delaying instantiation of the PlatformPath object
1480         until it's actually needed, saves a malloc for these hot paths.
1481
1482         To test this, I loaded a few popular pages, and added printfs to both the Path constructor
1483         and destructor, logging during construction and destruction when the path was still null at destruction time.
1484
1485         This simple testing showed this to be a small win (avoiding mallocs) on many sites and a huge win for Google Spreadsheets:
1486         apple.com: 147 Paths created, 9 (6%) destroyed null.
1487         google.com: 58 Paths created, 26 (44%) destroyed null (google seems creating 5 paths every second after load?  1 of which is destroyed empty.)
1488         amazon.com: 130 Paths created, 130 (100%) destroyed null.
1489         Loading an empty spreadsheet from drive.google.com: 5237 created, 4861 destroyed null (92%!) :)
1490
1491         * platform/graphics/Path.h:
1492         (Path):
1493         (WebCore::Path::isNull):
1494         (WebCore::Path::ensurePlatformPath):
1495         * platform/graphics/cairo/CairoUtilities.cpp:
1496         (WebCore::appendWebCorePathToCairoContext):
1497         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1498         (WebCore::GraphicsContext::fillPath):
1499         (WebCore::GraphicsContext::strokePath):
1500         (WebCore::GraphicsContext::clipPath):
1501         (WebCore::GraphicsContext::clip):
1502         * platform/graphics/cairo/PathCairo.cpp:
1503         (WebCore::Path::Path):
1504         (WebCore::Path::~Path):
1505         (WebCore::Path::ensurePlatformPath):
1506         (WebCore):
1507         (WebCore::Path::operator=):
1508         (WebCore::Path::clear):
1509         (WebCore::Path::isEmpty):
1510         (WebCore::Path::currentPoint):
1511         (WebCore::Path::translate):
1512         (WebCore::Path::moveTo):
1513         (WebCore::Path::addLineTo):
1514         (WebCore::Path::addRect):
1515         (WebCore::Path::addQuadCurveTo):
1516         (WebCore::Path::addBezierCurveTo):
1517         (WebCore::Path::addArc):
1518         (WebCore::Path::addArcTo):
1519         (WebCore::Path::addEllipse):
1520         (WebCore::Path::closeSubpath):
1521         (WebCore::Path::boundingRect):
1522         (WebCore::Path::strokeBoundingRect):
1523         (WebCore::Path::contains):
1524         (WebCore::Path::strokeContains):
1525         (WebCore::Path::apply):
1526         (WebCore::Path::transform):
1527         * platform/graphics/cg/GraphicsContextCG.cpp:
1528         (WebCore::GraphicsContext::drawPath):
1529         (WebCore::GraphicsContext::fillPath):
1530         (WebCore::GraphicsContext::strokePath):
1531         (WebCore::GraphicsContext::clipPath):
1532         (WebCore::GraphicsContext::clipOut):
1533         * platform/graphics/cg/PathCG.cpp:
1534         (WebCore::Path::Path):
1535         (WebCore::Path::~Path):
1536         (WebCore):
1537         (WebCore::Path::ensurePlatformPath):
1538         (WebCore::Path::operator=):
1539         (WebCore::Path::contains):
1540         (WebCore::Path::strokeContains):
1541         (WebCore::Path::translate):
1542         (WebCore::Path::boundingRect):
1543         (WebCore::Path::fastBoundingRect):
1544         (WebCore::Path::strokeBoundingRect):
1545         (WebCore::Path::moveTo):
1546         (WebCore::Path::addLineTo):
1547         (WebCore::Path::addQuadCurveTo):
1548         (WebCore::Path::addBezierCurveTo):
1549         (WebCore::Path::addArcTo):
1550         (WebCore::Path::platformAddPathForRoundedRect):
1551         (WebCore::Path::closeSubpath):
1552         (WebCore::Path::addArc):
1553         (WebCore::Path::addRect):
1554         (WebCore::Path::addEllipse):
1555         (WebCore::Path::clear):
1556         (WebCore::Path::isEmpty):
1557         (WebCore::Path::currentPoint):
1558         (WebCore::Path::apply):
1559         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
1560         (WebCore):
1561         (WebCore::LoopBlinnPathProcessor::buildContours):
1562         * platform/graphics/mac/GraphicsContextMac.mm:
1563         (WebCore::GraphicsContext::drawFocusRing):
1564         * platform/graphics/openvg/PainterOpenVG.cpp:
1565         (WebCore::PainterOpenVG::drawPath):
1566         * platform/graphics/skia/GraphicsContextSkia.cpp:
1567         (WebCore::GraphicsContext::clip):
1568         (WebCore::GraphicsContext::canvasClip):
1569         (WebCore::GraphicsContext::clipOut):
1570         (WebCore::GraphicsContext::clipPath):
1571         (WebCore::GraphicsContext::fillPath):
1572         (WebCore::GraphicsContext::strokePath):
1573         * platform/graphics/skia/PathSkia.cpp:
1574         (WebCore::Path::Path):
1575         (WebCore::Path::~Path):
1576         (WebCore):
1577         (WebCore::Path::ensurePlatformPath):
1578         (WebCore::Path::operator=):
1579         (WebCore::Path::isEmpty):
1580         (WebCore::Path::hasCurrentPoint):
1581         (WebCore::Path::currentPoint):
1582         (WebCore::Path::contains):
1583         (WebCore::Path::translate):
1584         (WebCore::Path::boundingRect):
1585         (WebCore::Path::moveTo):
1586         (WebCore::Path::addLineTo):
1587         (WebCore::Path::addQuadCurveTo):
1588         (WebCore::Path::addBezierCurveTo):
1589         (WebCore::Path::addArcTo):
1590         (WebCore::Path::closeSubpath):
1591         (WebCore::Path::addArc):
1592         (WebCore::Path::addRect):
1593         (WebCore::Path::addEllipse):
1594         (WebCore::Path::clear):
1595         (WebCore::Path::apply):
1596         (WebCore::Path::transform):
1597         (WebCore::Path::strokeBoundingRect):
1598         (WebCore::Path::strokeContains):
1599         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1600         (WebCore::GraphicsContext::fillPath):
1601         (WebCore::GraphicsContext::strokePath):
1602         * platform/graphics/wx/GraphicsContextWx.cpp:
1603         (WebCore::GraphicsContext::clipPath):
1604         (WebCore::GraphicsContext::fillPath):
1605         (WebCore::GraphicsContext::strokePath):
1606         * platform/graphics/wx/PathWx.cpp:
1607         (WebCore::Path::Path):
1608         (WebCore::Path::~Path):
1609         (WebCore::Path::boundingRect):
1610         (WebCore::Path::operator=):
1611         (WebCore::Path::ensurePlatformPath):
1612         (WebCore):
1613         (WebCore::Path::clear):
1614         (WebCore::Path::moveTo):
1615         (WebCore::Path::addLineTo):
1616         (WebCore::Path::addQuadCurveTo):
1617         (WebCore::Path::addBezierCurveTo):
1618         (WebCore::Path::addArcTo):
1619         (WebCore::Path::closeSubpath):
1620         (WebCore::Path::addArc):
1621         (WebCore::Path::addRect):
1622         (WebCore::Path::addEllipse):
1623         (WebCore::Path::transform):
1624         (WebCore::Path::currentPoint):
1625
1626 2012-07-30  Dominik Röttsches  <dominik.rottsches@intel.com>
1627
1628         Avoid Assertion Failure in HarfBuzzRun::characterIndexForXPosition
1629         https://bugs.webkit.org/show_bug.cgi?id=92376
1630
1631         Reviewed by Tony Chang.
1632
1633         Previously, the if condition in offsetForPosition gating the call to
1634         characterIndexForXPosition was comparing a different value than what was actually used
1635         as the argument to calling it. In some cases, this can lead to a minuscule difference
1636         when comparing the two floats - enough to trigger the assertion. To resolve this,
1637         the accuracy of the index calculation is improved by changing the types from int
1638         to floats and rephrasing the if condition to be exactly the same as what is checked
1639         for in the assertion.
1640
1641         Manual test ManualTests/harfbuzz-mouse-selection-crash.html added
1642         which reliably reproduces the assertion failure before this change.
1643
1644         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
1645         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Types changed to float.
1646         (WebCore::HarfBuzzShaper::offsetForPosition): Types changed to float, if condition rephrased.
1647         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
1648         (HarfBuzzRun):
1649
1650 2012-06-29  James Robinson  <jamesr@chromium.org>
1651
1652         [chromium] Remove WebTransformationMatrix::mapPoint overrides
1653         https://bugs.webkit.org/show_bug.cgi?id=90329
1654
1655         Reviewed by Adrienne Walker.
1656
1657         Add more functionality for mapping points to CCMathUtil and use it in CCLayerSorter / drawTileQuad. These
1658         mappings should never clip.
1659
1660         * platform/chromium/support/WebTransformationMatrix.cpp:
1661         * platform/graphics/chromium/LayerRendererChromium.cpp:
1662         (WebCore::LayerRendererChromium::drawTileQuad):
1663         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1664         (WebCore::CCLayerSorter::LayerShape::LayerShape):
1665         * platform/graphics/chromium/cc/CCMathUtil.cpp:
1666         (WebCore::mapHomogeneousPoint):
1667         (WebCore::CCMathUtil::mapPoint):
1668         (WebCore):
1669         * platform/graphics/chromium/cc/CCMathUtil.h:
1670         (WebCore::HomogeneousCoordinate::cartesianPoint3d):
1671         (HomogeneousCoordinate):
1672         (CCMathUtil):
1673
1674 2012-07-30  Anders Carlsson  <andersca@apple.com>
1675
1676         Crash in logging code if MIME type is null
1677         https://bugs.webkit.org/show_bug.cgi?id=92683
1678         <rdar://problem/11985295>
1679
1680         Reviewed by Dan Bernstein.
1681
1682         If the MIME type is null, try to figure it out from the URL extension. If this fails, return early instead of crashing
1683         trying to insert the null string into a hash set.
1684
1685         * loader/SubframeLoader.cpp:
1686         (WebCore::logPluginRequest):
1687
1688 2012-07-30  Alexis Menard  <alexis.menard@openbossa.org>
1689
1690         Build fix with newer bison 2.6.
1691         https://bugs.webkit.org/show_bug.cgi?id=92264
1692
1693         Reviewed by Adam Barth.
1694
1695         As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
1696         YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS
1697         version I had access to as well as recent Linux runs at least version 2.3 so it's safe
1698         to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.
1699         As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release
1700         of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.
1701
1702         No new tests : build fix and the patch should not trigger any regressions
1703
1704         * css/CSSGrammar.y:
1705         * css/CSSParser.cpp:
1706         * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.
1707         * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h
1708         therefore including this file within the namespace {} declarations leads to xpathyyparse being
1709         defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp
1710         (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 
1711         to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.
1712
1713 2012-07-30  Sadrul Habib Chowdhury  <sadrul@chromium.org>
1714
1715         Propagate gesture events to plugins.
1716         https://bugs.webkit.org/show_bug.cgi?id=92281
1717
1718         Reviewed by Adam Barth.
1719
1720         Propagate gesture events to plugins. This change does not expose the gesture events
1721         to JavaScript, since there is no spec for that at the moment. Exposing gesture events
1722         to JavaScript will be done separately, once there is a spec for it.
1723
1724         Test: platform/chromium/plugins/gesture-events.html
1725
1726         * CMakeLists.txt:
1727         * GNUmakefile.list.am:
1728         * Target.pri:
1729         * WebCore.gypi:
1730         * WebCore.xcodeproj/project.pbxproj:
1731         * dom/EventNames.h:
1732         (WebCore):
1733         (WebCore::EventNames::isGestureEventType):
1734         (EventNames):
1735         * dom/GestureEvent.cpp: Added.
1736         (WebCore):
1737         (WebCore::GestureEvent::create):
1738         (WebCore::GestureEvent::initGestureEvent):
1739         (WebCore::GestureEvent::interfaceName):
1740         (WebCore::GestureEvent::GestureEvent):
1741         (WebCore::GestureEventDispatchMediator::GestureEventDispatchMediator):
1742         (WebCore::GestureEventDispatchMediator::event):
1743         (WebCore::GestureEventDispatchMediator::dispatchEvent):
1744         * dom/GestureEvent.h: Added.
1745         (WebCore):
1746         (GestureEvent):
1747         (WebCore::GestureEvent::~GestureEvent):
1748         (WebCore::GestureEvent::deltaX):
1749         (WebCore::GestureEvent::deltaY):
1750         (WebCore::GestureEvent::GestureEvent):
1751         (GestureEventDispatchMediator):
1752         (WebCore::GestureEventDispatchMediator::create):
1753         * dom/Node.cpp:
1754         (WebCore):
1755         (WebCore::Node::dispatchGestureEvent):
1756         * dom/Node.h:
1757         (WebCore):
1758         (Node):
1759         * page/EventHandler.cpp:
1760         (WebCore::EventHandler::clear):
1761         (WebCore::EventHandler::handleGestureEvent):
1762         * page/EventHandler.h:
1763
1764 2012-07-30  John Bates  <jbates@google.com>
1765
1766         Plumb vsync-enabled flag up to compositor thread and support disable-vsync
1767         https://bugs.webkit.org/show_bug.cgi?id=92323
1768
1769         Reviewed by James Robinson.
1770
1771         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1772         (WebCore::CCFrameRateController::CCFrameRateController):
1773         (WebCore::CCFrameRateController::disableTimeSourceThrottling):
1774         (WebCore):
1775         (WebCore::CCFrameRateController::setActive):
1776         (WebCore::CCFrameRateController::postManualTick):
1777         (WebCore::CCFrameRateController::onTimerFired):
1778         (WebCore::CCFrameRateController::didBeginFrame):
1779         (WebCore::CCFrameRateController::didFinishFrame):
1780         * platform/graphics/chromium/cc/CCFrameRateController.h:
1781         (WebCore):
1782         (CCFrameRateController):
1783         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1784         (WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
1785         (CCLayerTreeSettings):
1786         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1787         (WebCore::CCThreadProxy::CCThreadProxy):
1788         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1789         * platform/graphics/chromium/cc/CCThreadProxy.h:
1790         (CCThreadProxy):
1791
1792 2012-07-30  James Robinson  <jamesr@chromium.org>
1793
1794         [chromium] Add miscellaneous missing includes and OVERRIDE declarations in compositor code
1795         https://bugs.webkit.org/show_bug.cgi?id=92680
1796
1797         Reviewed by Adrienne Walker.
1798
1799         * platform/graphics/chromium/TextureCopier.h:
1800         (AcceleratedTextureCopier):
1801         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1802         (CCLayerTreeHostImpl):
1803         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1804         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
1805         * platform/graphics/chromium/cc/CCResourceProvider.h:
1806         (WebCore):
1807
1808 2012-07-30  Adrienne Walker  <enne@google.com>
1809
1810         [chromium] Remove dependency on ScrollbarTheme from the compositor
1811         https://bugs.webkit.org/show_bug.cgi?id=90528
1812
1813         Reviewed by James Robinson.
1814
1815         Tested by existing layout tests.
1816
1817         ScrollbarLayerChromium is modified to use the Platform API for
1818         WebScrollbar, WebScrollbarThemePainter, and WebScrollbarThemeGeometry.
1819         This prevents API dependencies from the compositor code into WebCore
1820         scrollbar and theme code.
1821
1822         CCScrollbarLayerImpl::CCScrollbar now implements the WebScrollbar API
1823         instead of the ScrollbarThemeClient API.
1824
1825         Also, CCScrollbarLayerImpl now no longer gets the theme from a static
1826         accessor. It now gets a "copy" of the theme from the main thread via
1827         WebScrollbarThemeGeometry, which is more correct for render theme
1828         scrollbars which were previously using the native theme to get part
1829         geometry. Using the correct theme unfortunately causes crashes due to
1830         bad casts in RenderScrollbarTheme, so this patch turns back off the
1831         use of ScrollbarLayerChromium for themed scrollbars until that can be
1832         resolved.
1833
1834         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1835         (WebCore::createScrollbarLayer):
1836         * platform/ScrollbarThemeClient.h:
1837         (ScrollbarThemeClient):
1838         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1839         (WebCore::ScrollbarLayerChromium::create):
1840         (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
1841         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
1842         (WebCore::ScrollbarBackgroundPainter::create):
1843         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
1844         (ScrollbarBackgroundPainter):
1845         (WebCore::ScrollbarThumbPainter::create):
1846         (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
1847         (ScrollbarThumbPainter):
1848         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
1849         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
1850         (WebCore::ScrollbarLayerChromium::update):
1851         * platform/graphics/chromium/ScrollbarLayerChromium.h:
1852         (ScrollbarLayerChromium):
1853         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1854         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
1855         (WebCore::CCScrollbarLayerImpl::setScrollbarData):
1856         (WebCore::toUVRect):
1857         (WebCore::CCScrollbarLayerImpl::appendQuads):
1858         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isOverlay):
1859         (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
1860         (WebCore::CCScrollbarLayerImpl::CCScrollbar::location):
1861         (WebCore::CCScrollbarLayerImpl::CCScrollbar::size):
1862         (WebCore::CCScrollbarLayerImpl::CCScrollbar::enabled):
1863         (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
1864         (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
1865         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollViewScrollbar):
1866         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollableAreaActive):
1867         (WebCore::CCScrollbarLayerImpl::CCScrollbar::getTickmarks):
1868         (WebCore::CCScrollbarLayerImpl::CCScrollbar::controlSize):
1869         (WebCore::CCScrollbarLayerImpl::CCScrollbar::pressedPart):
1870         (WebCore::CCScrollbarLayerImpl::CCScrollbar::hoveredPart):
1871         (WebCore::CCScrollbarLayerImpl::CCScrollbar::scrollbarOverlayStyle):
1872         (WebCore::CCScrollbarLayerImpl::CCScrollbar::orientation):
1873         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isCustomScrollbar):
1874         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1875         (CCScrollbarLayerImpl):
1876         (CCScrollbar):
1877
1878 2012-07-30  Andreas Kling  <kling@webkit.org>
1879
1880         REGRESSION(r123636): Heap-use-after-free in StyleResolver::collectMatchingRules.
1881         <http://webkit.org/b/92430>
1882
1883         Reviewed by Antti Koivisto.
1884
1885         Don't hold on to a reference to StyledElement::classNames() as that may become
1886         invalid after mutating the element's attribute data.
1887
1888         In this case it was happening below Element::hasAttributes() which is unfortunately
1889         naive enough to always serialize lazy attributes. That is a minor inefficiency that
1890         can be addressed in a separate patch.
1891
1892         Covered by valgrind on existing tests.
1893
1894         * css/StyleResolver.cpp:
1895         (WebCore::StyleResolver::collectMatchingRules):
1896
1897 2012-07-30  James Robinson  <jamesr@chromium.org>
1898
1899         [chromium] CCThreadTask should not depend on CrossThreadTask and does not need to depend on CrossThreadCopier
1900         https://bugs.webkit.org/show_bug.cgi?id=90132
1901
1902         Reviewed by David Levin.
1903
1904         CrossThreadTask is defined in WebCore/dom/ and depends on concepts like ScriptExecutionConcept. CCThreadTask,
1905         being in WebCore/platform/, should not depend on /dom/ or anything from that layer.
1906
1907         CrossThreadCopier is not a layering violation per se, but it's also not at all helpful for CCThreadTask - we
1908         never use any types for which it would be useful.
1909
1910         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1911         (WebCore::CCThreadProxy::compositeAndReadback):
1912         (WebCore::CCThreadProxy::finishAllRendering):
1913         (WebCore::CCThreadProxy::initializeContext):
1914         (WebCore::CCThreadProxy::setVisible):
1915         (WebCore::CCThreadProxy::initializeLayerRenderer):
1916         (WebCore::CCThreadProxy::recreateContext):
1917         (WebCore::CCThreadProxy::implSideRenderingStats):
1918         (WebCore::CCThreadProxy::start):
1919         (WebCore::CCThreadProxy::stop):
1920         (WebCore::CCThreadProxy::forceSerializeOnSwapBuffers):
1921         (WebCore::CCThreadProxy::beginFrame):
1922         (WebCore::CCThreadProxy::acquireLayerTextures):
1923         * platform/graphics/chromium/cc/CCThreadTask.h:
1924         (CCThreadTask1):
1925         (WebCore::CCThreadTask1::create):
1926         (WebCore::CCThreadTask1::CCThreadTask1):
1927         (CCThreadTask2):
1928         (WebCore::CCThreadTask2::create):
1929         (WebCore::CCThreadTask2::CCThreadTask2):
1930         (CCThreadTask3):
1931         (WebCore::CCThreadTask3::create):
1932         (WebCore::CCThreadTask3::CCThreadTask3):
1933         (CCThreadTask4):
1934         (WebCore::CCThreadTask4::create):
1935         (WebCore::CCThreadTask4::CCThreadTask4):
1936         (CCThreadTask5):
1937         (WebCore::CCThreadTask5::create):
1938         (WebCore::CCThreadTask5::CCThreadTask5):
1939         (WebCore::createCCThreadTask):
1940
1941 2012-07-30  Paul Irish  <paul.irish@gmail.com>
1942
1943         Web Inspector: Rename Databases to Web SQL
1944         https://bugs.webkit.org/show_bug.cgi?id=92646
1945
1946         Reviewed by Pavel Feldman.
1947
1948         Renamed Databases to Web SQL. Drive-by fix for EmptyView
1949         selection.
1950
1951         * English.lproj/localizedStrings.js:
1952         * inspector/front-end/EmptyView.js:
1953         * inspector/front-end/ResourcesPanel.js:
1954
1955 2012-07-30  Tony Chang  <tony@chromium.org>
1956
1957         new flexbox should ignore float set on flexitems
1958         https://bugs.webkit.org/show_bug.cgi?id=70792
1959
1960         Reviewed by Ojan Vafai.
1961
1962         Force flex items to not float.
1963
1964         Test: css3/flexbox/floated-flexitem.html
1965
1966         * css/StyleResolver.cpp:
1967         (WebCore::StyleResolver::adjustRenderStyle): Force NoFloat on flex items.
1968
1969 2012-07-30  Adrienne Walker  <enne@google.com>
1970
1971         [chromium] Turn back on ScrollbarLayerChromium for Windows
1972         https://bugs.webkit.org/show_bug.cgi?id=92409
1973
1974         Reviewed by James Robinson.
1975
1976         This reverts r122791. As GDI issues were addressed in Chromium via
1977         http://src.chromium.org/viewvc/chrome?view=rev&revision=148215,
1978         scrollbar parts can now be composited on the thread.
1979
1980         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1981         (WebCore::createScrollbarLayer):
1982
1983 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1984
1985         Unreviewed, rolling out r124025.
1986         http://trac.webkit.org/changeset/124025
1987         https://bugs.webkit.org/show_bug.cgi?id=92658
1988
1989         Causes color-suggestion-picker-appearance layout test to time
1990         out on all Chromium platforms (Requested by tomhudson_ on
1991         #webkit).
1992
1993         * rendering/RenderThemeChromiumCommon.cpp:
1994         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
1995
1996 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1997
1998         Unreviewed, rolling out r123966 and r123967.
1999         http://trac.webkit.org/changeset/123966
2000         http://trac.webkit.org/changeset/123967
2001         https://bugs.webkit.org/show_bug.cgi?id=92656
2002
2003         This patch is causing assertion failures on the debug bot
2004         (also rolling out a dependent patch) (Requested by mrobinson
2005         on #webkit).
2006
2007         * GNUmakefile.am:
2008         * GNUmakefile.list.am:
2009         * platform/text/gtk/TextCheckerEnchant.cpp: Removed.
2010         * platform/text/gtk/TextCheckerEnchant.h: Removed.
2011
2012 2012-07-30  Julien Chaffraix  <jchaffraix@webkit.org>
2013
2014         ASSERTION FAILED: !rect.isEmpty()  : void WebCore::GraphicsContext::drawRect(const WebCore::IntRect &)
2015         https://bugs.webkit.org/show_bug.cgi?id=92187
2016
2017         Reviewed by Simon Fraser.
2018
2019         The border painting logic (RenderBoxModelObject::paintOneBorderSide) would pass a rect with a 0px length
2020         to RenderObject::drawLineForBoxSide. We do check the width (thickness) but not the length so we would pass
2021         the rect to GraphicsContext and hit the ASSERT. This change adds a check for the length too as it is the safest
2022         way, it means that we may still do unneeded operations before bailing out but that's an existing problem in the code.
2023
2024         Tests: fast/borders/0px-borders-no-line-height.html
2025                fast/borders/double-1px-border-assert.html
2026
2027         * rendering/RenderObject.cpp:
2028         (WebCore::RenderObject::drawLineForBoxSide):
2029         Added a 0px length check. While renaming confusing variables and re-using others,
2030         I also found a potential empty border that I fixed (tested by the 2nd case above).
2031
2032 2012-07-26  Stephen White  <senorblanco@chromium.org>
2033
2034         [chromium] Refactor the computation of resampled bitmap size in
2035         drawImage and drawPattern.
2036         https://bugs.webkit.org/show_bug.cgi?id=92408
2037
2038         Reviewed by Adrienne Walker.
2039
2040         We used to have a special-purpose function called TransformDimensions()
2041         which did pretty much the same thing as SkRect::mapRect() does.  This
2042         change unifies the drawPattern code to use mapRect() in the same way
2043         that drawImage() does.
2044
2045         Covered by existing tests, e.g., fast/backgrounds/size/*.
2046
2047         * platform/graphics/skia/ImageSkia.cpp:
2048         (WebCore):
2049         (WebCore::Image::drawPattern):
2050         Note:  we're now doing using the original (float) source rect, and
2051         converting to int only after applying the matrix transform.  This
2052         might result in different decisions about resampling mode, but it's
2053         more correct anyway.
2054
2055 2012-07-30  Vineet Chaudhary  <rgf748@motorola.com>
2056
2057         https://bugs.webkit.org/show_bug.cgi?id=92642
2058         [Bindings]Remove custom JS/V8 bindings for WebSocket::close() using [Clamp]
2059
2060         Reviewed by Kentaro Hara.
2061
2062         With support of [Clamp] as extended attribute we can replace custom bindings from WebSocket::close().
2063         Spec for WebSocket::close() : http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#websocket
2064
2065         No new tests. There should be no behavioural changes 
2066         Existing tests under http/websocket/tests/hybi/ should cover this.
2067
2068         * Modules/websockets/WebSocket.h:
2069         (WebCore::WebSocket::close):
2070         * Modules/websockets/WebSocket.idl: Used [Clamp].
2071         * bindings/js/JSWebSocketCustom.cpp: Removed custom call close().
2072         (WebCore):
2073         * bindings/scripts/CodeGeneratorJS.pm:
2074         (GenerateParametersCheck):
2075         * bindings/scripts/CodeGeneratorV8.pm:
2076         (GenerateParametersCheck):
2077         * bindings/scripts/test/JS/JSTestObj.cpp:
2078         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2079         * bindings/scripts/test/V8/V8TestObj.cpp:
2080         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
2081         * bindings/v8/custom/V8WebSocketCustom.cpp: Removed custom call close().
2082         (WebCore):
2083
2084 2012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
2085
2086         Web Inspector: Resource agent's reference to cached resources should be weak.
2087         https://bugs.webkit.org/show_bug.cgi?id=92108
2088
2089         Reviewed by Pavel Feldman.
2090
2091         NetworkResourcesData now stores a raw pointer to CachedResource.
2092         CachedResource now notifies InspectorInstrumentation that it will be destroyed.
2093         InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
2094         Destroyed resources content is saved to NetworkResourcesData.
2095
2096         Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
2097                http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
2098
2099         * WebCore.exp.in:
2100         * inspector/InspectorController.cpp:
2101         (WebCore::InspectorController::InspectorController):
2102         (WebCore::InspectorController::inspectedPageDestroyed):
2103         * inspector/InspectorInstrumentation.cpp:
2104         (WebCore):
2105         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
2106         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
2107         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
2108         * inspector/InspectorInstrumentation.h:
2109         (InspectorInstrumentation):
2110         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
2111         (WebCore):
2112         * inspector/InspectorResourceAgent.cpp:
2113         (WebCore::InspectorResourceAgent::didReceiveData):
2114         (WebCore::InspectorResourceAgent::willDestroyCachedResource):
2115         (WebCore):
2116         (WebCore::InspectorResourceAgent::getResponseBody):
2117         * inspector/InspectorResourceAgent.h:
2118         (InspectorResourceAgent):
2119         * inspector/NetworkResourcesData.cpp:
2120         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2121         (WebCore::NetworkResourcesData::ResourceData::setContent):
2122         (WebCore::NetworkResourcesData::setResourceContent):
2123         (WebCore::NetworkResourcesData::removeCachedResource):
2124         (WebCore):
2125         * inspector/NetworkResourcesData.h:
2126         (ResourceData):
2127         (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
2128         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2129         (NetworkResourcesData):
2130         * loader/cache/CachedResource.cpp:
2131         (WebCore::CachedResource::~CachedResource):
2132         (WebCore::CachedResource::removeClient):
2133         (WebCore::CachedResource::deleteIfPossible):
2134         (WebCore):
2135         * loader/cache/CachedResource.h:
2136         (CachedResource):
2137         * loader/cache/CachedResourceLoader.cpp:
2138         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2139         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
2140         (WebCore::CachedResourceLoader::clearPreloads):
2141         * loader/cache/CachedResourceLoader.h:
2142         (CachedResourceLoader):
2143         * loader/cache/MemoryCache.cpp:
2144         (WebCore::MemoryCache::evict):
2145         * testing/InternalSettings.cpp:
2146         * testing/Internals.cpp:
2147         (WebCore::Internals::garbageCollectDocumentResources):
2148         (WebCore):
2149         * testing/Internals.h:
2150         (Internals):
2151         * testing/Internals.idl:
2152
2153 2012-07-30  Shinya Kawanaka  <shinyak@chromium.org>
2154
2155         Prohibit having AuthorShadowDOM of input or textarea element for a while and having a flag to enable it in Internals.
2156         https://bugs.webkit.org/show_bug.cgi?id=92611
2157
2158         Reviewed by Hajime Morita.
2159
2160         Prohibit having AuthorShadowDOM of input elemnet unless a flag in RuntimeEnabledFeatures is not enabled.
2161         The flag can be enabled in Internals.
2162
2163         The elements in UserAgentShadowDOM of input element assume that they have a renderer when the input
2164         element has a renderer. However, this does not hold when AuthorShadowDOM is added to input element.
2165         So until we fix the issue, we should disable to have AuthorShadowDOM for input element, because it may
2166         cause crashes and security problems.
2167
2168         Tests: fast/dom/shadow/input-with-validation-without-shadow.html
2169                fast/dom/shadow/input-with-validation.html
2170                fast/dom/shadow/shadow-disable.html
2171
2172         * bindings/generic/RuntimeEnabledFeatures.cpp:
2173         (WebCore):
2174         * bindings/generic/RuntimeEnabledFeatures.h:
2175         (RuntimeEnabledFeatures):
2176         (WebCore::RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled):
2177         (WebCore::RuntimeEnabledFeatures::setAuthorShadowDOMForAnyElementEnabled):
2178         * dom/ShadowRoot.cpp:
2179         (WebCore::allowsAuthorShadowRoot): The input element or textarea element does not allow to have a ShadowDOM unless
2180         is a flag in RuntimeEnabledFeatures is not enabled.
2181         * html/HTMLInputElement.h:
2182         (WebCore::isHTMLInputElement):
2183         (WebCore):
2184         * html/HTMLTextAreaElement.h:
2185         (WebCore::isHTMLTextAreaElement):
2186         (WebCore):
2187         * testing/Internals.cpp:
2188         (WebCore::Internals::setAuthorShadowDOMForAnyElementEnabled):
2189         (WebCore):
2190         * testing/Internals.h:
2191         (Internals):
2192         * testing/Internals.idl:
2193
2194 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
2195
2196         Web Inspector: support --line-numbers mapping for SASS
2197         https://bugs.webkit.org/show_bug.cgi?id=92400
2198
2199         Reviewed by Vsevolod Vlasov.
2200
2201         There is --debug-info and --line-numbers ways of referencing the source scss file, adding support for --line-numbers here.
2202
2203         * inspector/front-end/SASSSourceMapping.js:
2204         (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
2205         (WebInspector.SASSSourceMapping.prototype._resourceAdded):
2206         (_bindUISourceCode):
2207
2208 2012-07-30  Keishi Hattori  <keishi@webkit.org>
2209
2210         Implement datalist UI for input type color for Chromium
2211         https://bugs.webkit.org/show_bug.cgi?id=92075
2212
2213         Reviewed by Kent Tamura.
2214
2215         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
2216
2217         * rendering/RenderThemeChromiumCommon.cpp:
2218         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
2219
2220 2012-07-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2221
2222         Wheel events on a page with frames are not handled in fixed layout
2223         https://bugs.webkit.org/show_bug.cgi?id=90550
2224
2225         Reviewed by Antonio Gomes.
2226
2227         Based on patch by Andras Becsi.
2228
2229         Frame-rect size is not the right value to check against to see if the document
2230         can be contained within the full visible content rect, since it does not handle
2231         fixedVisibleContentRect. Instead visibleContentRect(true) should be used which
2232         returns the full visible content rect disregarding scrollbars, and which is
2233         the same a frame-rect size when fixedVisibleContentRect is not set.
2234
2235         * platform/ScrollView.cpp:
2236         (WebCore::ScrollView::updateScrollbars):
2237
2238 2012-07-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2239
2240         There is no way to tell whether an element can be activated or not
2241         https://bugs.webkit.org/show_bug.cgi?id=92093
2242
2243         Reviewed by Antonio Gomes.
2244
2245         This patch adds the willRespondToMouseClickEvents and willRespondToMouseMoveEvents
2246         functions, named after similar functions in the iOS fork of WebKit.
2247
2248         Touch-adjustment will now use these two functions, which improves accuracy when
2249         targeting shadow-dom elements, and also means touch adjustment will prefer enabled
2250         form-elements over disabled ones.
2251
2252         Test: touchadjustment/disabled-formelements.html
2253
2254         * dom/Node.cpp:
2255         (WebCore::Node::willRespondToMouseMoveEvents):
2256         (WebCore::Node::willRespondToMouseClickEvents):
2257         * dom/Node.h:
2258         (Node):
2259         * editing/DeleteButton.h:
2260         * html/HTMLAnchorElement.cpp:
2261         (WebCore::HTMLAnchorElement::willRespondToMouseClickEvents):
2262         * html/HTMLAnchorElement.h:
2263         (HTMLAnchorElement):
2264         * html/HTMLButtonElement.cpp:
2265         (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
2266         * html/HTMLButtonElement.h:
2267         (HTMLButtonElement):
2268         * html/HTMLInputElement.cpp:
2269         (WebCore::HTMLInputElement::willRespondToMouseClickEvents):
2270         * html/HTMLInputElement.h:
2271         (HTMLInputElement):
2272         * html/HTMLLabelElement.cpp:
2273         (WebCore::HTMLLabelElement::willRespondToMouseClickEvents):
2274         * html/HTMLLabelElement.h:
2275         (HTMLLabelElement):
2276         * html/HTMLMediaElement.cpp:
2277         (WebCore::HTMLMediaElement::willRespondToMouseClickEvents):
2278         * html/HTMLMediaElement.h:
2279         * html/HTMLSummaryElement.cpp:
2280         (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents):
2281         * html/HTMLSummaryElement.h:
2282         (HTMLSummaryElement):
2283         * html/shadow/CalendarPickerElement.cpp:
2284         (WebCore::CalendarPickerElement::willRespondToMouseClickEvents):
2285         * html/shadow/CalendarPickerElement.h:
2286         (CalendarPickerElement):
2287         * html/shadow/MediaControlElements.cpp:
2288         (WebCore::MediaControlTimelineElement::willRespondToMouseClickEvents):
2289         (WebCore::MediaControlTimelineElement::setPosition):
2290         (WebCore::MediaControlVolumeSliderElement::willRespondToMouseMoveEvents):
2291         (WebCore::MediaControlVolumeSliderElement::willRespondToMouseClickEvents):
2292         * html/shadow/MediaControlElements.h:
2293         (MediaControlTimelineElement):
2294         (MediaControlVolumeSliderElement):
2295         * html/shadow/MediaControlRootElement.h:
2296         * html/shadow/SliderThumbElement.cpp:
2297         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
2298         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
2299         * html/shadow/SliderThumbElement.h:
2300         (SliderThumbElement):
2301         * html/shadow/TextControlInnerElements.cpp:
2302         (WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents):
2303         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
2304         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents):
2305         (WebCore::SpinButtonElement::willRespondToMouseClickEvents):
2306         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
2307         * html/shadow/TextControlInnerElements.h:
2308         (SearchFieldResultsButtonElement):
2309         (SearchFieldCancelButtonElement):
2310         (SpinButtonElement):
2311         * html/shadow/TextFieldDecorationElement.cpp:
2312         (WebCore::TextFieldDecorationElement::willRespondToMouseClickEvents):
2313         * html/shadow/TextFieldDecorationElement.h:
2314         (TextFieldDecorationElement):
2315         * page/TouchAdjustment.cpp:
2316         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
2317
2318 2012-07-30  Vsevolod Vlasov  <vsevik@chromium.org>
2319
2320         Web Inspector: Content size variables in NetworkResourcesData should have size_t type instead of int.
2321         https://bugs.webkit.org/show_bug.cgi?id=92618
2322
2323         Reviewed by Yury Semikhatsky.
2324
2325         Changed content size variables type in NetworkResourcesData from int to size_t.
2326         Drive-by: Switched String length calculation to recently added StringImpl's sizeInBytes.
2327
2328         * inspector/NetworkResourcesData.cpp:
2329         (WebCore::NetworkResourcesData::ResourceData::removeContent):
2330         (WebCore::NetworkResourcesData::ResourceData::dataLength):
2331         (WebCore::NetworkResourcesData::ResourceData::appendData):
2332         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
2333         (WebCore::NetworkResourcesData::setResourceContent):
2334         (WebCore::NetworkResourcesData::maybeAddResourceData):
2335         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
2336         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
2337         (WebCore::NetworkResourcesData::ensureFreeSpace):
2338         * inspector/NetworkResourcesData.h:
2339         (ResourceData):
2340         (NetworkResourcesData):
2341
2342 2012-07-30  Hayato Ito  <hayato@chromium.org>
2343
2344         Remove an useless member variable, m_shouldPreventDispatch, from EventDispatcher.
2345         https://bugs.webkit.org/show_bug.cgi?id=92625
2346
2347         Reviewed by Hajime Morita.
2348
2349         EventDispatcher::m_shouldPreventDispatch does not have any effects. We can remove that.
2350
2351         No new tests, no behavior change.
2352
2353         * dom/EventDispatcher.cpp:
2354         (WebCore::EventDispatcher::EventDispatcher):
2355         (WebCore::EventDispatcher::dispatchEvent):
2356         * dom/EventDispatcher.h:
2357         (EventDispatcher):
2358
2359 2012-07-30  Hayato Ito  <hayato@chromium.org>
2360
2361         Remove an useless member variable, m_shouldPreventDispatch, from EventDispatcher.
2362         https://bugs.webkit.org/show_bug.cgi?id=92625
2363
2364         Reviewed by Hajime Morita.
2365
2366         EventDispatcher::m_shouldPreventDispatch does not have any effects. We can remove that.
2367
2368         No new tests, no behavior change.
2369
2370         * dom/EventDispatcher.cpp:
2371         (WebCore::EventDispatcher::EventDispatcher):
2372         (WebCore::EventDispatcher::dispatchEvent):
2373         * dom/EventDispatcher.h:
2374         (EventDispatcher):
2375
2376 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
2377
2378         Web Inspector: make MemoryInstrumentation methods private
2379         https://bugs.webkit.org/show_bug.cgi?id=92379
2380
2381         Reviewed by Vsevolod Vlasov.
2382
2383         MemoryInstrumentation was refactored.
2384         - All reporting methods on MemoryInstrumentation except add*Object are
2385           private to enforce MemoryClassInfo usage.
2386         - MemoryInstrumentation::Add*Member methods renamed to Add*Object
2387         - String reporting is implemented directly in the MemoryInstrumentation,
2388           not in its descendants.
2389
2390         * CMakeLists.txt:
2391         * GNUmakefile.list.am:
2392         * WebCore.gypi:
2393         * WebCore.vcproj/WebCore.vcproj:
2394         * WebCore.xcodeproj/project.pbxproj:
2395         * bindings/v8/ScriptProfiler.cpp:
2396         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2397         * dom/MemoryInstrumentation.cpp: Added.
2398         (WebCore):
2399         (WebCore::MemoryInstrumentation::addString):
2400         * dom/MemoryInstrumentation.h:
2401         (WebCore::MemoryInstrumentation::addInstrumentedObject):
2402         (WebCore::MemoryInstrumentation::addObject):
2403         (MemoryInstrumentation):
2404         (InstrumentedPointerBase):
2405         (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
2406         (InstrumentedPointer):
2407         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
2408         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
2409         (WebCore::MemoryInstrumentation::OwningTraits::addObject):
2410         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2411         (WebCore::MemoryClassInfo::addInstrumentedMember):
2412         (WebCore::MemoryClassInfo::addMember):
2413         (WebCore):
2414         (WebCore::MemoryInstrumentation::addObjectImpl):
2415         (WebCore::MemoryInstrumentation::addInstrumentedCollection):
2416         (WebCore::MemoryInstrumentation::calculateContainerSize):
2417         * inspector/InspectorMemoryAgent.cpp:
2418         (WebCore):
2419
2420 2012-07-30  Alexander Pavlov  <apavlov@chromium.org>
2421
2422         Web Inspector: [Styles] No color swatch for the SVG "fill" and "stroke" property values
2423         https://bugs.webkit.org/show_bug.cgi?id=92638
2424
2425         Reviewed by Vsevolod Vlasov.
2426
2427         Added the "fill" and "stroke" properties to the list of color-aware properties.
2428
2429         * inspector/front-end/CSSKeywordCompletions.js:
2430
2431 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2432
2433         Unreviewed, rolling out r124000.
2434         http://trac.webkit.org/changeset/124000
2435         https://bugs.webkit.org/show_bug.cgi?id=92632
2436
2437         seems to have broken chromium Range_InstanceSizeUnknown unit
2438         test across many platforms (Requested by tomhudson on
2439         #webkit).
2440
2441         * WebCore.exp.in:
2442         * inspector/InspectorController.cpp:
2443         (WebCore::InspectorController::InspectorController):
2444         (WebCore::InspectorController::inspectedPageDestroyed):
2445         * inspector/InspectorInstrumentation.cpp:
2446         (WebCore):
2447         * inspector/InspectorInstrumentation.h:
2448         (InspectorInstrumentation):
2449         * inspector/InspectorResourceAgent.cpp:
2450         (WebCore::InspectorResourceAgent::didReceiveData):
2451         (WebCore::InspectorResourceAgent::getResponseBody):
2452         * inspector/InspectorResourceAgent.h:
2453         (InspectorResourceAgent):
2454         * inspector/NetworkResourcesData.cpp:
2455         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2456         (WebCore::NetworkResourcesData::ResourceData::setContent):
2457         (WebCore::NetworkResourcesData::setResourceContent):
2458         * inspector/NetworkResourcesData.h:
2459         (ResourceData):
2460         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2461         (NetworkResourcesData):
2462         * loader/cache/CachedResource.cpp:
2463         (WebCore::CachedResource::~CachedResource):
2464         (WebCore::CachedResource::removeClient):
2465         (WebCore::CachedResource::deleteIfPossible):
2466         (WebCore):
2467         * loader/cache/CachedResource.h:
2468         (CachedResource):
2469         * loader/cache/CachedResourceLoader.cpp:
2470         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2471         (WebCore::CachedResourceLoader::clearPreloads):
2472         * loader/cache/CachedResourceLoader.h:
2473         (CachedResourceLoader):
2474         * loader/cache/MemoryCache.cpp:
2475         (WebCore::MemoryCache::evict):
2476         * testing/InternalSettings.cpp:
2477         * testing/Internals.cpp:
2478         * testing/Internals.h:
2479         (Internals):
2480         * testing/Internals.idl:
2481
2482 2012-07-30  Hayato Ito  <hayato@chromium.org>
2483
2484         Remove an unused member variable, m_originalTarget, from EventDispatcher.
2485         https://bugs.webkit.org/show_bug.cgi?id=92614
2486
2487         Reviewed by Andreas Kling.
2488
2489         No one uses EventDispatcher::m_originalTarget.
2490
2491         No new tests, no behavior change.
2492
2493         * dom/EventDispatcher.h:
2494         (EventDispatcher):
2495
2496 2012-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2497
2498         [Qt] Fix issues remaining with fixed positioned layers
2499         https://bugs.webkit.org/show_bug.cgi?id=92528
2500
2501         Reviewed by Noam Rosenthal.
2502
2503         * platform/graphics/texmap/TextureMapperLayer.cpp:
2504         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
2505         Make sure that the delta is used when syncCompositingStateSelf is called afterward.
2506         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
2507         * platform/graphics/texmap/TextureMapperLayer.h:
2508         Use a FloatSize instead of an IntPoint for the delta.
2509         (TextureMapperLayer):
2510         (WebCore::TextureMapperLayer::adjustedPosition):
2511
2512 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
2513
2514         Replace UnicodeWinCE with UnicodeWchar
2515         https://bugs.webkit.org/show_bug.cgi?id=92539
2516
2517         Reviewed by Ryosuke Niwa.
2518
2519         UnicodeWinCE never contained WinCE specific code. UnicodeWchar
2520         is a replacement for it, which is mainly based on the functions
2521         from <wchar.h>. It is ment as a minimal Unicode backend, which
2522         can be used very easy and has no external dependencies.
2523
2524         * platform/text/TextEncoding.cpp:
2525         (WebCore::TextEncoding::encode):
2526         * platform/text/TextEncodingRegistry.cpp:
2527         (WebCore::extendTextCodecMaps):
2528
2529 2012-07-30  Hayato Ito  <hayato@chromium.org>
2530
2531         Remove unnecessary code which set event's target from EventDispatcher::dispatchEvent.
2532         https://bugs.webkit.org/show_bug.cgi?id=92613
2533
2534         Reviewed by Hajime Morita.
2535
2536         EventContext::handleLocalEvents does all required jobs so we don't
2537         need to set target in EventDispacher::dispatchEvent() for TARGET phase.
2538
2539         No new tests, no behavior change.
2540
2541         * dom/EventDispatcher.cpp:
2542         (WebCore::EventDispatcher::dispatchEvent):
2543
2544 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2545
2546         Unreviewed, rolling out r124004.
2547         http://trac.webkit.org/changeset/124004
2548         https://bugs.webkit.org/show_bug.cgi?id=92622
2549
2550         Broke Android build (Requested by keishi on #webkit).
2551
2552         * rendering/RenderThemeChromiumCommon.cpp:
2553         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
2554
2555 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
2556
2557         Web Inspector: element tag disappears after editing
2558         https://bugs.webkit.org/show_bug.cgi?id=92385
2559
2560         Reviewed by Vsevolod Vlasov.
2561
2562         This has regressed when we started hiding elements panel upon
2563         batch updates. Narrowing hiding cases, updating selection
2564         in on-screen mode only.
2565
2566         * inspector/front-end/ElementsTreeOutline.js:
2567         (WebInspector.ElementsTreeElement.prototype.updateSelection):
2568
2569 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
2570
2571         Web Inspector: move StringImpl size calculation to StringImpl
2572         https://bugs.webkit.org/show_bug.cgi?id=92359
2573
2574         Reviewed by Pavel Feldman.
2575
2576         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
2577         StringImpl::sizeInBytes();
2578
2579         * inspector/InspectorMemoryAgent.cpp:
2580         (WebCore):
2581
2582 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
2583
2584         Web Inspector: workers inspector is broken in the remote debugging mode
2585         https://bugs.webkit.org/show_bug.cgi?id=92540
2586
2587         Reviewed by Yury Semikhatsky.
2588
2589         The problem was that worker manager re-used complete url with query parameters
2590         for spin-off worker front-ends. As a result, in case of remote debugging, newly
2591         created front-ends were connecting to the same web socket (because of the ws parameter).
2592
2593         * inspector/front-end/WorkerManager.js:
2594         (WebInspector.WorkerManager.isDedicatedWorkerFrontend):
2595         * inspector/front-end/inspector.js:
2596
2597 2012-07-30  Keishi Hattori  <keishi@webkit.org>
2598
2599         Implement datalist UI for input type color for Chromium
2600         https://bugs.webkit.org/show_bug.cgi?id=92075
2601
2602         Reviewed by Kent Tamura.
2603
2604         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
2605
2606         * rendering/RenderThemeChromiumCommon.cpp:
2607         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
2608
2609 2012-07-30  Mario Sanchez Prada  <msanchez@igalia.com>
2610
2611         REGRESSION (r123767): platform/gtk/accessibility/object-with-title.html failing on GTK
2612         https://bugs.webkit.org/show_bug.cgi?id=92477
2613
2614         Reviewed by Chris Fleizach.
2615
2616         Consider title and accessibilityDescription together with helpText to
2617         decide whether an object should be exposed in the accessibility tree.
2618
2619         * accessibility/AccessibilityRenderObject.cpp:
2620         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2621
2622 2012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
2623
2624         Web Inspector: Resource agent's reference to cached resources should be weak.
2625         https://bugs.webkit.org/show_bug.cgi?id=92108
2626
2627         Reviewed by Pavel Feldman.
2628
2629         NetworkResourcesData now stores a raw pointer to CachedResource.
2630         CachedResource now notifies InspectorInstrumentation that it will be destroyed.
2631         InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
2632         Destroyed resources content is saved to NetworkResourcesData.
2633
2634         Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
2635                http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
2636
2637         * WebCore.exp.in:
2638         * inspector/InspectorController.cpp:
2639         (WebCore::InspectorController::InspectorController):
2640         (WebCore::InspectorController::inspectedPageDestroyed):
2641         * inspector/InspectorInstrumentation.cpp:
2642         (WebCore):
2643         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
2644         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
2645         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
2646         * inspector/InspectorInstrumentation.h:
2647         (InspectorInstrumentation):
2648         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
2649         (WebCore):
2650         * inspector/InspectorResourceAgent.cpp:
2651         (WebCore::InspectorResourceAgent::didReceiveData):
2652         (WebCore::InspectorResourceAgent::willDestroyCachedResource):
2653         (WebCore):
2654         (WebCore::InspectorResourceAgent::getResponseBody):
2655         * inspector/InspectorResourceAgent.h:
2656         (InspectorResourceAgent):
2657         * inspector/NetworkResourcesData.cpp:
2658         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2659         (WebCore::NetworkResourcesData::ResourceData::setContent):
2660         (WebCore::NetworkResourcesData::setResourceContent):
2661         (WebCore::NetworkResourcesData::removeCachedResource):
2662         (WebCore):
2663         * inspector/NetworkResourcesData.h:
2664         (ResourceData):
2665         (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
2666         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
2667         (NetworkResourcesData):
2668         * loader/cache/CachedResource.cpp:
2669         (WebCore::CachedResource::~CachedResource):
2670         (WebCore::CachedResource::removeClient):
2671         (WebCore::CachedResource::deleteIfPossible):
2672         (WebCore):
2673         * loader/cache/CachedResource.h:
2674         (CachedResource):
2675         * loader/cache/CachedResourceLoader.cpp:
2676         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2677         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
2678         (WebCore::CachedResourceLoader::clearPreloads):
2679         * loader/cache/CachedResourceLoader.h:
2680         (CachedResourceLoader):
2681         * loader/cache/MemoryCache.cpp:
2682         (WebCore::MemoryCache::evict):
2683         * testing/InternalSettings.cpp:
2684         * testing/Internals.cpp:
2685         (WebCore::Internals::garbageCollectDocumentResources):
2686         (WebCore):
2687         * testing/Internals.h:
2688         (Internals):
2689         * testing/Internals.idl:
2690
2691 2012-07-29  YoungTaeck Song  <youngtaeck.song@samsung.com>
2692
2693         [WK2][EFL] Accelerated compositing support using TextureMapper on Efl WebKit2
2694         https://bugs.webkit.org/show_bug.cgi?id=91583
2695
2696         Reviewed by Noam Rosenthal.
2697
2698         This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
2699         This patch adds Texture Mapper related files to PlatformEfl.cmake.
2700         And wrapped TextureMapperLayer and TextureMapperBackingStore with USE(ACCELERATED_COMPOSITING) for fixing building error when disable ACCELERATED_COMPOSITING.
2701
2702         * CMakeLists.txt:
2703         * PlatformEfl.cmake:
2704         * platform/graphics/GraphicsLayer.cpp:
2705         (WebCore):
2706         * platform/graphics/GraphicsLayer.h:
2707         (GraphicsLayer):
2708         * platform/graphics/GraphicsLayerAnimation.cpp:
2709         * platform/graphics/GraphicsLayerAnimation.h:
2710         * platform/graphics/PlatformLayer.h:
2711         (WebCore):
2712         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2713         * platform/graphics/texmap/TextureMapperBackingStore.h:
2714         * platform/graphics/texmap/TextureMapperLayer.h:
2715
2716 2012-07-29  YoungTaeck Song  <youngtaeck.song@samsung.com>
2717
2718         [WK2][EFL] TILED_BACKING_STORE support on Efl WebKit2
2719         https://bugs.webkit.org/show_bug.cgi?id=91582
2720
2721         Reviewed by Noam Rosenthal.
2722
2723         This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
2724         This patch adds TILED_BACKING_STORE related files to CMakeLists.txt and PlatformEfl.cmake
2725
2726         * CMakeLists.txt:
2727         * PlatformEfl.cmake:
2728
2729 2012-07-29  Keishi Hattori  <keishi@webkit.org>
2730
2731         Fix removing invalid values from color input suggestions
2732         https://bugs.webkit.org/show_bug.cgi?id=92502
2733
2734         Reviewed by Kent Tamura.
2735
2736         Make ColorInputType::typeMismatchFor() return false for invalid color
2737         values so that they don't appear in the list of suggestions that
2738         ColorInputType::suggestions() returns.
2739
2740         No new tests. Tests to be added in Bug 92075.
2741
2742         * html/ColorInputType.cpp:
2743         (WebCore::ColorInputType::typeMismatchFor):
2744         (WebCore):
2745         * html/ColorInputType.h:
2746         (ColorInputType):
2747
2748 2012-07-29  Li Yin  <li.yin@intel.com>
2749
2750         getChannelData should raise exception when index is more than numberOfChannels.
2751         https://bugs.webkit.org/show_bug.cgi?id=92223
2752
2753         Reviewed by Kentaro Hara.
2754
2755         Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section
2756         In getChannelData function, the index value MUST be less than numberOfChannels
2757         or an exception will be thrown.
2758
2759         Test: webaudio/audiobuffer.html
2760
2761         * Modules/webaudio/AudioBuffer.cpp:
2762         (WebCore::AudioBuffer::getChannelData):
2763         (WebCore):
2764         * Modules/webaudio/AudioBuffer.h:
2765         (WebCore):
2766         (AudioBuffer):
2767         * Modules/webaudio/AudioBuffer.idl: raise exception when index is not less than numberOfChannels.
2768
2769 2012-07-29  Sukolsak Sakshuwong  <sukolsak@google.com>
2770
2771         forward-delete in the last cell of a table moves the caret after the table
2772         https://bugs.webkit.org/show_bug.cgi?id=24250
2773
2774         Reviewed by Ryosuke Niwa.
2775
2776         The ForwardDelete command moved the cursor after the table when it's invoked
2777         in an empty cell that is the last cell of a table. It also removed the break
2778         element when invoked in an empty cell that is not the last cell of a table.
2779         Make it do nothing inside an empty table cell.
2780
2781         Test: editing/deleting/forward-delete-empty-table-cell.html
2782
2783         * editing/TypingCommand.cpp:
2784         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2785
2786 2012-07-29  Kwang Yul Seo  <skyul@company100.net>
2787
2788         Remove unused method HTMLConstructionSiteTask::take(HTMLConstructionSiteTask&)
2789         https://bugs.webkit.org/show_bug.cgi?id=92601
2790
2791         Reviewed by Adam Barth.
2792
2793         This method was introduced in r104000, but has never been used from the beginning.
2794
2795         No functional change.
2796
2797         * html/parser/HTMLConstructionSite.h:
2798
2799 2012-07-29  Kenichi Ishibashi  <bashi@chromium.org>
2800
2801         [Chromium] HarfBuzzShaper can't handle segmented text run
2802         https://bugs.webkit.org/show_bug.cgi?id=92445
2803
2804         Reviewed by Tony Chang.
2805
2806         Pass the range to be displayed to HarfBuzzShaper. The shaper calculates positions and advances of each glyph
2807         regardless of the range, but only add glyphs which are in the range.
2808
2809         No new tests. platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html should
2810         work as expected once we move to use harfbuzz-ng on linux. Note that the current expectation will need to be rebaselined
2811         because the old hb shaper (ComplexTextController) mishandles the range. |to| should be exclusive. I'll rebaseline
2812         the expectation later.
2813
2814         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
2815         (WebCore::Font::drawComplexText): Call shaper.setDrawRange().
2816         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
2817         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2818         (WebCore::HarfBuzzShaper::setDrawRange): Added.
2819         (WebCore):
2820         (WebCore::HarfBuzzShaper::shouldDrawCharacterAt): Added.
2821         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Added variables that hold pending advances.
2822         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Add only glyphs which are in the given range to glyphBuffer.
2823         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
2824         (HarfBuzzShaper):
2825         * platform/graphics/mac/FontComplexTextMac.cpp:
2826         (WebCore::Font::drawComplexText): Call shaper.setDrawRange().
2827
2828 2012-07-29  Dan Bernstein  <mitz@apple.com>
2829
2830         Hit testing in the gap between pages returns incorrect results in flipped blocks writing modes
2831         https://bugs.webkit.org/show_bug.cgi?id=92600
2832
2833         Reviewed by Simon Fraser.
2834
2835         Test: fast/multicol/hit-test-gap-between-pages-flipped.html
2836
2837         * rendering/RenderBlock.h:
2838         (WebCore::RenderBlock): Promoted offsetForContents() from private to protected, and demoted
2839         adjustPointToColumnContents() back to private.
2840         * rendering/RenderLayer.cpp:
2841         (WebCore::RenderLayer::hitTest): Changed to flip the point passed to updateHitTestResults().
2842         * rendering/RenderView.cpp:
2843         (WebCore::RenderView::updateHitTestResult): Changed to call offsetForContents(), which, as
2844         of r123977, correctly accounts for flippedness.
2845
2846 2012-07-29  Dan Bernstein  <mitz@apple.com>
2847
2848         In flipped blocks, a point on the top edge of a text box is considered outside the box (and vice versa)
2849         https://bugs.webkit.org/show_bug.cgi?id=92597
2850
2851         Reviewed by Ryosuke Niwa.
2852
2853         This is similar to <http://webkit.org/b/92593> except for RenderText. Fixing this required
2854         fixing some code that creates a point inside a box by setting its y coordinate to the
2855         logical top of the box. In a flipped block, this would be just outside the box.
2856
2857         Enhanced fast/writing-mode/flipped-blocks-hit-test-line-edges.html to cover this.
2858
2859         * editing/visible_units.cpp:
2860         (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to use
2861         RootInlineBox::blockDirectionPointInLine in the vertical case as well.
2862         * rendering/RenderBlock.cpp:
2863         (WebCore::RenderBlock::positionForPointWithInlineChildren): Changed to use
2864         RootInlineBox::blockDirectionPointInLine.
2865         * rendering/RenderText.cpp:
2866         (WebCore::RenderText::positionForPoint): Changed the strictness of y inequalities based on
2867         the flippedness of the block. This fixes the bug.
2868         * rendering/RootInlineBox.cpp:
2869         (WebCore::RootInlineBox::blockDirectionPointInLine): Moved the implementation here from the
2870         header, and made it return the bottom in the flipped block case, so that the returned point
2871         is inside the line in that case as well.
2872         * rendering/RootInlineBox.h:
2873
2874 2012-07-29  Rik Cabanier  <cabanier@adobe.com>
2875
2876         ENABLE_CSS_COMPOSITING flag
2877         https://bugs.webkit.org/show_bug.cgi?id=92553
2878
2879         Reviewed by Dirk Schulze.
2880
2881         Adds compiler flag CSS_COMPOSITING to build systems to enable CSS blending and compositing. See spec https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html
2882
2883         * GNUmakefile.am:
2884         * Configurations/FeatureDefines.xcconfig:
2885
2886 2012-07-29  Dan Bernstein  <mitz@apple.com>
2887
2888         In flipped blocks, a point on the top edge of a box is considered outside the box (and vice versa)
2889         https://bugs.webkit.org/show_bug.cgi?id=92593
2890
2891         Reviewed by Simon Fraser.
2892
2893         With respect to hit testing, boxes should always behave as half-open intervals which include
2894         the physical top and left edges and not the bottom and right edges.
2895         RenderBlock::positionForPoint was not adhering to this, since it was comparing flipped
2896         coordinates.
2897
2898         Tests: fast/writing-mode/flipped-blocks-hit-test-box-edges.html
2899                fast/writing-mode/flipped-blocks-hit-test-line-edges.html
2900
2901         * rendering/RenderBlock.cpp:
2902         (WebCore::RenderBlock::positionForPointWithInlineChildren): When blocks are flipped, changed
2903         strict inequalities of y coordinates into non-strict ones and non-strict inequalities into
2904         strict ones.
2905         (WebCore::RenderBlock::positionForPoint): Ditto, except for the test for being under the top
2906         of the last candidate box, which was made non-strict in the unflipped case and remained
2907         strict.
2908
2909 2012-07-28  Dan Bernstein  <mitz@apple.com>
2910
2911         RenderBlock::offsetForContents() is wrong in flipped blocks writing modes
2912         https://bugs.webkit.org/show_bug.cgi?id=92588
2913
2914         Reviewed by Sam Weinig.
2915
2916         Tests: fast/multicol/hit-test-block-axis-flipped.html
2917                fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html
2918
2919         * rendering/RenderBlock.cpp:
2920         (WebCore::RenderBlock::offsetForContents): Flip the point, which puts it back in unflipped
2921         coordinates, before adding the scroll offset and adjusting for columns, then flip it back.
2922         (WebCore::RenderBlock::adjustPointToColumnContents): Changed the inline-axis cases to
2923         work with an unflipped point.
2924
2925 2012-07-28  Dan Bernstein  <mitz@apple.com>
2926
2927         In flipped lines writing modes, hit testing at the beginning of a column may return a result from the previous column
2928         https://bugs.webkit.org/show_bug.cgi?id=92566
2929
2930         Reviewed by Simon Fraser.
2931
2932         Enhanced the fix for <http://webkit.org/b/92524> to work with flipped lines.
2933
2934         Extended fast/multicol/hit-test-end-of-column-with-line-height.html.
2935
2936         * rendering/RenderBlock.cpp:
2937         (WebCore::RenderBlock::positionForPointWithInlineChildren): For flipped lines, check if the
2938         hit line is the last one before a page break, and in that case, check if the hit point was
2939         after the break.
2940
2941 2012-07-28  Simon Fraser  <simon.fraser@apple.com>
2942
2943         Size changes on a layer with negative z-index children don't repaint correctly
2944         https://bugs.webkit.org/show_bug.cgi?id=92583
2945
2946         Reviewed by Dean Jackson.
2947
2948         Negative z-index descendants cause a composited layer to have a separate
2949         layer for foreground content. If something caused that foreground layer
2950         to change size (like toggling visibility on a descendant), we failed to
2951         repaint the foreground layer, resulting in stretched content.
2952
2953         Test: compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html
2954
2955         * rendering/RenderLayerBacking.cpp:
2956         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Repaint the foreground
2957         layer if its size changes, like we do for the main layer.
2958
2959 2012-07-28  Simon Fraser  <simon.fraser@apple.com>
2960
2961         Ignore visibility:hidden elements when computing compositing layer bounds
2962         https://bugs.webkit.org/show_bug.cgi?id=92569
2963
2964         Reviewed by Dan Bernstein.
2965
2966         When computing the bounds of compositing layers, we would take into account
2967         layers with no visible content (visibility:hidden, and no non-hidden descendants).
2968         This caused some huge layers in mobile Google maps.
2969
2970         Tests: compositing/geometry/bounds-ignores-hidden-composited-descendant.html
2971                compositing/geometry/bounds-ignores-hidden-dynamic.html
2972                compositing/geometry/bounds-ignores-hidden.html
2973
2974         * rendering/RenderLayer.cpp:
2975         (WebCore::RenderLayer::calculateLayerBounds): If the ExcludeHiddenDescendants flag is set, return
2976         the empty rect for layers with no visible content or descendants, as long as the layer is not
2977         the root of the subtree whose bounds are being computed.
2978         calculateLayerBounds() currently (I think incorrectly) passes the default flags to the recursive calls.
2979         It should probably just pass 'flags', but to make this change safe, OR in the ExcludeHiddenDescendants
2980         flag.
2981         * rendering/RenderLayer.h: Add an ExcludeHiddenDescendants flag to the CalculateLayerBoundsFlags.
2982         * rendering/RenderLayerCompositor.cpp:
2983         (WebCore::RenderLayerCompositor::calculateCompositedBounds): Pass the ExcludeHiddenDescendants
2984         flag.
2985
2986 2012-07-28  Min Qin  <qinmin@chromium.org>
2987
2988         Add an overlay play button to media controls on android
2989         https://bugs.webkit.org/show_bug.cgi?id=92132
2990
2991         Reviewed by Adam Barth.
2992
2993         This change adds an overlay play button to the media controls for android.
2994         No tests for now as this setting is not being used by other port.
2995         Will add a test and adjust all the test expectations when we upstream the layout tests for android.
2996
2997         * WebCore.gypi:
2998         * css/CSSPrimitiveValueMappings.h:
2999         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3000         * css/CSSValueKeywords.in:
3001         * css/mediaControls.css:
3002         (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
3003         * css/mediaControlsChromiumAndroid.css:
3004         (audio::-webkit-media-controls-overlay-enclosure):
3005         (video::-webkit-media-controls-overlay-enclosure):
3006         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3007         (video::-webkit-media-controls-overlay-play-button):
3008         * html/shadow/MediaControlElements.cpp:
3009         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement):
3010         (WebCore):
3011         (WebCore::MediaControlOverlayPlayButtonElement::create):
3012         (WebCore::MediaControlOverlayPlayButtonElement::defaultEventHandler):
3013         (WebCore::MediaControlOverlayPlayButtonElement::updateDisplayType):
3014         (WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId):
3015         * html/shadow/MediaControlElements.h:
3016         (MediaControlOverlayPlayButtonElement):
3017         (WebCore):
3018         * html/shadow/MediaControlRootElementChromium.cpp:
3019         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement):
3020         (WebCore::MediaControlPanelEnclosureElement::create):
3021         (WebCore):
3022         (WebCore::MediaControlPanelEnclosureElement::shadowPseudoId):
3023         (WebCore::MediaControlRootElementChromium::create):
3024         (WebCore::MediaControlRootElementChromium::initializeControls):
3025         * html/shadow/MediaControlRootElementChromium.h:
3026         (MediaControlChromiumEnclosureElement):
3027         (WebCore):
3028         (MediaControlPanelEnclosureElement):
3029         (MediaControlRootElementChromium):
3030         * html/shadow/MediaControlRootElementChromiumAndroid.cpp: Added.
3031         (WebCore):
3032         (WebCore::MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement):
3033         (WebCore::MediaControlOverlayEnclosureElement::create):
3034         (WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId):
3035         (WebCore::MediaControlRootElementChromiumAndroid::MediaControlRootElementChromiumAndroid):
3036         (WebCore::MediaControls::create):
3037         (WebCore::MediaControlRootElementChromiumAndroid::create):
3038         (WebCore::MediaControlRootElementChromiumAndroid::setMediaController):
3039         (WebCore::MediaControlRootElementChromiumAndroid::playbackStarted):
3040         (WebCore::MediaControlRootElementChromiumAndroid::playbackStopped):
3041         * html/shadow/MediaControlRootElementChromiumAndroid.h: Added.
3042         (WebCore):
3043         (MediaControlOverlayEnclosureElement):
3044         (MediaControlRootElementChromiumAndroid):
3045         * platform/ThemeTypes.h:
3046         * rendering/RenderMediaControlsChromium.cpp:
3047         (WebCore::paintMediaOverlayPlayButton):
3048         (WebCore):
3049         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
3050         * rendering/RenderTheme.cpp:
3051         (WebCore::RenderTheme::paint):
3052         * rendering/RenderTheme.h:
3053         (WebCore::RenderTheme::paintMediaOverlayPlayButton):
3054         * rendering/RenderThemeChromiumAndroid.cpp:
3055         (WebCore::RenderThemeChromiumAndroid::paintMediaOverlayPlayButton):
3056         (WebCore):
3057         * rendering/RenderThemeChromiumAndroid.h:
3058
3059 2012-07-28  Mario Sanchez Prada  <msanchez@igalia.com>
3060
3061         [GTK] Add a new and reusable enchant-based spellchecker in WebCore
3062         https://bugs.webkit.org/show_bug.cgi?id=90269
3063
3064         Reviewed by Martin Robinson.
3065
3066         Move enchant specific code down to WebCore, into a new class
3067         TextCheckerEnchant, that we can use from WK1 and WK2.
3068
3069         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
3070         * GNUmakefile.list.am: Added new files.
3071         * platform/text/gtk/TextCheckerEnchant.cpp: Added.
3072         (getAvailableDictionariesCallback):
3073         (TextCheckerEnchant::TextCheckerEnchant):
3074         (TextCheckerEnchant::~TextCheckerEnchant):
3075         (TextCheckerEnchant::ignoreWord):
3076         (TextCheckerEnchant::learnWord):
3077         (TextCheckerEnchant::checkSpellingOfString):
3078         (TextCheckerEnchant::getGuessesForWord):
3079         (TextCheckerEnchant::updateSpellCheckingLanguages):
3080         (TextCheckerEnchant::freeEnchantBrokerDictionaries):
3081         * platform/text/gtk/TextCheckerEnchant.h: Added.
3082         (WebCore):
3083         (TextCheckerEnchant):
3084         (WebCore::TextCheckerEnchant::create):
3085
3086 2012-07-28  Vineet Chaudhary  <rgf748@motorola.com>
3087
3088         [Clamp] support in binding generator.
3089         https://bugs.webkit.org/show_bug.cgi?id=77605
3090
3091         Reviewed by Kentaro Hara.
3092
3093         Currently [Clamp] extended attribute in IDL files.
3094         Spec: http://www.w3.org/TR/2012/CR-WebIDL-20120419/#Clamp
3095
3096         Tests: TestObj.idl
3097
3098         * bindings/scripts/CodeGeneratorCPP.pm:
3099         (SkipFunction): Skips methods with [Clamp] parameters.
3100         * bindings/scripts/CodeGeneratorGObject.pm:
3101         (SkipFunction): Skips methods with [Clamp] parameters.
3102         * bindings/scripts/CodeGeneratorJS.pm:
3103         (GenerateParametersCheck): Support [Clamp] for JSBindings.
3104         * bindings/scripts/CodeGeneratorObjC.pm:
3105         (SkipFunction): Skips methods with [Clamp] parameters.
3106         * bindings/scripts/CodeGeneratorV8.pm:
3107         (GenerateParametersCheck): Support [Clamp] for V8Bindings.
3108         * bindings/scripts/IDLAttributes.txt: Added [Clamp] to attributes list.
3109         * bindings/scripts/test/JS/JSTestObj.cpp: Test.
3110         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
3111         * bindings/scripts/test/JS/JSTestObj.h:
3112         * bindings/scripts/test/TestObj.idl:
3113         * bindings/scripts/test/V8/V8TestObj.cpp:
3114         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
3115         (TestObjV8Internal):
3116
3117 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3118
3119         Unreviewed, rolling out r123908.
3120         http://trac.webkit.org/changeset/123908
3121         https://bugs.webkit.org/show_bug.cgi?id=92572
3122
3123         Broke Chromium Linux compile (Requested by pkasting on
3124         #webkit).
3125
3126         * WebCore.gypi:
3127         * css/CSSPrimitiveValueMappings.h:
3128         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3129         * css/CSSValueKeywords.in:
3130         * css/mediaControls.css:
3131         * css/mediaControlsChromiumAndroid.css:
3132         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3133         * html/shadow/MediaControlElements.cpp:
3134         (WebCore):
3135         * html/shadow/MediaControlElements.h:
3136         (WebCore):
3137         * html/shadow/MediaControlRootElementChromium.cpp:
3138         (WebCore::MediaControlChromiumEnclosureElement::create):
3139         (WebCore):
3140         (WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId):
3141         (WebCore::MediaControls::create):
3142         (WebCore::MediaControlRootElementChromium::create):
3143         * html/shadow/MediaControlRootElementChromium.h:
3144         (MediaControlChromiumEnclosureElement):
3145         (MediaControlRootElementChromium):
3146         * html/shadow/MediaControlRootElementChromiumAndroid.cpp: Removed.
3147         * html/shadow/MediaControlRootElementChromiumAndroid.h: Removed.
3148         * platform/ThemeTypes.h:
3149         * rendering/RenderMediaControlsChromium.cpp:
3150         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
3151         * rendering/RenderTheme.cpp:
3152         (WebCore::RenderTheme::paint):
3153         * rendering/RenderTheme.h:
3154         * rendering/RenderThemeChromiumAndroid.cpp:
3155         * rendering/RenderThemeChromiumAndroid.h:
3156
3157 2012-07-27  Eli Fidler  <efidler@rim.com>
3158
3159         [BlackBerry] Use new LocaleHandler.
3160         https://bugs.webkit.org/show_bug.cgi?id=92548
3161
3162         Reviewed by Yong Li.
3163
3164         RIM PR 128381
3165
3166         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3167         (WebCore::platformLanguage):
3168         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3169         (WebCore::ResourceRequest::initializePlatformRequest):
3170         * platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp:
3171         (WebCore::currentSearchLocaleID):
3172         (WebCore::currentTextBreakLocaleID):
3173
3174 2012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3175
3176         Change constructor with explicit constructor in WebCore/Modules
3177         https://bugs.webkit.org/show_bug.cgi?id=92529
3178
3179         Reviewed by Kentaro Hara.
3180
3181         As a step to let *explicit* keyword add to constructors which have a parameter,
3182         *explicit* keyword is added to Source/WebCore/Modules in order to avoid implicit
3183         type conversion.
3184
3185         No new tests. Covered by existing tests.
3186
3187         * Modules/filesystem/LocalFileSystem.h:
3188         (WebCore::LocalFileSystem::LocalFileSystem):
3189         * Modules/filesystem/Metadata.h:
3190         (WebCore::Metadata::Metadata):
3191         * Modules/filesystem/SyncCallbackHelper.h:
3192         (WebCore::SyncCallbackHelper::SuccessCallbackImpl::SuccessCallbackImpl):
3193         (WebCore::SyncCallbackHelper::ErrorCallbackImpl::ErrorCallbackImpl):
3194         * Modules/mediastream/IceCandidate.h:
3195         (IceCandidate):
3196         * Modules/mediastream/NavigatorUserMediaError.h:
3197         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
3198         * Modules/mediastream/SessionDescription.h:
3199         (SessionDescription):
3200         * Modules/mediastream/UserMediaController.h:
3201         (UserMediaController):
3202         * Modules/notifications/NotificationController.h:
3203         (NotificationController):
3204         * Modules/speech/SpeechRecognition.h:
3205         (SpeechRecognition):
3206         * Modules/speech/SpeechRecognitionController.h:
3207         (SpeechRecognitionController):
3208         * Modules/speech/SpeechRecognitionEvent.h:
3209         (SpeechRecognitionEvent):
3210         * Modules/speech/SpeechRecognitionResultList.h:
3211         (SpeechRecognitionResultList):
3212         * Modules/vibration/Vibration.h:
3213         (Vibration):
3214         * Modules/webaudio/AudioBuffer.h:
3215         (AudioBuffer):
3216         * Modules/webaudio/AudioContext.h:
3217         (AudioContext):
3218         * Modules/webaudio/AudioNodeInput.h:
3219         (AudioNodeInput):
3220         * Modules/webaudio/AudioSummingJunction.h:
3221         (AudioSummingJunction):
3222         * Modules/webaudio/BiquadDSPKernel.h:
3223         (WebCore::BiquadDSPKernel::BiquadDSPKernel):
3224         * Modules/webaudio/DefaultAudioDestinationNode.h:
3225         (DefaultAudioDestinationNode):
3226         * Modules/webaudio/DelayDSPKernel.h:
3227         (DelayDSPKernel):
3228         * Modules/webaudio/OfflineAudioCompletionEvent.h:
3229         (OfflineAudioCompletionEvent):
3230         * Modules/webaudio/WaveShaperDSPKernel.h:
3231         (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
3232         * Modules/webaudio/WaveShaperNode.h:
3233         (WaveShaperNode):
3234         * Modules/webaudio/WaveTable.h:
3235         (WaveTable):
3236         * Modules/webdatabase/DatabaseAuthorizer.h:
3237         (DatabaseAuthorizer):
3238         * Modules/webdatabase/DatabaseTask.h:
3239         (Database::DatabaseTransactionTask):
3240         * Modules/webdatabase/DatabaseTracker.h:
3241         (DatabaseTracker):
3242         * Modules/webdatabase/SQLCallbackWrapper.h:
3243         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
3244         * Modules/webdatabase/SQLException.h:
3245         (WebCore::SQLException::SQLException):
3246         * Modules/websockets/WebSocket.h:
3247         * Modules/websockets/WebSocketExtensionProcessor.h:
3248         (WebCore::WebSocketExtensionProcessor::WebSocketExtensionProcessor):
3249
3250 2012-07-27  Kentaro Hara  <haraken@chromium.org>
3251
3252         [V8] Optimize Element::getAttributeNS() by replacing String with AtomicString
3253         https://bugs.webkit.org/show_bug.cgi?id=90276
3254
3255         Reviewed by Adam Barth.
3256
3257         In r121439, we changed the argument type of Element::getAttribute()
3258         from String to AtomicString for optimization. This patch changes the
3259         argument type of Element::getAttributeNS() from String to AtomicString.
3260
3261         Actually this change affects V8 performance only.
3262
3263         [JSC without the patch]
3264         The binding code converts a given JavaScript string to a String
3265         -> the String is passed to getAttributeNS()
3266         -> the String is converted to an AtomicString when it is passed to
3267         QualifiedName() constructor.
3268
3269         [JSC with the patch]
3270         The binding code converts a given JavaScript string to a String
3271         -> the String is converted to an AtomicString when it is passed to
3272         getAttributeNS()
3273         -> the AtomicString is passed to QualifiedName() constructor.
3274
3275         [V8 without the patch]
3276         The binding code retrieves a cached external String for a given
3277         JavaScript string
3278         -> the String is passed to getAttributeNS()
3279         -> the String is converted to AtomicString when it is passed to
3280         QualifiedName() constructor.
3281
3282         [V8 with the patch]
3283         The binding code retrieves a cached external AtomicString for a given
3284         JavaScript string
3285         -> the AtomicString is passed to getAttributeNS()
3286         -> the AtomicString is passed to QualifiedName() constructor.
3287
3288         In this way, in JSC, the change affects where a String is converted to
3289         an AtomicString. On the other hand, in V8, (since the AtomicString is already
3290         cached,) we can skip the conversion step.
3291
3292         Performance test: https://bugs.webkit.org/attachment.cgi?id=150158
3293
3294         getAttributeNS (Chromium/Linux):
3295         577.80ms => 454.60ms
3296
3297         * dom/Element.cpp:
3298         (WebCore::Element::getAttributeNS):
3299         * dom/Element.h:
3300         (Element):
3301
3302 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3303
3304         Unreviewed, rolling out r123679.
3305         http://trac.webkit.org/changeset/123679
3306         https://bugs.webkit.org/show_bug.cgi?id=92565
3307
3308         Slowed down HTML parsing by 3.6% (Requested by abarth on
3309         #webkit).
3310
3311         * html/FTPDirectoryDocument.cpp:
3312         (WebCore::FTPDirectoryDocumentParser::append):
3313         * html/parser/HTMLEntityParser.cpp:
3314         (WebCore::HTMLEntityParser::consumeNamedEntity):
3315         * html/parser/HTMLParserIdioms.cpp:
3316         (WebCore::stripLeadingAndTrailingHTMLSpaces):
3317         * html/parser/HTMLSourceTracker.cpp:
3318         (WebCore::HTMLSourceTracker::sourceForToken):
3319         * loader/cache/CachedScript.cpp:
3320         (WebCore::CachedScript::script):
3321         * platform/text/SegmentedString.cpp:
3322         (WebCore::SegmentedString::SegmentedString):
3323         (WebCore::SegmentedString::operator=):
3324         (WebCore::SegmentedString::clear):
3325         (WebCore::SegmentedString::append):
3326         (WebCore::SegmentedString::prepend):
3327         (WebCore::SegmentedString::advanceSubstring):
3328         (WebCore::SegmentedString::advance):
3329         (WebCore::SegmentedString::advanceSlowCase):
3330         (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
3331         * platform/text/SegmentedString.h:
3332         (WebCore::SegmentedSubstring::SegmentedSubstring):
3333         (WebCore::SegmentedSubstring::clear):
3334         (WebCore::SegmentedSubstring::appendTo):
3335         (SegmentedSubstring):
3336         (WebCore::SegmentedString::SegmentedString):
3337         (WebCore::SegmentedString::push):
3338         (WebCore::SegmentedString::isEmpty):
3339         (WebCore::SegmentedString::lookAhead):
3340         (WebCore::SegmentedString::lookAheadIgnoringCase):
3341         (WebCore::SegmentedString::advance):
3342         (WebCore::SegmentedString::advanceAndASSERT):
3343         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
3344         (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
3345         (SegmentedString):
3346         (WebCore::SegmentedString::advancePastNonNewline):
3347         (WebCore::SegmentedString::advanceAndUpdateLineNumber):
3348         (WebCore::SegmentedString::operator*):
3349         (WebCore::SegmentedString::operator->):
3350         (WebCore::SegmentedString::current):
3351         (WebCore::SegmentedString::equalsLiterally):
3352         (WebCore::SegmentedString::equalsIgnoringCase):
3353         (WebCore::SegmentedString::lookAheadInline):
3354         (WebCore::SegmentedString::lookAheadSlowCase):
3355         * xml/parser/CharacterReferenceParserInlineMethods.h:
3356         (WebCore::consumeCharacterReference):
3357         * xml/parser/MarkupTokenizerBase.h:
3358         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
3359         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
3360         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
3361
3362 2012-07-27  Jer Noble  <jer.noble@apple.com>
3363
3364         Reset the set of "seen" plugins when the main frame load is committed.
3365         https://bugs.webkit.org/show_bug.cgi?id=92564
3366
3367         Reviewed by Anders Carlsson.
3368
3369         Because the Page object is re-used across navigation and reload, reset the list
3370         of seen plugins when the main frame load commits. This gives a good baseline to
3371         compare against the number of pages loaded.
3372
3373         No new tests; the "seen" plugin list is for diagnostic purposes only.
3374
3375         * loader/FrameLoader.cpp:
3376         (WebCore::FrameLoader::dispatchDidCommitLoad):
3377         * page/Page.cpp:
3378         (WebCore::Page::resetSeenPlugins):
3379         * page/Page.h:
3380
3381 2012-07-27  Sukolsak Sakshuwong  <sukolsak@google.com>
3382
3383         execCommand copies the backgroung-color of the enclosing element to the element being edited.
3384         https://bugs.webkit.org/show_bug.cgi?id=91783
3385
3386         Reviewed by Ryosuke Niwa.
3387
3388         InsertListCommand and some other edit commands remove redundant
3389         style properties after their DOM modification by using
3390         StylePropertySet::removeEquivalentProperties.  However, this method
3391         does not remove redundant background-color properties such as
3392         "background-color: white" and "background-color: #fff" because
3393         it compares them using cssText and thus treats them as different.
3394         Add code to convert background colors to RGBA and then compare them.
3395
3396         Test: editing/style/redundant-background-color.html
3397
3398         * editing/EditingStyle.cpp:
3399         (WebCore::getRGBABackgroundColor):
3400         (WebCore):
3401         (WebCore::getPropertiesNotIn):
3402
3403 2012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3404
3405         [EFL] Return 0 when network is offline
3406         https://bugs.webkit.org/show_bug.cgi?id=92454
3407
3408         Reviewed by Kenneth Rohde Christiansen.
3409
3410         Network Info latest spec says 0 is returned when network is offline.
3411         r123769 modified to return infinity value when network is offiline.
3412
3413         * platform/efl/NetworkInfoProviderEfl.cpp:
3414         (WebCore::NetworkInfoProviderEfl::bandwidth):
3415
3416 2012-07-27  Scott Graham  <scottmg@chromium.org>
3417
3418         Change navigator.webkitGamepads[] to navigator.webkitGetGamepads()
3419         https://bugs.webkit.org/show_bug.cgi?id=92533
3420
3421         Reviewed by Adam Barth.
3422
3423         Per discussion on public-webapps. Pages that enumerate navigator were
3424         causing background resources to be created to poll hardware
3425         unintentionally. By changing to an explicit function call, this is
3426         avoided (and the API becomes more clear too). This change updates the
3427         implementation to match the current ED spec.
3428
3429         * Modules/gamepad/NavigatorGamepad.cpp:
3430         (WebCore::NavigatorGamepad::webkitGetGamepads):
3431         * Modules/gamepad/NavigatorGamepad.h:
3432         (NavigatorGamepad):
3433         * Modules/gamepad/NavigatorGamepad.idl:
3434         * bindings/generic/RuntimeEnabledFeatures.h:
3435         (WebCore::RuntimeEnabledFeatures::setWebkitGetGamepadsEnabled):
3436         (WebCore::RuntimeEnabledFeatures::webkitGetGamepadsEnabled):
3437
3438 2012-07-27  Brady Eidson  <beidson@apple.com>
3439
3440         Plugins should not be allowed to override standard properties/attributes in non-standard worlds
3441         <rdar://problem/11975252> and https://bugs.webkit.org/show_bug.cgi?id=92519
3442
3443         Reviewed by Anders Carlsson.
3444
3445         Change the 3 plugin-owning element's custom bindings to prefer built-in properties if they exist.
3446         When they do they don't give the plugin a chance to override.
3447
3448         Test: plugins/npruntime/overrides-all-properties.html
3449
3450         Add plugin custom functions to prefer built-in properties over plugin scriptable object properties:
3451         * bindings/js/JSPluginElementFunctions.h:
3452         (WebCore::pluginElementCustomGetOwnPropertySlot):
3453         (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
3454
3455         Use those new custom functions for getting properties:
3456         * bindings/js/JSHTMLAppletElementCustom.cpp:
3457         (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
3458         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
3459         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3460         (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
3461         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
3462         * bindings/js/JSHTMLObjectElementCustom.cpp:
3463         (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
3464         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
3465
3466 2012-07-27  Arnaud R