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